mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
1 line
522 KiB
JSON
1 line
522 KiB
JSON
{"ast":null,"code":"/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n if (typeof exports === 'object' && typeof module === 'object') module.exports = factory();else if (typeof define === 'function' && define.amd) define(\"pdfjs-dist/web/pdf_viewer\", [], factory);else if (typeof exports === 'object') exports[\"pdfjs-dist/web/pdf_viewer\"] = factory();else root[\"pdfjs-dist/web/pdf_viewer\"] = root.pdfjsDistWebPdfViewer = factory();\n})(this, function () {\n return (/******/function (modules) {\n // webpackBootstrap\n /******/ // The module cache\n /******/\n var installedModules = {};\n /******/\n /******/ // The require function\n /******/\n function __w_pdfjs_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/if (installedModules[moduleId]) {\n /******/return installedModules[moduleId].exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/\n var module = installedModules[moduleId] = {\n /******/i: moduleId,\n /******/l: false,\n /******/exports: {}\n /******/\n };\n /******/\n /******/ // Execute the module function\n /******/\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/\n module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/\n return module.exports;\n /******/\n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/\n __w_pdfjs_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/\n __w_pdfjs_require__.c = installedModules;\n /******/\n /******/ // identity function for calling harmony imports with the correct context\n /******/\n __w_pdfjs_require__.i = function (value) {\n return value;\n };\n /******/\n /******/ // define getter function for harmony exports\n /******/\n __w_pdfjs_require__.d = function (exports, name, getter) {\n /******/if (!__w_pdfjs_require__.o(exports, name)) {\n /******/Object.defineProperty(exports, name, {\n /******/configurable: false,\n /******/enumerable: true,\n /******/get: getter\n /******/\n });\n /******/\n }\n /******/\n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/\n __w_pdfjs_require__.n = function (module) {\n /******/var getter = module && module.__esModule ? /******/function getDefault() {\n return module['default'];\n } : /******/function getModuleExports() {\n return module;\n };\n /******/\n __w_pdfjs_require__.d(getter, 'a', getter);\n /******/\n return getter;\n /******/\n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n /******/ // __webpack_public_path__\n /******/\n __w_pdfjs_require__.p = \"\";\n /******/\n /******/ // Load entry module and return exports\n /******/\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 14);\n /******/\n }\n /************************************************************************/\n /******/([/* 0 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var pdfjsLib;\n if (typeof window !== 'undefined' && window['pdfjs-dist/build/pdf']) {\n pdfjsLib = window['pdfjs-dist/build/pdf'];\n } else {\n pdfjsLib = require('../build/pdf.js');\n }\n module.exports = pdfjsLib;\n\n /***/\n }, /* 1 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.localized = exports.animationStarted = exports.normalizeWheelEventDelta = exports.binarySearchFirstItem = exports.watchScroll = exports.scrollIntoView = exports.getOutputScale = exports.approximateFraction = exports.roundToDivide = exports.getVisibleElements = exports.parseQueryString = exports.noContextMenuHandler = exports.getPDFFileNameFromURL = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.mozL10n = exports.RendererType = exports.cloneObj = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _pdfjsLib = __w_pdfjs_require__(0);\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var CSS_UNITS = 96.0 / 72.0;\n var DEFAULT_SCALE_VALUE = 'auto';\n var DEFAULT_SCALE = 1.0;\n var MIN_SCALE = 0.25;\n var MAX_SCALE = 10.0;\n var UNKNOWN_SCALE = 0;\n var MAX_AUTO_SCALE = 1.25;\n var SCROLLBAR_PADDING = 40;\n var VERTICAL_PADDING = 5;\n var RendererType = {\n CANVAS: 'canvas',\n SVG: 'svg'\n };\n function formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, function (all, name) {\n return name in args ? args[name] : '{{' + name + '}}';\n });\n }\n var NullL10n = {\n get: function get(property, args, fallback) {\n return Promise.resolve(formatL10nValue(fallback, args));\n },\n translate: function translate(element) {\n return Promise.resolve();\n }\n };\n _pdfjsLib.PDFJS.disableFullscreen = _pdfjsLib.PDFJS.disableFullscreen === undefined ? false : _pdfjsLib.PDFJS.disableFullscreen;\n _pdfjsLib.PDFJS.useOnlyCssZoom = _pdfjsLib.PDFJS.useOnlyCssZoom === undefined ? false : _pdfjsLib.PDFJS.useOnlyCssZoom;\n _pdfjsLib.PDFJS.maxCanvasPixels = _pdfjsLib.PDFJS.maxCanvasPixels === undefined ? 16777216 : _pdfjsLib.PDFJS.maxCanvasPixels;\n _pdfjsLib.PDFJS.disableHistory = _pdfjsLib.PDFJS.disableHistory === undefined ? false : _pdfjsLib.PDFJS.disableHistory;\n _pdfjsLib.PDFJS.disableTextLayer = _pdfjsLib.PDFJS.disableTextLayer === undefined ? false : _pdfjsLib.PDFJS.disableTextLayer;\n _pdfjsLib.PDFJS.ignoreCurrentPositionOnZoom = _pdfjsLib.PDFJS.ignoreCurrentPositionOnZoom === undefined ? false : _pdfjsLib.PDFJS.ignoreCurrentPositionOnZoom;\n {\n _pdfjsLib.PDFJS.locale = _pdfjsLib.PDFJS.locale === undefined && typeof navigator !== 'undefined' ? navigator.language : _pdfjsLib.PDFJS.locale;\n }\n function getOutputScale(ctx) {\n var devicePixelRatio = window.devicePixelRatio || 1;\n var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n var pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n }\n function scrollIntoView(element, spot) {\n var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var parent = element.offsetParent;\n if (!parent) {\n console.error('offsetParent is not set -- cannot scroll');\n return;\n }\n var offsetY = element.offsetTop + element.clientTop;\n var offsetX = element.offsetLeft + element.clientLeft;\n while (parent.clientHeight === parent.scrollHeight || skipOverflowHiddenElements && getComputedStyle(parent).overflow === 'hidden') {\n if (parent.dataset._scaleY) {\n offsetY /= parent.dataset._scaleY;\n offsetX /= parent.dataset._scaleX;\n }\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n if (!parent) {\n return;\n }\n }\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n parent.scrollTop = offsetY;\n }\n function watchScroll(viewAreaElement, callback) {\n var debounceScroll = function debounceScroll(evt) {\n if (rAF) {\n return;\n }\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n var currentY = viewAreaElement.scrollTop;\n var lastY = state.lastY;\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n state.lastY = currentY;\n callback(state);\n });\n };\n var state = {\n down: true,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n var rAF = null;\n viewAreaElement.addEventListener('scroll', debounceScroll, true);\n return state;\n }\n function parseQueryString(query) {\n var parts = query.split('&');\n var params = Object.create(null);\n for (var i = 0, ii = parts.length; i < ii; ++i) {\n var param = parts[i].split('=');\n var key = param[0].toLowerCase();\n var value = param.length > 1 ? param[1] : null;\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n return params;\n }\n function binarySearchFirstItem(items, condition) {\n var minIndex = 0;\n var maxIndex = items.length - 1;\n if (items.length === 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n if (condition(items[minIndex])) {\n return minIndex;\n }\n while (minIndex < maxIndex) {\n var currentIndex = minIndex + maxIndex >> 1;\n var currentItem = items[currentIndex];\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n return minIndex;\n }\n function approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n var xinv = 1 / x;\n var limit = 8;\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n var x_ = x > 1 ? xinv : x;\n var a = 0,\n b = 1,\n c = 1,\n d = 1;\n while (true) {\n var p = a + c,\n q = b + d;\n if (q > limit) {\n break;\n }\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n var result = void 0;\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n return result;\n }\n function roundToDivide(x, div) {\n var r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n }\n function getVisibleElements(scrollEl, views) {\n var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n var left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n function isElementBottomBelowViewTop(view) {\n var element = view.div;\n var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n var visible = [],\n view = void 0,\n element = void 0;\n var currentHeight = void 0,\n viewHeight = void 0,\n hiddenHeight = void 0,\n percentHeight = void 0;\n var currentWidth = void 0,\n viewWidth = void 0;\n var firstVisibleElementInd = views.length === 0 ? 0 : binarySearchFirstItem(views, isElementBottomBelowViewTop);\n for (var i = firstVisibleElementInd, ii = views.length; i < ii; i++) {\n view = views[i];\n element = view.div;\n currentHeight = element.offsetTop + element.clientTop;\n viewHeight = element.clientHeight;\n if (currentHeight > bottom) {\n break;\n }\n currentWidth = element.offsetLeft + element.clientLeft;\n viewWidth = element.clientWidth;\n if (currentWidth + viewWidth < left || currentWidth > right) {\n continue;\n }\n hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, currentHeight + viewHeight - bottom);\n percentHeight = (viewHeight - hiddenHeight) * 100 / viewHeight | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view: view,\n percent: percentHeight\n });\n }\n var first = visible[0];\n var last = visible[visible.length - 1];\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n var pc = a.percent - b.percent;\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n return a.id - b.id;\n });\n }\n return {\n first: first,\n last: last,\n views: visible\n };\n }\n function noContextMenuHandler(evt) {\n evt.preventDefault();\n }\n function isDataSchema(url) {\n var i = 0,\n ii = url.length;\n while (i < ii && url[i].trim() === '') {\n i++;\n }\n return url.substr(i, 5).toLowerCase() === 'data:';\n }\n function getPDFFileNameFromURL(url) {\n var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'document.pdf';\n if (isDataSchema(url)) {\n console.warn('getPDFFileNameFromURL: ' + 'ignoring \"data:\" URL for performance reasons.');\n return defaultFilename;\n }\n var reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n var reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n var splitURI = reURI.exec(url);\n var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n if (suggestedFilename.indexOf('%') !== -1) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n return suggestedFilename || defaultFilename;\n }\n function normalizeWheelEventDelta(evt) {\n var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n var angle = Math.atan2(evt.deltaY, evt.deltaX);\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n var MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n var MOUSE_DOM_DELTA_LINE_MODE = 1;\n var MOUSE_PIXELS_PER_LINE = 30;\n var MOUSE_LINES_PER_PAGE = 30;\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n return delta;\n }\n function cloneObj(obj) {\n var result = Object.create(null);\n for (var i in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, i)) {\n result[i] = obj[i];\n }\n }\n return result;\n }\n var animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n });\n var mozL10n = void 0;\n var localized = Promise.resolve();\n var EventBus = function () {\n function EventBus() {\n _classCallCheck(this, EventBus);\n this._listeners = Object.create(null);\n }\n _createClass(EventBus, [{\n key: 'on',\n value: function on(eventName, listener) {\n var eventListeners = this._listeners[eventName];\n if (!eventListeners) {\n eventListeners = [];\n this._listeners[eventName] = eventListeners;\n }\n eventListeners.push(listener);\n }\n }, {\n key: 'off',\n value: function off(eventName, listener) {\n var eventListeners = this._listeners[eventName];\n var i = void 0;\n if (!eventListeners || (i = eventListeners.indexOf(listener)) < 0) {\n return;\n }\n eventListeners.splice(i, 1);\n }\n }, {\n key: 'dispatch',\n value: function dispatch(eventName) {\n var eventListeners = this._listeners[eventName];\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n var args = Array.prototype.slice.call(arguments, 1);\n eventListeners.slice(0).forEach(function (listener) {\n listener.apply(null, args);\n });\n }\n }]);\n return EventBus;\n }();\n function clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n }\n var ProgressBar = function () {\n function ProgressBar(id) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n height = _ref.height,\n width = _ref.width,\n units = _ref.units;\n _classCallCheck(this, ProgressBar);\n this.visible = true;\n this.div = document.querySelector(id + ' .progress');\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || '%';\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n _createClass(ProgressBar, [{\n key: '_updateBar',\n value: function _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add('indeterminate');\n this.div.style.width = this.width + this.units;\n return;\n }\n this.div.classList.remove('indeterminate');\n var progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n }, {\n key: 'setWidth',\n value: function setWidth(viewer) {\n if (!viewer) {\n return;\n }\n var container = viewer.parentNode;\n var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n if (scrollbarWidth > 0) {\n this.bar.setAttribute('style', 'width: calc(100% - ' + scrollbarWidth + 'px);');\n }\n }\n }, {\n key: 'hide',\n value: function hide() {\n if (!this.visible) {\n return;\n }\n this.visible = false;\n this.bar.classList.add('hidden');\n document.body.classList.remove('loadingInProgress');\n }\n }, {\n key: 'show',\n value: function show() {\n if (this.visible) {\n return;\n }\n this.visible = true;\n document.body.classList.add('loadingInProgress');\n this.bar.classList.remove('hidden');\n }\n }, {\n key: 'percent',\n get: function get() {\n return this._percent;\n },\n set: function set(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n this._updateBar();\n }\n }]);\n return ProgressBar;\n }();\n exports.CSS_UNITS = CSS_UNITS;\n exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\n exports.DEFAULT_SCALE = DEFAULT_SCALE;\n exports.MIN_SCALE = MIN_SCALE;\n exports.MAX_SCALE = MAX_SCALE;\n exports.UNKNOWN_SCALE = UNKNOWN_SCALE;\n exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\n exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\n exports.VERTICAL_PADDING = VERTICAL_PADDING;\n exports.cloneObj = cloneObj;\n exports.RendererType = RendererType;\n exports.mozL10n = mozL10n;\n exports.NullL10n = NullL10n;\n exports.EventBus = EventBus;\n exports.ProgressBar = ProgressBar;\n exports.getPDFFileNameFromURL = getPDFFileNameFromURL;\n exports.noContextMenuHandler = noContextMenuHandler;\n exports.parseQueryString = parseQueryString;\n exports.getVisibleElements = getVisibleElements;\n exports.roundToDivide = roundToDivide;\n exports.approximateFraction = approximateFraction;\n exports.getOutputScale = getOutputScale;\n exports.scrollIntoView = scrollIntoView;\n exports.watchScroll = watchScroll;\n exports.binarySearchFirstItem = binarySearchFirstItem;\n exports.normalizeWheelEventDelta = normalizeWheelEventDelta;\n exports.animationStarted = animationStarted;\n exports.localized = localized;\n\n /***/\n }, /* 2 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getGlobalEventBus = exports.attachDOMEventsToEventBus = undefined;\n var _ui_utils = __w_pdfjs_require__(1);\n function attachDOMEventsToEventBus(eventBus) {\n eventBus.on('documentload', function () {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('documentload', true, true, {});\n window.dispatchEvent(event);\n });\n eventBus.on('pagerendered', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagerendered', true, true, {\n pageNumber: evt.pageNumber,\n cssTransform: evt.cssTransform\n });\n evt.source.div.dispatchEvent(event);\n });\n eventBus.on('textlayerrendered', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('textlayerrendered', true, true, {\n pageNumber: evt.pageNumber\n });\n evt.source.textLayerDiv.dispatchEvent(event);\n });\n eventBus.on('pagechange', function (evt) {\n var event = document.createEvent('UIEvents');\n event.initUIEvent('pagechange', true, true, window, 0);\n event.pageNumber = evt.pageNumber;\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('pagesinit', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagesinit', true, true, null);\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('pagesloaded', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagesloaded', true, true, {\n pagesCount: evt.pagesCount\n });\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('scalechange', function (evt) {\n var event = document.createEvent('UIEvents');\n event.initUIEvent('scalechange', true, true, window, 0);\n event.scale = evt.scale;\n event.presetValue = evt.presetValue;\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('updateviewarea', function (evt) {\n var event = document.createEvent('UIEvents');\n event.initUIEvent('updateviewarea', true, true, window, 0);\n event.location = evt.location;\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('find', function (evt) {\n if (evt.source === window) {\n return;\n }\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('find' + evt.type, true, true, {\n query: evt.query,\n phraseSearch: evt.phraseSearch,\n caseSensitive: evt.caseSensitive,\n highlightAll: evt.highlightAll,\n findPrevious: evt.findPrevious\n });\n window.dispatchEvent(event);\n });\n eventBus.on('attachmentsloaded', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('attachmentsloaded', true, true, {\n attachmentsCount: evt.attachmentsCount\n });\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('sidebarviewchanged', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('sidebarviewchanged', true, true, {\n view: evt.view\n });\n evt.source.outerContainer.dispatchEvent(event);\n });\n eventBus.on('pagemode', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagemode', true, true, {\n mode: evt.mode\n });\n evt.source.pdfViewer.container.dispatchEvent(event);\n });\n eventBus.on('namedaction', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('namedaction', true, true, {\n action: evt.action\n });\n evt.source.pdfViewer.container.dispatchEvent(event);\n });\n eventBus.on('presentationmodechanged', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('presentationmodechanged', true, true, {\n active: evt.active,\n switchInProgress: evt.switchInProgress\n });\n window.dispatchEvent(event);\n });\n eventBus.on('outlineloaded', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('outlineloaded', true, true, {\n outlineCount: evt.outlineCount\n });\n evt.source.container.dispatchEvent(event);\n });\n }\n var globalEventBus = null;\n function getGlobalEventBus() {\n if (globalEventBus) {\n return globalEventBus;\n }\n globalEventBus = new _ui_utils.EventBus();\n attachDOMEventsToEventBus(globalEventBus);\n return globalEventBus;\n }\n exports.attachDOMEventsToEventBus = attachDOMEventsToEventBus;\n exports.getGlobalEventBus = getGlobalEventBus;\n\n /***/\n }, /* 3 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SimpleLinkService = exports.PDFLinkService = undefined;\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _dom_events = __w_pdfjs_require__(2);\n var _ui_utils = __w_pdfjs_require__(1);\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var PDFLinkService = function () {\n function PDFLinkService() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n eventBus = _ref.eventBus;\n _classCallCheck(this, PDFLinkService);\n this.eventBus = eventBus || (0, _dom_events.getGlobalEventBus)();\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n _createClass(PDFLinkService, [{\n key: 'setDocument',\n value: function setDocument(pdfDocument, baseUrl) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n }, {\n key: 'setViewer',\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: 'setHistory',\n value: function setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n }, {\n key: 'navigateTo',\n value: function navigateTo(dest) {\n var _this = this;\n var goToDestination = function goToDestination(_ref2) {\n var namedDest = _ref2.namedDest,\n explicitDest = _ref2.explicitDest;\n var destRef = explicitDest[0],\n pageNumber = void 0;\n if (destRef instanceof Object) {\n pageNumber = _this._cachedPageNumber(destRef);\n if (pageNumber === null) {\n _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {\n _this.cachePageRef(pageIndex + 1, destRef);\n goToDestination({\n namedDest: namedDest,\n explicitDest: explicitDest\n });\n }).catch(function () {\n console.error('PDFLinkService.navigateTo: \"' + destRef + '\" is not ' + ('a valid page reference, for dest=\"' + dest + '\".'));\n });\n return;\n }\n } else if ((destRef | 0) === destRef) {\n pageNumber = destRef + 1;\n } else {\n console.error('PDFLinkService.navigateTo: \"' + destRef + '\" is not ' + ('a valid destination reference, for dest=\"' + dest + '\".'));\n return;\n }\n if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {\n console.error('PDFLinkService.navigateTo: \"' + pageNumber + '\" is not ' + ('a valid page number, for dest=\"' + dest + '\".'));\n return;\n }\n _this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber,\n destArray: explicitDest\n });\n if (_this.pdfHistory) {\n _this.pdfHistory.push({\n dest: explicitDest,\n hash: namedDest,\n page: pageNumber\n });\n }\n };\n new Promise(function (resolve, reject) {\n if (typeof dest === 'string') {\n _this.pdfDocument.getDestination(dest).then(function (destArray) {\n resolve({\n namedDest: dest,\n explicitDest: destArray\n });\n });\n return;\n }\n resolve({\n namedDest: '',\n explicitDest: dest\n });\n }).then(function (data) {\n if (!(data.explicitDest instanceof Array)) {\n console.error('PDFLinkService.navigateTo: \"' + data.explicitDest + '\" is' + (' not a valid destination array, for dest=\"' + dest + '\".'));\n return;\n }\n goToDestination(data);\n });\n }\n }, {\n key: 'getDestinationHash',\n value: function getDestinationHash(dest) {\n if (typeof dest === 'string') {\n return this.getAnchorUrl('#' + escape(dest));\n }\n if (dest instanceof Array) {\n var str = JSON.stringify(dest);\n return this.getAnchorUrl('#' + escape(str));\n }\n return this.getAnchorUrl('');\n }\n }, {\n key: 'getAnchorUrl',\n value: function getAnchorUrl(anchor) {\n return (this.baseUrl || '') + anchor;\n }\n }, {\n key: 'setHash',\n value: function setHash(hash) {\n var pageNumber = void 0,\n dest = void 0;\n if (hash.indexOf('=') >= 0) {\n var params = (0, _ui_utils.parseQueryString)(hash);\n if ('search' in params) {\n this.eventBus.dispatch('findfromurlhash', {\n source: this,\n query: params['search'].replace(/\"/g, ''),\n phraseSearch: params['phrase'] === 'true'\n });\n }\n if ('nameddest' in params) {\n if (this.pdfHistory) {\n this.pdfHistory.updateNextHashParam(params.nameddest);\n }\n this.navigateTo(params.nameddest);\n return;\n }\n if ('page' in params) {\n pageNumber = params.page | 0 || 1;\n }\n if ('zoom' in params) {\n var zoomArgs = params.zoom.split(',');\n var zoomArg = zoomArgs[0];\n var zoomArgNumber = parseFloat(zoomArg);\n if (zoomArg.indexOf('Fit') === -1) {\n dest = [null, {\n name: 'XYZ'\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === 'Fit' || zoomArg === 'FitB') {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === 'FitH' || zoomArg === 'FitBH' || zoomArg === 'FitV' || zoomArg === 'FitBV') {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === 'FitR') {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error('PDFLinkService.setHash: \"' + zoomArg + '\" is not ' + 'a valid zoom value.');\n }\n }\n }\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n if ('pagemode' in params) {\n this.eventBus.dispatch('pagemode', {\n source: this,\n mode: params.pagemode\n });\n }\n } else {\n if (/^\\d+$/.test(hash) && hash <= this.pagesCount) {\n console.warn('PDFLinkService_setHash: specifying a page number ' + 'directly after the hash symbol (#) is deprecated, ' + ('please use the \"#page=' + hash + '\" form instead.'));\n this.page = hash | 0;\n }\n dest = unescape(hash);\n try {\n dest = JSON.parse(dest);\n if (!(dest instanceof Array)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n if (typeof dest === 'string' || isValidExplicitDestination(dest)) {\n if (this.pdfHistory) {\n this.pdfHistory.updateNextHashParam(dest);\n }\n this.navigateTo(dest);\n return;\n }\n console.error('PDFLinkService.setHash: \"' + unescape(hash) + '\" is not ' + 'a valid destination.');\n }\n }\n }, {\n key: 'executeNamedAction',\n value: function executeNamedAction(action) {\n switch (action) {\n case 'GoBack':\n if (this.pdfHistory) {\n this.pdfHistory.back();\n }\n break;\n case 'GoForward':\n if (this.pdfHistory) {\n this.pdfHistory.forward();\n }\n break;\n case 'NextPage':\n if (this.page < this.pagesCount) {\n this.page++;\n }\n break;\n case 'PrevPage':\n if (this.page > 1) {\n this.page--;\n }\n break;\n case 'LastPage':\n this.page = this.pagesCount;\n break;\n case 'FirstPage':\n this.page = 1;\n break;\n default:\n break;\n }\n this.eventBus.dispatch('namedaction', {\n source: this,\n action: action\n });\n }\n }, {\n key: 'onFileAttachmentAnnotation',\n value: function onFileAttachmentAnnotation(_ref3) {\n var id = _ref3.id,\n filename = _ref3.filename,\n content = _ref3.content;\n this.eventBus.dispatch('fileattachmentannotation', {\n source: this,\n id: id,\n filename: filename,\n content: content\n });\n }\n }, {\n key: 'cachePageRef',\n value: function cachePageRef(pageNum, pageRef) {\n var refStr = pageRef.num + ' ' + pageRef.gen + ' R';\n this._pagesRefCache[refStr] = pageNum;\n }\n }, {\n key: '_cachedPageNumber',\n value: function _cachedPageNumber(pageRef) {\n var refStr = pageRef.num + ' ' + pageRef.gen + ' R';\n return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n }\n }, {\n key: 'pagesCount',\n get: function get() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n }, {\n key: 'page',\n get: function get() {\n return this.pdfViewer.currentPageNumber;\n },\n set: function set(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n }]);\n return PDFLinkService;\n }();\n function isValidExplicitDestination(dest) {\n if (!(dest instanceof Array)) {\n return false;\n }\n var destLength = dest.length,\n allowNull = true;\n if (destLength < 2) {\n return false;\n }\n var page = dest[0];\n if (!((typeof page === 'undefined' ? 'undefined' : _typeof(page)) === 'object' && typeof page.num === 'number' && (page.num | 0) === page.num && typeof page.gen === 'number' && (page.gen | 0) === page.gen) && !(typeof page === 'number' && (page | 0) === page && page >= 0)) {\n return false;\n }\n var zoom = dest[1];\n if (!((typeof zoom === 'undefined' ? 'undefined' : _typeof(zoom)) === 'object' && typeof zoom.name === 'string')) {\n return false;\n }\n switch (zoom.name) {\n case 'XYZ':\n if (destLength !== 5) {\n return false;\n }\n break;\n case 'Fit':\n case 'FitB':\n return destLength === 2;\n case 'FitH':\n case 'FitBH':\n case 'FitV':\n case 'FitBV':\n if (destLength !== 3) {\n return false;\n }\n break;\n case 'FitR':\n if (destLength !== 6) {\n return false;\n }\n allowNull = false;\n break;\n default:\n return false;\n }\n for (var i = 2; i < destLength; i++) {\n var param = dest[i];\n if (!(typeof param === 'number' || allowNull && param === null)) {\n return false;\n }\n }\n return true;\n }\n var SimpleLinkService = function () {\n function SimpleLinkService() {\n _classCallCheck(this, SimpleLinkService);\n }\n _createClass(SimpleLinkService, [{\n key: 'navigateTo',\n value: function navigateTo(dest) {}\n }, {\n key: 'getDestinationHash',\n value: function getDestinationHash(dest) {\n return '#';\n }\n }, {\n key: 'getAnchorUrl',\n value: function getAnchorUrl(hash) {\n return '#';\n }\n }, {\n key: 'setHash',\n value: function setHash(hash) {}\n }, {\n key: 'executeNamedAction',\n value: function executeNamedAction(action) {}\n }, {\n key: 'onFileAttachmentAnnotation',\n value: function onFileAttachmentAnnotation(_ref4) {\n var id = _ref4.id,\n filename = _ref4.filename,\n content = _ref4.content;\n }\n }, {\n key: 'cachePageRef',\n value: function cachePageRef(pageNum, pageRef) {}\n }, {\n key: 'page',\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }]);\n return SimpleLinkService;\n }();\n exports.PDFLinkService = PDFLinkService;\n exports.SimpleLinkService = SimpleLinkService;\n\n /***/\n }, /* 4 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _pdfjsLib = __w_pdfjs_require__(0);\n var _ui_utils = __w_pdfjs_require__(1);\n var _pdf_link_service = __w_pdfjs_require__(3);\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var AnnotationLayerBuilder = function () {\n function AnnotationLayerBuilder(_ref) {\n var pageDiv = _ref.pageDiv,\n pdfPage = _ref.pdfPage,\n linkService = _ref.linkService,\n downloadManager = _ref.downloadManager,\n _ref$renderInteractiv = _ref.renderInteractiveForms,\n renderInteractiveForms = _ref$renderInteractiv === undefined ? false : _ref$renderInteractiv,\n _ref$l10n = _ref.l10n,\n l10n = _ref$l10n === undefined ? _ui_utils.NullL10n : _ref$l10n;\n _classCallCheck(this, AnnotationLayerBuilder);\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.renderInteractiveForms = renderInteractiveForms;\n this.l10n = l10n;\n this.div = null;\n }\n _createClass(AnnotationLayerBuilder, [{\n key: 'render',\n value: function render(viewport) {\n var _this = this;\n var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'display';\n this.pdfPage.getAnnotations({\n intent: intent\n }).then(function (annotations) {\n var parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: _this.div,\n annotations: annotations,\n page: _this.pdfPage,\n renderInteractiveForms: _this.renderInteractiveForms,\n linkService: _this.linkService,\n downloadManager: _this.downloadManager\n };\n if (_this.div) {\n _pdfjsLib.AnnotationLayer.update(parameters);\n } else {\n if (annotations.length === 0) {\n return;\n }\n _this.div = document.createElement('div');\n _this.div.className = 'annotationLayer';\n _this.pageDiv.appendChild(_this.div);\n parameters.div = _this.div;\n _pdfjsLib.AnnotationLayer.render(parameters);\n _this.l10n.translate(_this.div);\n }\n });\n }\n }, {\n key: 'hide',\n value: function hide() {\n if (!this.div) {\n return;\n }\n this.div.setAttribute('hidden', 'true');\n }\n }]);\n return AnnotationLayerBuilder;\n }();\n var DefaultAnnotationLayerFactory = function () {\n function DefaultAnnotationLayerFactory() {\n _classCallCheck(this, DefaultAnnotationLayerFactory);\n }\n _createClass(DefaultAnnotationLayerFactory, [{\n key: 'createAnnotationLayerBuilder',\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var renderInteractiveForms = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var l10n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _ui_utils.NullL10n;\n return new AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n renderInteractiveForms: renderInteractiveForms,\n linkService: new _pdf_link_service.SimpleLinkService(),\n l10n: l10n\n });\n }\n }]);\n return DefaultAnnotationLayerFactory;\n }();\n exports.AnnotationLayerBuilder = AnnotationLayerBuilder;\n exports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\n /***/\n }, /* 5 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFPageView = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _ui_utils = __w_pdfjs_require__(1);\n var _pdfjsLib = __w_pdfjs_require__(0);\n var _dom_events = __w_pdfjs_require__(2);\n var _pdf_rendering_queue = __w_pdfjs_require__(7);\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var PDFPageView = function () {\n function PDFPageView(options) {\n _classCallCheck(this, PDFPageView);\n var container = options.container;\n var defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = 'page' + this.id;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this.hasRestrictedScaling = false;\n this.enhanceTextSelection = options.enhanceTextSelection || false;\n this.renderInteractiveForms = options.renderInteractiveForms || false;\n this.eventBus = options.eventBus || (0, _dom_events.getGlobalEventBus)();\n this.renderingQueue = options.renderingQueue;\n this.textLayerFactory = options.textLayerFactory;\n this.annotationLayerFactory = options.annotationLayerFactory;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.paintTask = null;\n this.paintedViewportMap = new WeakMap();\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n this.resume = null;\n this.error = null;\n this.onBeforeDraw = null;\n this.onAfterDraw = null;\n this.annotationLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n var div = document.createElement('div');\n div.className = 'page';\n div.style.width = Math.floor(this.viewport.width) + 'px';\n div.style.height = Math.floor(this.viewport.height) + 'px';\n div.setAttribute('data-page-number', this.id);\n this.div = div;\n container.appendChild(div);\n }\n _createClass(PDFPageView, [{\n key: 'setPdfPage',\n value: function setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport(this.scale * _ui_utils.CSS_UNITS, totalRotation);\n this.stats = pdfPage.stats;\n this.reset();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.reset();\n if (this.pdfPage) {\n this.pdfPage.cleanup();\n this.pdfPage = null;\n }\n }\n }, {\n key: '_resetZoomLayer',\n value: function _resetZoomLayer() {\n var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (!this.zoomLayer) {\n return;\n }\n var zoomLayerCanvas = this.zoomLayer.firstChild;\n this.paintedViewportMap.delete(zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n this.zoomLayer = null;\n }\n }, {\n key: 'reset',\n value: function reset() {\n var keepZoomLayer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var keepAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.cancelRendering();\n var div = this.div;\n div.style.width = Math.floor(this.viewport.width) + 'px';\n div.style.height = Math.floor(this.viewport.height) + 'px';\n var childNodes = div.childNodes;\n var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;\n var currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || null;\n for (var i = childNodes.length - 1; i >= 0; i--) {\n var node = childNodes[i];\n if (currentZoomLayerNode === node || currentAnnotationNode === node) {\n continue;\n }\n div.removeChild(node);\n }\n div.removeAttribute('data-loaded');\n if (currentAnnotationNode) {\n this.annotationLayer.hide();\n } else {\n this.annotationLayer = null;\n }\n if (!currentZoomLayerNode) {\n if (this.canvas) {\n this.paintedViewportMap.delete(this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n this._resetZoomLayer();\n }\n if (this.svg) {\n this.paintedViewportMap.delete(this.svg);\n delete this.svg;\n }\n this.loadingIconDiv = document.createElement('div');\n this.loadingIconDiv.className = 'loadingIcon';\n div.appendChild(this.loadingIconDiv);\n }\n }, {\n key: 'update',\n value: function update(scale, rotation) {\n this.scale = scale || this.scale;\n if (typeof rotation !== 'undefined') {\n this.rotation = rotation;\n }\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n if (this.svg) {\n this.cssTransform(this.svg, true);\n this.eventBus.dispatch('pagerendered', {\n source: this,\n pageNumber: this.id,\n cssTransform: true\n });\n return;\n }\n var isScalingRestricted = false;\n if (this.canvas && _pdfjsLib.PDFJS.maxCanvasPixels > 0) {\n var outputScale = this.outputScale;\n if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > _pdfjsLib.PDFJS.maxCanvasPixels) {\n isScalingRestricted = true;\n }\n }\n if (this.canvas) {\n if (_pdfjsLib.PDFJS.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {\n this.cssTransform(this.canvas, true);\n this.eventBus.dispatch('pagerendered', {\n source: this,\n pageNumber: this.id,\n cssTransform: true\n });\n return;\n }\n if (!this.zoomLayer && !this.canvas.hasAttribute('hidden')) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = 'absolute';\n }\n }\n if (this.zoomLayer) {\n this.cssTransform(this.zoomLayer.firstChild);\n }\n this.reset(true, true);\n }\n }, {\n key: 'cancelRendering',\n value: function cancelRendering() {\n if (this.paintTask) {\n this.paintTask.cancel();\n this.paintTask = null;\n }\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n this.resume = null;\n if (this.textLayer) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n }\n }, {\n key: 'cssTransform',\n value: function cssTransform(target) {\n var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var width = this.viewport.width;\n var height = this.viewport.height;\n var div = this.div;\n target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + 'px';\n target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + 'px';\n var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n var absRotation = Math.abs(relativeRotation);\n var scaleX = 1,\n scaleY = 1;\n if (absRotation === 90 || absRotation === 270) {\n scaleX = height / width;\n scaleY = width / height;\n }\n var cssTransform = 'rotate(' + relativeRotation + 'deg) ' + 'scale(' + scaleX + ',' + scaleY + ')';\n _pdfjsLib.CustomStyle.setProp('transform', target, cssTransform);\n if (this.textLayer) {\n var textLayerViewport = this.textLayer.viewport;\n var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;\n var textAbsRotation = Math.abs(textRelativeRotation);\n var scale = width / textLayerViewport.width;\n if (textAbsRotation === 90 || textAbsRotation === 270) {\n scale = width / textLayerViewport.height;\n }\n var textLayerDiv = this.textLayer.textLayerDiv;\n var transX = void 0,\n transY = void 0;\n switch (textAbsRotation) {\n case 0:\n transX = transY = 0;\n break;\n case 90:\n transX = 0;\n transY = '-' + textLayerDiv.style.height;\n break;\n case 180:\n transX = '-' + textLayerDiv.style.width;\n transY = '-' + textLayerDiv.style.height;\n break;\n case 270:\n transX = '-' + textLayerDiv.style.width;\n transY = 0;\n break;\n default:\n console.error('Bad rotation value.');\n break;\n }\n _pdfjsLib.CustomStyle.setProp('transform', textLayerDiv, 'rotate(' + textAbsRotation + 'deg) ' + 'scale(' + scale + ', ' + scale + ') ' + 'translate(' + transX + ', ' + transY + ')');\n _pdfjsLib.CustomStyle.setProp('transformOrigin', textLayerDiv, '0% 0%');\n }\n if (redrawAnnotations && this.annotationLayer) {\n this.annotationLayer.render(this.viewport, 'display');\n }\n }\n }, {\n key: 'getPagePoint',\n value: function getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n }, {\n key: 'draw',\n value: function draw() {\n var _this = this;\n if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {\n console.error('Must be in new state before drawing');\n this.reset();\n }\n if (!this.pdfPage) {\n this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n return Promise.reject(new Error('Page is not loaded'));\n }\n this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n var pdfPage = this.pdfPage;\n var div = this.div;\n var canvasWrapper = document.createElement('div');\n canvasWrapper.style.width = div.style.width;\n canvasWrapper.style.height = div.style.height;\n canvasWrapper.classList.add('canvasWrapper');\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(canvasWrapper, this.annotationLayer.div);\n } else {\n div.appendChild(canvasWrapper);\n }\n var textLayer = null;\n if (this.textLayerFactory) {\n var textLayerDiv = document.createElement('div');\n textLayerDiv.className = 'textLayer';\n textLayerDiv.style.width = canvasWrapper.style.width;\n textLayerDiv.style.height = canvasWrapper.style.height;\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(textLayerDiv, this.annotationLayer.div);\n } else {\n div.appendChild(textLayerDiv);\n }\n textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.enhanceTextSelection);\n }\n this.textLayer = textLayer;\n var renderContinueCallback = null;\n if (this.renderingQueue) {\n renderContinueCallback = function renderContinueCallback(cont) {\n if (!_this.renderingQueue.isHighestPriority(_this)) {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;\n _this.resume = function () {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n cont();\n };\n return;\n }\n cont();\n };\n }\n var finishPaintTask = function finishPaintTask(error) {\n if (paintTask === _this.paintTask) {\n _this.paintTask = null;\n }\n if (error === 'cancelled' || error instanceof _pdfjsLib.RenderingCancelledException) {\n _this.error = null;\n return Promise.resolve(undefined);\n }\n _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n if (_this.loadingIconDiv) {\n div.removeChild(_this.loadingIconDiv);\n delete _this.loadingIconDiv;\n }\n _this._resetZoomLayer(true);\n _this.error = error;\n _this.stats = pdfPage.stats;\n if (_this.onAfterDraw) {\n _this.onAfterDraw();\n }\n _this.eventBus.dispatch('pagerendered', {\n source: _this,\n pageNumber: _this.id,\n cssTransform: false\n });\n if (error) {\n return Promise.reject(error);\n }\n return Promise.resolve(undefined);\n };\n var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);\n paintTask.onRenderContinue = renderContinueCallback;\n this.paintTask = paintTask;\n var resultPromise = paintTask.promise.then(function () {\n return finishPaintTask(null).then(function () {\n if (textLayer) {\n var readableStream = pdfPage.streamTextContent({\n normalizeWhitespace: true\n });\n textLayer.setTextContentStream(readableStream);\n textLayer.render();\n }\n });\n }, function (reason) {\n return finishPaintTask(reason);\n });\n if (this.annotationLayerFactory) {\n if (!this.annotationLayer) {\n this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, this.renderInteractiveForms, this.l10n);\n }\n this.annotationLayer.render(this.viewport, 'display');\n }\n div.setAttribute('data-loaded', true);\n if (this.onBeforeDraw) {\n this.onBeforeDraw();\n }\n return resultPromise;\n }\n }, {\n key: 'paintOnCanvas',\n value: function paintOnCanvas(canvasWrapper) {\n var renderCapability = (0, _pdfjsLib.createPromiseCapability)();\n var result = {\n promise: renderCapability.promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n renderTask.cancel();\n }\n };\n var viewport = this.viewport;\n var canvas = document.createElement('canvas');\n canvas.id = this.renderingId;\n canvas.setAttribute('hidden', 'hidden');\n var isCanvasHidden = true;\n var showCanvas = function showCanvas() {\n if (isCanvasHidden) {\n canvas.removeAttribute('hidden');\n isCanvasHidden = false;\n }\n };\n canvasWrapper.appendChild(canvas);\n this.canvas = canvas;\n canvas.mozOpaque = true;\n var ctx = canvas.getContext('2d', {\n alpha: false\n });\n var outputScale = (0, _ui_utils.getOutputScale)(ctx);\n this.outputScale = outputScale;\n if (_pdfjsLib.PDFJS.useOnlyCssZoom) {\n var actualSizeViewport = viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n outputScale.sx *= actualSizeViewport.width / viewport.width;\n outputScale.sy *= actualSizeViewport.height / viewport.height;\n outputScale.scaled = true;\n }\n if (_pdfjsLib.PDFJS.maxCanvasPixels > 0) {\n var pixelsInViewport = viewport.width * viewport.height;\n var maxScale = Math.sqrt(_pdfjsLib.PDFJS.maxCanvasPixels / pixelsInViewport);\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n outputScale.scaled = true;\n this.hasRestrictedScaling = true;\n } else {\n this.hasRestrictedScaling = false;\n }\n }\n var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);\n canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);\n canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);\n canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + 'px';\n canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + 'px';\n this.paintedViewportMap.set(canvas, viewport);\n var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];\n var renderContext = {\n canvasContext: ctx,\n transform: transform,\n viewport: this.viewport,\n renderInteractiveForms: this.renderInteractiveForms\n };\n var renderTask = this.pdfPage.render(renderContext);\n renderTask.onContinue = function (cont) {\n showCanvas();\n if (result.onRenderContinue) {\n result.onRenderContinue(cont);\n } else {\n cont();\n }\n };\n renderTask.promise.then(function () {\n showCanvas();\n renderCapability.resolve(undefined);\n }, function (error) {\n showCanvas();\n renderCapability.reject(error);\n });\n return result;\n }\n }, {\n key: 'paintOnSvg',\n value: function paintOnSvg(wrapper) {\n var _this2 = this;\n var cancelled = false;\n var ensureNotCancelled = function ensureNotCancelled() {\n if (cancelled) {\n if (_pdfjsLib.PDFJS.pdfjsNext) {\n throw new _pdfjsLib.RenderingCancelledException('Rendering cancelled, page ' + _this2.id, 'svg');\n } else {\n throw 'cancelled';\n }\n }\n };\n var pdfPage = this.pdfPage;\n var actualSizeViewport = this.viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n var promise = pdfPage.getOperatorList().then(function (opList) {\n ensureNotCancelled();\n var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);\n return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {\n ensureNotCancelled();\n _this2.svg = svg;\n _this2.paintedViewportMap.set(svg, actualSizeViewport);\n svg.style.width = wrapper.style.width;\n svg.style.height = wrapper.style.height;\n _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n wrapper.appendChild(svg);\n });\n });\n return {\n promise: promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n cancelled = true;\n }\n };\n }\n }, {\n key: 'setPageLabel',\n value: function setPageLabel(label) {\n this.pageLabel = typeof label === 'string' ? label : null;\n if (this.pageLabel !== null) {\n this.div.setAttribute('data-page-label', this.pageLabel);\n } else {\n this.div.removeAttribute('data-page-label');\n }\n }\n }, {\n key: 'width',\n get: function get() {\n return this.viewport.width;\n }\n }, {\n key: 'height',\n get: function get() {\n return this.viewport.height;\n }\n }]);\n return PDFPageView;\n }();\n exports.PDFPageView = PDFPageView;\n\n /***/\n }, /* 6 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.DefaultTextLayerFactory = exports.TextLayerBuilder = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _dom_events = __w_pdfjs_require__(2);\n var _pdfjsLib = __w_pdfjs_require__(0);\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var EXPAND_DIVS_TIMEOUT = 300;\n var TextLayerBuilder = function () {\n function TextLayerBuilder(_ref) {\n var textLayerDiv = _ref.textLayerDiv,\n eventBus = _ref.eventBus,\n pageIndex = _ref.pageIndex,\n viewport = _ref.viewport,\n _ref$findController = _ref.findController,\n findController = _ref$findController === undefined ? null : _ref$findController,\n _ref$enhanceTextSelec = _ref.enhanceTextSelection,\n enhanceTextSelection = _ref$enhanceTextSelec === undefined ? false : _ref$enhanceTextSelec;\n _classCallCheck(this, TextLayerBuilder);\n this.textLayerDiv = textLayerDiv;\n this.eventBus = eventBus || (0, _dom_events.getGlobalEventBus)();\n this.textContent = null;\n this.textContentItemsStr = [];\n this.textContentStream = null;\n this.renderingDone = false;\n this.pageIdx = pageIndex;\n this.pageNumber = this.pageIdx + 1;\n this.matches = [];\n this.viewport = viewport;\n this.textDivs = [];\n this.findController = findController;\n this.textLayerRenderTask = null;\n this.enhanceTextSelection = enhanceTextSelection;\n this._bindMouse();\n }\n _createClass(TextLayerBuilder, [{\n key: '_finishRendering',\n value: function _finishRendering() {\n this.renderingDone = true;\n if (!this.enhanceTextSelection) {\n var endOfContent = document.createElement('div');\n endOfContent.className = 'endOfContent';\n this.textLayerDiv.appendChild(endOfContent);\n }\n this.eventBus.dispatch('textlayerrendered', {\n source: this,\n pageNumber: this.pageNumber,\n numTextDivs: this.textDivs.length\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _this = this;\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n this.cancel();\n this.textDivs = [];\n var textLayerFrag = document.createDocumentFragment();\n this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({\n textContent: this.textContent,\n textContentStream: this.textContentStream,\n container: textLayerFrag,\n viewport: this.viewport,\n textDivs: this.textDivs,\n textContentItemsStr: this.textContentItemsStr,\n timeout: timeout,\n enhanceTextSelection: this.enhanceTextSelection\n });\n this.textLayerRenderTask.promise.then(function () {\n _this.textLayerDiv.appendChild(textLayerFrag);\n _this._finishRendering();\n _this.updateMatches();\n }, function (reason) {});\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n }\n }, {\n key: 'setTextContentStream',\n value: function setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n }, {\n key: 'setTextContent',\n value: function setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n }, {\n key: 'convertMatches',\n value: function convertMatches(matches, matchesLength) {\n var i = 0;\n var iIndex = 0;\n var textContentItemsStr = this.textContentItemsStr;\n var end = textContentItemsStr.length - 1;\n var queryLen = this.findController === null ? 0 : this.findController.state.query.length;\n var ret = [];\n if (!matches) {\n return ret;\n }\n for (var m = 0, len = matches.length; m < len; m++) {\n var matchIdx = matches[m];\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n if (i === textContentItemsStr.length) {\n console.error('Could not find a matching mapping');\n }\n var match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n if (matchesLength) {\n matchIdx += matchesLength[m];\n } else {\n matchIdx += queryLen;\n }\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n ret.push(match);\n }\n return ret;\n }\n }, {\n key: 'renderMatches',\n value: function renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n var textContentItemsStr = this.textContentItemsStr;\n var textDivs = this.textDivs;\n var prevEnd = null;\n var pageIdx = this.pageIdx;\n var isSelectedPage = this.findController === null ? false : pageIdx === this.findController.selected.pageIdx;\n var selectedMatchIdx = this.findController === null ? -1 : this.findController.selected.matchIdx;\n var highlightAll = this.findController === null ? false : this.findController.state.highlightAll;\n var infinity = {\n divIdx: -1,\n offset: undefined\n };\n function beginText(begin, className) {\n var divIdx = begin.divIdx;\n textDivs[divIdx].textContent = '';\n appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n var div = textDivs[divIdx];\n var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n var node = document.createTextNode(content);\n if (className) {\n var span = document.createElement('span');\n span.className = className;\n span.appendChild(node);\n div.appendChild(span);\n return;\n }\n div.appendChild(node);\n }\n var i0 = selectedMatchIdx,\n i1 = i0 + 1;\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n for (var i = i0; i < i1; i++) {\n var match = matches[i];\n var begin = match.begin;\n var end = match.end;\n var isSelected = isSelectedPage && i === selectedMatchIdx;\n var highlightSuffix = isSelected ? ' selected' : '';\n if (this.findController) {\n this.findController.updateMatchPosition(pageIdx, i, textDivs, begin.divIdx);\n }\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n if (begin.divIdx === end.divIdx) {\n appendTextToDiv(begin.divIdx, begin.offset, end.offset, 'highlight' + highlightSuffix);\n } else {\n appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, 'highlight begin' + highlightSuffix);\n for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = 'highlight middle' + highlightSuffix;\n }\n beginText(end, 'highlight end' + highlightSuffix);\n }\n prevEnd = end;\n }\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n }, {\n key: 'updateMatches',\n value: function updateMatches() {\n if (!this.renderingDone) {\n return;\n }\n var matches = this.matches;\n var textDivs = this.textDivs;\n var textContentItemsStr = this.textContentItemsStr;\n var clearedUntilDivIdx = -1;\n for (var i = 0, len = matches.length; i < len; i++) {\n var match = matches[i];\n var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n for (var n = begin, end = match.end.divIdx; n <= end; n++) {\n var div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = '';\n }\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n if (this.findController === null || !this.findController.active) {\n return;\n }\n var pageMatches = void 0,\n pageMatchesLength = void 0;\n if (this.findController !== null) {\n pageMatches = this.findController.pageMatches[this.pageIdx] || null;\n pageMatchesLength = this.findController.pageMatchesLength ? this.findController.pageMatchesLength[this.pageIdx] || null : null;\n }\n this.matches = this.convertMatches(pageMatches, pageMatchesLength);\n this.renderMatches(this.matches);\n }\n }, {\n key: '_bindMouse',\n value: function _bindMouse() {\n var _this2 = this;\n var div = this.textLayerDiv;\n var expandDivsTimer = null;\n div.addEventListener('mousedown', function (evt) {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(true);\n if (expandDivsTimer) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n return;\n }\n var end = div.querySelector('.endOfContent');\n if (!end) {\n return;\n }\n var adjustTop = evt.target !== div;\n adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue('-moz-user-select') !== 'none';\n if (adjustTop) {\n var divBounds = div.getBoundingClientRect();\n var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + '%';\n }\n end.classList.add('active');\n });\n div.addEventListener('mouseup', function () {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n expandDivsTimer = setTimeout(function () {\n if (_this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(false);\n }\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n return;\n }\n var end = div.querySelector('.endOfContent');\n if (!end) {\n return;\n }\n end.style.top = '';\n end.classList.remove('active');\n });\n }\n }]);\n return TextLayerBuilder;\n }();\n var DefaultTextLayerFactory = function () {\n function DefaultTextLayerFactory() {\n _classCallCheck(this, DefaultTextLayerFactory);\n }\n _createClass(DefaultTextLayerFactory, [{\n key: 'createTextLayerBuilder',\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n return new TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n pageIndex: pageIndex,\n viewport: viewport,\n enhanceTextSelection: enhanceTextSelection\n });\n }\n }]);\n return DefaultTextLayerFactory;\n }();\n exports.TextLayerBuilder = TextLayerBuilder;\n exports.DefaultTextLayerFactory = DefaultTextLayerFactory;\n\n /***/\n }, /* 7 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var CLEANUP_TIMEOUT = 30000;\n var RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n };\n var PDFRenderingQueue = function () {\n function PDFRenderingQueue() {\n _classCallCheck(this, PDFRenderingQueue);\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n }\n _createClass(PDFRenderingQueue, [{\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setThumbnailViewer\",\n value: function setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n }, {\n key: \"isHighestPriority\",\n value: function isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n }, {\n key: \"renderHighestPriority\",\n value: function renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {\n if (this.pdfThumbnailViewer.forceRendering()) {\n return;\n }\n }\n if (this.printing) {\n return;\n }\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n }, {\n key: \"getHighestPriority\",\n value: function getHighestPriority(visible, views, scrolledDown) {\n var visibleViews = visible.views;\n var numVisible = visibleViews.length;\n if (numVisible === 0) {\n return false;\n }\n for (var i = 0; i < numVisible; ++i) {\n var view = visibleViews[i].view;\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n if (scrolledDown) {\n var nextPageIndex = visible.last.id;\n if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {\n return views[nextPageIndex];\n }\n } else {\n var previousPageIndex = visible.first.id - 2;\n if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {\n return views[previousPageIndex];\n }\n }\n return null;\n }\n }, {\n key: \"isViewFinished\",\n value: function isViewFinished(view) {\n return view.renderingState === RenderingStates.FINISHED;\n }\n }, {\n key: \"renderView\",\n value: function renderView(view) {\n var _this = this;\n switch (view.renderingState) {\n case RenderingStates.FINISHED:\n return false;\n case RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n case RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n case RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n var continueRendering = function continueRendering() {\n _this.renderHighestPriority();\n };\n view.draw().then(continueRendering, continueRendering);\n break;\n }\n return true;\n }\n }]);\n return PDFRenderingQueue;\n }();\n exports.RenderingStates = RenderingStates;\n exports.PDFRenderingQueue = PDFRenderingQueue;\n\n /***/\n }, /* 8 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.DownloadManager = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _pdfjsLib = __w_pdfjs_require__(0);\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n ;\n function _download(blobUrl, filename) {\n var a = document.createElement('a');\n if (a.click) {\n a.href = blobUrl;\n a.target = '_parent';\n if ('download' in a) {\n a.download = filename;\n }\n (document.body || document.documentElement).appendChild(a);\n a.click();\n a.parentNode.removeChild(a);\n } else {\n if (window.top === window && blobUrl.split('#')[0] === window.location.href.split('#')[0]) {\n var padCharacter = blobUrl.indexOf('?') === -1 ? '?' : '&';\n blobUrl = blobUrl.replace(/#|$/, padCharacter + '$&');\n }\n window.open(blobUrl, '_parent');\n }\n }\n var DownloadManager = function () {\n function DownloadManager() {\n _classCallCheck(this, DownloadManager);\n }\n _createClass(DownloadManager, [{\n key: 'downloadUrl',\n value: function downloadUrl(url, filename) {\n if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, 'http://example.com')) {\n return;\n }\n _download(url + '#pdfjs.action=download', filename);\n }\n }, {\n key: 'downloadData',\n value: function downloadData(data, filename, contentType) {\n if (navigator.msSaveBlob) {\n return navigator.msSaveBlob(new Blob([data], {\n type: contentType\n }), filename);\n }\n var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, _pdfjsLib.PDFJS.disableCreateObjectURL);\n _download(blobUrl, filename);\n }\n }, {\n key: 'download',\n value: function download(blob, url, filename) {\n if (navigator.msSaveBlob) {\n if (!navigator.msSaveBlob(blob, filename)) {\n this.downloadUrl(url, filename);\n }\n return;\n }\n if (_pdfjsLib.PDFJS.disableCreateObjectURL) {\n this.downloadUrl(url, filename);\n return;\n }\n var blobUrl = URL.createObjectURL(blob);\n _download(blobUrl, filename);\n }\n }]);\n return DownloadManager;\n }();\n exports.DownloadManager = DownloadManager;\n\n /***/\n }, /* 9 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.GenericL10n = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n __w_pdfjs_require__(13);\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var webL10n = document.webL10n;\n var GenericL10n = function () {\n function GenericL10n(lang) {\n _classCallCheck(this, GenericL10n);\n this._lang = lang;\n this._ready = new Promise(function (resolve, reject) {\n webL10n.setLanguage(lang, function () {\n resolve(webL10n);\n });\n });\n }\n _createClass(GenericL10n, [{\n key: 'getDirection',\n value: function getDirection() {\n return this._ready.then(function (l10n) {\n return l10n.getDirection();\n });\n }\n }, {\n key: 'get',\n value: function get(property, args, fallback) {\n return this._ready.then(function (l10n) {\n return l10n.get(property, args, fallback);\n });\n }\n }, {\n key: 'translate',\n value: function translate(element) {\n return this._ready.then(function (l10n) {\n return l10n.translate(element);\n });\n }\n }]);\n return GenericL10n;\n }();\n exports.GenericL10n = GenericL10n;\n\n /***/\n }, /* 10 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFFindController = exports.FindState = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _pdfjsLib = __w_pdfjs_require__(0);\n var _ui_utils = __w_pdfjs_require__(1);\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n };\n var FIND_SCROLL_OFFSET_TOP = -50;\n var FIND_SCROLL_OFFSET_LEFT = -400;\n var FIND_TIMEOUT = 250;\n var CHARACTERS_TO_NORMALIZE = {\n '\\u2018': '\\'',\n '\\u2019': '\\'',\n '\\u201A': '\\'',\n '\\u201B': '\\'',\n '\\u201C': '\"',\n '\\u201D': '\"',\n '\\u201E': '\"',\n '\\u201F': '\"',\n '\\xBC': '1/4',\n '\\xBD': '1/2',\n '\\xBE': '3/4'\n };\n var PDFFindController = function () {\n function PDFFindController(_ref) {\n var pdfViewer = _ref.pdfViewer;\n _classCallCheck(this, PDFFindController);\n this.pdfViewer = pdfViewer;\n this.onUpdateResultsCount = null;\n this.onUpdateState = null;\n this.reset();\n var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join('');\n this.normalizationRegex = new RegExp('[' + replace + ']', 'g');\n }\n _createClass(PDFFindController, [{\n key: 'reset',\n value: function reset() {\n var _this = this;\n this.startedTextExtraction = false;\n this.extractTextPromises = [];\n this.pendingFindMatches = Object.create(null);\n this.active = false;\n this.pageContents = [];\n this.pageMatches = [];\n this.pageMatchesLength = null;\n this.matchCount = 0;\n this.selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this.offset = {\n pageIdx: null,\n matchIdx: null\n };\n this.pagesToSearch = null;\n this.resumePageIdx = null;\n this.state = null;\n this.dirtyMatch = false;\n this.findTimeout = null;\n this._firstPagePromise = new Promise(function (resolve) {\n _this.resolveFirstPage = resolve;\n });\n }\n }, {\n key: 'normalize',\n value: function normalize(text) {\n return text.replace(this.normalizationRegex, function (ch) {\n return CHARACTERS_TO_NORMALIZE[ch];\n });\n }\n }, {\n key: '_prepareMatches',\n value: function _prepareMatches(matchesWithLength, matches, matchesLength) {\n function isSubTerm(matchesWithLength, currentIndex) {\n var currentElem = matchesWithLength[currentIndex];\n var nextElem = matchesWithLength[currentIndex + 1];\n if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {\n currentElem.skipped = true;\n return true;\n }\n for (var i = currentIndex - 1; i >= 0; i--) {\n var prevElem = matchesWithLength[i];\n if (prevElem.skipped) {\n continue;\n }\n if (prevElem.match + prevElem.matchLength < currentElem.match) {\n break;\n }\n if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {\n currentElem.skipped = true;\n return true;\n }\n }\n return false;\n }\n matchesWithLength.sort(function (a, b) {\n return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;\n });\n for (var i = 0, len = matchesWithLength.length; i < len; i++) {\n if (isSubTerm(matchesWithLength, i)) {\n continue;\n }\n matches.push(matchesWithLength[i].match);\n matchesLength.push(matchesWithLength[i].matchLength);\n }\n }\n }, {\n key: 'calcFindPhraseMatch',\n value: function calcFindPhraseMatch(query, pageIndex, pageContent) {\n var matches = [];\n var queryLen = query.length;\n var matchIdx = -queryLen;\n while (true) {\n matchIdx = pageContent.indexOf(query, matchIdx + queryLen);\n if (matchIdx === -1) {\n break;\n }\n matches.push(matchIdx);\n }\n this.pageMatches[pageIndex] = matches;\n }\n }, {\n key: 'calcFindWordMatch',\n value: function calcFindWordMatch(query, pageIndex, pageContent) {\n var matchesWithLength = [];\n var queryArray = query.match(/\\S+/g);\n for (var i = 0, len = queryArray.length; i < len; i++) {\n var subquery = queryArray[i];\n var subqueryLen = subquery.length;\n var matchIdx = -subqueryLen;\n while (true) {\n matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);\n if (matchIdx === -1) {\n break;\n }\n matchesWithLength.push({\n match: matchIdx,\n matchLength: subqueryLen,\n skipped: false\n });\n }\n }\n if (!this.pageMatchesLength) {\n this.pageMatchesLength = [];\n }\n this.pageMatchesLength[pageIndex] = [];\n this.pageMatches[pageIndex] = [];\n this._prepareMatches(matchesWithLength, this.pageMatches[pageIndex], this.pageMatchesLength[pageIndex]);\n }\n }, {\n key: 'calcFindMatch',\n value: function calcFindMatch(pageIndex) {\n var pageContent = this.normalize(this.pageContents[pageIndex]);\n var query = this.normalize(this.state.query);\n var caseSensitive = this.state.caseSensitive;\n var phraseSearch = this.state.phraseSearch;\n var queryLen = query.length;\n if (queryLen === 0) {\n return;\n }\n if (!caseSensitive) {\n pageContent = pageContent.toLowerCase();\n query = query.toLowerCase();\n }\n if (phraseSearch) {\n this.calcFindPhraseMatch(query, pageIndex, pageContent);\n } else {\n this.calcFindWordMatch(query, pageIndex, pageContent);\n }\n this.updatePage(pageIndex);\n if (this.resumePageIdx === pageIndex) {\n this.resumePageIdx = null;\n this.nextPageMatch();\n }\n if (this.pageMatches[pageIndex].length > 0) {\n this.matchCount += this.pageMatches[pageIndex].length;\n this.updateUIResultsCount();\n }\n }\n }, {\n key: 'extractText',\n value: function extractText() {\n var _this2 = this;\n if (this.startedTextExtraction) {\n return;\n }\n this.startedTextExtraction = true;\n this.pageContents.length = 0;\n var promise = Promise.resolve();\n var _loop = function _loop(i, ii) {\n var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();\n _this2.extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(function () {\n return _this2.pdfViewer.getPageTextContent(i).then(function (textContent) {\n var textItems = textContent.items;\n var strBuf = [];\n for (var j = 0, jj = textItems.length; j < jj; j++) {\n strBuf.push(textItems[j].str);\n }\n _this2.pageContents[i] = strBuf.join('');\n extractTextCapability.resolve(i);\n }, function (reason) {\n console.error('Unable to get page ' + (i + 1) + ' text content', reason);\n _this2.pageContents[i] = '';\n extractTextCapability.resolve(i);\n });\n });\n };\n for (var i = 0, ii = this.pdfViewer.pagesCount; i < ii; i++) {\n _loop(i, ii);\n }\n }\n }, {\n key: 'executeCommand',\n value: function executeCommand(cmd, state) {\n var _this3 = this;\n if (this.state === null || cmd !== 'findagain') {\n this.dirtyMatch = true;\n }\n this.state = state;\n this.updateUIState(FindState.PENDING);\n this._firstPagePromise.then(function () {\n _this3.extractText();\n clearTimeout(_this3.findTimeout);\n if (cmd === 'find') {\n _this3.findTimeout = setTimeout(_this3.nextMatch.bind(_this3), FIND_TIMEOUT);\n } else {\n _this3.nextMatch();\n }\n });\n }\n }, {\n key: 'updatePage',\n value: function updatePage(index) {\n if (this.selected.pageIdx === index) {\n this.pdfViewer.currentPageNumber = index + 1;\n }\n var page = this.pdfViewer.getPageView(index);\n if (page.textLayer) {\n page.textLayer.updateMatches();\n }\n }\n }, {\n key: 'nextMatch',\n value: function nextMatch() {\n var _this4 = this;\n var previous = this.state.findPrevious;\n var currentPageIndex = this.pdfViewer.currentPageNumber - 1;\n var numPages = this.pdfViewer.pagesCount;\n this.active = true;\n if (this.dirtyMatch) {\n this.dirtyMatch = false;\n this.selected.pageIdx = this.selected.matchIdx = -1;\n this.offset.pageIdx = currentPageIndex;\n this.offset.matchIdx = null;\n this.hadMatch = false;\n this.resumePageIdx = null;\n this.pageMatches = [];\n this.matchCount = 0;\n this.pageMatchesLength = null;\n for (var i = 0; i < numPages; i++) {\n this.updatePage(i);\n if (!(i in this.pendingFindMatches)) {\n this.pendingFindMatches[i] = true;\n this.extractTextPromises[i].then(function (pageIdx) {\n delete _this4.pendingFindMatches[pageIdx];\n _this4.calcFindMatch(pageIdx);\n });\n }\n }\n }\n if (this.state.query === '') {\n this.updateUIState(FindState.FOUND);\n return;\n }\n if (this.resumePageIdx) {\n return;\n }\n var offset = this.offset;\n this.pagesToSearch = numPages;\n if (offset.matchIdx !== null) {\n var numPageMatches = this.pageMatches[offset.pageIdx].length;\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n this.hadMatch = true;\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n this.updateMatch(true);\n return;\n }\n this.advanceOffsetPage(previous);\n }\n this.nextPageMatch();\n }\n }, {\n key: 'matchesReady',\n value: function matchesReady(matches) {\n var offset = this.offset;\n var numMatches = matches.length;\n var previous = this.state.findPrevious;\n if (numMatches) {\n this.hadMatch = true;\n offset.matchIdx = previous ? numMatches - 1 : 0;\n this.updateMatch(true);\n return true;\n }\n this.advanceOffsetPage(previous);\n if (offset.wrapped) {\n offset.matchIdx = null;\n if (this.pagesToSearch < 0) {\n this.updateMatch(false);\n return true;\n }\n }\n return false;\n }\n }, {\n key: 'updateMatchPosition',\n value: function updateMatchPosition(pageIndex, matchIndex, elements, beginIdx) {\n if (this.selected.matchIdx === matchIndex && this.selected.pageIdx === pageIndex) {\n var spot = {\n top: FIND_SCROLL_OFFSET_TOP,\n left: FIND_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(elements[beginIdx], spot, true);\n }\n }\n }, {\n key: 'nextPageMatch',\n value: function nextPageMatch() {\n if (this.resumePageIdx !== null) {\n console.error('There can only be one pending page.');\n }\n var matches = null;\n do {\n var pageIdx = this.offset.pageIdx;\n matches = this.pageMatches[pageIdx];\n if (!matches) {\n this.resumePageIdx = pageIdx;\n break;\n }\n } while (!this.matchesReady(matches));\n }\n }, {\n key: 'advanceOffsetPage',\n value: function advanceOffsetPage(previous) {\n var offset = this.offset;\n var numPages = this.extractTextPromises.length;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this.pagesToSearch--;\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n }, {\n key: 'updateMatch',\n value: function updateMatch() {\n var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var state = FindState.NOT_FOUND;\n var wrapped = this.offset.wrapped;\n this.offset.wrapped = false;\n if (found) {\n var previousPage = this.selected.pageIdx;\n this.selected.pageIdx = this.offset.pageIdx;\n this.selected.matchIdx = this.offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n if (previousPage !== -1 && previousPage !== this.selected.pageIdx) {\n this.updatePage(previousPage);\n }\n }\n this.updateUIState(state, this.state.findPrevious);\n if (this.selected.pageIdx !== -1) {\n this.updatePage(this.selected.pageIdx);\n }\n }\n }, {\n key: 'updateUIResultsCount',\n value: function updateUIResultsCount() {\n if (this.onUpdateResultsCount) {\n this.onUpdateResultsCount(this.matchCount);\n }\n }\n }, {\n key: 'updateUIState',\n value: function updateUIState(state, previous) {\n if (this.onUpdateState) {\n this.onUpdateState(state, previous, this.matchCount);\n }\n }\n }]);\n return PDFFindController;\n }();\n exports.FindState = FindState;\n exports.PDFFindController = PDFFindController;\n\n /***/\n }, /* 11 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFHistory = undefined;\n var _dom_events = __w_pdfjs_require__(2);\n function PDFHistory(options) {\n this.linkService = options.linkService;\n this.eventBus = options.eventBus || (0, _dom_events.getGlobalEventBus)();\n this.initialized = false;\n this.initialDestination = null;\n this.initialBookmark = null;\n }\n PDFHistory.prototype = {\n initialize: function pdfHistoryInitialize(fingerprint) {\n this.initialized = true;\n this.reInitialized = false;\n this.allowHashChange = true;\n this.historyUnlocked = true;\n this.isViewerInPresentationMode = false;\n this.previousHash = window.location.hash.substring(1);\n this.currentBookmark = '';\n this.currentPage = 0;\n this.updatePreviousBookmark = false;\n this.previousBookmark = '';\n this.previousPage = 0;\n this.nextHashParam = '';\n this.fingerprint = fingerprint;\n this.currentUid = this.uid = 0;\n this.current = {};\n var state = window.history.state;\n if (this._isStateObjectDefined(state)) {\n if (state.target.dest) {\n this.initialDestination = state.target.dest;\n } else {\n this.initialBookmark = state.target.hash;\n }\n this.currentUid = state.uid;\n this.uid = state.uid + 1;\n this.current = state.target;\n } else {\n if (state && state.fingerprint && this.fingerprint !== state.fingerprint) {\n this.reInitialized = true;\n }\n this._pushOrReplaceState({\n fingerprint: this.fingerprint\n }, true);\n }\n var self = this;\n window.addEventListener('popstate', function pdfHistoryPopstate(evt) {\n if (!self.historyUnlocked) {\n return;\n }\n if (evt.state) {\n self._goTo(evt.state);\n return;\n }\n if (self.uid === 0) {\n var previousParams = self.previousHash && self.currentBookmark && self.previousHash !== self.currentBookmark ? {\n hash: self.currentBookmark,\n page: self.currentPage\n } : {\n page: 1\n };\n replacePreviousHistoryState(previousParams, function () {\n updateHistoryWithCurrentHash();\n });\n } else {\n updateHistoryWithCurrentHash();\n }\n });\n function updateHistoryWithCurrentHash() {\n self.previousHash = window.location.hash.slice(1);\n self._pushToHistory({\n hash: self.previousHash\n }, false, true);\n self._updatePreviousBookmark();\n }\n function replacePreviousHistoryState(params, callback) {\n self.historyUnlocked = false;\n self.allowHashChange = false;\n window.addEventListener('popstate', rewriteHistoryAfterBack);\n history.back();\n function rewriteHistoryAfterBack() {\n window.removeEventListener('popstate', rewriteHistoryAfterBack);\n window.addEventListener('popstate', rewriteHistoryAfterForward);\n self._pushToHistory(params, false, true);\n history.forward();\n }\n function rewriteHistoryAfterForward() {\n window.removeEventListener('popstate', rewriteHistoryAfterForward);\n self.allowHashChange = true;\n self.historyUnlocked = true;\n callback();\n }\n }\n function pdfHistoryBeforeUnload() {\n var previousParams = self._getPreviousParams(null, true);\n if (previousParams) {\n var replacePrevious = !self.current.dest && self.current.hash !== self.previousHash;\n self._pushToHistory(previousParams, false, replacePrevious);\n self._updatePreviousBookmark();\n }\n window.removeEventListener('beforeunload', pdfHistoryBeforeUnload);\n }\n window.addEventListener('beforeunload', pdfHistoryBeforeUnload);\n window.addEventListener('pageshow', function pdfHistoryPageShow(evt) {\n window.addEventListener('beforeunload', pdfHistoryBeforeUnload);\n });\n self.eventBus.on('presentationmodechanged', function (e) {\n self.isViewerInPresentationMode = e.active;\n });\n },\n clearHistoryState: function pdfHistory_clearHistoryState() {\n this._pushOrReplaceState(null, true);\n },\n _isStateObjectDefined: function pdfHistory_isStateObjectDefined(state) {\n return state && state.uid >= 0 && state.fingerprint && this.fingerprint === state.fingerprint && state.target && state.target.hash ? true : false;\n },\n _pushOrReplaceState: function pdfHistory_pushOrReplaceState(stateObj, replace) {\n if (replace) {\n window.history.replaceState(stateObj, '', document.URL);\n } else {\n window.history.pushState(stateObj, '', document.URL);\n }\n },\n get isHashChangeUnlocked() {\n if (!this.initialized) {\n return true;\n }\n return this.allowHashChange;\n },\n _updatePreviousBookmark: function pdfHistory_updatePreviousBookmark() {\n if (this.updatePreviousBookmark && this.currentBookmark && this.currentPage) {\n this.previousBookmark = this.currentBookmark;\n this.previousPage = this.currentPage;\n this.updatePreviousBookmark = false;\n }\n },\n updateCurrentBookmark: function pdfHistoryUpdateCurrentBookmark(bookmark, pageNum) {\n if (this.initialized) {\n this.currentBookmark = bookmark.substring(1);\n this.currentPage = pageNum | 0;\n this._updatePreviousBookmark();\n }\n },\n updateNextHashParam: function pdfHistoryUpdateNextHashParam(param) {\n if (this.initialized) {\n this.nextHashParam = param;\n }\n },\n push: function pdfHistoryPush(params, isInitialBookmark) {\n if (!(this.initialized && this.historyUnlocked)) {\n return;\n }\n if (params.dest && !params.hash) {\n params.hash = this.current.hash && this.current.dest && this.current.dest === params.dest ? this.current.hash : this.linkService.getDestinationHash(params.dest).split('#')[1];\n }\n if (params.page) {\n params.page |= 0;\n }\n if (isInitialBookmark) {\n var target = window.history.state.target;\n if (!target) {\n this._pushToHistory(params, false);\n this.previousHash = window.location.hash.substring(1);\n }\n this.updatePreviousBookmark = this.nextHashParam ? false : true;\n if (target) {\n this._updatePreviousBookmark();\n }\n return;\n }\n if (this.nextHashParam) {\n if (this.nextHashParam === params.hash) {\n this.nextHashParam = null;\n this.updatePreviousBookmark = true;\n return;\n }\n this.nextHashParam = null;\n }\n if (params.hash) {\n if (this.current.hash) {\n if (this.current.hash !== params.hash) {\n this._pushToHistory(params, true);\n } else {\n if (!this.current.page && params.page) {\n this._pushToHistory(params, false, true);\n }\n this.updatePreviousBookmark = true;\n }\n } else {\n this._pushToHistory(params, true);\n }\n } else if (this.current.page && params.page && this.current.page !== params.page) {\n this._pushToHistory(params, true);\n }\n },\n _getPreviousParams: function pdfHistory_getPreviousParams(onlyCheckPage, beforeUnload) {\n if (!(this.currentBookmark && this.currentPage)) {\n return null;\n } else if (this.updatePreviousBookmark) {\n this.updatePreviousBookmark = false;\n }\n if (this.uid > 0 && !(this.previousBookmark && this.previousPage)) {\n return null;\n }\n if (!this.current.dest && !onlyCheckPage || beforeUnload) {\n if (this.previousBookmark === this.currentBookmark) {\n return null;\n }\n } else if (this.current.page || onlyCheckPage) {\n if (this.previousPage === this.currentPage) {\n return null;\n }\n } else {\n return null;\n }\n var params = {\n hash: this.currentBookmark,\n page: this.currentPage\n };\n if (this.isViewerInPresentationMode) {\n params.hash = null;\n }\n return params;\n },\n _stateObj: function pdfHistory_stateObj(params) {\n return {\n fingerprint: this.fingerprint,\n uid: this.uid,\n target: params\n };\n },\n _pushToHistory: function pdfHistory_pushToHistory(params, addPrevious, overwrite) {\n if (!this.initialized) {\n return;\n }\n if (!params.hash && params.page) {\n params.hash = 'page=' + params.page;\n }\n if (addPrevious && !overwrite) {\n var previousParams = this._getPreviousParams();\n if (previousParams) {\n var replacePrevious = !this.current.dest && this.current.hash !== this.previousHash;\n this._pushToHistory(previousParams, false, replacePrevious);\n }\n }\n this._pushOrReplaceState(this._stateObj(params), overwrite || this.uid === 0);\n this.currentUid = this.uid++;\n this.current = params;\n this.updatePreviousBookmark = true;\n },\n _goTo: function pdfHistory_goTo(state) {\n if (!(this.initialized && this.historyUnlocked && this._isStateObjectDefined(state))) {\n return;\n }\n if (!this.reInitialized && state.uid < this.currentUid) {\n var previousParams = this._getPreviousParams(true);\n if (previousParams) {\n this._pushToHistory(this.current, false);\n this._pushToHistory(previousParams, false);\n this.currentUid = state.uid;\n window.history.back();\n return;\n }\n }\n this.historyUnlocked = false;\n if (state.target.dest) {\n this.linkService.navigateTo(state.target.dest);\n } else {\n this.linkService.setHash(state.target.hash);\n }\n this.currentUid = state.uid;\n if (state.uid > this.uid) {\n this.uid = state.uid;\n }\n this.current = state.target;\n this.updatePreviousBookmark = true;\n var currentHash = window.location.hash.substring(1);\n if (this.previousHash !== currentHash) {\n this.allowHashChange = false;\n }\n this.previousHash = currentHash;\n this.historyUnlocked = true;\n },\n back: function pdfHistoryBack() {\n this.go(-1);\n },\n forward: function pdfHistoryForward() {\n this.go(1);\n },\n go: function pdfHistoryGo(direction) {\n if (this.initialized && this.historyUnlocked) {\n var state = window.history.state;\n if (direction === -1 && state && state.uid > 0) {\n window.history.back();\n } else if (direction === 1 && state && state.uid < this.uid - 1) {\n window.history.forward();\n }\n }\n }\n };\n exports.PDFHistory = PDFHistory;\n\n /***/\n }, /* 12 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFViewer = exports.PresentationModeState = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _pdfjsLib = __w_pdfjs_require__(0);\n var _ui_utils = __w_pdfjs_require__(1);\n var _pdf_rendering_queue = __w_pdfjs_require__(7);\n var _annotation_layer_builder = __w_pdfjs_require__(4);\n var _dom_events = __w_pdfjs_require__(2);\n var _pdf_page_view = __w_pdfjs_require__(5);\n var _pdf_link_service = __w_pdfjs_require__(3);\n var _text_layer_builder = __w_pdfjs_require__(6);\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n };\n var DEFAULT_CACHE_SIZE = 10;\n function PDFPageViewBuffer(size) {\n var data = [];\n this.push = function cachePush(view) {\n var i = data.indexOf(view);\n if (i >= 0) {\n data.splice(i, 1);\n }\n data.push(view);\n if (data.length > size) {\n data.shift().destroy();\n }\n };\n this.resize = function (newSize) {\n size = newSize;\n while (data.length > size) {\n data.shift().destroy();\n }\n };\n }\n function isSameScale(oldScale, newScale) {\n if (newScale === oldScale) {\n return true;\n }\n if (Math.abs(newScale - oldScale) < 1e-15) {\n return true;\n }\n return false;\n }\n function isPortraitOrientation(size) {\n return size.width <= size.height;\n }\n var PDFViewer = function () {\n function PDFViewer(options) {\n _classCallCheck(this, PDFViewer);\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n this.eventBus = options.eventBus || (0, _dom_events.getGlobalEventBus)();\n this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.removePageBorders = options.removePageBorders || false;\n this.enhanceTextSelection = options.enhanceTextSelection || false;\n this.renderInteractiveForms = options.renderInteractiveForms || false;\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.defaultRenderingQueue = !options.renderingQueue;\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = PresentationModeState.UNKNOWN;\n this._resetView();\n if (this.removePageBorders) {\n this.viewer.classList.add('removePageBorders');\n }\n }\n _createClass(PDFViewer, [{\n key: 'getPageView',\n value: function getPageView(index) {\n return this._pages[index];\n }\n }, {\n key: '_setCurrentPageNumber',\n value: function _setCurrentPageNumber(val) {\n var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n return;\n }\n if (!(0 < val && val <= this.pagesCount)) {\n console.error('PDFViewer._setCurrentPageNumber: \"' + val + '\" is out of bounds.');\n return;\n }\n var arg = {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels && this._pageLabels[val - 1]\n };\n this._currentPageNumber = val;\n this.eventBus.dispatch('pagechanging', arg);\n this.eventBus.dispatch('pagechange', arg);\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n }\n }, {\n key: 'setDocument',\n value: function setDocument(pdfDocument) {\n var _this = this;\n if (this.pdfDocument) {\n this._cancelRendering();\n this._resetView();\n }\n this.pdfDocument = pdfDocument;\n if (!pdfDocument) {\n return;\n }\n var pagesCount = pdfDocument.numPages;\n var pagesCapability = (0, _pdfjsLib.createPromiseCapability)();\n this.pagesPromise = pagesCapability.promise;\n pagesCapability.promise.then(function () {\n _this._pageViewsReady = true;\n _this.eventBus.dispatch('pagesloaded', {\n source: _this,\n pagesCount: pagesCount\n });\n });\n var isOnePageRenderedResolved = false;\n var onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();\n this.onePageRendered = onePageRenderedCapability.promise;\n var bindOnAfterAndBeforeDraw = function bindOnAfterAndBeforeDraw(pageView) {\n pageView.onBeforeDraw = function () {\n _this._buffer.push(pageView);\n };\n pageView.onAfterDraw = function () {\n if (!isOnePageRenderedResolved) {\n isOnePageRenderedResolved = true;\n onePageRenderedCapability.resolve();\n }\n };\n };\n var firstPagePromise = pdfDocument.getPage(1);\n this.firstPagePromise = firstPagePromise;\n firstPagePromise.then(function (pdfPage) {\n var scale = _this.currentScale;\n var viewport = pdfPage.getViewport(scale * _ui_utils.CSS_UNITS);\n for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n var textLayerFactory = null;\n if (!_pdfjsLib.PDFJS.disableTextLayer) {\n textLayerFactory = _this;\n }\n var pageView = new _pdf_page_view.PDFPageView({\n container: _this.viewer,\n eventBus: _this.eventBus,\n id: pageNum,\n scale: scale,\n defaultViewport: viewport.clone(),\n renderingQueue: _this.renderingQueue,\n textLayerFactory: textLayerFactory,\n annotationLayerFactory: _this,\n enhanceTextSelection: _this.enhanceTextSelection,\n renderInteractiveForms: _this.renderInteractiveForms,\n renderer: _this.renderer,\n l10n: _this.l10n\n });\n bindOnAfterAndBeforeDraw(pageView);\n _this._pages.push(pageView);\n }\n onePageRenderedCapability.promise.then(function () {\n if (_pdfjsLib.PDFJS.disableAutoFetch) {\n pagesCapability.resolve();\n return;\n }\n var getPagesLeft = pagesCount;\n var _loop = function _loop(_pageNum) {\n pdfDocument.getPage(_pageNum).then(function (pdfPage) {\n var pageView = _this._pages[_pageNum - 1];\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n _this.linkService.cachePageRef(_pageNum, pdfPage.ref);\n if (--getPagesLeft === 0) {\n pagesCapability.resolve();\n }\n }, function (reason) {\n console.error('Unable to get page ' + _pageNum + ' to initialize viewer', reason);\n if (--getPagesLeft === 0) {\n pagesCapability.resolve();\n }\n });\n };\n for (var _pageNum = 1; _pageNum <= pagesCount; ++_pageNum) {\n _loop(_pageNum);\n }\n });\n _this.eventBus.dispatch('pagesinit', {\n source: _this\n });\n if (_this.defaultRenderingQueue) {\n _this.update();\n }\n if (_this.findController) {\n _this.findController.resolveFirstPage();\n }\n }).catch(function (reason) {\n console.error('Unable to initialize viewer', reason);\n });\n }\n }, {\n key: 'setPageLabels',\n value: function setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n if (!labels) {\n this._pageLabels = null;\n } else if (!(labels instanceof Array && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error('PDFViewer.setPageLabels: Invalid page labels.');\n } else {\n this._pageLabels = labels;\n }\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n var label = this._pageLabels && this._pageLabels[i];\n pageView.setPageLabel(label);\n }\n }\n }, {\n key: '_resetView',\n value: function _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = _ui_utils.UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._pagesRequests = [];\n this._pageViewsReady = false;\n this.viewer.textContent = '';\n }\n }, {\n key: '_scrollUpdate',\n value: function _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n this.update();\n }\n }, {\n key: '_setScaleDispatchEvent',\n value: function _setScaleDispatchEvent(newScale, newValue) {\n var preset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var arg = {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n };\n this.eventBus.dispatch('scalechanging', arg);\n this.eventBus.dispatch('scalechange', arg);\n }\n }, {\n key: '_setScaleUpdatePages',\n value: function _setScaleUpdatePages(newScale, newValue) {\n var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n this._currentScaleValue = newValue.toString();\n if (isSameScale(this._currentScale, newScale)) {\n if (preset) {\n this._setScaleDispatchEvent(newScale, newValue, true);\n }\n return;\n }\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].update(newScale);\n }\n this._currentScale = newScale;\n if (!noScroll) {\n var page = this._currentPageNumber,\n dest = void 0;\n if (this._location && !_pdfjsLib.PDFJS.ignoreCurrentPositionOnZoom && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: 'XYZ'\n }, this._location.left, this._location.top, null];\n }\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n }\n this._setScaleDispatchEvent(newScale, newValue, preset);\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: '_setScale',\n value: function _setScale(value) {\n var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var scale = parseFloat(value);\n if (scale > 0) {\n this._setScaleUpdatePages(scale, value, noScroll, false);\n } else {\n var currentPage = this._pages[this._currentPageNumber - 1];\n if (!currentPage) {\n return;\n }\n var hPadding = this.isInPresentationMode || this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = this.isInPresentationMode || this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;\n var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n switch (value) {\n case 'page-actual':\n scale = 1;\n break;\n case 'page-width':\n scale = pageWidthScale;\n break;\n case 'page-height':\n scale = pageHeightScale;\n break;\n case 'page-fit':\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n case 'auto':\n var isLandscape = currentPage.width > currentPage.height;\n var horizontalScale = isLandscape ? Math.min(pageHeightScale, pageWidthScale) : pageWidthScale;\n scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n break;\n default:\n console.error('PDFViewer._setScale: \"' + value + '\" is an unknown zoom value.');\n return;\n }\n this._setScaleUpdatePages(scale, value, noScroll, true);\n }\n }\n }, {\n key: '_resetCurrentPageView',\n value: function _resetCurrentPageView() {\n if (this.isInPresentationMode) {\n this._setScale(this._currentScaleValue, true);\n }\n var pageView = this._pages[this._currentPageNumber - 1];\n (0, _ui_utils.scrollIntoView)(pageView.div);\n }\n }, {\n key: 'scrollPageIntoView',\n value: function scrollPageIntoView(params) {\n if (arguments.length > 1 || typeof params === 'number') {\n console.error('Call of scrollPageIntoView() with obsolete signature.');\n return;\n }\n if (!this.pdfDocument) {\n return;\n }\n var pageNumber = params.pageNumber || 0;\n var dest = params.destArray || null;\n var allowNegativeOffset = params.allowNegativeOffset || false;\n if (this.isInPresentationMode || !dest) {\n this._setCurrentPageNumber(pageNumber, true);\n return;\n }\n var pageView = this._pages[pageNumber - 1];\n if (!pageView) {\n console.error('PDFViewer.scrollPageIntoView: Invalid \"pageNumber\" parameter.');\n return;\n }\n var x = 0,\n y = 0;\n var width = 0,\n height = 0,\n widthScale = void 0,\n heightScale = void 0;\n var changeOrientation = pageView.rotation % 180 === 0 ? false : true;\n var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;\n var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;\n var scale = 0;\n switch (dest[1].name) {\n case 'XYZ':\n x = dest[2];\n y = dest[3];\n scale = dest[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n case 'Fit':\n case 'FitB':\n scale = 'page-fit';\n break;\n case 'FitH':\n case 'FitBH':\n y = dest[2];\n scale = 'page-width';\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n }\n break;\n case 'FitV':\n case 'FitBV':\n x = dest[2];\n width = pageWidth;\n height = pageHeight;\n scale = 'page-height';\n break;\n case 'FitR':\n x = dest[2];\n y = dest[3];\n width = dest[4] - x;\n height = dest[5] - y;\n var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n default:\n console.error('PDFViewer.scrollPageIntoView: \"' + dest[1].name + '\" ' + 'is not a valid destination type.');\n return;\n }\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n }\n if (scale === 'page-fit' && !dest[4]) {\n (0, _ui_utils.scrollIntoView)(pageView.div);\n return;\n }\n var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n var left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n var top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n (0, _ui_utils.scrollIntoView)(pageView.div, {\n left: left,\n top: top\n });\n }\n }, {\n key: '_updateLocation',\n value: function _updateLocation(firstPage) {\n var currentScale = this._currentScale;\n var currentScaleValue = this._currentScaleValue;\n var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n var pageNumber = firstPage.id;\n var pdfOpenParams = '#page=' + pageNumber;\n pdfOpenParams += '&zoom=' + normalizedScaleValue;\n var currentPageView = this._pages[pageNumber - 1];\n var container = this.container;\n var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n var intLeft = Math.round(topLeft[0]);\n var intTop = Math.round(topLeft[1]);\n pdfOpenParams += ',' + intLeft + ',' + intTop;\n this._location = {\n pageNumber: pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n pdfOpenParams: pdfOpenParams\n };\n }\n }, {\n key: 'update',\n value: function update() {\n var visible = this._getVisiblePages();\n var visiblePages = visible.views;\n if (visiblePages.length === 0) {\n return;\n }\n var suggestedCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * visiblePages.length + 1);\n this._buffer.resize(suggestedCacheSize);\n this.renderingQueue.renderHighestPriority(visible);\n var currentId = this._currentPageNumber;\n var firstPage = visible.first;\n var stillFullyVisible = false;\n for (var i = 0, ii = visiblePages.length; i < ii; ++i) {\n var page = visiblePages[i];\n if (page.percent < 100) {\n break;\n }\n if (page.id === currentId) {\n stillFullyVisible = true;\n break;\n }\n }\n if (!stillFullyVisible) {\n currentId = visiblePages[0].id;\n }\n if (!this.isInPresentationMode) {\n this._setCurrentPageNumber(currentId);\n }\n this._updateLocation(firstPage);\n this.eventBus.dispatch('updateviewarea', {\n source: this,\n location: this._location\n });\n }\n }, {\n key: 'containsElement',\n value: function containsElement(element) {\n return this.container.contains(element);\n }\n }, {\n key: 'focus',\n value: function focus() {\n this.container.focus();\n }\n }, {\n key: '_getVisiblePages',\n value: function _getVisiblePages() {\n if (!this.isInPresentationMode) {\n return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true);\n }\n var visible = [];\n var currentPage = this._pages[this._currentPageNumber - 1];\n visible.push({\n id: currentPage.id,\n view: currentPage\n });\n return {\n first: currentPage,\n last: currentPage,\n views: visible\n };\n }\n }, {\n key: 'cleanup',\n value: function cleanup() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {\n this._pages[i].reset();\n }\n }\n }\n }, {\n key: '_cancelRendering',\n value: function _cancelRendering() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i]) {\n this._pages[i].cancelRendering();\n }\n }\n }\n }, {\n key: '_ensurePdfPageLoaded',\n value: function _ensurePdfPageLoaded(pageView) {\n var _this2 = this;\n if (pageView.pdfPage) {\n return Promise.resolve(pageView.pdfPage);\n }\n var pageNumber = pageView.id;\n if (this._pagesRequests[pageNumber]) {\n return this._pagesRequests[pageNumber];\n }\n var promise = this.pdfDocument.getPage(pageNumber).then(function (pdfPage) {\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n _this2._pagesRequests[pageNumber] = null;\n return pdfPage;\n }).catch(function (reason) {\n console.error('Unable to get page for page view', reason);\n _this2._pagesRequests[pageNumber] = null;\n });\n this._pagesRequests[pageNumber] = promise;\n return promise;\n }\n }, {\n key: 'forceRendering',\n value: function forceRendering(currentlyVisiblePages) {\n var _this3 = this;\n var visiblePages = currentlyVisiblePages || this._getVisiblePages();\n var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, this.scroll.down);\n if (pageView) {\n this._ensurePdfPageLoaded(pageView).then(function () {\n _this3.renderingQueue.renderView(pageView);\n });\n return true;\n }\n return false;\n }\n }, {\n key: 'getPageTextContent',\n value: function getPageTextContent(pageIndex) {\n return this.pdfDocument.getPage(pageIndex + 1).then(function (page) {\n return page.getTextContent({\n normalizeWhitespace: true\n });\n });\n }\n }, {\n key: 'createTextLayerBuilder',\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n eventBus: this.eventBus,\n pageIndex: pageIndex,\n viewport: viewport,\n findController: this.isInPresentationMode ? null : this.findController,\n enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection\n });\n }\n }, {\n key: 'createAnnotationLayerBuilder',\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var renderInteractiveForms = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var l10n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _ui_utils.NullL10n;\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n renderInteractiveForms: renderInteractiveForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n l10n: l10n\n });\n }\n }, {\n key: 'setFindController',\n value: function setFindController(findController) {\n this.findController = findController;\n }\n }, {\n key: 'getPagesOverview',\n value: function getPagesOverview() {\n var pagesOverview = this._pages.map(function (pageView) {\n var viewport = pageView.pdfPage.getViewport(1);\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n if (!this.enablePrintAutoRotate) {\n return pagesOverview;\n }\n var isFirstPagePortrait = isPortraitOrientation(pagesOverview[0]);\n return pagesOverview.map(function (size) {\n if (isFirstPagePortrait === isPortraitOrientation(size)) {\n return size;\n }\n return {\n width: size.height,\n height: size.width,\n rotation: (size.rotation + 90) % 360\n };\n });\n }\n }, {\n key: 'pagesCount',\n get: function get() {\n return this._pages.length;\n }\n }, {\n key: 'pageViewsReady',\n get: function get() {\n return this._pageViewsReady;\n }\n }, {\n key: 'currentPageNumber',\n get: function get() {\n return this._currentPageNumber;\n },\n set: function set(val) {\n if ((val | 0) !== val) {\n throw new Error('Invalid page number.');\n }\n if (!this.pdfDocument) {\n return;\n }\n this._setCurrentPageNumber(val, true);\n }\n }, {\n key: 'currentPageLabel',\n get: function get() {\n return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];\n },\n set: function set(val) {\n var pageNumber = val | 0;\n if (this._pageLabels) {\n var i = this._pageLabels.indexOf(val);\n if (i >= 0) {\n pageNumber = i + 1;\n }\n }\n this.currentPageNumber = pageNumber;\n }\n }, {\n key: 'currentScale',\n get: function get() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n },\n set: function set(val) {\n if (isNaN(val)) {\n throw new Error('Invalid numeric scale');\n }\n if (!this.pdfDocument) {\n return;\n }\n this._setScale(val, false);\n }\n }, {\n key: 'currentScaleValue',\n get: function get() {\n return this._currentScaleValue;\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n this._setScale(val, false);\n }\n }, {\n key: 'pagesRotation',\n get: function get() {\n return this._pagesRotation;\n },\n set: function set(rotation) {\n if (!(typeof rotation === 'number' && rotation % 90 === 0)) {\n throw new Error('Invalid pages rotation angle.');\n }\n if (!this.pdfDocument) {\n return;\n }\n this._pagesRotation = rotation;\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n pageView.update(pageView.scale, rotation);\n }\n this._setScale(this._currentScaleValue, true);\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: 'isInPresentationMode',\n get: function get() {\n return this.presentationModeState === PresentationModeState.FULLSCREEN;\n }\n }, {\n key: 'isChangingPresentationMode',\n get: function get() {\n return this.presentationModeState === PresentationModeState.CHANGING;\n }\n }, {\n key: 'isHorizontalScrollbarEnabled',\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n }, {\n key: 'hasEqualPageSizes',\n get: function get() {\n var firstPageView = this._pages[0];\n for (var i = 1, ii = this._pages.length; i < ii; ++i) {\n var pageView = this._pages[i];\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n return true;\n }\n }]);\n return PDFViewer;\n }();\n exports.PresentationModeState = PresentationModeState;\n exports.PDFViewer = PDFViewer;\n\n /***/\n }, /* 13 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n document.webL10n = function (window, document, undefined) {\n var gL10nData = {};\n var gTextData = '';\n var gTextProp = 'textContent';\n var gLanguage = '';\n var gMacros = {};\n var gReadyState = 'loading';\n var gAsyncResourceLoading = true;\n function getL10nResourceLinks() {\n return document.querySelectorAll('link[type=\"application/l10n\"]');\n }\n function getL10nDictionary() {\n var script = document.querySelector('script[type=\"application/l10n\"]');\n return script ? JSON.parse(script.innerHTML) : null;\n }\n function getTranslatableChildren(element) {\n return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n }\n function getL10nAttributes(element) {\n if (!element) return {};\n var l10nId = element.getAttribute('data-l10n-id');\n var l10nArgs = element.getAttribute('data-l10n-args');\n var args = {};\n if (l10nArgs) {\n try {\n args = JSON.parse(l10nArgs);\n } catch (e) {\n console.warn('could not parse arguments for #' + l10nId);\n }\n }\n return {\n id: l10nId,\n args: args\n };\n }\n function fireL10nReadyEvent(lang) {\n var evtObject = document.createEvent('Event');\n evtObject.initEvent('localized', true, false);\n evtObject.language = lang;\n document.dispatchEvent(evtObject);\n }\n function xhrLoadText(url, onSuccess, onFailure) {\n onSuccess = onSuccess || function _onSuccess(data) {};\n onFailure = onFailure || function _onFailure() {};\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, gAsyncResourceLoading);\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType('text/plain; charset=utf-8');\n }\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200 || xhr.status === 0) {\n onSuccess(xhr.responseText);\n } else {\n onFailure();\n }\n }\n };\n xhr.onerror = onFailure;\n xhr.ontimeout = onFailure;\n try {\n xhr.send(null);\n } catch (e) {\n onFailure();\n }\n }\n function parseResource(href, lang, successCallback, failureCallback) {\n var baseURL = href.replace(/[^\\/]*$/, '') || './';\n function evalString(text) {\n if (text.lastIndexOf('\\\\') < 0) return text;\n 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, \"'\");\n }\n function parseProperties(text, parsedPropertiesCallback) {\n var dictionary = {};\n var reBlank = /^\\s*|\\s*$/;\n var reComment = /^\\s*#|^\\s*$/;\n var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/;\n function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n var currentLang = '*';\n var genericLang = lang.split('-', 1)[0];\n var skipLang = false;\n var match = '';\n function nextEntry() {\n while (true) {\n if (!entries.length) {\n parsedRawLinesCallback();\n return;\n }\n var line = entries.shift();\n if (reComment.test(line)) continue;\n if (extendedSyntax) {\n match = reSection.exec(line);\n if (match) {\n currentLang = match[1].toLowerCase();\n skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n continue;\n } else if (skipLang) {\n continue;\n }\n match = reImport.exec(line);\n if (match) {\n loadImport(baseURL + match[1], nextEntry);\n return;\n }\n }\n var tmp = line.match(reSplit);\n if (tmp && tmp.length == 3) {\n dictionary[tmp[1]] = evalString(tmp[2]);\n }\n }\n }\n nextEntry();\n }\n function loadImport(url, callback) {\n xhrLoadText(url, function (content) {\n parseRawLines(content, false, callback);\n }, function () {\n console.warn(url + ' not found.');\n callback();\n });\n }\n parseRawLines(text, true, function () {\n parsedPropertiesCallback(dictionary);\n });\n }\n xhrLoadText(href, function (response) {\n gTextData += response;\n parseProperties(response, function (data) {\n for (var key in data) {\n var id,\n prop,\n index = key.lastIndexOf('.');\n if (index > 0) {\n id = key.substring(0, index);\n prop = key.substr(index + 1);\n } else {\n id = key;\n prop = gTextProp;\n }\n if (!gL10nData[id]) {\n gL10nData[id] = {};\n }\n gL10nData[id][prop] = data[key];\n }\n if (successCallback) {\n successCallback();\n }\n });\n }, failureCallback);\n }\n function loadLocale(lang, callback) {\n if (lang) {\n lang = lang.toLowerCase();\n }\n callback = callback || function _callback() {};\n clear();\n gLanguage = lang;\n var langLinks = getL10nResourceLinks();\n var langCount = langLinks.length;\n if (langCount === 0) {\n var dict = getL10nDictionary();\n if (dict && dict.locales && dict.default_locale) {\n console.log('using the embedded JSON directory, early way out');\n gL10nData = dict.locales[lang];\n if (!gL10nData) {\n var defaultLocale = dict.default_locale.toLowerCase();\n for (var anyCaseLang in dict.locales) {\n anyCaseLang = anyCaseLang.toLowerCase();\n if (anyCaseLang === lang) {\n gL10nData = dict.locales[lang];\n break;\n } else if (anyCaseLang === defaultLocale) {\n gL10nData = dict.locales[defaultLocale];\n }\n }\n }\n callback();\n } else {\n console.log('no resource to load, early way out');\n }\n fireL10nReadyEvent(lang);\n gReadyState = 'complete';\n return;\n }\n var onResourceLoaded = null;\n var gResourceCount = 0;\n onResourceLoaded = function onResourceLoaded() {\n gResourceCount++;\n if (gResourceCount >= langCount) {\n callback();\n fireL10nReadyEvent(lang);\n gReadyState = 'complete';\n }\n };\n function L10nResourceLink(link) {\n var href = link.href;\n this.load = function (lang, callback) {\n parseResource(href, lang, callback, function () {\n console.warn(href + ' not found.');\n console.warn('\"' + lang + '\" resource not found');\n gLanguage = '';\n callback();\n });\n };\n }\n for (var i = 0; i < langCount; i++) {\n var resource = new L10nResourceLink(langLinks[i]);\n resource.load(lang, onResourceLoaded);\n }\n }\n function clear() {\n gL10nData = {};\n gTextData = '';\n gLanguage = '';\n }\n function getPluralRules(lang) {\n var locales2rules = {\n 'af': 3,\n 'ak': 4,\n 'am': 4,\n 'ar': 1,\n 'asa': 3,\n 'az': 0,\n 'be': 11,\n 'bem': 3,\n 'bez': 3,\n 'bg': 3,\n 'bh': 4,\n 'bm': 0,\n 'bn': 3,\n 'bo': 0,\n 'br': 20,\n 'brx': 3,\n 'bs': 11,\n 'ca': 3,\n 'cgg': 3,\n 'chr': 3,\n 'cs': 12,\n 'cy': 17,\n 'da': 3,\n 'de': 3,\n 'dv': 3,\n 'dz': 0,\n 'ee': 3,\n 'el': 3,\n 'en': 3,\n 'eo': 3,\n 'es': 3,\n 'et': 3,\n 'eu': 3,\n 'fa': 0,\n 'ff': 5,\n 'fi': 3,\n 'fil': 4,\n 'fo': 3,\n 'fr': 5,\n 'fur': 3,\n 'fy': 3,\n 'ga': 8,\n 'gd': 24,\n 'gl': 3,\n 'gsw': 3,\n 'gu': 3,\n 'guw': 4,\n 'gv': 23,\n 'ha': 3,\n 'haw': 3,\n 'he': 2,\n 'hi': 4,\n 'hr': 11,\n 'hu': 0,\n 'id': 0,\n 'ig': 0,\n 'ii': 0,\n 'is': 3,\n 'it': 3,\n 'iu': 7,\n 'ja': 0,\n 'jmc': 3,\n 'jv': 0,\n 'ka': 0,\n 'kab': 5,\n 'kaj': 3,\n 'kcg': 3,\n 'kde': 0,\n 'kea': 0,\n 'kk': 3,\n 'kl': 3,\n 'km': 0,\n 'kn': 0,\n 'ko': 0,\n 'ksb': 3,\n 'ksh': 21,\n 'ku': 3,\n 'kw': 7,\n 'lag': 18,\n 'lb': 3,\n 'lg': 3,\n 'ln': 4,\n 'lo': 0,\n 'lt': 10,\n 'lv': 6,\n 'mas': 3,\n 'mg': 4,\n 'mk': 16,\n 'ml': 3,\n 'mn': 3,\n 'mo': 9,\n 'mr': 3,\n 'ms': 0,\n 'mt': 15,\n 'my': 0,\n 'nah': 3,\n 'naq': 7,\n 'nb': 3,\n 'nd': 3,\n 'ne': 3,\n 'nl': 3,\n 'nn': 3,\n 'no': 3,\n 'nr': 3,\n 'nso': 4,\n 'ny': 3,\n 'nyn': 3,\n 'om': 3,\n 'or': 3,\n 'pa': 3,\n 'pap': 3,\n 'pl': 13,\n 'ps': 3,\n 'pt': 3,\n 'rm': 3,\n 'ro': 9,\n 'rof': 3,\n 'ru': 11,\n 'rwk': 3,\n 'sah': 0,\n 'saq': 3,\n 'se': 7,\n 'seh': 3,\n 'ses': 0,\n 'sg': 0,\n 'sh': 11,\n 'shi': 19,\n 'sk': 12,\n 'sl': 14,\n 'sma': 7,\n 'smi': 7,\n 'smj': 7,\n 'smn': 7,\n 'sms': 7,\n 'sn': 3,\n 'so': 3,\n 'sq': 3,\n 'sr': 11,\n 'ss': 3,\n 'ssy': 3,\n 'st': 3,\n 'sv': 3,\n 'sw': 3,\n 'syr': 3,\n 'ta': 3,\n 'te': 3,\n 'teo': 3,\n 'th': 0,\n 'ti': 4,\n 'tig': 3,\n 'tk': 3,\n 'tl': 4,\n 'tn': 3,\n 'to': 0,\n 'tr': 0,\n 'ts': 3,\n 'tzm': 22,\n 'uk': 11,\n 'ur': 3,\n 've': 3,\n 'vi': 0,\n 'vun': 3,\n 'wa': 4,\n 'wae': 3,\n 'wo': 0,\n 'xh': 3,\n 'xog': 3,\n 'yo': 0,\n 'zh': 0,\n 'zu': 3\n };\n function isIn(n, list) {\n return list.indexOf(n) !== -1;\n }\n function isBetween(n, start, end) {\n return start <= n && n <= end;\n }\n var pluralRules = {\n '0': function _(n) {\n return 'other';\n },\n '1': function _(n) {\n if (isBetween(n % 100, 3, 10)) return 'few';\n if (n === 0) return 'zero';\n if (isBetween(n % 100, 11, 99)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '2': function _(n) {\n if (n !== 0 && n % 10 === 0) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '3': function _(n) {\n if (n == 1) return 'one';\n return 'other';\n },\n '4': function _(n) {\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '5': function _(n) {\n if (isBetween(n, 0, 2) && n != 2) return 'one';\n return 'other';\n },\n '6': function _(n) {\n if (n === 0) return 'zero';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '7': function _(n) {\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '8': function _(n) {\n if (isBetween(n, 3, 6)) return 'few';\n if (isBetween(n, 7, 10)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '9': function _(n) {\n if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '10': function _(n) {\n if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n return 'other';\n },\n '11': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '12': function _(n) {\n if (isBetween(n, 2, 4)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '13': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '14': function _(n) {\n if (isBetween(n % 100, 3, 4)) return 'few';\n if (n % 100 == 2) return 'two';\n if (n % 100 == 1) return 'one';\n return 'other';\n },\n '15': function _(n) {\n if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n if (isBetween(n % 100, 11, 19)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '16': function _(n) {\n if (n % 10 == 1 && n != 11) return 'one';\n return 'other';\n },\n '17': function _(n) {\n if (n == 3) return 'few';\n if (n === 0) return 'zero';\n if (n == 6) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '18': function _(n) {\n if (n === 0) return 'zero';\n if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n return 'other';\n },\n '19': function _(n) {\n if (isBetween(n, 2, 10)) return 'few';\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '20': function _(n) {\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';\n if (n % 1000000 === 0 && n !== 0) return 'many';\n if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n return 'other';\n },\n '21': function _(n) {\n if (n === 0) return 'zero';\n if (n == 1) return 'one';\n return 'other';\n },\n '22': function _(n) {\n if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n return 'other';\n },\n '23': function _(n) {\n if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n return 'other';\n },\n '24': function _(n) {\n if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n if (isIn(n, [2, 12])) return 'two';\n if (isIn(n, [1, 11])) return 'one';\n return 'other';\n }\n };\n var index = locales2rules[lang.replace(/-.*$/, '')];\n if (!(index in pluralRules)) {\n console.warn('plural form unknown for [' + lang + ']');\n return function () {\n return 'other';\n };\n }\n return pluralRules[index];\n }\n gMacros.plural = function (str, param, key, prop) {\n var n = parseFloat(param);\n if (isNaN(n)) return str;\n if (prop != gTextProp) return str;\n if (!gMacros._pluralRules) {\n gMacros._pluralRules = getPluralRules(gLanguage);\n }\n var index = '[' + gMacros._pluralRules(n) + ']';\n if (n === 0 && key + '[zero]' in gL10nData) {\n str = gL10nData[key + '[zero]'][prop];\n } else if (n == 1 && key + '[one]' in gL10nData) {\n str = gL10nData[key + '[one]'][prop];\n } else if (n == 2 && key + '[two]' in gL10nData) {\n str = gL10nData[key + '[two]'][prop];\n } else if (key + index in gL10nData) {\n str = gL10nData[key + index][prop];\n } else if (key + '[other]' in gL10nData) {\n str = gL10nData[key + '[other]'][prop];\n }\n return str;\n };\n function getL10nData(key, args, fallback) {\n var data = gL10nData[key];\n if (!data) {\n console.warn('#' + key + ' is undefined.');\n if (!fallback) {\n return null;\n }\n data = fallback;\n }\n var rv = {};\n for (var prop in data) {\n var str = data[prop];\n str = substIndexes(str, args, key, prop);\n str = substArguments(str, args, key);\n rv[prop] = str;\n }\n return rv;\n }\n function substIndexes(str, args, key, prop) {\n var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n var reMatch = reIndex.exec(str);\n if (!reMatch || !reMatch.length) return str;\n var macroName = reMatch[1];\n var paramName = reMatch[2];\n var param;\n if (args && paramName in args) {\n param = args[paramName];\n } else if (paramName in gL10nData) {\n param = gL10nData[paramName];\n }\n if (macroName in gMacros) {\n var macro = gMacros[macroName];\n str = macro(str, param, key, prop);\n }\n return str;\n }\n function substArguments(str, args, key) {\n var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n return str.replace(reArgs, function (matched_text, arg) {\n if (args && arg in args) {\n return args[arg];\n }\n if (arg in gL10nData) {\n return gL10nData[arg];\n }\n console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n return matched_text;\n });\n }\n function translateElement(element) {\n var l10n = getL10nAttributes(element);\n if (!l10n.id) return;\n var data = getL10nData(l10n.id, l10n.args);\n if (!data) {\n console.warn('#' + l10n.id + ' is undefined.');\n return;\n }\n if (data[gTextProp]) {\n if (getChildElementCount(element) === 0) {\n element[gTextProp] = data[gTextProp];\n } else {\n var children = element.childNodes;\n var found = false;\n for (var i = 0, l = children.length; i < l; i++) {\n if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n if (found) {\n children[i].nodeValue = '';\n } else {\n children[i].nodeValue = data[gTextProp];\n found = true;\n }\n }\n }\n if (!found) {\n var textNode = document.createTextNode(data[gTextProp]);\n element.insertBefore(textNode, element.firstChild);\n }\n }\n delete data[gTextProp];\n }\n for (var k in data) {\n element[k] = data[k];\n }\n }\n function getChildElementCount(element) {\n if (element.children) {\n return element.children.length;\n }\n if (typeof element.childElementCount !== 'undefined') {\n return element.childElementCount;\n }\n var count = 0;\n for (var i = 0; i < element.childNodes.length; i++) {\n count += element.nodeType === 1 ? 1 : 0;\n }\n return count;\n }\n function translateFragment(element) {\n element = element || document.documentElement;\n var children = getTranslatableChildren(element);\n var elementCount = children.length;\n for (var i = 0; i < elementCount; i++) {\n translateElement(children[i]);\n }\n translateElement(element);\n }\n return {\n get: function get(key, args, fallbackString) {\n var index = key.lastIndexOf('.');\n var prop = gTextProp;\n if (index > 0) {\n prop = key.substr(index + 1);\n key = key.substring(0, index);\n }\n var fallback;\n if (fallbackString) {\n fallback = {};\n fallback[prop] = fallbackString;\n }\n var data = getL10nData(key, args, fallback);\n if (data && prop in data) {\n return data[prop];\n }\n return '{{' + key + '}}';\n },\n getData: function getData() {\n return gL10nData;\n },\n getText: function getText() {\n return gTextData;\n },\n getLanguage: function getLanguage() {\n return gLanguage;\n },\n setLanguage: function setLanguage(lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function getDirection() {\n var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n var shortCode = gLanguage.split('-', 1)[0];\n return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n },\n translate: translateFragment,\n getReadyState: function getReadyState() {\n return gReadyState;\n },\n ready: function ready(callback) {\n if (!callback) {\n return;\n } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n window.setTimeout(function () {\n callback();\n });\n } else if (document.addEventListener) {\n document.addEventListener('localized', function once() {\n document.removeEventListener('localized', once);\n callback();\n });\n }\n }\n };\n }(window, document);\n\n /***/\n }, /* 14 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var pdfjsLib = __w_pdfjs_require__(0);\n var pdfjsWebPDFViewer = __w_pdfjs_require__(12);\n var pdfjsWebPDFPageView = __w_pdfjs_require__(5);\n var pdfjsWebPDFLinkService = __w_pdfjs_require__(3);\n var pdfjsWebTextLayerBuilder = __w_pdfjs_require__(6);\n var pdfjsWebAnnotationLayerBuilder = __w_pdfjs_require__(4);\n var pdfjsWebPDFHistory = __w_pdfjs_require__(11);\n var pdfjsWebPDFFindController = __w_pdfjs_require__(10);\n var pdfjsWebUIUtils = __w_pdfjs_require__(1);\n var pdfjsWebDownloadManager = __w_pdfjs_require__(8);\n var pdfjsWebGenericL10n = __w_pdfjs_require__(9);\n var PDFJS = pdfjsLib.PDFJS;\n PDFJS.PDFViewer = pdfjsWebPDFViewer.PDFViewer;\n PDFJS.PDFPageView = pdfjsWebPDFPageView.PDFPageView;\n PDFJS.PDFLinkService = pdfjsWebPDFLinkService.PDFLinkService;\n PDFJS.TextLayerBuilder = pdfjsWebTextLayerBuilder.TextLayerBuilder;\n PDFJS.DefaultTextLayerFactory = pdfjsWebTextLayerBuilder.DefaultTextLayerFactory;\n PDFJS.AnnotationLayerBuilder = pdfjsWebAnnotationLayerBuilder.AnnotationLayerBuilder;\n PDFJS.DefaultAnnotationLayerFactory = pdfjsWebAnnotationLayerBuilder.DefaultAnnotationLayerFactory;\n PDFJS.PDFHistory = pdfjsWebPDFHistory.PDFHistory;\n PDFJS.PDFFindController = pdfjsWebPDFFindController.PDFFindController;\n PDFJS.EventBus = pdfjsWebUIUtils.EventBus;\n PDFJS.DownloadManager = pdfjsWebDownloadManager.DownloadManager;\n PDFJS.ProgressBar = pdfjsWebUIUtils.ProgressBar;\n PDFJS.GenericL10n = pdfjsWebGenericL10n.GenericL10n;\n PDFJS.NullL10n = pdfjsWebUIUtils.NullL10n;\n exports.PDFJS = PDFJS;\n\n /***/\n }\n /******/])\n );\n});","map":{"version":3,"names":["webpackUniversalModuleDefinition","root","factory","exports","module","define","amd","pdfjsDistWebPdfViewer","modules","installedModules","__w_pdfjs_require__","moduleId","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","getDefault","getModuleExports","object","property","prototype","hasOwnProperty","p","s","pdfjsLib","window","require","localized","animationStarted","normalizeWheelEventDelta","binarySearchFirstItem","watchScroll","scrollIntoView","getOutputScale","approximateFraction","roundToDivide","getVisibleElements","parseQueryString","noContextMenuHandler","getPDFFileNameFromURL","ProgressBar","EventBus","NullL10n","mozL10n","RendererType","cloneObj","VERTICAL_PADDING","SCROLLBAR_PADDING","MAX_AUTO_SCALE","UNKNOWN_SCALE","MAX_SCALE","MIN_SCALE","DEFAULT_SCALE","DEFAULT_SCALE_VALUE","CSS_UNITS","undefined","_createClass","defineProperties","target","props","length","descriptor","writable","key","Constructor","protoProps","staticProps","_pdfjsLib","_classCallCheck","instance","TypeError","CANVAS","SVG","formatL10nValue","text","args","replace","all","fallback","Promise","resolve","translate","element","PDFJS","disableFullscreen","useOnlyCssZoom","maxCanvasPixels","disableHistory","disableTextLayer","ignoreCurrentPositionOnZoom","locale","navigator","language","ctx","devicePixelRatio","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","pixelRatio","sx","sy","scaled","spot","skipOverflowHiddenElements","arguments","parent","offsetParent","console","error","offsetY","offsetTop","clientTop","offsetX","offsetLeft","clientLeft","clientHeight","scrollHeight","getComputedStyle","overflow","dataset","_scaleY","_scaleX","top","left","scrollLeft","scrollTop","viewAreaElement","callback","debounceScroll","evt","rAF","requestAnimationFrame","viewAreaElementScrolled","currentY","lastY","state","down","_eventHandler","addEventListener","query","parts","split","params","create","ii","param","toLowerCase","decodeURIComponent","items","condition","minIndex","maxIndex","currentIndex","currentItem","x","Math","floor","xinv","limit","x_","a","b","q","result","div","r","round","scrollEl","views","sortByVisibility","bottom","right","clientWidth","isElementBottomBelowViewTop","view","elementBottom","visible","currentHeight","viewHeight","hiddenHeight","percentHeight","currentWidth","viewWidth","firstVisibleElementInd","max","push","id","y","percent","first","last","sort","pc","abs","preventDefault","isDataSchema","url","trim","substr","defaultFilename","warn","reURI","reFilename","splitURI","exec","suggestedFilename","indexOf","ex","delta","sqrt","deltaX","deltaY","angle","atan2","PI","MOUSE_DOM_DELTA_PIXEL_MODE","MOUSE_DOM_DELTA_LINE_MODE","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","deltaMode","obj","_listeners","on","eventName","listener","eventListeners","off","splice","dispatch","Array","slice","forEach","apply","clamp","v","min","_ref","height","width","units","document","querySelector","bar","parentNode","style","_updateBar","_indeterminate","classList","add","remove","progressSize","_percent","setWidth","viewer","container","scrollbarWidth","offsetWidth","setAttribute","hide","body","show","set","val","isNaN","getGlobalEventBus","attachDOMEventsToEventBus","_ui_utils","eventBus","event","createEvent","initCustomEvent","dispatchEvent","pageNumber","cssTransform","source","textLayerDiv","initUIEvent","pagesCount","scale","presetValue","location","type","phraseSearch","caseSensitive","highlightAll","findPrevious","attachmentsCount","outerContainer","mode","pdfViewer","action","active","switchInProgress","outlineCount","globalEventBus","SimpleLinkService","PDFLinkService","_typeof","Symbol","iterator","constructor","_dom_events","baseUrl","pdfDocument","pdfHistory","_pagesRefCache","setDocument","setViewer","setHistory","navigateTo","dest","_this","goToDestination","_ref2","namedDest","explicitDest","destRef","_cachedPageNumber","getPageIndex","then","pageIndex","cachePageRef","catch","scrollPageIntoView","destArray","hash","page","reject","getDestination","data","getDestinationHash","getAnchorUrl","escape","str","JSON","stringify","anchor","setHash","updateNextHashParam","nameddest","zoomArgs","zoom","zoomArg","zoomArgNumber","parseFloat","allowNegativeOffset","pagemode","test","unescape","parse","toString","isValidExplicitDestination","executeNamedAction","back","forward","onFileAttachmentAnnotation","_ref3","filename","content","pageNum","pageRef","refStr","num","gen","numPages","currentPageNumber","destLength","allowNull","_ref4","DefaultAnnotationLayerFactory","AnnotationLayerBuilder","_pdf_link_service","pageDiv","pdfPage","linkService","downloadManager","_ref$renderInteractiv","renderInteractiveForms","_ref$l10n","l10n","render","viewport","intent","getAnnotations","annotations","parameters","clone","dontFlip","AnnotationLayer","update","createElement","className","appendChild","createAnnotationLayerBuilder","PDFPageView","_pdf_rendering_queue","options","defaultViewport","renderingId","pageLabel","rotation","pdfPageRotate","hasRestrictedScaling","enhanceTextSelection","renderingQueue","textLayerFactory","annotationLayerFactory","renderer","paintTask","paintedViewportMap","WeakMap","renderingState","RenderingStates","INITIAL","resume","onBeforeDraw","onAfterDraw","annotationLayer","textLayer","zoomLayer","setPdfPage","rotate","totalRotation","getViewport","stats","reset","destroy","cleanup","_resetZoomLayer","removeFromDOM","zoomLayerCanvas","firstChild","delete","keepZoomLayer","keepAnnotations","cancelRendering","childNodes","currentZoomLayerNode","currentAnnotationNode","node","removeChild","removeAttribute","canvas","svg","loadingIconDiv","isScalingRestricted","outputScale","hasAttribute","position","cancel","redrawAnnotations","relativeRotation","absRotation","scaleX","scaleY","CustomStyle","setProp","textLayerViewport","textRelativeRotation","textAbsRotation","transX","transY","getPagePoint","convertToPdfPoint","draw","FINISHED","Error","RUNNING","canvasWrapper","insertBefore","createTextLayerBuilder","renderContinueCallback","cont","isHighestPriority","PAUSED","finishPaintTask","RenderingCancelledException","paintOnSvg","paintOnCanvas","onRenderContinue","resultPromise","promise","readableStream","streamTextContent","normalizeWhitespace","setTextContentStream","reason","renderCapability","createPromiseCapability","renderTask","isCanvasHidden","showCanvas","mozOpaque","getContext","alpha","actualSizeViewport","pixelsInViewport","maxScale","sfx","sfy","transform","renderContext","canvasContext","onContinue","wrapper","_this2","cancelled","ensureNotCancelled","pdfjsNext","getOperatorList","opList","svgGfx","SVGGraphics","commonObjs","objs","getSVG","setPageLabel","label","DefaultTextLayerFactory","TextLayerBuilder","EXPAND_DIVS_TIMEOUT","_ref$findController","findController","_ref$enhanceTextSelec","textContent","textContentItemsStr","textContentStream","renderingDone","pageIdx","matches","textDivs","textLayerRenderTask","_bindMouse","_finishRendering","endOfContent","numTextDivs","timeout","textLayerFrag","createDocumentFragment","renderTextLayer","updateMatches","setTextContent","convertMatches","matchesLength","iIndex","end","queryLen","ret","len","matchIdx","match","begin","divIdx","offset","renderMatches","prevEnd","isSelectedPage","selected","selectedMatchIdx","infinity","beginText","appendTextToDiv","fromOffset","toOffset","substring","createTextNode","span","i0","i1","isSelected","highlightSuffix","updateMatchPosition","n0","n1","clearedUntilDivIdx","pageMatches","pageMatchesLength","expandDivsTimer","expandTextDivs","clearTimeout","adjustTop","getPropertyValue","divBounds","getBoundingClientRect","pageY","toFixed","setTimeout","CLEANUP_TIMEOUT","PDFRenderingQueue","pdfThumbnailViewer","onIdle","highestPriorityPage","idleTimeout","printing","isThumbnailViewEnabled","setThumbnailViewer","renderHighestPriority","currentlyVisiblePages","forceRendering","bind","getHighestPriority","scrolledDown","visibleViews","numVisible","isViewFinished","nextPageIndex","previousPageIndex","renderView","continueRendering","DownloadManager","_download","blobUrl","click","href","download","documentElement","padCharacter","open","downloadUrl","createValidAbsoluteUrl","downloadData","contentType","msSaveBlob","Blob","createObjectURL","disableCreateObjectURL","blob","URL","GenericL10n","webL10n","lang","_lang","_ready","setLanguage","getDirection","PDFFindController","FindState","FOUND","NOT_FOUND","WRAPPED","PENDING","FIND_SCROLL_OFFSET_TOP","FIND_SCROLL_OFFSET_LEFT","FIND_TIMEOUT","CHARACTERS_TO_NORMALIZE","onUpdateResultsCount","onUpdateState","keys","join","normalizationRegex","RegExp","startedTextExtraction","extractTextPromises","pendingFindMatches","pageContents","matchCount","pagesToSearch","resumePageIdx","dirtyMatch","findTimeout","_firstPagePromise","resolveFirstPage","normalize","ch","_prepareMatches","matchesWithLength","isSubTerm","currentElem","nextElem","skipped","prevElem","matchLength","calcFindPhraseMatch","pageContent","calcFindWordMatch","queryArray","subquery","subqueryLen","calcFindMatch","updatePage","nextPageMatch","updateUIResultsCount","extractText","_loop","extractTextCapability","getPageTextContent","textItems","strBuf","j","jj","executeCommand","cmd","_this3","updateUIState","nextMatch","index","getPageView","_this4","previous","currentPageIndex","hadMatch","numPageMatches","updateMatch","advanceOffsetPage","matchesReady","numMatches","wrapped","matchIndex","elements","beginIdx","found","previousPage","PDFHistory","initialized","initialDestination","initialBookmark","initialize","pdfHistoryInitialize","fingerprint","reInitialized","allowHashChange","historyUnlocked","isViewerInPresentationMode","previousHash","currentBookmark","currentPage","updatePreviousBookmark","previousBookmark","nextHashParam","currentUid","uid","current","history","_isStateObjectDefined","_pushOrReplaceState","self","pdfHistoryPopstate","_goTo","previousParams","replacePreviousHistoryState","updateHistoryWithCurrentHash","_pushToHistory","_updatePreviousBookmark","rewriteHistoryAfterBack","removeEventListener","rewriteHistoryAfterForward","pdfHistoryBeforeUnload","_getPreviousParams","replacePrevious","pdfHistoryPageShow","e","clearHistoryState","pdfHistory_clearHistoryState","pdfHistory_isStateObjectDefined","pdfHistory_pushOrReplaceState","stateObj","replaceState","pushState","isHashChangeUnlocked","pdfHistory_updatePreviousBookmark","updateCurrentBookmark","pdfHistoryUpdateCurrentBookmark","bookmark","pdfHistoryUpdateNextHashParam","pdfHistoryPush","isInitialBookmark","pdfHistory_getPreviousParams","onlyCheckPage","beforeUnload","_stateObj","pdfHistory_stateObj","pdfHistory_pushToHistory","addPrevious","overwrite","pdfHistory_goTo","currentHash","pdfHistoryBack","go","pdfHistoryForward","pdfHistoryGo","direction","PDFViewer","PresentationModeState","_annotation_layer_builder","_pdf_page_view","_text_layer_builder","UNKNOWN","NORMAL","CHANGING","FULLSCREEN","DEFAULT_CACHE_SIZE","PDFPageViewBuffer","size","cachePush","shift","resize","newSize","isSameScale","oldScale","newScale","isPortraitOrientation","firstElementChild","removePageBorders","enablePrintAutoRotate","defaultRenderingQueue","scroll","_scrollUpdate","presentationModeState","_resetView","_pages","_setCurrentPageNumber","resetCurrentPageView","_currentPageNumber","_resetCurrentPageView","arg","_pageLabels","_cancelRendering","pagesCapability","pagesPromise","_pageViewsReady","isOnePageRenderedResolved","onePageRenderedCapability","onePageRendered","bindOnAfterAndBeforeDraw","pageView","_buffer","firstPagePromise","getPage","currentScale","disableAutoFetch","getPagesLeft","_pageNum","ref","setPageLabels","labels","_currentScale","_currentScaleValue","_location","_pagesRotation","_pagesRequests","_setScaleDispatchEvent","newValue","preset","_setScaleUpdatePages","noScroll","isInPresentationMode","isChangingPresentationMode","_setScale","hPadding","vPadding","pageWidthScale","pageHeightScale","isLandscape","horizontalScale","widthScale","heightScale","changeOrientation","pageWidth","pageHeight","currentScaleValue","boundingRect","convertToViewportPoint","_updateLocation","firstPage","normalizedScaleValue","pdfOpenParams","currentPageView","topLeft","intLeft","intTop","_getVisiblePages","visiblePages","suggestedCacheSize","currentId","stillFullyVisible","containsElement","contains","focus","_ensurePdfPageLoaded","getTextContent","setFindController","getPagesOverview","pagesOverview","map","isFirstPagePortrait","scrollWidth","firstPageView","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","getL10nResourceLinks","querySelectorAll","getL10nDictionary","script","innerHTML","getTranslatableChildren","getL10nAttributes","l10nId","getAttribute","l10nArgs","fireL10nReadyEvent","evtObject","initEvent","xhrLoadText","onSuccess","onFailure","_onSuccess","_onFailure","xhr","XMLHttpRequest","overrideMimeType","onreadystatechange","readyState","status","responseText","onerror","ontimeout","send","parseResource","successCallback","failureCallback","baseURL","evalString","lastIndexOf","parseProperties","parsedPropertiesCallback","dictionary","reBlank","reComment","reSection","reImport","reSplit","parseRawLines","rawText","extendedSyntax","parsedRawLinesCallback","entries","currentLang","genericLang","skipLang","nextEntry","line","loadImport","tmp","response","prop","loadLocale","_callback","clear","langLinks","langCount","dict","locales","default_locale","log","defaultLocale","anyCaseLang","onResourceLoaded","gResourceCount","L10nResourceLink","link","load","resource","getPluralRules","locales2rules","isIn","list","isBetween","start","pluralRules","_","plural","_pluralRules","getL10nData","rv","substIndexes","substArguments","reIndex","reMatch","macroName","paramName","macro","reArgs","matched_text","translateElement","getChildElementCount","children","nodeType","nodeValue","textNode","k","childElementCount","count","translateFragment","elementCount","fallbackString","getData","getText","getLanguage","rtlList","shortCode","getReadyState","ready","once","pdfjsWebPDFViewer","pdfjsWebPDFPageView","pdfjsWebPDFLinkService","pdfjsWebTextLayerBuilder","pdfjsWebAnnotationLayerBuilder","pdfjsWebPDFHistory","pdfjsWebPDFFindController","pdfjsWebUIUtils","pdfjsWebDownloadManager","pdfjsWebGenericL10n"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/ng2-pdf-viewer/node_modules/pdfjs-dist/web/pdf_viewer.js"],"sourcesContent":["/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = root.pdfjsDistWebPdfViewer = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__w_pdfjs_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 14);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsLib;\nif (typeof window !== 'undefined' && window['pdfjs-dist/build/pdf']) {\n pdfjsLib = window['pdfjs-dist/build/pdf'];\n} else {\n pdfjsLib = require('../build/pdf.js');\n}\nmodule.exports = pdfjsLib;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.localized = exports.animationStarted = exports.normalizeWheelEventDelta = exports.binarySearchFirstItem = exports.watchScroll = exports.scrollIntoView = exports.getOutputScale = exports.approximateFraction = exports.roundToDivide = exports.getVisibleElements = exports.parseQueryString = exports.noContextMenuHandler = exports.getPDFFileNameFromURL = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.mozL10n = exports.RendererType = exports.cloneObj = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = undefined;\n\nvar _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _pdfjsLib = __w_pdfjs_require__(0);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CSS_UNITS = 96.0 / 72.0;\nvar DEFAULT_SCALE_VALUE = 'auto';\nvar DEFAULT_SCALE = 1.0;\nvar MIN_SCALE = 0.25;\nvar MAX_SCALE = 10.0;\nvar UNKNOWN_SCALE = 0;\nvar MAX_AUTO_SCALE = 1.25;\nvar SCROLLBAR_PADDING = 40;\nvar VERTICAL_PADDING = 5;\nvar RendererType = {\n CANVAS: 'canvas',\n SVG: 'svg'\n};\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, function (all, name) {\n return name in args ? args[name] : '{{' + name + '}}';\n });\n}\nvar NullL10n = {\n get: function get(property, args, fallback) {\n return Promise.resolve(formatL10nValue(fallback, args));\n },\n translate: function translate(element) {\n return Promise.resolve();\n }\n};\n_pdfjsLib.PDFJS.disableFullscreen = _pdfjsLib.PDFJS.disableFullscreen === undefined ? false : _pdfjsLib.PDFJS.disableFullscreen;\n_pdfjsLib.PDFJS.useOnlyCssZoom = _pdfjsLib.PDFJS.useOnlyCssZoom === undefined ? false : _pdfjsLib.PDFJS.useOnlyCssZoom;\n_pdfjsLib.PDFJS.maxCanvasPixels = _pdfjsLib.PDFJS.maxCanvasPixels === undefined ? 16777216 : _pdfjsLib.PDFJS.maxCanvasPixels;\n_pdfjsLib.PDFJS.disableHistory = _pdfjsLib.PDFJS.disableHistory === undefined ? false : _pdfjsLib.PDFJS.disableHistory;\n_pdfjsLib.PDFJS.disableTextLayer = _pdfjsLib.PDFJS.disableTextLayer === undefined ? false : _pdfjsLib.PDFJS.disableTextLayer;\n_pdfjsLib.PDFJS.ignoreCurrentPositionOnZoom = _pdfjsLib.PDFJS.ignoreCurrentPositionOnZoom === undefined ? false : _pdfjsLib.PDFJS.ignoreCurrentPositionOnZoom;\n{\n _pdfjsLib.PDFJS.locale = _pdfjsLib.PDFJS.locale === undefined && typeof navigator !== 'undefined' ? navigator.language : _pdfjsLib.PDFJS.locale;\n}\nfunction getOutputScale(ctx) {\n var devicePixelRatio = window.devicePixelRatio || 1;\n var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n var pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n}\nfunction scrollIntoView(element, spot) {\n var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var parent = element.offsetParent;\n if (!parent) {\n console.error('offsetParent is not set -- cannot scroll');\n return;\n }\n var offsetY = element.offsetTop + element.clientTop;\n var offsetX = element.offsetLeft + element.clientLeft;\n while (parent.clientHeight === parent.scrollHeight || skipOverflowHiddenElements && getComputedStyle(parent).overflow === 'hidden') {\n if (parent.dataset._scaleY) {\n offsetY /= parent.dataset._scaleY;\n offsetX /= parent.dataset._scaleX;\n }\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n if (!parent) {\n return;\n }\n }\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n parent.scrollTop = offsetY;\n}\nfunction watchScroll(viewAreaElement, callback) {\n var debounceScroll = function debounceScroll(evt) {\n if (rAF) {\n return;\n }\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n var currentY = viewAreaElement.scrollTop;\n var lastY = state.lastY;\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n state.lastY = currentY;\n callback(state);\n });\n };\n var state = {\n down: true,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n var rAF = null;\n viewAreaElement.addEventListener('scroll', debounceScroll, true);\n return state;\n}\nfunction parseQueryString(query) {\n var parts = query.split('&');\n var params = Object.create(null);\n for (var i = 0, ii = parts.length; i < ii; ++i) {\n var param = parts[i].split('=');\n var key = param[0].toLowerCase();\n var value = param.length > 1 ? param[1] : null;\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n return params;\n}\nfunction binarySearchFirstItem(items, condition) {\n var minIndex = 0;\n var maxIndex = items.length - 1;\n if (items.length === 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n if (condition(items[minIndex])) {\n return minIndex;\n }\n while (minIndex < maxIndex) {\n var currentIndex = minIndex + maxIndex >> 1;\n var currentItem = items[currentIndex];\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n return minIndex;\n}\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n var xinv = 1 / x;\n var limit = 8;\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n var x_ = x > 1 ? xinv : x;\n var a = 0,\n b = 1,\n c = 1,\n d = 1;\n while (true) {\n var p = a + c,\n q = b + d;\n if (q > limit) {\n break;\n }\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n var result = void 0;\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n return result;\n}\nfunction roundToDivide(x, div) {\n var r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\nfunction getVisibleElements(scrollEl, views) {\n var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n var left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n function isElementBottomBelowViewTop(view) {\n var element = view.div;\n var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n var visible = [],\n view = void 0,\n element = void 0;\n var currentHeight = void 0,\n viewHeight = void 0,\n hiddenHeight = void 0,\n percentHeight = void 0;\n var currentWidth = void 0,\n viewWidth = void 0;\n var firstVisibleElementInd = views.length === 0 ? 0 : binarySearchFirstItem(views, isElementBottomBelowViewTop);\n for (var i = firstVisibleElementInd, ii = views.length; i < ii; i++) {\n view = views[i];\n element = view.div;\n currentHeight = element.offsetTop + element.clientTop;\n viewHeight = element.clientHeight;\n if (currentHeight > bottom) {\n break;\n }\n currentWidth = element.offsetLeft + element.clientLeft;\n viewWidth = element.clientWidth;\n if (currentWidth + viewWidth < left || currentWidth > right) {\n continue;\n }\n hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, currentHeight + viewHeight - bottom);\n percentHeight = (viewHeight - hiddenHeight) * 100 / viewHeight | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view: view,\n percent: percentHeight\n });\n }\n var first = visible[0];\n var last = visible[visible.length - 1];\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n var pc = a.percent - b.percent;\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n return a.id - b.id;\n });\n }\n return {\n first: first,\n last: last,\n views: visible\n };\n}\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\nfunction isDataSchema(url) {\n var i = 0,\n ii = url.length;\n while (i < ii && url[i].trim() === '') {\n i++;\n }\n return url.substr(i, 5).toLowerCase() === 'data:';\n}\nfunction getPDFFileNameFromURL(url) {\n var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'document.pdf';\n\n if (isDataSchema(url)) {\n console.warn('getPDFFileNameFromURL: ' + 'ignoring \"data:\" URL for performance reasons.');\n return defaultFilename;\n }\n var reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n var reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n var splitURI = reURI.exec(url);\n var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n if (suggestedFilename.indexOf('%') !== -1) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n return suggestedFilename || defaultFilename;\n}\nfunction normalizeWheelEventDelta(evt) {\n var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n var angle = Math.atan2(evt.deltaY, evt.deltaX);\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n var MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n var MOUSE_DOM_DELTA_LINE_MODE = 1;\n var MOUSE_PIXELS_PER_LINE = 30;\n var MOUSE_LINES_PER_PAGE = 30;\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n return delta;\n}\nfunction cloneObj(obj) {\n var result = Object.create(null);\n for (var i in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, i)) {\n result[i] = obj[i];\n }\n }\n return result;\n}\nvar animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nvar mozL10n = void 0;\nvar localized = Promise.resolve();\n\nvar EventBus = function () {\n function EventBus() {\n _classCallCheck(this, EventBus);\n\n this._listeners = Object.create(null);\n }\n\n _createClass(EventBus, [{\n key: 'on',\n value: function on(eventName, listener) {\n var eventListeners = this._listeners[eventName];\n if (!eventListeners) {\n eventListeners = [];\n this._listeners[eventName] = eventListeners;\n }\n eventListeners.push(listener);\n }\n }, {\n key: 'off',\n value: function off(eventName, listener) {\n var eventListeners = this._listeners[eventName];\n var i = void 0;\n if (!eventListeners || (i = eventListeners.indexOf(listener)) < 0) {\n return;\n }\n eventListeners.splice(i, 1);\n }\n }, {\n key: 'dispatch',\n value: function dispatch(eventName) {\n var eventListeners = this._listeners[eventName];\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n var args = Array.prototype.slice.call(arguments, 1);\n eventListeners.slice(0).forEach(function (listener) {\n listener.apply(null, args);\n });\n }\n }]);\n\n return EventBus;\n}();\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nvar ProgressBar = function () {\n function ProgressBar(id) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n height = _ref.height,\n width = _ref.width,\n units = _ref.units;\n\n _classCallCheck(this, ProgressBar);\n\n this.visible = true;\n this.div = document.querySelector(id + ' .progress');\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || '%';\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n\n _createClass(ProgressBar, [{\n key: '_updateBar',\n value: function _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add('indeterminate');\n this.div.style.width = this.width + this.units;\n return;\n }\n this.div.classList.remove('indeterminate');\n var progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n }, {\n key: 'setWidth',\n value: function setWidth(viewer) {\n if (!viewer) {\n return;\n }\n var container = viewer.parentNode;\n var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n if (scrollbarWidth > 0) {\n this.bar.setAttribute('style', 'width: calc(100% - ' + scrollbarWidth + 'px);');\n }\n }\n }, {\n key: 'hide',\n value: function hide() {\n if (!this.visible) {\n return;\n }\n this.visible = false;\n this.bar.classList.add('hidden');\n document.body.classList.remove('loadingInProgress');\n }\n }, {\n key: 'show',\n value: function show() {\n if (this.visible) {\n return;\n }\n this.visible = true;\n document.body.classList.add('loadingInProgress');\n this.bar.classList.remove('hidden');\n }\n }, {\n key: 'percent',\n get: function get() {\n return this._percent;\n },\n set: function set(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n this._updateBar();\n }\n }]);\n\n return ProgressBar;\n}();\n\nexports.CSS_UNITS = CSS_UNITS;\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nexports.MIN_SCALE = MIN_SCALE;\nexports.MAX_SCALE = MAX_SCALE;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nexports.cloneObj = cloneObj;\nexports.RendererType = RendererType;\nexports.mozL10n = mozL10n;\nexports.NullL10n = NullL10n;\nexports.EventBus = EventBus;\nexports.ProgressBar = ProgressBar;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.parseQueryString = parseQueryString;\nexports.getVisibleElements = getVisibleElements;\nexports.roundToDivide = roundToDivide;\nexports.approximateFraction = approximateFraction;\nexports.getOutputScale = getOutputScale;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.animationStarted = animationStarted;\nexports.localized = localized;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getGlobalEventBus = exports.attachDOMEventsToEventBus = undefined;\n\nvar _ui_utils = __w_pdfjs_require__(1);\n\nfunction attachDOMEventsToEventBus(eventBus) {\n eventBus.on('documentload', function () {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('documentload', true, true, {});\n window.dispatchEvent(event);\n });\n eventBus.on('pagerendered', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagerendered', true, true, {\n pageNumber: evt.pageNumber,\n cssTransform: evt.cssTransform\n });\n evt.source.div.dispatchEvent(event);\n });\n eventBus.on('textlayerrendered', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('textlayerrendered', true, true, { pageNumber: evt.pageNumber });\n evt.source.textLayerDiv.dispatchEvent(event);\n });\n eventBus.on('pagechange', function (evt) {\n var event = document.createEvent('UIEvents');\n event.initUIEvent('pagechange', true, true, window, 0);\n event.pageNumber = evt.pageNumber;\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('pagesinit', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagesinit', true, true, null);\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('pagesloaded', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagesloaded', true, true, { pagesCount: evt.pagesCount });\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('scalechange', function (evt) {\n var event = document.createEvent('UIEvents');\n event.initUIEvent('scalechange', true, true, window, 0);\n event.scale = evt.scale;\n event.presetValue = evt.presetValue;\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('updateviewarea', function (evt) {\n var event = document.createEvent('UIEvents');\n event.initUIEvent('updateviewarea', true, true, window, 0);\n event.location = evt.location;\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('find', function (evt) {\n if (evt.source === window) {\n return;\n }\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('find' + evt.type, true, true, {\n query: evt.query,\n phraseSearch: evt.phraseSearch,\n caseSensitive: evt.caseSensitive,\n highlightAll: evt.highlightAll,\n findPrevious: evt.findPrevious\n });\n window.dispatchEvent(event);\n });\n eventBus.on('attachmentsloaded', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('attachmentsloaded', true, true, { attachmentsCount: evt.attachmentsCount });\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('sidebarviewchanged', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('sidebarviewchanged', true, true, { view: evt.view });\n evt.source.outerContainer.dispatchEvent(event);\n });\n eventBus.on('pagemode', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagemode', true, true, { mode: evt.mode });\n evt.source.pdfViewer.container.dispatchEvent(event);\n });\n eventBus.on('namedaction', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('namedaction', true, true, { action: evt.action });\n evt.source.pdfViewer.container.dispatchEvent(event);\n });\n eventBus.on('presentationmodechanged', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('presentationmodechanged', true, true, {\n active: evt.active,\n switchInProgress: evt.switchInProgress\n });\n window.dispatchEvent(event);\n });\n eventBus.on('outlineloaded', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('outlineloaded', true, true, { outlineCount: evt.outlineCount });\n evt.source.container.dispatchEvent(event);\n });\n}\nvar globalEventBus = null;\nfunction getGlobalEventBus() {\n if (globalEventBus) {\n return globalEventBus;\n }\n globalEventBus = new _ui_utils.EventBus();\n attachDOMEventsToEventBus(globalEventBus);\n return globalEventBus;\n}\nexports.attachDOMEventsToEventBus = attachDOMEventsToEventBus;\nexports.getGlobalEventBus = getGlobalEventBus;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleLinkService = exports.PDFLinkService = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dom_events = __w_pdfjs_require__(2);\n\nvar _ui_utils = __w_pdfjs_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PDFLinkService = function () {\n function PDFLinkService() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFLinkService);\n\n this.eventBus = eventBus || (0, _dom_events.getGlobalEventBus)();\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n\n _createClass(PDFLinkService, [{\n key: 'setDocument',\n value: function setDocument(pdfDocument, baseUrl) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n }, {\n key: 'setViewer',\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: 'setHistory',\n value: function setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n }, {\n key: 'navigateTo',\n value: function navigateTo(dest) {\n var _this = this;\n\n var goToDestination = function goToDestination(_ref2) {\n var namedDest = _ref2.namedDest,\n explicitDest = _ref2.explicitDest;\n\n var destRef = explicitDest[0],\n pageNumber = void 0;\n if (destRef instanceof Object) {\n pageNumber = _this._cachedPageNumber(destRef);\n if (pageNumber === null) {\n _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {\n _this.cachePageRef(pageIndex + 1, destRef);\n goToDestination({\n namedDest: namedDest,\n explicitDest: explicitDest\n });\n }).catch(function () {\n console.error('PDFLinkService.navigateTo: \"' + destRef + '\" is not ' + ('a valid page reference, for dest=\"' + dest + '\".'));\n });\n return;\n }\n } else if ((destRef | 0) === destRef) {\n pageNumber = destRef + 1;\n } else {\n console.error('PDFLinkService.navigateTo: \"' + destRef + '\" is not ' + ('a valid destination reference, for dest=\"' + dest + '\".'));\n return;\n }\n if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {\n console.error('PDFLinkService.navigateTo: \"' + pageNumber + '\" is not ' + ('a valid page number, for dest=\"' + dest + '\".'));\n return;\n }\n _this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber,\n destArray: explicitDest\n });\n if (_this.pdfHistory) {\n _this.pdfHistory.push({\n dest: explicitDest,\n hash: namedDest,\n page: pageNumber\n });\n }\n };\n new Promise(function (resolve, reject) {\n if (typeof dest === 'string') {\n _this.pdfDocument.getDestination(dest).then(function (destArray) {\n resolve({\n namedDest: dest,\n explicitDest: destArray\n });\n });\n return;\n }\n resolve({\n namedDest: '',\n explicitDest: dest\n });\n }).then(function (data) {\n if (!(data.explicitDest instanceof Array)) {\n console.error('PDFLinkService.navigateTo: \"' + data.explicitDest + '\" is' + (' not a valid destination array, for dest=\"' + dest + '\".'));\n return;\n }\n goToDestination(data);\n });\n }\n }, {\n key: 'getDestinationHash',\n value: function getDestinationHash(dest) {\n if (typeof dest === 'string') {\n return this.getAnchorUrl('#' + escape(dest));\n }\n if (dest instanceof Array) {\n var str = JSON.stringify(dest);\n return this.getAnchorUrl('#' + escape(str));\n }\n return this.getAnchorUrl('');\n }\n }, {\n key: 'getAnchorUrl',\n value: function getAnchorUrl(anchor) {\n return (this.baseUrl || '') + anchor;\n }\n }, {\n key: 'setHash',\n value: function setHash(hash) {\n var pageNumber = void 0,\n dest = void 0;\n if (hash.indexOf('=') >= 0) {\n var params = (0, _ui_utils.parseQueryString)(hash);\n if ('search' in params) {\n this.eventBus.dispatch('findfromurlhash', {\n source: this,\n query: params['search'].replace(/\"/g, ''),\n phraseSearch: params['phrase'] === 'true'\n });\n }\n if ('nameddest' in params) {\n if (this.pdfHistory) {\n this.pdfHistory.updateNextHashParam(params.nameddest);\n }\n this.navigateTo(params.nameddest);\n return;\n }\n if ('page' in params) {\n pageNumber = params.page | 0 || 1;\n }\n if ('zoom' in params) {\n var zoomArgs = params.zoom.split(',');\n var zoomArg = zoomArgs[0];\n var zoomArgNumber = parseFloat(zoomArg);\n if (zoomArg.indexOf('Fit') === -1) {\n dest = [null, { name: 'XYZ' }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === 'Fit' || zoomArg === 'FitB') {\n dest = [null, { name: zoomArg }];\n } else if (zoomArg === 'FitH' || zoomArg === 'FitBH' || zoomArg === 'FitV' || zoomArg === 'FitBV') {\n dest = [null, { name: zoomArg }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === 'FitR') {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, { name: zoomArg }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error('PDFLinkService.setHash: \"' + zoomArg + '\" is not ' + 'a valid zoom value.');\n }\n }\n }\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n if ('pagemode' in params) {\n this.eventBus.dispatch('pagemode', {\n source: this,\n mode: params.pagemode\n });\n }\n } else {\n if (/^\\d+$/.test(hash) && hash <= this.pagesCount) {\n console.warn('PDFLinkService_setHash: specifying a page number ' + 'directly after the hash symbol (#) is deprecated, ' + ('please use the \"#page=' + hash + '\" form instead.'));\n this.page = hash | 0;\n }\n dest = unescape(hash);\n try {\n dest = JSON.parse(dest);\n if (!(dest instanceof Array)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n if (typeof dest === 'string' || isValidExplicitDestination(dest)) {\n if (this.pdfHistory) {\n this.pdfHistory.updateNextHashParam(dest);\n }\n this.navigateTo(dest);\n return;\n }\n console.error('PDFLinkService.setHash: \"' + unescape(hash) + '\" is not ' + 'a valid destination.');\n }\n }\n }, {\n key: 'executeNamedAction',\n value: function executeNamedAction(action) {\n switch (action) {\n case 'GoBack':\n if (this.pdfHistory) {\n this.pdfHistory.back();\n }\n break;\n case 'GoForward':\n if (this.pdfHistory) {\n this.pdfHistory.forward();\n }\n break;\n case 'NextPage':\n if (this.page < this.pagesCount) {\n this.page++;\n }\n break;\n case 'PrevPage':\n if (this.page > 1) {\n this.page--;\n }\n break;\n case 'LastPage':\n this.page = this.pagesCount;\n break;\n case 'FirstPage':\n this.page = 1;\n break;\n default:\n break;\n }\n this.eventBus.dispatch('namedaction', {\n source: this,\n action: action\n });\n }\n }, {\n key: 'onFileAttachmentAnnotation',\n value: function onFileAttachmentAnnotation(_ref3) {\n var id = _ref3.id,\n filename = _ref3.filename,\n content = _ref3.content;\n\n this.eventBus.dispatch('fileattachmentannotation', {\n source: this,\n id: id,\n filename: filename,\n content: content\n });\n }\n }, {\n key: 'cachePageRef',\n value: function cachePageRef(pageNum, pageRef) {\n var refStr = pageRef.num + ' ' + pageRef.gen + ' R';\n this._pagesRefCache[refStr] = pageNum;\n }\n }, {\n key: '_cachedPageNumber',\n value: function _cachedPageNumber(pageRef) {\n var refStr = pageRef.num + ' ' + pageRef.gen + ' R';\n return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n }\n }, {\n key: 'pagesCount',\n get: function get() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n }, {\n key: 'page',\n get: function get() {\n return this.pdfViewer.currentPageNumber;\n },\n set: function set(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n }]);\n\n return PDFLinkService;\n}();\n\nfunction isValidExplicitDestination(dest) {\n if (!(dest instanceof Array)) {\n return false;\n }\n var destLength = dest.length,\n allowNull = true;\n if (destLength < 2) {\n return false;\n }\n var page = dest[0];\n if (!((typeof page === 'undefined' ? 'undefined' : _typeof(page)) === 'object' && typeof page.num === 'number' && (page.num | 0) === page.num && typeof page.gen === 'number' && (page.gen | 0) === page.gen) && !(typeof page === 'number' && (page | 0) === page && page >= 0)) {\n return false;\n }\n var zoom = dest[1];\n if (!((typeof zoom === 'undefined' ? 'undefined' : _typeof(zoom)) === 'object' && typeof zoom.name === 'string')) {\n return false;\n }\n switch (zoom.name) {\n case 'XYZ':\n if (destLength !== 5) {\n return false;\n }\n break;\n case 'Fit':\n case 'FitB':\n return destLength === 2;\n case 'FitH':\n case 'FitBH':\n case 'FitV':\n case 'FitBV':\n if (destLength !== 3) {\n return false;\n }\n break;\n case 'FitR':\n if (destLength !== 6) {\n return false;\n }\n allowNull = false;\n break;\n default:\n return false;\n }\n for (var i = 2; i < destLength; i++) {\n var param = dest[i];\n if (!(typeof param === 'number' || allowNull && param === null)) {\n return false;\n }\n }\n return true;\n}\n\nvar SimpleLinkService = function () {\n function SimpleLinkService() {\n _classCallCheck(this, SimpleLinkService);\n }\n\n _createClass(SimpleLinkService, [{\n key: 'navigateTo',\n value: function navigateTo(dest) {}\n }, {\n key: 'getDestinationHash',\n value: function getDestinationHash(dest) {\n return '#';\n }\n }, {\n key: 'getAnchorUrl',\n value: function getAnchorUrl(hash) {\n return '#';\n }\n }, {\n key: 'setHash',\n value: function setHash(hash) {}\n }, {\n key: 'executeNamedAction',\n value: function executeNamedAction(action) {}\n }, {\n key: 'onFileAttachmentAnnotation',\n value: function onFileAttachmentAnnotation(_ref4) {\n var id = _ref4.id,\n filename = _ref4.filename,\n content = _ref4.content;\n }\n }, {\n key: 'cachePageRef',\n value: function cachePageRef(pageNum, pageRef) {}\n }, {\n key: 'page',\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }]);\n\n return SimpleLinkService;\n}();\n\nexports.PDFLinkService = PDFLinkService;\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = undefined;\n\nvar _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _pdfjsLib = __w_pdfjs_require__(0);\n\nvar _ui_utils = __w_pdfjs_require__(1);\n\nvar _pdf_link_service = __w_pdfjs_require__(3);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar AnnotationLayerBuilder = function () {\n function AnnotationLayerBuilder(_ref) {\n var pageDiv = _ref.pageDiv,\n pdfPage = _ref.pdfPage,\n linkService = _ref.linkService,\n downloadManager = _ref.downloadManager,\n _ref$renderInteractiv = _ref.renderInteractiveForms,\n renderInteractiveForms = _ref$renderInteractiv === undefined ? false : _ref$renderInteractiv,\n _ref$l10n = _ref.l10n,\n l10n = _ref$l10n === undefined ? _ui_utils.NullL10n : _ref$l10n;\n\n _classCallCheck(this, AnnotationLayerBuilder);\n\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.renderInteractiveForms = renderInteractiveForms;\n this.l10n = l10n;\n this.div = null;\n }\n\n _createClass(AnnotationLayerBuilder, [{\n key: 'render',\n value: function render(viewport) {\n var _this = this;\n\n var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'display';\n\n this.pdfPage.getAnnotations({ intent: intent }).then(function (annotations) {\n var parameters = {\n viewport: viewport.clone({ dontFlip: true }),\n div: _this.div,\n annotations: annotations,\n page: _this.pdfPage,\n renderInteractiveForms: _this.renderInteractiveForms,\n linkService: _this.linkService,\n downloadManager: _this.downloadManager\n };\n if (_this.div) {\n _pdfjsLib.AnnotationLayer.update(parameters);\n } else {\n if (annotations.length === 0) {\n return;\n }\n _this.div = document.createElement('div');\n _this.div.className = 'annotationLayer';\n _this.pageDiv.appendChild(_this.div);\n parameters.div = _this.div;\n _pdfjsLib.AnnotationLayer.render(parameters);\n _this.l10n.translate(_this.div);\n }\n });\n }\n }, {\n key: 'hide',\n value: function hide() {\n if (!this.div) {\n return;\n }\n this.div.setAttribute('hidden', 'true');\n }\n }]);\n\n return AnnotationLayerBuilder;\n}();\n\nvar DefaultAnnotationLayerFactory = function () {\n function DefaultAnnotationLayerFactory() {\n _classCallCheck(this, DefaultAnnotationLayerFactory);\n }\n\n _createClass(DefaultAnnotationLayerFactory, [{\n key: 'createAnnotationLayerBuilder',\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var renderInteractiveForms = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var l10n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _ui_utils.NullL10n;\n\n return new AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n renderInteractiveForms: renderInteractiveForms,\n linkService: new _pdf_link_service.SimpleLinkService(),\n l10n: l10n\n });\n }\n }]);\n\n return DefaultAnnotationLayerFactory;\n}();\n\nexports.AnnotationLayerBuilder = AnnotationLayerBuilder;\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFPageView = undefined;\n\nvar _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _ui_utils = __w_pdfjs_require__(1);\n\nvar _pdfjsLib = __w_pdfjs_require__(0);\n\nvar _dom_events = __w_pdfjs_require__(2);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(7);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PDFPageView = function () {\n function PDFPageView(options) {\n _classCallCheck(this, PDFPageView);\n\n var container = options.container;\n var defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = 'page' + this.id;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this.hasRestrictedScaling = false;\n this.enhanceTextSelection = options.enhanceTextSelection || false;\n this.renderInteractiveForms = options.renderInteractiveForms || false;\n this.eventBus = options.eventBus || (0, _dom_events.getGlobalEventBus)();\n this.renderingQueue = options.renderingQueue;\n this.textLayerFactory = options.textLayerFactory;\n this.annotationLayerFactory = options.annotationLayerFactory;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.paintTask = null;\n this.paintedViewportMap = new WeakMap();\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n this.resume = null;\n this.error = null;\n this.onBeforeDraw = null;\n this.onAfterDraw = null;\n this.annotationLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n var div = document.createElement('div');\n div.className = 'page';\n div.style.width = Math.floor(this.viewport.width) + 'px';\n div.style.height = Math.floor(this.viewport.height) + 'px';\n div.setAttribute('data-page-number', this.id);\n this.div = div;\n container.appendChild(div);\n }\n\n _createClass(PDFPageView, [{\n key: 'setPdfPage',\n value: function setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport(this.scale * _ui_utils.CSS_UNITS, totalRotation);\n this.stats = pdfPage.stats;\n this.reset();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.reset();\n if (this.pdfPage) {\n this.pdfPage.cleanup();\n this.pdfPage = null;\n }\n }\n }, {\n key: '_resetZoomLayer',\n value: function _resetZoomLayer() {\n var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.zoomLayer) {\n return;\n }\n var zoomLayerCanvas = this.zoomLayer.firstChild;\n this.paintedViewportMap.delete(zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n this.zoomLayer = null;\n }\n }, {\n key: 'reset',\n value: function reset() {\n var keepZoomLayer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var keepAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n this.cancelRendering();\n var div = this.div;\n div.style.width = Math.floor(this.viewport.width) + 'px';\n div.style.height = Math.floor(this.viewport.height) + 'px';\n var childNodes = div.childNodes;\n var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;\n var currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || null;\n for (var i = childNodes.length - 1; i >= 0; i--) {\n var node = childNodes[i];\n if (currentZoomLayerNode === node || currentAnnotationNode === node) {\n continue;\n }\n div.removeChild(node);\n }\n div.removeAttribute('data-loaded');\n if (currentAnnotationNode) {\n this.annotationLayer.hide();\n } else {\n this.annotationLayer = null;\n }\n if (!currentZoomLayerNode) {\n if (this.canvas) {\n this.paintedViewportMap.delete(this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n this._resetZoomLayer();\n }\n if (this.svg) {\n this.paintedViewportMap.delete(this.svg);\n delete this.svg;\n }\n this.loadingIconDiv = document.createElement('div');\n this.loadingIconDiv.className = 'loadingIcon';\n div.appendChild(this.loadingIconDiv);\n }\n }, {\n key: 'update',\n value: function update(scale, rotation) {\n this.scale = scale || this.scale;\n if (typeof rotation !== 'undefined') {\n this.rotation = rotation;\n }\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n if (this.svg) {\n this.cssTransform(this.svg, true);\n this.eventBus.dispatch('pagerendered', {\n source: this,\n pageNumber: this.id,\n cssTransform: true\n });\n return;\n }\n var isScalingRestricted = false;\n if (this.canvas && _pdfjsLib.PDFJS.maxCanvasPixels > 0) {\n var outputScale = this.outputScale;\n if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > _pdfjsLib.PDFJS.maxCanvasPixels) {\n isScalingRestricted = true;\n }\n }\n if (this.canvas) {\n if (_pdfjsLib.PDFJS.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {\n this.cssTransform(this.canvas, true);\n this.eventBus.dispatch('pagerendered', {\n source: this,\n pageNumber: this.id,\n cssTransform: true\n });\n return;\n }\n if (!this.zoomLayer && !this.canvas.hasAttribute('hidden')) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = 'absolute';\n }\n }\n if (this.zoomLayer) {\n this.cssTransform(this.zoomLayer.firstChild);\n }\n this.reset(true, true);\n }\n }, {\n key: 'cancelRendering',\n value: function cancelRendering() {\n if (this.paintTask) {\n this.paintTask.cancel();\n this.paintTask = null;\n }\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n this.resume = null;\n if (this.textLayer) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n }\n }, {\n key: 'cssTransform',\n value: function cssTransform(target) {\n var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var width = this.viewport.width;\n var height = this.viewport.height;\n var div = this.div;\n target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + 'px';\n target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + 'px';\n var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n var absRotation = Math.abs(relativeRotation);\n var scaleX = 1,\n scaleY = 1;\n if (absRotation === 90 || absRotation === 270) {\n scaleX = height / width;\n scaleY = width / height;\n }\n var cssTransform = 'rotate(' + relativeRotation + 'deg) ' + 'scale(' + scaleX + ',' + scaleY + ')';\n _pdfjsLib.CustomStyle.setProp('transform', target, cssTransform);\n if (this.textLayer) {\n var textLayerViewport = this.textLayer.viewport;\n var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;\n var textAbsRotation = Math.abs(textRelativeRotation);\n var scale = width / textLayerViewport.width;\n if (textAbsRotation === 90 || textAbsRotation === 270) {\n scale = width / textLayerViewport.height;\n }\n var textLayerDiv = this.textLayer.textLayerDiv;\n var transX = void 0,\n transY = void 0;\n switch (textAbsRotation) {\n case 0:\n transX = transY = 0;\n break;\n case 90:\n transX = 0;\n transY = '-' + textLayerDiv.style.height;\n break;\n case 180:\n transX = '-' + textLayerDiv.style.width;\n transY = '-' + textLayerDiv.style.height;\n break;\n case 270:\n transX = '-' + textLayerDiv.style.width;\n transY = 0;\n break;\n default:\n console.error('Bad rotation value.');\n break;\n }\n _pdfjsLib.CustomStyle.setProp('transform', textLayerDiv, 'rotate(' + textAbsRotation + 'deg) ' + 'scale(' + scale + ', ' + scale + ') ' + 'translate(' + transX + ', ' + transY + ')');\n _pdfjsLib.CustomStyle.setProp('transformOrigin', textLayerDiv, '0% 0%');\n }\n if (redrawAnnotations && this.annotationLayer) {\n this.annotationLayer.render(this.viewport, 'display');\n }\n }\n }, {\n key: 'getPagePoint',\n value: function getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n }, {\n key: 'draw',\n value: function draw() {\n var _this = this;\n\n if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {\n console.error('Must be in new state before drawing');\n this.reset();\n }\n if (!this.pdfPage) {\n this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n return Promise.reject(new Error('Page is not loaded'));\n }\n this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n var pdfPage = this.pdfPage;\n var div = this.div;\n var canvasWrapper = document.createElement('div');\n canvasWrapper.style.width = div.style.width;\n canvasWrapper.style.height = div.style.height;\n canvasWrapper.classList.add('canvasWrapper');\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(canvasWrapper, this.annotationLayer.div);\n } else {\n div.appendChild(canvasWrapper);\n }\n var textLayer = null;\n if (this.textLayerFactory) {\n var textLayerDiv = document.createElement('div');\n textLayerDiv.className = 'textLayer';\n textLayerDiv.style.width = canvasWrapper.style.width;\n textLayerDiv.style.height = canvasWrapper.style.height;\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(textLayerDiv, this.annotationLayer.div);\n } else {\n div.appendChild(textLayerDiv);\n }\n textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.enhanceTextSelection);\n }\n this.textLayer = textLayer;\n var renderContinueCallback = null;\n if (this.renderingQueue) {\n renderContinueCallback = function renderContinueCallback(cont) {\n if (!_this.renderingQueue.isHighestPriority(_this)) {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;\n _this.resume = function () {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n cont();\n };\n return;\n }\n cont();\n };\n }\n var finishPaintTask = function finishPaintTask(error) {\n if (paintTask === _this.paintTask) {\n _this.paintTask = null;\n }\n if (error === 'cancelled' || error instanceof _pdfjsLib.RenderingCancelledException) {\n _this.error = null;\n return Promise.resolve(undefined);\n }\n _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n if (_this.loadingIconDiv) {\n div.removeChild(_this.loadingIconDiv);\n delete _this.loadingIconDiv;\n }\n _this._resetZoomLayer(true);\n _this.error = error;\n _this.stats = pdfPage.stats;\n if (_this.onAfterDraw) {\n _this.onAfterDraw();\n }\n _this.eventBus.dispatch('pagerendered', {\n source: _this,\n pageNumber: _this.id,\n cssTransform: false\n });\n if (error) {\n return Promise.reject(error);\n }\n return Promise.resolve(undefined);\n };\n var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);\n paintTask.onRenderContinue = renderContinueCallback;\n this.paintTask = paintTask;\n var resultPromise = paintTask.promise.then(function () {\n return finishPaintTask(null).then(function () {\n if (textLayer) {\n var readableStream = pdfPage.streamTextContent({ normalizeWhitespace: true });\n textLayer.setTextContentStream(readableStream);\n textLayer.render();\n }\n });\n }, function (reason) {\n return finishPaintTask(reason);\n });\n if (this.annotationLayerFactory) {\n if (!this.annotationLayer) {\n this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, this.renderInteractiveForms, this.l10n);\n }\n this.annotationLayer.render(this.viewport, 'display');\n }\n div.setAttribute('data-loaded', true);\n if (this.onBeforeDraw) {\n this.onBeforeDraw();\n }\n return resultPromise;\n }\n }, {\n key: 'paintOnCanvas',\n value: function paintOnCanvas(canvasWrapper) {\n var renderCapability = (0, _pdfjsLib.createPromiseCapability)();\n var result = {\n promise: renderCapability.promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n renderTask.cancel();\n }\n };\n var viewport = this.viewport;\n var canvas = document.createElement('canvas');\n canvas.id = this.renderingId;\n canvas.setAttribute('hidden', 'hidden');\n var isCanvasHidden = true;\n var showCanvas = function showCanvas() {\n if (isCanvasHidden) {\n canvas.removeAttribute('hidden');\n isCanvasHidden = false;\n }\n };\n canvasWrapper.appendChild(canvas);\n this.canvas = canvas;\n canvas.mozOpaque = true;\n var ctx = canvas.getContext('2d', { alpha: false });\n var outputScale = (0, _ui_utils.getOutputScale)(ctx);\n this.outputScale = outputScale;\n if (_pdfjsLib.PDFJS.useOnlyCssZoom) {\n var actualSizeViewport = viewport.clone({ scale: _ui_utils.CSS_UNITS });\n outputScale.sx *= actualSizeViewport.width / viewport.width;\n outputScale.sy *= actualSizeViewport.height / viewport.height;\n outputScale.scaled = true;\n }\n if (_pdfjsLib.PDFJS.maxCanvasPixels > 0) {\n var pixelsInViewport = viewport.width * viewport.height;\n var maxScale = Math.sqrt(_pdfjsLib.PDFJS.maxCanvasPixels / pixelsInViewport);\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n outputScale.scaled = true;\n this.hasRestrictedScaling = true;\n } else {\n this.hasRestrictedScaling = false;\n }\n }\n var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);\n canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);\n canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);\n canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + 'px';\n canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + 'px';\n this.paintedViewportMap.set(canvas, viewport);\n var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];\n var renderContext = {\n canvasContext: ctx,\n transform: transform,\n viewport: this.viewport,\n renderInteractiveForms: this.renderInteractiveForms\n };\n var renderTask = this.pdfPage.render(renderContext);\n renderTask.onContinue = function (cont) {\n showCanvas();\n if (result.onRenderContinue) {\n result.onRenderContinue(cont);\n } else {\n cont();\n }\n };\n renderTask.promise.then(function () {\n showCanvas();\n renderCapability.resolve(undefined);\n }, function (error) {\n showCanvas();\n renderCapability.reject(error);\n });\n return result;\n }\n }, {\n key: 'paintOnSvg',\n value: function paintOnSvg(wrapper) {\n var _this2 = this;\n\n var cancelled = false;\n var ensureNotCancelled = function ensureNotCancelled() {\n if (cancelled) {\n if (_pdfjsLib.PDFJS.pdfjsNext) {\n throw new _pdfjsLib.RenderingCancelledException('Rendering cancelled, page ' + _this2.id, 'svg');\n } else {\n throw 'cancelled';\n }\n }\n };\n var pdfPage = this.pdfPage;\n var actualSizeViewport = this.viewport.clone({ scale: _ui_utils.CSS_UNITS });\n var promise = pdfPage.getOperatorList().then(function (opList) {\n ensureNotCancelled();\n var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);\n return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {\n ensureNotCancelled();\n _this2.svg = svg;\n _this2.paintedViewportMap.set(svg, actualSizeViewport);\n svg.style.width = wrapper.style.width;\n svg.style.height = wrapper.style.height;\n _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n wrapper.appendChild(svg);\n });\n });\n return {\n promise: promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n cancelled = true;\n }\n };\n }\n }, {\n key: 'setPageLabel',\n value: function setPageLabel(label) {\n this.pageLabel = typeof label === 'string' ? label : null;\n if (this.pageLabel !== null) {\n this.div.setAttribute('data-page-label', this.pageLabel);\n } else {\n this.div.removeAttribute('data-page-label');\n }\n }\n }, {\n key: 'width',\n get: function get() {\n return this.viewport.width;\n }\n }, {\n key: 'height',\n get: function get() {\n return this.viewport.height;\n }\n }]);\n\n return PDFPageView;\n}();\n\nexports.PDFPageView = PDFPageView;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultTextLayerFactory = exports.TextLayerBuilder = undefined;\n\nvar _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dom_events = __w_pdfjs_require__(2);\n\nvar _pdfjsLib = __w_pdfjs_require__(0);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar EXPAND_DIVS_TIMEOUT = 300;\n\nvar TextLayerBuilder = function () {\n function TextLayerBuilder(_ref) {\n var textLayerDiv = _ref.textLayerDiv,\n eventBus = _ref.eventBus,\n pageIndex = _ref.pageIndex,\n viewport = _ref.viewport,\n _ref$findController = _ref.findController,\n findController = _ref$findController === undefined ? null : _ref$findController,\n _ref$enhanceTextSelec = _ref.enhanceTextSelection,\n enhanceTextSelection = _ref$enhanceTextSelec === undefined ? false : _ref$enhanceTextSelec;\n\n _classCallCheck(this, TextLayerBuilder);\n\n this.textLayerDiv = textLayerDiv;\n this.eventBus = eventBus || (0, _dom_events.getGlobalEventBus)();\n this.textContent = null;\n this.textContentItemsStr = [];\n this.textContentStream = null;\n this.renderingDone = false;\n this.pageIdx = pageIndex;\n this.pageNumber = this.pageIdx + 1;\n this.matches = [];\n this.viewport = viewport;\n this.textDivs = [];\n this.findController = findController;\n this.textLayerRenderTask = null;\n this.enhanceTextSelection = enhanceTextSelection;\n this._bindMouse();\n }\n\n _createClass(TextLayerBuilder, [{\n key: '_finishRendering',\n value: function _finishRendering() {\n this.renderingDone = true;\n if (!this.enhanceTextSelection) {\n var endOfContent = document.createElement('div');\n endOfContent.className = 'endOfContent';\n this.textLayerDiv.appendChild(endOfContent);\n }\n this.eventBus.dispatch('textlayerrendered', {\n source: this,\n pageNumber: this.pageNumber,\n numTextDivs: this.textDivs.length\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _this = this;\n\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n this.cancel();\n this.textDivs = [];\n var textLayerFrag = document.createDocumentFragment();\n this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({\n textContent: this.textContent,\n textContentStream: this.textContentStream,\n container: textLayerFrag,\n viewport: this.viewport,\n textDivs: this.textDivs,\n textContentItemsStr: this.textContentItemsStr,\n timeout: timeout,\n enhanceTextSelection: this.enhanceTextSelection\n });\n this.textLayerRenderTask.promise.then(function () {\n _this.textLayerDiv.appendChild(textLayerFrag);\n _this._finishRendering();\n _this.updateMatches();\n }, function (reason) {});\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n }\n }, {\n key: 'setTextContentStream',\n value: function setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n }, {\n key: 'setTextContent',\n value: function setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n }, {\n key: 'convertMatches',\n value: function convertMatches(matches, matchesLength) {\n var i = 0;\n var iIndex = 0;\n var textContentItemsStr = this.textContentItemsStr;\n var end = textContentItemsStr.length - 1;\n var queryLen = this.findController === null ? 0 : this.findController.state.query.length;\n var ret = [];\n if (!matches) {\n return ret;\n }\n for (var m = 0, len = matches.length; m < len; m++) {\n var matchIdx = matches[m];\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n if (i === textContentItemsStr.length) {\n console.error('Could not find a matching mapping');\n }\n var match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n if (matchesLength) {\n matchIdx += matchesLength[m];\n } else {\n matchIdx += queryLen;\n }\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n ret.push(match);\n }\n return ret;\n }\n }, {\n key: 'renderMatches',\n value: function renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n var textContentItemsStr = this.textContentItemsStr;\n var textDivs = this.textDivs;\n var prevEnd = null;\n var pageIdx = this.pageIdx;\n var isSelectedPage = this.findController === null ? false : pageIdx === this.findController.selected.pageIdx;\n var selectedMatchIdx = this.findController === null ? -1 : this.findController.selected.matchIdx;\n var highlightAll = this.findController === null ? false : this.findController.state.highlightAll;\n var infinity = {\n divIdx: -1,\n offset: undefined\n };\n function beginText(begin, className) {\n var divIdx = begin.divIdx;\n textDivs[divIdx].textContent = '';\n appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n var div = textDivs[divIdx];\n var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n var node = document.createTextNode(content);\n if (className) {\n var span = document.createElement('span');\n span.className = className;\n span.appendChild(node);\n div.appendChild(span);\n return;\n }\n div.appendChild(node);\n }\n var i0 = selectedMatchIdx,\n i1 = i0 + 1;\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n for (var i = i0; i < i1; i++) {\n var match = matches[i];\n var begin = match.begin;\n var end = match.end;\n var isSelected = isSelectedPage && i === selectedMatchIdx;\n var highlightSuffix = isSelected ? ' selected' : '';\n if (this.findController) {\n this.findController.updateMatchPosition(pageIdx, i, textDivs, begin.divIdx);\n }\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n if (begin.divIdx === end.divIdx) {\n appendTextToDiv(begin.divIdx, begin.offset, end.offset, 'highlight' + highlightSuffix);\n } else {\n appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, 'highlight begin' + highlightSuffix);\n for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = 'highlight middle' + highlightSuffix;\n }\n beginText(end, 'highlight end' + highlightSuffix);\n }\n prevEnd = end;\n }\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n }, {\n key: 'updateMatches',\n value: function updateMatches() {\n if (!this.renderingDone) {\n return;\n }\n var matches = this.matches;\n var textDivs = this.textDivs;\n var textContentItemsStr = this.textContentItemsStr;\n var clearedUntilDivIdx = -1;\n for (var i = 0, len = matches.length; i < len; i++) {\n var match = matches[i];\n var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n for (var n = begin, end = match.end.divIdx; n <= end; n++) {\n var div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = '';\n }\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n if (this.findController === null || !this.findController.active) {\n return;\n }\n var pageMatches = void 0,\n pageMatchesLength = void 0;\n if (this.findController !== null) {\n pageMatches = this.findController.pageMatches[this.pageIdx] || null;\n pageMatchesLength = this.findController.pageMatchesLength ? this.findController.pageMatchesLength[this.pageIdx] || null : null;\n }\n this.matches = this.convertMatches(pageMatches, pageMatchesLength);\n this.renderMatches(this.matches);\n }\n }, {\n key: '_bindMouse',\n value: function _bindMouse() {\n var _this2 = this;\n\n var div = this.textLayerDiv;\n var expandDivsTimer = null;\n div.addEventListener('mousedown', function (evt) {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(true);\n if (expandDivsTimer) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n return;\n }\n var end = div.querySelector('.endOfContent');\n if (!end) {\n return;\n }\n var adjustTop = evt.target !== div;\n adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue('-moz-user-select') !== 'none';\n if (adjustTop) {\n var divBounds = div.getBoundingClientRect();\n var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + '%';\n }\n end.classList.add('active');\n });\n div.addEventListener('mouseup', function () {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n expandDivsTimer = setTimeout(function () {\n if (_this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(false);\n }\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n return;\n }\n var end = div.querySelector('.endOfContent');\n if (!end) {\n return;\n }\n end.style.top = '';\n end.classList.remove('active');\n });\n }\n }]);\n\n return TextLayerBuilder;\n}();\n\nvar DefaultTextLayerFactory = function () {\n function DefaultTextLayerFactory() {\n _classCallCheck(this, DefaultTextLayerFactory);\n }\n\n _createClass(DefaultTextLayerFactory, [{\n key: 'createTextLayerBuilder',\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n return new TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n pageIndex: pageIndex,\n viewport: viewport,\n enhanceTextSelection: enhanceTextSelection\n });\n }\n }]);\n\n return DefaultTextLayerFactory;\n}();\n\nexports.TextLayerBuilder = TextLayerBuilder;\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CLEANUP_TIMEOUT = 30000;\nvar RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\n\nvar PDFRenderingQueue = function () {\n function PDFRenderingQueue() {\n _classCallCheck(this, PDFRenderingQueue);\n\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n }\n\n _createClass(PDFRenderingQueue, [{\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setThumbnailViewer\",\n value: function setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n }, {\n key: \"isHighestPriority\",\n value: function isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n }, {\n key: \"renderHighestPriority\",\n value: function renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {\n if (this.pdfThumbnailViewer.forceRendering()) {\n return;\n }\n }\n if (this.printing) {\n return;\n }\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n }, {\n key: \"getHighestPriority\",\n value: function getHighestPriority(visible, views, scrolledDown) {\n var visibleViews = visible.views;\n var numVisible = visibleViews.length;\n if (numVisible === 0) {\n return false;\n }\n for (var i = 0; i < numVisible; ++i) {\n var view = visibleViews[i].view;\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n if (scrolledDown) {\n var nextPageIndex = visible.last.id;\n if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {\n return views[nextPageIndex];\n }\n } else {\n var previousPageIndex = visible.first.id - 2;\n if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {\n return views[previousPageIndex];\n }\n }\n return null;\n }\n }, {\n key: \"isViewFinished\",\n value: function isViewFinished(view) {\n return view.renderingState === RenderingStates.FINISHED;\n }\n }, {\n key: \"renderView\",\n value: function renderView(view) {\n var _this = this;\n\n switch (view.renderingState) {\n case RenderingStates.FINISHED:\n return false;\n case RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n case RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n case RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n var continueRendering = function continueRendering() {\n _this.renderHighestPriority();\n };\n view.draw().then(continueRendering, continueRendering);\n break;\n }\n return true;\n }\n }]);\n\n return PDFRenderingQueue;\n}();\n\nexports.RenderingStates = RenderingStates;\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DownloadManager = undefined;\n\nvar _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _pdfjsLib = __w_pdfjs_require__(0);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n;\nfunction _download(blobUrl, filename) {\n var a = document.createElement('a');\n if (a.click) {\n a.href = blobUrl;\n a.target = '_parent';\n if ('download' in a) {\n a.download = filename;\n }\n (document.body || document.documentElement).appendChild(a);\n a.click();\n a.parentNode.removeChild(a);\n } else {\n if (window.top === window && blobUrl.split('#')[0] === window.location.href.split('#')[0]) {\n var padCharacter = blobUrl.indexOf('?') === -1 ? '?' : '&';\n blobUrl = blobUrl.replace(/#|$/, padCharacter + '$&');\n }\n window.open(blobUrl, '_parent');\n }\n}\n\nvar DownloadManager = function () {\n function DownloadManager() {\n _classCallCheck(this, DownloadManager);\n }\n\n _createClass(DownloadManager, [{\n key: 'downloadUrl',\n value: function downloadUrl(url, filename) {\n if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, 'http://example.com')) {\n return;\n }\n _download(url + '#pdfjs.action=download', filename);\n }\n }, {\n key: 'downloadData',\n value: function downloadData(data, filename, contentType) {\n if (navigator.msSaveBlob) {\n return navigator.msSaveBlob(new Blob([data], { type: contentType }), filename);\n }\n var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, _pdfjsLib.PDFJS.disableCreateObjectURL);\n _download(blobUrl, filename);\n }\n }, {\n key: 'download',\n value: function download(blob, url, filename) {\n if (navigator.msSaveBlob) {\n if (!navigator.msSaveBlob(blob, filename)) {\n this.downloadUrl(url, filename);\n }\n return;\n }\n if (_pdfjsLib.PDFJS.disableCreateObjectURL) {\n this.downloadUrl(url, filename);\n return;\n }\n var blobUrl = URL.createObjectURL(blob);\n _download(blobUrl, filename);\n }\n }]);\n\n return DownloadManager;\n}();\n\nexports.DownloadManager = DownloadManager;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GenericL10n = undefined;\n\nvar _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n__w_pdfjs_require__(13);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar webL10n = document.webL10n;\n\nvar GenericL10n = function () {\n function GenericL10n(lang) {\n _classCallCheck(this, GenericL10n);\n\n this._lang = lang;\n this._ready = new Promise(function (resolve, reject) {\n webL10n.setLanguage(lang, function () {\n resolve(webL10n);\n });\n });\n }\n\n _createClass(GenericL10n, [{\n key: 'getDirection',\n value: function getDirection() {\n return this._ready.then(function (l10n) {\n return l10n.getDirection();\n });\n }\n }, {\n key: 'get',\n value: function get(property, args, fallback) {\n return this._ready.then(function (l10n) {\n return l10n.get(property, args, fallback);\n });\n }\n }, {\n key: 'translate',\n value: function translate(element) {\n return this._ready.then(function (l10n) {\n return l10n.translate(element);\n });\n }\n }]);\n\n return GenericL10n;\n}();\n\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFindController = exports.FindState = undefined;\n\nvar _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _pdfjsLib = __w_pdfjs_require__(0);\n\nvar _ui_utils = __w_pdfjs_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nvar FIND_SCROLL_OFFSET_TOP = -50;\nvar FIND_SCROLL_OFFSET_LEFT = -400;\nvar FIND_TIMEOUT = 250;\nvar CHARACTERS_TO_NORMALIZE = {\n '\\u2018': '\\'',\n '\\u2019': '\\'',\n '\\u201A': '\\'',\n '\\u201B': '\\'',\n '\\u201C': '\"',\n '\\u201D': '\"',\n '\\u201E': '\"',\n '\\u201F': '\"',\n '\\xBC': '1/4',\n '\\xBD': '1/2',\n '\\xBE': '3/4'\n};\n\nvar PDFFindController = function () {\n function PDFFindController(_ref) {\n var pdfViewer = _ref.pdfViewer;\n\n _classCallCheck(this, PDFFindController);\n\n this.pdfViewer = pdfViewer;\n this.onUpdateResultsCount = null;\n this.onUpdateState = null;\n this.reset();\n var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join('');\n this.normalizationRegex = new RegExp('[' + replace + ']', 'g');\n }\n\n _createClass(PDFFindController, [{\n key: 'reset',\n value: function reset() {\n var _this = this;\n\n this.startedTextExtraction = false;\n this.extractTextPromises = [];\n this.pendingFindMatches = Object.create(null);\n this.active = false;\n this.pageContents = [];\n this.pageMatches = [];\n this.pageMatchesLength = null;\n this.matchCount = 0;\n this.selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this.offset = {\n pageIdx: null,\n matchIdx: null\n };\n this.pagesToSearch = null;\n this.resumePageIdx = null;\n this.state = null;\n this.dirtyMatch = false;\n this.findTimeout = null;\n this._firstPagePromise = new Promise(function (resolve) {\n _this.resolveFirstPage = resolve;\n });\n }\n }, {\n key: 'normalize',\n value: function normalize(text) {\n return text.replace(this.normalizationRegex, function (ch) {\n return CHARACTERS_TO_NORMALIZE[ch];\n });\n }\n }, {\n key: '_prepareMatches',\n value: function _prepareMatches(matchesWithLength, matches, matchesLength) {\n function isSubTerm(matchesWithLength, currentIndex) {\n var currentElem = matchesWithLength[currentIndex];\n var nextElem = matchesWithLength[currentIndex + 1];\n if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {\n currentElem.skipped = true;\n return true;\n }\n for (var i = currentIndex - 1; i >= 0; i--) {\n var prevElem = matchesWithLength[i];\n if (prevElem.skipped) {\n continue;\n }\n if (prevElem.match + prevElem.matchLength < currentElem.match) {\n break;\n }\n if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {\n currentElem.skipped = true;\n return true;\n }\n }\n return false;\n }\n matchesWithLength.sort(function (a, b) {\n return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;\n });\n for (var i = 0, len = matchesWithLength.length; i < len; i++) {\n if (isSubTerm(matchesWithLength, i)) {\n continue;\n }\n matches.push(matchesWithLength[i].match);\n matchesLength.push(matchesWithLength[i].matchLength);\n }\n }\n }, {\n key: 'calcFindPhraseMatch',\n value: function calcFindPhraseMatch(query, pageIndex, pageContent) {\n var matches = [];\n var queryLen = query.length;\n var matchIdx = -queryLen;\n while (true) {\n matchIdx = pageContent.indexOf(query, matchIdx + queryLen);\n if (matchIdx === -1) {\n break;\n }\n matches.push(matchIdx);\n }\n this.pageMatches[pageIndex] = matches;\n }\n }, {\n key: 'calcFindWordMatch',\n value: function calcFindWordMatch(query, pageIndex, pageContent) {\n var matchesWithLength = [];\n var queryArray = query.match(/\\S+/g);\n for (var i = 0, len = queryArray.length; i < len; i++) {\n var subquery = queryArray[i];\n var subqueryLen = subquery.length;\n var matchIdx = -subqueryLen;\n while (true) {\n matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);\n if (matchIdx === -1) {\n break;\n }\n matchesWithLength.push({\n match: matchIdx,\n matchLength: subqueryLen,\n skipped: false\n });\n }\n }\n if (!this.pageMatchesLength) {\n this.pageMatchesLength = [];\n }\n this.pageMatchesLength[pageIndex] = [];\n this.pageMatches[pageIndex] = [];\n this._prepareMatches(matchesWithLength, this.pageMatches[pageIndex], this.pageMatchesLength[pageIndex]);\n }\n }, {\n key: 'calcFindMatch',\n value: function calcFindMatch(pageIndex) {\n var pageContent = this.normalize(this.pageContents[pageIndex]);\n var query = this.normalize(this.state.query);\n var caseSensitive = this.state.caseSensitive;\n var phraseSearch = this.state.phraseSearch;\n var queryLen = query.length;\n if (queryLen === 0) {\n return;\n }\n if (!caseSensitive) {\n pageContent = pageContent.toLowerCase();\n query = query.toLowerCase();\n }\n if (phraseSearch) {\n this.calcFindPhraseMatch(query, pageIndex, pageContent);\n } else {\n this.calcFindWordMatch(query, pageIndex, pageContent);\n }\n this.updatePage(pageIndex);\n if (this.resumePageIdx === pageIndex) {\n this.resumePageIdx = null;\n this.nextPageMatch();\n }\n if (this.pageMatches[pageIndex].length > 0) {\n this.matchCount += this.pageMatches[pageIndex].length;\n this.updateUIResultsCount();\n }\n }\n }, {\n key: 'extractText',\n value: function extractText() {\n var _this2 = this;\n\n if (this.startedTextExtraction) {\n return;\n }\n this.startedTextExtraction = true;\n this.pageContents.length = 0;\n var promise = Promise.resolve();\n\n var _loop = function _loop(i, ii) {\n var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();\n _this2.extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(function () {\n return _this2.pdfViewer.getPageTextContent(i).then(function (textContent) {\n var textItems = textContent.items;\n var strBuf = [];\n for (var j = 0, jj = textItems.length; j < jj; j++) {\n strBuf.push(textItems[j].str);\n }\n _this2.pageContents[i] = strBuf.join('');\n extractTextCapability.resolve(i);\n }, function (reason) {\n console.error('Unable to get page ' + (i + 1) + ' text content', reason);\n _this2.pageContents[i] = '';\n extractTextCapability.resolve(i);\n });\n });\n };\n\n for (var i = 0, ii = this.pdfViewer.pagesCount; i < ii; i++) {\n _loop(i, ii);\n }\n }\n }, {\n key: 'executeCommand',\n value: function executeCommand(cmd, state) {\n var _this3 = this;\n\n if (this.state === null || cmd !== 'findagain') {\n this.dirtyMatch = true;\n }\n this.state = state;\n this.updateUIState(FindState.PENDING);\n this._firstPagePromise.then(function () {\n _this3.extractText();\n clearTimeout(_this3.findTimeout);\n if (cmd === 'find') {\n _this3.findTimeout = setTimeout(_this3.nextMatch.bind(_this3), FIND_TIMEOUT);\n } else {\n _this3.nextMatch();\n }\n });\n }\n }, {\n key: 'updatePage',\n value: function updatePage(index) {\n if (this.selected.pageIdx === index) {\n this.pdfViewer.currentPageNumber = index + 1;\n }\n var page = this.pdfViewer.getPageView(index);\n if (page.textLayer) {\n page.textLayer.updateMatches();\n }\n }\n }, {\n key: 'nextMatch',\n value: function nextMatch() {\n var _this4 = this;\n\n var previous = this.state.findPrevious;\n var currentPageIndex = this.pdfViewer.currentPageNumber - 1;\n var numPages = this.pdfViewer.pagesCount;\n this.active = true;\n if (this.dirtyMatch) {\n this.dirtyMatch = false;\n this.selected.pageIdx = this.selected.matchIdx = -1;\n this.offset.pageIdx = currentPageIndex;\n this.offset.matchIdx = null;\n this.hadMatch = false;\n this.resumePageIdx = null;\n this.pageMatches = [];\n this.matchCount = 0;\n this.pageMatchesLength = null;\n for (var i = 0; i < numPages; i++) {\n this.updatePage(i);\n if (!(i in this.pendingFindMatches)) {\n this.pendingFindMatches[i] = true;\n this.extractTextPromises[i].then(function (pageIdx) {\n delete _this4.pendingFindMatches[pageIdx];\n _this4.calcFindMatch(pageIdx);\n });\n }\n }\n }\n if (this.state.query === '') {\n this.updateUIState(FindState.FOUND);\n return;\n }\n if (this.resumePageIdx) {\n return;\n }\n var offset = this.offset;\n this.pagesToSearch = numPages;\n if (offset.matchIdx !== null) {\n var numPageMatches = this.pageMatches[offset.pageIdx].length;\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n this.hadMatch = true;\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n this.updateMatch(true);\n return;\n }\n this.advanceOffsetPage(previous);\n }\n this.nextPageMatch();\n }\n }, {\n key: 'matchesReady',\n value: function matchesReady(matches) {\n var offset = this.offset;\n var numMatches = matches.length;\n var previous = this.state.findPrevious;\n if (numMatches) {\n this.hadMatch = true;\n offset.matchIdx = previous ? numMatches - 1 : 0;\n this.updateMatch(true);\n return true;\n }\n this.advanceOffsetPage(previous);\n if (offset.wrapped) {\n offset.matchIdx = null;\n if (this.pagesToSearch < 0) {\n this.updateMatch(false);\n return true;\n }\n }\n return false;\n }\n }, {\n key: 'updateMatchPosition',\n value: function updateMatchPosition(pageIndex, matchIndex, elements, beginIdx) {\n if (this.selected.matchIdx === matchIndex && this.selected.pageIdx === pageIndex) {\n var spot = {\n top: FIND_SCROLL_OFFSET_TOP,\n left: FIND_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(elements[beginIdx], spot, true);\n }\n }\n }, {\n key: 'nextPageMatch',\n value: function nextPageMatch() {\n if (this.resumePageIdx !== null) {\n console.error('There can only be one pending page.');\n }\n var matches = null;\n do {\n var pageIdx = this.offset.pageIdx;\n matches = this.pageMatches[pageIdx];\n if (!matches) {\n this.resumePageIdx = pageIdx;\n break;\n }\n } while (!this.matchesReady(matches));\n }\n }, {\n key: 'advanceOffsetPage',\n value: function advanceOffsetPage(previous) {\n var offset = this.offset;\n var numPages = this.extractTextPromises.length;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this.pagesToSearch--;\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n }, {\n key: 'updateMatch',\n value: function updateMatch() {\n var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var state = FindState.NOT_FOUND;\n var wrapped = this.offset.wrapped;\n this.offset.wrapped = false;\n if (found) {\n var previousPage = this.selected.pageIdx;\n this.selected.pageIdx = this.offset.pageIdx;\n this.selected.matchIdx = this.offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n if (previousPage !== -1 && previousPage !== this.selected.pageIdx) {\n this.updatePage(previousPage);\n }\n }\n this.updateUIState(state, this.state.findPrevious);\n if (this.selected.pageIdx !== -1) {\n this.updatePage(this.selected.pageIdx);\n }\n }\n }, {\n key: 'updateUIResultsCount',\n value: function updateUIResultsCount() {\n if (this.onUpdateResultsCount) {\n this.onUpdateResultsCount(this.matchCount);\n }\n }\n }, {\n key: 'updateUIState',\n value: function updateUIState(state, previous) {\n if (this.onUpdateState) {\n this.onUpdateState(state, previous, this.matchCount);\n }\n }\n }]);\n\n return PDFFindController;\n}();\n\nexports.FindState = FindState;\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFHistory = undefined;\n\nvar _dom_events = __w_pdfjs_require__(2);\n\nfunction PDFHistory(options) {\n this.linkService = options.linkService;\n this.eventBus = options.eventBus || (0, _dom_events.getGlobalEventBus)();\n this.initialized = false;\n this.initialDestination = null;\n this.initialBookmark = null;\n}\nPDFHistory.prototype = {\n initialize: function pdfHistoryInitialize(fingerprint) {\n this.initialized = true;\n this.reInitialized = false;\n this.allowHashChange = true;\n this.historyUnlocked = true;\n this.isViewerInPresentationMode = false;\n this.previousHash = window.location.hash.substring(1);\n this.currentBookmark = '';\n this.currentPage = 0;\n this.updatePreviousBookmark = false;\n this.previousBookmark = '';\n this.previousPage = 0;\n this.nextHashParam = '';\n this.fingerprint = fingerprint;\n this.currentUid = this.uid = 0;\n this.current = {};\n var state = window.history.state;\n if (this._isStateObjectDefined(state)) {\n if (state.target.dest) {\n this.initialDestination = state.target.dest;\n } else {\n this.initialBookmark = state.target.hash;\n }\n this.currentUid = state.uid;\n this.uid = state.uid + 1;\n this.current = state.target;\n } else {\n if (state && state.fingerprint && this.fingerprint !== state.fingerprint) {\n this.reInitialized = true;\n }\n this._pushOrReplaceState({ fingerprint: this.fingerprint }, true);\n }\n var self = this;\n window.addEventListener('popstate', function pdfHistoryPopstate(evt) {\n if (!self.historyUnlocked) {\n return;\n }\n if (evt.state) {\n self._goTo(evt.state);\n return;\n }\n if (self.uid === 0) {\n var previousParams = self.previousHash && self.currentBookmark && self.previousHash !== self.currentBookmark ? {\n hash: self.currentBookmark,\n page: self.currentPage\n } : { page: 1 };\n replacePreviousHistoryState(previousParams, function () {\n updateHistoryWithCurrentHash();\n });\n } else {\n updateHistoryWithCurrentHash();\n }\n });\n function updateHistoryWithCurrentHash() {\n self.previousHash = window.location.hash.slice(1);\n self._pushToHistory({ hash: self.previousHash }, false, true);\n self._updatePreviousBookmark();\n }\n function replacePreviousHistoryState(params, callback) {\n self.historyUnlocked = false;\n self.allowHashChange = false;\n window.addEventListener('popstate', rewriteHistoryAfterBack);\n history.back();\n function rewriteHistoryAfterBack() {\n window.removeEventListener('popstate', rewriteHistoryAfterBack);\n window.addEventListener('popstate', rewriteHistoryAfterForward);\n self._pushToHistory(params, false, true);\n history.forward();\n }\n function rewriteHistoryAfterForward() {\n window.removeEventListener('popstate', rewriteHistoryAfterForward);\n self.allowHashChange = true;\n self.historyUnlocked = true;\n callback();\n }\n }\n function pdfHistoryBeforeUnload() {\n var previousParams = self._getPreviousParams(null, true);\n if (previousParams) {\n var replacePrevious = !self.current.dest && self.current.hash !== self.previousHash;\n self._pushToHistory(previousParams, false, replacePrevious);\n self._updatePreviousBookmark();\n }\n window.removeEventListener('beforeunload', pdfHistoryBeforeUnload);\n }\n window.addEventListener('beforeunload', pdfHistoryBeforeUnload);\n window.addEventListener('pageshow', function pdfHistoryPageShow(evt) {\n window.addEventListener('beforeunload', pdfHistoryBeforeUnload);\n });\n self.eventBus.on('presentationmodechanged', function (e) {\n self.isViewerInPresentationMode = e.active;\n });\n },\n clearHistoryState: function pdfHistory_clearHistoryState() {\n this._pushOrReplaceState(null, true);\n },\n _isStateObjectDefined: function pdfHistory_isStateObjectDefined(state) {\n return state && state.uid >= 0 && state.fingerprint && this.fingerprint === state.fingerprint && state.target && state.target.hash ? true : false;\n },\n _pushOrReplaceState: function pdfHistory_pushOrReplaceState(stateObj, replace) {\n if (replace) {\n window.history.replaceState(stateObj, '', document.URL);\n } else {\n window.history.pushState(stateObj, '', document.URL);\n }\n },\n get isHashChangeUnlocked() {\n if (!this.initialized) {\n return true;\n }\n return this.allowHashChange;\n },\n _updatePreviousBookmark: function pdfHistory_updatePreviousBookmark() {\n if (this.updatePreviousBookmark && this.currentBookmark && this.currentPage) {\n this.previousBookmark = this.currentBookmark;\n this.previousPage = this.currentPage;\n this.updatePreviousBookmark = false;\n }\n },\n updateCurrentBookmark: function pdfHistoryUpdateCurrentBookmark(bookmark, pageNum) {\n if (this.initialized) {\n this.currentBookmark = bookmark.substring(1);\n this.currentPage = pageNum | 0;\n this._updatePreviousBookmark();\n }\n },\n updateNextHashParam: function pdfHistoryUpdateNextHashParam(param) {\n if (this.initialized) {\n this.nextHashParam = param;\n }\n },\n push: function pdfHistoryPush(params, isInitialBookmark) {\n if (!(this.initialized && this.historyUnlocked)) {\n return;\n }\n if (params.dest && !params.hash) {\n params.hash = this.current.hash && this.current.dest && this.current.dest === params.dest ? this.current.hash : this.linkService.getDestinationHash(params.dest).split('#')[1];\n }\n if (params.page) {\n params.page |= 0;\n }\n if (isInitialBookmark) {\n var target = window.history.state.target;\n if (!target) {\n this._pushToHistory(params, false);\n this.previousHash = window.location.hash.substring(1);\n }\n this.updatePreviousBookmark = this.nextHashParam ? false : true;\n if (target) {\n this._updatePreviousBookmark();\n }\n return;\n }\n if (this.nextHashParam) {\n if (this.nextHashParam === params.hash) {\n this.nextHashParam = null;\n this.updatePreviousBookmark = true;\n return;\n }\n this.nextHashParam = null;\n }\n if (params.hash) {\n if (this.current.hash) {\n if (this.current.hash !== params.hash) {\n this._pushToHistory(params, true);\n } else {\n if (!this.current.page && params.page) {\n this._pushToHistory(params, false, true);\n }\n this.updatePreviousBookmark = true;\n }\n } else {\n this._pushToHistory(params, true);\n }\n } else if (this.current.page && params.page && this.current.page !== params.page) {\n this._pushToHistory(params, true);\n }\n },\n _getPreviousParams: function pdfHistory_getPreviousParams(onlyCheckPage, beforeUnload) {\n if (!(this.currentBookmark && this.currentPage)) {\n return null;\n } else if (this.updatePreviousBookmark) {\n this.updatePreviousBookmark = false;\n }\n if (this.uid > 0 && !(this.previousBookmark && this.previousPage)) {\n return null;\n }\n if (!this.current.dest && !onlyCheckPage || beforeUnload) {\n if (this.previousBookmark === this.currentBookmark) {\n return null;\n }\n } else if (this.current.page || onlyCheckPage) {\n if (this.previousPage === this.currentPage) {\n return null;\n }\n } else {\n return null;\n }\n var params = {\n hash: this.currentBookmark,\n page: this.currentPage\n };\n if (this.isViewerInPresentationMode) {\n params.hash = null;\n }\n return params;\n },\n _stateObj: function pdfHistory_stateObj(params) {\n return {\n fingerprint: this.fingerprint,\n uid: this.uid,\n target: params\n };\n },\n _pushToHistory: function pdfHistory_pushToHistory(params, addPrevious, overwrite) {\n if (!this.initialized) {\n return;\n }\n if (!params.hash && params.page) {\n params.hash = 'page=' + params.page;\n }\n if (addPrevious && !overwrite) {\n var previousParams = this._getPreviousParams();\n if (previousParams) {\n var replacePrevious = !this.current.dest && this.current.hash !== this.previousHash;\n this._pushToHistory(previousParams, false, replacePrevious);\n }\n }\n this._pushOrReplaceState(this._stateObj(params), overwrite || this.uid === 0);\n this.currentUid = this.uid++;\n this.current = params;\n this.updatePreviousBookmark = true;\n },\n _goTo: function pdfHistory_goTo(state) {\n if (!(this.initialized && this.historyUnlocked && this._isStateObjectDefined(state))) {\n return;\n }\n if (!this.reInitialized && state.uid < this.currentUid) {\n var previousParams = this._getPreviousParams(true);\n if (previousParams) {\n this._pushToHistory(this.current, false);\n this._pushToHistory(previousParams, false);\n this.currentUid = state.uid;\n window.history.back();\n return;\n }\n }\n this.historyUnlocked = false;\n if (state.target.dest) {\n this.linkService.navigateTo(state.target.dest);\n } else {\n this.linkService.setHash(state.target.hash);\n }\n this.currentUid = state.uid;\n if (state.uid > this.uid) {\n this.uid = state.uid;\n }\n this.current = state.target;\n this.updatePreviousBookmark = true;\n var currentHash = window.location.hash.substring(1);\n if (this.previousHash !== currentHash) {\n this.allowHashChange = false;\n }\n this.previousHash = currentHash;\n this.historyUnlocked = true;\n },\n back: function pdfHistoryBack() {\n this.go(-1);\n },\n forward: function pdfHistoryForward() {\n this.go(1);\n },\n go: function pdfHistoryGo(direction) {\n if (this.initialized && this.historyUnlocked) {\n var state = window.history.state;\n if (direction === -1 && state && state.uid > 0) {\n window.history.back();\n } else if (direction === 1 && state && state.uid < this.uid - 1) {\n window.history.forward();\n }\n }\n }\n};\nexports.PDFHistory = PDFHistory;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFViewer = exports.PresentationModeState = undefined;\n\nvar _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _pdfjsLib = __w_pdfjs_require__(0);\n\nvar _ui_utils = __w_pdfjs_require__(1);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(7);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(4);\n\nvar _dom_events = __w_pdfjs_require__(2);\n\nvar _pdf_page_view = __w_pdfjs_require__(5);\n\nvar _pdf_link_service = __w_pdfjs_require__(3);\n\nvar _text_layer_builder = __w_pdfjs_require__(6);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nvar DEFAULT_CACHE_SIZE = 10;\nfunction PDFPageViewBuffer(size) {\n var data = [];\n this.push = function cachePush(view) {\n var i = data.indexOf(view);\n if (i >= 0) {\n data.splice(i, 1);\n }\n data.push(view);\n if (data.length > size) {\n data.shift().destroy();\n }\n };\n this.resize = function (newSize) {\n size = newSize;\n while (data.length > size) {\n data.shift().destroy();\n }\n };\n}\nfunction isSameScale(oldScale, newScale) {\n if (newScale === oldScale) {\n return true;\n }\n if (Math.abs(newScale - oldScale) < 1e-15) {\n return true;\n }\n return false;\n}\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\nvar PDFViewer = function () {\n function PDFViewer(options) {\n _classCallCheck(this, PDFViewer);\n\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n this.eventBus = options.eventBus || (0, _dom_events.getGlobalEventBus)();\n this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.removePageBorders = options.removePageBorders || false;\n this.enhanceTextSelection = options.enhanceTextSelection || false;\n this.renderInteractiveForms = options.renderInteractiveForms || false;\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.defaultRenderingQueue = !options.renderingQueue;\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = PresentationModeState.UNKNOWN;\n this._resetView();\n if (this.removePageBorders) {\n this.viewer.classList.add('removePageBorders');\n }\n }\n\n _createClass(PDFViewer, [{\n key: 'getPageView',\n value: function getPageView(index) {\n return this._pages[index];\n }\n }, {\n key: '_setCurrentPageNumber',\n value: function _setCurrentPageNumber(val) {\n var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n return;\n }\n if (!(0 < val && val <= this.pagesCount)) {\n console.error('PDFViewer._setCurrentPageNumber: \"' + val + '\" is out of bounds.');\n return;\n }\n var arg = {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels && this._pageLabels[val - 1]\n };\n this._currentPageNumber = val;\n this.eventBus.dispatch('pagechanging', arg);\n this.eventBus.dispatch('pagechange', arg);\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n }\n }, {\n key: 'setDocument',\n value: function setDocument(pdfDocument) {\n var _this = this;\n\n if (this.pdfDocument) {\n this._cancelRendering();\n this._resetView();\n }\n this.pdfDocument = pdfDocument;\n if (!pdfDocument) {\n return;\n }\n var pagesCount = pdfDocument.numPages;\n var pagesCapability = (0, _pdfjsLib.createPromiseCapability)();\n this.pagesPromise = pagesCapability.promise;\n pagesCapability.promise.then(function () {\n _this._pageViewsReady = true;\n _this.eventBus.dispatch('pagesloaded', {\n source: _this,\n pagesCount: pagesCount\n });\n });\n var isOnePageRenderedResolved = false;\n var onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();\n this.onePageRendered = onePageRenderedCapability.promise;\n var bindOnAfterAndBeforeDraw = function bindOnAfterAndBeforeDraw(pageView) {\n pageView.onBeforeDraw = function () {\n _this._buffer.push(pageView);\n };\n pageView.onAfterDraw = function () {\n if (!isOnePageRenderedResolved) {\n isOnePageRenderedResolved = true;\n onePageRenderedCapability.resolve();\n }\n };\n };\n var firstPagePromise = pdfDocument.getPage(1);\n this.firstPagePromise = firstPagePromise;\n firstPagePromise.then(function (pdfPage) {\n var scale = _this.currentScale;\n var viewport = pdfPage.getViewport(scale * _ui_utils.CSS_UNITS);\n for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n var textLayerFactory = null;\n if (!_pdfjsLib.PDFJS.disableTextLayer) {\n textLayerFactory = _this;\n }\n var pageView = new _pdf_page_view.PDFPageView({\n container: _this.viewer,\n eventBus: _this.eventBus,\n id: pageNum,\n scale: scale,\n defaultViewport: viewport.clone(),\n renderingQueue: _this.renderingQueue,\n textLayerFactory: textLayerFactory,\n annotationLayerFactory: _this,\n enhanceTextSelection: _this.enhanceTextSelection,\n renderInteractiveForms: _this.renderInteractiveForms,\n renderer: _this.renderer,\n l10n: _this.l10n\n });\n bindOnAfterAndBeforeDraw(pageView);\n _this._pages.push(pageView);\n }\n onePageRenderedCapability.promise.then(function () {\n if (_pdfjsLib.PDFJS.disableAutoFetch) {\n pagesCapability.resolve();\n return;\n }\n var getPagesLeft = pagesCount;\n\n var _loop = function _loop(_pageNum) {\n pdfDocument.getPage(_pageNum).then(function (pdfPage) {\n var pageView = _this._pages[_pageNum - 1];\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n _this.linkService.cachePageRef(_pageNum, pdfPage.ref);\n if (--getPagesLeft === 0) {\n pagesCapability.resolve();\n }\n }, function (reason) {\n console.error('Unable to get page ' + _pageNum + ' to initialize viewer', reason);\n if (--getPagesLeft === 0) {\n pagesCapability.resolve();\n }\n });\n };\n\n for (var _pageNum = 1; _pageNum <= pagesCount; ++_pageNum) {\n _loop(_pageNum);\n }\n });\n _this.eventBus.dispatch('pagesinit', { source: _this });\n if (_this.defaultRenderingQueue) {\n _this.update();\n }\n if (_this.findController) {\n _this.findController.resolveFirstPage();\n }\n }).catch(function (reason) {\n console.error('Unable to initialize viewer', reason);\n });\n }\n }, {\n key: 'setPageLabels',\n value: function setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n if (!labels) {\n this._pageLabels = null;\n } else if (!(labels instanceof Array && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error('PDFViewer.setPageLabels: Invalid page labels.');\n } else {\n this._pageLabels = labels;\n }\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n var label = this._pageLabels && this._pageLabels[i];\n pageView.setPageLabel(label);\n }\n }\n }, {\n key: '_resetView',\n value: function _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = _ui_utils.UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._pagesRequests = [];\n this._pageViewsReady = false;\n this.viewer.textContent = '';\n }\n }, {\n key: '_scrollUpdate',\n value: function _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n this.update();\n }\n }, {\n key: '_setScaleDispatchEvent',\n value: function _setScaleDispatchEvent(newScale, newValue) {\n var preset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var arg = {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n };\n this.eventBus.dispatch('scalechanging', arg);\n this.eventBus.dispatch('scalechange', arg);\n }\n }, {\n key: '_setScaleUpdatePages',\n value: function _setScaleUpdatePages(newScale, newValue) {\n var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n this._currentScaleValue = newValue.toString();\n if (isSameScale(this._currentScale, newScale)) {\n if (preset) {\n this._setScaleDispatchEvent(newScale, newValue, true);\n }\n return;\n }\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].update(newScale);\n }\n this._currentScale = newScale;\n if (!noScroll) {\n var page = this._currentPageNumber,\n dest = void 0;\n if (this._location && !_pdfjsLib.PDFJS.ignoreCurrentPositionOnZoom && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, { name: 'XYZ' }, this._location.left, this._location.top, null];\n }\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n }\n this._setScaleDispatchEvent(newScale, newValue, preset);\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: '_setScale',\n value: function _setScale(value) {\n var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var scale = parseFloat(value);\n if (scale > 0) {\n this._setScaleUpdatePages(scale, value, noScroll, false);\n } else {\n var currentPage = this._pages[this._currentPageNumber - 1];\n if (!currentPage) {\n return;\n }\n var hPadding = this.isInPresentationMode || this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = this.isInPresentationMode || this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;\n var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n switch (value) {\n case 'page-actual':\n scale = 1;\n break;\n case 'page-width':\n scale = pageWidthScale;\n break;\n case 'page-height':\n scale = pageHeightScale;\n break;\n case 'page-fit':\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n case 'auto':\n var isLandscape = currentPage.width > currentPage.height;\n var horizontalScale = isLandscape ? Math.min(pageHeightScale, pageWidthScale) : pageWidthScale;\n scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n break;\n default:\n console.error('PDFViewer._setScale: \"' + value + '\" is an unknown zoom value.');\n return;\n }\n this._setScaleUpdatePages(scale, value, noScroll, true);\n }\n }\n }, {\n key: '_resetCurrentPageView',\n value: function _resetCurrentPageView() {\n if (this.isInPresentationMode) {\n this._setScale(this._currentScaleValue, true);\n }\n var pageView = this._pages[this._currentPageNumber - 1];\n (0, _ui_utils.scrollIntoView)(pageView.div);\n }\n }, {\n key: 'scrollPageIntoView',\n value: function scrollPageIntoView(params) {\n if (arguments.length > 1 || typeof params === 'number') {\n console.error('Call of scrollPageIntoView() with obsolete signature.');\n return;\n }\n if (!this.pdfDocument) {\n return;\n }\n var pageNumber = params.pageNumber || 0;\n var dest = params.destArray || null;\n var allowNegativeOffset = params.allowNegativeOffset || false;\n if (this.isInPresentationMode || !dest) {\n this._setCurrentPageNumber(pageNumber, true);\n return;\n }\n var pageView = this._pages[pageNumber - 1];\n if (!pageView) {\n console.error('PDFViewer.scrollPageIntoView: Invalid \"pageNumber\" parameter.');\n return;\n }\n var x = 0,\n y = 0;\n var width = 0,\n height = 0,\n widthScale = void 0,\n heightScale = void 0;\n var changeOrientation = pageView.rotation % 180 === 0 ? false : true;\n var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;\n var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;\n var scale = 0;\n switch (dest[1].name) {\n case 'XYZ':\n x = dest[2];\n y = dest[3];\n scale = dest[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n case 'Fit':\n case 'FitB':\n scale = 'page-fit';\n break;\n case 'FitH':\n case 'FitBH':\n y = dest[2];\n scale = 'page-width';\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n }\n break;\n case 'FitV':\n case 'FitBV':\n x = dest[2];\n width = pageWidth;\n height = pageHeight;\n scale = 'page-height';\n break;\n case 'FitR':\n x = dest[2];\n y = dest[3];\n width = dest[4] - x;\n height = dest[5] - y;\n var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n default:\n console.error('PDFViewer.scrollPageIntoView: \"' + dest[1].name + '\" ' + 'is not a valid destination type.');\n return;\n }\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n }\n if (scale === 'page-fit' && !dest[4]) {\n (0, _ui_utils.scrollIntoView)(pageView.div);\n return;\n }\n var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n var left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n var top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n (0, _ui_utils.scrollIntoView)(pageView.div, {\n left: left,\n top: top\n });\n }\n }, {\n key: '_updateLocation',\n value: function _updateLocation(firstPage) {\n var currentScale = this._currentScale;\n var currentScaleValue = this._currentScaleValue;\n var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n var pageNumber = firstPage.id;\n var pdfOpenParams = '#page=' + pageNumber;\n pdfOpenParams += '&zoom=' + normalizedScaleValue;\n var currentPageView = this._pages[pageNumber - 1];\n var container = this.container;\n var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n var intLeft = Math.round(topLeft[0]);\n var intTop = Math.round(topLeft[1]);\n pdfOpenParams += ',' + intLeft + ',' + intTop;\n this._location = {\n pageNumber: pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n pdfOpenParams: pdfOpenParams\n };\n }\n }, {\n key: 'update',\n value: function update() {\n var visible = this._getVisiblePages();\n var visiblePages = visible.views;\n if (visiblePages.length === 0) {\n return;\n }\n var suggestedCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * visiblePages.length + 1);\n this._buffer.resize(suggestedCacheSize);\n this.renderingQueue.renderHighestPriority(visible);\n var currentId = this._currentPageNumber;\n var firstPage = visible.first;\n var stillFullyVisible = false;\n for (var i = 0, ii = visiblePages.length; i < ii; ++i) {\n var page = visiblePages[i];\n if (page.percent < 100) {\n break;\n }\n if (page.id === currentId) {\n stillFullyVisible = true;\n break;\n }\n }\n if (!stillFullyVisible) {\n currentId = visiblePages[0].id;\n }\n if (!this.isInPresentationMode) {\n this._setCurrentPageNumber(currentId);\n }\n this._updateLocation(firstPage);\n this.eventBus.dispatch('updateviewarea', {\n source: this,\n location: this._location\n });\n }\n }, {\n key: 'containsElement',\n value: function containsElement(element) {\n return this.container.contains(element);\n }\n }, {\n key: 'focus',\n value: function focus() {\n this.container.focus();\n }\n }, {\n key: '_getVisiblePages',\n value: function _getVisiblePages() {\n if (!this.isInPresentationMode) {\n return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true);\n }\n var visible = [];\n var currentPage = this._pages[this._currentPageNumber - 1];\n visible.push({\n id: currentPage.id,\n view: currentPage\n });\n return {\n first: currentPage,\n last: currentPage,\n views: visible\n };\n }\n }, {\n key: 'cleanup',\n value: function cleanup() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {\n this._pages[i].reset();\n }\n }\n }\n }, {\n key: '_cancelRendering',\n value: function _cancelRendering() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i]) {\n this._pages[i].cancelRendering();\n }\n }\n }\n }, {\n key: '_ensurePdfPageLoaded',\n value: function _ensurePdfPageLoaded(pageView) {\n var _this2 = this;\n\n if (pageView.pdfPage) {\n return Promise.resolve(pageView.pdfPage);\n }\n var pageNumber = pageView.id;\n if (this._pagesRequests[pageNumber]) {\n return this._pagesRequests[pageNumber];\n }\n var promise = this.pdfDocument.getPage(pageNumber).then(function (pdfPage) {\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n _this2._pagesRequests[pageNumber] = null;\n return pdfPage;\n }).catch(function (reason) {\n console.error('Unable to get page for page view', reason);\n _this2._pagesRequests[pageNumber] = null;\n });\n this._pagesRequests[pageNumber] = promise;\n return promise;\n }\n }, {\n key: 'forceRendering',\n value: function forceRendering(currentlyVisiblePages) {\n var _this3 = this;\n\n var visiblePages = currentlyVisiblePages || this._getVisiblePages();\n var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, this.scroll.down);\n if (pageView) {\n this._ensurePdfPageLoaded(pageView).then(function () {\n _this3.renderingQueue.renderView(pageView);\n });\n return true;\n }\n return false;\n }\n }, {\n key: 'getPageTextContent',\n value: function getPageTextContent(pageIndex) {\n return this.pdfDocument.getPage(pageIndex + 1).then(function (page) {\n return page.getTextContent({ normalizeWhitespace: true });\n });\n }\n }, {\n key: 'createTextLayerBuilder',\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n eventBus: this.eventBus,\n pageIndex: pageIndex,\n viewport: viewport,\n findController: this.isInPresentationMode ? null : this.findController,\n enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection\n });\n }\n }, {\n key: 'createAnnotationLayerBuilder',\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var renderInteractiveForms = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var l10n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _ui_utils.NullL10n;\n\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n renderInteractiveForms: renderInteractiveForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n l10n: l10n\n });\n }\n }, {\n key: 'setFindController',\n value: function setFindController(findController) {\n this.findController = findController;\n }\n }, {\n key: 'getPagesOverview',\n value: function getPagesOverview() {\n var pagesOverview = this._pages.map(function (pageView) {\n var viewport = pageView.pdfPage.getViewport(1);\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n if (!this.enablePrintAutoRotate) {\n return pagesOverview;\n }\n var isFirstPagePortrait = isPortraitOrientation(pagesOverview[0]);\n return pagesOverview.map(function (size) {\n if (isFirstPagePortrait === isPortraitOrientation(size)) {\n return size;\n }\n return {\n width: size.height,\n height: size.width,\n rotation: (size.rotation + 90) % 360\n };\n });\n }\n }, {\n key: 'pagesCount',\n get: function get() {\n return this._pages.length;\n }\n }, {\n key: 'pageViewsReady',\n get: function get() {\n return this._pageViewsReady;\n }\n }, {\n key: 'currentPageNumber',\n get: function get() {\n return this._currentPageNumber;\n },\n set: function set(val) {\n if ((val | 0) !== val) {\n throw new Error('Invalid page number.');\n }\n if (!this.pdfDocument) {\n return;\n }\n this._setCurrentPageNumber(val, true);\n }\n }, {\n key: 'currentPageLabel',\n get: function get() {\n return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];\n },\n set: function set(val) {\n var pageNumber = val | 0;\n if (this._pageLabels) {\n var i = this._pageLabels.indexOf(val);\n if (i >= 0) {\n pageNumber = i + 1;\n }\n }\n this.currentPageNumber = pageNumber;\n }\n }, {\n key: 'currentScale',\n get: function get() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n },\n set: function set(val) {\n if (isNaN(val)) {\n throw new Error('Invalid numeric scale');\n }\n if (!this.pdfDocument) {\n return;\n }\n this._setScale(val, false);\n }\n }, {\n key: 'currentScaleValue',\n get: function get() {\n return this._currentScaleValue;\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n this._setScale(val, false);\n }\n }, {\n key: 'pagesRotation',\n get: function get() {\n return this._pagesRotation;\n },\n set: function set(rotation) {\n if (!(typeof rotation === 'number' && rotation % 90 === 0)) {\n throw new Error('Invalid pages rotation angle.');\n }\n if (!this.pdfDocument) {\n return;\n }\n this._pagesRotation = rotation;\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n pageView.update(pageView.scale, rotation);\n }\n this._setScale(this._currentScaleValue, true);\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: 'isInPresentationMode',\n get: function get() {\n return this.presentationModeState === PresentationModeState.FULLSCREEN;\n }\n }, {\n key: 'isChangingPresentationMode',\n get: function get() {\n return this.presentationModeState === PresentationModeState.CHANGING;\n }\n }, {\n key: 'isHorizontalScrollbarEnabled',\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n }, {\n key: 'hasEqualPageSizes',\n get: function get() {\n var firstPageView = this._pages[0];\n for (var i = 1, ii = this._pages.length; i < ii; ++i) {\n var pageView = this._pages[i];\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n return true;\n }\n }]);\n\n return PDFViewer;\n}();\n\nexports.PresentationModeState = PresentationModeState;\nexports.PDFViewer = PDFViewer;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\ndocument.webL10n = function (window, document, undefined) {\n var gL10nData = {};\n var gTextData = '';\n var gTextProp = 'textContent';\n var gLanguage = '';\n var gMacros = {};\n var gReadyState = 'loading';\n var gAsyncResourceLoading = true;\n function getL10nResourceLinks() {\n return document.querySelectorAll('link[type=\"application/l10n\"]');\n }\n function getL10nDictionary() {\n var script = document.querySelector('script[type=\"application/l10n\"]');\n return script ? JSON.parse(script.innerHTML) : null;\n }\n function getTranslatableChildren(element) {\n return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n }\n function getL10nAttributes(element) {\n if (!element) return {};\n var l10nId = element.getAttribute('data-l10n-id');\n var l10nArgs = element.getAttribute('data-l10n-args');\n var args = {};\n if (l10nArgs) {\n try {\n args = JSON.parse(l10nArgs);\n } catch (e) {\n console.warn('could not parse arguments for #' + l10nId);\n }\n }\n return {\n id: l10nId,\n args: args\n };\n }\n function fireL10nReadyEvent(lang) {\n var evtObject = document.createEvent('Event');\n evtObject.initEvent('localized', true, false);\n evtObject.language = lang;\n document.dispatchEvent(evtObject);\n }\n function xhrLoadText(url, onSuccess, onFailure) {\n onSuccess = onSuccess || function _onSuccess(data) {};\n onFailure = onFailure || function _onFailure() {};\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, gAsyncResourceLoading);\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType('text/plain; charset=utf-8');\n }\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200 || xhr.status === 0) {\n onSuccess(xhr.responseText);\n } else {\n onFailure();\n }\n }\n };\n xhr.onerror = onFailure;\n xhr.ontimeout = onFailure;\n try {\n xhr.send(null);\n } catch (e) {\n onFailure();\n }\n }\n function parseResource(href, lang, successCallback, failureCallback) {\n var baseURL = href.replace(/[^\\/]*$/, '') || './';\n function evalString(text) {\n if (text.lastIndexOf('\\\\') < 0) return text;\n 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, \"'\");\n }\n function parseProperties(text, parsedPropertiesCallback) {\n var dictionary = {};\n var reBlank = /^\\s*|\\s*$/;\n var reComment = /^\\s*#|^\\s*$/;\n var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/;\n function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n var currentLang = '*';\n var genericLang = lang.split('-', 1)[0];\n var skipLang = false;\n var match = '';\n function nextEntry() {\n while (true) {\n if (!entries.length) {\n parsedRawLinesCallback();\n return;\n }\n var line = entries.shift();\n if (reComment.test(line)) continue;\n if (extendedSyntax) {\n match = reSection.exec(line);\n if (match) {\n currentLang = match[1].toLowerCase();\n skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n continue;\n } else if (skipLang) {\n continue;\n }\n match = reImport.exec(line);\n if (match) {\n loadImport(baseURL + match[1], nextEntry);\n return;\n }\n }\n var tmp = line.match(reSplit);\n if (tmp && tmp.length == 3) {\n dictionary[tmp[1]] = evalString(tmp[2]);\n }\n }\n }\n nextEntry();\n }\n function loadImport(url, callback) {\n xhrLoadText(url, function (content) {\n parseRawLines(content, false, callback);\n }, function () {\n console.warn(url + ' not found.');\n callback();\n });\n }\n parseRawLines(text, true, function () {\n parsedPropertiesCallback(dictionary);\n });\n }\n xhrLoadText(href, function (response) {\n gTextData += response;\n parseProperties(response, function (data) {\n for (var key in data) {\n var id,\n prop,\n index = key.lastIndexOf('.');\n if (index > 0) {\n id = key.substring(0, index);\n prop = key.substr(index + 1);\n } else {\n id = key;\n prop = gTextProp;\n }\n if (!gL10nData[id]) {\n gL10nData[id] = {};\n }\n gL10nData[id][prop] = data[key];\n }\n if (successCallback) {\n successCallback();\n }\n });\n }, failureCallback);\n }\n function loadLocale(lang, callback) {\n if (lang) {\n lang = lang.toLowerCase();\n }\n callback = callback || function _callback() {};\n clear();\n gLanguage = lang;\n var langLinks = getL10nResourceLinks();\n var langCount = langLinks.length;\n if (langCount === 0) {\n var dict = getL10nDictionary();\n if (dict && dict.locales && dict.default_locale) {\n console.log('using the embedded JSON directory, early way out');\n gL10nData = dict.locales[lang];\n if (!gL10nData) {\n var defaultLocale = dict.default_locale.toLowerCase();\n for (var anyCaseLang in dict.locales) {\n anyCaseLang = anyCaseLang.toLowerCase();\n if (anyCaseLang === lang) {\n gL10nData = dict.locales[lang];\n break;\n } else if (anyCaseLang === defaultLocale) {\n gL10nData = dict.locales[defaultLocale];\n }\n }\n }\n callback();\n } else {\n console.log('no resource to load, early way out');\n }\n fireL10nReadyEvent(lang);\n gReadyState = 'complete';\n return;\n }\n var onResourceLoaded = null;\n var gResourceCount = 0;\n onResourceLoaded = function onResourceLoaded() {\n gResourceCount++;\n if (gResourceCount >= langCount) {\n callback();\n fireL10nReadyEvent(lang);\n gReadyState = 'complete';\n }\n };\n function L10nResourceLink(link) {\n var href = link.href;\n this.load = function (lang, callback) {\n parseResource(href, lang, callback, function () {\n console.warn(href + ' not found.');\n console.warn('\"' + lang + '\" resource not found');\n gLanguage = '';\n callback();\n });\n };\n }\n for (var i = 0; i < langCount; i++) {\n var resource = new L10nResourceLink(langLinks[i]);\n resource.load(lang, onResourceLoaded);\n }\n }\n function clear() {\n gL10nData = {};\n gTextData = '';\n gLanguage = '';\n }\n function getPluralRules(lang) {\n var locales2rules = {\n 'af': 3,\n 'ak': 4,\n 'am': 4,\n 'ar': 1,\n 'asa': 3,\n 'az': 0,\n 'be': 11,\n 'bem': 3,\n 'bez': 3,\n 'bg': 3,\n 'bh': 4,\n 'bm': 0,\n 'bn': 3,\n 'bo': 0,\n 'br': 20,\n 'brx': 3,\n 'bs': 11,\n 'ca': 3,\n 'cgg': 3,\n 'chr': 3,\n 'cs': 12,\n 'cy': 17,\n 'da': 3,\n 'de': 3,\n 'dv': 3,\n 'dz': 0,\n 'ee': 3,\n 'el': 3,\n 'en': 3,\n 'eo': 3,\n 'es': 3,\n 'et': 3,\n 'eu': 3,\n 'fa': 0,\n 'ff': 5,\n 'fi': 3,\n 'fil': 4,\n 'fo': 3,\n 'fr': 5,\n 'fur': 3,\n 'fy': 3,\n 'ga': 8,\n 'gd': 24,\n 'gl': 3,\n 'gsw': 3,\n 'gu': 3,\n 'guw': 4,\n 'gv': 23,\n 'ha': 3,\n 'haw': 3,\n 'he': 2,\n 'hi': 4,\n 'hr': 11,\n 'hu': 0,\n 'id': 0,\n 'ig': 0,\n 'ii': 0,\n 'is': 3,\n 'it': 3,\n 'iu': 7,\n 'ja': 0,\n 'jmc': 3,\n 'jv': 0,\n 'ka': 0,\n 'kab': 5,\n 'kaj': 3,\n 'kcg': 3,\n 'kde': 0,\n 'kea': 0,\n 'kk': 3,\n 'kl': 3,\n 'km': 0,\n 'kn': 0,\n 'ko': 0,\n 'ksb': 3,\n 'ksh': 21,\n 'ku': 3,\n 'kw': 7,\n 'lag': 18,\n 'lb': 3,\n 'lg': 3,\n 'ln': 4,\n 'lo': 0,\n 'lt': 10,\n 'lv': 6,\n 'mas': 3,\n 'mg': 4,\n 'mk': 16,\n 'ml': 3,\n 'mn': 3,\n 'mo': 9,\n 'mr': 3,\n 'ms': 0,\n 'mt': 15,\n 'my': 0,\n 'nah': 3,\n 'naq': 7,\n 'nb': 3,\n 'nd': 3,\n 'ne': 3,\n 'nl': 3,\n 'nn': 3,\n 'no': 3,\n 'nr': 3,\n 'nso': 4,\n 'ny': 3,\n 'nyn': 3,\n 'om': 3,\n 'or': 3,\n 'pa': 3,\n 'pap': 3,\n 'pl': 13,\n 'ps': 3,\n 'pt': 3,\n 'rm': 3,\n 'ro': 9,\n 'rof': 3,\n 'ru': 11,\n 'rwk': 3,\n 'sah': 0,\n 'saq': 3,\n 'se': 7,\n 'seh': 3,\n 'ses': 0,\n 'sg': 0,\n 'sh': 11,\n 'shi': 19,\n 'sk': 12,\n 'sl': 14,\n 'sma': 7,\n 'smi': 7,\n 'smj': 7,\n 'smn': 7,\n 'sms': 7,\n 'sn': 3,\n 'so': 3,\n 'sq': 3,\n 'sr': 11,\n 'ss': 3,\n 'ssy': 3,\n 'st': 3,\n 'sv': 3,\n 'sw': 3,\n 'syr': 3,\n 'ta': 3,\n 'te': 3,\n 'teo': 3,\n 'th': 0,\n 'ti': 4,\n 'tig': 3,\n 'tk': 3,\n 'tl': 4,\n 'tn': 3,\n 'to': 0,\n 'tr': 0,\n 'ts': 3,\n 'tzm': 22,\n 'uk': 11,\n 'ur': 3,\n 've': 3,\n 'vi': 0,\n 'vun': 3,\n 'wa': 4,\n 'wae': 3,\n 'wo': 0,\n 'xh': 3,\n 'xog': 3,\n 'yo': 0,\n 'zh': 0,\n 'zu': 3\n };\n function isIn(n, list) {\n return list.indexOf(n) !== -1;\n }\n function isBetween(n, start, end) {\n return start <= n && n <= end;\n }\n var pluralRules = {\n '0': function _(n) {\n return 'other';\n },\n '1': function _(n) {\n if (isBetween(n % 100, 3, 10)) return 'few';\n if (n === 0) return 'zero';\n if (isBetween(n % 100, 11, 99)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '2': function _(n) {\n if (n !== 0 && n % 10 === 0) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '3': function _(n) {\n if (n == 1) return 'one';\n return 'other';\n },\n '4': function _(n) {\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '5': function _(n) {\n if (isBetween(n, 0, 2) && n != 2) return 'one';\n return 'other';\n },\n '6': function _(n) {\n if (n === 0) return 'zero';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '7': function _(n) {\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '8': function _(n) {\n if (isBetween(n, 3, 6)) return 'few';\n if (isBetween(n, 7, 10)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '9': function _(n) {\n if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '10': function _(n) {\n if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n return 'other';\n },\n '11': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '12': function _(n) {\n if (isBetween(n, 2, 4)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '13': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '14': function _(n) {\n if (isBetween(n % 100, 3, 4)) return 'few';\n if (n % 100 == 2) return 'two';\n if (n % 100 == 1) return 'one';\n return 'other';\n },\n '15': function _(n) {\n if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n if (isBetween(n % 100, 11, 19)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '16': function _(n) {\n if (n % 10 == 1 && n != 11) return 'one';\n return 'other';\n },\n '17': function _(n) {\n if (n == 3) return 'few';\n if (n === 0) return 'zero';\n if (n == 6) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '18': function _(n) {\n if (n === 0) return 'zero';\n if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n return 'other';\n },\n '19': function _(n) {\n if (isBetween(n, 2, 10)) return 'few';\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '20': function _(n) {\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';\n if (n % 1000000 === 0 && n !== 0) return 'many';\n if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n return 'other';\n },\n '21': function _(n) {\n if (n === 0) return 'zero';\n if (n == 1) return 'one';\n return 'other';\n },\n '22': function _(n) {\n if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n return 'other';\n },\n '23': function _(n) {\n if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n return 'other';\n },\n '24': function _(n) {\n if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n if (isIn(n, [2, 12])) return 'two';\n if (isIn(n, [1, 11])) return 'one';\n return 'other';\n }\n };\n var index = locales2rules[lang.replace(/-.*$/, '')];\n if (!(index in pluralRules)) {\n console.warn('plural form unknown for [' + lang + ']');\n return function () {\n return 'other';\n };\n }\n return pluralRules[index];\n }\n gMacros.plural = function (str, param, key, prop) {\n var n = parseFloat(param);\n if (isNaN(n)) return str;\n if (prop != gTextProp) return str;\n if (!gMacros._pluralRules) {\n gMacros._pluralRules = getPluralRules(gLanguage);\n }\n var index = '[' + gMacros._pluralRules(n) + ']';\n if (n === 0 && key + '[zero]' in gL10nData) {\n str = gL10nData[key + '[zero]'][prop];\n } else if (n == 1 && key + '[one]' in gL10nData) {\n str = gL10nData[key + '[one]'][prop];\n } else if (n == 2 && key + '[two]' in gL10nData) {\n str = gL10nData[key + '[two]'][prop];\n } else if (key + index in gL10nData) {\n str = gL10nData[key + index][prop];\n } else if (key + '[other]' in gL10nData) {\n str = gL10nData[key + '[other]'][prop];\n }\n return str;\n };\n function getL10nData(key, args, fallback) {\n var data = gL10nData[key];\n if (!data) {\n console.warn('#' + key + ' is undefined.');\n if (!fallback) {\n return null;\n }\n data = fallback;\n }\n var rv = {};\n for (var prop in data) {\n var str = data[prop];\n str = substIndexes(str, args, key, prop);\n str = substArguments(str, args, key);\n rv[prop] = str;\n }\n return rv;\n }\n function substIndexes(str, args, key, prop) {\n var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n var reMatch = reIndex.exec(str);\n if (!reMatch || !reMatch.length) return str;\n var macroName = reMatch[1];\n var paramName = reMatch[2];\n var param;\n if (args && paramName in args) {\n param = args[paramName];\n } else if (paramName in gL10nData) {\n param = gL10nData[paramName];\n }\n if (macroName in gMacros) {\n var macro = gMacros[macroName];\n str = macro(str, param, key, prop);\n }\n return str;\n }\n function substArguments(str, args, key) {\n var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n return str.replace(reArgs, function (matched_text, arg) {\n if (args && arg in args) {\n return args[arg];\n }\n if (arg in gL10nData) {\n return gL10nData[arg];\n }\n console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n return matched_text;\n });\n }\n function translateElement(element) {\n var l10n = getL10nAttributes(element);\n if (!l10n.id) return;\n var data = getL10nData(l10n.id, l10n.args);\n if (!data) {\n console.warn('#' + l10n.id + ' is undefined.');\n return;\n }\n if (data[gTextProp]) {\n if (getChildElementCount(element) === 0) {\n element[gTextProp] = data[gTextProp];\n } else {\n var children = element.childNodes;\n var found = false;\n for (var i = 0, l = children.length; i < l; i++) {\n if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n if (found) {\n children[i].nodeValue = '';\n } else {\n children[i].nodeValue = data[gTextProp];\n found = true;\n }\n }\n }\n if (!found) {\n var textNode = document.createTextNode(data[gTextProp]);\n element.insertBefore(textNode, element.firstChild);\n }\n }\n delete data[gTextProp];\n }\n for (var k in data) {\n element[k] = data[k];\n }\n }\n function getChildElementCount(element) {\n if (element.children) {\n return element.children.length;\n }\n if (typeof element.childElementCount !== 'undefined') {\n return element.childElementCount;\n }\n var count = 0;\n for (var i = 0; i < element.childNodes.length; i++) {\n count += element.nodeType === 1 ? 1 : 0;\n }\n return count;\n }\n function translateFragment(element) {\n element = element || document.documentElement;\n var children = getTranslatableChildren(element);\n var elementCount = children.length;\n for (var i = 0; i < elementCount; i++) {\n translateElement(children[i]);\n }\n translateElement(element);\n }\n return {\n get: function get(key, args, fallbackString) {\n var index = key.lastIndexOf('.');\n var prop = gTextProp;\n if (index > 0) {\n prop = key.substr(index + 1);\n key = key.substring(0, index);\n }\n var fallback;\n if (fallbackString) {\n fallback = {};\n fallback[prop] = fallbackString;\n }\n var data = getL10nData(key, args, fallback);\n if (data && prop in data) {\n return data[prop];\n }\n return '{{' + key + '}}';\n },\n getData: function getData() {\n return gL10nData;\n },\n getText: function getText() {\n return gTextData;\n },\n getLanguage: function getLanguage() {\n return gLanguage;\n },\n setLanguage: function setLanguage(lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function getDirection() {\n var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n var shortCode = gLanguage.split('-', 1)[0];\n return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n },\n translate: translateFragment,\n getReadyState: function getReadyState() {\n return gReadyState;\n },\n ready: function ready(callback) {\n if (!callback) {\n return;\n } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n window.setTimeout(function () {\n callback();\n });\n } else if (document.addEventListener) {\n document.addEventListener('localized', function once() {\n document.removeEventListener('localized', once);\n callback();\n });\n }\n }\n };\n}(window, document);\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsLib = __w_pdfjs_require__(0);\nvar pdfjsWebPDFViewer = __w_pdfjs_require__(12);\nvar pdfjsWebPDFPageView = __w_pdfjs_require__(5);\nvar pdfjsWebPDFLinkService = __w_pdfjs_require__(3);\nvar pdfjsWebTextLayerBuilder = __w_pdfjs_require__(6);\nvar pdfjsWebAnnotationLayerBuilder = __w_pdfjs_require__(4);\nvar pdfjsWebPDFHistory = __w_pdfjs_require__(11);\nvar pdfjsWebPDFFindController = __w_pdfjs_require__(10);\nvar pdfjsWebUIUtils = __w_pdfjs_require__(1);\nvar pdfjsWebDownloadManager = __w_pdfjs_require__(8);\nvar pdfjsWebGenericL10n = __w_pdfjs_require__(9);\nvar PDFJS = pdfjsLib.PDFJS;\nPDFJS.PDFViewer = pdfjsWebPDFViewer.PDFViewer;\nPDFJS.PDFPageView = pdfjsWebPDFPageView.PDFPageView;\nPDFJS.PDFLinkService = pdfjsWebPDFLinkService.PDFLinkService;\nPDFJS.TextLayerBuilder = pdfjsWebTextLayerBuilder.TextLayerBuilder;\nPDFJS.DefaultTextLayerFactory = pdfjsWebTextLayerBuilder.DefaultTextLayerFactory;\nPDFJS.AnnotationLayerBuilder = pdfjsWebAnnotationLayerBuilder.AnnotationLayerBuilder;\nPDFJS.DefaultAnnotationLayerFactory = pdfjsWebAnnotationLayerBuilder.DefaultAnnotationLayerFactory;\nPDFJS.PDFHistory = pdfjsWebPDFHistory.PDFHistory;\nPDFJS.PDFFindController = pdfjsWebPDFFindController.PDFFindController;\nPDFJS.EventBus = pdfjsWebUIUtils.EventBus;\nPDFJS.DownloadManager = pdfjsWebDownloadManager.DownloadManager;\nPDFJS.ProgressBar = pdfjsWebUIUtils.ProgressBar;\nPDFJS.GenericL10n = pdfjsWebGenericL10n.GenericL10n;\nPDFJS.NullL10n = pdfjsWebUIUtils.NullL10n;\nexports.PDFJS = PDFJS;\n\n/***/ })\n/******/ ]);\n});\n"],"mappings":"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C;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAA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"},"metadata":{},"sourceType":"script"} |