{"version":3,"file":"Search.js","sources":["../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../node_modules/void-elements/index.js","../../node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","../../node_modules/react-i18next/dist/es/TransWithoutContext.js","../../node_modules/react-i18next/dist/es/Trans.js","../../node_modules/@headlessui/react/dist/utils/disposables.js","../../node_modules/@headlessui/react/dist/hooks/use-disposables.js","../../node_modules/@headlessui/react/dist/hooks/use-watch.js","../../node_modules/@headlessui/react/dist/utils/platform.js","../../node_modules/@headlessui/react/dist/hooks/use-is-mounted.js","../../node_modules/@headlessui/react/dist/utils/document-ready.js","../../node_modules/@headlessui/react/dist/components/focus-trap/focus-trap.js","../../node_modules/@headlessui/react/dist/components/description/description.js","../../node_modules/@headlessui/react/dist/internal/stack-context.js","../../node_modules/@headlessui/react/dist/use-sync-external-store-shim/useSyncExternalStoreShimClient.js","../../node_modules/@headlessui/react/dist/use-sync-external-store-shim/useSyncExternalStoreShimServer.js","../../node_modules/@headlessui/react/dist/use-sync-external-store-shim/index.js","../../node_modules/@headlessui/react/dist/hooks/use-store.js","../../node_modules/@headlessui/react/dist/utils/store.js","../../node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js","../../node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js","../../node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js","../../node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js","../../node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js","../../node_modules/@headlessui/react/dist/hooks/use-inert.js","../../node_modules/@headlessui/react/dist/components/dialog/dialog.js","../../node_modules/@headlessui/react/dist/hooks/use-flags.js","../../node_modules/@headlessui/react/dist/utils/once.js","../../node_modules/@headlessui/react/dist/components/transitions/utils/transition.js","../../node_modules/@headlessui/react/dist/hooks/use-transition.js","../../node_modules/@headlessui/react/dist/components/transitions/transition.js","../../src/components/MessageBar.tsx","../../src/hooks/useYears.tsx","../../src/providers/AdvancedSearchProvider.tsx","../../src/features/SearchV2/SearchTypeTabs.tsx","../../src/hooks/useCompany.tsx","../../src/ui/Icon/Search.tsx","../../src/features/AdvancedSearch/AdvancedSearchFilterBar.tsx","../../src/ui/Icon/ChevronDown.tsx","../../src/features/Search/Filters/ListToggle/FilterToggle.tsx","../../src/ui/Loader/index.tsx","../../src/features/Search/Filters/ListLayout/Item.tsx","../../src/features/Search/Filters/ListLayout/ItemList2.tsx","../../src/features/Search/Filters/Categories/Companies.tsx","../../src/hooks/useDisclosures.tsx","../../src/features/Search/Filters/Categories/Disclosures.tsx","../../src/hooks/useImageThemes.tsx","../../src/features/Search/Filters/ListLayout/ExpandableList.tsx","../../src/features/Search/Filters/Categories/ImageThemes.tsx","../../src/hooks/useIndustry.tsx","../../src/features/Search/Filters/Categories/Industries.tsx","../../src/hooks/usePageSections.tsx","../../src/features/Search/Filters/Categories/PageSections.tsx","../../src/features/Search/Filters/Categories/Years.tsx","../../src/features/SearchV2/FilterKeyword.tsx","../../src/features/SearchV2/SearchButton.tsx","../../src/ui/Icon/ChevronRight.tsx","../../src/features/MarketIntelligence/Categories.tsx","../../src/features/SearchV2/FilterList.tsx","../../src/features/SearchV2/SearchPanel.tsx","../../node_modules/react-infinite-scroll-component/dist/index.es.js","../../src/utils/filterUtils.ts","../../src/hooks/useSolrSearch.tsx","../../src/features/Search/NoResult.tsx","../../src/assets/search/no-image.jpg","../../src/ui/Image/Image.tsx","../../src/features/Search/Results/TextItem.tsx","../../src/features/Search/Results/Text.tsx","../../node_modules/react-masonry/dist/index.js","../../src/stores/DetailsStore.tsx","../../src/features/Search/Results/ImageItem.tsx","../../src/features/Search/Results/Image.tsx","../../src/features/Search/Results/PageItem.tsx","../../src/features/Search/Results/PagesResults.tsx","../../src/features/Search/Results/DetailsModal.tsx","../../__vite-browser-external","../../node_modules/pdfjs-dist/build/pdf.js","../../node_modules/react-pdf/dist/esm/pdfjs.js","../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../node_modules/prop-types/factoryWithThrowingShims.js","../../node_modules/prop-types/index.js","../../node_modules/make-event-props/dist/esm/index.js","../../node_modules/make-cancellable-promise/dist/esm/index.js","../../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../../node_modules/tiny-warning/dist/tiny-warning.esm.js","../../node_modules/react-pdf/dist/esm/DocumentContext.js","../../node_modules/react-pdf/dist/esm/Message.js","../../node_modules/react-pdf/dist/esm/LinkService.js","../../node_modules/react-pdf/dist/esm/PasswordResponses.js","../../node_modules/react-pdf/dist/esm/shared/utils.js","../../node_modules/react-pdf/dist/esm/shared/hooks/useResolver.js","../../node_modules/react-pdf/dist/esm/shared/propTypes.js","../../node_modules/react-pdf/dist/esm/Document.js","../../node_modules/react-pdf/dist/esm/shared/hooks/useDocumentContext.js","../../node_modules/merge-refs/dist/esm/index.js","../../node_modules/react-pdf/dist/esm/PageContext.js","../../node_modules/react-pdf/dist/esm/shared/constants.js","../../node_modules/react-pdf/dist/esm/shared/structTreeUtils.js","../../node_modules/react-pdf/dist/esm/StructTreeItem.js","../../node_modules/react-pdf/dist/esm/shared/hooks/usePageContext.js","../../node_modules/react-pdf/dist/esm/StructTree.js","../../node_modules/react-pdf/dist/esm/Page/PageCanvas.js","../../node_modules/react-pdf/dist/esm/Page/PageSVG.js","../../node_modules/react-pdf/dist/esm/Page/TextLayer.js","../../node_modules/react-pdf/dist/esm/Page/AnnotationLayer.js","../../node_modules/react-pdf/dist/esm/Page.js","../../node_modules/react-pdf/dist/esm/index.js","../../src/features/Search/Results/DocumentViewer.tsx","../../src/features/Search/Filters/ListToggle/FilterKeyword.tsx","../../src/features/Search/Filters/ListToggle/FilterList.tsx","../../src/features/Search/SearchResult.tsx","../../src/pages/Search.tsx"],"sourcesContent":["export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { warn, warnOnce } from './utils.js';\nimport { getDefaults } from './defaults.js';\nimport { getI18n } from './i18nInstance.js';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var i18n = i18nFromProps || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useContext } from 'react';\nimport { nodesToString, Trans as TransWithoutContext } from './TransWithoutContext.js';\nimport { getI18n, I18nContext } from './context.js';\nexport { nodesToString };\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n var t = tFromProps || i18n && i18n.t.bind(i18n);\n return TransWithoutContext(_objectSpread({\n children: children,\n count: count,\n parent: parent,\n i18nKey: i18nKey,\n context: context,\n tOptions: tOptions,\n values: values,\n defaults: defaults,\n components: components,\n ns: ns || t && t.ns || defaultNSFromContext || i18n && i18n.options && i18n.options.defaultNS,\n i18n: i18n,\n t: tFromProps,\n shouldUnescape: shouldUnescape\n }, additionalProps));\n}","import{microTask as i}from'./micro-task.js';function o(){let n=[],r={addEventListener(e,t,s,a){return e.addEventListener(t,s,a),r.add(()=>e.removeEventListener(t,s,a))},requestAnimationFrame(...e){let t=requestAnimationFrame(...e);return r.add(()=>cancelAnimationFrame(t))},nextFrame(...e){return r.requestAnimationFrame(()=>r.requestAnimationFrame(...e))},setTimeout(...e){let t=setTimeout(...e);return r.add(()=>clearTimeout(t))},microTask(...e){let t={current:!0};return i(()=>{t.current&&e[0]()}),r.add(()=>{t.current=!1})},style(e,t,s){let a=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:s}),this.add(()=>{Object.assign(e.style,{[t]:a})})},group(e){let t=o();return e(t),this.add(()=>t.dispose())},add(e){return n.push(e),()=>{let t=n.indexOf(e);if(t>=0)for(let s of n.splice(t,1))s()}},dispose(){for(let e of n.splice(0))e()}};return r}export{o as disposables};\n","import{useState as s,useEffect as o}from\"react\";import{disposables as t}from'../utils/disposables.js';function p(){let[e]=s(t);return o(()=>()=>e.dispose(),[e]),e}export{p as useDisposables};\n","import{useEffect as s,useRef as f}from\"react\";import{useEvent as i}from'./use-event.js';function m(u,t){let e=f([]),r=i(u);s(()=>{let o=[...e.current];for(let[n,a]of t.entries())if(e.current[n]!==a){let l=r(t,o);return e.current=t,l}},[r,...t])}export{m as useWatch};\n","function t(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function i(){return/Android/gi.test(window.navigator.userAgent)}function n(){return t()||i()}export{i as isAndroid,t as isIOS,n as isMobile};\n","import{useRef as r}from\"react\";import{useIsoMorphicEffect as t}from'./use-iso-morphic-effect.js';function f(){let e=r(!1);return t(()=>(e.current=!0,()=>{e.current=!1}),[]),e}export{f as useIsMounted};\n","function t(n){function e(){document.readyState!==\"loading\"&&(n(),document.removeEventListener(\"DOMContentLoaded\",e))}typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"DOMContentLoaded\",e),e())}export{t as onDocumentReady};\n","import E,{useRef as L}from\"react\";import{forwardRefWithAs as U,render as N}from'../../utils/render.js';import{useServerHandoffComplete as I}from'../../hooks/use-server-handoff-complete.js';import{useSyncRefs as x}from'../../hooks/use-sync-refs.js';import{Features as R,Hidden as g}from'../../internal/hidden.js';import{focusElement as f,focusIn as M,Focus as p,FocusResult as w}from'../../utils/focus-management.js';import{match as k}from'../../utils/match.js';import{useEvent as A}from'../../hooks/use-event.js';import{useTabDirection as G,Direction as H}from'../../hooks/use-tab-direction.js';import{useIsMounted as C}from'../../hooks/use-is-mounted.js';import{useOwnerDocument as K}from'../../hooks/use-owner.js';import{useEventListener as W}from'../../hooks/use-event-listener.js';import{microTask as O}from'../../utils/micro-task.js';import{useWatch as F}from'../../hooks/use-watch.js';import{useDisposables as V}from'../../hooks/use-disposables.js';import{onDocumentReady as q}from'../../utils/document-ready.js';import{useOnUnmount as D}from'../../hooks/use-on-unmount.js';function P(t){if(!t)return new Set;if(typeof t==\"function\")return new Set(t());let r=new Set;for(let e of t.current)e.current instanceof HTMLElement&&r.add(e.current);return r}let J=\"div\";var h=(n=>(n[n.None=1]=\"None\",n[n.InitialFocus=2]=\"InitialFocus\",n[n.TabLock=4]=\"TabLock\",n[n.FocusLock=8]=\"FocusLock\",n[n.RestoreFocus=16]=\"RestoreFocus\",n[n.All=30]=\"All\",n))(h||{});function X(t,r){let e=L(null),o=x(e,r),{initialFocus:u,containers:i,features:n=30,...l}=t;I()||(n=1);let m=K(e);Y({ownerDocument:m},Boolean(n&16));let c=Z({ownerDocument:m,container:e,initialFocus:u},Boolean(n&2));$({ownerDocument:m,container:e,containers:i,previousActiveElement:c},Boolean(n&8));let v=G(),y=A(s=>{let T=e.current;if(!T)return;(B=>B())(()=>{k(v.current,{[H.Forwards]:()=>{M(T,p.First,{skipElements:[s.relatedTarget]})},[H.Backwards]:()=>{M(T,p.Last,{skipElements:[s.relatedTarget]})}})})}),_=V(),b=L(!1),j={ref:o,onKeyDown(s){s.key==\"Tab\"&&(b.current=!0,_.requestAnimationFrame(()=>{b.current=!1}))},onBlur(s){let T=P(i);e.current instanceof HTMLElement&&T.add(e.current);let d=s.relatedTarget;d instanceof HTMLElement&&d.dataset.headlessuiFocusGuard!==\"true\"&&(S(T,d)||(b.current?M(e.current,k(v.current,{[H.Forwards]:()=>p.Next,[H.Backwards]:()=>p.Previous})|p.WrapAround,{relativeTo:s.target}):s.target instanceof HTMLElement&&f(s.target)))}};return E.createElement(E.Fragment,null,Boolean(n&4)&&E.createElement(g,{as:\"button\",type:\"button\",\"data-headlessui-focus-guard\":!0,onFocus:y,features:R.Focusable}),N({ourProps:j,theirProps:l,defaultTag:J,name:\"FocusTrap\"}),Boolean(n&4)&&E.createElement(g,{as:\"button\",type:\"button\",\"data-headlessui-focus-guard\":!0,onFocus:y,features:R.Focusable}))}let z=U(X),ge=Object.assign(z,{features:h}),a=[];q(()=>{function t(r){r.target instanceof HTMLElement&&r.target!==document.body&&a[0]!==r.target&&(a.unshift(r.target),a=a.filter(e=>e!=null&&e.isConnected),a.splice(10))}window.addEventListener(\"click\",t,{capture:!0}),window.addEventListener(\"mousedown\",t,{capture:!0}),window.addEventListener(\"focus\",t,{capture:!0}),document.body.addEventListener(\"click\",t,{capture:!0}),document.body.addEventListener(\"mousedown\",t,{capture:!0}),document.body.addEventListener(\"focus\",t,{capture:!0})});function Q(t=!0){let r=L(a.slice());return F(([e],[o])=>{o===!0&&e===!1&&O(()=>{r.current.splice(0)}),o===!1&&e===!0&&(r.current=a.slice())},[t,a,r]),A(()=>{var e;return(e=r.current.find(o=>o!=null&&o.isConnected))!=null?e:null})}function Y({ownerDocument:t},r){let e=Q(r);F(()=>{r||(t==null?void 0:t.activeElement)===(t==null?void 0:t.body)&&f(e())},[r]),D(()=>{r&&f(e())})}function Z({ownerDocument:t,container:r,initialFocus:e},o){let u=L(null),i=C();return F(()=>{if(!o)return;let n=r.current;n&&O(()=>{if(!i.current)return;let l=t==null?void 0:t.activeElement;if(e!=null&&e.current){if((e==null?void 0:e.current)===l){u.current=l;return}}else if(n.contains(l)){u.current=l;return}e!=null&&e.current?f(e.current):M(n,p.First)===w.Error&&console.warn(\"There are no focusable elements inside the \"),u.current=t==null?void 0:t.activeElement})},[o]),u}function $({ownerDocument:t,container:r,containers:e,previousActiveElement:o},u){let i=C();W(t==null?void 0:t.defaultView,\"focus\",n=>{if(!u||!i.current)return;let l=P(e);r.current instanceof HTMLElement&&l.add(r.current);let m=o.current;if(!m)return;let c=n.target;c&&c instanceof HTMLElement?S(l,c)?(o.current=c,f(c)):(n.preventDefault(),n.stopPropagation(),f(m)):f(o.current)},!0)}function S(t,r){for(let e of t)if(e.contains(r))return!0;return!1}export{ge as FocusTrap};\n","import u,{createContext as m,useContext as D,useMemo as l,useState as T}from\"react\";import{useId as P}from'../../hooks/use-id.js';import{forwardRefWithAs as g,render as E}from'../../utils/render.js';import{useIsoMorphicEffect as x}from'../../hooks/use-iso-morphic-effect.js';import{useSyncRefs as R}from'../../hooks/use-sync-refs.js';import{useEvent as I}from'../../hooks/use-event.js';let d=m(null);function f(){let r=D(d);if(r===null){let t=new Error(\"You used a component, but it is not inside a relevant parent.\");throw Error.captureStackTrace&&Error.captureStackTrace(t,f),t}return r}function M(){let[r,t]=T([]);return[r.length>0?r.join(\" \"):void 0,l(()=>function(e){let i=I(s=>(t(o=>[...o,s]),()=>t(o=>{let p=o.slice(),c=p.indexOf(s);return c!==-1&&p.splice(c,1),p}))),n=l(()=>({register:i,slot:e.slot,name:e.name,props:e.props}),[i,e.slot,e.name,e.props]);return u.createElement(d.Provider,{value:n},e.children)},[t])]}let S=\"p\";function h(r,t){let a=P(),{id:e=`headlessui-description-${a}`,...i}=r,n=f(),s=R(t);x(()=>n.register(e),[e,n.register]);let o={ref:s,...n.props,id:e};return E({ourProps:o,theirProps:i,slot:n.slot||{},defaultTag:S,name:n.name||\"Description\"})}let y=g(h),b=Object.assign(y,{});export{b as Description,M as useDescriptions};\n","import d,{createContext as c,useContext as m}from\"react\";import{useIsoMorphicEffect as f}from'../hooks/use-iso-morphic-effect.js';import{useEvent as p}from'../hooks/use-event.js';let a=c(()=>{});a.displayName=\"StackContext\";var s=(e=>(e[e.Add=0]=\"Add\",e[e.Remove=1]=\"Remove\",e))(s||{});function x(){return m(a)}function M({children:i,onUpdate:r,type:e,element:n,enabled:u}){let l=x(),o=p((...t)=>{r==null||r(...t),l(...t)});return f(()=>{let t=u===void 0||u===!0;return t&&o(0,e,n),()=>{t&&o(1,e,n)}},[o,e,n,u]),d.createElement(a.Provider,{value:o},i)}export{s as StackMessage,M as StackProvider,x as useStackContext};\n","import*as l from\"react\";function i(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}const d=typeof Object.is==\"function\"?Object.is:i,{useState:u,useEffect:h,useLayoutEffect:f,useDebugValue:p}=l;let S=!1,_=!1;function y(e,t,c){const a=t(),[{inst:n},o]=u({inst:{value:a,getSnapshot:t}});return f(()=>{n.value=a,n.getSnapshot=t,r(n)&&o({inst:n})},[e,a,t]),h(()=>(r(n)&&o({inst:n}),e(()=>{r(n)&&o({inst:n})})),[e]),p(a),a}function r(e){const t=e.getSnapshot,c=e.value;try{const a=t();return!d(c,a)}catch{return!0}}export{y as useSyncExternalStore};\n","function t(r,e,n){return e()}export{t as useSyncExternalStore};\n","import*as e from\"react\";import{useSyncExternalStore as t}from'./useSyncExternalStoreShimClient.js';import{useSyncExternalStore as o}from'./useSyncExternalStoreShimServer.js';const r=typeof window!=\"undefined\"&&typeof window.document!=\"undefined\"&&typeof window.document.createElement!=\"undefined\",s=!r,c=s?o:t,a=\"useSyncExternalStore\"in e?(n=>n.useSyncExternalStore)(e):c;export{a as useSyncExternalStore};\n","import{useSyncExternalStore as r}from'../use-sync-external-store-shim/index.js';function S(t){return r(t.subscribe,t.getSnapshot,t.getSnapshot)}export{S as useStore};\n","function a(o,r){let t=o(),n=new Set;return{getSnapshot(){return t},subscribe(e){return n.add(e),()=>n.delete(e)},dispatch(e,...s){let i=r[e].call(t,...s);i&&(t=i,n.forEach(c=>c()))}}}export{a as createStore};\n","function c(){let o;return{before({doc:e}){var l;let n=e.documentElement;o=((l=e.defaultView)!=null?l:window).innerWidth-n.clientWidth},after({doc:e,d:n}){let t=e.documentElement,l=t.clientWidth-t.offsetWidth,r=o-l;n.style(t,\"paddingRight\",`${r}px`)}}}export{c as adjustScrollbarPadding};\n","import{isIOS as f}from'../../utils/platform.js';function p(){if(!f())return{};let o;return{before(){o=window.pageYOffset},after({doc:r,d:l,meta:s}){function i(e){return s.containers.flatMap(t=>t()).some(t=>t.contains(e))}l.style(r.body,\"marginTop\",`-${o}px`),window.scrollTo(0,0);let n=null;l.addEventListener(r,\"click\",e=>{if(e.target instanceof HTMLElement)try{let t=e.target.closest(\"a\");if(!t)return;let{hash:c}=new URL(t.href),a=r.querySelector(c);a&&!i(a)&&(n=a)}catch{}},!0),l.addEventListener(r,\"touchmove\",e=>{e.target instanceof HTMLElement&&!i(e.target)&&e.preventDefault()},{passive:!1}),l.add(()=>{window.scrollTo(0,window.pageYOffset+o),n&&n.isConnected&&(n.scrollIntoView({block:\"nearest\"}),n=null)})}}}export{p as handleIOSLocking};\n","function l(){return{before({doc:e,d:o}){o.style(e.documentElement,\"overflow\",\"hidden\")}}}export{l as preventScroll};\n","import{disposables as s}from'../../utils/disposables.js';import{createStore as i}from'../../utils/store.js';import{adjustScrollbarPadding as l}from'./adjust-scrollbar-padding.js';import{handleIOSLocking as d}from'./handle-ios-locking.js';import{preventScroll as p}from'./prevent-scroll.js';function m(e){let n={};for(let t of e)Object.assign(n,t(n));return n}let a=i(()=>new Map,{PUSH(e,n){var o;let t=(o=this.get(e))!=null?o:{doc:e,count:0,d:s(),meta:new Set};return t.count++,t.meta.add(n),this.set(e,t),this},POP(e,n){let t=this.get(e);return t&&(t.count--,t.meta.delete(n)),this},SCROLL_PREVENT({doc:e,d:n,meta:t}){let o={doc:e,d:n,meta:m(t)},c=[d(),l(),p()];c.forEach(({before:r})=>r==null?void 0:r(o)),c.forEach(({after:r})=>r==null?void 0:r(o))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});a.subscribe(()=>{let e=a.getSnapshot(),n=new Map;for(let[t]of e)n.set(t,t.documentElement.style.overflow);for(let t of e.values()){let o=n.get(t.doc)===\"hidden\",c=t.count!==0;(c&&!o||!c&&o)&&a.dispatch(t.count>0?\"SCROLL_PREVENT\":\"SCROLL_ALLOW\",t),t.count===0&&a.dispatch(\"TEARDOWN\",t)}});export{a as overflows};\n","import{useIsoMorphicEffect as u}from'../use-iso-morphic-effect.js';import{useStore as s}from'../../hooks/use-store.js';import{overflows as t}from'./overflow-store.js';function p(e,r,n){let f=s(t),o=e?f.get(e):void 0,i=o?o.count>0:!1;return u(()=>{if(!(!e||!r))return t.dispatch(\"PUSH\",e,n),()=>t.dispatch(\"POP\",e,n)},[r,e]),i}export{p as useDocumentOverflowLockedEffect};\n","import{useIsoMorphicEffect as s}from'./use-iso-morphic-effect.js';let u=new Map,t=new Map;function h(r,l=!0){s(()=>{var o;if(!l)return;let e=typeof r==\"function\"?r():r.current;if(!e)return;function a(){var d;if(!e)return;let i=(d=t.get(e))!=null?d:1;if(i===1?t.delete(e):t.set(e,i-1),i!==1)return;let n=u.get(e);n&&(n[\"aria-hidden\"]===null?e.removeAttribute(\"aria-hidden\"):e.setAttribute(\"aria-hidden\",n[\"aria-hidden\"]),e.inert=n.inert,u.delete(e))}let f=(o=t.get(e))!=null?o:0;return t.set(e,f+1),f!==0||(u.set(e,{\"aria-hidden\":e.getAttribute(\"aria-hidden\"),inert:e.inert}),e.setAttribute(\"aria-hidden\",\"true\"),e.inert=!0),a},[r,l])}export{h as useInert};\n","import u,{createContext as ce,createRef as De,useCallback as j,useContext as K,useEffect as w,useMemo as y,useReducer as me,useRef as Pe,useState as ye}from\"react\";import{match as B}from'../../utils/match.js';import{forwardRefWithAs as E,render as A,Features as V}from'../../utils/render.js';import{useSyncRefs as R}from'../../hooks/use-sync-refs.js';import{Keys as Ee}from'../keyboard.js';import{isDisabledReactIssue7711 as Ae}from'../../utils/bugs.js';import{useId as C}from'../../hooks/use-id.js';import{FocusTrap as v}from'../../components/focus-trap/focus-trap.js';import{Portal as H,useNestedPortals as Re}from'../../components/portal/portal.js';import{ForcePortalRoot as G}from'../../internal/portal-force-root.js';import{Description as Ce,useDescriptions as ve}from'../description/description.js';import{useOpenClosed as Oe,State as _}from'../../internal/open-closed.js';import{useServerHandoffComplete as be}from'../../hooks/use-server-handoff-complete.js';import{StackProvider as he,StackMessage as q}from'../../internal/stack-context.js';import{useOutsideClick as Se}from'../../hooks/use-outside-click.js';import{useOwnerDocument as Le}from'../../hooks/use-owner.js';import{useEventListener as Fe}from'../../hooks/use-event-listener.js';import{useEvent as O}from'../../hooks/use-event.js';import{useDocumentOverflowLockedEffect as ke}from'../../hooks/document-overflow/use-document-overflow.js';import{useInert as z}from'../../hooks/use-inert.js';import{useRootContainers as xe}from'../../hooks/use-root-containers.js';var _e=(o=>(o[o.Open=0]=\"Open\",o[o.Closed=1]=\"Closed\",o))(_e||{}),Ie=(e=>(e[e.SetTitleId=0]=\"SetTitleId\",e))(Ie||{});let Me={[0](t,e){return t.titleId===e.id?t:{...t,titleId:e.id}}},I=ce(null);I.displayName=\"DialogContext\";function b(t){let e=K(I);if(e===null){let o=new Error(`<${t} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,b),o}return e}function we(t,e,o=()=>[document.body]){ke(t,e,i=>{var n;return{containers:[...(n=i.containers)!=null?n:[],o]}})}function Be(t,e){return B(e.type,Me,t,e)}let He=\"div\",Ge=V.RenderStrategy|V.Static;function Ne(t,e){var X;let o=C(),{id:i=`headlessui-dialog-${o}`,open:n,onClose:l,initialFocus:s,__demoMode:g=!1,...T}=t,[m,h]=ye(0),a=Oe();n===void 0&&a!==null&&(n=(a&_.Open)===_.Open);let D=Pe(null),Q=R(D,e),f=Le(D),N=t.hasOwnProperty(\"open\")||a!==null,U=t.hasOwnProperty(\"onClose\");if(!N&&!U)throw new Error(\"You have to provide an `open` and an `onClose` prop to the `Dialog` component.\");if(!N)throw new Error(\"You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.\");if(!U)throw new Error(\"You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.\");if(typeof n!=\"boolean\")throw new Error(`You provided an \\`open\\` prop to the \\`Dialog\\`, but the value is not a boolean. Received: ${n}`);if(typeof l!=\"function\")throw new Error(`You provided an \\`onClose\\` prop to the \\`Dialog\\`, but the value is not a function. Received: ${l}`);let p=n?0:1,[S,Z]=me(Be,{titleId:null,descriptionId:null,panelRef:De()}),P=O(()=>l(!1)),W=O(r=>Z({type:0,id:r})),L=be()?g?!1:p===0:!1,F=m>1,Y=K(I)!==null,[ee,te]=Re(),{resolveContainers:M,mainTreeNodeRef:k,MainTreeNode:oe}=xe({portals:ee,defaultContainers:[(X=S.panelRef.current)!=null?X:D.current]}),re=F?\"parent\":\"leaf\",$=a!==null?(a&_.Closing)===_.Closing:!1,ne=(()=>Y||$?!1:L)(),le=j(()=>{var r,c;return(c=Array.from((r=f==null?void 0:f.querySelectorAll(\"body > *\"))!=null?r:[]).find(d=>d.id===\"headlessui-portal-root\"?!1:d.contains(k.current)&&d instanceof HTMLElement))!=null?c:null},[k]);z(le,ne);let ae=(()=>F?!0:L)(),ie=j(()=>{var r,c;return(c=Array.from((r=f==null?void 0:f.querySelectorAll(\"[data-headlessui-portal]\"))!=null?r:[]).find(d=>d.contains(k.current)&&d instanceof HTMLElement))!=null?c:null},[k]);z(ie,ae);let se=(()=>!(!L||F))();Se(M,P,se);let pe=(()=>!(F||p!==0))();Fe(f==null?void 0:f.defaultView,\"keydown\",r=>{pe&&(r.defaultPrevented||r.key===Ee.Escape&&(r.preventDefault(),r.stopPropagation(),P()))});let de=(()=>!($||p!==0||Y))();we(f,de,M),w(()=>{if(p!==0||!D.current)return;let r=new ResizeObserver(c=>{for(let d of c){let x=d.target.getBoundingClientRect();x.x===0&&x.y===0&&x.width===0&&x.height===0&&P()}});return r.observe(D.current),()=>r.disconnect()},[p,D,P]);let[ue,fe]=ve(),ge=y(()=>[{dialogState:p,close:P,setTitleId:W},S],[p,S,P,W]),J=y(()=>({open:p===0}),[p]),Te={ref:Q,id:i,role:\"dialog\",\"aria-modal\":p===0?!0:void 0,\"aria-labelledby\":S.titleId,\"aria-describedby\":ue};return u.createElement(he,{type:\"Dialog\",enabled:p===0,element:D,onUpdate:O((r,c)=>{c===\"Dialog\"&&B(r,{[q.Add]:()=>h(d=>d+1),[q.Remove]:()=>h(d=>d-1)})})},u.createElement(G,{force:!0},u.createElement(H,null,u.createElement(I.Provider,{value:ge},u.createElement(H.Group,{target:D},u.createElement(G,{force:!1},u.createElement(fe,{slot:J,name:\"Dialog.Description\"},u.createElement(v,{initialFocus:s,containers:M,features:L?B(re,{parent:v.features.RestoreFocus,leaf:v.features.All&~v.features.FocusLock}):v.features.None},u.createElement(te,null,A({ourProps:Te,theirProps:T,slot:J,defaultTag:He,features:Ge,visible:p===0,name:\"Dialog\"}))))))))),u.createElement(oe,null))}let Ue=\"div\";function We(t,e){let o=C(),{id:i=`headlessui-dialog-overlay-${o}`,...n}=t,[{dialogState:l,close:s}]=b(\"Dialog.Overlay\"),g=R(e),T=O(a=>{if(a.target===a.currentTarget){if(Ae(a.currentTarget))return a.preventDefault();a.preventDefault(),a.stopPropagation(),s()}}),m=y(()=>({open:l===0}),[l]);return A({ourProps:{ref:g,id:i,\"aria-hidden\":!0,onClick:T},theirProps:n,slot:m,defaultTag:Ue,name:\"Dialog.Overlay\"})}let Ye=\"div\";function $e(t,e){let o=C(),{id:i=`headlessui-dialog-backdrop-${o}`,...n}=t,[{dialogState:l},s]=b(\"Dialog.Backdrop\"),g=R(e);w(()=>{if(s.panelRef.current===null)throw new Error(\"A component is being used, but a component is missing.\")},[s.panelRef]);let T=y(()=>({open:l===0}),[l]);return u.createElement(G,{force:!0},u.createElement(H,null,A({ourProps:{ref:g,id:i,\"aria-hidden\":!0},theirProps:n,slot:T,defaultTag:Ye,name:\"Dialog.Backdrop\"})))}let Je=\"div\";function Xe(t,e){let o=C(),{id:i=`headlessui-dialog-panel-${o}`,...n}=t,[{dialogState:l},s]=b(\"Dialog.Panel\"),g=R(e,s.panelRef),T=y(()=>({open:l===0}),[l]),m=O(a=>{a.stopPropagation()});return A({ourProps:{ref:g,id:i,onClick:m},theirProps:n,slot:T,defaultTag:Je,name:\"Dialog.Panel\"})}let je=\"h2\";function Ke(t,e){let o=C(),{id:i=`headlessui-dialog-title-${o}`,...n}=t,[{dialogState:l,setTitleId:s}]=b(\"Dialog.Title\"),g=R(e);w(()=>(s(i),()=>s(null)),[i,s]);let T=y(()=>({open:l===0}),[l]);return A({ourProps:{ref:g,id:i},theirProps:n,slot:T,defaultTag:je,name:\"Dialog.Title\"})}let Ve=E(Ne),qe=E($e),ze=E(Xe),Qe=E(We),Ze=E(Ke),_t=Object.assign(Ve,{Backdrop:qe,Panel:ze,Overlay:Qe,Title:Ze,Description:Ce});export{_t as Dialog};\n","import{useState as f,useCallback as n}from\"react\";import{useIsMounted as i}from'./use-is-mounted.js';function c(a=0){let[l,r]=f(a),t=i(),o=n(e=>{t.current&&r(u=>u|e)},[l,t]),m=n(e=>Boolean(l&e),[l]),s=n(e=>{t.current&&r(u=>u&~e)},[r,t]),g=n(e=>{t.current&&r(u=>u^e)},[r]);return{flags:l,addFlag:o,hasFlag:m,removeFlag:s,toggleFlag:g}}export{c as useFlags};\n","function l(r){let e={called:!1};return(...t)=>{if(!e.called)return e.called=!0,r(...t)}}export{l as once};\n","import{once as T}from'../../../utils/once.js';import{disposables as g}from'../../../utils/disposables.js';import{match as s}from'../../../utils/match.js';function d(t,...e){t&&e.length>0&&t.classList.add(...e)}function v(t,...e){t&&e.length>0&&t.classList.remove(...e)}function F(t,e){let n=g();if(!t)return n.dispose;let{transitionDuration:m,transitionDelay:o}=getComputedStyle(t),[u,p]=[m,o].map(a=>{let[r=0]=a.split(\",\").filter(Boolean).map(i=>i.includes(\"ms\")?parseFloat(i):parseFloat(i)*1e3).sort((i,f)=>f-i);return r}),l=u+p;if(l!==0){n.group(r=>{r.setTimeout(()=>{e(),r.dispose()},l),r.addEventListener(t,\"transitionrun\",i=>{i.target===i.currentTarget&&r.dispose()})});let a=n.addEventListener(t,\"transitionend\",r=>{r.target===r.currentTarget&&(e(),a())})}else e();return n.add(()=>e()),n.dispose}function y(t,e,n,m){let o=n?\"enter\":\"leave\",u=g(),p=m!==void 0?T(m):()=>{};o===\"enter\"&&(t.removeAttribute(\"hidden\"),t.style.display=\"\");let l=s(o,{enter:()=>e.enter,leave:()=>e.leave}),a=s(o,{enter:()=>e.enterTo,leave:()=>e.leaveTo}),r=s(o,{enter:()=>e.enterFrom,leave:()=>e.leaveFrom});return v(t,...e.enter,...e.enterTo,...e.enterFrom,...e.leave,...e.leaveFrom,...e.leaveTo,...e.entered),d(t,...l,...r),u.nextFrame(()=>{v(t,...r),d(t,...a),F(t,()=>(v(t,...l),d(t,...e.entered),p()))}),u.dispose}export{y as transition};\n","import{transition as d}from'../components/transitions/utils/transition.js';import{disposables as l}from'../utils/disposables.js';import{useDisposables as f}from'./use-disposables.js';import{useIsMounted as m}from'./use-is-mounted.js';import{useIsoMorphicEffect as p}from'./use-iso-morphic-effect.js';import{useLatestValue as b}from'./use-latest-value.js';function D({container:i,direction:t,classes:o,onStart:s,onStop:u}){let a=m(),c=f(),r=b(t);p(()=>{let e=l();c.add(e.dispose);let n=i.current;if(n&&r.current!==\"idle\"&&a.current)return e.dispose(),s.current(r.current),e.add(d(n,o.current,r.current===\"enter\",()=>{e.dispose(),u.current(r.current)})),e.dispose},[t])}export{D as useTransition};\n","import m,{Fragment as Q,createContext as Y,useContext as X,useEffect as y,useMemo as Z,useRef as c,useState as W}from\"react\";import{Features as de,forwardRefWithAs as q,render as $,RenderStrategy as E}from'../../utils/render.js';import{OpenClosedProvider as fe,State as b,useOpenClosed as ee}from'../../internal/open-closed.js';import{match as F}from'../../utils/match.js';import{useIsMounted as me}from'../../hooks/use-is-mounted.js';import{useIsoMorphicEffect as ce}from'../../hooks/use-iso-morphic-effect.js';import{useLatestValue as A}from'../../hooks/use-latest-value.js';import{useServerHandoffComplete as te}from'../../hooks/use-server-handoff-complete.js';import{useSyncRefs as ne}from'../../hooks/use-sync-refs.js';import{useTransition as pe}from'../../hooks/use-transition.js';import{useEvent as S}from'../../hooks/use-event.js';import{useDisposables as he}from'../../hooks/use-disposables.js';import{classNames as ve}from'../../utils/class-names.js';import{useFlags as ge}from'../../hooks/use-flags.js';function x(t=\"\"){return t.split(\" \").filter(n=>n.trim().length>1)}let I=Y(null);I.displayName=\"TransitionContext\";var Ce=(r=>(r.Visible=\"visible\",r.Hidden=\"hidden\",r))(Ce||{});function Ee(){let t=X(I);if(t===null)throw new Error(\"A is used but it is missing a parent or .\");return t}function be(){let t=X(_);if(t===null)throw new Error(\"A is used but it is missing a parent or .\");return t}let _=Y(null);_.displayName=\"NestingContext\";function M(t){return\"children\"in t?M(t.children):t.current.filter(({el:n})=>n.current!==null).filter(({state:n})=>n===\"visible\").length>0}function re(t,n){let r=A(t),o=c([]),N=me(),H=he(),p=S((s,e=E.Hidden)=>{let a=o.current.findIndex(({el:i})=>i===s);a!==-1&&(F(e,{[E.Unmount](){o.current.splice(a,1)},[E.Hidden](){o.current[a].state=\"hidden\"}}),H.microTask(()=>{var i;!M(o)&&N.current&&((i=r.current)==null||i.call(r))}))}),P=S(s=>{let e=o.current.find(({el:a})=>a===s);return e?e.state!==\"visible\"&&(e.state=\"visible\"):o.current.push({el:s,state:\"visible\"}),()=>p(s,E.Unmount)}),h=c([]),v=c(Promise.resolve()),T=c({enter:[],leave:[],idle:[]}),g=S((s,e,a)=>{h.current.splice(0),n&&(n.chains.current[e]=n.chains.current[e].filter(([i])=>i!==s)),n==null||n.chains.current[e].push([s,new Promise(i=>{h.current.push(i)})]),n==null||n.chains.current[e].push([s,new Promise(i=>{Promise.all(T.current[e].map(([l,R])=>R)).then(()=>i())})]),e===\"enter\"?v.current=v.current.then(()=>n==null?void 0:n.wait.current).then(()=>a(e)):a(e)}),f=S((s,e,a)=>{Promise.all(T.current[e].splice(0).map(([i,l])=>l)).then(()=>{var i;(i=h.current.shift())==null||i()}).then(()=>a(e))});return Z(()=>({children:o,register:P,unregister:p,onStart:g,onStop:f,wait:v,chains:T}),[P,p,o,g,f,T,v])}function Se(){}let xe=[\"beforeEnter\",\"afterEnter\",\"beforeLeave\",\"afterLeave\"];function ie(t){var r;let n={};for(let o of xe)n[o]=(r=t[o])!=null?r:Se;return n}function Pe(t){let n=c(ie(t));return y(()=>{n.current=ie(t)},[t]),n}let Re=\"div\",oe=de.RenderStrategy;function ye(t,n){let{beforeEnter:r,afterEnter:o,beforeLeave:N,afterLeave:H,enter:p,enterFrom:P,enterTo:h,entered:v,leave:T,leaveFrom:g,leaveTo:f,...s}=t,e=c(null),a=ne(e,n),i=s.unmount?E.Unmount:E.Hidden,{show:l,appear:R,initial:d}=Ee(),[u,U]=W(l?\"visible\":\"hidden\"),K=be(),{register:L,unregister:w}=K,j=c(null);y(()=>L(e),[L,e]),y(()=>{if(i===E.Hidden&&e.current){if(l&&u!==\"visible\"){U(\"visible\");return}return F(u,{[\"hidden\"]:()=>w(e),[\"visible\"]:()=>L(e)})}},[u,e,L,w,l,i]);let k=A({enter:x(p),enterFrom:x(P),enterTo:x(h),entered:x(v),leave:x(T),leaveFrom:x(g),leaveTo:x(f)}),O=Pe({beforeEnter:r,afterEnter:o,beforeLeave:N,afterLeave:H}),G=te();y(()=>{if(G&&u===\"visible\"&&e.current===null)throw new Error(\"Did you forget to passthrough the `ref` to the actual DOM node?\")},[e,u,G]);let B=d&&!R,ae=(()=>!G||B||j.current===l?\"idle\":l?\"enter\":\"leave\")(),D=ge(0),le=S(C=>F(C,{enter:()=>{D.addFlag(b.Opening),O.current.beforeEnter()},leave:()=>{D.addFlag(b.Closing),O.current.beforeLeave()},idle:()=>{}})),ue=S(C=>F(C,{enter:()=>{D.removeFlag(b.Opening),O.current.afterEnter()},leave:()=>{D.removeFlag(b.Closing),O.current.afterLeave()},idle:()=>{}})),V=re(()=>{U(\"hidden\"),w(e)},K);pe({container:e,classes:k,direction:ae,onStart:A(C=>{V.onStart(e,C,le)}),onStop:A(C=>{V.onStop(e,C,ue),C===\"leave\"&&!M(V)&&(U(\"hidden\"),w(e))})}),y(()=>{B&&(i===E.Hidden?j.current=null:j.current=l)},[l,B,u]);let J=s,Te={ref:a};return R&&l&&d&&(J={...J,className:ve(s.className,...k.current.enter,...k.current.enterFrom)}),m.createElement(_.Provider,{value:V},m.createElement(fe,{value:F(u,{[\"visible\"]:b.Open,[\"hidden\"]:b.Closed})|D.flags},$({ourProps:Te,theirProps:J,defaultTag:Re,features:oe,visible:u===\"visible\",name:\"Transition.Child\"})))}function Ne(t,n){let{show:r,appear:o=!1,unmount:N,...H}=t,p=c(null),P=ne(p,n);te();let h=ee();if(r===void 0&&h!==null&&(r=(h&b.Open)===b.Open),![!0,!1].includes(r))throw new Error(\"A is used but it is missing a `show={true | false}` prop.\");let[v,T]=W(r?\"visible\":\"hidden\"),g=re(()=>{T(\"hidden\")}),[f,s]=W(!0),e=c([r]);ce(()=>{f!==!1&&e.current[e.current.length-1]!==r&&(e.current.push(r),s(!1))},[e,r]);let a=Z(()=>({show:r,appear:o,initial:f}),[r,o,f]);y(()=>{if(r)T(\"visible\");else if(!M(g))T(\"hidden\");else{let d=p.current;if(!d)return;let u=d.getBoundingClientRect();u.x===0&&u.y===0&&u.width===0&&u.height===0&&T(\"hidden\")}},[r,g]);let i={unmount:N},l=S(()=>{var d;f&&s(!1),(d=t.beforeEnter)==null||d.call(t)}),R=S(()=>{var d;f&&s(!1),(d=t.beforeLeave)==null||d.call(t)});return m.createElement(_.Provider,{value:g},m.createElement(I.Provider,{value:a},$({ourProps:{...i,as:Q,children:m.createElement(se,{ref:P,...i,...H,beforeEnter:l,beforeLeave:R})},theirProps:{},defaultTag:Q,features:oe,visible:v===\"visible\",name:\"Transition\"})))}function He(t,n){let r=X(I)!==null,o=ee()!==null;return m.createElement(m.Fragment,null,!r&&o?m.createElement(z,{ref:n,...t}):m.createElement(se,{ref:n,...t}))}let z=q(Ne),se=q(ye),De=q(He),$e=Object.assign(z,{Child:De,Root:z});export{$e as Transition};\n","import { useState } from \"react\";\r\nimport { Button } from \"react-aria-components\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Transition } from \"@headlessui/react\";\r\nimport Icon from \"~/ui/Icon/Icon\";\r\n\r\nconst MessageBar = () => {\r\n const { t } = useTranslation();\r\n const siteUpdate = import.meta.env.VITE_SITE_UPDATE === \"true\" || false;\r\n const [showMessage, setShowMessage] = useState(siteUpdate);\r\n\r\n return (\r\n \r\n

{t(\"appMessage\")}

\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default MessageBar;\r\n","import { useState, useEffect } from \"react\";\r\nimport useSWR from \"swr\";\r\nimport { useReadLocalStorage } from \"usehooks-ts\";\r\nimport { fetcher } from \"~/hooks/useFetcher\";\r\n\r\nconst useYears = () => {\r\n const token = useReadLocalStorage(\"_t\") as string;\r\n const { data, isLoading } = useSWR(\"/api/search/filter/year\", (url) => fetcher(url, token));\r\n const [years, setYears] = useState([]);\r\n\r\n useEffect(() => {\r\n if (data) {\r\n setYears(\r\n data.map((item: number) => {\r\n return {\r\n id: item,\r\n name: item,\r\n frName: item,\r\n };\r\n })\r\n );\r\n }\r\n }, [data]);\r\n\r\n return {\r\n years,\r\n isLoading,\r\n };\r\n};\r\n\r\nexport default useYears;\r\n","import { Dispatch, ReactNode, SetStateAction, createContext, useEffect, useState } from \"react\";\r\nimport { ResultType } from \"~/features/Search/Results/types\";\r\n// import useDisclosures from \"~/hooks/useDisclosures\";\r\nimport useYears from \"~/hooks/useYears\";\r\n\r\ninterface AdvancedSearchProps {\r\n modalOpen: boolean;\r\n setModalOpen: Dispatch>;\r\n activeTabs: ResultType[];\r\n setActiveTabs: Dispatch>;\r\n searchTerm: string;\r\n setSearchTerm: Dispatch>;\r\n keyword: string;\r\n setKeyword: Dispatch>;\r\n filters: AdvancedSearchFilterType[];\r\n setFilters: Dispatch>;\r\n disclosureFilters: FilterType[];\r\n setDisclosureFilters: Dispatch>;\r\n yearFilters: FilterType[];\r\n yearFilterReset: () => void;\r\n setYearFilters: Dispatch>;\r\n industryFilters: FilterType[];\r\n setIndustryFilters: Dispatch>;\r\n companyFilters: FilterType[];\r\n setCompanyFilters: Dispatch>;\r\n imageThemeFilters: FilterType[];\r\n setImageThemeFilters: Dispatch>;\r\n pageSectionFilters: FilterType[];\r\n setPageSectionFilters: Dispatch>;\r\n sortBy: number;\r\n setSortBy: Dispatch>;\r\n\r\n addFilter: (f: FilterType, type: string) => void;\r\n removeFilter: (f: AdvancedSearchFilterType) => void;\r\n checkSelected: (type: string, id: number | string) => boolean;\r\n resetFilters: () => void;\r\n\r\n triggerSearch: boolean;\r\n setTriggerSearch: (flag: boolean) => void;\r\n}\r\n\r\nexport interface FilterType {\r\n id: string | number;\r\n name: string;\r\n frName: string;\r\n}\r\n\r\nexport interface AdvancedSearchFilterType {\r\n type: string;\r\n id: string | number;\r\n value: string;\r\n frValue: string;\r\n}\r\n\r\nexport const AdvancedSearchContext = createContext({\r\n modalOpen: false,\r\n setModalOpen: () => false,\r\n activeTabs: [],\r\n setActiveTabs: () => [],\r\n searchTerm: \"\",\r\n setSearchTerm: () => \"\",\r\n keyword: \"\",\r\n setKeyword: () => \"\",\r\n filters: [],\r\n setFilters: () => [],\r\n disclosureFilters: [],\r\n setDisclosureFilters: () => [],\r\n yearFilters: [],\r\n setYearFilters: () => [],\r\n yearFilterReset: () => [],\r\n industryFilters: [],\r\n setIndustryFilters: () => [],\r\n companyFilters: [],\r\n setCompanyFilters: () => [],\r\n imageThemeFilters: [],\r\n setImageThemeFilters: () => [],\r\n pageSectionFilters: [],\r\n setPageSectionFilters: () => [],\r\n sortBy: 0,\r\n setSortBy: () => 0,\r\n addFilter: () => [],\r\n removeFilter: () => [],\r\n checkSelected: () => false,\r\n resetFilters: () => {},\r\n triggerSearch: false,\r\n setTriggerSearch: () => [],\r\n});\r\n\r\nconst AdvancedSearchProvider = ({ children }: { children: ReactNode }) => {\r\n const [modalOpen, setModalOpen] = useState(false);\r\n const [activeTabs, setActiveTabs] = useState([\"images\"]);\r\n const [searchTerm, setSearchTerm] = useState(\"\");\r\n const [keyword, setKeyword] = useState(\"\");\r\n const [filters, setFilters] = useState([]);\r\n const [triggerSearch, setTriggerSearch] = useState(false);\r\n\r\n // filters\r\n const [disclosureFilters, setDisclosureFilters] = useState([]);\r\n const [yearFilters, setYearFilters] = useState([]);\r\n const [industryFilters, setIndustryFilters] = useState([]);\r\n const [companyFilters, setCompanyFilters] = useState([]);\r\n const [imageThemeFilters, setImageThemeFilters] = useState([]);\r\n const [pageSectionFilters, setPageSectionFilters] = useState([]);\r\n const [sortBy, setSortBy] = useState(0);\r\n\r\n // hooks\r\n // const { disclosures } = useDisclosures();\r\n const { years } = useYears();\r\n\r\n // Set default disclosures and years\r\n useEffect(() => {\r\n // resetDisclosures();\r\n yearFilterReset();\r\n }, [years]);\r\n\r\n // const resetDisclosures = () => {\r\n // setDisclosureFilters(disclosures);\r\n // disclosures.forEach((d: FilterType) => {\r\n // addFilter(d, \"disclosure\");\r\n // });\r\n // };\r\n\r\n const yearFilterReset = () => {\r\n if (years && years.length > 0) {\r\n const defaultYears: FilterType[] = [];\r\n defaultYears.push(years[0]);\r\n if (years.length > 1) defaultYears.push(years[1]);\r\n\r\n setYearFilters(defaultYears);\r\n defaultYears.forEach((yr) => {\r\n addFilter(yr, \"year\");\r\n });\r\n }\r\n };\r\n\r\n const addFilter = (f: FilterType, type: string) => {\r\n const advfilter = {\r\n type,\r\n id: f.id,\r\n value: f.name,\r\n frValue: f.frName,\r\n };\r\n if (filters.find((x) => x.type === type && x.id === f.id) === undefined) {\r\n setFilters((filters) => [...filters, advfilter]);\r\n }\r\n return;\r\n };\r\n\r\n const removeFilter = (f: AdvancedSearchFilterType) => {\r\n const index = filters.findIndex((filter) => filter.type === f.type && filter.id === f.id);\r\n if (index > -1) {\r\n const filtersCopy = [...filters];\r\n filtersCopy.splice(index, 1);\r\n setFilters(filtersCopy);\r\n removeFilterByType(f);\r\n }\r\n };\r\n\r\n const removeFilterByType = (f: AdvancedSearchFilterType) => {\r\n switch (f.type) {\r\n case \"disclosure\": {\r\n setDisclosureFilters(disclosureFilters.filter((filter) => filter.id !== f.id));\r\n return;\r\n }\r\n case \"year\": {\r\n setYearFilters(yearFilters.filter((filter) => filter.id !== f.id));\r\n return;\r\n }\r\n case \"industry\": {\r\n setIndustryFilters(industryFilters.filter((filter) => filter.id !== f.id));\r\n return;\r\n }\r\n case \"company\": {\r\n setCompanyFilters(companyFilters.filter((filter) => filter.id !== f.id));\r\n return;\r\n }\r\n case \"imagetheme\": {\r\n setImageThemeFilters(imageThemeFilters.filter((filter) => filter.id !== f.id));\r\n return;\r\n }\r\n case \"pagesection\": {\r\n setPageSectionFilters(pageSectionFilters.filter((filter) => filter.id !== f.id));\r\n return;\r\n }\r\n }\r\n };\r\n\r\n const checkSelected = (type: string, id: number | string) =>\r\n filters.some((f) => {\r\n if (f.type === type && f.id === id) {\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n\r\n const resetFilters = () => {\r\n setFilters([]);\r\n setDisclosureFilters([]);\r\n setYearFilters([]);\r\n setIndustryFilters([]);\r\n setCompanyFilters([]);\r\n setImageThemeFilters([]);\r\n setPageSectionFilters([]);\r\n setKeyword(\"\");\r\n setSearchTerm(\"\");\r\n setSortBy(0);\r\n };\r\n\r\n const values = {\r\n modalOpen,\r\n setModalOpen,\r\n activeTabs,\r\n setActiveTabs,\r\n searchTerm,\r\n setSearchTerm,\r\n keyword,\r\n setKeyword,\r\n filters,\r\n setFilters,\r\n disclosureFilters,\r\n setDisclosureFilters,\r\n yearFilters,\r\n setYearFilters,\r\n industryFilters,\r\n setIndustryFilters,\r\n companyFilters,\r\n setCompanyFilters,\r\n imageThemeFilters,\r\n setImageThemeFilters,\r\n pageSectionFilters,\r\n setPageSectionFilters,\r\n sortBy,\r\n setSortBy,\r\n addFilter,\r\n removeFilter,\r\n checkSelected,\r\n yearFilterReset,\r\n resetFilters,\r\n triggerSearch,\r\n setTriggerSearch,\r\n };\r\n\r\n return {children};\r\n};\r\n\r\nexport default AdvancedSearchProvider;\r\n","import { useContext, useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\nimport { ResultType } from \"../Search/Results/types\";\r\n\r\nconst SearchTypeTabs = () => {\r\n const { activeTabs, setActiveTabs } = useContext(AdvancedSearchContext);\r\n const { t } = useTranslation();\r\n const REGION = import.meta.env.VITE_REGION;\r\n const tabs: ResultType[] =\r\n REGION === \"us\"\r\n ? [\"images\", \"texts\", \"pages\", \"marketIntelligence\"]\r\n : [\"images\", \"pages\", \"fullDocuments\", \"marketIntelligence\"];\r\n\r\n const toggleActiveTabs = (tab: ResultType) => {\r\n setActiveTabs([tab]);\r\n };\r\n\r\n const isActiveTab = (tab: ResultType) => activeTabs.includes(tab);\r\n\r\n useEffect(() => {\r\n setActiveTabs([tabs[0]]);\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n {tabs.map((tab: ResultType, i) => (\r\n toggleActiveTabs(tab)}\r\n className={`rounded-full px-8 h-full ${\r\n isActiveTab(tab) ? \"bg-orange border-primary text-white\" : \"text-[#4B4B4B]\"\r\n }`}\r\n >\r\n {t(`searchResultTypes.${tab}`)}\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SearchTypeTabs;\r\n","import { useEffect, useMemo, useState } from \"react\";\r\nimport useSWR from \"swr\";\r\nimport { useReadLocalStorage } from \"usehooks-ts\";\r\nimport { fetcher } from \"~/hooks/useFetcher\";\r\nimport { FilterType } from \"~/providers/AdvancedSearchProvider\";\r\n\r\nexport interface CompanyType {\r\n CompanyId: number;\r\n Name: string;\r\n Rank: string;\r\n}\r\n\r\nconst useCompany = () => {\r\n const token = useReadLocalStorage(\"_t\") as string;\r\n const fetchUrl = \"/api/search/filter/company\";\r\n const { data: allCompanies, isLoading } = useSWR(fetchUrl, (url) => fetcher(url, token));\r\n const [companies, setCompanies] = useState([]);\r\n const [filteredCompanies, setFilteredCompanies] = useState(allCompanies);\r\n const [search, setSearch] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (allCompanies) {\r\n setCompanies(\r\n allCompanies.map((item: CompanyType) => {\r\n return {\r\n id: item.CompanyId,\r\n name: item.Name,\r\n frName: item.Name,\r\n };\r\n })\r\n );\r\n }\r\n }, [allCompanies]);\r\n\r\n const handleDebouncedInput = useMemo(\r\n () => (search: string) => {\r\n search\r\n ? fetcher(`${fetchUrl}?query=${search}`, token).then((data) => {\r\n // console.log(data);\r\n const filtered = data.map((item: CompanyType) => {\r\n return {\r\n id: item.CompanyId,\r\n name: item.Name,\r\n frName: item.Name,\r\n };\r\n });\r\n setFilteredCompanies(filtered);\r\n })\r\n : setFilteredCompanies(companies);\r\n },\r\n [token, companies]\r\n );\r\n\r\n useEffect(() => {\r\n const timerId = setTimeout(() => {\r\n handleDebouncedInput(search);\r\n }, 500);\r\n\r\n return () => {\r\n clearTimeout(timerId);\r\n };\r\n }, [handleDebouncedInput, search]);\r\n\r\n return {\r\n companies: search ? filteredCompanies : companies,\r\n isLoading,\r\n search,\r\n setSearch,\r\n };\r\n};\r\n\r\nexport default useCompany;\r\n","const Search = ({ className }: { className?: string }) => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default Search;\r\n","import { Dispatch, SetStateAction } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Search from \"~/ui/Icon/Search\";\r\nimport Button from \"~/ui/Button/Button\";\r\n\r\ninterface AdvancedSearchFilterBarProps {\r\n search: string;\r\n setSearch: Dispatch>;\r\n clearFn?: () => void;\r\n bgColor?: string;\r\n className?: string;\r\n placeholder?: string;\r\n}\r\n\r\nconst AdvancedSearchFilterBar = ({\r\n search,\r\n setSearch,\r\n clearFn,\r\n bgColor = \"bg-white\",\r\n className,\r\n placeholder = \"\",\r\n}: AdvancedSearchFilterBarProps) => {\r\n const { t } = useTranslation();\r\n return (\r\n
\r\n
\r\n setSearch(e.target.value)}\r\n placeholder={placeholder}\r\n />\r\n \r\n
\r\n {clearFn && (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default AdvancedSearchFilterBar;\r\n","const ChevronDown = ({ className }: { className?: string }) => (\r\n expand_more\r\n);\r\n\r\nexport default ChevronDown;\r\n","import { ReactElement } from \"react\";\r\nimport { Popover } from \"@headlessui/react\";\r\nimport ChevronDown from \"~/ui/Icon/ChevronDown\";\r\n\r\ninterface FilterToggleProps {\r\n label: string;\r\n count: number | string;\r\n children: (props: { open: boolean }) => ReactElement;\r\n}\r\n\r\nconst FilterToggle = (props: FilterToggleProps) => {\r\n const { label, count, children } = props;\r\n\r\n return (\r\n \r\n {({ open }) => (\r\n <>\r\n \r\n {label}\r\n {typeof count === \"number\" && count > 0 &&
{count}
}\r\n \r\n
\r\n\r\n \r\n {children({ open })}\r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default FilterToggle;\r\n","import \"./index.css\";\r\n\r\ninterface LoaderProps {\r\n className?: string;\r\n}\r\n\r\nconst Loader = ({ className }: LoaderProps) => {\r\n return (\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Loader;\r\n","import { FilterItem } from \"./ItemList2\";\r\nimport Checkbox from \"~/ui/Checkbox/Checkbox\";\r\n\r\ninterface ItemProps {\r\n label: string;\r\n item: FilterItem;\r\n isSelected: boolean;\r\n className?: string;\r\n onChange: (isSelected: boolean, item: FilterItem) => void;\r\n}\r\n\r\nconst Item = (props: ItemProps) => {\r\n const { label, item, isSelected, className, onChange } = props;\r\n return (\r\n onChange(isSelected, item)}\r\n isSelected={isSelected}\r\n >\r\n {label}\r\n \r\n );\r\n};\r\n\r\nexport default Item;\r\n","import { Dispatch, SetStateAction, useContext, useEffect, useRef } from \"react\";\r\nimport { Trans, useTranslation } from \"react-i18next\";\r\nimport { FilterType } from \"~/providers/AdvancedSearchProvider\";\r\nimport { LanguageContext } from \"~/providers/LanguageProvider\";\r\nimport Button from \"~/ui/Button/Button\";\r\nimport Icon from \"~/ui/Icon/Icon\";\r\nimport Checkbox from \"~/ui/Checkbox/Checkbox\";\r\nimport Loader from \"~/ui/Loader\";\r\nimport Item from \"./Item\";\r\n\r\nexport type FilterItem = FilterType;\r\n\r\ninterface ItemListProps {\r\n label: string;\r\n items: FilterItem[];\r\n listItems: FilterItem[];\r\n setListItems: Dispatch>;\r\n enableSelectAll?: boolean;\r\n enableReset?: boolean;\r\n reset: boolean;\r\n resetFn: () => void;\r\n enableUpdate?: boolean;\r\n updateFn: () => void;\r\n groupSelected?: boolean;\r\n autoUpdate?: boolean;\r\n isLoading?: boolean;\r\n allowNoSelection?: boolean;\r\n}\r\n\r\nconst ItemList2 = (props: ItemListProps) => {\r\n const { t } = useTranslation();\r\n const { language } = useContext(LanguageContext);\r\n const {\r\n label,\r\n items,\r\n listItems,\r\n setListItems,\r\n enableUpdate = true,\r\n updateFn,\r\n enableSelectAll = false,\r\n enableReset = false,\r\n groupSelected = false,\r\n autoUpdate = false,\r\n allowNoSelection = true,\r\n isLoading = false,\r\n reset,\r\n resetFn,\r\n } = props;\r\n const listEl = useRef(null);\r\n\r\n const onSelectAll = (isSelected: boolean) => {\r\n if (isSelected) {\r\n setListItems(items);\r\n } else {\r\n setListItems([]);\r\n }\r\n };\r\n\r\n const onSelection = (isSelected: boolean, item: FilterItem) => {\r\n if (isSelected) {\r\n setListItems((prevItems) => [...prevItems, item]);\r\n } else {\r\n if (allowNoSelection || (!allowNoSelection && listItems.length > 1)) {\r\n setListItems(listItems.filter((x) => x.id !== item.id));\r\n }\r\n }\r\n };\r\n\r\n const checkSelection = (id: number) => {\r\n return listItems.find((x) => x.id === id) !== undefined;\r\n };\r\n\r\n const clearSelections = () => {\r\n setListItems([]);\r\n };\r\n\r\n useEffect(() => {\r\n if (enableReset && reset) {\r\n // Reset function when popup closes\r\n resetFn();\r\n } else {\r\n // Reset list scroll position when popup opens\r\n if (listEl.current) listEl.current.scrollTop = 0;\r\n }\r\n }, [reset, listEl]);\r\n\r\n useEffect(() => {\r\n if (autoUpdate) {\r\n updateFn();\r\n }\r\n }, [listItems]);\r\n\r\n const ClearBtn = () => (\r\n \r\n {t(\"clear\")}\r\n close\r\n \r\n );\r\n\r\n const UpdateBtn = () => (\r\n \r\n );\r\n\r\n return isLoading ? (\r\n \r\n ) : (\r\n <>\r\n
\r\n
\r\n {enableSelectAll && (\r\n onSelectAll(isSelected)}\r\n isSelected={items.length === listItems.length}\r\n >\r\n {t(\"selectAll\")}\r\n \r\n )}\r\n\r\n {groupSelected && listItems.length > 0 && (\r\n <>\r\n
\r\n
\r\n Selected {{ category: label }}\r\n
\r\n {enableReset && }\r\n
\r\n {listItems.map((item: any, i: number) => (\r\n onSelection(isSelected, item)}\r\n isSelected={checkSelection(item.id)}\r\n />\r\n ))}\r\n \r\n )}\r\n\r\n
\r\n
{label}
\r\n {enableReset && !groupSelected && }\r\n
\r\n {items.map((item: any, i: number) => {\r\n if ((groupSelected && !checkSelection(item.id)) || !groupSelected) {\r\n return (\r\n onSelection(isSelected, item)}\r\n isSelected={checkSelection(item.id)}\r\n />\r\n );\r\n }\r\n })}\r\n
\r\n
\r\n {!autoUpdate && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ItemList2;\r\n","import { useState, useContext, useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport useCompany from \"~/hooks/useCompany\";\r\nimport { AdvancedSearchContext, FilterType } from \"~/providers/AdvancedSearchProvider\";\r\nimport AdvancedSearchFilterBar from \"~/features/AdvancedSearch/AdvancedSearchFilterBar\";\r\nimport FilterToggle from \"../ListToggle/FilterToggle\";\r\nimport ItemList2 from \"../ListLayout/ItemList2\";\r\n\r\nconst Companies = () => {\r\n const FILTER_TYPE = \"company\";\r\n const { t } = useTranslation();\r\n const { companies, search, setSearch, isLoading } = useCompany();\r\n const { companyFilters, setCompanyFilters, filters, setFilters, addFilter, setTriggerSearch } =\r\n useContext(AdvancedSearchContext);\r\n\r\n // Temp list for changes before update event\r\n const [tempList, setTempList] = useState(companyFilters);\r\n const enableUpdate =\r\n tempList.length !== companyFilters.length ||\r\n !companyFilters.every((f) => tempList.find((tf) => tf.id === f.id));\r\n\r\n const resetItems = () => {\r\n setSearch(\"\");\r\n // setTempList(companyFilters);\r\n };\r\n\r\n const handleUpdate = () => {\r\n // Update context data when update button is clicked\r\n if (tempList.length > 0) {\r\n setCompanyFilters(tempList);\r\n\r\n // Remove items from filters that are not in tempList\r\n const currFilters = filters.filter((item) =>\r\n tempList.some(\r\n (tempItem) => (tempItem.id === item.id && item.type === FILTER_TYPE) || item.type !== FILTER_TYPE\r\n )\r\n );\r\n setFilters(currFilters);\r\n\r\n tempList.forEach((f: FilterType) => {\r\n addFilter(f, FILTER_TYPE);\r\n });\r\n } else {\r\n setCompanyFilters([]);\r\n setFilters(filters.filter((f) => f.type !== FILTER_TYPE));\r\n }\r\n\r\n setTriggerSearch(true);\r\n };\r\n\r\n useEffect(() => {\r\n if (companyFilters.length !== tempList.length) setTempList(companyFilters);\r\n }, [companyFilters]);\r\n\r\n return (\r\n \r\n {({ open }) => (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Companies;\r\n","import { useState, useEffect } from \"react\";\r\nimport i18next from \"i18next\";\r\nimport useSWR from \"swr\";\r\nimport { useReadLocalStorage } from \"usehooks-ts\";\r\nimport { fetcher } from \"~/hooks/useFetcher\";\r\n\r\nexport interface ResponseData {\r\n id: number;\r\n name: string;\r\n frName: string;\r\n count: number;\r\n}\r\n\r\nconst useDisclosures = () => {\r\n const token = useReadLocalStorage(\"_t\") as string;\r\n const { language } = i18next;\r\n const culture = language === \"en\" ? \"en-US\" : \"fr-FR\";\r\n const fetchUrl = `/api/disclosures?LanguageCode=${culture}`;\r\n const { data, isLoading } = useSWR(fetchUrl, (url) => fetcher(url, token));\r\n const [disclosures, setDisclosures] = useState([]);\r\n\r\n useEffect(() => {\r\n if (data) {\r\n setDisclosures(\r\n data.map((item: ResponseData) => {\r\n return {\r\n id: item.id,\r\n name: item.name,\r\n frName: item.frName ? item.frName : item.name,\r\n };\r\n })\r\n );\r\n }\r\n }, [data]);\r\n\r\n return {\r\n disclosures,\r\n isLoading,\r\n };\r\n};\r\n\r\nexport default useDisclosures;\r\n","import { useState, useContext, useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport useDisclosures from \"~/hooks/useDisclosures\";\r\nimport { AdvancedSearchContext, FilterType } from \"~/providers/AdvancedSearchProvider\";\r\nimport FilterToggle from \"../ListToggle/FilterToggle\";\r\nimport ItemList2 from \"../ListLayout/ItemList2\";\r\n\r\nconst Disclosures = () => {\r\n const FILTER_TYPE = \"disclosure\";\r\n const { t } = useTranslation();\r\n const { disclosures, isLoading } = useDisclosures();\r\n const { disclosureFilters, setDisclosureFilters, filters, setFilters, addFilter, setTriggerSearch } =\r\n useContext(AdvancedSearchContext);\r\n\r\n // Temp list for changes before update event\r\n const [tempList, setTempList] = useState(disclosureFilters);\r\n\r\n const enableUpdate =\r\n tempList.length > 0 &&\r\n (disclosureFilters.length !== tempList.length ||\r\n !disclosureFilters.every((f) => tempList.find((tf) => tf.id === f.id)));\r\n\r\n const handleUpdate = () => {\r\n // Update context data when update button is clicked\r\n if (tempList.length > 0) {\r\n setDisclosureFilters(tempList);\r\n\r\n // Remove items from filters that are not in tempList\r\n const currFilters = filters.filter((item) =>\r\n tempList.some(\r\n (tempItem) => (tempItem.id === item.id && item.type === FILTER_TYPE) || item.type !== FILTER_TYPE\r\n )\r\n );\r\n setFilters(currFilters);\r\n\r\n tempList.forEach((d: FilterType) => {\r\n addFilter(d, FILTER_TYPE);\r\n });\r\n } else {\r\n setDisclosureFilters([]);\r\n setFilters(filters.filter((f) => f.type !== FILTER_TYPE));\r\n }\r\n\r\n setTriggerSearch(true);\r\n\r\n // else {\r\n // setDisclosureFilters(disclosures);\r\n // setTempList(disclosures);\r\n // disclosures.forEach((d: FilterType) => {\r\n // addFilter(d, FILTER_TYPE);\r\n // });\r\n // }\r\n };\r\n\r\n const resetItems = () => setTempList(disclosureFilters);\r\n\r\n useEffect(() => {\r\n if (disclosureFilters.length !== tempList.length) setTempList(disclosureFilters);\r\n }, [disclosureFilters]);\r\n\r\n return (\r\n \r\n {({ open }) => (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Disclosures;\r\n","import axios from \"axios\";\r\nimport i18next from \"i18next\";\r\nimport { useCallback, useContext, useEffect, useMemo, useState } from \"react\";\r\nimport { useReadLocalStorage } from \"usehooks-ts\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\nimport useDisclosures from \"./useDisclosures\";\r\n\r\nexport interface ImageThemeType {\r\n DocumentTypeID: number;\r\n DocumentName: string;\r\n DocumentNameFr: string;\r\n CategorySections: ImageThemeListType[];\r\n}\r\n\r\nexport interface ImageThemeListType {\r\n CategoryId: number;\r\n CategoryName: string;\r\n CategoryNameFr: string;\r\n CategoryChild: ImageThemeMetaDataType[];\r\n}\r\n\r\nexport interface ImageThemeMetaDataType {\r\n CategoryID: number;\r\n DocumentTypeID: number;\r\n MetadataID: number;\r\n MetadataName: string;\r\n MetadataNameFr: string;\r\n}\r\n\r\nconst useImageThemes = () => {\r\n const { language } = i18next;\r\n const [imageThemes, setImageThemes] = useState([]);\r\n const [isLoading, setLoading] = useState(true);\r\n const [search, setSearch] = useState(\"\");\r\n const token = useReadLocalStorage(\"_t\") as string;\r\n\r\n const { disclosures: allDisclosures } = useDisclosures();\r\n const { disclosureFilters } = useContext(AdvancedSearchContext);\r\n const disclosures = useMemo(\r\n () => (disclosureFilters.length > 0 ? disclosureFilters : allDisclosures),\r\n [disclosureFilters, allDisclosures]\r\n );\r\n\r\n const fetcher = (url: string, data: object, token: string) =>\r\n axios.post(`${import.meta.env.VITE_API_HOST}${url}`, data, {\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n Culture: language === \"en\" ? \"en-US\" : \"fr-FR\",\r\n },\r\n });\r\n\r\n const fetchData = useCallback(async () => {\r\n if (disclosures.length > 0) {\r\n const payload = {\r\n DisclosureType: disclosures.map((d) => d.id),\r\n SearchText: \"\",\r\n };\r\n\r\n setLoading(true);\r\n const fetchUrl = `/api/search/filter/image-themes`;\r\n const { data } = await fetcher(fetchUrl, payload, token);\r\n setImageThemes(data);\r\n setLoading(false);\r\n }\r\n }, [disclosures, token, language]);\r\n\r\n useEffect(() => {\r\n fetchData();\r\n }, [fetchData]);\r\n\r\n return {\r\n imageThemes,\r\n isLoading,\r\n search,\r\n setSearch,\r\n };\r\n};\r\n\r\nexport default useImageThemes;\r\n","import { Dispatch, SetStateAction, useState, useEffect, useContext, useRef } from \"react\";\r\nimport { Trans, useTranslation } from \"react-i18next\";\r\nimport { FilterType } from \"~/providers/AdvancedSearchProvider\";\r\nimport { LanguageContext, SupportedLanguages } from \"~/providers/LanguageProvider\";\r\nimport Checkbox from \"~/ui/Checkbox/Checkbox\";\r\nimport Button from \"~/ui/Button/Button\";\r\nimport Loader from \"~/ui/Loader\";\r\nimport Icon from \"~/ui/Icon/Icon\";\r\nimport Item from \"./Item\";\r\n\r\nexport type LabelTranslation = {\r\n [lang in SupportedLanguages]: string;\r\n};\r\n\r\nexport interface MetaDataItem extends FilterType {\r\n documentTypeId: number;\r\n categoryId: number;\r\n}\r\n\r\nexport interface Item {\r\n id: number;\r\n label: LabelTranslation;\r\n items: Item[] | MetaDataItem[];\r\n}\r\n\r\ninterface ItemListProps {\r\n label: string;\r\n items: Item[];\r\n listItems: FilterType[];\r\n setListItems: Dispatch>;\r\n enableSelectAll?: boolean;\r\n enableReset?: boolean;\r\n enableUpdate?: boolean;\r\n groupSelected?: boolean;\r\n reset: boolean;\r\n resetFn: () => void;\r\n updateFn: () => void;\r\n autoUpdate?: boolean;\r\n isLoading?: boolean;\r\n}\r\n\r\nconst ExpandableList = (props: ItemListProps) => {\r\n const { t } = useTranslation();\r\n const { language } = useContext(LanguageContext);\r\n const {\r\n label,\r\n items,\r\n listItems,\r\n setListItems,\r\n updateFn,\r\n enableUpdate = true,\r\n enableSelectAll = false,\r\n enableReset = true,\r\n groupSelected = true,\r\n autoUpdate = false,\r\n isLoading = false,\r\n reset,\r\n resetFn,\r\n } = props;\r\n const [metadataItems, setMetaDataItems] = useState([]);\r\n const listEl = useRef(null);\r\n\r\n useEffect(() => {\r\n if (items) {\r\n const mdItems = items.flatMap((meta: Item) => {\r\n return meta.items.flatMap((list: any) => list.items);\r\n });\r\n setMetaDataItems(mdItems);\r\n }\r\n }, [items]);\r\n\r\n const onSelectAll = (isSelected: boolean) => {\r\n if (isSelected) {\r\n setListItems(metadataItems);\r\n } else {\r\n setListItems([]);\r\n }\r\n };\r\n\r\n const onSelection = (isSelected: boolean, item: any) => {\r\n if (isSelected) {\r\n setListItems((prevItems) => [...prevItems, item]);\r\n } else {\r\n setListItems(listItems.filter((x) => x.id !== item.id));\r\n }\r\n };\r\n const checkSelection = (id: number) => {\r\n return listItems.find((x) => x.id === id) !== undefined;\r\n };\r\n\r\n const clearSelections = () => {\r\n setListItems([]);\r\n };\r\n\r\n useEffect(() => {\r\n if (enableReset && reset) {\r\n // Reset function when popup closes\r\n resetFn();\r\n } else {\r\n // Reset list scroll position when popup opens\r\n if (listEl.current) listEl.current.scrollTop = 0;\r\n }\r\n }, [reset, listEl]);\r\n\r\n useEffect(() => {\r\n if (autoUpdate) {\r\n updateFn();\r\n }\r\n }, [listItems]);\r\n\r\n const ClearBtn = () => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const UpdateBtn = () => (\r\n \r\n );\r\n\r\n return isLoading ? (\r\n \r\n ) : (\r\n <>\r\n
\r\n
\r\n {enableSelectAll && (\r\n onSelectAll(isSelected)}\r\n isSelected={metadataItems.length === listItems.length}\r\n >\r\n {t(\"selectAll\")}\r\n \r\n )}\r\n {groupSelected && listItems.length > 0 && (\r\n <>\r\n
\r\n
\r\n Selected {{ category: label }}\r\n
\r\n {enableReset && }\r\n
\r\n {listItems.map((item: any, i: number) => (\r\n onSelection(isSelected, item)}\r\n isSelected={checkSelection(Number(item.id))}\r\n />\r\n ))}\r\n \r\n )}\r\n {items.map((disclosure: Item, i: number) => (\r\n
\r\n
{disclosure.label[language]}
\r\n {disclosure.items.map((category: any, j: number) => {\r\n return (\r\n
\r\n
{category.label[language]}
\r\n
\r\n {category.items.map((metadata: MetaDataItem, k: number) => {\r\n const name = language === \"en\" ? metadata.name : metadata.frName;\r\n if (\r\n (groupSelected && !checkSelection(Number(metadata.id))) ||\r\n !groupSelected\r\n ) {\r\n return (\r\n onSelection(isSelected, metadata)}\r\n isSelected={checkSelection(Number(metadata.id))}\r\n />\r\n );\r\n }\r\n })}\r\n
\r\n
\r\n );\r\n })}\r\n
\r\n ))}\r\n
\r\n
\r\n {!autoUpdate && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ExpandableList;\r\n","import { useState, useContext, useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { LanguageContext } from \"~/providers/LanguageProvider\";\r\nimport { AdvancedSearchContext, FilterType } from \"~/providers/AdvancedSearchProvider\";\r\nimport AdvancedSearchFilterBar from \"~/features/AdvancedSearch/AdvancedSearchFilterBar\";\r\nimport useImageThemes, { ImageThemeListType, ImageThemeMetaDataType, ImageThemeType } from \"~/hooks/useImageThemes\";\r\nimport FilterToggle from \"../ListToggle/FilterToggle\";\r\nimport ExpandableList, { Item, MetaDataItem } from \"../ListLayout/ExpandableList\";\r\n\r\nconst ImageThemes = () => {\r\n const FILTER_TYPE = \"imagetheme\";\r\n const { t } = useTranslation();\r\n const { language } = useContext(LanguageContext);\r\n\r\n const { imageThemes, search, setSearch, isLoading } = useImageThemes();\r\n const { imageThemeFilters, setImageThemeFilters, filters, setFilters, addFilter, setTriggerSearch } =\r\n useContext(AdvancedSearchContext);\r\n const [list, setList] = useState([]);\r\n\r\n // Temp list for changes before update event\r\n const [tempList, setTempList] = useState(imageThemeFilters);\r\n const enableUpdate =\r\n tempList.length !== imageThemeFilters.length ||\r\n !imageThemeFilters.every((f) => tempList.find((tf) => tf.id === f.id));\r\n\r\n // Reset function when popup closes\r\n const resetItems = () => {\r\n setSearch(\"\");\r\n // setTempList(imageThemeFilters);\r\n };\r\n\r\n const handleUpdate = () => {\r\n // Update context data when update button is clicked\r\n if (tempList.length > 0) {\r\n setImageThemeFilters(tempList);\r\n // Remove items from filters that are not in tempList\r\n const currFilters = filters.filter((item) =>\r\n tempList.some(\r\n (tempItem) => (tempItem.id === item.id && item.type === FILTER_TYPE) || item.type !== FILTER_TYPE\r\n )\r\n );\r\n setFilters(currFilters);\r\n\r\n tempList.forEach((d: FilterType) => {\r\n addFilter(d, FILTER_TYPE);\r\n });\r\n } else {\r\n setImageThemeFilters([]);\r\n setFilters(filters.filter((f) => f.type !== FILTER_TYPE));\r\n }\r\n\r\n setTriggerSearch(true);\r\n };\r\n\r\n const convertToMetaDataItem = (item: ImageThemeMetaDataType) => {\r\n return {\r\n id: item.MetadataID,\r\n name: item.MetadataName,\r\n frName: item.MetadataNameFr ? item.MetadataNameFr : item.MetadataName,\r\n categoryId: item.CategoryID,\r\n documentTypeId: item.DocumentTypeID,\r\n } as MetaDataItem;\r\n };\r\n\r\n const convertToItem = (list: ImageThemeListType[]) => {\r\n const itemList = list.map((category: ImageThemeListType) => {\r\n const items = category.CategoryChild.map((metadata: ImageThemeMetaDataType) =>\r\n convertToMetaDataItem(metadata)\r\n );\r\n let filtered = null;\r\n\r\n if (search) {\r\n filtered = items.filter((item: MetaDataItem) => {\r\n const name = language === \"en\" ? item.name : item.frName;\r\n return name.toLowerCase().includes(search.toLowerCase());\r\n });\r\n }\r\n\r\n return {\r\n id: category.CategoryId,\r\n label: {\r\n en: category.CategoryName,\r\n fr: category.CategoryNameFr,\r\n },\r\n items: search ? filtered : items,\r\n } as Item;\r\n });\r\n\r\n return itemList.filter((list: Item) => list && list.items.length > 0);\r\n };\r\n\r\n useEffect(() => {\r\n const themes = imageThemes.map((theme: ImageThemeType, index: number) => {\r\n return {\r\n id: index,\r\n label: {\r\n en: theme.DocumentName,\r\n fr: theme.DocumentNameFr,\r\n },\r\n items: convertToItem(theme.CategorySections),\r\n } as Item;\r\n });\r\n setList(themes.filter((theme) => theme.items.length > 0));\r\n }, [imageThemes, search, language]);\r\n\r\n useEffect(() => {\r\n if (imageThemeFilters.length !== tempList.length) setTempList(imageThemeFilters);\r\n }, [imageThemeFilters]);\r\n\r\n return (\r\n \r\n {({ open }) => (\r\n <>\r\n {!isLoading && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ImageThemes;\r\n","import { useContext, useEffect, useMemo, useState } from \"react\";\r\nimport useSWR from \"swr\";\r\nimport { useReadLocalStorage } from \"usehooks-ts\";\r\nimport { fetcher } from \"~/hooks/useFetcher\";\r\nimport { LanguageContext } from \"~/providers/LanguageProvider\";\r\nimport { FilterType } from \"~/providers/AdvancedSearchProvider\";\r\n\r\nexport interface IndustryType {\r\n IndustryID: number;\r\n Name: string;\r\n FrName: string;\r\n}\r\n\r\nconst useIndustry = () => {\r\n const { language } = useContext(LanguageContext);\r\n const fetchUrl = `/api/search/filter/industries`;\r\n const token = useReadLocalStorage(\"_t\") as string;\r\n const { data: allIndustry, isLoading } = useSWR(fetchUrl, (url) => fetcher(url, token));\r\n const [industries, setIndustries] = useState([]);\r\n const [search, setSearch] = useState(\"\");\r\n const [filteredIndustries, setFilteredIndustries] = useState(allIndustry);\r\n\r\n useEffect(() => {\r\n if (allIndustry) {\r\n setIndustries(\r\n allIndustry.map((item: IndustryType) => {\r\n return {\r\n id: item.IndustryID,\r\n name: item.Name,\r\n frName: item.FrName ? item.FrName : item.Name,\r\n };\r\n })\r\n );\r\n }\r\n }, [allIndustry]);\r\n\r\n const filterBySearch = useMemo(\r\n () => (search: string) => {\r\n // const industries: IndustryType[] = allIndustry;\r\n const filtered = industries.filter((ind: FilterType) => {\r\n const name = language === \"en\" ? ind.name : ind.frName;\r\n return name.toLowerCase().includes(search.toLowerCase());\r\n });\r\n setFilteredIndustries(filtered);\r\n },\r\n [industries, language]\r\n );\r\n\r\n const handleDebouncedInput = useMemo(\r\n () => (search: string) => {\r\n search ? filterBySearch(search) : setFilteredIndustries(industries);\r\n },\r\n [industries, filterBySearch]\r\n );\r\n\r\n useEffect(() => {\r\n const timerId = setTimeout(() => {\r\n handleDebouncedInput(search);\r\n }, 500);\r\n\r\n return () => {\r\n clearTimeout(timerId);\r\n };\r\n }, [handleDebouncedInput, search]);\r\n\r\n return {\r\n industries: search ? filteredIndustries : industries,\r\n isLoading,\r\n search,\r\n setSearch,\r\n };\r\n};\r\n\r\nexport default useIndustry;\r\n","import { useState, useContext, useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport useIndustry from \"~/hooks/useIndustry\";\r\nimport { AdvancedSearchContext, FilterType } from \"~/providers/AdvancedSearchProvider\";\r\nimport AdvancedSearchFilterBar from \"~/features/AdvancedSearch/AdvancedSearchFilterBar\";\r\nimport FilterToggle from \"../ListToggle/FilterToggle\";\r\nimport ItemList2 from \"../ListLayout/ItemList2\";\r\n\r\nconst Industries = () => {\r\n const FILTER_TYPE = \"industry\";\r\n const { t } = useTranslation();\r\n const { industries, search, setSearch, isLoading } = useIndustry();\r\n const { industryFilters, setIndustryFilters, filters, setFilters, addFilter, setTriggerSearch } =\r\n useContext(AdvancedSearchContext);\r\n\r\n // Temp list for changes before update event\r\n const [tempList, setTempList] = useState(industryFilters);\r\n const enableUpdate =\r\n tempList.length !== industryFilters.length ||\r\n !industryFilters.every((f) => tempList.find((tf) => tf.id === f.id));\r\n\r\n const handleUpdate = () => {\r\n // Update context data when update button is clicked\r\n if (tempList.length > 0) {\r\n setIndustryFilters(tempList);\r\n\r\n // Remove items from filters that are not in tempList\r\n const currFilters = filters.filter((item) =>\r\n tempList.some(\r\n (tempItem) => (tempItem.id === item.id && item.type === FILTER_TYPE) || item.type !== FILTER_TYPE\r\n )\r\n );\r\n setFilters(currFilters);\r\n\r\n tempList.forEach((d: FilterType) => {\r\n addFilter(d, FILTER_TYPE);\r\n });\r\n } else {\r\n setIndustryFilters([]);\r\n setFilters(filters.filter((f) => f.type !== FILTER_TYPE));\r\n }\r\n\r\n setTriggerSearch(true);\r\n };\r\n\r\n const resetItems = () => {\r\n setSearch(\"\");\r\n // setTempList(industryFilters);\r\n };\r\n\r\n useEffect(() => {\r\n if (industryFilters.length !== tempList.length) setTempList(industryFilters);\r\n }, [industryFilters]);\r\n\r\n return (\r\n \r\n {({ open }) => (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Industries;\r\n","import axios from \"axios\";\r\nimport i18next from \"i18next\";\r\nimport { useCallback, useContext, useEffect, useMemo, useState } from \"react\";\r\nimport { useReadLocalStorage } from \"usehooks-ts\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\nimport useDisclosures from \"./useDisclosures\";\r\n\r\nexport interface PageSectionType {\r\n DocumentTypeID: number;\r\n DocumentName: string;\r\n DocumentNameFr: string;\r\n CategorySections: PageSectionListType[];\r\n}\r\n\r\nexport interface PageSectionListType {\r\n DocumentTypeId: number;\r\n CategoryID: number;\r\n CategoryName: string;\r\n CategoryNameFr: string;\r\n CategoryChild: PageSectionMetaDataType[];\r\n}\r\n\r\nexport interface PageSectionMetaDataType {\r\n DocumentTypeID: number;\r\n CategoryID: number;\r\n MetadataID: number;\r\n MetadataName: string;\r\n MetadataNameFr: string;\r\n}\r\n\r\nconst usePageSections = () => {\r\n const { language } = i18next;\r\n const [pageSections, setPageSections] = useState([]);\r\n const [isLoading, setLoading] = useState(true);\r\n const [search, setSearch] = useState(\"\");\r\n const token = useReadLocalStorage(\"_t\") as string;\r\n\r\n const { disclosures: allDisclosures } = useDisclosures();\r\n const { disclosureFilters } = useContext(AdvancedSearchContext);\r\n const disclosures = useMemo(\r\n () => (disclosureFilters.length > 0 ? disclosureFilters : allDisclosures),\r\n [disclosureFilters, allDisclosures]\r\n );\r\n\r\n const fetcher = (url: string, data: object, token: string) =>\r\n axios.post(`${import.meta.env.VITE_API_HOST}${url}`, data, {\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n Culture: language === \"en\" ? \"en-US\" : \"fr-FR\",\r\n },\r\n });\r\n\r\n const fetchData = useCallback(async () => {\r\n if (disclosures.length > 0) {\r\n const payload = {\r\n DisclosureType: disclosures.map((d) => d.id),\r\n SearchText: \"\",\r\n };\r\n\r\n setLoading(true);\r\n const fetchUrl = `/api/search/filter/page-sections`;\r\n const { data } = await fetcher(fetchUrl, payload, token);\r\n setPageSections(data);\r\n setLoading(false);\r\n }\r\n }, [disclosures, token, language]);\r\n\r\n useEffect(() => {\r\n fetchData();\r\n }, [fetchData]);\r\n\r\n return {\r\n pageSections,\r\n isLoading,\r\n search,\r\n setSearch,\r\n };\r\n};\r\n\r\nexport default usePageSections;\r\n","import { useState, useContext, useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { LanguageContext } from \"~/providers/LanguageProvider\";\r\nimport { AdvancedSearchContext, FilterType } from \"~/providers/AdvancedSearchProvider\";\r\nimport AdvancedSearchFilterBar from \"~/features/AdvancedSearch/AdvancedSearchFilterBar\";\r\nimport usePageSections, {\r\n PageSectionListType,\r\n PageSectionMetaDataType,\r\n PageSectionType,\r\n} from \"~/hooks/usePageSections\";\r\nimport FilterToggle from \"../ListToggle/FilterToggle\";\r\nimport ExpandableList, { Item, MetaDataItem } from \"../ListLayout/ExpandableList\";\r\n\r\nconst PageSections = () => {\r\n const FILTER_TYPE = \"pagesection\";\r\n const { t } = useTranslation();\r\n const { language } = useContext(LanguageContext);\r\n\r\n const { pageSections, search, setSearch, isLoading } = usePageSections();\r\n const { pageSectionFilters, setPageSectionFilters, filters, setFilters, addFilter, setTriggerSearch } =\r\n useContext(AdvancedSearchContext);\r\n const [list, setList] = useState([]);\r\n\r\n // Temp list for changes before update event\r\n const [tempList, setTempList] = useState(pageSectionFilters);\r\n const enableUpdate =\r\n tempList.length !== pageSectionFilters.length ||\r\n !pageSectionFilters.every((f) => tempList.find((tf) => tf.id === f.id));\r\n\r\n const handleUpdate = () => {\r\n // Update context data when update button is clicked\r\n if (tempList.length > 0) {\r\n setPageSectionFilters(tempList);\r\n\r\n // Remove items from filters that are not in tempList\r\n const currFilters = filters.filter((item) =>\r\n tempList.some(\r\n (tempItem) => (tempItem.id === item.id && item.type === FILTER_TYPE) || item.type !== FILTER_TYPE\r\n )\r\n );\r\n setFilters(currFilters);\r\n\r\n tempList.forEach((d: FilterType) => {\r\n addFilter(d, FILTER_TYPE);\r\n });\r\n } else {\r\n setPageSectionFilters([]);\r\n setFilters(filters.filter((f) => f.type !== FILTER_TYPE));\r\n }\r\n\r\n setTriggerSearch(true);\r\n };\r\n\r\n const resetItems = () => {\r\n setSearch(\"\");\r\n // setTempList(pageSectionFilters);\r\n };\r\n\r\n const convertToMetaDataItem = (item: PageSectionMetaDataType) => {\r\n return {\r\n id: item.MetadataID,\r\n name: item.MetadataName,\r\n frName: item.MetadataNameFr ? item.MetadataNameFr : item.MetadataName,\r\n categoryId: item.CategoryID,\r\n documentTypeId: item.DocumentTypeID,\r\n } as MetaDataItem;\r\n };\r\n\r\n const convertToItem = (list: PageSectionListType[]) => {\r\n const itemList = list.map((category: PageSectionListType) => {\r\n const items = category.CategoryChild.map((metadata: any) => convertToMetaDataItem(metadata));\r\n let filtered = null;\r\n\r\n if (search) {\r\n filtered = items.filter((item: MetaDataItem) => {\r\n const name = language === \"en\" ? item.name : item.frName;\r\n return name.toLowerCase().includes(search.toLowerCase());\r\n });\r\n }\r\n\r\n return {\r\n id: category.CategoryID,\r\n label: {\r\n en: category.CategoryName,\r\n fr: category.CategoryNameFr ? category.CategoryNameFr : category.CategoryName,\r\n },\r\n items: search ? filtered : items,\r\n } as Item;\r\n });\r\n\r\n return itemList.filter((list: Item) => list && list.items.length > 0);\r\n };\r\n\r\n useEffect(() => {\r\n const pgSections = pageSections.map((disclosure: PageSectionType, index: number) => {\r\n return {\r\n id: index,\r\n label: {\r\n en: disclosure.DocumentName,\r\n fr: disclosure.DocumentNameFr,\r\n },\r\n items: convertToItem(disclosure.CategorySections),\r\n };\r\n });\r\n setList(pgSections.filter((pg) => pg.items.length > 0));\r\n }, [pageSections, search, language]);\r\n\r\n useEffect(() => {\r\n if (pageSectionFilters.length !== tempList.length) setTempList(pageSectionFilters);\r\n }, [pageSectionFilters]);\r\n\r\n return (\r\n \r\n {({ open }) => (\r\n <>\r\n {!isLoading && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default PageSections;\r\n","import { useState, useContext, useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport useYears from \"~/hooks/useYears\";\r\nimport { AdvancedSearchContext, FilterType } from \"~/providers/AdvancedSearchProvider\";\r\nimport FilterToggle from \"../ListToggle/FilterToggle\";\r\nimport ItemList2 from \"../ListLayout/ItemList2\";\r\n\r\nconst Years = () => {\r\n const FILTER_TYPE = \"year\";\r\n const { t } = useTranslation();\r\n const { years, isLoading } = useYears();\r\n const { yearFilters, setYearFilters, filters, setFilters, addFilter, setTriggerSearch } =\r\n useContext(AdvancedSearchContext);\r\n\r\n // Temp list for changes before update event\r\n const [tempList, setTempList] = useState(yearFilters);\r\n const enableUpdate =\r\n tempList.length !== yearFilters.length || !tempList.every((f) => yearFilters.find((tf) => tf.id === f.id));\r\n\r\n const handleUpdate = () => {\r\n // Update context data when update button is clicked\r\n if (tempList.length > 0) {\r\n setYearFilters(tempList);\r\n\r\n // Remove items from filters that are not in tempList\r\n const currFilters = filters.filter((item) =>\r\n tempList.some(\r\n (tempItem) => (tempItem.id === item.id && item.type === FILTER_TYPE) || item.type !== FILTER_TYPE\r\n )\r\n );\r\n setFilters(currFilters);\r\n\r\n tempList.forEach((y: FilterType) => {\r\n addFilter(y, FILTER_TYPE);\r\n });\r\n } else {\r\n setYearFilters([]);\r\n setFilters(filters.filter((f) => f.type !== \"year\"));\r\n }\r\n\r\n setTriggerSearch(true);\r\n };\r\n\r\n const resetItems = () => setTempList(yearFilters);\r\n\r\n useEffect(() => {\r\n if (yearFilters.length > 0) setTempList(yearFilters);\r\n }, [yearFilters]);\r\n\r\n return (\r\n \r\n {({ open }) => (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Years;\r\n","import { useContext, useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\n\r\nconst FilterKeyword = () => {\r\n const { t } = useTranslation();\r\n\r\n const { searchTerm, setSearchTerm } = useContext(AdvancedSearchContext);\r\n const [textValue, setTextValue] = useState(searchTerm);\r\n\r\n const handleInputChange = (event: React.ChangeEvent) => {\r\n setTextValue(event.target.value);\r\n };\r\n\r\n useEffect(() => {\r\n const timerId = setTimeout(() => {\r\n setSearchTerm(textValue);\r\n }, 500);\r\n\r\n return () => {\r\n clearTimeout(timerId);\r\n };\r\n }, [textValue]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default FilterKeyword;\r\n","import { useContext } from \"react\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\nimport Button from \"~/ui/Button/Button\";\r\nimport Icon from \"~/ui/Icon/Icon\";\r\n\r\ninterface SearchButtonProps {\r\n className?: string;\r\n disabled: boolean;\r\n}\r\n\r\nconst SearchButton = (props: SearchButtonProps) => {\r\n const { searchTerm } = useContext(AdvancedSearchContext);\r\n const navigate = useNavigate();\r\n\r\n return (\r\n {\r\n if (!props.disabled) {\r\n if (searchTerm) {\r\n navigate(`/search/result?q=${searchTerm}`);\r\n } else {\r\n navigate(`/search/result`);\r\n }\r\n }\r\n }}\r\n >\r\n search\r\n \r\n );\r\n};\r\n\r\nexport default SearchButton;\r\n","const ChevronRight = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ChevronRight;\r\n","import * as React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { LanguageContext } from \"~/providers/LanguageProvider\";\r\nimport { Link } from \"react-router-dom\";\r\nimport useSWR from \"swr\";\r\nimport { useReadLocalStorage } from \"usehooks-ts\";\r\nimport { z } from \"zod\";\r\nimport { fetcher } from \"~/hooks/useFetcher\";\r\nimport ChevronRight from \"~/ui/Icon/ChevronRight\";\r\n\r\nconst CategorySchema = z.object({\r\n DocumentTypeID: z.number(),\r\n Name: z.string(),\r\n FrName: z.string(),\r\n Count: z.number(),\r\n});\r\n\r\ntype CategorySchemaType = z.infer;\r\n\r\nconst Categories: React.FunctionComponent = () => {\r\n const { t } = useTranslation();\r\n const token = useReadLocalStorage(\"_t\") as string;\r\n const { language } = React.useContext(LanguageContext);\r\n const REGION = import.meta.env.VITE_REGION;\r\n\r\n const { data } = useSWR(\"/api/market-intelligence/category-count\", (url) => fetcher(url, token));\r\n\r\n const renderSkeleton = () => (\r\n <>\r\n {[...Array(4)].map((_, index) => (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n ))}\r\n \r\n );\r\n\r\n return (\r\n
\r\n

{t(\"marketIntelligenceHeader\")}

\r\n
\r\n {!data && renderSkeleton()}\r\n {data &&\r\n data.map((category: CategorySchemaType) => (\r\n \r\n ))}\r\n {REGION === \"fr\" && (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\ninterface CategoryButtonProps {\r\n link: string;\r\n label: string;\r\n count?: number | null;\r\n openTab?: boolean;\r\n}\r\n\r\nconst CategoryButton = (props: CategoryButtonProps) => {\r\n const { link, count, label, openTab = false } = props;\r\n return (\r\n
\r\n \r\n {label}\r\n {count && {count}}\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Categories;\r\n","import { useContext } from \"react\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\nimport Companies from \"../Search/Filters/Categories/Companies\";\r\nimport Disclosures from \"../Search/Filters/Categories/Disclosures\";\r\nimport ImageThemes from \"../Search/Filters/Categories/ImageThemes\";\r\nimport Industries from \"../Search/Filters/Categories/Industries\";\r\nimport PageSections from \"../Search/Filters/Categories/PageSections\";\r\nimport Years from \"../Search/Filters/Categories/Years\";\r\nimport FilterKeyword from \"./FilterKeyword\";\r\nimport SearchButton from \"./SearchButton\";\r\nimport Categories from \"../MarketIntelligence/Categories\";\r\n\r\ninterface FilterListProps {\r\n resultType: string;\r\n}\r\n\r\nconst FilterList = (props: FilterListProps) => {\r\n const { resultType } = props;\r\n const { searchTerm } = useContext(AdvancedSearchContext);\r\n const hasTextbox = resultType === \"texts\";\r\n\r\n return resultType === \"marketIntelligence\" ? (\r\n \r\n ) : (\r\n
\r\n
\r\n \r\n {resultType === \"images\" && }\r\n {resultType === \"pages\" && }\r\n \r\n \r\n \r\n
\r\n\r\n {hasTextbox ? (\r\n
\r\n
e.preventDefault()}>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default FilterList;\r\n","import { useContext } from \"react\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport AppHeader from \"~/components/AppHeader\";\r\nimport SearchTypeTabs from \"./SearchTypeTabs\";\r\nimport FilterList from \"./FilterList\";\r\n\r\nconst SearchPanel = () => {\r\n const { t } = useTranslation();\r\n const { activeTabs } = useContext(AdvancedSearchContext);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n

{t(\"app_header\")}

\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SearchPanel;\r\n","import React, { Component } from 'react';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\n/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [noTrailing] Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the\n * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time\n * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,\n * the internal counter is reset)\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the throttled-function is executed.\n * @param {Boolean} [debounceMode] If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),\n * schedule `callback` to execute after `delay` ms.\n *\n * @return {Function} A new, throttled, function.\n */\nfunction throttle (delay, noTrailing, callback, debounceMode) {\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n var timeoutID;\n var cancelled = false; // Keep track of the last time `callback` was executed.\n\n var lastExec = 0; // Function to clear existing timeout\n\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n } // Function to cancel next exec\n\n\n function cancel() {\n clearExistingTimeout();\n cancelled = true;\n } // `noTrailing` defaults to falsy.\n\n\n if (typeof noTrailing !== 'boolean') {\n debounceMode = callback;\n callback = noTrailing;\n noTrailing = undefined;\n }\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n\n\n function wrapper() {\n var self = this;\n var elapsed = Date.now() - lastExec;\n var args = arguments;\n\n if (cancelled) {\n return;\n } // Execute `callback` and update the `lastExec` timestamp.\n\n\n function exec() {\n lastExec = Date.now();\n callback.apply(self, args);\n }\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n\n\n function clear() {\n timeoutID = undefined;\n }\n\n if (debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`.\n */\n exec();\n }\n\n clearExistingTimeout();\n\n if (debounceMode === undefined && elapsed > delay) {\n /*\n * In throttle mode, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n\n wrapper.cancel = cancel; // Return the wrapper function.\n\n return wrapper;\n}\n\nvar ThresholdUnits = {\r\n Pixel: 'Pixel',\r\n Percent: 'Percent',\r\n};\r\nvar defaultThreshold = {\r\n unit: ThresholdUnits.Percent,\r\n value: 0.8,\r\n};\r\nfunction parseThreshold(scrollThreshold) {\r\n if (typeof scrollThreshold === 'number') {\r\n return {\r\n unit: ThresholdUnits.Percent,\r\n value: scrollThreshold * 100,\r\n };\r\n }\r\n if (typeof scrollThreshold === 'string') {\r\n if (scrollThreshold.match(/^(\\d*(\\.\\d+)?)px$/)) {\r\n return {\r\n unit: ThresholdUnits.Pixel,\r\n value: parseFloat(scrollThreshold),\r\n };\r\n }\r\n if (scrollThreshold.match(/^(\\d*(\\.\\d+)?)%$/)) {\r\n return {\r\n unit: ThresholdUnits.Percent,\r\n value: parseFloat(scrollThreshold),\r\n };\r\n }\r\n console.warn('scrollThreshold format is invalid. Valid formats: \"120px\", \"50%\"...');\r\n return defaultThreshold;\r\n }\r\n console.warn('scrollThreshold should be string or number');\r\n return defaultThreshold;\r\n}\n\nvar InfiniteScroll = /** @class */ (function (_super) {\r\n __extends(InfiniteScroll, _super);\r\n function InfiniteScroll(props) {\r\n var _this = _super.call(this, props) || this;\r\n _this.lastScrollTop = 0;\r\n _this.actionTriggered = false;\r\n // variables to keep track of pull down behaviour\r\n _this.startY = 0;\r\n _this.currentY = 0;\r\n _this.dragging = false;\r\n // will be populated in componentDidMount\r\n // based on the height of the pull down element\r\n _this.maxPullDownDistance = 0;\r\n _this.getScrollableTarget = function () {\r\n if (_this.props.scrollableTarget instanceof HTMLElement)\r\n return _this.props.scrollableTarget;\r\n if (typeof _this.props.scrollableTarget === 'string') {\r\n return document.getElementById(_this.props.scrollableTarget);\r\n }\r\n if (_this.props.scrollableTarget === null) {\r\n console.warn(\"You are trying to pass scrollableTarget but it is null. This might\\n happen because the element may not have been added to DOM yet.\\n See https://github.com/ankeetmaini/react-infinite-scroll-component/issues/59 for more info.\\n \");\r\n }\r\n return null;\r\n };\r\n _this.onStart = function (evt) {\r\n if (_this.lastScrollTop)\r\n return;\r\n _this.dragging = true;\r\n if (evt instanceof MouseEvent) {\r\n _this.startY = evt.pageY;\r\n }\r\n else if (evt instanceof TouchEvent) {\r\n _this.startY = evt.touches[0].pageY;\r\n }\r\n _this.currentY = _this.startY;\r\n if (_this._infScroll) {\r\n _this._infScroll.style.willChange = 'transform';\r\n _this._infScroll.style.transition = \"transform 0.2s cubic-bezier(0,0,0.31,1)\";\r\n }\r\n };\r\n _this.onMove = function (evt) {\r\n if (!_this.dragging)\r\n return;\r\n if (evt instanceof MouseEvent) {\r\n _this.currentY = evt.pageY;\r\n }\r\n else if (evt instanceof TouchEvent) {\r\n _this.currentY = evt.touches[0].pageY;\r\n }\r\n // user is scrolling down to up\r\n if (_this.currentY < _this.startY)\r\n return;\r\n if (_this.currentY - _this.startY >=\r\n Number(_this.props.pullDownToRefreshThreshold)) {\r\n _this.setState({\r\n pullToRefreshThresholdBreached: true,\r\n });\r\n }\r\n // so you can drag upto 1.5 times of the maxPullDownDistance\r\n if (_this.currentY - _this.startY > _this.maxPullDownDistance * 1.5)\r\n return;\r\n if (_this._infScroll) {\r\n _this._infScroll.style.overflow = 'visible';\r\n _this._infScroll.style.transform = \"translate3d(0px, \" + (_this.currentY -\r\n _this.startY) + \"px, 0px)\";\r\n }\r\n };\r\n _this.onEnd = function () {\r\n _this.startY = 0;\r\n _this.currentY = 0;\r\n _this.dragging = false;\r\n if (_this.state.pullToRefreshThresholdBreached) {\r\n _this.props.refreshFunction && _this.props.refreshFunction();\r\n _this.setState({\r\n pullToRefreshThresholdBreached: false,\r\n });\r\n }\r\n requestAnimationFrame(function () {\r\n // this._infScroll\r\n if (_this._infScroll) {\r\n _this._infScroll.style.overflow = 'auto';\r\n _this._infScroll.style.transform = 'none';\r\n _this._infScroll.style.willChange = 'unset';\r\n }\r\n });\r\n };\r\n _this.onScrollListener = function (event) {\r\n if (typeof _this.props.onScroll === 'function') {\r\n // Execute this callback in next tick so that it does not affect the\r\n // functionality of the library.\r\n setTimeout(function () { return _this.props.onScroll && _this.props.onScroll(event); }, 0);\r\n }\r\n var target = _this.props.height || _this._scrollableNode\r\n ? event.target\r\n : document.documentElement.scrollTop\r\n ? document.documentElement\r\n : document.body;\r\n // return immediately if the action has already been triggered,\r\n // prevents multiple triggers.\r\n if (_this.actionTriggered)\r\n return;\r\n var atBottom = _this.props.inverse\r\n ? _this.isElementAtTop(target, _this.props.scrollThreshold)\r\n : _this.isElementAtBottom(target, _this.props.scrollThreshold);\r\n // call the `next` function in the props to trigger the next data fetch\r\n if (atBottom && _this.props.hasMore) {\r\n _this.actionTriggered = true;\r\n _this.setState({ showLoader: true });\r\n _this.props.next && _this.props.next();\r\n }\r\n _this.lastScrollTop = target.scrollTop;\r\n };\r\n _this.state = {\r\n showLoader: false,\r\n pullToRefreshThresholdBreached: false,\r\n prevDataLength: props.dataLength,\r\n };\r\n _this.throttledOnScrollListener = throttle(150, _this.onScrollListener).bind(_this);\r\n _this.onStart = _this.onStart.bind(_this);\r\n _this.onMove = _this.onMove.bind(_this);\r\n _this.onEnd = _this.onEnd.bind(_this);\r\n return _this;\r\n }\r\n InfiniteScroll.prototype.componentDidMount = function () {\r\n if (typeof this.props.dataLength === 'undefined') {\r\n throw new Error(\"mandatory prop \\\"dataLength\\\" is missing. The prop is needed\" +\r\n \" when loading more content. Check README.md for usage\");\r\n }\r\n this._scrollableNode = this.getScrollableTarget();\r\n this.el = this.props.height\r\n ? this._infScroll\r\n : this._scrollableNode || window;\r\n if (this.el) {\r\n this.el.addEventListener('scroll', this\r\n .throttledOnScrollListener);\r\n }\r\n if (typeof this.props.initialScrollY === 'number' &&\r\n this.el &&\r\n this.el instanceof HTMLElement &&\r\n this.el.scrollHeight > this.props.initialScrollY) {\r\n this.el.scrollTo(0, this.props.initialScrollY);\r\n }\r\n if (this.props.pullDownToRefresh && this.el) {\r\n this.el.addEventListener('touchstart', this.onStart);\r\n this.el.addEventListener('touchmove', this.onMove);\r\n this.el.addEventListener('touchend', this.onEnd);\r\n this.el.addEventListener('mousedown', this.onStart);\r\n this.el.addEventListener('mousemove', this.onMove);\r\n this.el.addEventListener('mouseup', this.onEnd);\r\n // get BCR of pullDown element to position it above\r\n this.maxPullDownDistance =\r\n (this._pullDown &&\r\n this._pullDown.firstChild &&\r\n this._pullDown.firstChild.getBoundingClientRect()\r\n .height) ||\r\n 0;\r\n this.forceUpdate();\r\n if (typeof this.props.refreshFunction !== 'function') {\r\n throw new Error(\"Mandatory prop \\\"refreshFunction\\\" missing.\\n Pull Down To Refresh functionality will not work\\n as expected. Check README.md for usage'\");\r\n }\r\n }\r\n };\r\n InfiniteScroll.prototype.componentWillUnmount = function () {\r\n if (this.el) {\r\n this.el.removeEventListener('scroll', this\r\n .throttledOnScrollListener);\r\n if (this.props.pullDownToRefresh) {\r\n this.el.removeEventListener('touchstart', this.onStart);\r\n this.el.removeEventListener('touchmove', this.onMove);\r\n this.el.removeEventListener('touchend', this.onEnd);\r\n this.el.removeEventListener('mousedown', this.onStart);\r\n this.el.removeEventListener('mousemove', this.onMove);\r\n this.el.removeEventListener('mouseup', this.onEnd);\r\n }\r\n }\r\n };\r\n InfiniteScroll.prototype.componentDidUpdate = function (prevProps) {\r\n // do nothing when dataLength is unchanged\r\n if (this.props.dataLength === prevProps.dataLength)\r\n return;\r\n this.actionTriggered = false;\r\n // update state when new data was sent in\r\n this.setState({\r\n showLoader: false,\r\n });\r\n };\r\n InfiniteScroll.getDerivedStateFromProps = function (nextProps, prevState) {\r\n var dataLengthChanged = nextProps.dataLength !== prevState.prevDataLength;\r\n // reset when data changes\r\n if (dataLengthChanged) {\r\n return __assign(__assign({}, prevState), { prevDataLength: nextProps.dataLength });\r\n }\r\n return null;\r\n };\r\n InfiniteScroll.prototype.isElementAtTop = function (target, scrollThreshold) {\r\n if (scrollThreshold === void 0) { scrollThreshold = 0.8; }\r\n var clientHeight = target === document.body || target === document.documentElement\r\n ? window.screen.availHeight\r\n : target.clientHeight;\r\n var threshold = parseThreshold(scrollThreshold);\r\n if (threshold.unit === ThresholdUnits.Pixel) {\r\n return (target.scrollTop <=\r\n threshold.value + clientHeight - target.scrollHeight + 1);\r\n }\r\n return (target.scrollTop <=\r\n threshold.value / 100 + clientHeight - target.scrollHeight + 1);\r\n };\r\n InfiniteScroll.prototype.isElementAtBottom = function (target, scrollThreshold) {\r\n if (scrollThreshold === void 0) { scrollThreshold = 0.8; }\r\n var clientHeight = target === document.body || target === document.documentElement\r\n ? window.screen.availHeight\r\n : target.clientHeight;\r\n var threshold = parseThreshold(scrollThreshold);\r\n if (threshold.unit === ThresholdUnits.Pixel) {\r\n return (target.scrollTop + clientHeight >= target.scrollHeight - threshold.value);\r\n }\r\n return (target.scrollTop + clientHeight >=\r\n (threshold.value / 100) * target.scrollHeight);\r\n };\r\n InfiniteScroll.prototype.render = function () {\r\n var _this = this;\r\n var style = __assign({ height: this.props.height || 'auto', overflow: 'auto', WebkitOverflowScrolling: 'touch' }, this.props.style);\r\n var hasChildren = this.props.hasChildren ||\r\n !!(this.props.children &&\r\n this.props.children instanceof Array &&\r\n this.props.children.length);\r\n // because heighted infiniteScroll visualy breaks\r\n // on drag down as overflow becomes visible\r\n var outerDivStyle = this.props.pullDownToRefresh && this.props.height\r\n ? { overflow: 'auto' }\r\n : {};\r\n return (React.createElement(\"div\", { style: outerDivStyle, className: \"infinite-scroll-component__outerdiv\" },\r\n React.createElement(\"div\", { className: \"infinite-scroll-component \" + (this.props.className || ''), ref: function (infScroll) { return (_this._infScroll = infScroll); }, style: style },\r\n this.props.pullDownToRefresh && (React.createElement(\"div\", { style: { position: 'relative' }, ref: function (pullDown) { return (_this._pullDown = pullDown); } },\r\n React.createElement(\"div\", { style: {\r\n position: 'absolute',\r\n left: 0,\r\n right: 0,\r\n top: -1 * this.maxPullDownDistance,\r\n } }, this.state.pullToRefreshThresholdBreached\r\n ? this.props.releaseToRefreshContent\r\n : this.props.pullDownToRefreshContent))),\r\n this.props.children,\r\n !this.state.showLoader &&\r\n !hasChildren &&\r\n this.props.hasMore &&\r\n this.props.loader,\r\n this.state.showLoader && this.props.hasMore && this.props.loader,\r\n !this.props.hasMore && this.props.endMessage)));\r\n };\r\n return InfiniteScroll;\r\n}(Component));\n\nexport default InfiniteScroll;\n//# sourceMappingURL=index.es.js.map\n","import { AdvancedSearchFilterType } from \"~/providers/AdvancedSearchProvider\";\r\n\r\nconst convertFiltersForAnalytics = (filters: AdvancedSearchFilterType[], keyword: string | undefined) => {\r\n const filterVals = filters.map((f) => f.value);\r\n if (keyword) filterVals.push(\"keyword: \" + keyword);\r\n\r\n return filterVals.join(\", \");\r\n};\r\n\r\nexport { convertFiltersForAnalytics };\r\n","import { useContext, useRef } from \"react\";\r\nimport i18next from \"i18next\";\r\nimport apiService from \"~/services/HttpService\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\nimport {\r\n DocumentFilter,\r\n TextHighlights,\r\n SearchResultTextItem,\r\n SolRResponseData,\r\n} from \"~/features/Search/Results/types\";\r\nimport useAnalytics from \"./useAnalytics\";\r\nimport { convertFiltersForAnalytics } from \"~/utils/filterUtils\";\r\n\r\nconst API_PREFIX = \"/api/search/solr\";\r\nconst API_LOG = \"/api/search/insertlog\";\r\n\r\nconst useSolrSearch = (type: string, rows: number = 40) => {\r\n const { language } = i18next;\r\n const culture = language === \"en\" ? \"en-US\" : \"fr-FR\";\r\n const cursorMark = useRef(\"*\");\r\n const { filters } = useContext(AdvancedSearchContext);\r\n const { sp_click, sp_track_params } = useAnalytics();\r\n\r\n const {\r\n keyword,\r\n disclosureFilters,\r\n yearFilters,\r\n companyFilters,\r\n industryFilters,\r\n imageThemeFilters,\r\n pageSectionFilters,\r\n searchTerm,\r\n sortBy,\r\n } = useContext(AdvancedSearchContext);\r\n\r\n const payload: DocumentFilter = {\r\n DocumentTypeID: disclosureFilters.map((disclosure) => Number(disclosure.id)),\r\n SelectedBookmarkMetadata: pageSectionFilters.map((page) => Number(page.id)),\r\n SelectedMetadata: imageThemeFilters.map((img) => Number(img.id)),\r\n Companies: companyFilters.map((company) => Number(company.id)),\r\n DocumentYear: yearFilters.map((year) => Number(year.id)),\r\n Industries: industryFilters.map((industry) => Number(industry.id)),\r\n LanguageCode: culture,\r\n Keywords: keyword,\r\n SearchTerm: searchTerm,\r\n RowsPerPage: rows,\r\n SortBy: sortBy,\r\n CursorMark: cursorMark.current,\r\n };\r\n\r\n const fetchSearchResults = async (reset: boolean) => {\r\n if (reset) {\r\n payload.CursorMark = \"*\";\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n try {\r\n apiService\r\n .post(`${API_PREFIX}-${type}`, payload)\r\n .then((response) => {\r\n let items: any[] = [];\r\n let total = 0;\r\n\r\n if (response.status === 200) {\r\n const data: SolRResponseData = response.data;\r\n items = data.response.docs;\r\n total = data.response.numFound;\r\n cursorMark.current = data.nextCursorMark;\r\n\r\n if (data.highlighting && type === \"textsearch\") {\r\n const highlights = Object.entries(data.highlighting).reduce((acc, [key, value]) => {\r\n acc[key] = value.Content[0] || \"\";\r\n return acc;\r\n }, {} as TextHighlights);\r\n\r\n items.forEach((item: SearchResultTextItem) => {\r\n item.ContentHighlight = highlights[item.id] ? highlights[item.id] : \"\";\r\n });\r\n }\r\n }\r\n\r\n resolve({\r\n items,\r\n total,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n reject(null);\r\n });\r\n } catch (error) {\r\n console.error(error);\r\n reject(null);\r\n }\r\n });\r\n };\r\n\r\n const logSearch = () => {\r\n try {\r\n // DB Log\r\n apiService\r\n .post(`${API_LOG}`, payload)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n console.info(\"User's search parameters logged.\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n\r\n // Analytics\r\n const sp_filters = convertFiltersForAnalytics(filters, payload.SearchTerm);\r\n sp_click(\"N\", \"search\", \"Search\", sp_filters, { _title: \"Explore Search\" });\r\n sp_track_params({ _title: \"Explore Search\", _class: \"search\" }, \"\");\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n return {\r\n fetchSearchResults,\r\n logSearch,\r\n };\r\n};\r\n\r\nexport default useSolrSearch;\r\n","import * as React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst NoResult: React.FunctionComponent = () => {\r\n const { t } = useTranslation();\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n

{t(\"noResultFound\")}

\r\n
\r\n );\r\n};\r\n\r\nconst NoResultIcon = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default NoResult;\r\n","export default \"__VITE_ASSET__282c40c9__\"","import { Suspense, ImgHTMLAttributes } from \"react\";\r\nimport ImgPlaceholder from \"~/assets/search/no-image.jpg\";\r\n\r\nconst Image = (props: ImgHTMLAttributes) => {\r\n const handleError = (event:any) => {\r\n event.target.src = ImgPlaceholder;\r\n event.onerror = null;\r\n };\r\n\r\n return (\r\n }>\r\n \r\n \r\n );\r\n};\r\n\r\nconst ImagePlaceholder = () => {\r\n return \r\n};\r\n\r\nexport default Image;","import * as React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useReadLocalStorage } from \"usehooks-ts\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport useAnalytics from \"~/hooks/useAnalytics\";\r\nimport { addBookmark, deleteBookmark } from \"~/utils/bookmarkUtils\";\r\nimport { ResultTypeIndex } from \"~/features/Account/Bookmarks/types\";\r\nimport Button from \"~/ui/Button/Button\";\r\nimport Image from \"~/ui/Image/Image\";\r\n\r\ninterface ITextItemProps {\r\n text: Text;\r\n storedTexts: string;\r\n setTexts: React.Dispatch>;\r\n markText?: string;\r\n}\r\n\r\nexport interface Text {\r\n id: string;\r\n pageID: number;\r\n pageNum: number;\r\n company: string;\r\n year: number;\r\n documentType: string;\r\n documentName: string;\r\n content: string;\r\n highlight: string;\r\n thumbnail: string;\r\n}\r\n\r\nconst TextItem: React.FunctionComponent = ({ text, storedTexts, setTexts, markText }) => {\r\n const [isInCart, setIsInCart] = React.useState(false);\r\n const token = useReadLocalStorage(\"_t\") as string;\r\n const { t } = useTranslation();\r\n const { sp_click } = useAnalytics();\r\n\r\n React.useEffect(() => {\r\n const bookmarks = storedTexts !== \"\" ? JSON.parse(storedTexts) : [];\r\n const match = bookmarks && bookmarks.find((bookmark: Text) => bookmark.pageID === text.pageID);\r\n const inCart = !!match;\r\n\r\n setIsInCart(inCart);\r\n }, [storedTexts]);\r\n\r\n const highlightText = (contentText: string, searchText?: string, showFullText?: boolean) => {\r\n if (!searchText || !contentText) return contentText;\r\n\r\n let HLText = contentText;\r\n\r\n if (!showFullText) {\r\n const index1 = contentText.indexOf(searchText);\r\n\r\n if (index1 >= 0 && index1 < 300) {\r\n HLText = contentText.substring(0, 300) + \"...\";\r\n } else {\r\n HLText = contentText.substring(0, 250) + \"... \" + text.highlight + \"...\";\r\n }\r\n }\r\n\r\n const regex = new RegExp(searchText, \"gi\");\r\n const newText = HLText.replace(regex, `$&`);\r\n return ;\r\n };\r\n\r\n const toggleFavorite = () => {\r\n // Update local storage\r\n const bookmarks = storedTexts !== \"\" ? JSON.parse(storedTexts) : [];\r\n const updatedBookmarks = isInCart\r\n ? bookmarks.filter((bookmark: Text) => bookmark.pageID !== text.pageID)\r\n : [...bookmarks, text];\r\n\r\n setTexts(JSON.stringify(updatedBookmarks));\r\n\r\n // Update server data\r\n isInCart ? deleteBookmark(text.pageID, ResultTypeIndex.Text) : addBookmark(text.pageID, ResultTypeIndex.Text);\r\n setIsInCart(!isInCart);\r\n\r\n if (!isInCart) {\r\n sp_click(\r\n \"N\",\r\n \"bookmark\",\r\n \"Text bookmark\",\r\n `${text.company} - ${text.documentType} ${text.year}, Page ${text.pageNum}`,\r\n {\r\n _title: \"Explore Text results\",\r\n }\r\n );\r\n }\r\n };\r\n\r\n const downloadDocument = () => {\r\n const region = import.meta.env.VITE_REGION === \"us\" ? \"loadUS\" : \"loadFR\";\r\n const noDownload = () => alert(\"This document is not available for download.\");\r\n\r\n sp_click(\r\n \"N\",\r\n \"download\",\r\n \"Text download\",\r\n `${text.company} - ${text.documentType} ${text.year}, Page ${text.pageNum}`,\r\n {\r\n _title: \"Explore Text results\",\r\n }\r\n );\r\n\r\n try {\r\n axios\r\n .get(`${import.meta.env.VITE_API_HOST}/api/docpreview/${region}?pageid=${text.pageID}`, {\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n responseType: \"blob\",\r\n })\r\n .then((response) => {\r\n if (response.status === 200) {\r\n const url = window.URL.createObjectURL(\r\n new Blob([response.data], { type: response.headers[\"content-type\"] })\r\n );\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n\r\n link.setAttribute(\"download\", text.documentName || \"pdf\");\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n } else {\r\n console.error(\"Unexpected status code:\", response.status);\r\n noDownload();\r\n }\r\n })\r\n .catch((e: any) => {\r\n console.error(\"Error in axios request:\", e);\r\n noDownload();\r\n });\r\n } catch (e) {\r\n console.error(\"A problem occurred while fetching the document.\");\r\n noDownload();\r\n }\r\n };\r\n\r\n const previewDocument = () => {\r\n const region = import.meta.env.VITE_REGION === \"us\" ? \"loadUS\" : \"loadFR\";\r\n const noPreview = () => alert(\"Document preview not available for this item.\");\r\n\r\n try {\r\n axios\r\n .get(`${import.meta.env.VITE_API_HOST}/api/docpreview/${region}?pageid=${text.pageID}`, {\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n responseType: \"blob\",\r\n })\r\n .then((response) => {\r\n if (response.status === 200) {\r\n const url = window.URL.createObjectURL(\r\n new Blob([response.data], { type: response.headers[\"content-type\"] })\r\n );\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"target\", \"_blank\");\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n } else {\r\n console.error(\"Unexpected status code:\", response.status);\r\n noPreview();\r\n }\r\n })\r\n .catch((e: any) => {\r\n console.error(\"Error in axios request:\", e);\r\n noPreview();\r\n });\r\n } catch (e) {\r\n console.error(\"A problem occurred while fetching the document.\");\r\n noPreview();\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{highlightText(text.company, markText, true)}

\r\n

{highlightText(`${text.documentType}, ${text.year}`, markText, true)}

\r\n

Page {text.pageNum}

\r\n
\r\n
\r\n {text.highlight && (\r\n

\r\n {highlightText(text.content, markText, false)}\r\n

\r\n )}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default TextItem;\r\n","import { useState, useEffect, useRef, useContext } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useLocalStorage } from \"usehooks-ts\";\r\nimport useSolrSearch from \"~/hooks/useSolrSearch\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\nimport NoResult from \"../NoResult\";\r\nimport TextItem, { Text } from \"./TextItem\";\r\nimport { SolrSearchResultTextItem } from \"./types\";\r\n\r\nconst TextResults = () => {\r\n const [texts, setTexts] = useLocalStorage(\"texts\", \"\");\r\n const [items, setItems] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const totalItems = useRef(0);\r\n const refDiv = useRef(null);\r\n const [currentPage, setCurrentPage] = useState(0);\r\n const [searchTriggered, setSearchTriggered] = useState(false);\r\n\r\n // SolR Search implementation\r\n const { fetchSearchResults } = useSolrSearch(\"textsearch\");\r\n\r\n const { searchTerm, modalOpen, triggerSearch, setTriggerSearch } = useContext(AdvancedSearchContext);\r\n\r\n const fetchData = async () => {\r\n if (!searchTerm) {\r\n setItems([]);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n try {\r\n fetchSearchResults(currentPage === 0).then((data: any) => {\r\n totalItems.current = data.total;\r\n\r\n const newItems = data.items.map(\r\n (txtData: SolrSearchResultTextItem) =>\r\n ({\r\n id: txtData.id,\r\n pageID: txtData.PageID,\r\n pageNum: txtData.PageNumber,\r\n company: txtData.CompanyName,\r\n year: txtData.Year,\r\n documentType: txtData.DocumentType,\r\n documentName: txtData.SourceDocumentName,\r\n content: txtData.Content,\r\n highlight: txtData.ContentHighlight,\r\n thumbnail: `files/thumbnail/${txtData.ThumbnailPath}`,\r\n } as Text)\r\n );\r\n\r\n if (newItems) {\r\n if (currentPage === 0) {\r\n setItems(newItems);\r\n } else setItems((prevItems) => [...prevItems, ...newItems]);\r\n }\r\n setIsLoading(false);\r\n });\r\n } catch (error) {\r\n console.error(error);\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const getNextData = () => {\r\n if (!isLoading) setCurrentPage((prevPage) => prevPage + 1);\r\n };\r\n\r\n const reset = () => {\r\n if (refDiv && refDiv.current) {\r\n refDiv.current.scrollTo(0, 0);\r\n }\r\n\r\n setIsLoading(true);\r\n setItems([]);\r\n setCurrentPage(0);\r\n };\r\n\r\n useEffect(() => {\r\n setSearchTriggered(true);\r\n }, [currentPage]);\r\n\r\n useEffect(() => {\r\n if (!modalOpen && !searchTerm) {\r\n reset();\r\n setSearchTriggered(true);\r\n } else {\r\n setCurrentPage(0);\r\n }\r\n }, [modalOpen]);\r\n\r\n useEffect(() => {\r\n reset();\r\n setTriggerSearch(false);\r\n setSearchTriggered(true);\r\n }, [searchTerm]);\r\n\r\n useEffect(() => {\r\n if (triggerSearch) {\r\n reset();\r\n setTriggerSearch(false);\r\n setSearchTriggered(true);\r\n }\r\n }, [triggerSearch]);\r\n\r\n useEffect(() => {\r\n if (searchTriggered) {\r\n fetchData();\r\n setSearchTriggered(false);\r\n }\r\n }, [searchTriggered]);\r\n\r\n const renderSkeleton = () => {\r\n return (\r\n <>\r\n {[...Array(6)].map((_, index) => {\r\n return (\r\n \r\n
\r\n
\r\n

\r\n

\r\n

\r\n

\r\n

\r\n
\r\n
\r\n );\r\n })}\r\n \r\n );\r\n };\r\n\r\n if (isLoading) {\r\n return
{renderSkeleton()}
;\r\n }\r\n\r\n return totalItems.current > 0 ? (\r\n
\r\n \r\n {items.map((text: Text, index: number) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
\r\n ) : (\r\n \r\n );\r\n};\r\n\r\nexport default TextResults;\r\n","var k=Object.defineProperty,q=Object.defineProperties;var G=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var P=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable;var w=(t,o,e)=>o in t?k(t,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[o]=e,l=(t,o)=>{for(var e in o||(o={}))P.call(o,e)&&w(t,e,o[e]);if(h)for(var e of h(o))v.call(o,e)&&w(t,e,o[e]);return t},c=(t,o)=>q(t,G(o));var R=(t,o)=>{var e={};for(var n in t)P.call(t,n)&&o.indexOf(n)<0&&(e[n]=t[n]);if(t!=null&&h)for(var n of h(t))o.indexOf(n)<0&&v.call(t,n)&&(e[n]=t[n]);return e};import{cloneElement as lt,useRef as A,Children as ut}from\"react\";import{useState as Z,useEffect as _}from\"react\";var I=t=>t.right-t.left<5||t.bottom&&t.bottom-t.top<5,J=({spotsList:t,usedSpot:o})=>t.some(e=>e!==o&&o.left===e.left),K=({position:t,spot:o,stone:e})=>{if(t.left>o.left&&o.right>=t.left&&t.top+e.height>o.top){if(o.bottom&&o.bottom{if(t.left+o.width>e.left&&t.top>=e.top){if(e.bottom&&e.bottom{let r=l({},n);return r.left=o.left+t.width,I(r)||J({usedSpot:r,spotsList:e})?null:r},M=({spots:t,position:o,optimalSpot:e,stone:n})=>t.map((r,i,s)=>{if(r===e)return V({stone:n,position:o,optimalSpot:e,spotsList:s});let u=K({position:o,spot:r,stone:n});if(u)return u;let p=Q({position:o,stone:n,spot:r});return p||r});function W(t,o){for(let e=0,n=o.length;eo.filter(t),T=(t,o)=>[...o].sort(t);var X=(t,o)=>t.top===o.top?t.leftT(X,t);var C=({availableSpots:t,optimalSpot:o,containerSize:e,stone:n})=>{let i={right:e,top:o.top+n.height,left:o.left};o.bottom&&(i.bottom=o.bottom);for(let s=0,u=t.length;s{let e=t.right-t.left>=o.width;if(!t.bottom)return e;let n=t.bottom-t.top>=o.height;return e&&n},E=({availableSpots:t,stone:o})=>W(e=>Y(e,o),t);function L({stone:t,availableSpots:o,containerSize:e}){let n=E({availableSpots:o,stone:t}),r={left:n.left,top:n.top},i=C({optimalSpot:n,availableSpots:o.filter(p=>p!==n),stone:t,containerSize:e}),s=[...o,i],u=M({spots:s,position:r,optimalSpot:n,stone:t});return s=[...x(Boolean,u)],s=H(s),{position:r,availableSpots:s}}var z=({stones:t,containerSize:o})=>{let e={positions:[],containerHeight:0,availableSpots:[]};if(!t.length)return e;let n=0,r=[],i=[{top:0,left:0,right:o}];for(let s of t){let u=L({availableSpots:i,stone:s,containerSize:o}),p=u.position.top+s.height;nt.reduce((o,e)=>{if(!e)return o;let n=e.getBoundingClientRect();return o.push({width:n.width,height:n.height}),o},[]),B=({boxesRefs:t,wrapperRef:o,children:e,windowWidth:n,wrapperWidth:r})=>{let[{positions:i,containerHeight:s,stones:u,availableSpots:p},a]=Z({positions:[],containerHeight:null,stones:[],availableSpots:[]});return _(()=>{var m,d;let S=D(t.current),b=(d=(m=o.current)==null?void 0:m.offsetWidth)!=null?d:0;if(b===null)return;let y=z({stones:S,containerSize:b});a(c(l({},y),{stones:S}))},[e,t,o,n,r]),{positions:i,containerHeight:s,stones:u,availableSpots:p}};var tt=t=>({fade:`${t}ms opacity ease`,fadeMove:`\n ${t}ms opacity ease,\n ${t}ms top ease,\n ${t}ms left ease\n `,move:`\n ${t}ms top ease,\n ${t}ms left ease\n `}),ot=({transition:t,transitionDuration:o})=>t?{transition:tt(o)[t]}:null,et=t=>t?c(l({},t),{opacity:1}):{opacity:0,top:0,left:0},j=({style:t,position:o,transition:e,transitionDuration:n})=>l(l(c(l({},t),{position:\"absolute\"}),et(o)),ot({transition:e,transitionDuration:n}));import{useEffect as nt,useRef as rt,useState as it}from\"react\";function F(t,o,e){let n;return function(...r){n&&clearTimeout(n),n=setTimeout(function(){n=null,e||t.apply(null,r)},o),e&&!n&&t.apply(null,r)}}var O=()=>{let[t,o]=it(),e=rt(F(o,300));return nt(()=>{let n=()=>{e.current(window.innerWidth)};return window.addEventListener(\"resize\",n),()=>{window.removeEventListener(\"resize\",n)}},[]),t};import{useEffect as st,useState as pt}from\"react\";var $=t=>{let[o,e]=pt(null);return st(()=>{let n=new ResizeObserver(r=>{for(let i of r)e(i.contentRect.width)});return t.current&&n.observe(t.current),()=>{n.disconnect()}},[t]),o};import{jsx as ct}from\"react/jsx-runtime\";var ft=s=>{var u=s,{children:t,style:o,transition:e=!1,transitionDuration:n=500,transitionStep:r=50}=u,i=R(u,[\"children\",\"style\",\"transition\",\"transitionDuration\",\"transitionStep\"]);let p=A([]),a=A(null),S=O(),b=$(a),{positions:y,containerHeight:m}=B({boxesRefs:p,wrapperRef:a,children:t,windowWidth:S,wrapperWidth:b}),d=l({minHeight:m!=null?m:0,position:\"relative\"},o);return ct(\"div\",c(l({ref:a,style:d},i),{children:ut.map(t,(f,g)=>{if(typeof f!=\"object\"||!f||!(\"type\"in f))return f;let N={style:j({style:f.props.style,position:y[g],transition:e,transitionDuration:n}),ref:U=>p.current[g]=U};return lt(f,l(l({},f.props),N))})}))};export{ft as Masonry};\n","import { create } from \"zustand\";\r\nimport { Image } from \"~/features/Search/Results/ImageItem\";\r\n\r\ninterface IFullDocumentItemProps {\r\n SourceDocumentID: number;\r\n SourceDocumentFilePath: string;\r\n SourceDocumentName: string;\r\n CompanyName: string;\r\n DocumentType: string;\r\n Category: string;\r\n StartPageNumber: number;\r\n Content: string;\r\n ThumbnailImage: string;\r\n Year: number;\r\n InCart: boolean;\r\n}\r\n\r\ninterface IDetailsStore {\r\n index: number;\r\n id: null | number;\r\n resultType: string;\r\n title?: string;\r\n companyName?: string;\r\n fileName?: string;\r\n documentFileName?: string;\r\n metadata?: string;\r\n itemData?: string;\r\n content?: string;\r\n imgSrc?: string;\r\n documentSrc?: string;\r\n imageID?: null | number;\r\n imageGuid?: string;\r\n prevItem?: number;\r\n nextItem?: number;\r\n imagePreview?: Image | null;\r\n documentPreview?: IFullDocumentItemProps | null;\r\n}\r\n\r\nexport const DetailsStore = create(() => ({\r\n index: -1,\r\n id: null,\r\n resultType: \"image\",\r\n title: \"\",\r\n fileName: \"\",\r\n documentFileName: \"\",\r\n metadata: \"\",\r\n itemData: \"\",\r\n content: \"\",\r\n imgSrc: \"\",\r\n documentSrc: \"\",\r\n imageID: null,\r\n imageGuid: \"\",\r\n\r\n imagePreview: null,\r\n documentPreview: null,\r\n}));\r\n","import { useState, useEffect, useContext, FunctionComponent, Dispatch, SetStateAction, useMemo } from \"react\";\r\nimport { LanguageContext } from \"~/providers/LanguageProvider\";\r\nimport { DetailsStore } from \"~/stores/DetailsStore\";\r\nimport useAnalytics from \"~/hooks/useAnalytics\";\r\nimport { addBookmark, deleteBookmark } from \"~/utils/bookmarkUtils\";\r\nimport { ResultTypeIndex } from \"~/features/Account/Bookmarks/types\";\r\nimport { LabelTranslation } from \"~/types\";\r\nimport Button from \"~/ui/Button/Button\";\r\n\r\ninterface IImageItemProps {\r\n index: number;\r\n item: Image;\r\n images: string;\r\n setImages: Dispatch>;\r\n}\r\n\r\nexport interface Image {\r\n imageID: number;\r\n imageGuid: string;\r\n imageFilePath: string;\r\n imageFilename: string;\r\n pdfFilePath: string;\r\n company: string;\r\n year: number;\r\n documentGuid: string;\r\n documentType: LabelTranslation;\r\n metadata: LabelTranslation;\r\n width: number;\r\n height: number;\r\n}\r\n\r\nconst ImageItem: FunctionComponent = ({ item, images, setImages }) => {\r\n const { language } = useContext(LanguageContext);\r\n const [isInCart, setIsInCart] = useState(false);\r\n const [isFavorite, setIsFavorite] = useState(false);\r\n const { sp_click } = useAnalytics();\r\n\r\n useEffect(() => {\r\n const bookmarks = images && images !== \"\" ? JSON.parse(images) : [];\r\n\r\n const match = bookmarks.find((bookmark: Image) => bookmark.imageID === item.imageID);\r\n const inBookmark = !!match;\r\n\r\n setIsInCart(inBookmark);\r\n setIsFavorite(inBookmark);\r\n }, [images]);\r\n\r\n const toggleFavorite = () => {\r\n // Update local storage\r\n const bookmarks = images !== \"\" ? JSON.parse(images) : [];\r\n const updatedBookmarks = isInCart\r\n ? bookmarks.filter((bookmark: Image) => bookmark.imageID !== item.imageID)\r\n : [...bookmarks, item];\r\n setImages(JSON.stringify(updatedBookmarks));\r\n\r\n // Update server data\r\n isFavorite\r\n ? deleteBookmark(item.imageID, ResultTypeIndex.Image)\r\n : addBookmark(item.imageID, ResultTypeIndex.Image);\r\n setIsFavorite(!isFavorite);\r\n\r\n if (!isFavorite) {\r\n sp_click(\r\n \"N\",\r\n \"bookmark\",\r\n \"Image bookmark\",\r\n `${item.company} - ${item.documentType[\"en\"]} ${item.year}, ${item.metadata[\"en\"]}`,\r\n {\r\n _title: \"Explore Image results\",\r\n }\r\n );\r\n }\r\n };\r\n\r\n const itemComputedHeight = useMemo(() => {\r\n const windowWidth = window.innerWidth;\r\n const newWidth = windowWidth * 0.25;\r\n const computedHeight = (item.height / item.width) * newWidth;\r\n return computedHeight;\r\n }, [window.innerWidth]);\r\n\r\n return (\r\n DetailsStore.setState((state) => ({ ...state, imagePreview: item }))}\r\n style={{\r\n minHeight: itemComputedHeight,\r\n }}\r\n >\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n

{item.company}

\r\n

\r\n {item.documentType[language]}, {item.year}\r\n

\r\n

{item.metadata[language]}

\r\n
\r\n \r\n
\r\n {/*
\r\n {index}\r\n
*/}\r\n \r\n );\r\n};\r\n\r\nexport default ImageItem;\r\n","import { useState, useEffect, useContext, useRef } from \"react\";\r\nimport { Masonry } from \"react-masonry\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useLocalStorage } from \"usehooks-ts\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\nimport useSolrSearch from \"~/hooks/useSolrSearch\";\r\nimport { SolrSearchResultImageItem } from \"./types\";\r\nimport ImageItem, { Image as ImageProps } from \"./ImageItem\";\r\nimport NoResult from \"../NoResult\";\r\nimport Loader from \"~/ui/Loader\";\r\n\r\nconst ImageResults = () => {\r\n const storage = import.meta.env.VITE_REGION + \"_images\";\r\n const [images, setImages] = useLocalStorage(storage, \"\");\r\n\r\n const [items, setItems] = useState([]);\r\n const [loadedItems, setLoadedItems] = useState([]);\r\n\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [isFetching, setIsFetching] = useState(true);\r\n const totalItems = useRef(0);\r\n const refDiv = useRef(null);\r\n const [currentPage, setCurrentPage] = useState(0);\r\n\r\n // State to track whether a search has been triggered\r\n const [searchTriggered, setSearchTriggered] = useState(false);\r\n\r\n // SolR Search implementation\r\n const SolRSearchType = `imagesearch-${import.meta.env.VITE_REGION}`;\r\n const { fetchSearchResults } = useSolrSearch(SolRSearchType, 16);\r\n const { modalOpen, searchTerm, triggerSearch, setTriggerSearch } = useContext(AdvancedSearchContext);\r\n\r\n const fetchData = async () => {\r\n try {\r\n fetchSearchResults(currentPage === 0).then((data: any) => {\r\n totalItems.current = data.total;\r\n const newItems: ImageProps[] = data.items.map(\r\n (imgData: SolrSearchResultImageItem) =>\r\n ({\r\n imageID: imgData.ImageID,\r\n imageGuid: imgData.ImageGuid,\r\n imageFilePath: `/files/images/${imgData.ImageFilePath}`,\r\n imageFilename: imgData.ImageOriginalFilename,\r\n pdfFilePath: imgData.PdfFileName,\r\n company: imgData.CompanyName,\r\n year: imgData.Year,\r\n documentGuid: imgData.DocumentGuid,\r\n documentType: {\r\n en: imgData.DocumentTypeUs,\r\n fr: imgData.DocumentTypeFr,\r\n },\r\n metadata: {\r\n en: imgData.MetadataUs,\r\n fr: imgData.MetadataFr,\r\n },\r\n } as ImageProps)\r\n );\r\n\r\n if (newItems) {\r\n if (currentPage === 0) {\r\n setItems(newItems);\r\n } else setItems((prevItems) => [...prevItems, ...newItems]);\r\n loadImages(newItems);\r\n }\r\n });\r\n } catch (error) {\r\n console.error(error);\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const loadImage = async (item: ImageProps): Promise => {\r\n return new Promise((resolve) => {\r\n const img = new Image();\r\n img.onload = () => {\r\n resolve({ ...item, width: img.naturalWidth, height: img.naturalHeight });\r\n };\r\n img.onerror = () => {\r\n console.error(\"Error loading image: \", `${import.meta.env.VITE_API_HOST}${item.imageFilePath}`);\r\n resolve({ ...item });\r\n };\r\n img.src = `${import.meta.env.VITE_API_HOST}${item.imageFilePath}`;\r\n });\r\n };\r\n\r\n const loadImages = async (newItems: ImageProps[]) => {\r\n try {\r\n const loadedItems = await Promise.all(newItems.map(loadImage));\r\n if (currentPage === 0) {\r\n setLoadedItems(loadedItems);\r\n } else setLoadedItems((prevItems) => [...prevItems, ...loadedItems]);\r\n setIsFetching(false);\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.error(\"Error loading images:\", error);\r\n }\r\n };\r\n\r\n const reset = () => {\r\n if (refDiv && refDiv.current) {\r\n refDiv.current.scrollTo(0, 0);\r\n }\r\n\r\n setIsLoading(true);\r\n setIsFetching(true);\r\n setItems([]);\r\n setLoadedItems([]);\r\n setCurrentPage(0);\r\n };\r\n\r\n const getNextData = () => {\r\n if (!isLoading) {\r\n setIsFetching(true);\r\n setCurrentPage((prevPage) => prevPage + 1);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setSearchTriggered(true);\r\n }, [currentPage]);\r\n\r\n useEffect(() => {\r\n if (!modalOpen) {\r\n reset();\r\n setSearchTriggered(true);\r\n } else {\r\n setCurrentPage(0);\r\n }\r\n }, [modalOpen]);\r\n\r\n useEffect(() => {\r\n if (triggerSearch) {\r\n reset();\r\n setTriggerSearch(false);\r\n setSearchTriggered(true);\r\n }\r\n }, [triggerSearch]);\r\n\r\n useEffect(() => {\r\n reset();\r\n setTriggerSearch(false);\r\n setSearchTriggered(true);\r\n }, [searchTerm]);\r\n\r\n useEffect(() => {\r\n if (searchTriggered) {\r\n fetchData();\r\n setSearchTriggered(false);\r\n }\r\n }, [searchTriggered]);\r\n\r\n // useEffect(() => {\r\n // DetailsStore.setState((state) => ({\r\n // ...state,\r\n // prevItem: items[state.index - 1],\r\n // nextItem: items[state.index + 1],\r\n // }));\r\n // }, [index]);\r\n\r\n const renderSkeleton = () => {\r\n return (\r\n
\r\n {[...Array(4)].map((_, parent) => (\r\n
\r\n {[...Array(3)].map((_, child) => (\r\n \r\n ))}\r\n
\r\n ))}\r\n
\r\n );\r\n };\r\n\r\n // Initial loading\r\n if (isLoading) return renderSkeleton();\r\n\r\n return isFetching || totalItems.current > 0 ? (\r\n
\r\n \r\n \r\n {loadedItems.map((item: ImageProps, index: number) => (\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n \r\n {isFetching && }\r\n
\r\n ) : (\r\n \r\n );\r\n};\r\n\r\nconst ImageLoaderItem = () => {\r\n const generateRandomNumber = (min: number, max: number) => {\r\n // Ensure min and max are numbers\r\n min = Number(min);\r\n max = Number(max);\r\n\r\n if (isNaN(min) || isNaN(max)) {\r\n throw new Error(\"Both min and max must be valid numbers\");\r\n }\r\n\r\n // Generate a random number between min (inclusive) and max (exclusive)\r\n return Math.floor(Math.random() * (max - min)) + min;\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n

\r\n

\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ImageResults;\r\n","import axios from \"axios\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { useReadLocalStorage } from \"usehooks-ts\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport useAnalytics from \"~/hooks/useAnalytics\";\r\nimport { addBookmark, deleteBookmark } from \"~/utils/bookmarkUtils\";\r\nimport { ResultTypeIndex } from \"~/features/Account/Bookmarks/types\";\r\nimport Button from \"~/ui/Button/Button\";\r\nimport Image from \"~/ui/Image/Image\";\r\n\r\ninterface IPageItemProps {\r\n page: Page;\r\n storedPages: string;\r\n setPages: React.Dispatch>;\r\n}\r\n\r\nexport interface Page {\r\n bookmarkId: number;\r\n bookmarkName: string;\r\n company: string;\r\n pageNum: number;\r\n year: number;\r\n thumbnail: string;\r\n content: string;\r\n documentType: string;\r\n documentName: string;\r\n}\r\n\r\nconst PageItem: React.FunctionComponent = ({ page, storedPages, setPages }) => {\r\n const [isInCart, setIsInCart] = useState(false);\r\n const [isFavorite, setIsFavorite] = useState(false);\r\n const token = useReadLocalStorage(\"_t\") as string;\r\n const { t } = useTranslation();\r\n const { sp_click } = useAnalytics();\r\n\r\n useEffect(() => {\r\n const bookmarks = storedPages !== \"\" ? JSON.parse(storedPages) : [];\r\n const match = bookmarks && bookmarks.find((bookmark: Page) => bookmark.bookmarkId === page.bookmarkId);\r\n const inCart = !!match;\r\n\r\n setIsInCart(inCart);\r\n setIsFavorite(inCart);\r\n }, [storedPages]);\r\n\r\n const toggleFavorite = () => {\r\n // Update local storage\r\n const bookmarks = storedPages !== \"\" ? JSON.parse(storedPages) : [];\r\n const updatedBookmarks = isInCart\r\n ? bookmarks.filter((bookmark: Page) => bookmark.bookmarkId !== page.bookmarkId)\r\n : [...bookmarks, page];\r\n setPages(JSON.stringify(updatedBookmarks));\r\n\r\n // Update server data\r\n isFavorite\r\n ? deleteBookmark(page.bookmarkId, ResultTypeIndex.Page)\r\n : addBookmark(page.bookmarkId, ResultTypeIndex.Page);\r\n setIsFavorite(!isFavorite);\r\n\r\n if (!isFavorite) {\r\n sp_click(\r\n \"N\",\r\n \"bookmark\",\r\n \"Page bookmark\",\r\n `${page.company} - ${page.documentType} ${page.year}, ${page.bookmarkName}, Page ${page.pageNum}`,\r\n {\r\n _title: \"Explore Page results\",\r\n }\r\n );\r\n }\r\n\r\n return;\r\n };\r\n\r\n const downloadDocument = () => {\r\n const region = import.meta.env.VITE_REGION === \"us\" ? \"loadUS\" : \"loadFR\";\r\n\r\n sp_click(\r\n \"N\",\r\n \"download\",\r\n \"Page download\",\r\n `${page.company} - ${page.documentType} ${page.year}, ${page.bookmarkName}, Page ${page.pageNum}`,\r\n {\r\n _title: \"Explore Page results\",\r\n }\r\n );\r\n\r\n return axios\r\n .get(`${import.meta.env.VITE_API_HOST}/api/docpreview/${region}?docbookmarkid=${page.bookmarkId}`, {\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n responseType: \"blob\",\r\n })\r\n .then((response) => {\r\n const url = window.URL.createObjectURL(\r\n new Blob([response.data], { type: response.headers[\"content-type\"] })\r\n );\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n\r\n link.setAttribute(\"download\", page.documentName || \"pdf\");\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n };\r\n\r\n const previewDocument = () => {\r\n const region = import.meta.env.VITE_REGION === \"us\" ? \"loadUS\" : \"loadFR\";\r\n return axios\r\n .get(`${import.meta.env.VITE_API_HOST}/api/docpreview/${region}?docbookmarkid=${page.bookmarkId}`, {\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n responseType: \"blob\",\r\n })\r\n .then((response) => {\r\n const url = window.URL.createObjectURL(\r\n new Blob([response.data], { type: response.headers[\"content-type\"] })\r\n );\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"target\", \"_blank\");\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n };\r\n\r\n return (\r\n
\r\n setDetailsData(page)}\r\n >\r\n \r\n\r\n
\r\n
\r\n

{page.company}

\r\n

\r\n {page.documentType}, {page.year}\r\n

\r\n

\r\n {page.bookmarkName}, Page {page.pageNum}\r\n

\r\n
\r\n
\r\n {page.content && (\r\n

\r\n {page.content.substring(0, 300)}\r\n {page.content.length > 300 ? \"...\" : \"\"}\r\n

\r\n )}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PageItem;\r\n","import { useState, useEffect, useRef, useContext } from \"react\";\r\nimport i18next from \"i18next\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useLocalStorage } from \"usehooks-ts\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\nimport useSolrSearch from \"~/hooks/useSolrSearch\";\r\nimport { SolrSearchResultPageItem } from \"./types\";\r\nimport NoResult from \"../NoResult\";\r\nimport PageItem, { Page } from \"./PageItem\";\r\n\r\nconst PagesResults = () => {\r\n const { language } = i18next;\r\n const storage = import.meta.env.VITE_REGION + \"_pages\";\r\n const [pages, setPages] = useLocalStorage(storage, \"\");\r\n const [currentPage, setCurrentPage] = useState(0);\r\n const { searchTerm, modalOpen, triggerSearch, setTriggerSearch } = useContext(AdvancedSearchContext);\r\n\r\n // SolR Search implementation\r\n const SolRSearchType = `pagesearch-${import.meta.env.VITE_REGION}`;\r\n const { fetchSearchResults } = useSolrSearch(SolRSearchType);\r\n\r\n const [searchTriggered, setSearchTriggered] = useState(false);\r\n const [items, setItems] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const totalItems = useRef(0);\r\n const refDiv = useRef(null);\r\n\r\n const fetchData = async () => {\r\n try {\r\n fetchSearchResults(currentPage === 0).then((data: any) => {\r\n totalItems.current = data.total;\r\n const newItems = data.items.map(\r\n (pgData: SolrSearchResultPageItem) =>\r\n ({\r\n bookmarkId: pgData.SourceBookMarkID,\r\n bookmarkName: pgData.BookmarkName,\r\n company: pgData.CompanyName,\r\n pageNum: pgData.StartPageNumber,\r\n year: pgData.Year,\r\n thumbnail: `files/thumbnail/${pgData.ThumbnailPath}`,\r\n content: pgData.Content,\r\n documentType: language === \"en\" ? pgData.DocumentTypeUs : pgData.DocumentTypeFr,\r\n documentName: pgData.SourceDocumentName,\r\n } as Page)\r\n );\r\n\r\n if (newItems) {\r\n if (currentPage === 0) {\r\n setItems(newItems);\r\n } else setItems((prevItems) => [...prevItems, ...newItems]);\r\n }\r\n setIsLoading(false);\r\n });\r\n } catch (error) {\r\n console.error(error);\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const reset = () => {\r\n if (refDiv && refDiv.current) {\r\n refDiv.current.scrollTo(0, 0);\r\n }\r\n\r\n setIsLoading(true);\r\n setItems([]);\r\n setCurrentPage(0);\r\n };\r\n\r\n const getNextData = () => {\r\n if (!isLoading) setCurrentPage((prevPage) => prevPage + 1);\r\n };\r\n\r\n useEffect(() => {\r\n setSearchTriggered(true);\r\n }, [currentPage]);\r\n\r\n useEffect(() => {\r\n if (!modalOpen) {\r\n reset();\r\n setSearchTriggered(true);\r\n } else {\r\n setCurrentPage(0);\r\n }\r\n }, [modalOpen]);\r\n\r\n useEffect(() => {\r\n reset();\r\n setTriggerSearch(false);\r\n setSearchTriggered(true);\r\n }, [searchTerm, language]);\r\n\r\n useEffect(() => {\r\n if (triggerSearch) {\r\n reset();\r\n setTriggerSearch(false);\r\n setSearchTriggered(true);\r\n }\r\n }, [triggerSearch]);\r\n\r\n useEffect(() => {\r\n if (searchTriggered) {\r\n fetchData();\r\n setSearchTriggered(false);\r\n }\r\n }, [searchTriggered]);\r\n\r\n const renderSkeleton = () => {\r\n return (\r\n <>\r\n {[...Array(4)].map((_, index) => {\r\n return (\r\n \r\n
\r\n
\r\n

\r\n

\r\n

\r\n

\r\n

\r\n
\r\n \r\n );\r\n })}\r\n \r\n );\r\n };\r\n\r\n if (isLoading) {\r\n return
{renderSkeleton()}
;\r\n }\r\n\r\n return !isLoading && totalItems.current !== 0 ? (\r\n
\r\n \r\n {items.map((page: Page, index: number) => (\r\n \r\n ))}\r\n \r\n
\r\n ) : (\r\n \r\n );\r\n};\r\n\r\nexport default PagesResults;\r\n","import React, { useEffect, useContext } from \"react\";\r\nimport { LanguageContext } from \"~/providers/LanguageProvider\";\r\nimport { Dialog } from \"@headlessui/react\";\r\nimport { DetailsStore } from \"~/stores/DetailsStore\";\r\nimport { AnimatePresence, motion } from \"framer-motion\";\r\n//import { Link } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { useLocalStorage, useReadLocalStorage } from \"usehooks-ts\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport useAnalytics from \"~/hooks/useAnalytics\";\r\nimport { addBookmark, deleteBookmark } from \"~/utils/bookmarkUtils\";\r\nimport { ResultTypeIndex } from \"~/features/Account/Bookmarks/types\";\r\nimport Button from \"~/ui/Button/Button\";\r\n\r\nconst DetailsModal: React.FunctionComponent = () => {\r\n const { t } = useTranslation();\r\n const { language } = useContext(LanguageContext);\r\n const { imagePreview } = DetailsStore();\r\n const HOST = import.meta.env.VITE_API_HOST;\r\n const token = useReadLocalStorage(\"_t\") as string;\r\n const storage = import.meta.env.VITE_REGION + \"_images\";\r\n const [images, setImages] = useLocalStorage(storage, \"\");\r\n const { sp_click } = useAnalytics();\r\n const bookmarks = images !== \"\" ? JSON.parse(images) : [];\r\n const isExist = bookmarks && bookmarks.find((bookmark: any) => bookmark.imageID === imagePreview?.imageID);\r\n\r\n const [isInCart, setIsInCart] = React.useState(false);\r\n\r\n useEffect(() => {\r\n setIsInCart(isExist);\r\n }, [imagePreview]);\r\n\r\n const toggleFavorite = () => {\r\n if (imagePreview) {\r\n isExist\r\n ? deleteBookmark(imagePreview.imageID, ResultTypeIndex.Image)\r\n : addBookmark(imagePreview.imageID, ResultTypeIndex.Image);\r\n }\r\n\r\n const updatedBookmarks = isExist\r\n ? bookmarks.filter((bookmark: any) => bookmark.imageID !== imagePreview?.imageID)\r\n : [...bookmarks, imagePreview];\r\n\r\n setIsInCart(!isExist);\r\n setImages(JSON.stringify(updatedBookmarks));\r\n\r\n if (!isExist) {\r\n sp_click(\r\n \"N\",\r\n \"bookmark\",\r\n \"Image bookmark\",\r\n `${imagePreview?.company} - ${imagePreview?.documentType[\"en\"]} ${imagePreview?.year}, ${imagePreview?.metadata[\"en\"]}`,\r\n {\r\n _title: \"Explore Image results\",\r\n }\r\n );\r\n }\r\n };\r\n\r\n const downloadImage = () => {\r\n sp_click(\r\n \"N\",\r\n \"download\",\r\n \"Image download\",\r\n `${imagePreview?.company} - ${imagePreview?.documentType[\"en\"]} ${imagePreview?.year}, ${imagePreview?.metadata[\"en\"]}`,\r\n {\r\n _title: \"Explore Image results\",\r\n }\r\n );\r\n\r\n return axios\r\n .get(`${HOST}/api/download/image?imageGuidID=${imagePreview?.imageGuid}`, {\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n responseType: \"blob\",\r\n })\r\n .then((response) => {\r\n const url = window.URL.createObjectURL(\r\n new Blob([response.data], { type: response.headers[\"content-type\"] })\r\n );\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n\r\n link.setAttribute(\"download\", imagePreview?.company + \"_\" + imagePreview?.imageFilename || \"image\");\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n };\r\n\r\n const downloadDocument = () => {\r\n sp_click(\r\n \"N\",\r\n \"download\",\r\n \"Image Document download\",\r\n `${imagePreview?.company} - ${imagePreview?.documentType[\"en\"]} ${imagePreview?.year}, ${imagePreview?.metadata[\"en\"]}`,\r\n {\r\n _title: \"Explore Image results\",\r\n }\r\n );\r\n\r\n return axios\r\n .get(`${HOST}/api/download/document?documentGuidID=${imagePreview?.documentGuid}`, {\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n responseType: \"blob\",\r\n })\r\n .then((response) => {\r\n const url = window.URL.createObjectURL(\r\n new Blob([response.data], { type: response.headers[\"content-type\"] })\r\n );\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n\r\n link.setAttribute(\"download\", imagePreview?.pdfFilePath || \"pdf\");\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {imagePreview && (\r\n DetailsStore.setState((state) => ({ ...state, imagePreview: null }))}\r\n >\r\n \r\n \r\n {imagePreview.company}\r\n \r\n DetailsStore.setState((state) => ({\r\n ...state,\r\n imagePreview: null,\r\n }))\r\n }\r\n />\r\n \r\n\r\n
\r\n {imagePreview.imageFilePath && (\r\n \r\n )}\r\n
\r\n\r\n
\r\n
\r\n
\r\n Metadata:\r\n

{imagePreview.metadata[language] ? imagePreview.metadata[language] : \"--\"}

\r\n
\r\n
\r\n Image Data:\r\n

{`${imagePreview.documentType[language]} ${imagePreview.year}`}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n {imagePreview.imageID && (\r\n toggleFavorite()}\r\n >\r\n {t(isInCart ? \"removeToBookmarks\" : \"addToBookmarks\")}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default DetailsModal;\r\n","export default {}","/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2023 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = root.pdfjsLib = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], () => { return (root.pdfjsLib = factory()); });\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(globalThis, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.RenderingIntentFlag = exports.PromiseCapability = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.MAX_IMAGE_SIZE_TO_CACHE = exports.LINE_FACTOR = exports.LINE_DESCENT_FACTOR = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.BASELINE_FACTOR = exports.AnnotationType = exports.AnnotationReplyType = exports.AnnotationPrefix = exports.AnnotationMode = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationEditorType = exports.AnnotationEditorPrefix = exports.AnnotationEditorParamsType = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.getModificationDate = getModificationDate;\nexports.getUuid = getUuid;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isNodeJS = void 0;\nexports.normalizeUnicode = normalizeUnicode;\nexports.objectFromMap = objectFromMap;\nexports.objectSize = objectSize;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.unreachable = unreachable;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nconst MAX_IMAGE_SIZE_TO_CACHE = 10e6;\nexports.MAX_IMAGE_SIZE_TO_CACHE = MAX_IMAGE_SIZE_TO_CACHE;\nconst LINE_FACTOR = 1.35;\nexports.LINE_FACTOR = LINE_FACTOR;\nconst LINE_DESCENT_FACTOR = 0.35;\nexports.LINE_DESCENT_FACTOR = LINE_DESCENT_FACTOR;\nconst BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR;\nexports.BASELINE_FACTOR = BASELINE_FACTOR;\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n SAVE: 0x08,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100\n};\nexports.RenderingIntentFlag = RenderingIntentFlag;\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3\n};\nexports.AnnotationMode = AnnotationMode;\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\nexports.AnnotationEditorPrefix = AnnotationEditorPrefix;\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n STAMP: 13,\n INK: 15\n};\nexports.AnnotationEditorType = AnnotationEditorType;\nconst AnnotationEditorParamsType = {\n RESIZE: 1,\n CREATE: 2,\n FREETEXT_SIZE: 11,\n FREETEXT_COLOR: 12,\n FREETEXT_OPACITY: 13,\n INK_COLOR: 21,\n INK_THICKNESS: 22,\n INK_OPACITY: 23\n};\nexports.AnnotationEditorParamsType = AnnotationEditorParamsType;\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\"\n};\nexports.AnnotationActionEventType = AnnotationActionEventType;\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n};\nexports.DocumentActionEventType = DocumentActionEventType;\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n};\nexports.PageActionEventType = PageActionEventType;\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1\n};\nexports.CMapCompressionType = CMapCompressionType;\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nlet verbosity = VerbosityLevel.WARNINGS;\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\nfunction getVerbosityLevel() {\n return verbosity;\n}\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\nfunction unreachable(msg) {\n throw new Error(msg);\n}\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\nfunction _isValidProtocol(url) {\n switch (url?.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n if (dots?.length >= 2) {\n url = `http://${url}`;\n }\n }\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch {}\n }\n }\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch {}\n return null;\n}\nfunction shadow(obj, prop, value, nonSerializable = false) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: !nonSerializable,\n configurable: true,\n writable: false\n });\n return value;\n}\nconst BaseException = function BaseExceptionClosure() {\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\nexports.BaseException = BaseException;\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\nexports.PasswordException = PasswordException;\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\nexports.UnknownErrorException = UnknownErrorException;\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\nexports.InvalidPDFException = InvalidPDFException;\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\nexports.MissingPDFException = MissingPDFException;\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\nexports.UnexpectedResponseException = UnexpectedResponseException;\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\nexports.FormatError = FormatError;\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\nexports.AbortException = AbortException;\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes?.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch {\n return false;\n }\n}\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n static get isOffscreenCanvasSupported() {\n return shadow(this, \"isOffscreenCanvasSupported\", typeof OffscreenCanvas !== \"undefined\");\n }\n static get platform() {\n if (typeof navigator === \"undefined\") {\n return shadow(this, \"platform\", {\n isWin: false,\n isMac: false\n });\n }\n return shadow(this, \"platform\", {\n isWin: navigator.platform.includes(\"Win\"),\n isMac: navigator.platform.includes(\"Mac\")\n });\n }\n static get isCSSRoundSupported() {\n return shadow(this, \"isCSSRoundSupported\", globalThis.CSS?.supports?.(\"width: round(1.5px, 1px)\"));\n }\n}\nexports.FeatureTest = FeatureTest;\nconst hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, \"0\"));\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = this.applyTransform(r, m);\n const p2 = this.applyTransform(r.slice(2, 4), m);\n const p3 = this.applyTransform([r[0], r[3]], m);\n const p4 = this.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n static normalizeRect(rect) {\n const r = rect.slice(0);\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n static intersect(rect1, rect2) {\n const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2]));\n const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2]));\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3]));\n const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3]));\n if (yLow > yHigh) {\n return null;\n }\n return [xLow, yLow, xHigh, yHigh];\n }\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\n }\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n return [Math.min(...bounds[0]), Math.min(...bounds[1]), Math.max(...bounds[0]), Math.max(...bounds[1])];\n }\n}\nexports.Util = Util;\nconst PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac];\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v?.byteLength !== undefined;\n}\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\nfunction getModificationDate(date = new Date()) {\n const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\nclass PromiseCapability {\n #settled = false;\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = data => {\n this.#settled = true;\n resolve(data);\n };\n this.reject = reason => {\n this.#settled = true;\n reject(reason);\n };\n });\n }\n get settled() {\n return this.#settled;\n }\n}\nexports.PromiseCapability = PromiseCapability;\nlet NormalizeRegex = null;\nlet NormalizationMap = null;\nfunction normalizeUnicode(str) {\n if (!NormalizeRegex) {\n NormalizeRegex = /([\\u00a0\\u00b5\\u037e\\u0eb3\\u2000-\\u200a\\u202f\\u2126\\ufb00-\\ufb04\\ufb06\\ufb20-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufba1\\ufba4-\\ufba9\\ufbae-\\ufbb1\\ufbd3-\\ufbdc\\ufbde-\\ufbe7\\ufbea-\\ufbf8\\ufbfc-\\ufbfd\\ufc00-\\ufc5d\\ufc64-\\ufcf1\\ufcf5-\\ufd3d\\ufd88\\ufdf4\\ufdfa-\\ufdfb\\ufe71\\ufe77\\ufe79\\ufe7b\\ufe7d]+)|(\\ufb05+)/gu;\n NormalizationMap = new Map([[\"ſt\", \"ſt\"]]);\n }\n return str.replaceAll(NormalizeRegex, (_, p1, p2) => {\n return p1 ? p1.normalize(\"NFKC\") : NormalizationMap.get(p2);\n });\n}\nfunction getUuid() {\n if (typeof crypto !== \"undefined\" && typeof crypto?.randomUUID === \"function\") {\n return crypto.randomUUID();\n }\n const buf = new Uint8Array(32);\n if (typeof crypto !== \"undefined\" && typeof crypto?.getRandomValues === \"function\") {\n crypto.getRandomValues(buf);\n } else {\n for (let i = 0; i < 32; i++) {\n buf[i] = Math.floor(Math.random() * 255);\n }\n }\n return bytesToString(buf);\n}\nconst AnnotationPrefix = \"pdfjs_internal_id_\";\nexports.AnnotationPrefix = AnnotationPrefix;\n\n/***/ }),\n/* 2 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.RenderTask = exports.PDFWorkerUtil = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultFilterFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0;\nObject.defineProperty(exports, \"SVGGraphics\", ({\n enumerable: true,\n get: function () {\n return _displaySvg.SVGGraphics;\n }\n}));\nexports.build = void 0;\nexports.getDocument = getDocument;\nexports.version = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _annotation_storage = __w_pdfjs_require__(3);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _font_loader = __w_pdfjs_require__(9);\nvar _displayNode_utils = __w_pdfjs_require__(10);\nvar _canvas = __w_pdfjs_require__(11);\nvar _worker_options = __w_pdfjs_require__(14);\nvar _message_handler = __w_pdfjs_require__(15);\nvar _metadata = __w_pdfjs_require__(16);\nvar _optional_content_config = __w_pdfjs_require__(17);\nvar _transport_stream = __w_pdfjs_require__(18);\nvar _displayFetch_stream = __w_pdfjs_require__(19);\nvar _displayNetwork = __w_pdfjs_require__(22);\nvar _displayNode_stream = __w_pdfjs_require__(23);\nvar _displaySvg = __w_pdfjs_require__(24);\nvar _xfa_text = __w_pdfjs_require__(25);\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536;\nconst RENDERING_CANCELLED_TIMEOUT = 100;\nconst DELAYED_CLEANUP_TIMEOUT = 5000;\nconst DefaultCanvasFactory = _util.isNodeJS ? _displayNode_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;\nexports.DefaultCanvasFactory = DefaultCanvasFactory;\nconst DefaultCMapReaderFactory = _util.isNodeJS ? _displayNode_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;\nexports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;\nconst DefaultFilterFactory = _util.isNodeJS ? _displayNode_utils.NodeFilterFactory : _display_utils.DOMFilterFactory;\nexports.DefaultFilterFactory = DefaultFilterFactory;\nconst DefaultStandardFontDataFactory = _util.isNodeJS ? _displayNode_utils.NodeStandardFontDataFactory : _display_utils.DOMStandardFontDataFactory;\nexports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory;\nfunction getDocument(src) {\n if (typeof src === \"string\" || src instanceof URL) {\n src = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n src = {\n data: src\n };\n }\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, need parameter object.\");\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n const task = new PDFDocumentLoadingTask();\n const {\n docId\n } = task;\n const url = src.url ? getUrlProp(src.url) : null;\n const data = src.data ? getDataProp(src.data) : null;\n const httpHeaders = src.httpHeaders || null;\n const withCredentials = src.withCredentials === true;\n const password = src.password ?? null;\n const rangeTransport = src.range instanceof PDFDataRangeTransport ? src.range : null;\n const rangeChunkSize = Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0 ? src.rangeChunkSize : DEFAULT_RANGE_CHUNK_SIZE;\n let worker = src.worker instanceof PDFWorker ? src.worker : null;\n const verbosity = src.verbosity;\n const docBaseUrl = typeof src.docBaseUrl === \"string\" && !(0, _display_utils.isDataScheme)(src.docBaseUrl) ? src.docBaseUrl : null;\n const cMapUrl = typeof src.cMapUrl === \"string\" ? src.cMapUrl : null;\n const cMapPacked = src.cMapPacked !== false;\n const CMapReaderFactory = src.CMapReaderFactory || DefaultCMapReaderFactory;\n const standardFontDataUrl = typeof src.standardFontDataUrl === \"string\" ? src.standardFontDataUrl : null;\n const StandardFontDataFactory = src.StandardFontDataFactory || DefaultStandardFontDataFactory;\n const ignoreErrors = src.stopAtErrors !== true;\n const maxImageSize = Number.isInteger(src.maxImageSize) && src.maxImageSize > -1 ? src.maxImageSize : -1;\n const isEvalSupported = src.isEvalSupported !== false;\n const isOffscreenCanvasSupported = typeof src.isOffscreenCanvasSupported === \"boolean\" ? src.isOffscreenCanvasSupported : !_util.isNodeJS;\n const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes) ? src.canvasMaxAreaInBytes : -1;\n const disableFontFace = typeof src.disableFontFace === \"boolean\" ? src.disableFontFace : _util.isNodeJS;\n const fontExtraProperties = src.fontExtraProperties === true;\n const enableXfa = src.enableXfa === true;\n const ownerDocument = src.ownerDocument || globalThis.document;\n const disableRange = src.disableRange === true;\n const disableStream = src.disableStream === true;\n const disableAutoFetch = src.disableAutoFetch === true;\n const pdfBug = src.pdfBug === true;\n const length = rangeTransport ? rangeTransport.length : src.length ?? NaN;\n const useSystemFonts = typeof src.useSystemFonts === \"boolean\" ? src.useSystemFonts : !_util.isNodeJS && !disableFontFace;\n const useWorkerFetch = typeof src.useWorkerFetch === \"boolean\" ? src.useWorkerFetch : CMapReaderFactory === _display_utils.DOMCMapReaderFactory && StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory && cMapUrl && standardFontDataUrl && (0, _display_utils.isValidFetchUrl)(cMapUrl, document.baseURI) && (0, _display_utils.isValidFetchUrl)(standardFontDataUrl, document.baseURI);\n const canvasFactory = src.canvasFactory || new DefaultCanvasFactory({\n ownerDocument\n });\n const filterFactory = src.filterFactory || new DefaultFilterFactory({\n docId,\n ownerDocument\n });\n const styleElement = null;\n (0, _util.setVerbosityLevel)(verbosity);\n const transportFactory = {\n canvasFactory,\n filterFactory\n };\n if (!useWorkerFetch) {\n transportFactory.cMapReaderFactory = new CMapReaderFactory({\n baseUrl: cMapUrl,\n isCompressed: cMapPacked\n });\n transportFactory.standardFontDataFactory = new StandardFontDataFactory({\n baseUrl: standardFontDataUrl\n });\n }\n if (!worker) {\n const workerParams = {\n verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const fetchDocParams = {\n docId,\n apiVersion: '3.11.174',\n data,\n password,\n disableAutoFetch,\n rangeChunkSize,\n length,\n docBaseUrl,\n enableXfa,\n evaluatorOptions: {\n maxImageSize,\n disableFontFace,\n ignoreErrors,\n isEvalSupported,\n isOffscreenCanvasSupported,\n canvasMaxAreaInBytes,\n fontExtraProperties,\n useSystemFonts,\n cMapUrl: useWorkerFetch ? cMapUrl : null,\n standardFontDataUrl: useWorkerFetch ? standardFontDataUrl : null\n }\n };\n const transportParams = {\n ignoreErrors,\n isEvalSupported,\n disableFontFace,\n fontExtraProperties,\n enableXfa,\n ownerDocument,\n disableAutoFetch,\n pdfBug,\n styleElement\n };\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n const workerIdPromise = _fetchDocument(worker, fetchDocParams);\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length,\n initialData: rangeTransport.initialData,\n progressiveDone: rangeTransport.progressiveDone,\n contentDispositionFilename: rangeTransport.contentDispositionFilename,\n disableRange,\n disableStream\n }, rangeTransport);\n } else if (!data) {\n const createPDFNetworkStream = params => {\n if (_util.isNodeJS) {\n return new _displayNode_stream.PDFNodeStream(params);\n }\n return (0, _display_utils.isValidFetchUrl)(params.url) ? new _displayFetch_stream.PDFFetchStream(params) : new _displayNetwork.PDFNetworkStream(params);\n };\n networkStream = createPDFNetworkStream({\n url,\n length,\n httpHeaders,\n withCredentials,\n rangeChunkSize,\n disableRange,\n disableStream\n });\n }\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n const transport = new WorkerTransport(messageHandler, task, networkStream, transportParams, transportFactory);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n}\nasync function _fetchDocument(worker, source) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n const workerId = await worker.messageHandler.sendWithPromise(\"GetDocRequest\", source, source.data ? [source.data.buffer] : null);\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\nfunction getUrlProp(val) {\n if (val instanceof URL) {\n return val.href;\n }\n try {\n return new URL(val, window.location).href;\n } catch {\n if (_util.isNodeJS && typeof val === \"string\") {\n return val;\n }\n }\n throw new Error(\"Invalid PDF url data: \" + \"either string or URL-object is expected in the url property.\");\n}\nfunction getDataProp(val) {\n if (_util.isNodeJS && typeof Buffer !== \"undefined\" && val instanceof Buffer) {\n throw new Error(\"Please provide binary data as `Uint8Array`, rather than `Buffer`.\");\n }\n if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) {\n return val;\n }\n if (typeof val === \"string\") {\n return (0, _util.stringToBytes)(val);\n }\n if (typeof val === \"object\" && !isNaN(val?.length) || (0, _util.isArrayBuffer)(val)) {\n return new Uint8Array(val);\n }\n throw new Error(\"Invalid PDF binary data: either TypedArray, \" + \"string, or array-like object is expected in the data property.\");\n}\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n constructor() {\n this._capability = new _util.PromiseCapability();\n this._transport = null;\n this._worker = null;\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n }\n get promise() {\n return this._capability.promise;\n }\n async destroy() {\n this.destroyed = true;\n try {\n if (this._worker?.port) {\n this._worker._pendingDestroy = true;\n }\n await this._transport?.destroy();\n } catch (ex) {\n if (this._worker?.port) {\n delete this._worker._pendingDestroy;\n }\n throw ex;\n }\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\nexports.PDFDocumentLoadingTask = PDFDocumentLoadingTask;\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false, contentDispositionFilename = null) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = new _util.PromiseCapability();\n }\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n transportReady() {\n this._readyCapability.resolve();\n }\n requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n abort() {}\n}\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n Object.defineProperty(this, \"getJavaScript\", {\n value: () => {\n (0, _display_utils.deprecated)(\"`PDFDocumentProxy.getJavaScript`, \" + \"please use `PDFDocumentProxy.getJSActions` instead.\");\n return this.getJSActions().then(js => {\n if (!js) {\n return js;\n }\n const jsArr = [];\n for (const name in js) {\n jsArr.push(...js[name]);\n }\n return jsArr;\n });\n }\n });\n }\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n get filterFactory() {\n return this._transport.filterFactory;\n }\n get numPages() {\n return this._pdfInfo.numPages;\n }\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n get isPureXfa() {\n return (0, _util.shadow)(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n getDestinations() {\n return this._transport.getDestinations();\n }\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n getPageMode() {\n return this._transport.getPageMode();\n }\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n getAttachments() {\n return this._transport.getAttachments();\n }\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n getOutline() {\n return this._transport.getOutline();\n }\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n getPermissions() {\n return this._transport.getPermissions();\n }\n getMetadata() {\n return this._transport.getMetadata();\n }\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n getData() {\n return this._transport.getData();\n }\n saveDocument() {\n return this._transport.saveDocument();\n }\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n destroy() {\n return this.loadingTask.destroy();\n }\n get loadingParams() {\n return this._transport.loadingParams;\n }\n get loadingTask() {\n return this._transport.loadingTask;\n }\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\nexports.PDFDocumentProxy = PDFDocumentProxy;\nclass PDFPageProxy {\n #delayedCleanupTimeout = null;\n #pendingCleanup = false;\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this._maybeCleanupAfterRender = false;\n this._intentStates = new Map();\n this.destroyed = false;\n }\n get pageNumber() {\n return this._pageIndex + 1;\n }\n get rotate() {\n return this._pageInfo.rotate;\n }\n get ref() {\n return this._pageInfo.ref;\n }\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n get view() {\n return this._pageInfo.view;\n }\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = {}) {\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n getAnnotations({\n intent = \"display\"\n } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n return this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent);\n }\n getJSActions() {\n return this._transport.getPageJSActions(this._pageIndex);\n }\n get filterFactory() {\n return this._transport.filterFactory;\n }\n get isPureXfa() {\n return (0, _util.shadow)(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n transform = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n printAnnotationStorage = null\n }) {\n this._stats?.time(\"Overall\");\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage);\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n const intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT);\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = new _util.PromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n if (this._maybeCleanupAfterRender || intentPrint) {\n this.#pendingCleanup = true;\n }\n this.#tryCleanup(!intentPrint);\n if (error) {\n internalRenderTask.capability.reject(error);\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error)\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n this._stats?.timeEnd(\"Rendering\");\n this._stats?.timeEnd(\"Overall\");\n };\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext,\n viewport,\n transform,\n background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: this._transport.canvasFactory,\n filterFactory: this._transport.filterFactory,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors\n });\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(([transparency, optionalContentConfig]) => {\n if (this.destroyed) {\n complete();\n return;\n }\n this._stats?.time(\"Rendering\");\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n getOperatorList({\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n printAnnotationStorage = null\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n intentState.renderTasks.delete(opListTask);\n }\n }\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, true);\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = new _util.PromiseCapability();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n streamTextContent({\n includeMarkedContent = false,\n disableNormalization = false\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n includeMarkedContent: includeMarkedContent === true,\n disableNormalization: disableNormalization === true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n }\n });\n }\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n return this.getXfa().then(xfa => {\n return _xfa_text.XfaText.textContent(xfa);\n });\n }\n const readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n getStructTree() {\n return this._transport.getStructTree(this._pageIndex);\n }\n _destroy() {\n this.destroyed = true;\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n if (intentState.opListReadCapability) {\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n return Promise.all(waitOn);\n }\n cleanup(resetStats = false) {\n this.#pendingCleanup = true;\n const success = this.#tryCleanup(false);\n if (resetStats && success) {\n this._stats &&= new _display_utils.StatTimer();\n }\n return success;\n }\n #tryCleanup(delayed = false) {\n this.#abortDelayedCleanup();\n if (!this.#pendingCleanup || this.destroyed) {\n return false;\n }\n if (delayed) {\n this.#delayedCleanupTimeout = setTimeout(() => {\n this.#delayedCleanupTimeout = null;\n this.#tryCleanup(false);\n }, DELAYED_CLEANUP_TIMEOUT);\n return false;\n }\n for (const {\n renderTasks,\n operatorList\n } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n this._intentStates.clear();\n this.objs.clear();\n this.#pendingCleanup = false;\n return true;\n }\n #abortDelayedCleanup() {\n if (this.#delayedCleanupTimeout) {\n clearTimeout(this.#delayedCleanupTimeout);\n this.#delayedCleanupTimeout = null;\n }\n }\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return;\n }\n this._stats?.timeEnd(\"Page Request\");\n intentState.displayReadyCapability?.resolve(transparency);\n }\n _renderPageChunk(operatorListChunk, intentState) {\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots;\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n if (operatorListChunk.lastChunk) {\n this.#tryCleanup(true);\n }\n }\n _pumpOperatorList({\n renderingIntent,\n cacheKey,\n annotationStorageSerializable\n }) {\n const {\n map,\n transfers\n } = annotationStorageSerializable;\n const readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage: map\n }, transfers);\n const reader = readableStream.getReader();\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n const pump = () => {\n reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return;\n }\n this._renderPageChunk(value, intentState);\n pump();\n }, reason => {\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this.#tryCleanup(true);\n }\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n pump();\n }\n _abortOperatorList({\n intentState,\n reason,\n force = false\n }) {\n if (!intentState.streamReader) {\n return;\n }\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n if (!force) {\n if (intentState.renderTasks.size > 0) {\n return;\n }\n if (reason instanceof _display_utils.RenderingCancelledException) {\n let delay = RENDERING_CANCELLED_TIMEOUT;\n if (reason.extraDelay > 0 && reason.extraDelay < 1000) {\n delay += reason.extraDelay;\n }\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n intentState.streamReaderCancelTimeout = null;\n this._abortOperatorList({\n intentState,\n reason,\n force: true\n });\n }, delay);\n return;\n }\n }\n intentState.streamReader.cancel(new _util.AbortException(reason.message)).catch(() => {});\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n this.cleanup();\n }\n get stats() {\n return this._stats;\n }\n}\nexports.PDFPageProxy = PDFPageProxy;\nclass LoopbackPort {\n #listeners = new Set();\n #deferred = Promise.resolve();\n postMessage(obj, transfer) {\n const event = {\n data: structuredClone(obj, transfer ? {\n transfer\n } : null)\n };\n this.#deferred.then(() => {\n for (const listener of this.#listeners) {\n listener.call(this, event);\n }\n });\n }\n addEventListener(name, listener) {\n this.#listeners.add(listener);\n }\n removeEventListener(name, listener) {\n this.#listeners.delete(listener);\n }\n terminate() {\n this.#listeners.clear();\n }\n}\nexports.LoopbackPort = LoopbackPort;\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0\n};\nexports.PDFWorkerUtil = PDFWorkerUtil;\n{\n if (_util.isNodeJS && typeof require === \"function\") {\n PDFWorkerUtil.isWorkerDisabled = true;\n PDFWorkerUtil.fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch {\n return false;\n }\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n PDFWorkerUtil.createCDNWrapper = function (url) {\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\nclass PDFWorker {\n static #workerPorts;\n constructor({\n name = null,\n port = null,\n verbosity = (0, _util.getVerbosityLevel)()\n } = {}) {\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n this._readyCapability = new _util.PromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n if (port) {\n if (PDFWorker.#workerPorts?.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n (PDFWorker.#workerPorts ||= new WeakMap()).set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n get promise() {\n return this._readyCapability.promise;\n }\n get port() {\n return this._port;\n }\n get messageHandler() {\n return this._messageHandler;\n }\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {});\n this._readyCapability.resolve();\n this._messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }\n _initialize() {\n if (!PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) {\n let {\n workerSrc\n } = PDFWorker;\n try {\n if (!PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n const worker = new Worker(workerSrc);\n const messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n this._setupFakeWorker();\n }\n };\n const onWorkerError = () => {\n if (!this._webWorker) {\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n this._readyCapability.resolve();\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n try {\n sendTest();\n } catch {\n this._setupFakeWorker();\n }\n });\n const sendTest = () => {\n const testObj = new Uint8Array();\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n sendTest();\n return;\n } catch {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n this._setupFakeWorker();\n }\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n const workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n const messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }).catch(reason => {\n this._readyCapability.reject(new Error(`Setting up fake worker failed: \"${reason.message}\".`));\n });\n }\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker.#workerPorts?.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n const cachedPort = this.#workerPorts?.get(params.port);\n if (cachedPort) {\n if (cachedPort._pendingDestroy) {\n throw new Error(\"PDFWorker.fromPort - the worker is being destroyed.\\n\" + \"Please remember to await `PDFDocumentLoadingTask.destroy()`-calls.\");\n }\n return cachedPort;\n }\n return new PDFWorker(params);\n }\n static get workerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!_util.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch {\n return null;\n }\n }\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n if (mainWorkerMessageHandler) {\n return mainWorkerMessageHandler;\n }\n if (_util.isNodeJS && typeof require === \"function\") {\n const worker = eval(\"require\")(this.workerSrc);\n return worker.WorkerMessageHandler;\n }\n await (0, _display_utils.loadScript)(this.workerSrc);\n return window.pdfjsWorker.WorkerMessageHandler;\n };\n return (0, _util.shadow)(this, \"_setupFakeWorkerGlobal\", loader());\n }\n}\nexports.PDFWorker = PDFWorker;\nclass WorkerTransport {\n #methodPromises = new Map();\n #pageCache = new Map();\n #pagePromises = new Map();\n #passwordCapability = null;\n constructor(messageHandler, loadingTask, networkStream, params, factory) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n ownerDocument: params.ownerDocument,\n styleElement: params.styleElement\n });\n this._params = params;\n this.canvasFactory = factory.canvasFactory;\n this.filterFactory = factory.filterFactory;\n this.cMapReaderFactory = factory.cMapReaderFactory;\n this.standardFontDataFactory = factory.standardFontDataFactory;\n this.destroyed = false;\n this.destroyCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.downloadInfoCapability = new _util.PromiseCapability();\n this.setupMessageHandler();\n }\n #cacheSimpleMethod(name, data = null) {\n const cachedPromise = this.#methodPromises.get(name);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(name, data);\n this.#methodPromises.set(name, promise);\n return promise;\n }\n get annotationStorage() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n getRenderingIntent(intent, annotationMode = _util.AnnotationMode.ENABLE, printAnnotationStorage = null, isOpList = false) {\n let renderingIntent = _util.RenderingIntentFlag.DISPLAY;\n let annotationStorageSerializable = _annotation_storage.SerializableEmpty;\n switch (intent) {\n case \"any\":\n renderingIntent = _util.RenderingIntentFlag.ANY;\n break;\n case \"display\":\n break;\n case \"print\":\n renderingIntent = _util.RenderingIntentFlag.PRINT;\n break;\n default:\n (0, _util.warn)(`getRenderingIntent - invalid intent: ${intent}`);\n }\n switch (annotationMode) {\n case _util.AnnotationMode.DISABLE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE;\n break;\n case _util.AnnotationMode.ENABLE:\n break;\n case _util.AnnotationMode.ENABLE_FORMS:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS;\n break;\n case _util.AnnotationMode.ENABLE_STORAGE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE;\n const annotationStorage = renderingIntent & _util.RenderingIntentFlag.PRINT && printAnnotationStorage instanceof _annotation_storage.PrintAnnotationStorage ? printAnnotationStorage : this.annotationStorage;\n annotationStorageSerializable = annotationStorage.serializable;\n break;\n default:\n (0, _util.warn)(`getRenderingIntent - invalid annotationMode: ${annotationMode}`);\n }\n if (isOpList) {\n renderingIntent += _util.RenderingIntentFlag.OPLIST;\n }\n return {\n renderingIntent,\n cacheKey: `${renderingIntent}_${annotationStorageSerializable.hash}`,\n annotationStorageSerializable\n };\n }\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n this.destroyed = true;\n this.destroyCapability = new _util.PromiseCapability();\n this.#passwordCapability?.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n const waitOn = [];\n for (const page of this.#pageCache.values()) {\n waitOn.push(page._destroy());\n }\n this.#pageCache.clear();\n this.#pagePromises.clear();\n if (this.hasOwnProperty(\"annotationStorage\")) {\n this.annotationStorage.resetModified();\n }\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.commonObjs.clear();\n this.fontLoader.clear();\n this.#methodPromises.clear();\n this.filterFactory.destroy();\n this._networkStream?.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n setupMessageHandler() {\n const {\n messageHandler,\n loadingTask\n } = this;\n messageHandler.on(\"GetReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n sink.onPull = () => {\n this._fullReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)(value instanceof ArrayBuffer, \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", data => {\n const headersCapability = new _util.PromiseCapability();\n const fullReader = this._fullReader;\n fullReader.headersReady.then(() => {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (this._lastProgress) {\n loadingTask.onProgress?.(this._lastProgress);\n }\n fullReader.onProgress = evt => {\n loadingTask.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n };\n }\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n if (!rangeReader) {\n sink.close();\n return;\n }\n sink.onPull = () => {\n rangeReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)(value instanceof ArrayBuffer, \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", ({\n pdfInfo\n }) => {\n this._numPages = pdfInfo.numPages;\n this._htmlForXfa = pdfInfo.htmlForXfa;\n delete pdfInfo.htmlForXfa;\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n default:\n (0, _util.unreachable)(\"DocException - expected a valid Error.\");\n }\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", exception => {\n this.#passwordCapability = new _util.PromiseCapability();\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n if (password instanceof Error) {\n this.#passwordCapability.reject(password);\n } else {\n this.#passwordCapability.resolve({\n password\n });\n }\n };\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this.#passwordCapability.reject(ex);\n }\n } else {\n this.#passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n return this.#passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", data => {\n loadingTask.onProgress?.({\n loaded: data.length,\n total: data.length\n });\n this.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return;\n }\n const page = this.#pageCache.get(data.pageIndex);\n page._startRenderPage(data.transparency, data.cacheKey);\n });\n messageHandler.on(\"commonobj\", ([id, type, exportedData]) => {\n if (this.destroyed) {\n return;\n }\n if (this.commonObjs.has(id)) {\n return;\n }\n switch (type) {\n case \"Font\":\n const params = this._params;\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n (0, _util.warn)(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n const inspectFont = params.pdfBug && globalThis.FontInspector?.enabled ? (font, url) => globalThis.FontInspector.fontAdded(font, url) : null;\n const font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n inspectFont\n });\n this.fontLoader.bind(font).catch(reason => {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id\n });\n }).finally(() => {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n this.commonObjs.resolve(id, font);\n });\n break;\n case \"FontPath\":\n case \"Image\":\n case \"Pattern\":\n this.commonObjs.resolve(id, exportedData);\n break;\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n });\n messageHandler.on(\"obj\", ([id, pageIndex, type, imageData]) => {\n if (this.destroyed) {\n return;\n }\n const pageProxy = this.#pageCache.get(pageIndex);\n if (pageProxy.objs.has(id)) {\n return;\n }\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n if (imageData) {\n let length;\n if (imageData.bitmap) {\n const {\n width,\n height\n } = imageData;\n length = width * height * 4;\n } else {\n length = imageData.data?.length || 0;\n }\n if (length > _util.MAX_IMAGE_SIZE_TO_CACHE) {\n pageProxy._maybeCleanupAfterRender = true;\n }\n }\n break;\n case \"Pattern\":\n pageProxy.objs.resolve(id, imageData);\n break;\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n });\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return;\n }\n loadingTask.onProgress?.({\n loaded: data.loaded,\n total: data.total\n });\n });\n messageHandler.on(\"FetchBuiltInCMap\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n if (!this.cMapReaderFactory) {\n return Promise.reject(new Error(\"CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n return this.cMapReaderFactory.fetch(data);\n });\n messageHandler.on(\"FetchStandardFontData\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n if (!this.standardFontDataFactory) {\n return Promise.reject(new Error(\"StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n return this.standardFontDataFactory.fetch(data);\n });\n }\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n saveDocument() {\n if (this.annotationStorage.size <= 0) {\n (0, _util.warn)(\"saveDocument called while `annotationStorage` is empty, \" + \"please use the getData-method instead.\");\n }\n const {\n map,\n transfers\n } = this.annotationStorage.serializable;\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n isPureXfa: !!this._htmlForXfa,\n numPages: this._numPages,\n annotationStorage: map,\n filename: this._fullReader?.filename ?? null\n }, transfers).finally(() => {\n this.annotationStorage.resetModified();\n });\n }\n getPage(pageNumber) {\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request.\"));\n }\n const pageIndex = pageNumber - 1,\n cachedPromise = this.#pagePromises.get(pageIndex);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex\n }).then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.pdfBug);\n this.#pageCache.set(pageIndex, page);\n return page;\n });\n this.#pagePromises.set(pageIndex, promise);\n return promise;\n }\n getPageIndex(ref) {\n if (typeof ref !== \"object\" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) {\n return Promise.reject(new Error(\"Invalid pageIndex request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n num: ref.num,\n gen: ref.gen\n });\n }\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent\n });\n }\n getFieldObjects() {\n return this.#cacheSimpleMethod(\"GetFieldObjects\");\n }\n hasJSActions() {\n return this.#cacheSimpleMethod(\"HasJSActions\");\n }\n getCalculationOrderIds() {\n return this.messageHandler.sendWithPromise(\"GetCalculationOrderIds\", null);\n }\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id\n });\n }\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n getDocJSActions() {\n return this.#cacheSimpleMethod(\"GetDocJSActions\");\n }\n getPageJSActions(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetPageJSActions\", {\n pageIndex\n });\n }\n getStructTree(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetStructTree\", {\n pageIndex\n });\n }\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(results => {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n getMetadata() {\n const name = \"GetMetadata\",\n cachedPromise = this.#methodPromises.get(name);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(name, null).then(results => {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader?.filename ?? null,\n contentLength: this._fullReader?.contentLength ?? null\n };\n });\n this.#methodPromises.set(name, promise);\n return promise;\n }\n getMarkInfo() {\n return this.messageHandler.sendWithPromise(\"GetMarkInfo\", null);\n }\n async startCleanup(keepLoadedFonts = false) {\n if (this.destroyed) {\n return;\n }\n await this.messageHandler.sendWithPromise(\"Cleanup\", null);\n for (const page of this.#pageCache.values()) {\n const cleanupSuccessful = page.cleanup();\n if (!cleanupSuccessful) {\n throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`);\n }\n }\n this.commonObjs.clear();\n if (!keepLoadedFonts) {\n this.fontLoader.clear();\n }\n this.#methodPromises.clear();\n this.filterFactory.destroy(true);\n }\n get loadingParams() {\n const {\n disableAutoFetch,\n enableXfa\n } = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch,\n enableXfa\n });\n }\n}\nclass PDFObjects {\n #objs = Object.create(null);\n #ensureObj(objId) {\n return this.#objs[objId] ||= {\n capability: new _util.PromiseCapability(),\n data: null\n };\n }\n get(objId, callback = null) {\n if (callback) {\n const obj = this.#ensureObj(objId);\n obj.capability.promise.then(() => callback(obj.data));\n return null;\n }\n const obj = this.#objs[objId];\n if (!obj?.capability.settled) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n return obj.data;\n }\n has(objId) {\n const obj = this.#objs[objId];\n return obj?.capability.settled || false;\n }\n resolve(objId, data = null) {\n const obj = this.#ensureObj(objId);\n obj.data = data;\n obj.capability.resolve();\n }\n clear() {\n for (const objId in this.#objs) {\n const {\n data\n } = this.#objs[objId];\n data?.bitmap?.close();\n }\n this.#objs = Object.create(null);\n }\n}\nclass RenderTask {\n #internalRenderTask = null;\n constructor(internalRenderTask) {\n this.#internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n get promise() {\n return this.#internalRenderTask.capability.promise;\n }\n cancel(extraDelay = 0) {\n this.#internalRenderTask.cancel(null, extraDelay);\n }\n get separateAnnots() {\n const {\n separateAnnots\n } = this.#internalRenderTask.operatorList;\n if (!separateAnnots) {\n return false;\n }\n const {\n annotationCanvasMap\n } = this.#internalRenderTask;\n return separateAnnots.form || separateAnnots.canvas && annotationCanvasMap?.size > 0;\n }\n}\nexports.RenderTask = RenderTask;\nclass InternalRenderTask {\n static #canvasInUse = new WeakSet();\n constructor({\n callback,\n params,\n objs,\n commonObjs,\n annotationCanvasMap,\n operatorList,\n pageIndex,\n canvasFactory,\n filterFactory,\n useRequestAnimationFrame = false,\n pdfBug = false,\n pageColors = null\n }) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.annotationCanvasMap = annotationCanvasMap;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.filterFactory = filterFactory;\n this._pdfBug = pdfBug;\n this.pageColors = pageColors;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = new _util.PromiseCapability();\n this.task = new RenderTask(this);\n this._cancelBound = this.cancel.bind(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n get completed() {\n return this.capability.promise.catch(function () {});\n }\n initializeGraphics({\n transparency = false,\n optionalContentConfig\n }) {\n if (this.cancelled) {\n return;\n }\n if (this._canvas) {\n if (InternalRenderTask.#canvasInUse.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n InternalRenderTask.#canvasInUse.add(this._canvas);\n }\n if (this._pdfBug && globalThis.StepperManager?.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n const {\n canvasContext,\n viewport,\n transform,\n background\n } = this.params;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {\n optionalContentConfig\n }, this.annotationCanvasMap, this.pageColors);\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n this.graphicsReadyCallback?.();\n }\n cancel(error = null, extraDelay = 0) {\n this.running = false;\n this.cancelled = true;\n this.gfx?.endDrawing();\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, extraDelay));\n }\n operatorListChanged() {\n if (!this.graphicsReady) {\n this.graphicsReadyCallback ||= this._continueBound;\n return;\n }\n this.stepper?.updateOperatorList(this.operatorList);\n if (this.running) {\n return;\n }\n this._continue();\n }\n _continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this._nextBound().catch(this._cancelBound);\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this._cancelBound);\n }\n }\n async _next() {\n if (this.cancelled) {\n return;\n }\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n this.callback();\n }\n }\n }\n}\nconst version = '3.11.174';\nexports.version = version;\nconst build = 'ce8716743';\nexports.build = build;\n\n/***/ }),\n/* 3 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SerializableEmpty = exports.PrintAnnotationStorage = exports.AnnotationStorage = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _murmurhash = __w_pdfjs_require__(8);\nconst SerializableEmpty = Object.freeze({\n map: null,\n hash: \"\",\n transfers: undefined\n});\nexports.SerializableEmpty = SerializableEmpty;\nclass AnnotationStorage {\n #modified = false;\n #storage = new Map();\n constructor() {\n this.onSetModified = null;\n this.onResetModified = null;\n this.onAnnotationEditor = null;\n }\n getValue(key, defaultValue) {\n const value = this.#storage.get(key);\n if (value === undefined) {\n return defaultValue;\n }\n return Object.assign(defaultValue, value);\n }\n getRawValue(key) {\n return this.#storage.get(key);\n }\n remove(key) {\n this.#storage.delete(key);\n if (this.#storage.size === 0) {\n this.resetModified();\n }\n if (typeof this.onAnnotationEditor === \"function\") {\n for (const value of this.#storage.values()) {\n if (value instanceof _editor.AnnotationEditor) {\n return;\n }\n }\n this.onAnnotationEditor(null);\n }\n }\n setValue(key, value) {\n const obj = this.#storage.get(key);\n let modified = false;\n if (obj !== undefined) {\n for (const [entry, val] of Object.entries(value)) {\n if (obj[entry] !== val) {\n modified = true;\n obj[entry] = val;\n }\n }\n } else {\n modified = true;\n this.#storage.set(key, value);\n }\n if (modified) {\n this.#setModified();\n }\n if (value instanceof _editor.AnnotationEditor && typeof this.onAnnotationEditor === \"function\") {\n this.onAnnotationEditor(value.constructor._type);\n }\n }\n has(key) {\n return this.#storage.has(key);\n }\n getAll() {\n return this.#storage.size > 0 ? (0, _util.objectFromMap)(this.#storage) : null;\n }\n setAll(obj) {\n for (const [key, val] of Object.entries(obj)) {\n this.setValue(key, val);\n }\n }\n get size() {\n return this.#storage.size;\n }\n #setModified() {\n if (!this.#modified) {\n this.#modified = true;\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n resetModified() {\n if (this.#modified) {\n this.#modified = false;\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n get print() {\n return new PrintAnnotationStorage(this);\n }\n get serializable() {\n if (this.#storage.size === 0) {\n return SerializableEmpty;\n }\n const map = new Map(),\n hash = new _murmurhash.MurmurHash3_64(),\n transfers = [];\n const context = Object.create(null);\n let hasBitmap = false;\n for (const [key, val] of this.#storage) {\n const serialized = val instanceof _editor.AnnotationEditor ? val.serialize(false, context) : val;\n if (serialized) {\n map.set(key, serialized);\n hash.update(`${key}:${JSON.stringify(serialized)}`);\n hasBitmap ||= !!serialized.bitmap;\n }\n }\n if (hasBitmap) {\n for (const value of map.values()) {\n if (value.bitmap) {\n transfers.push(value.bitmap);\n }\n }\n }\n return map.size > 0 ? {\n map,\n hash: hash.hexdigest(),\n transfers\n } : SerializableEmpty;\n }\n}\nexports.AnnotationStorage = AnnotationStorage;\nclass PrintAnnotationStorage extends AnnotationStorage {\n #serializable;\n constructor(parent) {\n super();\n const {\n map,\n hash,\n transfers\n } = parent.serializable;\n const clone = structuredClone(map, transfers ? {\n transfer: transfers\n } : null);\n this.#serializable = {\n map: clone,\n hash,\n transfers\n };\n }\n get print() {\n (0, _util.unreachable)(\"Should not call PrintAnnotationStorage.print\");\n }\n get serializable() {\n return this.#serializable;\n }\n}\nexports.PrintAnnotationStorage = PrintAnnotationStorage;\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditor = void 0;\nvar _tools = __w_pdfjs_require__(5);\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nclass AnnotationEditor {\n #altText = \"\";\n #altTextDecorative = false;\n #altTextButton = null;\n #altTextTooltip = null;\n #altTextTooltipTimeout = null;\n #keepAspectRatio = false;\n #resizersDiv = null;\n #boundFocusin = this.focusin.bind(this);\n #boundFocusout = this.focusout.bind(this);\n #hasBeenClicked = false;\n #isEditing = false;\n #isInEditMode = false;\n _initialOptions = Object.create(null);\n _uiManager = null;\n _focusEventsAllowed = true;\n _l10nPromise = null;\n #isDraggable = false;\n #zIndex = AnnotationEditor._zIndex++;\n static _borderLineWidth = -1;\n static _colorManager = new _tools.ColorManager();\n static _zIndex = 1;\n static SMALL_EDITOR_SIZE = 0;\n constructor(parameters) {\n if (this.constructor === AnnotationEditor) {\n (0, _util.unreachable)(\"Cannot initialize AnnotationEditor.\");\n }\n this.parent = parameters.parent;\n this.id = parameters.id;\n this.width = this.height = null;\n this.pageIndex = parameters.parent.pageIndex;\n this.name = parameters.name;\n this.div = null;\n this._uiManager = parameters.uiManager;\n this.annotationElementId = null;\n this._willKeepAspectRatio = false;\n this._initialOptions.isCentered = parameters.isCentered;\n this._structTreeParentId = null;\n const {\n rotation,\n rawDims: {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n }\n } = this.parent.viewport;\n this.rotation = rotation;\n this.pageRotation = (360 + rotation - this._uiManager.viewParameters.rotation) % 360;\n this.pageDimensions = [pageWidth, pageHeight];\n this.pageTranslation = [pageX, pageY];\n const [width, height] = this.parentDimensions;\n this.x = parameters.x / width;\n this.y = parameters.y / height;\n this.isAttachedToDOM = false;\n this.deleted = false;\n }\n get editorType() {\n return Object.getPrototypeOf(this).constructor._type;\n }\n static get _defaultLineColor() {\n return (0, _util.shadow)(this, \"_defaultLineColor\", this._colorManager.getHexCode(\"CanvasText\"));\n }\n static deleteAnnotationElement(editor) {\n const fakeEditor = new FakeEditor({\n id: editor.parent.getNextId(),\n parent: editor.parent,\n uiManager: editor._uiManager\n });\n fakeEditor.annotationElementId = editor.annotationElementId;\n fakeEditor.deleted = true;\n fakeEditor._uiManager.addToAnnotationStorage(fakeEditor);\n }\n static initialize(l10n, options = null) {\n AnnotationEditor._l10nPromise ||= new Map([\"editor_alt_text_button_label\", \"editor_alt_text_edit_button_label\", \"editor_alt_text_decorative_tooltip\"].map(str => [str, l10n.get(str)]));\n if (options?.strings) {\n for (const str of options.strings) {\n AnnotationEditor._l10nPromise.set(str, l10n.get(str));\n }\n }\n if (AnnotationEditor._borderLineWidth !== -1) {\n return;\n }\n const style = getComputedStyle(document.documentElement);\n AnnotationEditor._borderLineWidth = parseFloat(style.getPropertyValue(\"--outline-width\")) || 0;\n }\n static updateDefaultParams(_type, _value) {}\n static get defaultPropertiesToUpdate() {\n return [];\n }\n static isHandlingMimeForPasting(mime) {\n return false;\n }\n static paste(item, parent) {\n (0, _util.unreachable)(\"Not implemented\");\n }\n get propertiesToUpdate() {\n return [];\n }\n get _isDraggable() {\n return this.#isDraggable;\n }\n set _isDraggable(value) {\n this.#isDraggable = value;\n this.div?.classList.toggle(\"draggable\", value);\n }\n center() {\n const [pageWidth, pageHeight] = this.pageDimensions;\n switch (this.parentRotation) {\n case 90:\n this.x -= this.height * pageHeight / (pageWidth * 2);\n this.y += this.width * pageWidth / (pageHeight * 2);\n break;\n case 180:\n this.x += this.width / 2;\n this.y += this.height / 2;\n break;\n case 270:\n this.x += this.height * pageHeight / (pageWidth * 2);\n this.y -= this.width * pageWidth / (pageHeight * 2);\n break;\n default:\n this.x -= this.width / 2;\n this.y -= this.height / 2;\n break;\n }\n this.fixAndSetPosition();\n }\n addCommands(params) {\n this._uiManager.addCommands(params);\n }\n get currentLayer() {\n return this._uiManager.currentLayer;\n }\n setInBackground() {\n this.div.style.zIndex = 0;\n }\n setInForeground() {\n this.div.style.zIndex = this.#zIndex;\n }\n setParent(parent) {\n if (parent !== null) {\n this.pageIndex = parent.pageIndex;\n this.pageDimensions = parent.pageDimensions;\n }\n this.parent = parent;\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n if (!this.#hasBeenClicked) {\n this.parent.setSelected(this);\n } else {\n this.#hasBeenClicked = false;\n }\n }\n focusout(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n if (!this.isAttachedToDOM) {\n return;\n }\n const target = event.relatedTarget;\n if (target?.closest(`#${this.id}`)) {\n return;\n }\n event.preventDefault();\n if (!this.parent?.isMultipleSelection) {\n this.commitOrRemove();\n }\n }\n commitOrRemove() {\n if (this.isEmpty()) {\n this.remove();\n } else {\n this.commit();\n }\n }\n commit() {\n this.addToAnnotationStorage();\n }\n addToAnnotationStorage() {\n this._uiManager.addToAnnotationStorage(this);\n }\n setAt(x, y, tx, ty) {\n const [width, height] = this.parentDimensions;\n [tx, ty] = this.screenToPageTranslation(tx, ty);\n this.x = (x + tx) / width;\n this.y = (y + ty) / height;\n this.fixAndSetPosition();\n }\n #translate([width, height], x, y) {\n [x, y] = this.screenToPageTranslation(x, y);\n this.x += x / width;\n this.y += y / height;\n this.fixAndSetPosition();\n }\n translate(x, y) {\n this.#translate(this.parentDimensions, x, y);\n }\n translateInPage(x, y) {\n this.#translate(this.pageDimensions, x, y);\n this.div.scrollIntoView({\n block: \"nearest\"\n });\n }\n drag(tx, ty) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.x += tx / parentWidth;\n this.y += ty / parentHeight;\n if (this.parent && (this.x < 0 || this.x > 1 || this.y < 0 || this.y > 1)) {\n const {\n x,\n y\n } = this.div.getBoundingClientRect();\n if (this.parent.findNewParent(this, x, y)) {\n this.x -= Math.floor(this.x);\n this.y -= Math.floor(this.y);\n }\n }\n let {\n x,\n y\n } = this;\n const [bx, by] = this.#getBaseTranslation();\n x += bx;\n y += by;\n this.div.style.left = `${(100 * x).toFixed(2)}%`;\n this.div.style.top = `${(100 * y).toFixed(2)}%`;\n this.div.scrollIntoView({\n block: \"nearest\"\n });\n }\n #getBaseTranslation() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const {\n _borderLineWidth\n } = AnnotationEditor;\n const x = _borderLineWidth / parentWidth;\n const y = _borderLineWidth / parentHeight;\n switch (this.rotation) {\n case 90:\n return [-x, y];\n case 180:\n return [x, y];\n case 270:\n return [x, -y];\n default:\n return [-x, -y];\n }\n }\n fixAndSetPosition() {\n const [pageWidth, pageHeight] = this.pageDimensions;\n let {\n x,\n y,\n width,\n height\n } = this;\n width *= pageWidth;\n height *= pageHeight;\n x *= pageWidth;\n y *= pageHeight;\n switch (this.rotation) {\n case 0:\n x = Math.max(0, Math.min(pageWidth - width, x));\n y = Math.max(0, Math.min(pageHeight - height, y));\n break;\n case 90:\n x = Math.max(0, Math.min(pageWidth - height, x));\n y = Math.min(pageHeight, Math.max(width, y));\n break;\n case 180:\n x = Math.min(pageWidth, Math.max(width, x));\n y = Math.min(pageHeight, Math.max(height, y));\n break;\n case 270:\n x = Math.min(pageWidth, Math.max(height, x));\n y = Math.max(0, Math.min(pageHeight - width, y));\n break;\n }\n this.x = x /= pageWidth;\n this.y = y /= pageHeight;\n const [bx, by] = this.#getBaseTranslation();\n x += bx;\n y += by;\n const {\n style\n } = this.div;\n style.left = `${(100 * x).toFixed(2)}%`;\n style.top = `${(100 * y).toFixed(2)}%`;\n this.moveInDOM();\n }\n static #rotatePoint(x, y, angle) {\n switch (angle) {\n case 90:\n return [y, -x];\n case 180:\n return [-x, -y];\n case 270:\n return [-y, x];\n default:\n return [x, y];\n }\n }\n screenToPageTranslation(x, y) {\n return AnnotationEditor.#rotatePoint(x, y, this.parentRotation);\n }\n pageTranslationToScreen(x, y) {\n return AnnotationEditor.#rotatePoint(x, y, 360 - this.parentRotation);\n }\n #getRotationMatrix(rotation) {\n switch (rotation) {\n case 90:\n {\n const [pageWidth, pageHeight] = this.pageDimensions;\n return [0, -pageWidth / pageHeight, pageHeight / pageWidth, 0];\n }\n case 180:\n return [-1, 0, 0, -1];\n case 270:\n {\n const [pageWidth, pageHeight] = this.pageDimensions;\n return [0, pageWidth / pageHeight, -pageHeight / pageWidth, 0];\n }\n default:\n return [1, 0, 0, 1];\n }\n }\n get parentScale() {\n return this._uiManager.viewParameters.realScale;\n }\n get parentRotation() {\n return (this._uiManager.viewParameters.rotation + this.pageRotation) % 360;\n }\n get parentDimensions() {\n const {\n parentScale,\n pageDimensions: [pageWidth, pageHeight]\n } = this;\n const scaledWidth = pageWidth * parentScale;\n const scaledHeight = pageHeight * parentScale;\n return _util.FeatureTest.isCSSRoundSupported ? [Math.round(scaledWidth), Math.round(scaledHeight)] : [scaledWidth, scaledHeight];\n }\n setDims(width, height) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.div.style.width = `${(100 * width / parentWidth).toFixed(2)}%`;\n if (!this.#keepAspectRatio) {\n this.div.style.height = `${(100 * height / parentHeight).toFixed(2)}%`;\n }\n this.#altTextButton?.classList.toggle(\"small\", width < AnnotationEditor.SMALL_EDITOR_SIZE || height < AnnotationEditor.SMALL_EDITOR_SIZE);\n }\n fixDims() {\n const {\n style\n } = this.div;\n const {\n height,\n width\n } = style;\n const widthPercent = width.endsWith(\"%\");\n const heightPercent = !this.#keepAspectRatio && height.endsWith(\"%\");\n if (widthPercent && heightPercent) {\n return;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (!widthPercent) {\n style.width = `${(100 * parseFloat(width) / parentWidth).toFixed(2)}%`;\n }\n if (!this.#keepAspectRatio && !heightPercent) {\n style.height = `${(100 * parseFloat(height) / parentHeight).toFixed(2)}%`;\n }\n }\n getInitialTranslation() {\n return [0, 0];\n }\n #createResizers() {\n if (this.#resizersDiv) {\n return;\n }\n this.#resizersDiv = document.createElement(\"div\");\n this.#resizersDiv.classList.add(\"resizers\");\n const classes = [\"topLeft\", \"topRight\", \"bottomRight\", \"bottomLeft\"];\n if (!this._willKeepAspectRatio) {\n classes.push(\"topMiddle\", \"middleRight\", \"bottomMiddle\", \"middleLeft\");\n }\n for (const name of classes) {\n const div = document.createElement(\"div\");\n this.#resizersDiv.append(div);\n div.classList.add(\"resizer\", name);\n div.addEventListener(\"pointerdown\", this.#resizerPointerdown.bind(this, name));\n div.addEventListener(\"contextmenu\", _display_utils.noContextMenu);\n }\n this.div.prepend(this.#resizersDiv);\n }\n #resizerPointerdown(name, event) {\n event.preventDefault();\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n const boundResizerPointermove = this.#resizerPointermove.bind(this, name);\n const savedDraggable = this._isDraggable;\n this._isDraggable = false;\n const pointerMoveOptions = {\n passive: true,\n capture: true\n };\n window.addEventListener(\"pointermove\", boundResizerPointermove, pointerMoveOptions);\n const savedX = this.x;\n const savedY = this.y;\n const savedWidth = this.width;\n const savedHeight = this.height;\n const savedParentCursor = this.parent.div.style.cursor;\n const savedCursor = this.div.style.cursor;\n this.div.style.cursor = this.parent.div.style.cursor = window.getComputedStyle(event.target).cursor;\n const pointerUpCallback = () => {\n this._isDraggable = savedDraggable;\n window.removeEventListener(\"pointerup\", pointerUpCallback);\n window.removeEventListener(\"blur\", pointerUpCallback);\n window.removeEventListener(\"pointermove\", boundResizerPointermove, pointerMoveOptions);\n this.parent.div.style.cursor = savedParentCursor;\n this.div.style.cursor = savedCursor;\n const newX = this.x;\n const newY = this.y;\n const newWidth = this.width;\n const newHeight = this.height;\n if (newX === savedX && newY === savedY && newWidth === savedWidth && newHeight === savedHeight) {\n return;\n }\n this.addCommands({\n cmd: () => {\n this.width = newWidth;\n this.height = newHeight;\n this.x = newX;\n this.y = newY;\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(parentWidth * newWidth, parentHeight * newHeight);\n this.fixAndSetPosition();\n },\n undo: () => {\n this.width = savedWidth;\n this.height = savedHeight;\n this.x = savedX;\n this.y = savedY;\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(parentWidth * savedWidth, parentHeight * savedHeight);\n this.fixAndSetPosition();\n },\n mustExec: true\n });\n };\n window.addEventListener(\"pointerup\", pointerUpCallback);\n window.addEventListener(\"blur\", pointerUpCallback);\n }\n #resizerPointermove(name, event) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const savedX = this.x;\n const savedY = this.y;\n const savedWidth = this.width;\n const savedHeight = this.height;\n const minWidth = AnnotationEditor.MIN_SIZE / parentWidth;\n const minHeight = AnnotationEditor.MIN_SIZE / parentHeight;\n const round = x => Math.round(x * 10000) / 10000;\n const rotationMatrix = this.#getRotationMatrix(this.rotation);\n const transf = (x, y) => [rotationMatrix[0] * x + rotationMatrix[2] * y, rotationMatrix[1] * x + rotationMatrix[3] * y];\n const invRotationMatrix = this.#getRotationMatrix(360 - this.rotation);\n const invTransf = (x, y) => [invRotationMatrix[0] * x + invRotationMatrix[2] * y, invRotationMatrix[1] * x + invRotationMatrix[3] * y];\n let getPoint;\n let getOpposite;\n let isDiagonal = false;\n let isHorizontal = false;\n switch (name) {\n case \"topLeft\":\n isDiagonal = true;\n getPoint = (w, h) => [0, 0];\n getOpposite = (w, h) => [w, h];\n break;\n case \"topMiddle\":\n getPoint = (w, h) => [w / 2, 0];\n getOpposite = (w, h) => [w / 2, h];\n break;\n case \"topRight\":\n isDiagonal = true;\n getPoint = (w, h) => [w, 0];\n getOpposite = (w, h) => [0, h];\n break;\n case \"middleRight\":\n isHorizontal = true;\n getPoint = (w, h) => [w, h / 2];\n getOpposite = (w, h) => [0, h / 2];\n break;\n case \"bottomRight\":\n isDiagonal = true;\n getPoint = (w, h) => [w, h];\n getOpposite = (w, h) => [0, 0];\n break;\n case \"bottomMiddle\":\n getPoint = (w, h) => [w / 2, h];\n getOpposite = (w, h) => [w / 2, 0];\n break;\n case \"bottomLeft\":\n isDiagonal = true;\n getPoint = (w, h) => [0, h];\n getOpposite = (w, h) => [w, 0];\n break;\n case \"middleLeft\":\n isHorizontal = true;\n getPoint = (w, h) => [0, h / 2];\n getOpposite = (w, h) => [w, h / 2];\n break;\n }\n const point = getPoint(savedWidth, savedHeight);\n const oppositePoint = getOpposite(savedWidth, savedHeight);\n let transfOppositePoint = transf(...oppositePoint);\n const oppositeX = round(savedX + transfOppositePoint[0]);\n const oppositeY = round(savedY + transfOppositePoint[1]);\n let ratioX = 1;\n let ratioY = 1;\n let [deltaX, deltaY] = this.screenToPageTranslation(event.movementX, event.movementY);\n [deltaX, deltaY] = invTransf(deltaX / parentWidth, deltaY / parentHeight);\n if (isDiagonal) {\n const oldDiag = Math.hypot(savedWidth, savedHeight);\n ratioX = ratioY = Math.max(Math.min(Math.hypot(oppositePoint[0] - point[0] - deltaX, oppositePoint[1] - point[1] - deltaY) / oldDiag, 1 / savedWidth, 1 / savedHeight), minWidth / savedWidth, minHeight / savedHeight);\n } else if (isHorizontal) {\n ratioX = Math.max(minWidth, Math.min(1, Math.abs(oppositePoint[0] - point[0] - deltaX))) / savedWidth;\n } else {\n ratioY = Math.max(minHeight, Math.min(1, Math.abs(oppositePoint[1] - point[1] - deltaY))) / savedHeight;\n }\n const newWidth = round(savedWidth * ratioX);\n const newHeight = round(savedHeight * ratioY);\n transfOppositePoint = transf(...getOpposite(newWidth, newHeight));\n const newX = oppositeX - transfOppositePoint[0];\n const newY = oppositeY - transfOppositePoint[1];\n this.width = newWidth;\n this.height = newHeight;\n this.x = newX;\n this.y = newY;\n this.setDims(parentWidth * newWidth, parentHeight * newHeight);\n this.fixAndSetPosition();\n }\n async addAltTextButton() {\n if (this.#altTextButton) {\n return;\n }\n const altText = this.#altTextButton = document.createElement(\"button\");\n altText.className = \"altText\";\n const msg = await AnnotationEditor._l10nPromise.get(\"editor_alt_text_button_label\");\n altText.textContent = msg;\n altText.setAttribute(\"aria-label\", msg);\n altText.tabIndex = \"0\";\n altText.addEventListener(\"contextmenu\", _display_utils.noContextMenu);\n altText.addEventListener(\"pointerdown\", event => event.stopPropagation());\n altText.addEventListener(\"click\", event => {\n event.preventDefault();\n this._uiManager.editAltText(this);\n }, {\n capture: true\n });\n altText.addEventListener(\"keydown\", event => {\n if (event.target === altText && event.key === \"Enter\") {\n event.preventDefault();\n this._uiManager.editAltText(this);\n }\n });\n this.#setAltTextButtonState();\n this.div.append(altText);\n if (!AnnotationEditor.SMALL_EDITOR_SIZE) {\n const PERCENT = 40;\n AnnotationEditor.SMALL_EDITOR_SIZE = Math.min(128, Math.round(altText.getBoundingClientRect().width * (1 + PERCENT / 100)));\n }\n }\n async #setAltTextButtonState() {\n const button = this.#altTextButton;\n if (!button) {\n return;\n }\n if (!this.#altText && !this.#altTextDecorative) {\n button.classList.remove(\"done\");\n this.#altTextTooltip?.remove();\n return;\n }\n AnnotationEditor._l10nPromise.get(\"editor_alt_text_edit_button_label\").then(msg => {\n button.setAttribute(\"aria-label\", msg);\n });\n let tooltip = this.#altTextTooltip;\n if (!tooltip) {\n this.#altTextTooltip = tooltip = document.createElement(\"span\");\n tooltip.className = \"tooltip\";\n tooltip.setAttribute(\"role\", \"tooltip\");\n const id = tooltip.id = `alt-text-tooltip-${this.id}`;\n button.setAttribute(\"aria-describedby\", id);\n const DELAY_TO_SHOW_TOOLTIP = 100;\n button.addEventListener(\"mouseenter\", () => {\n this.#altTextTooltipTimeout = setTimeout(() => {\n this.#altTextTooltipTimeout = null;\n this.#altTextTooltip.classList.add(\"show\");\n this._uiManager._eventBus.dispatch(\"reporttelemetry\", {\n source: this,\n details: {\n type: \"editing\",\n subtype: this.editorType,\n data: {\n action: \"alt_text_tooltip\"\n }\n }\n });\n }, DELAY_TO_SHOW_TOOLTIP);\n });\n button.addEventListener(\"mouseleave\", () => {\n clearTimeout(this.#altTextTooltipTimeout);\n this.#altTextTooltipTimeout = null;\n this.#altTextTooltip?.classList.remove(\"show\");\n });\n }\n button.classList.add(\"done\");\n tooltip.innerText = this.#altTextDecorative ? await AnnotationEditor._l10nPromise.get(\"editor_alt_text_decorative_tooltip\") : this.#altText;\n if (!tooltip.parentNode) {\n button.append(tooltip);\n }\n }\n getClientDimensions() {\n return this.div.getBoundingClientRect();\n }\n get altTextData() {\n return {\n altText: this.#altText,\n decorative: this.#altTextDecorative\n };\n }\n set altTextData({\n altText,\n decorative\n }) {\n if (this.#altText === altText && this.#altTextDecorative === decorative) {\n return;\n }\n this.#altText = altText;\n this.#altTextDecorative = decorative;\n this.#setAltTextButtonState();\n }\n render() {\n this.div = document.createElement(\"div\");\n this.div.setAttribute(\"data-editor-rotation\", (360 - this.rotation) % 360);\n this.div.className = this.name;\n this.div.setAttribute(\"id\", this.id);\n this.div.setAttribute(\"tabIndex\", 0);\n this.setInForeground();\n this.div.addEventListener(\"focusin\", this.#boundFocusin);\n this.div.addEventListener(\"focusout\", this.#boundFocusout);\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (this.parentRotation % 180 !== 0) {\n this.div.style.maxWidth = `${(100 * parentHeight / parentWidth).toFixed(2)}%`;\n this.div.style.maxHeight = `${(100 * parentWidth / parentHeight).toFixed(2)}%`;\n }\n const [tx, ty] = this.getInitialTranslation();\n this.translate(tx, ty);\n (0, _tools.bindEvents)(this, this.div, [\"pointerdown\"]);\n return this.div;\n }\n pointerdown(event) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n event.preventDefault();\n return;\n }\n this.#hasBeenClicked = true;\n this.#setUpDragSession(event);\n }\n #setUpDragSession(event) {\n if (!this._isDraggable) {\n return;\n }\n const isSelected = this._uiManager.isSelected(this);\n this._uiManager.setUpDragSession();\n let pointerMoveOptions, pointerMoveCallback;\n if (isSelected) {\n pointerMoveOptions = {\n passive: true,\n capture: true\n };\n pointerMoveCallback = e => {\n const [tx, ty] = this.screenToPageTranslation(e.movementX, e.movementY);\n this._uiManager.dragSelectedEditors(tx, ty);\n };\n window.addEventListener(\"pointermove\", pointerMoveCallback, pointerMoveOptions);\n }\n const pointerUpCallback = () => {\n window.removeEventListener(\"pointerup\", pointerUpCallback);\n window.removeEventListener(\"blur\", pointerUpCallback);\n if (isSelected) {\n window.removeEventListener(\"pointermove\", pointerMoveCallback, pointerMoveOptions);\n }\n this.#hasBeenClicked = false;\n if (!this._uiManager.endDragSession()) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.ctrlKey && !isMac || event.shiftKey || event.metaKey && isMac) {\n this.parent.toggleSelected(this);\n } else {\n this.parent.setSelected(this);\n }\n }\n };\n window.addEventListener(\"pointerup\", pointerUpCallback);\n window.addEventListener(\"blur\", pointerUpCallback);\n }\n moveInDOM() {\n this.parent?.moveEditorInDOM(this);\n }\n _setParentAndPosition(parent, x, y) {\n parent.changeParent(this);\n this.x = x;\n this.y = y;\n this.fixAndSetPosition();\n }\n getRect(tx, ty) {\n const scale = this.parentScale;\n const [pageWidth, pageHeight] = this.pageDimensions;\n const [pageX, pageY] = this.pageTranslation;\n const shiftX = tx / scale;\n const shiftY = ty / scale;\n const x = this.x * pageWidth;\n const y = this.y * pageHeight;\n const width = this.width * pageWidth;\n const height = this.height * pageHeight;\n switch (this.rotation) {\n case 0:\n return [x + shiftX + pageX, pageHeight - y - shiftY - height + pageY, x + shiftX + width + pageX, pageHeight - y - shiftY + pageY];\n case 90:\n return [x + shiftY + pageX, pageHeight - y + shiftX + pageY, x + shiftY + height + pageX, pageHeight - y + shiftX + width + pageY];\n case 180:\n return [x - shiftX - width + pageX, pageHeight - y + shiftY + pageY, x - shiftX + pageX, pageHeight - y + shiftY + height + pageY];\n case 270:\n return [x - shiftY - height + pageX, pageHeight - y - shiftX - width + pageY, x - shiftY + pageX, pageHeight - y - shiftX + pageY];\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n getRectInCurrentCoords(rect, pageHeight) {\n const [x1, y1, x2, y2] = rect;\n const width = x2 - x1;\n const height = y2 - y1;\n switch (this.rotation) {\n case 0:\n return [x1, pageHeight - y2, width, height];\n case 90:\n return [x1, pageHeight - y1, height, width];\n case 180:\n return [x2, pageHeight - y1, width, height];\n case 270:\n return [x2, pageHeight - y2, height, width];\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n onceAdded() {}\n isEmpty() {\n return false;\n }\n enableEditMode() {\n this.#isInEditMode = true;\n }\n disableEditMode() {\n this.#isInEditMode = false;\n }\n isInEditMode() {\n return this.#isInEditMode;\n }\n shouldGetKeyboardEvents() {\n return false;\n }\n needsToBeRebuilt() {\n return this.div && !this.isAttachedToDOM;\n }\n rebuild() {\n this.div?.addEventListener(\"focusin\", this.#boundFocusin);\n this.div?.addEventListener(\"focusout\", this.#boundFocusout);\n }\n serialize(isForCopying = false, context = null) {\n (0, _util.unreachable)(\"An editor must be serializable\");\n }\n static deserialize(data, parent, uiManager) {\n const editor = new this.prototype.constructor({\n parent,\n id: parent.getNextId(),\n uiManager\n });\n editor.rotation = data.rotation;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const [x, y, width, height] = editor.getRectInCurrentCoords(data.rect, pageHeight);\n editor.x = x / pageWidth;\n editor.y = y / pageHeight;\n editor.width = width / pageWidth;\n editor.height = height / pageHeight;\n return editor;\n }\n remove() {\n this.div.removeEventListener(\"focusin\", this.#boundFocusin);\n this.div.removeEventListener(\"focusout\", this.#boundFocusout);\n if (!this.isEmpty()) {\n this.commit();\n }\n if (this.parent) {\n this.parent.remove(this);\n } else {\n this._uiManager.removeEditor(this);\n }\n this.#altTextButton?.remove();\n this.#altTextButton = null;\n this.#altTextTooltip = null;\n }\n get isResizable() {\n return false;\n }\n makeResizable() {\n if (this.isResizable) {\n this.#createResizers();\n this.#resizersDiv.classList.remove(\"hidden\");\n }\n }\n select() {\n this.makeResizable();\n this.div?.classList.add(\"selectedEditor\");\n }\n unselect() {\n this.#resizersDiv?.classList.add(\"hidden\");\n this.div?.classList.remove(\"selectedEditor\");\n if (this.div?.contains(document.activeElement)) {\n this._uiManager.currentLayer.div.focus();\n }\n }\n updateParams(type, value) {}\n disableEditing() {\n if (this.#altTextButton) {\n this.#altTextButton.hidden = true;\n }\n }\n enableEditing() {\n if (this.#altTextButton) {\n this.#altTextButton.hidden = false;\n }\n }\n enterInEditMode() {}\n get contentDiv() {\n return this.div;\n }\n get isEditing() {\n return this.#isEditing;\n }\n set isEditing(value) {\n this.#isEditing = value;\n if (!this.parent) {\n return;\n }\n if (value) {\n this.parent.setSelected(this);\n this.parent.setActiveEditor(this);\n } else {\n this.parent.setActiveEditor(null);\n }\n }\n setAspectRatio(width, height) {\n this.#keepAspectRatio = true;\n const aspectRatio = width / height;\n const {\n style\n } = this.div;\n style.aspectRatio = aspectRatio;\n style.height = \"auto\";\n }\n static get MIN_SIZE() {\n return 16;\n }\n}\nexports.AnnotationEditor = AnnotationEditor;\nclass FakeEditor extends AnnotationEditor {\n constructor(params) {\n super(params);\n this.annotationElementId = params.annotationElementId;\n this.deleted = true;\n }\n serialize() {\n return {\n id: this.annotationElementId,\n deleted: true,\n pageIndex: this.pageIndex\n };\n }\n}\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.KeyboardManager = exports.CommandManager = exports.ColorManager = exports.AnnotationEditorUIManager = void 0;\nexports.bindEvents = bindEvents;\nexports.opacityToHex = opacityToHex;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nfunction bindEvents(obj, element, names) {\n for (const name of names) {\n element.addEventListener(name, obj[name].bind(obj));\n }\n}\nfunction opacityToHex(opacity) {\n return Math.round(Math.min(255, Math.max(1, 255 * opacity))).toString(16).padStart(2, \"0\");\n}\nclass IdManager {\n #id = 0;\n getId() {\n return `${_util.AnnotationEditorPrefix}${this.#id++}`;\n }\n}\nclass ImageManager {\n #baseId = (0, _util.getUuid)();\n #id = 0;\n #cache = null;\n static get _isSVGFittingCanvas() {\n const svg = `data:image/svg+xml;charset=UTF-8,`;\n const canvas = new OffscreenCanvas(1, 3);\n const ctx = canvas.getContext(\"2d\");\n const image = new Image();\n image.src = svg;\n const promise = image.decode().then(() => {\n ctx.drawImage(image, 0, 0, 1, 1, 0, 0, 1, 3);\n return new Uint32Array(ctx.getImageData(0, 0, 1, 1).data.buffer)[0] === 0;\n });\n return (0, _util.shadow)(this, \"_isSVGFittingCanvas\", promise);\n }\n async #get(key, rawData) {\n this.#cache ||= new Map();\n let data = this.#cache.get(key);\n if (data === null) {\n return null;\n }\n if (data?.bitmap) {\n data.refCounter += 1;\n return data;\n }\n try {\n data ||= {\n bitmap: null,\n id: `image_${this.#baseId}_${this.#id++}`,\n refCounter: 0,\n isSvg: false\n };\n let image;\n if (typeof rawData === \"string\") {\n data.url = rawData;\n const response = await fetch(rawData);\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n image = await response.blob();\n } else {\n image = data.file = rawData;\n }\n if (image.type === \"image/svg+xml\") {\n const mustRemoveAspectRatioPromise = ImageManager._isSVGFittingCanvas;\n const fileReader = new FileReader();\n const imageElement = new Image();\n const imagePromise = new Promise((resolve, reject) => {\n imageElement.onload = () => {\n data.bitmap = imageElement;\n data.isSvg = true;\n resolve();\n };\n fileReader.onload = async () => {\n const url = data.svgUrl = fileReader.result;\n imageElement.src = (await mustRemoveAspectRatioPromise) ? `${url}#svgView(preserveAspectRatio(none))` : url;\n };\n imageElement.onerror = fileReader.onerror = reject;\n });\n fileReader.readAsDataURL(image);\n await imagePromise;\n } else {\n data.bitmap = await createImageBitmap(image);\n }\n data.refCounter = 1;\n } catch (e) {\n console.error(e);\n data = null;\n }\n this.#cache.set(key, data);\n if (data) {\n this.#cache.set(data.id, data);\n }\n return data;\n }\n async getFromFile(file) {\n const {\n lastModified,\n name,\n size,\n type\n } = file;\n return this.#get(`${lastModified}_${name}_${size}_${type}`, file);\n }\n async getFromUrl(url) {\n return this.#get(url, url);\n }\n async getFromId(id) {\n this.#cache ||= new Map();\n const data = this.#cache.get(id);\n if (!data) {\n return null;\n }\n if (data.bitmap) {\n data.refCounter += 1;\n return data;\n }\n if (data.file) {\n return this.getFromFile(data.file);\n }\n return this.getFromUrl(data.url);\n }\n getSvgUrl(id) {\n const data = this.#cache.get(id);\n if (!data?.isSvg) {\n return null;\n }\n return data.svgUrl;\n }\n deleteId(id) {\n this.#cache ||= new Map();\n const data = this.#cache.get(id);\n if (!data) {\n return;\n }\n data.refCounter -= 1;\n if (data.refCounter !== 0) {\n return;\n }\n data.bitmap = null;\n }\n isValidId(id) {\n return id.startsWith(`image_${this.#baseId}_`);\n }\n}\nclass CommandManager {\n #commands = [];\n #locked = false;\n #maxSize;\n #position = -1;\n constructor(maxSize = 128) {\n this.#maxSize = maxSize;\n }\n add({\n cmd,\n undo,\n mustExec,\n type = NaN,\n overwriteIfSameType = false,\n keepUndo = false\n }) {\n if (mustExec) {\n cmd();\n }\n if (this.#locked) {\n return;\n }\n const save = {\n cmd,\n undo,\n type\n };\n if (this.#position === -1) {\n if (this.#commands.length > 0) {\n this.#commands.length = 0;\n }\n this.#position = 0;\n this.#commands.push(save);\n return;\n }\n if (overwriteIfSameType && this.#commands[this.#position].type === type) {\n if (keepUndo) {\n save.undo = this.#commands[this.#position].undo;\n }\n this.#commands[this.#position] = save;\n return;\n }\n const next = this.#position + 1;\n if (next === this.#maxSize) {\n this.#commands.splice(0, 1);\n } else {\n this.#position = next;\n if (next < this.#commands.length) {\n this.#commands.splice(next);\n }\n }\n this.#commands.push(save);\n }\n undo() {\n if (this.#position === -1) {\n return;\n }\n this.#locked = true;\n this.#commands[this.#position].undo();\n this.#locked = false;\n this.#position -= 1;\n }\n redo() {\n if (this.#position < this.#commands.length - 1) {\n this.#position += 1;\n this.#locked = true;\n this.#commands[this.#position].cmd();\n this.#locked = false;\n }\n }\n hasSomethingToUndo() {\n return this.#position !== -1;\n }\n hasSomethingToRedo() {\n return this.#position < this.#commands.length - 1;\n }\n destroy() {\n this.#commands = null;\n }\n}\nexports.CommandManager = CommandManager;\nclass KeyboardManager {\n constructor(callbacks) {\n this.buffer = [];\n this.callbacks = new Map();\n this.allKeys = new Set();\n const {\n isMac\n } = _util.FeatureTest.platform;\n for (const [keys, callback, options = {}] of callbacks) {\n for (const key of keys) {\n const isMacKey = key.startsWith(\"mac+\");\n if (isMac && isMacKey) {\n this.callbacks.set(key.slice(4), {\n callback,\n options\n });\n this.allKeys.add(key.split(\"+\").at(-1));\n } else if (!isMac && !isMacKey) {\n this.callbacks.set(key, {\n callback,\n options\n });\n this.allKeys.add(key.split(\"+\").at(-1));\n }\n }\n }\n }\n #serialize(event) {\n if (event.altKey) {\n this.buffer.push(\"alt\");\n }\n if (event.ctrlKey) {\n this.buffer.push(\"ctrl\");\n }\n if (event.metaKey) {\n this.buffer.push(\"meta\");\n }\n if (event.shiftKey) {\n this.buffer.push(\"shift\");\n }\n this.buffer.push(event.key);\n const str = this.buffer.join(\"+\");\n this.buffer.length = 0;\n return str;\n }\n exec(self, event) {\n if (!this.allKeys.has(event.key)) {\n return;\n }\n const info = this.callbacks.get(this.#serialize(event));\n if (!info) {\n return;\n }\n const {\n callback,\n options: {\n bubbles = false,\n args = [],\n checker = null\n }\n } = info;\n if (checker && !checker(self, event)) {\n return;\n }\n callback.bind(self, ...args)();\n if (!bubbles) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n}\nexports.KeyboardManager = KeyboardManager;\nclass ColorManager {\n static _colorsMapping = new Map([[\"CanvasText\", [0, 0, 0]], [\"Canvas\", [255, 255, 255]]]);\n get _colors() {\n const colors = new Map([[\"CanvasText\", null], [\"Canvas\", null]]);\n (0, _display_utils.getColorValues)(colors);\n return (0, _util.shadow)(this, \"_colors\", colors);\n }\n convert(color) {\n const rgb = (0, _display_utils.getRGB)(color);\n if (!window.matchMedia(\"(forced-colors: active)\").matches) {\n return rgb;\n }\n for (const [name, RGB] of this._colors) {\n if (RGB.every((x, i) => x === rgb[i])) {\n return ColorManager._colorsMapping.get(name);\n }\n }\n return rgb;\n }\n getHexCode(name) {\n const rgb = this._colors.get(name);\n if (!rgb) {\n return name;\n }\n return _util.Util.makeHexColor(...rgb);\n }\n}\nexports.ColorManager = ColorManager;\nclass AnnotationEditorUIManager {\n #activeEditor = null;\n #allEditors = new Map();\n #allLayers = new Map();\n #altTextManager = null;\n #annotationStorage = null;\n #commandManager = new CommandManager();\n #currentPageIndex = 0;\n #deletedAnnotationsElementIds = new Set();\n #draggingEditors = null;\n #editorTypes = null;\n #editorsToRescale = new Set();\n #filterFactory = null;\n #idManager = new IdManager();\n #isEnabled = false;\n #isWaiting = false;\n #lastActiveElement = null;\n #mode = _util.AnnotationEditorType.NONE;\n #selectedEditors = new Set();\n #pageColors = null;\n #boundBlur = this.blur.bind(this);\n #boundFocus = this.focus.bind(this);\n #boundCopy = this.copy.bind(this);\n #boundCut = this.cut.bind(this);\n #boundPaste = this.paste.bind(this);\n #boundKeydown = this.keydown.bind(this);\n #boundOnEditingAction = this.onEditingAction.bind(this);\n #boundOnPageChanging = this.onPageChanging.bind(this);\n #boundOnScaleChanging = this.onScaleChanging.bind(this);\n #boundOnRotationChanging = this.onRotationChanging.bind(this);\n #previousStates = {\n isEditing: false,\n isEmpty: true,\n hasSomethingToUndo: false,\n hasSomethingToRedo: false,\n hasSelectedEditor: false\n };\n #translation = [0, 0];\n #translationTimeoutId = null;\n #container = null;\n #viewer = null;\n static TRANSLATE_SMALL = 1;\n static TRANSLATE_BIG = 10;\n static get _keyboardManager() {\n const proto = AnnotationEditorUIManager.prototype;\n const arrowChecker = self => {\n const {\n activeElement\n } = document;\n return activeElement && self.#container.contains(activeElement) && self.hasSomethingToControl();\n };\n const small = this.TRANSLATE_SMALL;\n const big = this.TRANSLATE_BIG;\n return (0, _util.shadow)(this, \"_keyboardManager\", new KeyboardManager([[[\"ctrl+a\", \"mac+meta+a\"], proto.selectAll], [[\"ctrl+z\", \"mac+meta+z\"], proto.undo], [[\"ctrl+y\", \"ctrl+shift+z\", \"mac+meta+shift+z\", \"ctrl+shift+Z\", \"mac+meta+shift+Z\"], proto.redo], [[\"Backspace\", \"alt+Backspace\", \"ctrl+Backspace\", \"shift+Backspace\", \"mac+Backspace\", \"mac+alt+Backspace\", \"mac+ctrl+Backspace\", \"Delete\", \"ctrl+Delete\", \"shift+Delete\", \"mac+Delete\"], proto.delete], [[\"Escape\", \"mac+Escape\"], proto.unselectAll], [[\"ArrowLeft\", \"mac+ArrowLeft\"], proto.translateSelectedEditors, {\n args: [-small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowLeft\", \"mac+shift+ArrowLeft\"], proto.translateSelectedEditors, {\n args: [-big, 0],\n checker: arrowChecker\n }], [[\"ArrowRight\", \"mac+ArrowRight\"], proto.translateSelectedEditors, {\n args: [small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowRight\", \"mac+shift+ArrowRight\"], proto.translateSelectedEditors, {\n args: [big, 0],\n checker: arrowChecker\n }], [[\"ArrowUp\", \"mac+ArrowUp\"], proto.translateSelectedEditors, {\n args: [0, -small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowUp\", \"mac+shift+ArrowUp\"], proto.translateSelectedEditors, {\n args: [0, -big],\n checker: arrowChecker\n }], [[\"ArrowDown\", \"mac+ArrowDown\"], proto.translateSelectedEditors, {\n args: [0, small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowDown\", \"mac+shift+ArrowDown\"], proto.translateSelectedEditors, {\n args: [0, big],\n checker: arrowChecker\n }]]));\n }\n constructor(container, viewer, altTextManager, eventBus, pdfDocument, pageColors) {\n this.#container = container;\n this.#viewer = viewer;\n this.#altTextManager = altTextManager;\n this._eventBus = eventBus;\n this._eventBus._on(\"editingaction\", this.#boundOnEditingAction);\n this._eventBus._on(\"pagechanging\", this.#boundOnPageChanging);\n this._eventBus._on(\"scalechanging\", this.#boundOnScaleChanging);\n this._eventBus._on(\"rotationchanging\", this.#boundOnRotationChanging);\n this.#annotationStorage = pdfDocument.annotationStorage;\n this.#filterFactory = pdfDocument.filterFactory;\n this.#pageColors = pageColors;\n this.viewParameters = {\n realScale: _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: 0\n };\n }\n destroy() {\n this.#removeKeyboardManager();\n this.#removeFocusManager();\n this._eventBus._off(\"editingaction\", this.#boundOnEditingAction);\n this._eventBus._off(\"pagechanging\", this.#boundOnPageChanging);\n this._eventBus._off(\"scalechanging\", this.#boundOnScaleChanging);\n this._eventBus._off(\"rotationchanging\", this.#boundOnRotationChanging);\n for (const layer of this.#allLayers.values()) {\n layer.destroy();\n }\n this.#allLayers.clear();\n this.#allEditors.clear();\n this.#editorsToRescale.clear();\n this.#activeEditor = null;\n this.#selectedEditors.clear();\n this.#commandManager.destroy();\n this.#altTextManager.destroy();\n }\n get hcmFilter() {\n return (0, _util.shadow)(this, \"hcmFilter\", this.#pageColors ? this.#filterFactory.addHCMFilter(this.#pageColors.foreground, this.#pageColors.background) : \"none\");\n }\n get direction() {\n return (0, _util.shadow)(this, \"direction\", getComputedStyle(this.#container).direction);\n }\n editAltText(editor) {\n this.#altTextManager?.editAltText(this, editor);\n }\n onPageChanging({\n pageNumber\n }) {\n this.#currentPageIndex = pageNumber - 1;\n }\n focusMainContainer() {\n this.#container.focus();\n }\n findParent(x, y) {\n for (const layer of this.#allLayers.values()) {\n const {\n x: layerX,\n y: layerY,\n width,\n height\n } = layer.div.getBoundingClientRect();\n if (x >= layerX && x <= layerX + width && y >= layerY && y <= layerY + height) {\n return layer;\n }\n }\n return null;\n }\n disableUserSelect(value = false) {\n this.#viewer.classList.toggle(\"noUserSelect\", value);\n }\n addShouldRescale(editor) {\n this.#editorsToRescale.add(editor);\n }\n removeShouldRescale(editor) {\n this.#editorsToRescale.delete(editor);\n }\n onScaleChanging({\n scale\n }) {\n this.commitOrRemove();\n this.viewParameters.realScale = scale * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS;\n for (const editor of this.#editorsToRescale) {\n editor.onScaleChanging();\n }\n }\n onRotationChanging({\n pagesRotation\n }) {\n this.commitOrRemove();\n this.viewParameters.rotation = pagesRotation;\n }\n addToAnnotationStorage(editor) {\n if (!editor.isEmpty() && this.#annotationStorage && !this.#annotationStorage.has(editor.id)) {\n this.#annotationStorage.setValue(editor.id, editor);\n }\n }\n #addFocusManager() {\n window.addEventListener(\"focus\", this.#boundFocus);\n window.addEventListener(\"blur\", this.#boundBlur);\n }\n #removeFocusManager() {\n window.removeEventListener(\"focus\", this.#boundFocus);\n window.removeEventListener(\"blur\", this.#boundBlur);\n }\n blur() {\n if (!this.hasSelection) {\n return;\n }\n const {\n activeElement\n } = document;\n for (const editor of this.#selectedEditors) {\n if (editor.div.contains(activeElement)) {\n this.#lastActiveElement = [editor, activeElement];\n editor._focusEventsAllowed = false;\n break;\n }\n }\n }\n focus() {\n if (!this.#lastActiveElement) {\n return;\n }\n const [lastEditor, lastActiveElement] = this.#lastActiveElement;\n this.#lastActiveElement = null;\n lastActiveElement.addEventListener(\"focusin\", () => {\n lastEditor._focusEventsAllowed = true;\n }, {\n once: true\n });\n lastActiveElement.focus();\n }\n #addKeyboardManager() {\n window.addEventListener(\"keydown\", this.#boundKeydown, {\n capture: true\n });\n }\n #removeKeyboardManager() {\n window.removeEventListener(\"keydown\", this.#boundKeydown, {\n capture: true\n });\n }\n #addCopyPasteListeners() {\n document.addEventListener(\"copy\", this.#boundCopy);\n document.addEventListener(\"cut\", this.#boundCut);\n document.addEventListener(\"paste\", this.#boundPaste);\n }\n #removeCopyPasteListeners() {\n document.removeEventListener(\"copy\", this.#boundCopy);\n document.removeEventListener(\"cut\", this.#boundCut);\n document.removeEventListener(\"paste\", this.#boundPaste);\n }\n addEditListeners() {\n this.#addKeyboardManager();\n this.#addCopyPasteListeners();\n }\n removeEditListeners() {\n this.#removeKeyboardManager();\n this.#removeCopyPasteListeners();\n }\n copy(event) {\n event.preventDefault();\n this.#activeEditor?.commitOrRemove();\n if (!this.hasSelection) {\n return;\n }\n const editors = [];\n for (const editor of this.#selectedEditors) {\n const serialized = editor.serialize(true);\n if (serialized) {\n editors.push(serialized);\n }\n }\n if (editors.length === 0) {\n return;\n }\n event.clipboardData.setData(\"application/pdfjs\", JSON.stringify(editors));\n }\n cut(event) {\n this.copy(event);\n this.delete();\n }\n paste(event) {\n event.preventDefault();\n const {\n clipboardData\n } = event;\n for (const item of clipboardData.items) {\n for (const editorType of this.#editorTypes) {\n if (editorType.isHandlingMimeForPasting(item.type)) {\n editorType.paste(item, this.currentLayer);\n return;\n }\n }\n }\n let data = clipboardData.getData(\"application/pdfjs\");\n if (!data) {\n return;\n }\n try {\n data = JSON.parse(data);\n } catch (ex) {\n (0, _util.warn)(`paste: \"${ex.message}\".`);\n return;\n }\n if (!Array.isArray(data)) {\n return;\n }\n this.unselectAll();\n const layer = this.currentLayer;\n try {\n const newEditors = [];\n for (const editor of data) {\n const deserializedEditor = layer.deserialize(editor);\n if (!deserializedEditor) {\n return;\n }\n newEditors.push(deserializedEditor);\n }\n const cmd = () => {\n for (const editor of newEditors) {\n this.#addEditorToLayer(editor);\n }\n this.#selectEditors(newEditors);\n };\n const undo = () => {\n for (const editor of newEditors) {\n editor.remove();\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n } catch (ex) {\n (0, _util.warn)(`paste: \"${ex.message}\".`);\n }\n }\n keydown(event) {\n if (!this.getActive()?.shouldGetKeyboardEvents()) {\n AnnotationEditorUIManager._keyboardManager.exec(this, event);\n }\n }\n onEditingAction(details) {\n if ([\"undo\", \"redo\", \"delete\", \"selectAll\"].includes(details.name)) {\n this[details.name]();\n }\n }\n #dispatchUpdateStates(details) {\n const hasChanged = Object.entries(details).some(([key, value]) => this.#previousStates[key] !== value);\n if (hasChanged) {\n this._eventBus.dispatch(\"annotationeditorstateschanged\", {\n source: this,\n details: Object.assign(this.#previousStates, details)\n });\n }\n }\n #dispatchUpdateUI(details) {\n this._eventBus.dispatch(\"annotationeditorparamschanged\", {\n source: this,\n details\n });\n }\n setEditingState(isEditing) {\n if (isEditing) {\n this.#addFocusManager();\n this.#addKeyboardManager();\n this.#addCopyPasteListeners();\n this.#dispatchUpdateStates({\n isEditing: this.#mode !== _util.AnnotationEditorType.NONE,\n isEmpty: this.#isEmpty(),\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n hasSelectedEditor: false\n });\n } else {\n this.#removeFocusManager();\n this.#removeKeyboardManager();\n this.#removeCopyPasteListeners();\n this.#dispatchUpdateStates({\n isEditing: false\n });\n this.disableUserSelect(false);\n }\n }\n registerEditorTypes(types) {\n if (this.#editorTypes) {\n return;\n }\n this.#editorTypes = types;\n for (const editorType of this.#editorTypes) {\n this.#dispatchUpdateUI(editorType.defaultPropertiesToUpdate);\n }\n }\n getId() {\n return this.#idManager.getId();\n }\n get currentLayer() {\n return this.#allLayers.get(this.#currentPageIndex);\n }\n getLayer(pageIndex) {\n return this.#allLayers.get(pageIndex);\n }\n get currentPageIndex() {\n return this.#currentPageIndex;\n }\n addLayer(layer) {\n this.#allLayers.set(layer.pageIndex, layer);\n if (this.#isEnabled) {\n layer.enable();\n } else {\n layer.disable();\n }\n }\n removeLayer(layer) {\n this.#allLayers.delete(layer.pageIndex);\n }\n updateMode(mode, editId = null) {\n if (this.#mode === mode) {\n return;\n }\n this.#mode = mode;\n if (mode === _util.AnnotationEditorType.NONE) {\n this.setEditingState(false);\n this.#disableAll();\n return;\n }\n this.setEditingState(true);\n this.#enableAll();\n this.unselectAll();\n for (const layer of this.#allLayers.values()) {\n layer.updateMode(mode);\n }\n if (!editId) {\n return;\n }\n for (const editor of this.#allEditors.values()) {\n if (editor.annotationElementId === editId) {\n this.setSelected(editor);\n editor.enterInEditMode();\n break;\n }\n }\n }\n updateToolbar(mode) {\n if (mode === this.#mode) {\n return;\n }\n this._eventBus.dispatch(\"switchannotationeditormode\", {\n source: this,\n mode\n });\n }\n updateParams(type, value) {\n if (!this.#editorTypes) {\n return;\n }\n if (type === _util.AnnotationEditorParamsType.CREATE) {\n this.currentLayer.addNewEditor(type);\n return;\n }\n for (const editor of this.#selectedEditors) {\n editor.updateParams(type, value);\n }\n for (const editorType of this.#editorTypes) {\n editorType.updateDefaultParams(type, value);\n }\n }\n enableWaiting(mustWait = false) {\n if (this.#isWaiting === mustWait) {\n return;\n }\n this.#isWaiting = mustWait;\n for (const layer of this.#allLayers.values()) {\n if (mustWait) {\n layer.disableClick();\n } else {\n layer.enableClick();\n }\n layer.div.classList.toggle(\"waiting\", mustWait);\n }\n }\n #enableAll() {\n if (!this.#isEnabled) {\n this.#isEnabled = true;\n for (const layer of this.#allLayers.values()) {\n layer.enable();\n }\n }\n }\n #disableAll() {\n this.unselectAll();\n if (this.#isEnabled) {\n this.#isEnabled = false;\n for (const layer of this.#allLayers.values()) {\n layer.disable();\n }\n }\n }\n getEditors(pageIndex) {\n const editors = [];\n for (const editor of this.#allEditors.values()) {\n if (editor.pageIndex === pageIndex) {\n editors.push(editor);\n }\n }\n return editors;\n }\n getEditor(id) {\n return this.#allEditors.get(id);\n }\n addEditor(editor) {\n this.#allEditors.set(editor.id, editor);\n }\n removeEditor(editor) {\n this.#allEditors.delete(editor.id);\n this.unselect(editor);\n if (!editor.annotationElementId || !this.#deletedAnnotationsElementIds.has(editor.annotationElementId)) {\n this.#annotationStorage?.remove(editor.id);\n }\n }\n addDeletedAnnotationElement(editor) {\n this.#deletedAnnotationsElementIds.add(editor.annotationElementId);\n editor.deleted = true;\n }\n isDeletedAnnotationElement(annotationElementId) {\n return this.#deletedAnnotationsElementIds.has(annotationElementId);\n }\n removeDeletedAnnotationElement(editor) {\n this.#deletedAnnotationsElementIds.delete(editor.annotationElementId);\n editor.deleted = false;\n }\n #addEditorToLayer(editor) {\n const layer = this.#allLayers.get(editor.pageIndex);\n if (layer) {\n layer.addOrRebuild(editor);\n } else {\n this.addEditor(editor);\n }\n }\n setActiveEditor(editor) {\n if (this.#activeEditor === editor) {\n return;\n }\n this.#activeEditor = editor;\n if (editor) {\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n }\n }\n toggleSelected(editor) {\n if (this.#selectedEditors.has(editor)) {\n this.#selectedEditors.delete(editor);\n editor.unselect();\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n return;\n }\n this.#selectedEditors.add(editor);\n editor.select();\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n setSelected(editor) {\n for (const ed of this.#selectedEditors) {\n if (ed !== editor) {\n ed.unselect();\n }\n }\n this.#selectedEditors.clear();\n this.#selectedEditors.add(editor);\n editor.select();\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n isSelected(editor) {\n return this.#selectedEditors.has(editor);\n }\n unselect(editor) {\n editor.unselect();\n this.#selectedEditors.delete(editor);\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n }\n get hasSelection() {\n return this.#selectedEditors.size !== 0;\n }\n undo() {\n this.#commandManager.undo();\n this.#dispatchUpdateStates({\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: true,\n isEmpty: this.#isEmpty()\n });\n }\n redo() {\n this.#commandManager.redo();\n this.#dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n isEmpty: this.#isEmpty()\n });\n }\n addCommands(params) {\n this.#commandManager.add(params);\n this.#dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: false,\n isEmpty: this.#isEmpty()\n });\n }\n #isEmpty() {\n if (this.#allEditors.size === 0) {\n return true;\n }\n if (this.#allEditors.size === 1) {\n for (const editor of this.#allEditors.values()) {\n return editor.isEmpty();\n }\n }\n return false;\n }\n delete() {\n this.commitOrRemove();\n if (!this.hasSelection) {\n return;\n }\n const editors = [...this.#selectedEditors];\n const cmd = () => {\n for (const editor of editors) {\n editor.remove();\n }\n };\n const undo = () => {\n for (const editor of editors) {\n this.#addEditorToLayer(editor);\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n commitOrRemove() {\n this.#activeEditor?.commitOrRemove();\n }\n hasSomethingToControl() {\n return this.#activeEditor || this.hasSelection;\n }\n #selectEditors(editors) {\n this.#selectedEditors.clear();\n for (const editor of editors) {\n if (editor.isEmpty()) {\n continue;\n }\n this.#selectedEditors.add(editor);\n editor.select();\n }\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n selectAll() {\n for (const editor of this.#selectedEditors) {\n editor.commit();\n }\n this.#selectEditors(this.#allEditors.values());\n }\n unselectAll() {\n if (this.#activeEditor) {\n this.#activeEditor.commitOrRemove();\n return;\n }\n if (!this.hasSelection) {\n return;\n }\n for (const editor of this.#selectedEditors) {\n editor.unselect();\n }\n this.#selectedEditors.clear();\n this.#dispatchUpdateStates({\n hasSelectedEditor: false\n });\n }\n translateSelectedEditors(x, y, noCommit = false) {\n if (!noCommit) {\n this.commitOrRemove();\n }\n if (!this.hasSelection) {\n return;\n }\n this.#translation[0] += x;\n this.#translation[1] += y;\n const [totalX, totalY] = this.#translation;\n const editors = [...this.#selectedEditors];\n const TIME_TO_WAIT = 1000;\n if (this.#translationTimeoutId) {\n clearTimeout(this.#translationTimeoutId);\n }\n this.#translationTimeoutId = setTimeout(() => {\n this.#translationTimeoutId = null;\n this.#translation[0] = this.#translation[1] = 0;\n this.addCommands({\n cmd: () => {\n for (const editor of editors) {\n if (this.#allEditors.has(editor.id)) {\n editor.translateInPage(totalX, totalY);\n }\n }\n },\n undo: () => {\n for (const editor of editors) {\n if (this.#allEditors.has(editor.id)) {\n editor.translateInPage(-totalX, -totalY);\n }\n }\n },\n mustExec: false\n });\n }, TIME_TO_WAIT);\n for (const editor of editors) {\n editor.translateInPage(x, y);\n }\n }\n setUpDragSession() {\n if (!this.hasSelection) {\n return;\n }\n this.disableUserSelect(true);\n this.#draggingEditors = new Map();\n for (const editor of this.#selectedEditors) {\n this.#draggingEditors.set(editor, {\n savedX: editor.x,\n savedY: editor.y,\n savedPageIndex: editor.pageIndex,\n newX: 0,\n newY: 0,\n newPageIndex: -1\n });\n }\n }\n endDragSession() {\n if (!this.#draggingEditors) {\n return false;\n }\n this.disableUserSelect(false);\n const map = this.#draggingEditors;\n this.#draggingEditors = null;\n let mustBeAddedInUndoStack = false;\n for (const [{\n x,\n y,\n pageIndex\n }, value] of map) {\n value.newX = x;\n value.newY = y;\n value.newPageIndex = pageIndex;\n mustBeAddedInUndoStack ||= x !== value.savedX || y !== value.savedY || pageIndex !== value.savedPageIndex;\n }\n if (!mustBeAddedInUndoStack) {\n return false;\n }\n const move = (editor, x, y, pageIndex) => {\n if (this.#allEditors.has(editor.id)) {\n const parent = this.#allLayers.get(pageIndex);\n if (parent) {\n editor._setParentAndPosition(parent, x, y);\n } else {\n editor.pageIndex = pageIndex;\n editor.x = x;\n editor.y = y;\n }\n }\n };\n this.addCommands({\n cmd: () => {\n for (const [editor, {\n newX,\n newY,\n newPageIndex\n }] of map) {\n move(editor, newX, newY, newPageIndex);\n }\n },\n undo: () => {\n for (const [editor, {\n savedX,\n savedY,\n savedPageIndex\n }] of map) {\n move(editor, savedX, savedY, savedPageIndex);\n }\n },\n mustExec: true\n });\n return true;\n }\n dragSelectedEditors(tx, ty) {\n if (!this.#draggingEditors) {\n return;\n }\n for (const editor of this.#draggingEditors.keys()) {\n editor.drag(tx, ty);\n }\n }\n rebuild(editor) {\n if (editor.parent === null) {\n const parent = this.getLayer(editor.pageIndex);\n if (parent) {\n parent.changeParent(editor);\n parent.addOrRebuild(editor);\n } else {\n this.addEditor(editor);\n this.addToAnnotationStorage(editor);\n editor.rebuild();\n }\n } else {\n editor.parent.addOrRebuild(editor);\n }\n }\n isActive(editor) {\n return this.#activeEditor === editor;\n }\n getActive() {\n return this.#activeEditor;\n }\n getMode() {\n return this.#mode;\n }\n get imageManager() {\n return (0, _util.shadow)(this, \"imageManager\", new ImageManager());\n }\n}\nexports.AnnotationEditorUIManager = AnnotationEditorUIManager;\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMFilterFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = void 0;\nexports.deprecated = deprecated;\nexports.getColorValues = getColorValues;\nexports.getCurrentTransform = getCurrentTransform;\nexports.getCurrentTransformInverse = getCurrentTransformInverse;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.getPdfFilenameFromUrl = getPdfFilenameFromUrl;\nexports.getRGB = getRGB;\nexports.getXfaPageViewport = getXfaPageViewport;\nexports.isDataScheme = isDataScheme;\nexports.isPdfFile = isPdfFile;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.noContextMenu = noContextMenu;\nexports.setLayerDimensions = setLayerDimensions;\nvar _base_factory = __w_pdfjs_require__(7);\nvar _util = __w_pdfjs_require__(1);\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\nclass PixelsPerInch {\n static CSS = 96.0;\n static PDF = 72.0;\n static PDF_TO_CSS_UNITS = this.CSS / this.PDF;\n}\nexports.PixelsPerInch = PixelsPerInch;\nclass DOMFilterFactory extends _base_factory.BaseFilterFactory {\n #_cache;\n #_defs;\n #docId;\n #document;\n #hcmFilter;\n #hcmKey;\n #hcmUrl;\n #hcmHighlightFilter;\n #hcmHighlightKey;\n #hcmHighlightUrl;\n #id = 0;\n constructor({\n docId,\n ownerDocument = globalThis.document\n } = {}) {\n super();\n this.#docId = docId;\n this.#document = ownerDocument;\n }\n get #cache() {\n return this.#_cache ||= new Map();\n }\n get #defs() {\n if (!this.#_defs) {\n const div = this.#document.createElement(\"div\");\n const {\n style\n } = div;\n style.visibility = \"hidden\";\n style.contain = \"strict\";\n style.width = style.height = 0;\n style.position = \"absolute\";\n style.top = style.left = 0;\n style.zIndex = -1;\n const svg = this.#document.createElementNS(SVG_NS, \"svg\");\n svg.setAttribute(\"width\", 0);\n svg.setAttribute(\"height\", 0);\n this.#_defs = this.#document.createElementNS(SVG_NS, \"defs\");\n div.append(svg);\n svg.append(this.#_defs);\n this.#document.body.append(div);\n }\n return this.#_defs;\n }\n addFilter(maps) {\n if (!maps) {\n return \"none\";\n }\n let value = this.#cache.get(maps);\n if (value) {\n return value;\n }\n let tableR, tableG, tableB, key;\n if (maps.length === 1) {\n const mapR = maps[0];\n const buffer = new Array(256);\n for (let i = 0; i < 256; i++) {\n buffer[i] = mapR[i] / 255;\n }\n key = tableR = tableG = tableB = buffer.join(\",\");\n } else {\n const [mapR, mapG, mapB] = maps;\n const bufferR = new Array(256);\n const bufferG = new Array(256);\n const bufferB = new Array(256);\n for (let i = 0; i < 256; i++) {\n bufferR[i] = mapR[i] / 255;\n bufferG[i] = mapG[i] / 255;\n bufferB[i] = mapB[i] / 255;\n }\n tableR = bufferR.join(\",\");\n tableG = bufferG.join(\",\");\n tableB = bufferB.join(\",\");\n key = `${tableR}${tableG}${tableB}`;\n }\n value = this.#cache.get(key);\n if (value) {\n this.#cache.set(maps, value);\n return value;\n }\n const id = `g_${this.#docId}_transfer_map_${this.#id++}`;\n const url = `url(#${id})`;\n this.#cache.set(maps, url);\n this.#cache.set(key, url);\n const filter = this.#createFilter(id);\n this.#addTransferMapConversion(tableR, tableG, tableB, filter);\n return url;\n }\n addHCMFilter(fgColor, bgColor) {\n const key = `${fgColor}-${bgColor}`;\n if (this.#hcmKey === key) {\n return this.#hcmUrl;\n }\n this.#hcmKey = key;\n this.#hcmUrl = \"none\";\n this.#hcmFilter?.remove();\n if (!fgColor || !bgColor) {\n return this.#hcmUrl;\n }\n const fgRGB = this.#getRGB(fgColor);\n fgColor = _util.Util.makeHexColor(...fgRGB);\n const bgRGB = this.#getRGB(bgColor);\n bgColor = _util.Util.makeHexColor(...bgRGB);\n this.#defs.style.color = \"\";\n if (fgColor === \"#000000\" && bgColor === \"#ffffff\" || fgColor === bgColor) {\n return this.#hcmUrl;\n }\n const map = new Array(256);\n for (let i = 0; i <= 255; i++) {\n const x = i / 255;\n map[i] = x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;\n }\n const table = map.join(\",\");\n const id = `g_${this.#docId}_hcm_filter`;\n const filter = this.#hcmHighlightFilter = this.#createFilter(id);\n this.#addTransferMapConversion(table, table, table, filter);\n this.#addGrayConversion(filter);\n const getSteps = (c, n) => {\n const start = fgRGB[c] / 255;\n const end = bgRGB[c] / 255;\n const arr = new Array(n + 1);\n for (let i = 0; i <= n; i++) {\n arr[i] = start + i / n * (end - start);\n }\n return arr.join(\",\");\n };\n this.#addTransferMapConversion(getSteps(0, 5), getSteps(1, 5), getSteps(2, 5), filter);\n this.#hcmUrl = `url(#${id})`;\n return this.#hcmUrl;\n }\n addHighlightHCMFilter(fgColor, bgColor, newFgColor, newBgColor) {\n const key = `${fgColor}-${bgColor}-${newFgColor}-${newBgColor}`;\n if (this.#hcmHighlightKey === key) {\n return this.#hcmHighlightUrl;\n }\n this.#hcmHighlightKey = key;\n this.#hcmHighlightUrl = \"none\";\n this.#hcmHighlightFilter?.remove();\n if (!fgColor || !bgColor) {\n return this.#hcmHighlightUrl;\n }\n const [fgRGB, bgRGB] = [fgColor, bgColor].map(this.#getRGB.bind(this));\n let fgGray = Math.round(0.2126 * fgRGB[0] + 0.7152 * fgRGB[1] + 0.0722 * fgRGB[2]);\n let bgGray = Math.round(0.2126 * bgRGB[0] + 0.7152 * bgRGB[1] + 0.0722 * bgRGB[2]);\n let [newFgRGB, newBgRGB] = [newFgColor, newBgColor].map(this.#getRGB.bind(this));\n if (bgGray < fgGray) {\n [fgGray, bgGray, newFgRGB, newBgRGB] = [bgGray, fgGray, newBgRGB, newFgRGB];\n }\n this.#defs.style.color = \"\";\n const getSteps = (fg, bg, n) => {\n const arr = new Array(256);\n const step = (bgGray - fgGray) / n;\n const newStart = fg / 255;\n const newStep = (bg - fg) / (255 * n);\n let prev = 0;\n for (let i = 0; i <= n; i++) {\n const k = Math.round(fgGray + i * step);\n const value = newStart + i * newStep;\n for (let j = prev; j <= k; j++) {\n arr[j] = value;\n }\n prev = k + 1;\n }\n for (let i = prev; i < 256; i++) {\n arr[i] = arr[prev - 1];\n }\n return arr.join(\",\");\n };\n const id = `g_${this.#docId}_hcm_highlight_filter`;\n const filter = this.#hcmHighlightFilter = this.#createFilter(id);\n this.#addGrayConversion(filter);\n this.#addTransferMapConversion(getSteps(newFgRGB[0], newBgRGB[0], 5), getSteps(newFgRGB[1], newBgRGB[1], 5), getSteps(newFgRGB[2], newBgRGB[2], 5), filter);\n this.#hcmHighlightUrl = `url(#${id})`;\n return this.#hcmHighlightUrl;\n }\n destroy(keepHCM = false) {\n if (keepHCM && (this.#hcmUrl || this.#hcmHighlightUrl)) {\n return;\n }\n if (this.#_defs) {\n this.#_defs.parentNode.parentNode.remove();\n this.#_defs = null;\n }\n if (this.#_cache) {\n this.#_cache.clear();\n this.#_cache = null;\n }\n this.#id = 0;\n }\n #addGrayConversion(filter) {\n const feColorMatrix = this.#document.createElementNS(SVG_NS, \"feColorMatrix\");\n feColorMatrix.setAttribute(\"type\", \"matrix\");\n feColorMatrix.setAttribute(\"values\", \"0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0\");\n filter.append(feColorMatrix);\n }\n #createFilter(id) {\n const filter = this.#document.createElementNS(SVG_NS, \"filter\");\n filter.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n filter.setAttribute(\"id\", id);\n this.#defs.append(filter);\n return filter;\n }\n #appendFeFunc(feComponentTransfer, func, table) {\n const feFunc = this.#document.createElementNS(SVG_NS, func);\n feFunc.setAttribute(\"type\", \"discrete\");\n feFunc.setAttribute(\"tableValues\", table);\n feComponentTransfer.append(feFunc);\n }\n #addTransferMapConversion(rTable, gTable, bTable, filter) {\n const feComponentTransfer = this.#document.createElementNS(SVG_NS, \"feComponentTransfer\");\n filter.append(feComponentTransfer);\n this.#appendFeFunc(feComponentTransfer, \"feFuncR\", rTable);\n this.#appendFeFunc(feComponentTransfer, \"feFuncG\", gTable);\n this.#appendFeFunc(feComponentTransfer, \"feFuncB\", bTable);\n }\n #getRGB(color) {\n this.#defs.style.color = color;\n return getRGB(getComputedStyle(this.#defs).getPropertyValue(\"color\"));\n }\n}\nexports.DOMFilterFactory = DOMFilterFactory;\nclass DOMCanvasFactory extends _base_factory.BaseCanvasFactory {\n constructor({\n ownerDocument = globalThis.document\n } = {}) {\n super();\n this._document = ownerDocument;\n }\n _createCanvas(width, height) {\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n}\nexports.DOMCanvasFactory = DOMCanvasFactory;\nasync function fetchData(url, asTypedArray = false) {\n if (isValidFetchUrl(url, document.baseURI)) {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return asTypedArray ? new Uint8Array(await response.arrayBuffer()) : (0, _util.stringToBytes)(await response.text());\n }\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n if (asTypedArray) {\n request.responseType = \"arraybuffer\";\n }\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n let data;\n if (asTypedArray && request.response) {\n data = new Uint8Array(request.response);\n } else if (!asTypedArray && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n if (data) {\n resolve(data);\n return;\n }\n }\n reject(new Error(request.statusText));\n };\n request.send(null);\n });\n}\nclass DOMCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url, this.isCompressed).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n}\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\nclass DOMStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url, true);\n }\n}\nexports.DOMStandardFontDataFactory = DOMStandardFontDataFactory;\nclass DOMSVGFactory extends _base_factory.BaseSVGFactory {\n _createSVG(type) {\n return document.createElementNS(SVG_NS, type);\n }\n}\nexports.DOMSVGFactory = DOMSVGFactory;\nclass PageViewport {\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = (viewBox[3] - viewBox[1]) * scale;\n height = (viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = (viewBox[2] - viewBox[0]) * scale;\n height = (viewBox[3] - viewBox[1]) * scale;\n }\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n get rawDims() {\n const {\n viewBox\n } = this;\n return (0, _util.shadow)(this, \"rawDims\", {\n pageWidth: viewBox[2] - viewBox[0],\n pageHeight: viewBox[3] - viewBox[1],\n pageX: viewBox[0],\n pageY: viewBox[1]\n });\n }\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n convertToViewportRectangle(rect) {\n const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n}\nexports.PageViewport = PageViewport;\nclass RenderingCancelledException extends _util.BaseException {\n constructor(msg, extraDelay = 0) {\n super(msg, \"RenderingCancelledException\");\n this.extraDelay = extraDelay;\n }\n}\nexports.RenderingCancelledException = RenderingCancelledException;\nfunction isDataScheme(url) {\n const ii = url.length;\n let i = 0;\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\nfunction isPdfFile(filename) {\n return typeof filename === \"string\" && /\\.pdf$/i.test(filename);\n}\nfunction getFilenameFromUrl(url, onlyStripPath = false) {\n if (!onlyStripPath) {\n [url] = url.split(/[#?]/, 1);\n }\n return url.substring(url.lastIndexOf(\"/\") + 1);\n}\nfunction getPdfFilenameFromUrl(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n if (isDataScheme(url)) {\n (0, _util.warn)('getPdfFilenameFromUrl: ignore \"data:\"-URL for performance reasons.');\n return defaultFilename;\n }\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n const reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch {}\n }\n }\n return suggestedFilename || defaultFilename;\n}\nclass StatTimer {\n started = Object.create(null);\n times = [];\n time(name) {\n if (name in this.started) {\n (0, _util.warn)(`Timer is already running for ${name}`);\n }\n this.started[name] = Date.now();\n }\n timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(`Timer has not been started for ${name}`);\n }\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n toString() {\n const outBuf = [];\n let longest = 0;\n for (const {\n name\n } of this.times) {\n longest = Math.max(name.length, longest);\n }\n for (const {\n name,\n start,\n end\n } of this.times) {\n outBuf.push(`${name.padEnd(longest)} ${end - start}ms\\n`);\n }\n return outBuf.join(\"\");\n }\n}\nexports.StatTimer = StatTimer;\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const {\n protocol\n } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n return protocol === \"http:\" || protocol === \"https:\";\n } catch {\n return false;\n }\n}\nfunction noContextMenu(e) {\n e.preventDefault();\n}\nfunction loadScript(src, removeScriptElement = false) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n script.onload = function (evt) {\n if (removeScriptElement) {\n script.remove();\n }\n resolve(evt);\n };\n script.onerror = function () {\n reject(new Error(`Cannot load script at: ${script.src}`));\n };\n (document.head || document.documentElement).append(script);\n });\n}\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\nlet pdfDateStringRegex;\nclass PDFDateString {\n static toDateObject(input) {\n if (!input || typeof input !== \"string\") {\n return null;\n }\n pdfDateStringRegex ||= new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n const matches = pdfDateStringRegex.exec(input);\n if (!matches) {\n return null;\n }\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n}\nexports.PDFDateString = PDFDateString;\nfunction getXfaPageViewport(xfaPage, {\n scale = 1,\n rotation = 0\n}) {\n const {\n width,\n height\n } = xfaPage.attributes.style;\n const viewBox = [0, 0, parseInt(width), parseInt(height)];\n return new PageViewport({\n viewBox,\n scale,\n rotation\n });\n}\nfunction getRGB(color) {\n if (color.startsWith(\"#\")) {\n const colorRGB = parseInt(color.slice(1), 16);\n return [(colorRGB & 0xff0000) >> 16, (colorRGB & 0x00ff00) >> 8, colorRGB & 0x0000ff];\n }\n if (color.startsWith(\"rgb(\")) {\n return color.slice(4, -1).split(\",\").map(x => parseInt(x));\n }\n if (color.startsWith(\"rgba(\")) {\n return color.slice(5, -1).split(\",\").map(x => parseInt(x)).slice(0, 3);\n }\n (0, _util.warn)(`Not a valid color format: \"${color}\"`);\n return [0, 0, 0];\n}\nfunction getColorValues(colors) {\n const span = document.createElement(\"span\");\n span.style.visibility = \"hidden\";\n document.body.append(span);\n for (const name of colors.keys()) {\n span.style.color = name;\n const computedColor = window.getComputedStyle(span).color;\n colors.set(name, getRGB(computedColor));\n }\n span.remove();\n}\nfunction getCurrentTransform(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform();\n return [a, b, c, d, e, f];\n}\nfunction getCurrentTransformInverse(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform().invertSelf();\n return [a, b, c, d, e, f];\n}\nfunction setLayerDimensions(div, viewport, mustFlip = false, mustRotate = true) {\n if (viewport instanceof PageViewport) {\n const {\n pageWidth,\n pageHeight\n } = viewport.rawDims;\n const {\n style\n } = div;\n const useRound = _util.FeatureTest.isCSSRoundSupported;\n const w = `var(--scale-factor) * ${pageWidth}px`,\n h = `var(--scale-factor) * ${pageHeight}px`;\n const widthStr = useRound ? `round(${w}, 1px)` : `calc(${w})`,\n heightStr = useRound ? `round(${h}, 1px)` : `calc(${h})`;\n if (!mustFlip || viewport.rotation % 180 === 0) {\n style.width = widthStr;\n style.height = heightStr;\n } else {\n style.width = heightStr;\n style.height = widthStr;\n }\n }\n if (mustRotate) {\n div.setAttribute(\"data-main-rotation\", viewport.rotation);\n }\n}\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseFilterFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0;\nvar _util = __w_pdfjs_require__(1);\nclass BaseFilterFactory {\n constructor() {\n if (this.constructor === BaseFilterFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseFilterFactory.\");\n }\n }\n addFilter(maps) {\n return \"none\";\n }\n addHCMFilter(fgColor, bgColor) {\n return \"none\";\n }\n addHighlightHCMFilter(fgColor, bgColor, newFgColor, newBgColor) {\n return \"none\";\n }\n destroy(keepHCM = false) {}\n}\nexports.BaseFilterFactory = BaseFilterFactory;\nclass BaseCanvasFactory {\n constructor() {\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n const canvas = this._createCanvas(width, height);\n return {\n canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n _createCanvas(width, height) {\n (0, _util.unreachable)(\"Abstract method `_createCanvas` called.\");\n }\n}\nexports.BaseCanvasFactory = BaseCanvasFactory;\nclass BaseCMapReaderFactory {\n constructor({\n baseUrl = null,\n isCompressed = true\n }) {\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n async fetch({\n name\n }) {\n if (!this.baseUrl) {\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n }\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n return this._fetchData(url, compressionType).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}CMap at: ${url}`);\n });\n }\n _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n}\nexports.BaseCMapReaderFactory = BaseCMapReaderFactory;\nclass BaseStandardFontDataFactory {\n constructor({\n baseUrl = null\n }) {\n if (this.constructor === BaseStandardFontDataFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseStandardFontDataFactory.\");\n }\n this.baseUrl = baseUrl;\n }\n async fetch({\n filename\n }) {\n if (!this.baseUrl) {\n throw new Error('The standard font \"baseUrl\" parameter must be specified, ensure that ' + 'the \"standardFontDataUrl\" API parameter is provided.');\n }\n if (!filename) {\n throw new Error(\"Font filename must be specified.\");\n }\n const url = `${this.baseUrl}${filename}`;\n return this._fetchData(url).catch(reason => {\n throw new Error(`Unable to load font data at: ${url}`);\n });\n }\n _fetchData(url) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n}\nexports.BaseStandardFontDataFactory = BaseStandardFontDataFactory;\nclass BaseSVGFactory {\n constructor() {\n if (this.constructor === BaseSVGFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseSVGFactory.\");\n }\n }\n create(width, height, skipDimensions = false) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid SVG dimensions\");\n }\n const svg = this._createSVG(\"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n if (!skipDimensions) {\n svg.setAttribute(\"width\", `${width}px`);\n svg.setAttribute(\"height\", `${height}px`);\n }\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", `0 0 ${width} ${height}`);\n return svg;\n }\n createElement(type) {\n if (typeof type !== \"string\") {\n throw new Error(\"Invalid SVG element type\");\n }\n return this._createSVG(type);\n }\n _createSVG(type) {\n (0, _util.unreachable)(\"Abstract method `_createSVG` called.\");\n }\n}\nexports.BaseSVGFactory = BaseSVGFactory;\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MurmurHash3_64 = void 0;\nvar _util = __w_pdfjs_require__(1);\nconst SEED = 0xc3d2e1f0;\nconst MASK_HIGH = 0xffff0000;\nconst MASK_LOW = 0xffff;\nclass MurmurHash3_64 {\n constructor(seed) {\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n update(input) {\n let data, length;\n if (typeof input === \"string\") {\n data = new Uint8Array(input.length * 2);\n length = 0;\n for (let i = 0, ii = input.length; i < ii; i++) {\n const code = input.charCodeAt(i);\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input.slice();\n length = data.byteLength;\n } else {\n throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n }\n const blockCounts = length >> 2;\n const tailLength = length - blockCounts * 4;\n const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n let k1 = 0,\n k2 = 0;\n let h1 = this.h1,\n h2 = this.h2;\n const C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n const C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n for (let i = 0; i < blockCounts; i++) {\n if (i & 1) {\n k1 = dataUint32[i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n k1 = 0;\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n }\n this.h1 = h1;\n this.h2 = h2;\n }\n hexdigest() {\n let h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n return (h1 >>> 0).toString(16).padStart(8, \"0\") + (h2 >>> 0).toString(16).padStart(8, \"0\");\n }\n}\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 9 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FontLoader = exports.FontFaceObject = void 0;\nvar _util = __w_pdfjs_require__(1);\nclass FontLoader {\n #systemFonts = new Set();\n constructor({\n ownerDocument = globalThis.document,\n styleElement = null\n }) {\n this._document = ownerDocument;\n this.nativeFontFaces = new Set();\n this.styleElement = null;\n this.loadingRequests = [];\n this.loadTestFontId = 0;\n }\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.add(nativeFontFace);\n this._document.fonts.add(nativeFontFace);\n }\n removeNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.delete(nativeFontFace);\n this._document.fonts.delete(nativeFontFace);\n }\n insertRule(rule) {\n if (!this.styleElement) {\n this.styleElement = this._document.createElement(\"style\");\n this._document.documentElement.getElementsByTagName(\"head\")[0].append(this.styleElement);\n }\n const styleSheet = this.styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n clear() {\n for (const nativeFontFace of this.nativeFontFaces) {\n this._document.fonts.delete(nativeFontFace);\n }\n this.nativeFontFaces.clear();\n this.#systemFonts.clear();\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n async loadSystemFont(info) {\n if (!info || this.#systemFonts.has(info.loadedName)) {\n return;\n }\n (0, _util.assert)(!this.disableFontFace, \"loadSystemFont shouldn't be called when `disableFontFace` is set.\");\n if (this.isFontLoadingAPISupported) {\n const {\n loadedName,\n src,\n style\n } = info;\n const fontFace = new FontFace(loadedName, src, style);\n this.addNativeFontFace(fontFace);\n try {\n await fontFace.load();\n this.#systemFonts.add(loadedName);\n } catch {\n (0, _util.warn)(`Cannot load system font: ${info.baseFontName}, installing it could help to improve PDF rendering.`);\n this.removeNativeFontFace(fontFace);\n }\n return;\n }\n (0, _util.unreachable)(\"Not implemented: loadSystemFont without the Font Loading API.\");\n }\n async bind(font) {\n if (font.attached || font.missingFile && !font.systemFontInfo) {\n return;\n }\n font.attached = true;\n if (font.systemFontInfo) {\n await this.loadSystemFont(font.systemFontInfo);\n return;\n }\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n font.disableFontFace = true;\n throw ex;\n }\n }\n return;\n }\n const rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n if (this.isSyncFontLoadingSupported) {\n return;\n }\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n this._prepareFontLoadEvent(font, request);\n });\n }\n }\n get isFontLoadingAPISupported() {\n const hasFonts = !!this._document?.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", hasFonts);\n }\n get isSyncFontLoadingSupported() {\n let supported = false;\n if (_util.isNodeJS) {\n supported = true;\n } else if (typeof navigator !== \"undefined\" && /Mozilla\\/5.0.*?rv:\\d+.*? Gecko/.test(navigator.userAgent)) {\n supported = true;\n }\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n while (loadingRequests.length > 0 && loadingRequests[0].done) {\n const otherRequest = loadingRequests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n const {\n loadingRequests\n } = this;\n const request = {\n done: false,\n complete: completeRequest,\n callback\n };\n loadingRequests.push(request);\n return request;\n }\n get _loadTestFont() {\n const testFont = atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n return (0, _util.shadow)(this, \"_loadTestFont\", testFont);\n }\n _prepareFontLoadEvent(font, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n let i, ii;\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n let called = 0;\n function isFontReady(name, callback) {\n if (++called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858;\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n const div = this._document.createElement(\"div\");\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n for (const name of [font.loadedName, loadTestFontId]) {\n const span = this._document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = name;\n div.append(span);\n }\n this._document.body.append(div);\n isFontReady(loadTestFontId, () => {\n div.remove();\n request.complete();\n });\n }\n}\nexports.FontLoader = FontLoader;\nclass FontFaceObject {\n constructor(translatedData, {\n isEvalSupported = true,\n disableFontFace = false,\n ignoreErrors = false,\n inspectFont = null\n }) {\n this.compiledGlyphs = Object.create(null);\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._inspectFont = inspectFont;\n }\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n let nativeFontFace;\n if (!this.cssFontInfo) {\n nativeFontFace = new FontFace(this.loadedName, this.data, {});\n } else {\n const css = {\n weight: this.cssFontInfo.fontWeight\n };\n if (this.cssFontInfo.italicAngle) {\n css.style = `oblique ${this.cssFontInfo.italicAngle}deg`;\n }\n nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css);\n }\n this._inspectFont?.(this);\n return nativeFontFace;\n }\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n const data = (0, _util.bytesToString)(this.data);\n const url = `url(data:${this.mimetype};base64,${btoa(data)});`;\n let rule;\n if (!this.cssFontInfo) {\n rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n } else {\n let css = `font-weight: ${this.cssFontInfo.fontWeight};`;\n if (this.cssFontInfo.italicAngle) {\n css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;\n }\n rule = `@font-face {font-family:\"${this.cssFontInfo.fontFamily}\";${css}src:${url}}`;\n }\n this._inspectFont?.(this, url);\n return rule;\n }\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n let cmds;\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n (0, _util.warn)(`getPathGenerator - ignoring character: \"${ex}\".`);\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n if (this.isEvalSupported && _util.FeatureTest.isEvalSupported) {\n const jsBuf = [];\n for (const current of cmds) {\n const args = current.args !== undefined ? current.args.join(\",\") : \"\";\n jsBuf.push(\"c.\", current.cmd, \"(\", args, \");\\n\");\n }\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", jsBuf.join(\"\"));\n }\n return this.compiledGlyphs[character] = function (c, size) {\n for (const current of cmds) {\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n}\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 10 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NodeStandardFontDataFactory = exports.NodeFilterFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0;\nvar _base_factory = __w_pdfjs_require__(7);\nvar _util = __w_pdfjs_require__(1);\n;\n;\nconst fetchData = function (url) {\n return new Promise((resolve, reject) => {\n const fs = require(\"fs\");\n fs.readFile(url, (error, data) => {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n resolve(new Uint8Array(data));\n });\n });\n};\nclass NodeFilterFactory extends _base_factory.BaseFilterFactory {}\nexports.NodeFilterFactory = NodeFilterFactory;\nclass NodeCanvasFactory extends _base_factory.BaseCanvasFactory {\n _createCanvas(width, height) {\n const Canvas = require(\"canvas\");\n return Canvas.createCanvas(width, height);\n }\n}\nexports.NodeCanvasFactory = NodeCanvasFactory;\nclass NodeCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n}\nexports.NodeCMapReaderFactory = NodeCMapReaderFactory;\nclass NodeStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url);\n }\n}\nexports.NodeStandardFontDataFactory = NodeStandardFontDataFactory;\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CanvasGraphics = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _pattern_helper = __w_pdfjs_require__(12);\nvar _image_utils = __w_pdfjs_require__(13);\nconst MIN_FONT_SIZE = 16;\nconst MAX_FONT_SIZE = 100;\nconst MAX_GROUP_SIZE = 4096;\nconst EXECUTION_TIME = 15;\nconst EXECUTION_STEPS = 10;\nconst MAX_SIZE_TO_COMPILE = 1000;\nconst FULL_CHUNK_HEIGHT = 16;\nfunction mirrorContextOperations(ctx, destCtx) {\n if (ctx._removeMirroring) {\n throw new Error(\"Context is already forwarding operations.\");\n }\n ctx.__originalSave = ctx.save;\n ctx.__originalRestore = ctx.restore;\n ctx.__originalRotate = ctx.rotate;\n ctx.__originalScale = ctx.scale;\n ctx.__originalTranslate = ctx.translate;\n ctx.__originalTransform = ctx.transform;\n ctx.__originalSetTransform = ctx.setTransform;\n ctx.__originalResetTransform = ctx.resetTransform;\n ctx.__originalClip = ctx.clip;\n ctx.__originalMoveTo = ctx.moveTo;\n ctx.__originalLineTo = ctx.lineTo;\n ctx.__originalBezierCurveTo = ctx.bezierCurveTo;\n ctx.__originalRect = ctx.rect;\n ctx.__originalClosePath = ctx.closePath;\n ctx.__originalBeginPath = ctx.beginPath;\n ctx._removeMirroring = () => {\n ctx.save = ctx.__originalSave;\n ctx.restore = ctx.__originalRestore;\n ctx.rotate = ctx.__originalRotate;\n ctx.scale = ctx.__originalScale;\n ctx.translate = ctx.__originalTranslate;\n ctx.transform = ctx.__originalTransform;\n ctx.setTransform = ctx.__originalSetTransform;\n ctx.resetTransform = ctx.__originalResetTransform;\n ctx.clip = ctx.__originalClip;\n ctx.moveTo = ctx.__originalMoveTo;\n ctx.lineTo = ctx.__originalLineTo;\n ctx.bezierCurveTo = ctx.__originalBezierCurveTo;\n ctx.rect = ctx.__originalRect;\n ctx.closePath = ctx.__originalClosePath;\n ctx.beginPath = ctx.__originalBeginPath;\n delete ctx._removeMirroring;\n };\n ctx.save = function ctxSave() {\n destCtx.save();\n this.__originalSave();\n };\n ctx.restore = function ctxRestore() {\n destCtx.restore();\n this.__originalRestore();\n };\n ctx.translate = function ctxTranslate(x, y) {\n destCtx.translate(x, y);\n this.__originalTranslate(x, y);\n };\n ctx.scale = function ctxScale(x, y) {\n destCtx.scale(x, y);\n this.__originalScale(x, y);\n };\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n destCtx.transform(a, b, c, d, e, f);\n this.__originalTransform(a, b, c, d, e, f);\n };\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n destCtx.setTransform(a, b, c, d, e, f);\n this.__originalSetTransform(a, b, c, d, e, f);\n };\n ctx.resetTransform = function ctxResetTransform() {\n destCtx.resetTransform();\n this.__originalResetTransform();\n };\n ctx.rotate = function ctxRotate(angle) {\n destCtx.rotate(angle);\n this.__originalRotate(angle);\n };\n ctx.clip = function ctxRotate(rule) {\n destCtx.clip(rule);\n this.__originalClip(rule);\n };\n ctx.moveTo = function (x, y) {\n destCtx.moveTo(x, y);\n this.__originalMoveTo(x, y);\n };\n ctx.lineTo = function (x, y) {\n destCtx.lineTo(x, y);\n this.__originalLineTo(x, y);\n };\n ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) {\n destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n };\n ctx.rect = function (x, y, width, height) {\n destCtx.rect(x, y, width, height);\n this.__originalRect(x, y, width, height);\n };\n ctx.closePath = function () {\n destCtx.closePath();\n this.__originalClosePath();\n };\n ctx.beginPath = function () {\n destCtx.beginPath();\n this.__originalBeginPath();\n };\n}\nclass CachedCanvases {\n constructor(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n getCanvas(id, width, height) {\n let canvasEntry;\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n return canvasEntry;\n }\n delete(id) {\n delete this.cache[id];\n }\n clear() {\n for (const id in this.cache) {\n const canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n}\nfunction drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) {\n const [a, b, c, d, tx, ty] = (0, _display_utils.getCurrentTransform)(ctx);\n if (b === 0 && c === 0) {\n const tlX = destX * a + tx;\n const rTlX = Math.round(tlX);\n const tlY = destY * d + ty;\n const rTlY = Math.round(tlY);\n const brX = (destX + destW) * a + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destY + destH) * d + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rWidth, rHeight];\n }\n if (a === 0 && d === 0) {\n const tlX = destY * c + tx;\n const rTlX = Math.round(tlX);\n const tlY = destX * b + ty;\n const rTlY = Math.round(tlY);\n const brX = (destY + destH) * c + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destX + destW) * b + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rHeight, rWidth];\n }\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH);\n const scaleX = Math.hypot(a, b);\n const scaleY = Math.hypot(c, d);\n return [scaleX * destW, scaleY * destH];\n}\nfunction compileType3Glyph(imgData) {\n const {\n width,\n height\n } = imgData;\n if (width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) {\n return null;\n }\n const POINT_TO_PROCESS_LIMIT = 1000;\n const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n const width1 = width + 1;\n let points = new Uint8Array(width1 * (height + 1));\n let i, j, j0;\n const lineSize = width + 7 & ~7;\n let data = new Uint8Array(lineSize * height),\n pos = 0;\n for (const elem of imgData.data) {\n let mask = 128;\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n let count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n const path = new Path2D();\n for (i = 0; count && i <= height; i++) {\n let p = i * width1;\n const end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n path.moveTo(p % width1, i);\n const p0 = p;\n let type = points[p];\n do {\n const step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n const pp = points[p];\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n path.lineTo(p % width1, p / width1 | 0);\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n --i;\n }\n data = null;\n points = null;\n const drawOutline = function (c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.fill(path);\n c.beginPath();\n c.restore();\n };\n return drawOutline;\n}\nclass CanvasExtraState {\n constructor(width, height) {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.transferMaps = \"none\";\n this.startNewPathAndClipBox([0, 0, width, height]);\n }\n clone() {\n const clone = Object.create(this);\n clone.clipBox = this.clipBox.slice();\n return clone;\n }\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n updatePathMinMax(transform, x, y) {\n [x, y] = _util.Util.applyTransform([x, y], transform);\n this.minX = Math.min(this.minX, x);\n this.minY = Math.min(this.minY, y);\n this.maxX = Math.max(this.maxX, x);\n this.maxY = Math.max(this.maxY, y);\n }\n updateRectMinMax(transform, rect) {\n const p1 = _util.Util.applyTransform(rect, transform);\n const p2 = _util.Util.applyTransform(rect.slice(2), transform);\n this.minX = Math.min(this.minX, p1[0], p2[0]);\n this.minY = Math.min(this.minY, p1[1], p2[1]);\n this.maxX = Math.max(this.maxX, p1[0], p2[0]);\n this.maxY = Math.max(this.maxY, p1[1], p2[1]);\n }\n updateScalingPathMinMax(transform, minMax) {\n _util.Util.scaleMinMax(transform, minMax);\n this.minX = Math.min(this.minX, minMax[0]);\n this.maxX = Math.max(this.maxX, minMax[1]);\n this.minY = Math.min(this.minY, minMax[2]);\n this.maxY = Math.max(this.maxY, minMax[3]);\n }\n updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) {\n const box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3);\n if (minMax) {\n minMax[0] = Math.min(minMax[0], box[0], box[2]);\n minMax[1] = Math.max(minMax[1], box[0], box[2]);\n minMax[2] = Math.min(minMax[2], box[1], box[3]);\n minMax[3] = Math.max(minMax[3], box[1], box[3]);\n return;\n }\n this.updateRectMinMax(transform, box);\n }\n getPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n const box = [this.minX, this.minY, this.maxX, this.maxY];\n if (pathType === _pattern_helper.PathType.STROKE) {\n if (!transform) {\n (0, _util.unreachable)(\"Stroke bounding box must include transform.\");\n }\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n const xStrokePad = scale[0] * this.lineWidth / 2;\n const yStrokePad = scale[1] * this.lineWidth / 2;\n box[0] -= xStrokePad;\n box[1] -= yStrokePad;\n box[2] += xStrokePad;\n box[3] += yStrokePad;\n }\n return box;\n }\n updateClipFromPath() {\n const intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox());\n this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]);\n }\n isEmptyClip() {\n return this.minX === Infinity;\n }\n startNewPathAndClipBox(box) {\n this.clipBox = box;\n this.minX = Infinity;\n this.minY = Infinity;\n this.maxX = 0;\n this.maxY = 0;\n }\n getClippedPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform));\n }\n}\nfunction putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0,\n destPos;\n const src = imgData.data;\n const dest = chunkImgData.data;\n let i, j, thisChunkHeight, elemsInThisChunk;\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n const srcLength = src.byteLength;\n const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n const dest32DataLength = dest32.length;\n const fullSrcDiff = width + 7 >> 3;\n const white = 0xffffffff;\n const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n for (j = 0; j < thisChunkHeight; j++) {\n const srcDiff = srcLength - srcPos;\n let k = 0;\n const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n const kEndUnrolled = kEnd & ~7;\n let mask = 0;\n let srcByte = 0;\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n destPos = 0;\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n}\nfunction putBinaryImageMask(ctx, imgData) {\n if (imgData.bitmap) {\n ctx.drawImage(imgData.bitmap, 0, 0);\n return;\n }\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0;\n const src = imgData.data;\n const dest = chunkImgData.data;\n for (let i = 0; i < totalChunks; i++) {\n const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n ({\n srcPos\n } = (0, _image_utils.convertBlackAndWhiteToRGBA)({\n src,\n srcPos,\n dest,\n width,\n height: thisChunkHeight,\n nonBlackColor: 0\n }));\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n}\nfunction copyCtxState(sourceCtx, destCtx) {\n const properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\", \"filter\"];\n for (const property of properties) {\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n}\nfunction resetCtxToDefault(ctx) {\n ctx.strokeStyle = ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n if (!_util.isNodeJS) {\n const {\n filter\n } = ctx;\n if (filter !== \"none\" && filter !== \"\") {\n ctx.filter = \"none\";\n }\n }\n}\nfunction composeSMaskBackdrop(bytes, r0, g0, b0) {\n const length = bytes.length;\n for (let i = 3; i < length; i += 4) {\n const alpha = bytes[i];\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n const alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n}\nfunction composeSMaskAlpha(maskData, layerData, transferMap) {\n const length = maskData.length;\n const scale = 1 / 255;\n for (let i = 3; i < length; i += 4) {\n const alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n}\nfunction composeSMaskLuminosity(maskData, layerData, transferMap) {\n const length = maskData.length;\n for (let i = 3; i < length; i += 4) {\n const y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n}\nfunction genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) {\n const hasBackdrop = !!backdrop;\n const r0 = hasBackdrop ? backdrop[0] : 0;\n const g0 = hasBackdrop ? backdrop[1] : 0;\n const b0 = hasBackdrop ? backdrop[2] : 0;\n const composeFn = subtype === \"Luminosity\" ? composeSMaskLuminosity : composeSMaskAlpha;\n const PIXELS_TO_PROCESS = 1048576;\n const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n for (let row = 0; row < height; row += chunkSize) {\n const chunkHeight = Math.min(chunkSize, height - row);\n const maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight);\n const layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight);\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n composeFn(maskData.data, layerData.data, transferMap);\n layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY);\n }\n}\nfunction composeSMask(ctx, smask, layerCtx, layerBox) {\n const layerOffsetX = layerBox[0];\n const layerOffsetY = layerBox[1];\n const layerWidth = layerBox[2] - layerOffsetX;\n const layerHeight = layerBox[3] - layerOffsetY;\n if (layerWidth === 0 || layerHeight === 0) {\n return;\n }\n genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY);\n ctx.save();\n ctx.globalAlpha = 1;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(layerCtx.canvas, 0, 0);\n ctx.restore();\n}\nfunction getImageSmoothingEnabled(transform, interpolate) {\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n scale[0] = Math.fround(scale[0]);\n scale[1] = Math.fround(scale[1]);\n const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n if (interpolate !== undefined) {\n return interpolate;\n } else if (scale[0] <= actualScale || scale[1] <= actualScale) {\n return true;\n }\n return false;\n}\nconst LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nconst LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nconst NORMAL_CLIP = {};\nconst EO_CLIP = {};\nclass CanvasGraphics {\n constructor(canvasCtx, commonObjs, objs, canvasFactory, filterFactory, {\n optionalContentConfig,\n markedContentStack = null\n }, annotationCanvasMap, pageColors) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.filterFactory = filterFactory;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.suspendedCtx = null;\n this.contentVisible = true;\n this.markedContentStack = markedContentStack || [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n this.cachedPatterns = new Map();\n this.annotationCanvasMap = annotationCanvasMap;\n this.viewportScale = 1;\n this.outputScaleX = 1;\n this.outputScaleY = 1;\n this.pageColors = pageColors;\n this._cachedScaleForStroking = [-1, 0];\n this._cachedGetSinglePixelWidth = null;\n this._cachedBitmapsMap = new Map();\n }\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n return fallback;\n }\n beginDrawing({\n transform,\n viewport,\n transparency = false,\n background = null\n }) {\n const width = this.ctx.canvas.width;\n const height = this.ctx.canvas.height;\n const savedFillStyle = this.ctx.fillStyle;\n this.ctx.fillStyle = background || \"#ffffff\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.fillStyle = savedFillStyle;\n if (transparency) {\n const transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform(...(0, _display_utils.getCurrentTransform)(this.compositeCtx));\n }\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform(...transform);\n this.outputScaleX = transform[0];\n this.outputScaleY = transform[0];\n }\n this.ctx.transform(...viewport.transform);\n this.viewportScale = viewport.scale;\n this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx);\n }\n executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n let i = executionStartIdx || 0;\n const argsArrayLen = argsArray.length;\n if (argsArrayLen === i) {\n return i;\n }\n const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n let steps = 0;\n const commonObjs = this.commonObjs;\n const objs = this.objs;\n let fnId;\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n fnId = fnArray[i];\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n i++;\n if (i === argsArrayLen) {\n return i;\n }\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n }\n }\n #restoreInitialState() {\n while (this.stateStack.length || this.inSMaskMode) {\n this.restore();\n }\n this.ctx.restore();\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n }\n endDrawing() {\n this.#restoreInitialState();\n this.cachedCanvases.clear();\n this.cachedPatterns.clear();\n for (const cache of this._cachedBitmapsMap.values()) {\n for (const canvas of cache.values()) {\n if (typeof HTMLCanvasElement !== \"undefined\" && canvas instanceof HTMLCanvasElement) {\n canvas.width = canvas.height = 0;\n }\n }\n cache.clear();\n }\n this._cachedBitmapsMap.clear();\n this.#drawFilter();\n }\n #drawFilter() {\n if (this.pageColors) {\n const hcmFilterId = this.filterFactory.addHCMFilter(this.pageColors.foreground, this.pageColors.background);\n if (hcmFilterId !== \"none\") {\n const savedFilter = this.ctx.filter;\n this.ctx.filter = hcmFilterId;\n this.ctx.drawImage(this.ctx.canvas, 0, 0);\n this.ctx.filter = savedFilter;\n }\n }\n }\n _scaleImage(img, inverseTransform) {\n const width = img.width;\n const height = img.height;\n let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1);\n let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1);\n let paintWidth = width,\n paintHeight = height;\n let tmpCanvasId = \"prescale1\";\n let tmpCanvas, tmpCtx;\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n let newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = paintWidth >= 16384 ? Math.floor(paintWidth / 2) - 1 || 1 : Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = paintHeight >= 16384 ? Math.floor(paintHeight / 2) - 1 || 1 : Math.ceil(paintHeight) / 2;\n heightScale /= paintHeight / newHeight;\n }\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n img = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n return {\n img,\n paintWidth,\n paintHeight\n };\n }\n _createMaskCanvas(img) {\n const ctx = this.ctx;\n const {\n width,\n height\n } = img;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n let cache, cacheKey, scaled, maskCanvas;\n if ((img.bitmap || img.data) && img.count > 1) {\n const mainKey = img.bitmap || img.data.buffer;\n cacheKey = JSON.stringify(isPatternFill ? currentTransform : [currentTransform.slice(0, 4), fillColor]);\n cache = this._cachedBitmapsMap.get(mainKey);\n if (!cache) {\n cache = new Map();\n this._cachedBitmapsMap.set(mainKey, cache);\n }\n const cachedImage = cache.get(cacheKey);\n if (cachedImage && !isPatternFill) {\n const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]);\n const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]);\n return {\n canvas: cachedImage,\n offsetX,\n offsetY\n };\n }\n scaled = cachedImage;\n }\n if (!scaled) {\n maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n putBinaryImageMask(maskCanvas.context, img);\n }\n let maskToCanvas = _util.Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]);\n maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]);\n const cord1 = _util.Util.applyTransform([0, 0], maskToCanvas);\n const cord2 = _util.Util.applyTransform([width, height], maskToCanvas);\n const rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]);\n const drawnWidth = Math.round(rect[2] - rect[0]) || 1;\n const drawnHeight = Math.round(rect[3] - rect[1]) || 1;\n const fillCanvas = this.cachedCanvases.getCanvas(\"fillCanvas\", drawnWidth, drawnHeight);\n const fillCtx = fillCanvas.context;\n const offsetX = Math.min(cord1[0], cord2[0]);\n const offsetY = Math.min(cord1[1], cord2[1]);\n fillCtx.translate(-offsetX, -offsetY);\n fillCtx.transform(...maskToCanvas);\n if (!scaled) {\n scaled = this._scaleImage(maskCanvas.canvas, (0, _display_utils.getCurrentTransformInverse)(fillCtx));\n scaled = scaled.img;\n if (cache && isPatternFill) {\n cache.set(cacheKey, scaled);\n }\n }\n fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(fillCtx), img.interpolate);\n drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height);\n fillCtx.globalCompositeOperation = \"source-in\";\n const inverse = _util.Util.transform((0, _display_utils.getCurrentTransformInverse)(fillCtx), [1, 0, 0, 1, -offsetX, -offsetY]);\n fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor;\n fillCtx.fillRect(0, 0, width, height);\n if (cache && !isPatternFill) {\n this.cachedCanvases.delete(\"fillCanvas\");\n cache.set(cacheKey, fillCanvas.canvas);\n }\n return {\n canvas: fillCanvas.canvas,\n offsetX: Math.round(offsetX),\n offsetY: Math.round(offsetY)\n };\n }\n setLineWidth(width) {\n if (width !== this.current.lineWidth) {\n this._cachedScaleForStroking[0] = -1;\n }\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n }\n setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n }\n setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n }\n setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n }\n setDash(dashArray, dashPhase) {\n const ctx = this.ctx;\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n }\n setRenderingIntent(intent) {}\n setFlatness(flatness) {}\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n case \"CA\":\n this.current.strokeAlpha = value;\n break;\n case \"ca\":\n this.current.fillAlpha = value;\n this.ctx.globalAlpha = value;\n break;\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n case \"SMask\":\n this.current.activeSMask = value ? this.tempSMask : null;\n this.tempSMask = null;\n this.checkSMaskState();\n break;\n case \"TR\":\n this.ctx.filter = this.current.transferMaps = this.filterFactory.addFilter(value);\n break;\n }\n }\n }\n get inSMaskMode() {\n return !!this.suspendedCtx;\n }\n checkSMaskState() {\n const inSMaskMode = this.inSMaskMode;\n if (this.current.activeSMask && !inSMaskMode) {\n this.beginSMaskMode();\n } else if (!this.current.activeSMask && inSMaskMode) {\n this.endSMaskMode();\n }\n }\n beginSMaskMode() {\n if (this.inSMaskMode) {\n throw new Error(\"beginSMaskMode called while already in smask mode\");\n }\n const drawnWidth = this.ctx.canvas.width;\n const drawnHeight = this.ctx.canvas.height;\n const cacheId = \"smaskGroupAt\" + this.groupLevel;\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n this.suspendedCtx = this.ctx;\n this.ctx = scratchCanvas.context;\n const ctx = this.ctx;\n ctx.setTransform(...(0, _display_utils.getCurrentTransform)(this.suspendedCtx));\n copyCtxState(this.suspendedCtx, ctx);\n mirrorContextOperations(ctx, this.suspendedCtx);\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n }\n endSMaskMode() {\n if (!this.inSMaskMode) {\n throw new Error(\"endSMaskMode called while not in smask mode\");\n }\n this.ctx._removeMirroring();\n copyCtxState(this.ctx, this.suspendedCtx);\n this.ctx = this.suspendedCtx;\n this.suspendedCtx = null;\n }\n compose(dirtyBox) {\n if (!this.current.activeSMask) {\n return;\n }\n if (!dirtyBox) {\n dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height];\n } else {\n dirtyBox[0] = Math.floor(dirtyBox[0]);\n dirtyBox[1] = Math.floor(dirtyBox[1]);\n dirtyBox[2] = Math.ceil(dirtyBox[2]);\n dirtyBox[3] = Math.ceil(dirtyBox[3]);\n }\n const smask = this.current.activeSMask;\n const suspendedCtx = this.suspendedCtx;\n composeSMask(suspendedCtx, smask, this.ctx, dirtyBox);\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);\n this.ctx.restore();\n }\n save() {\n if (this.inSMaskMode) {\n copyCtxState(this.ctx, this.suspendedCtx);\n this.suspendedCtx.save();\n } else {\n this.ctx.save();\n }\n const old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n }\n restore() {\n if (this.stateStack.length === 0 && this.inSMaskMode) {\n this.endSMaskMode();\n }\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n if (this.inSMaskMode) {\n this.suspendedCtx.restore();\n copyCtxState(this.suspendedCtx, this.ctx);\n } else {\n this.ctx.restore();\n }\n this.checkSMaskState();\n this.pendingClip = null;\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n }\n }\n transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n }\n constructPath(ops, args, minMax) {\n const ctx = this.ctx;\n const current = this.current;\n let x = current.x,\n y = current.y;\n let startX, startY;\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0;\n const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null;\n for (let i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n ctx.moveTo(x, y);\n if (width === 0 || height === 0) {\n ctx.lineTo(xw, yh);\n } else {\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n }\n if (!isScalingMatrix) {\n current.updateRectMinMax(currentTransform, [x, y, xw, yh]);\n }\n ctx.closePath();\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n break;\n case _util.OPS.curveTo:\n startX = x;\n startY = y;\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier);\n j += 6;\n break;\n case _util.OPS.curveTo2:\n startX = x;\n startY = y;\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n startX = x;\n startY = y;\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier);\n j += 4;\n break;\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n if (isScalingMatrix) {\n current.updateScalingPathMinMax(currentTransform, minMaxForBezier);\n }\n current.setCurrentPoint(x, y);\n }\n closePath() {\n this.ctx.closePath();\n }\n stroke(consumePath = true) {\n const ctx = this.ctx;\n const strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n if (this.contentVisible) {\n if (typeof strokeColor === \"object\" && strokeColor?.getPattern) {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.STROKE);\n this.rescaleAndStroke(false);\n ctx.restore();\n } else {\n this.rescaleAndStroke(true);\n }\n }\n if (consumePath) {\n this.consumePath(this.current.getClippedPathBoundingBox());\n }\n ctx.globalAlpha = this.current.fillAlpha;\n }\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n fill(consumePath = true) {\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n let needRestore = false;\n if (isPatternFill) {\n ctx.save();\n ctx.fillStyle = fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL);\n needRestore = true;\n }\n const intersect = this.current.getClippedPathBoundingBox();\n if (this.contentVisible && intersect !== null) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n if (needRestore) {\n ctx.restore();\n }\n if (consumePath) {\n this.consumePath(intersect);\n }\n }\n eoFill() {\n this.pendingEOFill = true;\n this.fill();\n }\n fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n }\n eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n }\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n }\n endPath() {\n this.consumePath();\n }\n clip() {\n this.pendingClip = NORMAL_CLIP;\n }\n eoClip() {\n this.pendingClip = EO_CLIP;\n }\n beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n endText() {\n const paths = this.pendingTextPaths;\n const ctx = this.ctx;\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n ctx.save();\n ctx.beginPath();\n for (const path of paths) {\n ctx.setTransform(...path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n }\n setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n }\n setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n }\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n setLeading(leading) {\n this.current.leading = -leading;\n }\n setFont(fontRefName, size) {\n const fontObj = this.commonObjs.get(fontRefName);\n const current = this.current;\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n this.current.font = fontObj;\n this.current.fontSize = size;\n if (fontObj.isType3Font) {\n return;\n }\n const name = fontObj.loadedName || \"sans-serif\";\n const typeface = fontObj.systemFontInfo?.css || `\"${name}\", ${fontObj.fallbackName}`;\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n let browserFontSize = size;\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n }\n setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n }\n setTextRise(rise) {\n this.current.textRise = rise;\n }\n moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n }\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.hypot(a, b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n paintChar(character, x, y, patternTransform) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const textRenderingMode = current.textRenderingMode;\n const fontSize = current.fontSize / current.fontSizeScale;\n const fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n const isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n const patternFill = current.patternFill && !font.missingFile;\n let addToPath;\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n if (patternTransform) {\n ctx.setTransform(...patternTransform);\n }\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n if (isAddToPathSet) {\n const paths = this.pendingTextPaths ||= [];\n paths.push({\n transform: (0, _display_utils.getCurrentTransform)(ctx),\n x,\n y,\n fontSize,\n addToPath\n });\n }\n }\n get isFontSubpixelAAEnabled() {\n const {\n context: ctx\n } = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10);\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n const data = ctx.getImageData(0, 0, 10, 10).data;\n let enabled = false;\n for (let i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n }\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return undefined;\n }\n const ctx = this.ctx;\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const glyphsLength = glyphs.length;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n const simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n let patternTransform;\n if (current.patternFill) {\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL);\n patternTransform = (0, _display_utils.getCurrentTransform)(ctx);\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n let lineWidth = current.lineWidth;\n const scale = current.textMatrixScale;\n if (scale === 0 || lineWidth === 0) {\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n lineWidth = this.getSinglePixelWidth();\n }\n } else {\n lineWidth /= scale;\n }\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n ctx.lineWidth = lineWidth;\n if (font.isInvalidPDFjsFont) {\n const chars = [];\n let width = 0;\n for (const glyph of glyphs) {\n chars.push(glyph.unicode);\n width += glyph.width;\n }\n ctx.fillText(chars.join(\"\"), 0, 0);\n current.x += width * widthAdvanceScale * textHScale;\n ctx.restore();\n this.compose();\n return undefined;\n }\n let x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n const glyph = glyphs[i];\n if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n let restoreNeeded = false;\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n const accent = glyph.accent;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n const vmetric = glyph.vmetric || defaultVMetrics;\n const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (font.remeasure && width > 0) {\n const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n const characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n if (accent) {\n const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n ctx.restore();\n this.compose();\n return undefined;\n }\n showType3Text(glyphs) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n const fontDirection = current.fontDirection;\n const spacingDir = font.vertical ? 1 : -1;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const textHScale = current.textHScale * fontDirection;\n const fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n const glyphsLength = glyphs.length;\n const isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n let i, glyph, width, spacingLength;\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n if (typeof glyph === \"number\") {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const operatorList = font.charProcOperatorList[glyph.operatorListId];\n if (!operatorList) {\n (0, _util.warn)(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform(...fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n const transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n ctx.restore();\n this.processingType3 = null;\n }\n setCharWidth(xWidth, yWidth) {}\n setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.ctx.clip();\n this.endPath();\n }\n getColorN_Pattern(IR) {\n let pattern;\n if (IR[0] === \"TilingPattern\") {\n const color = IR[1];\n const baseTransform = this.baseTransform || (0, _display_utils.getCurrentTransform)(this.ctx);\n const canvasGraphicsFactory = {\n createCanvasGraphics: ctx => {\n return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {\n optionalContentConfig: this.optionalContentConfig,\n markedContentStack: this.markedContentStack\n });\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = this._getPattern(IR[1], IR[2]);\n }\n return pattern;\n }\n setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n }\n setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n }\n setStrokeRGBColor(r, g, b) {\n const color = _util.Util.makeHexColor(r, g, b);\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n }\n setFillRGBColor(r, g, b) {\n const color = _util.Util.makeHexColor(r, g, b);\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n }\n _getPattern(objId, matrix = null) {\n let pattern;\n if (this.cachedPatterns.has(objId)) {\n pattern = this.cachedPatterns.get(objId);\n } else {\n pattern = (0, _pattern_helper.getShadingPattern)(this.getObject(objId));\n this.cachedPatterns.set(objId, pattern);\n }\n if (matrix) {\n pattern.matrix = matrix;\n }\n return pattern;\n }\n shadingFill(objId) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n this.save();\n const pattern = this._getPattern(objId);\n ctx.fillStyle = pattern.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.SHADING);\n const inv = (0, _display_utils.getCurrentTransformInverse)(ctx);\n if (inv) {\n const {\n width,\n height\n } = ctx.canvas;\n const [x0, y0, x1, y1] = _util.Util.getAxialAlignedBoundingBox([0, 0, width, height], inv);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n this.compose(this.current.getClippedPathBoundingBox());\n this.restore();\n }\n beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n }\n beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n }\n paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(...matrix);\n }\n this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx);\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(this.ctx), bbox);\n this.clip();\n this.endPath();\n }\n }\n paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n }\n beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n if (this.inSMaskMode) {\n this.endSMaskMode();\n this.current.activeSMask = null;\n }\n const currentCtx = this.ctx;\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n const currentTransform = (0, _display_utils.getCurrentTransform)(currentCtx);\n if (group.matrix) {\n currentCtx.transform(...group.matrix);\n }\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n let bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, (0, _display_utils.getCurrentTransform)(currentCtx));\n const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n const offsetX = Math.floor(bounds[0]);\n const offsetY = Math.floor(bounds[1]);\n let drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n let drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n let scaleX = 1,\n scaleY = 1;\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]);\n let cacheId = \"groupAt\" + this.groupLevel;\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n const groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform(...currentTransform);\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n scaleX,\n scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n currentCtx.save();\n }\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n }\n endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.groupLevel--;\n const groupCtx = this.ctx;\n const ctx = this.groupStack.pop();\n this.ctx = ctx;\n this.ctx.imageSmoothingEnabled = false;\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n this.restore();\n } else {\n this.ctx.restore();\n const currentMtx = (0, _display_utils.getCurrentTransform)(this.ctx);\n this.restore();\n this.ctx.save();\n this.ctx.setTransform(...currentMtx);\n const dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx);\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n this.ctx.restore();\n this.compose(dirtyBox);\n }\n }\n beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) {\n this.#restoreInitialState();\n resetCtxToDefault(this.ctx);\n this.ctx.save();\n this.save();\n if (this.baseTransform) {\n this.ctx.setTransform(...this.baseTransform);\n }\n if (Array.isArray(rect) && rect.length === 4) {\n const width = rect[2] - rect[0];\n const height = rect[3] - rect[1];\n if (hasOwnCanvas && this.annotationCanvasMap) {\n transform = transform.slice();\n transform[4] -= rect[0];\n transform[5] -= rect[1];\n rect = rect.slice();\n rect[0] = rect[1] = 0;\n rect[2] = width;\n rect[3] = height;\n const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(this.ctx));\n const {\n viewportScale\n } = this;\n const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale);\n const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale);\n this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight);\n const {\n canvas,\n context\n } = this.annotationCanvas;\n this.annotationCanvasMap.set(id, canvas);\n this.annotationCanvas.savedCtx = this.ctx;\n this.ctx = context;\n this.ctx.save();\n this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY);\n resetCtxToDefault(this.ctx);\n } else {\n resetCtxToDefault(this.ctx);\n this.ctx.rect(rect[0], rect[1], width, height);\n this.ctx.clip();\n this.endPath();\n }\n }\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.transform(...transform);\n this.transform(...matrix);\n }\n endAnnotation() {\n if (this.annotationCanvas) {\n this.ctx.restore();\n this.#drawFilter();\n this.ctx = this.annotationCanvas.savedCtx;\n delete this.annotationCanvas.savedCtx;\n delete this.annotationCanvas;\n }\n }\n paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n const count = img.count;\n img = this.getObject(img.data, img);\n img.count = count;\n const ctx = this.ctx;\n const glyph = this.processingType3;\n if (glyph) {\n if (glyph.compiled === undefined) {\n glyph.compiled = compileType3Glyph(img);\n }\n if (glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n }\n const mask = this._createMaskCanvas(img);\n const maskCanvas = mask.canvas;\n ctx.save();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY);\n ctx.restore();\n this.compose();\n }\n paintImageMaskXObjectRepeat(img, scaleX, skewX = 0, skewY = 0, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n img = this.getObject(img.data, img);\n const ctx = this.ctx;\n ctx.save();\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0);\n const mask = this._createMaskCanvas(img);\n ctx.setTransform(1, 0, 0, 1, mask.offsetX - currentTransform[4], mask.offsetY - currentTransform[5]);\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n const trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]);\n const [x, y] = _util.Util.applyTransform([0, 0], trans);\n ctx.drawImage(mask.canvas, x, y);\n }\n ctx.restore();\n this.compose();\n }\n paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n for (const image of images) {\n const {\n data,\n width,\n height,\n transform\n } = image;\n const maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n const maskCtx = maskCanvas.context;\n maskCtx.save();\n const img = this.getObject(data, image);\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform(...transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n this.compose();\n }\n paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n const width = imgData.width;\n const height = imgData.height;\n const map = [];\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n this.paintInlineImageXObjectGroup(imgData, map);\n }\n applyTransferMapsToCanvas(ctx) {\n if (this.current.transferMaps !== \"none\") {\n ctx.filter = this.current.transferMaps;\n ctx.drawImage(ctx.canvas, 0, 0);\n ctx.filter = \"none\";\n }\n return ctx.canvas;\n }\n applyTransferMapsToBitmap(imgData) {\n if (this.current.transferMaps === \"none\") {\n return imgData.bitmap;\n }\n const {\n bitmap,\n width,\n height\n } = imgData;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.filter = this.current.transferMaps;\n tmpCtx.drawImage(bitmap, 0, 0);\n tmpCtx.filter = \"none\";\n return tmpCanvas.canvas;\n }\n paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n const width = imgData.width;\n const height = imgData.height;\n const ctx = this.ctx;\n this.save();\n if (!_util.isNodeJS) {\n const {\n filter\n } = ctx;\n if (filter !== \"none\" && filter !== \"\") {\n ctx.filter = \"none\";\n }\n }\n ctx.scale(1 / width, -1 / height);\n let imgToPaint;\n if (imgData.bitmap) {\n imgToPaint = this.applyTransferMapsToBitmap(imgData);\n } else if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);\n }\n const scaled = this._scaleImage(imgToPaint, (0, _display_utils.getCurrentTransformInverse)(ctx));\n ctx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(ctx), imgData.interpolate);\n drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height);\n this.compose();\n this.restore();\n }\n paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n let imgToPaint;\n if (imgData.bitmap) {\n imgToPaint = imgData.bitmap;\n } else {\n const w = imgData.width;\n const h = imgData.height;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);\n }\n for (const entry of map) {\n ctx.save();\n ctx.transform(...entry.transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, imgToPaint, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n ctx.restore();\n }\n this.compose();\n }\n paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n this.ctx.fillRect(0, 0, 1, 1);\n this.compose();\n }\n markPoint(tag) {}\n markPointProps(tag, properties) {}\n beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n }\n beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n this.contentVisible = this.isContentVisible();\n }\n endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n }\n beginCompat() {}\n endCompat() {}\n consumePath(clipBox) {\n const isEmpty = this.current.isEmptyClip();\n if (this.pendingClip) {\n this.current.updateClipFromPath();\n }\n if (!this.pendingClip) {\n this.compose(clipBox);\n }\n const ctx = this.ctx;\n if (this.pendingClip) {\n if (!isEmpty) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n }\n this.pendingClip = null;\n }\n this.current.startNewPathAndClipBox(this.current.clipBox);\n ctx.beginPath();\n }\n getSinglePixelWidth() {\n if (!this._cachedGetSinglePixelWidth) {\n const m = (0, _display_utils.getCurrentTransform)(this.ctx);\n if (m[1] === 0 && m[2] === 0) {\n this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3]));\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[2]);\n const normY = Math.hypot(m[1], m[3]);\n this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet;\n }\n }\n return this._cachedGetSinglePixelWidth;\n }\n getScaleForStroking() {\n if (this._cachedScaleForStroking[0] === -1) {\n const {\n lineWidth\n } = this.current;\n const {\n a,\n b,\n c,\n d\n } = this.ctx.getTransform();\n let scaleX, scaleY;\n if (b === 0 && c === 0) {\n const normX = Math.abs(a);\n const normY = Math.abs(d);\n if (normX === normY) {\n if (lineWidth === 0) {\n scaleX = scaleY = 1 / normX;\n } else {\n const scaledLineWidth = normX * lineWidth;\n scaleX = scaleY = scaledLineWidth < 1 ? 1 / scaledLineWidth : 1;\n }\n } else if (lineWidth === 0) {\n scaleX = 1 / normX;\n scaleY = 1 / normY;\n } else {\n const scaledXLineWidth = normX * lineWidth;\n const scaledYLineWidth = normY * lineWidth;\n scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1;\n scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1;\n }\n } else {\n const absDet = Math.abs(a * d - b * c);\n const normX = Math.hypot(a, b);\n const normY = Math.hypot(c, d);\n if (lineWidth === 0) {\n scaleX = normY / absDet;\n scaleY = normX / absDet;\n } else {\n const baseArea = lineWidth * absDet;\n scaleX = normY > baseArea ? normY / baseArea : 1;\n scaleY = normX > baseArea ? normX / baseArea : 1;\n }\n }\n this._cachedScaleForStroking[0] = scaleX;\n this._cachedScaleForStroking[1] = scaleY;\n }\n return this._cachedScaleForStroking;\n }\n rescaleAndStroke(saveRestore) {\n const {\n ctx\n } = this;\n const {\n lineWidth\n } = this.current;\n const [scaleX, scaleY] = this.getScaleForStroking();\n ctx.lineWidth = lineWidth || 1;\n if (scaleX === 1 && scaleY === 1) {\n ctx.stroke();\n return;\n }\n const dashes = ctx.getLineDash();\n if (saveRestore) {\n ctx.save();\n }\n ctx.scale(scaleX, scaleY);\n if (dashes.length > 0) {\n const scale = Math.max(scaleX, scaleY);\n ctx.setLineDash(dashes.map(x => x / scale));\n ctx.lineDashOffset /= scale;\n }\n ctx.stroke();\n if (saveRestore) {\n ctx.restore();\n }\n }\n isContentVisible() {\n for (let i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n return true;\n }\n}\nexports.CanvasGraphics = CanvasGraphics;\nfor (const op in _util.OPS) {\n if (CanvasGraphics.prototype[op] !== undefined) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n}\n\n/***/ }),\n/* 12 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TilingPattern = exports.PathType = void 0;\nexports.getShadingPattern = getShadingPattern;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nconst PathType = {\n FILL: \"Fill\",\n STROKE: \"Stroke\",\n SHADING: \"Shading\"\n};\nexports.PathType = PathType;\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox) {\n return;\n }\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\nclass BaseShadingPattern {\n constructor() {\n if (this.constructor === BaseShadingPattern) {\n (0, _util.unreachable)(\"Cannot initialize BaseShadingPattern.\");\n }\n }\n getPattern() {\n (0, _util.unreachable)(\"Abstract method `getPattern` called.\");\n }\n}\nclass RadialAxialShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._type = IR[1];\n this._bbox = IR[2];\n this._colorStops = IR[3];\n this._p0 = IR[4];\n this._p1 = IR[5];\n this._r0 = IR[6];\n this._r1 = IR[7];\n this.matrix = null;\n }\n _createGradient(ctx) {\n let grad;\n if (this._type === \"axial\") {\n grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]);\n } else if (this._type === \"radial\") {\n grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1);\n }\n for (const colorStop of this._colorStops) {\n grad.addColorStop(colorStop[0], colorStop[1]);\n }\n return grad;\n }\n getPattern(ctx, owner, inverse, pathType) {\n let pattern;\n if (pathType === PathType.STROKE || pathType === PathType.FILL) {\n const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, (0, _display_utils.getCurrentTransform)(ctx)) || [0, 0, 0, 0];\n const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1;\n const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1;\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", width, height, true);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.beginPath();\n tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]);\n inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]);\n tmpCtx.transform(...owner.baseTransform);\n if (this.matrix) {\n tmpCtx.transform(...this.matrix);\n }\n applyBoundingBox(tmpCtx, this._bbox);\n tmpCtx.fillStyle = this._createGradient(tmpCtx);\n tmpCtx.fill();\n pattern = ctx.createPattern(tmpCanvas.canvas, \"no-repeat\");\n const domMatrix = new DOMMatrix(inverse);\n pattern.setTransform(domMatrix);\n } else {\n applyBoundingBox(ctx, this._bbox);\n pattern = this._createGradient(ctx);\n }\n return pattern;\n }\n}\nfunction drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n const coords = context.coords,\n colors = context.colors;\n const bytes = data.data,\n rowSize = data.width * 4;\n let tmp;\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n const x1 = (coords[p1] + context.offsetX) * context.scaleX;\n const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n const x2 = (coords[p2] + context.offsetX) * context.scaleX;\n const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n const x3 = (coords[p3] + context.offsetX) * context.scaleX;\n const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n if (y1 >= y3) {\n return;\n }\n const c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n const c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n const c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n const minY = Math.round(y1),\n maxY = Math.round(y3);\n let xa, car, cag, cab;\n let xb, cbr, cbg, cbb;\n for (let y = minY; y <= maxY; y++) {\n if (y < y2) {\n const k = y < y1 ? 0 : (y1 - y) / (y1 - y2);\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n let k;\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n const x1_ = Math.round(Math.min(xa, xb));\n const x2_ = Math.round(Math.max(xa, xb));\n let j = rowSize * y + x1_ * 4;\n for (let x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n}\nfunction drawFigure(data, figure, context) {\n const ps = figure.coords;\n const cs = figure.colors;\n let i, ii;\n switch (figure.type) {\n case \"lattice\":\n const verticesPerRow = figure.verticesPerRow;\n const rows = Math.floor(ps.length / verticesPerRow) - 1;\n const cols = verticesPerRow - 1;\n for (i = 0; i < rows; i++) {\n let q = i * verticesPerRow;\n for (let j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n break;\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n break;\n default:\n throw new Error(\"illegal figure\");\n }\n}\nclass MeshShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._coords = IR[2];\n this._colors = IR[3];\n this._figures = IR[4];\n this._bounds = IR[5];\n this._bbox = IR[7];\n this._background = IR[8];\n this.matrix = null;\n }\n _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) {\n const EXPECTED_SCALE = 1.1;\n const MAX_PATTERN_SIZE = 3000;\n const BORDER_SIZE = 2;\n const offsetX = Math.floor(this._bounds[0]);\n const offsetY = Math.floor(this._bounds[1]);\n const boundsWidth = Math.ceil(this._bounds[2]) - offsetX;\n const boundsHeight = Math.ceil(this._bounds[3]) - offsetY;\n const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const scaleX = boundsWidth / width;\n const scaleY = boundsHeight / height;\n const context = {\n coords: this._coords,\n colors: this._colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n const paddedWidth = width + BORDER_SIZE * 2;\n const paddedHeight = height + BORDER_SIZE * 2;\n const tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n const tmpCtx = tmpCanvas.context;\n const data = tmpCtx.createImageData(width, height);\n if (backgroundColor) {\n const bytes = data.data;\n for (let i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n for (const figure of this._figures) {\n drawFigure(data, figure, context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n const canvas = tmpCanvas.canvas;\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY\n };\n }\n getPattern(ctx, owner, inverse, pathType) {\n applyBoundingBox(ctx, this._bbox);\n let scale;\n if (pathType === PathType.SHADING) {\n scale = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(ctx));\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n if (this.matrix) {\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases);\n if (pathType !== PathType.SHADING) {\n ctx.setTransform(...owner.baseTransform);\n if (this.matrix) {\n ctx.transform(...this.matrix);\n }\n }\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n}\nclass DummyShadingPattern extends BaseShadingPattern {\n getPattern() {\n return \"hotpink\";\n }\n}\nfunction getShadingPattern(IR) {\n switch (IR[0]) {\n case \"RadialAxial\":\n return new RadialAxialShadingPattern(IR);\n case \"Mesh\":\n return new MeshShadingPattern(IR);\n case \"Dummy\":\n return new DummyShadingPattern();\n }\n throw new Error(`Unknown IR type: ${IR[0]}`);\n}\nconst PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n};\nclass TilingPattern {\n static MAX_PATTERN_SIZE = 3000;\n constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.ctx = ctx;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n }\n createPatternCanvas(owner) {\n const operatorList = this.operatorList;\n const bbox = this.bbox;\n const xstep = this.xstep;\n const ystep = this.ystep;\n const paintType = this.paintType;\n const tilingType = this.tilingType;\n const color = this.color;\n const canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n const x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n const curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n const combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n const dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n const dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n const tmpCtx = tmpCanvas.context;\n const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n let adjustedX0 = x0;\n let adjustedY0 = y0;\n let adjustedX1 = x1;\n let adjustedY1 = y1;\n if (x0 < 0) {\n adjustedX0 = 0;\n adjustedX1 += Math.abs(x0);\n }\n if (y0 < 0) {\n adjustedY0 = 0;\n adjustedY1 += Math.abs(y0);\n }\n tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0));\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n tmpCtx.save();\n this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1);\n graphics.baseTransform = (0, _display_utils.getCurrentTransform)(graphics.ctx);\n graphics.executeOperatorList(operatorList);\n graphics.endDrawing();\n return {\n canvas: tmpCanvas.canvas,\n scaleX: dimx.scale,\n scaleY: dimy.scale,\n offsetX: adjustedX0,\n offsetY: adjustedY0\n };\n }\n getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize);\n let size = Math.ceil(step * scale);\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n return {\n scale,\n size\n };\n }\n clipBbox(graphics, x0, y0, x1, y1) {\n const bboxWidth = x1 - x0;\n const bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(graphics.ctx), [x0, y0, x1, y1]);\n graphics.clip();\n graphics.endPath();\n }\n setFillAndStrokeStyleToContext(graphics, paintType, color) {\n const context = graphics.ctx,\n current = graphics.current;\n switch (paintType) {\n case PaintType.COLORED:\n const ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n case PaintType.UNCOLORED:\n const cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n default:\n throw new _util.FormatError(`Unsupported paint type: ${paintType}`);\n }\n }\n getPattern(ctx, owner, inverse, pathType) {\n let matrix = inverse;\n if (pathType !== PathType.SHADING) {\n matrix = _util.Util.transform(matrix, owner.baseTransform);\n if (this.matrix) {\n matrix = _util.Util.transform(matrix, this.matrix);\n }\n }\n const temporaryPatternCanvas = this.createPatternCanvas(owner);\n let domMatrix = new DOMMatrix(matrix);\n domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY);\n const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, \"repeat\");\n pattern.setTransform(domMatrix);\n return pattern;\n }\n}\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.convertBlackAndWhiteToRGBA = convertBlackAndWhiteToRGBA;\nexports.convertToRGBA = convertToRGBA;\nexports.grayToRGBA = grayToRGBA;\nvar _util = __w_pdfjs_require__(1);\nfunction convertToRGBA(params) {\n switch (params.kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n return convertBlackAndWhiteToRGBA(params);\n case _util.ImageKind.RGB_24BPP:\n return convertRGBToRGBA(params);\n }\n return null;\n}\nfunction convertBlackAndWhiteToRGBA({\n src,\n srcPos = 0,\n dest,\n width,\n height,\n nonBlackColor = 0xffffffff,\n inverseDecode = false\n}) {\n const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n const [zeroMapping, oneMapping] = inverseDecode ? [nonBlackColor, black] : [black, nonBlackColor];\n const widthInSource = width >> 3;\n const widthRemainder = width & 7;\n const srcLength = src.length;\n dest = new Uint32Array(dest.buffer);\n let destPos = 0;\n for (let i = 0; i < height; i++) {\n for (const max = srcPos + widthInSource; srcPos < max; srcPos++) {\n const elem = srcPos < srcLength ? src[srcPos] : 255;\n dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping;\n }\n if (widthRemainder === 0) {\n continue;\n }\n const elem = srcPos < srcLength ? src[srcPos++] : 255;\n for (let j = 0; j < widthRemainder; j++) {\n dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction convertRGBToRGBA({\n src,\n srcPos = 0,\n dest,\n destPos = 0,\n width,\n height\n}) {\n let i = 0;\n const len32 = src.length >> 2;\n const src32 = new Uint32Array(src.buffer, srcPos, len32);\n if (_util.FeatureTest.isLittleEndian) {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff000000;\n dest[destPos + 1] = s1 >>> 24 | s2 << 8 | 0xff000000;\n dest[destPos + 2] = s2 >>> 16 | s3 << 16 | 0xff000000;\n dest[destPos + 3] = s3 >>> 8 | 0xff000000;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] | src[j + 1] << 8 | src[j + 2] << 16 | 0xff000000;\n }\n } else {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff;\n dest[destPos + 1] = s1 << 24 | s2 >>> 8 | 0xff;\n dest[destPos + 2] = s2 << 16 | s3 >>> 16 | 0xff;\n dest[destPos + 3] = s3 << 8 | 0xff;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] << 24 | src[j + 1] << 16 | src[j + 2] << 8 | 0xff;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction grayToRGBA(src, dest) {\n if (_util.FeatureTest.isLittleEndian) {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x10101 | 0xff000000;\n }\n } else {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x1010100 | 0x000000ff;\n }\n }\n}\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GlobalWorkerOptions = void 0;\nconst GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = null;\nGlobalWorkerOptions.workerSrc = \"\";\n\n/***/ }),\n/* 15 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MessageHandler = void 0;\nvar _util = __w_pdfjs_require__(1);\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\nfunction wrapReason(reason) {\n if (!(reason instanceof Error || typeof reason === \"object\" && reason !== null)) {\n (0, _util.unreachable)('wrapReason: Expected \"reason\" to be a (possibly cloned) Error.');\n }\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n case \"PasswordException\":\n return new _util.PasswordException(reason.message, reason.code);\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n this._onComObjOnMessage = event => {\n const data = event.data;\n if (data.targetName !== this.sourceName) {\n return;\n }\n if (data.stream) {\n this.#processStreamMessage(data);\n return;\n }\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n delete this.callbackCapabilities[callbackId];\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n return;\n }\n const action = this.actionHandler[data.action];\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n if (data.streamId) {\n this.#createStreamSink(data);\n return;\n }\n action(data.data);\n };\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n on(actionName, handler) {\n const ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n ah[actionName] = handler;\n }\n send(actionName, data, transfers) {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = new _util.PromiseCapability();\n this.callbackCapabilities[callbackId] = capability;\n try {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n return capability.promise;\n }\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++,\n sourceName = this.sourceName,\n targetName = this.targetName,\n comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = new _util.PromiseCapability();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n comObj.postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = new _util.PromiseCapability();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = new _util.PromiseCapability();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n #createStreamSink(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const self = this,\n action = this.actionHandler[data.action];\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = new _util.PromiseCapability();\n this.ready = this.sinkCapability.promise;\n }\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: new _util.PromiseCapability(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n #processStreamMessage(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const streamController = this.streamControllers[streamId],\n streamSink = this.streamSinks[streamId];\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n streamController.startCall.resolve();\n } else {\n streamController.startCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n streamController.pullCall.resolve();\n } else {\n streamController.pullCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL:\n if (!streamSink) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {\n streamSink.sinkCapability.resolve();\n }\n streamSink.desiredSize = data.desiredSize;\n new Promise(function (resolve) {\n resolve(streamSink.onPull?.());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n case StreamKind.ENQUEUE:\n (0, _util.assert)(streamController, \"enqueue should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.controller.enqueue(data.chunk);\n break;\n case StreamKind.CLOSE:\n (0, _util.assert)(streamController, \"close should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.isClosed = true;\n streamController.controller.close();\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.ERROR:\n (0, _util.assert)(streamController, \"error should have stream controller\");\n streamController.controller.error(wrapReason(data.reason));\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n streamController.cancelCall.resolve();\n } else {\n streamController.cancelCall.reject(wrapReason(data.reason));\n }\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL:\n if (!streamSink) {\n break;\n }\n new Promise(function (resolve) {\n resolve(streamSink.onCancel?.(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n streamSink.sinkCapability.reject(wrapReason(data.reason));\n streamSink.isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n async #deleteStreamController(streamController, streamId) {\n await Promise.allSettled([streamController.startCall?.promise, streamController.pullCall?.promise, streamController.cancelCall?.promise]);\n delete this.streamControllers[streamId];\n }\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n}\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 16 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Metadata = void 0;\nvar _util = __w_pdfjs_require__(1);\nclass Metadata {\n #metadataMap;\n #data;\n constructor({\n parsedData,\n rawData\n }) {\n this.#metadataMap = parsedData;\n this.#data = rawData;\n }\n getRaw() {\n return this.#data;\n }\n get(name) {\n return this.#metadataMap.get(name) ?? null;\n }\n getAll() {\n return (0, _util.objectFromMap)(this.#metadataMap);\n }\n has(name) {\n return this.#metadataMap.has(name);\n }\n}\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 17 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OptionalContentConfig = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _murmurhash = __w_pdfjs_require__(8);\nconst INTERNAL = Symbol(\"INTERNAL\");\nclass OptionalContentGroup {\n #visible = true;\n constructor(name, intent) {\n this.name = name;\n this.intent = intent;\n }\n get visible() {\n return this.#visible;\n }\n _setVisible(internal, visible) {\n if (internal !== INTERNAL) {\n (0, _util.unreachable)(\"Internal method `_setVisible` called.\");\n }\n this.#visible = visible;\n }\n}\nclass OptionalContentConfig {\n #cachedGetHash = null;\n #groups = new Map();\n #initialHash = null;\n #order = null;\n constructor(data) {\n this.name = null;\n this.creator = null;\n if (data === null) {\n return;\n }\n this.name = data.name;\n this.creator = data.creator;\n this.#order = data.order;\n for (const group of data.groups) {\n this.#groups.set(group.id, new OptionalContentGroup(group.name, group.intent));\n }\n if (data.baseState === \"OFF\") {\n for (const group of this.#groups.values()) {\n group._setVisible(INTERNAL, false);\n }\n }\n for (const on of data.on) {\n this.#groups.get(on)._setVisible(INTERNAL, true);\n }\n for (const off of data.off) {\n this.#groups.get(off)._setVisible(INTERNAL, false);\n }\n this.#initialHash = this.getHash();\n }\n #evaluateVisibilityExpression(array) {\n const length = array.length;\n if (length < 2) {\n return true;\n }\n const operator = array[0];\n for (let i = 1; i < length; i++) {\n const element = array[i];\n let state;\n if (Array.isArray(element)) {\n state = this.#evaluateVisibilityExpression(element);\n } else if (this.#groups.has(element)) {\n state = this.#groups.get(element).visible;\n } else {\n (0, _util.warn)(`Optional content group not found: ${element}`);\n return true;\n }\n switch (operator) {\n case \"And\":\n if (!state) {\n return false;\n }\n break;\n case \"Or\":\n if (state) {\n return true;\n }\n break;\n case \"Not\":\n return !state;\n default:\n return true;\n }\n }\n return operator === \"And\";\n }\n isVisible(group) {\n if (this.#groups.size === 0) {\n return true;\n }\n if (!group) {\n (0, _util.warn)(\"Optional content group not defined.\");\n return true;\n }\n if (group.type === \"OCG\") {\n if (!this.#groups.has(group.id)) {\n (0, _util.warn)(`Optional content group not found: ${group.id}`);\n return true;\n }\n return this.#groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n return this.#evaluateVisibilityExpression(group.expression);\n }\n if (!group.policy || group.policy === \"AnyOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (this.#groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (!this.#groups.get(id).visible) {\n return false;\n }\n }\n return true;\n } else if (group.policy === \"AnyOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (!this.#groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (this.#groups.get(id).visible) {\n return false;\n }\n }\n return true;\n }\n (0, _util.warn)(`Unknown optional content policy ${group.policy}.`);\n return true;\n }\n (0, _util.warn)(`Unknown group type ${group.type}.`);\n return true;\n }\n setVisibility(id, visible = true) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return;\n }\n this.#groups.get(id)._setVisible(INTERNAL, !!visible);\n this.#cachedGetHash = null;\n }\n get hasInitialVisibility() {\n return this.#initialHash === null || this.getHash() === this.#initialHash;\n }\n getOrder() {\n if (!this.#groups.size) {\n return null;\n }\n if (this.#order) {\n return this.#order.slice();\n }\n return [...this.#groups.keys()];\n }\n getGroups() {\n return this.#groups.size > 0 ? (0, _util.objectFromMap)(this.#groups) : null;\n }\n getGroup(id) {\n return this.#groups.get(id) || null;\n }\n getHash() {\n if (this.#cachedGetHash !== null) {\n return this.#cachedGetHash;\n }\n const hash = new _murmurhash.MurmurHash3_64();\n for (const [id, group] of this.#groups) {\n hash.update(`${id}:${group.visible}`);\n }\n return this.#cachedGetHash = hash.hexdigest();\n }\n}\nexports.OptionalContentConfig = OptionalContentConfig;\n\n/***/ }),\n/* 18 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFDataTransportStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nclass PDFDataTransportStream {\n constructor({\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null,\n disableRange = false,\n disableStream = false\n }, pdfDataRangeTransport) {\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = progressiveDone;\n this._contentDispositionFilename = contentDispositionFilename;\n if (initialData?.length > 0) {\n const buffer = initialData instanceof Uint8Array && initialData.byteLength === initialData.buffer.byteLength ? initialData.buffer : new Uint8Array(initialData).buffer;\n this._queuedChunks.push(buffer);\n }\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !disableStream;\n this._isRangeSupported = !disableRange;\n this._contentLength = length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({\n begin,\n chunk\n });\n });\n this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({\n loaded,\n total\n });\n });\n this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({\n chunk\n });\n });\n this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n this._pdfDataRangeTransport.transportReady();\n }\n _onReceiveData({\n begin,\n chunk\n }) {\n const buffer = chunk instanceof Uint8Array && chunk.byteLength === chunk.buffer.byteLength ? chunk.buffer : new Uint8Array(chunk).buffer;\n if (begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== begin) {\n return false;\n }\n rangeReader._enqueue(buffer);\n return true;\n });\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n _onProgress(evt) {\n if (evt.total === undefined) {\n this._rangeReaders[0]?.onProgress?.({\n loaded: evt.loaded\n });\n } else {\n this._fullRequestReader?.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n _onProgressiveDone() {\n this._fullRequestReader?.progressiveDone();\n this._progressiveDone = true;\n }\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename);\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeReaders.slice(0)) {\n reader.cancel(reason);\n }\n this._pdfDataRangeTransport.abort();\n }\n}\nexports.PDFDataTransportStream = PDFDataTransportStream;\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks, progressiveDone = false, contentDispositionFilename = null) {\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n this._loaded += chunk.byteLength;\n }\n get headersReady() {\n return this._headersReady;\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n get contentLength() {\n return this._stream._contentLength;\n }\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n progressiveDone() {\n if (this._done) {\n return;\n }\n this._done = true;\n }\n}\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n this._stream._removeRangeReader(this);\n }\n}\n\n/***/ }),\n/* 19 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFetchStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(20);\n;\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\nfunction createHeaders(httpHeaders) {\n const headers = new Headers();\n for (const property in httpHeaders) {\n const value = httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n headers.append(property, value);\n }\n return headers;\n}\nfunction getArrayBuffer(val) {\n if (val instanceof Uint8Array) {\n return val.buffer;\n }\n if (val instanceof ArrayBuffer) {\n return val;\n }\n (0, _util.warn)(`getArrayBuffer - unexpected data format: ${val}`);\n return new Uint8Array(val).buffer;\n}\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFFetchStream = PDFFetchStream;\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = new _util.PromiseCapability();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._abortController = new AbortController();\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n this._reader = response.body.getReader();\n this._headersCapability.resolve();\n const getResponseHeader = name => {\n return response.headers.get(name);\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._headersCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n this.onProgress?.({\n loaded: this._loaded,\n total: this._contentLength\n });\n return {\n value: getArrayBuffer(value),\n done: false\n };\n }\n cancel(reason) {\n this._reader?.cancel(reason);\n this._abortController.abort();\n }\n}\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = new _util.PromiseCapability();\n this._isStreamingSupported = !source.disableStream;\n this._abortController = new AbortController();\n this._headers = createHeaders(this._stream.httpHeaders);\n this._headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n this._readCapability.resolve();\n this._reader = response.body.getReader();\n }).catch(this._readCapability.reject);\n this.onProgress = null;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n this.onProgress?.({\n loaded: this._loaded\n });\n return {\n value: getArrayBuffer(value),\n done: false\n };\n }\n cancel(reason) {\n this._reader?.cancel(reason);\n this._abortController.abort();\n }\n}\n\n/***/ }),\n/* 20 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\nvar _util = __w_pdfjs_require__(1);\nvar _content_disposition = __w_pdfjs_require__(21);\nvar _display_utils = __w_pdfjs_require__(6);\nfunction validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp,\n rangeChunkSize,\n disableRange\n}) {\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n returnValues.suggestedLength = length;\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\nfunction extractFilenameFromHeader(getResponseHeader) {\n const contentDisposition = getResponseHeader(\"Content-Disposition\");\n if (contentDisposition) {\n let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch {}\n }\n if ((0, _display_utils.isPdfFile)(filename)) {\n return filename;\n }\n }\n return null;\n}\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n return new _util.UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF \"${url}\".`, status);\n}\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 21 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\nvar _util = __w_pdfjs_require__(1);\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n tmp = rfc2231getparam(contentDisposition);\n if (tmp) {\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = (0, _util.stringToBytes)(value);\n value = decoder.decode(buffer);\n needsEncodingFixup = false;\n } catch {}\n }\n return value;\n }\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n return value;\n }\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match;\n n = parseInt(n, 10);\n if (n in matches) {\n if (n === 0) {\n break;\n }\n continue;\n }\n matches[n] = [quot, part];\n }\n const parts = [];\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n let [quot, part] = matches[n];\n part = rfc2616unquote(part);\n if (quot) {\n part = unescape(part);\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n parts.push(part);\n }\n return parts.join(\"\");\n }\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n parts[i] = parts[i].replaceAll(/\\\\(.)/g, \"$1\");\n }\n value = parts.join('\"');\n }\n return value;\n }\n function rfc5987decode(extvalue) {\n const encodingend = extvalue.indexOf(\"'\");\n if (encodingend === -1) {\n return extvalue;\n }\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n return value.replaceAll(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replaceAll(\"_\", \" \");\n text = text.replaceAll(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n try {\n text = atob(text);\n } catch {}\n return textdecode(charset, text);\n });\n }\n return \"\";\n}\n\n/***/ }),\n/* 22 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNetworkStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(20);\n;\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\nfunction getArrayBuffer(xhr) {\n const data = xhr.response;\n if (typeof data !== \"string\") {\n return data;\n }\n return (0, _util.stringToBytes)(data).buffer;\n}\nclass NetworkManager {\n constructor(url, args = {}) {\n this.url = url;\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null);\n this.withCredentials = args.withCredentials || false;\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end\n };\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n }\n requestFull(listeners) {\n return this.request(listeners);\n }\n request(args) {\n const xhr = new XMLHttpRequest();\n const xhrId = this.currXhrId++;\n const pendingRequest = this.pendingRequests[xhrId] = {\n xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n for (const property in this.httpHeaders) {\n const value = this.httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n xhr.setRequestHeader(property, value);\n }\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n xhr.responseType = \"arraybuffer\";\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n pendingRequest.onProgress?.(evt);\n }\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n const xhr = pendingRequest.xhr;\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n if (xhr.readyState !== 4) {\n return;\n }\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n delete this.pendingRequests[xhrId];\n if (xhr.status === 0 && this.isHttp) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n const xhrStatus = xhr.status || OK_RESPONSE;\n const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n const chunk = getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk\n });\n } else {\n pendingRequest.onError?.(xhr.status);\n }\n }\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n}\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFNetworkStream = PDFNetworkStream;\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = new _util.PromiseCapability();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n const getResponseHeader = name => {\n return fullRequestXhr.getResponseHeader(name);\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n this._headersReceivedCapability.resolve();\n }\n _onDone(data) {\n if (data) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: data.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(data.chunk);\n }\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n this._headersReceivedCapability.reject(this._storedError);\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n this._requests.length = 0;\n this._cachedChunks.length = 0;\n }\n _onProgress(evt) {\n this.onProgress?.({\n loaded: evt.loaded,\n total: evt.lengthComputable ? evt.total : this._contentLength\n });\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n get contentLength() {\n return this._contentLength;\n }\n get headersReady() {\n return this._headersReceivedCapability.promise;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n this._headersReceivedCapability.reject(reason);\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n}\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = manager.url;\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this._storedError = undefined;\n this.onProgress = null;\n this.onClosed = null;\n }\n _close() {\n this.onClosed?.(this);\n }\n _onDone(data) {\n const chunk = data.chunk;\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n this._close();\n }\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n this._requests.length = 0;\n this._queuedChunk = null;\n }\n _onProgress(evt) {\n if (!this.isStreamingSupported) {\n this.onProgress?.({\n loaded: evt.loaded\n });\n }\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n}\n\n/***/ }),\n/* 23 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNodeStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(20);\n;\nconst fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\nfunction parseUrl(sourceUrl) {\n const url = require(\"url\");\n const parsedUrl = url.parse(sourceUrl);\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(`file:///${sourceUrl}`);\n }\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n return parsedUrl;\n}\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFNodeStream = PDFNodeStream;\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = new _util.PromiseCapability();\n this._headersCapability = new _util.PromiseCapability();\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = new _util.PromiseCapability();\n return this.read();\n }\n this._loaded += chunk.length;\n this.onProgress?.({\n loaded: this._loaded,\n total: this._contentLength\n });\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\nclass BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = new _util.PromiseCapability();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = new _util.PromiseCapability();\n return this.read();\n }\n this._loaded += chunk.length;\n this.onProgress?.({\n loaded: this._loaded\n });\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers\n };\n}\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._headersCapability.resolve();\n this._setReadableStream(response);\n const getResponseHeader = name => {\n return this._readableStream.headers[name.toLowerCase()];\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n this._request = null;\n if (this._url.protocol === \"http:\") {\n const http = require(\"http\");\n this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n } else {\n const https = require(\"https\");\n this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n }\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n this._headersCapability.reject(reason);\n });\n this._request.end();\n }\n}\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n this._httpHeaders = {};\n for (const property in stream.httpHeaders) {\n const value = stream.httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n this._httpHeaders[property] = value;\n }\n this._httpHeaders.Range = `bytes=${start}-${end - 1}`;\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n this._setReadableStream(response);\n };\n this._request = null;\n if (this._url.protocol === \"http:\") {\n const http = require(\"http\");\n this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n } else {\n const https = require(\"https\");\n this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n }\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n this._request.end();\n }\n}\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n const fs = require(\"fs\");\n fs.lstat(path, (error, stat) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(`Missing PDF \"${path}\".`);\n }\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._contentLength = stat.size;\n this._setReadableStream(fs.createReadStream(path));\n this._headersCapability.resolve();\n });\n }\n}\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n const fs = require(\"fs\");\n this._setReadableStream(fs.createReadStream(path, {\n start,\n end: end - 1\n }));\n }\n}\n\n/***/ }),\n/* 24 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SVGGraphics = void 0;\nvar _display_utils = __w_pdfjs_require__(6);\nvar _util = __w_pdfjs_require__(1);\n;\nconst SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n};\nconst XML_NS = \"http://www.w3.org/XML/1998/namespace\";\nconst XLINK_NS = \"http://www.w3.org/1999/xlink\";\nconst LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nconst LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nconst createObjectURL = function (data, contentType = \"\", forceDataSchema = false) {\n if (URL.createObjectURL && typeof Blob !== \"undefined\" && !forceDataSchema) {\n return URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n }\n const digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n let buffer = `data:${contentType};base64,`;\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n};\nconst convertImgDataToPng = function () {\n const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n const CHUNK_WRAPPER_SIZE = 12;\n const crcTable = new Int32Array(256);\n for (let i = 0; i < 256; i++) {\n let c = i;\n for (let h = 0; h < 8; h++) {\n c = c & 1 ? 0xedb88320 ^ c >> 1 & 0x7fffffff : c >> 1 & 0x7fffffff;\n }\n crcTable[i] = c;\n }\n function crc32(data, start, end) {\n let crc = -1;\n for (let i = start; i < end; i++) {\n const a = (crc ^ data[i]) & 0xff;\n const b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n return crc ^ -1;\n }\n function writePngChunk(type, body, data, offset) {\n let p = offset;\n const len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n const crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n function adler32(data, start, end) {\n let a = 1;\n let b = 0;\n for (let i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n return b << 16 | a;\n }\n function deflateSync(literals) {\n if (!_util.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n try {\n const input = parseInt(process.versions.node) >= 8 ? literals : Buffer.from(literals);\n const output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n return deflateSyncUncompressed(literals);\n }\n function deflateSyncUncompressed(literals) {\n let len = literals.length;\n const maxBlockLength = 0xffff;\n const deflateBlocks = Math.ceil(len / maxBlockLength);\n const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n let pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n let pos = 0;\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n const adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n function encode(imgData, kind, forceDataSchema, isMask) {\n const width = imgData.width;\n const height = imgData.height;\n let bitDepth, colorType, lineSize;\n const bytes = imgData.data;\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n default:\n throw new Error(\"invalid format\");\n }\n const literals = new Uint8Array((1 + lineSize) * height);\n let offsetLiterals = 0,\n offsetBytes = 0;\n for (let y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n for (let y = 0; y < height; y++) {\n offsetLiterals++;\n for (let i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n const idat = deflateSync(literals);\n const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n const data = new Uint8Array(pngLength);\n let offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return createObjectURL(data, \"image/png\", forceDataSchema);\n }\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n}();\nclass SVGExtraState {\n constructor() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n clone() {\n return Object.create(this);\n }\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n}\nfunction opListToTree(opList) {\n let opTree = [];\n const tmp = [];\n for (const opListElement of opList) {\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree.at(-1).items;\n continue;\n }\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n return opTree;\n}\nfunction pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n const s = value.toFixed(10);\n let i = s.length - 1;\n if (s[i] !== \"0\") {\n return s;\n }\n do {\n i--;\n } while (s[i] === \"0\");\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n}\nfunction pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n return `scale(${pf(m[0])} ${pf(m[3])})`;\n }\n if (m[0] === m[3] && m[1] === -m[2]) {\n const a = Math.acos(m[0]) * 180 / Math.PI;\n return `rotate(${pf(a)})`;\n }\n } else if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return `translate(${pf(m[4])} ${pf(m[5])})`;\n }\n return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`;\n}\nlet clipCount = 0;\nlet maskCount = 0;\nlet shadingCount = 0;\nclass SVGGraphics {\n constructor(commonObjs, objs, forceDataSchema = false) {\n (0, _display_utils.deprecated)(\"The SVG back-end is no longer maintained and *may* be removed in the future.\");\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n for (const op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n return fallback;\n }\n save() {\n this.transformStack.push(this.transformMatrix);\n const old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n loadDependencies(operatorList) {\n const fnArray = operatorList.fnArray;\n const argsArray = operatorList.argsArray;\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n for (const obj of argsArray[i]) {\n const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n const promise = new Promise(resolve => {\n objsPool.get(obj, resolve);\n });\n this.current.dependencies.push(promise);\n }\n }\n return Promise.all(this.current.dependencies);\n }\n transform(a, b, c, d, e, f) {\n const transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n getSVG(operatorList, viewport) {\n this.viewport = viewport;\n const svgElement = this._initialize(viewport);\n return this.loadDependencies(operatorList).then(() => {\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.executeOpTree(this.convertOpList(operatorList));\n return svgElement;\n });\n }\n convertOpList(operatorList) {\n const operatorIdMapping = this._operatorIdMapping;\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n const opList = [];\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n const fnId = fnArray[i];\n opList.push({\n fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n return opListToTree(opList);\n }\n executeOpTree(opTree) {\n for (const opTreeElement of opTree) {\n const fn = opTreeElement.fn;\n const fnId = opTreeElement.fnId;\n const args = opTreeElement.args;\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n case _util.OPS.dependency:\n break;\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n case _util.OPS.endText:\n this.endText();\n break;\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n case _util.OPS.fill:\n this.fill();\n break;\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n case _util.OPS.stroke:\n this.stroke();\n break;\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n case _util.OPS.closePath:\n this.closePath();\n break;\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n case _util.OPS.endPath:\n this.endPath();\n break;\n case 92:\n this.group(opTreeElement.items);\n break;\n default:\n (0, _util.warn)(`Unimplemented operator ${fn}`);\n break;\n }\n }\n }\n setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n setTextMatrix(a, b, c, d, e, f) {\n const current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.hypot(a, b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.append(current.tspan);\n }\n beginText() {\n const current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n moveText(x, y) {\n const current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n let x = 0;\n for (const glyph of glyphs) {\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n let vx;\n const vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n current.tspan.textContent += character;\n } else {}\n const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n }\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n const lineWidthScale = 1 / (current.textMatrixScale || 1);\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n let textMatrix = current.textMatrix;\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n current.txtElement.setAttributeNS(null, \"transform\", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`);\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.append(current.tspan);\n current.txtgrp.append(current.txtElement);\n this._ensureTransformGroup().append(current.txtElement);\n }\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.append(this.cssStyle);\n }\n const url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += `@font-face { font-family: \"${fontObj.loadedName}\";` + ` src: url(${url}); }\\n`;\n }\n setFont(details) {\n const current = this.current;\n const fontObj = this.commonObjs.get(details[0]);\n let size = details[1];\n current.font = fontObj;\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n endText() {\n const current = this.current;\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement?.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeHexColor(r, g, b);\n }\n setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeHexColor(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n shadingFill(args) {\n const {\n width,\n height\n } = this.viewport;\n const inv = _util.Util.inverseTransform(this.transformMatrix);\n const [x0, y0, x1, y1] = _util.Util.getAxialAlignedBoundingBox([0, 0, width, height], inv);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n this._ensureTransformGroup().append(rect);\n }\n _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n return this._makeShadingPattern(args);\n }\n _makeTilingPattern(args) {\n const color = args[1];\n const operatorList = args[2];\n const matrix = args[3] || _util.IDENTITY_MATRIX;\n const [x0, y0, x1, y1] = args[4];\n const xstep = args[5];\n const ystep = args[6];\n const paintType = args[7];\n const tilingId = `shading${shadingCount++}`;\n const [tx0, ty0, tx1, ty1] = _util.Util.normalizeRect([..._util.Util.applyTransform([x0, y0], matrix), ..._util.Util.applyTransform([x1, y1], matrix)]);\n const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);\n const txstep = xstep * xscale;\n const tystep = ystep * yscale;\n const tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", `${tx0}`);\n tiling.setAttributeNS(null, \"y\", `${ty0}`);\n const svg = this.svg;\n const transformMatrix = this.transformMatrix;\n const fillColor = this.current.fillColor;\n const strokeColor = this.current.strokeColor;\n const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n if (paintType === 2) {\n const cssColor = _util.Util.makeHexColor(...color);\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.append(bbox.childNodes[0]);\n this.defs.append(tiling);\n return `url(#${tilingId})`;\n }\n _makeShadingPattern(args) {\n if (typeof args === \"string\") {\n args = this.objs.get(args);\n }\n switch (args[0]) {\n case \"RadialAxial\":\n const shadingId = `shading${shadingCount++}`;\n const colorStops = args[3];\n let gradient;\n switch (args[1]) {\n case \"axial\":\n const point0 = args[4];\n const point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n case \"radial\":\n const focalPoint = args[4];\n const circlePoint = args[5];\n const focalRadius = args[6];\n const circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n default:\n throw new Error(`Unknown RadialAxial type: ${args[1]}`);\n }\n for (const colorStop of colorStops) {\n const stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.append(stop);\n }\n this.defs.append(gradient);\n return `url(#${shadingId})`;\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n case \"Dummy\":\n return \"hotpink\";\n default:\n throw new Error(`Unknown IR type: ${args[0]}`);\n }\n }\n setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n constructPath(ops, args) {\n const current = this.current;\n let x = current.x,\n y = current.y;\n let d = [];\n let j = 0;\n for (const op of ops) {\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n d = d.join(\" \");\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n this._ensureTransformGroup().append(current.path);\n }\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n endPath() {\n const current = this.current;\n current.path = null;\n if (!this.pendingClip) {\n return;\n }\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n const clipId = `clippath${clipCount++}`;\n const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n const clipElement = current.element.cloneNode(true);\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n this.pendingClip = null;\n clipPath.append(clipElement);\n this.defs.append(clipPath);\n if (current.activeClipUrl) {\n current.clipGroup = null;\n for (const prev of this.extraStack) {\n prev.clipGroup = null;\n }\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n current.activeClipUrl = `url(#${clipId})`;\n this.tgrp = null;\n }\n clip(type) {\n this.pendingClip = type;\n }\n closePath() {\n const current = this.current;\n if (current.path) {\n const d = `${current.path.getAttributeNS(null, \"d\")}Z`;\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n setLeading(leading) {\n this.current.leading = -leading;\n }\n setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n setRenderingIntent(intent) {}\n setFlatness(flatness) {}\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value);\n break;\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n case \"ca\":\n this.setFillAlpha(value);\n break;\n default:\n (0, _util.warn)(`Unimplemented graphic state operator ${key}`);\n break;\n }\n }\n }\n fill() {\n const current = this.current;\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n stroke() {\n const current = this.current;\n if (current.element) {\n this._setStrokeAttributes(current.element);\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n _setStrokeAttributes(element, lineWidthScale = 1) {\n const current = this.current;\n let dashArray = current.dashArray;\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n eoFill() {\n this.current.element?.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n this.fill();\n }\n fillStroke() {\n this.stroke();\n this.fill();\n }\n eoFillStroke() {\n this.current.element?.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n this.fillStroke();\n }\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n paintSolidColorImageMask() {\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n this._ensureTransformGroup().append(rect);\n }\n paintImageXObject(objId) {\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`);\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n paintInlineImageXObject(imgData, mask) {\n const width = imgData.width;\n const height = imgData.height;\n const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n const imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", `scale(${pf(1 / width)} ${pf(-1 / height)})`);\n if (mask) {\n mask.append(imgEl);\n } else {\n this._ensureTransformGroup().append(imgEl);\n }\n }\n paintImageMaskXObject(img) {\n const imgData = this.getObject(img.data, img);\n if (imgData.bitmap) {\n (0, _util.warn)(\"paintImageMaskXObject: ImageBitmap support is not implemented, \" + \"ensure that the `isOffscreenCanvasSupported` API parameter is disabled.\");\n return;\n }\n const current = this.current;\n const width = imgData.width;\n const height = imgData.height;\n const fillColor = current.fillColor;\n current.maskId = `mask${maskCount++}`;\n const mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", `url(#${current.maskId})`);\n this.defs.append(mask);\n this._ensureTransformGroup().append(rect);\n this.paintInlineImageXObject(imgData, mask);\n }\n paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n paintFormXObjectEnd() {}\n _initialize(viewport) {\n const svg = this.svgFactory.create(viewport.width, viewport.height);\n const definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.append(definitions);\n this.defs = definitions;\n const rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.append(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n _ensureClipGroup() {\n if (!this.current.clipGroup) {\n const clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.append(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n return this.current.clipGroup;\n }\n _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().append(this.tgrp);\n } else {\n this.svg.append(this.tgrp);\n }\n }\n return this.tgrp;\n }\n}\nexports.SVGGraphics = SVGGraphics;\n\n/***/ }),\n/* 25 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaText = void 0;\nclass XfaText {\n static textContent(xfa) {\n const items = [];\n const output = {\n items,\n styles: Object.create(null)\n };\n function walk(node) {\n if (!node) {\n return;\n }\n let str = null;\n const name = node.name;\n if (name === \"#text\") {\n str = node.value;\n } else if (!XfaText.shouldBuildText(name)) {\n return;\n } else if (node?.attributes?.textContent) {\n str = node.attributes.textContent;\n } else if (node.value) {\n str = node.value;\n }\n if (str !== null) {\n items.push({\n str\n });\n }\n if (!node.children) {\n return;\n }\n for (const child of node.children) {\n walk(child);\n }\n }\n walk(xfa);\n return output;\n }\n static shouldBuildText(name) {\n return !(name === \"textarea\" || name === \"input\" || name === \"option\" || name === \"select\");\n }\n}\nexports.XfaText = XfaText;\n\n/***/ }),\n/* 26 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextLayerRenderTask = void 0;\nexports.renderTextLayer = renderTextLayer;\nexports.updateTextLayer = updateTextLayer;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nconst MAX_TEXT_DIVS_TO_RENDER = 100000;\nconst DEFAULT_FONT_SIZE = 30;\nconst DEFAULT_FONT_ASCENT = 0.8;\nconst ascentCache = new Map();\nfunction getCtx(size, isOffscreenCanvasSupported) {\n let ctx;\n if (isOffscreenCanvasSupported && _util.FeatureTest.isOffscreenCanvasSupported) {\n ctx = new OffscreenCanvas(size, size).getContext(\"2d\", {\n alpha: false\n });\n } else {\n const canvas = document.createElement(\"canvas\");\n canvas.width = canvas.height = size;\n ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n }\n return ctx;\n}\nfunction getAscent(fontFamily, isOffscreenCanvasSupported) {\n const cachedAscent = ascentCache.get(fontFamily);\n if (cachedAscent) {\n return cachedAscent;\n }\n const ctx = getCtx(DEFAULT_FONT_SIZE, isOffscreenCanvasSupported);\n ctx.font = `${DEFAULT_FONT_SIZE}px ${fontFamily}`;\n const metrics = ctx.measureText(\"\");\n let ascent = metrics.fontBoundingBoxAscent;\n let descent = Math.abs(metrics.fontBoundingBoxDescent);\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n ctx.canvas.width = ctx.canvas.height = 0;\n return ratio;\n }\n ctx.strokeStyle = \"red\";\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"g\", 0, 0);\n let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n descent = 0;\n for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) {\n if (pixels[i] > 0) {\n descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"A\", 0, DEFAULT_FONT_SIZE);\n pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n ascent = 0;\n for (let i = 0, ii = pixels.length; i < ii; i += 4) {\n if (pixels[i] > 0) {\n ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n ctx.canvas.width = ctx.canvas.height = 0;\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT);\n return DEFAULT_FONT_ASCENT;\n}\nfunction appendText(task, geom, styles) {\n const textDiv = document.createElement(\"span\");\n const textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL,\n fontSize: 0\n };\n task._textDivs.push(textDiv);\n const tx = _util.Util.transform(task._transform, geom.transform);\n let angle = Math.atan2(tx[1], tx[0]);\n const style = styles[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n const fontHeight = Math.hypot(tx[2], tx[3]);\n const fontAscent = fontHeight * getAscent(style.fontFamily, task._isOffscreenCanvasSupported);\n let left, top;\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n const scaleFactorStr = \"calc(var(--scale-factor)*\";\n const divStyle = textDiv.style;\n if (task._container === task._rootContainer) {\n divStyle.left = `${(100 * left / task._pageWidth).toFixed(2)}%`;\n divStyle.top = `${(100 * top / task._pageHeight).toFixed(2)}%`;\n } else {\n divStyle.left = `${scaleFactorStr}${left.toFixed(2)}px)`;\n divStyle.top = `${scaleFactorStr}${top.toFixed(2)}px)`;\n }\n divStyle.fontSize = `${scaleFactorStr}${fontHeight.toFixed(2)}px)`;\n divStyle.fontFamily = style.fontFamily;\n textDivProperties.fontSize = fontHeight;\n textDiv.setAttribute(\"role\", \"presentation\");\n textDiv.textContent = geom.str;\n textDiv.dir = geom.dir;\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n let shouldScaleText = false;\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.str !== \" \" && geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n if (shouldScaleText) {\n textDivProperties.canvasWidth = style.vertical ? geom.height : geom.width;\n }\n task._textDivProperties.set(textDiv, textDivProperties);\n if (task._isReadableStream) {\n task._layoutText(textDiv);\n }\n}\nfunction layout(params) {\n const {\n div,\n scale,\n properties,\n ctx,\n prevFontSize,\n prevFontFamily\n } = params;\n const {\n style\n } = div;\n let transform = \"\";\n if (properties.canvasWidth !== 0 && properties.hasText) {\n const {\n fontFamily\n } = style;\n const {\n canvasWidth,\n fontSize\n } = properties;\n if (prevFontSize !== fontSize || prevFontFamily !== fontFamily) {\n ctx.font = `${fontSize * scale}px ${fontFamily}`;\n params.prevFontSize = fontSize;\n params.prevFontFamily = fontFamily;\n }\n const {\n width\n } = ctx.measureText(div.textContent);\n if (width > 0) {\n transform = `scaleX(${canvasWidth * scale / width})`;\n }\n }\n if (properties.angle !== 0) {\n transform = `rotate(${properties.angle}deg) ${transform}`;\n }\n if (transform.length > 0) {\n style.transform = transform;\n }\n}\nfunction render(task) {\n if (task._canceled) {\n return;\n }\n const textDivs = task._textDivs;\n const capability = task._capability;\n const textDivsLength = textDivs.length;\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n capability.resolve();\n return;\n }\n if (!task._isReadableStream) {\n for (const textDiv of textDivs) {\n task._layoutText(textDiv);\n }\n }\n capability.resolve();\n}\nclass TextLayerRenderTask {\n constructor({\n textContentSource,\n container,\n viewport,\n textDivs,\n textDivProperties,\n textContentItemsStr,\n isOffscreenCanvasSupported\n }) {\n this._textContentSource = textContentSource;\n this._isReadableStream = textContentSource instanceof ReadableStream;\n this._container = this._rootContainer = container;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._isOffscreenCanvasSupported = isOffscreenCanvasSupported;\n this._fontInspectorEnabled = !!globalThis.FontInspector?.enabled;\n this._reader = null;\n this._textDivProperties = textDivProperties || new WeakMap();\n this._canceled = false;\n this._capability = new _util.PromiseCapability();\n this._layoutTextParams = {\n prevFontSize: null,\n prevFontFamily: null,\n div: null,\n scale: viewport.scale * (globalThis.devicePixelRatio || 1),\n properties: null,\n ctx: getCtx(0, isOffscreenCanvasSupported)\n };\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = viewport.rawDims;\n this._transform = [1, 0, 0, -1, -pageX, pageY + pageHeight];\n this._pageWidth = pageWidth;\n this._pageHeight = pageHeight;\n (0, _display_utils.setLayerDimensions)(container, viewport);\n this._capability.promise.finally(() => {\n this._layoutTextParams = null;\n }).catch(() => {});\n }\n get promise() {\n return this._capability.promise;\n }\n cancel() {\n this._canceled = true;\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\")).catch(() => {});\n this._reader = null;\n }\n this._capability.reject(new _util.AbortException(\"TextLayer task cancelled.\"));\n }\n _processItems(items, styleCache) {\n for (const item of items) {\n if (item.str === undefined) {\n if (item.type === \"beginMarkedContentProps\" || item.type === \"beginMarkedContent\") {\n const parent = this._container;\n this._container = document.createElement(\"span\");\n this._container.classList.add(\"markedContent\");\n if (item.id !== null) {\n this._container.setAttribute(\"id\", `${item.id}`);\n }\n parent.append(this._container);\n } else if (item.type === \"endMarkedContent\") {\n this._container = this._container.parentNode;\n }\n continue;\n }\n this._textContentItemsStr.push(item.str);\n appendText(this, item, styleCache);\n }\n }\n _layoutText(textDiv) {\n const textDivProperties = this._layoutTextParams.properties = this._textDivProperties.get(textDiv);\n this._layoutTextParams.div = textDiv;\n layout(this._layoutTextParams);\n if (textDivProperties.hasText) {\n this._container.append(textDiv);\n }\n if (textDivProperties.hasEOL) {\n const br = document.createElement(\"br\");\n br.setAttribute(\"role\", \"presentation\");\n this._container.append(br);\n }\n }\n _render() {\n const capability = new _util.PromiseCapability();\n let styleCache = Object.create(null);\n if (this._isReadableStream) {\n const pump = () => {\n this._reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n capability.resolve();\n return;\n }\n Object.assign(styleCache, value.styles);\n this._processItems(value.items, styleCache);\n pump();\n }, capability.reject);\n };\n this._reader = this._textContentSource.getReader();\n pump();\n } else if (this._textContentSource) {\n const {\n items,\n styles\n } = this._textContentSource;\n this._processItems(items, styles);\n capability.resolve();\n } else {\n throw new Error('No \"textContentSource\" parameter specified.');\n }\n capability.promise.then(() => {\n styleCache = null;\n render(this);\n }, this._capability.reject);\n }\n}\nexports.TextLayerRenderTask = TextLayerRenderTask;\nfunction renderTextLayer(params) {\n if (!params.textContentSource && (params.textContent || params.textContentStream)) {\n (0, _display_utils.deprecated)(\"The TextLayerRender `textContent`/`textContentStream` parameters \" + \"will be removed in the future, please use `textContentSource` instead.\");\n params.textContentSource = params.textContent || params.textContentStream;\n }\n const {\n container,\n viewport\n } = params;\n const style = getComputedStyle(container);\n const visibility = style.getPropertyValue(\"visibility\");\n const scaleFactor = parseFloat(style.getPropertyValue(\"--scale-factor\"));\n if (visibility === \"visible\" && (!scaleFactor || Math.abs(scaleFactor - viewport.scale) > 1e-5)) {\n console.error(\"The `--scale-factor` CSS-variable must be set, \" + \"to the same value as `viewport.scale`, \" + \"either on the `container`-element itself or higher up in the DOM.\");\n }\n const task = new TextLayerRenderTask(params);\n task._render();\n return task;\n}\nfunction updateTextLayer({\n container,\n viewport,\n textDivs,\n textDivProperties,\n isOffscreenCanvasSupported,\n mustRotate = true,\n mustRescale = true\n}) {\n if (mustRotate) {\n (0, _display_utils.setLayerDimensions)(container, {\n rotation: viewport.rotation\n });\n }\n if (mustRescale) {\n const ctx = getCtx(0, isOffscreenCanvasSupported);\n const scale = viewport.scale * (globalThis.devicePixelRatio || 1);\n const params = {\n prevFontSize: null,\n prevFontFamily: null,\n div: null,\n scale,\n properties: null,\n ctx\n };\n for (const div of textDivs) {\n params.properties = textDivProperties.get(div);\n params.div = div;\n layout(params);\n }\n }\n}\n\n/***/ }),\n/* 27 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditorLayer = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _freetext = __w_pdfjs_require__(28);\nvar _ink = __w_pdfjs_require__(33);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _stamp = __w_pdfjs_require__(34);\nclass AnnotationEditorLayer {\n #accessibilityManager;\n #allowClick = false;\n #annotationLayer = null;\n #boundPointerup = this.pointerup.bind(this);\n #boundPointerdown = this.pointerdown.bind(this);\n #editors = new Map();\n #hadPointerDown = false;\n #isCleaningUp = false;\n #isDisabling = false;\n #uiManager;\n static _initialized = false;\n constructor({\n uiManager,\n pageIndex,\n div,\n accessibilityManager,\n annotationLayer,\n viewport,\n l10n\n }) {\n const editorTypes = [_freetext.FreeTextEditor, _ink.InkEditor, _stamp.StampEditor];\n if (!AnnotationEditorLayer._initialized) {\n AnnotationEditorLayer._initialized = true;\n for (const editorType of editorTypes) {\n editorType.initialize(l10n);\n }\n }\n uiManager.registerEditorTypes(editorTypes);\n this.#uiManager = uiManager;\n this.pageIndex = pageIndex;\n this.div = div;\n this.#accessibilityManager = accessibilityManager;\n this.#annotationLayer = annotationLayer;\n this.viewport = viewport;\n this.#uiManager.addLayer(this);\n }\n get isEmpty() {\n return this.#editors.size === 0;\n }\n updateToolbar(mode) {\n this.#uiManager.updateToolbar(mode);\n }\n updateMode(mode = this.#uiManager.getMode()) {\n this.#cleanup();\n if (mode === _util.AnnotationEditorType.INK) {\n this.addInkEditorIfNeeded(false);\n this.disableClick();\n } else {\n this.enableClick();\n }\n if (mode !== _util.AnnotationEditorType.NONE) {\n this.div.classList.toggle(\"freeTextEditing\", mode === _util.AnnotationEditorType.FREETEXT);\n this.div.classList.toggle(\"inkEditing\", mode === _util.AnnotationEditorType.INK);\n this.div.classList.toggle(\"stampEditing\", mode === _util.AnnotationEditorType.STAMP);\n this.div.hidden = false;\n }\n }\n addInkEditorIfNeeded(isCommitting) {\n if (!isCommitting && this.#uiManager.getMode() !== _util.AnnotationEditorType.INK) {\n return;\n }\n if (!isCommitting) {\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.setInBackground();\n return;\n }\n }\n }\n const editor = this.#createAndAddNewEditor({\n offsetX: 0,\n offsetY: 0\n }, false);\n editor.setInBackground();\n }\n setEditingState(isEditing) {\n this.#uiManager.setEditingState(isEditing);\n }\n addCommands(params) {\n this.#uiManager.addCommands(params);\n }\n enable() {\n this.div.style.pointerEvents = \"auto\";\n const annotationElementIds = new Set();\n for (const editor of this.#editors.values()) {\n editor.enableEditing();\n if (editor.annotationElementId) {\n annotationElementIds.add(editor.annotationElementId);\n }\n }\n if (!this.#annotationLayer) {\n return;\n }\n const editables = this.#annotationLayer.getEditableAnnotations();\n for (const editable of editables) {\n editable.hide();\n if (this.#uiManager.isDeletedAnnotationElement(editable.data.id)) {\n continue;\n }\n if (annotationElementIds.has(editable.data.id)) {\n continue;\n }\n const editor = this.deserialize(editable);\n if (!editor) {\n continue;\n }\n this.addOrRebuild(editor);\n editor.enableEditing();\n }\n }\n disable() {\n this.#isDisabling = true;\n this.div.style.pointerEvents = \"none\";\n const hiddenAnnotationIds = new Set();\n for (const editor of this.#editors.values()) {\n editor.disableEditing();\n if (!editor.annotationElementId || editor.serialize() !== null) {\n hiddenAnnotationIds.add(editor.annotationElementId);\n continue;\n }\n this.getEditableAnnotation(editor.annotationElementId)?.show();\n editor.remove();\n }\n if (this.#annotationLayer) {\n const editables = this.#annotationLayer.getEditableAnnotations();\n for (const editable of editables) {\n const {\n id\n } = editable.data;\n if (hiddenAnnotationIds.has(id) || this.#uiManager.isDeletedAnnotationElement(id)) {\n continue;\n }\n editable.show();\n }\n }\n this.#cleanup();\n if (this.isEmpty) {\n this.div.hidden = true;\n }\n this.#isDisabling = false;\n }\n getEditableAnnotation(id) {\n return this.#annotationLayer?.getEditableAnnotation(id) || null;\n }\n setActiveEditor(editor) {\n const currentActive = this.#uiManager.getActive();\n if (currentActive === editor) {\n return;\n }\n this.#uiManager.setActiveEditor(editor);\n }\n enableClick() {\n this.div.addEventListener(\"pointerdown\", this.#boundPointerdown);\n this.div.addEventListener(\"pointerup\", this.#boundPointerup);\n }\n disableClick() {\n this.div.removeEventListener(\"pointerdown\", this.#boundPointerdown);\n this.div.removeEventListener(\"pointerup\", this.#boundPointerup);\n }\n attach(editor) {\n this.#editors.set(editor.id, editor);\n const {\n annotationElementId\n } = editor;\n if (annotationElementId && this.#uiManager.isDeletedAnnotationElement(annotationElementId)) {\n this.#uiManager.removeDeletedAnnotationElement(editor);\n }\n }\n detach(editor) {\n this.#editors.delete(editor.id);\n this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);\n if (!this.#isDisabling && editor.annotationElementId) {\n this.#uiManager.addDeletedAnnotationElement(editor);\n }\n }\n remove(editor) {\n this.detach(editor);\n this.#uiManager.removeEditor(editor);\n if (editor.div.contains(document.activeElement)) {\n setTimeout(() => {\n this.#uiManager.focusMainContainer();\n }, 0);\n }\n editor.div.remove();\n editor.isAttachedToDOM = false;\n if (!this.#isCleaningUp) {\n this.addInkEditorIfNeeded(false);\n }\n }\n changeParent(editor) {\n if (editor.parent === this) {\n return;\n }\n if (editor.annotationElementId) {\n this.#uiManager.addDeletedAnnotationElement(editor.annotationElementId);\n _editor.AnnotationEditor.deleteAnnotationElement(editor);\n editor.annotationElementId = null;\n }\n this.attach(editor);\n editor.parent?.detach(editor);\n editor.setParent(this);\n if (editor.div && editor.isAttachedToDOM) {\n editor.div.remove();\n this.div.append(editor.div);\n }\n }\n add(editor) {\n this.changeParent(editor);\n this.#uiManager.addEditor(editor);\n this.attach(editor);\n if (!editor.isAttachedToDOM) {\n const div = editor.render();\n this.div.append(div);\n editor.isAttachedToDOM = true;\n }\n editor.fixAndSetPosition();\n editor.onceAdded();\n this.#uiManager.addToAnnotationStorage(editor);\n }\n moveEditorInDOM(editor) {\n if (!editor.isAttachedToDOM) {\n return;\n }\n const {\n activeElement\n } = document;\n if (editor.div.contains(activeElement)) {\n editor._focusEventsAllowed = false;\n setTimeout(() => {\n if (!editor.div.contains(document.activeElement)) {\n editor.div.addEventListener(\"focusin\", () => {\n editor._focusEventsAllowed = true;\n }, {\n once: true\n });\n activeElement.focus();\n } else {\n editor._focusEventsAllowed = true;\n }\n }, 0);\n }\n editor._structTreeParentId = this.#accessibilityManager?.moveElementInDOM(this.div, editor.div, editor.contentDiv, true);\n }\n addOrRebuild(editor) {\n if (editor.needsToBeRebuilt()) {\n editor.rebuild();\n } else {\n this.add(editor);\n }\n }\n addUndoableEditor(editor) {\n const cmd = () => editor._uiManager.rebuild(editor);\n const undo = () => {\n editor.remove();\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: false\n });\n }\n getNextId() {\n return this.#uiManager.getId();\n }\n #createNewEditor(params) {\n switch (this.#uiManager.getMode()) {\n case _util.AnnotationEditorType.FREETEXT:\n return new _freetext.FreeTextEditor(params);\n case _util.AnnotationEditorType.INK:\n return new _ink.InkEditor(params);\n case _util.AnnotationEditorType.STAMP:\n return new _stamp.StampEditor(params);\n }\n return null;\n }\n pasteEditor(mode, params) {\n this.#uiManager.updateToolbar(mode);\n this.#uiManager.updateMode(mode);\n const {\n offsetX,\n offsetY\n } = this.#getCenterPoint();\n const id = this.getNextId();\n const editor = this.#createNewEditor({\n parent: this,\n id,\n x: offsetX,\n y: offsetY,\n uiManager: this.#uiManager,\n isCentered: true,\n ...params\n });\n if (editor) {\n this.add(editor);\n }\n }\n deserialize(data) {\n switch (data.annotationType ?? data.annotationEditorType) {\n case _util.AnnotationEditorType.FREETEXT:\n return _freetext.FreeTextEditor.deserialize(data, this, this.#uiManager);\n case _util.AnnotationEditorType.INK:\n return _ink.InkEditor.deserialize(data, this, this.#uiManager);\n case _util.AnnotationEditorType.STAMP:\n return _stamp.StampEditor.deserialize(data, this, this.#uiManager);\n }\n return null;\n }\n #createAndAddNewEditor(event, isCentered) {\n const id = this.getNextId();\n const editor = this.#createNewEditor({\n parent: this,\n id,\n x: event.offsetX,\n y: event.offsetY,\n uiManager: this.#uiManager,\n isCentered\n });\n if (editor) {\n this.add(editor);\n }\n return editor;\n }\n #getCenterPoint() {\n const {\n x,\n y,\n width,\n height\n } = this.div.getBoundingClientRect();\n const tlX = Math.max(0, x);\n const tlY = Math.max(0, y);\n const brX = Math.min(window.innerWidth, x + width);\n const brY = Math.min(window.innerHeight, y + height);\n const centerX = (tlX + brX) / 2 - x;\n const centerY = (tlY + brY) / 2 - y;\n const [offsetX, offsetY] = this.viewport.rotation % 180 === 0 ? [centerX, centerY] : [centerY, centerX];\n return {\n offsetX,\n offsetY\n };\n }\n addNewEditor() {\n this.#createAndAddNewEditor(this.#getCenterPoint(), true);\n }\n setSelected(editor) {\n this.#uiManager.setSelected(editor);\n }\n toggleSelected(editor) {\n this.#uiManager.toggleSelected(editor);\n }\n isSelected(editor) {\n return this.#uiManager.isSelected(editor);\n }\n unselect(editor) {\n this.#uiManager.unselect(editor);\n }\n pointerup(event) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n if (event.target !== this.div) {\n return;\n }\n if (!this.#hadPointerDown) {\n return;\n }\n this.#hadPointerDown = false;\n if (!this.#allowClick) {\n this.#allowClick = true;\n return;\n }\n if (this.#uiManager.getMode() === _util.AnnotationEditorType.STAMP) {\n this.#uiManager.unselectAll();\n return;\n }\n this.#createAndAddNewEditor(event, false);\n }\n pointerdown(event) {\n if (this.#hadPointerDown) {\n this.#hadPointerDown = false;\n return;\n }\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n if (event.target !== this.div) {\n return;\n }\n this.#hadPointerDown = true;\n const editor = this.#uiManager.getActive();\n this.#allowClick = !editor || editor.isEmpty();\n }\n findNewParent(editor, x, y) {\n const layer = this.#uiManager.findParent(x, y);\n if (layer === null || layer === this) {\n return false;\n }\n layer.changeParent(editor);\n return true;\n }\n destroy() {\n if (this.#uiManager.getActive()?.parent === this) {\n this.#uiManager.commitOrRemove();\n this.#uiManager.setActiveEditor(null);\n }\n for (const editor of this.#editors.values()) {\n this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);\n editor.setParent(null);\n editor.isAttachedToDOM = false;\n editor.div.remove();\n }\n this.div = null;\n this.#editors.clear();\n this.#uiManager.removeLayer(this);\n }\n #cleanup() {\n this.#isCleaningUp = true;\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.remove();\n }\n }\n this.#isCleaningUp = false;\n }\n render({\n viewport\n }) {\n this.viewport = viewport;\n (0, _display_utils.setLayerDimensions)(this.div, viewport);\n for (const editor of this.#uiManager.getEditors(this.pageIndex)) {\n this.add(editor);\n }\n this.updateMode();\n }\n update({\n viewport\n }) {\n this.#uiManager.commitOrRemove();\n this.viewport = viewport;\n (0, _display_utils.setLayerDimensions)(this.div, {\n rotation: viewport.rotation\n });\n this.updateMode();\n }\n get pageDimensions() {\n const {\n pageWidth,\n pageHeight\n } = this.viewport.rawDims;\n return [pageWidth, pageHeight];\n }\n}\nexports.AnnotationEditorLayer = AnnotationEditorLayer;\n\n/***/ }),\n/* 28 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FreeTextEditor = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _tools = __w_pdfjs_require__(5);\nvar _editor = __w_pdfjs_require__(4);\nvar _annotation_layer = __w_pdfjs_require__(29);\nclass FreeTextEditor extends _editor.AnnotationEditor {\n #boundEditorDivBlur = this.editorDivBlur.bind(this);\n #boundEditorDivFocus = this.editorDivFocus.bind(this);\n #boundEditorDivInput = this.editorDivInput.bind(this);\n #boundEditorDivKeydown = this.editorDivKeydown.bind(this);\n #color;\n #content = \"\";\n #editorDivId = `${this.id}-editor`;\n #fontSize;\n #initialData = null;\n static _freeTextDefaultContent = \"\";\n static _internalPadding = 0;\n static _defaultColor = null;\n static _defaultFontSize = 10;\n static get _keyboardManager() {\n const proto = FreeTextEditor.prototype;\n const arrowChecker = self => self.isEmpty();\n const small = _tools.AnnotationEditorUIManager.TRANSLATE_SMALL;\n const big = _tools.AnnotationEditorUIManager.TRANSLATE_BIG;\n return (0, _util.shadow)(this, \"_keyboardManager\", new _tools.KeyboardManager([[[\"ctrl+s\", \"mac+meta+s\", \"ctrl+p\", \"mac+meta+p\"], proto.commitOrRemove, {\n bubbles: true\n }], [[\"ctrl+Enter\", \"mac+meta+Enter\", \"Escape\", \"mac+Escape\"], proto.commitOrRemove], [[\"ArrowLeft\", \"mac+ArrowLeft\"], proto._translateEmpty, {\n args: [-small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowLeft\", \"mac+shift+ArrowLeft\"], proto._translateEmpty, {\n args: [-big, 0],\n checker: arrowChecker\n }], [[\"ArrowRight\", \"mac+ArrowRight\"], proto._translateEmpty, {\n args: [small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowRight\", \"mac+shift+ArrowRight\"], proto._translateEmpty, {\n args: [big, 0],\n checker: arrowChecker\n }], [[\"ArrowUp\", \"mac+ArrowUp\"], proto._translateEmpty, {\n args: [0, -small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowUp\", \"mac+shift+ArrowUp\"], proto._translateEmpty, {\n args: [0, -big],\n checker: arrowChecker\n }], [[\"ArrowDown\", \"mac+ArrowDown\"], proto._translateEmpty, {\n args: [0, small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowDown\", \"mac+shift+ArrowDown\"], proto._translateEmpty, {\n args: [0, big],\n checker: arrowChecker\n }]]));\n }\n static _type = \"freetext\";\n constructor(params) {\n super({\n ...params,\n name: \"freeTextEditor\"\n });\n this.#color = params.color || FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor;\n this.#fontSize = params.fontSize || FreeTextEditor._defaultFontSize;\n }\n static initialize(l10n) {\n _editor.AnnotationEditor.initialize(l10n, {\n strings: [\"free_text2_default_content\", \"editor_free_text2_aria_label\"]\n });\n const style = getComputedStyle(document.documentElement);\n this._internalPadding = parseFloat(style.getPropertyValue(\"--freetext-padding\"));\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.FREETEXT_SIZE:\n FreeTextEditor._defaultFontSize = value;\n break;\n case _util.AnnotationEditorParamsType.FREETEXT_COLOR:\n FreeTextEditor._defaultColor = value;\n break;\n }\n }\n updateParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.FREETEXT_SIZE:\n this.#updateFontSize(value);\n break;\n case _util.AnnotationEditorParamsType.FREETEXT_COLOR:\n this.#updateColor(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, FreeTextEditor._defaultFontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor]];\n }\n get propertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, this.#fontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, this.#color]];\n }\n #updateFontSize(fontSize) {\n const setFontsize = size => {\n this.editorDiv.style.fontSize = `calc(${size}px * var(--scale-factor))`;\n this.translate(0, -(size - this.#fontSize) * this.parentScale);\n this.#fontSize = size;\n this.#setEditorDimensions();\n };\n const savedFontsize = this.#fontSize;\n this.addCommands({\n cmd: () => {\n setFontsize(fontSize);\n },\n undo: () => {\n setFontsize(savedFontsize);\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.FREETEXT_SIZE,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateColor(color) {\n const savedColor = this.#color;\n this.addCommands({\n cmd: () => {\n this.#color = this.editorDiv.style.color = color;\n },\n undo: () => {\n this.#color = this.editorDiv.style.color = savedColor;\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.FREETEXT_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n _translateEmpty(x, y) {\n this._uiManager.translateSelectedEditors(x, y, true);\n }\n getInitialTranslation() {\n const scale = this.parentScale;\n return [-FreeTextEditor._internalPadding * scale, -(FreeTextEditor._internalPadding + this.#fontSize) * scale];\n }\n rebuild() {\n if (!this.parent) {\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n enableEditMode() {\n if (this.isInEditMode()) {\n return;\n }\n this.parent.setEditingState(false);\n this.parent.updateToolbar(_util.AnnotationEditorType.FREETEXT);\n super.enableEditMode();\n this.overlayDiv.classList.remove(\"enabled\");\n this.editorDiv.contentEditable = true;\n this._isDraggable = false;\n this.div.removeAttribute(\"aria-activedescendant\");\n this.editorDiv.addEventListener(\"keydown\", this.#boundEditorDivKeydown);\n this.editorDiv.addEventListener(\"focus\", this.#boundEditorDivFocus);\n this.editorDiv.addEventListener(\"blur\", this.#boundEditorDivBlur);\n this.editorDiv.addEventListener(\"input\", this.#boundEditorDivInput);\n }\n disableEditMode() {\n if (!this.isInEditMode()) {\n return;\n }\n this.parent.setEditingState(true);\n super.disableEditMode();\n this.overlayDiv.classList.add(\"enabled\");\n this.editorDiv.contentEditable = false;\n this.div.setAttribute(\"aria-activedescendant\", this.#editorDivId);\n this._isDraggable = true;\n this.editorDiv.removeEventListener(\"keydown\", this.#boundEditorDivKeydown);\n this.editorDiv.removeEventListener(\"focus\", this.#boundEditorDivFocus);\n this.editorDiv.removeEventListener(\"blur\", this.#boundEditorDivBlur);\n this.editorDiv.removeEventListener(\"input\", this.#boundEditorDivInput);\n this.div.focus({\n preventScroll: true\n });\n this.isEditing = false;\n this.parent.div.classList.add(\"freeTextEditing\");\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n super.focusin(event);\n if (event.target !== this.editorDiv) {\n this.editorDiv.focus();\n }\n }\n onceAdded() {\n if (this.width) {\n this.#cheatInitialRect();\n return;\n }\n this.enableEditMode();\n this.editorDiv.focus();\n if (this._initialOptions?.isCentered) {\n this.center();\n }\n this._initialOptions = null;\n }\n isEmpty() {\n return !this.editorDiv || this.editorDiv.innerText.trim() === \"\";\n }\n remove() {\n this.isEditing = false;\n if (this.parent) {\n this.parent.setEditingState(true);\n this.parent.div.classList.add(\"freeTextEditing\");\n }\n super.remove();\n }\n #extractText() {\n const divs = this.editorDiv.getElementsByTagName(\"div\");\n if (divs.length === 0) {\n return this.editorDiv.innerText;\n }\n const buffer = [];\n for (const div of divs) {\n buffer.push(div.innerText.replace(/\\r\\n?|\\n/, \"\"));\n }\n return buffer.join(\"\\n\");\n }\n #setEditorDimensions() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n let rect;\n if (this.isAttachedToDOM) {\n rect = this.div.getBoundingClientRect();\n } else {\n const {\n currentLayer,\n div\n } = this;\n const savedDisplay = div.style.display;\n div.style.display = \"hidden\";\n currentLayer.div.append(this.div);\n rect = div.getBoundingClientRect();\n div.remove();\n div.style.display = savedDisplay;\n }\n if (this.rotation % 180 === this.parentRotation % 180) {\n this.width = rect.width / parentWidth;\n this.height = rect.height / parentHeight;\n } else {\n this.width = rect.height / parentWidth;\n this.height = rect.width / parentHeight;\n }\n this.fixAndSetPosition();\n }\n commit() {\n if (!this.isInEditMode()) {\n return;\n }\n super.commit();\n this.disableEditMode();\n const savedText = this.#content;\n const newText = this.#content = this.#extractText().trimEnd();\n if (savedText === newText) {\n return;\n }\n const setText = text => {\n this.#content = text;\n if (!text) {\n this.remove();\n return;\n }\n this.#setContent();\n this._uiManager.rebuild(this);\n this.#setEditorDimensions();\n };\n this.addCommands({\n cmd: () => {\n setText(newText);\n },\n undo: () => {\n setText(savedText);\n },\n mustExec: false\n });\n this.#setEditorDimensions();\n }\n shouldGetKeyboardEvents() {\n return this.isInEditMode();\n }\n enterInEditMode() {\n this.enableEditMode();\n this.editorDiv.focus();\n }\n dblclick(event) {\n this.enterInEditMode();\n }\n keydown(event) {\n if (event.target === this.div && event.key === \"Enter\") {\n this.enterInEditMode();\n event.preventDefault();\n }\n }\n editorDivKeydown(event) {\n FreeTextEditor._keyboardManager.exec(this, event);\n }\n editorDivFocus(event) {\n this.isEditing = true;\n }\n editorDivBlur(event) {\n this.isEditing = false;\n }\n editorDivInput(event) {\n this.parent.div.classList.toggle(\"freeTextEditing\", this.isEmpty());\n }\n disableEditing() {\n this.editorDiv.setAttribute(\"role\", \"comment\");\n this.editorDiv.removeAttribute(\"aria-multiline\");\n }\n enableEditing() {\n this.editorDiv.setAttribute(\"role\", \"textbox\");\n this.editorDiv.setAttribute(\"aria-multiline\", true);\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n this.editorDiv = document.createElement(\"div\");\n this.editorDiv.className = \"internal\";\n this.editorDiv.setAttribute(\"id\", this.#editorDivId);\n this.enableEditing();\n _editor.AnnotationEditor._l10nPromise.get(\"editor_free_text2_aria_label\").then(msg => this.editorDiv?.setAttribute(\"aria-label\", msg));\n _editor.AnnotationEditor._l10nPromise.get(\"free_text2_default_content\").then(msg => this.editorDiv?.setAttribute(\"default-content\", msg));\n this.editorDiv.contentEditable = true;\n const {\n style\n } = this.editorDiv;\n style.fontSize = `calc(${this.#fontSize}px * var(--scale-factor))`;\n style.color = this.#color;\n this.div.append(this.editorDiv);\n this.overlayDiv = document.createElement(\"div\");\n this.overlayDiv.classList.add(\"overlay\", \"enabled\");\n this.div.append(this.overlayDiv);\n (0, _tools.bindEvents)(this, this.div, [\"dblclick\", \"keydown\"]);\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (this.annotationElementId) {\n const {\n position\n } = this.#initialData;\n let [tx, ty] = this.getInitialTranslation();\n [tx, ty] = this.pageTranslationToScreen(tx, ty);\n const [pageWidth, pageHeight] = this.pageDimensions;\n const [pageX, pageY] = this.pageTranslation;\n let posX, posY;\n switch (this.rotation) {\n case 0:\n posX = baseX + (position[0] - pageX) / pageWidth;\n posY = baseY + this.height - (position[1] - pageY) / pageHeight;\n break;\n case 90:\n posX = baseX + (position[0] - pageX) / pageWidth;\n posY = baseY - (position[1] - pageY) / pageHeight;\n [tx, ty] = [ty, -tx];\n break;\n case 180:\n posX = baseX - this.width + (position[0] - pageX) / pageWidth;\n posY = baseY - (position[1] - pageY) / pageHeight;\n [tx, ty] = [-tx, -ty];\n break;\n case 270:\n posX = baseX + (position[0] - pageX - this.height * pageHeight) / pageWidth;\n posY = baseY + (position[1] - pageY - this.width * pageWidth) / pageHeight;\n [tx, ty] = [-ty, tx];\n break;\n }\n this.setAt(posX * parentWidth, posY * parentHeight, tx, ty);\n } else {\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n }\n this.#setContent();\n this._isDraggable = true;\n this.editorDiv.contentEditable = false;\n } else {\n this._isDraggable = false;\n this.editorDiv.contentEditable = true;\n }\n return this.div;\n }\n #setContent() {\n this.editorDiv.replaceChildren();\n if (!this.#content) {\n return;\n }\n for (const line of this.#content.split(\"\\n\")) {\n const div = document.createElement(\"div\");\n div.append(line ? document.createTextNode(line) : document.createElement(\"br\"));\n this.editorDiv.append(div);\n }\n }\n get contentDiv() {\n return this.editorDiv;\n }\n static deserialize(data, parent, uiManager) {\n let initialData = null;\n if (data instanceof _annotation_layer.FreeTextAnnotationElement) {\n const {\n data: {\n defaultAppearanceData: {\n fontSize,\n fontColor\n },\n rect,\n rotation,\n id\n },\n textContent,\n textPosition,\n parent: {\n page: {\n pageNumber\n }\n }\n } = data;\n if (!textContent || textContent.length === 0) {\n return null;\n }\n initialData = data = {\n annotationType: _util.AnnotationEditorType.FREETEXT,\n color: Array.from(fontColor),\n fontSize,\n value: textContent.join(\"\\n\"),\n position: textPosition,\n pageIndex: pageNumber - 1,\n rect,\n rotation,\n id,\n deleted: false\n };\n }\n const editor = super.deserialize(data, parent, uiManager);\n editor.#fontSize = data.fontSize;\n editor.#color = _util.Util.makeHexColor(...data.color);\n editor.#content = data.value;\n editor.annotationElementId = data.id || null;\n editor.#initialData = initialData;\n return editor;\n }\n serialize(isForCopying = false) {\n if (this.isEmpty()) {\n return null;\n }\n if (this.deleted) {\n return {\n pageIndex: this.pageIndex,\n id: this.annotationElementId,\n deleted: true\n };\n }\n const padding = FreeTextEditor._internalPadding * this.parentScale;\n const rect = this.getRect(padding, padding);\n const color = _editor.AnnotationEditor._colorManager.convert(this.isAttachedToDOM ? getComputedStyle(this.editorDiv).color : this.#color);\n const serialized = {\n annotationType: _util.AnnotationEditorType.FREETEXT,\n color,\n fontSize: this.#fontSize,\n value: this.#content,\n pageIndex: this.pageIndex,\n rect,\n rotation: this.rotation,\n structTreeParentId: this._structTreeParentId\n };\n if (isForCopying) {\n return serialized;\n }\n if (this.annotationElementId && !this.#hasElementChanged(serialized)) {\n return null;\n }\n serialized.id = this.annotationElementId;\n return serialized;\n }\n #hasElementChanged(serialized) {\n const {\n value,\n fontSize,\n color,\n rect,\n pageIndex\n } = this.#initialData;\n return serialized.value !== value || serialized.fontSize !== fontSize || serialized.rect.some((x, i) => Math.abs(x - rect[i]) >= 1) || serialized.color.some((c, i) => c !== color[i]) || serialized.pageIndex !== pageIndex;\n }\n #cheatInitialRect(delayed = false) {\n if (!this.annotationElementId) {\n return;\n }\n this.#setEditorDimensions();\n if (!delayed && (this.width === 0 || this.height === 0)) {\n setTimeout(() => this.#cheatInitialRect(true), 0);\n return;\n }\n const padding = FreeTextEditor._internalPadding * this.parentScale;\n this.#initialData.rect = this.getRect(padding, padding);\n }\n}\nexports.FreeTextEditor = FreeTextEditor;\n\n/***/ }),\n/* 29 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StampAnnotationElement = exports.InkAnnotationElement = exports.FreeTextAnnotationElement = exports.AnnotationLayer = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _annotation_storage = __w_pdfjs_require__(3);\nvar _scripting_utils = __w_pdfjs_require__(30);\nvar _displayL10n_utils = __w_pdfjs_require__(31);\nvar _xfa_layer = __w_pdfjs_require__(32);\nconst DEFAULT_TAB_INDEX = 1000;\nconst DEFAULT_FONT_SIZE = 9;\nconst GetElementsByNameSet = new WeakSet();\nfunction getRectDims(rect) {\n return {\n width: rect[2] - rect[0],\n height: rect[3] - rect[1]\n };\n}\nclass AnnotationElementFactory {\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n case _util.AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n return new PushButtonWidgetAnnotationElement(parameters);\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n case \"Sig\":\n return new SignatureWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n default:\n return new AnnotationElement(parameters);\n }\n }\n}\nclass AnnotationElement {\n #hasBorder = false;\n constructor(parameters, {\n isRenderable = false,\n ignoreBorder = false,\n createQuadrilaterals = false\n } = {}) {\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderForms = parameters.renderForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n this.enableScripting = parameters.enableScripting;\n this.hasJSActions = parameters.hasJSActions;\n this._fieldObjects = parameters.fieldObjects;\n this.parent = parameters.parent;\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n if (createQuadrilaterals) {\n this._createQuadrilaterals();\n }\n }\n static _hasPopupData({\n titleObj,\n contentsObj,\n richText\n }) {\n return !!(titleObj?.str || contentsObj?.str || richText?.str);\n }\n get hasPopupData() {\n return AnnotationElement._hasPopupData(this.data);\n }\n _createContainer(ignoreBorder) {\n const {\n data,\n parent: {\n page,\n viewport\n }\n } = this;\n const container = document.createElement(\"section\");\n container.setAttribute(\"data-annotation-id\", data.id);\n if (!(this instanceof WidgetAnnotationElement)) {\n container.tabIndex = DEFAULT_TAB_INDEX;\n }\n container.style.zIndex = this.parent.zIndex++;\n if (this.data.popupRef) {\n container.setAttribute(\"aria-haspopup\", \"dialog\");\n }\n if (data.noRotate) {\n container.classList.add(\"norotate\");\n }\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = viewport.rawDims;\n if (!data.rect || this instanceof PopupAnnotationElement) {\n const {\n rotation\n } = data;\n if (!data.hasOwnCanvas && rotation !== 0) {\n this.setRotation(rotation, container);\n }\n return container;\n }\n const {\n width,\n height\n } = getRectDims(data.rect);\n const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = `${data.borderStyle.width}px`;\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `calc(${horizontalRadius}px * var(--scale-factor)) / calc(${verticalRadius}px * var(--scale-factor))`;\n container.style.borderRadius = radius;\n } else if (this instanceof RadioButtonWidgetAnnotationElement) {\n const radius = `calc(${width}px * var(--scale-factor)) / calc(${height}px * var(--scale-factor))`;\n container.style.borderRadius = radius;\n }\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n default:\n break;\n }\n const borderColor = data.borderColor || null;\n if (borderColor) {\n this.#hasBorder = true;\n container.style.borderColor = _util.Util.makeHexColor(borderColor[0] | 0, borderColor[1] | 0, borderColor[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n container.style.left = `${100 * (rect[0] - pageX) / pageWidth}%`;\n container.style.top = `${100 * (rect[1] - pageY) / pageHeight}%`;\n const {\n rotation\n } = data;\n if (data.hasOwnCanvas || rotation === 0) {\n container.style.width = `${100 * width / pageWidth}%`;\n container.style.height = `${100 * height / pageHeight}%`;\n } else {\n this.setRotation(rotation, container);\n }\n return container;\n }\n setRotation(angle, container = this.container) {\n if (!this.data.rect) {\n return;\n }\n const {\n pageWidth,\n pageHeight\n } = this.parent.viewport.rawDims;\n const {\n width,\n height\n } = getRectDims(this.data.rect);\n let elementWidth, elementHeight;\n if (angle % 180 === 0) {\n elementWidth = 100 * width / pageWidth;\n elementHeight = 100 * height / pageHeight;\n } else {\n elementWidth = 100 * height / pageWidth;\n elementHeight = 100 * width / pageHeight;\n }\n container.style.width = `${elementWidth}%`;\n container.style.height = `${elementHeight}%`;\n container.setAttribute(\"data-main-rotation\", (360 - angle) % 360);\n }\n get _commonActions() {\n const setColor = (jsName, styleName, event) => {\n const color = event.detail[jsName];\n const colorType = color[0];\n const colorArray = color.slice(1);\n event.target.style[styleName] = _scripting_utils.ColorConverters[`${colorType}_HTML`](colorArray);\n this.annotationStorage.setValue(this.data.id, {\n [styleName]: _scripting_utils.ColorConverters[`${colorType}_rgb`](colorArray)\n });\n };\n return (0, _util.shadow)(this, \"_commonActions\", {\n display: event => {\n const {\n display\n } = event.detail;\n const hidden = display % 2 === 1;\n this.container.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n noView: hidden,\n noPrint: display === 1 || display === 2\n });\n },\n print: event => {\n this.annotationStorage.setValue(this.data.id, {\n noPrint: !event.detail.print\n });\n },\n hidden: event => {\n const {\n hidden\n } = event.detail;\n this.container.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n noPrint: hidden,\n noView: hidden\n });\n },\n focus: event => {\n setTimeout(() => event.target.focus({\n preventScroll: false\n }), 0);\n },\n userName: event => {\n event.target.title = event.detail.userName;\n },\n readonly: event => {\n event.target.disabled = event.detail.readonly;\n },\n required: event => {\n this._setRequired(event.target, event.detail.required);\n },\n bgColor: event => {\n setColor(\"bgColor\", \"backgroundColor\", event);\n },\n fillColor: event => {\n setColor(\"fillColor\", \"backgroundColor\", event);\n },\n fgColor: event => {\n setColor(\"fgColor\", \"color\", event);\n },\n textColor: event => {\n setColor(\"textColor\", \"color\", event);\n },\n borderColor: event => {\n setColor(\"borderColor\", \"borderColor\", event);\n },\n strokeColor: event => {\n setColor(\"strokeColor\", \"borderColor\", event);\n },\n rotation: event => {\n const angle = event.detail.rotation;\n this.setRotation(angle);\n this.annotationStorage.setValue(this.data.id, {\n rotation: angle\n });\n }\n });\n }\n _dispatchEventFromSandbox(actions, jsEvent) {\n const commonActions = this._commonActions;\n for (const name of Object.keys(jsEvent.detail)) {\n const action = actions[name] || commonActions[name];\n action?.(jsEvent);\n }\n }\n _setDefaultPropertiesFromJS(element) {\n if (!this.enableScripting) {\n return;\n }\n const storedData = this.annotationStorage.getRawValue(this.data.id);\n if (!storedData) {\n return;\n }\n const commonActions = this._commonActions;\n for (const [actionName, detail] of Object.entries(storedData)) {\n const action = commonActions[actionName];\n if (action) {\n const eventProxy = {\n detail: {\n [actionName]: detail\n },\n target: element\n };\n action(eventProxy);\n delete storedData[actionName];\n }\n }\n }\n _createQuadrilaterals() {\n if (!this.container) {\n return;\n }\n const {\n quadPoints\n } = this.data;\n if (!quadPoints) {\n return;\n }\n const [rectBlX, rectBlY, rectTrX, rectTrY] = this.data.rect;\n if (quadPoints.length === 1) {\n const [, {\n x: trX,\n y: trY\n }, {\n x: blX,\n y: blY\n }] = quadPoints[0];\n if (rectTrX === trX && rectTrY === trY && rectBlX === blX && rectBlY === blY) {\n return;\n }\n }\n const {\n style\n } = this.container;\n let svgBuffer;\n if (this.#hasBorder) {\n const {\n borderColor,\n borderWidth\n } = style;\n style.borderWidth = 0;\n svgBuffer = [\"url('data:image/svg+xml;utf8,\", ``, ``];\n this.container.classList.add(\"hasBorder\");\n }\n const width = rectTrX - rectBlX;\n const height = rectTrY - rectBlY;\n const {\n svgFactory\n } = this;\n const svg = svgFactory.createElement(\"svg\");\n svg.classList.add(\"quadrilateralsContainer\");\n svg.setAttribute(\"width\", 0);\n svg.setAttribute(\"height\", 0);\n const defs = svgFactory.createElement(\"defs\");\n svg.append(defs);\n const clipPath = svgFactory.createElement(\"clipPath\");\n const id = `clippath_${this.data.id}`;\n clipPath.setAttribute(\"id\", id);\n clipPath.setAttribute(\"clipPathUnits\", \"objectBoundingBox\");\n defs.append(clipPath);\n for (const [, {\n x: trX,\n y: trY\n }, {\n x: blX,\n y: blY\n }] of quadPoints) {\n const rect = svgFactory.createElement(\"rect\");\n const x = (blX - rectBlX) / width;\n const y = (rectTrY - trY) / height;\n const rectWidth = (trX - blX) / width;\n const rectHeight = (trY - blY) / height;\n rect.setAttribute(\"x\", x);\n rect.setAttribute(\"y\", y);\n rect.setAttribute(\"width\", rectWidth);\n rect.setAttribute(\"height\", rectHeight);\n clipPath.append(rect);\n svgBuffer?.push(``);\n }\n if (this.#hasBorder) {\n svgBuffer.push(`')`);\n style.backgroundImage = svgBuffer.join(\"\");\n }\n this.container.append(svg);\n this.container.style.clipPath = `url(#${id})`;\n }\n _createPopup() {\n const {\n container,\n data\n } = this;\n container.setAttribute(\"aria-haspopup\", \"dialog\");\n const popup = new PopupAnnotationElement({\n data: {\n color: data.color,\n titleObj: data.titleObj,\n modificationDate: data.modificationDate,\n contentsObj: data.contentsObj,\n richText: data.richText,\n parentRect: data.rect,\n borderStyle: 0,\n id: `popup_${data.id}`,\n rotation: data.rotation\n },\n parent: this.parent,\n elements: [this]\n });\n this.parent.div.append(popup.render());\n }\n render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n _getElementsByName(name, skipId = null) {\n const fields = [];\n if (this._fieldObjects) {\n const fieldObj = this._fieldObjects[name];\n if (fieldObj) {\n for (const {\n page,\n id,\n exportValues\n } of fieldObj) {\n if (page === -1) {\n continue;\n }\n if (id === skipId) {\n continue;\n }\n const exportValue = typeof exportValues === \"string\" ? exportValues : null;\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n if (domElement && !GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_getElementsByName - element not allowed: ${id}`);\n continue;\n }\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n }\n return fields;\n }\n for (const domElement of document.getElementsByName(name)) {\n const {\n exportValue\n } = domElement;\n const id = domElement.getAttribute(\"data-element-id\");\n if (id === skipId) {\n continue;\n }\n if (!GetElementsByNameSet.has(domElement)) {\n continue;\n }\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n return fields;\n }\n show() {\n if (this.container) {\n this.container.hidden = false;\n }\n this.popup?.maybeShow();\n }\n hide() {\n if (this.container) {\n this.container.hidden = true;\n }\n this.popup?.forceHide();\n }\n getElementsToTriggerPopup() {\n return this.container;\n }\n addHighlightArea() {\n const triggers = this.getElementsToTriggerPopup();\n if (Array.isArray(triggers)) {\n for (const element of triggers) {\n element.classList.add(\"highlightArea\");\n }\n } else {\n triggers.classList.add(\"highlightArea\");\n }\n }\n _editOnDoubleClick() {\n const {\n annotationEditorType: mode,\n data: {\n id: editId\n }\n } = this;\n this.container.addEventListener(\"dblclick\", () => {\n this.linkService.eventBus?.dispatch(\"switchannotationeditormode\", {\n source: this,\n mode,\n editId\n });\n });\n }\n}\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters, options = null) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: !!options?.ignoreBorder,\n createQuadrilaterals: true\n });\n this.isTooltipOnly = parameters.data.isTooltipOnly;\n }\n render() {\n const {\n data,\n linkService\n } = this;\n const link = document.createElement(\"a\");\n link.setAttribute(\"data-element-id\", data.id);\n let isBound = false;\n if (data.url) {\n linkService.addLinkAttributes(link, data.url, data.newWindow);\n isBound = true;\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n isBound = true;\n } else if (data.attachment) {\n this._bindAttachment(link, data.attachment);\n isBound = true;\n } else if (data.setOCGState) {\n this.#bindSetOCGState(link, data.setOCGState);\n isBound = true;\n } else if (data.dest) {\n this._bindLink(link, data.dest);\n isBound = true;\n } else {\n if (data.actions && (data.actions.Action || data.actions[\"Mouse Up\"] || data.actions[\"Mouse Down\"]) && this.enableScripting && this.hasJSActions) {\n this._bindJSAction(link, data);\n isBound = true;\n }\n if (data.resetForm) {\n this._bindResetFormAction(link, data.resetForm);\n isBound = true;\n } else if (this.isTooltipOnly && !isBound) {\n this._bindLink(link, \"\");\n isBound = true;\n }\n }\n this.container.classList.add(\"linkAnnotation\");\n if (isBound) {\n this.container.append(link);\n }\n return this.container;\n }\n #setInternalLink() {\n this.container.setAttribute(\"data-internal-link\", \"\");\n }\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = () => {\n if (destination) {\n this.linkService.goToDestination(destination);\n }\n return false;\n };\n if (destination || destination === \"\") {\n this.#setInternalLink();\n }\n }\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n this.#setInternalLink();\n }\n _bindAttachment(link, attachment) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.downloadManager?.openOrDownloadData(this.container, attachment.content, attachment.filename);\n return false;\n };\n this.#setInternalLink();\n }\n #bindSetOCGState(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeSetOCGState(action);\n return false;\n };\n this.#setInternalLink();\n }\n _bindJSAction(link, data) {\n link.href = this.linkService.getAnchorUrl(\"\");\n const map = new Map([[\"Action\", \"onclick\"], [\"Mouse Up\", \"onmouseup\"], [\"Mouse Down\", \"onmousedown\"]]);\n for (const name of Object.keys(data.actions)) {\n const jsName = map.get(name);\n if (!jsName) {\n continue;\n }\n link[jsName] = () => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: data.id,\n name\n }\n });\n return false;\n };\n }\n if (!link.onclick) {\n link.onclick = () => false;\n }\n this.#setInternalLink();\n }\n _bindResetFormAction(link, resetForm) {\n const otherClickAction = link.onclick;\n if (!otherClickAction) {\n link.href = this.linkService.getAnchorUrl(\"\");\n }\n this.#setInternalLink();\n if (!this._fieldObjects) {\n (0, _util.warn)(`_bindResetFormAction - \"resetForm\" action not supported, ` + \"ensure that the `fieldObjects` parameter is provided.\");\n if (!otherClickAction) {\n link.onclick = () => false;\n }\n return;\n }\n link.onclick = () => {\n otherClickAction?.();\n const {\n fields: resetFormFields,\n refs: resetFormRefs,\n include\n } = resetForm;\n const allFields = [];\n if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) {\n const fieldIds = new Set(resetFormRefs);\n for (const fieldName of resetFormFields) {\n const fields = this._fieldObjects[fieldName] || [];\n for (const {\n id\n } of fields) {\n fieldIds.add(id);\n }\n }\n for (const fields of Object.values(this._fieldObjects)) {\n for (const field of fields) {\n if (fieldIds.has(field.id) === include) {\n allFields.push(field);\n }\n }\n }\n } else {\n for (const fields of Object.values(this._fieldObjects)) {\n allFields.push(...fields);\n }\n }\n const storage = this.annotationStorage;\n const allIds = [];\n for (const field of allFields) {\n const {\n id\n } = field;\n allIds.push(id);\n switch (field.type) {\n case \"text\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n case \"checkbox\":\n case \"radiobutton\":\n {\n const value = field.defaultValue === field.exportValues;\n storage.setValue(id, {\n value\n });\n break;\n }\n case \"combobox\":\n case \"listbox\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n default:\n continue;\n }\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n if (!domElement) {\n continue;\n } else if (!GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_bindResetFormAction - element not allowed: ${id}`);\n continue;\n }\n domElement.dispatchEvent(new Event(\"resetform\"));\n }\n if (this.enableScripting) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: \"app\",\n ids: allIds,\n name: \"ResetForm\"\n }\n });\n }\n return false;\n };\n }\n}\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n }\n render() {\n this.container.classList.add(\"textAnnotation\");\n const image = document.createElement(\"img\");\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.append(image);\n return this.container;\n }\n}\nclass WidgetAnnotationElement extends AnnotationElement {\n render() {\n if (this.data.alternativeText) {\n this.container.title = this.data.alternativeText;\n }\n return this.container;\n }\n showElementAndHideCanvas(element) {\n if (this.data.hasOwnCanvas) {\n if (element.previousSibling?.nodeName === \"CANVAS\") {\n element.previousSibling.hidden = true;\n }\n element.hidden = false;\n }\n }\n _getKeyModifier(event) {\n const {\n isWin,\n isMac\n } = _util.FeatureTest.platform;\n return isWin && event.ctrlKey || isMac && event.metaKey;\n }\n _setEventListener(element, elementData, baseName, eventName, valueGetter) {\n if (baseName.includes(\"mouse\")) {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event),\n shift: event.shiftKey,\n modifier: this._getKeyModifier(event)\n }\n });\n });\n } else {\n element.addEventListener(baseName, event => {\n if (baseName === \"blur\") {\n if (!elementData.focused || !event.relatedTarget) {\n return;\n }\n elementData.focused = false;\n } else if (baseName === \"focus\") {\n if (elementData.focused) {\n return;\n }\n elementData.focused = true;\n }\n if (!valueGetter) {\n return;\n }\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event)\n }\n });\n });\n }\n }\n _setEventListeners(element, elementData, names, getter) {\n for (const [baseName, eventName] of names) {\n if (eventName === \"Action\" || this.data.actions?.[eventName]) {\n if (eventName === \"Focus\" || eventName === \"Blur\") {\n elementData ||= {\n focused: false\n };\n }\n this._setEventListener(element, elementData, baseName, eventName, getter);\n if (eventName === \"Focus\" && !this.data.actions?.Blur) {\n this._setEventListener(element, elementData, \"blur\", \"Blur\", null);\n } else if (eventName === \"Blur\" && !this.data.actions?.Focus) {\n this._setEventListener(element, elementData, \"focus\", \"Focus\", null);\n }\n }\n }\n }\n _setBackgroundColor(element) {\n const color = this.data.backgroundColor || null;\n element.style.backgroundColor = color === null ? \"transparent\" : _util.Util.makeHexColor(color[0], color[1], color[2]);\n }\n _setTextStyle(element) {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n const {\n fontColor\n } = this.data.defaultAppearanceData;\n const fontSize = this.data.defaultAppearanceData.fontSize || DEFAULT_FONT_SIZE;\n const style = element.style;\n let computedFontSize;\n const BORDER_SIZE = 2;\n const roundToOneDecimal = x => Math.round(10 * x) / 10;\n if (this.data.multiLine) {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);\n const numberOfLines = Math.round(height / (_util.LINE_FACTOR * fontSize)) || 1;\n const lineHeight = height / numberOfLines;\n computedFontSize = Math.min(fontSize, roundToOneDecimal(lineHeight / _util.LINE_FACTOR));\n } else {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);\n computedFontSize = Math.min(fontSize, roundToOneDecimal(height / _util.LINE_FACTOR));\n }\n style.fontSize = `calc(${computedFontSize}px * var(--scale-factor))`;\n style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);\n if (this.data.textAlignment !== null) {\n style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n }\n _setRequired(element, isRequired) {\n if (isRequired) {\n element.setAttribute(\"required\", true);\n } else {\n element.removeAttribute(\"required\");\n }\n element.setAttribute(\"aria-required\", isRequired);\n }\n}\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n super(parameters, {\n isRenderable\n });\n }\n setPropertyOnSiblings(base, key, value, keyInStorage) {\n const storage = this.annotationStorage;\n for (const element of this._getElementsByName(base.name, base.id)) {\n if (element.domElement) {\n element.domElement[key] = value;\n }\n storage.setValue(element.id, {\n [keyInStorage]: value\n });\n }\n }\n render() {\n const storage = this.annotationStorage;\n const id = this.data.id;\n this.container.classList.add(\"textWidgetAnnotation\");\n let element = null;\n if (this.renderForms) {\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n let textContent = storedData.value || \"\";\n const maxLen = storage.getValue(id, {\n charLimit: this.data.maxLen\n }).charLimit;\n if (maxLen && textContent.length > maxLen) {\n textContent = textContent.slice(0, maxLen);\n }\n let fieldFormattedValues = storedData.formattedValue || this.data.textContent?.join(\"\\n\") || null;\n if (fieldFormattedValues && this.data.comb) {\n fieldFormattedValues = fieldFormattedValues.replaceAll(/\\s+/g, \"\");\n }\n const elementData = {\n userValue: textContent,\n formattedValue: fieldFormattedValues,\n lastCommittedValue: null,\n commitKey: 1,\n focused: false\n };\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = fieldFormattedValues ?? textContent;\n if (this.data.doNotScroll) {\n element.style.overflowY = \"hidden\";\n }\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", fieldFormattedValues ?? textContent);\n if (this.data.doNotScroll) {\n element.style.overflowX = \"hidden\";\n }\n }\n if (this.data.hasOwnCanvas) {\n element.hidden = true;\n }\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n element.tabIndex = DEFAULT_TAB_INDEX;\n this._setRequired(element, this.data.required);\n if (maxLen) {\n element.maxLength = maxLen;\n }\n element.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n this.setPropertyOnSiblings(element, \"value\", event.target.value, \"value\");\n elementData.formattedValue = null;\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue ?? \"\";\n element.value = elementData.userValue = defaultValue;\n elementData.formattedValue = null;\n });\n let blurListener = event => {\n const {\n formattedValue\n } = elementData;\n if (formattedValue !== null && formattedValue !== undefined) {\n event.target.value = formattedValue;\n }\n event.target.scrollLeft = 0;\n };\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"focus\", event => {\n if (elementData.focused) {\n return;\n }\n const {\n target\n } = event;\n if (elementData.userValue) {\n target.value = elementData.userValue;\n }\n elementData.lastCommittedValue = target.value;\n elementData.commitKey = 1;\n elementData.focused = true;\n });\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n this.showElementAndHideCanvas(jsEvent.target);\n const actions = {\n value(event) {\n elementData.userValue = event.detail.value ?? \"\";\n storage.setValue(id, {\n value: elementData.userValue.toString()\n });\n event.target.value = elementData.userValue;\n },\n formattedValue(event) {\n const {\n formattedValue\n } = event.detail;\n elementData.formattedValue = formattedValue;\n if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) {\n event.target.value = formattedValue;\n }\n storage.setValue(id, {\n formattedValue\n });\n },\n selRange(event) {\n event.target.setSelectionRange(...event.detail.selRange);\n },\n charLimit: event => {\n const {\n charLimit\n } = event.detail;\n const {\n target\n } = event;\n if (charLimit === 0) {\n target.removeAttribute(\"maxLength\");\n return;\n }\n target.setAttribute(\"maxLength\", charLimit);\n let value = elementData.userValue;\n if (!value || value.length <= charLimit) {\n return;\n }\n value = value.slice(0, charLimit);\n target.value = elementData.userValue = value;\n storage.setValue(id, {\n value\n });\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: 1,\n selStart: target.selectionStart,\n selEnd: target.selectionEnd\n }\n });\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n element.addEventListener(\"keydown\", event => {\n elementData.commitKey = 1;\n let commitKey = -1;\n if (event.key === \"Escape\") {\n commitKey = 0;\n } else if (event.key === \"Enter\" && !this.data.multiLine) {\n commitKey = 2;\n } else if (event.key === \"Tab\") {\n elementData.commitKey = 3;\n }\n if (commitKey === -1) {\n return;\n }\n const {\n value\n } = event.target;\n if (elementData.lastCommittedValue === value) {\n return;\n }\n elementData.lastCommittedValue = value;\n elementData.userValue = value;\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n });\n const _blurListener = blurListener;\n blurListener = null;\n element.addEventListener(\"blur\", event => {\n if (!elementData.focused || !event.relatedTarget) {\n return;\n }\n elementData.focused = false;\n const {\n value\n } = event.target;\n elementData.userValue = value;\n if (elementData.lastCommittedValue !== value) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: elementData.commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n }\n _blurListener(event);\n });\n if (this.data.actions?.Keystroke) {\n element.addEventListener(\"beforeinput\", event => {\n elementData.lastCommittedValue = null;\n const {\n data,\n target\n } = event;\n const {\n value,\n selectionStart,\n selectionEnd\n } = target;\n let selStart = selectionStart,\n selEnd = selectionEnd;\n switch (event.inputType) {\n case \"deleteWordBackward\":\n {\n const match = value.substring(0, selectionStart).match(/\\w*[^\\w]*$/);\n if (match) {\n selStart -= match[0].length;\n }\n break;\n }\n case \"deleteWordForward\":\n {\n const match = value.substring(selectionStart).match(/^[^\\w]*\\w*/);\n if (match) {\n selEnd += match[0].length;\n }\n break;\n }\n case \"deleteContentBackward\":\n if (selectionStart === selectionEnd) {\n selStart -= 1;\n }\n break;\n case \"deleteContentForward\":\n if (selectionStart === selectionEnd) {\n selEnd += 1;\n }\n break;\n }\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n change: data || \"\",\n willCommit: false,\n selStart,\n selEnd\n }\n });\n });\n }\n this._setEventListeners(element, elementData, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.value);\n }\n if (blurListener) {\n element.addEventListener(\"blur\", blurListener);\n }\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px * var(--scale-factor) - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n }\n this._setTextStyle(element);\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass SignatureWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: !!parameters.data.hasOwnCanvas\n });\n }\n}\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.exportValue === data.fieldValue\n }).value;\n if (typeof value === \"string\") {\n value = value !== \"Off\";\n storage.setValue(id, {\n value\n });\n }\n this.container.classList.add(\"buttonWidgetAnnotation\", \"checkBox\");\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n this._setRequired(element, this.data.required);\n element.type = \"checkbox\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.setAttribute(\"exportValue\", data.exportValue);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n for (const checkbox of this._getElementsByName(name, id)) {\n const curChecked = checked && checkbox.exportValue === data.exportValue;\n if (checkbox.domElement) {\n checkbox.domElement.checked = curChecked;\n }\n storage.setValue(checkbox.id, {\n value: curChecked\n });\n }\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue || \"Off\";\n event.target.checked = defaultValue === data.exportValue;\n });\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n event.target.checked = event.detail.value !== \"Off\";\n storage.setValue(id, {\n value: event.target.checked\n });\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n this._setEventListeners(element, null, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n this.container.classList.add(\"buttonWidgetAnnotation\", \"radioButton\");\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.fieldValue === data.buttonValue\n }).value;\n if (typeof value === \"string\") {\n value = value !== data.buttonValue;\n storage.setValue(id, {\n value\n });\n }\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n this._setRequired(element, this.data.required);\n element.type = \"radio\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n for (const radio of this._getElementsByName(name, id)) {\n storage.setValue(radio.id, {\n value: false\n });\n }\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue;\n event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue;\n });\n if (this.enableScripting && this.hasJSActions) {\n const pdfButtonValue = data.buttonValue;\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value: event => {\n const checked = pdfButtonValue === event.detail.value;\n for (const radio of this._getElementsByName(event.target.name)) {\n const curChecked = checked && radio.id === id;\n if (radio.domElement) {\n radio.domElement.checked = curChecked;\n }\n storage.setValue(radio.id, {\n value: curChecked\n });\n }\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n this._setEventListeners(element, null, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n ignoreBorder: parameters.data.hasAppearance\n });\n }\n render() {\n const container = super.render();\n container.classList.add(\"buttonWidgetAnnotation\", \"pushButton\");\n if (this.data.alternativeText) {\n container.title = this.data.alternativeText;\n }\n const linkElement = container.lastChild;\n if (this.enableScripting && this.hasJSActions && linkElement) {\n this._setDefaultPropertiesFromJS(linkElement);\n linkElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n this._dispatchEventFromSandbox({}, jsEvent);\n });\n }\n return container;\n }\n}\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n this.container.classList.add(\"choiceWidgetAnnotation\");\n const storage = this.annotationStorage;\n const id = this.data.id;\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n const selectElement = document.createElement(\"select\");\n GetElementsByNameSet.add(selectElement);\n selectElement.setAttribute(\"data-element-id\", id);\n selectElement.disabled = this.data.readOnly;\n this._setRequired(selectElement, this.data.required);\n selectElement.name = this.data.fieldName;\n selectElement.tabIndex = DEFAULT_TAB_INDEX;\n let addAnEmptyEntry = this.data.combo && this.data.options.length > 0;\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n selectElement.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue;\n for (const option of selectElement.options) {\n option.selected = option.value === defaultValue;\n }\n });\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (storedData.value.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n addAnEmptyEntry = false;\n }\n selectElement.append(optionElement);\n }\n let removeEmptyEntry = null;\n if (addAnEmptyEntry) {\n const noneOptionElement = document.createElement(\"option\");\n noneOptionElement.value = \" \";\n noneOptionElement.setAttribute(\"hidden\", true);\n noneOptionElement.setAttribute(\"selected\", true);\n selectElement.prepend(noneOptionElement);\n removeEmptyEntry = () => {\n noneOptionElement.remove();\n selectElement.removeEventListener(\"input\", removeEmptyEntry);\n removeEmptyEntry = null;\n };\n selectElement.addEventListener(\"input\", removeEmptyEntry);\n }\n const getValue = isExport => {\n const name = isExport ? \"value\" : \"textContent\";\n const {\n options,\n multiple\n } = selectElement;\n if (!multiple) {\n return options.selectedIndex === -1 ? null : options[options.selectedIndex][name];\n }\n return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]);\n };\n let selectedValues = getValue(false);\n const getItems = event => {\n const options = event.target.options;\n return Array.prototype.map.call(options, option => {\n return {\n displayValue: option.textContent,\n exportValue: option.value\n };\n });\n };\n if (this.enableScripting && this.hasJSActions) {\n selectElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n removeEmptyEntry?.();\n const value = event.detail.value;\n const values = new Set(Array.isArray(value) ? value : [value]);\n for (const option of selectElement.options) {\n option.selected = values.has(option.value);\n }\n storage.setValue(id, {\n value: getValue(true)\n });\n selectedValues = getValue(false);\n },\n multipleSelection(event) {\n selectElement.multiple = true;\n },\n remove(event) {\n const options = selectElement.options;\n const index = event.detail.remove;\n options[index].selected = false;\n selectElement.remove(index);\n if (options.length > 0) {\n const i = Array.prototype.findIndex.call(options, option => option.selected);\n if (i === -1) {\n options[0].selected = true;\n }\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n clear(event) {\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n storage.setValue(id, {\n value: null,\n items: []\n });\n selectedValues = getValue(false);\n },\n insert(event) {\n const {\n index,\n displayValue,\n exportValue\n } = event.detail.insert;\n const selectChild = selectElement.children[index];\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n if (selectChild) {\n selectChild.before(optionElement);\n } else {\n selectElement.append(optionElement);\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n items(event) {\n const {\n items\n } = event.detail;\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n for (const item of items) {\n const {\n displayValue,\n exportValue\n } = item;\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.append(optionElement);\n }\n if (selectElement.options.length > 0) {\n selectElement.options[0].selected = true;\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n indices(event) {\n const indices = new Set(event.detail.indices);\n for (const option of event.target.options) {\n option.selected = indices.has(option.index);\n }\n storage.setValue(id, {\n value: getValue(true)\n });\n selectedValues = getValue(false);\n },\n editable(event) {\n event.target.disabled = !event.detail.editable;\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n selectElement.addEventListener(\"input\", event => {\n const exportValue = getValue(true);\n storage.setValue(id, {\n value: exportValue\n });\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value: selectedValues,\n changeEx: exportValue,\n willCommit: false,\n commitKey: 1,\n keyDown: false\n }\n });\n });\n this._setEventListeners(selectElement, null, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"], [\"input\", \"Action\"], [\"input\", \"Validate\"]], event => event.target.value);\n } else {\n selectElement.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: getValue(true)\n });\n });\n }\n if (this.data.combo) {\n this._setTextStyle(selectElement);\n } else {}\n this._setBackgroundColor(selectElement);\n this._setDefaultPropertiesFromJS(selectElement);\n this.container.append(selectElement);\n return this.container;\n }\n}\nclass PopupAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const {\n data,\n elements\n } = parameters;\n super(parameters, {\n isRenderable: AnnotationElement._hasPopupData(data)\n });\n this.elements = elements;\n }\n render() {\n this.container.classList.add(\"popupAnnotation\");\n const popup = new PopupElement({\n container: this.container,\n color: this.data.color,\n titleObj: this.data.titleObj,\n modificationDate: this.data.modificationDate,\n contentsObj: this.data.contentsObj,\n richText: this.data.richText,\n rect: this.data.rect,\n parentRect: this.data.parentRect || null,\n parent: this.parent,\n elements: this.elements,\n open: this.data.open\n });\n const elementIds = [];\n for (const element of this.elements) {\n element.popup = popup;\n elementIds.push(element.data.id);\n element.addHighlightArea();\n }\n this.container.setAttribute(\"aria-controls\", elementIds.map(id => `${_util.AnnotationPrefix}${id}`).join(\",\"));\n return this.container;\n }\n}\nclass PopupElement {\n #dateTimePromise = null;\n #boundKeyDown = this.#keyDown.bind(this);\n #boundHide = this.#hide.bind(this);\n #boundShow = this.#show.bind(this);\n #boundToggle = this.#toggle.bind(this);\n #color = null;\n #container = null;\n #contentsObj = null;\n #elements = null;\n #parent = null;\n #parentRect = null;\n #pinned = false;\n #popup = null;\n #rect = null;\n #richText = null;\n #titleObj = null;\n #wasVisible = false;\n constructor({\n container,\n color,\n elements,\n titleObj,\n modificationDate,\n contentsObj,\n richText,\n parent,\n rect,\n parentRect,\n open\n }) {\n this.#container = container;\n this.#titleObj = titleObj;\n this.#contentsObj = contentsObj;\n this.#richText = richText;\n this.#parent = parent;\n this.#color = color;\n this.#rect = rect;\n this.#parentRect = parentRect;\n this.#elements = elements;\n const dateObject = _display_utils.PDFDateString.toDateObject(modificationDate);\n if (dateObject) {\n this.#dateTimePromise = parent.l10n.get(\"annotation_date_string\", {\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n }\n this.trigger = elements.flatMap(e => e.getElementsToTriggerPopup());\n for (const element of this.trigger) {\n element.addEventListener(\"click\", this.#boundToggle);\n element.addEventListener(\"mouseenter\", this.#boundShow);\n element.addEventListener(\"mouseleave\", this.#boundHide);\n element.classList.add(\"popupTriggerArea\");\n }\n for (const element of elements) {\n element.container?.addEventListener(\"keydown\", this.#boundKeyDown);\n }\n this.#container.hidden = true;\n if (open) {\n this.#toggle();\n }\n }\n render() {\n if (this.#popup) {\n return;\n }\n const {\n page: {\n view\n },\n viewport: {\n rawDims: {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n }\n }\n } = this.#parent;\n const popup = this.#popup = document.createElement(\"div\");\n popup.className = \"popup\";\n if (this.#color) {\n const baseColor = popup.style.outlineColor = _util.Util.makeHexColor(...this.#color);\n if (CSS.supports(\"background-color\", \"color-mix(in srgb, red 30%, white)\")) {\n popup.style.backgroundColor = `color-mix(in srgb, ${baseColor} 30%, white)`;\n } else {\n const BACKGROUND_ENLIGHT = 0.7;\n popup.style.backgroundColor = _util.Util.makeHexColor(...this.#color.map(c => Math.floor(BACKGROUND_ENLIGHT * (255 - c) + c)));\n }\n }\n const header = document.createElement(\"span\");\n header.className = \"header\";\n const title = document.createElement(\"h1\");\n header.append(title);\n ({\n dir: title.dir,\n str: title.textContent\n } = this.#titleObj);\n popup.append(header);\n if (this.#dateTimePromise) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.classList.add(\"popupDate\");\n this.#dateTimePromise.then(localized => {\n modificationDate.textContent = localized;\n });\n header.append(modificationDate);\n }\n const contentsObj = this.#contentsObj;\n const richText = this.#richText;\n if (richText?.str && (!contentsObj?.str || contentsObj.str === richText.str)) {\n _xfa_layer.XfaLayer.render({\n xfaHtml: richText.html,\n intent: \"richText\",\n div: popup\n });\n popup.lastChild.classList.add(\"richText\", \"popupContent\");\n } else {\n const contents = this._formatContents(contentsObj);\n popup.append(contents);\n }\n let useParentRect = !!this.#parentRect;\n let rect = useParentRect ? this.#parentRect : this.#rect;\n for (const element of this.#elements) {\n if (!rect || _util.Util.intersect(element.data.rect, rect) !== null) {\n rect = element.data.rect;\n useParentRect = true;\n break;\n }\n }\n const normalizedRect = _util.Util.normalizeRect([rect[0], view[3] - rect[1] + view[1], rect[2], view[3] - rect[3] + view[1]]);\n const HORIZONTAL_SPACE_AFTER_ANNOTATION = 5;\n const parentWidth = useParentRect ? rect[2] - rect[0] + HORIZONTAL_SPACE_AFTER_ANNOTATION : 0;\n const popupLeft = normalizedRect[0] + parentWidth;\n const popupTop = normalizedRect[1];\n const {\n style\n } = this.#container;\n style.left = `${100 * (popupLeft - pageX) / pageWidth}%`;\n style.top = `${100 * (popupTop - pageY) / pageHeight}%`;\n this.#container.append(popup);\n }\n _formatContents({\n str,\n dir\n }) {\n const p = document.createElement(\"p\");\n p.classList.add(\"popupContent\");\n p.dir = dir;\n const lines = str.split(/(?:\\r\\n?|\\n)/);\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.append(document.createTextNode(line));\n if (i < ii - 1) {\n p.append(document.createElement(\"br\"));\n }\n }\n return p;\n }\n #keyDown(event) {\n if (event.altKey || event.shiftKey || event.ctrlKey || event.metaKey) {\n return;\n }\n if (event.key === \"Enter\" || event.key === \"Escape\" && this.#pinned) {\n this.#toggle();\n }\n }\n #toggle() {\n this.#pinned = !this.#pinned;\n if (this.#pinned) {\n this.#show();\n this.#container.addEventListener(\"click\", this.#boundToggle);\n this.#container.addEventListener(\"keydown\", this.#boundKeyDown);\n } else {\n this.#hide();\n this.#container.removeEventListener(\"click\", this.#boundToggle);\n this.#container.removeEventListener(\"keydown\", this.#boundKeyDown);\n }\n }\n #show() {\n if (!this.#popup) {\n this.render();\n }\n if (!this.isVisible) {\n this.#container.hidden = false;\n this.#container.style.zIndex = parseInt(this.#container.style.zIndex) + 1000;\n } else if (this.#pinned) {\n this.#container.classList.add(\"focused\");\n }\n }\n #hide() {\n this.#container.classList.remove(\"focused\");\n if (this.#pinned || !this.isVisible) {\n return;\n }\n this.#container.hidden = true;\n this.#container.style.zIndex = parseInt(this.#container.style.zIndex) - 1000;\n }\n forceHide() {\n this.#wasVisible = this.isVisible;\n if (!this.#wasVisible) {\n return;\n }\n this.#container.hidden = true;\n }\n maybeShow() {\n if (!this.#wasVisible) {\n return;\n }\n this.#wasVisible = false;\n this.#container.hidden = false;\n }\n get isVisible() {\n return this.#container.hidden === false;\n }\n}\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.textContent = parameters.data.textContent;\n this.textPosition = parameters.data.textPosition;\n this.annotationEditorType = _util.AnnotationEditorType.FREETEXT;\n }\n render() {\n this.container.classList.add(\"freeTextAnnotation\");\n if (this.textContent) {\n const content = document.createElement(\"div\");\n content.classList.add(\"annotationTextContent\");\n content.setAttribute(\"role\", \"comment\");\n for (const line of this.textContent) {\n const lineSpan = document.createElement(\"span\");\n lineSpan.textContent = line;\n content.append(lineSpan);\n }\n this.container.append(content);\n }\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this._editOnDoubleClick();\n return this.container;\n }\n}\nexports.FreeTextAnnotationElement = FreeTextAnnotationElement;\nclass LineAnnotationElement extends AnnotationElement {\n #line = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"lineAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const line = this.#line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n line.setAttribute(\"fill\", \"transparent\");\n svg.append(line);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#line;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass SquareAnnotationElement extends AnnotationElement {\n #square = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"squareAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const square = this.#square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"transparent\");\n svg.append(square);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#square;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass CircleAnnotationElement extends AnnotationElement {\n #circle = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"circleAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const circle = this.#circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"transparent\");\n svg.append(circle);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#circle;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass PolylineAnnotationElement extends AnnotationElement {\n #polyline = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n render() {\n this.container.classList.add(this.containerClassName);\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n let points = [];\n for (const coordinate of data.vertices) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n points = points.join(\" \");\n const polyline = this.#polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n svg.append(polyline);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#polyline;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n super(parameters);\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n}\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"caretAnnotation\");\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n}\nclass InkAnnotationElement extends AnnotationElement {\n #polylines = [];\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.containerClassName = \"inkAnnotation\";\n this.svgElementName = \"svg:polyline\";\n this.annotationEditorType = _util.AnnotationEditorType.INK;\n }\n render() {\n this.container.classList.add(this.containerClassName);\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n for (const inkList of data.inkLists) {\n let points = [];\n for (const coordinate of inkList) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(`${x},${y}`);\n }\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n this.#polylines.push(polyline);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n svg.append(polyline);\n }\n this.container.append(svg);\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#polylines;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nexports.InkAnnotationElement = InkAnnotationElement;\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"highlightAnnotation\");\n return this.container;\n }\n}\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"underlineAnnotation\");\n return this.container;\n }\n}\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"squigglyAnnotation\");\n return this.container;\n }\n}\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"strikeoutAnnotation\");\n return this.container;\n }\n}\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"stampAnnotation\");\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n}\nexports.StampAnnotationElement = StampAnnotationElement;\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n #trigger = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n const {\n filename,\n content\n } = this.data.file;\n this.filename = (0, _display_utils.getFilenameFromUrl)(filename, true);\n this.content = content;\n this.linkService.eventBus?.dispatch(\"fileattachmentannotation\", {\n source: this,\n filename,\n content\n });\n }\n render() {\n this.container.classList.add(\"fileAttachmentAnnotation\");\n const {\n container,\n data\n } = this;\n let trigger;\n if (data.hasAppearance || data.fillAlpha === 0) {\n trigger = document.createElement(\"div\");\n } else {\n trigger = document.createElement(\"img\");\n trigger.src = `${this.imageResourcesPath}annotation-${/paperclip/i.test(data.name) ? \"paperclip\" : \"pushpin\"}.svg`;\n if (data.fillAlpha && data.fillAlpha < 1) {\n trigger.style = `filter: opacity(${Math.round(data.fillAlpha * 100)}%);`;\n }\n }\n trigger.addEventListener(\"dblclick\", this.#download.bind(this));\n this.#trigger = trigger;\n const {\n isMac\n } = _util.FeatureTest.platform;\n container.addEventListener(\"keydown\", evt => {\n if (evt.key === \"Enter\" && (isMac ? evt.metaKey : evt.ctrlKey)) {\n this.#download();\n }\n });\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n } else {\n trigger.classList.add(\"popupTriggerArea\");\n }\n container.append(trigger);\n return container;\n }\n getElementsToTriggerPopup() {\n return this.#trigger;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n #download() {\n this.downloadManager?.openOrDownloadData(this.container, this.content, this.filename);\n }\n}\nclass AnnotationLayer {\n #accessibilityManager = null;\n #annotationCanvasMap = null;\n #editableAnnotations = new Map();\n constructor({\n div,\n accessibilityManager,\n annotationCanvasMap,\n l10n,\n page,\n viewport\n }) {\n this.div = div;\n this.#accessibilityManager = accessibilityManager;\n this.#annotationCanvasMap = annotationCanvasMap;\n this.l10n = l10n;\n this.page = page;\n this.viewport = viewport;\n this.zIndex = 0;\n this.l10n ||= _displayL10n_utils.NullL10n;\n }\n #appendElement(element, id) {\n const contentElement = element.firstChild || element;\n contentElement.id = `${_util.AnnotationPrefix}${id}`;\n this.div.append(element);\n this.#accessibilityManager?.moveElementInDOM(this.div, element, contentElement, false);\n }\n async render(params) {\n const {\n annotations\n } = params;\n const layer = this.div;\n (0, _display_utils.setLayerDimensions)(layer, this.viewport);\n const popupToElements = new Map();\n const elementParams = {\n data: null,\n layer,\n linkService: params.linkService,\n downloadManager: params.downloadManager,\n imageResourcesPath: params.imageResourcesPath || \"\",\n renderForms: params.renderForms !== false,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: params.annotationStorage || new _annotation_storage.AnnotationStorage(),\n enableScripting: params.enableScripting === true,\n hasJSActions: params.hasJSActions,\n fieldObjects: params.fieldObjects,\n parent: this,\n elements: null\n };\n for (const data of annotations) {\n if (data.noHTML) {\n continue;\n }\n const isPopupAnnotation = data.annotationType === _util.AnnotationType.POPUP;\n if (!isPopupAnnotation) {\n const {\n width,\n height\n } = getRectDims(data.rect);\n if (width <= 0 || height <= 0) {\n continue;\n }\n } else {\n const elements = popupToElements.get(data.id);\n if (!elements) {\n continue;\n }\n elementParams.elements = elements;\n }\n elementParams.data = data;\n const element = AnnotationElementFactory.create(elementParams);\n if (!element.isRenderable) {\n continue;\n }\n if (!isPopupAnnotation && data.popupRef) {\n const elements = popupToElements.get(data.popupRef);\n if (!elements) {\n popupToElements.set(data.popupRef, [element]);\n } else {\n elements.push(element);\n }\n }\n if (element.annotationEditorType > 0) {\n this.#editableAnnotations.set(element.data.id, element);\n }\n const rendered = element.render();\n if (data.hidden) {\n rendered.style.visibility = \"hidden\";\n }\n this.#appendElement(rendered, data.id);\n }\n this.#setAnnotationCanvasMap();\n await this.l10n.translate(layer);\n }\n update({\n viewport\n }) {\n const layer = this.div;\n this.viewport = viewport;\n (0, _display_utils.setLayerDimensions)(layer, {\n rotation: viewport.rotation\n });\n this.#setAnnotationCanvasMap();\n layer.hidden = false;\n }\n #setAnnotationCanvasMap() {\n if (!this.#annotationCanvasMap) {\n return;\n }\n const layer = this.div;\n for (const [id, canvas] of this.#annotationCanvasMap) {\n const element = layer.querySelector(`[data-annotation-id=\"${id}\"]`);\n if (!element) {\n continue;\n }\n const {\n firstChild\n } = element;\n if (!firstChild) {\n element.append(canvas);\n } else if (firstChild.nodeName === \"CANVAS\") {\n firstChild.replaceWith(canvas);\n } else {\n firstChild.before(canvas);\n }\n }\n this.#annotationCanvasMap.clear();\n }\n getEditableAnnotations() {\n return Array.from(this.#editableAnnotations.values());\n }\n getEditableAnnotation(id) {\n return this.#editableAnnotations.get(id);\n }\n}\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 30 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ColorConverters = void 0;\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, \"0\");\n}\nfunction scaleAndClamp(x) {\n return Math.max(0, Math.min(255, 255 * x));\n}\nclass ColorConverters {\n static CMYK_G([c, y, m, k]) {\n return [\"G\", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n static G_CMYK([g]) {\n return [\"CMYK\", 0, 0, 0, 1 - g];\n }\n static G_RGB([g]) {\n return [\"RGB\", g, g, g];\n }\n static G_rgb([g]) {\n g = scaleAndClamp(g);\n return [g, g, g];\n }\n static G_HTML([g]) {\n const G = makeColorComp(g);\n return `#${G}${G}${G}`;\n }\n static RGB_G([r, g, b]) {\n return [\"G\", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n static RGB_rgb(color) {\n return color.map(scaleAndClamp);\n }\n static RGB_HTML(color) {\n return `#${color.map(makeColorComp).join(\"\")}`;\n }\n static T_HTML() {\n return \"#00000000\";\n }\n static T_rgb() {\n return [null];\n }\n static CMYK_RGB([c, y, m, k]) {\n return [\"RGB\", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n static CMYK_rgb([c, y, m, k]) {\n return [scaleAndClamp(1 - Math.min(1, c + k)), scaleAndClamp(1 - Math.min(1, m + k)), scaleAndClamp(1 - Math.min(1, y + k))];\n }\n static CMYK_HTML(components) {\n const rgb = this.CMYK_RGB(components).slice(1);\n return this.RGB_HTML(rgb);\n }\n static RGB_CMYK([r, g, b]) {\n const c = 1 - r;\n const m = 1 - g;\n const y = 1 - b;\n const k = Math.min(c, m, y);\n return [\"CMYK\", c, m, y, k];\n }\n}\nexports.ColorConverters = ColorConverters;\n\n/***/ }),\n/* 31 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NullL10n = void 0;\nexports.getL10nFallback = getL10nFallback;\nconst DEFAULT_L10N_STRINGS = {\n of_pages: \"of {{pagesCount}}\",\n page_of_pages: \"({{pageNumber}} of {{pagesCount}})\",\n document_properties_kb: \"{{size_kb}} KB ({{size_b}} bytes)\",\n document_properties_mb: \"{{size_mb}} MB ({{size_b}} bytes)\",\n document_properties_date_string: \"{{date}}, {{time}}\",\n document_properties_page_size_unit_inches: \"in\",\n document_properties_page_size_unit_millimeters: \"mm\",\n document_properties_page_size_orientation_portrait: \"portrait\",\n document_properties_page_size_orientation_landscape: \"landscape\",\n document_properties_page_size_name_a3: \"A3\",\n document_properties_page_size_name_a4: \"A4\",\n document_properties_page_size_name_letter: \"Letter\",\n document_properties_page_size_name_legal: \"Legal\",\n document_properties_page_size_dimension_string: \"{{width}} × {{height}} {{unit}} ({{orientation}})\",\n document_properties_page_size_dimension_name_string: \"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})\",\n document_properties_linearized_yes: \"Yes\",\n document_properties_linearized_no: \"No\",\n additional_layers: \"Additional Layers\",\n page_landmark: \"Page {{page}}\",\n thumb_page_title: \"Page {{page}}\",\n thumb_page_canvas: \"Thumbnail of Page {{page}}\",\n find_reached_top: \"Reached top of document, continued from bottom\",\n find_reached_bottom: \"Reached end of document, continued from top\",\n \"find_match_count[one]\": \"{{current}} of {{total}} match\",\n \"find_match_count[other]\": \"{{current}} of {{total}} matches\",\n \"find_match_count_limit[one]\": \"More than {{limit}} match\",\n \"find_match_count_limit[other]\": \"More than {{limit}} matches\",\n find_not_found: \"Phrase not found\",\n page_scale_width: \"Page Width\",\n page_scale_fit: \"Page Fit\",\n page_scale_auto: \"Automatic Zoom\",\n page_scale_actual: \"Actual Size\",\n page_scale_percent: \"{{scale}}%\",\n loading_error: \"An error occurred while loading the PDF.\",\n invalid_file_error: \"Invalid or corrupted PDF file.\",\n missing_file_error: \"Missing PDF file.\",\n unexpected_response_error: \"Unexpected server response.\",\n rendering_error: \"An error occurred while rendering the page.\",\n annotation_date_string: \"{{date}}, {{time}}\",\n printing_not_supported: \"Warning: Printing is not fully supported by this browser.\",\n printing_not_ready: \"Warning: The PDF is not fully loaded for printing.\",\n web_fonts_disabled: \"Web fonts are disabled: unable to use embedded PDF fonts.\",\n free_text2_default_content: \"Start typing…\",\n editor_free_text2_aria_label: \"Text Editor\",\n editor_ink2_aria_label: \"Draw Editor\",\n editor_ink_canvas_aria_label: \"User-created image\",\n editor_alt_text_button_label: \"Alt text\",\n editor_alt_text_edit_button_label: \"Edit alt text\",\n editor_alt_text_decorative_tooltip: \"Marked as decorative\"\n};\n{\n DEFAULT_L10N_STRINGS.print_progress_percent = \"{{progress}}%\";\n}\nfunction getL10nFallback(key, args) {\n switch (key) {\n case \"find_match_count\":\n key = `find_match_count[${args.total === 1 ? \"one\" : \"other\"}]`;\n break;\n case \"find_match_count_limit\":\n key = `find_match_count_limit[${args.limit === 1 ? \"one\" : \"other\"}]`;\n break;\n }\n return DEFAULT_L10N_STRINGS[key] || \"\";\n}\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n return text.replaceAll(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (all, name) => {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\nconst NullL10n = {\n async getLanguage() {\n return \"en-us\";\n },\n async getDirection() {\n return \"ltr\";\n },\n async get(key, args = null, fallback = getL10nFallback(key, args)) {\n return formatL10nValue(fallback, args);\n },\n async translate(element) {}\n};\nexports.NullL10n = NullL10n;\n\n/***/ }),\n/* 32 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayer = void 0;\nvar _xfa_text = __w_pdfjs_require__(25);\nclass XfaLayer {\n static setupStorage(html, id, element, storage, intent) {\n const storedData = storage.getValue(id, {\n value: null\n });\n switch (element.name) {\n case \"textarea\":\n if (storedData.value !== null) {\n html.textContent = storedData.value;\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n break;\n case \"input\":\n if (element.attributes.type === \"radio\" || element.attributes.type === \"checkbox\") {\n if (storedData.value === element.attributes.xfaOn) {\n html.setAttribute(\"checked\", true);\n } else if (storedData.value === element.attributes.xfaOff) {\n html.removeAttribute(\"checked\");\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"change\", event => {\n storage.setValue(id, {\n value: event.target.checked ? event.target.getAttribute(\"xfaOn\") : event.target.getAttribute(\"xfaOff\")\n });\n });\n } else {\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n }\n break;\n case \"select\":\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n for (const option of element.children) {\n if (option.attributes.value === storedData.value) {\n option.attributes.selected = true;\n } else if (option.attributes.hasOwnProperty(\"selected\")) {\n delete option.attributes.selected;\n }\n }\n }\n html.addEventListener(\"input\", event => {\n const options = event.target.options;\n const value = options.selectedIndex === -1 ? \"\" : options[options.selectedIndex].value;\n storage.setValue(id, {\n value\n });\n });\n break;\n }\n }\n static setAttributes({\n html,\n element,\n storage = null,\n intent,\n linkService\n }) {\n const {\n attributes\n } = element;\n const isHTMLAnchorElement = html instanceof HTMLAnchorElement;\n if (attributes.type === \"radio\") {\n attributes.name = `${attributes.name}-${intent}`;\n }\n for (const [key, value] of Object.entries(attributes)) {\n if (value === null || value === undefined) {\n continue;\n }\n switch (key) {\n case \"class\":\n if (value.length) {\n html.setAttribute(key, value.join(\" \"));\n }\n break;\n case \"dataId\":\n break;\n case \"id\":\n html.setAttribute(\"data-element-id\", value);\n break;\n case \"style\":\n Object.assign(html.style, value);\n break;\n case \"textContent\":\n html.textContent = value;\n break;\n default:\n if (!isHTMLAnchorElement || key !== \"href\" && key !== \"newWindow\") {\n html.setAttribute(key, value);\n }\n }\n }\n if (isHTMLAnchorElement) {\n linkService.addLinkAttributes(html, attributes.href, attributes.newWindow);\n }\n if (storage && attributes.dataId) {\n this.setupStorage(html, attributes.dataId, element, storage);\n }\n }\n static render(parameters) {\n const storage = parameters.annotationStorage;\n const linkService = parameters.linkService;\n const root = parameters.xfaHtml;\n const intent = parameters.intent || \"display\";\n const rootHtml = document.createElement(root.name);\n if (root.attributes) {\n this.setAttributes({\n html: rootHtml,\n element: root,\n intent,\n linkService\n });\n }\n const stack = [[root, -1, rootHtml]];\n const rootDiv = parameters.div;\n rootDiv.append(rootHtml);\n if (parameters.viewport) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n rootDiv.style.transform = transform;\n }\n if (intent !== \"richText\") {\n rootDiv.setAttribute(\"class\", \"xfaLayer xfaFont\");\n }\n const textDivs = [];\n while (stack.length > 0) {\n const [parent, i, html] = stack.at(-1);\n if (i + 1 === parent.children.length) {\n stack.pop();\n continue;\n }\n const child = parent.children[++stack.at(-1)[1]];\n if (child === null) {\n continue;\n }\n const {\n name\n } = child;\n if (name === \"#text\") {\n const node = document.createTextNode(child.value);\n textDivs.push(node);\n html.append(node);\n continue;\n }\n const childHtml = child?.attributes?.xmlns ? document.createElementNS(child.attributes.xmlns, name) : document.createElement(name);\n html.append(childHtml);\n if (child.attributes) {\n this.setAttributes({\n html: childHtml,\n element: child,\n storage,\n intent,\n linkService\n });\n }\n if (child.children && child.children.length > 0) {\n stack.push([child, -1, childHtml]);\n } else if (child.value) {\n const node = document.createTextNode(child.value);\n if (_xfa_text.XfaText.shouldBuildText(name)) {\n textDivs.push(node);\n }\n childHtml.append(node);\n }\n }\n for (const el of rootDiv.querySelectorAll(\".xfaNonInteractive input, .xfaNonInteractive textarea\")) {\n el.setAttribute(\"readOnly\", true);\n }\n return {\n textDivs\n };\n }\n static update(parameters) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n parameters.div.style.transform = transform;\n parameters.div.hidden = false;\n }\n}\nexports.XfaLayer = XfaLayer;\n\n/***/ }),\n/* 33 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.InkEditor = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _annotation_layer = __w_pdfjs_require__(29);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _tools = __w_pdfjs_require__(5);\nclass InkEditor extends _editor.AnnotationEditor {\n #baseHeight = 0;\n #baseWidth = 0;\n #boundCanvasPointermove = this.canvasPointermove.bind(this);\n #boundCanvasPointerleave = this.canvasPointerleave.bind(this);\n #boundCanvasPointerup = this.canvasPointerup.bind(this);\n #boundCanvasPointerdown = this.canvasPointerdown.bind(this);\n #currentPath2D = new Path2D();\n #disableEditing = false;\n #hasSomethingToDraw = false;\n #isCanvasInitialized = false;\n #observer = null;\n #realWidth = 0;\n #realHeight = 0;\n #requestFrameCallback = null;\n static _defaultColor = null;\n static _defaultOpacity = 1;\n static _defaultThickness = 1;\n static _type = \"ink\";\n constructor(params) {\n super({\n ...params,\n name: \"inkEditor\"\n });\n this.color = params.color || null;\n this.thickness = params.thickness || null;\n this.opacity = params.opacity || null;\n this.paths = [];\n this.bezierPath2D = [];\n this.allRawPaths = [];\n this.currentPath = [];\n this.scaleFactor = 1;\n this.translationX = this.translationY = 0;\n this.x = 0;\n this.y = 0;\n this._willKeepAspectRatio = true;\n }\n static initialize(l10n) {\n _editor.AnnotationEditor.initialize(l10n, {\n strings: [\"editor_ink_canvas_aria_label\", \"editor_ink2_aria_label\"]\n });\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.INK_THICKNESS:\n InkEditor._defaultThickness = value;\n break;\n case _util.AnnotationEditorParamsType.INK_COLOR:\n InkEditor._defaultColor = value;\n break;\n case _util.AnnotationEditorParamsType.INK_OPACITY:\n InkEditor._defaultOpacity = value / 100;\n break;\n }\n }\n updateParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.INK_THICKNESS:\n this.#updateThickness(value);\n break;\n case _util.AnnotationEditorParamsType.INK_COLOR:\n this.#updateColor(value);\n break;\n case _util.AnnotationEditorParamsType.INK_OPACITY:\n this.#updateOpacity(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.INK_THICKNESS, InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(InkEditor._defaultOpacity * 100)]];\n }\n get propertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.INK_THICKNESS, this.thickness || InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, this.color || InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(100 * (this.opacity ?? InkEditor._defaultOpacity))]];\n }\n #updateThickness(thickness) {\n const savedThickness = this.thickness;\n this.addCommands({\n cmd: () => {\n this.thickness = thickness;\n this.#fitToContent();\n },\n undo: () => {\n this.thickness = savedThickness;\n this.#fitToContent();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_THICKNESS,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateColor(color) {\n const savedColor = this.color;\n this.addCommands({\n cmd: () => {\n this.color = color;\n this.#redraw();\n },\n undo: () => {\n this.color = savedColor;\n this.#redraw();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateOpacity(opacity) {\n opacity /= 100;\n const savedOpacity = this.opacity;\n this.addCommands({\n cmd: () => {\n this.opacity = opacity;\n this.#redraw();\n },\n undo: () => {\n this.opacity = savedOpacity;\n this.#redraw();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_OPACITY,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n rebuild() {\n if (!this.parent) {\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (!this.canvas) {\n this.#createCanvas();\n this.#createObserver();\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n this.#setCanvasDims();\n }\n this.#fitToContent();\n }\n remove() {\n if (this.canvas === null) {\n return;\n }\n if (!this.isEmpty()) {\n this.commit();\n }\n this.canvas.width = this.canvas.height = 0;\n this.canvas.remove();\n this.canvas = null;\n this.#observer.disconnect();\n this.#observer = null;\n super.remove();\n }\n setParent(parent) {\n if (!this.parent && parent) {\n this._uiManager.removeShouldRescale(this);\n } else if (this.parent && parent === null) {\n this._uiManager.addShouldRescale(this);\n }\n super.setParent(parent);\n }\n onScaleChanging() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const width = this.width * parentWidth;\n const height = this.height * parentHeight;\n this.setDimensions(width, height);\n }\n enableEditMode() {\n if (this.#disableEditing || this.canvas === null) {\n return;\n }\n super.enableEditMode();\n this._isDraggable = false;\n this.canvas.addEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n }\n disableEditMode() {\n if (!this.isInEditMode() || this.canvas === null) {\n return;\n }\n super.disableEditMode();\n this._isDraggable = !this.isEmpty();\n this.div.classList.remove(\"editing\");\n this.canvas.removeEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n }\n onceAdded() {\n this._isDraggable = !this.isEmpty();\n }\n isEmpty() {\n return this.paths.length === 0 || this.paths.length === 1 && this.paths[0].length === 0;\n }\n #getInitialBBox() {\n const {\n parentRotation,\n parentDimensions: [width, height]\n } = this;\n switch (parentRotation) {\n case 90:\n return [0, height, height, width];\n case 180:\n return [width, height, width, height];\n case 270:\n return [width, 0, height, width];\n default:\n return [0, 0, width, height];\n }\n }\n #setStroke() {\n const {\n ctx,\n color,\n opacity,\n thickness,\n parentScale,\n scaleFactor\n } = this;\n ctx.lineWidth = thickness * parentScale / scaleFactor;\n ctx.lineCap = \"round\";\n ctx.lineJoin = \"round\";\n ctx.miterLimit = 10;\n ctx.strokeStyle = `${color}${(0, _tools.opacityToHex)(opacity)}`;\n }\n #startDrawing(x, y) {\n this.canvas.addEventListener(\"contextmenu\", _display_utils.noContextMenu);\n this.canvas.addEventListener(\"pointerleave\", this.#boundCanvasPointerleave);\n this.canvas.addEventListener(\"pointermove\", this.#boundCanvasPointermove);\n this.canvas.addEventListener(\"pointerup\", this.#boundCanvasPointerup);\n this.canvas.removeEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n this.isEditing = true;\n if (!this.#isCanvasInitialized) {\n this.#isCanvasInitialized = true;\n this.#setCanvasDims();\n this.thickness ||= InkEditor._defaultThickness;\n this.color ||= InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor;\n this.opacity ??= InkEditor._defaultOpacity;\n }\n this.currentPath.push([x, y]);\n this.#hasSomethingToDraw = false;\n this.#setStroke();\n this.#requestFrameCallback = () => {\n this.#drawPoints();\n if (this.#requestFrameCallback) {\n window.requestAnimationFrame(this.#requestFrameCallback);\n }\n };\n window.requestAnimationFrame(this.#requestFrameCallback);\n }\n #draw(x, y) {\n const [lastX, lastY] = this.currentPath.at(-1);\n if (this.currentPath.length > 1 && x === lastX && y === lastY) {\n return;\n }\n const currentPath = this.currentPath;\n let path2D = this.#currentPath2D;\n currentPath.push([x, y]);\n this.#hasSomethingToDraw = true;\n if (currentPath.length <= 2) {\n path2D.moveTo(...currentPath[0]);\n path2D.lineTo(x, y);\n return;\n }\n if (currentPath.length === 3) {\n this.#currentPath2D = path2D = new Path2D();\n path2D.moveTo(...currentPath[0]);\n }\n this.#makeBezierCurve(path2D, ...currentPath.at(-3), ...currentPath.at(-2), x, y);\n }\n #endPath() {\n if (this.currentPath.length === 0) {\n return;\n }\n const lastPoint = this.currentPath.at(-1);\n this.#currentPath2D.lineTo(...lastPoint);\n }\n #stopDrawing(x, y) {\n this.#requestFrameCallback = null;\n x = Math.min(Math.max(x, 0), this.canvas.width);\n y = Math.min(Math.max(y, 0), this.canvas.height);\n this.#draw(x, y);\n this.#endPath();\n let bezier;\n if (this.currentPath.length !== 1) {\n bezier = this.#generateBezierPoints();\n } else {\n const xy = [x, y];\n bezier = [[xy, xy.slice(), xy.slice(), xy]];\n }\n const path2D = this.#currentPath2D;\n const currentPath = this.currentPath;\n this.currentPath = [];\n this.#currentPath2D = new Path2D();\n const cmd = () => {\n this.allRawPaths.push(currentPath);\n this.paths.push(bezier);\n this.bezierPath2D.push(path2D);\n this.rebuild();\n };\n const undo = () => {\n this.allRawPaths.pop();\n this.paths.pop();\n this.bezierPath2D.pop();\n if (this.paths.length === 0) {\n this.remove();\n } else {\n if (!this.canvas) {\n this.#createCanvas();\n this.#createObserver();\n }\n this.#fitToContent();\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n #drawPoints() {\n if (!this.#hasSomethingToDraw) {\n return;\n }\n this.#hasSomethingToDraw = false;\n const thickness = Math.ceil(this.thickness * this.parentScale);\n const lastPoints = this.currentPath.slice(-3);\n const x = lastPoints.map(xy => xy[0]);\n const y = lastPoints.map(xy => xy[1]);\n const xMin = Math.min(...x) - thickness;\n const xMax = Math.max(...x) + thickness;\n const yMin = Math.min(...y) - thickness;\n const yMax = Math.max(...y) + thickness;\n const {\n ctx\n } = this;\n ctx.save();\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n for (const path of this.bezierPath2D) {\n ctx.stroke(path);\n }\n ctx.stroke(this.#currentPath2D);\n ctx.restore();\n }\n #makeBezierCurve(path2D, x0, y0, x1, y1, x2, y2) {\n const prevX = (x0 + x1) / 2;\n const prevY = (y0 + y1) / 2;\n const x3 = (x1 + x2) / 2;\n const y3 = (y1 + y2) / 2;\n path2D.bezierCurveTo(prevX + 2 * (x1 - prevX) / 3, prevY + 2 * (y1 - prevY) / 3, x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3, x3, y3);\n }\n #generateBezierPoints() {\n const path = this.currentPath;\n if (path.length <= 2) {\n return [[path[0], path[0], path.at(-1), path.at(-1)]];\n }\n const bezierPoints = [];\n let i;\n let [x0, y0] = path[0];\n for (i = 1; i < path.length - 2; i++) {\n const [x1, y1] = path[i];\n const [x2, y2] = path[i + 1];\n const x3 = (x1 + x2) / 2;\n const y3 = (y1 + y2) / 2;\n const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3];\n const control2 = [x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3];\n bezierPoints.push([[x0, y0], control1, control2, [x3, y3]]);\n [x0, y0] = [x3, y3];\n }\n const [x1, y1] = path[i];\n const [x2, y2] = path[i + 1];\n const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3];\n const control2 = [x2 + 2 * (x1 - x2) / 3, y2 + 2 * (y1 - y2) / 3];\n bezierPoints.push([[x0, y0], control1, control2, [x2, y2]]);\n return bezierPoints;\n }\n #redraw() {\n if (this.isEmpty()) {\n this.#updateTransform();\n return;\n }\n this.#setStroke();\n const {\n canvas,\n ctx\n } = this;\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n this.#updateTransform();\n for (const path of this.bezierPath2D) {\n ctx.stroke(path);\n }\n }\n commit() {\n if (this.#disableEditing) {\n return;\n }\n super.commit();\n this.isEditing = false;\n this.disableEditMode();\n this.setInForeground();\n this.#disableEditing = true;\n this.div.classList.add(\"disabled\");\n this.#fitToContent(true);\n this.makeResizable();\n this.parent.addInkEditorIfNeeded(true);\n this.moveInDOM();\n this.div.focus({\n preventScroll: true\n });\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n super.focusin(event);\n this.enableEditMode();\n }\n canvasPointerdown(event) {\n if (event.button !== 0 || !this.isInEditMode() || this.#disableEditing) {\n return;\n }\n this.setInForeground();\n event.preventDefault();\n if (event.type !== \"mouse\") {\n this.div.focus();\n }\n this.#startDrawing(event.offsetX, event.offsetY);\n }\n canvasPointermove(event) {\n event.preventDefault();\n this.#draw(event.offsetX, event.offsetY);\n }\n canvasPointerup(event) {\n event.preventDefault();\n this.#endDrawing(event);\n }\n canvasPointerleave(event) {\n this.#endDrawing(event);\n }\n #endDrawing(event) {\n this.canvas.removeEventListener(\"pointerleave\", this.#boundCanvasPointerleave);\n this.canvas.removeEventListener(\"pointermove\", this.#boundCanvasPointermove);\n this.canvas.removeEventListener(\"pointerup\", this.#boundCanvasPointerup);\n this.canvas.addEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n setTimeout(() => {\n this.canvas.removeEventListener(\"contextmenu\", _display_utils.noContextMenu);\n }, 10);\n this.#stopDrawing(event.offsetX, event.offsetY);\n this.addToAnnotationStorage();\n this.setInBackground();\n }\n #createCanvas() {\n this.canvas = document.createElement(\"canvas\");\n this.canvas.width = this.canvas.height = 0;\n this.canvas.className = \"inkEditorCanvas\";\n _editor.AnnotationEditor._l10nPromise.get(\"editor_ink_canvas_aria_label\").then(msg => this.canvas?.setAttribute(\"aria-label\", msg));\n this.div.append(this.canvas);\n this.ctx = this.canvas.getContext(\"2d\");\n }\n #createObserver() {\n this.#observer = new ResizeObserver(entries => {\n const rect = entries[0].contentRect;\n if (rect.width && rect.height) {\n this.setDimensions(rect.width, rect.height);\n }\n });\n this.#observer.observe(this.div);\n }\n get isResizable() {\n return !this.isEmpty() && this.#disableEditing;\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n _editor.AnnotationEditor._l10nPromise.get(\"editor_ink2_aria_label\").then(msg => this.div?.setAttribute(\"aria-label\", msg));\n const [x, y, w, h] = this.#getInitialBBox();\n this.setAt(x, y, 0, 0);\n this.setDims(w, h);\n this.#createCanvas();\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setAspectRatio(this.width * parentWidth, this.height * parentHeight);\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n this.#isCanvasInitialized = true;\n this.#setCanvasDims();\n this.setDims(this.width * parentWidth, this.height * parentHeight);\n this.#redraw();\n this.div.classList.add(\"disabled\");\n } else {\n this.div.classList.add(\"editing\");\n this.enableEditMode();\n }\n this.#createObserver();\n return this.div;\n }\n #setCanvasDims() {\n if (!this.#isCanvasInitialized) {\n return;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.canvas.width = Math.ceil(this.width * parentWidth);\n this.canvas.height = Math.ceil(this.height * parentHeight);\n this.#updateTransform();\n }\n setDimensions(width, height) {\n const roundedWidth = Math.round(width);\n const roundedHeight = Math.round(height);\n if (this.#realWidth === roundedWidth && this.#realHeight === roundedHeight) {\n return;\n }\n this.#realWidth = roundedWidth;\n this.#realHeight = roundedHeight;\n this.canvas.style.visibility = \"hidden\";\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.fixAndSetPosition();\n if (this.#disableEditing) {\n this.#setScaleFactor(width, height);\n }\n this.#setCanvasDims();\n this.#redraw();\n this.canvas.style.visibility = \"visible\";\n this.fixDims();\n }\n #setScaleFactor(width, height) {\n const padding = this.#getPadding();\n const scaleFactorW = (width - padding) / this.#baseWidth;\n const scaleFactorH = (height - padding) / this.#baseHeight;\n this.scaleFactor = Math.min(scaleFactorW, scaleFactorH);\n }\n #updateTransform() {\n const padding = this.#getPadding() / 2;\n this.ctx.setTransform(this.scaleFactor, 0, 0, this.scaleFactor, this.translationX * this.scaleFactor + padding, this.translationY * this.scaleFactor + padding);\n }\n static #buildPath2D(bezier) {\n const path2D = new Path2D();\n for (let i = 0, ii = bezier.length; i < ii; i++) {\n const [first, control1, control2, second] = bezier[i];\n if (i === 0) {\n path2D.moveTo(...first);\n }\n path2D.bezierCurveTo(control1[0], control1[1], control2[0], control2[1], second[0], second[1]);\n }\n return path2D;\n }\n static #toPDFCoordinates(points, rect, rotation) {\n const [blX, blY, trX, trY] = rect;\n switch (rotation) {\n case 0:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] += blX;\n points[i + 1] = trY - points[i + 1];\n }\n break;\n case 90:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = points[i + 1] + blX;\n points[i + 1] = x + blY;\n }\n break;\n case 180:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] = trX - points[i];\n points[i + 1] += blY;\n }\n break;\n case 270:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = trX - points[i + 1];\n points[i + 1] = trY - x;\n }\n break;\n default:\n throw new Error(\"Invalid rotation\");\n }\n return points;\n }\n static #fromPDFCoordinates(points, rect, rotation) {\n const [blX, blY, trX, trY] = rect;\n switch (rotation) {\n case 0:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] -= blX;\n points[i + 1] = trY - points[i + 1];\n }\n break;\n case 90:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = points[i + 1] - blY;\n points[i + 1] = x - blX;\n }\n break;\n case 180:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] = trX - points[i];\n points[i + 1] -= blY;\n }\n break;\n case 270:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = trY - points[i + 1];\n points[i + 1] = trX - x;\n }\n break;\n default:\n throw new Error(\"Invalid rotation\");\n }\n return points;\n }\n #serializePaths(s, tx, ty, rect) {\n const paths = [];\n const padding = this.thickness / 2;\n const shiftX = s * tx + padding;\n const shiftY = s * ty + padding;\n for (const bezier of this.paths) {\n const buffer = [];\n const points = [];\n for (let j = 0, jj = bezier.length; j < jj; j++) {\n const [first, control1, control2, second] = bezier[j];\n const p10 = s * first[0] + shiftX;\n const p11 = s * first[1] + shiftY;\n const p20 = s * control1[0] + shiftX;\n const p21 = s * control1[1] + shiftY;\n const p30 = s * control2[0] + shiftX;\n const p31 = s * control2[1] + shiftY;\n const p40 = s * second[0] + shiftX;\n const p41 = s * second[1] + shiftY;\n if (j === 0) {\n buffer.push(p10, p11);\n points.push(p10, p11);\n }\n buffer.push(p20, p21, p30, p31, p40, p41);\n points.push(p20, p21);\n if (j === jj - 1) {\n points.push(p40, p41);\n }\n }\n paths.push({\n bezier: InkEditor.#toPDFCoordinates(buffer, rect, this.rotation),\n points: InkEditor.#toPDFCoordinates(points, rect, this.rotation)\n });\n }\n return paths;\n }\n #getBbox() {\n let xMin = Infinity;\n let xMax = -Infinity;\n let yMin = Infinity;\n let yMax = -Infinity;\n for (const path of this.paths) {\n for (const [first, control1, control2, second] of path) {\n const bbox = _util.Util.bezierBoundingBox(...first, ...control1, ...control2, ...second);\n xMin = Math.min(xMin, bbox[0]);\n yMin = Math.min(yMin, bbox[1]);\n xMax = Math.max(xMax, bbox[2]);\n yMax = Math.max(yMax, bbox[3]);\n }\n }\n return [xMin, yMin, xMax, yMax];\n }\n #getPadding() {\n return this.#disableEditing ? Math.ceil(this.thickness * this.parentScale) : 0;\n }\n #fitToContent(firstTime = false) {\n if (this.isEmpty()) {\n return;\n }\n if (!this.#disableEditing) {\n this.#redraw();\n return;\n }\n const bbox = this.#getBbox();\n const padding = this.#getPadding();\n this.#baseWidth = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]);\n this.#baseHeight = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]);\n const width = Math.ceil(padding + this.#baseWidth * this.scaleFactor);\n const height = Math.ceil(padding + this.#baseHeight * this.scaleFactor);\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.setAspectRatio(width, height);\n const prevTranslationX = this.translationX;\n const prevTranslationY = this.translationY;\n this.translationX = -bbox[0];\n this.translationY = -bbox[1];\n this.#setCanvasDims();\n this.#redraw();\n this.#realWidth = width;\n this.#realHeight = height;\n this.setDims(width, height);\n const unscaledPadding = firstTime ? padding / this.scaleFactor / 2 : 0;\n this.translate(prevTranslationX - this.translationX - unscaledPadding, prevTranslationY - this.translationY - unscaledPadding);\n }\n static deserialize(data, parent, uiManager) {\n if (data instanceof _annotation_layer.InkAnnotationElement) {\n return null;\n }\n const editor = super.deserialize(data, parent, uiManager);\n editor.thickness = data.thickness;\n editor.color = _util.Util.makeHexColor(...data.color);\n editor.opacity = data.opacity;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const width = editor.width * pageWidth;\n const height = editor.height * pageHeight;\n const scaleFactor = editor.parentScale;\n const padding = data.thickness / 2;\n editor.#disableEditing = true;\n editor.#realWidth = Math.round(width);\n editor.#realHeight = Math.round(height);\n const {\n paths,\n rect,\n rotation\n } = data;\n for (let {\n bezier\n } of paths) {\n bezier = InkEditor.#fromPDFCoordinates(bezier, rect, rotation);\n const path = [];\n editor.paths.push(path);\n let p0 = scaleFactor * (bezier[0] - padding);\n let p1 = scaleFactor * (bezier[1] - padding);\n for (let i = 2, ii = bezier.length; i < ii; i += 6) {\n const p10 = scaleFactor * (bezier[i] - padding);\n const p11 = scaleFactor * (bezier[i + 1] - padding);\n const p20 = scaleFactor * (bezier[i + 2] - padding);\n const p21 = scaleFactor * (bezier[i + 3] - padding);\n const p30 = scaleFactor * (bezier[i + 4] - padding);\n const p31 = scaleFactor * (bezier[i + 5] - padding);\n path.push([[p0, p1], [p10, p11], [p20, p21], [p30, p31]]);\n p0 = p30;\n p1 = p31;\n }\n const path2D = this.#buildPath2D(path);\n editor.bezierPath2D.push(path2D);\n }\n const bbox = editor.#getBbox();\n editor.#baseWidth = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]);\n editor.#baseHeight = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]);\n editor.#setScaleFactor(width, height);\n return editor;\n }\n serialize() {\n if (this.isEmpty()) {\n return null;\n }\n const rect = this.getRect(0, 0);\n const color = _editor.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);\n return {\n annotationType: _util.AnnotationEditorType.INK,\n color,\n thickness: this.thickness,\n opacity: this.opacity,\n paths: this.#serializePaths(this.scaleFactor / this.parentScale, this.translationX, this.translationY, rect),\n pageIndex: this.pageIndex,\n rect,\n rotation: this.rotation,\n structTreeParentId: this._structTreeParentId\n };\n }\n}\nexports.InkEditor = InkEditor;\n\n/***/ }),\n/* 34 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StampEditor = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _annotation_layer = __w_pdfjs_require__(29);\nclass StampEditor extends _editor.AnnotationEditor {\n #bitmap = null;\n #bitmapId = null;\n #bitmapPromise = null;\n #bitmapUrl = null;\n #bitmapFile = null;\n #canvas = null;\n #observer = null;\n #resizeTimeoutId = null;\n #isSvg = false;\n #hasBeenAddedInUndoStack = false;\n static _type = \"stamp\";\n constructor(params) {\n super({\n ...params,\n name: \"stampEditor\"\n });\n this.#bitmapUrl = params.bitmapUrl;\n this.#bitmapFile = params.bitmapFile;\n }\n static initialize(l10n) {\n _editor.AnnotationEditor.initialize(l10n);\n }\n static get supportedTypes() {\n const types = [\"apng\", \"avif\", \"bmp\", \"gif\", \"jpeg\", \"png\", \"svg+xml\", \"webp\", \"x-icon\"];\n return (0, _util.shadow)(this, \"supportedTypes\", types.map(type => `image/${type}`));\n }\n static get supportedTypesStr() {\n return (0, _util.shadow)(this, \"supportedTypesStr\", this.supportedTypes.join(\",\"));\n }\n static isHandlingMimeForPasting(mime) {\n return this.supportedTypes.includes(mime);\n }\n static paste(item, parent) {\n parent.pasteEditor(_util.AnnotationEditorType.STAMP, {\n bitmapFile: item.getAsFile()\n });\n }\n #getBitmapFetched(data, fromId = false) {\n if (!data) {\n this.remove();\n return;\n }\n this.#bitmap = data.bitmap;\n if (!fromId) {\n this.#bitmapId = data.id;\n this.#isSvg = data.isSvg;\n }\n this.#createCanvas();\n }\n #getBitmapDone() {\n this.#bitmapPromise = null;\n this._uiManager.enableWaiting(false);\n if (this.#canvas) {\n this.div.focus();\n }\n }\n #getBitmap() {\n if (this.#bitmapId) {\n this._uiManager.enableWaiting(true);\n this._uiManager.imageManager.getFromId(this.#bitmapId).then(data => this.#getBitmapFetched(data, true)).finally(() => this.#getBitmapDone());\n return;\n }\n if (this.#bitmapUrl) {\n const url = this.#bitmapUrl;\n this.#bitmapUrl = null;\n this._uiManager.enableWaiting(true);\n this.#bitmapPromise = this._uiManager.imageManager.getFromUrl(url).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone());\n return;\n }\n if (this.#bitmapFile) {\n const file = this.#bitmapFile;\n this.#bitmapFile = null;\n this._uiManager.enableWaiting(true);\n this.#bitmapPromise = this._uiManager.imageManager.getFromFile(file).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone());\n return;\n }\n const input = document.createElement(\"input\");\n input.type = \"file\";\n input.accept = StampEditor.supportedTypesStr;\n this.#bitmapPromise = new Promise(resolve => {\n input.addEventListener(\"change\", async () => {\n if (!input.files || input.files.length === 0) {\n this.remove();\n } else {\n this._uiManager.enableWaiting(true);\n const data = await this._uiManager.imageManager.getFromFile(input.files[0]);\n this.#getBitmapFetched(data);\n }\n resolve();\n });\n input.addEventListener(\"cancel\", () => {\n this.remove();\n resolve();\n });\n }).finally(() => this.#getBitmapDone());\n input.click();\n }\n remove() {\n if (this.#bitmapId) {\n this.#bitmap = null;\n this._uiManager.imageManager.deleteId(this.#bitmapId);\n this.#canvas?.remove();\n this.#canvas = null;\n this.#observer?.disconnect();\n this.#observer = null;\n }\n super.remove();\n }\n rebuild() {\n if (!this.parent) {\n if (this.#bitmapId) {\n this.#getBitmap();\n }\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (this.#bitmapId) {\n this.#getBitmap();\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n onceAdded() {\n this._isDraggable = true;\n this.div.focus();\n }\n isEmpty() {\n return !(this.#bitmapPromise || this.#bitmap || this.#bitmapUrl || this.#bitmapFile);\n }\n get isResizable() {\n return true;\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n this.div.hidden = true;\n if (this.#bitmap) {\n this.#createCanvas();\n } else {\n this.#getBitmap();\n }\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n }\n return this.div;\n }\n #createCanvas() {\n const {\n div\n } = this;\n let {\n width,\n height\n } = this.#bitmap;\n const [pageWidth, pageHeight] = this.pageDimensions;\n const MAX_RATIO = 0.75;\n if (this.width) {\n width = this.width * pageWidth;\n height = this.height * pageHeight;\n } else if (width > MAX_RATIO * pageWidth || height > MAX_RATIO * pageHeight) {\n const factor = Math.min(MAX_RATIO * pageWidth / width, MAX_RATIO * pageHeight / height);\n width *= factor;\n height *= factor;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(width * parentWidth / pageWidth, height * parentHeight / pageHeight);\n this._uiManager.enableWaiting(false);\n const canvas = this.#canvas = document.createElement(\"canvas\");\n div.append(canvas);\n div.hidden = false;\n this.#drawBitmap(width, height);\n this.#createObserver();\n if (!this.#hasBeenAddedInUndoStack) {\n this.parent.addUndoableEditor(this);\n this.#hasBeenAddedInUndoStack = true;\n }\n this._uiManager._eventBus.dispatch(\"reporttelemetry\", {\n source: this,\n details: {\n type: \"editing\",\n subtype: this.editorType,\n data: {\n action: \"inserted_image\"\n }\n }\n });\n this.addAltTextButton();\n }\n #setDimensions(width, height) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.setDims(width, height);\n if (this._initialOptions?.isCentered) {\n this.center();\n } else {\n this.fixAndSetPosition();\n }\n this._initialOptions = null;\n if (this.#resizeTimeoutId !== null) {\n clearTimeout(this.#resizeTimeoutId);\n }\n const TIME_TO_WAIT = 200;\n this.#resizeTimeoutId = setTimeout(() => {\n this.#resizeTimeoutId = null;\n this.#drawBitmap(width, height);\n }, TIME_TO_WAIT);\n }\n #scaleBitmap(width, height) {\n const {\n width: bitmapWidth,\n height: bitmapHeight\n } = this.#bitmap;\n let newWidth = bitmapWidth;\n let newHeight = bitmapHeight;\n let bitmap = this.#bitmap;\n while (newWidth > 2 * width || newHeight > 2 * height) {\n const prevWidth = newWidth;\n const prevHeight = newHeight;\n if (newWidth > 2 * width) {\n newWidth = newWidth >= 16384 ? Math.floor(newWidth / 2) - 1 : Math.ceil(newWidth / 2);\n }\n if (newHeight > 2 * height) {\n newHeight = newHeight >= 16384 ? Math.floor(newHeight / 2) - 1 : Math.ceil(newHeight / 2);\n }\n const offscreen = new OffscreenCanvas(newWidth, newHeight);\n const ctx = offscreen.getContext(\"2d\");\n ctx.drawImage(bitmap, 0, 0, prevWidth, prevHeight, 0, 0, newWidth, newHeight);\n bitmap = offscreen.transferToImageBitmap();\n }\n return bitmap;\n }\n #drawBitmap(width, height) {\n width = Math.ceil(width);\n height = Math.ceil(height);\n const canvas = this.#canvas;\n if (!canvas || canvas.width === width && canvas.height === height) {\n return;\n }\n canvas.width = width;\n canvas.height = height;\n const bitmap = this.#isSvg ? this.#bitmap : this.#scaleBitmap(width, height);\n const ctx = canvas.getContext(\"2d\");\n ctx.filter = this._uiManager.hcmFilter;\n ctx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, width, height);\n }\n #serializeBitmap(toUrl) {\n if (toUrl) {\n if (this.#isSvg) {\n const url = this._uiManager.imageManager.getSvgUrl(this.#bitmapId);\n if (url) {\n return url;\n }\n }\n const canvas = document.createElement(\"canvas\");\n ({\n width: canvas.width,\n height: canvas.height\n } = this.#bitmap);\n const ctx = canvas.getContext(\"2d\");\n ctx.drawImage(this.#bitmap, 0, 0);\n return canvas.toDataURL();\n }\n if (this.#isSvg) {\n const [pageWidth, pageHeight] = this.pageDimensions;\n const width = Math.round(this.width * pageWidth * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n const height = Math.round(this.height * pageHeight * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n const offscreen = new OffscreenCanvas(width, height);\n const ctx = offscreen.getContext(\"2d\");\n ctx.drawImage(this.#bitmap, 0, 0, this.#bitmap.width, this.#bitmap.height, 0, 0, width, height);\n return offscreen.transferToImageBitmap();\n }\n return structuredClone(this.#bitmap);\n }\n #createObserver() {\n this.#observer = new ResizeObserver(entries => {\n const rect = entries[0].contentRect;\n if (rect.width && rect.height) {\n this.#setDimensions(rect.width, rect.height);\n }\n });\n this.#observer.observe(this.div);\n }\n static deserialize(data, parent, uiManager) {\n if (data instanceof _annotation_layer.StampAnnotationElement) {\n return null;\n }\n const editor = super.deserialize(data, parent, uiManager);\n const {\n rect,\n bitmapUrl,\n bitmapId,\n isSvg,\n accessibilityData\n } = data;\n if (bitmapId && uiManager.imageManager.isValidId(bitmapId)) {\n editor.#bitmapId = bitmapId;\n } else {\n editor.#bitmapUrl = bitmapUrl;\n }\n editor.#isSvg = isSvg;\n const [parentWidth, parentHeight] = editor.pageDimensions;\n editor.width = (rect[2] - rect[0]) / parentWidth;\n editor.height = (rect[3] - rect[1]) / parentHeight;\n if (accessibilityData) {\n editor.altTextData = accessibilityData;\n }\n return editor;\n }\n serialize(isForCopying = false, context = null) {\n if (this.isEmpty()) {\n return null;\n }\n const serialized = {\n annotationType: _util.AnnotationEditorType.STAMP,\n bitmapId: this.#bitmapId,\n pageIndex: this.pageIndex,\n rect: this.getRect(0, 0),\n rotation: this.rotation,\n isSvg: this.#isSvg,\n structTreeParentId: this._structTreeParentId\n };\n if (isForCopying) {\n serialized.bitmapUrl = this.#serializeBitmap(true);\n serialized.accessibilityData = this.altTextData;\n return serialized;\n }\n const {\n decorative,\n altText\n } = this.altTextData;\n if (!decorative && altText) {\n serialized.accessibilityData = {\n type: \"Figure\",\n alt: altText\n };\n }\n if (context === null) {\n return serialized;\n }\n context.stamps ||= new Map();\n const area = this.#isSvg ? (serialized.rect[2] - serialized.rect[0]) * (serialized.rect[3] - serialized.rect[1]) : null;\n if (!context.stamps.has(this.#bitmapId)) {\n context.stamps.set(this.#bitmapId, {\n area,\n serialized\n });\n serialized.bitmap = this.#serializeBitmap(false);\n } else if (this.#isSvg) {\n const prevData = context.stamps.get(this.#bitmapId);\n if (area > prevData.area) {\n prevData.area = area;\n prevData.serialized.bitmap.close();\n prevData.serialized.bitmap = this.#serializeBitmap(false);\n }\n }\n return serialized;\n }\n}\nexports.StampEditor = StampEditor;\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AbortException\", ({\n enumerable: true,\n get: function () {\n return _util.AbortException;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_editor_layer.AnnotationEditorLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorParamsType\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationEditorParamsType;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorType\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationEditorType;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorUIManager\", ({\n enumerable: true,\n get: function () {\n return _tools.AnnotationEditorUIManager;\n }\n}));\nObject.defineProperty(exports, \"AnnotationLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_layer.AnnotationLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationMode\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationMode;\n }\n}));\nObject.defineProperty(exports, \"CMapCompressionType\", ({\n enumerable: true,\n get: function () {\n return _util.CMapCompressionType;\n }\n}));\nObject.defineProperty(exports, \"DOMSVGFactory\", ({\n enumerable: true,\n get: function () {\n return _display_utils.DOMSVGFactory;\n }\n}));\nObject.defineProperty(exports, \"FeatureTest\", ({\n enumerable: true,\n get: function () {\n return _util.FeatureTest;\n }\n}));\nObject.defineProperty(exports, \"GlobalWorkerOptions\", ({\n enumerable: true,\n get: function () {\n return _worker_options.GlobalWorkerOptions;\n }\n}));\nObject.defineProperty(exports, \"ImageKind\", ({\n enumerable: true,\n get: function () {\n return _util.ImageKind;\n }\n}));\nObject.defineProperty(exports, \"InvalidPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.InvalidPDFException;\n }\n}));\nObject.defineProperty(exports, \"MissingPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.MissingPDFException;\n }\n}));\nObject.defineProperty(exports, \"OPS\", ({\n enumerable: true,\n get: function () {\n return _util.OPS;\n }\n}));\nObject.defineProperty(exports, \"PDFDataRangeTransport\", ({\n enumerable: true,\n get: function () {\n return _api.PDFDataRangeTransport;\n }\n}));\nObject.defineProperty(exports, \"PDFDateString\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PDFDateString;\n }\n}));\nObject.defineProperty(exports, \"PDFWorker\", ({\n enumerable: true,\n get: function () {\n return _api.PDFWorker;\n }\n}));\nObject.defineProperty(exports, \"PasswordResponses\", ({\n enumerable: true,\n get: function () {\n return _util.PasswordResponses;\n }\n}));\nObject.defineProperty(exports, \"PermissionFlag\", ({\n enumerable: true,\n get: function () {\n return _util.PermissionFlag;\n }\n}));\nObject.defineProperty(exports, \"PixelsPerInch\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PixelsPerInch;\n }\n}));\nObject.defineProperty(exports, \"PromiseCapability\", ({\n enumerable: true,\n get: function () {\n return _util.PromiseCapability;\n }\n}));\nObject.defineProperty(exports, \"RenderingCancelledException\", ({\n enumerable: true,\n get: function () {\n return _display_utils.RenderingCancelledException;\n }\n}));\nObject.defineProperty(exports, \"SVGGraphics\", ({\n enumerable: true,\n get: function () {\n return _api.SVGGraphics;\n }\n}));\nObject.defineProperty(exports, \"UnexpectedResponseException\", ({\n enumerable: true,\n get: function () {\n return _util.UnexpectedResponseException;\n }\n}));\nObject.defineProperty(exports, \"Util\", ({\n enumerable: true,\n get: function () {\n return _util.Util;\n }\n}));\nObject.defineProperty(exports, \"VerbosityLevel\", ({\n enumerable: true,\n get: function () {\n return _util.VerbosityLevel;\n }\n}));\nObject.defineProperty(exports, \"XfaLayer\", ({\n enumerable: true,\n get: function () {\n return _xfa_layer.XfaLayer;\n }\n}));\nObject.defineProperty(exports, \"build\", ({\n enumerable: true,\n get: function () {\n return _api.build;\n }\n}));\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", ({\n enumerable: true,\n get: function () {\n return _util.createValidAbsoluteUrl;\n }\n}));\nObject.defineProperty(exports, \"getDocument\", ({\n enumerable: true,\n get: function () {\n return _api.getDocument;\n }\n}));\nObject.defineProperty(exports, \"getFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getPdfFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getPdfFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getXfaPageViewport\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getXfaPageViewport;\n }\n}));\nObject.defineProperty(exports, \"isDataScheme\", ({\n enumerable: true,\n get: function () {\n return _display_utils.isDataScheme;\n }\n}));\nObject.defineProperty(exports, \"isPdfFile\", ({\n enumerable: true,\n get: function () {\n return _display_utils.isPdfFile;\n }\n}));\nObject.defineProperty(exports, \"loadScript\", ({\n enumerable: true,\n get: function () {\n return _display_utils.loadScript;\n }\n}));\nObject.defineProperty(exports, \"noContextMenu\", ({\n enumerable: true,\n get: function () {\n return _display_utils.noContextMenu;\n }\n}));\nObject.defineProperty(exports, \"normalizeUnicode\", ({\n enumerable: true,\n get: function () {\n return _util.normalizeUnicode;\n }\n}));\nObject.defineProperty(exports, \"renderTextLayer\", ({\n enumerable: true,\n get: function () {\n return _text_layer.renderTextLayer;\n }\n}));\nObject.defineProperty(exports, \"setLayerDimensions\", ({\n enumerable: true,\n get: function () {\n return _display_utils.setLayerDimensions;\n }\n}));\nObject.defineProperty(exports, \"shadow\", ({\n enumerable: true,\n get: function () {\n return _util.shadow;\n }\n}));\nObject.defineProperty(exports, \"updateTextLayer\", ({\n enumerable: true,\n get: function () {\n return _text_layer.updateTextLayer;\n }\n}));\nObject.defineProperty(exports, \"version\", ({\n enumerable: true,\n get: function () {\n return _api.version;\n }\n}));\nvar _util = __w_pdfjs_require__(1);\nvar _api = __w_pdfjs_require__(2);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _text_layer = __w_pdfjs_require__(26);\nvar _annotation_editor_layer = __w_pdfjs_require__(27);\nvar _tools = __w_pdfjs_require__(5);\nvar _annotation_layer = __w_pdfjs_require__(29);\nvar _worker_options = __w_pdfjs_require__(14);\nvar _xfa_layer = __w_pdfjs_require__(32);\nconst pdfjsVersion = '3.11.174';\nconst pdfjsBuild = 'ce8716743';\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=pdf.js.map","import * as pdfjsModule from 'pdfjs-dist';\nconst pdfjs = ('default' in pdfjsModule ? pdfjsModule['default'] : pdfjsModule);\nexport default pdfjs;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n// As defined on the list of supported events: https://reactjs.org/docs/events.html\nexport var clipboardEvents = ['onCopy', 'onCut', 'onPaste'];\nexport var compositionEvents = [\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n];\nexport var focusEvents = ['onFocus', 'onBlur'];\nexport var formEvents = ['onInput', 'onInvalid', 'onReset', 'onSubmit'];\nexport var imageEvents = ['onLoad', 'onError'];\nexport var keyboardEvents = ['onKeyDown', 'onKeyPress', 'onKeyUp'];\nexport var mediaEvents = [\n 'onAbort',\n 'onCanPlay',\n 'onCanPlayThrough',\n 'onDurationChange',\n 'onEmptied',\n 'onEncrypted',\n 'onEnded',\n 'onError',\n 'onLoadedData',\n 'onLoadedMetadata',\n 'onLoadStart',\n 'onPause',\n 'onPlay',\n 'onPlaying',\n 'onProgress',\n 'onRateChange',\n 'onSeeked',\n 'onSeeking',\n 'onStalled',\n 'onSuspend',\n 'onTimeUpdate',\n 'onVolumeChange',\n 'onWaiting',\n];\nexport var mouseEvents = [\n 'onClick',\n 'onContextMenu',\n 'onDoubleClick',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n];\nexport var dragEvents = [\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n];\nexport var selectionEvents = ['onSelect'];\nexport var touchEvents = ['onTouchCancel', 'onTouchEnd', 'onTouchMove', 'onTouchStart'];\nexport var pointerEvents = [\n 'onPointerDown',\n 'onPointerMove',\n 'onPointerUp',\n 'onPointerCancel',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerOver',\n 'onPointerOut',\n];\nexport var uiEvents = ['onScroll'];\nexport var wheelEvents = ['onWheel'];\nexport var animationEvents = [\n 'onAnimationStart',\n 'onAnimationEnd',\n 'onAnimationIteration',\n];\nexport var transitionEvents = ['onTransitionEnd'];\nexport var otherEvents = ['onToggle'];\nexport var changeEvents = ['onChange'];\nexport var allEvents = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], clipboardEvents, true), compositionEvents, true), focusEvents, true), formEvents, true), imageEvents, true), keyboardEvents, true), mediaEvents, true), mouseEvents, true), dragEvents, true), selectionEvents, true), touchEvents, true), pointerEvents, true), uiEvents, true), wheelEvents, true), animationEvents, true), transitionEvents, true), changeEvents, true), otherEvents, true);\n/**\n * Returns an object with on-event callback props curried with provided args.\n * @param {Object} props Props passed to a component.\n * @param {Function=} getArgs A function that returns argument(s) on-event callbacks\n * shall be curried with.\n */\nexport default function makeEventProps(props, getArgs) {\n var eventProps = {};\n allEvents.forEach(function (eventName) {\n var eventHandler = props[eventName];\n if (!eventHandler) {\n return;\n }\n if (getArgs) {\n eventProps[eventName] = (function (event) {\n return eventHandler(event, getArgs(eventName));\n });\n }\n else {\n eventProps[eventName] = eventHandler;\n }\n });\n return eventProps;\n}\n","export default function makeCancellablePromise(promise) {\n var isCancelled = false;\n var wrappedPromise = new Promise(function (resolve, reject) {\n promise\n .then(function (value) { return !isCancelled && resolve(value); })\n .catch(function (error) { return !isCancelled && reject(error); });\n });\n return {\n promise: wrappedPromise,\n cancel: function () {\n isCancelled = true;\n },\n };\n}\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","var isProduction = process.env.NODE_ENV === 'production';\nfunction warning(condition, message) {\n if (!isProduction) {\n if (condition) {\n return;\n }\n\n var text = \"Warning: \" + message;\n\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n\n try {\n throw Error(text);\n } catch (x) {}\n }\n}\n\nexport default warning;\n","'use client';\nimport { createContext } from 'react';\nexport default createContext(null);\n","import React from 'react';\nexport default function Message({ children, type }) {\n return React.createElement(\"div\", { className: `react-pdf__message react-pdf__message--${type}` }, children);\n}\n","/* Copyright 2015 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport invariant from 'tiny-invariant';\nconst DEFAULT_LINK_REL = 'noopener noreferrer nofollow';\nexport default class LinkService {\n constructor() {\n this.externalLinkEnabled = true;\n this.externalLinkRel = undefined;\n this.externalLinkTarget = undefined;\n this.isInPresentationMode = false;\n this.pdfDocument = undefined;\n this.pdfViewer = undefined;\n }\n setDocument(pdfDocument) {\n this.pdfDocument = pdfDocument;\n }\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n setExternalLinkRel(externalLinkRel) {\n this.externalLinkRel = externalLinkRel;\n }\n setExternalLinkTarget(externalLinkTarget) {\n this.externalLinkTarget = externalLinkTarget;\n }\n setHistory() {\n // Intentionally empty\n }\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n get page() {\n invariant(this.pdfViewer, 'PDF viewer is not initialized.');\n return this.pdfViewer.currentPageNumber || 0;\n }\n set page(value) {\n invariant(this.pdfViewer, 'PDF viewer is not initialized.');\n this.pdfViewer.currentPageNumber = value;\n }\n // eslint-disable-next-line @typescript-eslint/class-literal-property-style\n get rotation() {\n return 0;\n }\n set rotation(value) {\n // Intentionally empty\n }\n goToDestination(dest) {\n return new Promise((resolve) => {\n invariant(this.pdfDocument, 'PDF document not loaded.');\n invariant(dest, 'Destination is not specified.');\n if (typeof dest === 'string') {\n this.pdfDocument.getDestination(dest).then(resolve);\n }\n else if (Array.isArray(dest)) {\n resolve(dest);\n }\n else {\n dest.then(resolve);\n }\n }).then((explicitDest) => {\n invariant(Array.isArray(explicitDest), `\"${explicitDest}\" is not a valid destination array.`);\n const destRef = explicitDest[0];\n new Promise((resolve) => {\n invariant(this.pdfDocument, 'PDF document not loaded.');\n if (destRef instanceof Object) {\n this.pdfDocument\n .getPageIndex(destRef)\n .then((pageIndex) => {\n resolve(pageIndex);\n })\n .catch(() => {\n invariant(false, `\"${destRef}\" is not a valid page reference.`);\n });\n }\n else if (typeof destRef === 'number') {\n resolve(destRef);\n }\n else {\n invariant(false, `\"${destRef}\" is not a valid destination reference.`);\n }\n }).then((pageIndex) => {\n const pageNumber = pageIndex + 1;\n invariant(this.pdfViewer, 'PDF viewer is not initialized.');\n invariant(pageNumber >= 1 && pageNumber <= this.pagesCount, `\"${pageNumber}\" is not a valid page number.`);\n this.pdfViewer.scrollPageIntoView({\n dest: explicitDest,\n pageIndex,\n pageNumber,\n });\n });\n });\n }\n navigateTo(dest) {\n this.goToDestination(dest);\n }\n goToPage(pageNumber) {\n const pageIndex = pageNumber - 1;\n invariant(this.pdfViewer, 'PDF viewer is not initialized.');\n invariant(pageNumber >= 1 && pageNumber <= this.pagesCount, `\"${pageNumber}\" is not a valid page number.`);\n this.pdfViewer.scrollPageIntoView({\n pageIndex,\n pageNumber,\n });\n }\n addLinkAttributes(link, url, newWindow) {\n link.href = url;\n link.rel = this.externalLinkRel || DEFAULT_LINK_REL;\n link.target = newWindow ? '_blank' : this.externalLinkTarget || '';\n }\n getDestinationHash() {\n return '#';\n }\n getAnchorUrl() {\n return '#';\n }\n setHash() {\n // Intentionally empty\n }\n executeNamedAction() {\n // Intentionally empty\n }\n cachePageRef() {\n // Intentionally empty\n }\n isPageVisible() {\n return true;\n }\n isPageCached() {\n return true;\n }\n executeSetOCGState() {\n // Intentionally empty\n }\n}\n","// As defined in https://github.com/mozilla/pdf.js/blob/d9fac3459609a807be6506fb3441b5da4b154d14/src/shared/util.js#L371-L374\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\nexport default PasswordResponses;\n","import invariant from 'tiny-invariant';\nimport warning from 'tiny-warning';\n/**\n * Checks if we're running in a browser environment.\n */\nexport const isBrowser = typeof document !== 'undefined';\n/**\n * Checks whether we're running from a local file system.\n */\nexport const isLocalFileSystem = isBrowser && window.location.protocol === 'file:';\n/**\n * Checks whether a variable is defined.\n *\n * @param {*} variable Variable to check\n */\nexport function isDefined(variable) {\n return typeof variable !== 'undefined';\n}\n/**\n * Checks whether a variable is defined and not null.\n *\n * @param {*} variable Variable to check\n */\nexport function isProvided(variable) {\n return isDefined(variable) && variable !== null;\n}\n/**\n * Checks whether a variable provided is a string.\n *\n * @param {*} variable Variable to check\n */\nexport function isString(variable) {\n return typeof variable === 'string';\n}\n/**\n * Checks whether a variable provided is an ArrayBuffer.\n *\n * @param {*} variable Variable to check\n */\nexport function isArrayBuffer(variable) {\n return variable instanceof ArrayBuffer;\n}\n/**\n * Checks whether a variable provided is a Blob.\n *\n * @param {*} variable Variable to check\n */\nexport function isBlob(variable) {\n invariant(isBrowser, 'isBlob can only be used in a browser environment');\n return variable instanceof Blob;\n}\n/**\n * Checks whether a variable provided is a data URI.\n *\n * @param {*} variable String to check\n */\nexport function isDataURI(variable) {\n return isString(variable) && /^data:/.test(variable);\n}\nexport function dataURItoByteString(dataURI) {\n invariant(isDataURI(dataURI), 'Invalid data URI.');\n const [headersString = '', dataString = ''] = dataURI.split(',');\n const headers = headersString.split(';');\n if (headers.indexOf('base64') !== -1) {\n return atob(dataString);\n }\n return unescape(dataString);\n}\nexport function getDevicePixelRatio() {\n return (isBrowser && window.devicePixelRatio) || 1;\n}\nconst allowFileAccessFromFilesTip = 'On Chromium based browsers, you can use --allow-file-access-from-files flag for debugging purposes.';\nexport function displayCORSWarning() {\n warning(!isLocalFileSystem, `Loading PDF as base64 strings/URLs may not work on protocols other than HTTP/HTTPS. ${allowFileAccessFromFilesTip}`);\n}\nexport function displayWorkerWarning() {\n warning(!isLocalFileSystem, `Loading PDF.js worker may not work on protocols other than HTTP/HTTPS. ${allowFileAccessFromFilesTip}`);\n}\nexport function cancelRunningTask(runningTask) {\n if (runningTask && runningTask.cancel)\n runningTask.cancel();\n}\nexport function makePageCallback(page, scale) {\n Object.defineProperty(page, 'width', {\n get() {\n return this.view[2] * scale;\n },\n configurable: true,\n });\n Object.defineProperty(page, 'height', {\n get() {\n return this.view[3] * scale;\n },\n configurable: true,\n });\n Object.defineProperty(page, 'originalWidth', {\n get() {\n return this.view[2];\n },\n configurable: true,\n });\n Object.defineProperty(page, 'originalHeight', {\n get() {\n return this.view[3];\n },\n configurable: true,\n });\n return page;\n}\nexport function isCancelException(error) {\n return error.name === 'RenderingCancelledException';\n}\nexport function loadFromFile(file) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => {\n if (!reader.result) {\n return reject(new Error('Error while reading a file.'));\n }\n resolve(reader.result);\n };\n reader.onerror = (event) => {\n if (!event.target) {\n return reject(new Error('Error while reading a file.'));\n }\n const { error } = event.target;\n if (!error) {\n return reject(new Error('Error while reading a file.'));\n }\n switch (error.code) {\n case error.NOT_FOUND_ERR:\n return reject(new Error('Error while reading a file: File not found.'));\n case error.SECURITY_ERR:\n return reject(new Error('Error while reading a file: Security error.'));\n case error.ABORT_ERR:\n return reject(new Error('Error while reading a file: Aborted.'));\n default:\n return reject(new Error('Error while reading a file.'));\n }\n };\n reader.readAsArrayBuffer(file);\n });\n}\n","import { useReducer } from 'react';\nfunction reducer(state, action) {\n switch (action.type) {\n case 'RESOLVE':\n return { value: action.value, error: undefined };\n case 'REJECT':\n return { value: false, error: action.error };\n case 'RESET':\n return { value: undefined, error: undefined };\n default:\n return state;\n }\n}\nexport default function useResolver() {\n return useReducer((reducer), { value: undefined, error: undefined });\n}\n","import PropTypes from 'prop-types';\nimport { allEvents } from 'make-event-props';\nimport pdfjs from '../pdfjs.js';\nimport { isDefined } from './utils.js';\nimport LinkService from '../LinkService.js';\nconst { PDFDataRangeTransport } = pdfjs;\nexport const eventProps = (() => {\n const result = {};\n allEvents.forEach((eventName) => {\n result[eventName] = PropTypes.func;\n });\n return result;\n})();\nconst isTypedArray = PropTypes.oneOfType([\n PropTypes.instanceOf(Int8Array),\n PropTypes.instanceOf(Uint8Array),\n PropTypes.instanceOf(Uint8ClampedArray),\n PropTypes.instanceOf(Int16Array),\n PropTypes.instanceOf(Uint16Array),\n PropTypes.instanceOf(Int32Array),\n PropTypes.instanceOf(Uint32Array),\n PropTypes.instanceOf(Float32Array),\n PropTypes.instanceOf(Float64Array),\n]);\nconst fileTypes = [\n PropTypes.string,\n PropTypes.instanceOf(ArrayBuffer),\n PropTypes.shape({\n data: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.instanceOf(ArrayBuffer),\n PropTypes.arrayOf(PropTypes.number.isRequired),\n isTypedArray,\n ]).isRequired,\n }),\n PropTypes.shape({\n range: PropTypes.instanceOf(PDFDataRangeTransport).isRequired,\n }),\n PropTypes.shape({\n url: PropTypes.string.isRequired,\n }),\n];\nif (typeof Blob !== 'undefined') {\n fileTypes.push(PropTypes.instanceOf(Blob));\n}\nexport const isClassName = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n]);\nexport const isFile = PropTypes.oneOfType(fileTypes);\nexport const isLinkService = PropTypes.instanceOf(LinkService);\nexport const isLinkTarget = PropTypes.oneOf(['_self', '_blank', '_parent', '_top']);\nexport const isPage = PropTypes.shape({\n commonObjs: PropTypes.shape({}).isRequired,\n getAnnotations: PropTypes.func.isRequired,\n getTextContent: PropTypes.func.isRequired,\n getViewport: PropTypes.func.isRequired,\n render: PropTypes.func.isRequired,\n});\nexport const isPageIndex = function isPageIndex(props, propName, componentName) {\n const { [propName]: pageIndex, pageNumber, pdf } = props;\n if (!isDefined(pdf)) {\n return null;\n }\n if (isDefined(pageIndex)) {\n if (typeof pageIndex !== 'number') {\n return new Error(`\\`${propName}\\` of type \\`${typeof pageIndex}\\` supplied to \\`${componentName}\\`, expected \\`number\\`.`);\n }\n if (pageIndex < 0) {\n return new Error(`Expected \\`${propName}\\` to be greater or equal to 0.`);\n }\n const { numPages } = pdf;\n if (pageIndex + 1 > numPages) {\n return new Error(`Expected \\`${propName}\\` to be less or equal to ${numPages - 1}.`);\n }\n }\n else if (!isDefined(pageNumber)) {\n return new Error(`\\`${propName}\\` not supplied. Either pageIndex or pageNumber must be supplied to \\`${componentName}\\`.`);\n }\n // Everything is fine\n return null;\n};\nexport const isPageNumber = function isPageNumber(props, propName, componentName) {\n const { [propName]: pageNumber, pageIndex, pdf } = props;\n if (!isDefined(pdf)) {\n return null;\n }\n if (isDefined(pageNumber)) {\n if (typeof pageNumber !== 'number') {\n return new Error(`\\`${propName}\\` of type \\`${typeof pageNumber}\\` supplied to \\`${componentName}\\`, expected \\`number\\`.`);\n }\n if (pageNumber < 1) {\n return new Error(`Expected \\`${propName}\\` to be greater or equal to 1.`);\n }\n const { numPages } = pdf;\n if (pageNumber > numPages) {\n return new Error(`Expected \\`${propName}\\` to be less or equal to ${numPages}.`);\n }\n }\n else if (!isDefined(pageIndex)) {\n return new Error(`\\`${propName}\\` not supplied. Either pageIndex or pageNumber must be supplied to \\`${componentName}\\`.`);\n }\n // Everything is fine\n return null;\n};\nexport const isPdf = PropTypes.oneOfType([\n // Ideally, this would be `PropTypes.instanceOf(PDFDocumentProxy)`, but it can't be imported.\n PropTypes.any,\n PropTypes.oneOf([false]),\n]);\nexport const isRef = PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.exact({\n current: PropTypes.any,\n }),\n]);\nexport const isRenderMode = PropTypes.oneOf(['canvas', 'custom', 'none', 'svg']);\nexport const isRotate = PropTypes.oneOf([0, 90, 180, 270]);\n","'use client';\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/**\n * Loads a PDF document. Passes it to all children.\n */\nimport React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, } from 'react';\nimport PropTypes from 'prop-types';\nimport makeEventProps from 'make-event-props';\nimport makeCancellable from 'make-cancellable-promise';\nimport clsx from 'clsx';\nimport invariant from 'tiny-invariant';\nimport warning from 'tiny-warning';\nimport pdfjs from './pdfjs.js';\nimport DocumentContext from './DocumentContext.js';\nimport Message from './Message.js';\nimport LinkService from './LinkService.js';\nimport PasswordResponses from './PasswordResponses.js';\nimport { cancelRunningTask, dataURItoByteString, displayCORSWarning, isArrayBuffer, isBlob, isBrowser, isDataURI, loadFromFile, } from './shared/utils.js';\nimport useResolver from './shared/hooks/useResolver.js';\nimport { eventProps, isClassName, isFile, isRef } from './shared/propTypes.js';\nconst { PDFDataRangeTransport } = pdfjs;\nconst defaultOnPassword = (callback, reason) => {\n switch (reason) {\n case PasswordResponses.NEED_PASSWORD: {\n // eslint-disable-next-line no-alert\n const password = prompt('Enter the password to open this PDF file.');\n callback(password);\n break;\n }\n case PasswordResponses.INCORRECT_PASSWORD: {\n // eslint-disable-next-line no-alert\n const password = prompt('Invalid password. Please try again.');\n callback(password);\n break;\n }\n default:\n }\n};\nconst Document = forwardRef(function Document(_a, ref) {\n var { children, className, error = 'Failed to load PDF file.', externalLinkRel, externalLinkTarget, file, inputRef, imageResourcesPath, loading = 'Loading PDF…', noData = 'No PDF file specified.', onItemClick, onLoadError: onLoadErrorProps, onLoadProgress, onLoadSuccess: onLoadSuccessProps, onPassword = defaultOnPassword, onSourceError: onSourceErrorProps, onSourceSuccess: onSourceSuccessProps, options, renderMode, rotate } = _a, otherProps = __rest(_a, [\"children\", \"className\", \"error\", \"externalLinkRel\", \"externalLinkTarget\", \"file\", \"inputRef\", \"imageResourcesPath\", \"loading\", \"noData\", \"onItemClick\", \"onLoadError\", \"onLoadProgress\", \"onLoadSuccess\", \"onPassword\", \"onSourceError\", \"onSourceSuccess\", \"options\", \"renderMode\", \"rotate\"]);\n const [sourceState, sourceDispatch] = useResolver();\n const { value: source, error: sourceError } = sourceState;\n const [pdfState, pdfDispatch] = useResolver();\n const { value: pdf, error: pdfError } = pdfState;\n const linkService = useRef(new LinkService());\n const pages = useRef([]);\n const viewer = useRef({\n // Handling jumping to internal links target\n scrollPageIntoView: (args) => {\n const { dest, pageNumber, pageIndex = pageNumber - 1 } = args;\n // First, check if custom handling of onItemClick was provided\n if (onItemClick) {\n onItemClick({ dest, pageIndex, pageNumber });\n return;\n }\n // If not, try to look for target page within the .\n const page = pages.current[pageIndex];\n if (page) {\n // Scroll to the page automatically\n page.scrollIntoView();\n return;\n }\n warning(false, `An internal link leading to page ${pageNumber} was clicked, but neither was provided with onItemClick nor it was able to find the page within itself. Either provide onItemClick to and handle navigating by yourself or ensure that all pages are rendered within .`);\n },\n });\n useImperativeHandle(ref, () => ({\n linkService,\n pages,\n viewer,\n }), []);\n /**\n * Called when a document source is resolved correctly\n */\n function onSourceSuccess() {\n if (onSourceSuccessProps) {\n onSourceSuccessProps();\n }\n }\n /**\n * Called when a document source failed to be resolved correctly\n */\n function onSourceError() {\n if (!sourceError) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n warning(false, sourceError.toString());\n if (onSourceErrorProps) {\n onSourceErrorProps(sourceError);\n }\n }\n function resetSource() {\n sourceDispatch({ type: 'RESET' });\n }\n useEffect(resetSource, [file, sourceDispatch]);\n const findDocumentSource = useCallback(() => __awaiter(this, void 0, void 0, function* () {\n if (!file) {\n return null;\n }\n // File is a string\n if (typeof file === 'string') {\n if (isDataURI(file)) {\n const fileByteString = dataURItoByteString(file);\n return { data: fileByteString };\n }\n displayCORSWarning();\n return { url: file };\n }\n // File is PDFDataRangeTransport\n if (file instanceof PDFDataRangeTransport) {\n return { range: file };\n }\n // File is an ArrayBuffer\n if (isArrayBuffer(file)) {\n return { data: file };\n }\n /**\n * The cases below are browser-only.\n * If you're running on a non-browser environment, these cases will be of no use.\n */\n if (isBrowser) {\n // File is a Blob\n if (isBlob(file)) {\n const data = yield loadFromFile(file);\n return { data };\n }\n }\n // At this point, file must be an object\n invariant(typeof file === 'object', 'Invalid parameter in file, need either Uint8Array, string or a parameter object');\n invariant('data' in file || 'range' in file || 'url' in file, 'Invalid parameter object: need either .data, .range or .url');\n // File .url is a string\n if ('url' in file && typeof file.url === 'string') {\n if (isDataURI(file.url)) {\n const { url } = file, otherParams = __rest(file, [\"url\"]);\n const fileByteString = dataURItoByteString(url);\n return Object.assign({ data: fileByteString }, otherParams);\n }\n displayCORSWarning();\n }\n return file;\n }), [file]);\n useEffect(() => {\n const cancellable = makeCancellable(findDocumentSource());\n cancellable.promise\n .then((nextSource) => {\n sourceDispatch({ type: 'RESOLVE', value: nextSource });\n })\n .catch((error) => {\n sourceDispatch({ type: 'REJECT', error });\n });\n return () => {\n cancelRunningTask(cancellable);\n };\n }, [findDocumentSource, sourceDispatch]);\n useEffect(() => {\n if (typeof source === 'undefined') {\n return;\n }\n if (source === false) {\n onSourceError();\n return;\n }\n onSourceSuccess();\n }, \n // Ommitted callbacks so they are not called every time they change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [source]);\n /**\n * Called when a document is read successfully\n */\n function onLoadSuccess() {\n if (!pdf) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n if (onLoadSuccessProps) {\n onLoadSuccessProps(pdf);\n }\n pages.current = new Array(pdf.numPages);\n linkService.current.setDocument(pdf);\n }\n /**\n * Called when a document failed to read successfully\n */\n function onLoadError() {\n if (!pdfError) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n warning(false, pdfError.toString());\n if (onLoadErrorProps) {\n onLoadErrorProps(pdfError);\n }\n }\n function resetDocument() {\n pdfDispatch({ type: 'RESET' });\n }\n useEffect(resetDocument, [pdfDispatch, source]);\n function loadDocument() {\n if (!source) {\n return;\n }\n const documentInitParams = options\n ? Object.assign(Object.assign({}, source), options) : source;\n const destroyable = pdfjs.getDocument(documentInitParams);\n if (onLoadProgress) {\n destroyable.onProgress = onLoadProgress;\n }\n if (onPassword) {\n destroyable.onPassword = onPassword;\n }\n const loadingTask = destroyable;\n loadingTask.promise\n .then((nextPdf) => {\n pdfDispatch({ type: 'RESOLVE', value: nextPdf });\n })\n .catch((error) => {\n if (loadingTask.destroyed) {\n return;\n }\n pdfDispatch({ type: 'REJECT', error });\n });\n return () => {\n loadingTask.destroy();\n };\n }\n useEffect(loadDocument, \n // Ommitted callbacks so they are not called every time they change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [options, pdfDispatch, source]);\n useEffect(() => {\n if (typeof pdf === 'undefined') {\n return;\n }\n if (pdf === false) {\n onLoadError();\n return;\n }\n onLoadSuccess();\n }, \n // Ommitted callbacks so they are not called every time they change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [pdf]);\n function setupLinkService() {\n linkService.current.setViewer(viewer.current);\n linkService.current.setExternalLinkRel(externalLinkRel);\n linkService.current.setExternalLinkTarget(externalLinkTarget);\n }\n useEffect(setupLinkService, [externalLinkRel, externalLinkTarget]);\n function registerPage(pageIndex, ref) {\n pages.current[pageIndex] = ref;\n }\n function unregisterPage(pageIndex) {\n delete pages.current[pageIndex];\n }\n const childContext = useMemo(() => ({\n imageResourcesPath,\n linkService: linkService.current,\n onItemClick,\n pdf,\n registerPage,\n renderMode,\n rotate,\n unregisterPage,\n }), [imageResourcesPath, onItemClick, pdf, renderMode, rotate]);\n const eventProps = useMemo(() => makeEventProps(otherProps, () => pdf), [otherProps, pdf]);\n function renderChildren() {\n return React.createElement(DocumentContext.Provider, { value: childContext }, children);\n }\n function renderContent() {\n if (!file) {\n return React.createElement(Message, { type: \"no-data\" }, typeof noData === 'function' ? noData() : noData);\n }\n if (pdf === undefined || pdf === null) {\n return (React.createElement(Message, { type: \"loading\" }, typeof loading === 'function' ? loading() : loading));\n }\n if (pdf === false) {\n return React.createElement(Message, { type: \"error\" }, typeof error === 'function' ? error() : error);\n }\n return renderChildren();\n }\n return (React.createElement(\"div\", Object.assign({ className: clsx('react-pdf__Document', className), ref: inputRef, style: {\n ['--scale-factor']: '1',\n } }, eventProps), renderContent()));\n});\nconst isFunctionOrNode = PropTypes.oneOfType([PropTypes.func, PropTypes.node]);\nDocument.propTypes = Object.assign(Object.assign({}, eventProps), { children: PropTypes.node, className: isClassName, error: isFunctionOrNode, externalLinkRel: PropTypes.string, externalLinkTarget: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']), file: isFile, imageResourcesPath: PropTypes.string, inputRef: isRef, loading: isFunctionOrNode, noData: isFunctionOrNode, onItemClick: PropTypes.func, onLoadError: PropTypes.func, onLoadProgress: PropTypes.func, onLoadSuccess: PropTypes.func, onPassword: PropTypes.func, onSourceError: PropTypes.func, onSourceSuccess: PropTypes.func, options: PropTypes.shape({\n canvasFactory: PropTypes.any,\n canvasMaxAreaInBytes: PropTypes.number,\n cMapPacked: PropTypes.bool,\n CMapReaderFactory: PropTypes.any,\n cMapUrl: PropTypes.string,\n disableAutoFetch: PropTypes.bool,\n disableFontFace: PropTypes.bool,\n disableRange: PropTypes.bool,\n disableStream: PropTypes.bool,\n docBaseUrl: PropTypes.string,\n enableXfa: PropTypes.bool,\n filterFactory: PropTypes.any,\n fontExtraProperties: PropTypes.bool,\n httpHeaders: PropTypes.object,\n isEvalSupported: PropTypes.bool,\n isOffscreenCanvasSupported: PropTypes.bool,\n length: PropTypes.number,\n maxImageSize: PropTypes.number,\n ownerDocument: PropTypes.any,\n password: PropTypes.string,\n pdfBug: PropTypes.bool,\n rangeChunkSize: PropTypes.number,\n StandardFontDataFactory: PropTypes.any,\n standardFontDataUrl: PropTypes.string,\n stopAtErrors: PropTypes.bool,\n useSystemFonts: PropTypes.bool,\n useWorkerFetch: PropTypes.bool,\n verbosity: PropTypes.number,\n withCredentials: PropTypes.bool,\n worker: PropTypes.any,\n }), rotate: PropTypes.number });\nexport default Document;\n","import { useContext } from 'react';\nimport DocumentContext from '../../DocumentContext.js';\nexport default function useDocumentContext() {\n return useContext(DocumentContext);\n}\n","/**\n * A function that merges React refs into one.\n * Supports both functions and ref objects created using createRef() and useRef().\n *\n * Usage:\n * ```jsx\n *
\n * ```\n *\n * @param {(React.Ref | undefined)[]} inputRefs Array of refs\n * @returns {React.Ref | React.RefCallback} Merged refs\n */\nexport default function mergeRefs() {\n var inputRefs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n inputRefs[_i] = arguments[_i];\n }\n var filteredInputRefs = inputRefs.filter(Boolean);\n if (filteredInputRefs.length <= 1) {\n var firstRef = filteredInputRefs[0];\n return firstRef || null;\n }\n return function mergedRefs(ref) {\n filteredInputRefs.forEach(function (inputRef) {\n if (typeof inputRef === 'function') {\n inputRef(ref);\n }\n else if (inputRef) {\n inputRef.current = ref;\n }\n });\n };\n}\n","'use client';\nimport { createContext } from 'react';\nexport default createContext(null);\n","// From pdfjs-dist/lib/web/struct_tree_layer_builder.js\nexport const PDF_ROLE_TO_HTML_ROLE = {\n // Document level structure types\n Document: null,\n DocumentFragment: null,\n // Grouping level structure types\n Part: 'group',\n Sect: 'group',\n Div: 'group',\n Aside: 'note',\n NonStruct: 'none',\n // Block level structure types\n P: null,\n // H,\n H: 'heading',\n Title: null,\n FENote: 'note',\n // Sub-block level structure type\n Sub: 'group',\n // General inline level structure types\n Lbl: null,\n Span: null,\n Em: null,\n Strong: null,\n Link: 'link',\n Annot: 'note',\n Form: 'form',\n // Ruby and Warichu structure types\n Ruby: null,\n RB: null,\n RT: null,\n RP: null,\n Warichu: null,\n WT: null,\n WP: null,\n // List standard structure types\n L: 'list',\n LI: 'listitem',\n LBody: null,\n // Table standard structure types\n Table: 'table',\n TR: 'row',\n TH: 'columnheader',\n TD: 'cell',\n THead: 'columnheader',\n TBody: null,\n TFoot: null,\n // Standard structure type Caption\n Caption: null,\n // Standard structure type Figure\n Figure: 'figure',\n // Standard structure type Formula\n Formula: null,\n // standard structure type Artifact\n Artifact: null,\n};\nexport const HEADING_PATTERN = /^H(\\d+)$/;\n","import { HEADING_PATTERN, PDF_ROLE_TO_HTML_ROLE } from './constants.js';\nexport function isPdfRole(role) {\n return role in PDF_ROLE_TO_HTML_ROLE;\n}\nexport function isStructTreeNode(node) {\n return 'children' in node;\n}\nexport function isStructTreeNodeWithOnlyContentChild(node) {\n if (!isStructTreeNode(node)) {\n return false;\n }\n return node.children.length === 1 && 0 in node.children && 'id' in node.children[0];\n}\nexport function getRoleAttributes(node) {\n const attributes = {};\n if (isStructTreeNode(node)) {\n const { role } = node;\n const matches = role.match(HEADING_PATTERN);\n if (matches) {\n attributes.role = 'heading';\n attributes['aria-level'] = Number(matches[1]);\n }\n else if (isPdfRole(role)) {\n const htmlRole = PDF_ROLE_TO_HTML_ROLE[role];\n if (htmlRole) {\n attributes.role = htmlRole;\n }\n }\n }\n return attributes;\n}\nexport function getBaseAttributes(node) {\n const attributes = {};\n if (isStructTreeNode(node)) {\n if (node.alt !== undefined) {\n attributes['aria-label'] = node.alt;\n }\n if (node.lang !== undefined) {\n attributes.lang = node.lang;\n }\n if (isStructTreeNodeWithOnlyContentChild(node)) {\n const [child] = node.children;\n if (child) {\n const childAttributes = getBaseAttributes(child);\n return Object.assign(Object.assign({}, attributes), childAttributes);\n }\n }\n }\n else {\n if ('id' in node) {\n attributes['aria-owns'] = node.id;\n }\n }\n return attributes;\n}\nexport function getAttributes(node) {\n if (!node) {\n return null;\n }\n return Object.assign(Object.assign({}, getRoleAttributes(node)), getBaseAttributes(node));\n}\n","import React, { useMemo } from 'react';\nimport { getAttributes, isStructTreeNode, isStructTreeNodeWithOnlyContentChild, } from './shared/structTreeUtils.js';\nexport default function StructTreeItem({ className, node }) {\n const attributes = useMemo(() => getAttributes(node), [node]);\n const children = useMemo(() => {\n if (!isStructTreeNode(node)) {\n return null;\n }\n if (isStructTreeNodeWithOnlyContentChild(node)) {\n return null;\n }\n return node.children.map((child, index) => {\n return (\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(StructTreeItem, { key: index, node: child }));\n });\n }, [node]);\n return (React.createElement(\"span\", Object.assign({ className: className }, attributes), children));\n}\n","import { useContext } from 'react';\nimport PageContext from '../../PageContext.js';\nexport default function usePageContext() {\n return useContext(PageContext);\n}\n","import React, { useEffect } from 'react';\nimport makeCancellable from 'make-cancellable-promise';\nimport invariant from 'tiny-invariant';\nimport warning from 'tiny-warning';\nimport StructTreeItem from './StructTreeItem.js';\nimport usePageContext from './shared/hooks/usePageContext.js';\nimport useResolver from './shared/hooks/useResolver.js';\nimport { cancelRunningTask } from './shared/utils.js';\nexport default function StructTree() {\n const pageContext = usePageContext();\n invariant(pageContext, 'Unable to find Page context.');\n const { onGetStructTreeError: onGetStructTreeErrorProps, onGetStructTreeSuccess: onGetStructTreeSuccessProps, } = pageContext;\n const [structTreeState, structTreeDispatch] = useResolver();\n const { value: structTree, error: structTreeError } = structTreeState;\n const { customTextRenderer, page } = pageContext;\n function onLoadSuccess() {\n if (!structTree) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n if (onGetStructTreeSuccessProps) {\n onGetStructTreeSuccessProps(structTree);\n }\n }\n function onLoadError() {\n if (!structTreeError) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n warning(false, structTreeError.toString());\n if (onGetStructTreeErrorProps) {\n onGetStructTreeErrorProps(structTreeError);\n }\n }\n function resetAnnotations() {\n structTreeDispatch({ type: 'RESET' });\n }\n useEffect(resetAnnotations, [structTreeDispatch, page]);\n function loadStructTree() {\n if (customTextRenderer) {\n // TODO: Document why this is necessary\n return;\n }\n if (!page) {\n return;\n }\n const cancellable = makeCancellable(page.getStructTree());\n const runningTask = cancellable;\n cancellable.promise\n .then((nextStructTree) => {\n structTreeDispatch({ type: 'RESOLVE', value: nextStructTree });\n })\n .catch((error) => {\n structTreeDispatch({ type: 'REJECT', error });\n });\n return () => cancelRunningTask(runningTask);\n }\n useEffect(loadStructTree, [customTextRenderer, page, structTreeDispatch]);\n useEffect(() => {\n if (structTree === undefined) {\n return;\n }\n if (structTree === false) {\n onLoadError();\n return;\n }\n onLoadSuccess();\n }, \n // Ommitted callbacks so they are not called every time they change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [structTree]);\n if (!structTree) {\n return null;\n }\n return React.createElement(StructTreeItem, { className: \"react-pdf__Page__structTree structTree\", node: structTree });\n}\n","'use client';\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport mergeRefs from 'merge-refs';\nimport invariant from 'tiny-invariant';\nimport warning from 'tiny-warning';\nimport pdfjs from '../pdfjs.js';\nimport StructTree from '../StructTree.js';\nimport usePageContext from '../shared/hooks/usePageContext.js';\nimport { cancelRunningTask, getDevicePixelRatio, isCancelException, makePageCallback, } from '../shared/utils.js';\nconst ANNOTATION_MODE = pdfjs.AnnotationMode;\nexport default function PageCanvas(props) {\n const pageContext = usePageContext();\n invariant(pageContext, 'Unable to find Page context.');\n const mergedProps = Object.assign(Object.assign({}, pageContext), props);\n const { _className, canvasBackground, devicePixelRatio = getDevicePixelRatio(), onRenderError: onRenderErrorProps, onRenderSuccess: onRenderSuccessProps, page, renderForms, renderTextLayer, rotate, scale, } = mergedProps;\n const { canvasRef } = props;\n invariant(page, 'Attempted to render page canvas, but no page was specified.');\n const canvasElement = useRef(null);\n /**\n * Called when a page is rendered successfully.\n */\n function onRenderSuccess() {\n if (!page) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n if (onRenderSuccessProps) {\n onRenderSuccessProps(makePageCallback(page, scale));\n }\n }\n /**\n * Called when a page fails to render.\n */\n function onRenderError(error) {\n if (isCancelException(error)) {\n return;\n }\n warning(false, error.toString());\n if (onRenderErrorProps) {\n onRenderErrorProps(error);\n }\n }\n const renderViewport = useMemo(() => page.getViewport({ scale: scale * devicePixelRatio, rotation: rotate }), [devicePixelRatio, page, rotate, scale]);\n const viewport = useMemo(() => page.getViewport({ scale, rotation: rotate }), [page, rotate, scale]);\n function drawPageOnCanvas() {\n if (!page) {\n return;\n }\n // Ensures the canvas will be re-rendered from scratch. Otherwise all form data will stay.\n page.cleanup();\n const { current: canvas } = canvasElement;\n if (!canvas) {\n return;\n }\n canvas.width = renderViewport.width;\n canvas.height = renderViewport.height;\n canvas.style.width = `${Math.floor(viewport.width)}px`;\n canvas.style.height = `${Math.floor(viewport.height)}px`;\n canvas.style.visibility = 'hidden';\n const renderContext = {\n annotationMode: renderForms ? ANNOTATION_MODE.ENABLE_FORMS : ANNOTATION_MODE.ENABLE,\n canvasContext: canvas.getContext('2d', { alpha: false }),\n viewport: renderViewport,\n };\n if (canvasBackground) {\n renderContext.background = canvasBackground;\n }\n const cancellable = page.render(renderContext);\n const runningTask = cancellable;\n cancellable.promise\n .then(() => {\n canvas.style.visibility = '';\n onRenderSuccess();\n })\n .catch(onRenderError);\n return () => cancelRunningTask(runningTask);\n }\n useEffect(drawPageOnCanvas, \n // Ommitted callbacks so they are not called every time they change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n canvasBackground,\n canvasElement,\n devicePixelRatio,\n page,\n renderForms,\n renderViewport,\n viewport,\n ]);\n const cleanup = useCallback(() => {\n const { current: canvas } = canvasElement;\n /**\n * Zeroing the width and height cause most browsers to release graphics\n * resources immediately, which can greatly reduce memory consumption.\n */\n if (canvas) {\n canvas.width = 0;\n canvas.height = 0;\n }\n }, [canvasElement]);\n useEffect(() => cleanup, [cleanup]);\n return (React.createElement(\"canvas\", { className: `${_className}__canvas`, dir: \"ltr\", ref: mergeRefs(canvasRef, canvasElement), style: {\n display: 'block',\n userSelect: 'none',\n } }, renderTextLayer ? React.createElement(StructTree, null) : null));\n}\n","import React, { useEffect, useMemo } from 'react';\nimport makeCancellable from 'make-cancellable-promise';\nimport invariant from 'tiny-invariant';\nimport warning from 'tiny-warning';\nimport pdfjs from '../pdfjs.js';\nimport usePageContext from '../shared/hooks/usePageContext.js';\nimport useResolver from '../shared/hooks/useResolver.js';\nimport { cancelRunningTask, isCancelException, makePageCallback } from '../shared/utils.js';\nexport default function PageSVG() {\n const pageContext = usePageContext();\n invariant(pageContext, 'Unable to find Page context.');\n const { _className, onRenderSuccess: onRenderSuccessProps, onRenderError: onRenderErrorProps, page, rotate, scale, } = pageContext;\n invariant(page, 'Attempted to render page SVG, but no page was specified.');\n const [svgState, svgDispatch] = useResolver();\n const { value: svg, error: svgError } = svgState;\n /**\n * Called when a page is rendered successfully\n */\n function onRenderSuccess() {\n if (!page) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n if (onRenderSuccessProps) {\n onRenderSuccessProps(makePageCallback(page, scale));\n }\n }\n /**\n * Called when a page fails to render\n */\n function onRenderError() {\n if (!svgError) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n if (isCancelException(svgError)) {\n return;\n }\n warning(false, svgError.toString());\n if (onRenderErrorProps) {\n onRenderErrorProps(svgError);\n }\n }\n const viewport = useMemo(() => page.getViewport({ scale, rotation: rotate }), [page, rotate, scale]);\n function resetSVG() {\n svgDispatch({ type: 'RESET' });\n }\n useEffect(resetSVG, [page, svgDispatch, viewport]);\n function renderSVG() {\n if (!page) {\n return;\n }\n const cancellable = makeCancellable(page.getOperatorList());\n cancellable.promise\n .then((operatorList) => {\n const svgGfx = new pdfjs.SVGGraphics(page.commonObjs, page.objs);\n svgGfx\n .getSVG(operatorList, viewport)\n .then((nextSvg) => {\n // See https://github.com/mozilla/pdf.js/issues/16745\n if (!(nextSvg instanceof SVGElement)) {\n throw new Error('getSVG returned unexpected result.');\n }\n svgDispatch({ type: 'RESOLVE', value: nextSvg });\n })\n .catch((error) => {\n svgDispatch({ type: 'REJECT', error });\n });\n })\n .catch((error) => {\n svgDispatch({ type: 'REJECT', error });\n });\n return () => cancelRunningTask(cancellable);\n }\n useEffect(renderSVG, [page, svgDispatch, viewport]);\n useEffect(() => {\n if (svg === undefined) {\n return;\n }\n if (svg === false) {\n onRenderError();\n return;\n }\n onRenderSuccess();\n }, \n // Ommitted callbacks so they are not called every time they change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [svg]);\n function drawPageOnContainer(element) {\n if (!element || !svg) {\n return;\n }\n // Append SVG element to the main container, if this hasn't been done already\n if (!element.firstElementChild) {\n element.appendChild(svg);\n }\n const { width, height } = viewport;\n svg.setAttribute('width', `${width}`);\n svg.setAttribute('height', `${height}`);\n }\n const { width, height } = viewport;\n return (React.createElement(\"div\", { className: `${_className}__svg`, \n // Note: This cannot be shortened, as we need this function to be called with each render.\n ref: (ref) => drawPageOnContainer(ref), style: {\n display: 'block',\n backgroundColor: 'white',\n overflow: 'hidden',\n width,\n height,\n userSelect: 'none',\n } }));\n}\n","'use client';\nimport React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef } from 'react';\nimport makeCancellable from 'make-cancellable-promise';\nimport clsx from 'clsx';\nimport invariant from 'tiny-invariant';\nimport warning from 'tiny-warning';\nimport pdfjs from '../pdfjs.js';\nimport usePageContext from '../shared/hooks/usePageContext.js';\nimport useResolver from '../shared/hooks/useResolver.js';\nimport { cancelRunningTask } from '../shared/utils.js';\nfunction isTextItem(item) {\n return 'str' in item;\n}\nexport default function TextLayer() {\n const pageContext = usePageContext();\n invariant(pageContext, 'Unable to find Page context.');\n const { customTextRenderer, onGetTextError, onGetTextSuccess, onRenderTextLayerError, onRenderTextLayerSuccess, page, pageIndex, pageNumber, rotate, scale, } = pageContext;\n invariant(page, 'Attempted to load page text content, but no page was specified.');\n const [textContentState, textContentDispatch] = useResolver();\n const { value: textContent, error: textContentError } = textContentState;\n const layerElement = useRef(null);\n const endElement = useRef();\n warning(parseInt(window.getComputedStyle(document.body).getPropertyValue('--react-pdf-text-layer'), 10) === 1, 'TextLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-text-layer');\n /**\n * Called when a page text content is read successfully\n */\n function onLoadSuccess() {\n if (!textContent) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n if (onGetTextSuccess) {\n onGetTextSuccess(textContent);\n }\n }\n /**\n * Called when a page text content failed to read successfully\n */\n function onLoadError() {\n if (!textContentError) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n warning(false, textContentError.toString());\n if (onGetTextError) {\n onGetTextError(textContentError);\n }\n }\n function resetTextContent() {\n textContentDispatch({ type: 'RESET' });\n }\n useEffect(resetTextContent, [page, textContentDispatch]);\n function loadTextContent() {\n if (!page) {\n return;\n }\n const cancellable = makeCancellable(page.getTextContent());\n const runningTask = cancellable;\n cancellable.promise\n .then((nextTextContent) => {\n textContentDispatch({ type: 'RESOLVE', value: nextTextContent });\n })\n .catch((error) => {\n textContentDispatch({ type: 'REJECT', error });\n });\n return () => cancelRunningTask(runningTask);\n }\n useEffect(loadTextContent, [page, textContentDispatch]);\n useEffect(() => {\n if (textContent === undefined) {\n return;\n }\n if (textContent === false) {\n onLoadError();\n return;\n }\n onLoadSuccess();\n }, \n // Ommitted callbacks so they are not called every time they change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [textContent]);\n /**\n * Called when a text layer is rendered successfully\n */\n const onRenderSuccess = useCallback(() => {\n if (onRenderTextLayerSuccess) {\n onRenderTextLayerSuccess();\n }\n }, [onRenderTextLayerSuccess]);\n /**\n * Called when a text layer failed to render successfully\n */\n const onRenderError = useCallback((error) => {\n warning(false, error.toString());\n if (onRenderTextLayerError) {\n onRenderTextLayerError(error);\n }\n }, [onRenderTextLayerError]);\n function onMouseDown() {\n const end = endElement.current;\n if (!end) {\n return;\n }\n end.classList.add('active');\n }\n function onMouseUp() {\n const end = endElement.current;\n if (!end) {\n return;\n }\n end.classList.remove('active');\n }\n const viewport = useMemo(() => page.getViewport({ scale, rotation: rotate }), [page, rotate, scale]);\n function renderTextLayer() {\n if (!page || !textContent) {\n return;\n }\n const { current: layer } = layerElement;\n if (!layer) {\n return;\n }\n layer.innerHTML = '';\n const textContentSource = page.streamTextContent({ includeMarkedContent: true });\n const parameters = {\n container: layer,\n textContentSource,\n viewport,\n };\n const cancellable = pdfjs.renderTextLayer(parameters);\n const runningTask = cancellable;\n cancellable.promise\n .then(() => {\n const end = document.createElement('div');\n end.className = 'endOfContent';\n layer.append(end);\n endElement.current = end;\n const hasMarkedContent = Boolean(layer.querySelector('.markedContent'));\n const layerChildren = hasMarkedContent\n ? layer.querySelectorAll('.markedContent > *:not(.markedContent')\n : layer.children;\n if (customTextRenderer) {\n let index = 0;\n textContent.items.forEach((item, itemIndex) => {\n if (!isTextItem(item)) {\n return;\n }\n const child = layerChildren[index];\n if (!child) {\n return;\n }\n const content = customTextRenderer(Object.assign({ pageIndex,\n pageNumber,\n itemIndex }, item));\n child.innerHTML = content;\n index += item.str && item.hasEOL ? 2 : 1;\n });\n }\n // Intentional immediate callback\n onRenderSuccess();\n })\n .catch(onRenderError);\n return () => cancelRunningTask(runningTask);\n }\n useLayoutEffect(renderTextLayer, [\n customTextRenderer,\n onRenderError,\n onRenderSuccess,\n page,\n pageIndex,\n pageNumber,\n textContent,\n viewport,\n ]);\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n React.createElement(\"div\", { className: clsx('react-pdf__Page__textContent', 'textLayer'), onMouseUp: onMouseUp, onMouseDown: onMouseDown, ref: layerElement }));\n}\n","'use client';\nimport React, { useEffect, useMemo, useRef } from 'react';\nimport makeCancellable from 'make-cancellable-promise';\nimport clsx from 'clsx';\nimport invariant from 'tiny-invariant';\nimport warning from 'tiny-warning';\nimport pdfjs from '../pdfjs.js';\nimport useDocumentContext from '../shared/hooks/useDocumentContext.js';\nimport usePageContext from '../shared/hooks/usePageContext.js';\nimport useResolver from '../shared/hooks/useResolver.js';\nimport { cancelRunningTask } from '../shared/utils.js';\nexport default function AnnotationLayer() {\n const documentContext = useDocumentContext();\n invariant(documentContext, 'Unable to find Document context. Did you wrap in ?');\n const pageContext = usePageContext();\n invariant(pageContext, 'Unable to find Page context.');\n const mergedProps = Object.assign(Object.assign({}, documentContext), pageContext);\n const { imageResourcesPath, linkService, onGetAnnotationsError: onGetAnnotationsErrorProps, onGetAnnotationsSuccess: onGetAnnotationsSuccessProps, onRenderAnnotationLayerError: onRenderAnnotationLayerErrorProps, onRenderAnnotationLayerSuccess: onRenderAnnotationLayerSuccessProps, page, pdf, renderForms, rotate, scale = 1, } = mergedProps;\n invariant(page, 'Attempted to load page annotations, but no page was specified.');\n const [annotationsState, annotationsDispatch] = useResolver();\n const { value: annotations, error: annotationsError } = annotationsState;\n const layerElement = useRef(null);\n warning(parseInt(window.getComputedStyle(document.body).getPropertyValue('--react-pdf-annotation-layer'), 10) === 1, 'AnnotationLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-annotations');\n function onLoadSuccess() {\n if (!annotations) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n if (onGetAnnotationsSuccessProps) {\n onGetAnnotationsSuccessProps(annotations);\n }\n }\n function onLoadError() {\n if (!annotationsError) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n warning(false, annotationsError.toString());\n if (onGetAnnotationsErrorProps) {\n onGetAnnotationsErrorProps(annotationsError);\n }\n }\n function resetAnnotations() {\n annotationsDispatch({ type: 'RESET' });\n }\n useEffect(resetAnnotations, [annotationsDispatch, page]);\n function loadAnnotations() {\n if (!page) {\n return;\n }\n const cancellable = makeCancellable(page.getAnnotations());\n const runningTask = cancellable;\n cancellable.promise\n .then((nextAnnotations) => {\n annotationsDispatch({ type: 'RESOLVE', value: nextAnnotations });\n })\n .catch((error) => {\n annotationsDispatch({ type: 'REJECT', error });\n });\n return () => {\n cancelRunningTask(runningTask);\n };\n }\n useEffect(loadAnnotations, [annotationsDispatch, page, renderForms]);\n useEffect(() => {\n if (annotations === undefined) {\n return;\n }\n if (annotations === false) {\n onLoadError();\n return;\n }\n onLoadSuccess();\n }, \n // Ommitted callbacks so they are not called every time they change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [annotations]);\n function onRenderSuccess() {\n if (onRenderAnnotationLayerSuccessProps) {\n onRenderAnnotationLayerSuccessProps();\n }\n }\n function onRenderError(error) {\n warning(false, `${error}`);\n if (onRenderAnnotationLayerErrorProps) {\n onRenderAnnotationLayerErrorProps(error);\n }\n }\n const viewport = useMemo(() => page.getViewport({ scale, rotation: rotate }), [page, rotate, scale]);\n function renderAnnotationLayer() {\n if (!pdf || !page || !annotations) {\n return;\n }\n const { current: layer } = layerElement;\n if (!layer) {\n return;\n }\n const clonedViewport = viewport.clone({ dontFlip: true });\n const annotationLayerParameters = {\n accessibilityManager: null,\n annotationCanvasMap: null,\n div: layer,\n l10n: null,\n page,\n viewport: clonedViewport,\n };\n const renderParameters = {\n annotations,\n annotationStorage: pdf.annotationStorage,\n div: layer,\n // See https://github.com/mozilla/pdf.js/issues/17029\n downloadManager: null,\n imageResourcesPath,\n linkService,\n page,\n renderForms,\n viewport: clonedViewport,\n };\n layer.innerHTML = '';\n try {\n new pdfjs.AnnotationLayer(annotationLayerParameters).render(renderParameters);\n // Intentional immediate callback\n onRenderSuccess();\n }\n catch (error) {\n onRenderError(error);\n }\n return () => {\n // TODO: Cancel running task?\n };\n }\n useEffect(renderAnnotationLayer, \n // Ommitted callbacks so they are not called every time they change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [annotations, imageResourcesPath, linkService, page, renderForms, viewport]);\n return (React.createElement(\"div\", { className: clsx('react-pdf__Page__annotations', 'annotationLayer'), ref: layerElement }));\n}\n","'use client';\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { useEffect, useMemo, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport makeCancellable from 'make-cancellable-promise';\nimport makeEventProps from 'make-event-props';\nimport clsx from 'clsx';\nimport mergeRefs from 'merge-refs';\nimport invariant from 'tiny-invariant';\nimport warning from 'tiny-warning';\nimport PageContext from './PageContext.js';\nimport Message from './Message.js';\nimport PageCanvas from './Page/PageCanvas.js';\nimport PageSVG from './Page/PageSVG.js';\nimport TextLayer from './Page/TextLayer.js';\nimport AnnotationLayer from './Page/AnnotationLayer.js';\nimport { cancelRunningTask, isProvided, makePageCallback } from './shared/utils.js';\nimport useDocumentContext from './shared/hooks/useDocumentContext.js';\nimport useResolver from './shared/hooks/useResolver.js';\nimport { eventProps, isClassName, isPageIndex, isPageNumber, isPdf, isRef, isRenderMode, isRotate, } from './shared/propTypes.js';\nconst defaultScale = 1;\nconst Page = function Page(props) {\n const documentContext = useDocumentContext();\n invariant(documentContext, 'Unable to find Document context. Did you wrap in ?');\n const mergedProps = Object.assign(Object.assign({}, documentContext), props);\n const { _className = 'react-pdf__Page', _enableRegisterUnregisterPage = true, canvasBackground, canvasRef, children, className, customRenderer: CustomRenderer, customTextRenderer, devicePixelRatio, error = 'Failed to load the page.', height, inputRef, loading = 'Loading page…', noData = 'No page specified.', onGetAnnotationsError: onGetAnnotationsErrorProps, onGetAnnotationsSuccess: onGetAnnotationsSuccessProps, onGetStructTreeError: onGetStructTreeErrorProps, onGetStructTreeSuccess: onGetStructTreeSuccessProps, onGetTextError: onGetTextErrorProps, onGetTextSuccess: onGetTextSuccessProps, onLoadError: onLoadErrorProps, onLoadSuccess: onLoadSuccessProps, onRenderAnnotationLayerError: onRenderAnnotationLayerErrorProps, onRenderAnnotationLayerSuccess: onRenderAnnotationLayerSuccessProps, onRenderError: onRenderErrorProps, onRenderSuccess: onRenderSuccessProps, onRenderTextLayerError: onRenderTextLayerErrorProps, onRenderTextLayerSuccess: onRenderTextLayerSuccessProps, pageIndex: pageIndexProps, pageNumber: pageNumberProps, pdf, registerPage, renderAnnotationLayer: renderAnnotationLayerProps = true, renderForms = false, renderMode = 'canvas', renderTextLayer: renderTextLayerProps = true, rotate: rotateProps, scale: scaleProps = defaultScale, unregisterPage, width } = mergedProps, otherProps = __rest(mergedProps, [\"_className\", \"_enableRegisterUnregisterPage\", \"canvasBackground\", \"canvasRef\", \"children\", \"className\", \"customRenderer\", \"customTextRenderer\", \"devicePixelRatio\", \"error\", \"height\", \"inputRef\", \"loading\", \"noData\", \"onGetAnnotationsError\", \"onGetAnnotationsSuccess\", \"onGetStructTreeError\", \"onGetStructTreeSuccess\", \"onGetTextError\", \"onGetTextSuccess\", \"onLoadError\", \"onLoadSuccess\", \"onRenderAnnotationLayerError\", \"onRenderAnnotationLayerSuccess\", \"onRenderError\", \"onRenderSuccess\", \"onRenderTextLayerError\", \"onRenderTextLayerSuccess\", \"pageIndex\", \"pageNumber\", \"pdf\", \"registerPage\", \"renderAnnotationLayer\", \"renderForms\", \"renderMode\", \"renderTextLayer\", \"rotate\", \"scale\", \"unregisterPage\", \"width\"]);\n const [pageState, pageDispatch] = useResolver();\n const { value: page, error: pageError } = pageState;\n const pageElement = useRef(null);\n invariant(pdf, 'Attempted to load a page, but no document was specified.');\n const pageIndex = isProvided(pageNumberProps) ? pageNumberProps - 1 : pageIndexProps !== null && pageIndexProps !== void 0 ? pageIndexProps : null;\n const pageNumber = pageNumberProps !== null && pageNumberProps !== void 0 ? pageNumberProps : (isProvided(pageIndexProps) ? pageIndexProps + 1 : null);\n const rotate = rotateProps !== null && rotateProps !== void 0 ? rotateProps : (page ? page.rotate : null);\n const scale = useMemo(() => {\n if (!page) {\n return null;\n }\n // Be default, we'll render page at 100% * scale width.\n let pageScale = 1;\n // Passing scale explicitly null would cause the page not to render\n const scaleWithDefault = scaleProps !== null && scaleProps !== void 0 ? scaleProps : defaultScale;\n // If width/height is defined, calculate the scale of the page so it could be of desired width.\n if (width || height) {\n const viewport = page.getViewport({ scale: 1, rotation: rotate });\n if (width) {\n pageScale = width / viewport.width;\n }\n else if (height) {\n pageScale = height / viewport.height;\n }\n }\n return scaleWithDefault * pageScale;\n }, [height, page, rotate, scaleProps, width]);\n function hook() {\n return () => {\n if (!isProvided(pageIndex)) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n if (_enableRegisterUnregisterPage && unregisterPage) {\n unregisterPage(pageIndex);\n }\n };\n }\n useEffect(hook, [_enableRegisterUnregisterPage, pdf, pageIndex, unregisterPage]);\n /**\n * Called when a page is loaded successfully\n */\n function onLoadSuccess() {\n if (onLoadSuccessProps) {\n if (!page || !scale) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n onLoadSuccessProps(makePageCallback(page, scale));\n }\n if (_enableRegisterUnregisterPage && registerPage) {\n if (!isProvided(pageIndex) || !pageElement.current) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n registerPage(pageIndex, pageElement.current);\n }\n }\n /**\n * Called when a page failed to load\n */\n function onLoadError() {\n if (!pageError) {\n // Impossible, but TypeScript doesn't know that\n return;\n }\n warning(false, pageError.toString());\n if (onLoadErrorProps) {\n onLoadErrorProps(pageError);\n }\n }\n function resetPage() {\n pageDispatch({ type: 'RESET' });\n }\n useEffect(resetPage, [pageDispatch, pdf, pageIndex]);\n function loadPage() {\n if (!pdf || !pageNumber) {\n return;\n }\n const cancellable = makeCancellable(pdf.getPage(pageNumber));\n const runningTask = cancellable;\n cancellable.promise\n .then((nextPage) => {\n pageDispatch({ type: 'RESOLVE', value: nextPage });\n })\n .catch((error) => {\n pageDispatch({ type: 'REJECT', error });\n });\n return () => cancelRunningTask(runningTask);\n }\n useEffect(loadPage, [pageDispatch, pdf, pageIndex, pageNumber, registerPage]);\n useEffect(() => {\n if (page === undefined) {\n return;\n }\n if (page === false) {\n onLoadError();\n return;\n }\n onLoadSuccess();\n }, \n // Ommitted callbacks so they are not called every time they change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [page, scale]);\n const childContext = useMemo(() => \n // Technically there cannot be page without pageIndex, pageNumber, rotate and scale, but TypeScript doesn't know that\n page && isProvided(pageIndex) && pageNumber && isProvided(rotate) && isProvided(scale)\n ? {\n _className,\n canvasBackground,\n customTextRenderer,\n devicePixelRatio,\n onGetAnnotationsError: onGetAnnotationsErrorProps,\n onGetAnnotationsSuccess: onGetAnnotationsSuccessProps,\n onGetStructTreeError: onGetStructTreeErrorProps,\n onGetStructTreeSuccess: onGetStructTreeSuccessProps,\n onGetTextError: onGetTextErrorProps,\n onGetTextSuccess: onGetTextSuccessProps,\n onRenderAnnotationLayerError: onRenderAnnotationLayerErrorProps,\n onRenderAnnotationLayerSuccess: onRenderAnnotationLayerSuccessProps,\n onRenderError: onRenderErrorProps,\n onRenderSuccess: onRenderSuccessProps,\n onRenderTextLayerError: onRenderTextLayerErrorProps,\n onRenderTextLayerSuccess: onRenderTextLayerSuccessProps,\n page,\n pageIndex,\n pageNumber,\n renderForms,\n renderTextLayer: renderTextLayerProps,\n rotate,\n scale,\n }\n : null, [\n _className,\n canvasBackground,\n customTextRenderer,\n devicePixelRatio,\n onGetAnnotationsErrorProps,\n onGetAnnotationsSuccessProps,\n onGetStructTreeErrorProps,\n onGetStructTreeSuccessProps,\n onGetTextErrorProps,\n onGetTextSuccessProps,\n onRenderAnnotationLayerErrorProps,\n onRenderAnnotationLayerSuccessProps,\n onRenderErrorProps,\n onRenderSuccessProps,\n onRenderTextLayerErrorProps,\n onRenderTextLayerSuccessProps,\n page,\n pageIndex,\n pageNumber,\n renderForms,\n renderTextLayerProps,\n rotate,\n scale,\n ]);\n const eventProps = useMemo(() => makeEventProps(otherProps, () => page ? (scale ? makePageCallback(page, scale) : undefined) : page), [otherProps, page, scale]);\n const pageKey = `${pageIndex}@${scale}/${rotate}`;\n const pageKeyNoScale = `${pageIndex}/${rotate}`;\n function renderMainLayer() {\n switch (renderMode) {\n case 'custom': {\n invariant(CustomRenderer, `renderMode was set to \"custom\", but no customRenderer was passed.`);\n return React.createElement(CustomRenderer, { key: `${pageKey}_custom` });\n }\n case 'none':\n return null;\n case 'svg':\n return React.createElement(PageSVG, { key: `${pageKeyNoScale}_svg` });\n case 'canvas':\n default:\n return React.createElement(PageCanvas, { key: `${pageKey}_canvas`, canvasRef: canvasRef });\n }\n }\n function renderTextLayer() {\n if (!renderTextLayerProps) {\n return null;\n }\n return React.createElement(TextLayer, { key: `${pageKey}_text` });\n }\n function renderAnnotationLayer() {\n if (!renderAnnotationLayerProps) {\n return null;\n }\n /**\n * As of now, PDF.js 2.0.943 returns warnings on unimplemented annotations in SVG mode.\n * Therefore, as a fallback, we render \"traditional\" AnnotationLayer component.\n */\n return React.createElement(AnnotationLayer, { key: `${pageKey}_annotations` });\n }\n function renderChildren() {\n return (React.createElement(PageContext.Provider, { value: childContext },\n renderMainLayer(),\n renderTextLayer(),\n renderAnnotationLayer(),\n children));\n }\n function renderContent() {\n if (!pageNumber) {\n return React.createElement(Message, { type: \"no-data\" }, typeof noData === 'function' ? noData() : noData);\n }\n if (pdf === null || page === undefined || page === null) {\n return (React.createElement(Message, { type: \"loading\" }, typeof loading === 'function' ? loading() : loading));\n }\n if (pdf === false || page === false) {\n return React.createElement(Message, { type: \"error\" }, typeof error === 'function' ? error() : error);\n }\n return renderChildren();\n }\n return (React.createElement(\"div\", Object.assign({ className: clsx(_className, className), \"data-page-number\": pageNumber, ref: mergeRefs(inputRef, pageElement), style: {\n ['--scale-factor']: `${scale}`,\n backgroundColor: canvasBackground || 'white',\n position: 'relative',\n minWidth: 'min-content',\n minHeight: 'min-content',\n } }, eventProps), renderContent()));\n};\nconst isFunctionOrNode = PropTypes.oneOfType([PropTypes.func, PropTypes.node]);\nPage.propTypes = Object.assign(Object.assign({}, eventProps), { canvasBackground: PropTypes.string, canvasRef: isRef, children: PropTypes.node, className: isClassName, customRenderer: PropTypes.func, customTextRenderer: PropTypes.func, devicePixelRatio: PropTypes.number, error: isFunctionOrNode, height: PropTypes.number, imageResourcesPath: PropTypes.string, inputRef: isRef, loading: isFunctionOrNode, noData: isFunctionOrNode, onGetTextError: PropTypes.func, onGetTextSuccess: PropTypes.func, onLoadError: PropTypes.func, onLoadSuccess: PropTypes.func, onRenderError: PropTypes.func, onRenderSuccess: PropTypes.func, onRenderTextLayerError: PropTypes.func, onRenderTextLayerSuccess: PropTypes.func, pageIndex: isPageIndex, pageNumber: isPageNumber, pdf: isPdf, renderAnnotationLayer: PropTypes.bool, renderForms: PropTypes.bool, renderMode: isRenderMode, renderTextLayer: PropTypes.bool, rotate: isRotate, scale: PropTypes.number, width: PropTypes.number });\nexport default Page;\n","import pdfjs from './pdfjs.js';\nimport Document from './Document.js';\nimport Outline from './Outline.js';\nimport Page from './Page.js';\nimport Thumbnail from './Thumbnail.js';\nimport useDocumentContext from './shared/hooks/useDocumentContext.js';\nimport useOutlineContext from './shared/hooks/useOutlineContext.js';\nimport usePageContext from './shared/hooks/usePageContext.js';\nimport { displayWorkerWarning } from './shared/utils.js';\ndisplayWorkerWarning();\npdfjs.GlobalWorkerOptions.workerSrc = 'pdf.worker.js';\nexport { pdfjs, Document, Outline, Page, Thumbnail, useDocumentContext, useOutlineContext, usePageContext, };\n","import React, { useState } from \"react\";\r\n// import { pdfjs } from \"react-pdf\";\r\nimport { Document, Page } from \"react-pdf\";\r\nimport { DetailsStore } from \"~/stores/DetailsStore\";\r\n\r\n// interface IDocumentViewerProps {}\r\n\r\nconst DocumentViewer: React.FunctionComponent = () => {\r\n const { documentPreview } = DetailsStore();\r\n const [numPages, setNumPages] = useState();\r\n const [pageNumber, setPageNumber] = useState(1);\r\n\r\n function onDocumentLoadSuccess({ numPages }: { numPages: number }): void {\r\n setNumPages(numPages);\r\n setPageNumber(1);\r\n }\r\n\r\n // console.log(\r\n // `${import.meta.env.VITE_API_HOST}/${documentPreview?.SourceDocumentFilePath}`\r\n // );\r\n\r\n return (\r\n <>\r\n {documentPreview && (\r\n
\r\n {\r\n DetailsStore.setState((state) => ({\r\n ...state,\r\n documentPreview: null,\r\n }));\r\n }}\r\n >
\r\n \r\n \r\n
\r\n

\r\n Page {pageNumber} of {numPages}\r\n

\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default DocumentViewer;\r\n","import { useContext, useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\nimport Button from \"~/ui/Button/Button\";\r\n\r\nconst FilterKeyword = () => {\r\n const { t } = useTranslation();\r\n const location = useLocation();\r\n\r\n const { searchTerm, setSearchTerm } = useContext(AdvancedSearchContext);\r\n const [textValue, setTextValue] = useState(searchTerm);\r\n const showSearchButton = location.pathname !== \"/search\";\r\n\r\n const handleInputChange = (event: React.ChangeEvent) => {\r\n setTextValue(event.target.value);\r\n };\r\n\r\n const search = () => {\r\n if (textValue) setSearchTerm(textValue);\r\n };\r\n\r\n // useEffect(() => {\r\n // const timerId = setTimeout(() => {\r\n // setSearchTerm(textValue);\r\n // }, 500);\r\n\r\n // return () => {\r\n // clearTimeout(timerId);\r\n // };\r\n // }, [textValue]);\r\n\r\n useEffect(() => {\r\n console.log(location.pathname, location.search);\r\n }, []);\r\n\r\n return (\r\n
e.preventDefault()}>\r\n {\r\n if (e.key === \"Enter\" && showSearchButton) search();\r\n }}\r\n required\r\n />\r\n {showSearchButton && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FilterKeyword;\r\n","import { useEffect, useContext } from \"react\";\r\nimport useSolrSearch from \"~/hooks/useSolrSearch\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\nimport { AnimatePresence, motion } from \"framer-motion\";\r\nimport Companies from \"../Categories/Companies\";\r\nimport Disclosures from \"../Categories/Disclosures\";\r\nimport ImageThemes from \"../Categories/ImageThemes\";\r\nimport Industries from \"../Categories/Industries\";\r\nimport PageSections from \"../Categories/PageSections\";\r\nimport Years from \"../Categories/Years\";\r\n// import SortBy from \"../Categories/SortBy\";\r\nimport FilterKeyword from \"./FilterKeyword\";\r\n\r\ninterface FilterListProps {\r\n resultType: string;\r\n show: boolean;\r\n}\r\n\r\nconst FilterList = (props: FilterListProps) => {\r\n const { resultType, show } = props;\r\n const { triggerSearch } = useContext(AdvancedSearchContext);\r\n const { logSearch } = useSolrSearch(\"\");\r\n\r\n useEffect(() => {\r\n if (triggerSearch) logSearch();\r\n }, [triggerSearch]);\r\n\r\n return (\r\n
\r\n \r\n {show && (\r\n \r\n {resultType === \"texts\" && }\r\n \r\n {resultType === \"images\" && }\r\n {resultType === \"pages\" && }\r\n \r\n \r\n \r\n {/* */}\r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default FilterList;\r\n","import { useState, useRef, useContext, useEffect, FunctionComponent, Fragment } from \"react\";\r\n// import { Button } from \"react-aria-components\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Tab } from \"@headlessui/react\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\nimport { ResultType } from \"../Search/Results/types\";\r\nimport TextResults from \"./Results/Text\";\r\nimport ImageResults from \"./Results/Image\";\r\nimport PagesResults from \"./Results/PagesResults\";\r\nimport DetailsModal from \"./Results/DetailsModal\";\r\nimport FullDocument from \"./Results/FullDocument\";\r\nimport DocumentViewer from \"./Results/DocumentViewer\";\r\n// import FilterIcon from \"~/ui/Icon/FilterIcon\";\r\nimport FilterList from \"./Filters/ListToggle/FilterList\";\r\nimport useSolrSearch from \"~/hooks/useSolrSearch\";\r\nimport ExploreLogo from \"~/components/ExploreLogo\";\r\nimport LanguageSwitcher from \"~/components/LanguageSwitcher\";\r\nimport Dashboard from \"../Dashboard\";\r\n\r\nconst SearchResult: FunctionComponent = () => {\r\n const { t } = useTranslation();\r\n const REGION = import.meta.env.VITE_REGION;\r\n\r\n const { activeTabs } = useContext(AdvancedSearchContext);\r\n // const [showFilters, setShowFilters] = useState(true);\r\n\r\n const { logSearch } = useSolrSearch(\"\");\r\n\r\n const resultsEl = useRef(null);\r\n const resultType: ResultType[] =\r\n REGION === \"us\" ? [\"images\", \"texts\", \"pages\"] : [\"images\", \"pages\", \"fullDocuments\"];\r\n\r\n const defaultTab = () => {\r\n return {\r\n index: resultType.findIndex((tab) => tab === activeTabs[0]),\r\n type: activeTabs[0],\r\n };\r\n };\r\n const [type, setType] = useState(defaultTab().type);\r\n const [selectedIndex, setSelectedIndex] = useState(0);\r\n\r\n useEffect(() => {\r\n setSelectedIndex(defaultTab().index);\r\n }, [activeTabs]);\r\n\r\n useEffect(() => {\r\n logSearch();\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n {resultType.map((type) => (\r\n \r\n {({ selected }) => (\r\n setType(type)}\r\n className={`rounded-full px-4 h-full ${\r\n selected\r\n ? \"bg-orange border-primary text-white outline-none\"\r\n : \"text-[#4B4B4B]\"\r\n }`}\r\n >\r\n {t(`searchResultTypes.${type}`)}\r\n \r\n )}\r\n \r\n ))}\r\n
\r\n\r\n {/*
\r\n setShowFilters(!showFilters)}\r\n >\r\n \r\n {t(\"filters\")}\r\n \r\n
*/}\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n {REGION === \"us\" && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n\r\n {REGION === \"fr\" && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default SearchResult;\r\n","import * as React from \"react\";\r\nimport { useLocation, useNavigate } from \"react-router-dom\";\r\nimport { useReadLocalStorage } from \"usehooks-ts\";\r\nimport MessageBar from \"~/components/MessageBar\";\r\nimport SearchPanel from \"~/features/SearchV2/SearchPanel\";\r\nimport SearchResult from \"~/features/Search/SearchResult\";\r\nimport { AdvancedSearchContext } from \"~/providers/AdvancedSearchProvider\";\r\n\r\nconst SearchPage: React.FunctionComponent = () => {\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const token = useReadLocalStorage(\"_t\");\r\n const { resetFilters, yearFilterReset } = React.useContext(AdvancedSearchContext);\r\n\r\n React.useEffect(() => {\r\n if (!token) {\r\n navigate(\"/auth/login\");\r\n }\r\n }, [token, navigate]);\r\n\r\n React.useEffect(() => {\r\n if (location.search === \"\") {\r\n resetFilters();\r\n yearFilterReset();\r\n }\r\n }, [location]);\r\n\r\n return (\r\n
\r\n {location.search !== \"\" ? : }\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default SearchPage;\r\n"],"names":["source","excluded","target","sourceKeys","key","i","objectWithoutPropertiesLoose","sourceSymbolKeys","t","n","r","s","a","c","o","l","e","m","u","f","h","p","d","v","x","g","_excluded","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread","node","checkLength","base","children","child","isValidElement","data","newTarget","i18nOptions","stringNode","childrenArray","keepArray","childIndex","childPropsCount","shouldKeepChild","childChildren","content","format","clone","value","targetString","i18n","combinedTOpts","shouldUnescape","emptyChildrenButNeedsHandling","getData","childs","ast","HTML","opts","renderInner","rootReactNode","mappedChildren","mapAST","pushTranslatedJSX","inner","mem","isVoid","cloneElement","reactNode","astNode","reactNodes","astNodes","translationContent","tmp","isElement","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","_inner","_inner2","createElement","_inner3","_inner4","wrapTextNodes","_content","result","Trans","_ref","count","parent","i18nKey","context","_ref$tOptions","tOptions","values","defaults","components","ns","i18nFromProps","tFromProps","additionalProps","k","reactI18nextOptions","namespaces","defaultValue","hashTransKey","interpolationOverride","translation","useAsParent","_ref2","useContext","i18nFromContext","defaultNSFromContext","TransWithoutContext","P","J","X","L","I","K","Y","$","G","y","A","T","B","H","M","_","V","b","j","S","E","R","N","z","U","q","Q","F","O","D","C","w","W","ce","ke","He","Ne","ye","Oe","Pe","Le","Z","me","De","be","ee","te","Re","oe","xe","re","ne","le","ae","ie","se","Se","pe","Fe","Ee","de","ue","fe","ve","ge","Te","he","Ae","$e","Ce","siteUpdate","showMessage","setShowMessage","useState","jsxs","Transition","jsx","Button","token","isLoading","url","years","setYears","useEffect","item","createContext","modalOpen","setModalOpen","activeTabs","setActiveTabs","searchTerm","setSearchTerm","keyword","setKeyword","filters","setFilters","triggerSearch","setTriggerSearch","disclosureFilters","setDisclosureFilters","yearFilters","setYearFilters","industryFilters","setIndustryFilters","companyFilters","setCompanyFilters","imageThemeFilters","setImageThemeFilters","pageSectionFilters","setPageSectionFilters","sortBy","setSortBy","yearFilterReset","defaultYears","yr","addFilter","type","advfilter","removeFilter","index","filter","filtersCopy","removeFilterByType","id","tabs","toggleActiveTabs","tab","isActiveTab","fetchUrl","allCompanies","companies","setCompanies","filteredCompanies","setFilteredCompanies","search","setSearch","handleDebouncedInput","useMemo","filtered","timerId","className","clearFn","bgColor","placeholder","props","label","Popover","open","Fragment","isSelected","onChange","language","items","listItems","setListItems","enableUpdate","updateFn","enableSelectAll","enableReset","groupSelected","autoUpdate","allowNoSelection","reset","resetFn","listEl","useRef","onSelectAll","onSelection","prevItems","checkSelection","clearSelections","ClearBtn","UpdateBtn","FILTER_TYPE","tempList","setTempList","tf","resetItems","handleUpdate","currFilters","tempItem","i18next","disclosures","setDisclosures","imageThemes","setImageThemes","setLoading","allDisclosures","fetcher","fetchData","useCallback","payload","metadataItems","setMetaDataItems","mdItems","meta","list","disclosure","category","metadata","name","setList","convertToMetaDataItem","convertToItem","themes","theme","allIndustry","industries","setIndustries","filteredIndustries","setFilteredIndustries","filterBySearch","ind","pageSections","setPageSections","pgSections","pg","FilterKeyword","textValue","setTextValue","handleInputChange","event","navigate","React.useContext","REGION","renderSkeleton","link","openTab","FilterList","resultType","hasTextbox","__","delay","noTrailing","callback","debounceMode","timeoutID","cancelled","lastExec","clearExistingTimeout","cancel","wrapper","self","elapsed","args","exec","clear","scrollThreshold","_super","InfiniteScroll","_this","evt","atBottom","prevProps","nextProps","prevState","dataLengthChanged","clientHeight","threshold","style","hasChildren","outerDivStyle","infScroll","pullDown","Component","filterVals","rows","culture","cursorMark","sp_click","sp_track_params","page","img","company","year","industry","resolve","reject","response","total","highlights","acc","error","sp_filters","Image","handleError","Suspense","text","storedTexts","setTexts","markText","isInCart","setIsInCart","React.useState","React.useEffect","bookmarks","inCart","bookmark","highlightText","contentText","searchText","showFullText","HLText","index1","regex","newText","toggleFavorite","updatedBookmarks","downloadDocument","region","noDownload","previewDocument","noPreview","texts","setItems","setIsLoading","totalItems","refDiv","currentPage","setCurrentPage","searchTriggered","setSearchTriggered","fetchSearchResults","newItems","txtData","getNextData","prevPage","it","rt","nt","pt","st","ct","ut","lt","images","setImages","isFavorite","setIsFavorite","inBookmark","itemComputedHeight","newWidth","state","storage","loadedItems","setLoadedItems","isFetching","setIsFetching","SolRSearchType","imgData","loadImages","loadImage","Masonry","generateRandomNumber","min","max","storedPages","setPages","pages","pgData","imagePreview","HOST","isExist","downloadImage","Dialog","root","factory","__unused_webpack_module","exports","assert","bytesToString","createValidAbsoluteUrl","getModificationDate","getUuid","getVerbosityLevel","info","isArrayBuffer","isArrayEqual","normalizeUnicode","objectFromMap","objectSize","setVerbosityLevel","shadow","string32","stringToBytes","stringToPDFString","stringToUTF8String","unreachable","utf8StringToString","warn","isNodeJS","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","MAX_IMAGE_SIZE_TO_CACHE","LINE_FACTOR","LINE_DESCENT_FACTOR","BASELINE_FACTOR","RenderingIntentFlag","AnnotationMode","AnnotationEditorPrefix","AnnotationEditorType","AnnotationEditorParamsType","PermissionFlag","TextRenderingMode","ImageKind","AnnotationType","AnnotationReplyType","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","AnnotationActionEventType","DocumentActionEventType","PageActionEventType","VerbosityLevel","CMapCompressionType","OPS","PasswordResponses","verbosity","level","msg","cond","_isValidProtocol","baseUrl","options","dots","absoluteUrl","obj","prop","nonSerializable","BaseException","message","PasswordException","code","UnknownErrorException","details","InvalidPDFException","MissingPDFException","UnexpectedResponseException","status","FormatError","AbortException","bytes","length","MAX_ARGUMENT_COUNT","strBuf","chunkEnd","chunk","str","map","isLittleEndian","buffer8","isEvalSupported","FeatureTest","_b","_a","hexNumbers","Util","transform","minMax","temp","m1","m2","xt","yt","p1","p2","p3","p4","transpose","first","second","sx","sy","rect","rect1","rect2","xLow","xHigh","yLow","yHigh","x0","y0","x1","y1","x2","y2","x3","y3","tvalues","bounds","t1","t2","b2ac","sqrtb2ac","mt","jlen","PDFStringTranslateTable","encoding","decoder","buffer","ex","ii","arr1","arr2","date","PromiseCapability","__privateAdd","_settled","__privateSet","reason","__privateGet","NormalizeRegex","NormalizationMap","buf","AnnotationPrefix","src","task","docId","httpHeaders","withCredentials","password","rangeTransport","rangeChunkSize","worker","docBaseUrl","cMapUrl","cMapPacked","CMapReaderFactory","standardFontDataUrl","StandardFontDataFactory","ignoreErrors","maxImageSize","isOffscreenCanvasSupported","canvasMaxAreaInBytes","disableFontFace","fontExtraProperties","enableXfa","ownerDocument","disableRange","disableStream","disableAutoFetch","pdfBug","useSystemFonts","useWorkerFetch","canvasFactory","filterFactory","styleElement","transportFactory","workerParams","fetchDocParams","transportParams","workerIdPromise","networkStreamPromise","networkStream","params","workerId","messageHandler","transport","val","_PDFDocumentLoadingTask","__privateWrapper","_docId","_c","initialData","progressiveDone","contentDispositionFilename","listener","begin","loaded","end","pdfInfo","js","jsArr","pageNumber","ref","keepLoadedFonts","pageIndex","pageInfo","_tryCleanup","_abortDelayedCleanup","_delayedCleanupTimeout","_pendingCleanup","scale","rotation","offsetX","offsetY","dontFlip","intent","intentArgs","canvasContext","viewport","annotationMode","background","optionalContentConfigPromise","annotationCanvasMap","pageColors","printAnnotationStorage","__privateMethod","abortDelayedCleanup_fn","intentState","intentPrint","complete","internalRenderTask","tryCleanup_fn","renderTask","transparency","optionalContentConfig","operatorListChanged","opListTask","includeMarkedContent","disableNormalization","textContent","xfa","readableStream","pump","reader","done","waitOn","resetStats","success","cacheKey","operatorListChunk","renderingIntent","annotationStorageSerializable","transfers","force","curCacheKey","curIntentState","delayed","renderTasks","operatorList","_listeners","_deferred","transfer","require","pdfjsFilePath","otherUrl","other","port","_workerPorts","workerSrc","terminateEarly","onWorkerError","sendTest","testObj","WorkerMessageHandler","workerHandler","cachedPort","loadingTask","_cacheSimpleMethod","_methodPromises","_pageCache","_pagePromises","_passwordCapability","isOpList","terminated","sink","readyReason","headersCapability","fullReader","rangeReader","exception","updatePassword","exportedData","exportedError","inspectFont","font","imageData","pageProxy","width","height","cachedPromise","promise","cacheSimpleMethod_fn","results","_ensureObj","_objs","objId","ensureObj_fn","_internalRenderTask","extraDelay","separateAnnots","_InternalRenderTask","objs","commonObjs","useRequestAnimationFrame","_canvasInUse","__w_pdfjs_require__","_util","_editor","_murmurhash","SerializableEmpty","AnnotationStorage","_setModified","_modified","_storage","modified","entry","setModified_fn","PrintAnnotationStorage","hash","hasBitmap","serialized","_serializable","_tools","_display_utils","_AnnotationEditor","parameters","_translate","_getBaseTranslation","_getRotationMatrix","_createResizers","_resizerPointerdown","_resizerPointermove","_setAltTextButtonState","_setUpDragSession","_altText","_altTextDecorative","_altTextButton","_altTextTooltip","_altTextTooltipTimeout","_keepAspectRatio","_resizersDiv","_boundFocusin","_boundFocusout","_hasBeenClicked","_isEditing","_isInEditMode","__publicField","_isDraggable","_zIndex","pageWidth","pageHeight","pageX","pageY","editor","fakeEditor","FakeEditor","l10n","_type","_value","mime","tx","ty","translate_fn","parentWidth","parentHeight","bx","by","getBaseTranslation_fn","_rotatePoint","rotatePoint_fn","parentScale","scaledWidth","scaledHeight","widthPercent","heightPercent","altText","setAltTextButtonState_fn","decorative","isMac","setUpDragSession_fn","shiftX","shiftY","isForCopying","uiManager","createResizers_fn","aspectRatio","_borderLineWidth","angle","getRotationMatrix_fn","classes","div","resizerPointerdown_fn","boundResizerPointermove","resizerPointermove_fn","savedDraggable","pointerMoveOptions","savedX","savedY","savedWidth","savedHeight","savedParentCursor","savedCursor","pointerUpCallback","newX","newY","newHeight","minWidth","minHeight","round","rotationMatrix","transf","invRotationMatrix","invTransf","getPoint","getOpposite","isDiagonal","isHorizontal","point","oppositePoint","transfOppositePoint","oppositeX","oppositeY","ratioX","ratioY","deltaX","deltaY","oldDiag","button","tooltip","DELAY_TO_SHOW_TOOLTIP","pointerMoveCallback","AnnotationEditor","bindEvents","opacityToHex","element","names","opacity","IdManager","_id","_ImageManager","_get","_baseId","_cache","svg","ctx","image","file","lastModified","size","get_fn","rawData","mustRemoveAspectRatioPromise","fileReader","imageElement","imagePromise","ImageManager","CommandManager","maxSize","_commands","_locked","_maxSize","_position","cmd","undo","mustExec","overwriteIfSameType","keepUndo","save","next","KeyboardManager","callbacks","_serialize","isMacKey","serialize_fn","bubbles","checker","_ColorManager","colors","color","rgb","RGB","ColorManager","_AnnotationEditorUIManager","container","viewer","altTextManager","eventBus","pdfDocument","_addFocusManager","_removeFocusManager","_addKeyboardManager","_removeKeyboardManager","_addCopyPasteListeners","_removeCopyPasteListeners","_dispatchUpdateStates","_dispatchUpdateUI","_enableAll","_disableAll","_addEditorToLayer","_isEmpty","_selectEditors","_activeEditor","_allEditors","_allLayers","_altTextManager","_annotationStorage","_commandManager","_currentPageIndex","_deletedAnnotationsElementIds","_draggingEditors","_editorTypes","_editorsToRescale","_filterFactory","_idManager","_isEnabled","_isWaiting","_lastActiveElement","_mode","_selectedEditors","_pageColors","_boundBlur","_boundFocus","_boundCopy","_boundCut","_boundPaste","_boundKeydown","_boundOnEditingAction","_boundOnPageChanging","_boundOnScaleChanging","_boundOnRotationChanging","_previousStates","_translation","_translationTimeoutId","_container","_viewer","proto","arrowChecker","activeElement","small","big","removeKeyboardManager_fn","removeFocusManager_fn","layer","layerX","layerY","pagesRotation","lastEditor","lastActiveElement","addKeyboardManager_fn","addCopyPasteListeners_fn","removeCopyPasteListeners_fn","editors","clipboardData","editorType","newEditors","deserializedEditor","addEditorToLayer_fn","selectEditors_fn","isEditing","addFocusManager_fn","dispatchUpdateStates_fn","isEmpty_fn","types","dispatchUpdateUI_fn","mode","editId","disableAll_fn","enableAll_fn","mustWait","annotationElementId","ed","noCommit","totalX","totalY","TIME_TO_WAIT","mustBeAddedInUndoStack","move","newPageIndex","savedPageIndex","AnnotationEditorUIManager","deprecated","getColorValues","getCurrentTransform","getCurrentTransformInverse","getFilenameFromUrl","getPdfFilenameFromUrl","getRGB","getXfaPageViewport","isDataScheme","isPdfFile","isValidFetchUrl","loadScript","noContextMenu","setLayerDimensions","_base_factory","SVG_NS","_PixelsPerInch","PixelsPerInch","DOMFilterFactory","_defs","_addGrayConversion","_createFilter","_appendFeFunc","_addTransferMapConversion","_getRGB","__cache","__defs","_document","_hcmFilter","_hcmKey","_hcmUrl","_hcmHighlightFilter","_hcmHighlightKey","_hcmHighlightUrl","maps","cache_get","tableR","tableG","tableB","mapR","mapG","mapB","bufferR","bufferG","bufferB","createFilter_fn","addTransferMapConversion_fn","fgColor","fgRGB","getRGB_fn","bgRGB","defs_get","table","addGrayConversion_fn","getSteps","start","arr","newFgColor","newBgColor","fgGray","bgGray","newFgRGB","newBgRGB","fg","bg","step","newStart","newStep","prev","keepHCM","feColorMatrix","appendFeFunc_fn","feComponentTransfer","func","feFunc","rTable","gTable","bTable","DOMCanvasFactory","canvas","asTypedArray","request","DOMCMapReaderFactory","compressionType","DOMStandardFontDataFactory","DOMSVGFactory","PageViewport","viewBox","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","topLeft","bottomRight","RenderingCancelledException","filename","onlyStripPath","defaultFilename","reURI","reFilename","splitURI","suggestedFilename","StatTimer","outBuf","longest","protocol","removeScriptElement","script","pdfDateStringRegex","PDFDateString","input","matches","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","xfaPage","colorRGB","span","computedColor","mustFlip","mustRotate","useRound","widthStr","heightStr","BaseFilterFactory","BaseCanvasFactory","canvasAndContext","BaseCMapReaderFactory","isCompressed","BaseStandardFontDataFactory","BaseSVGFactory","skipDimensions","SEED","MASK_HIGH","MASK_LOW","MurmurHash3_64","seed","blockCounts","tailLength","dataUint32","k1","k2","h1","h2","C1","C2","C1_LOW","C2_LOW","FontLoader","_systemFonts","nativeFontFace","rule","styleSheet","loadedName","fontFace","hasFonts","supported","completeRequest","loadingRequests","otherRequest","testFont","int32","offset","spliceString","remove","insert","chunk1","chunk2","called","isFontReady","loadTestFontId","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","FontFaceObject","translatedData","css","character","cmds","jsBuf","current","require$$0","NodeFilterFactory","NodeCanvasFactory","require$$1","NodeCMapReaderFactory","NodeStandardFontDataFactory","_pattern_helper","_image_utils","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","EXECUTION_TIME","EXECUTION_STEPS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","mirrorContextOperations","destCtx","cp1x","cp1y","cp2x","cp2y","CachedCanvases","canvasEntry","drawImageAtIntegerCoords","srcImg","srcX","srcY","srcW","srcH","destX","destY","destW","destH","tlX","rTlX","tlY","rTlY","brX","rWidth","brY","rHeight","scaleX","scaleY","compileType3Glyph","POINT_TO_PROCESS_LIMIT","POINT_TYPES","width1","points","j0","lineSize","pos","elem","mask","sum","steps","path","p0","pp","CanvasExtraState","box","pathType","xStrokePad","yStrokePad","intersect","putBinaryImageData","partialChunkHeight","fullChunks","totalChunks","chunkImgData","srcPos","destPos","dest","thisChunkHeight","elemsInThisChunk","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","copyCtxState","sourceCtx","properties","property","resetCtxToDefault","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","layerOffsetX","layerOffsetY","maskOffsetX","maskOffsetY","hasBackdrop","composeFn","chunkSize","row","chunkHeight","composeSMask","smask","layerBox","layerWidth","layerHeight","getImageSmoothingEnabled","interpolate","actualScale","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","_CanvasGraphics","canvasCtx","markedContentStack","_restoreInitialState","_drawFilter","fallback","savedFillStyle","transparentCanvas","executionStartIdx","continueCallback","stepper","argsArray","fnArray","argsArrayLen","chunkOperations","endTime","fnId","depObjId","objsPool","restoreInitialState_fn","cache","drawFilter_fn","inverseTransform","widthScale","heightScale","paintWidth","paintHeight","tmpCanvasId","tmpCanvas","tmpCtx","fillColor","isPatternFill","currentTransform","scaled","maskCanvas","mainKey","cachedImage","maskToCanvas","cord1","cord2","drawnWidth","drawnHeight","fillCanvas","fillCtx","inverse","limit","dashArray","dashPhase","flatness","states","inSMaskMode","cacheId","scratchCanvas","dirtyBox","suspendedCtx","old","ops","startX","startY","isScalingMatrix","minMaxForBezier","xw","yh","consumePath","strokeColor","needRestore","paths","spacing","leading","fontRefName","fontObj","typeface","bold","italic","browserFontSize","rise","patternTransform","textRenderingMode","fontSize","fillStrokeMode","isAddToPathSet","patternFill","addToPath","enabled","glyphs","fontSizeScale","charSpacing","wordSpacing","fontDirection","textHScale","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","lineWidth","chars","glyph","restoreNeeded","accent","scaledX","scaledY","vmetric","vx","vy","measuredWidth","characterScaleX","scaledAccentX","scaledAccentY","charWidth","fontMatrix","isTextInvisible","spacingLength","xWidth","yWidth","llx","lly","urx","ury","IR","baseTransform","canvasGraphicsFactory","matrix","inv","bbox","group","currentCtx","canvasBounds","groupCtx","currentMtx","hasOwnCanvas","viewportScale","canvasWidth","canvasHeight","skewX","skewY","positions","trans","bitmap","imgToPaint","tag","clipBox","isEmpty","absDet","normX","normY","scaledLineWidth","scaledXLineWidth","scaledYLineWidth","baseArea","saveRestore","dashes","hcmFilterId","savedFilter","CanvasGraphics","op","getShadingPattern","PathType","applyBoundingBox","BaseShadingPattern","RadialAxialShadingPattern","grad","colorStop","owner","ownerBBox","domMatrix","drawTriangle","c1","c2","c3","coords","rowSize","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","cols","MeshShadingPattern","combinedScale","backgroundColor","cachedCanvases","boundsWidth","boundsHeight","paddedWidth","paddedHeight","matrixScale","temporaryPatternCanvas","DummyShadingPattern","PaintType","_TilingPattern","xstep","ystep","paintType","tilingType","curMatrixScale","dimx","dimy","graphics","adjustedX0","adjustedY0","adjustedX1","adjustedY1","realOutputSize","bboxWidth","bboxHeight","cssColor","TilingPattern","convertBlackAndWhiteToRGBA","convertToRGBA","grayToRGBA","convertRGBToRGBA","nonBlackColor","inverseDecode","zeroMapping","oneMapping","widthInSource","widthRemainder","len32","src32","s1","s2","s3","jj","GlobalWorkerOptions","CallbackKind","StreamKind","wrapReason","MessageHandler","sourceName","targetName","comObj","_createStreamSink","_processStreamMessage","_deleteStreamController","processStreamMessage_fn","callbackId","capability","action","cbSourceName","cbTargetName","createStreamSink_fn","actionName","handler","ah","queueingStrategy","streamId","controller","startCapability","pullCapability","cancelCapability","streamSink","lastDesiredSize","streamController","deleteStreamController_fn","Metadata","parsedData","_metadataMap","_data","INTERNAL","OptionalContentGroup","_visible","internal","visible","OptionalContentConfig","_evaluateVisibilityExpression","_cachedGetHash","_groups","_initialHash","_order","on","off","evaluateVisibilityExpression_fn","array","operator","PDFDataTransportStream","pdfDataRangeTransport","found","_d","queuedChunks","PDFDataTransportStreamReader","PDFDataTransportStreamRangeReader","stream","requestCapability","_network_utils","createFetchOptions","headers","abortController","createHeaders","getArrayBuffer","PDFFetchStream","PDFFetchStreamReader","PDFFetchStreamRangeReader","getResponseHeader","allowRangeRequests","suggestedLength","createResponseStatusError","extractFilenameFromHeader","validateRangeRequestCapabilities","validateResponseStatus","_content_disposition","isHttp","returnValues","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","attributePattern","flags","textdecode","contentDispositionStr","match","iter","quot","part","parts","quotindex","extvalue","encodingend","charset","hex","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","xhr","NetworkManager","listeners","xhrId","pendingRequest","xhrStatus","rangeHeader","PDFNetworkStream","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","manager","fullRequestXhrId","fullRequestXhr","fileUriRegex","parseUrl","sourceUrl","require$$2","parsedUrl","PDFNodeStream","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","BaseRangeReader","createRequestOptions","handleResponse","http","require$$3","https","require$$4","fs","stat","SVG_DEFAULTS","XML_NS","XLINK_NS","createObjectURL","contentType","forceDataSchema","digits","b1","b2","b3","d1","d2","d3","d4","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","body","len","adler32","deflateSync","literals","deflateSyncUncompressed","output","maxBlockLength","deflateBlocks","idat","pi","adler","encode","kind","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","pngLength","SVGExtraState","opListToTree","opList","opTree","opListElement","pf","pm","clipCount","maskCount","shadingCount","SVGGraphics","transformMatrix","svgElement","operatorIdMapping","opTreeElement","fn","lineWidthScale","textMatrix","strokeAlpha","fillAlpha","tilingId","tx0","ty0","tx1","ty1","xscale","yscale","txstep","tystep","tiling","shadingId","colorStops","gradient","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","stop","clipId","clipPath","clipElement","textRise","imgSrc","cliprect","imgEl","definitions","rootGroup","clipGroup","XfaText","walk","renderTextLayer","updateTextLayer","MAX_TEXT_DIVS_TO_RENDER","DEFAULT_FONT_SIZE","DEFAULT_FONT_ASCENT","ascentCache","getCtx","getAscent","fontFamily","cachedAscent","metrics","ascent","descent","ratio","pixels","appendText","geom","styles","textDiv","textDivProperties","fontHeight","fontAscent","left","top","scaleFactorStr","divStyle","shouldScaleText","absScaleX","absScaleY","layout","prevFontSize","prevFontFamily","render","textDivs","TextLayerRenderTask","textContentSource","textContentItemsStr","styleCache","br","visibility","scaleFactor","mustRescale","_freetext","_ink","_stamp","_AnnotationEditorLayer","accessibilityManager","annotationLayer","_createNewEditor","_createAndAddNewEditor","_getCenterPoint","_cleanup","_accessibilityManager","_allowClick","_annotationLayer","_boundPointerup","_boundPointerdown","_editors","_hadPointerDown","_isCleaningUp","_isDisabling","_uiManager","editorTypes","cleanup_fn","isCommitting","createAndAddNewEditor_fn","annotationElementIds","editables","editable","hiddenAnnotationIds","getCenterPoint_fn","createNewEditor_fn","isCentered","AnnotationEditorLayer","_annotation_layer","_FreeTextEditor","_updateFontSize","_updateColor","_extractText","_setEditorDimensions","_setContent","_hasElementChanged","_cheatInitialRect","_boundEditorDivBlur","_boundEditorDivFocus","_boundEditorDivInput","_boundEditorDivKeydown","_color","_editorDivId","_fontSize","_initialData","updateFontSize_fn","updateColor_fn","cheatInitialRect_fn","savedText","extractText_fn","setText","setContent_fn","setEditorDimensions_fn","baseX","baseY","position","posX","posY","fontColor","textPosition","padding","hasElementChanged_fn","setFontsize","savedFontsize","savedColor","divs","currentLayer","savedDisplay","line","FreeTextEditor","_annotation_storage","_scripting_utils","_displayL10n_utils","_xfa_layer","DEFAULT_TAB_INDEX","GetElementsByNameSet","getRectDims","AnnotationElementFactory","LinkAnnotationElement","TextAnnotationElement","TextWidgetAnnotationElement","RadioButtonWidgetAnnotationElement","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","SignatureWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","_AnnotationElement","isRenderable","ignoreBorder","createQuadrilaterals","_hasBorder","titleObj","contentsObj","richText","horizontalRadius","verticalRadius","radius","borderColor","elementWidth","elementHeight","setColor","jsName","styleName","colorArray","display","hidden","actions","jsEvent","commonActions","storedData","detail","eventProxy","quadPoints","rectBlX","rectBlY","rectTrX","rectTrY","trX","trY","blX","blY","svgBuffer","borderWidth","svgFactory","defs","rectWidth","rectHeight","popup","skipId","fields","fieldObj","exportValues","exportValue","domElement","triggers","_setInternalLink","_bindSetOCGState","linkService","isBound","bindSetOCGState_fn","destination","setInternalLink_fn","attachment","resetForm","otherClickAction","resetFormFields","resetFormRefs","include","allFields","fieldIds","fieldName","field","allIds","isWin","elementData","baseName","eventName","valueGetter","getter","TEXT_ALIGNMENT","computedFontSize","BORDER_SIZE","roundToOneDecimal","numberOfLines","lineHeight","isRequired","keyInStorage","maxLen","fieldFormattedValues","blurListener","formattedValue","charLimit","commitKey","_blurListener","selectionStart","selectionEnd","selStart","selEnd","combWidth","checked","checkbox","curChecked","radio","pdfButtonValue","linkElement","selectElement","addAnEmptyEntry","option","optionElement","removeEmptyEntry","noneOptionElement","getValue","isExport","multiple","selectedValues","getItems","displayValue","selectChild","indices","elements","PopupElement","elementIds","modificationDate","parentRect","_keyDown","_toggle","_show","_hide","_dateTimePromise","_boundKeyDown","keyDown_fn","_boundHide","hide_fn","_boundShow","show_fn","_boundToggle","toggle_fn","_contentsObj","_elements","_parent","_parentRect","_pinned","_popup","_rect","_richText","_titleObj","_wasVisible","dateObject","view","baseColor","header","title","localized","contents","useParentRect","normalizedRect","HORIZONTAL_SPACE_AFTER_ANNOTATION","popupLeft","popupTop","dir","lines","lineSpan","_line","_square","square","_circle","circle","_polyline","coordinate","polyline","_polylines","inkList","_download","_trigger","trigger","download_fn","AnnotationLayer","_appendElement","_setAnnotationCanvasMap","_annotationCanvasMap","_editableAnnotations","annotations","popupToElements","elementParams","isPopupAnnotation","rendered","appendElement_fn","setAnnotationCanvasMap_fn","contentElement","firstChild","makeColorComp","scaleAndClamp","ColorConverters","getL10nFallback","DEFAULT_L10N_STRINGS","formatL10nValue","all","NullL10n","_xfa_text","XfaLayer","html","attributes","isHTMLAnchorElement","rootHtml","stack","rootDiv","childHtml","el","_InkEditor","_updateThickness","_updateOpacity","_getInitialBBox","_setStroke","_startDrawing","_draw","_endPath","_stopDrawing","_drawPoints","_makeBezierCurve","_generateBezierPoints","_redraw","_endDrawing","_createCanvas","_createObserver","_setCanvasDims","_setScaleFactor","_updateTransform","_serializePaths","_getBbox","_getPadding","_fitToContent","_baseHeight","_baseWidth","_boundCanvasPointermove","_boundCanvasPointerleave","_boundCanvasPointerup","_boundCanvasPointerdown","_currentPath2D","_disableEditing","_hasSomethingToDraw","_isCanvasInitialized","_observer","_realWidth","_realHeight","_requestFrameCallback","updateThickness_fn","updateOpacity_fn","createCanvas_fn","createObserver_fn","setCanvasDims_fn","fitToContent_fn","startDrawing_fn","draw_fn","endDrawing_fn","getInitialBBox_fn","redraw_fn","roundedWidth","roundedHeight","setScaleFactor_fn","bezier","_fromPDFCoordinates","fromPDFCoordinates_fn","p10","p11","p20","p21","p30","p31","path2D","_buildPath2D","buildPath2D_fn","getBbox_fn","serializePaths_fn","thickness","savedThickness","savedOpacity","parentRotation","setStroke_fn","drawPoints_fn","lastX","lastY","currentPath","makeBezierCurve_fn","endPath_fn","lastPoint","stopDrawing_fn","generateBezierPoints_fn","xy","lastPoints","prevX","prevY","bezierPoints","control1","control2","updateTransform_fn","entries","getPadding_fn","scaleFactorW","scaleFactorH","_toPDFCoordinates","toPDFCoordinates_fn","p40","p41","xMin","xMax","yMin","yMax","firstTime","prevTranslationX","prevTranslationY","unscaledPadding","InkEditor","_StampEditor","_getBitmapFetched","_getBitmapDone","_getBitmap","_setDimensions","_scaleBitmap","_drawBitmap","_serializeBitmap","_bitmap","_bitmapId","_bitmapPromise","_bitmapUrl","_bitmapFile","_canvas","_resizeTimeoutId","_isSvg","_hasBeenAddedInUndoStack","getBitmap_fn","bitmapUrl","bitmapId","isSvg","accessibilityData","serializeBitmap_fn","area","prevData","getBitmapFetched_fn","fromId","getBitmapDone_fn","MAX_RATIO","factor","drawBitmap_fn","setDimensions_fn","scaleBitmap_fn","bitmapWidth","bitmapHeight","prevWidth","prevHeight","offscreen","toUrl","StampEditor","moduleId","cachedModule","module","_annotation_editor_layer","_worker_options","_api","_text_layer","pdfjsModule['default']","ReactPropTypesSecret","shim","propName","componentName","location","propFullName","secret","err","getShim","ReactPropTypes","propTypesModule","this","to","from","pack","ar","getArgs","eventProps","eventHandler","isCancelled","wrappedPromise","isProduction","condition","provided","pdfViewer","externalLinkRel","externalLinkTarget","explicitDest","destRef","newWindow","variable","dataURI","headersString","dataString","runningTask","useReducer","PDFDataRangeTransport","pdfjs","isPageIndex","pdf","numPages","isPageNumber","thisArg","_arguments","generator","adopt","fulfilled","rejected","__rest","forwardRef","Document","inputRef","imageResourcesPath","loading","noData","onItemClick","onLoadErrorProps","onLoadProgress","onLoadSuccessProps","onPassword","onSourceErrorProps","onSourceSuccessProps","renderMode","rotate","otherProps","sourceState","sourceDispatch","sourceError","pdfState","pdfDispatch","pdfError","useImperativeHandle","onSourceSuccess","onSourceError","resetSource","findDocumentSource","otherParams","fileByteString","cancellable","makeCancellable","nextSource","onLoadSuccess","onLoadError","resetDocument","loadDocument","documentInitParams","destroyable","nextPdf","setupLinkService","registerPage","unregisterPage","childContext","renderChildren","renderContent","isFunctionOrNode","inputRefs","_i","filteredInputRefs","firstRef","role","htmlRole","childAttributes","pageContext","onGetStructTreeErrorProps","onGetStructTreeSuccessProps","structTreeState","structTreeDispatch","structTree","structTreeError","customTextRenderer","resetAnnotations","loadStructTree","nextStructTree","mergedProps","_className","canvasBackground","devicePixelRatio","onRenderErrorProps","onRenderSuccessProps","renderForms","canvasRef","canvasElement","onRenderSuccess","onRenderError","renderViewport","drawPageOnCanvas","renderContext","cleanup","svgState","svgDispatch","svgError","resetSVG","renderSVG","nextSvg","drawPageOnContainer","onGetTextError","onGetTextSuccess","onRenderTextLayerError","onRenderTextLayerSuccess","textContentState","textContentDispatch","textContentError","layerElement","endElement","resetTextContent","loadTextContent","nextTextContent","onMouseDown","onMouseUp","layerChildren","itemIndex","useLayoutEffect","documentContext","onGetAnnotationsErrorProps","onGetAnnotationsSuccessProps","onRenderAnnotationLayerErrorProps","onRenderAnnotationLayerSuccessProps","annotationsState","annotationsDispatch","annotationsError","loadAnnotations","nextAnnotations","renderAnnotationLayer","clonedViewport","annotationLayerParameters","renderParameters","Page","_enableRegisterUnregisterPage","CustomRenderer","onGetTextErrorProps","onGetTextSuccessProps","onRenderTextLayerErrorProps","onRenderTextLayerSuccessProps","pageIndexProps","pageNumberProps","renderAnnotationLayerProps","renderTextLayerProps","rotateProps","scaleProps","pageState","pageDispatch","pageError","pageElement","pageScale","scaleWithDefault","hook","resetPage","loadPage","nextPage","pageKey","pageKeyNoScale","renderMainLayer","documentPreview","setNumPages","setPageNumber","onDocumentLoadSuccess","showSearchButton","show","logSearch","resultsEl","defaultTab","setType","selectedIndex","setSelectedIndex","Tab","selected","resetFilters"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,61,69,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107]}