{"version":3,"sources":["webpack:///./app/javascript/src/utils/viewer.ts","webpack:///./app/javascript/src/utils/prizmdoc/jquery.hotkeys.min.js","webpack:///./app/javascript/src/utils/prizmdoc/jquery.hotkeys.min.js?03fa","webpack:///./public/viewer-assets/js/viewercontrol.js","webpack:///./public/viewer-assets/js/viewercontrol.js?6c2d","webpack:///./public/viewer-assets/js/html5shiv.js","webpack:///./public/viewer-assets/js/html5shiv.js?c43c","webpack:///./app/javascript/src/utils/prizmdoc/viewerCustomizations.js","webpack:///./app/javascript/src/utils/prizmdoc/viewerCustomizations.js?b5a5","webpack:///./app/javascript/src/utils/prizmdoc/templates lazy ^\\.\\/.*Template\\.html$ preloadOrder: 0 namespace object","webpack:///./app/javascript/src/utils/prizmdoc/viewer.js","webpack:///./app/javascript/src/utils/prizmdoc-assets.ts","webpack:///./app/javascript/packs/prizmdoc.ts","webpack:///./app/javascript/src/store/getters.js","webpack:///./app/javascript/src/store/actions.js","webpack:///./app/javascript/src/store/globalModule.ts","webpack:///./app/javascript/src/store/mutations.js","webpack:///./app/javascript/src/vue_shared/query_params.ts","webpack:///./app/javascript/src/utils/nr_sentry.js","webpack:///./app/javascript/src/pages/requests/store/requests/filters.ts","webpack:///./app/javascript/src/vue_shared/api.js","webpack:///./app/javascript/src/pages/requests/components/columns.js","webpack:///./app/javascript/src/vue_shared/http.ts","webpack:///./app/javascript/src/utils/helpers.js"],"names":["baseUrl","account","state","prizmdoc_proxy_url","window","fetchHtmlTemplates","Promise","htmlTemplates","comment","contextMenu","copyOverlay","downloadOverlay","esignOverlay","hyperlinkMenu","imageStampOverlay","markDelete","overwriteOverlay","pageRedactionOverlay","printOverlay","print","redactionReason","unsavedChangesOverlay","viewer","all","Object","keys","map","template","resolve","reject","then","res","reduce","acc","cur","fetchRegexes","highlightColor","searchOnInit","globalOptions","matchCase","endsWith","beginsWith","matchWholeWord","exactPhrase","terms","regex_name","searchTermIsRegex","searchTerm","description","userDefinedRegex","selected","fetchRedactionReasons","reasons","autoApplyDefaultReason","enableRedactionReasonSelection","enableFreeformRedactionReasons","maxLengthFreeformRedactionReasons","length","name","reason","escape","openRedactionTab","redactTabItem","document","querySelector","classList","add","pccTabPane","PrizmdocViewer","regexes","redactionReasons","selector","viewingSessionId","documentTitle","redaction","reviewState","nextRequest","viewerControl","$","pccViewer","annotationsMode","commentsPanelMode","documentID","documentDisplayName","sanitize","icons","imageHandlerUrl","immediateActionMenuMode","immediateActionMenuActionsFilter","select","copy","highlight","redact","hyperlink","strikethrough","cancel","delete","language","predefinedSearch","signatureCategories","uiElements","buildUiElements","viewerAssetsPath","on","showRedactionTab","module","exports","webpackAsyncContext","req","__webpack_require__","o","e","Error","code","ids","id","PCCViewer","undefined","DATAKEY","windowResizeCallbacks","onWindowResize","callback","timeout","debouncedCallback","clearTimeout","setTimeout","push","ICON_MAP","updateIcon","$elem","attr","split","filter","className","indexOf","find","empty","append","parseIcons","each","i","elem","renderTemplate","data","_","Viewer","element","options","hotkeys","_typeof","existingViewer","destroy","error","this","redactionReasonsExtended","extend","forEach","selectable","unshift","Language","redactionReasonFreeform","redactionReasonClear","annotationsModeEnum","LegacyAnnotations","LayeredAnnotations","enableMultipleRedactionReasons","attachmentViewingModeEnum","NewWindow","ThisViewer","attachmentViewingMode","downloadFormats","fileDownloadOriginalDocument","fileDownloadPdfFormat","annotationDownloads","fileDownloadAnnotationsNone","fileDownloadAnnotationsAll","fileDownloadAnnotationsSelected","redactionDownloads","fileDownloadRedactionsNone","fileDownloadRedactionsNormal","fileDownloadRedactionsDraft","esignatureDownloads","fileDownloadESignaturesNone","fileDownloadESignaturesAll","resizeESignContext","esignContext","resize","updateContextMenuDropdownsMaxHeight","$dropdowns","viewerNodes","$contextMenu","heightDecrease","hasClass","dropdownMaxHeight","Math","max","$dom","height","css","updateFullPageRedactionDropdownsMaxHeight","$pageRedactionOverlay","getMultipleRedactionReasonsText","join","toggleNodes","ev","tabParent","isPreset","$elBeingToggled","$elContextMenu","$target","target","$currentTarget","currentTarget","toggleID","parents","removeClass","annotationIo","onOpenDialog","modes","loadMarkupLayers","loadClassic","annotationLayerReview","refresh","markupLayer","getActiveMarkupLayer","getName","annotationLayerSave","onSave","toggleClass","toggleDialogs","piiDetection","detectPii","reset","ai","summarizeDocument","classifyDocument","tagDocument","stopPropagation","opts","$thumbDialog","$thumbnailDialog","toggleArgs","openClass","secondaryClass","isOpen","$el","isThumbnailsOpen","isThisOpen","openingThumbs","test","latestBreakpoint","breakpointEnum","mobile","$dialogs","not","hasExistingOpenPanel","is","secondaryDialog","addClass","toggleDialogOffset","isFitTypeActive","fitContent","currentFitType","thumbnailManager","embedOnce","width","tabBreakPoint","openDialog","$dialog","$trigger","activeClass","hasOpenPanel","onMobileView","$piiDetectionDialog","updateContextMenu","args","$input","tmplData","mark","currentMarks","lang","windowWidth","innerWidth","documentElement","clientWidth","body","isSignatureTool","mouseToolType","MouseTool","Type","PlaceSignature","selectionChangeAndNoMarks","markSelectionChanged","getSelectedMarks","getCurrentMouseTool","editToolAndNoMarks","EditMarks","PanAndEdit","isToolWithoutContext","TransparentRectangleRedaction","SelectText","Magnifier","SelectToZoom","multipleMarksSelected","isImageStampTool","search","isImageStampMenu","getImage","showContextMenu","menuOptions","collapseLeftSide","showTabArea","showMainTab","activateMainTab","showBorderColorTab","showFontTab","activateFontTab","showLayerTab","activateLayerTab","showESignTab","activateESignTab","showLinkTab","activateLinkTab","showLinkStylesTab","showImageTab","activateImageTab","showTransparentFillColor","showTransparentBorderColor","enableCustomRedactionReason","getType","getPageNumber","linkText","getHref","getBorderColor","getBorderThickness","showAllEditControls","currentImage","imageStamp","getImageUrl","val","key","match","tmplRedactionReasons","clone","customRedactionReason","getReason","redactionReasonMenu","isPreloadedRedactionReason","redactionReasonLabel","redactionReasonSelect","getReasons","_reasons","checked","showSignaturePreview","paragraphAlignTitle","getHorizontalAlignment","charAt","toUpperCase","slice","currentUserId","rapidReview","userId","currentUserIsAdmin","adminUser","html","disableContextMenuTabbing","removeUIElements","dom","get","signature","eSignature","mouseTool","getTemplateMark","getSignature","insertSignatureView","launchESignManage","submitLinkInput","value","setHref","which","blur","reasonsValue","notify","message","redactionReasonFreeforMaxLengthOver","substring","setReasons","setReason","click","selectMarkImage","newImage","setImage","selectToolImage","remainActive","scrollTop","root","$root","legacyKeys","contains","remove","placeholderPolyfill","createElement","el","placeholderVal","placeholderClass","getInputValueNotPlaceholder","$inputEl","rgbToHex","rgb","rgbHexCode","Number","toString","getCurrentMouseToolType","currentToolName","MouseTools","getMouseTool","manualOffset","$openDialog","$pageList","removeManualOffset","getBoundingClientRect","right","left","$events","trigger","estimatedCountHandler","pageCount","$pageCount","pageCountHandler","$firstPage","$lastPage","$prevPage","$nextPage","initialSearchHandler","pageLoadFailedHandler","documentNotFound","statusCode","sessionExpired","sticky","hide","pageChangedHandler","$pageSelect","pageNumber","markCreatedHandler","Mark","TextAnnotation","TextRedaction","TextInputSignature","setMouseToolIfUnlocked","isMouseToolSticky","markChangedHandler","markType","FreehandSignature","TextSignature","updateSignatureSizeOnDocument","markSelectionChangedHandler","marks","documentHasTextResolved","hasText","documentHasText","fileDownloadManager","isInPreviewMode","$selectText","$highlightAnnotation","$strikethroughAnnotation","$hyperlinkAnnotation","$textSelectionRedaction","pageTextReadyHandler","commentUIManager","openIfVisibleMarks","scaleChangedHandler","disabledClass","$zoomLevel","round","scaleFactor","fitType","FitType","FullWidth","FullHeight","FullPage","ActualSize","$fitContent","getAtMaxScale","$zoomIn","getAtMinScale","$zoomOut","viewerReadyHandler","viewerReady","fontLoader","preLoad","init","commentDateFormat","button","$commentsPanel","panel","mode","pageList","comparisonTools","toLowerCase","$revisionToggle","revisionsAvailable","requestRevisions","partialRevisions","$revisionsContainer","getRevisions","revision","addRevisions","handleComparisonTools","params","updatePanel","getScaleFactor","viewingSessionChangingHandler","cancelAndClearSearchResults","viewingSessionChangedHandler","setCurrentMouseTool","$panTool","redactionViewMode","RedactionViewMode","Draft","$redactionViewMode","imageToolsDropdownUI","edgeForceRepaintWorkaround","navigator","userAgent","originalDisplay","style","display","show","viewerID","iconText","DOMParser","parseFromString","getElementsByTagName","attributeReducer","memo","childReducer","node","nodeType","tagName","attributes","childNodes","reduceNode","icon","getAttribute","createIconMap","presetSearch","printRequest","uiMouseToolName","isPageRedactionCanceled","fullPageRedactionReason","autoApplyRedactionReason","stickyTools","LineAnnotation","RectangleAnnotation","EllipseAnnotation","StampAnnotation","HighlightAnnotation","FreehandAnnotation","RectangleRedaction","StampRedaction","TextSelectionRedaction","ImageStampAnnotation","ImageStampRedaction","PolylineAnnotation","TextHyperlinkAnnotation","StrikethroughAnnotation","stickyToolsFilter","stickyToolsAlwaysOn","immediateActionMenuActions","printoverlay","contextmenu","resourcePath","viewerControlOptions","$download","$nav","$navTabs","$tabItems","$toggles","$defaults","$mouseTools","$rotatePage","$rotateDocument","$imageTools","$attachments","$scaleDropdown","$fullScreen","$annotationList","$endPreview","$downloadDialog","$downloadAsDropdown","$downloadAnnotationsAsDropdown","$downloadRedactionsAsDropdown","$downloadESignaturesAsDropdown","$downloadDocumentPreview","$downloadDocument","$annotationLayersLoadDialog","$annotationLayersList","$annotationLayersBack","$annotationLayersDone","$annotationLayersDropdown","$annotateSaveDialog","$annotateLoadDialog","$annotateLoadDropdown","$annotationLayerReviewOther","$annotationLayerMergeActions","$annotationLayerMerge","$annotationLayerMergeAll","$annotationLayerMergeMode","$annotationLayerMergeCancel","$annotationLayerShowAll","$annotationLayerHideAll","$annotationLayerSaveDialog","$annotationLayerSave","$overlay","$overlayFade","$esignManage","$esignFreehandLaunch","$esignTextLaunch","$esignImageLaunch","$esignOverlay","$esignPlace","$esignPlaceDate","$printLaunch","$printOverlay","$pageRedactionLaunch","$piiDetectionStatus","$piiEntities","$piiEntityCount","$piiEntityPrev","$piiEntityNext","$piiEntityPrevPage","$piiEntityNextPage","$piiRedact","$piiEntitiesContainer","$summary","$copySummary","$regenerateSummary","$tagDialog","$classifications","$tags","$tagsOther","$tagsOtherTitle","$classificationOther","$classificationOtherTitle","$queryDialog","$query","$queryResponse","$copyQueryResponse","$revisionLoader","$revisionStatus","$revisions","$revisionCount","$revisionPrevItem","$revisionNextItem","$revisionPrevPage","$revisionNextPage","$revisionDialog","$searchDialog","$searchInput","$searchSubmit","$searchRedact","$searchCancel","$searchCloser","$searchClear","$searchFilterContainer","$searchQuickActionsToggle","$searchQuickActionsContainer","$searchQuickActionsSearchTerms","$searchQuickActionRedact","$searchQuickActions","$searchQuickActionRedactOptions","$searchQuickActionRedactDone","$searchQuickActionRedactionDropdownContainer","$searchQuickActionRedactionDropdown","$searchQuickActionRedactionInput","$searchQuickActionRedactionDropdownLabel","$searchResultsContainer","$searchPreviousContainer","$searchPresets","$searchPresetsContainer","$searchFixedPresetsContainer","$searchToggleAllPresets","$searchLoader","$searchStatus","$searchResults","$searchResultCount","$searchPrevResult","$searchNextResult","$searchPrevResultsPage","$searchNextResultsPage","$searchExactPhrase","$searchMatchCase","$searchMatchWholeWord","$searchBeginsWith","$searchEndsWith","$searchWildcard","$searchProximity","$imageStampOverlay","$imageStampSelect","$imageStampRedactSelect","$thumbnailList","$breakpointTrigger","desktop","initial","getBreakpoint","breakpoint","getComputedStyle","tag","getPropertyValue","replace","$pageListContainerWrapper","activeElement","prevActiveElement","initializeViewer","maxPageWidth","createPageList","bindMarkup","me","initOnPageCountReady","off","autoLoadAllLayers","err","loadEditableLayerFromXml","editableMarkupLayerSource","loadEditableLayer","editableMarkupLayerValue","autoLoadEditableXml","autoLoadEditableLayer","setName","defaultReasons","reasonObj","defaultReason","redactionErrorDefault","requestPageAttributes","pageAttributes","$firstTabItem","eq","$firstTabPane","next","$elDialogs","leftOffsetClass","rightOffsetClass","fullScreenOnInit","lockEditableMarkupLayer","outerHeight","getClientRestrictions","restrictions","isImageToolsDisabled","sharpening","gamma","svgLineWidthMultiplier","isPrintDisabled","prop","serverSearch","enablePiiDetection","documentSummarization","enableDocumentSummarization","documentClassification","enableDocumentClassification","Array","isArray","classifications","documentQuery","enableDocumentQuery","setUIElements","color","label","templateMark","setColor","setFillColor","setLabel","createMouseTool","pageLayout","viewMode","initKeyBindings","documentScrollPosition","dismissFitMenuHandler","updatePageRedactionOverlayRangeInputs","redactAllPagesChecked","redactRangeChecked","$excludeRangeFieldEl","$includeRangeEl","$excludeRangeEl","validateRangeAndUpdateErrorClass","ignoreErrors","allIsValid","emptyIsValid","range","ignoreBecauseEmpty","errorClass","Util","validatePageRange","upperLimit","getPageCount","requestPageAttributesAndUpdateProgressBar","pageNumbers","index","allPageAttributes","deferred","percent","requestingAttributesOf","Deferred","getPromise","setPageRedactionDropdownLabel","text","checkDropdowns","annotationsEnabled","redactionsEnabled","handleDropdownBehavior","isSelect","isLoadMarkup","isLoadMarkupLayers","$selection","parent","replaceWith","changeToFirstPage","changeToPrevPage","changeToNextPage","changeToLastPage","setMouseTool","mouseToolName","rotatePage","rotateDocument","zoomIn","zoomOut","pccFit","pccScale","setScaleFactor","$pageListWrapper","getIsCommentsPanelOpen","closeCommentsPanel","scrollLeft","openCommentsPanel","endPreview","prevSignature","changeMouseToolSignature","accusoftPlaceSignature","date","Date","dateFormat","signatureDateFormat","setSignature","formatDate","fontName","thisButton","launchESignFreehand","launchESignText","closeEsignModal","clear","downloadSignature","Signatures","toArray","futureUse","categry","done","path","category","localSave","preventDefault","redactionReasonsText","$this","focus","$div","$parent","selectReason","freeformReason","$checkedReasons","pages","checkedClass","isCurrent","isRange","isAll","includeRangeVal","excludeRangeVal","includeRangeIsValid","excludeRangeIsValid","difference","convertPageRangeToArray","allowEmpty","pageRedactionExcludeRangeError","pageRedactionIncludeRangeError","creatingRedactions","addMark","setRectangle","x","y","pageRedactionAttributeRequestError","canPrintMarks","orientation","printMoreOptions","printLessOptions","slideToggle","$siblings","validatePrintRange","rangeVal","rangeIsValid","paperSize","margins","commentsPrintLocation","reasonsPrintLocation","printOptions","includeMarks","includeAnnotations","includeRedactions","includeComments","includeReasons","dismissOverlay","PrintRequest","EventType","PrintPagePrepared","getPreparedCount","printPreparingPage","printPreparingPageOf","PrintCompleted","PrintFailed","printFailedError","printRangeError","backgroundColor","$dropdown","option","fillColor","opacity","borderWidth","borderColor","fontColor","fontSize","stampLabel","nodeName","pccFillColor","pccFillOpacity","parseInt","setOpacity","pccBorderColor","setBorderColor","pccBorderWidth","setThickness","setBorderThickness","pccFontColor","setFontColor","pccFontName","setFontName","pccFontSize","setFontSize","parseFloat","pccStampLabel","pccRedactionReason","isRedactionItem","$redactionReasonsSelect","$redactionReasonsDropdown","closest","str","arr","getFontStyle","splice","setFontStyle","counter","HorizontalAlignment","Left","Center","Right","title","setHorizontalAlignment","deleteMarks","getBoundingRectangle","selectMarks","addComment","getConversation","wasChecked","setData","deselectAllMarks","sourceType","type","mouseToolSelectHandler","keyCode","originalEvent","keyIdentifier","shiftKey","numKeys","setPageNumber","getRedactionViewMode","setRedactionViewMode","$elTrigger","$elTabItem","$thisTabPane","menuItemHeight","menuIncr","item","prev","siblings","executeSearch","cancelSearch","previousResultClickHandler","nextResultClickHandler","previousRevisionClickHandler","nextRevisionClickHandler","clearSearch","dataID","exactPhraseClickHandler","matchCaseClickHandler","matchWholeWordClickHandler","beginsWithClickHandler","endsWithClickHandler","wildcardClickHandler","proximityClickHandler","isPrevSearch","isSearchSubmit","scrolling","$printCancel","launchESignModal","activeTab","signatures","categories","getFreehandContext","getTextContext","$manageView","getManageContext","$thisButton","forceLock","active","canLock","buttons","apiTrigger","$buttons","notifyTimer","ViewerControl","ex","EstimatedPageCountReady","PageCountReady","PageLoadFailed","PageChanged","MarkCreated","MarkChanged","MarkSelectionChanged","ScaleChanged","ViewerReady","PageTextReady","ViewingSessionChanging","ViewingSessionChanged","showMoreOrLessLinkButton","commentTextWrapper","truncatedComment","fullComment","toggle","getComments","overlay","overlayFade","customDraftRedactionListeners","download","attachments","attachmentManager","immediateActionMenu","actions","languageOptions","redactionReasonMenuTrigger","triggerMenu","container","bindRestoringSearchHighlight","removeData","windowResizeCallback","currentLayer","mergeMode","bindAnnotationLayerReviewDOM","showClickAction","hideClickAction","showClickGeneric","hideClickGeneric","editClickAction","populateCurrentMarkupLayer","populateMarkupLayers","createElem","genericView","appendChild","createTextNode","number","activePiiEntityId","activePiiEntityPageStartIndex","piiDetectionRequest","piiEntitiesCount","piiEntitiesPageLength","isNaN","$piiDetectionContainerToggles","$piiDetectionContainers","allPiiEntitiesFragment","createDocumentFragment","currentPiiEntityPageStartIndex","piiEntityIndexMap","piiEntityView","piiEntityBuild","piiEntity","piiEntityItem","piiEntityType","lowercaseWords","piiEntityId","setAttribute","getText","word","concat","getScore","getStartIndexInPage","setSelectedPiiEntity","updatePiiEntityPrevNextButtons","updatePiiEntityCountText","wasActive","hideAllClass","previousPiiEntityClickHandler","nextPiiEntityClickHandler","showPiiEntitySubset","sort","nextPiiEntityBtn","$activePiiEntity","piiEntities","children","position","top","previousPiiEntityBtn","getActivePiiEntityIndex","activePiiEntityIndex","hasPrevResult","removeAttr","piiEntitiesVerbiage","piiEntityFound","piiEntitiesFound","startIndex","indexChanged","endIndex","allPiiEntityChildren","subsetFragment","subsetPiiEntities","updateStatusUi","msg","showLoader","barWidth","sortDOM","elems","comparator","sortCollection","call","shift","insertBefore","parentNode","firstChild","nextSibling","unhookPiiDetectionEvents","PiiDetectionRequest","partialPiiHandler","piiDetectionCompletedHandler","piiDetectionFailedHandler","piiAvailableHandler","allResultsChildren","a","b","getDataFromAttributes","$e","pccPageNumber","pccSortIndex","aData","bData","activeIndexAfterSort","floor","addPiiEntities","partialPiiEntities","lastPiiEntity","countPagesWithoutText","nothingFound","pagesWithoutTextMsg","pagesWithoutTextWarning","getPagesWithoutText","currentPiiDetectionStatusWording","noSearchableText","cannotSearch","piiDetectionError","getErrorMessage","piiDetectionFailed","selectedPiiEntity","getSelectedPiiEntity","addMarkFromTextSelection","clearPiiDetection","removeChild","piiDetecting","summary","queryResponse","documentTagged","documentClassified","requestDocumentSummary","summarizingDocument","documentSummarizationRequest","DocumentSummarizationCompleted","summarizationError","displaySummary","clipboard","writeText","summaryCopied","summaryCopyError","queryDocument","query","queryingDocument","documentQueryRequest","DocumentQueryCompleted","queryError","response","displayQuery","queryResponseCopied","queryResponseCopyError","addClassificationOther","classificationEl","onclick","addClassification","classificationCheckbox","classificationCheck","classificationId","noneSelected","documentClassificationRequest","DocumentClassificationCompleted","classificationError","classification","defaultDocumentSummarization","tags","addTagOther","tagEl","addTag","tagCheckbox","tagCheck","tagId","documentTagRequest","DocumentTagCompleted","taggingError","documentTags","tagsNotFound","activeRevisionId","activeRevisionPageStartIndex","revisionsCount","revisionsPageLength","$event","$revisionContainerToggles","$revisionContainers","allRevisionsFragment","currentRevisionPageStartIndex","revisionView","revisionBuild","revisionItem","revisionType","revisionTypeKey","revisionId","revisionTypes","getEndPageNumber","typeIcon","result","showRevisionSubset","$activeRevision","updateRevisionPrevNextButtons","updateRevisionCountText","change","revisionsVerbiage","changeFound","changesFound","allRevisionChildren","subsetRevisions","results","nextResultBtn","previousResultBtn","revisions","activeSearchResultId","activeSearchResultRestoreId","onFilterDismissFunction","activeResultPageStartIndex","searchRequest","searchResultsCount","searchResults","resultsPageLength","searchResultsPageLength","presetSearchTerms","presetFixedSearchTerms","previousSearches","$advancedSearchToggle","$advancedSearchPanel","$searchContainerToggles","$searchContainers","$searchFilterSections","$advancedSearchColumnHeader","globalSearchTerms","globalFixedSearchTerms","globalUnfixedSearchTerms","prevSearchQuery","prevMatchingOptions","searchResultsToResort","searchingInDocument","advancedSearchIsOn","redactionMarks","allResultsFragment","currentResultPageStartIndex","resetQuickActionMenu","checkedTerms","searchQuickActions","searchTerms","getIsComplete","redactSelected","redactAll","searchFilters","noTerms","resetFilterTermsList","getMarksHashMap","textSelectionRedactionMarks","markMap","getMarksByType","hash","getPosition","$activeSearchResult","source","setSelectedSearchResult","updatePrevNextButtons","total","resultView","textContext","contextElem","emphasis","textBefore","textAfter","contextClassName","getHighlightColor","getContext","substr","getStartIndexInContext","searchResult","searchResultPageNumber","searchResultContext","resultId","selectId","maintainScrollPosition","getSearchResultType","markResultId","getEndHeadType","LineHeadType","FilledTriangle","reasonUndefined","resultContext","resultElem","resultPageNumber","SearchTaskResult","getMarkById","getId","scrollTo","highlightMatchingTextInMark","one","commentResultId","thisCommentResults","setSessionData","buildCommentSelectionString","getMark","refreshConversations","expandComment","SearchResult","Comment","commentIndex","advancedSearch","partialResultsTimeout","selectedResult","seed","getStartIndexInInput","highlightText","thisMarkResults","clearAllCommentResults","collection","uniqueConversations","conversationStillAvailable","chain","getSessionData","conv","clearAllMarkResults","getAllMarks","clearHighlights","buildPresetTerms","normalizedTerm","fixed","term","normalizePresetSearchTerm","trim","proximityTerm","matchingOptions","searchTermName","buildPresetUI","searchPresetsFragment","searchFixedPresetsFragment","textNode","input","generatePresetDOM","buildSearchTermUI","populateSearchTerms","searchTermFilterClickAction","searchTermQuickActionClickAction","getSearchQuery","triggeredFromFilter","excludePresetTerms","presetId","proximityDistance","originalQueryString","getQueryString","queryString","isPlaceholder","isProximitySearch","extractProximityDistance","removeProximityDistance","wildcard","proximity","sameMatchingOptions","isEqual","checkedUnfixedTerms","checkedFixedTerms","allUnfixedTerms","allFixedTerms","termOption","isInUse","isUserSearch","searchOption","setSearchTermInUse","parentElement","tempUnfixedTermsArray","tempFixedTermsArray","tempTermsArray","compact","contextPadding","queryArr","unique","distance","prettyName","fillGlobalSearchTerms","addPreviousSearch","saveObject","prevCount","searchString","proximityDistanceMatches","getProximityDistanceMatches","$elPrevSearchDrop","innerHTML","previousSelectionHandler","deletePreviousSearch","prepend","searchNode","setSearchButtons","btnStates","previousId","showSearchBar","searching","sortAndColorCorrectResultsView","pccRectY","pccRectX","pccAdtlIndex","showResultsSubset","delayCount","buildPartialResultsView","partialSearchResults","resultsVerbiage","searchResultId","rectangle","typeClass","parallelSync","pageNum","resultGroup","requestText","originalActiveResultPageStartIndex","sortIndex","domElement","additionalIndex","searchResultFound","searchResultsFound","ensurePageTextIsRequested","searchFailed","delay","min","subsetResult","partialSearchResultHandler","apply","searchCompletedHandler","unHookSearchResultEvents","currentSearchStatusWording","searchFailedHandler","searchError","searchCancelled","searchCancelledHandler","searchResultsAvailableHandler","SearchRequest","resetSearchParams","searchQuery","$container","clickAction","classFragment","includeUnfixed","includeFixed","hideNotInUse","size","fragment","resultsByTerm","getSearchTerm","termOptions","count","originalTerm","globalResultElem","termName","localResultElem","localColor","localCount","persistColor","checkboxClassName","div","checkbox","layerColors","isRerun","retainUI","searchIn","filterCount","serverValid","validateSearch","errorMsg","markText","executeMarksSearch","proximitySearchMissingDistanceError","proximitySearchTooManyTermsError","proximitySearchNotEnoughTermsError","errorsExist","summaryMsg","termObj","isValid","uniq","annotations","redactions","comments","executeCommentsSearch","allTextMarks","allDrawingMarks","pushResults","resultArray","getCharacterIndex","showAllTypes","searchTask","SearchTask","reasonsToShow","thisReasons","intersection","allMarksWithResults","highlightMatchingTextInMarkResults","conversations","c","resultsInComment","markIndex","thisCollection","selections","selectionString","genericSearchButtonClickHandler","btnElement","$btnElement","checkDisabled","hasNextResult","setUIElementsSearch","pageTextRequested","cb","isPageTextReady","requestPageText","prototype","_reasonUndefined","obj","reasonSpan","reasonEm","separatorNote","descriptionSpan","class","tooltip","replacedMarks","selectionList","redactionReasonDropdownSelect","redactionTasks","includes","addMarkFromSearchResult","redactionFailed","redactionCompleted","redactionMark","$clearItem","proximitySearchButton","affectedButtons","proximitySearchPlaceholder","searchDocument","elDialog","searchResultsNone","selectedSearchResult","errorMessage","isComplete","resultsForPage","newSortIndex","resortOnPageTextReady","textSelection","TextSelected","clientX","clientY","clearMouseSelectedText","func","currentlyLoadedAnnotation","$overwriteOverlay","$unSavedChangesOverlay","loadedEditMarkupLayer","toggleAllReviewLayers","annotationDirty","markupRecords","loadedReviewMarkupLayers","loadedReviewMarkupXml","recordsLoadPending","setLayerCommentsOwner","layer","layerComments","getMarkupLayer","getLayerComments","getData","loadReviewXmlRecord","xmlRecordName","annotationLayerLoading","markupLayerCollection","getMarkupLayerCollection","xmlLayer","MarkupLayer","addItem","setOriginalXmlName","loadMarkup","retainExistingMarks","disableAllLayerMarks","annotationLayerLoadFailed","loadReviewLayerRecord","layerRecordId","annotationLayers","getRecordId","doneButton","loadEditXmlRecord","previousActiveMarkupLayer","setActiveMarkupLayer","loadEditLayerRecord","onMarkupLayerAdded","addedMarkupLayer","getItem","layerId","MarkupLayerCollection","MarkupLayerAdded","unloadLayerRecord","getMarks","annotationModificationListeners","modifyingEvents","modHandler","saveDialogIsOpen","updateSaveMsg","enableSaveForm","safeSave","filename","save","filenameMax","waiting","disableSaveForm","getSavedMarkupNames","duplicate","showOverwriteOverlay","failure","filenameEmpty","saveMarkup","onSuccessfulSave","onFailedSave","success","closeSaveDialog","removeAllOverlays","current","getValue","close","mask","unmask","event","action","overwriteDialogActionsHandler","$field","selectionStart","selectionEnd","as","unsavedChangesActionsHandler","openSaveDialog","nomods","first","onOpenSaveDialog","onOpenSaveDialogAsync","updateLoadMsg","updateLoadStatusMsg","loadDialogIsOpen","closeLoadDialog","disableLoadSelect","unmaskEl","load","maskEl","handleFilenameInput","field","keycode","retval","String","fromCharCode","charCode","showRecordLoading","hideRecordLoading","loadAllRecords","dialogMode","markups","loadMarkupLayerRecords","listFailure","loadMarkupList","markupRecord","record","domStrings","instructions","emptyList","xmlRecords","requestMarkupLayerNames","annotationLayerRecords","$loadMsg","annotationLayersEmptyList","populateLayerRecordsList","populateLayerRecordsDropdown","annotationLayersListLoadFailed","allRecordDivs","annotationLayerRecord","grep","xmlRecord","originalXmlName","loading","getOriginalXmlName","aName","bName","recordDiv","ToggleAllControl","$node","idx","$loader","loaderEl","loadMarkupRecord","recordFailure","handleLoadSelection","resultRow","unsavedOverlay","originalInteractionMode","getInteractionMode","setInteractionMode","InteractionMode","SelectionDisabled","xmlName","loadFromXml","layerNames","layerName","updateReviewLayerLoadUi","recordId","operation","operationSuccessful","disabled","$recordEl","isEmptyObject","fieldVal","annotationLayerAlreadyLoaded","xmlLayerName","autoLoadAnnotation","annotationID","otherMarkupLayers","currentMarkupLayer","annotationLayersLoad","status","newIoMode","saveClassic","saveMarkupLayers","loadWithErrors","resolveLoad","annotationLayerAutoLoadError","xmlNames","editableLayerLoaded","layerLoadPromises","layerIds","jsonLayerPromise","loadAsHidden","loadedLayers","loadedLayer","loadOriginalXmlLayerFromJson","filteredXmlNames","xml","promise","removeItem","editableLayerSource","editableLayerValue","onDone","$reviewLayers","mergeMarkupLayers","markupLayers","onMerged","onError","$annotationLayerElements","uniquePages","flatten","pageAttributePromises","copyLayers","noAnnotationsForReview","annotationLayerElements","mergeLayerSuccess","mergeLayerError","mergeAllLayerSuccess","annotationLayerElement","replacement","enableAvailableMarkOptions","layerNameClass","$layerName","unnamed","replaceAll","annotationLayer","visibilityIcon","visibilityTooltip","visibilityAction","visibilityToggle","checkboxClickAction","checkedMarkupLayers","layerDivs","toggler","layerDiv","isChecked","allMarkupLayers","getAll","control","$parentDom","updateLayerComments","onSuccessGen","recordInfo","onSaveFailure","languageData","domElem","notifierFunc","saveMarkupLayer","attachEvents","classNames","onToggle","toggleAll","generateDom","placeSignatureTool","attachListeners","signatureAdded","signatureRemoved","localSignatureManager","clearAll","updateSignatureButtons","noSignatures","changeMouseToolRectangle","documentWidth","documentHeight","skipMouseToolChange","lastSelected","changeLastSelectedSignature","contextMenuUpdater","clickHandler","includeButtons","errorTextNode","wrapper","preview","deleteButton","downloadButton","useButton","useButtonIcon","useButtonText","esignUseSignature","showButtons","esignDelete","esignDownload","newSignature","JSON","stringify","SignatureDisplay","esignCorruptData","SignatureControl","$previews","$textInput","$ti","eventName","fonts","names","previewsArray","selectedFont","propertyName","childrenArray","Column","columns","columnsClone","fontFamily","generatePreview","col","child","queue","Queue","run","signatureObj","compareIterator","sizeChanged","sig","getPath","getFontName","getRectangle","setStored","globalDom","globalDismiss","proximityDismiss","ProximityDismiss","dismissHandler","clearDOM","createMenu","href","hrefType","hyperlinkType","DocumentHyperlink","link","createDOM","useScrollDismiss","usingTouch","$done","dismissed","dismiss","isScroll","deselectMarks","useMoveTrigger","bindDOM","clientYscroll","scrollY","clientXscroll","scrollX","domBB","bottom","offset","windowHeight","styleString","positionDOM","hyperlinkMenuHandler","hyperlinkMenuTemplate","Click","targetType","preloadedRedactionReasons","redactionReasonMenuTemplate","maxLength","touchstartHandler","copyTemplate","languageKey","valid","actionsFilter","$textArea","showModal","closeCopyOverlay","closeCopyOverlayOnInteraction","cleanText","queryCommandSupported","accessToClipboardGranted","documentMode","execCommand","initCopy","selectedText","setPosition","replaceMenu","menuClass","itemClass","hoverTriggerClass","destroyFunction","manualDismiss","touchstart","useHoverEnter","eventType","list","newClassName","preventSelect","li","itemDom","$ev","cancelable","positionMenuDOM","handleClientX","handleClientY","handleClientYscroll","handleClientXscroll","triggerDomBB","triggerHeight","triggerWidth","newDom","menuClickHandler","menuHandler","$icon","pointerType","rect","offsetTop","innerHeight","useDistanceToDomRect","mouseMoveCallback","distanceTolerance","opacityTreshholdDistance","currentDistance","getSelection","removeAllRanges","cancelButton","pop","$span","closeMenu","addRedactionReasonActions","$toggleButton","panelMode","editModeKey","selectedStateKey","highlightKey","skinnyClass","expandedClass","dismissEvent","dismissCommentEdit","bodyClickDismiss","editMode","conversation","deleteComments","textarea","userName","setText","cleanupConversationEvents","markId","existingDom","store","conversationDOMFactory","existingDOM","$existingDOM","selectedState","getCreationTime","commentId","prevText","last","isMine","owner","appendTo","parts","$textarea","span","highlightValues","part","temp","q","calculateNonOverlappingSelections","textFragment","textPart","background","dismissFunction","dismissFunc","contextMenuClick","pccMoveContextMenu","pccToggle","dismissOpts","$doneButton","disableDone","defer","selectedConversationInputWrapper","inputClasses","isSelected","selectedConversationInput","reply","getSelectedConversation","Full","onSingleMarkSelected","bodyClickDismissSelection","prevSelected","setSelectedConversation","shrink","expand","attachEvent","prevConversation","onMarkSelected","previousMarkId","selectedMarks","singleMark","onReviewLayerClick","commentsFound","getVisible","commentsPanelViewerNode","setConversationDOMFactory","MarkupLoaded","MarkRemoved","lineSharpeningSlider","svgStrokeWidthSlider","gammaSlider","defaultValue","strokeWidth","hasBeenInitialized","isRefreshing","showPanel","$imageToolsPanel","mouseup","hidePanel","has","unbind","disabledTools","Slider","move","debouncedSharpening","debounce","setSharpening","bind","v","roundedValue","debouncedSvgStrokeWidthMultiplier","setSvgLineWidthMultiplier","ceil","debouncedGamma","setGamma","toFixed","setValue","getSharpening","getSvgLineWidthMultiplier","gammaValue","getGamma","stampApi","imageStampList","annotationTool","redactionTool","$toolButtons","imageStampListTimestamp","imageStampMruTime","sortByOptions","sortKey","sortName","sortOrder","noop","imageStampDataMap","initImageStampMouseTools","requestImageData","setToolsImage","showOverlay","drawOverlay","hideOverlay","storeImageStampList","storageGetImageStampList","itemSelectionHandler","sortSelectionHandler","sortList","loadStampList","enableOptionsTimeout","inPreviewMode","currentViewerState","originalName","onTextSelected","enableMarkOption","downloadOptions","availableMarkTypes","enable","otherOptionsAreEnabled","allMarks","availableTypes","getOptions","annotation","burnRedactions","burnSignatures","burnAnnotations","onSuccessDownloadURL","url","allRedactionReasons","marksWithoutReasons","fileToBeOverwritten","redactedDocumentName","open","ajax","beforeSend","xhr","token","setRequestHeader","document_id","documentId","document_name","redactedDocumentsPath","jobs","jobId","prettyId","docId","location","returnUrl","fail","request","NrSentry","captureError","alert","always","onFailure","originalOptions","retryFunction","burnMarkup","burnRequest","complete","getMarksToBurn","templateOptions","updateUIStateAndPreview","burnOnlyChosenAnnotations","downloadFormat","marksStateBeforePreview","setVisible","visible","Normal","updateMarksPreview","updateImageToolsPreview","updateUIState","currentAnnotationDownloadMode","currentRedactionDownloadMode","currentESignatureDownloadMode","redactionOptions","convert","conversionRequest","requestDocumentConversion","urls","marksState","markState","interactionMode","restoreViewerState","burnSharpening","burnSvgLineWidthMultiplier","burnGamma","downloadTemplate","previewEnd","previewMarks","storeViewerState","originalIsPdf","fileNameSuffixes","opt","lastSuffix","getDownloadDocumentURL","targetExtension","initialized","$attachmentsPanel","$currentDocument","$returnToPrevDocument","$attachmentList","$attachmentsBadge","emailsStack","currentDocument","loadAttachmentList","loadAttachments","changeCurrentDocument","documentIsEmail","updateAttachmentsList","failedToLoad","markupRecordTpl","attachment","displayName","attachmentSessionId","delegateTarget","attachmentName","textContent","getCurrentEmail","currentEmailName","primaryDocument","updateReturnToPrecEmailState","changeViewingSession","overflow","offsetWidth","desirableLeftOffset","imageStampSortByRecentlyUsed","imageStampSortByFileName","mostRecentImage","mostRecentTime","NEGATIVE_INFINITY","storedList","imageStamps","localObj","recentlyUsedTime","dataUrl","dataHash","image","requestImageSourceBase64","sortBy","localStorage","storageObj","setItem","parse","itemEl","stampId","imageObj","getTime","imageStampUnableToLoadImage","sortEl","reverse","now","requestImageStampList","listResponse","imageStampObj","getImageSourceURL","imageStampUnableToLoad","ImageStamps","imageObject","thumbControl","$handle","$viewer","$slider","pageChangeTimeout","debouncedResize","minContainerWidth","lastWidth","isEmbedded","marginOffset","latestKnownBreakpoint","sizeClasses","getDOMRect","getDOMWidth","getPageToFocus","pageToFocus","currentlyVisible","getVisiblePages","currentlySelected","getSelectedPages","onThumbnailSelectionChanged","onSetSelectedPages","setSelectedPages","onViewingSessionChanged","calculateMinContainerSize","resizeContainerTo","fireEvent","setDOMWidth","api","initResizeHandler","containerRect","viewerRect","scrollHeight","startClient","destroyDrag","Drag","deltaX","newWidth","newScrollHeight","forceAlignTop","reflow","resetResizeHandler","resizeSliderChange","updateFunc","embedThumbnailControl","ThumbnailControl","PageSelectionChanged","breaks","publicViewer","frame","raf","onNextFrame","animation","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","onUpdate","$document","startEvent","moveEvent","endEvent","normalizeEvent","changedTouches","start","end","pointerEnabled","msPointerEnabled","retValue","valueName","track","thumb","trackRect","moveType","snapPercent","boundInterval","snapInterval","snapTo","lowerBound","upperBound","moveTo","breakObj","pixels","onStart","onMove","onEnd","newLength","deferArray","running","recurse","recursiveExecute","stop","isRunning","viewerDom","onDismiss","globalOpts","proximityEnabled","firstMoveRecorded","x0","y0","x1","y1","xs","ys","sqrt","trackMouse","controlX","controlY","distX","distY","distanceToDom","isFarAway","scrollTimeout","resizeTimeout","$scrollDom","onScrollDismiss","trackScroll","trackResize","origOnScrollDismiss","useScrollTrigger","scroll","hours","getHours","period","adjustedHours","year","getFullYear","yearLength","shortYear","padNumber","getMonth","getDate","getMinutes","hasLocalStorage","signatureStorageKey","loadQueue","getStoredSignatures","setStoredSignatures","isLegacyBrowser","useInLegacy","returnNames","preloader","values","signaturesArray","sigTemplate","signatureArr","tempCount","signatureArray","saveSignaturesSync","loadStoredSignatures","getStored","funcs","workers","errCount","nextGenerator","arguments","fn","initializeData","jQuery","addEventListener","createPrizmdocViewer","dataset","documentUrl","documentFileExt","documentName","prizmdocProxyUrl","newViewingSession","redactionArgs","prizmdocViewer","querySelectorAll","_regeneratorRuntime","t","r","n","hasOwnProperty","defineProperty","Symbol","iterator","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","h","l","f","s","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","constructor","setPrototypeOf","__proto__","awrap","async","rval","handle","finish","catch","delegateYield","asyncGeneratorStep","gen","_next","_throw","info","_asyncToGenerator","self","REQUEST_VISIBILITY","staff_visible","embargoed","published","department_visible","department_published","restricted","accountRequestVisibilities","entries","restricted_visibilities_feature_flag","embargoing_available","globalModule","currentUser","previewUser","previewUserId","rules","getters","fetchAbility","_ref","_callee","commit","_context","API","fetchAbilityRequests","preview_user","preview_user_id","current_user","fetchAccount","_ref2","_callee2","_context2","mutations","setAbility","setAccount","setCurrentUser","setPreviewUser","setPreviewUserId","param","arrayFormat","paramString","plainObjects","parseArrays","captureException","fetchUsersByType","assign","search_text","page_number","fetchUserByType","fetchOptionByType","deleteMarkupLayer","sessionId","axios","getMarkupLayers","newMarkupLayer","payload","docS3Url","documentExtension","fileExtension","markupId","headers","getPageAttributes","setPermissionUserPreview","batchDraftRedact","batchStatusUpdate","doc_ids","docIds","review_state","pretty_id","burnMultipleDraftRedactions","deleteRedactionLayer","redactionParams","getRedactionLayer","jobStatuses","sidekiqStatuses","extraction","s3Url","updateRedactionLayer","unzipFiles","zipFiles","updateAccount","updateAccountState","deleteDocuments","deleteRequests","ocrDocument","fetchAbilityDocuments","fetchAbilityRequestShow","fetchCustomFields","fetchRequestFields","publishDraftFields","stateTimestamp","state_timestamp","resetDraftFields","deleteDraftField","draftId","copyDraftField","updateRequestField","createRequestField","fetchOfficeClosureDates","createOfficeClosureDate","updateOfficeClosureDate","_objectWithoutProperties","_excluded","deleteOfficeClosureDate","fetchDocumentList","fetchRequestsListLastCancelTokenSource","CancelToken","fetchRequestsList","paramsSerializer","queryStringify","cancelToken","fetchRequest","fetchRequestEmailStatuses","fetchRequestDocuments","fetchRequestDocumentsFolders","request_id","fetchRequestDocumentsChildFolders","folder_id","fetchRequestDocumentRisk","fetchRequestStaffHours","setTimelinePin","fetchRequestTimeline","filter_categories","fetchReportFile","downloadReportFile","responseType","savedViews","previewSwitch","bool","request_show_beta","addSavedViews","deleteSavedViews","fetchRequestsFilters","apiParam","api_param","resKey","res_key","saveDocs","saveViews","signOut","generateReport","fetchSavedReports","fetchPreviewUsers","fetchStaff","_objectSpread","fetchRequestTags","fetchRequestTasks","fetchRequestInvoices","fetchStaffDepartments","bulkDocumentAction","fetchDocFiles","submitCustomField","submitExternalMessage","submitInternalMessage","submitNewTask","action_type","submitRequestStaffTime","submitStaffChange","messageTemplates","invoiceTemplates","sendNotification","updateFolder","deleteMethod","updateDocTitle","updateMessage","deleteTask","fetchInvoiceCharges","processInvoice","processStaffHour","updateRequest","updateFieldValue","requestId","put","request_field_value","createFieldValue","requestFieldVersionId","post","request_field_version_id","resetSession","fetchSearchIntegration","account_id","getCsrfToken","pathName","hidden","sortable","headerClass","cellClass","maxChar","Open","Overdue","Closed","ApiRequestMethodEnum","apiRequest","config","queryParams","GET","POST","PUT","interceptors","use","redirect_to","from","csrfEl","getElementsByName","content","set","authenticity_token","sentToken","htmlToken","level","extra","Helpers","allLayersRedactionsCount","layers","redactionCount","rl","layer_count","dbParamsObj","layer_id","user_id","mark_data","baseMarkObject","uid","getUid","creationDateTime","modificationDateTime","lineGroupObject","pageData","textLength","lines","formattedMarkObject","markTypeObject","borderThickness","getFillColor","getFontColor","lineGroups","uiOpts","annotateTab","esignTab","copyPaste","printing","redactTab","backgroundJobFailed","job","backgroundJobComplete","stopReportJobPolling","pollJob","pendingReports","clearInterval","removeReportJobFromLocalStorage","rep","job_id","setReportJobInLocalStorage","jobInfo","fetchReportInfoFromLocalStorage","reportInfo","filePath","filepath","reportType","report_type","forceFileDownload","blob","Blob","reportData","msSaveOrOpenBlob","fileName","URL","createObjectURL","requestColumnIsAuthorized","ability","staffOnly","can","showDueDate","show_due_date","showRequesterName","show_requester","showStaffCost","payments","show_cost_publicly","showExpirationDate","retention","setSortableInColumns","isSortable","requestColumns","defaultCol","selectAuthorizedRequestColumns","setupDocColumns","redactedAtColumn","attachTimelineIcons","timelineObj","timeline_icon_class","timelineState","timeline_state","iconname","returnColumnsFromCookie","cookies","_cookies$get","_cookies$get2","setPendingJobInLocalStorage","cookieName","newJob","pendingJobs","_toConsumableArray","getPendingJobsInLocalStorage","removePendingJobFromLocalStorage","processingJobs","fetchJobTypes","page","jobTypes","removePendingJobById","pendingJob","getPendingJob","objectName","fetchPendingJobById","shouldSkip","fetchUserProcessingJobIds","processingJobIds","jobIds","fetchAllProcessingDocIds","processingDocIds","expiry","memoizeDebounce","resolver","wait","debounce_options","mem","memoize","setMyRequestsTooltipText","dataType","filterOptions","_dataType$map","_filterOptions$find","name_with_email","name_or_email","formatCost","cost","maximumFractionDigits","Intl","NumberFormat","currency","format","setJobIdInSessionStorage","sessionStorage","clearJobIdFromSessionStorage"],"mappings":"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","file":"js/prizmdoc-a471451b04e2b597705c.chunk.js","sourcesContent":["import DOMPurify from 'dompurify'\nimport { get } from '../vue_shared/http'\nimport helpers from './helpers'\nimport * as i18nData from './prizmdoc/languages/en-US.json'\nimport { globalModule } from 'src/store/globalModule'\nimport _ from 'lodash'\n\nconst baseUrl = () => {\n // If this is called within the Vue app we can get the proxy URL from vuex state, but if not then it will be set as a global.\n const account = globalModule.state.account\n return account\n ? account.prizmdoc_proxy_url\n : (window as typeof globalThis).prizmdoc_proxy_url\n}\n\nasync function fetchHtmlTemplates(): Promise {\n const htmlTemplates = {\n comment: null,\n contextMenu: null,\n copyOverlay: null,\n downloadOverlay: null,\n esignOverlay: null,\n hyperlinkMenu: null,\n imageStampOverlay: null,\n markDelete: null,\n overwriteOverlay: null,\n pageRedactionOverlay: null,\n printOverlay: null,\n print: null,\n redactionReason: null,\n unsavedChangesOverlay: null,\n viewer: null\n }\n\n const resolvedTemplates = await Promise.all(\n Object.keys(htmlTemplates).map((template) => {\n return new Promise((resolve, reject) => {\n import(\n /* webpackPreload: true */\n `./prizmdoc/templates/${template}Template.html`\n ).then(({ default: res }) => {\n resolve({ [template]: res })\n }, reject)\n })\n })\n )\n\n return resolvedTemplates.reduce(\n (acc: object, cur: object) => ({ ...acc, ...cur }),\n {}\n ) as object\n}\n\nasync function fetchRegexes(): Promise {\n return get('/admin/redaction_regexes').then(({ data: regexes }: any) => ({\n highlightColor: '#ffff00',\n searchOnInit: false,\n globalOptions: {\n matchCase: false,\n endsWith: false,\n beginsWith: false,\n matchWholeWord: false,\n exactPhrase: false\n },\n // eslint-disable-next-line camelcase\n terms: regexes.map(({ regex_name, regex }) => ({\n searchTermIsRegex: true,\n searchTerm: regex_name,\n description: regex_name,\n userDefinedRegex: regex,\n highlightColor: '#ffff00',\n selected: false\n }))\n }))\n}\n\nasync function fetchRedactionReasons(): Promise {\n return get('/admin/redaction_reasons').then(({ data: reasons }: any) => ({\n autoApplyDefaultReason: true,\n enableRedactionReasonSelection: true,\n enableFreeformRedactionReasons: true,\n maxLengthFreeformRedactionReasons: 80,\n reasons:\n reasons.length > 0\n ? reasons.map(({ name }) => ({\n reason: _.escape(name)\n }))\n : [\n { reason: 'Client Privilege' },\n { reason: 'Privacy Information' },\n { reason: 'Redacted' }\n ]\n }))\n}\n\nasync function openRedactionTab(): Promise {\n const redactTabItem = document.querySelector('[data-pcc-nav-tab=redact]')\n if (redactTabItem) {\n redactTabItem.classList.add('pcc-active')\n const pccTabPane = redactTabItem.querySelector('.pcc-tab-pane')\n if (pccTabPane) {\n pccTabPane.classList.add('pcc-open')\n }\n }\n}\n\nasync function showRedactionTab(selector: string): Promise {\n // used for redaction show\n $(selector).on('ViewerReady', function () {\n openRedactionTab()\n })\n // used for rapid review\n // @ts-ignore\n if ($(selector).pccViewer()) {\n openRedactionTab()\n }\n}\n\nexport default async function PrizmdocViewer(): Promise {\n const [htmlTemplates, regexes, redactionReasons] = await Promise.all([\n fetchHtmlTemplates(),\n fetchRegexes(),\n fetchRedactionReasons()\n ])\n\n return async (\n selector: string,\n viewingSessionId: string,\n documentTitle: string,\n redaction: boolean,\n reviewState: string | null,\n nextRequest: object\n ) => {\n // @ts-ignore\n const viewerControl = $(selector).pccViewer({\n nextRequest,\n annotationsMode: 'LayeredAnnotations',\n commentsPanelMode: 'full',\n documentID: viewingSessionId,\n documentDisplayName: DOMPurify.sanitize(documentTitle),\n icons: 'fake',\n imageHandlerUrl: baseUrl(),\n immediateActionMenuMode: 'on',\n immediateActionMenuActionsFilter: {\n comment: false,\n select: true,\n copy: true,\n highlight: false,\n redact: true,\n hyperlink: false,\n strikethrough: false,\n cancel: true,\n delete: true\n },\n // @ts-ignore\n language: i18nData.default,\n predefinedSearch: regexes,\n redactionReasons: redactionReasons,\n signatureCategories: 'Signature,Initials,Title',\n template: htmlTemplates,\n uiElements: helpers.buildUiElements(\n reviewState,\n redaction,\n // eslint-disable-next-line dot-notation\n nextRequest['rapidReview']\n ),\n viewerAssetsPath: '/viewer-assets'\n }).viewerControl\n if (redaction) {\n showRedactionTab(selector)\n }\n return viewerControl\n }\n}\n","require(\"!!/app/node_modules/script-loader/addScript.js\")(require(\"!!/app/node_modules/script-loader/node_modules/raw-loader/index.js!/app/node_modules/babel-loader/lib/index.js??ref--11-0!/app/app/javascript/src/utils/prizmdoc/jquery.hotkeys.min.js\"))","module.exports = \"!function(t){function e(e){if(\\\"string\\\"==typeof e.data&&(e.data={keys:e.data}),e.data&&e.data.keys&&\\\"string\\\"==typeof e.data.keys){var a=e.handler,s=e.data.keys.toLowerCase().split(\\\" \\\");e.handler=function(e){if(this===e.target||!(t.hotkeys.options.filterInputAcceptingElements&&t.hotkeys.textInputTypes.test(e.target.nodeName)||t.hotkeys.options.filterContentEditable&&t(e.target).attr(\\\"contenteditable\\\")||t.hotkeys.options.filterTextInputs&&t.inArray(e.target.type,t.hotkeys.textAcceptingInputTypes)>-1)){var n=\\\"keypress\\\"!==e.type&&t.hotkeys.specialKeys[e.which],i=String.fromCharCode(e.which).toLowerCase(),r=\\\"\\\",o={};t.each([\\\"alt\\\",\\\"ctrl\\\",\\\"shift\\\"],function(t,a){e[a+\\\"Key\\\"]&&n!==a&&(r+=a+\\\"+\\\");}),e.metaKey&&!e.ctrlKey&&\\\"meta\\\"!==n&&(r+=\\\"meta+\\\"),e.metaKey&&\\\"meta\\\"!==n&&r.indexOf(\\\"alt+ctrl+shift+\\\")>-1&&(r=r.replace(\\\"alt+ctrl+shift+\\\",\\\"hyper+\\\")),n?o[r+n]=!0:(o[r+i]=!0,o[r+t.hotkeys.shiftNums[i]]=!0,\\\"shift+\\\"===r&&(o[t.hotkeys.shiftNums[i]]=!0));for(var p=0,l=s.length;l>p;p++)if(o[s[p]])return a.apply(this,arguments);}};}}t.hotkeys={version:\\\"0.8\\\",specialKeys:{8:\\\"backspace\\\",9:\\\"tab\\\",10:\\\"return\\\",13:\\\"return\\\",16:\\\"shift\\\",17:\\\"ctrl\\\",18:\\\"alt\\\",19:\\\"pause\\\",20:\\\"capslock\\\",27:\\\"esc\\\",32:\\\"space\\\",33:\\\"pageup\\\",34:\\\"pagedown\\\",35:\\\"end\\\",36:\\\"home\\\",37:\\\"left\\\",38:\\\"up\\\",39:\\\"right\\\",40:\\\"down\\\",45:\\\"insert\\\",46:\\\"del\\\",59:\\\";\\\",61:\\\"=\\\",96:\\\"0\\\",97:\\\"1\\\",98:\\\"2\\\",99:\\\"3\\\",100:\\\"4\\\",101:\\\"5\\\",102:\\\"6\\\",103:\\\"7\\\",104:\\\"8\\\",105:\\\"9\\\",106:\\\"*\\\",107:\\\"+\\\",109:\\\"-\\\",110:\\\".\\\",111:\\\"/\\\",112:\\\"f1\\\",113:\\\"f2\\\",114:\\\"f3\\\",115:\\\"f4\\\",116:\\\"f5\\\",117:\\\"f6\\\",118:\\\"f7\\\",119:\\\"f8\\\",120:\\\"f9\\\",121:\\\"f10\\\",122:\\\"f11\\\",123:\\\"f12\\\",144:\\\"numlock\\\",145:\\\"scroll\\\",173:\\\"-\\\",186:\\\";\\\",187:\\\"=\\\",188:\\\",\\\",189:\\\"-\\\",190:\\\".\\\",191:\\\"/\\\",192:\\\"`\\\",219:\\\"[\\\",220:\\\"\\\\\\\\\\\",221:\\\"]\\\",222:\\\"'\\\"},shiftNums:{\\\"`\\\":\\\"~\\\",1:\\\"!\\\",2:\\\"@\\\",3:\\\"#\\\",4:\\\"$\\\",5:\\\"%\\\",6:\\\"^\\\",7:\\\"&\\\",8:\\\"*\\\",9:\\\"(\\\",0:\\\")\\\",\\\"-\\\":\\\"_\\\",\\\"=\\\":\\\"+\\\",\\\";\\\":\\\": \\\",\\\"'\\\":'\\\"',\\\",\\\":\\\"<\\\",\\\".\\\":\\\">\\\",\\\"/\\\":\\\"?\\\",\\\"\\\\\\\\\\\":\\\"|\\\"},textAcceptingInputTypes:[\\\"text\\\",\\\"password\\\",\\\"number\\\",\\\"email\\\",\\\"url\\\",\\\"range\\\",\\\"date\\\",\\\"month\\\",\\\"week\\\",\\\"time\\\",\\\"datetime\\\",\\\"datetime-local\\\",\\\"search\\\",\\\"color\\\",\\\"tel\\\"],textInputTypes:/textarea|input|select/i,options:{filterInputAcceptingElements:!0,filterTextInputs:!0,filterContentEditable:!0}},t.each([\\\"keydown\\\",\\\"keyup\\\",\\\"keypress\\\"],function(){t.event.special[this]={add:e};});}(jQuery||this.jQuery||window.jQuery);\"","require(\"!!/app/node_modules/script-loader/addScript.js\")(require(\"!!/app/node_modules/script-loader/node_modules/raw-loader/index.js!/app/public/viewer-assets/js/viewercontrol.js\"))","module.exports = \"// See license at https://www.npmjs.com/package/@prizmdoc/viewer-core\\n// @prizmdoc/viewer-core@14.2.13\\n!function(e,t){\\\"object\\\"==typeof exports&&\\\"object\\\"==typeof module?module.exports=t():\\\"function\\\"==typeof define&&define.amd?define([],t):\\\"object\\\"==typeof exports?exports.viewerCore=t():e.viewerCore=t()}(self,(()=>(()=>{var e,t,i={8964:e=>{var t=function(){this._bd=!1,this._cd=!1,this._vb=IPCC._j.AddFreehandMark};t.prototype._dd=function(e){this._cd=e},t.prototype._ed=function(){this._cd=!1},t.prototype._fd=function(){this._bd&&(this._Dd=null,this._Ve=null,this._cd._He(null),this._bd=!1,this._cd._rd())},t.prototype._id=function(){this._fd()},t.prototype._jd=function(e){this._fd(),0===e.domEvent.button&&(this._bd=!0,this._Dd=new IPCC.Web.UI.Mark(IPCC.Web.UI.MarkType.Polyline),this._Dd.get_points().addPoint(e.imagePoint),this._Ve=new IPCC.Web.UI.Mark(IPCC.Web.UI.MarkType.Freehand),this._cd._He(this._Dd,this._Ve),this._Dd.set_lineWidth(this._Ve._We),this._Dd.set_lineColor(this._Ve._Xe),this._Dd.set_opacity(this._Ve._Ye),this._Je=e.imagePoint,this._Ke=e.windowPoint,this._cd._rd())},t.prototype._sd=function(e){0!==e.domEvent.button&&this._fd(),this._bd&&(this._Dd.get_points().addPoint(e.imagePoint),this._cd._rd())},t.prototype._Le=function(e){this._bd&&this._fd()},t.prototype._wd=function(e){if(this._bd&&0===e.domEvent.button){this._Dd.get_points().addPoint(e.imagePoint);var t=this._Dd.get_points(),i=[],A=Number.MAX_VALUE,n=0,r=Number.MAX_VALUE,a=0,s=0;for(s=0;sn&&(n=o.x),o.ya&&(a=o.y),i.push({x:o.x,y:o.y})}var c,g=i.length<3?i:IPCC._o.filter(i,(function(e){if(c){var t=e.x-c.x,i=e.y-c.y,n=t*t+i*i;if(Math.sqrt(n)<4)return!1}return e.x=e.x-A,e.y=e.y-r,c=e,!0}));g.length<3&&(g=[i[0],i[i.length-1]]);var h=\\\"\\\";c=void 0,g.length<3?h+=this._mf(g):h=(h=\\\"M\\\"+IPCC._o.bspline(g)).replace(/\\\\d*\\\\.?\\\\d*/g,(function(e){var t=e.indexOf(\\\".\\\");return e.length&&t>0?e.substr(0,t+3):e}));var l=n-A,u=a-r;if(0===u&&0===l)return void this._fd();var d={clientX:e.domEvent.clientX,clientY:e.domEvent.clientY};this._Ve.set_rectangle({x:A,y:r,width:l,height:u}),this._Ve.set_pathString(h),this._Ve.set_pathWidth(l),this._Ve.set_pathHeight(u),this._cd._He(null),this._cd._Od().addMark(this._Ve,d),this._cd._rd()}this._fd()},t.prototype._mf=function(e,t){var i=t&&IPCC._o._tf?\\\"m\\\":\\\"M\\\",A=t&&IPCC._o._tf?\\\"l\\\":\\\"L\\\";return IPCC._o.map(e,(function(e,t){return 0===t?i+e.x+\\\",\\\"+e.y:A+e.x+\\\",\\\"+e.y})).join(\\\"\\\")},t.prototype._Sd=function(e){var t=this._cd._Ud();(e.windowPoint.x<=0||e.windowPoint.x>=t.width-2)&&this._fd(),(e.windowPoint.y<=0||e.windowPoint.y>=t.height-2)&&this._fd()},t.prototype._Vd=function(){this._fd()},e.exports=t},5779:e=>{var t=function(){this._bd=!1,this._cd=!1,this._vb=IPCC._j.AddLineMark};t.prototype._dd=function(e){this._cd=e},t.prototype._ed=function(){this._cd=!1},t.prototype._fd=function(){this._bd&&(this._Dd=null,this._cd._He(null),this._bd=!1,this._cd._rd())},t.prototype._id=function(){this._fd()},t.prototype._jd=function(e){this._fd(),0===e.domEvent.button&&(this._bd=!0,this._Dd=new IPCC.Web.UI.Mark(IPCC.Web.UI.MarkType.Line),this._Dd.get_points().setPoint(0,e.imagePoint),this._Dd.get_points().setPoint(1,e.imagePoint),this._cd._He(this._Dd),this._Je=e.imagePoint,this._Ke=e.windowPoint)},t.prototype._sd=function(e){0!==e.domEvent.button&&this._fd(),this._bd&&(this._Dd.get_points().setPoint(1,e.imagePoint),this._cd._rd())},t.prototype._wd=function(e){if(this._bd&&0===e.domEvent.button){var t=e.windowPoint.x-this._Ke.x,i=t*t;if((i+=(t=e.windowPoint.y-this._Ke.y)*t)>25){var A=this._cd,n={clientX:e.domEvent.clientX,clientY:e.domEvent.clientY};this._Dd.get_points().setPoint(1,e.imagePoint),this._cd._He(null),this._cd._Od().addMark(this._Dd,n),A._rd()}}this._fd()},t.prototype._Sd=function(e){var t=this._cd._Ud();(e.windowPoint.x<=0||e.windowPoint.x>=t.width-2)&&this._fd(),(e.windowPoint.y<=0||e.windowPoint.y>=t.height-2)&&this._fd()},t.prototype._Vd=function(){this._fd()},e.exports=t},2169:e=>{var t=function(e){switch(this._bd=!1,this._cd=!1,this._Fe=e,this._Fe){case IPCC.Web.UI.MarkType.Polygon:this._vb=IPCC._j.AddPolygonMark;break;case IPCC.Web.UI.MarkType.Polyline:this._vb=IPCC._j.AddPolylineMark,this._Ge=!1}};t.prototype._dd=function(e){this._cd=e},t.prototype._ed=function(){this._cd=!1},t.prototype._fd=function(){this._bd&&(arguments[0]&&!0===arguments[0]&&this._Dd&&!1===this._Ge&&(this._cd._Od().addMark(this._Dd),this._Ge=!0,this._cd._rd()),this._Dd=null,this._cd._He(null),this._bd=!1,this._cd._rd())},t.prototype._id=function(){this._fd()},t.prototype._jd=function(e){if(0===e.domEvent.button){this._bd||(this._bd=!0,this._Dd=new IPCC.Web.UI.Mark(this._Fe),this._Dd.get_points().addPoint(e.imagePoint),this._cd._He(this._Dd));var t=this._Dd.get_points();t.get_length()>0&&t.setPoint(t.get_length()-1,e.imagePoint),t.addPoint(e.imagePoint),this._Je=e.imagePoint,this._Ke=e.windowPoint,this._cd._rd()}else this._fd()},t.prototype._Le=function(e){if(this._bd&&0===e.domEvent.button){var t,i,A=this._Dd.get_points(),n=A.get_length();if(n>2)for(var r=!0;r;)n=A.get_length(),t=A.getPoint(n-1),i=A.getPoint(n-2),t.x===i.x&&t.y===i.y?A.removePoint(n-1):r=!1;A.get_length()>0&&A.setPoint(A.get_length()-1,e.imagePoint),this._cd._He(null);var a={clientX:e.domEvent.clientX,clientY:e.domEvent.clientY};this._cd._Od().addMark(this._Dd,a),this._Ge=!0,this._cd._rd()}this._fd()},t.prototype._sd=function(e){if(0!==e.domEvent.button&&this._fd(),this._bd){var t=this._Dd.get_points();t.get_length()>0&&t.setPoint(t.get_length()-1,e.imagePoint),this._cd._rd()}},t.prototype._Sd=function(e){var t=this._cd._Ud();(e.windowPoint.x<=0||e.windowPoint.x>=t.width-2)&&this._fd(),(e.windowPoint.y<=0||e.windowPoint.y>=t.height-2)&&this._fd()},t.prototype._Vd=function(){this._fd()},e.exports=t},4037:e=>{var t=function(e){switch(this._bd=!1,this._cd=!1,this._Fe=e,this._Fe){case IPCC.Web.UI.MarkType.Rectangle:this._vb=IPCC._j.AddRectangleMark;break;case IPCC.Web.UI.MarkType.Ellipse:this._vb=IPCC._j.AddEllipseMark;break;case IPCC.Web.UI.MarkType.Text:case IPCC.Web.UI.MarkType.TextLine:case IPCC.Web.UI.MarkType.TextAreaSignature:this._vb=IPCC._j.AddTextMark;break;case IPCC.Web.UI.MarkType.Stamp:this._vb=IPCC._j.AddStampMark;break;case IPCC.Web.UI.MarkType.ImageStampAnnotation:case IPCC.Web.UI.MarkType.ImageStampRedaction:this._vb=IPCC._j.AddImageStampMark;break;case IPCC.Web.UI.MarkType.RectangleRedaction:this._vb=IPCC._j.AddRectangleRedactionMark;break;case IPCC.Web.UI.MarkType.Highlight:case IPCC.Web.UI.MarkType.HighlightText:case IPCC.Web.UI.MarkType.TextSelectionRedaction:case IPCC.Web.UI.MarkType.Strikethrough:this._vb=IPCC._j.AddRectangleMark}};t.prototype._dd=function(e){this._cd=e},t.prototype._ed=function(){this._cd=!1},t.prototype._fd=function(){this._bd&&(this._Dd=null,this._cd._He(null),this._bd=!1,this._cd._rd())},t.prototype._id=function(){this._fd()},t.prototype._jd=function(e){this._fd(),0===e.domEvent.button&&(this._bd=!0,this._Dd=new IPCC.Web.UI.Mark(this._Fe),this._Dd.set_rectangle({x:e.imagePoint.x,y:e.imagePoint.y,width:0,height:0}),this._cd._He(this._Dd),this._Je=e.imagePoint,this._Ke=e.windowPoint)},t.prototype._sd=function(e){if(0!==e.domEvent.button&&this._fd(),this._bd){var t={x:Math.min(e.imagePoint.x,this._Je.x),y:Math.min(e.imagePoint.y,this._Je.y)};t.width=Math.max(e.imagePoint.x,this._Je.x)-t.x,t.height=Math.max(e.imagePoint.y,this._Je.y)-t.y,this._Dd.set_rectangle(t),this._cd._rd()}},t.prototype._wd=function(e){if(this._bd&&0===e.domEvent.button){var t=e.windowPoint.x-this._Ke.x,i=t*t;if((i+=(t=e.windowPoint.y-this._Ke.y)*t)>25){var A={x:Math.min(e.imagePoint.x,this._Je.x),y:Math.min(e.imagePoint.y,this._Je.y)};A.width=Math.max(e.imagePoint.x,this._Je.x)-A.x,A.height=Math.max(e.imagePoint.y,this._Je.y)-A.y,this._cd._He(null),this._Dd.set_rectangle(A);var n=this._Dd,r=this._cd,a={clientX:e.domEvent.clientX,clientY:e.domEvent.clientY};this._cd._Od().addMark(this._Dd,a),n._Te()!==IPCC.Web.UI.MarkType.Text&&n._Te()!==IPCC.Web.UI.MarkType.TextLine&&n._Te()!==IPCC.Web.UI.MarkType.TextAreaSignature||r._Ue(n),r._rd()}}this._fd()},t.prototype._Sd=function(e){var t=this._cd._Ud();(e.windowPoint.x<=0||e.windowPoint.x>=t.width-2)&&this._fd(),(e.windowPoint.y<=0||e.windowPoint.y>=t.height-2)&&this._fd()},t.prototype._Vd=function(){this._fd()},e.exports=t},1474:(e,t,i)=>{var A={},n=i(3510),r=i(9979);A._i={_xc:function(){var e=IPCC._p._i;return null===e._zc&&(\\n/*@cc_on\\n @if (@_jscript)\\n // This code is inside a conditional comment, which is also a\\n // regular JavaScript comment. IE runs it but other browsers ignore it.\\n // Use SVG in IE9+ and VML in 7/8.\\n _configuration._isSvgFlag = document.documentMode > 8;\\n @else@*/\\ne._zc=!0),e._zc},_zc:null},A._Zc=1,A._ad=n,A._Yc=r,e.exports=A},9979:e=>{var t=function(){};t.prototype={_ZQ:function(e,t,i){this._cd=e,this._ld=e._gd(),this._yE=t,this._xW=i.width,this._yW=i.height,this._zW=i._Pf,this._AW=i._Nf,t._BW=this._CW(\\\"g\\\"),this._DW(t._BW,{\\\"fill-opacity\\\":1}),t._hN.appendChild(t._BW)},_eR:function(e){var t,i=\\\"\\\",A=this;switch(e._Dd.get_type()){case IPCC.Web.UI.MarkType.Rectangle:e._kz=this._CW(\\\"rect\\\"),e._Dd._Fx()&&255===e._Dd.get_opacity()&&(e._kz.addEventListener(\\\"mouseover\\\",(function(t){!1!==e._Dd.get_selected()||!e._kz||0!==t.which&&0!==t.buttons||(e._kz.style.opacity=127/255)}),!1),e._kz.addEventListener(\\\"mouseout\\\",(function(t){!e._kz||0!==t.which&&0!==t.buttons||(e._kz.style.opacity=e._Dd.get_opacity()/255)}),!1));break;case IPCC.Web.UI.MarkType.HighlightText:i=\\\"highlighttextannotation-\\\"+e._Dd._mU(),e._kz=this._CW(\\\"g\\\"),e._FW=this._CW(\\\"g\\\"),e._kz.appendChild(e._FW),e._GW=this._CW(\\\"g\\\"),e._GW.setAttribute(\\\"data-pcc-mark\\\",i),e._kz.appendChild(e._GW);break;case IPCC.Web.UI.MarkType.TextHyperlinkAnnotation:i=\\\"texthyperlinkannotation-\\\"+e._Dd._mU(),e._kz=this._CW(\\\"g\\\"),e._kz.style.cursor=IPCC._j._ub(IPCC._j.Link),e._FW=this._CW(\\\"g\\\"),e._kz.appendChild(e._FW),e._GW=this._CW(\\\"g\\\"),e._GW.style.opacity=IPCC._p._ad._kT(),e._GW.style.fill=\\\"blue\\\",e._GW.setAttribute(\\\"data-pcc-mark\\\",i),e._kz.appendChild(e._GW),e._HW=this._CW(\\\"g\\\"),e._HW.style.stroke=\\\"blue\\\",e._HW.style.opacity=IPCC._p._ad._jT(!1),e._HW.setAttribute(\\\"data-pcc-mark\\\",i),e._kz.appendChild(e._HW),e._kz.addEventListener(\\\"mouseover\\\",(function(t){e._HW&&(e._HW.style.opacity=IPCC._p._ad._jT(!0,e._Dd.get_selected()))}),!1),e._kz.addEventListener(\\\"mouseout\\\",(function(t){e._HW&&(e._HW.style.opacity=IPCC._p._ad._jT(!1,e._Dd.get_selected()))}),!1);break;case IPCC.Web.UI.MarkType.DocumentHyperlink:i=\\\"documenthyperlink-\\\"+e._Dd._mU(),e._kz=this._CW(\\\"g\\\"),e._kz.style.cursor=IPCC._j._ub(IPCC._j.Link),e._sc=this._CW(\\\"rect\\\"),e._sc.style[\\\"fill-opacity\\\"]=IPCC._p._ad._kT(),\\\"Underline\\\"!==e._Dd._IW?(e._sc.style.stroke=e._Dd._Xe,e._sc.style[\\\"stroke-width\\\"]=e._Dd._We+\\\"px\\\",e._sc.style[\\\"stroke-opacity\\\"]=0===e._Dd._We?0:e._Dd._JW/255,\\\"Dashed\\\"===e._Dd._IW&&(e._sc.style[\\\"stroke-dasharray\\\"]=e._Dd._KW.join(\\\", \\\")),e._sc.setAttribute(\\\"rx\\\",e._Dd._LW),e._sc.setAttribute(\\\"ry\\\",e._Dd._MW)):(e._NW=this._CW(\\\"line\\\"),e._NW.style.stroke=e._Dd._Xe,e._NW.style[\\\"stroke-opacity\\\"]=e._Dd._JW/255,e._NW.style[\\\"stroke-width\\\"]=e._Dd._We+\\\"px\\\",e._kz.appendChild(e._NW)),e._sc.style.fill=\\\"transparent\\\",e._sc.setAttribute(\\\"data-pcc-mark\\\",i),e._kz.appendChild(e._sc);break;case IPCC.Web.UI.MarkType.RectangleRedaction:if(i=\\\"textmark-\\\"+e._Dd._mU(),e._kz=this._CW(\\\"g\\\"),e._EO=this._CW(\\\"rect\\\"),e._OW=this._CW(\\\"g\\\"),e._OW.setAttribute(\\\"data-pcc-mark\\\",i),IPCC._o._DL._KL&&(e._OW.style.cursor=\\\"pointer\\\"),e._iV=document.createTextNode(\\\"\\\"),document.documentMode>8||IPCC._o._DL._EL){e._wK=this._CW(\\\"text\\\"),e._wK.setAttribute(\\\"data-pcc-mark\\\",i),e._wK.appendChild(e._iV),e._PW=this._CW(\\\"clipPath\\\"),e._QW=this._CW(\\\"rect\\\"),e._OW.appendChild(e._PW),e._PW.appendChild(e._QW),e._OW.appendChild(e._wK),e._RW=\\\"PCC\\\"+IPCC._p._Zc,IPCC._p._Zc++,this._DW(e._PW,{id:e._RW,clipPathUnits:\\\"userSpaceOnUse\\\"}),t=e._Dd.get_rectangle(),this._DW(e._QW,{x:0,y:0,width:t.width,height:t.height,\\\"data-pcc-mark\\\":i});var n=function(t){!1!==e._Dd.get_selected()||!e._EO||0!==t.which&&0!==t.buttons||!1===A._cd._QE()&&(e._kz.style.opacity=.2,e._wK.style.opacity=0)};e._kz.addEventListener(\\\"mouseover\\\",(function(e){n(e)}),!1),e._OW.addEventListener(\\\"mouseover\\\",(function(e){n(e)}),!1),e._OW.addEventListener(\\\"mouseout\\\",(function(t){!e._EO||0!==t.which&&0!==t.buttons||!1===A._cd._QE()&&(e._kz.style.opacity=1,e._wK.style.opacity=1)}),!1),e._kz.addEventListener(\\\"mouseout\\\",(function(t){!e._EO||0!==t.which&&0!==t.buttons||!1===A._cd._QE()&&(e._kz.style.opacity=1,e._wK.style.opacity=1)}),!1)}else e._hV=document.createElement(\\\"div\\\"),this._DW(e._hV,{\\\"data-pcc-mark\\\":i}),e._hV.appendChild(e._iV),e._TW=document.createElement(\\\"div\\\"),this._DW(e._TW,{\\\"data-pcc-mark\\\":i}),e._TW.appendChild(e._hV),e._UW=document.createElement(\\\"body\\\"),this._DW(e._UW,{xmlns:\\\"http://www.w3.org/1999/xhtml\\\",style:\\\"margin:0;overflow:hidden;background-color:transparent;white-space:pre-wrap;all:initial\\\",\\\"data-pcc-mark\\\":i}),e._UW.appendChild(e._TW),e._VW=this._CW(\\\"foreignObject\\\"),e._VW.appendChild(e._UW),e._OW.appendChild(e._VW),e._UW.addEventListener(\\\"mouseover\\\",(function(t){!1!==e._Dd.get_selected()||!e._EO||0!==t.which&&0!==t.buttons||(e._EO.style.opacity=.2,e._hV.style.opacity=0)}),!1),e._UW.addEventListener(\\\"mouseout\\\",(function(t){!e._EO||0!==t.which&&0!==t.buttons||!1===A._cd._QE()&&(e._EO.style.opacity=1,e._hV.style.opacity=1)}),!1);e._kz.appendChild(e._EO);break;case IPCC.Web.UI.MarkType.Ellipse:e._kz=this._CW(\\\"ellipse\\\");break;case IPCC.Web.UI.MarkType.Highlight:e._kz=this._CW(\\\"rect\\\");break;case IPCC.Web.UI.MarkType.TextSelectionRedaction:e._kz=this._CW(\\\"g\\\"),e._FW=e._kz;break;case IPCC.Web.UI.MarkType.Line:case IPCC.Web.UI.MarkType.Polyline:e._kz=this._CW(\\\"g\\\"),e._WW=this._CW(\\\"polyline\\\"),e._XW=this._CW(\\\"path\\\"),e._YW=this._CW(\\\"path\\\"),e._kz.appendChild(e._WW),e._kz.appendChild(e._XW),e._kz.appendChild(e._YW),e._WW.setAttribute(\\\"stroke-linejoin\\\",\\\"miter\\\"),e._WW.setAttribute(\\\"stroke-linecap\\\",\\\"butt\\\"),e._WW.setAttribute(\\\"stroke-miterlimit\\\",\\\"4\\\");break;case IPCC.Web.UI.MarkType.Polygon:e._kz=this._CW(\\\"polygon\\\");break;case IPCC.Web.UI.MarkType.Text:case IPCC.Web.UI.MarkType.TextAreaSignature:i=\\\"textmark-\\\"+e._Dd._mU(),e._kz=this._CW(\\\"g\\\"),e._ZW=this._CW(\\\"polygon\\\"),e._WW=this._CW(\\\"path\\\"),e._aX=this._CW(\\\"path\\\"),e._OW=this._CW(\\\"g\\\"),e._kz.appendChild(e._ZW),e._kz.appendChild(e._WW),e._kz.appendChild(e._aX),this._DW(e._ZW,{style:\\\"stroke:none;\\\"}),e._OW.setAttribute(\\\"data-pcc-mark\\\",i),e._iV=document.createTextNode(\\\"\\\"),document.documentMode>8||IPCC._o._DL._EL?(e._wK=this._CW(\\\"text\\\"),e._wK.setAttribute(\\\"data-pcc-mark\\\",i),e._wK.appendChild(e._iV),e._PW=this._CW(\\\"clipPath\\\"),e._QW=this._CW(\\\"rect\\\"),e._OW.appendChild(e._PW),e._PW.appendChild(e._QW),e._bX=this._CW(\\\"g\\\"),e._OW.appendChild(e._bX),e._OW.appendChild(e._wK),e._RW=\\\"PCC\\\"+IPCC._p._Zc,IPCC._p._Zc++,this._DW(e._PW,{id:e._RW,clipPathUnits:\\\"userSpaceOnUse\\\"}),t=e._Dd.get_rectangle(),this._DW(e._QW,{x:0,y:0,width:t.width,height:t.height,\\\"data-pcc-mark\\\":i})):(e._hV=document.createElement(\\\"div\\\"),e._hV.appendChild(e._iV),e._UW=document.createElement(\\\"body\\\"),this._DW(e._UW,{xmlns:\\\"http://www.w3.org/1999/xhtml\\\",style:\\\"margin:0;overflow:hidden;background-color:transparent;white-space:pre-wrap;all:initial\\\",\\\"data-pcc-mark\\\":i}),e._UW.appendChild(e._hV),e._VW=this._CW(\\\"foreignObject\\\"),e._VW.appendChild(e._UW),e._OW.appendChild(e._VW)),e._ZW.setAttribute(\\\"data-pcc-mark\\\",i);break;case IPCC.Web.UI.MarkType.Stamp:e._kz=this._CW(\\\"g\\\"),e._cX=this._CW(\\\"rect\\\"),e._cX.style=\\\"fill:rgba(255, 255, 255, 0);stroke:none;\\\",e._EO=this._CW(\\\"rect\\\"),e._dX=this._eX(e),e._kz.appendChild(e._cX),e._kz.appendChild(e._EO),e._kz.appendChild(e._dX);break;case IPCC.Web.UI.MarkType.ImageStampAnnotation:case IPCC.Web.UI.MarkType.ImageStampRedaction:e._kz=this._CW(\\\"g\\\"),e._cX=this._CW(\\\"rect\\\"),e._cX.style=\\\"fill:rgba(255, 255, 255, 0);stroke:none;\\\",e._EO=this._CW(\\\"rect\\\"),e._fX=this._gX(e),e._fX.setAttribute(\\\"data-pcc-mark\\\",\\\"mark-\\\"+e._Dd._mU()),e._kz.appendChild(e._cX),e._kz.appendChild(e._EO),e._kz.appendChild(e._fX);break;case IPCC.Web.UI.MarkType.SignaturePath:case IPCC.Web.UI.MarkType.Freehand:var r=e._Dd,a=r._Nd(),s=a.width,o=a.height,c=r.get_pathWidth(),g=r.get_pathHeight(),h=r.get_pathString(),l=IPCC._o._Nq.Path(h,{width:s,height:o,multiplier:100,thickness:r.get_lineWidth(),color:r.get_lineColor()}),u=IPCC._o._Nq.SVG(\\\"0 0 \\\"+c+\\\" \\\"+g,100),d=IPCC._o._Nq.Rect(c,g,\\\"fill:rgba(255, 255, 255, 0);stroke:none;\\\");u.appendChild(d),u.appendChild(l),e._kz=u,e._lX=l,e._mX=d,this._nX(e._kz,r._LQ);break;case IPCC.Web.UI.MarkType.SignatureText:e._kz=this._CW(\\\"g\\\"),e._EO=this._CW(\\\"rect\\\"),e._EO.style=\\\"fill:rgba(255, 255, 255, 0);stroke:none;\\\",e._dX=this._eX(e),e._kz.appendChild(e._EO),e._kz.appendChild(e._dX),e._Dd._CT=!1;break;case IPCC.Web.UI.MarkType.TextLine:e._kz=this._CW(\\\"g\\\"),e._EO=this._CW(\\\"rect\\\"),e._EO.style=\\\"fill:rgba(255, 255, 255, 0);stroke:none;\\\",e._dX=this._eX(e),e._kz.appendChild(e._EO),e._kz.appendChild(e._dX);break;case IPCC.Web.UI.MarkType.Strikethrough:i=\\\"strikethroughannotation-\\\"+e._Dd._mU(),e._kz=this._CW(\\\"g\\\"),e._FW=this._CW(\\\"g\\\"),e._kz.appendChild(e._FW),e._GW=this._CW(\\\"g\\\"),e._GW.setAttribute(\\\"data-pcc-mark\\\",i),e._kz.appendChild(e._GW),e._oX=this._CW(\\\"g\\\"),e._oX.setAttribute(\\\"data-pcc-mark\\\",i),e._kz.appendChild(e._oX)}e._kz.ImGearMarkRelation=e,e._kz.setAttribute(\\\"data-pcc-mark\\\",\\\"mark-\\\"+e._Dd._mU()),this._yE._BW.appendChild(e._kz),e._OW&&(e._OW.ImGearMarkRelation=e,this._yE._BW.appendChild(e._OW)),this._dR(e)},_eX:function(e){var t=e._Dd,i=t._Db;i||(i=t._qX[0])||(i=t.get_type()===IPCC.Web.UI.MarkType.Stamp?\\\"APPROVED\\\":\\\"\\\");var A=t._Nd();e._wK=this._CW(\\\"text\\\"),e._RW=\\\"PCC\\\"+IPCC._p._Zc,IPCC._p._Zc++;var n=document.createTextNode(i);switch(e._wK.setAttribute(\\\"font-size\\\",\\\"22px\\\"),t.get_type()===IPCC.Web.UI.MarkType.TextLine&&e._wK.setAttribute(\\\"style\\\",\\\"white-space:pre;\\\"),e._Dd._LQ){case IPCC.Web.UI.HorizontalAlignment.Left:e._wK.setAttribute(\\\"text-anchor\\\",\\\"start\\\"),e._wK.setAttribute(\\\"x\\\",A.x);break;case IPCC.Web.UI.HorizontalAlignment.Right:e._wK.setAttribute(\\\"text-anchor\\\",\\\"end\\\"),e._wK.setAttribute(\\\"x\\\",A.x+A.width);break;default:e._wK.setAttribute(\\\"text-anchor\\\",\\\"middle\\\"),e._wK.setAttribute(\\\"x\\\",A.x+A.width/2)}return e._wK.setAttribute(\\\"y\\\",A.y+A.height/2),e._wK.appendChild(n),e._wK},_gX:function(e){var t=e._Dd;return e._rX=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"svg\\\"),e._sX=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"image\\\"),e._sX.setAttribute(\\\"id\\\",\\\"childimg\\\"),e._sX.setAttributeNS(\\\"http://www.w3.org/1999/xlink\\\",\\\"href\\\",t.get_image()),e._rX.appendChild(e._sX),e._rX},_tX:function(e,t){var i,A,n,r,a,s,o,c,g,h,l=e._Dd,u=l._Nd(),d=l._Db.split(\\\"\\\\n\\\"),I=e._wK,C=0,f=0,p=0,B=0,m=this._zW/72,E=l._az*m,Q=[],_=/(.*\\\\s)(.*)/;if(I.childNodes.length>=1&&(a=I.parentNode,(s=this._CW(\\\"text\\\")).setAttribute(\\\"data-pcc-mark\\\",e._OW.getAttribute(\\\"data-pcc-mark\\\")),s.setAttribute(\\\"width\\\",e._OW.getAttribute(\\\"width\\\")-e._Dd._We),a.replaceChild(s,I),e._wK=s,e._wK.appendChild(e._iV),e._OW.appendChild(e._wK),I={},I=e._wK),I.style.fontSize=l._az*this._zW/72+\\\"px\\\",I.style.fontFamily=l._JQ,I.width-=4,o=l._We/2,t)switch(t){case IPCC.Web.UI.HorizontalAlignment.Center:o=u.width/2-l._We/2;break;case IPCC.Web.UI.HorizontalAlignment.Right:o=u.width-l._We}for(var y=0;y0){n=d[y].split(\\\"\\\"),(A=this._CW(\\\"tspan\\\")).setAttributeNS(null,\\\"x\\\",o),y>0&&A.setAttributeNS(null,\\\"dy\\\",E*(f+1)),i=window.document.createTextNode(n[0]),A.appendChild(i),I.appendChild(A);for(var w=1;w=u.width-l._We-2&&(g=\\\"\\\",(h=A.firstChild.data.match(_))&&(r=h[2]),h&&h[1].length>0?(A.firstChild.data=h[1],g+=r):(A.firstChild.data=A.firstChild.data.slice(0,B),g+=r),g.length>=1&&(Q.push({_zd:p,_OX:A}),(A=this._CW(\\\"tspan\\\")).setAttributeNS(null,\\\"x\\\",o),A.setAttributeNS(null,\\\"dy\\\",E),i=window.document.createTextNode(r),A.appendChild(i),I.appendChild(A)));A.firstChild.data.length>0&&Q.push({_zd:p,_OX:A}),p+=A.firstChild.data.length+1,f=0}else f++;return Q},_PX:function(e,t,i,A){if(e.length>0){var n=t.getNumberOfChars();if(e[0]._zd>A+n)return;for(var r=Math.max(e[0]._zd-A,0);r0&&(n+=\\\" L\\\"),n+=t[A].x+\\\",\\\"+t[A].y;i&&(n+=\\\"Z\\\"),this._DW(e,{d:n})},_VX:function(e,t,i){var A,n=\\\"\\\";for(A=0;A0&&(n+=\\\" \\\"),n+=t[A].x+\\\",\\\"+t[A].y;i&&t.length>2&&(n+=\\\" \\\"+t[0].x+\\\",\\\"+t[0].y),this._DW(e,{points:n})},_XX:function(e,t,i,A,n,r,a){var s=this._mT(e,t,i,A,n),o=\\\"\\\";switch(o+=\\\"stroke:\\\"+r+\\\";\\\",n){case IPCC.Web.UI.LineHeadType.None:o=\\\"display:none;\\\";break;case IPCC.Web.UI.LineHeadType.Pointer:this._SX(a,[s._tT,e,s._uT],!1);break;case IPCC.Web.UI.LineHeadType.Solid:this._SX(a,[s._tT,e,s._uT],!0),o+=\\\"fill:\\\"+r+\\\";\\\";break;case IPCC.Web.UI.LineHeadType.Open:this._SX(a,[s._tT,e,s._uT],!0);break;case IPCC.Web.UI.LineHeadType.PointerSolid:this._SX(a,[s._tT,e,s._uT,s._vT],!0),o+=\\\"fill:\\\"+r+\\\";\\\"}return this._DW(a,{style:o}),s},_aY:function(e){var t,i,A,n,r,a,s=e._Dd,o=\\\"\\\";for(t=s.get_points(),i=[],A=0;A8||IPCC._o._DL._EL?(I=\\\"normal\\\",i._FQ&IPCC.Web.UI.FontStyle.Italic&&(I=\\\"italic\\\"),d=\\\"normal\\\",i._FQ&IPCC.Web.UI.FontStyle.Bold&&(d=\\\"bold\\\"),u=\\\"none\\\",i._FQ&IPCC.Web.UI.FontStyle.Underline&&i._FQ&IPCC.Web.UI.FontStyle.Strikeout?u=\\\"underline line-through\\\":i._FQ&IPCC.Web.UI.FontStyle.Underline?u=\\\"underline\\\":i._FQ&IPCC.Web.UI.FontStyle.Strikeout&&(u=\\\"line-through\\\")):(C+=\\\"color:rgba(\\\"+(f>>16)+\\\",\\\"+(f>>8&255)+\\\",\\\"+(255&f)+\\\",\\\"+p+\\\");\\\",C+=\\\"font-family:\\\"+i._JQ+\\\";\\\",C+=\\\"font-size:\\\"+n+\\\"px;\\\",i._FQ&IPCC.Web.UI.FontStyle.Italic&&(C+=\\\"font-style:italic;\\\"),i._FQ&IPCC.Web.UI.FontStyle.Bold&&(C+=\\\"font-weight:bold;\\\"),i._FQ&IPCC.Web.UI.FontStyle.Underline&&i._FQ&IPCC.Web.UI.FontStyle.Strikeout?C+=\\\"text-decoration:underline line-through;\\\":i._FQ&IPCC.Web.UI.FontStyle.Underline?C+=\\\"text-decoration:underline;\\\":i._FQ&IPCC.Web.UI.FontStyle.Strikeout&&(C+=\\\"text-decoration:line-through;\\\"));var B={x:2,anchor:\\\"start\\\"};switch(i._LQ){case IPCC.Web.UI.HorizontalAlignment.Left:C+=\\\"text-align:left;\\\";break;case IPCC.Web.UI.HorizontalAlignment.Center:C+=\\\"text-align:center;\\\",B.x=A.width/2-3,B.anchor=\\\"middle\\\";break;case IPCC.Web.UI.HorizontalAlignment.Right:C+=\\\"text-align:right;\\\",B.x=A.width-8,B.anchor=\\\"end\\\"}if(void 0!==document.documentMode||IPCC._o._DL._EL){var m=this._tX(e,i._LQ),E=m.length;switch(i._EY){case IPCC.Web.UI.VerticalAlignment.Center:i.get_type()===IPCC.Web.UI.MarkType.RectangleRedaction&&(t=A.height/2+i._az/4,E>1&&(t-=(E-1)*(i._az/2)),t<0&&(t=i._az));case IPCC.Web.UI.VerticalAlignment.Bottom:}this._DW(e._QW,{x:0,y:0,width:A.width-i._We,height:A.height-i._We});var Q=\\\"url(#\\\"+e._RW+\\\")\\\",_={x:B.x,y:this._zW/72*i._az,width:A.width-i._We,height:A.height-i._We,\\\"font-family\\\":i._JQ,\\\"font-size\\\":n,fill:\\\"rgba(\\\"+(f>>16)+\\\", \\\"+(f>>8&255)+\\\", \\\"+(255&f)+\\\", \\\"+p+\\\")\\\",\\\"font-weight\\\":d,\\\"font-style\\\":I,\\\"text-decoration\\\":u,\\\"text-anchor\\\":B.anchor};void 0!==t&&(delete _.y,_.dy=t),this._DW(e._wK,_),e._wK.style.opacity=p,this._DW(e._OW,{transform:\\\"matrix(\\\"+a+\\\",\\\"+(g+A.x+i._We/2)+\\\",\\\"+(h+A.y+i._We/2)+\\\")\\\",\\\"clip-path\\\":Q});for(var y=e._bX;y&&y.firstChild;)y.removeChild(y.firstChild);if(i._YK)for(var w=this._ZU(i._YK),b=0;bi._We?s-i._We:s,height:o>i._We?o-i._We:o}),this._cV(e)}}},_IY:function(e){var t=e._Dd;if(null!==t._Gm&&void 0!==t._Gm&&(0===t._Gm.length&&t._Gd>0&&this._cd._em()._xD()&&(t._Gm=IPCC._o._ZJ(this._cd._em()._im(),t._zd,t._zd+t._Gd-1)),!e._zd||!e._Gd||e._zd!==t._zd||e._Gd!==t._Gd||!1===t._Xx||!0===t._Xx)){for(;e._GW.firstChild;)e._GW.removeChild(e._GW.firstChild);if(e._HW)for(;e._HW.firstChild;)e._HW.removeChild(e._HW.firstChild);if(e._oX)for(;e._oX.firstChild;)e._oX.removeChild(e._oX.firstChild);if(!1===t._Xx)return;IPCC._o.forEach(e._Dd._Gm,(function(t){var i=this._CW(\\\"rect\\\");if(e._GW.appendChild(i),this._DW(i,{x:t.x,y:t.y,width:t.width,height:t.height}),e._HW){var A=this._CW(\\\"line\\\");this._DW(A,{x1:t.x,y1:t.y+t.height-1,x2:t.x+t.width,y2:t.y+t.height-1,\\\"stroke-width\\\":2}),e._HW.appendChild(A)}if(e._oX){i.setAttribute(\\\"fill\\\",\\\"transparent\\\");var n=this._CW(\\\"line\\\"),r=t.y+t.height/2;this._DW(n,{x1:t.x,y1:r,x2:t.x+t.width,y2:r,stroke:e._Dd._Xe,\\\"stroke-width\\\":e._Dd._We}),e._oX.appendChild(n)}}),this),e._zd=t._zd,e._Gd=t._Gd}},_dR:function(e){var t=e._Dd;if(t){var i,A,n,r,a,s,o,c,g,h=e._kz,l=\\\"\\\",u=!0,d=!1;switch(t.get_type()){case IPCC.Web.UI.MarkType.Line:case IPCC.Web.UI.MarkType.Polyline:d=!0,this._aY(e);break;case IPCC.Web.UI.MarkType.Rectangle:i=t.get_rectangle(),this._DW(h,{x:i.x,y:i.y,width:i.width,height:i.height});break;case IPCC.Web.UI.MarkType.HighlightText:this._IY(e),e._GW.style.fill=t._IQ,e._GW.style.opacity=t._Ye/255,this._RY(e);break;case IPCC.Web.UI.MarkType.TextHyperlinkAnnotation:this._IY(e),e._GW.style.fill=t._IQ,e._HW.style.stroke=t._IQ,e._Dd.get_selected(),e._HW.style.opacity=IPCC._p._ad._jT(!1,e._Dd.get_selected()),this._RY(e);break;case IPCC.Web.UI.MarkType.DocumentHyperlink:i=t.get_rectangle(),this._DW(e._sc,{x:i.x,y:i.y,width:i.width,height:i.height}),e._NW&&this._DW(e._NW,{x1:i.x,y1:i.y+i.height,x2:i.x+i.width,y2:i.y+i.height});break;case IPCC.Web.UI.MarkType.RectangleRedaction:void 0!==e._EO&&(!0===this._cd._QE()?(e._EO.style.opacity=.2,void 0!==e._hV?e._hV.style.opacity=.8:e._wK.style.opacity=.8):(e._EO.style.opacity=1,void 0!==e._hV&&(e._hV.style.opacity=1))),i=t.get_rectangle(),this._DW(h,{x:i.x,y:i.y,width:i.width,height:i.height}),this._DW(e._EO,{x:i.x,y:i.y,width:i.width,height:i.height}),!1===this._cd._QE()&&this._sY(e);break;case IPCC.Web.UI.MarkType.Ellipse:i=t.get_rectangle(),this._DW(h,{cx:i.x+i.width/2,cy:i.y+i.height/2,rx:i.width/2,ry:i.height/2});break;case IPCC.Web.UI.MarkType.Polygon:A=this._RT(t),this._VX(h,A,!1),l+=\\\"fill-rule:evenodd;\\\";break;case IPCC.Web.UI.MarkType.Text:this._mY(e),this._sY(e);break;case IPCC.Web.UI.MarkType.TextAreaSignature:var I=IPCC._o._RL();IPCC._o._PL().nodeValue=t.get_text();var C=t._kK,f=this._cd._IE()._pb();i=t.get_rectangle(),I.style.width=i.width-t._We/2+\\\"px\\\",I.style.height=i.height-t._We/2+\\\"px\\\",I.style.fontFamily=t._JQ,I.style.padding=\\\"2px\\\",I.style.fontStyle=t._FQ,t._az=72*IPCC._o._SL(I,C,f)/this._zW,this._mY(e),this._sY(e);break;case IPCC.Web.UI.MarkType.Stamp:i=t.get_rectangle(),this._DW(h,{x:i.x,y:i.y,width:i.width,height:i.height}),this._DW(e._cX,{x:i.x,y:i.y,width:i.width,height:i.height,stroke:\\\"none\\\",fill:\\\"rgba(255, 255, 255, 0)\\\"}),e._cX.style.opacity=1,this._DW(e._EO,{x:i.x,y:i.y,width:i.width,height:i.height,stroke:t._IQ,\\\"stroke-width\\\":\\\"5\\\",fill:\\\"none\\\",rx:10,ry:10});var p=i.width/6;p>i.height&&(p=i.height-i.height/6),(n=e._Dd.get_text())||(n=\\\"APPROVED\\\"),e._wK.childNodes[0].data=n,n.length*p>i.width&&(p=i.width/n.length),c=Math.round(p),t.stampSize=c.toString(),this._DW(e._wK,{x:i.x+i.width/2,y:i.y+(i.height/2+p/3),\\\"font-size\\\":p,stroke:t._IQ,\\\"font-family\\\":\\\"Arial\\\"});break;case IPCC.Web.UI.MarkType.ImageStampAnnotation:case IPCC.Web.UI.MarkType.ImageStampRedaction:i=t.get_rectangle(),this._DW(h,{x:i.x,y:i.y,width:i.width,height:i.height}),this._DW(e._cX,{x:i.x,y:i.y,width:i.width,height:i.height,stroke:\\\"none\\\",fill:\\\"rgba(255, 255, 255, 0)\\\"}),e._cX.style.opacity=1,this._DW(e._EO,{x:i.x,y:i.y,width:i.width,height:i.height,stroke:t._IQ,\\\"stroke-width\\\":\\\"0\\\",fill:\\\"none\\\"}),e._sX.setAttribute(\\\"height\\\",i.height),e._sX.setAttribute(\\\"width\\\",i.width),e._sX.setAttribute(\\\"x\\\",i.x),e._sX.setAttribute(\\\"y\\\",i.y),e._sX.setAttributeNS(\\\"http://www.w3.org/1999/xlink\\\",\\\"href\\\",t.get_image());break;case IPCC.Web.UI.MarkType.TextSelectionRedaction:this._RY(e);break;case IPCC.Web.UI.MarkType.Highlight:if(0===(i=t.get_rectangle()).x&&0===i.y){var B=this._cd._em()._im();if(B._sn()>0)i=B._AD(t._zd)._Yx;t._Id=\\\"y\\\"}this._DW(h,{x:i.x,y:i.y,width:i.width,height:i.height});break;case IPCC.Web.UI.MarkType.SignaturePath:case IPCC.Web.UI.MarkType.Freehand:i=t.get_rectangle(),this._DW(h,{x:i.x,y:i.y,width:i.width,height:i.height});var m=e._lX;if(!0===t._UY){t._UY=!1,m.setAttribute(\\\"d\\\",t.get_pathString());var E=t.get_pathWidth(),Q=t.get_pathHeight();h.setAttribute(\\\"viewBox\\\",\\\"0 0 \\\"+E+\\\" \\\"+Q),e._mX.setAttribute(\\\"width\\\",E),e._mX.setAttribute(\\\"height\\\",Q)}t.get_visible()?e._kz.style.display=\\\"block\\\":e._kz.style.display=\\\"none\\\",this._nX(e._kz,t._LQ),m.style.stroke=t.get_lineColor(),m.style.strokeWidth=t.get_lineWidth()+\\\"px\\\",m.style.opacity=t.get_opacity()/255;break;case IPCC.Web.UI.MarkType.SignatureText:i=t.get_rectangle(),this._DW(h,{x:i.x,y:i.y,width:i.width,height:i.height}),this._DW(e._EO,{x:i.x,y:i.y,width:i.width,height:i.height,stroke:\\\"none\\\",fill:\\\"rgba(255, 255, 255, 0)\\\"}),e._EO.style.opacity=1;var _=e._Dd.get_text()||\\\"\\\";e._wK.childNodes[0].data=_,r=12*i.width/(t._WY||1),a=12*i.height/(t._XY||1),o=Math.min(r,a);var y=Math.floor(o);switch(t.stampSize=y.toString(),t._LQ){case IPCC.Web.UI.HorizontalAlignment.Left:e._wK.setAttribute(\\\"text-anchor\\\",\\\"start\\\"),e._wK.setAttribute(\\\"x\\\",i.x);break;case IPCC.Web.UI.HorizontalAlignment.Right:e._wK.setAttribute(\\\"text-anchor\\\",\\\"end\\\"),e._wK.setAttribute(\\\"x\\\",i.x+i.width);break;default:e._wK.setAttribute(\\\"text-anchor\\\",\\\"middle\\\"),e._wK.setAttribute(\\\"x\\\",i.x+i.width/2)}this._DW(e._wK,{y:i.y+(i.height/2+o/3),\\\"font-size\\\":o,stroke:\\\"none\\\",fill:t.get_fillColor(),\\\"font-family\\\":t.get_fontName()}),t.get_visible()?e._kz.style.display=\\\"block\\\":e._kz.style.display=\\\"none\\\";break;case IPCC.Web.UI.MarkType.TextLine:switch(this._DW(h,{style:(t._Xx,\\\"display:block;\\\")}),i=t.get_rectangle(),this._DW(h,{x:i.x,y:i.y,width:i.width,height:i.height}),l=\\\"stroke:\\\"+(t._CT?\\\"black\\\":\\\"none\\\")+\\\";stroke-width:1;\\\",this._DW(e._EO,{x:i.x,y:i.y,width:i.width,height:i.height,stroke:t._CT?\\\"black\\\":\\\"none\\\",fill:\\\"rgba(255, 255, 255, 0)\\\",style:l}),e._wK.style.opacity=1,n=e._Dd.get_text()||\\\"\\\",e._wK.childNodes[0].data=n,o=(s=IPCC._o._jK(n,t.get_fontName(),i.width,i.height,t._kK,{_xK:\\\"pre\\\",_Mq:e._kz})).fontSize,t._KQ=o,t.stampSize=o,t._ZY=!0,t._aZ=s,t._LQ){case IPCC.Web.UI.HorizontalAlignment.Center:e._wK.setAttribute(\\\"text-anchor\\\",\\\"middle\\\"),e._wK.setAttribute(\\\"x\\\",i.x+i.width/2);break;case IPCC.Web.UI.HorizontalAlignment.Right:e._wK.setAttribute(\\\"text-anchor\\\",\\\"end\\\"),e._wK.setAttribute(\\\"x\\\",i.x+i.width);break;default:e._wK.setAttribute(\\\"text-anchor\\\",\\\"start\\\"),e._wK.setAttribute(\\\"x\\\",i.x)}this._DW(e._wK,{y:i.y+(i.height/2+o/3),\\\"font-size\\\":o,stroke:\\\"none\\\",fill:t.get_textColor(),\\\"font-family\\\":t.get_fontName(),\\\"white-space\\\":\\\"pre\\\"}),\\\"transparent\\\"!==t._IQ&&(e._EO.style.fill=t._IQ),t._Ye<255&&(e._EO.style.opacity=t._Ye/255),\\\"transparent\\\"!==t._Xe&&(e._EO.style.stroke=t._Xe,e._EO.style.strokeWidth=t._We);break;case IPCC.Web.UI.MarkType.Strikethrough:this._IY(e),this._RY(e);break;default:throw new IPCC.Web.UI.ImGearArgumentOutOfRangeException(\\\"type\\\",t.get_type())}if(t.get_type()!==IPCC.Web.UI.MarkType.SignaturePath&&t.get_type()!==IPCC.Web.UI.MarkType.Freehand&&t.get_type()!==IPCC.Web.UI.MarkType.SignatureText&&t.get_type()!==IPCC.Web.UI.MarkType.HighlightText&&t.get_type()!==IPCC.Web.UI.MarkType.TextHyperlinkAnnotation&&t.get_type()!==IPCC.Web.UI.MarkType.DocumentHyperlink&&t.get_type()!==IPCC.Web.UI.MarkType.Strikethrough&&t.get_type()!==IPCC.Web.UI.MarkType.TextSelectionRedaction){if(d)l+=\\\"fill:none;\\\";else{t._bZ?l+=\\\"fill:\\\"+t._IQ+\\\";\\\":l+=\\\"fill:none;\\\",u=t._CT;var w=this._lY(t._iS);\\\"\\\"!==w&&(l+=\\\"stroke-dasharray:\\\"+w+\\\";\\\")}u?(l+=\\\"stroke:\\\"+t.get_lineColor()+\\\";\\\",l+=\\\"stroke-width:\\\"+t._We+\\\";\\\"):l+=\\\"stroke:none;\\\",t.get_type()===IPCC.Web.UI.MarkType.SignatureText||t.get_type()===IPCC.Web.UI.MarkType.TextLine?l+=\\\"opacity:1;\\\":l+=\\\"opacity:\\\"+t._Ye/255+\\\";\\\",t._Xx?e._OW&&(e._OW.style.display=\\\"block\\\"):(l+=\\\"display:none;\\\",e._OW&&(e._OW.style.display=\\\"none\\\")),this._DW(h,{style:l})}t.get_type()===IPCC.Web.UI.MarkType.Freehand&&(t._Xx?l+=\\\"display:block;\\\":l+=\\\"display:none;\\\",this._DW(h,{style:l})),g=this._cd.get_areMarksEditable()?t._RA===IPCC.Web.UI.MarkInteractionMode.SelectionDisabled&&t.get_type()!==IPCC.Web.UI.MarkType.TextHyperlinkAnnotation&&t.get_type()!==IPCC.Web.UI.MarkType.DocumentHyperlink?\\\"default\\\":t.get_type()===IPCC.Web.UI.MarkType.TextHyperlinkAnnotation||t.get_type()===IPCC.Web.UI.MarkType.DocumentHyperlink?IPCC._j.Link:t.get_type()===IPCC.Web.UI.MarkType.Highlight||t.get_type()===IPCC.Web.UI.MarkType.HighlightText||t.get_type()===IPCC.Web.UI.MarkType.Strikethrough||t.get_type()===IPCC.Web.UI.MarkType.TextSelectionRedaction||t.get_type()===IPCC.Web.UI.MarkType.RectangleRedaction&&t._Jd?IPCC._j.Arrow:IPCC._j.Move:this._cd.get_cursor(),h.style.cursor=IPCC._j._ub(g),e._OW&&(e._OW.style.cursor=IPCC._j._ub(g))}},_nX:function(e,t){switch(t){case IPCC.Web.UI.HorizontalAlignment.Left:e.setAttribute(\\\"preserveAspectRatio\\\",\\\"xMinYMid\\\");break;case IPCC.Web.UI.HorizontalAlignment.Center:e.setAttribute(\\\"preserveAspectRatio\\\",\\\"xMidYMid\\\");break;case IPCC.Web.UI.HorizontalAlignment.Right:e.setAttribute(\\\"preserveAspectRatio\\\",\\\"xMaxYMid\\\")}},_RY:function(e){var t=e._Dd,i=t.get_visible(),A=t.get_rectangle();if(0!==A.x||0!==A.y){for(var n,r=e._FW;r.firstChild;)r.removeChild(r.firstChild);for(var a=0;a0)n=o._AD(t._YK[a].startIndex+s)._Yx;var c=this._CW(\\\"rect\\\");this._DW(c,{x:n.x,y:n.y,width:n.width,height:n.height,fill:t._YK[a].color,display:i?\\\"block\\\":\\\"none\\\"}),c.style.opacity=t._YK[a].opacity?t._YK[a].opacity/255:.5,r.appendChild(c)}}},_lY:function(e){switch(e){case IPCC.Web.UI.LineStyle.Dash:return\\\"7,7\\\";case IPCC.Web.UI.LineStyle.Dot:return\\\"1,7\\\";case IPCC.Web.UI.LineStyle.DashDot:return\\\"7,7,1,7\\\";case IPCC.Web.UI.LineStyle.DashDotDot:return\\\"7,7,1,7,1,7\\\"}return\\\"\\\"},_cR:function(e){e._kz&&this._yE._BW.removeChild(e._kz),e._OW&&this._yE._BW.removeChild(e._OW),delete e._kz},_gZ:function(){},_cQ:function(){this._yE=void 0},_CW:function(e){return document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",e)},_DW:function(e,t){var i;for(i in t)if(t.hasOwnProperty(i)){var A=t[i];e.setAttribute(i,null!=A?A.toString():\\\"\\\")}}},e.exports=t},3510:(e,t,i)=>{var A=i(9979);A._jT=function(e,t){return(t||e?127:63)/255},A._kT=function(){return 39/255},A._lT=function(e){return e?\\\"purple\\\":\\\"blue\\\"},A.prototype._mT=function(e,t,i,A,n){var r={_nT:e,_oT:t,_pT:i,_qT:A,_rT:n};e.x===t.x&&e.y===t.y&&(r._rT=IPCC.Web.UI.LineHeadType.None);var a=Math.atan2(e.x-t.x,-(e.y-t.y))+Math.PI/2,s=a+(i*=Math.PI/180);switch(r._tT={x:e.x+Math.cos(s)*A,y:e.y+Math.sin(s)*A},s=a-i,r._uT={x:e.x+Math.cos(s)*A,y:e.y+Math.sin(s)*A},r._rT){case IPCC.Web.UI.LineHeadType.Solid:case IPCC.Web.UI.LineHeadType.Open:r._vT={x:(r._tT.x+r._uT.x)/2,y:(r._tT.y+r._uT.y)/2};break;case IPCC.Web.UI.LineHeadType.PointerSolid:r._vT={x:e.x+Math.cos(a)*A/2,y:e.y+Math.sin(a)*A/2};break;default:r._vT=e}return r},A.prototype._wT=function(e){var t=e._Dd,i=t.get_rectangle(),A={x:t._bp.x+i.x+1e-5,y:t._bp.y+i.y+1e-5},n={},r=[{x:i.x,y:i.y},{x:i.x+i.width,y:i.y},{x:i.x+i.width,y:i.y+i.height},{x:i.x,y:i.y+i.height}];if(!t._zT)return n._AT=r,n._BT=!t._CT,n;var a,s=[];for(a=0;a<4;a++)s.push({x:(r[a].x+r[(a+3)%4].x)/2,y:(r[a].y+r[(a+3)%4].y)/2,_ET:!0});for(a=3;a>=0;a--)r.splice(a,0,s[a]);function o(e){var t;return(t=(A.x-(r[e].x+r[(e+1)%8].x)/2)*i.height)*t+(t=(A.y-(r[e].y+r[(e+1)%8].y)/2)*i.width)*t}var c,g=0,h=o(0);for(a=1;a<8;a++)(c=o(a))=0;a--)r[a]._ET&&r.splice(a,1);switch(t._NT){case IPCC.Web.UI.CalloutType.Triangle:r.splice(0,0,{x:(3*l.x+u.x)/4,y:(3*l.y+u.y)/4}),r.push({x:(l.x+3*u.x)/4,y:(l.y+3*u.y)/4}),t._OT&&(n._BT=!0,n._PT=[].concat(r),n._QT=[r[0],A,r[r.length-1]]),r.push(A);break;default:case IPCC.Web.UI.CalloutType.Line:n._QT=[{x:(l.x+u.x)/2,y:(l.y+u.y)/2},A]}return n._AT=r,t._CT||(n._BT=!0,delete n._PT,delete n._QT),n},A.prototype._RT=function(e){var t,i=e.get_points(),A=[];for(t=0;t0;)A=e[n],n+=r,a--;return{_nT:i,_oT:A}},A.prototype._fR=function(e,t,i,A){if(!IPCC._o._gI){t._YT||(t._YT=[]);var n=t._YT;if(i.length<1&&n.length<1)t._bQ.firstChild&&(t._bQ.innerHTML=\\\"\\\");else{var r=e._Od()._No();if(void 0===this._jg){this._jg=40;var a=document.createElement(\\\"div\\\");if(a.className=\\\"pccMarkHandleTopLeft\\\",a.visibility=\\\"hidden\\\",document.body.appendChild(a),a.currentStyle)this._jg=parseInt(a.currentStyle.width,10)||0;else if(document.defaultView&&document.defaultView.getComputedStyle){var s=document.defaultView.getComputedStyle(a);this._jg=parseInt(s.width,10)||0}document.body.removeChild(a)}var o,c=[];for(o=0;o=0||!0===i[o].get_selected()&&(!0===i[o]._QS||!0===i[o]._RS)||!0===i[o]._PD)&&c.push(i[o]);for(o=0;o=c.length||n[o]._Dd!==c[o]);)t._bQ.removeChild(n[o]._eU),n.splice(o,1);o0&&(e._lU=e._lU.concat(this._hU(e._eU,h,this._jg,this._Xo,C.length-2,IPCC._j.Move)),C=e._lU),i=0;i0&&(e._lU=e._lU.concat(this._hU(e._eU,h,this._jg,this._Xo,C.length,IPCC._j.Move)),C=e._lU),i=0;ip?A._vb=IPCC._j.ResizeE:A._rc.ym&&(A._vb=IPCC._j.ResizeS));I.get_type()===IPCC.Web.UI.MarkType.Text&&(I._zT?this._BU(C[8],{x:r.x+I._bp.x,y:r.y+I._bp.y},t,this._jg,IPCC._p._ad._yU.Callout):this._EU(C[8]));break;case IPCC.Web.UI.MarkType.DocumentHyperlink:return;case IPCC.Web.UI.MarkType.TextHyperlinkAnnotation:case IPCC.Web.UI.MarkType.HighlightText:case IPCC.Web.UI.MarkType.TextSelectionRedaction:case IPCC.Web.UI.MarkType.Strikethrough:var y,w;e._eU.style.cursor=\\\"move\\\";var b=this._cd._em()._im();if(!0===I._QS){if((w=I._zd)>=b._sn()){y=b._AD(b._sn()-1)._ND(),this._BU(C[0],new IPCC.Web.UI.Point(y.x+y.width,y.y),t,this._jg,IPCC._p._ad._yU.TextSelectionStart);break}y=b._AD(I._zd)._ND(),this._BU(C[0],new IPCC.Web.UI.Point(y.x,y.y),t,this._jg,IPCC._p._ad._yU.TextSelectionStart)}else this._EU(C[0]);if(!0===I._RS){if((w=I._zd+I._Gd-1)<0){y=b._AD(0)._ND(),this._BU(C[1],new IPCC.Web.UI.Point(y.x,y.y+y.height),t,this._jg,IPCC._p._ad._yU.TextSelectionEnd);break}y=b._AD(w)._ND(),this._BU(C[1],new IPCC.Web.UI.Point(y.x+y.width,y.y+y.height),t,this._jg,IPCC._p._ad._yU.TextSelectionEnd)}else this._EU(C[1])}if(I.get_interactionMode()!==IPCC.Web.UI.MarkInteractionMode.TextEditingDisabled&&(I.get_type()===IPCC.Web.UI.MarkType.Text||I.get_type()===IPCC.Web.UI.MarkType.TextLine||I.get_type()===IPCC.Web.UI.MarkType.TextAreaSignature)){var v=C[C.length-1];if(v._kz.className.match(/pcc/)){var k=e._pU.clientHeight,x=e._pU.clientWidth,D=e._pU.offsetTop,S=e._pU.offsetLeft,P=v._kz.clientHeight,R=v._kz.clientWidth;v._kz.style.position=\\\"absolute\\\",v._kz.style.zIndex=\\\"2\\\",k>P+10&&x>R+10?(v._kz.style.top=(k-P)/2+D+\\\"px\\\",v._kz.style.left=(x-R)/2+S+\\\"px\\\"):(v._kz.style.top=k+D+10+\\\"px\\\",v._kz.style.left=(x-R)/2+S+\\\"px\\\")}}this._nU(e)},A.prototype._ZU=function(e,t){var i=IPCC._o._Ip(e,t||\\\"#ffffff\\\");return IPCC._o.map(i,(function(e){return{_zd:e.startIndex,_Ad:e.endIndex,_dL:e.color}}))},A.prototype._cV=function(e){var t=e._Dd;if(t._YK){for(var i=this._ZU(t._YK),A=t._Db,n=\\\"\\\",r=i.length-1;r>=0;r--){var a=i[r],s=a._zd,o=a._Ad,c=a._dL,g=IPCC._o._eL(A.substr(s,o-s+1)),h=IPCC._o._eL(A.substr(o+1,A.length-o+1));A=A.substr(0,s),n=\\\"\\\"+g+\\\"\\\"+h+n}n=(n=IPCC._o._eL(A)+n).replace(/\\\\n/g,\\\"
\\\"),e._hV.innerHTML=n}else e._iV.data=t._Db},e.exports=A},6534:e=>{var t={_xc:function(){var e=IPCC._i;return null===e._zc&&(\\n/*@cc_on\\n @if (@_jscript)\\n // This code is inside a conditional comment, which is also a\\n // regular JavaScript comment. IE runs it but other browsers ignore it.\\n // Use SVG in IE9+ and VML in 7/8.\\n _configuration._isSvgFlag = document.documentMode > 8;\\n @else@*/\\ne._zc=!0),e._zc},_zc:null};e.exports=t},6946:e=>{var t=function(e,t){this._cd=!1,this._gw=e;var i=IPCC.Web.UI,A=t;A&&null!==A||(A=IPCC._c),this._jw=A;var n,r={_Db:A.zoomInMenuItem,_lw:IPCC._n._Bc,_Xb:1.25},a={_Db:A.zoomOutMenuItem,_lw:IPCC._n._Cc,_Xb:1.25},s={_Db:A.fullImageMenuItem,_Xb:i.FitType.FullImage},o={_Db:A.fullWidthMenuItem,_Xb:i.FitType.FullWidth},c={_Db:A.fullHeightMenuItem,_Xb:i.FitType.FullHeight},g={_Db:A.oneToOneRatioMenuItem,_Xb:i.FitType.OneToOne},h={_Db:A.actualSizeMenuItem,_Xb:i.FitType.ActualSize},l={_Db:A.rotateRightMenuItem,_lw:IPCC._n._Dc,_Xb:90},u={_Db:A.rotateLeftMenuItem,_lw:IPCC._n._Dc,_Xb:-90},d={_Db:A.mirrorHorizontalMenuItem,_lw:IPCC._n._Ec},I={_Db:A.mirrorVerticalMenuItem,_lw:IPCC._n._Fc},C={_Db:A.panToolMenuItem,_Xb:i.MouseTool.HandPan},f={_Db:A.areaSelectionToolMenuItem,_Xb:i.MouseTool.Select},p={_Db:A.zoomRectangleToolMenuItem,_Xb:i.MouseTool.RectangleZoom},B={_Db:A.flyingMagnifierToolMenuItem,_Xb:i.MouseTool.Magnifier},m={_Db:A.createTextMarkToolMenuItem,_Xb:i.MouseTool.CreateTextMark},E={_Db:A.createLineMarkToolMenuItem,_Xb:i.MouseTool.CreateLineMark},Q={_Db:A.createRectangleMarkToolMenuItem,_Xb:i.MouseTool.CreateRectangleMark},_={_Db:A.createEllipseMarkToolMenuItem,_Xb:i.MouseTool.CreateEllipseMark},y={_Db:A.editMarksToolMenuItem,_Xb:i.MouseTool.EditMarks},w={_Db:A.createStampMarkToolMenuItem,_Xb:i.MouseTool.CreateStampMark},b={_Db:A.createHighlightMarkToolMenuItem,_Xb:i.MouseTool.CreateHighlightTextMark},v={_of:55,_bi:[{_Db:A.thicknessMenu.item1,_Xb:1},{_Db:A.thicknessMenu.item2,_Xb:2},{_Db:A.thicknessMenu.item3,_Xb:3},{_Db:A.thicknessMenu.item4,_Xb:4},{_Db:A.thicknessMenu.item5,_Xb:5},{_Db:A.thicknessMenu.item6,_Xb:6},{_Db:A.thicknessMenu.item7,_Xb:7},{_Db:A.thicknessMenu.item8,_Xb:8}]},k={_of:145,_bi:[{_Db:A.opacityMenu.translucent,_Xb:127},{_Db:A.opacityMenu.opaque,_Xb:255}]},x={_Db:A.borderThicknessMenuItem,_lw:IPCC._n._Gc,_Qb:\\\"lineWidth\\\",_Kw:v},D={_Db:A.borderColorMenuItem,_lw:IPCC._n._Hc,_Qb:\\\"lineColor\\\"},S={_Db:A.fillColorMenuItem,_lw:IPCC._n._Hc,_Qb:\\\"fillColor\\\"},P={_Db:A.lineThicknessMenuItem,_lw:IPCC._n._Gc,_Qb:\\\"lineWidth\\\",_Kw:v},R={_Db:A.lineColorMenuItem,_lw:IPCC._n._Hc,_Qb:\\\"lineColor\\\"},M={_Db:A.fontMenuItem,_lw:IPCC._n._Ic},F={_Db:A.opacityMenuItem,_lw:IPCC._n._Gc,_Qb:\\\"opacity\\\",_Kw:k},T={_Db:A.moveToBackMenuItem,_lw:IPCC._n._Kc},N={_Db:A.moveBackwardMenuItem,_lw:IPCC._n._Lc},U={_Db:A.moveForwardMenuItem,_lw:IPCC._n._Mc},G={_Db:A.moveToFrontMenuItem,_lw:IPCC._n._Nc},L={_Db:A.deleteMarkMenuItem,_lw:IPCC._n._Oc},H={_of:180,_bi:[s,o,c,g,h]},W={_Db:A.zoomToFitMenuItem,_lw:IPCC._n._Pc,_Kw:H},J={_of:200,_bi:[l,u,d,I]},Y={_Db:A.orientationMenuItem,_Kw:J};n=IPCC._p?!1===IPCC._b?{_of:180,_bi:[C,p,B,f,null]}:{_of:180,_bi:[C,p,B,f,null,y,m,E,Q,_,w,b]}:{_of:180,_bi:[C,p,B,f]};var O={_Db:A.mouseToolsMenuItem,_lw:IPCC._n._Qc,_Kw:n},q={_of:150,_bi:[S,x,D,null,F]},K={_of:150,_bi:[S,x,D,null,null]},j={_of:150,_Db:A.rectangleMarkPropertiesMenuItem,_Kw:q},V={_of:150,_Db:A.rectangleMarkPropertiesMenuItem,_Kw:K},z={_of:150,_bi:[M,S,x,D,null,null,null,F]},Z={_Db:A.textMarkPropertiesMenuItem,_Kw:z},X={_of:150,_bi:[S,x,D,null,F]},$={_Db:A.polygonMarkPropertiesMenuItem,_Kw:X},ee={_of:140,_bi:[P,R,null,F]},te={_Db:A.polylineMarkPropertiesMenuItem,_Kw:ee},ie={_of:140,_bi:[P,R,null,null]},Ae={_Db:A.lineMarkPropertiesMenuItem,_Kw:ie},ne={_of:140,_bi:[G,U,N,T]},re={_Db:A.markOrderingMenuItem,_Kw:ne},ae={_of:150,_bi:[S]},se={_Db:A.stampMarkPropertiesMenuItem,_Kw:ae};this._sx={_of:180,_bi:[r,a,W,Y,O]},this._tx={_of:140,_bi:[Z,re,L]},this._ux={_of:140,_bi:[j,re,L]},this._vx={_of:140,_bi:[se,re,L]},this._wx={_of:140,_bi:[null,re,L]},this._xx={_of:140,_bi:[V,re,L]},this._yx={_of:140,_bi:[$,re,L]},this._zx={_of:140,_bi:[te,re,L]},this._Ax={_of:140,_bi:[Ae,re,L]},this._Bx={_of:140,_bi:[se,null,L]}};t.prototype._dd=function(e){this._cd=e},t.prototype._ed=function(){this._cd=!1},t.prototype._fd=function(){},t.prototype._Cx=function(e){var t;if(e.mark&&this._gw){var i=e.mark._Fx();switch(e.mark.get_type()){case IPCC.Web.UI.MarkType.Line:t=this._Ax;break;case IPCC.Web.UI.MarkType.Polyline:t=this._zx;break;case IPCC.Web.UI.MarkType.Rectangle:t=this._ux;break;case IPCC.Web.UI.MarkType.Ellipse:t=this._xx;break;case IPCC.Web.UI.MarkType.Polygon:t=this._yx;break;case IPCC.Web.UI.MarkType.Text:t=this._tx;break;case IPCC.Web.UI.MarkType.Stamp:t=!0===i?this._wx:this._vx;break;case IPCC.Web.UI.MarkType.HighlightText:case IPCC.Web.UI.MarkType.Highlight:\\\"y\\\"===e.mark._Id&&(t=this._Bx)}}t||(t=this._sx);var A,n=document.documentElement.scrollLeft-document.documentElement.clientLeft+document.body.scrollLeft-document.body.clientLeft,r=document.documentElement.scrollTop-document.documentElement.clientTop+document.body.scrollTop-document.body.clientTop,a=new IPCC.Web.UI.Point(e.domEvent.clientX+n,e.domEvent.clientY+r),s=this;function o(e,t,i,A){var n,r,a=!1;for(n=0;na.x+a.width&&(r=!1),r||A.x-e._ofl&&(h.y=l),h.y')\\\",f.style.backgroundPosition=\\\"0px\\\");else if(m===IPCC._n._Jc){o[\\\"get_\\\"+E]()&&(this._cd._xy()?f.style.backgroundImage=\\\"url('\\\"+this._cd._xy()+\\\"/MenuIcons.png')\\\":f.style.backgroundImage=\\\"url('<%=WebResource(\\\\\\\"IPCC.Web.UI.MenuIcons.png\\\\\\\")%>')\\\",f.style.backgroundPosition=\\\"24px 0px\\\")}if(C._Kw){var Q={x:a.x-h.x,y:a.y-h.y,width:a.width,height:a.height};this._Zx(C._Kw,m,E,{x:0,y:-1},{x:e._of,y:-1},r,Q,I,o)}else I.ImGearCommand={_lw:m,_Qb:E,_Xb:C._Xb};h.y+=24}else I=u({height:\\\"1px\\\",overflow:\\\"hidden\\\",backgroundColor:\\\"#E0E0E0\\\"}),h.y+=1;d.appendChild(I)}return s.appendChild(d),d},t.prototype._Ay=function(e,t,i){var A,n=document.documentElement.scrollLeft-document.documentElement.clientLeft+document.body.scrollLeft-document.body.clientLeft,r=document.documentElement.scrollTop-document.documentElement.clientTop+document.body.scrollTop-document.body.clientTop,a=(A=window.innerWidth?{x:window.pageXOffset,y:window.pageYOffset,width:window.innerWidth,height:window.innerHeight}:document.documentElement.clientWidth?{x:n,y:r,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight}:{x:n,y:r,width:document.body.clientWidth,height:document.body.clientHeight}).x+A.width/2,s=A.y+A.height/2,o=document.createElement(\\\"div\\\");o.innerHTML='\\\\t
'+this._jw.selectColor+'
'+this._jw.red+':
'+this._jw.green+':
'+this._jw.blue+':
\\\",document.body.appendChild(o);var c,g=document.getElementById(\\\"ImGearColorRed\\\"),h=document.getElementById(\\\"ImGearColorGreen\\\"),l=document.getElementById(\\\"ImGearColorBlue\\\"),u=document.getElementById(\\\"ImGearColorOKButton\\\"),d=document.getElementById(\\\"ImGearColorCancelButton\\\"),I=e[\\\"get_\\\"+t]();function C(e){var t=Math.floor(+e.value);return isFinite(t)||(t=0),t<0&&(t=0),t>255&&(t=255),t}function f(){IPCC.Web.UI._Ox.removeHandler(u,\\\"click\\\",p),IPCC.Web.UI._Ox.removeHandler(d,\\\"click\\\",B),IPCC.Web.UI._Ox.removeHandler(document.body,\\\"mousedown\\\",m)}function p(){var A=65536*C(g)+256*C(h)+C(l);e[\\\"set_\\\"+t](\\\"#\\\"+(16777216+A).toString(16).slice(1)),f(),document.body.removeChild(o),o=null,i._rd()}function B(){f(),document.body.removeChild(o),o=null}function m(e){if(o){for(var t,i=e.target;i!==document.body;)i===o&&(t=!0),i=i.parentNode;t||(f(),document.body.removeChild(o),o=null)}}7===I.length&&\\\"#\\\"===I.charAt(0)&&(c=parseInt(I.slice(1),16)),g.value=c>>16,h.value=c>>8&255,l.value=255&c,IPCC.Web.UI._Ox.addHandler(u,\\\"click\\\",p),IPCC.Web.UI._Ox.addHandler(d,\\\"click\\\",B),IPCC.Web.UI._Ox.addHandler(document.body,\\\"mousedown\\\",m),g.focus()},t.prototype._Py=function(e,t){var i,A=document.documentElement.scrollLeft-document.documentElement.clientLeft+document.body.scrollLeft-document.body.clientLeft,n=document.documentElement.scrollTop-document.documentElement.clientTop+document.body.scrollTop-document.body.clientTop,r=(i=window.innerWidth?{x:window.pageXOffset,y:window.pageYOffset,width:window.innerWidth,height:window.innerHeight}:document.documentElement.clientWidth?{x:A,y:n,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight}:{x:A,y:n,width:document.body.clientWidth,height:document.body.clientHeight}).x+i.width/2,a=i.y+i.height/2,s=document.createElement(\\\"div\\\");s.innerHTML='
'+this._jw.selectFont+'
'+this._jw.font+':
'+this._jw.size+':
'+this._jw.italic+'
'+this._jw.bold+'
'+this._jw.underline+'
'+this._jw.strikeout+'
\\\",document.body.appendChild(s);var o=document.getElementById(\\\"ImGearFontFamily\\\"),c=document.getElementById(\\\"ImGearFontSize\\\"),g=document.getElementById(\\\"ImGearFontItalic\\\"),h=document.getElementById(\\\"ImGearFontBold\\\"),l=document.getElementById(\\\"ImGearFontUnderline\\\"),u=document.getElementById(\\\"ImGearFontStrikeout\\\"),d=document.getElementById(\\\"ImGearFontOKButton\\\"),I=document.getElementById(\\\"ImGearFontCancelButton\\\"),C=e.get_fontName(),f=e.get_fontSize(),p=e.get_fontStyle();function B(){IPCC.Web.UI._Ox.removeHandler(d,\\\"click\\\",m),IPCC.Web.UI._Ox.removeHandler(I,\\\"click\\\",E),IPCC.Web.UI._Ox.removeHandler(document.body,\\\"mousedown\\\",Q)}function m(){e.set_fontName(o.value);var i,A,n=(i=c,A=Math.floor(+i.value),isFinite(A)||(A=12),A<.1&&(A=.1),A>288&&(A=288),A);e.set_fontSize(n);var r=0;g.checked&&(r|=IPCC.Web.UI.FontStyle.Italic),h.checked&&(r|=IPCC.Web.UI.FontStyle.Bold),l.checked&&(r|=IPCC.Web.UI.FontStyle.Underline),u.checked&&(r|=IPCC.Web.UI.FontStyle.Strikeout),e.set_fontStyle(r),B(),document.body.removeChild(s),s=null,t._rd()}function E(){B(),document.body.removeChild(s),s=null}function Q(e){if(s){for(var t,i=e.target;i!==document.body;)i===s&&(t=!0),i=i.parentNode;t||(B(),document.body.removeChild(s),s=null)}}o.value=C,c.value=f,g.checked=p&IPCC.Web.UI.FontStyle.Italic,h.checked=p&IPCC.Web.UI.FontStyle.Bold,l.checked=p&IPCC.Web.UI.FontStyle.Underline,u.checked=p&IPCC.Web.UI.FontStyle.Strikeout,IPCC.Web.UI._Ox.addHandler(d,\\\"click\\\",m),IPCC.Web.UI._Ox.addHandler(I,\\\"click\\\",E),IPCC.Web.UI._Ox.addHandler(document.body,\\\"mousedown\\\",Q),o.focus()},t.prototype._Rx=function(e){var t=e._Qx.mark;switch(e._lw){case IPCC._n._Gc:t[\\\"set_\\\"+e._Qb](e._Xb),this._cd._rd();break;case IPCC._n._Hc:this._Ay(t,e._Qb,this._cd);break;case IPCC._n._Ic:this._Py(t,this._cd);break;case IPCC._n._Jc:t[\\\"set_\\\"+e._Qb](!t[\\\"get_\\\"+e._Qb]()),this._cd._rd();break;case IPCC._n._Kc:t.moveToBack(),this._cd._rd();break;case IPCC._n._Lc:t.moveBackward(),this._cd._rd();break;case IPCC._n._Mc:t.moveForward(),this._cd._rd();break;case IPCC._n._Nc:t.moveToFront(),this._cd._rd();break;case IPCC._n._Oc:t.removeFromPage(),this._cd._rd();break;default:this._cd._bz(e)}},e.exports=t},167:e=>{var t={Default:0,Arrow:1,Crosshair:2,Link:3,HandOpen:4,HandClosed:5,Magnifier:6,None:7,RectangleZoom:8,AddRectangleMark:9,AddEllipseMark:10,AddLineMark:11,AddFreehandLineMark:12,AddPolygonMark:13,AddPolylineMark:14,AddTextMark:15,Move:16,ResizeN:17,ResizeE:18,ResizeS:19,ResizeW:20,ResizeNW:21,ResizeNE:22,ResizeSE:23,ResizeSW:24,EditMarks:25,RunMarks:26,Text:27,AddStampMark:28,AddRectangleRedactionMark:29,AddImageStampMark:30,_ub:function(e){if(\\\"string\\\"==typeof e)return e;switch(e){case IPCC._j.Default:case IPCC._j.Magnifier:case IPCC._j.None:case IPCC._j.RunMarks:return\\\"auto\\\";case IPCC._j.Arrow:case IPCC._j.EditMarks:return\\\"default\\\";case IPCC._j.Crosshair:case IPCC._j.RectangleZoom:case IPCC._j.AddRectangleMark:case IPCC._j.AddEllipseMark:case IPCC._j.AddLineMark:case IPCC._j.AddFreehandLineMark:case IPCC._j.AddPolygonMark:case IPCC._j.AddPolylineMark:case IPCC._j.AddTextMark:case IPCC._j.AddRectangleRedactionMark:case IPCC._j.AddImageStampMark:case IPCC._j.AddStampMark:return\\\"crosshair\\\";case IPCC._j.Link:return\\\"pointer\\\";case IPCC._j.HandOpen:case IPCC._j.HandClosed:case IPCC._j.Move:return\\\"move\\\";case IPCC._j.ResizeN:return\\\"n-resize\\\";case IPCC._j.ResizeE:return\\\"e-resize\\\";case IPCC._j.ResizeS:return\\\"s-resize\\\";case IPCC._j.ResizeW:return\\\"w-resize\\\";case IPCC._j.ResizeNW:return\\\"nw-resize\\\";case IPCC._j.ResizeNE:return\\\"ne-resize\\\";case IPCC._j.ResizeSE:return\\\"se-resize\\\";case IPCC._j.ResizeSW:return\\\"sw-resize\\\";case IPCC._j.Text:return\\\"text\\\"}return\\\"auto\\\"}};e.exports=t},5968:e=>{function t(e){return t=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},t(e)}var i={_wb:function(e,i){var A,n,r;if(null===e)return\\\"null\\\";if(i||(i=0),\\\"undefined\\\"===(A=t(e)))return\\\"undefined\\\";if(\\\"number\\\"===A||\\\"boolean\\\"===A)return e.toString();if(\\\"string\\\"===A)return\\\"'\\\"+e+\\\"'\\\";if(\\\"function\\\"===A)return\\\"function\\\";if(i<0)return\\\"_xb\\\";for(r in n=\\\"{\\\",e)e.hasOwnProperty(r)&&(n.length>2&&(n+=\\\", \\\"),n+=r,n+=\\\": \\\",n+=IPCC._m._wb(e[r],i-1));return n+=\\\"}\\\"},_Cb:function(e){var t=document.getElementById(\\\"TraceConsole\\\");t&&\\\"TEXTAREA\\\"===t.tagName.toUpperCase()&&(t.value+=e+\\\"\\\\n\\\")},_Eb:function(){var e=document.getElementById(\\\"TraceConsole\\\");e&&\\\"TEXTAREA\\\"===e.tagName.toUpperCase()&&(e.value=\\\"\\\")},_Fb:function(e,i,A,n,r){var a=\\\"PCC Controls - \\\";if(a+=n||\\\" \\\",a+=\\\" parent Div id = \\\",a+=r||\\\" \\\",i)switch(i){case 0:a+=\\\" FunctionCall \\\";break;case 1:a+=\\\" Exception \\\";break;case 2:a+=\\\" Custom \\\";break;case 3:a+=\\\" UserAction \\\";break;case 4:a+=\\\" Warning \\\";break;default:a+=\\\" unknown \\\"}a+=\\\" - \\\"+e,\\\"undefined\\\"!=typeof Debug&&Debug.writeln&&Debug.writeln(a),window.console&&window.console.log&&window.console.log(a),window.opera&&window.opera.postError(a),window.debugService&&window.debugService.trace(a);var s,o=document.getElementById(\\\"TraceConsole\\\");o&&\\\"TEXTAREA\\\"===o.tagName.toUpperCase()&&(o.value+=a+\\\"\\\\n\\\");try{s=onPCCItemLogged}catch(e){}if(s&&\\\"function\\\"===t(s).toLowerCase()){var c=new IPCC.Web.UI.LogItemEventArgs;c.message=e,c.cause=i,c.level=A,c.id=r,s(c)}}};e.exports=i},680:e=>{var t={};t._OC=function(e,t){this._kZ.push({_dn:e,_lb:t})},t._PC=function(e){for(var t=0;t{var t=function(){this._bd=!1,this._cd=!1};t.prototype._dd=function(e){this._cd=e,this._cd._Eo(!0),this._ld=e._gd()},t.prototype._ed=function(){arguments[0]&&!0===arguments[0]||this._cd._Eo(!1),this._cd=!1},t.prototype._fd=function(){this._bd&&(this._cd._Fo(!0),this._ld._Ce(),this._bd=!1,this._cd._rd())},t.prototype._Le=function(e){this._fd();var t=e.mark;t&&t._Te()===IPCC.Web.UI.MarkType.Text&&(this._cd._Ue(t),this._cd._rd())},t.prototype._jd=function(e){this._fd();var t=e.domEvent;if(0===t.button){var i=t.target;for(this._Ho=i.ImGearMarkHandle,this._Ho?(this._Io=this._Ho._zb,this._Jo=this._Ho._Ko):(this._Io=null,this._Jo=null);!i.ImGearMarkRelation&&i.parentNode&&i!==document.body;)i=i.parentNode;this._Lo=i.ImGearMarkRelation,this._Lo?this._Dd=this._Lo._Dd:this._Dd=null,this._bd=!0,this._vf=e.imagePoint,this._Mo=e.imagePoint;var A=this._Dd;if(A&&A.get_interactionMode()!==IPCC.Web.UI.MarkInteractionMode.SelectionDisabled){var n,r;switch(this._Io){case IPCC._p._ad.prototype._Po:this._Qo=A._Nd(),this._Ro=Math.abs(this._Qo.width),this._So=Math.abs(this._Qo.height),n={x:this._Qo.x,y:this._Qo.y},this._To={x:this._Qo.x+this._Qo.width,y:this._Qo.y+this._Qo.height},this._Jo>0&&this._Jo<3&&(n.x+=this._Qo.width,this._To.x-=this._Qo.width),this._Jo>1&&(n.y+=this._Qo.height,this._To.y-=this._Qo.height),this._Uo=n;break;case IPCC._p._ad.prototype._Vo:switch(r=A._Nd(),this._Qo=r,n={x:r.x+r.width/2,y:r.y+r.height/2},this._Jo){case 0:this._Wo=r.y+r.height,n.y=r.y;break;case 1:this._Wo=r.x,n.x=r.x+r.width;break;case 2:this._Wo=r.y,n.y=r.y+r.height;break;case 3:this._Wo=r.x+r.width,n.x=r.x}break;case IPCC._p._ad.prototype._Xo:this._Ie=A._Yo(),(this._Jo<0||this._Jo>this._Ie._sn())&&this._fd(),n=this._Ie.getPoint(this._Jo);break;case IPCC._p._ad.prototype._Zo:break;case IPCC._p._ad.prototype._ap:n={x:(r=A._Nd()).x+A._bp.x,y:r.y+A._bp.y};break;default:var a=A.get_selected();if(t.ctrlKey||t.shiftKey)a=!a,A.set_selected(a);else if(!a)if(a=!0,this._cd._Od()._No().removeAllMarks(),A.get_type()===IPCC.Web.UI.MarkType.Highlight)for(var s=0;s.001&&(o=c*this._Ro/this._So):this._So>.001&&(c=o*this._So/this._Ro),a.x=t.width-2)&&this._fd(),(e.windowPoint.y<=0||e.windowPoint.y>=t.height-2)&&this._fd()},t.prototype._Vd=function(){this._fd()},e.exports=t},3180:(e,t,i)=>{var A=i(6e3).regClass,n=function(){return this};n.registerClass=A,n.prototype={},n.registerClass(\\\"IPCC.ExceptionEventArgs\\\"),e.exports=n},2057:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={FitToWidth:0,ShrinkToWidth:1,ActualSize:2,FitToHeight:3,BestFit:4},n.registerEnum(\\\"IPCC.FitType\\\",!1),e.exports=n},3552:e=>{e.exports=function(){function e(){return Math.floor(10*Math.random()).toString()}var t=new Date;return e()+e()+\\\"_\\\"+t.getTime()+\\\"_\\\"+e()+e()+e()+e()}},1575:e=>{var t=function(){this._bd=!1,this._cd=!1};t.prototype._dd=function(e){this._cd=e},t.prototype._ed=function(){this._cd=!1},t.prototype._fd=function(){this._bd&&(this._bd=!1)},t.prototype._id=function(){this._fd()},t.prototype._jd=function(e){this._fd(),0===e.domEvent.button&&(this._bd=!0,this._vf=e.imagePoint)},t.prototype._sd=function(e){if(0!==e.domEvent.button&&this._fd(),this._bd){var t=this._cd,i=t._gd(),A=i._xf(),n=t._Ud();A._yf(this._vf,e.windowPoint),A._zf(t._Af(),n),t._Rd(\\\"userModifiedViewState\\\",{}),i._Bf(A),t._rd()}},t.prototype._wd=function(){this._fd()},t.prototype._Sd=function(e){var t=this._cd._Ud();(e.windowPoint.x<=0||e.windowPoint.x>=t.width-2)&&this._fd(),(e.windowPoint.y<=0||e.windowPoint.y>=t.height-2)&&this._fd()},t.prototype._Vd=function(){this._fd()},e.exports=t},6e3:e=>{function t(e){return t=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},t(e)}var i,A,n,r,a,s,o,c,g={};g._NI=(A=[],(i={}).get=function(e){if(0!==A.length)for(var t=0;t10&&A.shift()},i.contains=function(e){return void 0!==i.get(e)},i.cacheResponse=function(e,t,A){if(t.readyState===IPCC.XMLHttpRequestReadyState.Done)i.set(e,t);else{var n=t.onreadystatechange;t.onreadystatechange=function(){t.readyState===IPCC.XMLHttpRequestReadyState.Done&&200===t.status&&i.set(e,t),n?n():A()}}},i),g._gI=!1,g._WI=(n=navigator.userAgent,r=n.indexOf(\\\"Mozilla/5.0\\\")>-1&&n.indexOf(\\\"Android \\\")>-1&&n.indexOf(\\\"AppleWebKit\\\")>-1&&!(n.indexOf(\\\"Chrome\\\")>-1),a=new RegExp(/AppleWebKit\\\\/([\\\\d.]+)/),s=null===a.exec(n)?null:parseFloat(a.exec(n)[1]),r&&null!==s&&s<537),g._cJ=function(){var e=navigator.userAgent,t=/Android/i.test(e),i=/iPhone|iPad|iPod/i.test(e),A=/IEMobile/i.test(e);return t||i||A}(),g._gJ=(o=!1,8!==document.documentMode&&9!==document.documentMode&&10!==document.documentMode||(o=!0),o),g._wl=(c=navigator.userAgent,10===document.documentMode||g._WI?\\\"svg\\\":9===document.documentMode||/Apple Computer/.test(navigator.vendor||\\\"\\\")&&/Mac OS X.*?Version\\\\/9\\\\..*?Safari/i.test(c)&&!g._cJ?\\\"svga\\\":\\\"svgb\\\"),g._tf=8===document.documentMode&&(document.namespaces.add(\\\"v\\\",\\\"urn:schemas-microsoft-com:vml\\\"),document.createStyleSheet().addRule(\\\"v\\\\\\\\: *\\\",\\\"behavior:url(#default#VML); position:absolute\\\"),document.createStyleSheet().addRule(\\\"v\\\\\\\\:roundrect\\\",\\\"behavior:url(#default#VML); position:absolute\\\"),document.createStyleSheet().addRule(\\\"v\\\\\\\\:oval\\\",\\\"behavior:url(#default#VML); position:absolute\\\"),document.createStyleSheet().addRule(\\\"v\\\\\\\\:roundrect\\\",\\\"behavior:url(#default#VML); position:absolute\\\"),document.createStyleSheet().addRule(\\\"v\\\\\\\\:fill\\\",\\\"behavior:url(#default#VML); position:absolute\\\"),document.createStyleSheet().addRule(\\\"v\\\\\\\\:line\\\",\\\"behavior:url(#default#VML); position:absolute\\\"),document.createStyleSheet().addRule(\\\"v\\\\\\\\:shape\\\",\\\"behavior:url(#default#VML); position:absolute\\\"),document.createStyleSheet().addRule(\\\"v\\\\\\\\:polyline\\\",\\\"behavior:url(#default#VML); position:absolute\\\"),document.createStyleSheet().addRule(\\\"v\\\\\\\\:stroke\\\",\\\"behavior:url(#default#VML); position:absolute\\\"),!0),g._Fq=window.navigator.pointerEnabled||window.navigator.msPointerEnabled,g._Sq=g._Fq||\\\"ontouchstart\\\"in document.documentElement,g._iJ=!!navigator.platform&&!!navigator.platform.match(/iPad|iPhone|iPod/g),g._jJ=function(){return g._kJ.btoa(Math.random().toString(36).slice(-4)+\\\"_\\\"+g._ss(new Date)+\\\"_\\\"+Math.random().toString(36).slice(-6))},g.inArray=function(e,t){for(var i=0,A=e.length;i>>0;if(0===r)return-1;var a=+i||0;if(Math.abs(a)===1/0&&(a=0),a>=r)return-1;for(A=Math.max(a>=0?a:r-Math.abs(a),0);A0){var A=t.slice(0,i),n=t.slice(i+2);e[A]&&(n=e[A]+\\\", \\\"+n),e[A]=n}return e}),{}):{}}return e._eo={},e._yq=void 0,e._xn=function(A){var n,r,a,s=PCCViewer.Deferred(),o=s.getPromise(),c=g.extend({},{method:\\\"GET\\\",url:null,headers:{},body:null,timeout:null,mimeType:null,cache:!1,responseType:\\\"text\\\"},A);if(c.headers=g.extend({},e._eo,c.headers),\\\"function\\\"==typeof e._yq&&\\\"object\\\"===t(n=e._yq(c))&&\\\"function\\\"==typeof n.then)return n.then((function(e){s.resolve(e)}),(function(e){s.reject(e)})),o;if(c.cache&&g._NI.contains(c.url)){var h,l=g._NI.get(c.url),u={};u={status:l.status,headers:i(l.getAllResponseHeaders())};try{u.responseText=l.responseText}catch(e){}return void 0!==l.responseBody&&(u.responseBody=l.responseBody),h=new g._pq(u),l.status>=200&&l.status<300||304===status?s.resolve(h):s.reject({response:h,error:new PCCViewer.Error(\\\"Error\\\",\\\"An AJAX problem occurred: \\\"+l.status+\\\" \\\"+l.statusText)}),o}try{(r=new XMLHttpRequest).responseType=c.responseType}catch(e){s.reject(new PCCViewer.Error(\\\"Error\\\",e.message))}if(r){r.open(c.method,c.url,!0),c.timeout&&(a=window.setTimeout((function(){r.abort(),s.reject({error:new PCCViewer.Error(\\\"Error\\\",\\\"Request timed out\\\")})}),c.timeout));var d=function(){var e,t={};if(r.readyState===IPCC.XMLHttpRequestReadyState.Done){if(a&&window.clearTimeout(a),t={status:r.status,headers:i(r.getAllResponseHeaders())},\\\"arraybuffer\\\"===c.responseType)t.responseText=r.response;else{try{t.responseText=r.responseText}catch(e){}void 0!==r.responseBody&&(t.responseBody=r.responseBody)}e=new g._pq(t),r.status>=200&&r.status<300||304===status?s.resolve(e):s.reject({response:e,error:new PCCViewer.Error(\\\"Error\\\",\\\"An AJAX problem occurred: \\\"+r.status+\\\" \\\"+r.statusText)})}};r.onreadystatechange=d;var I=g.extend({},c.headers,g._wq());for(var C in I)I.hasOwnProperty(C)&&r.setRequestHeader(C,I[C].toString());\\\"string\\\"==typeof c.mimeType&&\\\"function\\\"==typeof r.overrideMimeType&&r.overrideMimeType(c.mimeType),c.cache&&g._NI.cacheResponse(c.url,r,d),r.send(c.body)}return o},e}(),g._ZJ=function(e,t,i){var A,n=[],r=null,a=null,s=function(e,t){return!!t&&(Math.abs(e.y-t.y)<1&&Math.abs(e.height-t.height)<1&&e.x+e.width>=t.x+t.width)};for(A=t;A3)return s;if(o.width=r._az?s:(r._az=u,g._pK(e,t,i,A,n,r,a+1))},g._dr=function(e,t,i){return i=i||{},document.createElementNS?g._tK(e,t,i):g._uK(e,t,i)},g._tK=function(e,t,i){var A,n=!1;i._Mq?A=i._Mq:((A=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"svg\\\")).setAttribute(\\\"style\\\",\\\"border: 1px solid black\\\"),A.setAttribute(\\\"width\\\",\\\"600\\\"),A.setAttribute(\\\"height\\\",\\\"600\\\"),n=!0,document.body.appendChild(A));var r=i._az||\\\"12px\\\";\\\"number\\\"==typeof r&&(r+=\\\"px\\\");var a=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"text\\\");g.forEach({x:0,y:0,\\\"font-size\\\":r,stroke:\\\"none\\\",fill:\\\"#000000\\\",\\\"font-family\\\":t},(function(e,t){a.setAttribute(t,e)})),i._xK&&a.setAttribute(\\\"style\\\",\\\"white-space:\\\"+i._xK);var s=document.createTextNode(e);a.appendChild(s),A.appendChild(a);var o=a.getBBox(),c=o.width,h=o.height;return A.removeChild(a),n&&document.body.removeChild(A),0===c&&0===h&&\\\"M\\\"!==e?g._dr(\\\"M\\\",t,i):{width:c,height:h}},g._uK=function(e,t,i){var A=document.createTextNode(e),n=document.createElement(\\\"div\\\"),r=i._az||\\\"12px\\\";\\\"number\\\"==typeof r&&(r+=\\\"px\\\"),g.forEach({position:\\\"absolute\\\",display:\\\"inline-block\\\",top:0,left:0,visibility:\\\"hidden\\\",fontSize:r,fontFamily:t},(function(e,t){n.style[t]=e})),i._xK&&(n.style.whiteSpace=i._xK),n.appendChild(A),document.body.appendChild(n);var a=n.getBoundingClientRect(),s=a.width||a.right-a.left,o=a.height||a.bottom-a.top;return document.body.removeChild(n),0===s&&0===o&&\\\"M\\\"!==e?g._uK(\\\"M\\\",t,r):{width:s,height:o}},g._Zq=function(e){var t=/[\\\\s,]*(M)[\\\\s,]*([\\\\d\\\\.]+)[\\\\s,]+([\\\\d\\\\.]+)|[\\\\s,]*(C)[\\\\s,]?([\\\\d\\\\.]+)[\\\\s,]+([\\\\d\\\\.]+)[\\\\s,]+([\\\\d\\\\.]+)[\\\\s,]+([\\\\d\\\\.]+)[\\\\s,]+([\\\\d\\\\.]+)[\\\\s,]+([\\\\d\\\\.]+)|[\\\\s,]*(L)[\\\\s,]*([\\\\d\\\\.]+)[\\\\s,]+([\\\\d\\\\.]+)/g,i=t.exec(e),A=[],n=[];function r(e,t){A.push(Number(e)),n.push(Number(t))}for(;null!==i;)i[1]?r(i[2],i[3]):i[4]?(r(i[5],i[6]),r(i[7],i[8]),r(i[9],i[10])):i[11]&&r(i[12],i[13]),i=t.exec(e);return{width:Math.max.apply(Math,A),height:Math.max.apply(Math,n)}},g._Nq={SVG:function(e){var t=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"svg\\\");return t.setAttribute(\\\"viewBox\\\",e),t},Path:function(e,t){var i=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\");return i.style.fill=\\\"none\\\",i.style.stroke=t.color||\\\"#000000\\\",i.style.strokeWidth=t.thickness||4,e&&i.setAttribute(\\\"d\\\",e.toString().trim()),i},Rect:function(e,t,i){var A=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\");return A.setAttribute(\\\"width\\\",e||0),A.setAttribute(\\\"height\\\",t||0),i&&A.setAttribute(\\\"style\\\",i),A}},g._Us=function(e){var t=/^(\\\\d{4}|\\\\+\\\\d{6})(?:-(\\\\d{2})(?:-(\\\\d{2})(?:T(\\\\d{2}):(\\\\d{2}):(\\\\d{2})(?:\\\\.(\\\\d{1,3}))?(?:Z|([\\\\-+])(\\\\d{2}):(\\\\d{2}))?)?)?)?$/.exec(e);return t?Date.UTC(t[1],(t[2]||1)-1,t[3]||1,t[4]-(t[8]?t[8]+t[9]:0)||0,t[5]-(t[8]?t[8]+t[10]:0)||0,t[6]||0,((t[7]||0)+\\\"00\\\").substr(0,3)):new Error(e+\\\" cannot be parsed as an ISO 8601 date.\\\")},g._ss=function(e){return e.toISOString&&\\\"function\\\"==typeof e.toISOString?e.toISOString():new Error(e+\\\" is not a Date object.\\\")},g._fz=function(e){return!!e&&(\\\"object\\\"===(\\\"undefined\\\"==typeof Node?\\\"undefined\\\":t(Node))?e instanceof Node:e&&\\\"object\\\"===t(e)&&\\\"number\\\"==typeof e.nodeType&&\\\"string\\\"==typeof e.nodeName)},g._FK=function(e){if(g._fz(e))for(;e.firstChild;)e.removeChild(e.firstChild)},g._GK=function(e,t){var i=e.length,A=0;e[A++]((function n(r){r?t(r):0==--i?t():setTimeout((function(){e[A++](n)}),0)}))},g._HK=function(e){(e=String(e).replace(/[^0-9a-f]/gi,\\\"\\\")).length<6&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);var t=function(e){return parseInt(e,16)};return{r:t(e.substring(0,2)),g:t(e.substring(2,4)),b:t(e.substring(4,6))}},g._JK=function(e){var t=\\\"\\\",i=function(e){return function(e){for(;e.length<2;)e=\\\"0\\\"+e;return e}(e.toString(16))};return t+=i(Math.floor(e.r)),t+=i(Math.floor(e.g)),\\\"#\\\"+(t+=i(Math.floor(e.b)))},g._NK=function(e,t,i){var A=i,n=g._HK(e),r=g._HK(t);return r.r=(1-A)*r.r+n.r*A,r.g=(1-A)*r.g+n.g*A,r.b=(1-A)*r.b+n.b*A,r.r=Math.floor(r.r),r.g=Math.floor(r.g),r.b=Math.floor(r.b),g._JK(r)},g._Kp=function(e,t){return g.reduceLeft(e,(function(e,t){void 0===t.opacity&&(t.opacity=127);var i=t.opacity/255;return g._NK(t.color,e,i)}),t)},g._Ip=function(e){if(0===e.length)return e;var t=e.slice(0);t.sort((function(e,t){return e.startIndex-t.startIndex}));for(var i=null,A=[],n=0,r=[],a=t[0].startIndex;t.length>0;){n=0,r=null,r=[];for(var s=0;s0){var o=g._Kp(r,\\\"#ffffff\\\");o===i?A[A.length-1].endIndex=a:A.push({startIndex:a,endIndex:a,color:o}),i=o,a++}else t.length>0&&(a=t[0].startIndex),i=null}return A},g._eL=function(e){return e.replace(/&/g,\\\"&\\\").replace(//g,\\\">\\\").replace(/\\\"/g,\\\""\\\").replace(/'/g,\\\"'\\\")},g._gL=function(e){return/^\\\\s*(file|data|javascript|[a-z]):.*$/i.test(e)},g._LK=function(e,t){for(var i=\\\"\\\"+e;i.length=12?null:new Date(Date.UTC(s,i,A,n,r,a))}return null},g._tL=function(e){return g._iL[e.getUTCDay()]+\\\" \\\"+g._jL[e.getUTCMonth()]+\\\" \\\"+e.getUTCDate()+\\\" \\\"+e.getUTCHours()+\\\":\\\"+e.getUTCMinutes()+\\\":\\\"+e.getUTCSeconds()+\\\" GMT+0000 \\\"+e.getUTCFullYear()},g._uL=function(e){return g._iL[e.getUTCDay()]+\\\" \\\"+g._jL[e.getUTCMonth()]+\\\" \\\"+e.getUTCDate()+\\\" \\\"+e.getUTCFullYear()},g._vL=function(e){return e.getUTCHours()+\\\":\\\"+e.getUTCMinutes()+\\\":\\\"+e.getUTCSeconds()+\\\" GMT+0000\\\"},g._wL=function(e){return e.replace(/[&<>\\\\\\\"\\\\']/g,(function(e){switch(e){case\\\"&\\\":return\\\"&\\\";case\\\"<\\\":return\\\"<\\\";case\\\">\\\":return\\\">\\\";case'\\\"':return\\\""\\\";case\\\"'\\\":return\\\"'\\\";default:throw new Error(\\\"Did not find a replacement character.\\\")}}))},g._xL=function(e){return e.replace(/&/g,\\\"&\\\").replace(/>/g,\\\">\\\").replace(/</g,\\\"<\\\").replace(/"/g,'\\\"').replace(/'/g,\\\"'\\\")},g._kJ=function(e){function t(e){this.message=e}return e=\\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\\",t.prototype=new Error,t.prototype.name=\\\"InvalidCharacterError\\\",{btoa:function(i){for(var A,n,r=String(i),a=0,s=e,o=\\\"\\\";r.charAt(0|a)||(s=\\\"=\\\",a%1);o+=s.charAt(63&A>>8-a%1*8)){if((n=r.charCodeAt(a+=3/4))>255)throw new t(\\\"'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.\\\");A=A<<8|n}return o},atob:function(i){var A=String(i).replace(/=+$/,\\\"\\\");if(A.length%4==1)throw new t(\\\"'atob' failed: The string to be decoded is not correctly encoded.\\\");for(var n,r,a=0,s=0,o=\\\"\\\";r=A.charAt(s++);~r&&(n=a%4?64*n+r:r,a++%4)?o+=String.fromCharCode(255&n>>(-2*a&6)):0)r=e.indexOf(r);return o}}}(),g._Rq=function(){var e=[\\\"down\\\",\\\"enter\\\",\\\"leave\\\",\\\"move\\\",\\\"out\\\",\\\"over\\\",\\\"up\\\"];if(window.navigator.pointerEnabled){var t={};return e.forEach((function(e){t[e]=\\\"pointer\\\"+e})),t}if(window.navigator.msPointerEnabled){for(var i={},A=0;A0?Math.min(a,t):a;return e.style.fontSize=s+\\\"px\\\",s},g._OG=function(e,t,i,A){return e(t,i)!==i?\\\"number\\\"==typeof A?A:i:t},g._fl=function(e,t,i){return g._OG(Math.min,e,t,i)},g._gl=function(e,t,i){return g._OG(Math.max,e,t,i)},g._bM=function(e,t,i){var A=document.createElement(\\\"div\\\");if(!IPCC._o._DL._LL)return e=(e=(e=e.replace(/href=\\\"#/g,'href=\\\"#'+i)).replace(/url\\\\(\\\"?#(.+?)\\\"?\\\\)/g,\\\"url(#\\\"+i+\\\"$1)\\\")).replace(/ id=\\\"/g,' id=\\\"'+i),A.innerHTML=e,A;A.innerHTML=e;var n=A.querySelectorAll(\\\"[id]\\\"),r=A.querySelectorAll(\\\"*\\\"),a=t.replace(/\\\"/g,\\\"\\\\\\\\$&\\\"),s=[\\\"href\\\",\\\"xlink:href\\\"],o=[\\\"fill\\\",\\\"filter\\\",\\\"clip-path\\\",\\\"mask\\\",\\\"marker-start\\\",\\\"marker-mid\\\",\\\"marker-end\\\"];return IPCC._o.forEach(n,(function(e){e.id=i+e.id})),IPCC._o.forEach(r,(function(e){if(IPCC._o.forEach(s,(function(A){e.hasAttribute(A)&&0===e.getAttribute(A).indexOf(\\\"#\\\")&&e.setAttribute(A,e.getAttribute(A).replace(\\\"#\\\",t+\\\"#\\\"+i))})),IPCC._o.forEach(o,(function(A){e.hasAttribute(A)&&e.getAttribute(A).match(/^url\\\\(\\\"?#/)&&e.setAttribute(A,e.getAttribute(A).replace(/^url\\\\(\\\"?#(.+?)\\\\\\\"?\\\\)$/,'url(\\\"'+t+\\\"#\\\"+i+'$1\\\")'))})),e.hasAttribute(\\\"style\\\")){var A=e.style.cssText;A=A.replace(/url\\\\(\\\"?#(.+?)\\\"?\\\\)/g,'url(\\\"'+a+\\\"#\\\"+i+'$1\\\")'),e.style.cssText=A}})),A},e.exports=g},4316:e=>{var t;e.exports={webfonts:function(e,i,A){void 0===t||A?function(e,t){var i,A,n,r,a,s=\\\"jctqxvjmncyjagibfltptfzhknc\\\",o=\\\"@font-face {font-family:\\\"+s+\\\";src:url(data:application/x-font-woff;charset=utf-8;base64,d09GRk9UVE8AAAQoAAkAAAAAA+QAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAC+AAAARkAAAEZ9R5YPk9TLzIAAAFEAAAAYAAAAGBKDUcOY21hcAAAAqwAAAAsAAAALAAMAFZoZWFkAAAA4AAAADYAAAA2+UdJt2hoZWEAAAEYAAAAJAAAACQIOgMbaG10eAAABBQAAAAUAAAAFAhtAW5tYXhwAAABPAAAAAYAAAAGAAVQAG5hbWUAAAGkAAABBQAAAQVCmPyecG9zdAAAAtgAAAAgAAAAIAADAAAAAQAAAAEAAM9NZw1fDzz1AAAD6AAAAADLUgMfAAAAAMtSAx8Ac//5AxwCmwAAAAgAAgAAAAAAAAABAAACm//5Ag4DHABzAAADHAABAAAAAAAAAAAAAAAAAAAABQAAUAAABQAAAAQCzwGQAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEFDQ1UAQAAfACMCm//5AkACmwAHAAAAAQAAAAAAAAAAAAAAIAAAAAAABgBOAAEAAAAAAAEAGwAAAAEAAAAAAAIABwBRAAEAAAAAAAYAGwBmAAMAAQQJAAEANgAbAAMAAQQJAAIADgBYAAMAAQQJAAYANgCBamN0cXh2am1uY3lqYWdpYmZsdHB0Znpoa25jAGoAYwB0AHEAeAB2AGoAbQBuAGMAeQBqAGEAZwBpAGIAZgBsAHQAcAB0AGYAegBoAGsAbgBjUmVndWxhcgBSAGUAZwB1AGwAYQByamN0cXh2am1uY3lqYWdpYmZsdHB0Znpoa25jAGoAYwB0AHEAeAB2AGoAbQBuAGMAeQBqAGEAZwBpAGIAZgBsAHQAcAB0AGYAegBoAGsAbgBjAAAAAAAAAQADAAEAAAAMAAQAIAAAAAQABAABAAAAI///AAAAIP///+EAAQAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEABAQAAQEBHGpjdHF4dmptbmN5amFnaWJmbHRwdGZ6aGtuYwABAQEq+Bv4HIsMHvgdAvgdA/cHhPmw+S8FiwwfkAwi95sMJPc5DCX3NA/3QREABAEBBg8qRUFkb2JlSWRlbnRpdHkwamN0cXh2am1uY3lqYWdpYmZsdHB0Znpoa25jamN0cXh2am1uY3lqYWdpYmZsdHB0Znpoa25jAAACAAEAAwMAAQAAAAAFAAUBAQIDFDNSDg7Q9xX5JxX5J4uL/Sf9J4sFDtj3LvkOFYv89fj1i4v49QWs/RUV/TaLi/k2+TaLBQ77JvcHixWL+NH4XouL/NEF/FCZFfhCi4v4tfxCiwUOAAEBAQn4HgwmkPeoEosU+WMVAAAAAAAAAAAAAAADFACBAxwAegI9AHM=)}\\\";function c(){(i=document.createElement(\\\"style\\\")).innerText=o,e.appendChild(i),(A=document.createElement(\\\"div\\\")).style.cssText=\\\"position: absolute;width: 100%;top:-9999px;left: -9999px;visibility: hidden;pointer-events: none;\\\",r=l(A,\\\"monospace\\\"),a=l(A,\\\"arial\\\"),e.appendChild(A)}function g(){clearInterval(n),e.removeChild(A),e.removeChild(i)}function h(e){var t=Date.now(),i=500;n=setInterval((function(){var A=r.offsetWidth===a.offsetWidth;(A||Date.now()-t>i)&&e(A)}),25)}function l(e,t){var i=\\\"!!\\\",A=document.createElement(\\\"div\\\"),n=document.createElement(\\\"span\\\");return n.style.cssText=\\\"font-size: 30px; font-weight: normal; font-style: normal; letter-spacing: 0px; white-space: nowrap;\\\",n.innerText=i,n.style.fontFamily=s+\\\", \\\"+t,A.appendChild(n),e.appendChild(A),n}c(),h((function(e){g(),t(e)}))}(e,(function(e){t=e,i(e)})):setTimeout(i.bind(null,t),0)}}},3316:(e,t,i)=>{var A=i(5960);A.registerNamespace(\\\"IPCC\\\"),e.exports={detect:i(4316),Pagecounter:1,_b:!0,_c:null,initializePageViewPlugin:i(8040),initializePageListPlugin:i(8379),_d:i(2513),_e:i(5323),_f:i(4597),_g:i(3552),_h:i(949),_i:i(6534),_j:i(167),_k:i(633),_l:i(4392),_m:i(5968),_n:i(3701),PageLayout:i(8452),ViewMode:i(7367),FitType:i(2057),XMLHttpRequestReadyState:i(868),ScaleTrigger:i(2018),PageEventArgs:i(7469),ExceptionEventArgs:i(3180),OpenPageEventArgs:i(1857),PageList:i(9943),Web:i(9391),Type:A,_o:i(6e3),_p:i(1474),_q:i(2151),_r:i(6660),_s:i(3071),_t:i(6946),_u:i(4183),_v:i(8179),_w:i(3509),_x:i(8357),_y:i(4423),_z:i(7766),_A:i(2169),_B:i(5786),_C:i(4037),_D:i(8964),_E:i(5779),_F:i(345),_G:i(1575),_H:i(1611),_I:i(7092),_J:i(9034),_K:i(3317),_L:i(8686),_M:i(512),_N:i(813),_O:i(897),_P:i(2332)}},512:e=>{function t(e){return t=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},t(e)}var i=function e(i,A,n,r,a,s){IPCC._L.call(this,0,0,0,0),this.width=n,this.height=r,this._Pf=a,this._Nf=s,this._Zl=A||0,this._so=0,this._Ij=!0,this._zu={},this._Au=!1,this._Bu=!1;var o=this;function c(e,t){if(t._Ku())return o._Ij=!0,void(o._Au=!1);for(var i=e.split(\\\",\\\"),A=!1,n=0;n=1e3?h.substring(0,1e3):h.substring(0,h.length),e)}else c=JSON.parse(e.responseText),s(c,e)}catch(e){if(r&&(r=!1,n<1))return void setTimeout(g,10);throw a=\\\"Attributes parsing error, Error message = \\\"+e.message,new IPCC.Web.UI.ImGearArgumentException(null,a)}}function l(e){try{var t,A,a,s;if(!e.response)throw new IPCC.Web.UI.ImGearHttpException(e.response.status,\\\"Client timed out on load\\\");if(403===e.response.status)throw n++,t=e.response.statusText&&\\\"\\\"!==e.response.statusText?\\\"Expired viewer session ID, error message from the server: \\\"+e.response.statusText:\\\"Expired viewer session ID. No error text message was received from the server:\\\",new IPCC.Web.UI.ImGearHttpException(e.response.status,t);if(r&&(r=!1,n<1))return void setTimeout(g,10);if(a=e.response.getResponseHeader(\\\"Accusoft-Status-Message\\\"))throw A=e.response.getResponseHeader(\\\"Accusoft-Status-Number\\\"),IPCC.Web._zv(A)&&(s=parseInt(A,10)),new IPCC.Web.UI.ImGearHttpException(e.response.status,a,s);throw t=e.response.statusText&&\\\"\\\"!==e.response.statusText?\\\"Error message from the service: \\\"+e.response.statusText:\\\"HTTP Error was received from the image server but the server did not provide any error description.\\\",new IPCC.Web.UI.ImGearHttpException(e.response.status,t)}catch(e){if(r&&(r=!1,n<1))return void setTimeout(g,10);if(i._bv(\\\"openPage\\\",e),\\\"function\\\"==typeof i._Rd){var o=new IPCC.Web.UI.ImGearPageOpenFailedEventArgs;o.exception=e,o.documentPageIndex=i._Zl,i._Rd(\\\"pageOpenFailed\\\",o)}}}var u,d=IPCC.Web._Av._Bv(4,IPCC.Web._Cv()),I=IPCC.Web._kv._Ev._uv(d),C={method:\\\"GET\\\",cache:!0};r?(!0===i._iv()?(d=IPCC.Web._Av._Fv(4,IPCC.Web._Cv()),I=IPCC.Web._kv._Ev._uv(d),u=this.get_url(e,\\\"SvgImage\\\",\\\"Scale=1&ContentType=\\\"+IPCC._o._wl+\\\"&iv=\\\"+I)):u=this.get_url(e,\\\"SvgImage\\\",\\\"Scale=1&ContentType=\\\"+IPCC._o._wl),C.url=u):(C.url=this.get_url(e,\\\"Attributes\\\"),C.headers={\\\"Content-Type\\\":\\\"application/json\\\"});IPCC._o._tq._xn(C).then(h,l)},this._Gv=function(e,i,A){var n=this,r=this._Zl;i._Hv().then((function(e){return e._cm(r)})).then((function(e){var r=e._Jv();n.width=r._of,n.height=r._pf,n._Pf=r._Kv,n._Nf=r._Kv,n._Au=!0,n._Bu=!0,n._Ij=!1,i&&(t(\\\"function\\\"===i._Nu)&&i._Nu(n._Au),t(\\\"function\\\"===i._Ou)&&i._Ou(n._Bu)),A&&A()})).catch((function(e){if(i._bv(\\\"openPage\\\",e),\\\"function\\\"==typeof i._Rd){var t=new IPCC.Web.UI.ImGearPageOpenFailedEventArgs;t.exception=e,t.documentPageIndex=r,i._Rd(\\\"pageOpenFailed\\\",t)}}))},this._Lv=function(e,t,i){t._Zl=this._Zl;var A=!0;0===t._Vu()&&(A=!1);var n={method:\\\"GET\\\",url:this.get_url(e,\\\"Attributes\\\"),headers:{\\\"Content-Type\\\":\\\"application/json\\\"}};!0===A&&(n.timeout=t._Vu()),IPCC._o._tq._xn(n).then((function(e){try{var A;if(200===e.status){null;try{(function(e,A){try{if(null===e)throw new IPCC.Web.UI.ImGearArgumentException(null,\\\"Unable to load the specified image. Failed to obtain Image attributes. Returned JSON from the server is null\\\");o.width=+e.imageWidth,o.height=+e.imageHeight,o._Pf=+e.imageXResolution,o._Pf<=0&&(o._Pf=72),o._Nf=+e.imageYResolution,o._Nf<=0&&(o._Nf=72),o._so=+e.pageCount,o._Ij=!0;var n=A.getResponseHeader(\\\"Accusoft-Data-Encrypted\\\"),r=!1;\\\"true\\\"===n&&(r=!0),t._av(r),i&&i()}catch(e){if(t._bv(\\\"openPage\\\",e),\\\"function\\\"==typeof t._Rd){var a=new IPCC.Web.UI.ImGearPageOpenFailedEventArgs;a.exception=e,a.documentPageIndex=t._Zl,t._Rd(\\\"pageOpenFailed\\\",a)}}})(JSON.parse(e.responseText),e)}catch(e){throw A=\\\"Attributes parsing error, Error meesage = \\\"+e.message,new IPCC.Web.UI.ImGearArgumentException(null,A)}}}catch(e){if(t._bv(\\\"openPageForRaster\\\",e),\\\"function\\\"==typeof t._Rd){var n=new IPCC.Web.UI.ImGearPageOpenFailedEventArgs;n.exception=e,n.documentPageIndex=t._Zl,t._Rd(\\\"pageOpenFailed\\\",n)}}}),(function(e){try{var i,A,n,r,a=e.response.status;if(!e.response)throw new IPCC.Web.UI.ImGearHttpException(a,\\\"Client timed out on load\\\");if(403===a)throw i=e.response.statusText&&\\\"\\\"!==e.response.statusText?\\\"Expired viewer session ID, error message from the server: \\\"+e.response.statusText:\\\"Expired viewer session ID. No error text message was received from the server:\\\",new IPCC.Web.UI.ImGearHttpException(a,i);if(A=e.response.getResponseHeader(\\\"Accusoft-Status-Message\\\"))throw n=e.response.getResponseHeader(\\\"Accusoft-Status-Number\\\"),IPCC.Web._zv(n)&&(r=parseInt(n,10)),new IPCC.Web.UI.ImGearHttpException(a,A,r);throw i=e.response.statusText&&\\\"\\\"!==e.response.statusText?\\\"Error message from the service: \\\"+e.response.statusText:\\\"HTTP Error was received from the image server but the server did not provide any error description.\\\",new IPCC.Web.UI.ImGearHttpException(a,i)}catch(e){if(t._bv(\\\"openPageForRaster\\\",e),\\\"function\\\"==typeof t._Rd){var s=new IPCC.Web.UI.ImGearPageOpenFailedEventArgs;s.exception=e,s.documentPageIndex=t._Zl,t._Rd(\\\"pageOpenFailed\\\",s)}}}))},this};i.prototype.clone=function(){var e=new i(this.get_encodedIdentifier(),this._Zl,this.width,this.height,this._Pf,this._Nf);return e._so=this._so,e._Ij=this._Ij,e},i.prototype.equals=function(e){return this.get_encodedIdentifier()===e.get_encodedIdentifier()&&this._Zl===e._Zl},i.prototype._If=8,i.prototype._Jf=1e-6,i._Pv=function(e){var t,A=e.referenceDocumentIdentifier,n=i._Sv(A),r=e.encodedDocumentIdentifier,a=e.documentIdentifier;if(\\\"\\\"===r&&(r=void 0),\\\"\\\"===a&&(a=void 0),A&&\\\"\\\"!==A&&(r===n&&(r=void 0),a===A&&(a=void 0)),a)if(t=IPCC._M._Sv(a),r){if(r!==t)throw new IPCC.Web.UI.ImGearArgumentException(\\\"documentIdentifier\\\",\\\"When both are specified, documentIdentifier and encodedDocumentIdentifier must reference the same document (and encodedDocumentIdentifier must be base64-encoded).\\\")}else r=t;else r&&(a=IPCC._M._Fu(r));r||(a=A,r=n);var s=e.documentPageIndex,o=e.referenceDocumentPageIndex;s===o&&(s=void 0),0===s||s||(s=o),e.encodedDocumentIdentifier=r,e.documentIdentifier=a,e.documentPageIndex=s},i._Sv=function(e){if(!e||\\\"\\\"===e)return\\\"\\\";var t,i=[];for(t=0;ta;)r.pop();return r.length%4==3?r.push(\\\"1\\\"):r.length%4==2?r.push(\\\"2\\\"):r.length%4==0&&r.push(\\\"0\\\"),r.join(\\\"\\\")},i._Fu=function(e){if(!e||\\\"\\\"===e)return\\\"\\\";var t,i,A,n=e.length-1,r=[],a=[],s=[];for(A=0;A64&&i<91)s.push(i-65);else if(i>96&&i<123)s.push(i-97+26);else if(i>47&&i<58)s.push(i-48+52);else if(45===i)s.push(62);else{if(95!==i)return\\\"\\\";s.push(63)}for(s.push(0),s.push(0),s.push(0),A=0;Ao;)r.pop();return r.join(\\\"\\\")},e.exports=i},813:e=>{var t=function(){return this._bi=[],this.parentElementID=\\\"\\\",this.lockTile=function(e){var t,A,n,r;if(!this._gi(e)){for(n=0,A=this._bi.length-1;A>=0;A--)this._bi[A].locked||(n++,r=A);n>4&&(t=this._bi[r],this.uiDirector._hi(t),this._bi.splice(r,1)),(t=new i).pool=this,this.uiDirector._ji(t),this._bi.push(t),t.locked=!0,t.tile=e,e.poolItem=t}},this._gi=function(e){var t,i;if(this.locked)return!0;for(i=0;i{var t=function(){return this._xk=[],this};t.prototype._yk=function(e,t){var i,A,n,r,a,s,o=e._Hf(),c=1,g=[],h=[],l=[];for(n=this._xk.length,i=0;io){n=i;break}(A=n-1)<0&&(A=0),n>=this._xk.length&&(n=this._xk.length-1),A!==n&&(r=(o-this._xk[A]._Vh)/(this._xk[n]._Vh-this._xk[A]._Vh),(c=1*r)>=.15&&(c=1,A=n),c<=.15&&(c=1,n=A)),h=this._xk[A]._qi(t),l=this._xk[n]._qi(t);var u=function(e){var t;for(t=0;t0&&A===n&&this._xk[n].tiles.length>1&&(A=n-1,h=this._xk[A]._qi(t)),u(h),(g=d(h)).length>0){for(a=A-1;a>=0&&(u(s=this._xk[a]._qi(t)),!(d(s).length<1));a--);a<0?h=I(h):(A=a,h=s,c=1)}else u(l),g=d(l);return u(l),l=I(l),g.length>3&&g.splice(3,g.length-3),{opaqueTiles:h,translucentTiles:l,opacity:c,tilesToRequest:g,toString:function(){var t;function i(e){var t,i,A=\\\"\\\";if(e.length<1)return\\\"\\\";for(A+=\\\"level \\\"+(i=e[0].level).id.toString()+\\\" - \\\",t=0;t0&&(A+=\\\", \\\"),A+=\\\"(\\\"+(e[t].x/i._oi).toString()+\\\",\\\"+(e[t].y/i._pi).toString()+\\\")\\\",e[t].get_isLockedAndLoaded()&&(A+=\\\"*\\\");return A}return t=\\\"tilesToRequest: \\\"+i(g)+\\\"
\\\",t+=\\\"opaqueTiles: \\\"+i(h)+\\\"
\\\",t+=\\\"translucentTiles: \\\"+i(l)+\\\"
\\\",t+=\\\"opacity: \\\"+c.toString()+\\\"
\\\",t+=\\\"_targetScaleFactor: \\\"+o.toString()+\\\"
\\\",t+=\\\"_matrix: \\\"+e.toString()+\\\"
\\\"},_Pk:o,_Zf:e.toString()}},t.prototype._Qk=function(e){var t,i,A,n,r=[],a=[];for(t=0;t=0;t--){var o=r[t];for(i=0;i0&&(A+=\\\", \\\"),A+=\\\"(\\\"+i.tiles[t].x.toString()+\\\", \\\"+i.tiles[t].y.toString()+\\\")\\\";A+=\\\"\\\\n\\\"}return A},t.prototype.expandTile=function(e,t,i,A,n,r){return e.x=IPCC._o._fl(t-e._xi,0,t,t-e._xi),e.y=IPCC._o._fl(i-e._yi,0,i,i-e._yi),e._of=IPCC._o._gl(A+2*e._xi,r.width,A),e._pf=IPCC._o._gl(n+2*e._yi,r.height,n),e.x+e._of>r.width&&(e.x=e.x-e._xi,e._of=r.width-e.x,e._xi=0),e.y+e._pf>r.height&&(e.y=e.y-e._yi,e._yi=0,e._pf=r.height-e.y),e},t.prototype.createPyramid=function(e,t){var i,A,n,r,a,s,o,c,g,h=1024,l=t._Af(),u=l.width*l.height*3;if(this._xk=[],l._Ij)for(i=u*(n=1)*n;this._xk.length<2||i>5e3;)(A=new IPCC._O)._Vh=n,this._xk.unshift(A),i=u*(n*=.5)*n;else{!0===t._rl()&&(u=l.width*l.height);var d=(n=Math.sqrt(5e3/u))*l._Pf;if(i=u*(n=Math.ceil(d)/l._Pf)*n,!1===t._rl())for(;i<471859200;)(A=new IPCC._O)._Vh=n,this._xk.push(A),i=u*(n/=.5)*n;else(A=new IPCC._O)._Vh=1,this._xk.push(A)}for(l._If=8*this._xk[this._xk.length-1]._Vh,r=0;r2&&r>this._xk.length-2&&(A._oi=Math.min(512,A.width),A._pi=Math.min(512,A.height)),i>6e6&&(A._oi=Math.min(h,A.width),A._pi=Math.min(h,A.height)),A.tiles=[],c=A._oi,a=0;aA.width&&(c=A.width-a),g=A._pi,s=0;sA.height&&(g=A.height-s),(o=new IPCC._P).level=A,!1===t._rl()){var I=\\\"jpeg\\\";A._tl>=100&&(I=\\\"png\\\"),o.contentType=I,o._yi=2,o._xi=2,(o=this.expandTile(o,a,s,c,g,A))._of!==A.width||o._pf!==A.height?o.url=t._vl(\\\"Tile/\\\"+o.x.toString()+\\\"/\\\"+o.y.toString()+\\\"/\\\"+o._of.toString()+\\\"/\\\"+o._pf.toString(),\\\"Scale=\\\"+A._Vh.toString()+\\\"&Quality=\\\"+A._tl+\\\"&ContentType=\\\"+I):o.url=t._vl(\\\"\\\",\\\"Scale=\\\"+A._Vh.toString()+\\\"&Quality=\\\"+A._tl+\\\"&ContentType=\\\"+I)}else o.url=t._vl(\\\"\\\",\\\"Scale=\\\"+A._Vh.toString()+\\\"&ContentType=\\\"+IPCC._o._wl),o._xl=e._yl();o.right=o.x+o._of,o.bottom=o.y+o._pf,A.tiles.push(o)}},e.exports=t},7092:e=>{var t=function(){this._bd=!1,this._cd=!1};t.prototype._dd=function(e){this._cd=e},t.prototype._ed=function(){this._cd=!1},t.prototype._fd=function(){this._bd&&(this._cd._gd().hideMagnifier(),this._bd=!1)},t.prototype._id=function(){this._fd()},t.prototype._jd=function(e){this._fd(),0===e.domEvent.button&&(this._bd=!0,this._cd._gd().showMagnifier(e.windowPoint),this._cd._rd())},t.prototype._sd=function(e){0!==e.domEvent.button&&this._fd(),this._bd&&(this._cd._gd().showMagnifier(e.windowPoint),this._cd._rd())},t.prototype._wd=function(){this._fd(),this._cd._rd()},t.prototype._Sd=function(e){var t=this._cd._Ud();(e.windowPoint.x<=0||e.windowPoint.x>=t.width-2)&&this._fd(),(e.windowPoint.y<=0||e.windowPoint.y>=t.height-2)&&this._fd()},e.exports=t},6660:e=>{var t=function(e,t,i,A,n,r){return 0===arguments.length&&(e=A=1,t=i=n=r=0),this._hj=function(){return e*A-t*i},this._ij=function(){return 1===e&&0===t&&0===i&&1===A&&0===n&&0===r},this._jj=function(){return e},this._kj=function(){return t},this._lj=function(){return i},this._mj=function(){return A},this._nj=function(){return n},this._oj=function(){return r},this.append=function(a){var s=e*a._jj()+t*a._lj(),o=e*a._kj()+t*a._mj(),c=i*a._jj()+A*a._lj(),g=i*a._kj()+A*a._mj(),h=n*a._jj()+r*a._lj()+a._nj(),l=n*a._kj()+r*a._mj()+a._oj();e=s,t=o,i=c,A=g,n=h,r=l},this.equals=function(a){return e===a._jj()&&(t===a._kj()&&(i===a._lj()&&(A===a._mj()&&(n===a._nj()&&r===a._oj()))))},this._Bh=function(){if(!this._Mg())throw new IPCC.Web.UI.ImGearArgumentException(null,\\\"Matrix has no inverse\\\");var a=this._hj(),s=e/a,o=(i*r-A*n)/a,c=(t*n-e*r)/a;e=A/a,t=-t/a,i=-i/a,A=s,n=o,r=c},this._wj=function(a){var s=a._jj()*e+a._kj()*i,o=a._jj()*t+a._kj()*A,c=a._lj()*e+a._mj()*i,g=a._lj()*t+a._mj()*A,h=a._nj()*e+a._oj()*i+n,l=a._nj()*t+a._oj()*A+r;e=s,t=o,i=c,A=g,n=h,r=l},this._Kf=function(e,t,i,A){n-=i,r-=A,this.scale(e,t),n+=i,r+=A},this._yg=function(){e=A=1,t=i=n=r=0},this.transform=function(a){var s=a.x*e+a.y*i+n,o=a.y*A+a.x*t+r;return new IPCC.Web.UI.Point(s,o)},this._Mf=function(e,t){n+=e,r+=t},this._Lg=function(a){return!(Math.abs(e-a._jj())>1e-8)&&(!(Math.abs(t-a._kj())>1e-8)&&(!(Math.abs(i-a._lj())>1e-8)&&(!(Math.abs(A-a._mj())>1e-8)&&(!(Math.abs(n-a._nj())>1e-8)&&!(Math.abs(r-a._oj())>1e-8)))))},this.toString=function(){return\\\"{\\\"+e.toFixed(6)+\\\", \\\"+t.toFixed(6)+\\\", \\\"+i.toFixed(6)+\\\", \\\"+A.toFixed(6)+\\\", \\\"+n.toFixed(3)+\\\", \\\"+r.toFixed(3)+\\\"}\\\"},this.parse=function(){},this.clone=function(){return new IPCC._r(e,t,i,A,n,r)},this._zg=function(a){e=a._jj(),t=a._kj(),i=a._lj(),A=a._mj(),n=a._nj(),r=a._oj()},this._Dj=function(a,s){e=1,A=s._Nf*a._Pf/(a._Nf*s._Pf),t=i=n=r=0},this._ai=function(e,t,i){switch(e){case IPCC.Web.UI.FitType.FullImage:this._Ej(t,i);break;case IPCC.Web.UI.FitType.FullWidth:this._Fj(t,i);break;case IPCC.Web.UI.FitType.FullHeight:this._Gj(t,i);break;case IPCC.Web.UI.FitType.ActualSize:this._Hj(t,i);break;case IPCC.Web.UI.FitType.OneToOne:t._Ij?this._Jj(t,i):this._Hj(t,i)}},this._Fj=function(e,t){var i=this._Lj(e),A=t.width-2;A<1&&(A=1);var n=A/i.width;this.scale(n,n),(i=this._Lj(e)).y<0&&this._Mf(0,-i.y)},this._Gj=function(e,t){var i=this._Lj(e),A=t.height-2;A<1&&(A=1);var n=A/i.height;this.scale(n,n),(i=this._Lj(e)).x<0&&this._Mf(-i.x,0)},this._Ej=function(i,A){var n=this.clone();n._Fj(i,A),this._Gj(i,A),Math.max(Math.abs(e),Math.abs(t))>Math.max(Math.abs(n._jj()),Math.abs(n._kj()))&&this._zg(n)},this._Hj=function(e,t){var i=this._Lj({x:0,y:0,width:e._Pf,height:e._Nf}),A=t._Pf/i.width;this.scale(A,A)},this._Jj=function(t,i){var n=this._Lj({x:0,y:0,width:1,height:1}),r=1/Math.min(n.width,n.height);this.scale(r,r),Math.abs(e-1)<1e-4&&(e=1),Math.abs(A-1)<1e-4&&(A=1)},this};t.prototype._Mg=function(){return Math.abs(this._hj())>1e-14},t.prototype.rotate=function(e){this._Pj(e,0,0)},t.prototype._Pj=function(e,t,i){var A=e*Math.PI*2/360,n=Math.sin(A),r=Math.cos(A),a=new IPCC._r(r,n,-n,r,t*(1-r)+i*n,i*(1-r)-t*n);this.append(a)},t.prototype._Tj=function(e,t,i){var A=e*Math.PI*2/360,n=Math.sin(A),r=Math.cos(A),a=new IPCC._r(r,n,-n,r,t*(1-r)+i*n,i*(1-r)-t*n);this._wj(a)},t.prototype._Uj=function(e){this._Tj(e,0,0)},t.prototype.scale=function(e,t){var i=new IPCC._r(e,0,0,t,0,0);this.append(i)},t.prototype._Vj=function(e,t,i,A){var n=new IPCC._r(e,0,0,t,i*(1-e),A*(1-t));this._wj(n)},t.prototype._Wj=function(e,t){var i=new IPCC._r(e,0,0,t,0,0);this._wj(i)},t.prototype.skew=function(e,t){var i=new IPCC._r(1,Math.tan(t*Math.PI*2/360),Math.tan(e*Math.PI*2/360),1,0,0);this.append(i)},t.prototype._Zj=function(e,t){var i=new IPCC._r(1,Math.tan(t*Math.PI*2/360),Math.tan(e*Math.PI*2/360),1,0,0);this._wj(i)},t.prototype._ak=function(e,t){var i=new IPCC._r(1,0,0,1,e,t);this._wj(i)},t.prototype._bk=function(e){var t=this.transform({x:e.x,y:e.y}),i=t.x,A=t.x,n=t.y,r=t.y;return t=this.transform({x:e.x+e.width,y:e.y}),i=Math.min(i,t.x),A=Math.max(A,t.x),n=Math.min(n,t.y),r=Math.max(r,t.y),t=this.transform({x:e.x+e.width,y:e.y+e.height}),i=Math.min(i,t.x),A=Math.max(A,t.x),n=Math.min(n,t.y),r=Math.max(r,t.y),t=this.transform({x:e.x,y:e.y+e.height}),i=Math.min(i,t.x),A=Math.max(A,t.x),n=Math.min(n,t.y),r=Math.max(r,t.y),new IPCC.Web.UI.Rectangle(i,n,A-i,r-n)},t.prototype._ck=function(e,t,i){var A=this.clone();A._Bh();var n=A.transform({x:i.x+i.width/2,y:i.y+i.height/2}),r=Math.min(t.width/i.width,t.height/i.height);r-=1e-10;var a=this._Hf();a*r>e._If&&(r=e._If/a),a*r0&&(A=-r.x)),r.height0&&(n=-r.y)),this._Mf(A,n)},t.prototype._Lj=function(e){return this._bk({x:0,y:0,width:e.width,height:e.height})},t.prototype._pk=function(){var e,t,i,A;return e=this.transform({x:0,y:0}),t=this.transform({x:0,y:1}),i=this.transform({x:1,y:0}),(A=Math.atan2(t.y-e.y,t.x-e.x)-Math.atan2(i.y-e.y,i.x-e.x))>Math.PI&&(A-=2*Math.PI),A<-Math.PI&&(A+=2*Math.PI),A<0},t.prototype._uk=function(){var e,t,i;return e=this.transform({x:0,y:0}),t=this.transform({x:0,y:1}),(i=Math.atan2(t.y-e.y,t.x-e.x)-Math.PI/2)<0&&(i+=2*Math.PI),360*i/(2*Math.PI)},t.prototype._Hf=function(){var e,t,i,A,n;return t=this.transform({x:0,y:0}),e=(A=(i=this.transform({x:1,y:0})).x-t.x)*A+(n=i.y-t.y)*n,A=(i=this.transform({x:0,y:1})).x-t.x,n=i.y-t.y,Math.min(e,A*A+n*n),A=(i=this.transform({x:1,y:1})).x-t.x,n=i.y-t.y,Math.min(e,A*A+n*n),A=(i=this.transform({x:1,y:-1})).x-t.x,n=i.y-t.y,Math.min(e,A*A+n*n),Math.sqrt(e)},t._wk=function(){return new IPCC._r(1,0,0,1,0,0)},e.exports=t},3701:e=>{e.exports={_Bc:1,_Cc:2,_Dc:3,_Ec:4,_Fc:5,_Gc:6,_Hc:7,_Ic:8,_Jc:9,_Kc:10,_Lc:11,_Mc:12,_Nc:13,_Oc:14,_Pc:15,_Qc:16}},345:e=>{var t=function(){this._cd=!1,this._Cf=1.5};t.prototype._dd=function(e){this._cd=e},t.prototype._ed=function(){this._cd=!1},t.prototype._fd=function(){},t.prototype._Vd=function(e){var t=this._cd._gd(),i=this._cd._Af(),A=this._cd._Ud(),n=t._xf(),r=e.wheelDelta/120;if(e.domEvent.ctrlKey){e.domEvent.preventDefault();var a=(this._Cf-1)/2+1;r<0&&(a=1/a);var s=n._Hf();s*a>i._If&&(a=i._If/s),s*a.001||Math.abs(o.y-c.y)>.001)&&(e.domEvent.preventDefault(),this._cd._Rd(\\\"userModifiedViewState\\\",{}),t._Bf(n))}this._cd._rd()},e.exports=t},8357:e=>{var t=function(e){this._kh=e,this._lh=0,this._mh=1,this._nh=2,this._oh=3,this._ph=4,this._ne=this._lh,this._cd=!1,this._qh=0};t.prototype._dd=function(e){this._cd=e,this._ld=e._gd()},t.prototype._ed=function(){this._cd=!1},t.prototype._fd=function(){this._ne===this._nh&&this._cd._gd().hideMagnifier(),this._ne=this._lh},t.prototype._we=function(e){var t=e.domEvent.rawEvent;switch(this._ne){case this._lh:1===t.touches.length?this._rh(e):2===t.touches.length?this._sh(e):3===t.touches.length?this._th(e):this._fd();break;case this._mh:2===t.touches.length?this._sh(e):3===t.touches.length?this._th(e):this._fd();break;case this._ph:3!==t.touches.length&&this._fd();break;case this._nh:this._fd();break;case this._oh:3===t.touches.length?this._th(e):2!==t.touches.length&&this._fd()}},t.prototype._ze=function(e){switch(this._ne){case this._mh:this._qh++;break;case this._nh:this._uh(e);break;case this._oh:this._vh(e);break;case this._ph:this._wh(e)}},t.prototype._Ae=function(){this._fd()},t.prototype._Be=function(){this._fd()},t.prototype._rh=function(e){this._ne=this._mh,this._qh++;var t=this._qh,i=this;setTimeout((function(){i._ne===this._mh&&t===i._qh&&i._zh(e)}),1e3)},t.prototype._zh=function(e){this._cd._ye(\\\"_id\\\",e),this._uh(e),this._ne=this._nh},t.prototype._th=function(e){var t=e.domEvent.rawEvent;if(3===t.touches.length){var i=t.touches[0],A={x:i.screenX,y:i.screenY},n=this._ld._xf();n._Bh(),this._Ch=A,this._Dh=A,this._Eh=n.transform(A),this._ne=this._ph,this._Fh=this._ld._xf(),this._Gh=!0,this._Hh=!0}else this._fd()},t.prototype._wh=function(e){var t=e.domEvent.rawEvent;if(3===t.touches.length){var i=t.touches[0],A={x:i.screenX,y:i.screenY},n=Math.abs(A.x-this._Ch.x),r=Math.abs(A.y-this._Ch.y);n>35&&(this._Hh=!1),r>35&&(this._Gh=!1),this._Gh&&(A.y=this._Ch.y),this._Hh&&(A.x=this._Ch.x),this._Dh=A;var a=this._ld._xf(),s=this._cd._Ud(),o=this._cd._Af();a._yf(this._Eh,A),a._zf(o,s),this._ld._Bf(a)}else this._fd()},t.prototype._Kh=function(){},t.prototype._Lh=function(e){var t=e.domEvent.rawEvent;if(2!==t.touches.length)return this._fd(),{};var i=t.touches[0],A=t.touches[1],n=i.screenX-A.screenX,r=i.screenY-A.screenY;return{_Oh:Math.sqrt(n*n+r*r),_Ph:180*Math.atan2(n,r)/Math.PI,_Qh:{x:(i.screenX+A.screenX)/2,y:(i.screenY+A.screenY)/2}}},t.prototype._sh=function(e){this._ne=this._oh,this._Rh=this._Lh(e),this._Sh=this._Rh;var t=this._ld._xf();t._Bh(),this._Eh=t.transform(this._Sh._Qh),this._Th=this._Sh._Ph},t.prototype._uh=function(e){var t=e.domEvent.rawEvent.touches[0],i={x:t.screenX,y:t.screenY};this._ld.showMagnifier(i)},t.prototype._vh=function(e){var t=this._Lh(e),i=t._Oh/this._Sh._Oh,A=this._ld._xf(),n=this._cd._Ud(),r=this._cd._Af();A.scale(i,i);var a=this._Th-t._Ph,s=this._Th-t._Ph-360,o=this._Th-t._Ph+360;Math.abs(a)>Math.abs(s)&&(a=s),Math.abs(a)>Math.abs(o)&&(a=o),a<-40?(A.rotate(-90),this._Th=t._Ph):a>40&&(A.rotate(90),this._Th=t._Ph),A._yf(this._Eh,t._Qh),A._zf(r,n),this._ld._Bf(A),this._Sh=t},t.prototype._Zh=function(e){var t=this._ld._xf(),i=this._cd._Ud(),A=this._cd._Af();t._ai(IPCC.Web.UI.FitType.FullImage,A,i),t._zf(A,i),this._ld._Bf(t)},t.prototype._Vd=function(){this._fd()},e.exports=t},1857:(e,t,i)=>{var A=i(6e3).regClass,n=function(){return this};n.registerClass=A,n.prototype={},n.registerClass(\\\"IPCC.OpenPageEventArgs\\\"),e.exports=n},7469:(e,t,i)=>{var A=i(6e3).regClass,n=function(){return this};n.registerClass=A,n.prototype={},n.registerClass(\\\"IPCC.PageEventArgs\\\"),e.exports=n},4597:e=>{var t=function(e){this._Ka=e.page,this._La=0,this._Ma=0,this._Na=0,this._Oa=0;var t=new IPCC.Web.UI._Qa;return this._Ra=void 0,this._Sa=!1,this._Ta=!1,this._Ua=0,this._Va=void 0,this._Wa=!1,this._Xa=!1,this._Ya=!1,this._Za=0,this._ab=0,this._bb=!1,this._cb=!1,this._db=new IPCC.Web.UI.ArtPage,this._eb=new IPCC.Web.UI.ArtPage,this._fb=this._Ka.get_documentPageIndex(),this._gb=this._Ka._hb._ib+\\\"_\\\"+this._fb+\\\"__pViewId\\\",this._hb=this._Ka._hb,this._jb=function(e){var i=t.getHandler(\\\"propertyChanged\\\");i&&i(this,new IPCC._v(e))},this};t.prototype._mb=function(){return this._Ka&&this._Ka._nb()||this._La},t.prototype._ob=function(){return this._Ka&&this._Ka._pb()||this._Ma},t.prototype._qb=function(e){e=!!e,this._Ka&&(this._Ka._bb=e),this._bb=e},t.prototype._rb=function(){return this._Ka&&this._Ka._bb||this._bb},e.exports=t},8452:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={VerticalScrollDirection:0,HorizontalScrollDirection:1},n.registerEnum(\\\"IPCC.PageLayout\\\",!1),e.exports=n},9943:(e,t,i)=>{function A(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var A=Object.getOwnPropertySymbols(e);t&&(A=A.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,A)}return i}function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i=null==e?null:\\\"undefined\\\"!=typeof Symbol&&e[Symbol.iterator]||e[\\\"@@iterator\\\"];if(null==i)return;var A,n,r=[],a=!0,s=!1;try{for(i=i.call(e);!(a=(A=i.next()).done)&&(r.push(A.value),!t||r.length!==t);a=!0);}catch(e){s=!0,n=e}finally{try{a||null==i.return||i.return()}finally{if(s)throw n}}return r}(e,t)||function(e,t){if(!e)return;if(\\\"string\\\"==typeof e)return a(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);\\\"Object\\\"===i&&e.constructor&&(i=e.constructor.name);if(\\\"Map\\\"===i||\\\"Set\\\"===i)return Array.from(e);if(\\\"Arguments\\\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return a(e,t)}(e,t)||function(){throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,A=new Array(t);i=e}function Qe(e,t){s.addHandler(e,t)}function _e(e,t){s.removeHandler(e,t)}this._bv=function(e,t){if(Ee(IPCC.Web.UI.DebugErrorLevel.Production)){var i=e+\\\"() threw an exception (\\\"+t.name+'), \\\"'+t.message+'\\\"';i=i.replace(/\\\\n/g,\\\" \\\"),IPCC._m._Fb(i,IPCC.Web.UI.DebugItemCause.Exception,IPCC.Web.UI.DebugErrorLevel.Production,\\\"PageList\\\",this._cF().id);var A=new IPCC.ExceptionEventArgs;A.functionName=e,A.exception=t,this._Rd(\\\"exceptionThrown\\\",A)}},this._oha=function(e,t,i){if(Ee(IPCC.Web.UI.DebugErrorLevel.Development)){var A,n=e+\\\"(\\\";for(A=0;A0&&(n+=\\\", \\\"),n+=IPCC._m._wb(t[A],i||0);n+=\\\")\\\",this._rha(n,IPCC.Web.UI.DebugErrorLevel.Development)}},this._sha=function(e,t,i,A){if(Ee(IPCC.Web.UI.DebugErrorLevel.Development)){var n,r=e+\\\"(\\\";for(n=0;n0&&(r+=\\\", \\\"),r+=IPCC._m._wb(t[n],A||0);r+=\\\") = \\\",r+=IPCC._m._wb(i,1),this._rha(r,IPCC.Web.UI.DebugErrorLevel.Development)}},this._tha=function(e,t,i){if(Ee(IPCC.Web.UI.DebugErrorLevel.Detailed)){var A,n=e+\\\"(\\\";for(A=0;A0&&(n+=\\\", \\\"),n+=IPCC._m._wb(t[A],0);n+=\\\") = \\\",n+=IPCC._m._wb(i,1),this._rha(n,IPCC.Web.UI.DebugErrorLevel.Detailed)}},this._rha=function(e,t){IPCC._m._Fb(e,IPCC.Web.UI.DebugItemCause.FunctionCall,t,\\\"PageList\\\",this._cF().id)},this._Fb=function(e){IPCC._m._Fb(e,IPCC.Web.UI.DebugItemCause.Custom,IPCC.Web.UI.DebugErrorLevel.Production,\\\"PageList\\\",this._cF().id)},this._uha=function(){return Q},this._vha=function(e){var t=!!e;if(Q!==t){Q=t;var i=kt(),A=[];i&&(A=_t(i));var n=0;for(n=0;n0&&a>0){var l=r/a;l>s&&(s=l,A=a,n=r)}}if(s>0){var u=(g.offsetWidth-IPCC.Web._rG()-it()-(G+H+J+O))/(n*me/c[0]._Na),d=T;!0===Re(c[0]._Za)&&(T,d=F);var I=A/d*u,C=(g.clientHeight-(U+L+W+Y))/(d*me/c[0]._Oa),f=I;!0===i&&I>C&&(f=C),gt(f,!0,void 0,void 0,void 0,void 0,e,t)}},this._Tia=function(e,t,i){var A,n,r,a,s=0,o=0;for(o=0;o0&&a>0){var l=a/r;l>s&&(s=l,A=a,n=r)}}if(s>0){var u=(g.offsetHeight-IPCC.Web._rG()-(U+L+W+Y))/(A*me/c[0]._Oa),d=F;!0===Re(c[0]._Za)&&(d=T,F);var I=n/d*u,C=(g.clientWidth-it()-(G+H+J+O))/(d*me/c[0]._Na),f=I;!0===i&&I>C&&(f=C),gt(f,!0,void 0,void 0,void 0,void 0,e,t)}},this._Yia=function(e,i){var A,n,r;t._Zia&&\\\"function\\\"==typeof t._Zia&&t._Zia();var a=1;if(i=i||IPCC.ScaleTrigger.Fit,e===IPCC.FitType.FitToWidth)z===IPCC.ViewMode.Document?gt(a=(g.offsetWidth-IPCC.Web._rG()-it()-(G+H+J+O))/(q/v),!0,void 0,void 0,void 0,void 0,i,e):z===IPCC.ViewMode.SinglePage?(!0===Re(c[y]._Za)?(A=c[y]._ob(),r=me/c[y]._Oa):(A=c[y]._mb(),r=me/c[y]._Na),gt(a=(g.offsetWidth-IPCC.Web._rG()-it()-(G+H+J+O))/(A*r),!0,void 0,void 0,void 0,void 0,i,e)):V===IPCC.PageLayout.VerticalScrollDirection?Pe(i,e):t._Cia(i,e);else if(e===IPCC.FitType.ShrinkToWidth){var s=g.clientWidth-it()-20;z===IPCC.ViewMode.SinglePage?(!0===Re(c[y]._Za)?(A=c[y]._ob(),r=me/c[y]._Oa):(A=c[y]._mb(),r=me/c[y]._Na),s0&&(n.style.margin=U+\\\"px auto \\\"+L+\\\"px auto\\\");l.style.margin=\\\"0px \\\"+G+\\\"px 0px \\\"+H+\\\"px\\\",g.scrollLeft=(q-g.clientWidth)/2+G+J}else{for(h.removeChild(u),r=0;r0&&(n.style.margin=U+\\\"px \\\"+G+\\\"px \\\"+L+\\\"px \\\"+H+\\\"px\\\"));l.style.margin=\\\"0px\\\",g.scrollTop=(K-g.clientHeight)/2+U+W}A===IPCC.ViewMode.EqualWidthPages?t._dka(IPCC.ViewMode.EqualWidthPages):A===IPCC.ViewMode.EqualFitPages&&t._dka(IPCC.ViewMode.EqualFitPages),this._eka(i),We(),this._jb(\\\"layout\\\")}},this._fka=function(){return z},this._dka=function(e,t){if(t=t||IPCC.ScaleTrigger.ViewMode,z!==e)if(z=e,\\\"\\\"===g||g.clientHeight<=0)this._jb(\\\"viewMode\\\");else{var i=y;if(this._eka(i),z===IPCC.ViewMode.Document){var A=F,n=T;!0===Re(we)&&(A=T,n=F),gt(V===IPCC.PageLayout.VerticalScrollDirection?(g.clientWidth-(G+H+J+O))/A:(g.clientHeight-(U+L+W+Y))/n,!0,void 0,void 0,void 0,void 0,t)}else Pe(t);this._eka(i),this._jb(\\\"viewMode\\\"),rt(Ce,!0),at(Ce,!0)}};var we=0;this._jka=function(){return we},this._kka=function(e){if(we!==e){we=e;var t=0;for(t=0;ty?(t._zka(e.target,\\\"pccNextPageIn\\\"),t._zka(e.target,\\\"pccPreviousPageIn\\\"),t._zka(e.target,\\\"pccCurrentPage\\\"),t._zka(e.target,\\\"pccPageBack\\\"),t._zka(e.target,\\\"pccPageForward\\\"),t._Bka(e.target,\\\"pccNextPage\\\")):ne=t._ema&&r._pm<=t._UG)if(document.getElementById(c[r._pm]._gb))return;n?A+=a:i+=a}})),{_Zla:A,_Yla:i}}function Se(e){if(z!==IPCC.ViewMode.SinglePage){var t=De(e,yt(e));V===IPCC.PageLayout.VerticalScrollDirection?(l.style.paddingTop=t._Yla+\\\"px\\\",l.style.paddingBottom=t._Zla+\\\"px\\\"):(l.style.paddingLeft=t._Yla+\\\"px\\\",l.style.paddingRight=t._Zla+\\\"px\\\")}}function Pe(e,i){if(!(F<=0)){var A=F,n=T,r=me/c[0]._Na;!0===Re(we)&&(A=T,n=F,r=me/c[0]._Oa);var a,s=1;if(s=V===IPCC.PageLayout.VerticalScrollDirection?(g.clientWidth-it()-(G+H+J+O))/(A*r):(g.clientHeight-(U+L+W+Y))/(n*r),v<=s?a=!1:v>s&&(a=!0),!(isNaN(s)||s<=0||Math.abs(s)===1/0)){v=s,q=0,K=0;var o,h=c.length-1,l=0;for(l=0;l<=h;l++,o=void 0){var u=document.getElementById(c[l]._gb);if(u&&(o=u._vU),void 0!==o){var d=A,I=n;c[l]._mb()>0&&(!0===Re(c[l]._Za)?(d=c[l]._ob(),I=c[l]._mb()):(d=c[l]._mb(),I=c[l]._ob()));var C=1;V===IPCC.PageLayout.VerticalScrollDirection?(C=A/d*v*r,u.style.width=A*v*r+\\\"px\\\",u.style.height=I*C+\\\"px\\\",A*v*r>q&&(q=A*v*r),I*C*me/c[l]._Oa>K&&(K=I*C*r)):(C=n/I*v,u.style.height=n*v*r+\\\"px\\\",u.style.width=d*C*r+\\\"px\\\",d*v*me/c[l]._Na>q&&(q=d*v*r),n*C*r>K&&(K=n*C*r)),o&&!0===c[l]._Sa&&!0===o._wA()&&o.zoom(C),o&&!0===c[l]._Sa&&!0===o._wA()&&o.display(),o=void 0}}kt(),We(),setTimeout((function(){_&&(rt(Ce),at(Ce))}),0),t._Rd(\\\"scaleChanged\\\",{scaleType:a?\\\"scaledDown\\\":\\\"scaledUp\\\",scaleTrigger:e,fitType:i,scaleFactor:v})}}}function Re(e){switch(e){case 90:case 270:case-90:case-270:return!0;default:return!1}}function Me(e){var t,i=document.createElement(\\\"div\\\");for(t in e)e.hasOwnProperty(t)&&(i.style[t]=e[t]);return i}function Fe(e,i){!function(e){var i=e.imGearDocument,A=t._tma();i._ib=A;var n=i.get_pages(),r=n.get_length();if(r>0){for(var a=document.createDocumentFragment(),s=0;s0||e._pb()>0?t(e._nb(),e._pb()):e.requestPageAttributes((function(i,n){var r=A._tja(e.get_documentPageIndex(),e._hb.get_documentIdentifier());if(!0===c[r]._rb()){var a=i/e._Ida();if(1!==a){var s=A._IA(e);s&&je(s,a)}}c[r]._qb(!1),t(i,n)}),(function(e){i(e)}))},this._yka=function(){!0!==fe&&(fe=!0,this._zka(u,\\\"pccHidden\\\"),rt(Ce,!0),at(Ce,!0))},this._Aka=function(){!1!==fe&&(fe=!1,this._Bka(u,\\\"pccHidden\\\"))},this._Cka=function(){return fe},this._Bka=function(e,t){var i=new RegExp(\\\"(?:^|\\\\\\\\s)\\\"+t+\\\"(?!\\\\\\\\S)\\\",\\\"g\\\");null===e.className.match(i)&&(e.className=e.className+\\\" \\\"+t)},this._zka=function(e,t){var i=new RegExp(\\\"(?:^|\\\\\\\\s)\\\"+t+\\\"(?!\\\\\\\\S)\\\",\\\"g\\\");e.className=e.className.replace(i,\\\"\\\")},this._Dka=function(){return pe},this._Eka=function(e){pe=e},this._Fka=function(){return Be},this._Gka=function(e){var t,i,A;Be!==e&&(Be&&(t=Be.get_mark(),A=Ce[t.get_markID()],i=pe(t,{isSelected:!0},A?A._Zfa:void 0),A&&st(t,Ce,i)),t=i=A=void 0,(Be=e)&&(t=Be.get_mark(),A=Ce[t.get_markID()],i=pe(t,{isSelected:!0},A?A._Zfa:void 0),A&&st(t,Ce,i)),at(Ce,!0))},this._Jka=function(e){var t=At();IPCC._o.forEach(e,(function(e){var t=Ce[e];if(t){var i=pe(t._Dd,{isSelected:t._Dd.get_conversation()===Be},t._Zfa);if(!IPCC._o._fz(i))throw new Error(i+\\\" is not a valid HTMLElement\\\");i!==t._Zfa&&st(t._Dd,Ce,i)}})),at(Ce,!1,t)},this._Pka=function(){t._Qka={top:g.scrollTop,left:g.scrollLeft}},this._Rka=function(){var e=t._Qka;e&&(g.scrollTop=e.top,g.scrollLeft=e.left)},this.initialize=function(){var e,t=this._cF();for(e=t.childNodes.length-1;e>=0;e--)\\\"INPUT\\\"!==t.childNodes[e].tagName&&t.removeChild(t.childNodes[e]);this._pn.add_documentAdded(Fe),this._pn.add_pageAdded(Ne),this._pn.add_pageRemoved(Ue),this._Uka(!0),t._vU=this,It();var i=\\\"webkit moz o\\\".split(\\\" \\\"),A=\\\"\\\";if(void 0!==l.style.animationName)return re=\\\"animationend\\\",void(ae=\\\"transitionend\\\");for(e=0;e0){var u=mt(c[y],y);o.style.width=u._of+\\\"px\\\",o.style.height=u._pf+\\\"px\\\"}else o.style.width=l.clientWidth-G-H+\\\"px\\\",o.style.height=.8*l.clientWidth+\\\"px\\\";o.style.display=\\\"block\\\",o.setAttribute(\\\"id\\\",c[y]._gb),l.appendChild(o)}ae.length>0?(g.style.overflow=\\\"hidden\\\",l.style.width=o.style.width,l.style.height=o.style.height,l.style.overflow=\\\"visible\\\",null!==Ae&&(IPCC.Web.UI._Ox.removeHandler(Ae,re,xe),IPCC.Web.UI._Ox.removeHandler(Ae,ae,xe),ne>y?(this._zka(Ae,\\\"pccNextPageIn\\\"),this._zka(Ae,\\\"pccPreviousPageIn\\\"),this._zka(Ae,\\\"pccCurrentPage\\\"),this._zka(Ae,\\\"pccPageForward\\\"),this._zka(Ae,\\\"pccPageBack\\\"),this._Bka(Ae,\\\"pccNextPage\\\")):nei?(this._Bka(h,\\\"pccPageForward\\\"),this._zka(o,\\\"pccPageBack\\\"),this._zka(o,\\\"pccPreviousPage\\\"),this._zka(o,\\\"pccPreviousPageIn\\\"),this._zka(o,\\\"pccNextPage\\\"),this._Bka(o,\\\"pccCurrentPage\\\"),this._Bka(o,\\\"pccNextPageIn\\\")):(this._Bka(h,\\\"pccPageBack\\\"),this._zka(o,\\\"pccPageForward\\\"),this._zka(o,\\\"pccPreviousPage\\\"),this._zka(o,\\\"pccNextPage\\\"),this._zka(o,\\\"pccNextPageIn\\\"),this._Bka(o,\\\"pccCurrentPage\\\"),this._Bka(o,\\\"pccPreviousPageIn\\\"))):(l.style.width=o.style.width,l.style.height=o.style.height,y>i?(this._zka(h,\\\"pccNextPage\\\"),this._zka(h,\\\"pccCurrentPage\\\"),this._Bka(h,\\\"pccPreviousPage\\\")):(this._zka(h,\\\"pccPreviousPage\\\"),this._zka(h,\\\"pccCurrentPage\\\"),this._Bka(h,\\\"pccNextPage\\\")),this._zka(o,\\\"pccPreviousPage\\\"),this._zka(o,\\\"pccNextPage\\\"),this._Bka(o,\\\"pccCurrentPage\\\"),nt(IPCC._o.filter(Ce,(function(e){return e._Nl===A+1}))),setTimeout((function(){_&&We()}),60)),IPCC._o.forEach(r||[],(function(e){var t=c[e];t&&qe(t,e)}))}}},this._qla=function(){c.length>0&&t._eka(0)},this._rla=function(){yg.clientWidth?a.x=i.x:a.x=i.x+n/2,r>g.clientHeight?a.y=i.y:a.y=i.y+r/2,V===IPCC.PageLayout.VerticalScrollDirection?(g.scrollTop=e+a.y-g.clientHeight/2,g.scrollLeft=a.x-g.clientWidth/2):(g.scrollLeft=t+a.x-g.clientWidth/2,g.scrollTop=a.y-g.clientHeight/2)},this._Fla=function(){var e=0;for(e=0;e0&&t._pn.removeAllDocuments()},this._Ila=function(e,t,i,A){if(c[e]&&!0===c[e]._Sa){var n=document.getElementById(c[e]._gb);if(n&&n._vU&&!0===n._vU._wA())if(A){IPCC._l._lc(A,\\\"selectText\\\");var r=n._vU._jD(),a=r._Xe,s=r._IQ;r._Xe=A,r._IQ=A,n._vU.showTextSelection(t,i),r._Xe=a,r._IQ=s}else n._vU.showTextSelection(t,i)}},this._Lla=function(){var e,t=kt(),i=[];for(t&&(i=_t(t)),e=0;eq)q=a*v*me/c[e]._Na;else if(A.clientHeight>=q-10)for(q=0,h=0;hq&&(q=A.clientWidth);s*v*me/c[e]._Oa>K&&(K=s*v*me/c[e]._Oa)}else{if(s*v*me/c[e]._Oa>K)K=s*v*me/c[e]._Oa;else if(A.clientWidth>=K-10)for(K=0,h=0;hK&&(K=A.clientHeight);a*v*me/c[e]._Na>q&&(q=a*v*me/c[e]._Na)}}else{var u;V===IPCC.PageLayout.VerticalScrollDirection?(u=o/a*v*me/c[e]._Oa,n&&!0===n._wA()&&n.zoom(u),w=!0,A.style.width=o*v*me/c[e]._Na+\\\"px\\\",A.style.height=u*s+\\\"px\\\"):(u=g/s*v*me/c[e]._Oa,n&&!0===n._wA()&&n.zoom(u),w=!0,A.style.height=g*v*me/c[e]._Oa+\\\"px\\\",A.style.width=u*a+\\\"px\\\"),o*v*me/c[e]._Na>q&&(q=o*v*me/c[e]._Na),g*v*me/c[e]._Oa>K&&(K=g*v*me/c[e]._Oa)}n&&!0===n._wA()&&(w=!0,this._qja(A,e),setTimeout((function(){if(!1!==fe&&_){var i=At(),A=t.getDocumentPageIndex(e),n=IPCC._o.filter(Ce,(function(e){return A===e._Nl-1}));rt(n),at(n,!0,i)}}),0))}},this._Sla=function(e){var t=y;if(this._kI(y,e),z!==IPCC.ViewMode.SinglePage){var i=this;setTimeout((function(){_&&i._eka(t)}),10)}},this._Tla=function(e){var t=y,i=kt();z!==IPCC.ViewMode.SinglePage&&this._eka(t);var A,n=c.length-1;for(A=0;A<=n;A++)this._kI(A,e);if(z!==IPCC.ViewMode.SinglePage){var r=this;setTimeout((function(){_&&(Se(i),r._eka(t))}),10)}},this._KA=function(e){IPCC._l._dc(e,\\\"pageIndex\\\",0,c.length-1);var i=c[e];if(i&&i._gb&&(!0===i._Ya||!1===i._Xa)){var A,n=document.getElementById(i._gb);n._vU&&n._vU.dispose(),pt(n),(A=new IPCC.Web.UI.PageView(n,!1,g))&&(A.set_autoUpdate(!1),A._Ea(n),A.initialize(t._lma),A.set_imageHandlerUrl(i._hb._Pn),A.set_requireRequestsOptimize(Ie),void 0!==p&&A.set_serviceResponseTimeout(p),A.set_scrollBars(IPCC.Web.UI.ScrollBars.None),A._Jja(S===IPCC.Web.UI.MouseTool.HandPan||S===IPCC.Web.UI.MouseTool.EditMarks),Ve(A,i),Xe(A),ze(A),Ze(A),$e(A)),A.set_textRequired(R),A.set_markHandleMode(de),A.set_debug(Q),A.set_gamma(D),A.set_sharpening(k),A.set_svgLineWidthMultiplier(x),A.set_debugErrorLevel(E),A._dF(t._iv()),be&&A.set_resourcePath(be),C?A._Kja(C()):A.set_mouseTool(IPCC.Web.UI.MouseTool.None),A._RE(t._QE()),i._Ya=!1,i._Wa=!1;var r={encodedDocumentIdentifier:i._hb.get_encodedDocumentIdentifier(),documentPageIndex:i._fb,artServiceOption:0,documentArtPage:i._eb,viewRotationDegreesClockwise:i._Za};i._db&&(r.artPage=i._db),i._eb&&(r.documentArtPage=i._eb),A.openPage(r),i._Xa=!0,m++}},this._tma=function(){null==d&&(d=1);var e=this._cF().id.toString()+\\\"_\\\"+d.toString();return d++,e},this._uma=function(){return this._pn},this._IA=function(e){for(var t=0;t0&&_){var e,i=0,A=t._pn.get_length()-1,n=kt();if(!n)return;var r=n._bma;IPCC._o.forEach(I,(function(t,A){e=r[A],V===IPCC.PageLayout.VerticalScrollDirection?i+=e._pf+U:i+=e._of+G})),i&&z!==IPCC.ViewMode.SinglePage&&(V===IPCC.PageLayout.VerticalScrollDirection?l.style.paddingBottom=i+\\\"px\\\":l.style.paddingRight=i+\\\"px\\\"),rt(Ce,!0),at(Ce,!0),0===A&&t._pn._Ica(A)._so===c.length&&t._Rd(\\\"allPagesAdded\\\"),We()}I=[]}),10);function Ne(e,i){1!==t._pn.get_length()||0!==i.imGearPage.get_documentPageIndex()?(I.push(i.imGearPage),Ge(i.imGearPage),Te()):Le(i.imGearPage,0)}function Ue(e,t){for(var i=t.imGearPage.get_documentPageIndex(),A=t.imGearPage._hb.get_documentIdentifier(),n=0;n=r[0]&&A<=r[r.length-1]&&c[A]._db&&c[A]._db.get_markCount()>0){var a=document.getElementById(c[A]._gb);t._qja(a,A)}}}}e._KE(i)}(e),function(e){function i(i,A){if(!1!==_){var n=t._tja(A.documentPageIndex);if(!(n<0)){var r=c[n],a=r._eb;e._Sda()._JZ()._op((function(e){var t=new IPCC.Web.UI.Mark(IPCC.Web.UI.MarkType.DocumentHyperlink),i=e._Nd();t.set_rectangle(new IPCC.Web.UI.Rectangle(i.x,i.y,i.width,i.height)),t.set_href(e._Rl()),t.set_lineColor(e._BZ()),t.set_lineWidth(e._xZ()),t.set_borderPattern(e._yZ()),t.set_borderType(e._wZ()),t.set_borderHorizontalRadius(e._zZ()),t.set_borderVerticalRadius(e._AZ()),t.set_borderOpacity(e._CZ()),a.addMark(t),e._EZ(t)})),t._Rd(\\\"hyperlinkPageReady\\\",{pageReference:{documentPageNumber:r._fb+1,documentID:r._Ka._hb.get_documentIdentifier()}});var s=kt(),o=[];if(s&&(o=_t(s)),n>=o[0]&&n<=o[o.length-1]){var g=document.getElementById(c[n]._gb);t._qja(g,n)}}}}e._Tda(i)}(e),A._Ta=!1,A._Wa=!1,function(e){function i(){if(!1!==_){var i=t._tja(e._fb);if(!(i<0)){var A=kt(),n=[];if(A&&(n=_t(A)),i>=n[0]&&i<=n[n.length-1]){var r=document.getElementById(e._gb);t._qja(r,i)}var a=new IPCC.Web.UI.MarkEventArgs;a.pageReference={documentPageNumber:e._fb+1,documentID:e._Ka._hb.get_documentIdentifier()},t._Rd(\\\"marksLoaded\\\",a)}}}e._db.add_marksLoaded(i)}(A),function(e){function i(i,A){var n=new IPCC.Web.UI.MarkEventArgs;n.pageReference={documentPageNumber:e._fb+1,documentID:e._Ka._hb.get_documentIdentifier()},n.mark=A.mark,n.zIndex=A.zIndex,n.clientX=A.clientX,n.clientY=A.clientY,t._Rd(\\\"markAdded\\\",n)}e._db.add_markAdded(i)}(A),function(e){var A,n,r,a=!1;function s(e,t){if(!1!==fe){var i=At();et(e,t,i),at(Ce,!0,i)}}function o(e,t){n=e,r=t,a&&!A&&(A=i((function(){a=!1,A=void 0,n&&r?s(n,r):s(e,t)})))}function c(i,A){if(!0!==A.mark._PD){var n=new IPCC.Web.UI.MarkEventArgs;n.pageReference={documentPageNumber:e._fb+1,documentID:e._Ka._hb.get_documentIdentifier()},n.mark=A.mark,n.zIndex=A.zIndex,n.propertyName=A.propertyName,t._Rd(\\\"markChanged\\\",n);var r,s,c=Ce[A.mark.get_markID()];if(!c||\\\"rectangle\\\"!==A.propertyName&&\\\"points\\\"!==A.propertyName&&\\\"startPoint\\\"!==A.propertyName&&\\\"endPoint\\\"!==A.propertyName){if(c&&\\\"visible\\\"===A.propertyName){var g=A.mark.get_visible(),h=(r=c,s=t.getViewerPageIndex(r._Nl-1),IPCC._o.inArray(vt(),s));g&&h?(nt([c]),at(Ce,!0,At())):tt([c])}}else a=!0,o(A.mark,c)}}e._db.add_markChanged(c)}(A),function(e){function i(i,A){var n=new IPCC.Web.UI.MarkEventArgs;n.pageReference={documentPageNumber:e._fb+1,documentID:e._Ka._hb.get_documentIdentifier()},n.mark=A.mark,n.zIndex=A.zIndex,n.oldZIndex=A.oldZIndex,t._Rd(\\\"markReordered\\\",n)}e._db.add_markReordered(i)}(A),function(e){function i(i,A){if(!0!==A.mark._PD){var n=new IPCC.Web.UI.MarkEventArgs;n.pageReference={documentPageNumber:e._fb+1,documentID:e._Ka._hb.get_documentIdentifier()},n.mark=A.mark,n.zIndex=A.zIndex,t._Rd(\\\"markSelectionChanged\\\",n)}}e._db.add_markSelectionChanged(i)}(A),function(e){function i(i,A){var n=new IPCC.Web.UI.MarkEventArgs;n.pageReference={documentPageNumber:e._fb+1,documentID:e._Ka._hb.get_documentIdentifier()},n.mark=A.mark,n.zIndex=A.zIndex,t._Rd(\\\"markTextSelectionChanged\\\",n)}e._db.add_markTextSelectionChanged(i)}(A),function(e){function i(i,A){if(A.mark){var n=new IPCC.Web.UI.MarkEventArgs;n.pageReference={documentPageNumber:e._fb+1,documentID:e._Ka._hb.get_documentIdentifier()},n.mark=A.mark,n.zIndex=A.zIndex,t._Rd(\\\"markRemoved\\\",n);var r=Ce[A.mark.get_markID()];r&&(A.mark.get_conversation()===Be&&(Be=null),r._Zfa.parentElement.removeChild(r._Zfa),delete Ce[A.mark.get_markID()],at(Ce,!0))}}e._db.add_markRemoved(i)}(A),function(e){function i(i,A){var n=new IPCC.Web.UI.CommentEventArgs;n.mark=A.mark,n.index=A.index,n.comment=A.comment;var r=document.getElementById(e._gb);t._Rd(\\\"commentAdding\\\",n);var a=t.getViewerPageIndex(e._fb);setTimeout((function(){if(_){var i,s,g=At();if(0===A.index){if(!(s=pe(A.mark,{isSelected:!1},null)))return;if(!IPCC._o._fz(s))throw new Error(s+\\\" is not a valid HTMLElement\\\");var h,l=ot(A.mark,a),d=l.x,I=l.y;h=r&&r._vU?r._vU.transformPagePointToWindow(new IPCC.Web.UI.Point(d,I),!0):new IPCC.Web.UI.Point(0,0);var C=U*e._fb,f=(Qt(a)-C+h.y)/(g-U*c.length);i=function(e,i,A,n,r,a,s){var c=new o;return c._Zfa=A,Ce[e.get_markID()]=c,function(e,i,A){var n=e[i._mU()];n._Nl=A,n._Dd=i;var r=t.getViewerPageIndex(A-1);n._FD=ot(i,r),n._Roa=i._Od()._ppa(i)}(Ce,e,s),c._Noa=a,n.appendChild(A),c}(A.mark,0,s,u,0,f,e._fb+1)}else{var p=A.mark.get_conversation()===Be,B=Ce[A.mark.get_markID()];if(!B)return;if(!(s=pe(A.mark,{isSelected:p},B._Zfa)))return;if(!IPCC._o._fz(s))throw new Error(s+\\\" is not a valid HTMLElement\\\");i=st(A.mark,Ce,s)}IPCC._o.contains(vt(),a)?at(Ce,!0,g):tt([i]),t._Rd(\\\"commentAdded\\\",n)}}),0)}e._db.add_commentAdded(i)}(A),function(e){function i(e,i){var A=null;if(Ce[i.mark.get_markID()]){A=Ce[i.mark.get_markID()]._Zfa;var n=i.mark.get_conversation()===Be;A=pe(i.mark,{isSelected:n},A)}if(A){if(!IPCC._o._fz(A))throw new Error(A+\\\" is not a valid HTMLElement\\\");if(A){var r=At();st(i.mark,Ce,A),at(Ce,!0,r)}t._Rd(\\\"commentChanged\\\",i)}else t._Rd(\\\"commentChanged\\\",i)}e._db.add_commentChanged(i)}(A),function(e){function i(e,i){var A=null;Ce[i.mark.get_markID()]&&(A=Ce[i.mark.get_markID()]._Zfa);var n=i.mark.get_conversation()===Be;if(A=pe(i.mark,{isSelected:n},A),IPCC._o._fz(A))st(i.mark,Ce,A);else{var r=Ce[i.mark.get_markID()];r&&(i.mark.get_conversation()===Be&&(Be=null),r._Zfa.parentElement.removeChild(r._Zfa),delete Ce[i.mark.get_markID()])}at(Ce,!0),t._Rd(\\\"commentRemoved\\\",i)}e._db.add_commentRemoved(i)}(A),A}}function Le(e,i,A){for(var n,r=i,a=t._cF(),s=null,o=t.get_documents().get_length(),h=0;hy?t._Bka(A,\\\"pccNextPage\\\"):u._fb0&&(A.style.margin=U+\\\"px auto \\\"+L+\\\"px auto\\\"),s._Xx.length>0&&z!==IPCC.ViewMode.SinglePage)if(a=s._Xx[0],r0&&(A.style.margin=U+\\\"px \\\"+G+\\\"px \\\"+L+\\\"px \\\"+H+\\\"px\\\"),s._Xx.length>0&&z!==IPCC.ViewMode.SinglePage)if(a=s._Xx[0],rr){s.parentElement.insertBefore(I,s),A=!0;break}}}A||e.appendChild(I)}(A||l);l.appendChild(I)}();if(I&&a.clientWidth>0){var f=a.clientWidth/(I.clientWidth+2*I.clientLeft),B=a.clientHeight/(I.clientHeight+2*I.clientTop);c.length0||!1===_||null!==Ae||ie)){var e=kt();if(e){c.forEach((function(e,i){e._Sa&&t._tE(i)}));var i=function(e){var i=_t(e),A=[];return IPCC._o.forEach(i,(function(e){var i=c[e];if(i&&0===i._Ua){var n=t._uma();Le((i._hb||n._Ica(0))._bm._cm(i._fb),e),A.push(e)}})),A}(e);IPCC._o.forEach(i||[],(function(e){var t=c[e];t&&qe(t,e)})),IPCC._o.forEach(e._Xx,(function(e){var t=c[e._pm];He(t)&&!t._Sa&&t._Ua&&Oe(t,e._pm)})),Je(e),function(){var e=g.scrollTop,t=g.scrollLeft,i=g.clientHeight,A=g.clientWidth,n=g.scrollWidth,r=g.scrollHeight,a=wt({_Ena:e,_Fna:t,_Gna:i,_Hna:A,_Ina:n,_Jna:r});if(a._Xx.length<=0)return;var s=yt(a),o=function(e){var t=Math.max(e._Xx[0]._pm-oe,0),i=Math.min(e._Xx[e._Xx.length-1]._pm+oe,c.length-1);return{_ema:t,_UG:i}}(a),h=0,u=0,d=!1;if(IPCC._o.forEach(a._bma,(function(e){var t=V===IPCC.PageLayout.VerticalScrollDirection?e._pf+U:e._of+G+H,i=+e._pm;if(e._dma||z===IPCC.ViewMode.SinglePage&&i===y)d=!0;else if(i>=s._ema&&i<=s._UG){if(i>=o._ema&&i<=o._UG)return;d?Ye(i,!0)>-1&&(u+=t):Ye(i,!0)>-1&&(h+=t)}else d?(u+=t,Ye(i)):(h+=t,Ye(i))})),z===IPCC.ViewMode.SinglePage)return;V===IPCC.PageLayout.VerticalScrollDirection?(l.style.paddingTop=h+\\\"px\\\",l.style.paddingBottom=u+\\\"px\\\"):(l.style.paddingLeft=h+\\\"px\\\",l.style.paddingRight=u+\\\"px\\\")}()}}}function Je(e){if(e&&!(e._Xx.length<=0))for(var i=yt(e),A=i._ema;A<=i._UG;A++){var n=c[A];if(!He(n)){n._cb=!0;var r=t._uma();Le((n._hb||r._Ica(0))._bm._cm(n._fb),A),Ke(n,A,!1)}}}function Ye(e,t){var i=c[e];if(!i)return-1;if(!0===t&&!i._Sa)return-1;!0===i._Xa&&!1===i._Wa&&m>0&&m--,i._Wa=!1,i._Xa=!1,i._Sa=!1,i._Ua=0,i._cb=!1,le&&!i._Ka._em()._ZZ()&&!0!==ue&&i._Ka._vea();var A=document.getElementById(i._gb);return A?A._vU?(A._vU.dispose(),A.parentElement.removeChild(A),e):(A.parentElement.removeChild(A),-1):-1}function Oe(e,i){var A=document.getElementById(e._gb);t._qja(A,i)}function qe(e,t){Ke(e,t,!0),Oe(e,t)}function Ke(e,i,A){var n=document.getElementById(e._gb);if(null!==n){var r=new IPCC.Web.UI.PageView(n,!1,g);if(r.set_autoUpdate(!1),r._Ea(document.getElementById(e._gb)),r.initialize(t._lma),r.set_imageHandlerUrl(e._hb._Pn),r.set_imGearPage(e._Ka),r.set_artPage(e._db),r.set_requireRequestsOptimize(Ie),void 0!==p&&r.set_serviceResponseTimeout(p),r.set_scrollBars(IPCC.Web.UI.ScrollBars.None),r.set_textRequired(R),r.set_markHandleMode(de),r.set_debug(Q),r.set_gamma(D),r.set_sharpening(k),r.set_svgLineWidthMultiplier(x),r.set_debugErrorLevel(E),r._dF(t._iv()),be&&r.set_resourcePath(be),C?r._Kja(C()):r.set_mouseTool(IPCC.Web.UI.MouseTool.None),r._RE(t._QE()),r._Jja(S===IPCC.Web.UI.MouseTool.HandPan||S===IPCC.Web.UI.MouseTool.EditMarks),Ve(r,e),ze(r),Ze(r),Xe(r),$e(r),!0===A&&r.add_pageOpened((function(e){t._qja(n,i)})),!1===e._Wa&&e._Ka){e._cb=!0;var a={encodedDocumentIdentifier:e._Ka._hb.get_encodedDocumentIdentifier(),documentPageIndex:e._Ka.get_documentPageIndex(),imGearPage:e._Ka,viewRotationDegreesClockwise:e._Za};e._db&&(a.artPage=e._db),e._eb&&(a.documentArtPage=e._eb),r.openPage(a),e._Xa=!0,m++}}}function je(e,t){var i;e.forEachMark((function(e){switch(e.get_type()){case IPCC.Web.UI.MarkType.Line:var A=e.get_points(),n=A._Xca(0),r=A._Xca(1);A.setPoint(0,new IPCC.Web.UI.Point(n.x*t,n.y*t)),A.setPoint(1,new IPCC.Web.UI.Point(r.x*t,r.y*t));break;case IPCC.Web.UI.MarkType.Text:case IPCC.Web.UI.MarkType.Rectangle:case IPCC.Web.UI.MarkType.RectangleRedaction:case IPCC.Web.UI.MarkType.Ellipse:case IPCC.Web.UI.MarkType.Stamp:case IPCC.Web.UI.MarkType.ImageStampAnnotation:case IPCC.Web.UI.MarkType.ImageStampRedaction:case IPCC.Web.UI.MarkType.RectangleRedaction:case IPCC.Web.UI.MarkType.Freehand:case IPCC.Web.UI.MarkType.SignaturePath:case IPCC.Web.UI.MarkType.SignatureText:case IPCC.Web.UI.MarkType.TextLine:case IPCC.Web.UI.MarkType.TextAreaSignature:case IPCC.Web.UI.MarkType.TextSelectionRedaction:i=e.get_rectangle(),e.set_rectangle({x:i.x*t,y:i.y*t,width:i.width*t,height:i.height*t});break;case IPCC.Web.UI.MarkType.HighlightText:case IPCC.Web.UI.MarkType.TextHyperlinkAnnotation:case IPCC.Web.UI.MarkType.Strikethrough:i=e.get_rectangle(),e.set_rectangle({x:i.x*t,y:i.y*t,width:i.width*t,height:i.height*t});for(var a,s=e._Gm,o=0;oq&&(q=f,V===IPCC.PageLayout.VerticalScrollDirection&&(g.scrollLeft=(q-g.clientWidth)/2)),p>K&&(K=p,V===IPCC.PageLayout.HorizontalScrollDirection&&(g.scrollTop=(K-g.clientHeight)/2)),a._ab>0){var S=document.getElementById(a._gb)._vU;S&&(S.rotate(a._ab),S.display(),a._ab=0)}if(m>0&&(m-=1),!0===a._rb()){var P=a._Ka,R=a._mb()/P._Ida();if(1!==R){var M=t._IA(P);M&&je(M,R)}}a._qb(!1),kt();var X=new IPCC.OpenPageEventArgs;X.pageReference={documentPageNumber:n.documentPageIndex+1,documentID:n.documentIdentifier},X.imGearPage=n.imGearPage,X.viewRotationDegreesClockwise=n.viewRotationDegreesClockwise,X.pageNodeID=a._gb,t._Rd(\\\"pageOpened\\\",X),0===m&&null===Z&&null===Ae&&setTimeout((function(){_&&We()}),60)}}}))}function ze(e){e.add_pageOpenFailed((function(e,i){if(!1!==_){var A=t._tja(i.documentPageIndex);if(!(A<0)){var n,r=c[A];r._gb&&(n=r._gb),r._Ya=!0,r._Xa=!1,r._Wa=!1,r._Sa=!1;var a=new IPCC.ExceptionEventArgs;a.exception=i.exception,a.pageReference={documentPageNumber:r._fb+1,documentID:r._Ka._hb.get_documentIdentifier()},a.pageNodeID=n,t._Rd(\\\"pageOpenFailed\\\",a),m>0&&0===(m-=1)&&setTimeout((function(){_&&We()}),60)}}}))}function Ze(e){e.add_pageDisplayed((function(e,i){if(!1!==_){var A=new IPCC.PageEventArgs,n=t._tja(i._fb);if(!(n<0)){var r=c[n];if(A.pageReference={documentPageNumber:r._fb+1,documentID:r._Ka._hb.get_documentIdentifier()},A.imGearPage=r._Ka,A.pageNodeID=r._gb,r._Sa=!0,z===IPCC.ViewMode.SinglePage){var a=se.indexOf(i._fb);-1!==a&&se.splice(a,1)}t._Rd(\\\"pageDisplayed\\\",A),setTimeout((function(){if(_){var e=t.getDocumentPageIndex(y),A=IPCC._o.filter(Ce,(function(t){return z===IPCC.ViewMode.SinglePage?i._fb===t._Nl-1&&t._Nl-1===e:i._fb===t._Nl-1}));rt(A),at(A)}}),0)}}}))}function Xe(e){e.add_exceptionThrown((function(e,i){if(!1!==_){var A,n=new IPCC.ExceptionEventArgs;if(!1===isNaN(i.documentPageIndex)){var r=t._tja(i._fb);if(r<0)return;var a=c[r];a._gb&&(A=a._gb),a._Ya=!0,a._Xa=!1,a._Wa=!1,a._Sa=!1,n.pageReference={documentPageNumber:a._fb+1,documentID:a._Ka._hb.get_documentIdentifier()}}n.functionName=i.function_name,n.exception=i.exception,n.pageNodeID=A,t._Rd(\\\"exceptionThrown\\\",n),m>0&&0===(m-=1)&&setTimeout((function(){_&&We()}),60)}}))}function $e(e){e.add_markCreating((function(e,i){t._Rd(\\\"markCreating\\\",i)}))}function et(e,i,A){var n=t.getViewerPageIndex(i._Nl-1),r=c[n],a=document.getElementById(r._gb),s=ot(e,n);if(a&&a._vU){var o=a._vU.transformPagePointToWindow(new IPCC.Web.UI.Point(s.x,s.y),!0),g=U*r._fb,h=(a.offsetTop-g+o.y)/(A-U*c.length);i._FD=s,i._Noa=h}}function tt(e){IPCC._o.forEach(e,(function(e){e&&(e._Zfa.style.display=\\\"none\\\",e._dma=!1)}))}function it(){return u.currentStyle&&\\\"none\\\"===u.currentStyle.display?0:u.clientWidth}function At(){return u.currentStyle&&\\\"none\\\"===u.currentStyle.display?0:u.offsetHeight}function nt(e){IPCC._o.forEach(e,(function(e){e._Zfa.style.display=\\\"\\\",e._dma=!0,e&&e._Dd&&!1===e._Dd.get_visible()&&(e._Zfa.style.display=\\\"none\\\",e._dma=!1)}))}function rt(e,i){if(!1!==fe){var A=i?IPCC._o.filter(Ce,(function(e){var i=t.getViewerPageIndex(e._Nl-1);return IPCC._o.contains(vt(),i)})):e,n=At();IPCC._o.forEach(A,(function(e){et(e._Dd,e,n)}))}}function at(e,i,A){if(!1!==fe){A||(A=At());var n=i?IPCC._o.filter(Ce,(function(e){var i=t.getViewerPageIndex(e._Nl-1);return IPCC._o.inArray(vt(),i)})):e;nt(n);var r=IPCC._o.map(n,(function(e,t){return e._cpa=e._Zfa.offsetHeight,e})).sort((function(e,i){if(e._Nl!==i._Nl)return e._Nl-i._Nl;var A=t.getViewerPageIndex(e._Nl-1);switch(c[A]._Za){case 90:return function(e,t){return e._FD.x!==t._FD.x?e._FD.x-t._FD.x:e._FD.y!==t._FD.y?t._FD.y-e._FD.y:e._Roa-t._Roa}(e,i);case 180:return function(e,t){return e._FD.y!==t._FD.y?t._FD.y-e._FD.y:e._FD.x!==t._FD.x?t._FD.x-e._FD.x:e._Roa-t._Roa}(e,i);case 270:return function(e,t){return e._FD.x!==t._FD.x?t._FD.x-e._FD.x:e._FD.y!==t._FD.y?e._FD.y-t._FD.y:e._Roa-t._Roa}(e,i);default:return function(e,t){return e._FD.y!==t._FD.y?e._FD.y-t._FD.y:e._FD.x!==t._FD.x?e._FD.x-t._FD.x:e._Roa-t._Roa}(e,i)}})),a=[],s=[],o=!1;if(Be){var g=Ce[Be.get_mark().get_markID()];IPCC._o.inArray(r,g)||(o=!0),IPCC._o.forEach(r,(function(e){o?s.push(e):e._Dd.get_conversation()===Be?(a.unshift(e),o=!0):a.unshift(e)}))}else s=r;var h=0;a.length&&(h=function(e,t){var i,A,n,r,a,s=t-U*c.length;return IPCC._o.forEach(e,(function(e){r=U*(e._Nl-1),n=e._Noa*s+r,void 0===i&&(i=n),e._Dd.get_conversation()===Be?a=(A=n)+e._cpa:A=Math.min(i-5-e._cpa,n),e._Zfa.style.top!==A+\\\"px\\\"&&(e._Zfa.style.top=A+\\\"px\\\"),i=A})),a}(a,A)),function(e,t,i){i=i||0;var A,n,r,a=t-U*c.length;IPCC._o.forEach(e,(function(e){r=U*(e._Nl-1),n=e._Noa*a+r,A=Math.max(i+5,n),e._Zfa.style.top!==A+\\\"px\\\"&&(e._Zfa.style.top=A+\\\"px\\\"),i=A+e._cpa}))}(s,A,h)}}function st(e,t,i){var A=t[e.get_markID()];return A&&(A._Zfa.parentElement.replaceChild(i,A._Zfa),A._Zfa=i),A}function ot(e,t){var i=e.get_boundingRectangle?e.get_boundingRectangle():{};switch(c[t]._Za){case 90:return{x:i.x,y:i.y+(i.height||0)};case 180:return{x:i.x+(i.width||0),y:i.y+(i.height||0)};case 270:return{x:i.x+(i.width||0),y:i.y};default:return{x:i.x,y:i.y}}}function ct(){var e,t=T,i=F,A={width:(e=g.getBoundingClientRect()).width||e.right-e.left,height:e.height||e.bottom-e.top,top:e.top,bottom:e.bottom,left:e.left,right:e.right},n={height:A.height/2};n.width=n.height*i/t,n.width>i/2&&(n.width=i/2),n.height>t/2&&(n.height=t/2);var r={height:8*t,width:8*i};return{min:n,max:r,page:{width:i,height:t},viewport:A,atMin:i*vr.width-5,maxFactor:8,minFactor:n.width/i}}function gt(e,t){if(t)ht.apply(this,arguments);else{var i=eA.maxFactor?e=A.maxFactor:e=0&&(I=y-ce),y+ceb.height?m-=(p.height-b.height)/2:V===IPCC.PageLayout.VerticalScrollDirection&&p.width>b.width&&(B-=(p.width-b.width)/2))}var k,x,D,S=e*me/c[Q]._Na,P=F,R=T,M=F,N=T;if(!0===Re(we)&&(M=T,N=F),c[Q]._mb()>0)!0===Re(c[Q]._Za)?(P=c[Q]._ob(),R=c[Q]._mb()):(P=c[Q]._mb(),R=c[Q]._ob());else if(S=e*me/c[0]._Na,!0===Re(c[Q]._Za)){var L=P;P=R,R=L,S=e*me/c[0]._Oa}if(z===IPCC.ViewMode.SinglePage?(x=P*S,k=R*S,w.style.width=x+\\\"px\\\",w.style.height=k+\\\"px\\\",Q===y&&(l.style.width=x+\\\"px\\\",l.style.height=k+\\\"px\\\"),_&&!0===c[Q]._Sa&&!0===_._wA()&&_.zoom(S)):z===IPCC.ViewMode.Document?(x=P*S,k=R*S,w.style.width=x+\\\"px\\\",w.style.height=k+\\\"px\\\",_&&!0===c[Q]._Sa&&!0===_._wA()&&_.zoom(S),P*S>q&&(q=P*S),R*S>K&&(K=R*S)):(S=e*me/c[0]._Na,V===IPCC.PageLayout.VerticalScrollDirection?(D=M/P*S,w.style.width=M*S+\\\"px\\\",w.style.height=R*D+\\\"px\\\",M*S>q&&(q=M*S),R*S>K&&(K=R*S)):(D=N/R*S,w.style.height=N*S+\\\"px\\\",w.style.width=P*D+\\\"px\\\",P*S>q&&(q=P*S),N*S>K&&(K=N*S)),_&&!0===c[Q]._Sa&&!0===_._wA()&&_.zoom(D)),_&&!0===c[Q]._Sa&&!0===_._wA()&&(_.display(),IPCC._o._DL._EL)){var W=g.style.display;g.style.display=\\\"none\\\",g.style.display=W,lt()}}}$=V===IPCC.PageLayout.VerticalScrollDirection?g.scrollTop:g.scrollLeft;var J,Y,O=0,j=0;r?(J=r.offsetLeft+f*A,Y=r.offsetTop+f*n,g.scrollLeft=J-g.clientWidth/2+O,g.scrollTop=Y-g.clientHeight/2+j,function(e){if(z!==IPCC.ViewMode.SinglePage){var t;t=V===IPCC.PageLayout.VerticalScrollDirection?parseInt(window.getComputedStyle(l,null).getPropertyValue(\\\"padding-top\\\"),10):parseInt(window.getComputedStyle(l,null).getPropertyValue(\\\"padding-left\\\"),10);var i=De(e,yt(e));V===IPCC.PageLayout.VerticalScrollDirection?(l.style.paddingTop=i._Yla+\\\"px\\\",l.style.paddingBottom=i._Zla+\\\"px\\\",g.scrollTop=g.scrollTop+i._Yla-t):(l.style.paddingLeft=i._Yla+\\\"px\\\",l.style.paddingRight=i._Zla+\\\"px\\\",g.scrollLeft=g.scrollLeft+i._Yla-t)}}(u)):(V===IPCC.PageLayout.VerticalScrollDirection?j=U*(h+1):O=H+(G+H)*(h+1),J=f*(B-O),Y=f*(m-j),Se(u),g.scrollLeft=J-g.clientWidth/2+O,g.scrollTop=Y-g.clientHeight/2+j),z===IPCC.ViewMode.SinglePage||s!==IPCC.ScaleTrigger.Pinch&&!0!==d||We(),at(Ce,!0),t._Rd(\\\"scaleChanged\\\",{scaleType:d?\\\"scaledDown\\\":\\\"scaledUp\\\",scaleTrigger:s,fitType:o,scaleFactor:v})}}function lt(){var e=document.createElement(\\\"div\\\");setTimeout((function(){_&&(g.appendChild(e),g.removeChild(e))}),0)}function ut(e,t,i,A){var n=e.igElements;return(A=A||dt(e))&&A.right-A.left>0&&A.bottom-A.top>0?new IPCC.Web.UI.Point(t+A.left+n._wP.scrollLeft,i+A.top+n._wP.scrollTop):void 0}function dt(e){var t=e.igElements,i=null;if(!e||!t||!t._XN)return null;if(t._XN.getBoundingClientRect)try{i=t._XN.getBoundingClientRect()}catch(e){return}else{var A=t._XN,n=document.documentElement;for(i={left:n.clientLeft-n.scrollLeft,top:n.clientTop-n.scrollTop},A=A.offsetParent;A;)i.top+=A.offsetTop-A.scrollTop,i.left+=A.offsetLeft-A.scrollLeft,A=A.offsetParent}return i}function It(){var e,a,s,o,d,I,C,f=t._cF(),p=f.id,m=!1,E=[],Q=0,_={_bka:void 0,_iqa:void 0,_vja:void 0,_jqa:void 0,_wja:void 0,_kqa:void 0,_ge:!0,_lqa:!1},y={x:0,y:0},w=null,b=null;if(\\\"\\\"===l){(g=Me({width:\\\"100%\\\",height:\\\"100%\\\",position:\\\"relative\\\",margin:\\\"0px\\\",overflow:\\\"auto\\\",textAlign:\\\"center\\\"})).className=\\\"pccPageListContainerWrapper\\\",g.tabIndex=2;var k,x=function(e,t){return IPCC._o.getPageFromPoint(e,t,g)||!1},D=function(e,t,i){var A=e.igElements,n=dt(e);return n&&n.right-n.left>0&&n.bottom-n.top>0?new IPCC.Web.UI.Point(t-n.left-A._wP.scrollLeft,i-n.top-A._wP.scrollTop):void 0},R=!1,M=function(e,t,i){t.match(/edit/)?R=!0:(i._vU._Kja([new IPCC._J(IPCC.Web.UI.MarkType.Text)]),R=!0,t,i._vU._zqa(\\\"touchstart\\\",e))},F=function(e){R=!1,e._vU.set_mouseTool(IPCC.Web.UI.MouseTool.None)},T=function(e){return e.target&&e.target.attributes&&e.target.getAttribute(\\\"data-pcc-mark\\\")?e.target:e.target.parentElement&&e.target.parentElement.attributes&&e.target.parentElement.getAttribute(\\\"data-pcc-mark\\\")?e.target.parentElement:e.target.parentNode&&e.target.parentNode.attributes&&e.target.parentNode.getAttribute(\\\"data-pcc-mark\\\")?e.target.parentNode:void 0},N=function(e){var t=T(e);if(t)return t.getAttribute(\\\"data-pcc-mark\\\")},U=function(e){e&&e._Od()&&(e._Od()._tp((function(e){e.set_selected(!1)})),e.display())},G=!1,L=function(e,i){var A={_Nb:void 0,_Dd:void 0,_Zl:null},n=T(e);if(n){if(void 0!==I&&!1!==I&&I._vU&&I.igElements&&!0===I._vU._wA()&&(A._Zl=t._tja(I._vU._xda())),n.ImGearMarkRelation)return A._Nb=\\\"mark\\\",A._Dd=n.ImGearMarkRelation._Dd,A._Jqa=A._Dd.get_selected(),A;for(;!n.ImGearMarkRelation&&n.parentNode&&n!==document.body;)if((n=n.parentNode).ImGearMarkRelation)return A._Nb=\\\"mark\\\",A._Dd=n.ImGearMarkRelation._Dd,A._Jqa=A._Dd.get_selected(),A}if(void 0!==I&&!1!==I&&I._vU&&I.igElements&&!0===I._vU._wA()){A._Zl=t._tja(I._vU._xda());var r=0;for(r=0;r=n.x&&t.x<=n.x+n.width&&t.y>=n.y&&t.y<=n.y+n.height)return A}},W=function(e,t){var i=document.getElementById(c[e]._gb);return H(i,t)},J=function(e,t){var i=document.getElementById(c[e]._gb);if(i)return i._vU._em()._im()._AD(t)._ND()},Y=function(e,t,i){if(void 0===e._jqa&&void 0===e._kqa&&void 0===W(e._bka,e._iqa)){var A=function(e,t,i,A){if(i>e){var n=J(i,0);return{_Zl:i,_Rqa:0,_rc:{x:n.x,y:n.y+n.height/2}}}if(ip.x+p.width/2&&(l0)C--;else if(I>0){var m=document.getElementById(c[I-1]._gb);m&&(C=m._vU._em()._im()._sn()-1,I--)}}return{_vja:h,_jqa:l,_wja:I,_kqa:C,_ge:void 0===l||void 0===C?void 0:h>I||h===I&&l>C,_lqa:o}}(e._bka,e._iqa,t,i,e._lqa),g=o._vja,h=o._jqa,l=o._wja,u=o._kqa,d=o._ge,I=o._lqa;if(B&&void 0!==d&&d&&(I?(h=u,g=l):(u=h,l=g)),void 0!==h?(e._jqa=h,e._vja=g):ge._vja&&(e._jqa=0,e._vja=g),void 0!==u)e._kqa=u,e._wja=l;else if(l>e._wja){var C=document.getElementById(c[l-1]._gb);if(C){var f=C._vU._em();e._kqa=f._im()._sn()-1,e._wja=l-1}}else if(le._wja||e._vja===e._wja&&e._jqa>e._kqa,e._lqa=I,void 0!==e._jqa&&void 0!==e._kqa},O=function(e,t,i,A){if(null!=B){var n,r=!1;void 0===t&&(t=B._yra,r=!0),void 0===i&&(i=B._zra,r=!0);var a=document.getElementById(c[e]._gb);!0===A?n=B._Cra:((n=new IPCC.Web.UI.Mark(IPCC.Web.UI.MarkType.HighlightText)).set_rectangle({x:0,y:0,width:0,height:0}),n._Ye=127,n._IQ=\\\"#3366CC\\\",n._Gm=null,a._vU._Pd().addMark(n)),n.set_selected(!0),n._QS=e===B._vja,n._RS=e===B._wja,!0===r&&(B._vja===B._wja?(n._zd=Q,n._Gd=i-Q+1,a._vU.display()):e===B._vja?(n._zd=Q,n._Gd=a._vU._em()._im()._sn()-1-t,a._vU.display()):e===B._wja?(n._zd=0,n._Gd=i+1,a._vU.display()):(n._zd=0,n._Gd=a._vU._em()._im()._sn()-1-Q)),B._Dra[e]=n}},q=function(e,t,i,A){if(e){var n=e.getBoundingClientRect();t=IPCC._o._fl(t,n.left+A),t=IPCC._o._gl(t,n.right-A),i=IPCC._o._fl(i,n.top+A),i=IPCC._o._gl(i,n.bottom-A)}return{x:t,y:i}},K=function(e,t){s=L(e,t)},j=function(i,A,n,r){var h,u=new IPCC.Web.UI.MouseEventArgs;I=x(A,n),K(i,u);var C=T(i);C&&(h=C.getAttribute(\\\"data-pcc-mark\\\"));var f=!1,p=h&&h.substring(0,10);if(h&&\\\"texthandle\\\"===p){f=!0,p=h.substring(10,13);var v=C.parentNode.ImGearMarkRelation._Dd;B&&null===v._Gm?E=B._Lra.slice():(B=null,E=[],t._Ija());var k,R,F,N,U,G,L,H,W=function(e){var t;for(Q=B._yra,t=B._wja;t>=B._vja;t--){var i=document.getElementById(c[t]._gb);if(i&&void 0!==i._vU&&null!==i._vU){var A,n=Q;t!==B._vja&&(n=0),A=t===B._wja?B._zra:i._vU.get_textPage()._im()._sn()-1,e(i,n,A),t!==B._Qra&&O(t)}}w=S,S=IPCC.Web.UI.MouseTool.SelectText,m=!0};if(\\\"sta\\\"===p){if(null==B)for(L=H=t._tja(v._Zl),(B={})._Dra=[],B._vja=L,B._yra=v._zd,Q=v._zd;L=0;U--){if(!N._Gm[U].set_visible){N.set_visible(!1);break}N._Gm[U].set_visible(!1)}if(L===H?(b=N,G=N._Ed):N.set_selected(!1),E[L]=G.substring(0,N._Gd),G=G.substring(N._Gd),!0===N._RS){B._zra=N._zd+N._Gd-1,B._wja=L;break}}L++}var Y=J(B._wja,B._zra);_={_bka:B._wja,_iqa:Y?{x:Y.x+Y.width,y:Y.y+Y.height/2}:void 0,_vja:B._vja,_jqa:B._yra,_wja:B._wja,_kqa:B._zra,_ge:!1,_lqa:!0};B._Dra[B._vja]._PD=!0,B._Qra=B._vja,B._Cra=B._Dra[B._vja],W((function(e,t,i){e._vU.showEmptyTextSelection(i+1),e._vU.extendTextSelection(void 0),e._vU.extendTextSelection(i),e._vU.extendTextSelection(t)}))}else if(\\\"end\\\"===p){if(null==B)for(L=H=t._tja(v._Zl),(B={})._Dra=[],B._wja=L,B._zra=v._zd+v._Gd-1;L>=0;){for(F=(R=c[L]._db).get_markCount(),k=0;k=0;U--){if(!N._Gm[U].set_visible){N.set_visible(!1);break}N._Gm[U].set_visible(!1)}if(L===H?(G=N._Ed,E[L]=G.substring(G.length-N._Gd)):(E[L]=G.substring(G.length-N._Gd),N.set_selected(!1)),G=N._Ed.substring(0,G.length-N._Gd),!0===N._QS){B._yra=N._zd,Q=N._zd,B._vja=L,b=N;break}}L--}var q=J(B._vja,B._yra);_={_bka:B._vja,_iqa:q?{x:q.x,y:q.y+q.height/2}:void 0,_vja:B._vja,_jqa:B._yra,_wja:B._wja,_kqa:B._zra,_ge:!1,_lqa:!1};B._Dra[B._wja]._PD=!0,B._Qra=B._wja,B._Cra=B._Dra[B._wja],W((function(e,t,i){e._vU.showEmptyTextSelection(t),e._vU.extendTextSelection(void 0),e._vU.extendTextSelection(t),e._vU.extendTextSelection(i)}))}b&&I._vU.display()}if(!(i.target.tagName&&\\\"textarea\\\"===i.target.tagName.toLowerCase())&&!(i.target.tagName&&\\\"input\\\"===i.target.tagName.toLowerCase()&&i.target.type&&\\\"text\\\"===i.target.type.toLowerCase()))if(S!==IPCC.Web.UI.MouseTool.HandPan||!P||!h||!1!==f||s&&s._Dd.get_interactionMode()===IPCC.Web.UI.MarkInteractionMode.SelectionDisabled){var j,V;if(u.pointLiesWithinImage=!1,!1!==I&&I._vU&&I.igElements&&!0===I._vU._wA()&&(u.pageReference={documentPageNumber:I._vU._xda()+1,documentID:I._vU._gfa()},(V=D(I,A,n))&&(j=I._vU._bsa(V,!1),u.imagePoint=j,u.constrainedImagePoint=j,u.pointLiesWithinImage=!0)),u.domEvent=i,u.windowPoint=new IPCC.Web.UI.Point(A,n),!0===f)return t._Yna(u.pageReference)-1,i.preventDefault(),void t._Rd(\\\"mouseDown\\\",u);switch(S){case IPCC.Web.UI.MouseTool.None:i.preventDefault();break;case IPCC.Web.UI.MouseTool.HandPan:i.preventDefault(),e=n,a=A,o=g.scrollTop,d=g.scrollLeft,m=!0,t._Cja(l,\\\"grabbing\\\"),I&&I._vU&&(t._Cja(I,\\\"grabbing\\\"),I._vU.set_cursor(\\\"grabbing\\\"),I._vU.display());break;case IPCC.Web.UI.MouseTool.SelectText:case IPCC.Web.UI.MouseTool.CreateHighlightTextMark:case IPCC.Web.UI.MouseTool.CreateTextSelectionRedaction:case IPCC.Web.UI.MouseTool.CreateTextHyperlinkMark:case IPCC.Web.UI.MouseTool.CreateStrikethroughMark:i.preventDefault(),0===r&&I&&I._vU&&j&&(t._Ija(),E=[],Q=void 0,m=!0,y=u.windowPoint,_={_bka:t._tja(I._vU._xda()),_iqa:j,_vja:void 0,_jqa:void 0,_wja:void 0,_kqa:void 0,_ge:!0,_lqa:!1});break;case IPCC.Web.UI.MouseTool.Magnifier:if(i.preventDefault(),0===r&&I&&I._vU&&V){var z=IPCC._j._ub(IPCC._j.None);l.style.cursor=z,I._vU.showMagnifier(V),I._vU.display()}m=!0;break;case IPCC.Web.UI.MouseTool.RectangleZoom:i.preventDefault(),0===r&&I&&I._vU&&j&&(m=!0,e=V.y,a=V.x,I._vU.showEmptySelection(j),I._vU.display())}t._Rd(\\\"mouseDown\\\",u)}else M(i,h,I)},Z=function(e,t,i,A){var n,r;return e.windowPoint=new IPCC.Web.UI.Point(t,i),A=x(t,i),e.pointLiesWithinImage=!1,!1!==A&&A._vU&&A.igElements&&!0===A._vU._wA()&&(r=D(A,t,i))&&(n=A._vU._bsa(r,!1),e.imagePoint=n,e.constrainedImagePoint=n,e.pointLiesWithinImage=!0),{_kd:e,_Ypa:t,_Zpa:i,_fsa:A,_vg:n,_asa:r}},X=function(i,r,s,h){if(!(i.target.tagName&&\\\"textarea\\\"===i.target.tagName.toLowerCase())&&!(i.target.tagName&&\\\"input\\\"===i.target.tagName.toLowerCase()&&i.target.type&&\\\"text\\\"===i.target.type.toLowerCase())){var u,C,f,p=new IPCC.Web.UI.MouseEventArgs,y=function(e,t){var A=Z(p,e,t,f);(p=A._kd).domEvent=i,e=A._Ypa,t=A._Zpa,f=A._fsa,u=A._vg,C=A._asa};y(r,s);var w,b=L(i,p);switch(b&&b._Dd&&(p.mark=b._Dd),S){case IPCC.Web.UI.MouseTool.None:i.preventDefault();break;case IPCC.Web.UI.MouseTool.HandPan:if(i.preventDefault(),m){var v=e-s,k=a-r;g.scrollTop=o+v,g.scrollLeft=d+k}break;case IPCC.Web.UI.MouseTool.SelectText:case IPCC.Web.UI.MouseTool.CreateHighlightTextMark:case IPCC.Web.UI.MouseTool.CreateTextSelectionRedaction:case IPCC.Web.UI.MouseTool.CreateTextHyperlinkMark:case IPCC.Web.UI.MouseTool.CreateStrikethroughMark:if(i.preventDefault(),m){if(0!==h&&Ae(),!f)break;var x=u,D=t._tja(f._vU._xda()),P=function(e){for(var t=1;t=_._vja&&R<=_._wja&&!_._ge)R=_._wja;else{var M=document.getElementById(c[R]._gb);M&&M._vU&&(M._vU.showEmptyTextSelection(0),M._vU.extendTextSelection(void 0)),E[R]=void 0,B&&B._Dra[R]&&(B._Dra[R]===B._Cra?(B._Dra[R].set_startIndex(0),B._Dra[R].set_textLength(0),B._Dra[R]._QS=!1,B._Dra[R]._RS=!1):M&&M._vU._Pd().removeMark(B._Dra[R]),B._Dra[R]=void 0),M&&M._vU&&M._vU.display()}if(!_._ge)for(var F=_._vja;F<=_._wja;F++){var T=F===_._vja,N=F===_._wja,U=document.getElementById(c[F]._gb);if(U&&U._vU){var G=T?_._jqa:0,H=N?_._kqa:U._vU._em()._im()._sn()-1,W=G!==U._vU._tsa(),J=H!==U._vU._tsa()+U._vU._jh()-1,K=!1;0===U._vU._jh()?(U._vU.showEmptyTextSelection(_._lqa?H+1:G),U._vU.extendTextSelection(void 0),U._vU.extendTextSelection(_._lqa?H:G),U._vU.extendTextSelection(_._lqa?G:H),E[F]=U._vU.getSelectedText(),K=!0):(W||J)&&(U._vU.extendTextSelection(_._lqa?G:H),E[F]=U._vU.getSelectedText(),K=!0),B&&(B._vja=_._vja,B._yra=_._jqa,B._wja=_._wja,B._zra=_._kqa,void 0===B._Dra[F]&&O(F,G,H,F===B._Qra),K=(K=K||B._Dra[F]._QS!==T)||B._Dra[F]._RS!==N,B._Dra[F].set_startIndex(G),B._Dra[F].set_textLength(H-G+1),B._Dra[F]._QS=T,B._Dra[F]._RS=N),K&&U._vU.display()}}B&&(B._vja=_._vja,B._yra=_._jqa,B._wja=_._wja,B._zra=_._kqa),I=f,D,Q=_._jqa}break;case IPCC.Web.UI.MouseTool.Magnifier:i.preventDefault(),m&&((0!==h||I&&I._vU&&I!==f)&&(I._vU.hideMagnifier(),w=IPCC._j._ub(IPCC._j.Magnifier),l.style.cursor=w,I._vU.display()),f&&f._vU&&C&&(I=f,w=IPCC._j._ub(IPCC._j.None),l.style.cursor=w,f._vU.showMagnifier(C),f._vU.display()));break;case IPCC.Web.UI.MouseTool.RectangleZoom:if(i.preventDefault(),m){var j=q(I,r,s,1);y(j.x,j.y),f&&f._vU&&u&&f===I&&(0!==h?(f._vU.hideSelection(),f._vU.display(),m=!1):(f._vU.extendSelection(u),f._vU.display()))}}t._Rd(\\\"mouseMove\\\",p)}},$=function(e,i){i.upTargetType=null;var A=L(e,i);switch(i.originalEvent=e.rawEvent,i.clientX=e.clientX,i.clientY=e.clientY,i.downTarget={type:void 0,pageReference:void 0},void 0!==s&&void 0!==s._Nb&&(i.downTarget.type=s._Nb),void 0!==s&&void 0!==s._Zl&&(i.downTarget.pageReference=t._Uz(s._Zl+1)),void 0!==s&&void 0!==s._Jqa&&(i.downTarget.alreadySelected=s._Jqa),i.downMark=void 0!==s?s._Dd:void 0,i.upMark=A._Dd,A._Nb){case\\\"page\\\":case\\\"mark\\\":i.upTarget={type:A._Nb,pageReference:t._Uz(A._Zl+1)}}!1===i.pointLiesWithinImage&&\\\"page\\\"===A._Nb&&(A._Zl=-1)},ee=function(i,A,n){var r,h,u,C=new IPCC.Web.UI.MouseEventArgs,f=function(e,t){var A=Z(C,e,t,r);(C=A._kd).domEvent=i,e=A._Ypa,t=A._Zpa,r=A._fsa,A._vg,h=A._asa};switch(f(A,n),i&&($(i,C),t._Rd(\\\"mouseUp\\\",C)),s=void 0,S){case IPCC.Web.UI.MouseTool.None:i.preventDefault();break;case IPCC.Web.UI.MouseTool.HandPan:i.preventDefault(),m&&(a=void 0,e=void 0,o=void 0,d=void 0,m=!1,u=\\\"move\\\",t._Cja(l,\\\"grab\\\"),I&&I._vU&&(t._Cja(I,\\\"grab\\\"),I._vU.set_cursor(\\\"grab\\\"),I._vU.display()));break;case IPCC.Web.UI.MouseTool.SelectText:case IPCC.Web.UI.MouseTool.CreateHighlightTextMark:case IPCC.Web.UI.MouseTool.CreateTextSelectionRedaction:case IPCC.Web.UI.MouseTool.CreateTextHyperlinkMark:case IPCC.Web.UI.MouseTool.CreateStrikethroughMark:i&&i.preventDefault();var p=C.windowPoint.x-y.x,v=C.windowPoint.y-y.y;if(0===p&&0===v&&Ae(),m){var x=new IPCC.Web.UI.TextSelectedEventArgs,D=E.slice();x.text=D.join(\\\"\\\"),0===x.text.length&&Ae();var P=_._vja,M=_._jqa,T=_._wja,N=_._kqa,G=_._lqa;_=null;var L=[];if(x.text.length>0)for(var H=P;H<=T;H++)L.push(t._Uz(H+1));if(x.pageReferences=L,x.clientX=A,x.clientY=n,x.mouseTool=S,void 0!==Q){if(S===IPCC.Web.UI.MouseTool.SelectText){var W=G?P:T,Y=G?M:N,K=document.getElementById(c[W]._gb),j=J(W,Y),V=G?0:j.width,z=G?0:j.height,X=K._vU.transformPagePointToWindow(new IPCC.Web.UI.Point(j.x+V,j.y+z),!0),ee=ut(K,X.x,X.y);x.handleClientX=ee.x,x.handleClientY=ee.y}var te=null==B;if(b){if(x.previousFirstMark=b,x.firstMark=B._Dra[P],B._QraT){var ie=document.getElementById(c[B._Qra]._gb);ie._vU&&ie._vU._Pd().removeMark(B._Cra)}B._Cra._PD=!1,t._Ija(),null!==w&&(S=w),w=null}else if(!0===te)if(S===IPCC.Web.UI.MouseTool.SelectText){B={_vja:P,_yra:Q,_wja:T,_zra:N,_Lra:D.slice(),_Dra:[]};for(var ne=0;neT){var re=document.getElementById(c[B._Qra]._gb);re._vU&&re._vU._Pd().removeMark(B._Cra)}B._Cra._PD=!1,B._vja=P,B._yra=Q,B._wja=T,B._zra=N,B._Lra=D.slice(),null!==w&&(S=w),w=null}x.startIndex=Q,t._Rd(\\\"selectTextMouseToolCompleted\\\",x),b&&(b=null,B=null)}m=!1}break;case IPCC.Web.UI.MouseTool.Magnifier:i.preventDefault(),r&&r._vU&&(r._vU.hideMagnifier(),u=IPCC._j._ub(IPCC._j.Magnifier),l.style.cursor=u,r._vU.display()),m=!1;break;case IPCC.Web.UI.MouseTool.RectangleZoom:i.preventDefault();var ae=q(I,A,n,1);if(f(ae.x,ae.y),m&&h){var se=0,oe=0,ce=0,ge=0;h.xle&&(ue=le),r&&r._vU&&(r._vU._Ce(),r._vU.display()),m=!1,2*se+2*oe>25&&t._xia(ue,ce,ge,r)}}var de=!1,Ie=!1;i&&(de=i.target.tagName&&\\\"textarea\\\"===i.target.tagName.toLowerCase(),Ie=i.target.tagName&&\\\"input\\\"===i.target.tagName.toLowerCase()&&i.target.type&&\\\"text\\\"===i.target.type.toLowerCase()),!R||de||Ie?S===IPCC.Web.UI.MouseTool.HandPan&&k&&!de&&!Ie&&i&&k.clientX===i.clientX&&k.clientY===i.clientY&&!0!==i.shiftKey&&!0!==i.ctrlKey&&U(I._vU):F(I)},te=function(e){var i=new IPCC.Web.UI.MouseEventArgs;i.upTarget={type:\\\"comments\\\",element:e.target},i.downTarget={type:\\\"comments\\\",element:e.target},i.originalEvent=e.rawEvent,i.clientX=e.clientX,i.clientY=e.clientY,i.pageReference=void 0,t._Rd(\\\"mouseUp\\\",i)},Ae=function(){if(!0===m){if(B&&void 0!==B._Qra){if(b)return void ee(null,0,0);var e=document.getElementById(c[B._Qra]._gb);e._vU&&(e._vU._Pd().removeMark(B._Cra),e._vU.display()),B._Cra._PD=!1}t._Ija(),b=null,m=!1,null!==w&&(S=w),w=null}};h=Me({position:\\\"relative\\\",width:\\\"auto\\\",height:\\\"auto\\\",display:\\\"table\\\",tableLayout:\\\"fixed\\\",borderSpacing:\\\"0px\\\",margin:\\\"0px auto\\\",clear:\\\"both\\\",boxSizing:\\\"border-box\\\"}),z===IPCC.ViewMode.SinglePage?(l=Me({position:\\\"relative\\\",whiteSpace:\\\"nowrap\\\",width:\\\"auto\\\",height:\\\"auto\\\",overflow:\\\"hidden\\\"})).className=\\\"pccPageListContainer pccSinglePageView\\\":(l=Me({position:\\\"relative\\\",whiteSpace:\\\"nowrap\\\",width:\\\"auto\\\",height:\\\"auto\\\",display:\\\"table-cell\\\",verticalAlign:\\\"top\\\"})).className=\\\"pccPageListContainer\\\",IPCC.Web.UI._Ox.addHandler(g,\\\"mousedown\\\",(function(e){if(C&&C.clientX===e.clientX&&C.clientY===e.clientY)return e.rawEvent.preventDefault?e.rawEvent.preventDefault():e.preventDefault&&e.preventDefault(),e.rawEvent.stopPropagation?e.rawEvent.stopPropagation():e.stopPropagation&&e.stopPropagation(),G=!0,C=void 0,!1;k=e,j(e,e.clientX,e.clientY,e.button)})),IPCC.Web.UI._Ox.addHandler(g,\\\"mouseup\\\",(function(e){!0!==G?ee(e,e.clientX,e.clientY):G=!1})),IPCC.Web.UI._Ox.addHandler(g,\\\"mousemove\\\",(function(e){X(e,e.clientX,e.clientY,e.button)})),IPCC.Web.UI._Ox.addHandler(g,\\\"mouseleave\\\",(function(){!function(){var e;switch(S){case IPCC.Web.UI.MouseTool.None:break;case IPCC.Web.UI.MouseTool.HandPan:t._Cja(l,\\\"grab\\\"),m=!1;break;case IPCC.Web.UI.MouseTool.SelectText:Ae();break;case IPCC.Web.UI.MouseTool.Magnifier:I&&I._vU&&(I._vU.hideMagnifier(),e=IPCC._j._ub(IPCC._j.Magnifier),l.style.cursor=e,I._vU.display()),m=!1;break;case IPCC.Web.UI.MouseTool.RectangleZoom:I&&I._vU&&(I._vU.hideSelection(),I._vU.display(),m=!1)}}()})),IPCC.Web.UI._Ox.addHandler(g,\\\"mousewheel\\\",(function(e){if(e.ctrlKey)switch(S){case IPCC.Web.UI.MouseTool.None:case IPCC.Web.UI.MouseTool.SelectText:default:break;case IPCC.Web.UI.MouseTool.HandPan:var i=e.rawEvent.wheelDelta;e.preventDefault(),i<0?t.zoomOut(1.5):t.zoomIn(1.5)}else e.preventDefault(),g.scrollTop-=.72*e.rawEvent.wheelDelta;if(S===IPCC.Web.UI.MouseTool.Magnifier){if(I&&I._vU){I._vU.hideMagnifier();var A=IPCC._j._ub(IPCC._j.Magnifier);l.style.cursor=A,I._vU.display()}m=!1}else S===IPCC.Web.UI.MouseTool.RectangleZoom?I&&I._vU&&(I._vU.hideSelection(),I._vU.display(),m=!1):S===IPCC.Web.UI.MouseTool.SelectText&&Ae()})),IPCC.Web.UI._Ox.addHandler(g,\\\"DOMMouseScroll\\\",(function(){if(S===IPCC.Web.UI.MouseTool.Magnifier){if(I&&I._vU){I._vU.hideMagnifier();var e=IPCC._j._ub(IPCC._j.Magnifier);l.style.cursor=e,I._vU.display()}m=!1}else S===IPCC.Web.UI.MouseTool.RectangleZoom?I&&I._vU&&(I._vU.hideSelection(),I._vU.display(),m=!1):S===IPCC.Web.UI.MouseTool.SelectText&&Ae()})),g.onscroll=i?Ct:ft,l.setAttribute(\\\"id\\\",p+\\\"_ListContainer\\\"),g.setAttribute(\\\"id\\\",p+\\\"_ListWrapper\\\"),p+\\\"_ListWrapper\\\",(u=Me()).className=\\\"pccPageListComments pccHidden\\\",u.setAttribute(\\\"id\\\",p+\\\"_CommentsPanel\\\");var ne=[];if(IPCC._o._iJ?ne.push(\\\"touchend\\\"):ne.push(\\\"click\\\"),IPCC._o.forEach(ne,(function(e){IPCC.Web.UI._Ox.addHandler(u,e,te)})),h.appendChild(l),h.appendChild(u),g.appendChild(h),f.appendChild(g),navigator.userAgent.match(\\\"MSIE 10\\\")&&10===document.documentMode){var re,ae=\\\"\\\",se=\\\"\\\",oe=\\\"\\\",ce=\\\"\\\",ge=function(){re=getComputedStyle(f),oe=re.getPropertyValue(\\\"width\\\"),ce=re.getPropertyValue(\\\"height\\\"),oe===ae&&ce===se||(ae=oe,se=ce,g.style.width=ae,g.style.height=se)};setInterval(ge,1e3),window.addEventListener(\\\"resize\\\",ge),ge(),t._Zia=ge}var he=IPCC._o._Sq;document.documentElement.getBoundingClientRect&&Array.prototype.forEach&&he&&window.addEventListener&&document.querySelector&&function(e){var A=function(){},n=1;function r(t,i,A,n){e.style[\\\"-ms-transform\\\"]=t,e.style[\\\"-moz-transform\\\"]=t,e.style[\\\"-webkit-transform\\\"]=i,e.style.transform=i,e.style[\\\"-ms-transform-origin\\\"]=A,e.style[\\\"-moz-transform-origin\\\"]=A,e.style[\\\"-webkit-transform-origin\\\"]=A,e.style[\\\"transform-origin\\\"]=A,e.style.overflow=n||\\\"\\\"}function a(){r(\\\"scale(1,1) translate(0px,0px)\\\",\\\"scale3d(1,1,1) translate3d(0px,0px,0px)\\\",\\\"0% 0%\\\",\\\"auto\\\")}function s(i,n,s,o,c){var g=-n.x/i-s.x,h=-n.y/i-s.y;return r(\\\"scale(\\\"+i+\\\", \\\"+i+\\\") translate(\\\"+g+\\\"px,\\\"+h+\\\"px)\\\",\\\"scale3d(\\\"+i+\\\",\\\"+i+\\\",1) translate3d(\\\"+g+\\\"px,\\\"+h+\\\"px,0px)\\\",c.x+\\\"px \\\"+c.y+\\\"px\\\",\\\"visible\\\"),A=function(){var A=e.getBoundingClientRect(),n={x:(e.clientWidth/2-A.left+o.left)/i,y:(e.clientHeight/2-A.top+o.top)/i};V===IPCC.PageLayout.VerticalScrollDirection&&o._Hta&&(n.x=n.x-o._Hta/2),a(),t._tia(i,n,void 0,IPCC.ScaleTrigger.Pinch),ie=!1},e}function o(e,t,i,A){return Math.sqrt((e-=i)*e+(t-=A)*t)}function c(e,t,i,A){return{x:(e+i)/2,y:(t+A)/2}}function g(e,t){return{x:e.x-t.x,y:e.y-t.y}}a();var h=!1;e.addEventListener(\\\"touchstart\\\",(function(e){ie||h||2!==e.touches.length||C(e)}));var l,u=function(e){var t={};return t.identifier=e.pointerId,t.x=t.clientX=e.clientX,t.y=t.clientY=e.clientY,t.preventDefault=e.preventDefault,t.stopPropagation=e.stopPropagation,t.rawEvent=e,t.touches=[t],t.changedTouches=[t],t},d=!1,I={};function C(t){ie=!0;var r={x:e.scrollLeft,y:e.scrollTop},a=e.getBoundingClientRect(),l=ct(),C=e.querySelector(\\\".pccPageListItem\\\");V===IPCC.PageLayout.VerticalScrollDirection&&C.clientWidthl.maxFactor&&(n=l.maxFactor/v),f.set(g(w,i)),p||(p=!0,S())}}function k(){h=!1,p=!1,e.removeEventListener(\\\"touchmove\\\",b),e.removeEventListener(\\\"touchend\\\",k),d&&(I.off(\\\"touchmove\\\",x),I.off(\\\"touchend\\\",D)),m&&E?i(A):ie=!1}var x=function(e){var t=u(e.rawEvent);t.preventDefault=function(){},b(t)},D=function(e){k(u(e.rawEvent))};function S(){p&&i((function(){p&&(s(n,f,r,a,w),S())}))}e.addEventListener(\\\"touchmove\\\",b),e.addEventListener(\\\"touchend\\\",k),d&&(I.on(\\\"touchmove\\\",x),I.on(\\\"touchend\\\",D))}PCCViewer.EventEmitter.extend(I),e.addEventListener(IPCC._o._Rq.down,(function(e){if(d=!0,e=u(e),l){var t={};t.touches=[l,e],t.changedTouches=[l,e],t.preventDefault=function(){l.rawEvent.preventDefault(),e.rawEvent.preventDefault()},t.stopPropagation=function(){l.rawEvent.stopPropagation(),e.rawEvent.stopPropagation()},C(t)}else l=e})),e.addEventListener(IPCC._o._Rq.move,(function(e){I.trigger(\\\"touchmove\\\",{rawEvent:e})})),e.addEventListener(IPCC._o._Rq.up,(function(e){I.trigger(\\\"touchend\\\",{rawEvent:e}),l=void 0}))}(g);!function(e,i){var A,n,r,a,s,o,c,g=function(e){var t=e.rawEvent,i=t.touches[0]||t.changedTouches[0];return e.clientX=i.clientX,e.clientY=i.clientY,e.preventDefault=function(){t.preventDefault()},e.stopPropagation=function(){t.stopPropagation()},e},h=function(e,i){var n,r=new IPCC.Web.UI.MouseEventArgs,a=\\\"touchstart\\\"===e?\\\"mouseDown\\\":\\\"touchend\\\"===e?\\\"mouseUp\\\":null,s=\\\"touchstart\\\"===e?j:\\\"touchmove\\\"===e?X:\\\"touchend\\\"===e?ee:null;if(A=x(i.clientX,i.clientY),\\\"doubleTap\\\"===e&&A&&A._vU&&A._vU._zqa(e,i),(n=N(i))&&\\\"texth\\\"===n.substring(0,5))return i.preventDefault(),i.stopPropagation(),\\\"touchstart\\\"===e&&(C=i),void(s&&s(i,i.clientX,i.clientY,0));switch(S){case IPCC.Web.UI.MouseTool.CreateLineMark:case IPCC.Web.UI.MouseTool.CreatePolylineMark:case IPCC.Web.UI.MouseTool.CreateRectangleMark:case IPCC.Web.UI.MouseTool.CreateRectangleRedactionMark:case IPCC.Web.UI.MouseTool.CreateEllipseMark:case IPCC.Web.UI.MouseTool.CreateTextMark:case IPCC.Web.UI.MouseTool.CreateTextInputSignatureMark:case IPCC.Web.UI.MouseTool.CreateTextAreaSignatureMark:case IPCC.Web.UI.MouseTool.CreateStampMark:case IPCC.Web.UI.MouseTool.CreateFreehandMark:case IPCC.Web.UI.MouseTool.EditMarks:case IPCC.Web.UI.MouseTool.CreateImageStampAnnotationMark:case IPCC.Web.UI.MouseTool.CreateImageStampRedactionMark:A&&A._vU&&A._vU._zqa(e,i),\\\"mouseUp\\\"===a?$(i,r):\\\"mouseDown\\\"===a&&K(i,r),t._Rd(e,r);break;case IPCC.Web.UI.MouseTool.SelectText:case IPCC.Web.UI.MouseTool.CreateHighlightTextMark:case IPCC.Web.UI.MouseTool.CreateTextSelectionRedaction:case IPCC.Web.UI.MouseTool.CreateTextHyperlinkMark:case IPCC.Web.UI.MouseTool.CreateStrikethroughMark:if(i.preventDefault(),i.stopPropagation(),\\\"touchstart\\\"===e&&(C=i,n)){t._Ija();break}s&&s(i,i.clientX,i.clientY,0);break;case IPCC.Web.UI.MouseTool.Magnifier:case IPCC.Web.UI.MouseTool.RectangleZoom:i.preventDefault(),i.stopPropagation(),\\\"touchstart\\\"===e&&(C=i),s&&s(i,i.clientX,i.clientY,0);break;case IPCC.Web.UI.MouseTool.HandPan:void 0===n&&(n=N(i));var o=L(i,{});n&&P&&(o&&o._Dd.get_interactionMode()===IPCC.Web.UI.MarkInteractionMode.SelectionDisabled||(\\\"touchstart\\\"===e?M(i,n,A):\\\"touchmove\\\"===e?A&&A._vU&&A._vU._zqa(e,i):\\\"touchend\\\"===e&&(A&&A._vU&&A._vU._zqa(e,i),F(A))))}};IPCC.Web.UI._Ox.addHandler(e,\\\"touchstart\\\",(function(e){if(e.rawEvent.touches.length>1)return clearTimeout(a),void(a=r=n=void 0);e=g(e),n=e,S===IPCC.Web.UI.MouseTool.CreatePolylineMark&&e.preventDefault(),r=function(){h(\\\"touchstart\\\",e),a=r=n=void 0},a=setTimeout((function(){r()}),200)})),IPCC.Web.UI._Ox.addHandler(e,\\\"touchmove\\\",(function(e){e.rawEvent.touches.length>1||(c=e,n&&a&&(clearTimeout(a),r()),function(){var e=g(c);h(\\\"touchmove\\\",e)}())})),IPCC.Web.UI._Ox.addHandler(e,\\\"touchend\\\",(function(e){e=g(e),!1;var t,i=function(){s=o=void 0,!N(e)&&S===IPCC.Web.UI.MouseTool.HandPan&&P&&A&&U(A._vU)};if(n&&a)return clearTimeout(a),S===IPCC.Web.UI.MouseTool.CreatePolylineMark?(t=r,s&&function(){if(!o)return!1;var t=o.clientX-e.clientX,i=o.clientY-e.clientY;return t*t+i*i<2500}()?(clearTimeout(s),o=s=void 0,t(),h(\\\"touchend\\\",e),h(\\\"doubleTap\\\",e)):(s=setTimeout((function(){t(),h(\\\"touchend\\\",e),i()}),300),o=e)):i(),void(a=r=n=void 0);h(\\\"touchend\\\",e)}))}(l)}}function Ct(){z!==IPCC.ViewMode.SinglePage&&(ie||(Z&&clearTimeout(Z),X&&a(X),Bt(),Z=setTimeout((function(){Z=null,_&&(X=i((function(){ie||We()})))}),40)))}function ft(){if(!1!==_&&z!==IPCC.ViewMode.SinglePage){kt(),null!==Z&&clearTimeout(Z);var e=g.scrollHeight/c.length,t=0,i=(t=V===IPCC.PageLayout.VerticalScrollDirection?g.scrollTop:g.scrollLeft)-$;$=t;var A=(new Date).getTime()-te;A>1e3&&(A=1e3),ee=i/e*1e3/A,Z=setTimeout((function(){Z=null,_&&(te=(new Date).getTime(),We())}),1e3),te=(new Date).getTime(),0!==ee&&Math.abs(ee)0&&((t=document.createElement(\\\"div\\\")).className=\\\"pccPageListItemLoadingContent\\\",t.innerHTML=b,i.appendChild(t)))}function Bt(){var e=wt({_Ena:g.scrollTop,_Fna:g.scrollLeft,_Gna:g.clientHeight,_Hna:g.clientWidth,_Ina:g.scrollWidth,_Jna:g.scrollHeight})._tua;if(_&&!1===w&&y!==e&&e>=0){var i=c[y=e],A=new IPCC.PageEventArgs;A.imGearPage=t.get_currentPage(),A.pageReference={documentPageNumber:i._fb+1,documentID:i._Ka._hb.get_documentIdentifier()},A.pageNodeID=i._gb,t._Rd(\\\"currentPageChanged\\\",A)}}function mt(e,t){var i=e._La||F,A=e._Ma||T;if(e._Za%180){var n=i;i=A,A=n}var r=e._Na||N;return{_of:i*(v*me/r),_pf:A*(v*me/r),_uua:r,_pm:t}}function Et(e){return IPCC._o.reduce(e,(function(e,t,i){return e[i]=mt(t,i),e}),{})}function Qt(e){var t,i;V===IPCC.PageLayout.VerticalScrollDirection?(t=\\\"_pf\\\",i=U):(t=\\\"_of\\\",i=G+H);var A=Et(c),n=V===IPCC.PageLayout.VerticalScrollDirection?U:G,r=!1;return IPCC._o.forEach(A,(function(A,a){A._pm===e&&(r=!0),r||(n+=A[t]+i)})),n-i/2}function _t(e){for(var t=IPCC._o.map(e._Xx,(function(e){return+e._pm})).sort(),i=t[0],A=t[t.length-1],n=c.length,r=oe;r;r--)A+=1,(i-=1)>=0&&t.unshift(i),Aa&&(e._dma=!0,d.push(e));var o=Math.min(Math.abs(i-h),Math.abs(A-h));ih?(l=0,u=t):o=0&&t.unshift(i-A);return t}function kt(){if(z===IPCC.ViewMode.SinglePage)return bt();if(!(\\\"\\\"===g||g.clientHeight<=0)){var e=wt({_Ena:g.scrollTop,_Fna:g.scrollLeft,_Gna:g.clientHeight,_Hna:g.clientWidth,_Ina:g.scrollWidth,_Jna:g.scrollHeight});return w=!1,e}}this._Pna=function(e){e.sort((function(e,t){return e-t}));for(var i=0,A=e.length-1;A>=0;A--){var n=e[A];n0?t.scrollToPage(Math.min(y-i,c.length-1)):(w=!1,Bt()),setTimeout((function(){_&&(rt(Ce,!0),at(Ce,!0))}),0),We()},this._ifa=function(){return c.length},this._Una=function(){return y},this._tja=function(e,t){var i=!1,A=0;for(A=0;A{var t=function(e,t){var i=this;this._kb=e,this._Wd=t,this._Yd=function(){return i._kb},this._Zd=function(){return i._Wd}};t.prototype.get_propertyName=function(){return this._kb},t.prototype.get_propertyInfo=function(){return this._Wd},e.exports=t},897:e=>{var t=function(){return this._Vh=1,this.width=0,this.height=0,this._oi=0,this._pi=0,this.pool=void 0,this};t.prototype._qi=function(e){if(e.width<1||e.height<1)return[];var t,i,A=Math.floor(e.x*this._Vh),n=Math.floor(e.y*this._Vh),r=Math.ceil((e.x+e.width)*this._Vh),a=Math.ceil((e.y+e.height)*this._Vh),s=[],o=this.tiles.length;for(t=0;t=A&&i.y<=a&&i.bottom>=n&&s.push(i);return s},e.exports=t},2332:e=>{var t=function(){return this.x=0,this.y=0,this.right=0,this.bottom=0,this._of=0,this._pf=0,this._xi=0,this._yi=0,this.url=\\\"\\\",this.poolItem=void 0,this.level=void 0,this};t.prototype.unlock=function(){this.level.pool._ki(this)},t.prototype.lock=function(){this.level.pool.lockTile(this)},t.prototype.relock=function(){return this.level.pool._gi(this)},t.prototype.get_isLockedAndLoaded=function(){return!(void 0===this.poolItem||!this.poolItem.loaded)},t.prototype.toString=function(){var e=\\\"x:\\\"+this.x.toString()+\\\", y:\\\"+this.y.toString()+\\\", right:\\\"+this.right.toString()+\\\", bottom:\\\"+this.bottom.toString();return this.level&&(e=\\\"scale:\\\"+this.level._Vh.toString()+\\\", \\\"+e),e},e.exports=t},1611:e=>{var t=function(){this._bd=!1,this._cd=!1};t.prototype._dd=function(e){this._cd=e},t.prototype._ed=function(){this._cd=!1},t.prototype._fd=function(){this._bd&&(this._cd._gd()._Ce(),this._bd=!1,this._cd._rd())},t.prototype._id=function(){this._fd(),this._cd._rd()},t.prototype._jd=function(e){if(this._fd(),0===e.domEvent.button){var t=this._cd._gd();this._bd=!0,t._De(e.constrainedImagePoint),this._Ke=e.windowPoint,this._cd._rd()}},t.prototype._sd=function(e){(0!==e.domEvent.button&&this._fd(),this._bd)&&(this._cd._gd()._Ee(e.constrainedImagePoint),this._cd._rd())},t.prototype._wd=function(e){if(this._bd&&0===e.domEvent.button){var t=e.windowPoint.x-this._Ke.x,i=t*t;if((i+=(t=e.windowPoint.y-this._Ke.y)*t)>25){var A=this._cd,n=A._gd(),r=n._xf(),a=A._Ud(),s=a.width,o=a.height,c=A._Af();n._Ee(e.constrainedImagePoint);var g=n._Tf();n._Ce(),A._Rd(\\\"userModifiedViewState\\\",{}),r._Uf(c,a,g),r._zf(c,a),n._Bf(r),A._rd(),s===a.width&&o===a.height||((r=n._xf())._Uf(c,a,g),r._zf(c,a),n._Bf(r))}}this._fd()},t.prototype._Sd=function(e){var t=this._cd._Ud();(e.windowPoint.x<=0||e.windowPoint.x>=t.width-2)&&this._fd(),(e.windowPoint.y<=0||e.windowPoint.y>=t.height-2)&&this._fd()},t.prototype._Vd=function(){this._fd()},e.exports=t},633:e=>{e.exports={paramName:\\\"Parameter name: {0}\\\",svctype:\\\"License\\\",argumentNull:\\\"Value cannot be null.\\\",spc:\\\" \\\",actualValue:\\\"Actual value was {0}.\\\",fwdslash:\\\"/\\\",prodInfo:\\\"prodInfoPass\\\",argumentOutOfRange:\\\"Specified argument was out of the range of valid values.\\\",argumentTypeWithTypes:\\\"Object of type '{0}' cannot be converted to type '{1}'.\\\",argumentType:\\\"Object cannot be converted to the required type.\\\",invalidOperation:\\\"Operation is not valid due to the current state of the object.\\\",notImplemented:\\\"The method or operation is not implemented.\\\",argument:\\\"Value does not fall within the expected range.\\\",prodFailInfo:\\\"prodInfoFail\\\",svcReqStr:\\\"\\\",viewer:\\\"ClientViewer\\\",querySymb:\\\"?\\\",version:\\\"v=\\\",iv:\\\"iv=\\\",param:\\\"p=\\\"}},3317:e=>{var t=function(){};t.prototype._dd=function(e){this._cd=e,this._ld=e._gd()},t.prototype._ed=function(){this._cd=!1},t.prototype._fd=function(){},e.exports=t},2018:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={Pinch:\\\"Pinch\\\",Zoom:\\\"Zoom\\\",Fit:\\\"Fit\\\",ViewMode:\\\"ViewMode\\\"},n.registerEnum(\\\"IPCC.ScaleTrigger\\\",!1),e.exports=n},5786:e=>{var t=function(){this._bd=!1,this._cd=!1};t.prototype._dd=function(e){this._cd=e},t.prototype._ed=function(){this._cd=!1},t.prototype._fd=function(){this._bd&&(this._cd._Ce(),this._bd=!1,this._cd._rd())},t.prototype._id=function(){this._fd()},t.prototype._jd=function(e){if(this._fd(),0===e.domEvent.button){var t=this._cd._gd();this._bd=!0,t._De(e.constrainedImagePoint),this._cd._rd()}},t.prototype._sd=function(e){(0!==e.domEvent.button&&this._fd(),this._bd)&&(this._cd._gd()._Ee(e.constrainedImagePoint),this._cd._rd())},t.prototype._wd=function(e){0===e.domEvent.button&&(this._bd=!1),this._fd()},t.prototype._Sd=function(e){var t=this._cd._Ud();(e.windowPoint.x<=0||e.windowPoint.x>=t.width-2)&&this._fd(),(e.windowPoint.y<=0||e.windowPoint.y>=t.height-2)&&this._fd()},t.prototype._Vd=function(){this._fd()},e.exports=t},2151:e=>{var t=function(){this._bd=!1,this._cd=!1};t.prototype._dd=function(e){this._cd=e},t.prototype._ed=function(){this._cd=!1},t.prototype._fd=function(){this._bd&&(this._cd._gd()._hd(),this._bd=!1)},t.prototype._id=function(){this._fd()},t.prototype._jd=function(e){if(0===e.domEvent.button){var t=this._cd._gd();this._bd=!0;var i=this._cd._nd(e.constrainedImagePoint);if(this._cd._od=i,!i)return;this._cd._pd(i),t._pd(i),t._qd(void 0),this._cd._rd()}},t.prototype._sd=function(e){var t=this._cd;if(t._td=!0,0!==e.domEvent.button&&this._fd(),this._bd){var i=t._gd(),A=t._nd(e.constrainedImagePoint);if(i._vd()===A)return;t._qd(A),t._rd()}},t.prototype._wd=function(e){0===e.domEvent.button&&(this._bd=!1);var t=this._cd,i=this._cd._gd(),A=i._yd.length;if(0!==A){var n=i._yd[0]._md,r=i._yd[A-1]._md;if(!0===t._Bd){var a;n>r&&(n=r);var s=IPCC._g();for(this._Dd=new IPCC.Web.UI.Mark(IPCC.Web.UI.MarkType.HighlightText),this._Dd._zd=n,this._Dd._Ed=t._Fd(),this._Dd._Gd=A,this._Dd.set_fillColor(t._Hd),this._Dd._Id=\\\"y\\\",this._Dd._Jd=s,a=0;a0&&this._cd._Od().addMark(this._Dd),t._Pd().removeAllMarks()}A=i._yd.length;var h=new IPCC.Web.UI.TextSelectedEventArgs;h.text=t._Fd(),t._Rd(\\\"selectTextMouseToolCompleted\\\",h),t._rd(),this._fd()}else this._fd()},t.prototype._Sd=function(e){var t=this._cd._Ud();(e.windowPoint.x<=0||e.windowPoint.x>=t.width-2)&&this._fd(),(e.windowPoint.y<=0||e.windowPoint.y>=t.height-2)&&this._fd()},t.prototype._Vd=function(){this._fd()},e.exports=t},7766:e=>{var t=function(){this._cd=!1,this._je=0,this._ke=1,this._le=2,this._me=3};t.prototype._dd=function(e){this._cd=e,this._ne=this._je},t.prototype._ed=function(){this._cd=!1},t.prototype._fd=function(){this._ne=this._je},t.prototype._oe=function(e){if(new Date-this._qe<750){var t=this._se.x-e.windowPoint.x,i=this._se.y-e.windowPoint.y;if(t*t+i*i<2500)return!0}return!1},t.prototype._ve=function(e){this._qe=new Date,this._se=new IPCC.Web.UI.Point(e.windowPoint.x,e.windowPoint.y)},t.prototype._we=function(e){1===e.domEvent.rawEvent.touches.length?(this._ne===this._le&&this._oe(e)?this._ne=this._me:this._ne=this._ke,this._ve(e),this._cd._ye(\\\"_jd\\\",e)):(this._ne=this._je,this._cd._ye(\\\"_id\\\",e))},t.prototype._ze=function(e){1===e.domEvent.rawEvent.touches.length&&this._cd._ye(\\\"_sd\\\",e)},t.prototype._Ae=function(e){0===e.domEvent.rawEvent.touches.length&&(this._oe(e)?this._ne===this._me?(this._ne=this._je,this._cd._ye(\\\"_wd\\\",e),this._cd._ye(\\\"_onMouseDoubleClick\\\",e)):(this._ve(e),this._ne=this._le,this._cd._ye(\\\"_wd\\\",e)):(this._ne=this._je,this._cd._ye(\\\"_wd\\\",e)))},t.prototype._Be=function(e){this._cd._ye(\\\"_id\\\",e)},e.exports=t},8686:e=>{var t=function(e,t,i,A){return IPCC.Web.UI.Rectangle.call(this,0,0,0,0),this.width=e,this.height=t,this._Pf=i,this._Nf=A,this};t.prototype.toString=function(){return\\\"Space(\\\"+this.width+\\\" x \\\"+this.height+\\\", \\\"+this._Pf+\\\", \\\"+this._Nf+\\\")\\\"},e.exports=t},3509:e=>{var t=function(e){this._be=null!=e&&\\\"\\\"!==e?[e.toString()]:[],this._Xb={},this._ce=0};t.prototype._de=function(e){this._be[this._be.length]=e},t.prototype._ee=function(e){this._be[this._be.length]=null==e||\\\"\\\"===e?\\\"\\\\r\\\\n\\\":e+\\\"\\\\r\\\\n\\\"},t.prototype._fe=function(){this._be=[],this._Xb={},this._ce=0},t.prototype._ge=function(){return 0===this._be.length||\\\"\\\"===this.toString()},t.prototype._he=function(e){e=e||\\\"\\\";var t=this._be;this._ce!==t.length&&(this._Xb={},this._ce=t.length);var i=this._Xb;if(void 0===i[e]){if(\\\"\\\"!==e)for(var A=0;A{function A(e){return A=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},A(e)}function n(){\\\"use strict\\\";\\n/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */n=function(){return e};var e={},t=Object.prototype,i=t.hasOwnProperty,r=\\\"function\\\"==typeof Symbol?Symbol:{},a=r.iterator||\\\"@@iterator\\\",s=r.asyncIterator||\\\"@@asyncIterator\\\",o=r.toStringTag||\\\"@@toStringTag\\\";function c(e,t,i){return Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},\\\"\\\")}catch(e){c=function(e,t,i){return e[t]=i}}function g(e,t,i,A){var n=t&&t.prototype instanceof u?t:u,r=Object.create(n.prototype),a=new w(A||[]);return r._NM=function(e,t,i){var A=\\\"suspendedStart\\\";return function(n,r){if(\\\"executing\\\"===A)throw new Error(\\\"Generator is already running\\\");if(\\\"completed\\\"===A){if(\\\"throw\\\"===n)throw r;return v()}for(i.method=n,i.arg=r;;){var a=i.delegate;if(a){var s=Q(a,i);if(s){if(s===l)continue;return s}}if(\\\"next\\\"===i.method)i.sent=i._OM=i.arg;else if(\\\"throw\\\"===i.method){if(\\\"suspendedStart\\\"===A)throw A=\\\"completed\\\",i.arg;i.dispatchException(i.arg)}else\\\"return\\\"===i.method&&i.abrupt(\\\"return\\\",i.arg);A=\\\"executing\\\";var o=h(e,t,i);if(\\\"normal\\\"===o.type){if(A=i.done?\\\"completed\\\":\\\"suspendedYield\\\",o.arg===l)continue;return{value:o.arg,done:i.done}}\\\"throw\\\"===o.type&&(A=\\\"completed\\\",i.method=\\\"throw\\\",i.arg=o.arg)}}}(e,i,a),r}function h(e,t,i){try{return{type:\\\"normal\\\",arg:e.call(t,i)}}catch(e){return{type:\\\"throw\\\",arg:e}}}e.wrap=g;var l={};function u(){}function d(){}function I(){}var C={};c(C,a,(function(){return this}));var f=Object.getPrototypeOf,p=f&&f(f(b([])));p&&p!==t&&i.call(p,a)&&(C=p);var B=I.prototype=u.prototype=Object.create(C);function m(e){[\\\"next\\\",\\\"throw\\\",\\\"return\\\"].forEach((function(t){c(e,t,(function(e){return this._NM(t,e)}))}))}function E(e,t){function n(r,a,s,o){var c=h(e[r],e,a);if(\\\"throw\\\"!==c.type){var g=c.arg,l=g.value;return l&&\\\"object\\\"==A(l)&&i.call(l,\\\"__await\\\")?t.resolve(l.__await).then((function(e){n(\\\"next\\\",e,s,o)}),(function(e){n(\\\"throw\\\",e,s,o)})):t.resolve(l).then((function(e){g.value=e,s(g)}),(function(e){return n(\\\"throw\\\",e,s,o)}))}o(c.arg)}var r;this._NM=function(e,i){function A(){return new t((function(t,A){n(e,i,t,A)}))}return r=r?r.then(A,A):A()}}function Q(e,t){var i=e.iterator[t.method];if(void 0===i){if(t.delegate=null,\\\"throw\\\"===t.method){if(e.iterator.return&&(t.method=\\\"return\\\",t.arg=void 0,Q(e,t),\\\"throw\\\"===t.method))return l;t.method=\\\"throw\\\",t.arg=new TypeError(\\\"The iterator does not provide a 'throw' method\\\")}return l}var A=h(i,e.iterator,t.arg);if(\\\"throw\\\"===A.type)return t.method=\\\"throw\\\",t.arg=A.arg,t.delegate=null,l;var n=A.arg;return n?n.done?(t[e.resultName]=n.value,t.next=e.nextLoc,\\\"return\\\"!==t.method&&(t.method=\\\"next\\\",t.arg=void 0),t.delegate=null,l):n:(t.method=\\\"throw\\\",t.arg=new TypeError(\\\"iterator result is not an object\\\"),t.delegate=null,l)}function _(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function y(e){var t=e.completion||{};t.type=\\\"normal\\\",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:\\\"root\\\"}],e.forEach(_,this),this.reset(!0)}function b(e){if(e){var t=e[a];if(t)return t.call(e);if(\\\"function\\\"==typeof e.next)return e;if(!isNaN(e.length)){var A=-1,n=function t(){for(;++A=0;--n){var r=this.tryEntries[n],a=r.completion;if(\\\"root\\\"===r.tryLoc)return A(\\\"end\\\");if(r.tryLoc<=this.prev){var s=i.call(r,\\\"catchLoc\\\"),o=i.call(r,\\\"finallyLoc\\\");if(s&&o){if(this.prev=0;--A){var n=this.tryEntries[A];if(n.tryLoc<=this.prev&&i.call(n,\\\"finallyLoc\\\")&&this.prev=0;--t){var i=this.tryEntries[t];if(i.finallyLoc===e)return this.complete(i.completion,i.afterLoc),y(i),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc===e){var A=i.completion;if(\\\"throw\\\"===A.type){var n=A.arg;y(i)}return n}}throw new Error(\\\"illegal catch attempt\\\")},delegateYield:function(e,t,i){return this.delegate={iterator:b(e),resultName:t,nextLoc:i},\\\"next\\\"===this.method&&(this.arg=void 0),l}},e}function r(e,t,i,A,n,r,a){try{var s=e[r](a),o=s.value}catch(e){return void i(e)}s.done?t(o):Promise.resolve(o).then(A,n)}var a=i(680),s=function(e,t){this._TM=!1,this._UM=!1,this._VM=!0,this._WM=!1,this._XM=!1,this._YM=0,this._ZM=0;var i=this;this._aN=\\\"opacity\\\",this._bN=function(e){return e.toString()};var A,s,o=function(e,t,i,A,n,r){var a;this._cd._rl(),e._fN.setAttribute(\\\"width\\\",i.width),e._fN.setAttribute(\\\"height\\\",i.height),e._VK.setAttribute(\\\"width\\\",i.width),e._VK.setAttribute(\\\"height\\\",i.height),a=t._jj().toString()+\\\",\\\"+t._kj().toString()+\\\",\\\"+t._lj().toString()+\\\",\\\"+t._mj().toString()+\\\",\\\"+(t._nj()+n).toString()+\\\",\\\"+(t._oj()+r).toString(),this._gN(e._hN,\\\"transform\\\",\\\"matrix(\\\"+a+\\\")\\\")};this._lN=function(t){var i=e._gd(),A=i._Sg();void 0===t._jN&&function(e){if(e._jN=[],e._fN){var t=e._fN.getElementsByTagName(\\\"path\\\"),i=e._fN.getElementsByTagName(\\\"g\\\");IPCC._o.forEach(t,A),IPCC._o.forEach(i,A)}function A(t,i){t.hasAttribute(\\\"data-pcc-mark\\\")||(t.hasAttribute(\\\"stroke-width\\\")||t.style.strokeWidth)&&(t.originalStrokeWidth=t.getAttribute(\\\"stroke-width\\\")||t.style.strokeWidth,e._jN.push(t))}}(t),1===A?IPCC._o.forEach(t._jN,(function(e,t){if(e.hasAttribute(\\\"stroke-width\\\"))e.setAttribute(\\\"stroke-width\\\",parseFloat(e.originalStrokeWidth));else{var i=parseFloat(e.originalStrokeWidth);e.style.strokeWidth=i}})):IPCC._o.forEach(t._jN,(function(e,t){if(e.hasAttribute(\\\"stroke-width\\\"))e.setAttribute(\\\"stroke-width\\\",parseFloat(e.originalStrokeWidth*A));else{var i=parseFloat(e.originalStrokeWidth);e.style.strokeWidth=i*A}})),i._Ug(!1)},this._vN=function(t){var i=e._gd(),A=i._Og(),n=i._Qg();0===n&&1===A?t._hN.removeAttribute(\\\"filter\\\",\\\"url(#\\\"+t._wN+\\\")\\\"):t._hN.setAttribute(\\\"filter\\\",\\\"url(#\\\"+t._wN+\\\")\\\"),function(e,t){e._oN.setAttribute(\\\"exponent\\\",t),e._pN.setAttribute(\\\"exponent\\\",t),e._qN.setAttribute(\\\"exponent\\\",t)}(t,A),function(e,t){var i,A=t/841*-1;i=IPCC._o._gJ?(i=\\\"{00} {01} {02} {10} {11} {12} {20} {21} {22}\\\").replace(\\\"{00}\\\",A).replace(\\\"{01}\\\",A).replace(\\\"{02}\\\",A).replace(\\\"{10}\\\",A).replace(\\\"{11}\\\",1).replace(\\\"{12}\\\",A).replace(\\\"{20}\\\",A).replace(\\\"{21}\\\",A).replace(\\\"{22}\\\",A):(i=\\\"{00} {01} {02} {03} {04} {10} {11} {12} {13} {14} {20} {21} {22} {23} {24} {30} {31} {32} {33} {34} {40} {41} {42} {43} {44}\\\").replace(\\\"{00}\\\",0).replace(\\\"{01}\\\",0).replace(\\\"{02}\\\",0).replace(\\\"{03}\\\",0).replace(\\\"{04}\\\",0).replace(\\\"{10}\\\",0).replace(\\\"{11}\\\",A).replace(\\\"{12}\\\",A).replace(\\\"{13}\\\",A).replace(\\\"{14}\\\",0).replace(\\\"{20}\\\",0).replace(\\\"{21}\\\",A).replace(\\\"{22}\\\",1).replace(\\\"{23}\\\",A).replace(\\\"{24}\\\",0).replace(\\\"{30}\\\",0).replace(\\\"{31}\\\",A).replace(\\\"{32}\\\",A).replace(\\\"{33}\\\",A).replace(\\\"{34}\\\",0).replace(\\\"{40}\\\",0).replace(\\\"{41}\\\",0).replace(\\\"{42}\\\",0).replace(\\\"{43}\\\",0).replace(\\\"{44}\\\",0),e._uN.setAttribute(\\\"kernelMatrix\\\",i)}(t,n)},this._zN=function(t,i,n,r,a,c){if(t._AN.match(\\\"maglevel\\\"))o.apply(this,arguments);else{var g=t._BN.parentElement.getBoundingClientRect(),h=g.width/r.width,l=function(e){return Math.abs(e)<1e-14},u=0,d=0,I=function(){var e=i._kj();l(e)&&(e=0);var t=i._lj();l(t)&&(t=0);var A=i._jj(),n=e>=0&&t<0?90:e<0&&t>=0?270:A<0?180:0;switch(n){case 90:u=g.width;break;case 180:u=g.width,d=g.height;break;case 270:d=g.height}return n*(Math.PI/180)},C=I();if(1!==parseInt(C,10)&&4!==parseInt(C,10)||(h=g.height/r.width),h!==A||C!==s){A=h,s=C;var f=1,p=0;0!==C&&(f=Math.cos(C),p=Math.sin(C));var B={_xj:f*h,_yj:f*h,_Xj:p*h,_Yj:-1*p*h,_fj:u,_gj:d},m=new IPCC._r(B._xj,B._Xj,B._Yj,B._yj,B._fj,B._gj);i._zg(m),e._gd()._Bf(i);var E=\\\"matrix({scaleX},{skewX},{skewY},{scaleY},{moveX},{moveY})\\\";E=E.replace(\\\"{scaleX}\\\",B._xj).replace(\\\"{scaleY}\\\",B._yj).replace(\\\"{skewX}\\\",B._Xj).replace(\\\"{skewY}\\\",B._Yj).replace(\\\"{moveX}\\\",B._fj).replace(\\\"{moveY}\\\",B._gj),this._gN(t._hN,\\\"transform\\\",E)}}},this._GN=function(){A=void 0,s=void 0},this._HN(e),this._rE=function(e){return new IPCC._L(e.clientWidth,e.clientHeight,96,96)},this._EC=function(e){e.preventDefault(),i._jd(e)},this._FC=function(e){e.preventDefault(),i._sd(e)},this._GC=function(e){e.preventDefault(),i._wd(e)},this._JN=function(e){i._jd(e)},this._HC=function(e){i._Le(e)},this._KN=function(e){i._sd(e)},this._LN=function(e){i._Vd(e)},this._MN=function(e){i._wd(e)},this._NN=function(e){i._Le(e)},this._ON=function(e){i._Cx(e)},this._PN=function(e){e.target!==document.activeElement&&i._QN(e)},this._RN=function(e){e.target!==document.activeElement&&i._SN(e)},this._Sd=function(t){try{t.preventDefault();var A=new IPCC.Web.UI.MouseEventArgs;A.domEvent=t,i._TN(A),e._kF(A)}catch(t){e._bv(\\\"mouseOut\\\",t)}},this._we=function(t){try{t.preventDefault();var A=new IPCC.Web.UI.MouseEventArgs;A.domEvent=t,i._TN(A),e._lF(A)}catch(t){e._bv(\\\"touchStart\\\",t)}},this._ze=function(t){try{t.preventDefault();var A=new IPCC.Web.UI.MouseEventArgs;A.domEvent=t,i._TN(A),e._mF(A)}catch(t){e._bv(\\\"touchMove\\\",t)}},this._Ae=function(t){try{t.preventDefault();var A=new IPCC.Web.UI.MouseEventArgs;A.domEvent=t,i._TN(A),e._nF(A)}catch(t){e._bv(\\\"touchEnd\\\",t)}},this._Be=function(t){try{t.preventDefault();var A=new IPCC.Web.UI.MouseEventArgs;A.domEvent=t,i._TN(A),e._oF(A)}catch(t){e._bv(\\\"touchCancel\\\",t)}},this._UN=function(t){try{t.preventDefault()}catch(t){e._bv(\\\"dragStart\\\",t)}},this._VN=function(){var i=e._kC().igElements._XN;IPCC.Web.UI._Ox.addHandler(i,\\\"mousewheel\\\",this._LN),IPCC.Web.UI._Ox.addHandler(i,\\\"DOMMouseScroll\\\",this._LN),t&&(IPCC.Web.UI._Ox.addHandler(i,\\\"touchstart\\\",this._we),IPCC.Web.UI._Ox.addHandler(i,\\\"touchmove\\\",this._ze),IPCC.Web.UI._Ox.addHandler(i,\\\"touchend\\\",this._Ae),IPCC.Web.UI._Ox.addHandler(i,\\\"touchcancel\\\",this._Be)),IPCC.Web.UI._Ox.addHandler(i,\\\"mouseout\\\",this._Sd),IPCC.Web.UI._Ox.addHandler(i,\\\"dragstart\\\",this._UN)},this._YN=function(){var i=e._kC().igElements._XN;IPCC.Web.UI._Ox.removeHandler(i,\\\"DOMMouseScroll\\\",this._LN),IPCC.Web.UI._Ox.removeHandler(i,\\\"mouseout\\\",this._Sd),t&&(IPCC.Web.UI._Ox.removeHandler(i,\\\"touchstart\\\",this._we),IPCC.Web.UI._Ox.removeHandler(i,\\\"touchmove\\\",this._ze),IPCC.Web.UI._Ox.removeHandler(i,\\\"touchend\\\",this._Ae),IPCC.Web.UI._Ox.removeHandler(i,\\\"touchcancel\\\",this._Be)),IPCC.Web.UI._Ox.removeHandler(i,\\\"dragstart\\\",this._UN)},this._kO=function(t,i,A,n){var r,a,s,o,c=function(e,t,i){var A,n=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",e);for(A in t&&n.setAttribute(\\\"id\\\",t),i)i.hasOwnProperty(A)&&n.setAttribute(A,i[A]);return n},g=c(\\\"svg\\\",null,{xmlns:\\\"http://www.w3.org/2000/svg\\\",version:\\\"1.1\\\",xlink:\\\"http://www.w3.org/1999/xlink\\\",\\\"image-rendering\\\":\\\"optimizeQuality\\\"}),h=function(e,t){var i=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"filter\\\"),A=\\\"filter\\\"+t;return e._wN=A,i.setAttribute(\\\"id\\\",A),i.setAttribute(\\\"x\\\",\\\"0\\\"),i.setAttribute(\\\"y\\\",\\\"0\\\"),i.setAttribute(\\\"filterUnits\\\",\\\"objectBoundingBox\\\"),i.setAttribute(\\\"color-interpolation-filters\\\",\\\"sRGB\\\"),i}(t,n);t._pO=h;var l=function(e){var t=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"feConvolveMatrix\\\");return t.setAttribute(\\\"in\\\",\\\"SourceGraphic\\\"),t.setAttribute(\\\"result\\\",e+\\\"_uN\\\"),t.setAttribute(\\\"preserveAlpha\\\",\\\"true\\\"),IPCC._o._gJ?(t.setAttribute(\\\"order\\\",\\\"3 3\\\"),t.setAttribute(\\\"kernelMatrix\\\",\\\"0 0 0 0 1 0 0 0 0\\\")):(t.setAttribute(\\\"order\\\",\\\"5 5\\\"),t.setAttribute(\\\"kernelMatrix\\\",\\\"0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0\\\")),t}(n);t._uN=l,h.appendChild(l);var u=function(e){var t=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"feComponentTransfer\\\");return t.setAttribute(\\\"in\\\",e+\\\"_uN\\\"),t.setAttribute(\\\"result\\\",e+\\\"_eO\\\"),t}(n);t._eO=u,h.appendChild(u);var d=function(e){var t=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"feFuncR\\\");t.setAttribute(\\\"type\\\",\\\"gamma\\\"),t.setAttribute(\\\"amplitude\\\",\\\"1\\\"),t.setAttribute(\\\"exponent\\\",\\\"1\\\"),t.setAttribute(\\\"offset\\\",\\\"0\\\");var i=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"feFuncG\\\");i.setAttribute(\\\"type\\\",\\\"gamma\\\"),i.setAttribute(\\\"amplitude\\\",\\\"1\\\"),i.setAttribute(\\\"exponent\\\",\\\"1\\\"),i.setAttribute(\\\"offset\\\",\\\"0\\\");var A=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"feFuncB\\\");return A.setAttribute(\\\"type\\\",\\\"gamma\\\"),A.setAttribute(\\\"amplitude\\\",\\\"1\\\"),A.setAttribute(\\\"exponent\\\",\\\"1\\\"),A.setAttribute(\\\"offset\\\",\\\"0\\\"),{_oN:t,_pN:i,_qN:A}}();u.appendChild(d._oN),u.appendChild(d._pN),u.appendChild(d._qN),t._oN=d._oN,t._pN=d._pN,t._qN=d._qN;var I=function(e,t){var i=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"feMerge\\\"),A=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"feMergeNode\\\"),n=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"feMergeNode\\\");return A.setAttribute(\\\"in\\\",t+\\\"_uN\\\"),n.setAttribute(\\\"in\\\",t+\\\"_eO\\\"),i.appendChild(A),i.appendChild(n),i}(0,n);h.appendChild(I),g.appendChild(h),t._VK=c(\\\"rect\\\",null,{x:0,y:0,\\\"fill-opacity\\\":\\\"0.005\\\",fill:\\\"#808080\\\"}),g.appendChild(t._VK);var C,f=c(\\\"g\\\",null,{});for(t._hN=f,g.appendChild(f),C=!1===e._rl()?A._xk.length:1,r=0;r8||IPCC._o._DL._EL)&&(s.loaded=!0),a.setAttributeNS(\\\"http://www.w3.org/1999/xlink\\\",\\\"href\\\",\\\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\\\"),this._AO(a,r.url,\\\"image/\\\"+r.contentType),h.appendChild(a),this._gN(a,\\\"display\\\",\\\"block\\\");var l=r.right-r.x,u=r.bottom-r.y;if(this._gN(a,\\\"x\\\",r.x),this._gN(a,\\\"y\\\",r.y),this._gN(a,\\\"width\\\",l),this._gN(a,\\\"height\\\",u),n>1){var d=l-r._xi,I=u-r._yi,C=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"clipPath\\\");C.id=a.id+\\\"_clip\\\";var f=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\");this._gN(f,\\\"x\\\",r.x-r._xi),this._gN(f,\\\"y\\\",r.y-r._yi),this._gN(f,\\\"width\\\",d),this._gN(f,\\\"height\\\",I),this._gN(f,\\\"class\\\",\\\"expand-on-print\\\"),C.appendChild(f);for(var p=null,B=0;B8||IPCC._o._DL._EL)&&t.length>0&&i._uO()},this._AO=function(t,i,A){var n=!0;0===e._Vu()&&(n=!1);var r={method:\\\"GET\\\"};if(!0===n&&(r.timeout=e._Vu()),e._bF()&&!0===e._iv()){var a=IPCC.Web._Av._Bv(4),s=i+\\\"&iv=\\\"+IPCC.Web._kv._Ev._uv(a);r.url=s}else r.mimeType=\\\"text/plain; charset=x-user-defined\\\",r.url=i;IPCC._o._tq._xn(r).then((function(i){var n,r;try{var s,o=IPCC.Web._qv(i);if(\\\"true\\\"===i.getResponseHeader(\\\"Accusoft-Data-Encrypted\\\")&&!0===e._iv()){var c=IPCC.Web._kv._lv._mv(i.getResponseHeader(\\\"Accusoft-Data-SK\\\")),g=IPCC.Web._nv(c,a),h=IPCC.Web._sv(o,g,a);s=IPCC.Web._kv._lv._uv(h,0,0)}else s=IPCC.Web._kv._lv._uv(o,0,0);t.setAttributeNS(\\\"http://www.w3.org/1999/xlink\\\",\\\"href\\\",\\\"data:\\\"+A+\\\";base64,\\\"+s)}catch(t){throw n=\\\"Image error, Error message = \\\"+t.message,(r=new IPCC.Web.UI.ImGearPageOpenFailedEventArgs).exception=t,r.documentPageIndex=e._Zl,e._Rd(\\\"pageOpenFailed\\\",r),new IPCC.Web.UI.ImGearArgumentException(null,n)}}),(function(e){var t,i,A,n,r=e.response.status;if(!e.response)throw new IPCC.Web.UI.ImGearHttpException(r,\\\"Client Image load timeout\\\");if(403===r)throw t=e.response.statusText&&\\\"\\\"!==e.response.statusText?\\\"Expired viewer session ID, error message from the server: \\\"+e.response.statusText:\\\"Expired viewer session ID. No error text message was received from the server:\\\",new IPCC.Web.UI.ImGearHttpException(r,t);if(i=e.response.getResponseHeader(\\\"Accusoft-Status-Message\\\"))throw A=e.response.getResponseHeader(\\\"Accusoft-Status-Number\\\"),IPCC.Web._zv(A)&&(n=parseInt(A,10)),new IPCC.Web.UI.ImGearHttpException(r,i,n);throw t=e.response.statusText&&\\\"\\\"!==e.response.statusText?e.response.statusText:\\\"HTTP Error was received from the image server but the server did not provide any error description.\\\",new IPCC.Web.UI.ImGearHttpException(r,t)}))},this._HO=function(e,t){var i,A=this._cd,s=A._Zl,o=e._JO,c=t,g=c._jj().toString()+\\\",\\\"+c._kj().toString()+\\\",\\\"+c._lj().toString()+\\\",\\\"+c._mj().toString()+\\\",\\\"+c._nj()+\\\",\\\"+c._oj(),h=this._HO.bind(this,e),l=c._Hf()*window.devicePixelRatio;if(o){if(o._LO===l&&o._eN===g)return}else e._JO=o=function(){var t=document.createElement(\\\"canvas\\\"),i=Math.random().toString();e._BN.prepend(t);var A={_PO:null,_NO:t,_eN:g,_LO:l,_Uq:function(){this._PO&&this._PO._fd(),this._PO=null,a._PC(i)}};return a._OC(i,(function(){return h()})),A}();o._LO=l,o._eN=g,(i=n().mark((function e(){var t,i;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,A._Hv();case 2:return t=e.sent,e.next=5,t._cm(s);case 5:return i=e.sent,o._PO&&o._PO._fd(),n=o._NO,Object.assign(n.style,{position:\\\"absolute\\\",top:0,left:0,transform:\\\"matrix(\\\".concat(g,\\\") scale(\\\").concat(1/l,\\\")\\\"),\\\"transform-origin\\\":\\\"top left\\\"}),o._PO=i._SO(l,o._NO),e.next=11,o._PO._vn;case 11:o._PO=null,A._oD=!0,A._Rd(\\\"pageDisplayed\\\",{_fb:A._Zl});case 14:case\\\"end\\\":return e.stop()}var n}),e)})),function(){var e=this,t=arguments;return new Promise((function(A,n){var a=i.apply(e,t);function s(e){r(a,A,n,s,o,\\\"next\\\",e)}function o(e){r(a,A,n,s,o,\\\"throw\\\",e)}s(void 0)}))})().catch((function(e){if(\\\"RenderingCancelledException\\\"!==e.name){if(o._PO)try{o._Uq()}catch(e){}if(A._bv(\\\"openPage\\\",e),\\\"function\\\"==typeof A._Rd){var t=new IPCC.Web.UI.ImGearPageOpenFailedEventArgs;t.exception=e,t.documentPageIndex=s,A._Rd(\\\"pageOpenFailed\\\",t)}}}))},this._TO=function(t){var i=this;if(!t._UO){var A=t._lO._xk[0].tiles[0];if(A){var n=A.level.pool,r=document.getElementById(n.parentElementID),a=!0;0===e._Vu()&&(a=!1);var s=e._nE();if(t._VO)return 2===s?(delete t._VO,r.childNodes.length>0&&r.removeChild(r.childNodes[0])):1===s?r.childNodes.length>0&&r.removeChild(r.childNodes[0]):0===r.childNodes.length&&r.appendChild(t._WO),void(e._oD=!0);if(!(s>0)){var o,c,g,h=function(){var A=e._gd()._Vg();e._oD=!0,e._Rd(\\\"pageDisplayed\\\",{_fb:e._Zl}),A&&i._lN(t)},l=function(i){var A=n.parentElementID.toString(),a=IPCC._o._gJ||IPCC._o._gI?\\\"\\\":window.location.href.replace(window.location.hash,\\\"\\\").replace(/#$/,\\\"\\\"),s=IPCC._o._bM(i,a,A),o=s.querySelectorAll(\\\"style\\\");IPCC._o.forEach(o,(function(e){var t=e.styleSheet?e.styleSheet.cssText:e.textContent;e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}));for(var c=null,g=s.firstChild;null!==g;){if(\\\"svg\\\"===g.nodeName){c=g;break}g=g.nextSibling}if(null===c)throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"Unable to process SVG image data.\\\");t._VO||(t._WO=c,r.appendChild(c),t._VO=!0,!e._oD&&t._VO&&setTimeout(h,1))};e._oD=!1,!0===e._iv()?(c=IPCC.Web._Av._Fv(4,IPCC.Web._Cv()),g=IPCC.Web._kv._Ev._uv(c),o=A.url+\\\"&iv=\\\"+g):o=A.url;var u={method:\\\"GET\\\",url:o,cache:!0};!0===a&&(u.timeout=e._Vu()),t._UO=!0,IPCC._o._tq._xn(u).then((function(i){var A,n;t._UO=!1;try{try{var r;if(\\\"true\\\"===i.getResponseHeader(\\\"Accusoft-Data-Encrypted\\\")&&!0===e._iv()){var a=IPCC.Web._kv._lv._mv(i.getResponseHeader(\\\"Accusoft-Data-SK\\\")),s=IPCC.Web._nv(a,c),o=IPCC.Web._qv(i),g=IPCC.Web._sv(o,s,c);r=IPCC.Web._kv._tv._uv(g)}else r=i.responseText;l(r)}catch(t){throw n=\\\"SVG image error, Error message = \\\"+t.message,(A=new IPCC.Web.UI.ImGearPageOpenFailedEventArgs).exception=t,A.documentPageIndex=e._Zl,e._Rd(\\\"pageOpenFailed\\\",A),new IPCC.Web.UI.ImGearArgumentException(null,n)}}catch(t){e._bv(\\\"openPage\\\",t),\\\"function\\\"==typeof e._Rd&&((A=new IPCC.Web.UI.ImGearPageOpenFailedEventArgs).exception=t,A.documentPageIndex=e._Zl,e._Rd(\\\"pageOpenFailed\\\",A))}}),(function(i){var A,n,r,a;t._UO=!1;try{if(!i.response)throw new IPCC.Web.UI.ImGearHttpException(0,\\\"Client SVG load timeout\\\");var s,o=i.response.status;if(480===o)throw n=i.response.statusText&&\\\"\\\"!==i.response.statusText?n=\\\"PDF file password required, error message from the server: \\\"+i.response.statusText:\\\"PDF file password required.\\\",new IPCC.Web.UI.ImGearHttpException(o,n);if(403===o)throw n=i.response.statusText&&\\\"\\\"!==i.response.statusText?\\\"Expired viewer session ID, error message from the server: \\\"+i.response.statusText:\\\"Expired viewer session ID. No error text message was received from the server:\\\",new IPCC.Web.UI.ImGearHttpException(o,n);if(r=i.response.getResponseHeader(\\\"Accusoft-Status-Message\\\"))throw a=i.response.getResponseHeader(\\\"Accusoft-Status-Number\\\"),IPCC.Web._zv(a)&&(s=parseInt(a,10)),new IPCC.Web.UI.ImGearHttpException(o,r,s);throw n=i.response.statusText&&\\\"\\\"!==i.response.statusText?i.response.statusText:\\\"HTTP Error was received from the image server but the server did not provide any error description.\\\",new IPCC.Web.UI.ImGearHttpException(o,n)}catch(t){e._bv(\\\"openPage\\\",t),\\\"function\\\"==typeof e._Rd&&((A=new IPCC.Web.UI.ImGearPageOpenFailedEventArgs).exception=t,A.documentPageIndex=e._Zl,e._Rd(\\\"pageOpenFailed\\\",A))}}))}}}},this._cP=function(e,t){if(e){var i=document.getElementById(e.poolItem.elementID);this._gN(i,\\\"x\\\",e.x),this._gN(i,\\\"y\\\",e.y),this._gN(i,\\\"width\\\",e.right-e.x),this._gN(i,\\\"height\\\",e.bottom-e.y),this._gN(i,\\\"opacity\\\",t),this._gN(i,\\\"display\\\",\\\"block\\\")}},this._eP=function(t,i,A){var n;if(!1===e._rl())for(n=0;n0&&(this._cd._oD=!0,this._cd._Rd(\\\"pageDisplayed\\\",{_fb:this._cd._Zl})),A._Qk(n),!1===this._cd._rl()&&(this._wO(n.tilesToRequest),this._eP(n.opaqueTiles,1,t),this._eP(n.translucentTiles,n.opacity,t))},s.prototype._xP=function(e){var t=this._cd,i=t._kC(),A=t._gd(),n=this;function r(e){var t,i=document.createElement(\\\"div\\\");for(t in e)e.hasOwnProperty(t)&&(i.style[t]=e[t]);return i}var a={};i.igElements=a;var s=r({width:\\\"100%\\\",height:\\\"100%\\\",position:\\\"relative\\\",overflow:A.get_overflow(),margin:\\\"0px\\\",borderWidth:\\\"0px\\\",\\\"-moz-user-select\\\":\\\"text\\\",\\\"-webkit-user-select\\\":\\\"text\\\"});a._wP=s,s.setAttribute(\\\"class\\\",\\\"igViewerScroller\\\"),s.onscroll=function(){n._BP(!1)},s.onresize=function(){var e=t._Ud();e.width=s.clientWidth,e.height=s.clientHeight,t._Rd(\\\"resize\\\",{})};var o=r({width:\\\"2px\\\",height:\\\"2px\\\",position:\\\"relative\\\",overflow:\\\"hidden\\\",margin:\\\"0px\\\",left:\\\"0\\\",top:\\\"0\\\",\\\"-ms-touch-action\\\":\\\"none\\\"});s.appendChild(o),a._XN=o,o.setAttribute(\\\"class\\\",\\\"igViewerGraphics\\\"),this._MP=2,this._NP=2,this._YM=0,this._ZM=0;var c,g={};g._lO=this._uP,g._AN=\\\"ig\\\"+e+\\\"level\\\",a._zE=g,this._OP(g,o,r),g._sF=this._sF,c=!1===t._rl()?r({position:\\\"absolute\\\",display:\\\"none\\\",width:A._Fg().width+4+\\\"px\\\",height:A._Fg().height+4+\\\"px\\\",backgroundColor:\\\"#000000\\\"}):r({position:\\\"absolute\\\",display:\\\"none\\\",width:A._Fg().width+4+\\\"px\\\",height:A._Fg().height+4+\\\"px\\\",backgroundColor:\\\"#cccccc\\\"}),o.appendChild(c),a._PP=c,c.setAttribute(\\\"class\\\",\\\"igMagnifierFrame\\\");var h=r({width:\\\"0px\\\",height:\\\"0px\\\",position:\\\"absolute\\\",overflow:\\\"hidden\\\",margin:\\\"0px\\\",left:\\\"0\\\",top:\\\"0\\\"});a._QP=h,c.appendChild(h),h.setAttribute(\\\"class\\\",\\\"igMagnifierGraphics\\\"),(g={})._lO=this._vP,g._AN=\\\"ig\\\"+e+\\\"maglevel\\\",a._tP=g,this._OP(g,h,r),g._sF=this._tF;var l=document.createTextNode(\\\"\\\");a._RP=l;var u=document.createElement(\\\"textarea\\\");u.appendChild(l),u.style.position=\\\"absolute\\\",u.style.overflow=\\\"auto\\\",u.style.width=\\\"80px\\\",u.style.height=\\\"80px\\\",u.style.resize=\\\"none\\\",u.style.display=\\\"none\\\",s.appendChild(u),a._lC=u;var d=document.createTextNode(\\\"\\\");a._SP=d;var I=document.createElement(\\\"input\\\");I.type=\\\"text\\\",I.style.position=\\\"absolute\\\",I.style.overflow=\\\"hidden\\\",I.style.width=\\\"80px\\\",I.style.height=\\\"80px\\\",I.style.resize=\\\"none\\\",I.style.display=\\\"none\\\",I.style.padding=\\\"0px\\\",I.style.margin=\\\"0px\\\",I.style.lineHeight=\\\"normal\\\",I.className=\\\"no-ms-clear\\\";var C=function(e){var i=I,A=parseFloat(i.style.width),n=parseFloat(i.style.height),r=i.style.fontFamily,s=i.value.length>i.placeholder.length?i.value:i.placeholder,o=IPCC._o._dr(s,r,{_xK:\\\"pre\\\",_Mq:a._zE._fN}),c=12*A/(o.width||1),g=12*n/(o.height||1),h=.9*Math.floor(Math.min(c,g)),l=t._rD();if(l._kK){var u=t._gd()._xf()._Hf(),d=l._kK*u;h=Math.min(h,d)}i.style.fontSize=h+\\\"px\\\"};I.onkeyup=C,I.onfocus=function(e){if(C(),I.setSelectionRange){var t=2*I.value.length;I.setSelectionRange(t,t)}},s.appendChild(I),a._mC=I;var f=document.createTextNode(\\\"\\\");a._QL=f;var p=document.createElement(\\\"textarea\\\");p.appendChild(f),p.style.position=\\\"absolute\\\",p.style.overflow=\\\"hidden\\\",p.style.width=\\\"80px\\\",p.style.height=\\\"80px\\\",p.style.resize=\\\"none\\\",p.style.display=\\\"none\\\",p.style.whiteSpace=\\\"pre-wrap\\\",p.style.border=0,p.style.padding=\\\"2px\\\",p.style.fontStyle=\\\"normal\\\";p.onkeyup=function(e){var i=t._rD(),A=t._gd()._xf()._Hf(),n=i._kK*A,r=t._IE()._pb()*A;IPCC._o._SL(p,n,r)},s.appendChild(p),a._nC=p,this._Ji={},this._VN(this._Ji),IPCC.Web.UI._Ox.addHandler(o,\\\"mousedown\\\",this._JN),IPCC.Web.UI._Ox.addHandler(o,\\\"mousemove\\\",this._KN),IPCC.Web.UI._Ox.addHandler(o,\\\"mouseup\\\",this._MN),IPCC.Web.UI._Ox.addHandler(o,\\\"dblclick\\\",this._NN),IPCC.Web.UI._Ox.addHandler(o,\\\"contextmenu\\\",this._ON),IPCC.Web.UI._Ox.addHandler(u,\\\"blur\\\",this._PN),IPCC.Web.UI._Ox.addHandler(I,\\\"blur\\\",this._RN),IPCC.Web.UI._Ox.addHandler(p,\\\"blur\\\",this._PN),i.appendChild(s)},s.prototype._OP=function(e,t,i){var A=i({width:\\\"2px\\\",height:\\\"2px\\\",position:\\\"absolute\\\"});e._BN=t,t.appendChild(A),e._aQ=A,A.setAttribute(\\\"class\\\",\\\"igAnchor\\\"),this._kO(e,A,e._lO,e._AN),e._bQ=i({position:\\\"absolute\\\",width:\\\"10px\\\",height:\\\"10px\\\",left:\\\"0px\\\",top:\\\"0px\\\",overflow:\\\"visible\\\"}),A.appendChild(e._bQ);var n=i({overflow:\\\"hidden\\\",display:\\\"none\\\",position:\\\"absolute\\\",backgroundColor:\\\"#00C0E0\\\",border:\\\"#006070 2px solid\\\"});n.style[this._aN]=this._bN(.5),A.appendChild(n),e._Sf=n,n.setAttribute(\\\"class\\\",\\\"igSelection\\\")},s.prototype._sP=function(e){e&&e._XM&&(e._sF._cQ(),e._XM=!1),e._BN=null},s.prototype._AP=function(e,t,i){var A=this._cd,n=this._uE._Lj(e),r=A._kC(),a=A._sC(),s=A._lE(),o=r.igElements,c=o._zE,g=o._tP,h=o._wP,l=o._XN,u=c._aQ,d=o._PP,I=o._QP,C=g._aQ,f=Math.max(0,-n.x),p=Math.max(0,-n.y),B=Math.max(n.width,i.width),m=Math.max(n.height,i.height),E=Math.max(0,n.x),Q=Math.max(0,n.y),_=!1,y=!1;t._wg()&&(y=t._Tf());var w=this._MP;this._MP=Math.floor(B-1),this._MP<0&&(this._MP=0);var b=this._NP;this._NP=Math.floor(m-1),this._NP<0&&(this._NP=0),!0===A._rl()&&(0===this._NP&&(this._NP=2),0===this._MP&&(this._MP=2));var v=this._YM,k=this._ZM;this._VM||(this._YM=Math.floor(f),this._ZM=Math.floor(p)),this._nQ&&(this._GP(u,\\\"left\\\",E+\\\"px\\\"),this._GP(u,\\\"top\\\",Q+\\\"px\\\"));var x=t._xf();if(x._Mf(f-E,p-Q),this._oQ(c,t._xf(),x,e,i,y,E,Q),this._GP(h,\\\"overflow\\\",t.get_overflow()),i.width===h.clientWidth&&i.height===h.clientHeight||(i.width=h.clientWidth,i.height=h.clientHeight,_=!0),this._CP(u.style,\\\"visibility\\\",\\\"visible\\\"),t.get_magnifierIsVisible()){var D=t.get_magnifierWindowPosition(),S=t._Fg(),P=t._Bg(),R=t._Dg(),M=t._Gg(),F=Math.round(D.x-S.width/2+f+P),T=Math.round(D.y-S.height/2+p+R),N=M._Lj(e),U=Math.max(0,-N.x),G=Math.max(0,-N.y);this._GP(C,\\\"left\\\",N.x+\\\"px\\\"),this._GP(C,\\\"top\\\",N.y+\\\"px\\\"),g._JO&&(this._GP(g._JO._NO,\\\"left\\\",N.x+\\\"px\\\"),this._GP(g._JO._NO,\\\"top\\\",N.y+\\\"px\\\"));d.style.width=S.width+4+\\\"px\\\",d.style.height=S.height+4+\\\"px\\\",I.style.width=S.width+\\\"px\\\",I.style.height=S.height+\\\"px\\\",I.style.left=\\\"2px\\\",I.style.top=\\\"2px\\\",d.style.left=F+\\\"px\\\",d.style.top=T+\\\"px\\\";var L=M.clone();L._Mf(U,G),this._oQ(g,M,L,e,S,y,0,0),d.style.display=\\\"block\\\"}else d.style.display=\\\"none\\\";if(A._gE()){var H=A._rD(),W=H._Nd(),J=this._uE._bk(W),Y=H.get_type()===IPCC.Web.UI.MarkType.Text?64:0,O=-1*H._We,q=-1*H._We;J.widthi.width&&(J.width=i.width),J.height>i.height&&(J.height=i.height),J.x<0&&(J.x=0),J.y<0&&(J.y=0),J.x+J.width+1>=i.width&&(J.x=i.width-J.width,O=-8),J.y+J.height+1>=i.height&&(J.y=i.height-J.height,q=-8);var K=this._iC(H);if(K.style.left=this._YM+J.x+1+H._We/2+\\\"px\\\",K.style.top=this._ZM+J.y+1+H._We/2+\\\"px\\\",K.style.width=J.width+O-1+\\\"px\\\",K.style.height=J.height+q-1+\\\"px\\\",\\\"block\\\"!==K.style.display){K.style.display=\\\"block\\\",K.style.whiteSpace=\\\"pre-wrap\\\";var j=H._FQ,V=\\\"\\\";j&IPCC.Web.UI.FontStyle.Italic&&(K.style.fontStyle=\\\"italic\\\"),j&IPCC.Web.UI.FontStyle.Bold&&(K.style.fontWeight=\\\"bold\\\"),j&IPCC.Web.UI.FontStyle.Underline&&(V+=\\\"underline\\\"),j&IPCC.Web.UI.FontStyle.Strikeout&&(j&IPCC.Web.UI.FontStyle.Underline?V+=\\\" line-through\\\":V=\\\"line-through\\\"),K.style.textDecoration=V,K.style.color=H._HQ,H.get_type()!==IPCC.Web.UI.MarkType.TextLine&&H.get_type()!==IPCC.Web.UI.MarkType.TextAreaSignature&&(K.style.backgroundColor=H._IQ),K.style.fontFamily=H._JQ,K.style[\\\"z-index\\\"]=100;var z=H._KQ*this._uE._Hf();switch(z&&(K.style.fontSize=z+\\\"px\\\"),H._LQ){case IPCC.Web.UI.HorizontalAlignment.Center:K.style.textAlign=\\\"center\\\";break;case IPCC.Web.UI.HorizontalAlignment.Right:K.style.textAlign=\\\"right\\\";break;default:K.style.textAlign=\\\"left\\\"}if(H._MQ&&setTimeout((function(){o._lC.maxLength=H._MQ,o._mC.maxLength=H._MQ,o._nC.maxLength=H._MQ}),0),H._NQ&&(s&&(s.destroy(),A._kE(null)),A._kE(new PCCViewer._R(K,H._NQ))),H._Te()===IPCC.Web.UI.MarkType.TextAreaSignature){var Z=IPCC._o._RL();Z.style.width=o._nC.style.width,Z.style.height=o._nC.style.height,Z.style.fontFamily=o._nC.style.fontFamily,Z.style.fontStyle=o._nC.style.fontStyle,Z.style.fontWeight=o._nC.style.fontWeight;var X=A._gd()._xf()._Hf(),$=H._kK*X,ee=A._IE()._pb()*X;IPCC._o._PL().nodeValue=H._Db||\\\"m\\\",o._nC.style.fontSize=IPCC._o._SL(Z,$,ee)+\\\"px\\\"}K.focus()}}else o._lC.style.display=\\\"none\\\",o._mC.style.display=\\\"none\\\",o._nC.style.display=\\\"none\\\",o._lC.removeAttribute(\\\"maxlength\\\"),o._mC.removeAttribute(\\\"maxlength\\\"),o._nC.removeAttribute(\\\"maxlength\\\"),s&&(s.destroy(),A._kE(null)),document.activeElement===o._lC&&o._lC.blur(),document.activeElement===o._mC&&o._mC.blur(),document.activeElement===o._nC&&o._nC.blur();if(_&&A._Rd(\\\"resize\\\",{}),this._MP!==w&&this._GP(l,\\\"width\\\",\\\"100%\\\"),this._NP!==b&&this._GP(l,\\\"height\\\",\\\"100%\\\"),this._YM!==v&&(h.scrollLeft=this._YM),this._ZM!==k&&(h.scrollTop=this._ZM),\\\"PageView\\\"===a&&!this._VM){var te=+(t=A._gd())._xf()._Hf().toFixed(6);A._eC!==te&&(A._eC=te,setTimeout((function(){A._Rd(\\\"scaleChanged\\\",{scaleFactor:te,documentPageIndex:A._Zl})}),1),A._Rd(\\\"scaleChanged\\\",{scaleFactor:te,documentPageIndex:A._Zl}))}},s.prototype._oQ=function(e,t,i,A,n,r,a,s){var o=t._Lj(A),c={};if(c.width=Math.max(o.width,n.width),c.height=Math.max(o.height,n.height),this._PQ(e,t,i,A,n,a,s),this._zN(e,i,c,A,a,s),this._cd._aF())this._HO(e,i);else if(this._cd._rl()){this._TO(e);var g=this._cd._gd()._Vg();this._cd._oD&&g&&this._lN(e)}else this._FE(e,n,t,i);if(this._vN(e),r){var h=i._bk(r);this._nQ?(e._Sf.style.left=h.x-2+\\\"px\\\",e._Sf.style.top=h.y-2+\\\"px\\\"):(e._Sf.style.left=h.x-2+a+\\\"px\\\",e._Sf.style.top=h.y-2+s+\\\"px\\\"),e._Sf.style.width=h.width+\\\"px\\\",e._Sf.style.height=h.height+\\\"px\\\",e._Sf.style.display=\\\"block\\\"}else e._Sf.style.display=\\\"none\\\"},s.prototype._FE=function(e,t,i,A){var n=this._cd._vC(),r={x:0,y:0,width:t.width,height:t.height};if(n){var a,s=n.getBoundingClientRect(),o=e._BN.getBoundingClientRect();o.lefts.right&&(r.width=s.width),o.tops.bottom&&(r.height=s.height)}var c=i.clone();c._Bh();var g=c._bk(r);this._JP(e,A,g)},s.prototype._PQ=function(e,t,i,A,n,r,a){var s=this._cd._Od(),o=this._cd._Pd(),c=this._cd._gD(),g=0,h=this;if(e._YQ&&(g=e._YQ.length),e._sF&&s){var l=this._cd._mD();if(!(s.get_markCount()<=0&&o.get_markCount()<=0&&c.get_markCount()<=0&&g<=0)||l){e._XM||(e._sF._ZQ(this._cd,e,A),e._YQ=[],e._XM=!0),o=this._cd._Pd();var u=[];c.forEachMark(f),o.forEachMark(f),s.forEachMark((function(e){(h._cd._wD()&&!0===h._cd._em()._xD()||e.get_type()!==IPCC.Web.UI.MarkType.Highlight)&&u.push(e)})),l&&u.push(l);var d,I=e._YQ;for(d=0;d=u.length||I[d]._Dd!==u[d]);)e._sF._cR(I[d]),I.splice(d,1);d0&&(this._kR=new IPCC.Web.UI.Point(r.rawEvent.touches[0].clientX-n._wP.scrollLeft-A.left,r.rawEvent.touches[0].clientY-n._wP.scrollTop-A.top)),this._kR||(this._kR=new IPCC.Web.UI.Point(0,0)),e.windowPoint=new IPCC.Web.UI.Point(this._kR.x,this._kR.y),r.button=0):e.windowPoint=new IPCC.Web.UI.Point(r.clientX-A.left-n._wP.scrollLeft,r.clientY-A.top-n._wP.scrollTop);var o=this._pP.transform(e.windowPoint);e.imagePoint=new IPCC.Web.UI.Point(o.x,o.y),e.constrainedImagePoint=new IPCC.Web.UI.Point(o.x,o.y),e.constrainedImagePoint.x=Math.min(Math.max(e.constrainedImagePoint.x,0),this._rP.width),e.constrainedImagePoint.y=Math.min(Math.max(e.constrainedImagePoint.y,0),this._rP.height),e.pointLiesWithinImage=e.constrainedImagePoint.x===e.imagePoint.x&&e.constrainedImagePoint.y===e.imagePoint.y,e.mark=null;try{for(var c=r.target;!c.ImGearMarkRelation&&c.parentNode&&c!==document.body;)c=c.parentNode;c.ImGearMarkRelation&&(e.mark=c.ImGearMarkRelation._Dd)}catch(e){}},s.prototype._jd=function(e){try{e.preventDefault();var t=new IPCC.Web.UI.MouseEventArgs;t.domEvent=e,this._TN(t),this._cd._eF(t)}catch(e){this._cd._bv(\\\"mouseDown\\\",e)}},s.prototype._sd=function(e){try{e.preventDefault();var t=new IPCC.Web.UI.MouseEventArgs;t.domEvent=e,this._TN(t),this._cd._fF(t)}catch(e){this._cd._bv(\\\"mouseMove\\\",e)}},s.prototype._Vd=function(e){try{var t=new IPCC.Web.UI.MouseEventArgs;t.domEvent=e,this._TN(t),e.rawEvent.wheelDelta?t.wheelDelta=e.rawEvent.wheelDelta:t.wheelDelta=120*-e.rawEvent.detail,this._cd._hF(t)}catch(e){this._cd._bv(\\\"mouseWheel\\\",e)}},s.prototype._Le=function(e){try{e.preventDefault();var t=new IPCC.Web.UI.MouseEventArgs;t.domEvent=e,this._TN(t),this._cd._iF(t)}catch(e){this._cd._bv(\\\"mouseDoubleClick\\\",e)}},s.prototype._wd=function(e){try{e.preventDefault();var t=new IPCC.Web.UI.MouseEventArgs;t.domEvent=e,this._TN(t),this._cd._gF(t)}catch(e){this._cd._bv(\\\"mouseUp\\\",e)}},s.prototype._Cx=function(e){try{e.preventDefault();var t=new IPCC.Web.UI.MouseEventArgs;t.domEvent=e,this._TN(t),this._cd._jF(t)}catch(e){this._cd._bv(\\\"contextMenu\\\",e)}},s.prototype._QN=function(e){try{this._cd._yC(!0)}catch(e){this._cd._bv(\\\"textAreaBlur\\\",e)}},s.prototype._SN=function(e){try{this._cd._yC(!0)}catch(e){this._cd._bv(\\\"textInputBlur\\\",e)}},s.prototype._uD=function(e){this._iC(e).value=e._Db||\\\"\\\"},s.prototype._fE=function(){var e=this._cd,t=e._rD();if(t&&e._gE()){var i=this._iC(t);document.activeElement===i&&i.blur();var A=i.value;A=A.replace(/(\\\\n|\\\\n\\\\r|\\\\r\\\\n|\\\\r)/g,\\\"\\\\n\\\"),t.set_text(A)}},s.prototype._iC=function(e){var t=this._cd._kC().igElements,i=null;return e.get_type()===IPCC.Web.UI.MarkType.TextLine?i=t._mC:e.get_type()===IPCC.Web.UI.MarkType.TextAreaSignature?i=t._nC:e.get_type()===IPCC.Web.UI.MarkType.Text&&(i=t._lC),i},e.exports=s},5960:e=>{function t(e){return t=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},t(e)}var i={registerNamespace:function(e){for(var i=window,A=e.split(\\\".\\\"),n=function(){return this.__typeName},r=0;r{function A(e){return A=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},A(e)}var n=i(9822),r={_zb:function(e,t,i){if(A(e)!==i)throw new n._Zb(t,A(e),i)},_ac:function(e,t){r._zb(e,t,\\\"string\\\")},_tb:function(e,t){if(!(e instanceof Date))throw new n._Zb(t,A(e),\\\"Date\\\")},_bc:function(e,t){if(r._zb(e,t,\\\"number\\\"),!isFinite(e))throw new n._cc(t,e,\\\"The value must be a number.\\\")},_dc:function(e,t,i,A){if(r._zb(e,t,\\\"number\\\"),eA||!isFinite(e))throw new n._cc(t,e,\\\"The value must be a number between \\\"+i+\\\" and \\\"+A+\\\" inclusive.\\\")},_gc:function(e,t,i){var A;for(r._zb(e,t,\\\"number\\\"),A=0;A0&&(A===i.length-1?a+=\\\" or \\\":a+=\\\", \\\"),a+=i[A];throw new n._cc(t,e,\\\"The value must be \\\"+a+\\\".\\\")},_jc:function(e,t,i,A){if(r._dc(e,t,i,A),e!==Math.floor(e))throw new n._kc(t,\\\"The value must be an integer.\\\")},_lc:function(e,t){if(r._zb(e,t,\\\"string\\\"),!e.match(/#[0-9A-Fa-f]{6}/))throw new n._kc(t,\\\"Colors must be strings that begin with a # symbol, followed by 6 hexadecimal digits.\\\")},_mc:function(e,t){if(r._zb(e,t,\\\"string\\\"),!e.match(/#[0-9A-Fa-f]{6}|transparent/))throw new n._kc(t,'Colors must be strings that begin with a # symbol, followed by 6 hexadecimal digits or comply with other W3C accepted color values like \\\"transparent\\\".')},_nc:function(e,t,i,A){var a;r._zb(e,t,\\\"number\\\");var s=0;for(a in i)if(i.hasOwnProperty(a))if(A)s|=i[a];else if(e===i[a])return;if(A){if((e|s)===s)return;throw new n._cc(t,e,\\\"The value must be zero or more members of the enumeration.\\\")}throw new n._cc(t,e,\\\"The value must be a member of the enumeration.\\\")},_rc:function(e,t){r._bc(e.x,t+\\\".x\\\"),r._bc(e.y,t+\\\".y\\\")},_sc:function(e,t){r._bc(e.x,t+\\\".x\\\"),r._bc(e.y,t+\\\".y\\\"),r._bc(e.width,t+\\\".width\\\"),r._bc(e.height,t+\\\".height\\\")},_tc:function(e,t){if(!Array.isArray(e))throw new n._kc(t,\\\"The value must be an array.\\\")}};e.exports=r},7367:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={Document:0,EqualWidthPages:1,SinglePage:2,EqualFitPages:3},n.registerEnum(\\\"IPCC.ViewMode\\\",!1),e.exports=n},3071:e=>{function t(e){return t=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},t(e)}e.exports=function(e){var i,A,n,r,a,s,o,c,g,h,l,u,d,I,C=this,f=\\\"\\\",p=!1,B=IPCC.Web.UI.DebugErrorLevel.Production,m=[],E=new IPCC.Web.UI._Qa,Q=null,_=!1,y=!1,w=IPCC.Web.UI.ImGearArtDataServices.None,b=!1,v=\\\"\\\",k=!1,x=!1,D=!1,S=0,P=!0,R=!1,M=!0,F=!1,T=!1,N=null,U=!1,G=null;function L(e,t){b=!0,t.pageIndex=C._Zl,C._Rd(\\\"markAdded\\\",t),C._ye(\\\"_onMarkAdded\\\",t)}function H(e,t){b=!0,t.pageIndex=C._Zl,C._Rd(\\\"markChanged\\\",t),C._ye(\\\"_onMarkChanged\\\",t)}function W(e,t){(t=new IPCC.Web.UI.MarkEventArgs).mark=Q,t.pageIndex=C._Zl,C._Rd(\\\"inProgressMarkChanged\\\",t),C._ye(\\\"_onInProgressMarkChanged\\\",t)}function J(e,t){b=!0,t.pageIndex=C._Zl,C._Rd(\\\"markRemoved\\\",t),C._ye(\\\"_onMarkRemoved\\\",t)}function Y(e,t){C._Rd(\\\"textPageReady\\\",t)}function O(e,t){C._Rd(\\\"textExtractionFailed\\\",t)}function q(e,t){b=!0,t.pageIndex=C._Zl,C._Rd(\\\"markReordered\\\",t),C._ye(\\\"_onMarkReordered\\\",t)}function K(e,t){t.pageIndex=C._Zl,C._Rd(\\\"marksLoaded\\\",t),C._ye(\\\"_onMarksLoaded\\\",t)}function j(e,t){t.pageIndex=C._Zl,C._Rd(\\\"markSelectionChanged\\\",t),C._ye(\\\"_onMarkSelectionChanged\\\",t)}function V(e,t){t.pageIndex=C._Zl,C._Rd(\\\"markTextSelectionChanged\\\",t)}function z(e,t){t.pageIndex=C._Zl,C._Rd(\\\"propertyChanged\\\",t)}this._cC=function(e){d=e},this._dC=function(){return d},this._Hv=function(){return Promise.resolve().then((function(){return d()}))},this._eC=0,this._fC=function(e){return!!p&&B>=e},this._Fb=function(e,t,i){IPCC._m._Fb(e,t,i,f,a)},this._bv=function(e,t){if(this._fC(IPCC.Web.UI.DebugErrorLevel.Production)){var i=e+\\\"() threw an exception (\\\"+t.name+'), \\\"'+t.message+'\\\"';i=i.replace(/\\\\n/g,\\\" \\\"),this._Fb(i,IPCC.Web.UI.DebugItemCause.Exception,IPCC.Web.UI.DebugErrorLevel.Production),C._Rd(\\\"exceptionThrown\\\",{function_name:e,exception:t,documentPageIndex:C._Zl})}},this._iC=function(e){var t=this._kC().igElements,i=null;return e.get_type()===IPCC.Web.UI.MarkType.TextLine?i=t._mC:e.get_type()===IPCC.Web.UI.MarkType.TextAreaSignature?i=t._nC:e.get_type()===IPCC.Web.UI.MarkType.Text&&(i=t._lC),i},this.get_debug=function(){return p},this.set_debug=function(e){var t=!!e;p!==t&&(p=t,this._jb(\\\"debug\\\"))},this._pC=function(){return B},this._qC=function(e){B!==e&&(B=e,this._jb(\\\"debugErrorLevel\\\"))},this.get_areMarksEditable=function(){return U},this.set_areMarksEditable=function(e){U!==e&&(U=e,this._jb(\\\"areMarksEditable\\\"))},this.get_cursor=function(){return G},this.set_cursor=function(e){G!==e&&(G=e,this._jb(\\\"cursor\\\"))},this._rC=function(e){f=e},this._sC=function(){return f},this._tC=function(e){a=e},this._uC=function(e){u=e},this._vC=function(){return u},this._wC=function(e){var t;for(this._yC(!1),t=m.length-1;t>=0;t--)m[t]instanceof IPCC._A?m[t]._fd(!0):m[t]._fd(),m[t]instanceof IPCC._J?m[t]._ed(!0):m[t]._ed();for(m=e,t=0;t=i.x-10&&e.x<=i.x+i.width+1&&e.y>=i.y-1&&e.y<=i.y+i.height+1)return!0;i=void 0}if(C._em(),t=C._em()._im(),!i)for(var n=0;n0;)C._Pd().removeMark(e.pop())},this._Zg=function(e,t){if(C._wD()&&!0===C._em()._xD()){var i=e,A=this._em()._im(),n=e+t;I||(I=C._jD());for(var r=C._gd().get_transientHighlightMarks();it;A--){var n=i._yd[A];l.removeMark(n._Dd)}},this._qd=function(e){if(void 0!==e){var t,i=C._gd(),A=i._vd(),n=\\\"#3366CC\\\",r=\\\"#3366CC\\\",a=100;I||(I=C._jD()),(a=I.get_opacity())||(a=100),void 0===(n=I.get_fillColor())&&(n=\\\"#3366CC\\\");var s=C._em()._im();if(void 0!==A){var o,c,g=i._hh();if(e>A)for(c=A;c<=e;c++)if(c===e){if(c=g){if(c===A)continue;d(c)}else u(c,e);else if(e=e;c--)if(c===e){if(c>=g)continue;d(c)}else if(c=0;o--){var A=i._yd[o];if(A._md===e)return i._yd.splice(o,1),l.removeMark(A._Dd),i._dh(t),i._gh(e),o}return-1}function d(e){t=s._AD(e);var A=l._DD(t._Yx,r,n,!1,a,e);!1===i._qd(e,A,t._ch)&&l.removeMark(A)}},this._Fd=function(){var e=\\\"\\\";try{var t=C._gd();if(C._gd()._bh()){var i=C._em()._im();if(t._yd.length>0){for(var A=[],n=0;nA[1]&&A.reverse(),n=0;n{e.exports=function(){var e,t,i,A=0,n=1,r=1,a=!1,s=new IPCC._r,o=!1,c=!1,g=new IPCC._L(200,150,96,96),h={x:0,y:0},l=3,u=0,d=0,I=.2,C=IPCC.Web.UI.MarkHandleMode.HideSideHandlesWhenClose,f=new IPCC._r,p=0,B=0,m=!1;this._yd=[];var E=IPCC.Web.UI.ScrollBars.Auto,Q=[];this.get_transientHighlightMarks=function(){return Q},this.get_scrollBars=function(){return E},this.get_overflow=function(){switch(E){case IPCC.Web.UI.ScrollBars.None:return\\\"hidden\\\";case IPCC.Web.UI.ScrollBars.Both:return\\\"scroll\\\"}return\\\"auto\\\"},this.set_scrollBars=function(e){E=e,this._jb(\\\"scrollBars\\\")};var _=new IPCC.Web.UI._Qa;this._sg=function(e){_.addHandler(\\\"propertyChanged\\\",e)},this._tg=function(e){_.removeHandler(\\\"propertyChanged\\\",e)},this._jb=function(e){var t=_.getHandler(\\\"propertyChanged\\\");t&&t(this,new IPCC._v(e))};var y=function(e){var t={};t.selectionIsVisible=o,t.selectionRectangle=e._Tf(),e._jb(\\\"selection\\\")};this._Ce=function(){e={x:0,y:0},t={x:0,y:0},o&&(o=!1,y(this))},this.showSelection=function(i){e.x=i.x,e.y=i.y,t.x=i.x+i.width,t.y=i.y+i.height,o=!0,y(this)},this._De=function(i){e.x=i.x,e.y=i.y,t.x=i.x,t.y=i.y,o=!0,y(this)},this._Ee=function(e){t.x=e.x,t.y=e.y,y(this)},this._wg=function(){return o},this._Tf=function(){var i=new IPCC.Web.UI.Rectangle(Math.min(e.x,t.x),Math.min(e.y,t.y),0,0);return i.width=Math.max(e.x,t.x)-i.x,i.height=Math.max(e.y,t.y)-i.y,i};var w=function(){c?(f._zg(s),f._Mf(-h.x,-h.y),f.scale(l,l),f._Mf(g.width/2,g.height/2)):f._yg()};this.hideMagnifier=function(){c=!1,w(),this._jb(\\\"magnifierIsVisible\\\")},this.showMagnifier=function(e){h.x=e.x,h.y=e.y,c=!0,w(),this._jb(\\\"magnifierWindowPosition\\\"),this._jb(\\\"magnifierIsVisible\\\")},this.get_magnifierIsVisible=function(){return c},this.get_magnifierWindowPosition=function(){return{x:h.x,y:h.y}},this.get_magnifierMagnification=function(){return l},this.set_magnifierMagnification=function(e){l=e,w(),this._jb(\\\"magnifierMagnification\\\")},this._Bg=function(){return u},this._Cg=function(e){u=e,this._jb(\\\"magnifierXOffset\\\")},this._Dg=function(){return d},this._Eg=function(e){d=e,this._jb(\\\"magnifierYOffset\\\")},this._Fg=function(){return{width:g.width,height:g.height}},this.set_magnifierWindowSize=function(e){g.width=e.width,g.height=e.height,w(),this._jb(\\\"magnifierWindowSize\\\")},this._Gg=function(){return f.clone()},this._xf=function(){return s.clone()},this._Hg=function(){return I},this._Ig=function(e){I=e,this._jb(\\\"markHandleSize\\\")},this._Jg=function(){return C},this._Kg=function(e){C=e,this._jb(\\\"markHandleMode\\\")},this._Bf=function(e){if(e!==s&&!e._Lg(s)){if(!e._Mg())throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"The viewing state of the control is invalid.\\\");s._zg(e),w(),this._jb(\\\"displayedPageRectangle\\\")}};var b=\\\"0\\\";this.get_presentationQuality=function(){return b},this.set_presentationQuality=function(e){b=e,this._jb(\\\"presentationQuality\\\")},this._Og=function(){return n},this._Pg=function(e){n=e},this._Qg=function(){return A},this._Rg=function(e){A=e},this._Sg=function(){return r},this._Tg=function(e){e!==r&&(a=!0),r=e},this._Ug=function(e){a=e},this._Vg=function(){return a};var v,k=IPCC._j.Default;return this._Xg=function(){return k},this._Yg=function(e){k!==e&&(k=e,this._jb(\\\"markCursor\\\"))},this._pd=function(e){p=e,m=!1,B=0},this._Zg=function(e,t){e!==p&&(p=e),B=t,m=!0},this._hd=function(){if(!0===m){for(var e=0;e0&&this._yd[this._yd.length-1]._md===e)return!1;this._yd.push({_md:e,_Dd:t,_ch:A}),m=!0,B++}else this._yd=[],B=0;return!0},this._vd=function(){return i},this._dh=function(e){void 0!==e&&(i=e)},this._fh=function(){return v},this._gh=function(e){void 0!==e&&(v=e)},this._hh=function(){return p},this._ih=function(){return p+B},this._jh=function(){return this._yd.length},this._Ce(),this.hideMagnifier(),this}},4784:e=>{var t={_XF:function(e){this._jV[0][0][0]||this._kV();var t,i,A,n,r,a=this._jV[0][4],s=this._jV[1],o=e.length,c=1;if(4!==o&&6!==o&&8!==o)throw new IPCC.Web.UI.ImGearArgumentException(\\\"none\\\",\\\"invalid aes key size\\\");for(this._Oi=[n=e.slice(0),r=[]],t=o;t<4*o+28;t++)A=n[t-1],(t%o==0||8===o&&t%o==4)&&(A=a[A>>>24]<<24^a[A>>16&255]<<16^a[A>>8&255]<<8^a[255&A],t%o==0&&(A=A<<8^A>>>24^c<<24,c=c<<1^283*(c>>7))),n[t]=n[t-o]^A;for(i=0;t;i++,t--)A=n[3&i?t:t-4],r[i]=t<=4||i<4?A:s[0][a[A>>>24]]^s[1][a[A>>16&255]]^s[2][a[A>>8&255]]^s[3][a[255&A]]}};t._XF.prototype={_ZF:function(e){return this._sV(e,1)},_jV:[[[],[],[],[],[]],[[],[],[],[],[]]],_kV:function(){var e,t,i,A,n,r,a,s,o=this._jV[0],c=this._jV[1],g=o[4],h=c[4],l=[],u=[];for(e=0;e<256;e++)u[(l[e]=e<<1^283*(e>>7))^e]=e;for(t=i=0;!g[t];t^=A||1,i=u[i]||1)for(r=(r=i^i<<1^i<<2^i<<3^i<<4)>>8^255&r^99,g[t]=r,h[r]=t,s=16843009*l[n=l[A=l[t]]]^65537*n^257*A^16843008*t,a=257*l[r]^16843008*r,e=0;e<4;e++)o[e][t]=a=a<<24^a>>>8,c[e][r]=s=s<<24^s>>>8;for(e=0;e<5;e++)o[e]=o[e].slice(0),c[e]=c[e].slice(0)},_sV:function(e,t){if(4!==e.length)throw new IPCC.Web.UI.ImGearArgumentException(\\\"blocksize\\\",\\\"Invalid block size\\\");var i,A,n,r,a=this._Oi[t],s=e[0]^a[0],o=e[t?3:1]^a[1],c=e[2]^a[2],g=e[t?1:3]^a[3],h=a.length/4-2,l=4,u=[0,0,0,0],d=this._jV[t],I=d[0],C=d[1],f=d[2],p=d[3],B=d[4];for(r=0;r>>24]^C[o>>16&255]^f[c>>8&255]^p[255&g]^a[l],A=I[o>>>24]^C[c>>16&255]^f[g>>8&255]^p[255&s]^a[l+1],n=I[c>>>24]^C[g>>16&255]^f[s>>8&255]^p[255&o]^a[l+2],g=I[g>>>24]^C[s>>16&255]^f[o>>8&255]^p[255&c]^a[l+3],l+=4,s=i,o=A,c=n;for(r=0;r<4;r++)u[t?3&-r:r]=B[s>>>24]<<24^B[o>>16&255]<<16^B[c>>8&255]<<8^B[255&g]^a[l++],i=s,s=o,o=c,c=g,g=i;return u}},e.exports=t},6161:e=>{var t={};t._tv={_uv:function(e){var t,i,A=\\\"\\\",n=IPCC.Web._HG._XG(e);for(t=0;t>>24),i<<=8;return decodeURIComponent(escape(A))},_mv:function(e){e=unescape(encodeURIComponent(e));var t,i=[],A=0;for(t=0;t>>r)>>>26),r<6?(s=e[A]<<6-r,r+=26,A++):(s<<=6,r-=6);for(;3&n.length&&!t;)n+=\\\"=\\\";return n},_mv:function(e,t){e=e.replace(/\\\\s|=/g,\\\"\\\");var i,A,n=[],r=0,a=IPCC.Web._kv._lv._kW,s=0;for(t&&(a=a.substr(0,62)+\\\"-_\\\"),i=0;i26?(r-=26,n.push(s^A>>>r),s=A<<32-r):s^=A<<32-(r+=6)}return 56&r&&n.push(IPCC.Web._HG._YG(56&r,s,1)),n}},t._Ev={_uv:function(e){return IPCC.Web._kv._lv._uv(e,1,1)},_mv:function(e){return IPCC.Web._kv._lv._mv(e,1)}},e.exports=t},6993:e=>{var t={_OV:function(e){this._Oi[0]||this._kV(),e?(this._hG=e._hG.slice(0),this._TF=e._TF.slice(0),this._xd=e._xd):this._PV()}};t._OV._fH=function(e){return(new IPCC.Web._fH._OV)._QV(e)._RV()},t._OV.prototype={_SV:512,_PV:function(){return this._hG=this._TV.slice(0),this._TF=[],this._xd=0,this},_QV:function(e){\\\"string\\\"==typeof e&&(e=IPCC.Web._kv._tv._mv(e));var t,i=this._TF=IPCC.Web._HG._RG(this._TF,e),A=this._xd,n=this._xd=A+IPCC.Web._HG._XG(e);for(t=512+A&-512;t<=n;t+=512)this._ja(i.splice(0,16));return this},_RV:function(){var e,t=this._TF,i=this._hG;for(e=(t=IPCC.Web._HG._RG(t,[IPCC.Web._HG._YG(1,1)])).length+2;15&e;e++)t.push(0);for(t.push(Math.floor(this._xd/4294967296)),t.push(0|this._xd);t.length;)this._ja(t.splice(0,16));return this._PV(),i},_TV:[],_Oi:[],_kV:function(){var e,t=0,i=2;function A(e){return 4294967296*(e-Math.floor(e))|0}e:for(;t<64;i++){for(e=2;e*e<=i;e++)if(i%e==0)continue e;t<8&&(this._TV[t]=A(Math.pow(i,.5))),this._Oi[t]=A(Math.pow(i,1/3)),t++}},_ja:function(e){var t,i,A,n,r=e.slice(0),a=this._hG,s=this._Oi,o=a[0],c=a[1],g=a[2],h=a[3],l=a[4],u=a[5],d=a[6],I=a[7];for(t=0;t<64;t++)t<16?i=r[t]:(A=r[t+1&15],n=r[t+14&15],i=r[15&t]=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(n>>>17^n>>>19^n>>>10^n<<15^n<<13)+r[15&t]+r[t+9&15]|0),i=i+I+(l>>>6^l>>>11^l>>>25^l<<26^l<<21^l<<7)+(d^l&(u^d))+s[t],I=d,d=u,u=l,l=h+i|0,h=g,g=c,o=i+((c=o)&g^h&(c^g))+(c>>>2^c>>>13^c>>>22^c<<30^c<<19^c<<10)|0;a[0]=a[0]+o|0,a[1]=a[1]+c|0,a[2]=a[2]+g|0,a[3]=a[3]+h|0,a[4]=a[4]+l|0,a[5]=a[5]+u|0,a[6]=a[6]+d|0,a[7]=a[7]+I|0}},e.exports=t},9435:e=>{var t={};t._YF={_Qb:\\\"cbc\\\",_nW:function(e,t,i,A){if(A&&A.length)throw new IPCC.Web.UI.ImGearArgumentException(\\\"data\\\",\\\"cannot authenticate data\\\");if(128!==IPCC.Web._HG._XG(i))throw new IPCC.Web.UI.ImGearArgumentException(\\\"iv\\\",\\\"invalid data\\\");var n,r=IPCC.Web._HG,a=r._eH,s=r._XG(t),o=0,c=[];if(7&s)throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"padding works only for multiple bytes\\\");for(n=0;o+128<=s;n+=4,o+=128)i=e._nW(a(i,t.slice(n,n+4))),c.splice(n,0,i[0],i[1],i[2],i[3]);return s=16843009*(16-(s>>3&15)),i=e._nW(a(i,r._RG(t,[s,s,s,s]).slice(n,n+4))),c.splice(n,0,i[0],i[1],i[2],i[3]),c},_ZF:function(e,t,i,A){if(A&&A.length)throw new IPCC.Web.UI.ImGearArgumentException(A,\\\"cbc can't authenticate data\\\");if(128!==IPCC.Web._HG._XG(i))throw new IPCC.Web.UI.ImGearArgumentException(\\\"iv\\\",\\\"cbc iv must be 128 bits\\\");if(127&IPCC.Web._HG._XG(t)||!t.length)throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"cbc ciphertext must be a positive multiple of the block size\\\");var n,r,a,s=IPCC.Web._HG,o=s._eH,c=[];for(A=A||[],n=0;n16)throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"pkcs#5 padding corrupt\\\");if(a=16843009*r,!s._ZG(s._JG([a,a,a,a],0,8*r),s._JG(c,32*c.length-8*r,32*c.length)))throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"2pkcs#5 padding corrupt\\\");return s._JG(c,0,32*c.length-8*r)}},e.exports=t},6130:(e,t,i)=>{var A=i(6e3).regClass,n=function(){var e=[],t=new IPCC.Web.UI._Qa,i=new IPCC.Web.UI.MarkCollection,A=this,n=!0;function r(t,n){var a=n.mark;if(!a._Gm||!a._Gm[0]||!1!==a._Gm[0]._Xx){var s,o=n.mark.get_selected();if(a.get_type()===IPCC.Web.UI.MarkType.RectangleRedaction&&void 0!==a._Jd){i.remove_markAdded(r),i.remove_markRemoved(r);for(var c=0;c=0)throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"You cannot add a Mark to an ArtPage if the mark is already associated with the ArtPage.\\\");if(t._Od())throw new IPCC.Web.UI.ImGearInvalidOperationExceptionException(\\\"You cannot add a Mark to an ArtPage if the mark is already associated with a different ArtPage.\\\");e.push(t),t._eD(this),t.add_propertyChanged(l),t.add_markTextSelectionChanged(u),t._uca(d),t._wca(I),t._xba(C);var n=new IPCC.Web.UI.MarkEventArgs;n.mark=t,t.get_type()===IPCC.Web.UI.MarkType.Highlight||t.get_type()===IPCC.Web.UI.MarkType.HighlightText||t.get_type()===IPCC.Web.UI.MarkType.TextHyperlinkAnnotation||t.get_type()===IPCC.Web.UI.MarkType.DocumentHyperlink||t.get_type()===IPCC.Web.UI.MarkType.Strikethrough||t.get_type()===IPCC.Web.UI.MarkType.RectangleRedaction&&void 0!==t._Jd?this._Wva(t,0):n.zIndex=e.length-1,n.clientX=i.clientX,n.clientY=i.clientY,n.length=1,A._Rd(\\\"markAdded\\\",n)},this._tp=function(t,i){var A,n=[].concat(e);for(A=0;A0&&n>0))return t/A;for(s=0;s0)return r;if(r=p(a,\\\"height\\\",i),isFinite(r)&&r>0)return r;if(r=p(a,\\\"x\\\",t),isFinite(r)&&r>0)return r;if(r=p(a,\\\"y\\\",i),isFinite(r)&&r>0)return r}return 1}function m(e,t){for(var i=0;i1&&!n&&\\\"font\\\"===e[i]._Yxa){n=!0;for(var r=0;r0&&(K=j),U=0;U\\\"),D=\\\"\\\",S=[],P=0;P\\\",T.push(m[P]));for(P=0;Pne&&(Be=!0,Ee=ne),me.y>re&&(Be=!0,_e=re),me.x+me.width=0&&(\\\"rectangle_trans_redact\\\"===de||!G._Fx())&&\\\"stamp\\\"!==de&&\\\"imagestamp\\\"!==de&&\\\"imagestamp_redact\\\"!==de&&\\\"text_hyperlink_annotation\\\"!==de&&\\\"text_input_signature\\\"!==de&&\\\"text_area_signature\\\"!==de&&\\\"strikethrough\\\"!==de&&G.set_opacity(he),G._oO._PY=ce,G._oO._pxa=de,G._oO._We=V.getAttribute(\\\"lineWidth\\\"),G._oO._IQ=V.getAttribute(\\\"fillColor\\\"),G._oO._Xe=V.getAttribute(\\\"lineColor\\\"),G._oO._qxa=V.getAttribute(\\\"dragDirection\\\"),G._oO._vwa=v,G._oO._jf=V.getAttribute(\\\"x\\\"),G._oO._kf=V.getAttribute(\\\"y\\\"),G._oO._pf=V.getAttribute(\\\"height\\\"),G._oO._of=V.getAttribute(\\\"width\\\"),G._oO._rxa=V.getAttribute(\\\"x_percent\\\"),G._oO._sxa=V.getAttribute(\\\"y_percent\\\"),G._oO._txa=V.getAttribute(\\\"height_percent\\\"),G._oO._uxa=V.getAttribute(\\\"width_percent\\\"),G._oO._vxa=V.getAttribute(\\\"formUser\\\"),G._oO._wxa=V.getAttribute(\\\"created\\\"),G._oO._xxa=V.getAttribute(\\\"modified\\\"),G._oO._yxa=V.getAttribute(\\\"saveDate\\\"),G._oO._zxa=V.getAttribute(\\\"saveTime\\\"),G._oO._DK=V.getAttribute(\\\"meta\\\");for(var Re=V.firstChild;Re&&4!==Re.nodeType;)Re=Re.nextSibling;Re&&4===Re.nodeType?G._qX.push(Re.data):G._qX.push(\\\"\\\");var Me=parseInt(V.getAttribute(\\\"interactionMode\\\"))||IPCC.Web.UI.MarkInteractionMode.Full;G.set_interactionMode(Me),G._eD(this),G.add_propertyChanged(l),G.add_markTextSelectionChanged(u),G._uca(d),G._wca(I),G._xba(C),q.push(G),_(V,G),J=IPCC._o._kL(V.getAttribute(\\\"created\\\")),Y=IPCC._o._kL(V.getAttribute(\\\"modified\\\")),J=J||new Date,Y=Y||new Date,G.initializeDates(J,Y),o&&G.set_visible(!1)}}}}e=e.concat(q),this._Rd(\\\"marksLoaded\\\",{})}if(x){L(t,i);break}}}}},this._kxa=function(e,t){for(var i,A,n,r,a,s,o=[],c=t.get_type()===IPCC.Web.UI.MarkType.SignatureText?IPCC.Web.UI.HorizontalAlignment.Center:IPCC.Web.UI.HorizontalAlignment.Left;e&&4!==e.nodeType;)e=e.nextSibling;if(e&&4===e.nodeType){for(A=e.innerText||e.textContent||e.data,t._oO._Db=A,n=A.split(\\\"\\\"),i=0;i\\\",o.push(n[i]));for(r=\\\"\\\",a=[],i=0;i\\\\s]+))?)*)\\\\s*(\\\\/?)>/,P=/^<\\\\/([\\\\-A-Za\\\\-z0-9_]+)[^>]*>/,R=/([\\\\-A-Za\\\\-z0-9_]+)(?:\\\\s*=\\\\s*(?:(?:\\\"((?:\\\\\\\\[\\\\w\\\\W]|[^\\\"])*)\\\")|(?:'((?:\\\\\\\\[\\\\w\\\\W]|[^'])*)')|([^>\\\\s]+)))?/g,M=D(\\\"area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed\\\"),F=D(\\\"address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul\\\"),T=D(\\\"a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var\\\"),N=D(\\\"colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr\\\"),U=D(\\\"checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected\\\"),G=D(\\\"script,style\\\");function L(e,t){var i=e.getElementsByTagName(\\\"highlights\\\")[0];if(i.hasChildNodes())for(var n,r,a=0;a=0&&r[A]!==i;A--);else A=0;if(A>=0){for(var n=r.length-1;n>=A;n--)t.end&&t.end(r[n]);r.length=A}}function o(e,i,A,n){if(i=i.toLowerCase(),F[i])for(;r.last()&&T[r.last()];)s(0,r.last());if(N[i]&&r.last()===i&&s(0,i),(n=M[i]||!!n)||r.push(i),t.start){var a=[];A.replace(R,(function(e,t){var i=arguments[2]?arguments[2]:arguments[3]?arguments[3]:arguments[4]?arguments[4]:U[t]?t:\\\"\\\";a.push({name:t,value:i,escaped:i.replace(/(^|[^\\\\\\\\])\\\"/g,'$1\\\\\\\\\\\"')})})),t.start&&t.start(i,a,n)}}function c(e,i){return i=i.replace(//g,\\\"$1\\\").replace(//g,\\\"$1\\\"),t.chars&&t.chars(i),\\\"\\\"}for(r.last=function(){return this[this.length-1]};e;){if(A=!0,r.last()&&G[r.last()])e=e.replace(new RegExp(\\\"(.*)]*>\\\"),c),s(0,r.last());else if(0===e.indexOf(\\\"\\\\x3c!--\\\")?(i=e.indexOf(\\\"--\\\\x3e\\\"))>=0&&(t.comment&&t.comment(e.substring(4,i)),e=e.substring(i+3),A=!1):0===e.indexOf(\\\"=0;n--)e[n].remove_propertyChanged(l),e[n].remove_markTextSelectionChanged(u),e[n]._eD(null),(t=new IPCC.Web.UI.MarkEventArgs).length=e.length,t.zIndex=0,t.mark=e.pop(),A._Rd(\\\"markRemoved\\\",t);(t=new IPCC.Web.UI.MarkEventArgs).length=e.length,t.zIndex=0,A._Rd(\\\"markRemoved\\\",t)}},this._us=function(t){var n=this._ppa(t),r=t._Jd;if(n>=0){t.remove_propertyChanged(l),t.remove_markTextSelectionChanged(u),t._eD(null),e.splice(n,1),i.removeMark(t);var a=new IPCC.Web.UI.MarkEventArgs;a.mark=t,a.zIndex=n,a.length=1,A._Rd(\\\"markRemoved\\\",a),r&&this._Nya(r)}},this._Oya=function(t){for(var i=e.length,A=t._Jd;i--;){var n=e[i];n._Jd===A&&n.set_fillColor(t.get_fillColor())}},this._Vva=function(t){var i=e.length,A=t._Jd;if(A)for(;i--;){var n=e[i];n._Jd===A&&(n.get_text()!==t.get_text()&&n.set_text(t.get_text()),n.get_fontName()!==t.get_fontName()&&n.set_fontName(t.get_fontName()),n.get_fontSize()!==t.get_fontSize()&&n.set_fontSize(t.get_fontSize()))}else t.set_text(t.get_text())},this._Nya=function(t){for(var A=e.length;A--;){var n=e[A];if(n._Jd===t){var r=this._ppa(n);i.removeMark(n),e.splice(A,1);var a=new IPCC.Web.UI.MarkEventArgs;a.mark=n,a.zIndex=r,a.length=1}}},this._Wva=function(t,i){var n=this._ppa(t);if(n<0)throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"You cannot reorder a Mark unless it is currently associated with the ArtPage.\\\");if(n!==i&&(g(i),e.splice(n,1),e.splice(i,0,t),t.get_type()!==IPCC.Web.UI.MarkType.Highlight&&t.get_type()!==IPCC.Web.UI.MarkType.HighlightText&&t.get_type()!==IPCC.Web.UI.MarkType.TextHyperlinkAnnotation&&t.get_type()!==IPCC.Web.UI.MarkType.DocumentHyperlink&&t.get_type()!==IPCC.Web.UI.MarkType.Strikethrough&&(t.get_type()!==IPCC.Web.UI.MarkType.RectangleRedaction||void 0===t._Jd))){var r=new IPCC.Web.UI.MarkEventArgs;r.mark=t,r.zIndex=i,r.oldZIndex=n,r.length=1,A._Rd(\\\"markReordered\\\",r)}},this._aza=function(e,t,i,n){var r,a,s,o,c,g,h=e.get_type(),l=!1,u={_Cba:\\\"annotation\\\",_qX:[],_oO:{}};e._oO._oxa?u._oO.nodeId=e._oO._oxa:u._oO.nodeId=A._bwa();var d,I=\\\"\\\",C=\\\"\\\";if(e.get_lineColor()){var f=e.get_lineColor();\\\"transparent\\\"===f?u._oO.lineColor=f:(d=f.replace(/#/,\\\"\\\"),C=(I=parseInt(d,16)).toString(),u._oO.lineColor=C)}u._oO.interactionMode=e.get_interactionMode(),u._oO.stampSize=\\\"122\\\";var p={};p[IPCC.Web.UI.MarkType.Stamp]=!0,p[IPCC.Web.UI.MarkType.ImageStampAnnotation]=!0,p[IPCC.Web.UI.MarkType.ImageStampRedaction]=!0,(h===IPCC.Web.UI.MarkType.Rectangle&&e.get_opacity()<255||!e._Fx())&&!0!==p[h]&&(u._oO.opacity=e.get_opacity()),e.get_conversation().get_length()>0&&u._qX.push(J(e.get_conversation()));var B,m=W(e.get_data());switch(m&&u._qX.push(m),l=!1,h){case IPCC.Web.UI.MarkType.Rectangle:case IPCC.Web.UI.MarkType.Ellipse:\\\"transparent\\\"===(a=e.get_fillColor())?u._oO.fillColor=a:a?(r=a.replace(/#/,\\\"\\\"),u._oO.fillColor=parseInt(r,16).toString()):u._oO.fillColor=C,e.get_fillVisible()?e.get_type()===IPCC.Web.UI.MarkType.Rectangle?255===e.get_opacity()?!0===e._Fx()?(u._oO.drawType=\\\"rectangle_filled_redact\\\",e._Jd&&(u._oO.highlightGroupID=e._Jd)):u._oO.drawType=\\\"rectangle_filled\\\":!0===e._Fx()?u._oO.drawType=\\\"rectangle_trans_redact\\\":u._oO.drawType=\\\"rectangle_trans\\\":255===e.get_opacity()?(u._oO.drawType=\\\"circle_filled\\\",e._Fx()&&(u._oO.drawType=\\\"circle_filled_redact\\\")):(u._oO.drawType=\\\"circle_trans\\\",e._Fx()&&(u._oO.drawType=\\\"circle_trans_redact\\\")):e.get_type()===IPCC.Web.UI.MarkType.Rectangle?(u._oO.drawType=\\\"rectangle\\\",u._oO.fillColor=C):(u._oO.drawType=\\\"circle\\\",u._oO.fillColor=C),u._oO.dragDirection=\\\"br\\\";var E=e.get_rectangle();u._oO.x=E.x,u._oO.y=E.y,u._oO.x_percent=E.x/t,u._oO.y_percent=E.y/i,u._oO.height_percent=E.height/i,u._oO.width_percent=E.width/t,u._oO.height=E.height,u._oO.width=E.width;break;case IPCC.Web.UI.MarkType.Line:case IPCC.Web.UI.MarkType.Polyline:u._oO.lineWidth=e.get_lineWidth(),l=!0;break;case IPCC.Web.UI.MarkType.TextSelectionRedaction:u._oO.highlightGroupID=e._Jd,u._oO.drawType=\\\"text_selection_redaction\\\",e._Ed&&e._Ed.length>0&&(u._oO.startIndex=e._zd,u._oO.selectedText=e._Ed,u._oO.textLength=e._Gd);break;case IPCC.Web.UI.MarkType.Text:var Q=e.get_rectangle();switch(u._oO.x=Q.x,u._oO.y=Q.y,u._oO.x_percent=Q.x/t,u._oO.y_percent=Q.y/i,u._oO.height_percent=Q.height/i,u._oO.width_percent=Q.width/t,u._oO.height=Q.height,u._oO.width=Q.width,u._oO.maxLength=e.get_maxLength(),a=e.get_fillColor(),!0===e._Fx()?u._oO.drawType=\\\"text_redact\\\":(u._oO.drawType=\\\"text\\\",u._oO.opacity=e.get_opacity()),\\\"transparent\\\"===a?u._oO.fillColor=a:a?(r=a.replace(/#/,\\\"\\\"),u._oO.fillColor=parseInt(r,16).toString()):u._oO.fillColor=\\\"16776960\\\",B=\\\"\\\",B='',e.get_textHorizontalAlignment()){case IPCC.Web.UI.HorizontalAlignment.Center:B+='

\\\",B+=\\\"\\\";var _=e.get_fontStyle();_&IPCC.Web.UI.FontStyle.Bold&&(B+=\\\"\\\"),_&IPCC.Web.UI.FontStyle.Italic&&(B+=\\\"\\\"),_&IPCC.Web.UI.FontStyle.Underline&&(B+=\\\"\\\"),_&IPCC.Web.UI.FontStyle.Strikeout&&(B+=\\\"\\\"),g=e.get_text(),B+=g=IPCC._o._wL(g),_&IPCC.Web.UI.FontStyle.Strikeout&&(B+=\\\"\\\"),_&IPCC.Web.UI.FontStyle.Underline&&(B+=\\\"\\\"),_&IPCC.Web.UI.FontStyle.Italic&&(B+=\\\"\\\"),_&IPCC.Web.UI.FontStyle.Bold&&(B+=\\\"\\\"),B+=\\\"\\\",B+=\\\"

\\\",B+=\\\"
\\\";break;case IPCC.Web.UI.MarkType.Highlight:E=e.get_rectangle(),u._oO.x=E.x,u._oO.y=E.y,u._oO.x_percent=E.x/t,u._oO.y_percent=E.y/i,u._oO.height_percent=E.height/i,u._oO.width_percent=E.width/t,u._oO.height=E.height,u._oO.width=E.width,u._oO.drawType=\\\"highlight\\\",u._oO.highlightGroupID=e._Jd,u._oO.isHighlight=e._Id,(a=e.get_fillColor())?(r=a.replace(/#/,\\\"\\\"),u._oO.fillColor=parseInt(r,16).toString(),u._oO.lineColor=parseInt(r,16).toString()):u._oO.fillColor=C;break;case IPCC.Web.UI.MarkType.TextHyperlinkAnnotation:E=e.get_rectangle(),u._oO.x=E.x,u._oO.y=E.y,u._oO.height=E.height,u._oO.width=E.width,u._oO.drawType=\\\"text_hyperlink_annotation\\\",u._oO.href=IPCC._o._wL(e._Ql),u._oO.startIndex=e._zd,u._oO.selectedText=e._Ed,u._oO.textLength=e._Gd,u._oO.highlightGroupID=e._Jd,u._oO.isHighlight=e._Id,(a=e.get_fillColor())?(r=a.replace(/#/,\\\"\\\"),u._oO.fillColor=parseInt(r,16).toString(),u._oO.lineColor=parseInt(r,16).toString()):u._oO.fillColor=C,u._qX.push(H(e._Gm));break;case IPCC.Web.UI.MarkType.HighlightText:E=e.get_rectangle(),u._oO.x=E.x,u._oO.y=E.y,u._oO.x_percent=E.x/t,u._oO.y_percent=E.y/i,u._oO.height_percent=E.height/i,u._oO.width_percent=E.width/t,u._oO.height=E.height,u._oO.width=E.width,u._oO.drawType=\\\"highlightText\\\",u._oO.startIndex=e._zd,u._oO.selectedText=e._Ed,u._oO.textLength=e._Gd,u._oO.highlightGroupID=e._Jd,u._oO.isHighlight=e._Id,(a=e.get_fillColor())?(r=a.replace(/#/,\\\"\\\"),u._oO.fillColor=parseInt(r,16).toString(),u._oO.lineColor=parseInt(r,16).toString()):u._oO.fillColor=C,u._qX.push(H(e._Gm));break;case IPCC.Web.UI.MarkType.RectangleRedaction:E=e.get_rectangle(),u._oO.drawType=\\\"rectangle_filled_redact\\\",u._oO.x=E.x,u._oO.y=E.y,u._oO.x_percent=E.x/t,u._oO.y_percent=E.y/i,u._oO.height_percent=E.height/i,u._oO.width_percent=E.width/t,u._oO.height=E.height,u._oO.width=E.width,u._oO.meta=IPCC._o._wL(e.get_text()),u._oO.stampSize=e.get_fontSize(),u._oO.lineWidth=e.get_lineWidth(),(a=e.get_fillColor())?(r=a.replace(/#/,\\\"\\\"),u._oO.fillColor=parseInt(r,16).toString()):u._oO.fillColor=C,(d=e.get_lineColor())?(I=d.replace(/#/,\\\"\\\"),u._oO.lineColor=parseInt(I,16).toString()):u._oO.lineColor=C,(o=e.get_textColor())?(s=o.replace(/#/,\\\"\\\"),u._oO.fontColor=parseInt(s,16).toString()):u._oO.fontColor=C,e._Jd&&(u._oO.highlightGroupID=e._Jd);break;case IPCC.Web.UI.MarkType.Stamp:(a=e.get_fillColor())?(r=a.replace(/#/,\\\"\\\"),u._oO.fillColor=parseInt(r,16).toString(),u._oO.lineColor=parseInt(r,16).toString()):u._oO.fillColor=C,E=e.get_rectangle(),u._oO.x=E.x,u._oO.y=E.y,u._oO.x_percent=E.x/t,u._oO.y_percent=E.y/i,u._oO.height_percent=E.height/i,u._oO.width_percent=E.width/t,u._oO.height=E.height,u._oO.width=E.width,!0===e._Fx()?u._oO.drawType=\\\"stamp_redact\\\":u._oO.drawType=\\\"stamp\\\",g=e.get_text(),u._oO.stampSize=e.stampSize,u._qX.push(\\\"\\\");break;case IPCC.Web.UI.MarkType.Freehand:case IPCC.Web.UI.MarkType.SignaturePath:if(e.get_type()===IPCC.Web.UI.MarkType.Freehand)u._oO.drawType=\\\"freehand\\\";else switch(u._oO.drawType=\\\"signature_path\\\",e.get_textHorizontalAlignment()){case IPCC.Web.UI.HorizontalAlignment.Center:u._oO.align=\\\"center\\\";break;case IPCC.Web.UI.HorizontalAlignment.Left:u._oO.align=\\\"left\\\";break;case IPCC.Web.UI.HorizontalAlignment.Right:u._oO.align=\\\"right\\\"}B=e.get_pathString(),u._oO.pathWidth=e.get_pathWidth(),u._oO.pathHeight=e.get_pathHeight(),E=e.get_rectangle(),u._oO.x=E.x,u._oO.y=E.y,u._oO.x_percent=E.x/t,u._oO.y_percent=E.y/i,u._oO.height_percent=E.height/i,u._oO.width_percent=E.width/t,u._oO.height=E.height,u._oO.width=E.width;break;case IPCC.Web.UI.MarkType.SignatureText:switch((a=e.get_fillColor())?(r=a.replace(/#/,\\\"\\\"),u._oO.fillColor=\\\"\\\",u._oO.lineColor=\\\"\\\",parseInt(r,16).toString()):(u._oO.fillColor=\\\"\\\",C),E=e.get_rectangle(),u._oO.x=E.x,u._oO.y=E.y,u._oO.x_percent=E.x/t,u._oO.y_percent=E.y/i,u._oO.height_percent=E.height/i,u._oO.width_percent=E.width/t,u._oO.height=E.height,u._oO.width=E.width,u._oO.opacity=0,u._oO.drawType=\\\"signature_text\\\",u._oO.stampSize=e.stampSize,u._oO.fontWidth=e._WY,u._oO.fontHeight=e._XY,B=\\\"\\\",B='',e.get_textHorizontalAlignment()){case IPCC.Web.UI.HorizontalAlignment.Center:B+='

\\\",B+=\\\"\\\",B+=g=IPCC._o._wL(e.get_text()),B+=\\\"\\\",B+=\\\"

\\\",B+=\\\"
\\\";break;case IPCC.Web.UI.MarkType.TextAreaSignature:switch(Q=e.get_rectangle(),u._oO.x=Q.x,u._oO.y=Q.y,u._oO.x_percent=Q.x/t,u._oO.y_percent=Q.y/i,u._oO.height_percent=Q.height/i,u._oO.width_percent=Q.width/t,u._oO.height=Q.height,u._oO.width=Q.width,u._oO.maxLength=e._MQ,u._oO.maxFontSize=e._kK,u._oO.drawType=n?\\\"text\\\":\\\"text_area_signature\\\",u._oO.fillColor=\\\"transparent\\\",B=\\\"\\\",B='',e.get_textHorizontalAlignment()){case IPCC.Web.UI.HorizontalAlignment.Center:B+='

\\\",B+=\\\"\\\",(_=e.get_fontStyle())&IPCC.Web.UI.FontStyle.Bold&&(B+=\\\"\\\"),_&IPCC.Web.UI.FontStyle.Italic&&(B+=\\\"\\\"),_&IPCC.Web.UI.FontStyle.Underline&&(B+=\\\"\\\"),_&IPCC.Web.UI.FontStyle.Strikeout&&(B+=\\\"\\\"),g=e.get_text(),B+=g=IPCC._o._wL(g),_&IPCC.Web.UI.FontStyle.Strikeout&&(B+=\\\"\\\"),_&IPCC.Web.UI.FontStyle.Underline&&(B+=\\\"\\\"),_&IPCC.Web.UI.FontStyle.Italic&&(B+=\\\"\\\"),_&IPCC.Web.UI.FontStyle.Bold&&(B+=\\\"\\\"),B+=\\\"\\\",B+=\\\"

\\\",B+=\\\"
\\\";break;case IPCC.Web.UI.MarkType.TextLine:if(n){E=e.get_rectangle();var y,w=e.stampSize;if(e._ZY&&e._aZ)y=e._aZ;else y=IPCC._o._jK(e.get_text(),e.get_fontName(),E.width,E.height,e._kK,{_xK:\\\"pre\\\",_az:w+\\\"px\\\"}),e._ZY=!0,e._aZ=y;w=y.fontSize;var b=y.width/E.width,v=1,k=.85;/mono/i.test(e.get_fontName())&&(k=.75),b>k&&(w*=v=k*E.width/y.width);var x=E.width,D=y.height*v,S=E.height-(E.height-D)/2,P=E.x,R=E.y+(E.height-y.height)/2+y.height*(1-v);switch(u._oO.x=P,u._oO.y=R,u._oO.x_percent=P/t,u._oO.y_percent=R/i,u._oO.height_percent=S/i,u._oO.width_percent=x/t,u._oO.height=S,u._oO.width=x,u._oO.opacity=0,u._oO.drawType=\\\"text_redact\\\",B=\\\"\\\",B=\\\"\\\",e.get_textHorizontalAlignment()){case IPCC.Web.UI.HorizontalAlignment.Center:B+='

\\\",B+=\\\"0&&(c=Math.min(c,e._kK)),B+='SIZE= \\\"'+c+'\\\" ',B+=\\\"COLOR=\\\"+('\\\"'+e.get_textColor()+'\\\" ')+\\\" \\\",B+='LETTERSPACING=\\\"0\\\" ',B+='KERNING=\\\"0\\\" ',B+=\\\">\\\",B+=g=IPCC._o._wL(e.get_text()),B+=\\\"\\\",B+=\\\"

\\\",B+=\\\"
\\\"}else{switch(E=e.get_rectangle(),u._oO.x=E.x,u._oO.y=E.y,u._oO.x_percent=E.x/t,u._oO.y_percent=E.y/i,u._oO.height_percent=E.height/i,u._oO.maxLength=e.get_maxLength(),u._oO.width_percent=E.width/t,u._oO.height=E.height,u._oO.width=E.width,u._oO.opacity=0,u._oO.drawType=\\\"text_input_signature\\\",u._oO.stampSize=e.stampSize,u._oO.fontWidth=e._WY,u._oO.fontHeight=e._XY,B=\\\"\\\",B='',e.get_textHorizontalAlignment()){case IPCC.Web.UI.HorizontalAlignment.Center:B+='

\\\",B+=\\\"\\\",B+=g=IPCC._o._wL(e.get_text()),B+=\\\"\\\",B+=\\\"

\\\",B+=\\\"
\\\";var M=function(e){if(e){var t={_Cba:\\\"inputMask\\\",_qX:[],_oO:{value:IPCC._o._wL(e.value)}};return IPCC._o.forEach(e.translations,(function(e,i){t._qX.push({_Cba:\\\"translation\\\",_qX:[],_oO:{key:IPCC._o._wL(i),value:IPCC._o._wL(e.toString())}})})),t}}(e.get_mask());M&&u._qX.push(M)}break;case IPCC.Web.UI.MarkType.ImageStampAnnotation:case IPCC.Web.UI.MarkType.ImageStampRedaction:u._oO.drawType=h===IPCC.Web.UI.MarkType.ImageStampRedaction?\\\"imagestamp_redact\\\":\\\"imagestamp\\\",E=e.get_rectangle(),u._oO.x=E.x,u._oO.y=E.y,u._oO.height=E.height,u._oO.width=E.width,u._oO.lineWidth=e.get_lineWidth(),u._oO.x_percent=E.x/t,u._oO.y_percent=E.y/i,u._oO.height_percent=E.height/i,u._oO.width_percent=E.width/t,u._oO.imageStampId=e._sS;break;case IPCC.Web.UI.MarkType.Strikethrough:E=e.get_rectangle(),u._oO.x=E.x,u._oO.y=E.y,u._oO.height=E.height,u._oO.width=E.width,u._oO.drawType=\\\"strikethrough\\\",u._oO.startIndex=e._zd,u._oO.selectedText=e._Ed,u._oO.textLength=e._Gd,u._oO.highlightGroupID=e._Jd,u._oO.isHighlight=e._Id,u._qX.push(H(e._Gm))}if(l){u._oO.lineWidth=e.get_lineWidth();var F=e.get_boundingRectangle();u._oO.x=F.x,u._oO.y=F.y,u._oO.x_percent=F.x/t,u._oO.y_percent=F.y/i,u._oO.height_percent=F.height/i,u._oO.width_percent=F.width/t,u._oO.height=F.height,u._oO.width=F.width,h===IPCC.Web.UI.MarkType.Line?e.get_endHeadType()===IPCC.Web.UI.LineHeadType.None?u._oO.drawType=\\\"line\\\":u._oO.drawType=\\\"arrow\\\":u._oO.drawType=\\\"polyline\\\",u._oO.lineWidth=e.get_lineWidth();var T=e.get_points();if(h===IPCC.Web.UI.MarkType.Line)T.getPoint(0).xT.getPoint(1).y?u._oO.dragDirection=\\\"tr\\\":T.getPoint(0).x>T.getPoint(1).x&&T.getPoint(0).y>T.getPoint(1).y?u._oO.dragDirection=\\\"tl\\\":T.getPoint(0).x>T.getPoint(1).x&&T.getPoint(0).y1){for(var G=0;G\\\"):u._qX.push(\\\"\\\"),u},this._Aza=function(t,i,A,n){var r={_Cba:\\\"documentAnnotations\\\",_qX:[],_oO:{}},a={_Cba:\\\"pages\\\",_qX:[],_oO:{}};r._qX.push(a);r._qX.push({_Cba:\\\"highlights\\\",_qX:[],_oO:{}});var s={},o=[],c={_Cba:\\\"page\\\",_qX:[],_oO:{id:(t+1).toString(),pageWidth:i,pageHeight:A}};a._qX.push(c);for(var g=void 0===(n=n||{}).includeAnnotations||!!n.includeAnnotations,h=void 0===n.includeRedactions||!!n.includeRedactions,l=void 0!==n.includeSignatures&&!!n.includeSignatures,u=void 0!==n._bza&&!!n._bza,d=void 0!==n._Gza&&n._Gza,I=!!u,C=d||e,f=0;f{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={Line:0,Triangle:1},n.registerEnum(\\\"IPCC.Web.UI.CalloutType\\\",!1),e.exports=n},1362:(e,t,i)=>{var A=i(6e3).regClass,n=function(e){var t=new IPCC.Web.UI._Qa,i=new IPCC.Web.UI.Data;return this._CI=IPCC._o._ss(new Date),this._Db=e,this._sba=function(e){if(e!==this._Db){this._Db=e;var t=new IPCC.Web.UI.CommentEventArgs;t.comment=this,t.length=1,this._Rd(\\\"commentChanged\\\",t)}},this._tba=function(){return this._Db},this._uba=function(e){this._CI=e},this._wba=function(){return this._CI},this._xba=function(e){t.addHandler(\\\"commentChanged\\\",e)},this._yba=function(e){t.removeHandler(\\\"commentChanged\\\",e)},this._Rd=function(e,i){var A=t.getHandler(e);null!==A&&A(this,i)},this._ts=function(){return i},this};n.prototype={toString:function(){return\\\"Comment(\\\"+this.creationTime+\\\", \\\"+this.text+\\\")\\\"},add_commentChanged:function(e){this._xba(e)},remove_commentChanged:function(e){this._yba(e)},get_text:function(){return this._tba()},set_text:function(e){this._sba(e)},get_creationTime:function(){return this._wba()},set_creationTime:function(e){this._uba(e)},get_data:function(){return this._ts()}},n.registerClass=A,n.registerClass(\\\"IPCC.Web.UI.Comment\\\"),e.exports=n},323:(e,t,i)=>{var A=i(6e3).regClass,n=function(){return this};n.registerClass=A,n.prototype={},n.registerClass(\\\"IPCC.Web.UI.CommentEventArgs\\\"),e.exports=n},4064:(e,t,i)=>{var A=i(6e3).regClass,n=function(e){var t=[],i=new IPCC.Web.UI._Qa,A=new IPCC.Web.UI.Data,n=e,r=this;function a(e,t){r._Rd(\\\"commentChanged\\\",t)}return this._hs=function(e){e.add_commentChanged(a),t.push(e);var i=new IPCC.Web.UI.CommentEventArgs;i.comment=e,i.length=1,i.index=t.length-1,this._Rd(\\\"commentAdded\\\",i)},this._rca=function(e){var i=-1;if(IPCC._o.forEach(t,(function(t,A){t===e&&(i=A)})),-1===i)throw new IPCC.Web.UI.ImGearArgumentException(\\\"comment\\\",\\\"The provided comment was not found in the conversation.\\\");var A=t.splice(i,1)[0];A._yba(a);var n=new IPCC.Web.UI.CommentEventArgs;n.comment=A,n.length=1,this._Rd(\\\"commentRemoved\\\",n)},this._op=function(e,i){var A;for(A=0;A{var A=i(6e3).regClass,n=function(){return this._zl={},this._ts=function(e){if(void 0===e)return IPCC._o.extend({},this._zl);if(\\\"string\\\"==typeof e)return this._zl[e];throw new IPCC.Web.UI.ImGearArgumentException(\\\"key\\\",\\\"The argument must be a string.\\\")},this._Aba=function(e,t){if(\\\"string\\\"!=typeof e)throw new IPCC.Web.UI.ImGearArgumentException(\\\"key\\\",\\\"The argument must be a string.\\\");if(\\\"string\\\"==typeof t)this._zl[e]=t;else{if(void 0!==t)throw new IPCC.Web.UI.ImGearArgumentException(\\\"value\\\",\\\"The argument must be a string.\\\");delete this._zl[e]}return this},this._Bba=function(){var e=[];return IPCC._o.forEach(this._zl,(function(t,i){e.push(i)})),e},this};n.prototype={toString:function(){return\\\"Data(\\\"+this.creationTime+\\\", \\\"+this.text+\\\")\\\"},get_data:function(e){return this._ts(e)},set_data:function(e,t){return this._Aba(e,t)},get_dataKeys:function(){return this._Bba()}},n.registerClass=A,n.registerClass(\\\"IPCC.Web.UI.Data\\\"),e.exports=n},8549:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.prototype={Production:0,Development:1,Detailed:2},n.registerEnum=A,n.registerEnum(\\\"IPCC.Web.UI.DebugErrorLevel\\\",!1),e.exports=n},3736:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.prototype={FunctionCall:0,Exception:1,Custom:2,UserAction:3,Warning:4},n.registerEnum=A,n.registerEnum(\\\"IPCC.Web.UI.DebugItemCause\\\",!1),e.exports=n},3549:(e,t,i)=>{function A(e){return A=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},A(e)}var n=i(6e3).regClass,r=function(e){var t=e,i=this.type=t.type.toLowerCase(),A=void 0!==t.changedTouches;this.rawEvent=t,this.altKey=t.altKey,void 0!==t.button&&(this.button=void 0!==t.which?t.button:4===t.button?IPCC.Web.UI.MouseButton.middleButton:2===t.button?IPCC.Web.UI.MouseButton.rightButton:IPCC.Web.UI.MouseButton.leftButton),\\\"keypress\\\"===i?this.charCode=t.charCode||t.keyCode:t.keyCode&&46===t.keyCode?this.keyCode=127:this.keyCode=t.keyCode,this.clientX=A?t.changedTouches[0].clientX:t.clientX,this.clientY=A?t.changedTouches[0].clientY:t.clientY,this.ctrlKey=t.ctrlKey,this.target=t.target?t.target:t.srcElement;if(\\\"key\\\"!==(\\\"\\\"+i).substr(0,\\\"key\\\".length))if(void 0!==t.offsetX&&void 0!==t.offsetY)this.offsetX=t.offsetX,this.offsetY=t.offsetY;else if(this.target&&3!==this.target.nodeType&&\\\"number\\\"==typeof t.clientX){var n=function(e){for(var t=0,i=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-e.scrollLeft,i+=e.offsetTop-e.scrollTop,e=e.offsetparent?e.offsetParent:e.parentNode;return{top:i,left:t}}(this.target),r=this.target,a=r.ownerDocument||r.document||r,s=a.defaultView||a.parentWindow;this.offsetX=(s.pageXOffset||0)+t.clientX-n.left,this.offsetY=(s.pageYOffset||0)+t.clientY-n.top}this.screenX=A?t.changedTouches[0].screenX:t.screenX,this.screenY=A?t.changedTouches[0].screenY:t.screenY,this.shiftKey=t.shiftKey};r.prototype={preventDefault:function(){if(0!==arguments.length)throw new IPCC.Web.UI.ImGearParameterCountException;this.rawEvent.preventDefault?this.rawEvent.preventDefault():window.event&&(this.rawEvent.returnValue=!1)},stopPropagation:function(){if(0!==arguments.length)throw new IPCC.Web.UI.ImGearParameterCountException;this.rawEvent.stopPropagation?this.rawEvent.stopPropagation():window.event&&(this.rawEvent.cancelBubble=!0)}},r.registerClass=n,r.registerClass(\\\"IPCC.Web.UI._DomEvent\\\"),r.addHandler=function(e,t,i,A){if(IPCC.Web.UI._Ox._Iba(e),\\\"error\\\"===t)throw new IPCC.Web.UI.ImGearInvalidOperationException(IPCC._k.addHandlerCantBeUsedForError);e._Pa||(e._Pa={});var n,r=e._Pa[t];if(r||(e._Pa[t]=r=[]),e.addEventListener?(n=function(t){return i.call(e,new IPCC.Web.UI._Ox(t))},e.addEventListener(t,n,!1)):e.attachEvent&&(n=function(){var t={};try{var A=e.ownerDocument||e.document||e;t=(A.defaultView||A.parentWindow).event}catch(e){}return i.call(e,new IPCC.Web.UI._Ox(t))},e.attachEvent(\\\"on\\\"+t,n)),r[r.length]={handler:i,browserHandler:n,autoRemove:A},A){var a=e.dispose;a!==IPCC.Web.UI._Ox._Jba&&(e.dispose=IPCC.Web.UI._Ox._Jba,void 0!==a&&(e._Kba=a))}},r.clearHandlers=function(e){IPCC.Web.UI._Ox._Iba(e),IPCC.Web.UI._Ox._Lba(e,!1)},r._Lba=function(e,t){if(e._Pa){var i=e._Pa;for(var A in i)if(i.hasOwnProperty(A))for(var n=i[A],r=n.length-1;r>=0;r--){var a=n[r];t&&!a.autoRemove||IPCC.Web.UI._Ox.removeHandler(e,A,a.handler)}e._Pa=null}},r._Jba=function(){IPCC.Web.UI._Ox._Lba(this,!0);var e=this._Kba,t=A(e);\\\"undefined\\\"!==t&&(this.dispose=e,this._Kba=null,\\\"function\\\"===t&&this.dispose())},r.removeHandler=function(e,t,i){IPCC.Web.UI._Ox._PC(e,t,i)},r._PC=function(e,t,i){IPCC.Web.UI._Ox._Iba(e);var n=null;if(\\\"object\\\"!==A(e._Pa)||!e._Pa)throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"DOM event handler was not added through the DomEvent.addHandler method.\\\");var r=e._Pa[t];if(!(r instanceof Array))throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"DOM event handler was not added through the DomEvent.addHandler method.\\\");for(var a=0,s=r.length;a{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={FullImage:0,FullWidth:1,FullHeight:2,ActualSize:3,OneToOne:4,Rectangle:5},n.registerEnum(\\\"IPCC.Web.UI.FitType\\\",!1),e.exports=n},6251:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={Regular:0,Bold:1,Italic:2,Underline:4,Strikeout:8},n.registerEnum(\\\"IPCC.Web.UI.FontStyle\\\",!0),e.exports=n},6809:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={Tag:0,InlineHighLight:1,Link:2,Redaction:3,Strikethrough:4},n.registerEnum(\\\"IPCC.Web.UI.HighLight\\\",!1),e.exports=n},6456:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={Left:0,Center:16,Right:32},n.registerEnum(\\\"IPCC.Web.UI.HorizontalAlignment\\\",!1),e.exports=n},8080:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={None:0,ArtDataService:1},n.registerEnum(\\\"IPCC.Web.UI.ImGearArtDataServices\\\",!1),e.exports=n},7998:(e,t,i)=>{function A(e){return A=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},A(e)}function n(){\\\"use strict\\\";\\n/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */n=function(){return e};var e={},t=Object.prototype,i=t.hasOwnProperty,r=\\\"function\\\"==typeof Symbol?Symbol:{},a=r.iterator||\\\"@@iterator\\\",s=r.asyncIterator||\\\"@@asyncIterator\\\",o=r.toStringTag||\\\"@@toStringTag\\\";function c(e,t,i){return Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},\\\"\\\")}catch(e){c=function(e,t,i){return e[t]=i}}function g(e,t,i,A){var n=t&&t.prototype instanceof u?t:u,r=Object.create(n.prototype),a=new w(A||[]);return r._NM=function(e,t,i){var A=\\\"suspendedStart\\\";return function(n,r){if(\\\"executing\\\"===A)throw new Error(\\\"Generator is already running\\\");if(\\\"completed\\\"===A){if(\\\"throw\\\"===n)throw r;return v()}for(i.method=n,i.arg=r;;){var a=i.delegate;if(a){var s=Q(a,i);if(s){if(s===l)continue;return s}}if(\\\"next\\\"===i.method)i.sent=i._OM=i.arg;else if(\\\"throw\\\"===i.method){if(\\\"suspendedStart\\\"===A)throw A=\\\"completed\\\",i.arg;i.dispatchException(i.arg)}else\\\"return\\\"===i.method&&i.abrupt(\\\"return\\\",i.arg);A=\\\"executing\\\";var o=h(e,t,i);if(\\\"normal\\\"===o.type){if(A=i.done?\\\"completed\\\":\\\"suspendedYield\\\",o.arg===l)continue;return{value:o.arg,done:i.done}}\\\"throw\\\"===o.type&&(A=\\\"completed\\\",i.method=\\\"throw\\\",i.arg=o.arg)}}}(e,i,a),r}function h(e,t,i){try{return{type:\\\"normal\\\",arg:e.call(t,i)}}catch(e){return{type:\\\"throw\\\",arg:e}}}e.wrap=g;var l={};function u(){}function d(){}function I(){}var C={};c(C,a,(function(){return this}));var f=Object.getPrototypeOf,p=f&&f(f(b([])));p&&p!==t&&i.call(p,a)&&(C=p);var B=I.prototype=u.prototype=Object.create(C);function m(e){[\\\"next\\\",\\\"throw\\\",\\\"return\\\"].forEach((function(t){c(e,t,(function(e){return this._NM(t,e)}))}))}function E(e,t){function n(r,a,s,o){var c=h(e[r],e,a);if(\\\"throw\\\"!==c.type){var g=c.arg,l=g.value;return l&&\\\"object\\\"==A(l)&&i.call(l,\\\"__await\\\")?t.resolve(l.__await).then((function(e){n(\\\"next\\\",e,s,o)}),(function(e){n(\\\"throw\\\",e,s,o)})):t.resolve(l).then((function(e){g.value=e,s(g)}),(function(e){return n(\\\"throw\\\",e,s,o)}))}o(c.arg)}var r;this._NM=function(e,i){function A(){return new t((function(t,A){n(e,i,t,A)}))}return r=r?r.then(A,A):A()}}function Q(e,t){var i=e.iterator[t.method];if(void 0===i){if(t.delegate=null,\\\"throw\\\"===t.method){if(e.iterator.return&&(t.method=\\\"return\\\",t.arg=void 0,Q(e,t),\\\"throw\\\"===t.method))return l;t.method=\\\"throw\\\",t.arg=new TypeError(\\\"The iterator does not provide a 'throw' method\\\")}return l}var A=h(i,e.iterator,t.arg);if(\\\"throw\\\"===A.type)return t.method=\\\"throw\\\",t.arg=A.arg,t.delegate=null,l;var n=A.arg;return n?n.done?(t[e.resultName]=n.value,t.next=e.nextLoc,\\\"return\\\"!==t.method&&(t.method=\\\"next\\\",t.arg=void 0),t.delegate=null,l):n:(t.method=\\\"throw\\\",t.arg=new TypeError(\\\"iterator result is not an object\\\"),t.delegate=null,l)}function _(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function y(e){var t=e.completion||{};t.type=\\\"normal\\\",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:\\\"root\\\"}],e.forEach(_,this),this.reset(!0)}function b(e){if(e){var t=e[a];if(t)return t.call(e);if(\\\"function\\\"==typeof e.next)return e;if(!isNaN(e.length)){var A=-1,n=function t(){for(;++A=0;--n){var r=this.tryEntries[n],a=r.completion;if(\\\"root\\\"===r.tryLoc)return A(\\\"end\\\");if(r.tryLoc<=this.prev){var s=i.call(r,\\\"catchLoc\\\"),o=i.call(r,\\\"finallyLoc\\\");if(s&&o){if(this.prev=0;--A){var n=this.tryEntries[A];if(n.tryLoc<=this.prev&&i.call(n,\\\"finallyLoc\\\")&&this.prev=0;--t){var i=this.tryEntries[t];if(i.finallyLoc===e)return this.complete(i.completion,i.afterLoc),y(i),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc===e){var A=i.completion;if(\\\"throw\\\"===A.type){var n=A.arg;y(i)}return n}}throw new Error(\\\"illegal catch attempt\\\")},delegateYield:function(e,t,i){return this.delegate={iterator:b(e),resultName:t,nextLoc:i},\\\"next\\\"===this.method&&(this.arg=void 0),l}},e}function r(e,t,i,A,n,r,a){try{var s=e[r](a),o=s.value}catch(e){return void i(e)}s.done?t(o):Promise.resolve(o).then(A,n)}function a(e){return function(){var t=this,i=arguments;return new Promise((function(A,n){var a=e.apply(t,i);function s(e){r(a,A,n,s,o,\\\"next\\\",e)}function o(e){r(a,A,n,s,o,\\\"throw\\\",e)}s(void 0)}))}}var s=i(6e3).regClass,o=function(e){var t=this,i=\\\"\\\",A=\\\"\\\",r=this;this._bC=e.pdfDocumentGetter,this._tea=!!e.isDocumentPdf,this._bm=new IPCC.Web.UI.ImGearPageCollection,this._ib=void 0,this._bm._hb=this;var s=!1;this._Pn=void 0;var o=0,c=IPCC.Web.UI.ImGearPageCountStatus.UnRequested,g=new IPCC.Web.UI._Qa;this._ov=IPCC.Web._Av._Fv(4,IPCC.Web._Cv()),this._Dv=IPCC.Web._kv._Ev._uv(this._ov);var h=[],l=0,u=[],d=[],I={startPage:0,lastPage:0,requestCount:0,stopRequests:!1,lastTimeout:1e3},C=!1;function f(e,t){t.length>0&&r._Rd(\\\"pageAdded\\\",t)}function p(e,t){t.length>0&&r._Rd(\\\"pageRemoved\\\",t)}function B(e,t){r._Rd(\\\"pageChanged\\\",t)}function m(){this._bv=function(e,t){var i=e+\\\"() threw an exception \\\";t.name?i+=\\\"( \\\"+t.name+\\\" \\\":i+=\\\".\\\",t.message&&(i+=\\\" exception message = \\\"+t.message),t.statusCode&&(i+=\\\" exception statusCode = \\\"+t.statusCode),i=i.replace(/\\\\n/g,\\\" \\\"),IPCC._m._Fb(i,IPCC.Web.UI.DebugItemCause.Exception,IPCC.Web.UI.DebugErrorLevel.Production,\\\"ImGearDocument\\\",\\\"document\\\")},this._Rd=function(e,t){var i=g.getHandler(e);null!==i&&i(r,t)}}if(this._Rd=function(e,t){var i=g.getHandler(e);if(null!==i)try{i(r,t)}catch(e){IPCC._m._Cb(\\\"raise event error in ImGearDocument, error: \\\"+e.message),IPCC._m._Fb(e.message,IPCC.Web.UI.ImGearDocument,IPCC.Web.UI.DebugErrorLevel.Production,\\\"ImGearDocument\\\",\\\"\\\")}},this._bm.add_pageAdded(f),this._bm.add_pageRemoved(p),this._bm.add_pageChanged(B),0===arguments.length){var E=\\\"ImGearDocument object creation requires parameters\\\";throw new IPCC.Web.UI.ImGearArgumentException(\\\"ImGearDocument\\\",E)}if(arguments.length>0){if(void 0!==e.documentIdentifier&&(i=e.documentIdentifier,A=IPCC._M._Sv(i)),void 0!==e.encodedDocumentIdentifier){var Q=e.encodedDocumentIdentifier;if(void 0!==e.documentIdentifier){if(Q!==(A=IPCC._M._Sv(i)))throw new IPCC.Web.UI.ImGearArgumentException(\\\"documentIdentifier\\\",\\\"When both are specified, documentIdentifier and encodedImageIdentifier must reference the same document.\\\")}else i=IPCC._M._Fu(e.encodedDocumentIdentifier)}if(void 0===e.imageServicePath)throw new IPCC.Web.UI.ImGearArgumentException(\\\"ImGearDocument\\\",\\\"Document creation requires imageServicePath.\\\");var _;if(this._Pn=e.imageServicePath,void 0!==e.includeAllPages){if(!0===(s=e.includeAllPages)){var y=new m,w=0;r._nk=new IPCC._M(A,0,0,0,0,0);var b=function(){for(o=r._nk._so,c=IPCC.Web.UI.ImGearPageCountStatus.Known;w0){var k=0;for(k=0;k0)for(D=e.documentPageIndex;D<=S;D++)(_=new IPCC.Web.UI.ImGearPage(D))._hb=r,this._bm.addPage(_);else 0===S&&((_=new IPCC.Web.UI.ImgearPage({documentPageIndex:e.documentPageIndex,_hb:r}))._hb=r,r._bm.addPage(_))}else(_=e.selected?new IPCC.Web.UI.ImGearPage({documentPageIndex:e.documentPageIndex,_hb:r,selected:!0}):new IPCC.Web.UI.ImGearPage({documentPageIndex:e.documentPageIndex,_hb:r}))._hb=r,r._bm.addPage(_)}this._gfa=function(){return i},this._hfa=function(){return A},this._rn=function(){return this._bm},this._ifa=function(){return o},this._jfa=function(){return c},this._kfa=function(){return s},this._lfa=function(e){s=e,this._jb(\\\"includeAllPages\\\")};var P=!1;function R(e){var t,i=[];if(u.length>0)for(t=0;t0&&l0){if(e.pages&&e.pages.length>0)return void c(e)}else i.error=-1;return 0===u.length&&(i.error=-1),r.pageExtractionFailed=!0,i.textPagesReceived=[],i.length=2,i.textPagesReceived=R(A),void r._Rd(\\\"textPagesReceived\\\",i)}throw new IPCC.Web.UI.ImGearHttpException(t,\\\"Unable to obtain text\\\")}throw new IPCC.Web.UI.ImGearHttpException(t,\\\"Unable to obtain text\\\")}catch(e){return i.error=-1,R(A),i.textPagesReceived=[],i.length=2,void r._Rd(\\\"textPagesReceived\\\",i)}},g=function(e){var t,i,n={};try{if(\\\"true\\\"===e.getResponseHeader(\\\"Accusoft-Data-Encrypted\\\")){var a=IPCC.Web._kv._lv._mv(e.getResponseHeader(\\\"Accusoft-Data-SK\\\")),s=IPCC.Web._nv(a,r._ov),o=IPCC.Web._qv(e),g=IPCC.Web._sv(o,s,r._ov);t=IPCC.Web._kv._tv._uv(g)}else t=e.responseText;i=JSON.parse(t),c(i)}catch(e){return n.error=-1,R(A),n.textPagesReceived=[],n.length=2,void r._Rd(\\\"textPagesReceived\\\",n)}},c=function(e){for(var t,i=l,n=[],s=0;si&&(c.textPagesReceived=n,c.length=2,c.error=0);var C=I.lastTimeout;if(I.startPage===a&&I.lastPage===o&&l===i){if(!(I.requestCount<25)){var f;for(c.error=0,c.textPagesReceived=[],c.length=2,f=I.startPage;f0&&li&&r._Rd(\\\"textPagesReceived\\\",c)},C=!0,a=isNaN(t)?0:t,isNaN(A)||(s=A),isNaN(i)?isNaN(s)?(s=A,isNaN(s)||(o=s-1)):o=s-1:o=i,isNaN(o)&&(o=a+1),o-a>9&&(o=a+9),!r._tea){e.next=16;break}return e.next=12,F(a,o);case 12:p=e.sent,c(p),e.next=17;break;case 16:M(a,o).then(g,f);case 17:case\\\"end\\\":return e.stop()}}),e)})));return function(t,i,A){return e.apply(this,arguments)}}(),this._MI=a(n().mark((function e(){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._tea){e.next=5;break}return e.next=3,this._bC();case 3:e.sent._MI();case 5:case\\\"end\\\":return e.stop()}}),e,this)}))),this};o.encodeDocumentIdentifier=function(e){var t;return void 0!==e&&(t=IPCC._M._Sv(e)),t},o.decodeDocumentIdentifier=function(e){var t;return void 0!==e&&(t=IPCC._M._Fu(e)),t},o.prototype={get_documentIdentifier:function(){return this._gfa()},get_encodedDocumentIdentifier:function(){return this._hfa()},get_pages:function(){return this._rn()},get_pageCountStatus:function(){return this._jfa()},set_pageCountStatus:function(e){this._Tfa(e)},get_pageCount:function(){return this._ifa()},get_includeAllPages:function(){try{return this._kfa()}catch(e){throw e}},set_includeAllPages:function(e){try{this._lfa(e)}catch(e){throw e}},get_encryption:function(){return this._iv()},set_encryption:function(e){this._dF(e)},add_pageChanged:function(e){this._bca(e)},remove_pageChanged:function(e){this._cca(e)},add_pageRemoved:function(e){this._dca(e)},remove_pageRemoved:function(e){this._eca(e)},add_pageAdded:function(e){this._Zba(e)},remove_pageAdded:function(e){this._aca(e)},add_pageOpenFailed:function(e){this._mfa(e)},remove_pageOpenFailed:function(e){this._nfa(e)},get_textRequestInfo:function(){try{return this._tfa()}catch(e){throw e}},get_pagesWithText:function(){try{return this._rfa()}catch(e){throw e}},get_numberOfPagesWithText:function(){try{return this._sfa()}catch(e){throw e}},get_numberOfPagesWithoutText:function(){try{return this._qfa()}catch(e){throw e}},add_textPagesReceived:function(e){try{this._ofa(e)}catch(e){throw e}},remove_textPagesReceived:function(e){try{this._pfa(e)}catch(e){throw this._bv(\\\"remove_textPagesReceived\\\",e),e}},add_propertyChanged:function(e){this._sg(e)},remove_propertyChanged:function(e){this._tg(e)}},o.registerClass=s,o.registerClass(\\\"IPCC.Web.UI.ImGearDocument\\\"),e.exports=o},5346:(e,t,i)=>{var A=i(6e3).regClass,n=function(){var e=[],t=new IPCC.Web.UI._Qa,i=this;function A(e,t){if(t){var A=new IPCC.Web.UI.ImGearDocumentEventArgs;A.document=e,A.propertyName=t.get_propertyName(),A.length=2,i._Rd(\\\"documentChanged\\\",A)}}function n(t){if(t>e.length-1||t<0)throw new IPCC.Web.UI.ImGearArgumentOutOfRangeException(\\\"index\\\",t,\\\"document index is out of range\\\")}return this._Cca=function(t){this._Eca(e.length,t)},this._Eca=function(i,n){var r,a=e.length;if(i>e.length||i<0)throw new IPCC.Web.UI.ImGearArgumentOutOfRangeException(\\\"index\\\",i,\\\"document index is out of range\\\");for(r=0;r0;)this._Kca(0)},this._Mca=function(e){t.addHandler(\\\"documentAdded\\\",e)},this._Nca=function(e){t.removeHandler(\\\"documentAdded\\\",e)},this._Oca=function(e){t.addHandler(\\\"documentRemoved\\\",e)},this._Pca=function(e){t.removeHandler(\\\"documentRemoved\\\",e)},this._Qca=function(e){t.addHandler(\\\"documentChanged\\\",e)},this._Rca=function(e){t.removeHandler(\\\"documentChanged\\\",e)},this._Zba=function(e){t.addHandler(\\\"pageAdded\\\",e)},this._aca=function(i){t.removeHandler(\\\"pageAdded\\\",i);for(var A=0;A{var A=i(6e3).regClass,n=function(){return this};n.registerClass=A,n.prototype={},n.registerClass(\\\"IPCC.Web.UI.ImGearDocumentCreateArgs\\\"),e.exports=n},3220:(e,t,i)=>{var A=i(6e3).regClass,n=function(){return this};n.registerClass=A,n.prototype={},n.registerClass(\\\"IPCC.Web.UI.ImGearDocumentEventArgs\\\"),e.exports=n},7736:e=>{e.exports=function(e){var t,i,A=0,n=0,r=0,a=0,s=e.href||\\\"\\\",o=e.borderStyle||\\\"Solid\\\",c=e.borderThickness||0,g=e.borderPattern||[1],h=e.borderHorizontalRadius||0,l=e.borderHorizontalRadius||0,u=e.borderColor||\\\"#0000FF\\\",d=e.borderOpacity||255;\\\"string\\\"==typeof d&&(d=parseInt(d,10)),e.rectangle&&(A=e.rectangle.x,n=e.rectangle.y,r=e.rectangle.width,a=e.rectangle.height),t=new IPCC.Web.UI.Rectangle(A,n,r,a),this._Nd=function(){return new IPCC.Web.UI.Rectangle(t.x,t.y,t.width,t.height)},this._vZ=function(e){t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height},this._Rl=function(){return s},this._wZ=function(){return o},this._xZ=function(){return c},this._yZ=function(){return g},this._zZ=function(){return h},this._AZ=function(){return l},this._BZ=function(){return u},this._CZ=function(){return d},this._DZ=function(){return i},this._EZ=function(e){i=e},this._GZ=function(){return IPCC._o._gL(s)}}},6001:e=>{var t=function(){if(0!==arguments.length)throw new IPCC.Web.UI.ImGearParameterCountException;this._hm={}};t.prototype._OC=function(e,t){var i=this._Oaa(e,!0);i[i.length]=t},t.prototype.addHandler=function(e,t){this._OC(e,t)},t.prototype._PC=function(e,t){var i=this._Oaa(e);if(i){var A=i.indexOf(t);A>=0&&i.splice(A,1)}},t.prototype.removeHandler=function(e,t){this._PC(e,t)},t.prototype.getHandler=function(e){var t=this._Oaa(e);if(!t||0===t.length)return null;var i=t.slice();return t=i,function(e,i){for(var A=0,n=t.length;A{var A=i(6e3).regClass,n=function(e,t){this.message=e;if(t)for(var i in t)t.hasOwnProperty(i)&&(this[i]=t[i])};n.prototype=new Error,n.registerClass=A,n.registerClass(\\\"IPCC.Web.UI.ImGearException\\\");var r=function(e,t,i){var A=\\\"IPCC.Web.UI.ImGearHttpException: \\\";t&&(A+=t),this.message=A,this.statusCode=e,this.customErrorCode=i};r.prototype=new Error,r.registerClass=A,r.registerClass(\\\"IPCC.Web.UI.ImGearHttpException\\\");var a=function(e,t){var i=\\\"IPCC.Web.UI.ImGearArgumentException: \\\"+(t||IPCC._k.argument);e&&null!=e&&(i+=\\\"\\\\n\\\"+IPCC.Web._AF(IPCC._k.paramName,e)),this.message=i,this.paramName=e};a.prototype=new Error,a.registerClass=A,a.registerClass(\\\"IPCC.Web.UI.ImGearArgumentException\\\");var s=function(e,t){var i=\\\"IPCC.Web.UI.ImGearArgumentNullException: \\\"+(t||IPCC._k.argumentNull);e&&null!=e&&(i+=\\\"\\\\n\\\"+IPCC.Web._AF(IPCC.Res.paramName,e)),this.message=i,this.paramName=e};s.prototype=new Error,s.registerClass=A,s.registerClass(\\\"IPCC.Web.UI.ImGearArgumentNullException\\\");var o=function(e,t,i){var A=\\\"IPCC.Web.UI.ImGearArgumentOutOfRangeException: \\\"+(i||IPCC._k.argumentOutOfRange);e&&null!=e&&(A+=\\\"\\\\n\\\"+IPCC.Web._AF(IPCC._k.paramName,e)),null!=t&&(A+=\\\"\\\\n\\\"+IPCC.Web._AF(IPCC._k.actualValue,t)),this.message=A,this.paramName=e,this.actualValue=t};o.prototype=new Error,o.registerClass=A,o.registerClass(\\\"IPCC.Web.UI.ImGearArgumentOutOfRangeException\\\");var c=function(e,t,i,A){var n=\\\"IPCC.Web.UI.ImGearArgumentTypeException \\\";A?n+=A:t&&i?\\\"function\\\"==typeof t.getName&&\\\"function\\\"==typeof i.getName?n+=IPCC.Web._AF(IPCC._k.argumentTypeWithTypes,t.getName(),i.getName()):n+=\\\"actualType = \\\"+t+\\\" expectedType = \\\"+i:n+=IPCC._k.argumentType,e&&null!=e&&(n+=\\\"\\\\n\\\"+IPCC.Web._AF(IPCC._k.paramName,e)),this.message=n,this.paramName=e,this.actualType=t,this.expectedType=i};c.prototype=new Error,c.registerClass=A,c.registerClass(\\\"IPCC.Web.UI.ImGearArgumentTypeException\\\");var g=function(e,t){var i=\\\"IPCC.Web.UI.ImGearArgumentUndefinedException: \\\"+(t||IPCC._k.argumentUndefined);e&&null!=e&&(i+=\\\"\\\\n\\\"+IPCC.Web._AF(IPCC.Res.paramName,e)),this.message=i,this.paramName=e};g.prototype=new Error,g.registerClass=A,g.registerClass(\\\"IPCC.Web.UI.ImGearArgumentUndefinedException\\\");var h=function(e){var t=\\\"IPCC.Web.UI.ImGearInvalidOperationException: \\\"+(e||IPCC._k.invalidOperation);this.message=t};h.prototype=new Error,h.registerClass=A,h.registerClass(\\\"IPCC.Web.UI.ImGearInvalidOperationException\\\");var l=function(e){var t=\\\"IPCC.Web.UI.ImGearNotImplementedException: \\\"+(e||IPCC._k.notImplemented);this.message=t};l.prototype=new Error,l.registerClass=A,l.registerClass(\\\"IPCC.Web.UI.ImGearNotImplementedException\\\");var u=function(e){var t=\\\"IPCC.Web.UI.ImGearParameterCountException: \\\"+(e||IPCC._k.parameterCount);this.message=t};u.prototype=new Error,u.registerClass=A,u.registerClass(\\\"IPCC.Web.UI.ImGearParameterCountException\\\"),e.exports={_DR:n,_FR:r,_kc:a,_HR:s,_cc:o,_Zb:c,_IR:g,_JR:h,_KR:l,_LR:u}},4095:e=>{e.exports=function(){var e=[];return this._MZ=function(t){e.push(t)},this._xd=function(){return e.length},this._op=function(t,i){IPCC._o.forEach(e,t,i)},this._OZ=function(){e.length<1||(e=[])},this}},5917:e=>{e.exports=function(){var e=new IPCC.Web.UI.ImGearHyperlinkCollection;this._JZ=function(){return e}}},2274:(e,t,i)=>{function A(e){return A=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},A(e)}function n(){\\\"use strict\\\";\\n/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */n=function(){return e};var e={},t=Object.prototype,i=t.hasOwnProperty,r=\\\"function\\\"==typeof Symbol?Symbol:{},a=r.iterator||\\\"@@iterator\\\",s=r.asyncIterator||\\\"@@asyncIterator\\\",o=r.toStringTag||\\\"@@toStringTag\\\";function c(e,t,i){return Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},\\\"\\\")}catch(e){c=function(e,t,i){return e[t]=i}}function g(e,t,i,A){var n=t&&t.prototype instanceof u?t:u,r=Object.create(n.prototype),a=new w(A||[]);return r._NM=function(e,t,i){var A=\\\"suspendedStart\\\";return function(n,r){if(\\\"executing\\\"===A)throw new Error(\\\"Generator is already running\\\");if(\\\"completed\\\"===A){if(\\\"throw\\\"===n)throw r;return v()}for(i.method=n,i.arg=r;;){var a=i.delegate;if(a){var s=Q(a,i);if(s){if(s===l)continue;return s}}if(\\\"next\\\"===i.method)i.sent=i._OM=i.arg;else if(\\\"throw\\\"===i.method){if(\\\"suspendedStart\\\"===A)throw A=\\\"completed\\\",i.arg;i.dispatchException(i.arg)}else\\\"return\\\"===i.method&&i.abrupt(\\\"return\\\",i.arg);A=\\\"executing\\\";var o=h(e,t,i);if(\\\"normal\\\"===o.type){if(A=i.done?\\\"completed\\\":\\\"suspendedYield\\\",o.arg===l)continue;return{value:o.arg,done:i.done}}\\\"throw\\\"===o.type&&(A=\\\"completed\\\",i.method=\\\"throw\\\",i.arg=o.arg)}}}(e,i,a),r}function h(e,t,i){try{return{type:\\\"normal\\\",arg:e.call(t,i)}}catch(e){return{type:\\\"throw\\\",arg:e}}}e.wrap=g;var l={};function u(){}function d(){}function I(){}var C={};c(C,a,(function(){return this}));var f=Object.getPrototypeOf,p=f&&f(f(b([])));p&&p!==t&&i.call(p,a)&&(C=p);var B=I.prototype=u.prototype=Object.create(C);function m(e){[\\\"next\\\",\\\"throw\\\",\\\"return\\\"].forEach((function(t){c(e,t,(function(e){return this._NM(t,e)}))}))}function E(e,t){function n(r,a,s,o){var c=h(e[r],e,a);if(\\\"throw\\\"!==c.type){var g=c.arg,l=g.value;return l&&\\\"object\\\"==A(l)&&i.call(l,\\\"__await\\\")?t.resolve(l.__await).then((function(e){n(\\\"next\\\",e,s,o)}),(function(e){n(\\\"throw\\\",e,s,o)})):t.resolve(l).then((function(e){g.value=e,s(g)}),(function(e){return n(\\\"throw\\\",e,s,o)}))}o(c.arg)}var r;this._NM=function(e,i){function A(){return new t((function(t,A){n(e,i,t,A)}))}return r=r?r.then(A,A):A()}}function Q(e,t){var i=e.iterator[t.method];if(void 0===i){if(t.delegate=null,\\\"throw\\\"===t.method){if(e.iterator.return&&(t.method=\\\"return\\\",t.arg=void 0,Q(e,t),\\\"throw\\\"===t.method))return l;t.method=\\\"throw\\\",t.arg=new TypeError(\\\"The iterator does not provide a 'throw' method\\\")}return l}var A=h(i,e.iterator,t.arg);if(\\\"throw\\\"===A.type)return t.method=\\\"throw\\\",t.arg=A.arg,t.delegate=null,l;var n=A.arg;return n?n.done?(t[e.resultName]=n.value,t.next=e.nextLoc,\\\"return\\\"!==t.method&&(t.method=\\\"next\\\",t.arg=void 0),t.delegate=null,l):n:(t.method=\\\"throw\\\",t.arg=new TypeError(\\\"iterator result is not an object\\\"),t.delegate=null,l)}function _(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function y(e){var t=e.completion||{};t.type=\\\"normal\\\",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:\\\"root\\\"}],e.forEach(_,this),this.reset(!0)}function b(e){if(e){var t=e[a];if(t)return t.call(e);if(\\\"function\\\"==typeof e.next)return e;if(!isNaN(e.length)){var A=-1,n=function t(){for(;++A=0;--n){var r=this.tryEntries[n],a=r.completion;if(\\\"root\\\"===r.tryLoc)return A(\\\"end\\\");if(r.tryLoc<=this.prev){var s=i.call(r,\\\"catchLoc\\\"),o=i.call(r,\\\"finallyLoc\\\");if(s&&o){if(this.prev=0;--A){var n=this.tryEntries[A];if(n.tryLoc<=this.prev&&i.call(n,\\\"finallyLoc\\\")&&this.prev=0;--t){var i=this.tryEntries[t];if(i.finallyLoc===e)return this.complete(i.completion,i.afterLoc),y(i),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc===e){var A=i.completion;if(\\\"throw\\\"===A.type){var n=A.arg;y(i)}return n}}throw new Error(\\\"illegal catch attempt\\\")},delegateYield:function(e,t,i){return this.delegate={iterator:b(e),resultName:t,nextLoc:i},\\\"next\\\"===this.method&&(this.arg=void 0),l}},e}function r(e,t,i,A,n,r,a){try{var s=e[r](a),o=s.value}catch(e){return void i(e)}s.done?t(o):Promise.resolve(o).then(A,n)}function a(e){return function(){var t=this,i=arguments;return new Promise((function(A,n){var a=e.apply(t,i);function s(e){r(a,A,n,s,o,\\\"next\\\",e)}function o(e){r(a,A,n,s,o,\\\"throw\\\",e)}s(void 0)}))}}var s=i(6e3).regClass,o=function(e){var t=this;this._hb=void 0;var i=0,A=0,r=0,s=0,o=0,c=0,g=0,h=this,l=new IPCC.Web.UI._Qa;this._oda=void 0,this._pda={_eu:0,_qda:!1,_fu:1e3,_rda:!1};var u=new IPCC.Web.UI.ImGearTextPage,d=new IPCC.Web.UI.ImGearHyperlinkPage,I=0,C=!1,f=!1,p=0,B=0;function m(e){return!isNaN(e-0)}if(void 0!==e.documentPageIndex){if(!m(e.documentPageIndex))throw new IPCC.Web.UI.ImGearArgumentOutOfRangeException(\\\"documentPageIndex\\\",\\\"\\\",\\\"The value must be a number.\\\");i=e.documentPageIndex}function E(){u||(u=new IPCC.Web.UI.ImGearTextPage);var e=u._im(),t=A/p,i=o/B;e._Daa(t,i)}function Q(){var e=d._JZ(),t=A/p,i=o/B;e._op((function(e){e._vZ(e._Nd().scale(t,i));var A=e._DZ();A.set_rectangle(A.get_rectangle().scale(t,i))}))}return this._xda=function(){return i},this._yda=function(t){m(e.documentPageIndex)&&(i=t)},this._nb=function(){return A},this._Gda=function(e){A=e,f&&A&&A!==p&&o&&o!==B&&(E(),Q(),f=!1)},this._pb=function(){return o},this._Hda=function(e){o=e,f&&A&&A!==p&&o&&o!==B&&(E(),Q(),f=!1)},this._Ida=function(){return r},this._Jda=function(e){r=e},this._Kda=function(){return c},this._Lda=function(e){c=e},this._Mda=function(){return s},this._Nda=function(e){s=e},this._Oda=function(){return g},this._Pda=function(e){g=e},this._Qda=function(){return this._hb},this._em=function(){return u||(u=new IPCC.Web.UI.ImGearTextPage),u},this._Vu=function(){return I},this._TE=function(e){I!==e&&(isNaN(e)||(I=e,this._jb(\\\"serviceResponseTimeout\\\")))},this._iv=function(){return C},this._dF=function(e){C=e},this._sg=function(e){l.addHandler(\\\"propertyChanged\\\",e)},this._tg=function(e){l.removeHandler(\\\"propertyChanged\\\",e)},this._KE=function(e){l.addHandler(\\\"textPageReady\\\",e)},this._Rda=function(e){l.removeHandler(\\\"textPageReady\\\",e)},this._Sda=function(){return d},this._Tda=function(e){l.addHandler(\\\"hyperlinkPageReady\\\",e)},this._Uda=function(e){l.removeHandler(\\\"hyperlinkPageReady\\\",e)},this._LE=function(e){l._OC(\\\"textExtractionFailed\\\",e)},this._Vda=function(e){l._PC(\\\"textExtractionFailed\\\",e)},this._Wda=function(e){0===A&&0===o&&(f=!0,p=e.width,B=e.height)},this._Yda=function(e){if(u||(u=new IPCC.Web.UI.ImGearTextPage),u._baa(e.width),u._caa(e.height),!(u._im()._sn()>0)){if(e.errorCode){var t=new IPCC.Web.UI.ImGearException(e.errorDescription,{name:\\\"Text Extraction\\\"}),i=new IPCC.Web.UI.ImGearPageOpenFailedEventArgs;return i.exception=t,i.documentPageIndex=h.get_documentPageIndex(),void h._Rd(\\\"textExtractionFailed\\\",i)}var n,r,a=u._im(),s=!1,c=1,g=1;e.height&&e.height>0&&o>0&&e.height!==o&&(c=o/e.height),e.width&&e.width>0&&A>0&&e.width!==A&&(g=A/e.width);for(var l,d,I,C=-1,f=0;f0&&(n=e.rectangles[f-1],d[2]=n[2])),(l=1===g&&1===c?new IPCC.Web.UI.ImGearTextCharacter(d[0],d[1],d[2],d[3],I,s):new IPCC.Web.UI.ImGearTextCharacter(d[0]*g,d[1]*c,d[2]*g,d[3]*c,I,s))&&a._vaa(l),void 0===r||C!==d[1]||d[0]r._Nd().width&&(r._Nd().width=d[0]+d[2]-r._Nd().x),r._haa(f),C=d[1];r&&u._YZ()._jaa(r),u._XZ(e.text),e.text.length>0?(u._WZ(!0),h._Rd(\\\"textPageReady\\\",{documentPageIndex:h._xda(),containsText:!0})):(u._WZ(!1),h._Rd(\\\"textPageReady\\\",{documentPageIndex:h._xda(),containsText:!1}))}},this._fea=function(e,t,i){if(e){d._JZ()._OZ();var n=1,r=1;t&&t>0&&o>0&&t!==o&&(n=o/t),i&&i>0&&A>0&&i!==A&&(r=A/i),IPCC._o.forEach(e,(function(e){var t;if(\\\"DocumentHyperlink\\\"===e.markType)(t=new IPCC.Web.UI.ImGearDocumentHyperlink(e.properties))._vZ(t._Nd().scale(r,n)),t._GZ()||d._JZ()._MZ(t)})),h._Rd(\\\"hyperlinkPageReady\\\",{documentPageIndex:h._xda()})}},this._kea=function(){return new Promise((function(e,t){var i=!0;0===h._Vu()&&(i=!1);var A=h.get_documentPageIndex(),n=h._hb.get_documentIdentifier();n=/^[\\\\x00-\\\\x7F]*$/.test(n)?\\\"u\\\"+encodeURIComponent(n):\\\"e\\\"+h._hb.get_encodedDocumentIdentifier();var r=h._hb._Pn,a=h._hb._Dv,s={method:\\\"GET\\\",url:h._iv()?r+\\\"/Document/q/\\\"+A.toString()+\\\"-\\\"+A.toString()+\\\"/Text?DocumentID=\\\"+n+\\\"&iv=\\\"+a:r+\\\"/Document/q/\\\"+A.toString()+\\\"-\\\"+A.toString()+\\\"/Text?DocumentID=\\\"+n,headers:{accept:\\\"application/json\\\"}};!0===i&&(s.timeout=h._Vu()),IPCC._o._tq._xn(s).then((function(i){var A,n=h._hb._ov;try{var r;if(\\\"true\\\"===i.getResponseHeader(\\\"Accusoft-Data-Encrypted\\\")){var a=IPCC.Web._kv._lv._mv(i.getResponseHeader(\\\"Accusoft-Data-SK\\\")),s=IPCC.Web._nv(a,n),o=IPCC.Web._qv(i),c=IPCC.Web._sv(o,s,n);r=IPCC.Web._kv._tv._uv(c)}else r=i.responseText;return A=JSON.parse(r),e(A)}catch(e){return t(e)}}),t)}))},this._nea=function(){var e=h.get_documentPageIndex();return Promise.all([h._hb._bC().then((function(t){return t._cm(e)})).then((function(e){return e._Qs()}))]).then((function(e){return e[0]}))},this._pea=function(){h._qea()},this._qea=function(){if(u||(u=new IPCC.Web.UI.ImGearTextPage),!h._hb)throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"You must add this Page to a valid ImGearDocument object which has a valid ImageServicePath property.\\\");function e(e){var t;if(e.pages&&e.pages.length>0){if(e.pages[0].number!==h._xda()){for(var i=0;i0?u._WZ(!0):u._WZ(!1),h._pda._fu=1e3,h._Wda(A),h._Yda(A),void h._fea(A.markup,A.height,A.width)}var n=h._pda._fu;h._pda._rda||(h._pda._eu<6?(h._pda._eu<2?n+=1e3:n+=3e3,h._pda._eu++,h._pda._fu=n,setTimeout(h._pea,n)):h._pda._qda=!0)}function t(e){try{throw e.response?e.response.statusText?new IPCC.Web.UI.ImGearHttpException(e.response.status,\\\"Unable to obtain text, Error from the service = \\\"+e.response.statusText):new IPCC.Web.UI.ImGearHttpException(e.response.status,\\\"Unable to obtain text from the service\\\"):new IPCC.Web.UI.ImGearHttpException(0,\\\"Text extraction timeout\\\")}catch(e){var t=new IPCC.Web.UI.ImGearPageOpenFailedEventArgs;return t.exception=e,t.documentPageIndex=h.get_documentPageIndex(),void h._Rd(\\\"textExtractionFailed\\\",t)}}u._ES()||(h._hb._tea?h._nea().then(e).catch(t):h._kea().then(e).catch(t))},this._em=function(){return u||(u=new IPCC.Web.UI.ImGearTextPage),u},this._uea=function(e){\\\"function\\\"==typeof e._xD&&(u=e)},this._vea=function(){u=void 0,h._pda={_eu:0,_qda:!1,_fu:1e3,_rda:!1},f=!1,p=0,B=0},this._wea=function(){var e=a(n().mark((function e(i,A){var r,a,s,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!((r=t)._nb()>0||r._pb()>0)){e.next=4;break}return i(r._nb(),r._pb()),e.abrupt(\\\"return\\\");case 4:return e.prev=4,e.next=7,r._hb._tea?t._Aea():t._Bea();case 7:a=e.sent,s=a.width,o=a.height,r._Gda(s),r._Hda(o),i(s,o),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(4),A(\\\"Unable to obtain document information\\\".concat(r._hb._tea?\\\"\\\":\\\" from the server\\\",\\\": \\\").concat(e.t0.message));case 18:case\\\"end\\\":return e.stop()}}),e,null,[[4,15]])})));return function(t,i){return e.apply(this,arguments)}}(),this._Aea=function(){var e=a(n().mark((function e(t){var i,A,r,a,s,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=this,e.next=3,i._hb._bC();case 3:return A=e.sent,e.next=6,A._cm(i.get_documentPageIndex());case 6:return r=e.sent,a=r._Jv(),s=a._of,o=a._pf,e.abrupt(\\\"return\\\",{width:s,height:o});case 9:case\\\"end\\\":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),this._Bea=function(){var e=a(n().mark((function e(t,i){var A,r,a,s,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=function(e){var t=JSON.parse(e.responseText);return{width:t.imageWidth,height:t.imageHeight}},A=this,(a=IPCC._M._Sv(A._hb.get_documentIdentifier()))&&\\\"\\\"!==a||i(\\\"Invalid encoded Identifier\\\"),s=\\\"\\\",IPCC._i._xc()||(s=\\\"&ContentType=png\\\"),o=/^[\\\\x00-\\\\x7F]*$/.test(a)?A._hb._Pn+\\\"/Page/q/\\\"+A.get_documentPageIndex()+\\\"/Attributes?DocumentID=u\\\"+encodeURIComponent(A._hb.get_documentIdentifier())+s:A._hb._Pn+\\\"/Page/q/\\\"+A.get_documentPageIndex()+\\\"/Attributes?DocumentID=e\\\"+a+s,e.abrupt(\\\"return\\\",IPCC._o._tq._xn({method:\\\"GET\\\",url:o,headers:{\\\"Content-Type\\\":\\\"application/json\\\"}}).then(r));case 8:case\\\"end\\\":return e.stop()}}),e,this)})));return function(t,i){return e.apply(this,arguments)}}(),this._jb=function(e){var t=l.getHandler(\\\"propertyChanged\\\");t&&t(this,new IPCC._v(e))},this._Rd=function(e,t){var i=l.getHandler(e);if(null!==i)try{i(h,t)}catch(e){IPCC._m._Cb(\\\"event raise, ImGearPage, error: \\\"+e.message)}},this};o.prototype={get_documentPageIndex:function(){return this._xda()},get_pageWidth:function(){return this._nb()},get_pageHeight:function(){return this._pb()},get_textPage:function(){return this._em()},get_encryption:function(){return this._iv()},set_encryption:function(e){this._dF(e)},get_hyperlinkPage:function(){return this._Sda()},get_document:function(){return this._Qda()},add_propertyChanged:function(e){this._sg(e)},remove_propertyChanged:function(e){this._tg(e)},requestPageAttributes:function(e,t){this._wea(e,t)}},o.registerClass=s,o.registerClass(\\\"IPCC.Web.UI.ImGearPage\\\"),e.exports=o},2783:(e,t,i)=>{var A=i(6e3).regClass,n=function(){var e=this,t=[],i=new IPCC.Web.UI._Qa;function A(e){if(e>t.length-1||e<0)throw new IPCC.Web.UI.ImGearArgumentOutOfRangeException(\\\"index\\\",e,\\\"page index is out of range in the page collection\\\")}function n(t,i){var A=new IPCC.Web.UI.ImGearPageEventArgs;A.imGearPage=t,A.length=1,e._Rd(\\\"pageChanged\\\",A)}return this._Nba=!1,this._Oba=!0,this._hb=void 0,this._Pba=function(e){this._Qba(t.length,e)},this._Qba=function(i,A){var r,a=t.length;if(i>t.length||i<0)throw new IPCC.Web.UI.ImGearArgumentOutOfRangeException(\\\"index\\\",i,\\\"index of the page Collection is out of range\\\");if(e._Oba&&e._Nba&&a>0)throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"You must first remove the existing selected page before adding a new one to the selected page collection).\\\");for(r=0;r0;)this._Wba(0)},this._Zba=function(e){i.addHandler(\\\"pageAdded\\\",e)},this._aca=function(e){i.removeHandler(\\\"pageAdded\\\",e)},this._bca=function(e){i.addHandler(\\\"pageChanged\\\",e)},this._cca=function(e){i.removeHandler(\\\"pageChanged\\\",e)},this._dca=function(e){i.addHandler(\\\"pageRemoved\\\",e)},this._eca=function(e){i.removeHandler(\\\"pageRemoved\\\",e)},this._Rd=function(t,A){var n=i.getHandler(t);if(null!==n)try{n(e,A)}catch(e){IPCC._m._Cb(\\\"raise event error in ImGearPageCollection, Error: \\\"+e.message)}},this};n.prototype={addPage:function(e){this._Pba(e)},insertPage:function(e,t){this._Qba(e,t)},forEach:function(e,t){this._op(e,t)},getPage:function(e){return this._cm(e)},setPage:function(e,t){this._Sba(e,t)},get_length:function(){return this._sn()},removePage:function(e){this._Wba(e)},removeAllPages:function(){this._Yba()},add_pageAdded:function(e){this._Zba(e)},remove_pageAdded:function(e){this._aca(e)},add_pageChanged:function(e){this._bca(e)},remove_pageChanged:function(e){this._cca(e)},add_pageRemoved:function(e){this._dca(e)},remove_pageRemoved:function(e){this._eca(e)}},n.registerClass=A,n.registerClass(\\\"IPCC.Web.UI.ImGearPageCollection\\\"),e.exports=n},8212:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={UnRequested:0,RequestPending:1,Known:2,Failed:3},n.registerEnum(\\\"IPCC.Web.UI.ImGearPageCountStatus\\\",!1),e.exports=n},7492:(e,t,i)=>{var A=i(6e3).regClass,n=function(){};n.registerClass=A,n.prototype={},n.registerClass(\\\"IPCC.Web.UI.ImGearPageCreateArgs\\\"),e.exports=n},7714:(e,t,i)=>{var A=i(6e3).regClass,n=function(){return this};n.prototype={},n.registerClass=A,n.registerClass(\\\"IPCC.Web.UI.ImGearPageEventArgs\\\"),e.exports=n},1779:(e,t,i)=>{var A=i(6e3).regClass,n=function(){return this};n.registerClass=A,n.prototype={},n.registerClass(\\\"IPCC.Web.UI.ImGearPageOpenFailedEventArgs\\\"),e.exports=n},2427:e=>{e.exports=function(e,t,i,A,n,r){this._Yx=new IPCC.Web.UI.Rectangle(e,t,i,A),this._ch=n,this._qZ=r,this._dE=function(){return n},this._ND=function(){return new IPCC.Web.UI.Rectangle(this._Yx.x,this._Yx.y,this._Yx.width,this._Yx.height)},this._sZ=function(){return this._qZ}}},6280:e=>{e.exports=function(){var e=[];function t(t){if(t>e.length-1||t<0)throw new IPCC.Web.UI.ImGearArgumentOutOfRangeException(\\\"index\\\",t)}return this._vaa=function(t){e.push(new IPCC.Web.UI.ImGearTextCharacter(t._Yx.x,t._Yx.y,t._Yx.width,t._Yx.height,t._ch,t._qZ))},this._xaa=function(t){t.forEach((function(t){e.push(t)}),{})},this._jm=function(){for(var e=[],t=0;te.length||t<0)throw new IPCC.Web.UI.ImGearArgumentOutOfRangeException(\\\"index\\\",t,\\\"index of theText Character Collection is out of range\\\");for(A=0;A{e.exports=function(){var e=new IPCC.Web.UI.ImGearTextCharacterCollection,t=!1,i=!1,A=\\\"\\\",n=new IPCC.Web.UI.ImGearTextSectionCollection,r=!1,a=0,s=0;this._im=function(){return e},this._xD=function(){return t},this._WZ=function(e){i=!0,e!==t&&(!0!==e&&!1!==e||(t=e))},this._ES=function(){return i},this._fm=function(){return A},this._XZ=function(e){e!==A&&(A=e)},this._YZ=function(){return n},this._ZZ=function(){return r},this._aaa=function(e){e!==r&&(!0!==e&&!1!==e||(r=e))},this._Zm=function(){return a},this._baa=function(e){e!==a&&(a=e)},this._an=function(){return s},this._caa=function(e){e!==s&&(s=e)}}},7365:e=>{e.exports=function(){var e=null,t=0,i=0;this._Nd=function(){return e},this._vZ=function(t){e=t},this._eaa=function(){return t},this._faa=function(e){t=e},this._gaa=function(){return i},this._haa=function(e){i=e}}},1129:e=>{e.exports=function(){var e=[];return this._jaa=function(t){e.push(t)},this._maa=function(t){return function(t){if(t>e.length-1||t<0)throw new IPCC.Web.UI.ImGearArgumentOutOfRangeException(\\\"index\\\",t)}(t),e[t]},this._sn=function(){return e.length},this}},3139:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){if(0!==arguments.length)throw new IPCC.Web.UI.ImGearParameterCountException;throw new IPCC.Web.UI.ImGearNotImplementedException};n.registerEnum=A,n.prototype={backspace:8,tab:9,enter:13,esc:27,space:32,pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40,del:127},n.registerEnum(\\\"IPCC.Web.UI.Key\\\"),e.exports=n},5272:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={Pointer:0,Solid:1,Open:2,PointerSolid:3,None:4},n.registerEnum(\\\"IPCC.Web.UI.LineHeadType\\\",!1),e.exports=n},1681:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={Solid:0,Dash:1,Dot:2,DashDot:3,DashDotDot:4},n.registerEnum(\\\"IPCC.Web.UI.LineStyle\\\",!1),e.exports=n},9842:(e,t,i)=>{var A=i(6e3).regClass,n=function(){return this};n.registerClass=A,n.prototype={},n.registerClass(\\\"IPCC.Web.UI.LogItemEventArgs\\\"),e.exports=n},945:(e,t,i)=>{var A=i(6e3).regClass,n=function(e){var t=e;e=void 0;var i,A,n,r,a,s=new Date,o=new Date,c=null,g=new IPCC.Web.UI.Data,h=new IPCC.Web.UI._Qa,l=this;this._Uua=function(e,t){if(0==(a&e))throw new IPCC.Web.UI.ImGearInvalidOperationException(t+\\\" is not a valid property for this type of Mark.\\\")},t===IPCC.Web.UI.MarkType.SignatureText?(this._Xe=\\\"#000000\\\",this._iS=IPCC.Web.UI.LineStyle.Solid,this._We=0):(this._Xe=\\\"#000000\\\",this._iS=IPCC.Web.UI.LineStyle.Solid,this._We=1),this._Ye=255,this._RA=IPCC.Web.UI.MarkInteractionMode.Full;var u=!1;switch(t){case IPCC.Web.UI.MarkType.Line:u=!0,(n=new IPCC.Web.UI.PointCollection).addPoint({x:0,y:0}),n.addPoint({x:0,y:0}),a=1,this._Xe=\\\"#18385F\\\",this._We=6;break;case IPCC.Web.UI.MarkType.Polyline:u=!0,this._UX=!1,n=new IPCC.Web.UI.PointCollection,a=2,this._We=2;break;case IPCC.Web.UI.MarkType.Rectangle:A=new IPCC.Web.UI.Rectangle(0,0,0,0),a=4,this._IQ=\\\"#FB0404\\\",this._We=4;break;case IPCC.Web.UI.MarkType.Ellipse:A=new IPCC.Web.UI.Rectangle(0,0,0,0),a=8,this._IQ=\\\"#FB0404\\\",this._We=4;break;case IPCC.Web.UI.MarkType.Polygon:n=new IPCC.Web.UI.PointCollection,a=16;break;case IPCC.Web.UI.MarkType.Text:this._qY=\\\"#000000\\\",this._OT=!1,this._pY=IPCC.Web.UI.LineStyle.Solid,this._rY=1,this._bp=new IPCC.Web.UI.Point(0,0),this._NT=IPCC.Web.UI.CalloutType.Triangle,this._zT=!1,this._JQ=\\\"Arial\\\",this._az=12,this._FQ=IPCC.Web.UI.FontStyle.Regular,this._iS=IPCC.Web.UI.LineStyle.Solid,this._MQ=0,A=new IPCC.Web.UI.Rectangle(0,0,0,0),this._Db=\\\"\\\",this._LQ=IPCC.Web.UI.HorizontalAlignment.Left,this._EY=IPCC.Web.UI.VerticalAlignment.Top,this._HQ=\\\"#000000\\\",this._CY=255,this._yY=IPCC.Web.UI.Orientation.TopLeft,this._YK=[],this._We=4,this._Ye=127,this._IQ=\\\"#FFFFFF\\\",a=32;break;case IPCC.Web.UI.MarkType.Stamp:A=new IPCC.Web.UI.Rectangle(0,0,0,0),a=128;break;case IPCC.Web.UI.MarkType.Highlight:A=new IPCC.Web.UI.Rectangle(0,0,0,0),this._Jd=\\\"\\\",this._Id=\\\"n\\\",this._zd=0,this._Ed=\\\"\\\",this._Gd=0,this._Ye=127,a=256;break;case IPCC.Web.UI.MarkType.HighlightText:A=new IPCC.Web.UI.Rectangle(0,0,0,0),this._Jd=\\\"\\\",this._Id=\\\"n\\\",this._zd=0,this._Ed=\\\"\\\",this._Gd=0,this._Ye=127,this._IQ=\\\"#FFFF00\\\",a=512,this._YK=[],this._Gm=[];break;case IPCC.Web.UI.MarkType.Freehand:A=new IPCC.Web.UI.Rectangle(0,0,0,0),a=64,this._We=4,this._Xe=\\\"#000000\\\",this._CT=!1,this._Wua=1,this._Xua=1,this._kX=\\\"M0,0\\\";break;case IPCC.Web.UI.MarkType.SignaturePath:A=new IPCC.Web.UI.Rectangle(0,0,0,0),a=1024,this._LQ=IPCC.Web.UI.HorizontalAlignment.Center,this._We=4,this._Xe=\\\"#000000\\\",this._CT=!1,this._Wua=1,this._Xua=1,this._kX=\\\"M0,0\\\";break;case IPCC.Web.UI.MarkType.SignatureText:A=new IPCC.Web.UI.Rectangle(0,0,0,0),a=2048,this._LQ=IPCC.Web.UI.HorizontalAlignment.Center,this._Db=\\\"John Doe\\\",this._HQ=\\\"#000000\\\",this._IQ=\\\"#000000\\\",this._JQ=\\\"\\\";break;case IPCC.Web.UI.MarkType.RectangleRedaction:A=new IPCC.Web.UI.Rectangle(0,0,0,0),a=4096,this._JQ=\\\"Arial\\\",this._az=8,this._FQ=IPCC.Web.UI.FontStyle.Regular,this._Db=\\\"\\\",this._LQ=IPCC.Web.UI.HorizontalAlignment.Center,this._EY=IPCC.Web.UI.VerticalAlignment.Center,this._IQ=\\\"#000000\\\",this._HQ=\\\"#FFFFFF\\\",this._CY=255,this._yY=IPCC.Web.UI.Orientation.TopLeft;break;case IPCC.Web.UI.MarkType.TextSelectionRedaction:A=new IPCC.Web.UI.Rectangle(0,0,0,0),this._Gm=[],this._Jd=\\\"\\\",this._Db=\\\"\\\",this._JQ=\\\"Arial\\\",this._az=8,this._zd=0,this._Gd=0,a=8192,this._YK=[];break;case IPCC.Web.UI.MarkType.TextHyperlinkAnnotation:A=new IPCC.Web.UI.Rectangle(0,0,0,0),this._Ql=\\\"\\\",this._We=2,this._Ed=\\\"\\\",this._Jd=\\\"\\\",this._Id=\\\"n\\\",this._zd=0,this._Gd=0,this._IQ=\\\"#3B00FF\\\",a=16384,this._YK=[],this._Gm=[];break;case IPCC.Web.UI.MarkType.ImageStampAnnotation:case IPCC.Web.UI.MarkType.ImageStampRedaction:A=new IPCC.Web.UI.Rectangle(0,0,0,0),a=16384,this._nk=\\\"\\\",this._sS=\\\"\\\";break;case IPCC.Web.UI.MarkType.DocumentHyperlink:A=new IPCC.Web.UI.Rectangle(0,0,0,0),this._Ql=\\\"\\\",this._IW=\\\"\\\",this._KW=\\\"\\\",this._LW=0,this._MW=0,this._JW=255,a=32768;break;case IPCC.Web.UI.MarkType.TextLine:a=65536,A=new IPCC.Web.UI.Rectangle(0,0,0,0),this._LQ=IPCC.Web.UI.HorizontalAlignment.Left,this._Db=\\\"\\\",this._HQ=\\\"#000000\\\",this._JQ=\\\"Courier New\\\",this._We=1,this._CT=!0,this._MQ=0,this._PY=0,this._ZY=!1;var d=IPCC._o._dr(\\\"M\\\",this._JQ,{_xK:\\\"pre\\\"});this._WY=d.width,this._XY=d.height,this._NQ=null,this._kK=0,this._IQ=\\\"transparent\\\",this._Xe=\\\"transparent\\\";break;case IPCC.Web.UI.MarkType.TextAreaSignature:this._qY=\\\"#000000\\\",this._OT=!1,this._pY=IPCC.Web.UI.LineStyle.Solid,this._rY=1,this._bp=new IPCC.Web.UI.Point(0,0),this._NT=IPCC.Web.UI.CalloutType.Triangle,this._zT=!1,this._JQ=\\\"Courier New\\\",this._kK=0,this._MQ=0,this._az=12,this._FQ=IPCC.Web.UI.FontStyle.Regular,A=new IPCC.Web.UI.Rectangle(0,0,0,0),this._Db=\\\"\\\",this._LQ=IPCC.Web.UI.HorizontalAlignment.Left,this._EY=IPCC.Web.UI.VerticalAlignment.Top,this._HQ=\\\"#000000\\\",this._CY=255,this._yY=IPCC.Web.UI.Orientation.TopLeft,this._YK=[],this._We=1,this._CT=!1,this._IQ=\\\"transparent\\\",this._Xe=\\\"transparent\\\",this._Ye=0,a=1<<18;break;case IPCC.Web.UI.MarkType.Strikethrough:A=new IPCC.Web.UI.Rectangle(0,0,0,0),this._Jd=\\\"\\\",this._Xe=\\\"#000000\\\",this._We=2,this._Id=\\\"n\\\",this._zd=0,this._Ed=\\\"\\\",this._Gd=0,a=1<<17,this._YK=[],this._Gm=[];break;default:throw new IPCC.Web.UI.ImGearArgumentOutOfRangeException(\\\"type\\\",t)}t!==IPCC.Web.UI.MarkType.SignaturePath&&t!==IPCC.Web.UI.MarkType.Freehand&&t!==IPCC.Web.UI.MarkType.SignatureText&&t!==IPCC.Web.UI.MarkType.DocumentHyperlink&&t!==IPCC.Web.UI.MarkType.HighlightText&&t!==IPCC.Web.UI.MarkType.Strikethrough&&t!==IPCC.Web.UI.MarkType.TextLine&&(u?(this._iY=15,this._jY=25,this._AI=IPCC.Web.UI.LineHeadType.None,this._eY=\\\"#000000\\\",this._fY=15,this._gY=25,this._hY=IPCC.Web.UI.LineHeadType.None):(this._bZ=!0,this._CT=!0,t===IPCC.Web.UI.MarkType.Highlight&&(this._CT=!1,this._Ye=100))),this._Yua=IPCC.Web.UI._MV++,this._Xx=!0,this._oO={},this._qX=[];var I=!1;function C(e,i){var A=\\\"points\\\";t===IPCC.Web.UI.MarkType.Line&&(A=0===i.index?\\\"startPoint\\\":\\\"endPoint\\\"),l._jb(A,i)}return(r=new IPCC.Web.UI.Conversation(l)).add_commentAdded((function(e,t){l._Rd(\\\"commentAdded\\\",t)})),r.add_commentChanged((function(e,t){l._Rd(\\\"commentChanged\\\",t)})),r.add_commentRemoved((function(e,t){l._Rd(\\\"commentRemoved\\\",t)})),this._Rd=function(e,t){var i=h.getHandler(e);null!==i&&i(this,t)},n&&(n.add_pointAdded(C),n.add_pointChanged(C),n.add_pointRemoved(C)),this._Te=function(){return t},this._dva=function(){return s},this._eva=function(e){s=e},this._fva=function(){return o},this._gva=function(e){o=e},this._Od=function(){return c},this._eD=function(e){c!==e&&(c=e,this._jb(\\\"artPage\\\"))},this._hva=function(){return i},this._iva=function(e){i=e},this._Fx=function(){return I},this._oS=function(e){I=e},this._rp=function(){var e=new IPCC.Web.UI.Rectangle(0,0,0,0);switch(t){case IPCC.Web.UI.MarkType.Line:case IPCC.Web.UI.MarkType.Polyline:case IPCC.Web.UI.MarkType.Polygon:return n._ND();case IPCC.Web.UI.MarkType.Rectangle:case IPCC.Web.UI.MarkType.RectangleRedaction:case IPCC.Web.UI.MarkType.Ellipse:case IPCC.Web.UI.MarkType.Stamp:case IPCC.Web.UI.MarkType.Highlight:case IPCC.Web.UI.MarkType.HighlightText:case IPCC.Web.UI.MarkType.TextSelectionRedaction:case IPCC.Web.UI.MarkType.TextHyperlinkAnnotation:case IPCC.Web.UI.MarkType.DocumentHyperlink:case IPCC.Web.UI.MarkType.SignaturePath:case IPCC.Web.UI.MarkType.SignatureText:case IPCC.Web.UI.MarkType.TextLine:case IPCC.Web.UI.MarkType.TextAreaSignature:case IPCC.Web.UI.MarkType.Freehand:case IPCC.Web.UI.MarkType.ImageStampAnnotation:case IPCC.Web.UI.MarkType.ImageStampRedaction:case IPCC.Web.UI.MarkType.Strikethrough:return A.clone();case IPCC.Web.UI.MarkType.Text:var i=A.x+A.width,r=A.y+A.height,a=A.x+this._bp.x,s=A.y+this._bp.y;e.x=Math.min(A.x,Math.min(i,a)),e.y=Math.min(A.y,Math.min(r,s)),e.width=Math.max(A.x,Math.max(i,a))-e.x,e.height=Math.max(A.y,Math.max(r,s))-e.y}return e},this._Nd=function(){return A.clone()},this._nD=function(e){this._lva(16384,\\\"image\\\",\\\"_nk\\\",e)},this._Af=function(){return this._nk},this._Yo=function(){return n},this._mva=function(){return r},this._nva=function(e){(r=e).set_mark(this)},this._ts=function(){return g},this._vZ=function(e){var i;if(!A.equals(e)){if(A=new IPCC.Web.UI.Rectangle(e.x,e.y,e.width,e.height),t===IPCC.Web.UI.MarkType.Stamp||t===IPCC.Web.UI.MarkType.SignatureText||t===IPCC.Web.UI.MarkType.TextLine)if(document.documentMode<9)i=0,15*(i=A.width>=A.height?A.width/14/2:A.width/15)>=A.width&&(i=A.width/15/2),this.stampSize=Math.round(i);else{var n=A.width/6;n>A.height&&(n=A.height-A.height/6);var r=this.get_text();r||(r=t===IPCC.Web.UI.MarkType.Stamp?\\\"APPROVED\\\":\\\"\\\"),(i=r.length*n)>A.width&&(n=A.width/r.length);var a=Math.round(n);this.stampSize=a.toString()}this._jb(\\\"rectangle\\\")}},this._mU=function(){return this._Yua},this._ip=function(e,i){if(0!==e||0!==i)switch(t){case IPCC.Web.UI.MarkType.Line:case IPCC.Web.UI.MarkType.Polyline:case IPCC.Web.UI.MarkType.Polygon:n._cda(e,i);break;case IPCC.Web.UI.MarkType.Rectangle:case IPCC.Web.UI.MarkType.RectangleRedaction:case IPCC.Web.UI.MarkType.Ellipse:case IPCC.Web.UI.MarkType.Text:case IPCC.Web.UI.MarkType.Stamp:case IPCC.Web.UI.MarkType.SignaturePath:case IPCC.Web.UI.MarkType.SignatureText:case IPCC.Web.UI.MarkType.TextLine:case IPCC.Web.UI.MarkType.TextAreaSignature:case IPCC.Web.UI.MarkType.Freehand:case IPCC.Web.UI.MarkType.ImageStampAnnotation:case IPCC.Web.UI.MarkType.ImageStampRedaction:case IPCC.Web.UI.MarkType.Freehand:if(t===IPCC.Web.UI.MarkType.RectangleRedaction&&void 0!==this._Jd)break;A.x+=e,A.y+=i,this._jb(\\\"rectangle\\\");case IPCC.Web.UI.MarkType.HighlightText:case IPCC.Web.UI.MarkType.Highlight:case IPCC.Web.UI.MarkType.TextSelectionRedaction:case IPCC.Web.UI.MarkType.TextHyperlinkAnnotation:case IPCC.Web.UI.MarkType.Strikethrough:}},this._Ila=function(e){if(this._YK&&e!==this._YK){for(;this._YK.length>0;)this._YK.pop();e&&(this._YK=e.slice(0)),this._Rd(\\\"markTextSelectionChanged\\\",{})}},this._aia=function(e){this._YK&&h.addHandler(\\\"markTextSelectionChanged\\\",e)},this._bia=function(e){this._YK&&h.removeHandler(\\\"markTextSelectionChanged\\\",e)},this._uca=function(e){h.addHandler(\\\"commentAdded\\\",e)},this._vca=function(e){h.removeHandler(\\\"commentAdded\\\",e)},this._wca=function(e){h.addHandler(\\\"commentRemoved\\\",e)},this._xca=function(e){h.removeHandler(\\\"commentRemoved\\\",e)},this._xba=function(e){h.addHandler(\\\"commentChanged\\\",e)},this._yba=function(e){h.removeHandler(\\\"commentChanged\\\",e)},this._sg=function(e){h.addHandler(\\\"propertyChanged\\\",e)},this._tg=function(e){h.removeHandler(\\\"propertyChanged\\\",e)},this._jb=function(e){var t=h.getHandler(\\\"propertyChanged\\\");t&&t(this,new IPCC._v(e))},this._sg((function(e){e._gva(new Date)})),this};n.prototype={toString:function(){switch(this.get_type()){case IPCC.Web.UI.MarkType.Line:return\\\"Line Mark from \\\"+this._Yo().getPoint(0)+\\\" to \\\"+this._Yo().getPoint(1);case IPCC.Web.UI.MarkType.Polyline:return\\\"Polyline Mark with \\\"+this._Yo()._sn()+\\\" vertices\\\";case IPCC.Web.UI.MarkType.Rectangle:return\\\"Rectangle Mark at \\\"+this._Nd();case IPCC.Web.UI.MarkType.RectangleRedaction:return\\\"Rectangle Redaction Mark at \\\"+this._Nd();case IPCC.Web.UI.MarkType.Ellipse:return\\\"Ellipse Mark at \\\"+this._Nd();case IPCC.Web.UI.MarkType.Polygon:return\\\"Polygon Mark with \\\"+this._Yo()._sn()+\\\" vertices\\\";case IPCC.Web.UI.MarkType.Text:return'Text Mark, \\\"'+this._Db+'\\\", at '+this._Nd();case IPCC.Web.UI.MarkType.Stamp:return\\\"Stamp Mark at \\\"+this._Nd();case IPCC.Web.UI.MarkType.Highlight:return\\\"Rectangle Mark at \\\"+this._Nd();case IPCC.Web.UI.MarkType.HighlightText:return\\\"Highlight Mark at \\\"+this._Nd();case IPCC.Web.UI.MarkType.TextSelectionRedaction:return\\\"Text Selection Redaction at \\\"+this._Nd();case IPCC.Web.UI.MarkType.TextSelectionRedaction:return\\\"Text Hyperlink Annotation at \\\"+this._Nd();case IPCC.Web.UI.MarkType.TextSelectionRedaction:return\\\"Document Hyperlink at \\\"+this._Nd();case IPCC.Web.UI.MarkType.SignaturePath:return'Signature Path Mark, \\\"'+this._kX+'\\\", at '+this._Nd();case IPCC.Web.UI.MarkType.Freehand:return'Freehand Mark, \\\"'+this._kX+'\\\", at '+this._Nd();case IPCC.Web.UI.MarkType.SignatureText:return\\\"Signature Text Mark at \\\"+this._Nd();case IPCC.Web.UI.MarkType.TextLine:return\\\"Text Line Mark at \\\"+this._Nd();case IPCC.Web.UI.MarkType.TextAreaSignature:return\\\"Text Area Signature Mark at \\\"+this._Nd();case IPCC.Web.UI.MarkType.ImageStampAnnotation:return\\\"ImageStamp Mark at \\\"+this._Nd();case IPCC.Web.UI.MarkType.ImageStampRedaction:return\\\"ImageStamp Redaction Mark at \\\"+this._Nd();case IPCC.Web.UI.MarkType.Strikethrough:return\\\"Strikethrough Mark at \\\"+this._Nd()}return\\\"Mark\\\"},initializeDates:function(e,t){IPCC._l._tb(e,\\\"dateCreated\\\"),IPCC._l._tb(t,\\\"dateModified\\\"),this._eva(e),this._gva(t)},get_dateCreated:function(){return this._dva()},get_dateModified:function(){return this._fva()},_qva:function(e,t,i,A){this._Uua(e,t),this[i]!==A&&(this[i]=A,this._jb(t))},_sva:function(e,t,i,A){IPCC._l._mc(A,t),this._qva(e,t,i,A)},_tva:function(e,t,i,A){IPCC._l._bc(A,t),this._qva(e,t,i,A)},_uva:function(e,t,i,A,n,r){IPCC._l._dc(A,t,n,r),this._qva(e,t,i,A)},_vva:function(e,t,i,A,n,r){IPCC._l._jc(A,t,n,r),this._qva(e,t,i,A)},_lva:function(e,t,i,A){IPCC._l._zb(A,t,\\\"string\\\"),this._qva(e,t,i,A)},_wva:function(e,t,i,A,n){IPCC._l._nc(A,t,n),this._qva(e,t,i,A)},_xva:function(e,t,i,A,n){IPCC._l._nc(A,t,n,!0),this._qva(e,t,i,A)},_yva:function(e,t,i,A){IPCC._l._rc(A,t),this._qva(e,t,i,A)},get_artPage:function(){return this._Od()},get_boundingRectangle:function(){return this._rp()},get_selected:function(){var e=this._Od();return!!e&&e._No().contains(this)},set_selected:function(e){var t=this._Od();if(t){if(this._RA!==IPCC.Web.UI.MarkInteractionMode.SelectionDisabled||!e){var i=t._No();e!==i.contains(this)&&(e?i._gca(this):i._us(this),this._jb(\\\"selected\\\"))}}else if(e)throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"A Mark cannot be selected unless it is associated with an ArtPage.\\\")},get_calloutLineColor:function(){return this._Uua(32,\\\"calloutLineColor\\\"),this._qY},set_calloutLineColor:function(e){this._sva(32,\\\"calloutLineColor\\\",\\\"_qY\\\",e)},get_calloutLineIsDistinct:function(){return this._Uua(32,\\\"calloutLineIsDistinct\\\"),this._OT},set_calloutLineIsDistinct:function(e){this._qva(32,\\\"calloutLineIsDistinct\\\",\\\"_OT\\\",e)},get_calloutLineStyle:function(){return this._Uua(32,\\\"calloutLineStyle\\\"),this._pY},set_calloutLineStyle:function(e){this._wva(32,\\\"calloutLineStyle\\\",\\\"_pY\\\",e,IPCC.Web.UI.LineStyle)},get_calloutLineWidth:function(){return this._Uua(32,\\\"calloutLineWidth\\\"),this._rY},set_calloutLineWidth:function(e){this._uva(32,\\\"calloutLineWidth\\\",\\\"_rY\\\",e,0,50)},get_calloutPoint:function(){return this._Uua(32,\\\"calloutPoint\\\"),this._bp},set_calloutPoint:function(e){this._yva(32,\\\"calloutPoint\\\",\\\"_bp\\\",e)},get_calloutType:function(){return this._Uua(32,\\\"calloutType\\\"),this._NT},set_calloutType:function(e){this._wva(32,\\\"calloutType\\\",\\\"_NT\\\",e,IPCC.Web.UI.CalloutType)},get_calloutVisible:function(){return this._Uua(32,\\\"calloutVisible\\\"),this._zT},set_calloutVisible:function(e){if(!this._zT&&e&&this._Te()===IPCC.Web.UI.MarkType.Text&&0===this._bp.x&&0===this._bp.y){var t=this._Nd();this.set_calloutPoint({x:t.width,y:1.5*t.height})}this._qva(32,\\\"calloutVisible\\\",\\\"_zT\\\",e)},get_endHeadAngle:function(){return this._Uua(3,\\\"endHeadAngle\\\"),this._iY},set_endHeadAngle:function(e){this._uva(3,\\\"endHeadAngle\\\",\\\"_iY\\\",e,0,180)},get_endHeadLength:function(){return this._Uua(3,\\\"endHeadLength\\\"),this._jY},set_endHeadLength:function(e){this._uva(3,\\\"endHeadLength\\\",\\\"_jY\\\",e,0,100)},get_endHeadType:function(){return this._Uua(3,\\\"endHeadType\\\"),this._AI},set_endHeadType:function(e){this._wva(3,\\\"endHeadType\\\",\\\"_AI\\\",e,IPCC.Web.UI.LineHeadType)},get_href:function(){return this._Uua(49152,\\\"href\\\"),this._Ql},set_href:function(e){this._lva(49152,\\\"href\\\",\\\"_Ql\\\",e)},has_unsafe_href:function(){return!!this._Ql&&IPCC._o._gL(this._Ql)},get_mask:function(){return this._Uua(65536,\\\"mask\\\"),this._NQ},set_mask:function(e){this._qva(65536,\\\"mask\\\",\\\"_NQ\\\",e)},get_borderType:function(){return this._Uua(32768,\\\"borderType\\\"),this._IW},set_borderType:function(e){this._lva(32768,\\\"borderType\\\",\\\"_IW\\\",e)},get_borderHorizontalRadius:function(){return this._Uua(32768,\\\"borderHorizontalRadius\\\"),this._LW},set_borderHorizontalRadius:function(e){this._tva(32768,\\\"borderHorizontalRadius\\\",\\\"_LW\\\",e)},get_borderVerticalRadius:function(){return this._Uua(32768,\\\"borderVerticalRadius\\\"),this._MW},set_borderVerticalRadius:function(e){this._tva(32768,\\\"borderVerticalRadius\\\",\\\"_MW\\\",e)},get_borderOpacity:function(){return this._Uua(32768,\\\"_JW\\\"),this._JW},set_borderOpacity:function(e){this._vva(32768,\\\"_JW\\\",\\\"_JW\\\",e,0,255)},get_borderPattern:function(){return this._Uua(32768,\\\"_KW\\\"),this._KW},set_borderPattern:function(e){this._qva(32768,\\\"_KW\\\",\\\"_KW\\\",e,0,255)},get_fillColor:function(){return this._Uua(360444,\\\"fillColor\\\"),this._IQ},set_fillColor:function(e){this._sva(360444,\\\"fillColor\\\",\\\"_IQ\\\",e)},get_fillVisible:function(){return this._Uua(16380,\\\"fillVisible\\\"),this._bZ},set_fillVisible:function(e){this._qva(16380,\\\"fillVisible\\\",\\\"_bZ\\\",e)},get_fontName:function(){return this._Uua(342048,\\\"fontName\\\"),this._JQ},set_fontName:function(e){if(this._lva(342048,\\\"fontName\\\",\\\"_JQ\\\",e),this._Te()===IPCC.Web.UI.MarkType.SignatureText||this._Te()===IPCC.Web.UI.MarkType.TextLine){var t=this._Te()===IPCC.Web.UI.MarkType.TextLine?{_xK:\\\"pre\\\"}:{},i=IPCC._o._dr(this._Db,this._JQ,t);this._WY=i.width,this._XY=i.height}this._Te()===IPCC.Web.UI.MarkType.TextLine&&(this._ZY=!1)},get_fontSize:function(){return this._Uua(14368,\\\"fontSize\\\"),this._az},set_fontSize:function(e){this._uva(14368,\\\"fontSize\\\",\\\"_az\\\",e,.1,288)},get_fontStyle:function(){return this._Uua(268320,\\\"fontStyle\\\"),this._FQ},set_fontStyle:function(e){this._xva(268320,\\\"fontStyle\\\",\\\"_FQ\\\",e,IPCC.Web.UI.FontStyle)},get_headFillColor:function(){return this._Uua(3,\\\"headFillColor\\\"),this._eY},set_headFillColor:function(e){this._sva(3,\\\"headFillColor\\\",\\\"_eY\\\",e)},get_interactionMode:function(){return this._Uua(-1,\\\"interactionMode\\\"),this._RA},set_interactionMode:function(e){this._wva(-1,\\\"interactionMode\\\",\\\"_RA\\\",e,IPCC.Web.UI.MarkInteractionMode),e===IPCC.Web.UI.MarkInteractionMode.SelectionDisabled&&this.set_selected(!1)},get_maxLength:function(){return this._Uua(327712,\\\"maxLength\\\"),this._MQ},set_maxLength:function(e){this._tva(327712,\\\"maxLength\\\",\\\"_MQ\\\",e)},get_maxFontSize:function(){return this._Uua(327680,\\\"maxFontSize\\\"),this._kK},set_maxFontSize:function(e){this._tva(327680,\\\"maxFontSize\\\",\\\"_kK\\\",e)},get_isClosed:function(){return this._Uua(2,\\\"isClosed\\\"),this._UX},set_isClosed:function(e){this._qva(2,\\\"isClosed\\\",\\\"_UX\\\",e)},get_lineColor:function(){return this._Xe},set_lineColor:function(e){this._sva(505087,\\\"lineColor\\\",\\\"_Xe\\\",e)},get_lineStyle:function(){return this._iS},set_lineStyle:function(e){this._wva(32831,\\\"lineStyle\\\",\\\"_iS\\\",e,IPCC.Web.UI.LineStyle)},get_lineWidth:function(){return this._We},set_lineWidth:function(e){this._uva(505087,\\\"lineWidth\\\",\\\"_We\\\",e,0,50)},get_lineVisible:function(){return this._Uua(65708,\\\"lineVisible\\\"),this._CT},set_lineVisible:function(e){this._qva(65708,\\\"lineVisible\\\",\\\"_CT\\\",e)},get_opacity:function(){return this._Ye},set_opacity:function(e){this._vva(331647,\\\"opacity\\\",\\\"_Ye\\\",e,0,255)},get_points:function(){return this._Uua(19,\\\"points\\\"),this._Yo()},get_conversation:function(){return this._mva()},set_conversation:function(e){return this._nva(e)},get_data:function(){return this._ts()},get_image:function(){return this._Uua(16384,\\\"image\\\"),this._Af()},set_image:function(e){this._Uua(16384,\\\"image\\\"),this._nD(e)},get_rectangle:function(){return this._Uua(524268,\\\"rectangle\\\"),this._Nd()},set_rectangle:function(e){this._Uua(524268,\\\"rectangle\\\"),IPCC._l._sc(e,\\\"rectangle\\\"),this._vZ(e),this._Te()===IPCC.Web.UI.MarkType.TextLine&&(this._ZY=!1)},get_startHeadAngle:function(){return this._Uua(3,\\\"startHeadAngle\\\"),this._fY},set_startHeadAngle:function(e){this._uva(3,\\\"startHeadAngle\\\",\\\"_fY\\\",e,0,180)},get_startHeadLength:function(){return this._Uua(3,\\\"startHeadLength\\\"),this._gY},set_startHeadLength:function(e){this._uva(3,\\\"startHeadLength\\\",\\\"_gY\\\",e,0,100)},get_startHeadType:function(){return this._Uua(3,\\\"startHeadType\\\"),this._hY},set_startHeadType:function(e){this._wva(3,\\\"startHeadType\\\",\\\"_hY\\\",e,IPCC.Web.UI.LineHeadType)},get_text:function(){return this._Uua(473248,\\\"text\\\"),this._Db},set_text:function(e){if(this._Db!==e){if(this._lva(473248,\\\"text\\\",\\\"_Db\\\",e),this._Te()===IPCC.Web.UI.MarkType.SignatureText||this._Te()===IPCC.Web.UI.MarkType.TextLine){var t=this._Te()===IPCC.Web.UI.MarkType.TextLine?{_xK:\\\"pre\\\"}:{},i=IPCC._o._dr(this._Db,this._JQ,t);this._WY=i.width,this._XY=i.height}if(this._YK)for(;this._YK.length>0;)this._YK.pop()}},get_textHorizontalAlignment:function(){return this._Uua(330784,\\\"textHorizontalAlignment\\\"),this._LQ},set_textHorizontalAlignment:function(e){this._wva(330784,\\\"textHorizontalAlignment\\\",\\\"_LQ\\\",e,IPCC.Web.UI.HorizontalAlignment)},get_textVerticalAlignment:function(){return this._Uua(32,\\\"textVerticalAlignment\\\"),this._EY},set_textVerticalAlignment:function(e){this._wva(32,\\\"textVerticalAlignment\\\",\\\"_EY\\\",e,IPCC.Web.UI.VerticalAlignment)},get_textColor:function(){return this._Uua(333856,\\\"textColor\\\"),this._HQ},set_textColor:function(e){this._sva(333856,\\\"textColor\\\",\\\"_HQ\\\",e)},get_textOpacity:function(){return this._Uua(32,\\\"textOpacity\\\"),this._CY},set_textOpacity:function(e){this._vva(32,\\\"textOpacity\\\",\\\"_CY\\\",e,0,255)},get_textOrientation:function(){return this._Uua(32,\\\"textOrientation\\\"),this._yY},set_textOrientation:function(e){this._wva(32,\\\"textOrientation\\\",\\\"_yY\\\",e,IPCC.Web.UI.Orientation)},get_type:function(){return this._Te()},get_visible:function(){return this._Xx},set_visible:function(e){this._qva(262143,\\\"visible\\\",\\\"_Xx\\\",e)},get_markID:function(){return this._mU()},get_pathString:function(){return this._kX},set_pathString:function(e){this.get_pathString()!==e&&(this._UY=!0),this._lva(1088,\\\"pathString\\\",\\\"_kX\\\",e)},get_pathWidth:function(){return this._Wua},set_pathWidth:function(e){this._tva(1088,\\\"pathWidth\\\",\\\"_Wua\\\",e)},get_pathHeight:function(){return this._Xua},set_pathHeight:function(e){this._tva(1088,\\\"pathHeight\\\",\\\"_Xua\\\",e)},get_startIndex:function(){return this._Uua(156160,\\\"startIndex\\\"),this._zd},set_startIndex:function(e){this._tva(156160,\\\"startIndex\\\",\\\"_zd\\\",e)},get_textLength:function(){return this._Uua(156160,\\\"textLength\\\"),this._Gd},set_textLength:function(e){this._tva(156160,\\\"textLength\\\",\\\"_Gd\\\",e)},add_propertyChanged:function(e){this._sg(e)},remove_propertyChanged:function(e){this._tg(e)},add_markTextSelectionChanged:function(e){this._aia(e)},remove_markTextSelectionChanged:function(e){this._bia(e)},move:function(e,t){IPCC._l._bc(e,\\\"deltaX\\\"),IPCC._l._bc(t,\\\"deltaY\\\"),this._ip(e,t)},moveBackward:function(){if(!this._Od())throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"A Mark cannot be reordered unless it is associated with an ArtPage.\\\");var e=this._Od()._ppa(this);e>this._Od()._zva()&&this._Od().reorderMark(this,e-1)},moveForward:function(){if(!this._Od())throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"A Mark cannot be reordered unless it is associated with an ArtPage.\\\");var e=this._Od()._ppa(this);e{var A=i(6e3).regClass,n=function(){var e=[],t=new IPCC.Web.UI._Qa;return this._gca=function(t){if(-1===this._dU(t)){e.push(t);var i=new IPCC.Web.UI.MarkEventArgs;i.mark=t,this._Rd(\\\"markAdded\\\",i)}},this._hca=function(t){var i=new IPCC.Web.UI.MarkEventArgs;i.length=t.get_length();var A=this;t.forEach((function(t){-1===A._dU(t)&&e.push(t)}),{}),i.length>0&&this._Rd(\\\"markAdded\\\",i)},this._op=function(t,i){var A,n=[].concat(e);for(A=0;A-1){e.splice(i,1);var A=new IPCC.Web.UI.MarkEventArgs;A.mark=t,this._Rd(\\\"markRemoved\\\",A)}},this._dU=function(t){var i;for(i=0;i-1},removeMark:function(e){this._us(e)},removeAllMarks:function(){this._op((function(e,t,i){i._us(e)}))},add_markAdded:function(e){this._kca(e)},remove_markAdded:function(e){this._lca(e)},add_markRemoved:function(e){this._mca(e)},remove_markRemoved:function(e){this._nca(e)}},n.registerClass=A,n.registerClass(\\\"IPCC.Web.UI.MarkCollection\\\"),e.exports=n},2525:(e,t,i)=>{var A=i(6e3).regClass,n=function(){return this};n.registerClass=A,n.prototype={},n.registerClass(\\\"IPCC.Web.UI.MarkEventArgs\\\"),e.exports=n},3851:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={HideSideHandlesWhenClose:0,HideCornerHandlesWhenClose:1},n.registerEnum(\\\"IPCC.Web.UI.MarkHandleMode\\\",!1),e.exports=n},9231:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={Full:0,SelectionDisabled:1,TextEditingDisabled:2},n.registerEnum(\\\"IPCC.Web.UI.MarkInteractionMode\\\",!1),e.exports=n},3233:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={Line:3,Polyline:502,Rectangle:600,Ellipse:601,Polygon:604,Text:605,Highlight:606,Stamp:607,HighlightText:608,SignaturePath:609,Freehand:610,SignatureText:611,SignatureImage:612,RectangleRedaction:613,TextSelectionRedaction:614,ImageStampAnnotation:615,ImageStampRedaction:616,TextHyperlinkAnnotation:617,DocumentHyperlink:618,TextLine:619,Strikethrough:620,TextAreaSignature:621},n.registerEnum(\\\"IPCC.Web.UI.MarkType\\\",!1),e.exports=n},1035:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){if(0!==arguments.length)throw new IPCC.Web.UI.ImGearParameterCountException;throw new IPCC.Web.UI.ImGearNotImplementedException};n.registerEnum=A,n.prototype={leftButton:0,middleButton:1,rightButton:2},n.registerEnum(\\\"IPCC.Web.UI.MouseButton\\\")},5962:(e,t,i)=>{var A=i(6e3).regClass,n=function(){var e=!1;return this._cba=function(){e=!0},this._BC=function(){return e},this};n.prototype={preventDefault:function(){this._cba()}},n.registerClass=A,n.registerClass(\\\"IPCC.Web.UI.MouseEventArgs\\\"),e.exports=n},3633:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={None:0,Magnifier:1,RectangleZoom:2,HandPan:3,Select:4,CreateRectangleMark:5,CreateEllipseMark:6,CreateLineMark:7,CreatePolylineMark:8,CreateFreehandMark:9,CreatePolygonMark:10,CreateTextMark:11,EditMarks:12,RunMarks:13,SelectText:14,CreateStampMark:15,CreateHighlightTextMark:16,CreateTextSelectionRedaction:17,CreateRectangleRedactionMark:18,CreateImageStampAnnotationMark:19,CreateImageStampRedactionMark:20,CreateTextHyperlinkMark:21,CreateTextInputSignatureMark:22,CreateStrikethroughMark:23,CreateTextAreaSignatureMark:24},n.registerEnum(\\\"IPCC.Web.UI.MouseTool\\\",!1),e.exports=n},1783:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={TopLeft:1,TopRight:2,BottomRight:3,BottomLeft:4,LeftTop:5,RightTop:6,RightBottom:7,LeftBottom:8},n.registerEnum(\\\"IPCC.Web.UI.Orientation\\\",!1),e.exports=n},8242:e=>{function t(e){return t=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},t(e)}var i=function(e,i,A){var n,r,a=this,s=0,o=\\\"\\\",c=!1,g=new IPCC.Web.UI._Qa,h=null,l=IPCC._d,u=IPCC._d,d=0,I=!1,C=0,f=-1,p=-1,B=-1;function m(e){return!!r&&r._fC(e)}this._bv=function(e,t){m(IPCC.Web.UI.DebugErrorLevel.Production)&&r._bv(e,t)},this._oha=function(e,t,i){if(m(IPCC.Web.UI.DebugErrorLevel.Development)){var A,n=e+\\\"(\\\";for(A=0;A0&&(n+=\\\", \\\"),n+=IPCC._m._wb(t[A],i||0);n+=\\\")\\\",this._rha(n,IPCC.Web.UI.DebugErrorLevel.Development)}},this._sha=function(e,t,i,A){if(m(IPCC.Web.UI.DebugErrorLevel.Development)){var n,r=e+\\\"(\\\";for(n=0;n0&&(r+=\\\", \\\"),r+=IPCC._m._wb(t[n],A||0);r+=\\\") = \\\",r+=IPCC._m._wb(i,1),this._rha(r,IPCC.Web.UI.DebugErrorLevel.Development)}},this._tha=function(e,t,i){if(m(IPCC.Web.UI.DebugErrorLevel.Detailed)){var A,n=e+\\\"(\\\";for(A=0;A0&&(n+=\\\", \\\"),n+=IPCC._m._wb(t[A],0);n+=\\\") = \\\",n+=IPCC._m._wb(i,1),this._rha(n,IPCC.Web.UI.DebugErrorLevel.Detailed)}},this._rha=function(e,t){r&&r._Fb(e,IPCC.Web.UI.DebugItemCause.FunctionCall,t)},this._Fb=function(e){r&&r._Fb(e,IPCC.Web.UI.DebugItemCause.Custom,IPCC.Web.UI.DebugErrorLevel.Production)},this._uha=function(){return r.get_debug()},this._vha=function(e){r.set_debug(e)},this._pC=function(){return r._pC()},this._qC=function(e){IPCC._l._nc(e,\\\"value\\\",IPCC.Web.UI.DebugErrorLevel),r._qC(e)},this._dAa=function(e){I=e},this._eAa=function(){return I};var E=function(){if(void 0===r._Af())throw new IPCC.Web.UI.ImGearInvalidOperationException(\\\"You cannot perform this operation unless an image is open (and it has completed the opening process).\\\")};function Q(e,t){g.addHandler(e,t)}function _(e,t){g.removeHandler(e,t)}this._zqa=function(e,t){r._CC(e,t)},this._wU=function(e,t){r._Ue(t),r._rd()},this._Kha=function(e){Q(\\\"pageOpening\\\",e)},this._Lha=function(e){_(\\\"pageOpening\\\",e)},this._Mha=function(e){Q(\\\"pageOpened\\\",e)},this._Nha=function(e){_(\\\"pageOpened\\\",e)},this._gAa=function(e){Q(\\\"pageClosed\\\",e)},this._hAa=function(e){_(\\\"pageClosed\\\",e)},this._mfa=function(e){Q(\\\"pageOpenFailed\\\",e)},this._nfa=function(e){_(\\\"pageOpenFailed\\\",e)},this._Oha=function(e){Q(\\\"pageDisplayed\\\",e)},this._Pha=function(e){_(\\\"pageDisplayed\\\",e)},this._Aha=function(e){Q(\\\"mouseDown\\\",e)},this._Bha=function(e){_(\\\"mouseDown\\\",e)},this._Cha=function(e){Q(\\\"mouseMove\\\",e)},this._Dha=function(e){_(\\\"mouseMove\\\",e)},this._Eha=function(e){Q(\\\"mouseUp\\\",e)},this._Fha=function(e){_(\\\"mouseUp\\\",e)},this._iAa=function(e){Q(\\\"contextMenu\\\",e)},this._jAa=function(e){_(\\\"contextMenu\\\",e)},this._kca=function(e){Q(\\\"markAdded\\\",e)},this._lca=function(e){_(\\\"markAdded\\\",e)},this._Sha=function(e){Q(\\\"markCreating\\\",e)},this._Tha=function(e){_(\\\"markCreating\\\",e)},this._Uha=function(e){Q(\\\"markChanged\\\",e)},this._Vha=function(e){_(\\\"markChanged\\\",e)},this._mca=function(e){Q(\\\"markRemoved\\\",e)},this._nca=function(e){_(\\\"markRemoved\\\",e)},this._Wha=function(e){Q(\\\"markReordered\\\",e)},this._Xha=function(e){_(\\\"markReordered\\\",e)},this._Mza=function(e){Q(\\\"marksLoaded\\\",e)},this._Nza=function(e){_(\\\"marksLoaded\\\",e)},this._Yha=function(e){Q(\\\"markSelectionChanged\\\",e)},this._Zha=function(e){_(\\\"markSelectionChanged\\\",e)},this._KE=function(e){Q(\\\"textPageReady\\\",e)},this._Rda=function(e){_(\\\"textPageReady\\\",e)},this._Gha=function(e){Q(\\\"selectTextMouseToolCompleted\\\",e)},this._Hha=function(e){_(\\\"selectTextMouseToolCompleted\\\",e)},this._Qha=function(e){Q(\\\"exceptionThrown\\\",e)},this._eia=function(e){Q(\\\"scaleChanged\\\",e)},this._fia=function(e){_(\\\"scaleChanged\\\",e)},this._Rha=function(e){_(\\\"exceptionThrown\\\",e)},this._LE=function(e){Q(\\\"textExtractionFailed\\\",e)},this._Vda=function(e){_(\\\"textExtractionFailed\\\",e)},this._sg=function(e){Q(\\\"propertyChanged\\\",e)},this._tg=function(e){_(\\\"propertyChanged\\\",e)};var y=function(e,t){try{var i;(i=g.getHandler(e))&&a&&i(a,t)}catch(t){a&&a._bv(e+\\\"Event\\\",t)}},w=function(e){r[\\\"add_\\\"+e]((function(t,i){y(e,i)}))},b=function(e){r[\\\"add_\\\"+e]((function(t,i){c&&r._oE()&&v(),y(e,i)}))};function v(){var e,t,i;if(\\\"\\\"!==o&&(i=document.getElementById(o))){if(t='{encodedDocumentIdentifier:\\\"'+(e=a._iia()).encodedDocumentIdentifier,t+='\\\",documentPageIndex:'+e.documentPageIndex.toString(),t+=\\\",viewFitType:\\\"+e.viewFitType.toString(),e.viewRectangle&&e.viewFitType===IPCC.Web.UI.FitType.Rectangle&&(t+=\\\",viewRectangle:{x:\\\"+e.viewRectangle.x.toFixed(5),t+=\\\",y:\\\"+e.viewRectangle.y.toFixed(5),t+=\\\",width:\\\"+e.viewRectangle.width.toFixed(5),t+=\\\",height:\\\"+e.viewRectangle.height.toFixed(5),t+=\\\"}\\\"),e.viewRotationDegreesClockwise&&(t+=\\\",viewRotationDegreesClockwise:\\\"+e.viewRotationDegreesClockwise.toString()),e.viewMirror&&(t+=\\\",viewMirror:\\\"+e.viewMirror.toString()),e.viewZoomFactor&&(t+=\\\",viewZoomFactor:\\\"+e.viewZoomFactor.toString()),c){var A=r._Od();A&&(t+=',artPageJson:\\\"'+IPCC._M._Sv(A.saveToJson())+'\\\"')}t+=\\\"}\\\",i.value=t}}function k(){var e={},t=r._gd()._xf();e.documentIdentifier=a._gfa(),e.encodedDocumentIdentifier=a._hfa(),e.documentPageIndex=a._xda(),e.artPage=a._Od(),e.referenceDocumentIdentifier=a._gfa(),e.referenceDocumentPageIndex=a._xda(),e.viewFitType=IPCC.Web.UI.FitType.Rectangle,e.viewRectangle=a._wAa(),e.imGearPage=a._IE(),e.transientArtPage=a._Pd();var i=t._uk();return 0!==i&&(e.viewRotationDegreesClockwise=i),t._pk()&&(e.viewMirror=!0),e}this._yA=function(e){if(IPCC._l._nc(e,\\\"type\\\",IPCC.Web.UI.FitType),e===IPCC.Web.UI.FitType.Rectangle)throw new IPCC.Web.UI.ImGearArgumentException(\\\"type\\\",\\\"The value must be a member of the IPCC.Web.UI.FitType enumeration (other than Rectangle).\\\");E(),h={_rAa:!0,viewFitType:e},x()},this._wA=function(){return void 0!==r._Af()},this._nb=function(){return E(),r._Af().width},this._pb=function(){return E(),r._Af().height},this._tAa=function(){return E(),r._Af()._Pf},this._xA=function(){return r._gd()._xf()._uk()},this._uAa=function(){return E(),r._Af()._Nf},this._gfa=function(){return r&&r._Af()?r._Af().get_identifier():\\\"\\\"},this._hfa=function(){return r&&r._Af()?r._Af().get_encodedIdentifier():\\\"\\\"},this._xda=function(){return r&&r._Af()?r._Af()._Zl:-1},this._vAa=function(){return r&&r._Af()?r._Af()._so:0},this._wAa=function(){var e=r._Af();if(!e)return new IPCC.Web.UI.Rectangle(0,0,0,0);var t=r._Ud();t.x=t.y=0;var i=r._gd()._xf();i._Bh();var A=i._bk(t);return A.x<0&&(A.width+=A.x,A.x=0),A.y<0&&(A.height+=A.y,A.y=0),A.x+A.width>e.width&&(A.width=e.width-A.x),A.y+A.height>e.height&&(A.height=e.height-A.y),A},this._vD=function(e,t){r._vD(e,t)},this._iia=function(){var e;return n?((e=new IPCC.Web.UI.PageViewState).documentIdentifier=n.documentIdentifier,e.encodedDocumentIdentifier=n.encodedDocumentIdentifier,e.documentPageIndex=n.documentPageIndex,e.artPage=n.artPage,e.artPageJson=n.artPageJson,e.referenceDocumentIdentifier=n.documentIdentifier,e.referenceDocumentPageIndex=n.documentPageIndex,e.viewFitType=n.viewFitType,e.viewRectangle=n.viewRectangle,e.viewRotationDegreesClockwise=n.viewRotationDegreesClockwise,e.viewMirror=n.viewMirror,e.viewZoomFactor=n.viewZoomFactor,e.transientArtPage=n.transientArtPage):e=k(),e},this._tia=function(e){var t=r._Ud();this._yAa(e,{x:t.width/2,y:t.height/2})},this._yAa=function(e,t){IPCC._l._dc(e,\\\"factor\\\",1.01,20),IPCC._l._rc(t,\\\"point\\\"),E();var i=r._gd(),A=i._xf(),n=r._Af(),a=A._Hf();a*e>n._If&&(e=n._If/a),A._Kf(e,e,t.x,t.y),A._zf(n,r._Ud()),h=null,i._Bf(A)},this._zia=function(e){var t=r._Ud();this._zAa(e,{x:t.width/2,y:t.height/2})},this._zAa=function(e,t){IPCC._l._dc(e,\\\"factor\\\",1.01,20),IPCC._l._rc(t,\\\"point\\\"),E();var i=r._gd(),A=i._xf(),n=r._Af(),a=A._Hf();a/en._If?e=n._If:et._If?h.viewZoomFactor=t._If:h.viewZoomFactor2)return;C++}else f=h?h.viewFitType:-1,p=t,B=i,C=0;x()}function M(){h=null}function F(e,t){switch(t._lw){case IPCC._n._Bc:a._yAa(1.25,t._Qx.windowPoint);break;case IPCC._n._Cc:a._zAa(1.25,t._Qx.windowPoint);break;case IPCC._n._Dc:a._kI(t._Xb);break;case IPCC._n._Ec:a._EAa();break;case IPCC._n._Fc:a._BAa();break;case IPCC._n._Pc:a._yA(t._Xb);break;case IPCC._n._Qc:a._Gja(t._Xb)}}function T(e,t){var i=t.scaleFactor,A={scaleType:\\\"scaledDown\\\",documentPageIndex:t.documentPageIndex};d!==i&&(i>d&&(A.scaleType=\\\"scaledUp\\\"),d=i,y(\\\"scaleChanged\\\",A))}this._Fja=function(){return P},this._jBa=function(e){r._Hd=e},this._Jja=function(e){r.set_areMarksEditable(e)},this._kBa=function(){return r.set_areMarksEditable()},this._Gja=function(e){if(IPCC._l._nc(e,\\\"value\\\",IPCC.Web.UI.MouseTool),P!==e){var t=\\\"None\\\";switch(P=e){case IPCC.Web.UI.MouseTool.None:r._wC([]);break;case IPCC.Web.UI.MouseTool.Magnifier:!0===IPCC._b?r._wC([new IPCC._I,new IPCC._F,new IPCC._t(!1,this._RAa()),new IPCC._z,new IPCC._x(!1)]):(r._wC([new IPCC._I,new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"Magnifier\\\");break;case IPCC.Web.UI.MouseTool.RectangleZoom:!0===IPCC._b?r._wC([new IPCC._H,new IPCC._F,new IPCC._t(!1,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._H,new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"RectangleZoom\\\";break;case IPCC.Web.UI.MouseTool.HandPan:!0===IPCC._b?r._wC([new IPCC._G,new IPCC._F,new IPCC._t(!1,this._RAa()),new IPCC._z,new IPCC._x(!0)]):r._wC([new IPCC._G,new IPCC._F,new IPCC._z,new IPCC._x(!0)]),t=\\\"HandPan\\\";break;case IPCC.Web.UI.MouseTool.Select:!0===IPCC._b?r._wC([new IPCC._B,new IPCC._F,new IPCC._t(!1,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._B,new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"Select\\\";break;case IPCC.Web.UI.MouseTool.CreateRectangleMark:!0===IPCC._b?r._wC([new IPCC._C(IPCC.Web.UI.MarkType.Rectangle),new IPCC._F,new IPCC._t(!0,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._C(IPCC.Web.UI.MarkType.Rectangle),new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreateRectangleMark\\\";break;case IPCC.Web.UI.MouseTool.CreateRectangleRedactionMark:!0===IPCC._b?r._wC([new IPCC._C(IPCC.Web.UI.MarkType.RectangleRedaction),new IPCC._F,new IPCC._t(!0,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._C(IPCC.Web.UI.MarkType.RectangleRedaction),new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreateRectangleRedactionMark\\\";break;case IPCC.Web.UI.MouseTool.CreateEllipseMark:!0===IPCC._b?r._wC([new IPCC._C(IPCC.Web.UI.MarkType.Ellipse),new IPCC._F,new IPCC._t(!0,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._C(IPCC.Web.UI.MarkType.Ellipse),new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreateEllipseMark\\\";break;case IPCC.Web.UI.MouseTool.CreateLineMark:!0===IPCC._b?r._wC([new IPCC._E,new IPCC._F,new IPCC._t(!0,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._E,new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreateLineMark\\\";break;case IPCC.Web.UI.MouseTool.CreatePolylineMark:!0===IPCC._b?r._wC([new IPCC._A(IPCC.Web.UI.MarkType.Polyline),new IPCC._F,new IPCC._t(!0,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._A(IPCC.Web.UI.MarkType.Polyline),new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreatePolylineMark\\\";break;case IPCC.Web.UI.MouseTool.CreateFreehandMark:!0===IPCC._b?r._wC([new IPCC._D,new IPCC._F,new IPCC._t(!0,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._D,new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreateFreehandMark\\\";break;case IPCC.Web.UI.MouseTool.CreatePolygonMark:!0===IPCC._b?r._wC([new IPCC._A(IPCC.Web.UI.MarkType.Polygon),new IPCC._F,new IPCC._t(!0,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._A(IPCC.Web.UI.MarkType.Polygon),new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreatePolygonMark\\\";break;case IPCC.Web.UI.MouseTool.CreateTextMark:!0===IPCC._b?r._wC([new IPCC._C(IPCC.Web.UI.MarkType.Text),new IPCC._F,new IPCC._t(!0,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._C(IPCC.Web.UI.MarkType.Text),new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreateTextMark\\\";break;case IPCC.Web.UI.MouseTool.CreateTextInputSignatureMark:!0===IPCC._b?r._wC([new IPCC._C(IPCC.Web.UI.MarkType.TextLine),new IPCC._F,new IPCC._t(!0,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._C(IPCC.Web.UI.MarkType.TextLine),new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreateTextInputSignatureMark\\\";break;case IPCC.Web.UI.MouseTool.CreateTextAreaSignatureMark:r._wC([new IPCC._C(IPCC.Web.UI.MarkType.TextAreaSignature),new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreateTextAreaSignatureMark\\\";break;case IPCC.Web.UI.MouseTool.EditMarks:!0===IPCC._b?r._wC([new IPCC._J(IPCC.Web.UI.MarkType.Text),new IPCC._F,new IPCC._t(!0,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._J(IPCC.Web.UI.MarkType.Text),new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"EditMarks\\\";break;case IPCC.Web.UI.MouseTool.RunMarks:!0===IPCC._b?r._wC([new IPCC._K(IPCC.Web.UI.MarkType.Text),new IPCC._F,new IPCC._t(!1,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._K(IPCC.Web.UI.MarkType.Text),new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"RunMarks\\\";break;case IPCC.Web.UI.MouseTool.CreateStampMark:!0===IPCC._b?r._wC([new IPCC._C(IPCC.Web.UI.MarkType.Stamp),new IPCC._F,new IPCC._t(!0,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._C(IPCC.Web.UI.MarkType.Stamp),new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreateStampMark\\\";break;case IPCC.Web.UI.MouseTool.CreateImageStampAnnotationMark:!0===IPCC._b?r._wC([new IPCC._C(IPCC.Web.UI.MarkType.ImageStampAnnotation),new IPCC._F,new IPCC._t(!0,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._C(IPCC.Web.UI.MarkType.ImageStampAnnotation),new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreateImageStampAnnotationMark\\\";break;case IPCC.Web.UI.MouseTool.CreateImageStampRedactionMark:!0===IPCC._b?r._wC([new IPCC._C(IPCC.Web.UI.MarkType.ImageStampRedaction),new IPCC._F,new IPCC._t(!0,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._C(IPCC.Web.UI.MarkType.ImageStampRedaction),new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreateImageStampRedactionMark\\\";break;case IPCC.Web.UI.MouseTool.CreateHighlightTextMark:r._Bd=!0,!0===IPCC._b?r._wC([new IPCC._q,new IPCC._F,new IPCC._t(!1,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._q,new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreateHighlightTextMark\\\";break;case IPCC.Web.UI.MouseTool.SelectText:r._Bd=!1,!0===IPCC._b?r._wC([new IPCC._q,new IPCC._F,new IPCC._t(!1,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._q,new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"SelectText\\\";break;case IPCC.Web.UI.MouseTool.CreateStrikethroughMark:!0===IPCC._b?r._wC([new IPCC._q,new IPCC._F,new IPCC._t(!0,this._RAa()),new IPCC._z,new IPCC._x(!1)]):r._wC([new IPCC._q,new IPCC._F,new IPCC._z,new IPCC._x(!1)]),t=\\\"CreateStrikethroughMark\\\"}this.raisePropertyChanged(\\\"mouseTool\\\",{mouseToolType:t})}},this._Kja=function(e){P=-1,r._wC(e)},this._nBa=function(){return r._gd().get_presentationQuality()},this._oBa=function(e){IPCC._l._dc(e,\\\"value\\\",0,100),r._gd().set_presentationQuality(e)},this._pBa=function(){return r._gd().get_scrollBars()},this._qBa=function(e){IPCC._l._nc(e,\\\"value\\\",IPCC.Web.UI.ScrollBars),r._gd().set_scrollBars(e)},this._rBa=function(e,t){if(IPCC._l._rc(e,\\\"imagePoint\\\"),!r._Af())return new IPCC.Web.UI.Point(0,0);var i=r._gd()._xf().transform(e);return t&&i.constrain(r._Ud()),i},this._bsa=function(e,t){IPCC._l._rc(e,\\\"windowPoint\\\");var i=r._Af();if(!i)return new IPCC.Web.UI.Point(0,0);var A=r._gd()._xf();A._Bh();var n=A.transform(e);return t&&n.constrain(i),n},this._wD=function(){return r._wD()},this._ME=function(e){r._ME(e)},this._em=function(){return r._em()},this._IE=function(){return r._IE()},this._JE=function(e){r._JE(e)},this._Tu=function(){return r.get_requireRequestsOptimize()},this._NE=function(e){r._NE(e)},this._Vu=function(){return r._Vu()},this._TE=function(e){r._TE(e)},this._nd=function(e){return IPCC._l._rc(e,\\\"imagePoint\\\"),r._nd(e)},this._pd=function(e){r._pd(e)},this._RD=function(){r._RD()},this._Zg=function(e,t){var i=r._em()._im()._sn();IPCC._l._jc(e,\\\"_ah\\\",0,i-1),r._Zg(e,t)},this._qd=function(e){if(void 0===e)return r._gd()._qd(e),!1;var t=r._em()._im()._sn();return IPCC._l._jc(e,\\\"textIndex\\\",0,t-1),r._qd(e),!0},this._bh=function(){return!!(r._Af()&&r._wD()&&!0===r._em()._xD()&&r._gd()._bh())},this._hd=function(){r._gd()._hd()},this._tsa=function(){if(r._wD()&&!0===r._em()._xD())return Math.min(r._gd()._hh(),r._gd()._vd())},this._jh=function(){if(r._wD()&&!0===r._em()._xD())return r._gd()._jh()},this._Fd=function(){return r._wD()&&!0===r._em()._xD()&&r._gd()._bh()?r._Fd():\\\"\\\"},this._vd=function(){return r._gd()._vd()},this._ABa=function(){return r.get_cursor()},this._BBa=function(e){r.set_cursor(e)},this._QD=function(){return r._QD()},this._OE=function(e){r._OE(e)},this._iv=function(){return r._iv()},this._dF=function(e){r._dF(e)},this._CBa=function(){r._gd().hideMagnifier()},this._DBa=function(e){r._gd().showMagnifier(e)},this._Ue=function(e){r._kC().igElements&&(r._Ue(e),r._rd())},this._qD=function(){r._qD()},this._hE=function(){return r._hE()},this._yC=function(){r._kC().igElements&&r._yC(!0)},this.initialize=function(e){this._Bu=!!e,r._tC(this._cF().id),r._Ea(this._cF().id),-1===P&&this._Gja(IPCC.Web.UI.MouseTool.RectangleZoom),w(\\\"mouseDown\\\"),w(\\\"mouseMove\\\"),w(\\\"mouseUp\\\"),w(\\\"contextMenu\\\"),w(\\\"markCreating\\\"),w(\\\"pageOpenFailed\\\"),w(\\\"textPageReady\\\"),w(\\\"pageDisplayed\\\"),w(\\\"exceptionThrown\\\"),w(\\\"selectTextMouseToolCompleted\\\"),b(\\\"markAdded\\\"),b(\\\"markChanged\\\"),b(\\\"markRemoved\\\"),w(\\\"textExtractionFailed\\\"),b(\\\"markReordered\\\"),b(\\\"marksLoaded\\\"),w(\\\"markSelectionChanged\\\"),r._sg((function(e,t){var i=!0;switch(t.get_propertyName()){case\\\"documentIdentifier\\\":case\\\"documentPageIndex\\\":case\\\"artPage\\\":case\\\"includeArtInPostBack\\\":case\\\"displayedPageRectangle\\\":v();break;case\\\"magnifierWindowPosition\\\":case\\\"magnifierIsVisible\\\":case\\\"cursor\\\":case\\\"markCursor\\\":case\\\"inProgressMark\\\":case\\\"_GB\\\":case\\\"_HB\\\":i=!1;break;case\\\"_Kva\\\":r._oE()&&v(),i=!1}i&&y(\\\"propertyChanged\\\",t)})),r._KC(R),r._MC(M),r._IC(F),r.add_scaleChanged(T),r._pE(),this._cF()._vU=this,r._cC(e)},i=!1!==i,(r=new IPCC._s(i))._rC(\\\"PageView\\\"),r._uC(A)};i.prototype={dispose:function(){this._oha(\\\"dispose\\\",arguments),this._IAa()},get_debug:function(){try{var e=this._uha();return this._tha(\\\"get_debug\\\",arguments,e),e}catch(e){throw this._bv(\\\"get_debug\\\",e),e}},set_debug:function(e){try{this._oha(\\\"set_debug\\\",arguments);var t=this._uha();this._vha(e),t||this._oha(\\\"set_debug\\\",arguments)}catch(e){throw this._bv(\\\"set_debug\\\",e),e}},get_debugErrorLevel:function(){try{var e=this._pC();return this._tha(\\\"get_debugErrorLevel\\\",arguments,e),e}catch(e){throw this._bv(\\\"get_debugErrorLevel\\\",e),e}},set_debugErrorLevel:function(e){try{this._oha(\\\"set_debugErrorLevel\\\",arguments);var t=this._pC();this._qC(e),t{var A=i(6e3).regClass,n=i(285),r=function(){return this};r.prototype={documentIdentifier:\\\"\\\",encodedDocumentIdentifier:\\\"\\\",documentPageIndex:0,viewFitType:n.FullImage,viewRectangle:null,viewRotationDegreesClockwise:0,viewMirror:!1,viewZoomFactor:void 0,encryption:!1},r.registerClass=A,r.registerClass(\\\"IPCC.Web.UI.PageViewState\\\"),e.exports=r},7019:(e,t,i)=>{var A=i(6e3).regClass,n=function(e,t){return this.x=e,this.y=t,this};n.prototype={toString:function(){return\\\"Point(\\\"+this.x+\\\", \\\"+this.y+\\\")\\\"},constrain:function(e){this.x=Math.min(Math.max(this.x,e.x),e.x+e.width),this.y=Math.min(Math.max(this.y,e.y),e.y+e.height)}},n.registerClass=A,n.registerClass(\\\"IPCC.Web.UI.Point\\\"),e.exports=n},9959:(e,t,i)=>{var A=i(6e3).regClass,n=function(){var e=[],t=new IPCC.Web.UI._Qa;function i(t){if(t>e.length-1||t<0)throw new IPCC.Web.UI.ImGearArgumentOutOfRangeException(\\\"index\\\",t)}return this._Tca=function(t){var i=new IPCC.Web.UI.PointEventArgs;i.point=t,i.length=1,e.push(new IPCC.Web.UI.Point(t.x,t.y)),i.index=e.length-1,this._Rd(\\\"pointAdded\\\",i)},this._Uca=function(t){var i=new IPCC.Web.UI.PointEventArgs;i.index=e.length,i.length=t.get_length(),t.forEach((function(t){e.push(t)}),{}),i.length>0&&this._Rd(\\\"pointAdded\\\",i)},this._op=function(t,i){var A,n=[].concat(e);for(A=0;A{var A=i(6e3).regClass,n=function(){return this};n.registerClass=A,n.prototype={},n.registerClass(\\\"IPCC.Web.UI.PointEventArgs\\\"),e.exports=n},5249:(e,t,i)=>{var A=i(6e3).regClass,n=function(e,t,i,A){return i<0&&(e+=i,i=-i),A<0&&(t+=A,A=-A),this.x=e,this.y=t,this.width=i,this.height=A,this};n.prototype={intersect:function(e){var t=Math.max(this.x,e.x),i=Math.min(this.x+this.width,e.x+e.width)-t,A=Math.max(this.y,e.y),n=Math.min(this.y+this.height,e.y+e.height)-A;(i<=0||n<=0)&&(t=A=i=n=0),this.x=t,this.y=A,this.width=i,this.height=n},union:function(e){var t=Math.min(this.x,e.x),i=Math.min(this.y,e.y),A=Math.max(this.x+this.width,e.x+e.width),n=Math.max(this.y+this.height,e.y+e.height);return this.x=t,this.y=i,this.width=A-t,this.height=n-i,this},scale:function(e,t){t=t||e;var i=this.x*e,A=this.y*t,n=this.width*e,r=this.height*t;return this.x=i,this.y=A,this.width=n,this.height=r,this},toString:function(){return\\\"Rectangle(\\\"+this.x+\\\", \\\"+this.y+\\\", \\\"+this.width+\\\", \\\"+this.height+\\\")\\\"},contains:function(e){return e.x>=this.x&&e.y>=this.y&&e.x{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={None:0,Both:3,Auto:4},n.registerEnum(\\\"IPCC.Web.UI.ScrollBars\\\",!1),e.exports=n},4113:(e,t,i)=>{var A=i(6e3).regClass,n=function(){return this};n.registerClass=A,n.prototype={},n.registerClass(\\\"IPCC.Web.UI.TextSelectedEventArgs\\\"),e.exports=n},2322:(e,t,i)=>{var A=i(5960),n={_MV:1,ImGearDocumentHyperlink:i(7736),ImGearTextCharacter:i(2427),ImGearTextCharacterCollection:i(6280),ImGearHyperlinkCollection:i(4095),ImGearHyperlinkPage:i(5917),ImGearTextPage:i(1037),ImGearTextSection:i(7365),ImGearTextSectionCollection:i(1129),ImGearPageCountStatus:i(8212),ImGearPageCreateArgs:i(7492),ImGearPage:i(2274),ImGearPageEventArgs:i(7714),ImGearPageCollection:i(2783),ImGearDocumentCreateArgs:i(3275),ImGearDocument:i(7998),ImGearDocumentEventArgs:i(3220),ImGearDocumentCollection:i(5346),ImGearPageOpenFailedEventArgs:i(1779),ImGearExceptions:i(9822),ImGearException:i(9822)._DR,ImGearHttpException:i(9822)._FR,ImGearArgumentException:i(9822)._kc,ImGearArgumentNullException:i(9822)._HR,ImGearArgumentOutOfRangeException:i(9822)._cc,ImGearArgumentTypeException:i(9822).ImGearArgumentTypeException,ImGearArgumentUndefinedException:i(9822)._IR,ImGearInvalidOperationException:i(9822)._JR,ImGearNotImplementedException:i(9822)._KR,ImGearParameterCountException:i(9822)._LR,_Qa:i(6001),ImGearArtDataServices:i(8080),MouseButton:i(1035),MouseTool:i(3633),_Ox:i(3549),DebugErrorLevel:i(8549),DebugItemCause:i(3736),PageView:i(8242),PageViewState:i(5053),ArtPage:i(6130),Key:i(3139),FitType:i(285),ScrollBars:i(7740),Rectangle:i(5249),Point:i(7019),PointCollection:i(9959),LogItemEventArgs:i(9842),MouseEventArgs:i(5962),PointEventArgs:i(7249),CommentEventArgs:i(323),TextSelectedEventArgs:i(4113),HighLightType:i(6809),LineStyle:i(1681),LineHeadType:i(5272),CalloutType:i(7977),FontStyle:i(6251),HorizontalAlignment:i(6456),VerticalAlignment:i(8012),Orientation:i(1783),MarkHandleMode:i(3851),MarkInteractionMode:i(9231),MarkType:i(3233),MarkEventArgs:i(2525),MarkCollection:i(2194),Mark:i(945),Comment:i(1362),Conversation:i(4064),Data:i(2046),_NV:i(2333)};A.registerNamespace(\\\"IPCC.Web.UI\\\"),e.exports=n},8012:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={Top:0,Center:1,Bottom:2},n.registerEnum(\\\"IPCC.Web.UI.VerticalAlignment\\\",!1),e.exports=n},2333:e=>{e.exports=function(){this._Cba=void 0,this._qX=[],this._oO={}}},9391:(e,t,i)=>{var A=i(2322),n=i(6e3),r=i(4784),a=i(6993),s=i(6161),o=i(9435),c={_zF:[],_zv:function(e){return!isNaN(e-0)&&null!==e},_AF:function(e,t){return IPCC.Web._CF(!1,arguments)},_DF:function(e,t){return IPCC.Web._CF(!0,arguments)},_CF:function(e,t){for(var i=\\\"\\\",A=t[0],n=0;;){var r=A.indexOf(\\\"{\\\",n),a=A.indexOf(\\\"}\\\",n);if(r<0&&a<0){i+=A.slice(n);break}if(a>0&&(a>>0,e=(A*=e)>>>0,e+=4294967296*(A-=e)}return 2.3283064365386963e-10*(e>>>0)};return t._qr=\\\"Mash 0.9\\\",t},_iG:function(){return function(e){var t=0,i=0,A=0,n=1;0===e.length&&(e=[+new Date]);var r=IPCC.Web._dG();t=r(\\\" \\\"),i=r(\\\" \\\"),A=r(\\\" \\\");for(var a=0;a>>A:e[t/32|0]>>>A)&(1<0&&t&&(e[i-1]=IPCC.Web._HG._YG(t,e[i-1]&2147483648>>t-1,1)),e},_YG:function(e,t,i){return 32===e?t:(i?0|t:t<<32-e)+1099511627776*e},_WG:function(e){return Math.round(e/1099511627776)||32},_ZG:function(e,t){if(IPCC.Web._HG._XG(e)!==IPCC.Web._HG._XG(t))return!1;var i,A=0;for(i=0;i=32;t-=32)A.push(i),i=0;if(0===t)return A.concat(e);for(n=0;n>>t),i=e[n]<<32-t;return r=e.length?e[e.length-1]:0,a=IPCC.Web._HG._WG(r),A.push(IPCC.Web._HG._YG(t+a&31,t+a>32?i:A.pop(),1)),A},_eH:function(e,t){return[e[0]^t[0],e[1]^t[1],e[2]^t[2],e[3]^t[3]]}},c._vF=r,c._fH=a,c._kv=s,c._xF=o,c._gH=n._gH,c.UI=A,c.regEnum=n.regEnum,c.regClass=n.regClass,e.exports=c},868:(e,t,i)=>{var A=i(6e3).regEnum,n=function(){};n.registerEnum=A,n.prototype={Unsent:0,Opened:1,HeadersReceived:2,Loading:3,Done:4},n.registerEnum(\\\"IPCC.XMLHttpRequestReadyState\\\",!1),e.exports=n},8379:e=>{e.exports=function(e,t){var i=new IPCC.PageList(e);return t&&IPCC._e(i,t),i._Ea(e),i.initialize(),i}},8040:e=>{e.exports=function(e,t){var i=!1!==t.handleTouchEvents,A=new IPCC.Web.UI.PageView(e,i);return t&&IPCC._e(A,t),A._Ea(e),A.initialize(t.pdfGetter),A}},2513:e=>{e.exports={zoomInMenuItem:\\\"Zoom In 25%\\\",zoomOutMenuItem:\\\"Zoom Out 25%\\\",fullImageMenuItem:\\\"Full Image\\\",fullWidthMenuItem:\\\"Full Width\\\",fullHeightMenuItem:\\\"Full Height\\\",oneToOneRatioMenuItem:\\\"1 to 1 Ratio\\\",actualSizeMenuItem:\\\"Actual Size\\\",rotateRightMenuItem:\\\"Rotate Clockwise\\\",rotateLeftMenuItem:\\\"Rotate Counter-Clockwise\\\",mirrorHorizontalMenuItem:\\\"Mirror Horizontal\\\",mirrorVerticalMenuItem:\\\"Mirror Vertical\\\",panToolMenuItem:\\\"Pan Tool\\\",areaSelectionToolMenuItem:\\\"Area Selection Tool\\\",zoomRectangleToolMenuItem:\\\"Zoom Rectangle Tool\\\",flyingMagnifierToolMenuItem:\\\"Flying Magnifier Tool\\\",createTextMarkToolMenuItem:\\\"Create Text Mark\\\",createLineMarkToolMenuItem:\\\"Create Line Mark\\\",createPolygonMarkToolMenuItem:\\\"Create Polygon Mark\\\",createPolylineMarkToolMenuItem:\\\"Create Polyline Mark\\\",createRectangleMarkToolMenuItem:\\\"Create Rectangle Mark\\\",createEllipseMarkToolMenuItem:\\\"Create Ellipse Mark\\\",createFreehandMarkToolMenuItem:\\\"Create Freehand Mark\\\",editMarksToolMenuItem:\\\"Edit Marks\\\",runMarksToolMenuItem:\\\"Run Marks\\\",createStampMarkToolMenuItem:\\\"Create Stamp Mark\\\",createHighlightMarkToolMenuItem:\\\"Create Highlight Mark\\\",thicknessMenu:{item1:\\\"1\\\",item2:\\\"2\\\",item3:\\\"3\\\",item4:\\\"4\\\",item5:\\\"5\\\",item6:\\\"6\\\",item7:\\\"7\\\",item8:\\\"8\\\"},opacityMenu:{translucent:\\\"Translucent (127)\\\",opaque:\\\"Opaque (255)\\\"},calloutTypeMenu:{line:\\\"Line\\\",triangle:\\\"Triangle\\\"},borderThicknessMenuItem:\\\"Border Thickness\\\",borderColorMenuItem:\\\"Border Color...\\\",fillColorMenuItem:\\\"Fill Color...\\\",lineThicknessMenuItem:\\\"Thickness\\\",lineColorMenuItem:\\\"Color...\\\",fontMenuItem:\\\"Font...\\\",opacityMenuItem:\\\"Opacity\\\",calloutTypeMenuItem:\\\"Callout Type\\\",calloutVisibleMenuItem:\\\"Callout Visible\\\",moveToBackMenuItem:\\\"Move to Back\\\",moveBackwardMenuItem:\\\"Move Backward\\\",moveForwardMenuItem:\\\"Move Forward\\\",moveToFrontMenuItem:\\\"Move to Front\\\",deleteMarkMenuItem:\\\"Delete Mark\\\",zoomToFitMenuItem:\\\"Zoom to Fit\\\",orientationMenuItem:\\\"Orientation\\\",mouseToolsMenuItem:\\\"Mouse Tools\\\",rectangleMarkPropertiesMenuItem:\\\"Properties\\\",textMarkPropertiesMenuItem:\\\"Properties\\\",polygonMarkPropertiesMenuItem:\\\"Properties\\\",polylineMarkPropertiesMenuItem:\\\"Properties\\\",lineMarkPropertiesMenuItem:\\\"Properties\\\",markOrderingMenuItem:\\\"Ordering\\\",stampMarkPropertiesMenuItem:\\\"Properties\\\",selectColor:\\\"Select Color\\\",selectFont:\\\"Select Font\\\",ok:\\\"OK\\\",cancel:\\\"CANCEL\\\",red:\\\"Red\\\",green:\\\"Green\\\",blue:\\\"Blue\\\",font:\\\"Font\\\",size:\\\"Size\\\",italic:\\\"Italic\\\",bold:\\\"Bold\\\",underline:\\\"Underline\\\",strikeout:\\\"Strikeout\\\"}},5323:e=>{e.exports=function(e,t){var i;for(var A in t)if(t.hasOwnProperty(A)){var n=t[A],r=e[\\\"get_\\\"+A],a=e[\\\"set_\\\"+A];if(\\\"function\\\"==typeof a)a.apply(e,[n]);else if(n instanceof Array){if(!((i=r.apply(e))instanceof Array))throw new new IPCC.Web.UI.ImGearInvalidOperationException(A+\\\" is not an Array property\\\");for(var s=0,o=i.length,c=n.length;s{\\\"use strict\\\";function t(e){return t=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},t(e)}var i=function(e){return e instanceof PCCViewer.AjaxResponse?e:this instanceof PCCViewer.AjaxResponse?(this._pq=new IPCC._o._pq(e),this.status=this._pq.status,this.statusText=this._pq.statusText,this.responseText=this._pq.responseText,void 0!==this._pq.responseBody&&(this.responseBody=this._pq.responseBody),this):new PCCViewer.AjaxResponse(e)};i.prototype.getResponseHeader=function(e){return this._pq.getResponseHeader(e)};var A={getHeaders:function(){return IPCC._o.extend({},IPCC._o._tq._eo)},setHeaders:function(e){if(void 0!==e&&(\\\"object\\\"!==t(e)||null===e||e instanceof Array))throw new Error(\\\"Headers should be an object or undefined.\\\");if(\\\"object\\\"===t(e)){var i=Object.keys(IPCC._o._wq());Object.keys(e).forEach((function(e){if(-1!==i.indexOf(e))throw new Error('Cannot overwrite the header \\\"'+e+'\\\".')}))}return IPCC._o._tq._eo=IPCC._o.extend({},e),PCCViewer.Ajax},getOverrideMethod:function(){return IPCC._o._tq._yq},setOverrideMethod:function(e){if(void 0!==e&&\\\"function\\\"!=typeof e)throw new Error(\\\"Method should be a function or undefined.\\\");return IPCC._o._tq._yq=e,PCCViewer.Ajax},_xn:function(e){var i=PCCViewer.Deferred();if(void 0!==e&&(\\\"object\\\"!==t(e)||null===e||e instanceof Array))throw new Error(\\\"Options should be an object or undefined.\\\");return IPCC._o._tq._xn(e).then((function(e){e instanceof PCCViewer.AjaxResponse||(e=new PCCViewer.AjaxResponse(e)),i.resolve(e)}),(function(e){e.response&&(e.response=new PCCViewer.AjaxResponse(e.response)),i.reject(e)})),i.getPromise()}};Object.defineProperties&&Object.defineProperties(A,{headers:{enumerable:!0,get:function(){return A.getHeaders()},set:function(e){return A.setHeaders(e)}},overrideMethod:{enumerable:!0,get:function(){return A.getOverrideMethod()},set:function(e){return A.setOverrideMethod(e)}}}),e.exports={AjaxResponse:i,Ajax:A}},4133:e=>{var t=function(e){this._er=\\\"\\\",this._Lp=\\\"\\\",this._fr=0,this._du=\\\"\\\",this._Il=\\\"\\\",this._eu=0,this._gr=!1,this._fu=0,this._gu=\\\"\\\",this._Ll=!1,this._un=PCCViewer.Deferred(),this._vn=this._un.getPromise(),this.then=this._vn.then,this._Ga=e,this._Il=null,this._jr=void 0,this._hu=!1,this._iu=null,PCCViewer.EventEmitter.extend(this);var t=this;if(e._ju){var i=new PCCViewer.Error(e._ju.code,e._ju.message);delete t._Ga._ju,setTimeout((function(){t.trigger(PCCViewer.BurnRequest.EventType.BurnCancelled,{}),t.trigger(PCCViewer.BurnRequest.EventType.BurnFailed,{}),t._Il=i.code,t._un.reject(i)}),0)}};t.EventType={BurnProgress:\\\"BurnProgress\\\",BurnCompleted:\\\"BurnCompleted\\\",BurnFailed:\\\"BurnFailed\\\",BurnCancelled:\\\"BurnCancelled\\\",BurnWorkerCreated:\\\"BurnWorkerCreated\\\"},t.prototype.cancel=function(){var e=this;return this._Ll=!0,this._Il=\\\"User Cancelled\\\",setTimeout((function(){e.trigger(PCCViewer.BurnRequest.EventType.BurnCancelled,{}),e.trigger(PCCViewer.BurnRequest.EventType.BurnFailed,{}),e._un.reject(new PCCViewer.Error(\\\"UserCancelled\\\",\\\"User Cancelled\\\"))}),0),this},t.prototype.getProgress=function(){return this._fr},t.prototype.getWorkerID=function(){return this._er},t.prototype.getOptions=function(){return this._Ga},t.prototype.getErrorCode=function(){return this._Il},t.prototype.getBurnedDocumentDownloadURL=function(){return this._iu},t.prototype._ku=function(e){this._gu=e},t.prototype._kr=function(e){this._jr=e},t.prototype._mu=function(){var e=this;return this._Il=\\\"Failure to generate Markup XML\\\",setTimeout((function(){e.trigger(PCCViewer.BurnRequest.EventType.BurnFailed,{}),e._un.reject(new PCCViewer.Error(\\\"MarkupXMLFail\\\",e._Il))}),0),this},t.prototype._lr=function(){function e(e){var t,i;try{if(!(t=e.responseText))return setTimeout((function(){A.trigger(PCCViewer.BurnRequest.EventType.BurnFailed,{}),A._un.reject(new PCCViewer.Error(\\\"ResponseEmpty\\\",\\\"Empty/invalid response from the server\\\"))}),0),void(A._hu=!0);i=JSON.parse(t),setTimeout((function(){r(i)}),0)}catch(e){return setTimeout((function(){A.trigger(PCCViewer.BurnRequest.EventType.BurnFailed,{}),A._un.reject(new PCCViewer.Error(\\\"BurnFailErrorCode\\\",\\\"Burn process failed, error: \\\"+e.message))}),0),void(A._hu=!0)}}function t(e){A._gr=!1;var t=e.response.status+\\\" \\\"+e.response.statusText;setTimeout((function(){A.trigger(PCCViewer.BurnRequest.EventType.BurnFailed,{}),A._un.reject(new PCCViewer.Error(\\\"StatusCode\\\",\\\"Status Code \\\"+t))}),0),A._hu=!0}try{if(!this._gu)throw new Error(\\\"XMl Markup data for burn is missing\\\");var i,A=this,n=function(){var i;i=/^[\\\\x00-\\\\x7F]*$/.test(A._jr._hb.get_documentIdentifier())?A._jr._Ga.imageHandlerUrl+\\\"/ViewingSession/u\\\"+encodeURIComponent(A._jr._Ga.documentID)+\\\"/MarkupBurner/\\\"+A._er:A._jr._Ga.imageHandlerUrl+\\\"/ViewingSession/e\\\"+A._jr._Ga.documentID+\\\"/MarkupBurner/\\\"+A._er,PCCViewer.Ajax._xn({method:\\\"GET\\\",url:i,headers:{\\\"Content-Type\\\":\\\"application/json\\\"}}).then(e,t)},r=function(e){if(e){if(!0===A._Ll)return void(A._gr=!1);if(e.percentComplete>=0&&!0===A._gr)if(100===e.percentComplete&&\\\"complete\\\"===e.state){if(e.processId){var t;A._gr=!1,A._er=e.processId,A._Lp=e.state,A._eu+=1,A._fu=1e3,A._fr=+e.percentComplete,t=/^[\\\\x00-\\\\x7F]*$/.test(A._jr._hb.get_documentIdentifier())?A._jr._Ga.imageHandlerUrl+\\\"/ViewingSession/u\\\"+encodeURIComponent(A._jr._Ga.documentID)+\\\"/MarkupBurner/\\\"+A._er+\\\"/Document\\\":A._jr._Ga.imageHandlerUrl+\\\"/ViewingSession/e\\\"+A._jr._Ga.documentID+\\\"/MarkupBurner/\\\"+A._er+\\\"/Document\\\",A._Ga.filename&&(t+=\\\"?ContentDispositionFilename=\\\"+A._Ga.filename),A._iu=t,A._hu=!0;var i=+e.percentComplete;return void setTimeout((function(){A.trigger(PCCViewer.BurnRequest.EventType.BurnCompleted,{}),A.trigger(PCCViewer.BurnRequest.EventType.BurnProgress,{progress:i}),A._un.resolve(t)}),10)}}else{if(\\\"error\\\"===e.state)return A._gr=!1,A._Il=e.errorCode,setTimeout((function(){A.trigger(PCCViewer.BurnRequest.EventType.BurnFailed,{}),A._un.reject(new PCCViewer.Error(\\\"BurnFailError\\\",\\\"BurnProcess failed, errorCode: \\\"+A._Il))}),0),A._gr=!1,void(A._hu=!0);if(e.processId){var r=+e.percentComplete;A._fr!==r&&setTimeout((function(){A.trigger(PCCViewer.BurnRequest.EventType.BurnProgress,{progress:r})}),10),A._er||(A._er=e.processId,setTimeout((function(){A.trigger(PCCViewer.BurnRequest.EventType.BurnWorkerCreated,{})}),0),A._Lp=e.state,A._eu=1,A._gr=!0,A._fu=1e3,A._fr=+e.percentComplete),e.percentComplete<100&&(A._eu>1&&(A._fu+=1e3),A._eu+=1,A._Lp=e.state,A._fr=+e.percentComplete,!0===A._gr&&!1===A._Ll&&!1===A._hu&&setTimeout(n,A._fu))}}else if(!1===A._hu){var a=!1;if(!1===A._gr){if(\\\"complete\\\"===e.state){if(A._iu)return A._hu=!0,void setTimeout((function(){A.trigger(PCCViewer.BurnRequest.EventType.BurnCompleted,{}),A._un.resolve(A._iu)}),10);a=!0}if(\\\"processing\\\"===e.state&&null===e.errorCode&&(e.percentComplete>=0&&e.percentComplete<100?(A._eu>1&&(A._fu+=1e3),A._eu+=1,A._gr=!0,A._Lp=e.state,A._fr=+e.percentComplete,!0===A._gr&&!1===A._Ll&&setTimeout(n,A._fu)):a=!0),\\\"error\\\"===e.state||!0===a)return A._gr=!1,A._Il=e.errorCode,setTimeout((function(){A.trigger(PCCViewer.BurnRequest.EventType.BurnFailed,{}),A._un.reject(new PCCViewer.Error(\\\"BurnFailError\\\",\\\"BurnProcess failed, errorCode: \\\"+e.errorCode))}),0),A._gr=!1,void(A._hu=!0)}}}};i=/^[\\\\x00-\\\\x7F]*$/.test(A._jr._hb.get_documentIdentifier())?A._jr._Ga.imageHandlerUrl+\\\"/ViewingSession/u\\\"+encodeURIComponent(A._jr._Ga.documentID)+\\\"/MarkupBurner\\\":A._jr._Ga.imageHandlerUrl+\\\"/ViewingSession/e\\\"+A._jr._Ga.documentID+\\\"/MarkupBurner\\\";var a=[];A._Ga.removeFormFields&&a.push(\\\"RemoveFormFields=acroform\\\"),A._Ga.redactionOptions&&a.push(A._Ga.redactionOptions.mode===PCCViewer.RedactionViewMode.Draft.toLowerCase()?\\\"redactionMode=draft\\\":\\\"redactionMode=normal\\\"),a.length>0&&(i+=\\\"?\\\"+a.join(\\\"&\\\")),PCCViewer.Ajax._xn({method:\\\"POST\\\",url:i,headers:{\\\"Content-Type\\\":\\\"application/xml;charset=utf-8\\\"},body:A._gu}).then(e,t),A._gr=!0}catch(e){this._gr=!1;var s=this,o=e.message;setTimeout((function(){s.trigger(PCCViewer.BurnRequest.EventType.BurnFailed,{}),s._un.reject(new PCCViewer.Error(\\\"BurnFailErrorCode\\\",\\\"The burn process failed, error: \\\"+o))}),0),this._hu=!0}},Object.defineProperties&&Object.defineProperties(t.prototype,{options:{enumerable:!0,get:function(){return this.getOptions()}},progress:{enumerable:!0,get:function(){return this.getProgress()}},workerID:{enumerable:!0,get:function(){return this.getWorkerID()}},errorCode:{enumerable:!0,get:function(){return this.getErrorCode()}},burnedDocumentDownloadURL:{enumerable:!0,get:function(){return this.getBurnedDocumentDownloadURL()}}}),e.exports=t},5154:e=>{function t(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if(\\\"undefined\\\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\\\"@@iterator\\\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\\\"string\\\"==typeof e)return i(e,t);var A=Object.prototype.toString.call(e).slice(8,-1);\\\"Object\\\"===A&&e.constructor&&(A=e.constructor.name);if(\\\"Map\\\"===A||\\\"Set\\\"===A)return Array.from(e);if(\\\"Arguments\\\"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return i(e,t)}(e)||function(){throw new TypeError(\\\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,A=new Array(t);it.get_numberOfPagesWithText()&&(e._km=!0,t.add_textPagesReceived(o))})),A.forEach((function(e){e.get_numberOfPagesWithText()>0&&s(e.get_pagesWithText(),e)})),e._um},this._tn=function(t){this._um=new PCCViewer.SearchRequest;try{!function(t){var i=Date.now();IPCC._o.forEach(e._Rm,(function(A,n){var s;s=\\\"proximity\\\"===IPCC._o._cn(A.type)?r(i,A,t):a(i,A,t),IPCC._o.forEach(s,(function(t){t._dn=e._pm,e._mm[e._pm]=t,e._pm++}))})),e._um._Gl=e._mm}(t)}catch(t){return e._um._Jl=t.message,void(e._um._Il=\\\"1010\\\")}}}},1275:e=>{var t=function(e,t){if(!(e instanceof IPCC.Web.UI.Comment)&&\\\"string\\\"!=typeof e)throw new Error(e+\\\" is not a string.\\\");if(!(t instanceof PCCViewer.Conversation))throw new Error(t+\\\" is not a PCCViewer.Conversation object.\\\");this.getConversation=function(){return t},this._Ns=\\\"string\\\"==typeof e?new IPCC.Web.UI.Comment(e):e,this._Ns._Os=this,this._zl=this._Ns.get_data(),PCCViewer.Data.extend(this),this._Cl=new IPCC.Web.UI.Data,PCCViewer.SessionData.extend(this)};t.prototype.getMarkupLayer=function(){return this._ks},t.prototype.getText=function(){return this._Ns.get_text()},t.prototype.setText=function(e){if(\\\"string\\\"!=typeof e)throw new Error(e+\\\" is not a string.\\\");return this._Ns.set_text(e),this},t.prototype.getCreationTime=function(){var e=IPCC._o._Us(this._Ns.get_creationTime());return new Date(e)},t.prototype.setCreationTime=function(e){function t(){throw new Error(e+\\\" is not a valid string or Date object.\\\")}if(\\\"string\\\"==typeof e){var i=IPCC._o._Us(e);i instanceof Error&&t(),e=new Date(i)}return e instanceof Date||t(),this._Ns.set_creationTime(IPCC._o._ss(e)),this},Object.defineProperties&&Object.defineProperties(t.prototype,{text:{enumerable:!0,get:function(){return this.getText()},set:function(e){return this.setText(e)}},creationTime:{enumerable:!0,get:function(){return this.getCreationTime()},set:function(e){return this.setCreationTime(e)}}});var i=function(e){if(!(e instanceof PCCViewer.Mark))throw new Error(e+\\\" is not a PCCViewer.Mark object.\\\");this.getMark=function(){return e},this._Zs=new PCCViewer.ObservableCollection,void 0!==e._at?(this._bt=e._at.get_conversation(),this._bt.forEach((function(e){var t=new PCCViewer.Comment(e,this);this._Zs.add(t)}),this)):this._bt=new IPCC.Web.UI.Conversation,this._zl=this._bt.get_data(),PCCViewer.Data.extend(this),this._Cl=new IPCC.Web.UI.Data,PCCViewer.SessionData.extend(this)};i.prototype.addComment=function(e){var t=new PCCViewer.Comment(e,this);return this._Zs.add(t),this._bt.addComment(t._Ns),t},i.prototype.deleteComments=function(e){var t=this,i=this._Zs.toArray(),A=function(e){for(var t=0,A=i.length;t2&&void 0!==arguments[2]&&arguments[2];if(\\\"function\\\"!=typeof e.getComments||\\\"function\\\"!=typeof t.addComment)throw new Error(\\\"Arguments `_source` and `_destination` must be Conversation objects.\\\");PCCViewer.Data._Al(e,t);var A,n=e.getComments(),r=n.length;for(A=0;A{var t=function(e){this._er=\\\"\\\",this._Lp=\\\"\\\",this._fr=0,this._Il=\\\"\\\",this._gr=!1,this._Ll=!1,this._Ga=e,this._hr=null,this._ir=null,this._jr=void 0,this._un=PCCViewer.Deferred(),this._vn=this._un.getPromise(),this.then=this._vn.then,PCCViewer.EventEmitter.extend(this)};t.EventType={ConversionProgress:\\\"ConversionProgress\\\",ConversionCompleted:\\\"ConversionCompleted\\\",ConversionFailed:\\\"ConversionFailed\\\",ConversionCancelled:\\\"ConversionCancelled\\\",ConversionWorkerCreated:\\\"ConversionWorkerCreated\\\"},t.prototype.cancel=function(){var e=this;return this._Ll=!0,this._Il=\\\"User Cancelled\\\",setTimeout((function(){e.trigger(PCCViewer.ConversionRequest.EventType.ConversionCancelled,{}),e.trigger(PCCViewer.ConversionRequest.EventType.ConversionFailed,{}),e._un.reject(new PCCViewer.Error(\\\"UserCancelled\\\",\\\"User Cancelled\\\"))}),0),this},t.prototype.getProgress=function(){return this._fr},t.prototype.getWorkerID=function(){return this._er},t.prototype.getOptions=function(){return this._Ga},t.prototype.getErrorCode=function(){return this._Il},t.prototype.getConvertedDocumentDownloadURL=function(){return this._hr},t.prototype.getConvertedDocumentDownloadURLs=function(){return this._ir?this._ir.slice():null},t.prototype._kr=function(e){this._jr=e},t.prototype._lr=function(){var e=this;e._gr=!0,e._mr().then((function(t){e._er=t.processId,e._fr=t.percentComplete,e._Lp=t.state,e.trigger(PCCViewer.ConversionRequest.EventType.ConversionWorkerCreated,{}),e._or(t).then((function(i){if(e._gr=!1,e._ir=[],e._Ga._qr>1){for(var A=0;A1?{url:this._jr._Ga.imageHandlerUrl+\\\"/v2/viewingSessions/\\\"+this._jr._Ga.documentID+\\\"/contentConverters/\\\",method:\\\"POST\\\",headers:{\\\"Content-Type\\\":\\\"application/json\\\"}}:{url:this._jr._Ga.imageHandlerUrl+\\\"/contentConverters/\\\",method:\\\"POST\\\",headers:{\\\"Content-Type\\\":\\\"application/json\\\"},body:JSON.stringify({viewingSessionId:this._jr._Ga.documentID})},PCCViewer.Ajax._xn(e).then((function(e){var i=JSON.parse(e.responseText);t.resolve(i)}),(function(e){t.reject(e.error)})),t.getPromise()},t.prototype._or=function(e){var t,i,A=PCCViewer.Deferred(),n=this;return t=n._Ga._qr>1?this._jr._Ga.imageHandlerUrl+\\\"/v2/viewingSessions/\\\"+this._jr._Ga.documentID+\\\"/contentConverters/\\\"+e.processId:this._jr._Ga.imageHandlerUrl+\\\"/contentConverters/\\\"+e.processId,e.affinityToken&&(i={\\\"Accusoft-Affinity-Token\\\":e.affinityToken}),function e(){setTimeout((function(){PCCViewer.Ajax._xn({method:\\\"GET\\\",url:t,headers:i}).then((function(t){var i=JSON.parse(t.responseText);n._er=i.processId,n._fr=i.percentComplete,n._Lp=i.state,n._Ga._qr>1&&i.output&&(n._rr=i.output.results.length),n.trigger(PCCViewer.ConversionRequest.EventType.ConversionProgress,{progress:n._fr}),100===i.percentComplete?\\\"error\\\"===i.state?A.reject({response:t,error:new PCCViewer.Error(\\\"CouldNotConvert\\\",\\\"Could not convert document\\\")}):A.resolve(i.output.results[0].fileId):e()}),(function(e){A.reject(e.error)}))}),3e3)}(),A.getPromise()},Object.defineProperties&&Object.defineProperties(t.prototype,{options:{enumerable:!0,get:function(){return this.getOptions()}},progress:{enumerable:!0,get:function(){return this.getProgress()}},workerID:{enumerable:!0,get:function(){return this.getWorkerID()}},errorCode:{enumerable:!0,get:function(){return this.getErrorCode()}},convertedDocumentDownloadURL:{enumerable:!0,get:function(){return this.getConvertedDocumentDownloadURL()}},convertedDocumentDownloadURLs:{enumerable:!0,get:function(){return this.getConvertedDocumentDownloadURLs()}}}),e.exports=t},7114:e=>{\\\"use strict\\\";var t=function(){function e(e){return this._zl.get_data(e)}function t(e,t){return this._zl.set_data(e,t),this}function i(){return this._zl.get_dataKeys()}return{extend:function(A){A.getData=e,A.setData=t,A.getDataKeys=i},_Al:function(e,t){if(\\\"function\\\"!=typeof e.getData||\\\"function\\\"!=typeof e.setData||\\\"function\\\"!=typeof e.getDataKeys||\\\"function\\\"!=typeof t.getData||\\\"function\\\"!=typeof t.setData||\\\"function\\\"!=typeof t.getDataKeys)throw new Error(\\\"Arguments `_source` and `_destination` must be extended with the Data Mixin.\\\");var i,A=e.getDataKeys(),n=A.length;for(i=0;i{\\\"use strict\\\";function t(e){return t=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},t(e)}function i(){this._Lp=i.States.Pending,this._Xb=null,this._Mp=null,this._Np=[]}function A(e,i){if(e!==i)if(i&&i._eq&&e._fq&&e._fq===i)e._cq(new TypeError(\\\"A Promise cannot be resolved with a value that is itself.\\\"));else if(i&&i._eq&&\\\"PCCViewer.Promise\\\"===i._eq)i.then((function(t){e._dq(t)}),(function(t){e._cq(t)}));else if(null===i||\\\"object\\\"!==t(i)&&\\\"function\\\"!=typeof i)e._dq(i);else{var n;try{n=i.then}catch(t){return void e._cq(t)}if(\\\"function\\\"==typeof n){var r=!0;try{n.call(i,(function(t){r&&(A(e,t),r=!1)}),(function(t){r&&(e._cq(t),r=!1)}))}catch(t){r&&e._cq(t)}}else e._dq(i)}else e._cq(new TypeError(\\\"A Promise cannot be resolved with a value that is itself.\\\"))}i.prototype.then=function(e,t){var n,r,a=new i;if(e&&\\\"function\\\"==typeof e){n=function(t){try{var i=e(t);a.resolve(i)}catch(e){a.reject(e)}}}else{n=function(e){a.resolve(e)}}if(t&&\\\"function\\\"==typeof t){r=function(e){try{var i=t(e);A(a,i)}catch(e){a.reject(e)}}}else{r=function(e){a.reject(e)}}return this._Np.push({_Xp:n,_Yp:r}),this._Lp===i.States.Fulfilled&&this._Zp(),this._Lp===i.States.Rejected&&this._aq(),a},i.prototype.resolve=function(e){this._bq()&&A(this,e)},i.prototype.reject=function(e){this._bq()&&this._cq(e)},i.prototype._dq=function(e){this._Lp=i.States.Fulfilled,this._Xb=e,this._Zp()},i.prototype._Zp=function(){for(;this._Np.length>0;)!function(e,t){setTimeout((function(){e(t)}),0)}(this._Np.shift()._Xp,this._Xb)},i.prototype._aq=function(){for(;this._Np.length>0;)!function(e,t){setTimeout((function(){e(t)}),0)}(this._Np.shift()._Yp,this._Mp)},i.prototype._cq=function(e){this._Lp=i.States.Rejected,this._Mp=e,this._aq()},i.prototype._bq=function(){return this._Lp===i.States.Pending},i.States={Pending:\\\"Pending\\\",Fulfilled:\\\"Fulfilled\\\",Rejected:\\\"Rejected\\\"};var n={all:function(e){var t,i=new PCCViewer.Deferred,A=i.getPromise();if(\\\"[object Array]\\\"!==Object.prototype.toString.call(e))throw new TypeError(\\\"The 'promises' argument must be an array.\\\");function n(e){return function(t){return function(e){var t=new PCCViewer.Deferred;return t.resolve(e),t.getPromise()}(e).then((function(e){return t.push(e),t}))}}for(i.resolve([]),t=0;t{var t=function(e){this._lM=null,this._Il=null,this._Jl=null;var t,i=this;function A(e,t){switch(e){case\\\"failed\\\":setTimeout((function(){i.trigger(PCCViewer.EventType.DocumentClassificationFailed,t)}),10);break;case\\\"complete\\\":setTimeout((function(){i.trigger(PCCViewer.EventType.DocumentClassified,{documentClassification:i.getDocumentClassification()})}),10)}setTimeout((function(){i.trigger(PCCViewer.EventType.DocumentClassificationCompleted,{documentClassification:i.getDocumentClassification()})}),10)}function n(e){var r=i._hb._Pn+\\\"/v2/documentClassifiers/\\\"+t.processId,a={};function s(){i._nM&&(i._nM=!1,i._Il=\\\"ClassificationFailed\\\",i._Jl=\\\"The request to poll the document classification failed.\\\",A(\\\"failed\\\",{errorMessage:i._Jl}))}t.affinityToken&&(a[\\\"Accusoft-Affinity-Token\\\"]=t.affinityToken),i._nM&&PCCViewer.Ajax._xn({method:\\\"GET\\\",url:r,headers:a}).then((function(t){if(i._nM){var r=JSON.parse(t.responseText);\\\"processing\\\"===r.state?(i._eu>1&&(i._fu+=1e3),i._eu+=1,setTimeout((function(){n(e)}),i._fu)):\\\"error\\\"===r.state?s():\\\"complete\\\"===r.state&&(i._lM=r.output.classification,i._nM&&A(\\\"complete\\\"),i._nM=!1)}}),s)}function r(){!function e(){setTimeout((function(){n(e)}),100)}()}this._nM=!1,this._oM={},this._eu=0,this._fu=0,this._uM=function(e,n){return i._hb=e,i._nM=!0,function(e,n){var r=i._hb._Pn+\\\"/v2/viewingSessions/\\\"+encodeURIComponent(i._hb.get_documentIdentifier())+\\\"/documentClassifiers\\\";PCCViewer.Ajax._xn({url:r,method:\\\"POST\\\",headers:{\\\"Content-Type\\\":\\\"application/json\\\"},body:JSON.stringify({input:{classifications:e}})}).then((function(e){var i=JSON.parse(e.responseText);t=i,n()}),(function(e){i._Il=\\\"ClassificationFailed\\\",i._Jl=\\\"The request to create a document classification failed.\\\";var t=e&&e.response&&501===e.response.status,n=e&&e.response&&480===e.response.status&&function(e){try{return\\\"FeatureDisabled\\\"===JSON.parse(e).errorCode}catch(e){return!1}}(e.response.responseText);if(t||n)return i._Il=\\\"ServerSearchUnavailable\\\",i._Jl=\\\"Server-side search is not available.\\\",void A(\\\"failed\\\",{errorMessage:i._Jl});A(\\\"failed\\\",{errorMessage:i._Jl})}))}(n,(function(){r()})),i},Object.defineProperties&&Object.defineProperties(this,{documentClassification:{configurable:!!e,enumerable:!0,get:function(){return this._lM}},errorCode:{configurable:!!e,enumerable:!0,get:function(){return this._Il}},errorMessage:{configurable:!!e,enumerable:!0,get:function(){return this._Jl}}}),PCCViewer.EventEmitter.extend(this)};t.prototype.getDocumentClassification=function(){return this._lM},t.prototype.getErrorCode=function(){return this._Il},t.prototype.getErrorMessage=function(){return this._Jl},e.exports=t,e.exports={DocumentClassificationRequest:t}},1706:e=>{var t=function(e){this._Ml=e._Ml,this._Nl=e._Nl,this._Ol=0,this._Pl=\\\"\\\",this._Ql=e._Ml._Rl(),void 0!==e._Ol&&(IPCC._l._bc(e._Ol,\\\"documentPageNumber\\\"),this._Ol=e._Ol),void 0!==e._Pl&&(IPCC._l._ac(e._Pl,\\\"documentID\\\"),this._Pl=e._Pl)};t.prototype.getPageReference=function(){return console.warn(\\\"The DocumentHyperlink.getPageReference API is still under active development and is not ready for use. Its functionality is subject to change, and in its current state may cause instability in the product.\\\"),{documentPageNumber:this._Ol,documentID:this._Pl}},t.prototype.getHrefPageReference=function(){console.warn(\\\"The DocumentHyperlink.getHrefPageReference API is still under active development and is not ready for use. Its functionality is subject to change, and in its current state may cause instability in the product.\\\");var e=this._Ml._Rl();return Number(e)?{documentPageNumber:+e,documentID:this._Pl}:null},t.prototype.getHref=function(){return this._Ql},t.prototype.getPageNumber=function(){return this._Nl},t.prototype.getRectangle=function(){return this._Ml._Nd()},Object.defineProperties&&Object.defineProperties(t.prototype,{href:{enumerable:!0,get:function(){return this.getHref()}},pageNumber:{enumerable:!0,get:function(){return this.getPageNumber()}},pageReference:{enumerable:!0,get:function(){return console.warn(\\\"The DocumentHyperlink.pageReference API is still under active development and is not ready for use. Its functionality is subject to change, and in its current state may cause instability in the product.\\\"),{documentPageNumber:this._Ol,documentID:this._Pl}}},hrefPageReference:{enumerable:!0,get:function(){console.warn(\\\"The DocumentHyperlink.hrefPageReference API is still under active development and is not ready for use. Its functionality is subject to change, and in its current state may cause instability in the product.\\\");var e=this._Ml._Rl();return Number(e)?{documentPageNumber:+e,documentID:this._Pl}:null}},rectangle:{enumerable:!0,get:function(){return this.getRectangle()}}}),e.exports=t},6931:e=>{var t=function(e){this._zn=null,this._Il=null,this._Jl=null;var t,i=this;function A(e,t){switch(e){case\\\"failed\\\":setTimeout((function(){i.trigger(PCCViewer.EventType.DocumentQueryFailed,t)}),10);break;case\\\"complete\\\":setTimeout((function(){i.trigger(PCCViewer.EventType.DocumentQueried,{response:i.getResponse()})}),10)}setTimeout((function(){i.trigger(PCCViewer.EventType.DocumentQueryCompleted,{response:i.getResponse()})}),10)}function n(e){var r=i._hb._Pn+\\\"/v2/documentQueriers/\\\"+t.processId,a={};function s(){i._FM&&(i._FM=!1,i._Il=\\\"QueryFailed\\\",i._Jl=\\\"The request to poll the document query failed.\\\",A(\\\"failed\\\",{errorMessage:i._Jl}))}t.affinityToken&&(a[\\\"Accusoft-Affinity-Token\\\"]=t.affinityToken),i._FM&&PCCViewer.Ajax._xn({method:\\\"GET\\\",url:r,headers:a}).then((function(t){if(i._FM){var r=JSON.parse(t.responseText);\\\"processing\\\"===r.state?(i._eu>1&&(i._fu+=1e3),i._eu+=1,setTimeout((function(){n(e)}),i._fu)):\\\"error\\\"===r.state?s():\\\"complete\\\"===r.state&&(i._zn=r.output.response,i._FM&&A(\\\"complete\\\"),i._FM=!1)}}),s)}function r(){!function e(){setTimeout((function(){n(e)}),100)}()}this._FM=!1,this._GM={},this._eu=0,this._fu=0,this._LM=function(e,n){return i._hb=e,i._FM=!0,function(e,n){var r=i._hb._Pn+\\\"/v2/viewingSessions/\\\"+encodeURIComponent(i._hb.get_documentIdentifier())+\\\"/documentQueriers\\\";PCCViewer.Ajax._xn({url:r,method:\\\"POST\\\",headers:{\\\"Content-Type\\\":\\\"application/json\\\"},body:JSON.stringify({input:{query:e}})}).then((function(e){var i=JSON.parse(e.responseText);t=i,n()}),(function(e){i._Il=\\\"QueryFailed\\\",i._Jl=\\\"The request to create a document query failed.\\\";var t=e&&e.response&&501===e.response.status,n=e&&e.response&&480===e.response.status&&function(e){try{return\\\"FeatureDisabled\\\"===JSON.parse(e).errorCode}catch(e){return!1}}(e.response.responseText);if(t||n)return i._Il=\\\"ServerSearchUnavailable\\\",i._Jl=\\\"Server-side search is not available.\\\",void A(\\\"failed\\\",{errorMessage:i._Jl});A(\\\"failed\\\",{errorMessage:i._Jl})}))}(n,(function(){r()})),i},Object.defineProperties&&Object.defineProperties(this,{response:{configurable:!!e,enumerable:!0,get:function(){return this._zn}},errorCode:{configurable:!!e,enumerable:!0,get:function(){return this._Il}},errorMessage:{configurable:!!e,enumerable:!0,get:function(){return this._Jl}}}),PCCViewer.EventEmitter.extend(this)};t.prototype.getResponse=function(){return this._zn},t.prototype.getErrorCode=function(){return this._Il},t.prototype.getErrorMessage=function(){return this._Jl},e.exports=t,e.exports={DocumentQueryRequest:t}},6727:e=>{var t=function(e){this._tB=null,this._Il=null,this._Jl=null;var t,i=this;function A(e,t){switch(e){case\\\"failed\\\":setTimeout((function(){i.trigger(PCCViewer.EventType.DocumentSummarizationFailed,t)}),10);break;case\\\"complete\\\":setTimeout((function(){i.trigger(PCCViewer.EventType.DocumentSummarized,{documentSummarization:i.getDocumentSummarization()})}),10)}setTimeout((function(){i.trigger(PCCViewer.EventType.DocumentSummarizationCompleted,{documentSummarization:i.getDocumentSummarization()})}),10)}function n(e){var r=i._hb._Pn+\\\"/v2/documentSummarizers/\\\"+t.processId,a={};function s(){i._vB&&(i._vB=!1,i._Il=\\\"SummarizationFailed\\\",i._Jl=\\\"The request to poll the document summarization failed.\\\",A(\\\"failed\\\",{errorMessage:i._Jl}))}t.affinityToken&&(a[\\\"Accusoft-Affinity-Token\\\"]=t.affinityToken),i._vB&&PCCViewer.Ajax._xn({method:\\\"GET\\\",url:r,headers:a}).then((function(t){if(i._vB){var r=JSON.parse(t.responseText);\\\"processing\\\"===r.state?(i._eu>1&&(i._fu+=1e3),i._eu+=1,setTimeout((function(){n(e)}),i._fu)):\\\"error\\\"===r.state?s():\\\"complete\\\"===r.state&&(i._tB=r.output.summarization,i._vB&&A(\\\"complete\\\"),i._vB=!1)}}),s)}function r(){!function e(){setTimeout((function(){n(e)}),100)}()}this._vB=!1,this._wB={},this._eu=0,this._fu=0,this._CB=function(e){var n,a;return i._hb=e,i._vB=!0,n=function(){r()},a=i._hb._Pn+\\\"/v2/viewingSessions/\\\"+encodeURIComponent(i._hb.get_documentIdentifier())+\\\"/documentSummarizers\\\",PCCViewer.Ajax._xn({url:a,method:\\\"POST\\\",headers:{\\\"Content-Type\\\":\\\"application/json\\\"},body:JSON.stringify({})}).then((function(e){var i=JSON.parse(e.responseText);t=i,n()}),(function(e){i._Il=\\\"SummarizationFailed\\\",i._Jl=\\\"The request to create a document summarization failed.\\\";var t=e&&e.response&&501===e.response.status,n=e&&e.response&&480===e.response.status&&function(e){try{return\\\"FeatureDisabled\\\"===JSON.parse(e).errorCode}catch(e){return!1}}(e.response.responseText);if(t||n)return i._Il=\\\"ServerSearchUnavailable\\\",i._Jl=\\\"Server-side search is not available.\\\",void A(\\\"failed\\\",{errorMessage:i._Jl});A(\\\"failed\\\",{errorMessage:i._Jl})})),i},Object.defineProperties&&Object.defineProperties(this,{documentSummarization:{configurable:!!e,enumerable:!0,get:function(){return this._tB}},errorCode:{configurable:!!e,enumerable:!0,get:function(){return this._Il}},errorMessage:{configurable:!!e,enumerable:!0,get:function(){return this._Jl}}}),PCCViewer.EventEmitter.extend(this)};t.prototype.getDocumentSummarization=function(){return this._tB},t.prototype.getErrorCode=function(){return this._Il},t.prototype.getErrorMessage=function(){return this._Jl},e.exports=t,e.exports={DocumentSummarizationRequest:t}},8109:e=>{var t=function(e){this._vM=null,this._Il=null,this._Jl=null;var t,i=this;function A(e,t){switch(e){case\\\"failed\\\":setTimeout((function(){i.trigger(PCCViewer.EventType.DocumentTagFailed,t)}),10);break;case\\\"complete\\\":setTimeout((function(){i.trigger(PCCViewer.EventType.DocumentTagged,{documentTags:i.getDocumentTags()})}),10)}setTimeout((function(){i.trigger(PCCViewer.EventType.DocumentTagCompleted,{documentTags:i.getDocumentTags()})}),10)}function n(e){var r=i._hb._Pn+\\\"/v2/documentTaggers/\\\"+t.processId,a={};function s(){i._xM&&(i._xM=!1,i._Il=\\\"TaggingFailed\\\",i._Jl=\\\"The request to poll the document tagger failed.\\\",A(\\\"failed\\\",{errorMessage:i._Jl}))}t.affinityToken&&(a[\\\"Accusoft-Affinity-Token\\\"]=t.affinityToken),i._xM&&PCCViewer.Ajax._xn({method:\\\"GET\\\",url:r,headers:a}).then((function(t){if(i._xM){var r=JSON.parse(t.responseText);\\\"processing\\\"===r.state?(i._eu>1&&(i._fu+=1e3),i._eu+=1,setTimeout((function(){n(e)}),i._fu)):\\\"error\\\"===r.state?s():\\\"complete\\\"===r.state&&(i._vM=r.output.tags,i._xM&&A(\\\"complete\\\"),i._xM=!1)}}),s)}function r(){!function e(){setTimeout((function(){n(e)}),100)}()}this._xM=!1,this._yM={},this._eu=0,this._fu=0,this._DM=function(e){var n,a;return i._hb=e,i._xM=!0,n=function(){r()},a=i._hb._Pn+\\\"/v2/viewingSessions/\\\"+encodeURIComponent(i._hb.get_documentIdentifier())+\\\"/documentTaggers\\\",PCCViewer.Ajax._xn({url:a,method:\\\"POST\\\",headers:{\\\"Content-Type\\\":\\\"application/json\\\"},body:JSON.stringify({})}).then((function(e){var i=JSON.parse(e.responseText);t=i,n()}),(function(e){i._Il=\\\"TaggingFailed\\\",i._Jl=\\\"The request to create a document tagger failed.\\\";var t=e&&e.response&&501===e.response.status,n=e&&e.response&&480===e.response.status&&function(e){try{return\\\"FeatureDisabled\\\"===JSON.parse(e).errorCode}catch(e){return!1}}(e.response.responseText);if(t||n)return i._Il=\\\"ServerSearchUnavailable\\\",i._Jl=\\\"Server-side search is not available.\\\",void A(\\\"failed\\\",{errorMessage:i._Jl});A(\\\"failed\\\",{errorMessage:i._Jl})})),i},Object.defineProperties&&Object.defineProperties(this,{documentTags:{configurable:!!e,enumerable:!0,get:function(){return this._vM}},errorCode:{configurable:!!e,enumerable:!0,get:function(){return this._Il}},errorMessage:{configurable:!!e,enumerable:!0,get:function(){return this._Jl}}}),PCCViewer.EventEmitter.extend(this)};t.prototype.getDocumentTags=function(){return this._vM},t.prototype.getErrorCode=function(){return this._Il},t.prototype.getErrorMessage=function(){return this._Jl},e.exports=t,e.exports={DocumentTagRequest:t}},5023:e=>{function t(e){return t=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},t(e)}var i,A=(i=function(){},function(e){if(arguments.length>1)throw Error(\\\"Second argument not supported\\\");if(\\\"object\\\"!==t(e))throw TypeError(\\\"Argument must be an object\\\");i.prototype=e;var A=new i;return i.prototype=null,A}),n=function(e,t){return\\\"function\\\"==typeof Object.create?e.prototype=Object.create(t.prototype):e.prototype=A(t.prototype),e.prototype.constructor=e,e},r=n((function(e,t){var i,A,n=Error.call(null,t);this.code=e,\\\"function\\\"==typeof Object.create?(i=this,A=n,Object.getOwnPropertyNames(A).forEach((function(e){Object.defineProperty(i,e,Object.getOwnPropertyDescriptor(A,e))}))):function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])}(this,n)}),Error),a=n((function(e){var t='\\\"'+e+'\\\" cannot be used with a client-side rendering session';r.call(this,\\\"NotImplemented\\\",t)}),r);e.exports={_S:r,_Yi:a}},5957:e=>{\\\"use strict\\\";function t(e,t){this._Nb=e,this._zb=t}t.prototype.getTarget=function(){return this._Nb},t.prototype.getType=function(){return this._zb},Object.defineProperties&&Object.defineProperties(t.prototype,{target:{enumerable:!0,get:function(){return this.getTarget()}},type:{enumerable:!0,get:function(){return this.getType()}}}),e.exports=t},5996:e=>{var t=function(){function e(e,t){this._Ji||(this._Ji={});var i=e.toLowerCase(),A=this._Ji[i];return A||(A=this._Ji[i]=[]),A.push(t),this}function t(e,t){this._Ji||(this._Ji={});var i=e.toLowerCase(),A=this._Ji[i];if(A)for(var n=A.length;n>=0;n--)A[n]===t&&A.splice(n,1);return this}function i(e,t){this._Ji||(this._Ji={});var i,A=e.toLowerCase(),n=new PCCViewer.Event(this,A),r=this._Ji[A],a=0;if(t&&PCCViewer._T._Ei(n,t),r)for(a=r.length,r=r.slice(0),i=0;i{\\\"use strict\\\";var t=function(e){this._Bi=e,this._Ci=!0,this._Di={}};t.prototype.on=function(e,t){return this._Bi.on(e,t),this._Bi},t.prototype.off=function(e,t){return this._Bi.off(e,t),this._Bi},t.prototype.trigger=function(e,t){if(this._Ci){var i=e.toLowerCase();if(this._Di[i]){var A=new PCCViewer.Event(this._Bi,i);t&&PCCViewer._T._Ei(A,t),this._Di[i](A)}else this._Bi.trigger(e,t)}return this._Bi},t.prototype.stop=function(){this._Ci=!1},t.prototype.resume=function(){this._Ci=!0},t.prototype.intercept=function(e,t){var i=e.toLowerCase();this._Di[i]=t},e.exports=t},2943:e=>{e.exports={ViewerReady:\\\"ViewerReady\\\",PageCountReady:\\\"PageCountReady\\\",EstimatedPageCountReady:\\\"EstimatedPageCountReady\\\",PageChanged:\\\"PageChanged\\\",PageLoadFailed:\\\"PageLoadFailed\\\",PageDisplayed:\\\"PageDisplayed\\\",PageRotated:\\\"PageRotated\\\",DocumentRotated:\\\"DocumentRotated\\\",ScaleChanged:\\\"ScaleChanged\\\",DocumentPrinted:\\\"DocumentPrinted\\\",TextSelected:\\\"TextSelected\\\",MouseToolChanged:\\\"MouseToolChanged\\\",SearchPerformed:\\\"SearchPerformed\\\",PartialSearchResultsAvailable:\\\"PartialSearchResultsAvailable\\\",SearchCompleted:\\\"SearchCompleted\\\",SearchFailed:\\\"SearchFailed\\\",SearchCancelled:\\\"SearchCancelled\\\",SearchResultsAvailable:\\\"SearchResultsAvailable\\\",SearchCleared:\\\"SearchCleared\\\",SearchResultSelectionChanged:\\\"SearchResultSelectionChanged\\\",RevisionsRetrievalCompleted:\\\"RevisionsRetrievalCompleted\\\",RevisionsRetrievalFailed:\\\"RevisionsRetrievalFailed\\\",RevisionsAvailable:\\\"RevisionsAvailable\\\",PartialRevisionsAvailable:\\\"PartialRevisionsAvailable\\\",PrintRequested:\\\"PrintRequested\\\",MarkupLoaded:\\\"MarkupLoaded\\\",MarkupSaved:\\\"MarkupSaved\\\",MarkChanged:\\\"MarkChanged\\\",MarkCreated:\\\"MarkCreated\\\",MarkRemoved:\\\"MarkRemoved\\\",MarkReordered:\\\"MarkReordered\\\",MarkSelectionChanged:\\\"MarkSelectionChanged\\\",MarkMouseEnter:\\\"MarkMouseEnter\\\",MarkMouseOver:\\\"MarkMouseOver\\\",MarkMouseLeave:\\\"MarkMouseLeave\\\",CommentsPanelToggled:\\\"CommentsPanelToggled\\\",CommentCreated:\\\"CommentCreated\\\",CommentRemoved:\\\"CommentRemoved\\\",CommentChanged:\\\"CommentChanged\\\",PageTextReady:\\\"PageTextReady\\\",Click:\\\"Click\\\",PageOpening:\\\"PageOpening\\\",ViewingSessionChanging:\\\"ViewingSessionChanging\\\",ViewingSessionChanged:\\\"ViewingSessionChanged\\\",PartialPiiAvailable:\\\"PartialPiiAvailable\\\",PiiDetectionCompleted:\\\"PiiDetectionCompleted\\\",PiiDetectionFailed:\\\"PiiDetectionFailed\\\",PiiAvailable:\\\"PiiAvailable\\\",PiiDetectionCleared:\\\"PiiDetectionCleared\\\",PiiEntitySelectionChanged:\\\"PiiEntitySelectionChanged\\\",DocumentSummarizationCompleted:\\\"DocumentSummarizationCompleted\\\",DocumentSummarizationFailed:\\\"DocumentSummarizationFailed\\\",DocumentSummarized:\\\"DocumentSummarized\\\",DocumentClassificationCompleted:\\\"DocumentClassificationCompleted\\\",DocumentClassificationFailed:\\\"DocumentClassificationFailed\\\",DocumentClassified:\\\"DocumentClassified\\\",DocumentTagCompleted:\\\"DocumentTagCompleted\\\",DocumentTagFailed:\\\"DocumentTagFailed\\\",DocumentTagged:\\\"DocumentTagged\\\",DocumentQueryCompleted:\\\"DocumentQueryCompleted\\\",DocumentQueryFailed:\\\"DocumentQueryFailed\\\",DocumentQueried:\\\"DocumentQueried\\\"}},8122:e=>{e.exports={FullWidth:\\\"FullWidth\\\",ShrinkToWidth:\\\"ShrinkToWidth\\\",ActualSize:\\\"ActualSize\\\",FullHeight:\\\"FullHeight\\\",FullPage:\\\"FullPage\\\"}},7146:e=>{function t(e){return t=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},t(e)}var i={_Ei:function(e){var i;if(!e)throw new Error(\\\"target must be defined.\\\");if(\\\"object\\\"!==t(e))throw new Error(\\\"typeof target must be 'object'\\\");for(var A=1;A{var t=function(e){this._Ga=PCCViewer._T._Ei({},e)};t.prototype.requestImageStampList=function(){var e=PCCViewer.Deferred(),t=e.getPromise();try{var i=this._Ga.imageHandlerUrl+\\\"/ImageStampList\\\";PCCViewer.Ajax._xn({method:\\\"GET\\\",url:i}).then((function(t){var i;t.responseText.length>0&&(i=JSON.parse(t.responseText),200===t.status?e.resolve(i):e.reject(new PCCViewer.Error(\\\"ImageStampListFail\\\",\\\"Unable to retrieve ImageStamp list from server.\\\")))}),(function(t){e.reject(t.error)}))}catch(t){e.reject(new PCCViewer.Error(\\\"Error\\\",t.message))}return t},t.prototype.requestImageSourceBase64=function(e){if(!e)throw new Error(\\\"Parameter imageStampId is not valid.\\\");if(\\\"string\\\"!=typeof e)throw new Error(\\\"Parameter imageStampId should be of type string.\\\");var t=PCCViewer.Deferred(),i=t.getPromise();try{var A=this._Ga.imageHandlerUrl+\\\"/ImageStamp/\\\"+e+\\\"/q?format=Base64\\\";PCCViewer.Ajax._xn({method:\\\"GET\\\",url:A}).then((function(e){var i;e.responseText.length>0&&(i=JSON.parse(e.responseText),200===e.status?t.resolve(i):t.reject(new PCCViewer.Error(\\\"ImageStampDataFail\\\",\\\"Unable to retrieve image stamp data URL and dataHash from server.\\\")))}),(function(e){t.reject(e.error)}))}catch(e){t.reject(new PCCViewer.Error(\\\"Error\\\",e.message))}return i},t.prototype.reqestImageSourceBase64=function(e){return this.requestImageSourceBase64(e)},t.prototype.getImageSourceURL=function(e){if(!e)throw new Error(\\\"Parameter imageStampId is not valid.\\\");if(\\\"string\\\"!=typeof e)throw new Error(\\\"Parameter imageStampId should be of type string.\\\");return this._Ga.imageHandlerUrl+\\\"/ImageStamp/\\\"+e+\\\"/q?format=Image\\\"},e.exports=t},4661:e=>{var t={data:{},initializeData:function(e){return PCCViewer.Language.data=IPCC._o.extend({},e),PCCViewer.Language},getData:function(){return PCCViewer.Language.data},getValue:function(e){if(void 0===PCCViewer.Language.data)throw new Error(\\\"Language data is not set.\\\");for(var t=e.split(\\\".\\\"),i=PCCViewer.Language.data;t.length;)if(void 0===(i=i[t.shift()])){i=e;break}return i}};e.exports=t},2523:e=>{var t=function(e,t,i){this._ur=e,this._vr=t,this._wr=t._wr,this._Il=\\\"\\\",this._gr=!1,this._Ll=!1,this._fr=0,this._un=PCCViewer.Deferred(),this._vn=this._un.getPromise(),this.then=this._vn.then,this._xr=!0===i.loadAsHidden,PCCViewer.EventEmitter.extend(this)};t.EventType={LoadMarkupLayersFailed:\\\"LoadMarkupLayersFailed\\\",LoadMarkupLayersCompleted:\\\"LoadMarkupLayersCompleted\\\",LoadMarkupLayersCancelled:\\\"LoadMarkupLayersCancelled\\\",LoadMarkupLayersProgress:\\\"LoadMarkupLayersProgress\\\"},t.prototype.getProgress=function(){return this._fr},t.prototype.cancel=function(){var e=this;return this._Ll=!0,this._Il=\\\"User Cancelled\\\",setTimeout((function(){e.trigger(PCCViewer.LoadMarkupLayersRequest.EventType.LoadMarkupLayersCancelled,{}),e.trigger(PCCViewer.LoadMarkupLayersRequest.EventType.LoadMarkupLayersFailed,{}),e._un.reject(new PCCViewer.Error(\\\"UserCancelled\\\",\\\"User Cancelled\\\"))}),0),this},t.prototype.getViewerControl=function(){return this._vr},t.prototype.getErrorCode=function(){return this._Il},t.prototype._lr=function(){var e,t=this,i=1,A=[],n=this._xr,r=function(){t._gr=!1,t._vr._Cr?t._un.reject(new PCCViewer.Error(\\\"ViewerControlDestroyed\\\",\\\"ViewerControl has been destroyed.\\\")):t._un.reject(new PCCViewer.Error(\\\"ViewingSessionChanged\\\",\\\"Current Viewing Session has been changed.\\\")),t.trigger(PCCViewer.LoadMarkupLayersRequest.EventType.LoadMarkupLayersFailed,{})},a=function(a){var s=e+a+\\\"?\\\"+(new Date).getTime();PCCViewer.Ajax._xn({url:s,method:\\\"GET\\\"}).then((function(e){if(t._wr._Cr)r();else{var o,c,g,h=JSON.parse(e.responseText),l=t._Hr(h),u=[],d=[],I={},C=0;for(var f in l._Lr)l._Lr.hasOwnProperty(f)&&(d=d.concat(l._Lr[f]));if((o=new PCCViewer.MarkupLayer(t._vr,d))._Qr={_wn:s},IPCC._o.forEach(l._Jr,(function(e){u.push(e),C++,I[e.uid]=!0})),h.name&&o.setName(h.name),h.originalXmlName&&o.setOriginalXmlName(h.originalXmlName),C>0){g=function(e){I[e.mark.getUid()]&&C--,C||(t._wr._Bi.off(PCCViewer.EventType.MarkCreated,g),t._wr._Tr=!0)},t._wr._Bi.on(PCCViewer.EventType.MarkCreated,g),t._wr._Tr=!1;try{c=t._wr.deserializeMarks(u)}catch(e){return t._gr=!1,t._wr._Bi.off(PCCViewer.EventType.MarkCreated,g),t._wr._Tr=!0,t._un.reject(new PCCViewer.Error(\\\"Error\\\",e.message)),void t.trigger(PCCViewer.LoadMarkupLayersRequest.EventType.LoadMarkupLayersFailed,{})}n&&IPCC._o.forEach(c,(function(e){e.setVisible(!1)})),o.addMarks(c)}for(var p in o._Vr=a,h.data)h.data.hasOwnProperty(p)&&o.setData(p,h.data[p]);t._wr.getMarkupLayerCollection().addItem(o),A.push(o),i--,t._fr=(t._ur.length-i)/t._ur.length,t.trigger(PCCViewer.LoadMarkupLayersRequest.EventType.LoadMarkupLayersProgress,{progress:t._fr}),1===t._fr&&(t._gr=!1,t._un.resolve(A),t.trigger(PCCViewer.LoadMarkupLayersRequest.EventType.LoadMarkupLayersCompleted,{markupLayers:A}))}}),(function(e){t._gr=!1,t._un.reject(e.error),t.trigger(PCCViewer.LoadMarkupLayersRequest.EventType.LoadMarkupLayersFailed,{})}))};if(this._wr._Cr)r();else if(e=/^[\\\\x00-\\\\x7F]*$/.test(this._wr._hb.get_documentIdentifier())?this._wr._Ga.imageHandlerUrl+\\\"/MarkupLayers/u\\\"+encodeURIComponent(this._wr._Ga.documentID)+\\\"/\\\":this._wr._Ga.imageHandlerUrl+\\\"/MarkupLayers/e\\\"+this._wr._Ga.documentID+\\\"/\\\",!this._Ll)if(\\\"[object Array]\\\"===Object.prototype.toString.call(this._ur)&&this._ur.length>0)i=this._ur.length,this._gr=!0,IPCC._o.forEach(this._ur,a,this);else{if(\\\"string\\\"!=typeof this._ur)return this._gr=!1,this._un.reject(new PCCViewer.Error(\\\"InvalidParameter\\\",\\\"layerRecordIds parameter is missing or invalid.\\\")),void this.trigger(PCCViewer.LoadMarkupLayersRequest.EventType.LoadMarkupLayersFailed,{});this._gr=!0,a(this._ur)}},t.prototype._Hr=function(e){var t={},i={};return IPCC._o.forEach(e.marks,(function(e){e.conversation.comments=[],t[e.uid]=e}),this),IPCC._o.forEach(e.comments,(function(e){t[e.markUid]?t[e.markUid].conversation.comments.push(e):i[e.markUid]?i[e.markUid].push(e):i[e.markUid]=[e]}),this),{_Jr:t,_Lr:i}},Object.defineProperties&&Object.defineProperties(t.prototype,{errorCode:{enumerable:!0,get:function(){return this.getErrorCode()}},progress:{enumerable:!0,get:function(){return this.getProgress()}},viewerControl:{enumerable:!0,get:function(){return this.getViewerControl()}}}),e.exports=t},7464:e=>{var t={setMask:function(e,t){var i={};IPCC._o.forEach(t.translations,(function(e,t){i[t]=new RegExp(e.replace(/^\\\\/|\\\\/$/g,\\\"\\\"))})),e.setMask({value:t.value,translations:i})},calculateRectangle:function(e,t){if(void 0===e.pageData||e.pageData.width===t._La&&e.pageData.height===t._Ma)return e.rectangle;var i=t._La/e.pageData.width;return{x:e.rectangle.x*i,y:e.rectangle.y*i,width:e.rectangle.width*i,height:e.rectangle.height*i}},setRectangle:function(e,i,A){e.setRectangle(t.calculateRectangle(i,A))},setLines:function(e,i,A){var n,r,a,s,o=i.textLength+i.startIndex-1,c=i.selectedText,g={startIndex:i.startIndex,length:i.textLength};r=[],n=IPCC._o.reduce(i.lineGroups,(function(e,i){return e[a=i.pageNumber-1]=IPCC._o.map(i.lines,(function(e){return void 0!==i.pageData?(s=t.calculateRectangle({rectangle:e,pageData:i.pageData},A),new IPCC.Web.UI.Rectangle(s.x,s.y,s.width,s.height)):new IPCC.Web.UI.Rectangle(e.x,e.y,e.width,e.height)})),r.push({pageIndex:a,endIndex:i.startIndex+i.textLength-1}),e}),{}),e._KS(r,o,c,g,n)},postCreate:function(e,t){return e._at._eva(new Date(IPCC._o._Us(t.creationDateTime))),e._at._gva(new Date(IPCC._o._Us(t.modificationDateTime))),e},calculatePoint:function(e,t,i){return void 0===t||t.width===i._La&&t.height===i._Ma?e:{x:e.x*i._La/t.width,y:e.y*i._Ma/t.height}},Data:function(e,t){IPCC._o.forEach(t,(function(t,i){e.setData(i,t)}))},Comment:function(e,i){var A=e.addComment(i.text);A.setCreationTime(i.creationDateTime),t.Data(A,i.data)},Conversation:function(e,i){var A=e.getConversation();IPCC._o.forEach(i.comments?i.comments:[],(function(e){t.Comment(A,e)})),t.Data(A,i.data)},Common:function(e,i){void 0===e.uid&&(e.uid=IPCC._o._jJ());var A=this.convertToViewerPageNumber({documentPageNumber:e.pageNumber,documentID:this._hb.get_documentIdentifier()});if(A<1)return null;var n=this._qHa(A,e.type,{uid:e.uid});return e.rectangle&&n.setRectangle&&t.setRectangle(n,e,i),e.startPoint&&n.setStartPoint&&n.setStartPoint(t.calculatePoint(e.startPoint,e.pageData,i)),e.endPoint&&n.setEndPoint&&n.setEndPoint(t.calculatePoint(e.endPoint,e.pageData,i)),e.points&&n.setPoints&&n.setPoints(IPCC._o.map(e.points,(function(A){return t.calculatePoint(A,e.pageData,i)}))),e.lineGroups&&n._KS&&(n._Jd=e.uid,t.setLines(n,e,i)),e.interactionMode&&n.setInteractionMode(e.interactionMode),n=this._rHa(n),void 0!==e.pageData?n._at._iva(e.pageData):void 0!==e.lineGroups&&void 0!==e.lineGroups[0].pageData&&n._at._iva(e.lineGroups[0].pageData),t.Data(n,e.data),t.Conversation(n,e.conversation),n},EllipseAnnotation:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.borderColor&&A.setBorderColor(e.borderColor),e.borderThickness&&A.setBorderThickness(e.borderThickness),e.fillColor&&A.setFillColor(e.fillColor),e.opacity&&A.setOpacity(e.opacity),t.postCreate(A,e)):null},FreehandAnnotation:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.color&&A.setColor(e.color),e.opacity&&A.setOpacity(e.opacity),e.path&&A.setPath(e.path),e.thickness&&A.setThickness(e.thickness),t.postCreate(A,e)):null},FreehandSignature:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.color&&A.setColor(e.color),e.path&&A.setPath(e.path),e.thickness&&A.setThickness(e.thickness),e.horizontalAlignment&&A.setHorizontalAlignment(e.horizontalAlignment),t.postCreate(A,e)):null},HighlightAnnotation:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.fillColor&&A.setFillColor(e.fillColor),t.postCreate(A,e)):null},ImageStampAnnotation:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.imageDataUrl&&e.imageId&&A.setImage({id:e.imageId,dataUrl:e.imageDataUrl}),t.postCreate(A,e)):null},ImageStampRedaction:function(e,i){return t.ImageStampAnnotation.apply(this,arguments)},LineAnnotation:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.color&&A.setColor(e.color),e.endHeadType&&A.setEndHeadType(e.endHeadType),e.opacity&&A.setOpacity(e.opacity),e.thickness&&A.setThickness(e.thickness),t.postCreate(A,e)):null},PolylineAnnotation:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.color&&A.setColor(e.color),e.opacity&&A.setOpacity(e.opacity),e.thickness&&A.setThickness(e.thickness),t.postCreate(A,e)):null},RectangleAnnotation:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.borderColor&&A.setBorderColor(e.borderColor),e.borderThickness&&A.setBorderThickness(e.borderThickness),e.fillColor&&A.setFillColor(e.fillColor),e.opacity&&A.setOpacity(e.opacity),t.postCreate(A,e)):null},RectangleRedaction:function(e,i){var A=t.Common.apply(this,arguments);if(!A)return null;if(A._MR){var n=e.reasons||e.reason;n&&!Array.isArray(n)&&(n=[n]),n&&A.setReasons(n)}else e.reason&&A.setReason(e.reason);return e.fillColor&&A.setFillColor(e.fillColor),e.borderColor&&A.setBorderColor(e.borderColor),e.borderThickness&&A.setBorderThickness(e.borderThickness),e.fontColor&&A.setFontColor(e.fontColor),t.postCreate(A,e)},StampAnnotation:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.label&&A.setLabel(e.label),e.color&&A.setColor(e.color),t.postCreate(A,e)):null},StampRedaction:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.label&&A.setLabel(e.label),t.postCreate(A,e)):null},StrikethroughAnnotation:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.color&&A.setColor(e.color),e.thickness&&A.setThickness(e.thickness),t.postCreate(A,e)):null},TextAnnotation:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.borderColor&&A.setBorderColor(e.borderColor),e.borderThickness&&A.setBorderThickness(e.borderThickness),e.fillColor&&A.setFillColor(e.fillColor),e.fontColor&&A.setFontColor(e.fontColor),e.fontName&&A.setFontName(e.fontName),e.fontSize&&A.setFontSize(e.fontSize),e.fontStyle&&A.setFontStyle(e.fontStyle),e.maxLength&&A.setMaxLength(e.maxLength),e.horizontalAlignment&&A.setHorizontalAlignment(e.horizontalAlignment),e.opacity&&A.setOpacity(e.opacity),e.text&&A.setText(e.text),t.postCreate(A,e)):null},TextAreaSignature:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.text&&A.setText(e.text),e.fontColor&&A.setFontColor(e.fontColor),e.fontName&&A.setFontName(e.fontName),e.maxFontSize&&A.setMaxFontSize(e.maxFontSize),e.fontStyle&&A.setFontStyle(e.fontStyle),e.maxLength&&A.setMaxLength(e.maxLength),e.horizontalAlignment&&A.setHorizontalAlignment(e.horizontalAlignment),t.postCreate(A,e)):null},TextHyperlinkAnnotation:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.fillColor&&A.setFillColor(e.fillColor),e.href&&A.setHref(e.href),t.postCreate(A,e)):null},TextInputSignature:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.fontColor&&A.setFontColor(e.fontColor),e.fontName&&A.setFontName(e.fontName),e.text&&A.setText(e.text),e.maxLength&&A.setMaxLength(e.maxLength),e.mask&&t.setMask(A,e.mask),e.horizontalAlignment&&A.setHorizontalAlignment(e.horizontalAlignment),t.postCreate(A,e)):null},TextRedaction:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.fontColor&&A.setFontColor(e.fontColor),e.fontName&&A.setFontName(e.fontName),e.fontSize&&A.setFontSize(e.fontSize),e.maxLength&&A.setMaxLength(e.maxLength),e.text&&A.setText(e.text),e.horizontalAlignment&&A.setHorizontalAlignment(e.horizontalAlignment),t.postCreate(A,e)):null},TextSelectionRedaction:function(e,i){var A=t.Common.apply(this,arguments);if(!A)return null;if(A._MR){var n=e.reasons||e.reason;n&&!Array.isArray(n)&&(n=[n]),n&&A.setReasons(n)}else e.reason&&A.setReason(e.reason);return t.postCreate(A,e)},TextSignature:function(e,i){var A=t.Common.apply(this,arguments);return A?(e.color&&A.setColor(e.color),e.fontName&&A.setFontName(e.fontName),e.text&&A.setText(e.text),e.horizontalAlignment&&A.setHorizontalAlignment(e.horizontalAlignment),t.postCreate(A,e)):null},TransparentRectangleRedaction:function(e,i){var A=t.Common.apply(this,arguments);return A?t.postCreate(A,e):null}};e.exports=t},9042:e=>{e.exports={HideSideHandlesWhenClose:\\\"HideSideHandlesWhenClose\\\",HideCornerHandlesWhenClose:\\\"HideCornerHandlesWhenClose\\\"}},564:e=>{var t={serializeMask:function(e){var t={value:e.value,translations:{}};return IPCC._o.forEach(e.translations,(function(e,i){t.translations[i]=e.toString()})),t},copyRectangle:function(e){return{x:e.x,y:e.y,width:e.width,height:e.height}},Common:function(e,i){var A,n;if(e.page){if(A=e.page.get_pageHeight(),n=e.page.get_pageWidth(),0===A||0===n){var r=e.mark._at._hva();void 0!==r&&(n=r.width,A=r.height)}}else A=null,n=null;var a={uid:e.mark.getUid(),interactionMode:e.mark.getInteractionMode(),pageNumber:e.mark._Ol,type:e.mark.getType(),creationDateTime:IPCC._o._ss(e.mark._at._dva()),modificationDateTime:IPCC._o._ss(e.mark._at._fva()),data:t.Data(e.mark),conversation:t.Conversation(e.mark.getConversation())};function s(e){return{x:e.x,y:e.y}}function o(){if(e.mark.getRectangle&&(a.rectangle=t.copyRectangle(e.mark.getRectangle()),null!==n&&(a.pageData={width:n,height:A})),e.mark.getStartPoint&&(a.startPoint=s(e.mark.getStartPoint()),null!==n&&(a.pageData=a.pageData||{width:n,height:A})),e.mark.getEndPoint&&(a.endPoint=s(e.mark.getEndPoint()),null!==n&&(a.pageData=a.pageData||{width:n,height:A})),e.mark.getPoints){var i=e.mark.getPoints();a.points=IPCC._o.map(i,s),null!==n&&(a.pageData={width:n,height:A})}var r;e.mark._at._Gm&&(r=IPCC._o.map([].concat(e.mark._at,e.mark._gS),(function(e){return null!==n?{pageNumber:e._Zl+1,pageData:{width:n,height:A},startIndex:e.get_startIndex(),textLength:e.get_textLength(),lines:IPCC._o.map(e._Gm,(function(e){return e.get_rectangle?t.copyRectangle(e.get_rectangle()):t.copyRectangle(e)}))}:{pageNumber:e._Zl+1,startIndex:e.get_startIndex(),textLength:e.get_textLength(),lines:IPCC._o.map(e._Gm,(function(e){return e.get_rectangle?t.copyRectangle(e.get_rectangle()):t.copyRectangle(e)}))}})),a.lineGroups=r)}if(void 0!==n&&void 0!==A&&0!==n&&0!==A)o(),i(void 0,a);else{var c=e.vc.convertToViewerPageNumber({documentPageNumber:e.mark._Ol,documentID:e.mark._Pl});e.vc.requestPageAttributes(c).then((function(e){A=e.height,n=e.width,o(),i(void 0,a)}),(function(e){i(e)}))}},Data:function(e){return IPCC._o.reduce(e.getDataKeys(),(function(t,i){return t[i]=e.getData(i),t}),{})},Comment:function(e){return{text:e.getText(),data:t.Data(e),creationDateTime:IPCC._o._ss(e.getCreationTime())}},Conversation:function(e){return{comments:IPCC._o.map(e.getComments(),(function(e){return t.Comment(e)})),data:t.Data(e)}},EllipseAnnotation:function(e,i){t.RectangleAnnotation(e,i)},FreehandAnnotation:function(e,i){t.Common(e,(function(t,A){t?i(t):(A=IPCC._o.extend(A,{color:e.mark.getColor(),opacity:e.mark.getOpacity(),path:e.mark.getPath(),thickness:e.mark.getThickness()}),i(void 0,A))}))},FreehandSignature:function(e,i){t.Common(e,(function(t,A){t?i(t):(A=IPCC._o.extend(A,{color:e.mark.getColor(),path:e.mark.getPath(),thickness:e.mark.getThickness(),horizontalAlignment:e.mark.getHorizontalAlignment()}),i(void 0,A))}))},HighlightAnnotation:function(e,i){t.Common(e,(function(t,A){if(t)i(t);else{var n=e.mark.getPosition();A=IPCC._o.extend(A,{fillColor:e.mark.getFillColor(),textLength:n.length,startIndex:n.startIndex,selectedText:e.mark.getText()}),i(void 0,A)}}))},ImageStampAnnotation:function(e,i){t.Common(e,(function(t,A){if(t)i(t);else{var n=e.mark.getImage();A=IPCC._o.extend(A,{imageDataUrl:n.dataUrl,imageId:n.id}),i(void 0,A)}}))},ImageStampRedaction:function(e,i){t.ImageStampAnnotation(e,i)},LineAnnotation:function(e,i){t.Common(e,(function(t,A){t?i(t):(A=IPCC._o.extend(A,{color:e.mark.getColor(),endHeadType:e.mark.getEndHeadType(),opacity:e.mark.getOpacity(),thickness:e.mark.getThickness()}),i(void 0,A))}))},PolylineAnnotation:function(e,i){t.Common(e,(function(t,A){t?i(t):(A=IPCC._o.extend(A,{color:e.mark.getColor(),opacity:e.mark.getOpacity(),thickness:e.mark.getThickness()}),i(void 0,A))}))},RectangleAnnotation:function(e,i){t.Common(e,(function(t,A){t?i(t):(A=IPCC._o.extend(A,{borderColor:e.mark.getBorderColor(),borderThickness:e.mark.getBorderThickness(),fillColor:e.mark.getFillColor(),opacity:e.mark.getOpacity()}),i(void 0,A))}))},RectangleRedaction:function(e,i){t.Common(e,(function(t,A){t?i(t):(A=IPCC._o.extend(A,{fillColor:e.mark.getFillColor(),borderColor:e.mark.getBorderColor(),borderThickness:e.mark.getBorderThickness(),fontColor:e.mark.getFontColor()}),e.mark._MR?A.reasons=e.mark.getReasons():A.reason=e.mark.getReason(),i(void 0,A))}))},StampAnnotation:function(e,i){t.Common(e,(function(t,A){t?i(t):(A=IPCC._o.extend(A,{label:e.mark.getLabel(),color:e.mark.getColor()}),i(void 0,A))}))},StampRedaction:function(e,i){t.Common(e,(function(t,A){t?i(t):(A=IPCC._o.extend(A,{label:e.mark.getLabel()}),i(void 0,A))}))},StrikethroughAnnotation:function(e,i){t.Common(e,(function(t,A){if(t)i(t);else{var n=e.mark.getPosition();A=IPCC._o.extend(A,{color:e.mark.getColor(),thickness:e.mark.getThickness(),textLength:n.length,startIndex:n.startIndex,selectedText:e.mark.getText()}),i(void 0,A)}}))},TextAnnotation:function(e,i){t.Common(e,(function(t,A){t?i(t):(A=IPCC._o.extend(A,{borderColor:e.mark.getBorderColor(),borderThickness:e.mark.getBorderThickness(),fillColor:e.mark.getFillColor(),fontColor:e.mark.getFontColor(),fontName:e.mark.getFontName(),fontSize:e.mark.getFontSize(),fontStyle:e.mark.getFontStyle(),maxLength:e.mark.getMaxLength(),horizontalAlignment:e.mark.getHorizontalAlignment(),opacity:e.mark.getOpacity(),text:e.mark.getText()}),i(void 0,A))}))},TextAreaSignature:function(e,i){t.Common(e,(function(t,A){t?i(t):(A=IPCC._o.extend(A,{text:e.mark.getText(),fontColor:e.mark.getFontColor(),fontName:e.mark.getFontName(),fontStyle:e.mark.getFontStyle(),maxFontSize:e.mark.getMaxFontSize(),maxLength:e.mark.getMaxLength(),horizontalAlignment:e.mark.getHorizontalAlignment()}),i(void 0,A))}))},TextHyperlinkAnnotation:function(e,i){t.Common(e,(function(t,A){if(t)i(t);else{var n=e.mark.getPosition();A=IPCC._o.extend(A,{href:e.mark.getHref(),fillColor:e.mark.getFillColor(),textLength:n.length,startIndex:n.startIndex,selectedText:e.mark.getText()}),i(void 0,A)}}))},TextInputSignature:function(e,i){t.Common(e,(function(A,n){A?i(A):(n=IPCC._o.extend(n,{fontColor:e.mark.getFontColor(),fontName:e.mark.getFontName(),text:e.mark.getText(),mask:e.mark.getMask(),maxLength:e.mark.getMaxLength(),horizontalAlignment:e.mark.getHorizontalAlignment()}),e.mark.getMask()&&(n.mask=t.serializeMask(e.mark.getMask())),i(void 0,n))}))},TextRedaction:function(e,i){t.Common(e,(function(t,A){t?i(t):(A=IPCC._o.extend(A,{fontColor:e.mark.getFontColor(),fontName:e.mark.getFontName(),fontSize:e.mark.getFontSize(),text:e.mark.getText(),maxLength:e.mark.getMaxLength(),horizontalAlignment:e.mark.getHorizontalAlignment()}),i(void 0,A))}))},TextSelectionRedaction:function(e,i){t.Common(e,(function(t,A){if(t)i(t);else{var n=e.mark.getPosition();A=IPCC._o.extend(A,{textLength:n.length,startIndex:n.startIndex,selectedText:e.mark.getText()}),e.mark._MR?A.reasons=e.mark.getReasons():A.reason=e.mark.getReason(),i(void 0,A)}}))},TextSignature:function(e,i){t.Common(e,(function(t,A){t?i(t):(A=IPCC._o.extend(A,{color:e.mark.getColor(),fontName:e.mark.getFontName(),text:e.mark.getText(),horizontalAlignment:e.mark.getHorizontalAlignment()}),i(void 0,A))}))},TransparentRectangleRedaction:function(e,i){t.Common(e,i)}};e.exports=t},9756:(e,t,i)=>{\\\"use strict\\\";function A(e){return A=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},A(e)}var n=i(3316),r=i(7114).Data,a=i(7114).SessionData;function s(e){this._Nl=0,this._Ol=0,this._Pl=\\\"\\\",this._dn=void 0,this._Js=!1,this._RA=s.InteractionMode.Full,this._Xx=!0,this._MR=e.enableMultipleRedactionReasons,e.uid&&e.viewerControl&&function(e,t){n._o.forEach(e,(function(e){if(e.getUid()===t)throw new Error(\\\"Uid \\\"+t+\\\" already exists in the document and cannot be duplicated.\\\")}))}(e.viewerControl.getAllMarks(),e.uid);var t=e.uid||n._o._jJ();if(e.igMark&&e.igMark instanceof n.Web.UI.Mark?(this._at=e.igMark,this._dn=this._at.get_markID().toString(),this._zl=this._at.get_data()):this._zl=new n.Web.UI.Data,r.extend(this),this._Cl=new n.Web.UI.Data,a.extend(this),void 0!==e.pageNumber&&(n._l._bc(e.pageNumber,\\\"pageNumber\\\"),this._Nl=e.pageNumber),void 0!==e.documentPageNumber&&(n._l._bc(e.documentPageNumber,\\\"documentPageNumber\\\"),this._Ol=e.documentPageNumber),void 0!==e.documentID&&(n._l._ac(e.documentID,\\\"documentID\\\"),this._Pl=e.documentID),void 0!==e.id&&(n._l._ac(e.id,\\\"id\\\"),this._dn=e.id),e.type&&\\\"PlaceSignature\\\"===e.type&&e._Js)this._zb=e.type,this._Js=!0;else if(void 0!==e.type){n._l._ac(e.type,\\\"type\\\");var i=o(e.type,s.Type);if(null===i)throw new RangeError(\\\"The value of mark type was invalid.\\\");this._zb=i}\\\"_JA\\\"in e&&(this._JA=e._JA),\\\"_en\\\"in e&&(this._en=e._en),function(e){e._Fm={x:0,y:0,width:0,height:0};var t=e.getType();switch(t){case s.Type.LineAnnotation:e._lc=\\\"#18385F\\\",e._iS=n.Web.UI.LineStyle.Solid,e._jS=6,e._Ye=255,e._kS={x:0,y:0},e._dS={x:0,y:0},e._AI=\\\"None\\\";break;case s.Type.RectangleAnnotation:case s.Type.EllipseAnnotation:e._IQ=\\\"#FB0404\\\",e._Ye=255,e._lS=\\\"#000000\\\",e._mS=4,e._sc={x:0,y:0,width:0,height:0};break;case s.Type.RectangleRedaction:e._Mp=\\\"\\\",e._rI=[],e._IQ=\\\"#000000\\\",e._lS=\\\"#000000\\\",e._mS=1,e._nS=\\\"#FFFFFF\\\",e._sc={x:0,y:0,width:0,height:0},e._UH=!0,e._at&&e._at._oS(e._UH);break;case s.Type.TransparentRectangleRedaction:e._sc={x:0,y:0,width:0,height:0},e._UH=!0,e._at&&(e._at._oS(e._UH),e._at.set_fillColor(\\\"#FFFF00\\\"),e._at.set_opacity(127),e._at.set_lineWidth(1),e._at.set_lineColor(\\\"#FFFF00\\\"));break;case s.Type.TextAnnotation:e._Db=\\\"\\\",e._IQ=\\\"#FFFFFF\\\",e._Ye=127,e._lS=\\\"#000000\\\",e._mS=4,e._nS=\\\"#000000\\\",e._JQ=\\\"Arial\\\",e._az=12,e._FQ=[],e._pS=\\\"Left\\\",e._MQ=0,e._sc={x:0,y:0,width:0,height:0};break;case s.Type.StampAnnotation:case s.Type.StampRedaction:e._Qz=\\\"Approved\\\",e._sc={x:0,y:0,width:0,height:0},t===s.Type.StampRedaction?(e._UH=!0,e._at&&(e._at._oS(e._UH),e._at.set_fillColor(\\\"#000000\\\"))):e._lc=\\\"#000000\\\";break;case s.Type.HighlightAnnotation:e._IQ=\\\"#FFFF00\\\",e._Db=\\\"\\\",e._at&&e._at._Ed&&(e._Db=e._at._Ed),e._qS={startIndex:0,length:0},e._eS=[],e._gS=[];break;case s.Type.TextSelectionRedaction:e._Mp=\\\"\\\",e._rI=[],e._Db=\\\"\\\",e._qS={startIndex:0,length:0},e._at&&(e._at.set_fillColor(\\\"#000000\\\"),e._at._Ed&&(e._Db=e._at._Ed)),e._eS=[],e._gS=[];break;case s.Type.TextHyperlinkAnnotation:e._Ql=\\\"\\\",e._IQ=\\\"#3B00FF\\\",e._Db=\\\"\\\",e._at&&e._at._Ed&&(e._Db=e._at._Ed),e._qS={startIndex:0,length:0},e._eS=[],e._gS=[];break;case s.Type.TextRedaction:e._Db=\\\"\\\",e._nS=\\\"#000000\\\",e._JQ=\\\"Arial\\\",e._az=12,e._sc={x:0,y:0,width:0,height:0},e._UH=!0,e._MQ=0,e._at&&(e._at._oS(e._UH),e._at.set_fillColor(\\\"#FFFFFF\\\")),e._pS=\\\"Left\\\";break;case s.Type.FreehandAnnotation:e._Ye=255,e._sc={x:0,y:0,width:0,height:0},e._jS=4,e._lc=\\\"#000000\\\",e._Hq=\\\"M0,0\\\";break;case s.Type.FreehandSignature:e._sc={x:0,y:0,width:0,height:0},e._jS=4,e._lc=\\\"#000000\\\",e._pS=\\\"Center\\\",e._Hq=\\\"M0,0\\\";break;case s.Type.TextSignature:e._Db=\\\"John Doe\\\",e._sc={x:0,y:0,width:0,height:0},e._lc=\\\"#000000\\\",e._at&&(e._lc=e._at._IQ||\\\"#000000\\\",e._at._oS(e._UH),e._at.set_fillColor(e._lc)),e._pS=\\\"Center\\\",e._JQ=\\\"\\\";break;case s.Type.TextInputSignature:e._Db=\\\"\\\",e._sc={x:0,y:0,width:0,height:0},e._nS=\\\"#000000\\\",e._MQ=0,e._at&&(e._nS=e._at.get_textColor()||\\\"#000000\\\",e._at._oS(!1),e._at.set_fillColor(\\\"transparent\\\"),e._at.set_opacity(255),e._at.set_lineColor(\\\"transparent\\\"),e._at.set_lineWidth(0)),e._pS=\\\"Left\\\",e._JQ=\\\"Courier New\\\",e._NQ=null,e._kK=0,e._IQ=\\\"transparent\\\",e._Ye=255,e._lS=\\\"transparent\\\",e._mS=1;break;case s.Type.TextAreaSignature:e._Db=\\\"\\\",e._sc={x:0,y:0,width:0,height:0},e._nS=\\\"#000000\\\",e._at&&(e._nS=e._at.get_textColor()||\\\"#000000\\\",e._at._oS(!1),e._at.set_fillColor(\\\"transparent\\\"),e._at.set_opacity(255),e._at.set_lineColor(\\\"transparent\\\"),e._at.set_lineWidth(0)),e._pS=\\\"Left\\\",e._JQ=\\\"Courier New\\\",e._FQ=[],e._MQ=0,e._kK=0,e._IQ=\\\"transparent\\\",e._Ye=255,e._lS=\\\"transparent\\\",e._mS=1;break;case\\\"PlaceSignature\\\":e._rS=void 0,e._sc={x:0,y:0,width:0,height:0};break;case s.Type.ImageStampAnnotation:case s.Type.ImageStampRedaction:e._nk=\\\"\\\",e._sS=\\\"\\\",e._sc={x:0,y:0,width:0,height:0},e._at&&t===s.Type.ImageStampRedaction&&(e._UH=!0,e._at._oS(e._UH));break;case s.Type.PolylineAnnotation:e._lc=\\\"#000000\\\",e._iS=n.Web.UI.LineStyle.Solid,e._jS=2,e._Ye=255,e._Ie=[{x:0,y:0},{x:0,y:0}];break;case s.Type.StrikethroughAnnotation:e._lc=\\\"#000000\\\",e._iS=n.Web.UI.LineStyle.Solid,e._jS=2,e._Db=\\\"\\\",e._at&&e._at._Ed&&(e._Db=e._at._Ed),e._qS={startIndex:0,length:0},e._eS=[],e._gS=[]}function i(){return this._rS||void 0}function r(e){if(void 0!==e){if(\\\"object\\\"!==A(e))throw new Error(\\\"The parameter `signature` is not an Object.\\\");if(!e.path&&!e.text)throw new Error(\\\"The parameter `signature` should have at least one of these properties: text, path\\\");if(e.path){if(e.path.length<1)throw new Error(\\\"The property `signature.path` cannot be empty.\\\");if(e.path.match(/[^MLC0-9,.\\\\s]/))throw new Error(\\\"The property `signature.path` has invalid characters.\\\")}else e.text&&e.text.length<1&&(e.text=\\\"\\\");return this._rS=e,this}this._rS=void 0}(e._rS||\\\"PlaceSignature\\\"===e._zb)&&(e.getSignature=i,e.setSignature=r,Object.defineProperties&&Object.defineProperties(e,{signature:{enumerable:!0,get:function(){return this.getSignature()},set:function(e){return this.setSignature(e)}}}));function a(){if(this._at)switch(this._zb){case s.Type.LineAnnotation:case s.Type.PolylineAnnotation:case s.Type.FreehandSignature:case s.Type.FreehandAnnotation:case s.Type.StrikethroughAnnotation:this._lc=this._at.get_lineColor()||this._lc;break;case s.Type.StampAnnotation:case s.Type.TextSignature:this._lc=this._at.get_fillColor()||this._lc}return this._lc}function c(e){if(n._l._lc(e,\\\"color\\\"),this._lc=e,this._at)switch(this._zb){case s.Type.LineAnnotation:case s.Type.PolylineAnnotation:case s.Type.FreehandSignature:case s.Type.FreehandAnnotation:this._at.set_lineColor(e);break;case s.Type.StampAnnotation:this._at.set_fillColor(e);break;case s.Type.TextSignature:this._at.set_textColor(e),this._at.set_fillColor(e);break;case s.Type.StrikethroughAnnotation:if(this._at.set_lineColor(e),this._gS&&this._gS.length)for(var t=0;t=0&&(e.getOpacity=C,e.setOpacity=f,Object.defineProperties&&Object.defineProperties(e,{opacity:{enumerable:!0,get:function(){return this.getOpacity()},set:function(e){return this.setOpacity(e)}}}));function p(){if(this._at)switch(this._zb){case s.Type.LineAnnotation:case s.Type.FreehandSignature:case s.Type.FreehandAnnotation:case s.Type.PolylineAnnotation:case s.Type.StrikethroughAnnotation:this._jS=this._at.get_lineWidth()||this._jS}return this._jS}function B(e){if(n._l._dc(e,\\\"thickness\\\",1,50),this._jS=e,this._at)switch(this._zb){case s.Type.LineAnnotation:case s.Type.FreehandSignature:case s.Type.FreehandAnnotation:case s.Type.PolylineAnnotation:this._at.set_lineWidth(e);break;case s.Type.StrikethroughAnnotation:if(this._at.set_lineWidth(e),this._gS&&this._gS.length)for(var t=0;t0&&this._zb===s.Type.LineAnnotation){var t=e.getPoint(0);t&&(this._kS={x:t.x,y:t.y})}}return this._kS}function w(e){if(n._l._bc(e.x,\\\"startPoint.x\\\"),n._l._bc(e.y,\\\"startPoint.y\\\"),this._at&&null!==this._at){var t=this._at.get_points();if(this._zb===s.Type.LineAnnotation)t.setPoint(0,new n.Web.UI.Point(e.x,e.y))}return this._kS=e,this}e._kS&&(e.getStartPoint=y,e.setStartPoint=w,Object.defineProperties&&Object.defineProperties(e,{startPoint:{enumerable:!0,get:function(){return this.getStartPoint()},set:function(e){return this.setStartPoint(e)}}}));function b(){if(this._at&&null!==this._at){var e=this._at.get_points();if(e.get_length()>0&&this._zb===s.Type.LineAnnotation){var t=e.getPoint(1);t&&(this._dS={x:t.x,y:t.y})}}return this._dS}function v(e){if(n._l._bc(e.x,\\\"endPoint.x\\\"),n._l._bc(e.y,\\\"endPoint.y\\\"),this._at&&null!==this._at){var t=this._at.get_points();if(this._zb===s.Type.LineAnnotation)t.setPoint(1,new n.Web.UI.Point(e.x,e.y))}return this._dS=e,this}e._dS&&(e.getEndPoint=b,e.setEndPoint=v,Object.defineProperties&&Object.defineProperties(e,{endPoint:{enumerable:!0,get:function(){return this.getEndPoint()},set:function(e){return this.setEndPoint(e)}}}));function k(){if(this._at&&null!==this._at&&this._zb===s.Type.LineAnnotation)switch(this._at.get_endHeadType()){case n.Web.UI.LineHeadType.None:this._AI=PCCViewer.Mark.LineHeadType.None;break;case n.Web.UI.LineHeadType.Solid:this._AI=PCCViewer.Mark.LineHeadType.FilledTriangle}return this._AI}function x(e){var t;switch(e){case s.LineHeadType.None:t=n.Web.UI.LineHeadType.None;break;case s.LineHeadType.FilledTriangle:t=n.Web.UI.LineHeadType.Solid;break;default:throw\\\"The specified value is not a valid line head type.\\\"}if(this._at&&null!==this._at&&this._zb===s.Type.LineAnnotation)this._at.set_endHeadType(t);return this._AI=e,this}e._AI&&(e.getEndHeadType=k,e.setEndHeadType=x,Object.defineProperties&&Object.defineProperties(e,{endHeadType:{enumerable:!0,get:function(){return this.getEndHeadType()},set:function(e){return this.setEndHeadType(e)}}}));function D(){if(this._at&&null!==this._at){var e=this._at.get_points(),t=e.get_length(),i=[],A=function(e,t){i.push(e.getPoint(t))};if(t>1&&this._zb===s.Type.PolylineAnnotation){for(var n=0;n=this._en.get_pageCount())throw new Error(\\\"The specified length is out of range.\\\");if(!(t=this._en._DS(a))._em()||!t._em()._ES()||!0!==t._em()._xD())throw new Error(\\\"The text has not been retrieved for this page.\\\");var g=s,h=t._em()._fm();if((s+=h.length)<0||0===s&&0!==e.length)throw new Error(\\\"The specified start index is out of range for the specified page.\\\");var l=0;if(a===A&&(l=e.startIndex),s>=e.length){r=e.startIndex+e.length-1,g>=0&&(r=e.length-1-g),o.push({pageIndex:this._en.getDocumentPageIndex(a),endIndex:r}),c+=h.substring(l,r+1);break}r=t._em()._fm().length-1,o.push({pageIndex:this._en.getDocumentPageIndex(a),endIndex:r}),c+=h.substring(l,r+1),a++}this._Jd=n._g();var u=0;if(this._gS){if(this._at&&(this._at._Jd=this._Jd,i=this._en._IA(this._JA.getPage(this._at._Zl)),this._at.get_type()===n.Web.UI.MarkType.TextSelectionRedaction))for(var d=this._at._Gm.length-1;d>=0;d--)i.removeMark(this._at._Gm[d]),this._at._Gm.pop();for(u=this._gS.length-1;u>=0;u--){var I=this._gS[u];(i=this._en._IA(this._JA.getPage(I._Zl))).removeMark(I),this._gS.splice(u,1)}}else this._gS=[];return T.call(this,o,r,c,e),this._qS=e,this}function T(e,t,i,A,r){var a;r=r||{},this._gS=this._gS||[];for(var s=this._at.get_type()===n.Web.UI.MarkType.TextSelectionRedaction?U:N,o=0;o0&&(this._FQ=e)}}return this._FQ}function $(e){if(!(e instanceof Array))throw\\\"invalid parameter. The parameter should be an array.\\\";var t,i,A=[];for(i=0;iNumber.MAX_VALUE||Math.round(e)!==e)throw new Error(\\\"`maxLength` can only be set to a value that is a positive integer.\\\");return this._MQ=e,this._at&&this._at.set_maxLength(this._MQ),this}function he(){return this._at&&(this._MQ=this._at.get_maxLength()),this._MQ}void 0!==e._MQ&&(e.getMaxLength=he,e.setMaxLength=ge,Object.defineProperties&&Object.defineProperties(e,{maxLength:{enumerable:!0,get:he,set:ge}}));function le(e){if(\\\"number\\\"!=typeof e||e<0||e>Number.MAX_VALUE||Math.round(e)!==e)throw new Error(\\\"`maxFontSize` can only be set to a value that is a positive integer.\\\");return this._kK=e,this._at&&this._at.set_maxFontSize(this._kK),this}function ue(){return this._at&&(this._kK=this._at.get_maxFontSize()),this._kK}void 0!==e._kK&&(e.getMaxFontSize=ue,e.setMaxFontSize=le,Object.defineProperties&&Object.defineProperties(e,{maxFontSize:{enumerable:!0,get:ue,set:le}}));function de(){return this._NQ}function Ie(e){if(null==e)return this._NQ=null,this._at&&this._at.set_mask(this._NQ),this;if(\\\"object\\\"!==A(e)||Array.isArray(e))throw new Error(\\\"`mask` can only be set to a value that is an Object, null or undefined.\\\");if(\\\"string\\\"!=typeof e.value)throw new Error(\\\"`mask.value` can only be set to a value that is a string.\\\");if(\\\"object\\\"!==A(e.translations)||null===e.translations||Array.isArray(e.translations))throw new Error(\\\"`mask.translations` can only be set to a value that is an Object.\\\");var t=!1;if(n._o.forEach(e.translations,(function(e,i){if(t=!0,1!==i.length)throw new Error(\\\"`\\\"+i+\\\"` does not have a string length of 1.\\\");if(!(e instanceof RegExp&&/\\\\/$/.exec(e.toString())))throw new Error(\\\"`mask.translations[\\\"+i+\\\"]` must be a regular expression without flags.\\\")})),!t)throw new Error(\\\"`mask.translations` must have at least one translation.\\\");return this._NQ=e,this._at&&this._at.set_mask(this._NQ),this}void 0!==e._NQ&&(e.getMask=de,e.setMask=Ie,Object.defineProperties&&Object.defineProperties(e,{mask:{enumerable:!0,get:de,set:Ie}}))}(this),function(e){function t(e){function t(t){n._l._jc(t.startIndex,\\\"highlight.startIndex\\\",0,e.getText().length),n._l._jc(t.length,\\\"highlight.length\\\",1,Number.MAX_VALUE),n._l._lc(t.color,\\\"highlight.color\\\"),t.opacity&&n._l._jc(t.opacity,\\\"highlight.opacity\\\",0,255)}e.highlightText=function(i){if(!this._at)throw new Error(\\\"It is invalid to highlight text on this mark.\\\");var A;if(null!=i){A=\\\"[object Array]\\\"!==Object.prototype.toString.call(i)?[i]:i;for(var n=0;n=0&&a>=0&&e._Zl-1===r&&(A=0,h<=s&&(n.push({startIndex:A,length:h,color:i[a].color,opacity:i[a].opacity?i[a].opacity:127}),g=!1,h=0,r=-1,a=-1));for(var l=0;l0&&(h=i[l].length-d,u=127,i[l].opacity&&(u=i[l].opacity),n.push({startIndex:A,length:d,color:i[l].color,opacity:u}),c.push(l),o._eS.push(i[l]),g=!0,a=l,r=e._Zl)}}return n};this._eS=[];var u=l(this._at,0,A);e.clearHighlights(),u.length>0&&o._at.selectText(u);var d=this._at._Gd;if(this._gS&&this._gS.length)for(var I=0;I0&&this._gS[I].selectText(u)}return this},e.clearHighlights=function(){if(this._at&&!this._at)throw new Error(\\\"It is invalid to clear highlights on this mark.\\\");switch(e.getType()){case s.Type.TextAnnotation:case s.Type.TextRedaction:e._at.selectText();break;case s.Type.HighlightAnnotation:case s.Type.TextSelectionRedaction:case s.Type.TextHyperlinkAnnotation:case s.Type.StrikethroughAnnotation:if(this._at.selectText(),this._gS&&this._gS.length)for(var t=0;t{var A=i(5996),n=function(e,t){var i,n=this;if(!e)throw new Error(\\\"`viewerControl` param is missing.\\\");if(this._dn=(i=(new Date).getTime(),\\\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\\\".replace(/[xy]/g,(function(e){var t=(i+16*Math.random())%16|0;return i=Math.floor(i/16),(\\\"x\\\"===e?t:3&t|8).toString(16)}))),this._vr=e,this._Qb=void 0,this._Vr=void 0,this._QA=void 0,this._Kr=[],this._Lr={},this._RA=PCCViewer.Mark.InteractionMode.Full,e._wr)this._wr=e._wr;else{var r=function t(){e.off(\\\"ViewerReady\\\",t),e.off(\\\"ViewingSessionChanged\\\",t),n._wr=e._wr};e.on(\\\"ViewerReady\\\",r),e.on(\\\"ViewingSessionChanged\\\",r)}if(void 0!==t){switch(Object.prototype.toString.call(t)){case\\\"[object Object]\\\":t=[t];break;case\\\"[object Array]\\\":break;default:throw new Error(\\\"`markReferences` param is not an object or an array.\\\")}IPCC._o.forEach(t,(function(e){var t=e.markUid;e.markupLayer=n,n._Lr[t]?n._Lr[t]=n._Lr[t].concat(e):n._Lr[t]=[e]}))}var a={};A.extend(a),a._Hi=function(e,t){var i=this;return setTimeout((function(){i.trigger(e,t)}),0)},A.extend(this),this._zl=new IPCC.Web.UI.Data,PCCViewer.Data.extend(this),this._Cl=new IPCC.Web.UI.Data,PCCViewer.SessionData.extend(this),setTimeout((function(){n.trigger(PCCViewer.MarkupLayer.EventType.MarkupLayerCreated,{})}),0)};n.EventType={MarkupLayerCreated:\\\"MarkupLayerCreated\\\",MarkupLayerDestroyed:\\\"MarkupLayerDestroyed\\\",MarksAddedToLayer:\\\"MarksAddedToLayer\\\",MarksRemovedFromLayer:\\\"MarksRemovedFromLayer\\\",MarkupLayerInteractionModeChanged:\\\"MarkupLayerInteractionModeChanged\\\",MarkupLayerHidden:\\\"MarkupLayerHidden\\\",MarkupLayerShown:\\\"MarkupLayerShown\\\"},n.prototype.getViewerControl=function(){return this._vr},n.prototype.addMarks=function(e){var t=this,i=this,A=function(e){e._ks=i};switch(Object.prototype.toString.call(e)){case\\\"[object Object]\\\":e=[e];break;case\\\"[object Array]\\\":break;default:throw new Error(\\\"`marks` param is not an object or an array.\\\")}var n=e.filter((function(e){if(!(e instanceof PCCViewer.Mark))throw new Error(\\\"`marks` param contains an item that is not an instanceof `PCCViewer.Mark`\\\");return!t.hasMark(e.getId())}));return n.length&&(n.forEach((function(e){IPCC._o.forEach(e.getConversation().getComments(),A)})),this._Kr=this._Kr.concat(n),this.trigger(PCCViewer.MarkupLayer.EventType.MarksAddedToLayer,{marks:n})),this},n.prototype.removeMarks=function(e){switch(Object.prototype.toString.call(e)){case\\\"[object Object]\\\":e=[e];break;case\\\"[object Array]\\\":break;default:throw new Error(\\\"`marks` param is not an object or an array.\\\")}for(var t=0;t{var A=i(5996),n=function(e){if(!e)throw new Error(\\\"`viewerControl` param is missing.\\\");this._vr=e,this._bs={},this._Kr={},this._cs={},this._ds=0,A.extend(this)};n.EventType={MarkupLayerAdded:\\\"MarkupLayerAdded\\\",MarkupLayerRemoved:\\\"MarkupLayerRemoved\\\"},n.prototype.getViewerControl=function(){return this._vr},n.prototype.forEach=function(e,t){if(\\\"function\\\"!=typeof e)throw new TypeError(\\\"The iterator parameter is not a function\\\");return IPCC._o.forEach(this._bs,e,t),this},n.prototype.getItem=function(e){if(\\\"string\\\"!=typeof e)throw new Error(\\\"`layerId` param is not a string.\\\");return this._bs[e]},n.prototype.getCount=function(){return this._ds},n.prototype.getAll=function(){var e,t=[];for(e in this._bs)this._bs.hasOwnProperty(e)&&t.push(this._bs[e]);return t},n.prototype.addItem=function(e){var t,i=this,A=e._Lr,n=function(e,t){var i=e.getConversation().addComment(t.text);for(var A in i.creationTime=new Date(t.creationDateTime),i._ks=t.markupLayer,t.data)t.data.hasOwnProperty(A)&&i.setData(A,t.data[A])},r=function(e){n(i._Kr[s],e)},a=function(e){var t=e.getUid();i._Kr[e.getUid()]=e,i._cs[t]&&(IPCC._o.forEach(i._cs[t],(function(t){n(e,t)})),delete i._cs[t])};if(!(e instanceof PCCViewer.MarkupLayer))throw new Error(\\\"`layer` param is not an instance of PCCViewer.MarkupLayer.\\\");for(var s in this._bs[e.getId()]=e,A)A.hasOwnProperty(s)&&(t=A[s],i._Kr[s]?IPCC._o.forEach(t,r):i._cs[s]?i._cs[s]=i._cs[s].concat(t):i._cs[s]=t);return IPCC._o.forEach(e.getMarks(),(function(e){a(e)})),this._ds++,this.trigger(PCCViewer.MarkupLayerCollection.EventType.MarkupLayerAdded,{layerId:e.getId()}),e.on(PCCViewer.MarkupLayer.EventType.MarksAddedToLayer,(function(e){IPCC._o.forEach(e.marks,(function(e){a(e)}))})),e.on(PCCViewer.MarkupLayer.EventType.MarksRemovedFromLayer,(function(e){var t=e._Nb;IPCC._o.forEach(e.marks,(function(e){var A=e.getUid();IPCC._o.forEach(i._Kr[A].getConversation().getComments(),(function(n){if(t.id!==n._ks.id){var r={creationDateTime:IPCC._o._ss(n.creationTime),data:n._zl._ts(),markUid:e.getUid(),markupLayer:n._ks,text:n.text};i._cs[A]?i._cs[A]=i._cs[A].concat([r]):i._cs[A]=[r]}})),i._us(e)}))})),this},n.prototype._us=function(e){var t;IPCC._o.forEach(this._bs,(function(i){var A=i.hasMark(e.getId());t=void 0!==t?+A^t:+A})),0===t&&delete this._Kr[e.getUid()]},n.prototype.removeItem=function(e){var t=this._bs[e],i=this,A=function(t,A){t.markupLayer.getId()===e&&i._cs[n].splice(A)};if(\\\"string\\\"!=typeof e)throw new Error(\\\"`layerId` param is not a string.\\\");for(var n in IPCC._o.forEach(this._Kr,(function(A){var n=A.getConversation().getComments(),r=t.hasMark(A.getId());IPCC._o.forEach(n,(function(t){if(r&&t._ks.getId()!==e){var n={markUid:A.getUid(),markupLayer:t._ks,text:t.getText(),data:t._zl._zl,creationDateTime:IPCC._o._ss(t.getCreationTime())};i._cs[A.getUid()]?i._cs[A.getUid()].push(n):i._cs[A.getUid()]=[n],A.getConversation().deleteComments(t)}else r&&t._ks.getId()===e?A.getConversation().deleteComments(t):r||t._ks.getId()!==e||A.getConversation().deleteComments(t)})),r&&i._Kr[A.getUid()]&&i._us(A)})),this._cs)this._cs.hasOwnProperty(n)&&IPCC._o.forEach(this._cs[n],A);return delete this._bs[e],this._ds--,this.trigger(PCCViewer.MarkupLayerCollection.EventType.MarkupLayerRemoved,{layerId:e}),this},n.prototype.removeAll=function(){return this._bs={},this._ds=0,this},Object.defineProperties&&Object.defineProperties(n.prototype,{viewerControl:{enumerable:!0,get:function(){return this.getViewerControl()}},count:{enumerable:!0,get:function(){return this.getCount()}}}),e.exports=n},8806:(e,t,i)=>{\\\"use strict\\\";var A=i(9756);function n(e,t){this._Qb=e;var i=function(e){var t=e.toLowerCase();for(var i in n.Type)if(n.Type.hasOwnProperty(i)&&i.toLowerCase&&i.toLowerCase()===t)return i;return null}(t);if(null===i)throw new RangeError(\\\"The value of type was invalid.\\\");this._zb=i,function(e){switch(e.getType()){case n.Type.Magnifier:case n.Type.SelectToZoom:break;case n.Type.Pan:e._Hs=!1;break;case n.Type.PanAndEdit:e._Hs=!0;break;case n.Type.SelectText:case n.Type.EditMarks:break;case n.Type.LineAnnotation:e._Is=new A({type:A.Type.LineAnnotation});break;case n.Type.RectangleAnnotation:e._Is=new A({type:A.Type.RectangleAnnotation});break;case n.Type.EllipseAnnotation:e._Is=new A({type:A.Type.EllipseAnnotation});break;case n.Type.TextAnnotation:e._Is=new A({type:A.Type.TextAnnotation});break;case n.Type.StampAnnotation:e._Is=new A({type:A.Type.StampAnnotation});break;case n.Type.HighlightAnnotation:e._Is=new A({type:A.Type.HighlightAnnotation});break;case n.Type.TextHyperlinkAnnotation:e._Is=new A({type:A.Type.TextHyperlinkAnnotation});break;case n.Type.FreehandAnnotation:e._Is=new A({type:A.Type.FreehandAnnotation});break;case n.Type.RectangleRedaction:e._Is=new A({type:A.Type.RectangleRedaction});break;case n.Type.TransparentRectangleRedaction:e._Is=new A({type:A.Type.TransparentRectangleRedaction});break;case n.Type.TextRedaction:e._Is=new A({type:A.Type.TextRedaction});break;case n.Type.TextInputSignature:e._Is=new A({type:A.Type.TextInputSignature});break;case n.Type.TextAreaSignature:e._Is=new A({type:A.Type.TextAreaSignature});break;case n.Type.StampRedaction:e._Is=new A({type:A.Type.StampRedaction});break;case n.Type.PlaceSignature:e._Is=new A({type:\\\"PlaceSignature\\\",_Js:!0});break;case n.Type.TextSelectionRedaction:e._Is=new A({type:A.Type.TextSelectionRedaction});break;case n.Type.ImageStampAnnotation:e._Is=new A({type:A.Type.ImageStampAnnotation});break;case n.Type.ImageStampRedaction:e._Is=new A({type:A.Type.ImageStampRedaction});break;case n.Type.PolylineAnnotation:e._Is=new A({type:A.Type.PolylineAnnotation});break;case n.Type.StrikethroughAnnotation:e._Is=new A({type:A.Type.StrikethroughAnnotation})}e._Is&&(e.getTemplateMark=function(){return this._Is},Object.defineProperties&&Object.defineProperties(e,{templateMark:{enumerable:!0,get:e.getTemplateMark}}))}(this)}n.prototype.getName=function(){return this._Qb},n.prototype.getType=function(){return this._zb},Object.defineProperties&&Object.defineProperties(n.prototype,{name:{enumerable:!0,get:function(){return this.getName()}},type:{enumerable:!0,get:function(){return this.getType()}}}),n.prototype.reset=function(){this._Is&&this._Is.reset()};var r={_Ks:{},createMouseTool:function(e,t){this._Ks||(this._Ks={},a());var i=e.toLowerCase(),A=this._Ks[i];if(A){if(A.getType().toLowerCase()!==t.toLowerCase())throw new Error(\\\"If calling createMouseTool and providing the name of a mouse tool that already exists, then the type must be the same type as the existing mouse tool.\\\");A.reset()}else this._Ks[i]=new n(e,t);return this._Ks[i]},getMouseTool:function(e){if(e&&e.toLowerCase){this._Ks||(this._Ks={},a());var t=e.toLowerCase();return this._Ks[t]}}};function a(){return r.createMouseTool(\\\"AccusoftMagnifier\\\",n.Type.Magnifier),r.createMouseTool(\\\"AccusoftSelectToZoom\\\",n.Type.SelectToZoom),r.createMouseTool(\\\"AccusoftPan\\\",n.Type.Pan),r.createMouseTool(\\\"AccusoftPanAndEdit\\\",n.Type.PanAndEdit),r.createMouseTool(\\\"AccusoftSelectText\\\",n.Type.SelectText),r.createMouseTool(\\\"AccusoftEditMarks\\\",n.Type.EditMarks),r.createMouseTool(\\\"AccusoftLineAnnotation\\\",n.Type.LineAnnotation),r.createMouseTool(\\\"AccusoftArrowAnnotation\\\",n.Type.LineAnnotation).getTemplateMark().setEndHeadType(\\\"FilledTriangle\\\"),r.createMouseTool(\\\"AccusoftRectangleAnnotation\\\",n.Type.RectangleAnnotation),r.createMouseTool(\\\"AccusoftEllipseAnnotation\\\",n.Type.EllipseAnnotation),r.createMouseTool(\\\"AccusoftTextAnnotation\\\",n.Type.TextAnnotation),r.createMouseTool(\\\"AccusoftStampAnnotation\\\",n.Type.StampAnnotation),r.createMouseTool(\\\"AccusoftHighlightAnnotation\\\",n.Type.HighlightAnnotation),r.createMouseTool(\\\"AccusoftTextHyperlinkAnnotation\\\",n.Type.TextHyperlinkAnnotation),r.createMouseTool(\\\"AccusoftFreehandAnnotation\\\",n.Type.FreehandAnnotation),r.createMouseTool(\\\"AccusoftPlaceSignature\\\",n.Type.PlaceSignature),r.createMouseTool(\\\"AccusoftTextSelectionRedaction\\\",n.Type.TextSelectionRedaction),r.createMouseTool(\\\"AccusoftRectangleRedaction\\\",n.Type.RectangleRedaction),r.createMouseTool(\\\"AccusoftTransparentRectangleRedaction\\\",n.Type.TransparentRectangleRedaction),r.createMouseTool(\\\"AccusoftTextRedaction\\\",n.Type.TextRedaction),r.createMouseTool(\\\"AccusoftTextInputSignature\\\",n.Type.TextInputSignature),r.createMouseTool(\\\"AccusoftTextAreaSignature\\\",n.Type.TextAreaSignature),r.createMouseTool(\\\"AccusoftStampRedaction\\\",n.Type.StampRedaction),r.createMouseTool(\\\"AccusoftImageStampAnnotation\\\",n.Type.ImageStampAnnotation),r.createMouseTool(\\\"AccusoftImageStampRedaction\\\",n.Type.ImageStampRedaction),r.createMouseTool(\\\"AccusoftPolylineAnnotation\\\",n.Type.PolylineAnnotation),r.createMouseTool(\\\"AccusoftStrikethroughAnnotation\\\",n.Type.StrikethroughAnnotation),r._Ks}n.Type={Magnifier:\\\"Magnifier\\\",SelectToZoom:\\\"SelectToZoom\\\",Pan:\\\"Pan\\\",PanAndEdit:\\\"PanAndEdit\\\",SelectText:\\\"SelectText\\\",EditMarks:\\\"EditMarks\\\",LineAnnotation:\\\"LineAnnotation\\\",RectangleAnnotation:\\\"RectangleAnnotation\\\",EllipseAnnotation:\\\"EllipseAnnotation\\\",TextAnnotation:\\\"TextAnnotation\\\",StampAnnotation:\\\"StampAnnotation\\\",HighlightAnnotation:\\\"HighlightAnnotation\\\",TextHyperlinkAnnotation:\\\"TextHyperlinkAnnotation\\\",FreehandAnnotation:\\\"FreehandAnnotation\\\",RectangleRedaction:\\\"RectangleRedaction\\\",TransparentRectangleRedaction:\\\"TransparentRectangleRedaction\\\",TextRedaction:\\\"TextRedaction\\\",TextInputSignature:\\\"TextInputSignature\\\",TextAreaSignature:\\\"TextAreaSignature\\\",StampRedaction:\\\"StampRedaction\\\",PlaceSignature:\\\"PlaceSignature\\\",TextSelectionRedaction:\\\"TextSelectionRedaction\\\",ImageStampAnnotation:\\\"ImageStampAnnotation\\\",ImageStampRedaction:\\\"ImageStampRedaction\\\",PolylineAnnotation:\\\"PolylineAnnotation\\\",StrikethroughAnnotation:\\\"StrikethroughAnnotation\\\",None:\\\"None\\\"},a(),e.exports={MouseTool:n,MouseTools:r}},6345:(e,t,i)=>{var A=i(5996),n=function(){var e=[],t={};A.extend(t),t._Hi=function(e,t){var i=this;return setTimeout((function(){i.trigger(e,t)}),0)},this.add=function(i){return e.push(i),t._Hi(this.EventType.ItemAdded,{item:i,count:e.length}),this},this.remove=function(i){var A=this;return this.forEach((function(n,r){n===i&&(e.splice(r,1),t._Hi(A.EventType.ItemRemoved,{item:i,count:e.length}))})),this},this.removeAll=function(){return e=[],t._Hi(this.EventType.ItemRemoved,{count:e.length}),this},this.forEach=function(e,t){if(\\\"function\\\"!=typeof e)throw new TypeError(\\\"The iterator parameter is not a function\\\");return IPCC._o.forEach(this.toArray(),e,t),this},this.toArray=function(){return[].concat(e)},this.on=function(e,i){return t.on.apply(t,arguments),this},this.off=function(e,i){return t.off.apply(t,arguments),this}};n.prototype.EventType={ItemAdded:\\\"ItemAdded\\\",ItemRemoved:\\\"ItemRemoved\\\"},e.exports=n},6142:(e,t,i)=>{\\\"use strict\\\";i.r(t),i.d(t,{_Bu:()=>PA,_xn:()=>bA});\\n/**\\n * @licstart The following is the entire license notice for the\\n * JavaScript code in this page\\n *\\n * Copyright 2024 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 */\\nvar A={9306:(e,t,i)=>{var A=i(4901),n=i(6823),r=TypeError;e.exports=function(e){if(A(e))return e;throw new r(n(e)+\\\" is not a function\\\")}},3506:(e,t,i)=>{var A=i(3925),n=String,r=TypeError;e.exports=function(e){if(A(e))return e;throw new r(\\\"Can't set \\\"+n(e)+\\\" as a prototype\\\")}},7080:(e,t,i)=>{var A=i(4402).has;e.exports=function(e){return A(e),e}},679:(e,t,i)=>{var A=i(1625),n=TypeError;e.exports=function(e,t){if(A(t,e))return e;throw new n(\\\"Incorrect invocation\\\")}},8551:(e,t,i)=>{var A=i(34),n=String,r=TypeError;e.exports=function(e){if(A(e))return e;throw new r(n(e)+\\\" is not an object\\\")}},7811:e=>{e.exports=\\\"undefined\\\"!=typeof ArrayBuffer&&\\\"undefined\\\"!=typeof DataView},7394:(e,t,i)=>{var A=i(6706),n=i(4576),r=TypeError;e.exports=A(ArrayBuffer.prototype,\\\"byteLength\\\",\\\"get\\\")||function(e){if(\\\"ArrayBuffer\\\"!==n(e))throw new r(\\\"ArrayBuffer expected\\\");return e.byteLength}},3238:(e,t,i)=>{var A=i(9504),n=i(7394),r=A(ArrayBuffer.prototype.slice);e.exports=function(e){if(0!==n(e))return!1;try{return r(e,0,0),!1}catch(e){return!0}}},5636:(e,t,i)=>{var A=i(4475),n=i(9504),r=i(6706),a=i(7696),s=i(3238),o=i(7394),c=i(4483),g=i(1548),h=A.structuredClone,l=A.ArrayBuffer,u=A.DataView,d=A.TypeError,I=Math.min,C=l.prototype,f=u.prototype,p=n(C.slice),B=r(C,\\\"resizable\\\",\\\"get\\\"),m=r(C,\\\"maxByteLength\\\",\\\"get\\\"),E=n(f.getInt8),Q=n(f.setInt8);e.exports=(g||c)&&function(e,t,i){var A,n=o(e),r=void 0===t?n:a(t),C=!B||!B(e);if(s(e))throw new d(\\\"ArrayBuffer is detached\\\");if(g&&(e=h(e,{transfer:[e]}),n===r&&(i||C)))return e;if(n>=r&&(!i||C))A=p(e,0,r);else{var f=i&&!C&&m?{maxByteLength:m(e)}:void 0;A=new l(r,f);for(var _=new u(e),y=new u(A),w=I(r,n),b=0;b{var A,n,r,a=i(7811),s=i(3724),o=i(4475),c=i(4901),g=i(34),h=i(9297),l=i(6955),u=i(6823),d=i(6699),I=i(6840),C=i(2106),f=i(1625),p=i(2787),B=i(2967),m=i(8227),E=i(3392),Q=i(1181),_=Q.enforce,y=Q.get,w=o.Int8Array,b=w&&w.prototype,v=o.Uint8ClampedArray,k=v&&v.prototype,x=w&&p(w),D=b&&p(b),S=Object.prototype,P=o.TypeError,R=m(\\\"toStringTag\\\"),M=E(\\\"TYPED_ARRAY_TAG\\\"),F=\\\"TypedArrayConstructor\\\",T=a&&!!B&&\\\"Opera\\\"!==l(o.opera),N=!1,U={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},G={BigInt64Array:8,BigUint64Array:8},L=function(e){var t=p(e);if(g(t)){var i=y(t);return i&&h(i,F)?i[F]:L(t)}},H=function(e){if(!g(e))return!1;var t=l(e);return h(U,t)||h(G,t)};for(A in U)(r=(n=o[A])&&n.prototype)?_(r)[F]=n:T=!1;for(A in G)(r=(n=o[A])&&n.prototype)&&(_(r)[F]=n);if((!T||!c(x)||x===Function.prototype)&&(x=function(){throw new P(\\\"Incorrect invocation\\\")},T))for(A in U)o[A]&&B(o[A],x);if((!T||!D||D===S)&&(D=x.prototype,T))for(A in U)o[A]&&B(o[A].prototype,D);if(T&&p(k)!==D&&B(k,D),s&&!h(D,R))for(A in N=!0,C(D,R,{configurable:!0,get:function(){return g(this)?this[M]:void 0}}),U)o[A]&&d(o[A],M,A);e.exports={NATIVE_ARRAY_BUFFER_VIEWS:T,TYPED_ARRAY_TAG:N&&M,aTypedArray:function(e){if(H(e))return e;throw new P(\\\"Target is not a typed array\\\")},aTypedArrayConstructor:function(e){if(c(e)&&(!B||f(x,e)))return e;throw new P(u(e)+\\\" is not a typed array constructor\\\")},exportTypedArrayMethod:function(e,t,i,A){if(s){if(i)for(var n in U){var r=o[n];if(r&&h(r.prototype,e))try{delete r.prototype[e]}catch(i){try{r.prototype[e]=t}catch(e){}}}D[e]&&!i||I(D,e,i?t:T&&b[e]||t,A)}},exportTypedArrayStaticMethod:function(e,t,i){var A,n;if(s){if(B){if(i)for(A in U)if((n=o[A])&&h(n,e))try{delete n[e]}catch(e){}if(x[e]&&!i)return;try{return I(x,e,i?t:T&&x[e]||t)}catch(e){}}for(A in U)!(n=o[A])||n[e]&&!i||I(n,e,t)}},getTypedArrayConstructor:L,isView:function(e){if(!g(e))return!1;var t=l(e);return\\\"DataView\\\"===t||h(U,t)||h(G,t)},isTypedArray:H,TypedArray:x,TypedArrayPrototype:D}},5370:(e,t,i)=>{var A=i(6198);e.exports=function(e,t,i){for(var n=0,r=arguments.length>2?i:A(t),a=new e(r);r>n;)a[n]=t[n++];return a}},9617:(e,t,i)=>{var A=i(5397),n=i(5610),r=i(6198),a=function(e){return function(t,i,a){var s=A(t),o=r(s);if(0===o)return!e&&-1;var c,g=n(a,o);if(e&&i!=i){for(;o>g;)if((c=s[g++])!=c)return!0}else for(;o>g;g++)if((e||g in s)&&s[g]===i)return e||g||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},4527:(e,t,i)=>{var A=i(3724),n=i(4376),r=TypeError,a=Object.getOwnPropertyDescriptor,s=A&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],\\\"length\\\",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=s?function(e,t){if(n(e)&&!a(e,\\\"length\\\").writable)throw new r(\\\"Cannot set read only .length\\\");return e.length=t}:function(e,t){return e.length=t}},7628:(e,t,i)=>{var A=i(6198);e.exports=function(e,t){for(var i=A(e),n=new t(i),r=0;r{var A=i(6198),n=i(1291),r=RangeError;e.exports=function(e,t,i,a){var s=A(e),o=n(i),c=o<0?s+o:o;if(c>=s||c<0)throw new r(\\\"Incorrect index\\\");for(var g=new t(s),h=0;h{var A=i(8551),n=i(9539);e.exports=function(e,t,i,r){try{return r?t(A(i)[0],i[1]):t(i)}catch(t){n(e,\\\"throw\\\",t)}}},4576:(e,t,i)=>{var A=i(9504),n=A({}.toString),r=A(\\\"\\\".slice);e.exports=function(e){return r(n(e),8,-1)}},6955:(e,t,i)=>{var A=i(2140),n=i(4901),r=i(4576),a=i(8227)(\\\"toStringTag\\\"),s=Object,o=\\\"Arguments\\\"===r(function(){return arguments}());e.exports=A?r:function(e){var t,i,A;return void 0===e?\\\"Undefined\\\":null===e?\\\"Null\\\":\\\"string\\\"==typeof(i=function(e,t){try{return e[t]}catch(e){}}(t=s(e),a))?i:o?r(t):\\\"Object\\\"===(A=r(t))&&n(t.callee)?\\\"Arguments\\\":A}},7740:(e,t,i)=>{var A=i(9297),n=i(5031),r=i(7347),a=i(4913);e.exports=function(e,t,i){for(var s=n(t),o=a.f,c=r.f,g=0;g{var A=i(9039);e.exports=!A((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},2529:e=>{e.exports=function(e,t){return{value:e,done:t}}},6699:(e,t,i)=>{var A=i(3724),n=i(4913),r=i(6980);e.exports=A?function(e,t,i){return n.f(e,t,r(1,i))}:function(e,t,i){return e[t]=i,e}},6980:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},4659:(e,t,i)=>{var A=i(3724),n=i(4913),r=i(6980);e.exports=function(e,t,i){A?n.f(e,t,r(0,i)):e[t]=i}},2106:(e,t,i)=>{var A=i(283),n=i(4913);e.exports=function(e,t,i){return i.get&&A(i.get,t,{getter:!0}),i.set&&A(i.set,t,{setter:!0}),n.f(e,t,i)}},6840:(e,t,i)=>{var A=i(4901),n=i(4913),r=i(283),a=i(9433);e.exports=function(e,t,i,s){s||(s={});var o=s.enumerable,c=void 0!==s.name?s.name:t;if(A(i)&&r(i,c,s),s.global)o?e[t]=i:a(t,i);else{try{s.unsafe?e[t]&&(o=!0):delete e[t]}catch(e){}o?e[t]=i:n.f(e,t,{value:i,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return e}},6279:(e,t,i)=>{var A=i(6840);e.exports=function(e,t,i){for(var n in t)A(e,n,t[n],i);return e}},9433:(e,t,i)=>{var A=i(4475),n=Object.defineProperty;e.exports=function(e,t){try{n(A,e,{value:t,configurable:!0,writable:!0})}catch(i){A[e]=t}return t}},3724:(e,t,i)=>{var A=i(9039);e.exports=!A((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},4483:(e,t,i)=>{var A,n,r,a,s=i(4475),o=i(9714),c=i(1548),g=s.structuredClone,h=s.ArrayBuffer,l=s.MessageChannel,u=!1;if(c)u=function(e){g(e,{transfer:[e]})};else if(h)try{l||(A=o(\\\"worker_threads\\\"))&&(l=A.MessageChannel),l&&(n=new l,r=new h(2),a=function(e){n.port1.postMessage(null,[e])},2===r.byteLength&&(a(r),0===r.byteLength&&(u=a)))}catch(e){}e.exports=u},4055:(e,t,i)=>{var A=i(4475),n=i(34),r=A.document,a=n(r)&&n(r.createElement);e.exports=function(e){return a?r.createElement(e):{}}},6837:e=>{var t=TypeError;e.exports=function(e){if(e>9007199254740991)throw t(\\\"Maximum allowed index exceeded\\\");return e}},5002:e=>{e.exports={IndexSizeError:{s:\\\"INDEX_SIZE_ERR\\\",c:1,m:1},DOMStringSizeError:{s:\\\"DOMSTRING_SIZE_ERR\\\",c:2,m:0},HierarchyRequestError:{s:\\\"HIERARCHY_REQUEST_ERR\\\",c:3,m:1},WrongDocumentError:{s:\\\"WRONG_DOCUMENT_ERR\\\",c:4,m:1},InvalidCharacterError:{s:\\\"INVALID_CHARACTER_ERR\\\",c:5,m:1},NoDataAllowedError:{s:\\\"NO_DATA_ALLOWED_ERR\\\",c:6,m:0},NoModificationAllowedError:{s:\\\"NO_MODIFICATION_ALLOWED_ERR\\\",c:7,m:1},NotFoundError:{s:\\\"NOT_FOUND_ERR\\\",c:8,m:1},NotSupportedError:{s:\\\"NOT_SUPPORTED_ERR\\\",c:9,m:1},InUseAttributeError:{s:\\\"INUSE_ATTRIBUTE_ERR\\\",c:10,m:1},InvalidStateError:{s:\\\"INVALID_STATE_ERR\\\",c:11,m:1},SyntaxError:{s:\\\"SYNTAX_ERR\\\",c:12,m:1},InvalidModificationError:{s:\\\"INVALID_MODIFICATION_ERR\\\",c:13,m:1},NamespaceError:{s:\\\"NAMESPACE_ERR\\\",c:14,m:1},InvalidAccessError:{s:\\\"INVALID_ACCESS_ERR\\\",c:15,m:1},ValidationError:{s:\\\"VALIDATION_ERR\\\",c:16,m:0},TypeMismatchError:{s:\\\"TYPE_MISMATCH_ERR\\\",c:17,m:1},SecurityError:{s:\\\"SECURITY_ERR\\\",c:18,m:1},NetworkError:{s:\\\"NETWORK_ERR\\\",c:19,m:1},AbortError:{s:\\\"ABORT_ERR\\\",c:20,m:1},URLMismatchError:{s:\\\"URL_MISMATCH_ERR\\\",c:21,m:1},QuotaExceededError:{s:\\\"QUOTA_EXCEEDED_ERR\\\",c:22,m:1},TimeoutError:{s:\\\"TIMEOUT_ERR\\\",c:23,m:1},InvalidNodeTypeError:{s:\\\"INVALID_NODE_TYPE_ERR\\\",c:24,m:1},DataCloneError:{s:\\\"DATA_CLONE_ERR\\\",c:25,m:1}}},7290:(e,t,i)=>{var A=i(516),n=i(9088);e.exports=!A&&!n&&\\\"object\\\"==typeof window&&\\\"object\\\"==typeof document},516:e=>{e.exports=\\\"object\\\"==typeof Deno&&Deno&&\\\"object\\\"==typeof Deno.version},9088:(e,t,i)=>{var A=i(4475),n=i(4576);e.exports=\\\"process\\\"===n(A.process)},9392:e=>{e.exports=\\\"undefined\\\"!=typeof navigator&&String(navigator.userAgent)||\\\"\\\"},7388:(e,t,i)=>{var A,n,r=i(4475),a=i(9392),s=r.process,o=r.Deno,c=s&&s.versions||o&&o.version,g=c&&c.v8;g&&(n=(A=g.split(\\\".\\\"))[0]>0&&A[0]<4?1:+(A[0]+A[1])),!n&&a&&(!(A=a.match(/Edge\\\\/(\\\\d+)/))||A[1]>=74)&&(A=a.match(/Chrome\\\\/(\\\\d+)/))&&(n=+A[1]),e.exports=n},8727:e=>{e.exports=[\\\"constructor\\\",\\\"hasOwnProperty\\\",\\\"isPrototypeOf\\\",\\\"propertyIsEnumerable\\\",\\\"toLocaleString\\\",\\\"toString\\\",\\\"valueOf\\\"]},6193:(e,t,i)=>{var A=i(9504),n=Error,r=A(\\\"\\\".replace),a=String(new n(\\\"zxcasd\\\").stack),s=/\\\\n\\\\s*at [^:]*:[^\\\\n]*/,o=s.test(a);e.exports=function(e,t){if(o&&\\\"string\\\"==typeof e&&!n.prepareStackTrace)for(;t--;)e=r(e,s,\\\"\\\");return e}},6518:(e,t,i)=>{var A=i(4475),n=i(7347).f,r=i(6699),a=i(6840),s=i(9433),o=i(7740),c=i(2796);e.exports=function(e,t){var i,g,h,l,u,d=e.target,I=e.global,C=e.stat;if(i=I?A:C?A[d]||s(d,{}):A[d]&&A[d].prototype)for(g in t){if(l=t[g],h=e.dontCallGetSet?(u=n(i,g))&&u.value:i[g],!c(I?g:d+(C?\\\".\\\":\\\"#\\\")+g,e.forced)&&void 0!==h){if(typeof l==typeof h)continue;o(l,h)}(e.sham||h&&h.sham)&&r(l,\\\"sham\\\",!0),a(i,g,l,e)}}},9039:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},6080:(e,t,i)=>{var A=i(7476),n=i(9306),r=i(616),a=A(A.bind);e.exports=function(e,t){return n(e),void 0===t?e:r?a(e,t):function(){return e.apply(t,arguments)}}},616:(e,t,i)=>{var A=i(9039);e.exports=!A((function(){var e=function(){}.bind();return\\\"function\\\"!=typeof e||e.hasOwnProperty(\\\"prototype\\\")}))},9565:(e,t,i)=>{var A=i(616),n=Function.prototype.call;e.exports=A?n.bind(n):function(){return n.apply(n,arguments)}},350:(e,t,i)=>{var A=i(3724),n=i(9297),r=Function.prototype,a=A&&Object.getOwnPropertyDescriptor,s=n(r,\\\"name\\\"),o=s&&\\\"something\\\"===function(){}.name,c=s&&(!A||A&&a(r,\\\"name\\\").configurable);e.exports={EXISTS:s,PROPER:o,CONFIGURABLE:c}},6706:(e,t,i)=>{var A=i(9504),n=i(9306);e.exports=function(e,t,i){try{return A(n(Object.getOwnPropertyDescriptor(e,t)[i]))}catch(e){}}},7476:(e,t,i)=>{var A=i(4576),n=i(9504);e.exports=function(e){if(\\\"Function\\\"===A(e))return n(e)}},9504:(e,t,i)=>{var A=i(616),n=Function.prototype,r=n.call,a=A&&n.bind.bind(r,r);e.exports=A?a:function(e){return function(){return r.apply(e,arguments)}}},7751:(e,t,i)=>{var A=i(4475),n=i(4901);e.exports=function(e,t){return arguments.length<2?(i=A[e],n(i)?i:void 0):A[e]&&A[e][t];var i}},1767:e=>{e.exports=function(e){return{iterator:e,next:e.next,done:!1}}},8646:(e,t,i)=>{var A=i(9565),n=i(8551),r=i(1767),a=i(851);e.exports=function(e,t){t&&\\\"string\\\"==typeof e||n(e);var i=a(e);return r(n(void 0!==i?A(i,e):e))}},851:(e,t,i)=>{var A=i(6955),n=i(5966),r=i(4117),a=i(6269),s=i(8227)(\\\"iterator\\\");e.exports=function(e){if(!r(e))return n(e,s)||n(e,\\\"@@iterator\\\")||a[A(e)]}},81:(e,t,i)=>{var A=i(9565),n=i(9306),r=i(8551),a=i(6823),s=i(851),o=TypeError;e.exports=function(e,t){var i=arguments.length<2?s(e):t;if(n(i))return r(A(i,e));throw new o(a(e)+\\\" is not iterable\\\")}},5966:(e,t,i)=>{var A=i(9306),n=i(4117);e.exports=function(e,t){var i=e[t];return n(i)?void 0:A(i)}},3789:(e,t,i)=>{var A=i(9306),n=i(8551),r=i(9565),a=i(1291),s=i(1767),o=\\\"Invalid size\\\",c=RangeError,g=TypeError,h=Math.max,l=function(e,t){this.set=e,this.size=h(t,0),this.has=A(e.has),this.keys=A(e.keys)};l.prototype={getIterator:function(){return s(n(r(this.keys,this.set)))},includes:function(e){return r(this.has,this.set,e)}},e.exports=function(e){n(e);var t=+e.size;if(t!=t)throw new g(o);var i=a(t);if(i<0)throw new c(o);return new l(e,i)}},4475:function(e){var t=function(e){return e&&e.Math===Math&&e};e.exports=t(\\\"object\\\"==typeof globalThis&&globalThis)||t(\\\"object\\\"==typeof window&&window)||t(\\\"object\\\"==typeof self&&self)||t(\\\"object\\\"==typeof global&&global)||t(\\\"object\\\"==typeof this&&this)||function(){return this}()||Function(\\\"return this\\\")()},9297:(e,t,i)=>{var A=i(9504),n=i(8981),r=A({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return r(n(e),t)}},421:e=>{e.exports={}},397:(e,t,i)=>{var A=i(7751);e.exports=A(\\\"document\\\",\\\"documentElement\\\")},5917:(e,t,i)=>{var A=i(3724),n=i(9039),r=i(4055);e.exports=!A&&!n((function(){return 7!==Object.defineProperty(r(\\\"div\\\"),\\\"a\\\",{get:function(){return 7}}).a}))},7055:(e,t,i)=>{var A=i(9504),n=i(9039),r=i(4576),a=Object,s=A(\\\"\\\".split);e.exports=n((function(){return!a(\\\"z\\\").propertyIsEnumerable(0)}))?function(e){return\\\"String\\\"===r(e)?s(e,\\\"\\\"):a(e)}:a},3167:(e,t,i)=>{var A=i(4901),n=i(34),r=i(2967);e.exports=function(e,t,i){var a,s;return r&&A(a=t.constructor)&&a!==i&&n(s=a.prototype)&&s!==i.prototype&&r(e,s),e}},3706:(e,t,i)=>{var A=i(9504),n=i(4901),r=i(7629),a=A(Function.toString);n(r.inspectSource)||(r.inspectSource=function(e){return a(e)}),e.exports=r.inspectSource},1181:(e,t,i)=>{var A,n,r,a=i(8622),s=i(4475),o=i(34),c=i(6699),g=i(9297),h=i(7629),l=i(6119),u=i(421),d=\\\"Object already initialized\\\",I=s.TypeError,C=s.WeakMap;if(a||h.state){var f=h.state||(h.state=new C);f.get=f.get,f.has=f.has,f.set=f.set,A=function(e,t){if(f.has(e))throw new I(d);return t.facade=e,f.set(e,t),t},n=function(e){return f.get(e)||{}},r=function(e){return f.has(e)}}else{var p=l(\\\"state\\\");u[p]=!0,A=function(e,t){if(g(e,p))throw new I(d);return t.facade=e,c(e,p,t),t},n=function(e){return g(e,p)?e[p]:{}},r=function(e){return g(e,p)}}e.exports={set:A,get:n,has:r,enforce:function(e){return r(e)?n(e):A(e,{})},getterFor:function(e){return function(t){var i;if(!o(t)||(i=n(t)).type!==e)throw new I(\\\"Incompatible receiver, \\\"+e+\\\" required\\\");return i}}}},4209:(e,t,i)=>{var A=i(8227),n=i(6269),r=A(\\\"iterator\\\"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(n.Array===e||a[r]===e)}},4376:(e,t,i)=>{var A=i(4576);e.exports=Array.isArray||function(e){return\\\"Array\\\"===A(e)}},1108:(e,t,i)=>{var A=i(6955);e.exports=function(e){var t=A(e);return\\\"BigInt64Array\\\"===t||\\\"BigUint64Array\\\"===t}},4901:e=>{var t=\\\"object\\\"==typeof document&&document.all;e.exports=void 0===t&&void 0!==t?function(e){return\\\"function\\\"==typeof e||e===t}:function(e){return\\\"function\\\"==typeof e}},2796:(e,t,i)=>{var A=i(9039),n=i(4901),r=/#|\\\\.prototype\\\\./,a=function(e,t){var i=o[s(e)];return i===g||i!==c&&(n(t)?A(t):!!t)},s=a.normalize=function(e){return String(e).replace(r,\\\".\\\").toLowerCase()},o=a.data={},c=a.NATIVE=\\\"N\\\",g=a.POLYFILL=\\\"P\\\";e.exports=a},4117:e=>{e.exports=function(e){return null==e}},34:(e,t,i)=>{var A=i(4901);e.exports=function(e){return\\\"object\\\"==typeof e?null!==e:A(e)}},3925:(e,t,i)=>{var A=i(34);e.exports=function(e){return A(e)||null===e}},6395:e=>{e.exports=!1},757:(e,t,i)=>{var A=i(7751),n=i(4901),r=i(1625),a=i(7040),s=Object;e.exports=a?function(e){return\\\"symbol\\\"==typeof e}:function(e){var t=A(\\\"Symbol\\\");return n(t)&&r(t.prototype,s(e))}},507:(e,t,i)=>{var A=i(9565);e.exports=function(e,t,i){for(var n,r,a=i?e:e.iterator,s=e.next;!(n=A(s,a)).done;)if(void 0!==(r=t(n.value)))return r}},2652:(e,t,i)=>{var A=i(6080),n=i(9565),r=i(8551),a=i(6823),s=i(4209),o=i(6198),c=i(1625),g=i(81),h=i(851),l=i(9539),u=TypeError,d=function(e,t){this.stopped=e,this.result=t},I=d.prototype;e.exports=function(e,t,i){var C,f,p,B,m,E,Q,_=i&&i.that,y=!(!i||!i.AS_ENTRIES),w=!(!i||!i.IS_RECORD),b=!(!i||!i.IS_ITERATOR),v=!(!i||!i.INTERRUPTED),k=A(t,_),x=function(e){return C&&l(C,\\\"normal\\\",e),new d(!0,e)},D=function(e){return y?(r(e),v?k(e[0],e[1],x):k(e[0],e[1])):v?k(e,x):k(e)};if(w)C=e.iterator;else if(b)C=e;else{if(!(f=h(e)))throw new u(a(e)+\\\" is not iterable\\\");if(s(f)){for(p=0,B=o(e);B>p;p++)if((m=D(e[p]))&&c(I,m))return m;return new d(!1)}C=g(e,f)}for(E=w?e.next:C.next;!(Q=n(E,C)).done;){try{m=D(Q.value)}catch(e){l(C,\\\"throw\\\",e)}if(\\\"object\\\"==typeof m&&m&&c(I,m))return m}return new d(!1)}},9539:(e,t,i)=>{var A=i(9565),n=i(8551),r=i(5966);e.exports=function(e,t,i){var a,s;n(e);try{if(!(a=r(e,\\\"return\\\"))){if(\\\"throw\\\"===t)throw i;return i}a=A(a,e)}catch(e){s=!0,a=e}if(\\\"throw\\\"===t)throw i;if(s)throw a;return n(a),i}},9462:(e,t,i)=>{var A=i(9565),n=i(2360),r=i(6699),a=i(6279),s=i(8227),o=i(1181),c=i(5966),g=i(7657).IteratorPrototype,h=i(2529),l=i(9539),u=s(\\\"toStringTag\\\"),d=\\\"IteratorHelper\\\",I=\\\"WrapForValidIterator\\\",C=o.set,f=function(e){var t=o.getterFor(e?I:d);return a(n(g),{next:function(){var i=t(this);if(e)return i.nextHandler();try{var A=i.done?void 0:i.nextHandler();return h(A,i.done)}catch(e){throw i.done=!0,e}},return:function(){var i=t(this),n=i.iterator;if(i.done=!0,e){var r=c(n,\\\"return\\\");return r?A(r,n):h(void 0,!0)}if(i.inner)try{l(i.inner.iterator,\\\"normal\\\")}catch(e){return l(n,\\\"throw\\\",e)}return l(n,\\\"normal\\\"),h(void 0,!0)}})},p=f(!0),B=f(!1);r(B,u,\\\"Iterator Helper\\\"),e.exports=function(e,t){var i=function(i,A){A?(A.iterator=i.iterator,A.next=i.next):A=i,A.type=t?I:d,A.nextHandler=e,A.counter=0,A.done=!1,C(this,A)};return i.prototype=t?p:B,i}},713:(e,t,i)=>{var A=i(9565),n=i(9306),r=i(8551),a=i(1767),s=i(9462),o=i(6319),c=s((function(){var e=this.iterator,t=r(A(this.next,e));if(!(this.done=!!t.done))return o(e,this.mapper,[t.value,this.counter++],!0)}));e.exports=function(e){return r(this),n(e),new c(a(this),{mapper:e})}},7657:(e,t,i)=>{var A,n,r,a=i(9039),s=i(4901),o=i(34),c=i(2360),g=i(2787),h=i(6840),l=i(8227),u=i(6395),d=l(\\\"iterator\\\"),I=!1;[].keys&&(\\\"next\\\"in(r=[].keys())?(n=g(g(r)))!==Object.prototype&&(A=n):I=!0),!o(A)||a((function(){var e={};return A[d].call(e)!==e}))?A={}:u&&(A=c(A)),s(A[d])||h(A,d,(function(){return this})),e.exports={IteratorPrototype:A,BUGGY_SAFARI_ITERATORS:I}},6269:e=>{e.exports={}},6198:(e,t,i)=>{var A=i(8014);e.exports=function(e){return A(e.length)}},283:(e,t,i)=>{var A=i(9504),n=i(9039),r=i(4901),a=i(9297),s=i(3724),o=i(350).CONFIGURABLE,c=i(3706),g=i(1181),h=g.enforce,l=g.get,u=String,d=Object.defineProperty,I=A(\\\"\\\".slice),C=A(\\\"\\\".replace),f=A([].join),p=s&&!n((function(){return 8!==d((function(){}),\\\"length\\\",{value:8}).length})),B=String(String).split(\\\"String\\\"),m=e.exports=function(e,t,i){\\\"Symbol(\\\"===I(u(t),0,7)&&(t=\\\"[\\\"+C(u(t),/^Symbol\\\\(([^)]*)\\\\).*$/,\\\"$1\\\")+\\\"]\\\"),i&&i.getter&&(t=\\\"get \\\"+t),i&&i.setter&&(t=\\\"set \\\"+t),(!a(e,\\\"name\\\")||o&&e.name!==t)&&(s?d(e,\\\"name\\\",{value:t,configurable:!0}):e.name=t),p&&i&&a(i,\\\"arity\\\")&&e.length!==i.arity&&d(e,\\\"length\\\",{value:i.arity});try{i&&a(i,\\\"constructor\\\")&&i.constructor?s&&d(e,\\\"prototype\\\",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var A=h(e);return a(A,\\\"source\\\")||(A.source=f(B,\\\"string\\\"==typeof t?t:\\\"\\\")),e};Function.prototype.toString=m((function(){return r(this)&&l(this).source||c(this)}),\\\"toString\\\")},741:e=>{var t=Math.ceil,i=Math.floor;e.exports=Math.trunc||function(e){var A=+e;return(A>0?i:t)(A)}},6043:(e,t,i)=>{var A=i(9306),n=TypeError,r=function(e){var t,i;this.promise=new e((function(e,A){if(void 0!==t||void 0!==i)throw new n(\\\"Bad Promise constructor\\\");t=e,i=A})),this.resolve=A(t),this.reject=A(i)};e.exports.f=function(e){return new r(e)}},2603:(e,t,i)=>{var A=i(655);e.exports=function(e,t){return void 0===e?arguments.length<2?\\\"\\\":t:A(e)}},4149:e=>{var t=RangeError;e.exports=function(e){if(e==e)return e;throw new t(\\\"NaN is not allowed\\\")}},2360:(e,t,i)=>{var A,n=i(8551),r=i(6801),a=i(8727),s=i(421),o=i(397),c=i(4055),g=i(6119),h=\\\"prototype\\\",l=\\\"script\\\",u=g(\\\"IE_PROTO\\\"),d=function(){},I=function(e){return\\\"<\\\"+l+\\\">\\\"+e+\\\"\\\"},C=function(e){e.write(I(\\\"\\\")),e.close();var t=e.parentWindow.Object;return e=null,t},f=function(){try{A=new ActiveXObject(\\\"htmlfile\\\")}catch(e){}f=\\\"undefined\\\"!=typeof document?document.domain&&A?C(A):function(){var e,t=c(\\\"iframe\\\");return t.style.display=\\\"none\\\",o.appendChild(t),t.src=String(\\\"javascript:\\\"),(e=t.contentWindow.document).open(),e.write(I(\\\"document.F=Object\\\")),e.close(),e.F}():C(A);for(var e=a.length;e--;)delete f[h][a[e]];return f()};s[u]=!0,e.exports=Object.create||function(e,t){var i;return null!==e?(d[h]=n(e),i=new d,d[h]=null,i[u]=e):i=f(),void 0===t?i:r.f(i,t)}},6801:(e,t,i)=>{var A=i(3724),n=i(8686),r=i(4913),a=i(8551),s=i(5397),o=i(1072);t.f=A&&!n?Object.defineProperties:function(e,t){a(e);for(var i,A=s(t),n=o(t),c=n.length,g=0;c>g;)r.f(e,i=n[g++],A[i]);return e}},4913:(e,t,i)=>{var A=i(3724),n=i(5917),r=i(8686),a=i(8551),s=i(6969),o=TypeError,c=Object.defineProperty,g=Object.getOwnPropertyDescriptor,h=\\\"enumerable\\\",l=\\\"configurable\\\",u=\\\"writable\\\";t.f=A?r?function(e,t,i){if(a(e),t=s(t),a(i),\\\"function\\\"==typeof e&&\\\"prototype\\\"===t&&\\\"value\\\"in i&&u in i&&!i[u]){var A=g(e,t);A&&A[u]&&(e[t]=i.value,i={configurable:l in i?i[l]:A[l],enumerable:h in i?i[h]:A[h],writable:!1})}return c(e,t,i)}:c:function(e,t,i){if(a(e),t=s(t),a(i),n)try{return c(e,t,i)}catch(e){}if(\\\"get\\\"in i||\\\"set\\\"in i)throw new o(\\\"Accessors not supported\\\");return\\\"value\\\"in i&&(e[t]=i.value),e}},7347:(e,t,i)=>{var A=i(3724),n=i(9565),r=i(8773),a=i(6980),s=i(5397),o=i(6969),c=i(9297),g=i(5917),h=Object.getOwnPropertyDescriptor;t.f=A?h:function(e,t){if(e=s(e),t=o(t),g)try{return h(e,t)}catch(e){}if(c(e,t))return a(!n(r.f,e,t),e[t])}},8480:(e,t,i)=>{var A=i(1828),n=i(8727).concat(\\\"length\\\",\\\"prototype\\\");t.f=Object.getOwnPropertyNames||function(e){return A(e,n)}},3717:(e,t)=>{t.f=Object.getOwnPropertySymbols},2787:(e,t,i)=>{var A=i(9297),n=i(4901),r=i(8981),a=i(6119),s=i(2211),o=a(\\\"IE_PROTO\\\"),c=Object,g=c.prototype;e.exports=s?c.getPrototypeOf:function(e){var t=r(e);if(A(t,o))return t[o];var i=t.constructor;return n(i)&&t instanceof i?i.prototype:t instanceof c?g:null}},1625:(e,t,i)=>{var A=i(9504);e.exports=A({}.isPrototypeOf)},1828:(e,t,i)=>{var A=i(9504),n=i(9297),r=i(5397),a=i(9617).indexOf,s=i(421),o=A([].push);e.exports=function(e,t){var i,A=r(e),c=0,g=[];for(i in A)!n(s,i)&&n(A,i)&&o(g,i);for(;t.length>c;)n(A,i=t[c++])&&(~a(g,i)||o(g,i));return g}},1072:(e,t,i)=>{var A=i(1828),n=i(8727);e.exports=Object.keys||function(e){return A(e,n)}},8773:(e,t)=>{var i={}.propertyIsEnumerable,A=Object.getOwnPropertyDescriptor,n=A&&!i.call({1:2},1);t.f=n?function(e){var t=A(this,e);return!!t&&t.enumerable}:i},2967:(e,t,i)=>{var A=i(6706),n=i(34),r=i(7750),a=i(3506);e.exports=Object.setPrototypeOf||(\\\"__proto__\\\"in{}?function(){var e,t=!1,i={};try{(e=A(Object.prototype,\\\"__proto__\\\",\\\"set\\\"))(i,[]),t=i instanceof Array}catch(e){}return function(i,A){return r(i),a(A),n(i)?(t?e(i,A):i.__proto__=A,i):i}}():void 0)},4270:(e,t,i)=>{var A=i(9565),n=i(4901),r=i(34),a=TypeError;e.exports=function(e,t){var i,s;if(\\\"string\\\"===t&&n(i=e.toString)&&!r(s=A(i,e)))return s;if(n(i=e.valueOf)&&!r(s=A(i,e)))return s;if(\\\"string\\\"!==t&&n(i=e.toString)&&!r(s=A(i,e)))return s;throw new a(\\\"Can't convert object to primitive value\\\")}},5031:(e,t,i)=>{var A=i(7751),n=i(9504),r=i(8480),a=i(3717),s=i(8551),o=n([].concat);e.exports=A(\\\"Reflect\\\",\\\"ownKeys\\\")||function(e){var t=r.f(s(e)),i=a.f;return i?o(t,i(e)):t}},8235:(e,t,i)=>{var A=i(9504),n=i(9297),r=SyntaxError,a=parseInt,s=String.fromCharCode,o=A(\\\"\\\".charAt),c=A(\\\"\\\".slice),g=A(/./.exec),h={'\\\\\\\\\\\"':'\\\"',\\\"\\\\\\\\\\\\\\\\\\\":\\\"\\\\\\\\\\\",\\\"\\\\\\\\/\\\":\\\"/\\\",\\\"\\\\\\\\b\\\":\\\"\\\\b\\\",\\\"\\\\\\\\f\\\":\\\"\\\\f\\\",\\\"\\\\\\\\n\\\":\\\"\\\\n\\\",\\\"\\\\\\\\r\\\":\\\"\\\\r\\\",\\\"\\\\\\\\t\\\":\\\"\\\\t\\\"},l=/^[\\\\da-f]{4}$/i,u=/^[\\\\u0000-\\\\u001F]$/;e.exports=function(e,t){for(var i=!0,A=\\\"\\\";t{var A=i(4117),n=TypeError;e.exports=function(e){if(A(e))throw new n(\\\"Can't call method on \\\"+e);return e}},9286:(e,t,i)=>{var A=i(4402),n=i(8469),r=A.Set,a=A.add;e.exports=function(e){var t=new r;return n(e,(function(e){a(t,e)})),t}},3440:(e,t,i)=>{var A=i(7080),n=i(4402),r=i(9286),a=i(5170),s=i(3789),o=i(8469),c=i(507),g=n.has,h=n.remove;e.exports=function(e){var t=A(this),i=s(e),n=r(t);return a(t)<=i.size?o(t,(function(e){i.includes(e)&&h(n,e)})):c(i.getIterator(),(function(e){g(t,e)&&h(n,e)})),n}},4402:(e,t,i)=>{var A=i(9504),n=Set.prototype;e.exports={Set,add:A(n.add),has:A(n.has),remove:A(n.delete),proto:n}},8750:(e,t,i)=>{var A=i(7080),n=i(4402),r=i(5170),a=i(3789),s=i(8469),o=i(507),c=n.Set,g=n.add,h=n.has;e.exports=function(e){var t=A(this),i=a(e),n=new c;return r(t)>i.size?o(i.getIterator(),(function(e){h(t,e)&&g(n,e)})):s(t,(function(e){i.includes(e)&&g(n,e)})),n}},4449:(e,t,i)=>{var A=i(7080),n=i(4402).has,r=i(5170),a=i(3789),s=i(8469),o=i(507),c=i(9539);e.exports=function(e){var t=A(this),i=a(e);if(r(t)<=i.size)return!1!==s(t,(function(e){if(i.includes(e))return!1}),!0);var g=i.getIterator();return!1!==o(g,(function(e){if(n(t,e))return c(g,\\\"normal\\\",!1)}))}},3838:(e,t,i)=>{var A=i(7080),n=i(5170),r=i(8469),a=i(3789);e.exports=function(e){var t=A(this),i=a(e);return!(n(t)>i.size)&&!1!==r(t,(function(e){if(!i.includes(e))return!1}),!0)}},8527:(e,t,i)=>{var A=i(7080),n=i(4402).has,r=i(5170),a=i(3789),s=i(507),o=i(9539);e.exports=function(e){var t=A(this),i=a(e);if(r(t){var A=i(9504),n=i(507),r=i(4402),a=r.Set,s=r.proto,o=A(s.forEach),c=A(s.keys),g=c(new a).next;e.exports=function(e,t,i){return i?n({iterator:c(e),next:g},t):o(e,t)}},4916:(e,t,i)=>{var A=i(7751),n=function(e){return{size:e,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}};e.exports=function(e){var t=A(\\\"Set\\\");try{(new t)[e](n(0));try{return(new t)[e](n(-1)),!1}catch(e){return!0}}catch(e){return!1}}},5170:(e,t,i)=>{var A=i(6706),n=i(4402);e.exports=A(n.proto,\\\"size\\\",\\\"get\\\")||function(e){return e.size}},3650:(e,t,i)=>{var A=i(7080),n=i(4402),r=i(9286),a=i(3789),s=i(507),o=n.add,c=n.has,g=n.remove;e.exports=function(e){var t=A(this),i=a(e).getIterator(),n=r(t);return s(i,(function(e){c(t,e)?g(n,e):o(n,e)})),n}},4204:(e,t,i)=>{var A=i(7080),n=i(4402).add,r=i(9286),a=i(3789),s=i(507);e.exports=function(e){var t=A(this),i=a(e).getIterator(),o=r(t);return s(i,(function(e){n(o,e)})),o}},6119:(e,t,i)=>{var A=i(5745),n=i(3392),r=A(\\\"keys\\\");e.exports=function(e){return r[e]||(r[e]=n(e))}},7629:(e,t,i)=>{var A=i(6395),n=i(4475),r=i(9433),a=\\\"__core-js_shared__\\\",s=e.exports=n[a]||r(a,{});(s.versions||(s.versions=[])).push({version:\\\"3.37.1\\\",mode:A?\\\"pure\\\":\\\"global\\\",copyright:\\\"© 2014-2024 Denis Pushkarev (zloirock.ru)\\\",license:\\\"https://github.com/zloirock/core-js/blob/v3.37.1/LICENSE\\\",source:\\\"https://github.com/zloirock/core-js\\\"})},5745:(e,t,i)=>{var A=i(7629);e.exports=function(e,t){return A[e]||(A[e]=t||{})}},1548:(e,t,i)=>{var A=i(4475),n=i(9039),r=i(7388),a=i(7290),s=i(516),o=i(9088),c=A.structuredClone;e.exports=!!c&&!n((function(){if(s&&r>92||o&&r>94||a&&r>97)return!1;var e=new ArrayBuffer(8),t=c(e,{transfer:[e]});return 0!==e.byteLength||8!==t.byteLength}))},4495:(e,t,i)=>{var A=i(7388),n=i(9039),r=i(4475).String;e.exports=!!Object.getOwnPropertySymbols&&!n((function(){var e=Symbol(\\\"symbol detection\\\");return!r(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&A&&A<41}))},5610:(e,t,i)=>{var A=i(1291),n=Math.max,r=Math.min;e.exports=function(e,t){var i=A(e);return i<0?n(i+t,0):r(i,t)}},5854:(e,t,i)=>{var A=i(2777),n=TypeError;e.exports=function(e){var t=A(e,\\\"number\\\");if(\\\"number\\\"==typeof t)throw new n(\\\"Can't convert number to bigint\\\");return BigInt(t)}},7696:(e,t,i)=>{var A=i(1291),n=i(8014),r=RangeError;e.exports=function(e){if(void 0===e)return 0;var t=A(e),i=n(t);if(t!==i)throw new r(\\\"Wrong length or index\\\");return i}},5397:(e,t,i)=>{var A=i(7055),n=i(7750);e.exports=function(e){return A(n(e))}},1291:(e,t,i)=>{var A=i(741);e.exports=function(e){var t=+e;return t!=t||0===t?0:A(t)}},8014:(e,t,i)=>{var A=i(1291),n=Math.min;e.exports=function(e){var t=A(e);return t>0?n(t,9007199254740991):0}},8981:(e,t,i)=>{var A=i(7750),n=Object;e.exports=function(e){return n(A(e))}},9590:(e,t,i)=>{var A=i(1291),n=RangeError;e.exports=function(e){var t=A(e);if(t<0)throw new n(\\\"The argument can't be less than 0\\\");return t}},2777:(e,t,i)=>{var A=i(9565),n=i(34),r=i(757),a=i(5966),s=i(4270),o=i(8227),c=TypeError,g=o(\\\"toPrimitive\\\");e.exports=function(e,t){if(!n(e)||r(e))return e;var i,o=a(e,g);if(o){if(void 0===t&&(t=\\\"default\\\"),i=A(o,e,t),!n(i)||r(i))return i;throw new c(\\\"Can't convert object to primitive value\\\")}return void 0===t&&(t=\\\"number\\\"),s(e,t)}},6969:(e,t,i)=>{var A=i(2777),n=i(757);e.exports=function(e){var t=A(e,\\\"string\\\");return n(t)?t:t+\\\"\\\"}},2140:(e,t,i)=>{var A={};A[i(8227)(\\\"toStringTag\\\")]=\\\"z\\\",e.exports=\\\"[object z]\\\"===String(A)},655:(e,t,i)=>{var A=i(6955),n=String;e.exports=function(e){if(\\\"Symbol\\\"===A(e))throw new TypeError(\\\"Cannot convert a Symbol value to a string\\\");return n(e)}},9714:(e,t,i)=>{var A=i(9088);e.exports=function(e){try{if(A)return Function('return require(\\\"'+e+'\\\")')()}catch(e){}}},6823:e=>{var t=String;e.exports=function(e){try{return t(e)}catch(e){return\\\"Object\\\"}}},3392:(e,t,i)=>{var A=i(9504),n=0,r=Math.random(),a=A(1..toString);e.exports=function(e){return\\\"Symbol(\\\"+(void 0===e?\\\"\\\":e)+\\\")_\\\"+a(++n+r,36)}},7040:(e,t,i)=>{var A=i(4495);e.exports=A&&!Symbol.sham&&\\\"symbol\\\"==typeof Symbol.iterator},8686:(e,t,i)=>{var A=i(3724),n=i(9039);e.exports=A&&n((function(){return 42!==Object.defineProperty((function(){}),\\\"prototype\\\",{value:42,writable:!1}).prototype}))},2812:e=>{var t=TypeError;e.exports=function(e,i){if(e{var A=i(4475),n=i(4901),r=A.WeakMap;e.exports=n(r)&&/native code/.test(String(r))},8227:(e,t,i)=>{var A=i(4475),n=i(5745),r=i(9297),a=i(3392),s=i(4495),o=i(7040),c=A.Symbol,g=n(\\\"wks\\\"),h=o?c.for||c:c&&c.withoutSetter||a;e.exports=function(e){return r(g,e)||(g[e]=s&&r(c,e)?c[e]:h(\\\"Symbol.\\\"+e)),g[e]}},6573:(e,t,i)=>{var A=i(3724),n=i(2106),r=i(3238),a=ArrayBuffer.prototype;A&&!(\\\"detached\\\"in a)&&n(a,\\\"detached\\\",{configurable:!0,get:function(){return r(this)}})},7936:(e,t,i)=>{var A=i(6518),n=i(5636);n&&A({target:\\\"ArrayBuffer\\\",proto:!0},{transferToFixedLength:function(){return n(this,arguments.length?arguments[0]:void 0,!1)}})},8100:(e,t,i)=>{var A=i(6518),n=i(5636);n&&A({target:\\\"ArrayBuffer\\\",proto:!0},{transfer:function(){return n(this,arguments.length?arguments[0]:void 0,!0)}})},4114:(e,t,i)=>{var A=i(6518),n=i(8981),r=i(6198),a=i(4527),s=i(6837);A({target:\\\"Array\\\",proto:!0,arity:1,forced:i(9039)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],\\\"length\\\",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function(e){var t=n(this),i=r(t),A=arguments.length;s(i+A);for(var o=0;o{var A=i(6518),n=i(6043);A({target:\\\"Promise\\\",stat:!0},{withResolvers:function(){var e=n.f(this);return{promise:e.promise,resolve:e.resolve,reject:e.reject}}})},7642:(e,t,i)=>{var A=i(6518),n=i(3440);A({target:\\\"Set\\\",proto:!0,real:!0,forced:!i(4916)(\\\"difference\\\")},{difference:n})},8004:(e,t,i)=>{var A=i(6518),n=i(9039),r=i(8750);A({target:\\\"Set\\\",proto:!0,real:!0,forced:!i(4916)(\\\"intersection\\\")||n((function(){return\\\"3,2\\\"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))}))},{intersection:r})},3853:(e,t,i)=>{var A=i(6518),n=i(4449);A({target:\\\"Set\\\",proto:!0,real:!0,forced:!i(4916)(\\\"isDisjointFrom\\\")},{isDisjointFrom:n})},5876:(e,t,i)=>{var A=i(6518),n=i(3838);A({target:\\\"Set\\\",proto:!0,real:!0,forced:!i(4916)(\\\"isSubsetOf\\\")},{isSubsetOf:n})},2475:(e,t,i)=>{var A=i(6518),n=i(8527);A({target:\\\"Set\\\",proto:!0,real:!0,forced:!i(4916)(\\\"isSupersetOf\\\")},{isSupersetOf:n})},5024:(e,t,i)=>{var A=i(6518),n=i(3650);A({target:\\\"Set\\\",proto:!0,real:!0,forced:!i(4916)(\\\"symmetricDifference\\\")},{symmetricDifference:n})},1698:(e,t,i)=>{var A=i(6518),n=i(4204);A({target:\\\"Set\\\",proto:!0,real:!0,forced:!i(4916)(\\\"union\\\")},{union:n})},7467:(e,t,i)=>{var A=i(7628),n=i(4644),r=n.aTypedArray,a=n.exportTypedArrayMethod,s=n.getTypedArrayConstructor;a(\\\"toReversed\\\",(function(){return A(r(this),s(this))}))},4732:(e,t,i)=>{var A=i(4644),n=i(9504),r=i(9306),a=i(5370),s=A.aTypedArray,o=A.getTypedArrayConstructor,c=A.exportTypedArrayMethod,g=n(A.TypedArrayPrototype.sort);c(\\\"toSorted\\\",(function(e){void 0!==e&&r(e);var t=s(this),i=a(o(t),t);return g(i,e)}))},9577:(e,t,i)=>{var A=i(9928),n=i(4644),r=i(1108),a=i(1291),s=i(5854),o=n.aTypedArray,c=n.getTypedArrayConstructor,g=n.exportTypedArrayMethod,h=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(e){return 8===e}}();g(\\\"with\\\",{with:function(e,t){var i=o(this),n=a(e),g=r(i)?s(t):+t;return A(i,c(i),n,g)}}.with,!h)},8992:(e,t,i)=>{var A=i(6518),n=i(4475),r=i(679),a=i(8551),s=i(4901),o=i(2787),c=i(2106),g=i(4659),h=i(9039),l=i(9297),u=i(8227),d=i(7657).IteratorPrototype,I=i(3724),C=i(6395),f=\\\"constructor\\\",p=\\\"Iterator\\\",B=u(\\\"toStringTag\\\"),m=TypeError,E=n[p],Q=C||!s(E)||E.prototype!==d||!h((function(){E({})})),_=function(){if(r(this,d),o(this)===d)throw new m(\\\"Abstract class Iterator not directly constructable\\\")},y=function(e,t){I?c(d,e,{configurable:!0,get:function(){return t},set:function(t){if(a(this),this===d)throw new m(\\\"You can't redefine this property\\\");l(this,e)?this[e]=t:g(this,e,t)}}):d[e]=t};l(d,B)||y(B,p),!Q&&l(d,f)&&d[f]!==Object||y(f,_),_.prototype=d,A({global:!0,constructor:!0,forced:Q},{Iterator:_})},4743:(e,t,i)=>{var A=i(6518),n=i(9565),r=i(8551),a=i(1767),s=i(4149),o=i(9590),c=i(9462),g=i(6395),h=c((function(){for(var e,t=this.iterator,i=this.next;this.remaining;)if(this.remaining--,e=r(n(i,t)),this.done=!!e.done)return;if(e=r(n(i,t)),!(this.done=!!e.done))return e.value}));A({target:\\\"Iterator\\\",proto:!0,real:!0,forced:g},{drop:function(e){r(this);var t=o(s(+e));return new h(a(this),{remaining:t})}})},3215:(e,t,i)=>{var A=i(6518),n=i(2652),r=i(9306),a=i(8551),s=i(1767);A({target:\\\"Iterator\\\",proto:!0,real:!0},{every:function(e){a(this),r(e);var t=s(this),i=0;return!n(t,(function(t,A){if(!e(t,i++))return A()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},4520:(e,t,i)=>{var A=i(6518),n=i(9565),r=i(9306),a=i(8551),s=i(1767),o=i(9462),c=i(6319),g=i(6395),h=o((function(){for(var e,t,i=this.iterator,A=this.predicate,r=this.next;;){if(e=a(n(r,i)),this.done=!!e.done)return;if(t=e.value,c(i,A,[t,this.counter++],!0))return t}}));A({target:\\\"Iterator\\\",proto:!0,real:!0,forced:g},{filter:function(e){return a(this),r(e),new h(s(this),{predicate:e})}})},670:(e,t,i)=>{var A=i(6518),n=i(9565),r=i(9306),a=i(8551),s=i(1767),o=i(8646),c=i(9462),g=i(9539),h=i(6395),l=c((function(){for(var e,t,i=this.iterator,A=this.mapper;;){if(t=this.inner)try{if(!(e=a(n(t.next,t.iterator))).done)return e.value;this.inner=null}catch(e){g(i,\\\"throw\\\",e)}if(e=a(n(this.next,i)),this.done=!!e.done)return;try{this.inner=o(A(e.value,this.counter++),!1)}catch(e){g(i,\\\"throw\\\",e)}}}));A({target:\\\"Iterator\\\",proto:!0,real:!0,forced:h},{flatMap:function(e){return a(this),r(e),new l(s(this),{mapper:e,inner:null})}})},1454:(e,t,i)=>{var A=i(6518),n=i(713);A({target:\\\"Iterator\\\",proto:!0,real:!0,forced:i(6395)},{map:n})},7550:(e,t,i)=>{var A=i(6518),n=i(2652),r=i(9306),a=i(8551),s=i(1767);A({target:\\\"Iterator\\\",proto:!0,real:!0},{some:function(e){a(this),r(e);var t=s(this),i=0;return n(t,(function(t,A){if(e(t,i++))return A()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},8335:(e,t,i)=>{var A=i(6518),n=i(3724),r=i(4475),a=i(7751),s=i(9504),o=i(9565),c=i(4901),g=i(34),h=i(4376),l=i(9297),u=i(655),d=i(6198),I=i(4659),C=i(9039),f=i(8235),p=i(4495),B=r.JSON,m=r.Number,E=r.SyntaxError,Q=B&&B.parse,_=a(\\\"Object\\\",\\\"keys\\\"),y=Object.getOwnPropertyDescriptor,w=s(\\\"\\\".charAt),b=s(\\\"\\\".slice),v=s(/./.exec),k=s([].push),x=/^\\\\d$/,D=/^[1-9]$/,S=/^(?:-|\\\\d)$/,P=/^[\\\\t\\\\n\\\\r ]$/,R=function(e,t,i,A){var n,r,a,s,c,u=e[t],I=A&&u===A.value,C=I&&\\\"string\\\"==typeof A.source?{source:A.source}:{};if(g(u)){var f=h(u),p=I?A.nodes:f?[]:{};if(f)for(n=p.length,a=d(u),s=0;s{i(7642)},9225:(e,t,i)=>{i(8004)},3972:(e,t,i)=>{i(3853)},9209:(e,t,i)=>{i(5876)},5714:(e,t,i)=>{i(2475)},7561:(e,t,i)=>{i(5024)},6197:(e,t,i)=>{i(1698)},4979:(e,t,i)=>{var A=i(6518),n=i(4475),r=i(7751),a=i(6980),s=i(4913).f,o=i(9297),c=i(679),g=i(3167),h=i(2603),l=i(5002),u=i(6193),d=i(3724),I=i(6395),C=\\\"DOMException\\\",f=r(\\\"Error\\\"),p=r(C),B=function(){c(this,m);var e=arguments.length,t=h(e<1?void 0:arguments[0]),i=h(e<2?void 0:arguments[1],\\\"Error\\\"),A=new p(t,i),n=new f(t);return n.name=C,s(A,\\\"stack\\\",a(1,u(n.stack,1))),g(A,this,B),A},m=B.prototype=p.prototype,E=\\\"stack\\\"in new f(C),Q=\\\"stack\\\"in new p(1,2),_=p&&d&&Object.getOwnPropertyDescriptor(n,C),y=!(!_||_.writable&&_.configurable),w=E&&!y&&!Q;A({global:!0,constructor:!0,forced:I||w},{DOMException:w?B:p});var b=r(C),v=b.prototype;if(v.constructor!==b)for(var k in I||s(v,\\\"constructor\\\",a(1,b)),l)if(o(l,k)){var x=l[k],D=x.s;o(b,D)||s(b,D,a(6,x.c))}},4603:(e,t,i)=>{var A=i(6840),n=i(9504),r=i(655),a=i(2812),s=URLSearchParams,o=s.prototype,c=n(o.append),g=n(o.delete),h=n(o.forEach),l=n([].push),u=new s(\\\"a=1&a=2&b=3\\\");u.delete(\\\"a\\\",1),u.delete(\\\"b\\\",void 0),u+\\\"\\\"!=\\\"a=2\\\"&&A(o,\\\"delete\\\",(function(e){var t=arguments.length,i=t<2?void 0:arguments[1];if(t&&void 0===i)return g(this,e);var A=[];h(this,(function(e,t){l(A,{key:t,value:e})})),a(t,1);for(var n,s=r(e),o=r(i),u=0,d=0,I=!1,C=A.length;u{var A=i(6840),n=i(9504),r=i(655),a=i(2812),s=URLSearchParams,o=s.prototype,c=n(o.getAll),g=n(o.has),h=new s(\\\"a=1\\\");!h.has(\\\"a\\\",2)&&h.has(\\\"a\\\",void 0)||A(o,\\\"has\\\",(function(e){var t=arguments.length,i=t<2?void 0:arguments[1];if(t&&void 0===i)return g(this,e);var A=c(this,e);a(t,1);for(var n=r(i),s=0;s{var A=i(3724),n=i(9504),r=i(2106),a=URLSearchParams.prototype,s=n(a.forEach);A&&!(\\\"size\\\"in a)&&r(a,\\\"size\\\",{get:function(){var e=0;return s(this,(function(){e++})),e},configurable:!0,enumerable:!0})}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={exports:{}};return A[e].call(i.exports,i,i.exports,r),i.exports}r.d=(e,t)=>{for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);t=globalThis.pdfjsLib={};r.d(t,{AbortException:()=>M,AnnotationEditorLayer:()=>cA,AnnotationEditorParamsType:()=>l,AnnotationEditorType:()=>h,AnnotationEditorUIManager:()=>be,AnnotationLayer:()=>Zi,AnnotationMode:()=>g,CMapCompressionType:()=>C,ColorPicker:()=>rA,DOMSVGFactory:()=>te,DrawLayer:()=>gA,FeatureTest:()=>U,GlobalWorkerOptions:()=>It,ImageKind:()=>d,InvalidPDFException:()=>D,MissingPDFException:()=>S,OPS:()=>f,PDFDataRangeTransport:()=>ni,PDFDateString:()=>le,PDFWorker:()=>ci,PasswordResponses:()=>p,PermissionFlag:()=>u,PixelsPerInch:()=>Z,RenderingCancelledException:()=>Ae,TextLayer:()=>Vt,UnexpectedResponseException:()=>P,Util:()=>L,VerbosityLevel:()=>I,XfaLayer:()=>mi,build:()=>Ci,createValidAbsoluteUrl:()=>w,fetchData:()=>X,getDocument:()=>ti,getFilenameFromUrl:()=>ae,getPdfFilenameFromUrl:()=>se,getXfaPageViewport:()=>ue,isDataScheme:()=>ne,isPdfFile:()=>re,noContextMenu:()=>ge,normalizeUnicode:()=>J,setLayerDimensions:()=>fe,shadow:()=>b,version:()=>Ii}),r(4114),r(6573),r(8100),r(7936),r(7467),r(4732),r(9577),r(4603),r(7566),r(8721);const a=!(\\\"object\\\"!=typeof process||process+\\\"\\\"!=\\\"[object process]\\\"||process.versions.nw||process.versions.electron&&process.type&&\\\"browser\\\"!==process.type),s=[1,0,0,1,0,0],o=[.001,0,0,.001,0,0],c=1.35,g={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},h={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15},l={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,HIGHLIGHT_COLOR:31,HIGHLIGHT_DEFAULT_COLOR:32,HIGHLIGHT_THICKNESS:33,HIGHLIGHT_FREE:34,HIGHLIGHT_SHOW_ALL:35},u={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},d={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},I={ERRORS:0,WARNINGS:1,INFOS:5},C={NONE:0,BINARY:1},f={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91,setStrokeTransparent:92,setFillTransparent:93},p={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let B=I.WARNINGS;function m(){return B}function E(e){B>=I.INFOS&&console.log(`Info: ${e}`)}function Q(e){B>=I.WARNINGS&&console.log(`Warning: ${e}`)}function _(e){throw new Error(e)}function y(e,t){e||_(t)}function w(e,t=null,i=null){if(!e)return null;try{if(i&&\\\"string\\\"==typeof e){if(i.addDefaultProtocol&&e.startsWith(\\\"www.\\\")){e.match(/\\\\./g)?.length>=2&&(e=`http://${e}`)}if(i.tryConvertEncoding)try{e=function(e){return decodeURIComponent(escape(e))}(e)}catch{}}const A=t?new URL(e,t):new URL(e);if(function(e){switch(e?.protocol){case\\\"http:\\\":case\\\"https:\\\":case\\\"ftp:\\\":case\\\"mailto:\\\":case\\\"tel:\\\":return!0;default:return!1}}(A))return A}catch{}return null}function b(e,t,i,A=!1){return Object.defineProperty(e,t,{value:i,enumerable:!A,configurable:!0,writable:!1}),i}const v=function(){function e(t,i){this.constructor===e&&_(\\\"Cannot initialize BaseException.\\\"),this.message=t,this.name=i}return e.prototype=new Error,e.constructor=e,e}();class k extends v{constructor(e,t){super(e,\\\"PasswordException\\\"),this.code=t}}class x extends v{constructor(e,t){super(e,\\\"UnknownErrorException\\\"),this.details=t}}class D extends v{constructor(e){super(e,\\\"InvalidPDFException\\\")}}class S extends v{constructor(e){super(e,\\\"MissingPDFException\\\")}}class P extends v{constructor(e,t){super(e,\\\"UnexpectedResponseException\\\"),this.status=t}}class R extends v{constructor(e){super(e,\\\"FormatError\\\")}}class M extends v{constructor(e){super(e,\\\"AbortException\\\")}}function F(e){\\\"object\\\"==typeof e&&void 0!==e?.length||_(\\\"Invalid argument for bytesToString\\\");const t=e.length,i=8192;if(te.toString(16).padStart(2,\\\"0\\\")));class L{static makeHexColor(e,t,i){return`#${G[e]}${G[t]}${G[i]}`}static scaleMinMax(e,t){let i;e[0]?(e[0]<0&&(i=t[0],t[0]=t[2],t[2]=i),t[0]*=e[0],t[2]*=e[0],e[3]<0&&(i=t[1],t[1]=t[3],t[3]=i),t[1]*=e[3],t[3]*=e[3]):(i=t[0],t[0]=t[1],t[1]=i,i=t[2],t[2]=t[3],t[3]=i,e[1]<0&&(i=t[1],t[1]=t[3],t[3]=i),t[1]*=e[1],t[3]*=e[1],e[2]<0&&(i=t[0],t[0]=t[2],t[2]=i),t[0]*=e[2],t[2]*=e[2]),t[0]+=e[4],t[1]+=e[5],t[2]+=e[4],t[3]+=e[5]}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static applyTransform(e,t){return[e[0]*t[0]+e[1]*t[2]+t[4],e[0]*t[1]+e[1]*t[3]+t[5]]}static applyInverseTransform(e,t){const i=t[0]*t[3]-t[1]*t[2];return[(e[0]*t[3]-e[1]*t[2]+t[2]*t[5]-t[4]*t[3])/i,(-e[0]*t[1]+e[1]*t[0]+t[4]*t[1]-t[5]*t[0])/i]}static getAxialAlignedBoundingBox(e,t){const i=this.applyTransform(e,t),A=this.applyTransform(e.slice(2,4),t),n=this.applyTransform([e[0],e[3]],t),r=this.applyTransform([e[2],e[1]],t);return[Math.min(i[0],A[0],n[0],r[0]),Math.min(i[1],A[1],n[1],r[1]),Math.max(i[0],A[0],n[0],r[0]),Math.max(i[1],A[1],n[1],r[1])]}static inverseTransform(e){const t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static singularValueDecompose2dScale(e){const t=[e[0],e[2],e[1],e[3]],i=e[0]*t[0]+e[1]*t[2],A=e[0]*t[1]+e[1]*t[3],n=e[2]*t[0]+e[3]*t[2],r=e[2]*t[1]+e[3]*t[3],a=(i+r)/2,s=Math.sqrt((i+r)**2-4*(i*r-n*A))/2,o=a+s||1,c=a-s||1;return[Math.sqrt(o),Math.sqrt(c)]}static normalizeRect(e){const t=e.slice(0);return e[0]>e[2]&&(t[0]=e[2],t[2]=e[0]),e[1]>e[3]&&(t[1]=e[3],t[3]=e[1]),t}static intersect(e,t){const i=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),A=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(i>A)return null;const n=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),r=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return n>r?null:[i,n,A,r]}static#e(e,t,i,A,n,r,a,s,o,c){if(o<=0||o>=1)return;const g=1-o,h=o*o,l=h*o,u=g*(g*(g*e+3*o*t)+3*h*i)+l*A,d=g*(g*(g*n+3*o*r)+3*h*a)+l*s;c[0]=Math.min(c[0],u),c[1]=Math.min(c[1],d),c[2]=Math.max(c[2],u),c[3]=Math.max(c[3],d)}static#t(e,t,i,A,n,r,a,s,o,c,g,h){if(Math.abs(o)<1e-12)return void(Math.abs(c)>=1e-12&&this.#e(e,t,i,A,n,r,a,s,-g/c,h));const l=c**2-4*g*o;if(l<0)return;const u=Math.sqrt(l),d=2*o;this.#e(e,t,i,A,n,r,a,s,(-c+u)/d,h),this.#e(e,t,i,A,n,r,a,s,(-c-u)/d,h)}static bezierBoundingBox(e,t,i,A,n,r,a,s,o){return o?(o[0]=Math.min(o[0],e,a),o[1]=Math.min(o[1],t,s),o[2]=Math.max(o[2],e,a),o[3]=Math.max(o[3],t,s)):o=[Math.min(e,a),Math.min(t,s),Math.max(e,a),Math.max(t,s)],this.#t(e,i,n,a,t,A,r,s,3*(3*(i-n)-e+a),6*(e-2*i+n),3*(i-e),o),this.#t(e,i,n,a,t,A,r,s,3*(3*(A-r)-t+s),6*(t-2*A+r),3*(A-t),o),o}}let H=null,W=null;function J(e){return H||(H=/([\\\\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,W=new Map([[\\\"ſt\\\",\\\"ſt\\\"]])),e.replaceAll(H,((e,t,i)=>t?t.normalize(\\\"NFKC\\\"):W.get(i)))}const Y=\\\"pdfjs_internal_id_\\\";r(4628),r(1454),r(3375),r(9225),r(3972),r(9209),r(5714),r(7561),r(6197),r(4979),r(8992),r(4743),r(3215),r(7550),r(8335),r(4520);class O{constructor(){this.constructor===O&&_(\\\"Cannot initialize BaseFilterFactory.\\\")}addFilter(e){return\\\"none\\\"}addHCMFilter(e,t){return\\\"none\\\"}addAlphaFilter(e){return\\\"none\\\"}addLuminosityFilter(e){return\\\"none\\\"}addHighlightHCMFilter(e,t,i,A,n){return\\\"none\\\"}destroy(e=!1){}}class q{#i=!1;constructor({enableHWA:e=!1}={}){this.constructor===q&&_(\\\"Cannot initialize BaseCanvasFactory.\\\"),this.#i=e}create(e,t){if(e<=0||t<=0)throw new Error(\\\"Invalid canvas size\\\");const i=this._createCanvas(e,t);return{canvas:i,context:i.getContext(\\\"2d\\\",{willReadFrequently:!this.#i})}}reset(e,t,i){if(!e.canvas)throw new Error(\\\"Canvas is not specified\\\");if(t<=0||i<=0)throw new Error(\\\"Invalid canvas size\\\");e.canvas.width=t,e.canvas.height=i}destroy(e){if(!e.canvas)throw new Error(\\\"Canvas is not specified\\\");e.canvas.width=0,e.canvas.height=0,e.canvas=null,e.context=null}_createCanvas(e,t){_(\\\"Abstract method `_createCanvas` called.\\\")}}class K{constructor({baseUrl:e=null,isCompressed:t=!0}){this.constructor===K&&_(\\\"Cannot initialize BaseCMapReaderFactory.\\\"),this.baseUrl=e,this.isCompressed=t}async fetch({name:e}){if(!this.baseUrl)throw new Error('The CMap \\\"baseUrl\\\" parameter must be specified, ensure that the \\\"cMapUrl\\\" and \\\"cMapPacked\\\" API parameters are provided.');if(!e)throw new Error(\\\"CMap name must be specified.\\\");const t=this.baseUrl+e+(this.isCompressed?\\\".bcmap\\\":\\\"\\\"),i=this.isCompressed?C.BINARY:C.NONE;return this._fetchData(t,i).catch((e=>{throw new Error(`Unable to load ${this.isCompressed?\\\"binary \\\":\\\"\\\"}CMap at: ${t}`)}))}_fetchData(e,t){_(\\\"Abstract method `_fetchData` called.\\\")}}class j{constructor({baseUrl:e=null}){this.constructor===j&&_(\\\"Cannot initialize BaseStandardFontDataFactory.\\\"),this.baseUrl=e}async fetch({filename:e}){if(!this.baseUrl)throw new Error('The standard font \\\"baseUrl\\\" parameter must be specified, ensure that the \\\"standardFontDataUrl\\\" API parameter is provided.');if(!e)throw new Error(\\\"Font filename must be specified.\\\");const t=`${this.baseUrl}${e}`;return this._fetchData(t).catch((e=>{throw new Error(`Unable to load font data at: ${t}`)}))}_fetchData(e){_(\\\"Abstract method `_fetchData` called.\\\")}}class V{constructor(){this.constructor===V&&_(\\\"Cannot initialize BaseSVGFactory.\\\")}create(e,t,i=!1){if(e<=0||t<=0)throw new Error(\\\"Invalid SVG dimensions\\\");const A=this._createSVG(\\\"svg:svg\\\");return A.setAttribute(\\\"version\\\",\\\"1.1\\\"),i||(A.setAttribute(\\\"width\\\",`${e}px`),A.setAttribute(\\\"height\\\",`${t}px`)),A.setAttribute(\\\"preserveAspectRatio\\\",\\\"none\\\"),A.setAttribute(\\\"viewBox\\\",`0 0 ${e} ${t}`),A}createElement(e){if(\\\"string\\\"!=typeof e)throw new Error(\\\"Invalid SVG element type\\\");return this._createSVG(e)}_createSVG(e){_(\\\"Abstract method `_createSVG` called.\\\")}}const z=\\\"http://www.w3.org/2000/svg\\\";class Z{static CSS=96;static PDF=72;static PDF_TO_CSS_UNITS=this.CSS/this.PDF}async function X(e,t=\\\"text\\\"){if(ce(e,document.baseURI)){const i=await fetch(e);if(!i.ok)throw new Error(i.statusText);switch(t){case\\\"arraybuffer\\\":return i.arrayBuffer();case\\\"blob\\\":return i.blob();case\\\"json\\\":return i.json()}return i.text()}return new Promise(((i,A)=>{const n=new XMLHttpRequest;n.open(\\\"GET\\\",e,!0),n.responseType=t,n.onreadystatechange=()=>{if(n.readyState===XMLHttpRequest.DONE)if(200!==n.status&&0!==n.status)A(new Error(n.statusText));else{switch(t){case\\\"arraybuffer\\\":case\\\"blob\\\":case\\\"json\\\":return void i(n.response)}i(n.responseText)}},n.send(null)}))}class $ extends K{_fetchData(e,t){return X(e,this.isCompressed?\\\"arraybuffer\\\":\\\"text\\\").then((e=>({cMapData:e instanceof ArrayBuffer?new Uint8Array(e):T(e),compressionType:t})))}}class ee extends j{_fetchData(e){return X(e,\\\"arraybuffer\\\").then((e=>new Uint8Array(e)))}}class te extends V{_createSVG(e){return document.createElementNS(z,e)}}class ie{constructor({viewBox:e,scale:t,rotation:i,offsetX:A=0,offsetY:n=0,dontFlip:r=!1}){this.viewBox=e,this.scale=t,this.rotation=i,this.offsetX=A,this.offsetY=n;const a=(e[2]+e[0])/2,s=(e[3]+e[1])/2;let o,c,g,h,l,u,d,I;switch((i%=360)<0&&(i+=360),i){case 180:o=-1,c=0,g=0,h=1;break;case 90:o=0,c=1,g=1,h=0;break;case 270:o=0,c=-1,g=-1,h=0;break;case 0:o=1,c=0,g=0,h=-1;break;default:throw new Error(\\\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\\\")}r&&(g=-g,h=-h),0===o?(l=Math.abs(s-e[1])*t+A,u=Math.abs(a-e[0])*t+n,d=(e[3]-e[1])*t,I=(e[2]-e[0])*t):(l=Math.abs(a-e[0])*t+A,u=Math.abs(s-e[1])*t+n,d=(e[2]-e[0])*t,I=(e[3]-e[1])*t),this.transform=[o*t,c*t,g*t,h*t,l-o*t*a-g*t*s,u-c*t*a-h*t*s],this.width=d,this.height=I}get rawDims(){const{viewBox:e}=this;return b(this,\\\"rawDims\\\",{pageWidth:e[2]-e[0],pageHeight:e[3]-e[1],pageX:e[0],pageY:e[1]})}clone({scale:e=this.scale,rotation:t=this.rotation,offsetX:i=this.offsetX,offsetY:A=this.offsetY,dontFlip:n=!1}={}){return new ie({viewBox:this.viewBox.slice(),scale:e,rotation:t,offsetX:i,offsetY:A,dontFlip:n})}convertToViewportPoint(e,t){return L.applyTransform([e,t],this.transform)}convertToViewportRectangle(e){const t=L.applyTransform([e[0],e[1]],this.transform),i=L.applyTransform([e[2],e[3]],this.transform);return[t[0],t[1],i[0],i[1]]}convertToPdfPoint(e,t){return L.applyInverseTransform([e,t],this.transform)}}class Ae extends v{constructor(e,t=0){super(e,\\\"RenderingCancelledException\\\"),this.extraDelay=t}}function ne(e){const t=e.length;let i=0;for(;i=1&&A<=12?A-1:0;let n=parseInt(t[3],10);n=n>=1&&n<=31?n:1;let r=parseInt(t[4],10);r=r>=0&&r<=23?r:0;let a=parseInt(t[5],10);a=a>=0&&a<=59?a:0;let s=parseInt(t[6],10);s=s>=0&&s<=59?s:0;const o=t[7]||\\\"Z\\\";let c=parseInt(t[8],10);c=c>=0&&c<=23?c:0;let g=parseInt(t[9],10)||0;return g=g>=0&&g<=59?g:0,\\\"-\\\"===o?(r+=c,a+=g):\\\"+\\\"===o&&(r-=c,a-=g),new Date(Date.UTC(i,A,n,r,a,s))}}function ue(e,{scale:t=1,rotation:i=0}){const{width:A,height:n}=e.attributes.style,r=[0,0,parseInt(A),parseInt(n)];return new ie({viewBox:r,scale:t,rotation:i})}function de(e){if(e.startsWith(\\\"#\\\")){const t=parseInt(e.slice(1),16);return[(16711680&t)>>16,(65280&t)>>8,255&t]}return e.startsWith(\\\"rgb(\\\")?e.slice(4,-1).split(\\\",\\\").map((e=>parseInt(e))):e.startsWith(\\\"rgba(\\\")?e.slice(5,-1).split(\\\",\\\").map((e=>parseInt(e))).slice(0,3):(Q(`Not a valid color format: \\\"${e}\\\"`),[0,0,0])}function Ie(e){const{a:t,b:i,c:A,d:n,e:r,f:a}=e.getTransform();return[t,i,A,n,r,a]}function Ce(e){const{a:t,b:i,c:A,d:n,e:r,f:a}=e.getTransform().invertSelf();return[t,i,A,n,r,a]}function fe(e,t,i=!1,A=!0){if(t instanceof ie){const{pageWidth:A,pageHeight:n}=t.rawDims,{style:r}=e,a=U.isCSSRoundSupported,s=`var(--scale-factor) * ${A}px`,o=`var(--scale-factor) * ${n}px`,c=a?`round(${s}, 1px)`:`calc(${s})`,g=a?`round(${o}, 1px)`:`calc(${o})`;i&&t.rotation%180!=0?(r.width=g,r.height=c):(r.width=c,r.height=g)}A&&e.setAttribute(\\\"data-main-rotation\\\",t.rotation)}class pe{#A=null;#n=null;#r;#a=null;constructor(e){this.#r=e}render(){const e=this.#A=document.createElement(\\\"div\\\");e.className=\\\"editToolbar\\\",e.setAttribute(\\\"role\\\",\\\"toolbar\\\");const t=this.#r._uiManager._signal;e.addEventListener(\\\"contextmenu\\\",ge,{signal:t}),e.addEventListener(\\\"pointerdown\\\",pe.#s,{signal:t});const i=this.#a=document.createElement(\\\"div\\\");i.className=\\\"buttons\\\",e.append(i);const A=this.#r.toolbarPosition;if(A){const{style:t}=e,i=\\\"ltr\\\"===this.#r._uiManager.direction?1-A[0]:A[0];t.insetInlineEnd=100*i+\\\"%\\\",t.top=`calc(${100*A[1]}% + var(--editor-toolbar-vert-offset))`}return this.#o(),e}static#s(e){e.stopPropagation()}#c(e){this.#r._focusEventsAllowed=!1,e.preventDefault(),e.stopPropagation()}#g(e){this.#r._focusEventsAllowed=!0,e.preventDefault(),e.stopPropagation()}#h(e){const t=this.#r._uiManager._signal;e.addEventListener(\\\"focusin\\\",this.#c.bind(this),{capture:!0,signal:t}),e.addEventListener(\\\"focusout\\\",this.#g.bind(this),{capture:!0,signal:t}),e.addEventListener(\\\"contextmenu\\\",ge,{signal:t})}hide(){this.#A.classList.add(\\\"hidden\\\"),this.#n?.hideDropdown()}show(){this.#A.classList.remove(\\\"hidden\\\")}#o(){const e=document.createElement(\\\"button\\\");e.className=\\\"delete\\\",e.tabIndex=0,e.setAttribute(\\\"data-l10n-id\\\",`pdfjs-editor-remove-${this.#r.editorType}-button`),this.#h(e),e.addEventListener(\\\"click\\\",(e=>{this.#r._uiManager.delete()}),{signal:this.#r._uiManager._signal}),this.#a.append(e)}get#l(){const e=document.createElement(\\\"div\\\");return e.className=\\\"divider\\\",e}addAltTextButton(e){this.#h(e),this.#a.prepend(e,this.#l)}addColorPicker(e){this.#n=e;const t=e.renderButton();this.#h(t),this.#a.prepend(t,this.#l)}remove(){this.#A.remove(),this.#n?.destroy(),this.#n=null}}class Be{#a=null;#A=null;#u;constructor(e){this.#u=e}#d(){const e=this.#A=document.createElement(\\\"div\\\");e.className=\\\"editToolbar\\\",e.setAttribute(\\\"role\\\",\\\"toolbar\\\"),e.addEventListener(\\\"contextmenu\\\",ge,{signal:this.#u._signal});const t=this.#a=document.createElement(\\\"div\\\");return t.className=\\\"buttons\\\",e.append(t),this.#I(),e}#C(e,t){let i=0,A=0;for(const n of e){const e=n.y+n.height;if(ei?(A=r,i=e):t?r>A&&(A=r):r{this.#u.highlightSelection(\\\"floating_button\\\")}),{signal:i}),this.#a.append(e)}}function me(e,t,i){for(const A of i)t.addEventListener(A,e[A].bind(e))}class Ee{#f=0;get id(){return\\\"pdfjs_internal_editor_\\\"+this.#f++}}class Qe{#p=function(){if(\\\"undefined\\\"!=typeof crypto&&\\\"function\\\"==typeof crypto?.randomUUID)return crypto.randomUUID();const e=new Uint8Array(32);if(\\\"undefined\\\"!=typeof crypto&&\\\"function\\\"==typeof crypto?.getRandomValues)crypto.getRandomValues(e);else for(let t=0;t<32;t++)e[t]=Math.floor(255*Math.random());return F(e)}();#f=0;#B=null;static get _isSVGFittingCanvas(){const e=new OffscreenCanvas(1,3).getContext(\\\"2d\\\",{willReadFrequently:!0}),t=new Image;return t.src='data:image/svg+xml;charset=UTF-8,',b(this,\\\"_isSVGFittingCanvas\\\",t.decode().then((()=>(e.drawImage(t,0,0,1,1,0,0,1,3),0===new Uint32Array(e.getImageData(0,0,1,1).data.buffer)[0]))))}async#m(e,t){this.#B||=new Map;let i=this.#B.get(e);if(null===i)return null;if(i?.bitmap)return i.refCounter+=1,i;try{let e;if(i||={bitmap:null,id:`image_${this.#p}_${this.#f++}`,refCounter:0,isSvg:!1},\\\"string\\\"==typeof t?(i.url=t,e=await X(t,\\\"blob\\\")):e=i.file=t,\\\"image/svg+xml\\\"===e.type){const t=Qe._isSVGFittingCanvas,A=new FileReader,n=new Image,r=new Promise(((e,r)=>{n.onload=()=>{i.bitmap=n,i.isSvg=!0,e()},A.onload=async()=>{const e=i.svgUrl=A.result;n.src=await t?`${e}#svgView(preserveAspectRatio(none))`:e},n.onerror=A.onerror=r}));A.readAsDataURL(e),await r}else i.bitmap=await createImageBitmap(e);i.refCounter=1}catch(e){console.error(e),i=null}return this.#B.set(e,i),i&&this.#B.set(i.id,i),i}async getFromFile(e){const{lastModified:t,name:i,size:A,type:n}=e;return this.#m(`${t}_${i}_${A}_${n}`,e)}async getFromUrl(e){return this.#m(e,e)}async getFromId(e){this.#B||=new Map;const t=this.#B.get(e);return t?t.bitmap?(t.refCounter+=1,t):t.file?this.getFromFile(t.file):this.getFromUrl(t.url):null}getSvgUrl(e){const t=this.#B.get(e);return t?.isSvg?t.svgUrl:null}deleteId(e){this.#B||=new Map;const t=this.#B.get(e);t&&(t.refCounter-=1,0===t.refCounter&&(t.bitmap=null))}isValidId(e){return e.startsWith(`image_${this.#p}_`)}}class _e{#E=[];#Q=!1;#_;#y=-1;constructor(e=128){this.#_=e}add({cmd:e,undo:t,post:i,mustExec:A,type:n=NaN,overwriteIfSameType:r=!1,keepUndo:a=!1}){if(A&&e(),this.#Q)return;const s={cmd:e,undo:t,post:i,type:n};if(-1===this.#y)return this.#E.length>0&&(this.#E.length=0),this.#y=0,void this.#E.push(s);if(r&&this.#E[this.#y].type===n)return a&&(s.undo=this.#E[this.#y].undo),void(this.#E[this.#y]=s);const o=this.#y+1;o===this.#_?this.#E.splice(0,1):(this.#y=o,oe===t[i])))return we._colorsMapping.get(e);return t}getHexCode(e){const t=this._colors.get(e);return t?L.makeHexColor(...t):e}}class be{#b=new AbortController;#v=null;#k=new Map;#x=new Map;#D=null;#S=null;#P=null;#R=new _e;#M=0;#F=new Set;#T=null;#N=null;#U=new Set;#G=!1;#L=!1;#H=null;#W=null;#J=null;#Y=!1;#O=null;#q=new Ee;#K=!1;#j=!1;#V=null;#z=null;#Z=null;#X=h.NONE;#$=new Set;#ee=null;#te=null;#ie=null;#Ae=this.blur.bind(this);#ne=this.focus.bind(this);#re=this.copy.bind(this);#ae=this.cut.bind(this);#se=this.paste.bind(this);#oe=this.keydown.bind(this);#ce=this.keyup.bind(this);#ge=this.onEditingAction.bind(this);#he=this.onPageChanging.bind(this);#le=this.onScaleChanging.bind(this);#ue=this.onRotationChanging.bind(this);#de={isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1};#Ie=[0,0];#Ce=null;#fe=null;#pe=null;static TRANSLATE_SMALL=1;static TRANSLATE_BIG=10;static get _keyboardManager(){const e=be.prototype,t=e=>e.#fe.contains(document.activeElement)&&\\\"BUTTON\\\"!==document.activeElement.tagName&&e.hasSomethingToControl(),i=(e,{target:t})=>{if(t instanceof HTMLInputElement){const{type:e}=t;return\\\"text\\\"!==e&&\\\"number\\\"!==e}return!0},A=this.TRANSLATE_SMALL,n=this.TRANSLATE_BIG;return b(this,\\\"_keyboardManager\\\",new ye([[[\\\"ctrl+a\\\",\\\"mac+meta+a\\\"],e.selectAll,{checker:i}],[[\\\"ctrl+z\\\",\\\"mac+meta+z\\\"],e.undo,{checker:i}],[[\\\"ctrl+y\\\",\\\"ctrl+shift+z\\\",\\\"mac+meta+shift+z\\\",\\\"ctrl+shift+Z\\\",\\\"mac+meta+shift+Z\\\"],e.redo,{checker:i}],[[\\\"Backspace\\\",\\\"alt+Backspace\\\",\\\"ctrl+Backspace\\\",\\\"shift+Backspace\\\",\\\"mac+Backspace\\\",\\\"mac+alt+Backspace\\\",\\\"mac+ctrl+Backspace\\\",\\\"Delete\\\",\\\"ctrl+Delete\\\",\\\"shift+Delete\\\",\\\"mac+Delete\\\"],e.delete,{checker:i}],[[\\\"Enter\\\",\\\"mac+Enter\\\"],e.addNewEditorFromKeyboard,{checker:(e,{target:t})=>!(t instanceof HTMLButtonElement)&&e.#fe.contains(t)&&!e.isEnterHandled}],[[\\\" \\\",\\\"mac+ \\\"],e.addNewEditorFromKeyboard,{checker:(e,{target:t})=>!(t instanceof HTMLButtonElement)&&e.#fe.contains(document.activeElement)}],[[\\\"Escape\\\",\\\"mac+Escape\\\"],e.unselectAll],[[\\\"ArrowLeft\\\",\\\"mac+ArrowLeft\\\"],e.translateSelectedEditors,{args:[-A,0],checker:t}],[[\\\"ctrl+ArrowLeft\\\",\\\"mac+shift+ArrowLeft\\\"],e.translateSelectedEditors,{args:[-n,0],checker:t}],[[\\\"ArrowRight\\\",\\\"mac+ArrowRight\\\"],e.translateSelectedEditors,{args:[A,0],checker:t}],[[\\\"ctrl+ArrowRight\\\",\\\"mac+shift+ArrowRight\\\"],e.translateSelectedEditors,{args:[n,0],checker:t}],[[\\\"ArrowUp\\\",\\\"mac+ArrowUp\\\"],e.translateSelectedEditors,{args:[0,-A],checker:t}],[[\\\"ctrl+ArrowUp\\\",\\\"mac+shift+ArrowUp\\\"],e.translateSelectedEditors,{args:[0,-n],checker:t}],[[\\\"ArrowDown\\\",\\\"mac+ArrowDown\\\"],e.translateSelectedEditors,{args:[0,A],checker:t}],[[\\\"ctrl+ArrowDown\\\",\\\"mac+shift+ArrowDown\\\"],e.translateSelectedEditors,{args:[0,n],checker:t}]]))}constructor(e,t,i,A,n,r,a,s,o,c){this._signal=this.#b.signal,this.#fe=e,this.#pe=t,this.#D=i,this._eventBus=A,this._eventBus._on(\\\"editingaction\\\",this.#ge),this._eventBus._on(\\\"pagechanging\\\",this.#he),this._eventBus._on(\\\"scalechanging\\\",this.#le),this._eventBus._on(\\\"rotationchanging\\\",this.#ue),this.#Be(),this.#me(),this.#Ee(),this.#S=n.annotationStorage,this.#H=n.filterFactory,this.#te=r,this.#J=a||null,this.#G=s,this.#L=o,this.#Z=c||null,this.viewParameters={realScale:Z.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1}destroy(){this.#b?.abort(),this.#b=null,this._signal=null,this._eventBus._off(\\\"editingaction\\\",this.#ge),this._eventBus._off(\\\"pagechanging\\\",this.#he),this._eventBus._off(\\\"scalechanging\\\",this.#le),this._eventBus._off(\\\"rotationchanging\\\",this.#ue);for(const e of this.#x.values())e.destroy();this.#x.clear(),this.#k.clear(),this.#U.clear(),this.#v=null,this.#$.clear(),this.#R.destroy(),this.#D?.destroy(),this.#O?.hide(),this.#O=null,this.#W&&(clearTimeout(this.#W),this.#W=null),this.#Ce&&(clearTimeout(this.#Ce),this.#Ce=null)}async mlGuess(e){return this.#Z?.guess(e)||null}async isMLEnabledFor(e){return!!await(this.#Z?.isEnabledFor(e))}get useNewAltTextFlow(){return this.#L}get hcmFilter(){return b(this,\\\"hcmFilter\\\",this.#te?this.#H.addHCMFilter(this.#te.foreground,this.#te.background):\\\"none\\\")}get direction(){return b(this,\\\"direction\\\",getComputedStyle(this.#fe).direction)}get highlightColors(){return b(this,\\\"highlightColors\\\",this.#J?new Map(this.#J.split(\\\",\\\").map((e=>e.split(\\\"=\\\").map((e=>e.trim()))))):null)}get highlightColorNames(){return b(this,\\\"highlightColorNames\\\",this.highlightColors?new Map(Array.from(this.highlightColors,(e=>e.reverse()))):null)}setMainHighlightColorPicker(e){this.#z=e}editAltText(e){this.#D?.editAltText(this,e)}switchToMode(e,t){this._eventBus.on(\\\"annotationeditormodechanged\\\",t,{once:!0,signal:this._signal}),this._eventBus.dispatch(\\\"showannotationeditorui\\\",{source:this,mode:e})}setPreference(e,t){this._eventBus.dispatch(\\\"setpreference\\\",{source:this,name:e,value:t})}onPageChanging({pageNumber:e}){this.#M=e-1}focusMainContainer(){this.#fe.focus()}findParent(e,t){for(const i of this.#x.values()){const{x:A,y:n,width:r,height:a}=i.div.getBoundingClientRect();if(e>=A&&e<=A+r&&t>=n&&t<=n+a)return i}return null}disableUserSelect(e=!1){this.#pe.classList.toggle(\\\"noUserSelect\\\",e)}addShouldRescale(e){this.#U.add(e)}removeShouldRescale(e){this.#U.delete(e)}onScaleChanging({scale:e}){this.commitOrRemove(),this.viewParameters.realScale=e*Z.PDF_TO_CSS_UNITS;for(const e of this.#U)e.onScaleChanging()}onRotationChanging({pagesRotation:e}){this.commitOrRemove(),this.viewParameters.rotation=e}#Qe({anchorNode:e}){return e.nodeType===Node.TEXT_NODE?e.parentElement:e}#_e(e){const{currentLayer:t}=this;if(t.hasTextLayer(e))return t;for(const t of this.#x.values())if(t.hasTextLayer(e))return t;return null}highlightSelection(e=\\\"\\\"){const t=document.getSelection();if(!t||t.isCollapsed)return;const{anchorNode:i,anchorOffset:A,focusNode:n,focusOffset:r}=t,a=t.toString(),s=this.#Qe(t).closest(\\\".textLayer\\\"),o=this.getSelectionBoxes(s);if(!o)return;t.empty();const c=this.#_e(s),g=this.#X===h.NONE,l=()=>{c?.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:e,boxes:o,anchorNode:i,anchorOffset:A,focusNode:n,focusOffset:r,text:a}),g&&this.showAllEditors(\\\"highlight\\\",!0,!0)};g?this.switchToMode(h.HIGHLIGHT,l):l()}#ye(){const e=document.getSelection();if(!e||e.isCollapsed)return;const t=this.#Qe(e).closest(\\\".textLayer\\\"),i=this.getSelectionBoxes(t);i&&(this.#O||=new Be(this),this.#O.show(t,i,\\\"ltr\\\"===this.direction))}addToAnnotationStorage(e){e.isEmpty()||!this.#S||this.#S.has(e.id)||this.#S.setValue(e.id,e)}#we(){const e=document.getSelection();if(!e||e.isCollapsed)return void(this.#ee&&(this.#O?.hide(),this.#ee=null,this.#be({hasSelectedText:!1})));const{anchorNode:t}=e;if(t===this.#ee)return;const i=this.#Qe(e).closest(\\\".textLayer\\\");if(i){if(this.#O?.hide(),this.#ee=t,this.#be({hasSelectedText:!0}),(this.#X===h.HIGHLIGHT||this.#X===h.NONE)&&(this.#X===h.HIGHLIGHT&&this.showAllEditors(\\\"highlight\\\",!0,!0),this.#Y=this.isShiftKeyDown,!this.isShiftKeyDown)){const e=this.#X===h.HIGHLIGHT?this.#_e(i):null;e?.toggleDrawing();const t=this._signal,A=t=>{\\\"pointerup\\\"===t.type&&0!==t.button||(e?.toggleDrawing(!0),window.removeEventListener(\\\"pointerup\\\",A),window.removeEventListener(\\\"blur\\\",A),\\\"pointerup\\\"===t.type&&this.#ve(\\\"main_toolbar\\\"))};window.addEventListener(\\\"pointerup\\\",A,{signal:t}),window.addEventListener(\\\"blur\\\",A,{signal:t})}}else this.#ee&&(this.#O?.hide(),this.#ee=null,this.#be({hasSelectedText:!1}))}#ve(e=\\\"\\\"){this.#X===h.HIGHLIGHT?this.highlightSelection(e):this.#G&&this.#ye()}#Be(){document.addEventListener(\\\"selectionchange\\\",this.#we.bind(this),{signal:this._signal})}#ke(){const e=this._signal;window.addEventListener(\\\"focus\\\",this.#ne,{signal:e}),window.addEventListener(\\\"blur\\\",this.#Ae,{signal:e})}#xe(){window.removeEventListener(\\\"focus\\\",this.#ne),window.removeEventListener(\\\"blur\\\",this.#Ae)}blur(){if(this.isShiftKeyDown=!1,this.#Y&&(this.#Y=!1,this.#ve(\\\"main_toolbar\\\")),!this.hasSelection)return;const{activeElement:e}=document;for(const t of this.#$)if(t.div.contains(e)){this.#V=[t,e],t._focusEventsAllowed=!1;break}}focus(){if(!this.#V)return;const[e,t]=this.#V;this.#V=null,t.addEventListener(\\\"focusin\\\",(()=>{e._focusEventsAllowed=!0}),{once:!0,signal:this._signal}),t.focus()}#Ee(){const e=this._signal;window.addEventListener(\\\"keydown\\\",this.#oe,{signal:e}),window.addEventListener(\\\"keyup\\\",this.#ce,{signal:e})}#De(){window.removeEventListener(\\\"keydown\\\",this.#oe),window.removeEventListener(\\\"keyup\\\",this.#ce)}#Se(){const e=this._signal;document.addEventListener(\\\"copy\\\",this.#re,{signal:e}),document.addEventListener(\\\"cut\\\",this.#ae,{signal:e}),document.addEventListener(\\\"paste\\\",this.#se,{signal:e})}#Pe(){document.removeEventListener(\\\"copy\\\",this.#re),document.removeEventListener(\\\"cut\\\",this.#ae),document.removeEventListener(\\\"paste\\\",this.#se)}#me(){const e=this._signal;document.addEventListener(\\\"dragover\\\",this.dragOver.bind(this),{signal:e}),document.addEventListener(\\\"drop\\\",this.drop.bind(this),{signal:e})}addEditListeners(){this.#Ee(),this.#Se()}removeEditListeners(){this.#De(),this.#Pe()}dragOver(e){for(const{type:t}of e.dataTransfer.items)for(const i of this.#N)if(i.isHandlingMimeForPasting(t))return e.dataTransfer.dropEffect=\\\"copy\\\",void e.preventDefault()}drop(e){for(const t of e.dataTransfer.items)for(const i of this.#N)if(i.isHandlingMimeForPasting(t.type))return i.paste(t,this.currentLayer),void e.preventDefault()}copy(e){if(e.preventDefault(),this.#v?.commitOrRemove(),!this.hasSelection)return;const t=[];for(const e of this.#$){const i=e.serialize(!0);i&&t.push(i)}0!==t.length&&e.clipboardData.setData(\\\"application/pdfjs\\\",JSON.stringify(t))}cut(e){this.copy(e),this.delete()}paste(e){e.preventDefault();const{clipboardData:t}=e;for(const e of t.items)for(const t of this.#N)if(t.isHandlingMimeForPasting(e.type))return void t.paste(e,this.currentLayer);let i=t.getData(\\\"application/pdfjs\\\");if(!i)return;try{i=JSON.parse(i)}catch(e){return void Q(`paste: \\\"${e.message}\\\".`)}if(!Array.isArray(i))return;this.unselectAll();const A=this.currentLayer;try{const e=[];for(const t of i){const i=A.deserialize(t);if(!i)return;e.push(i)}const t=()=>{for(const t of e)this.#Re(t);this.#Me(e)},n=()=>{for(const t of e)t.remove()};this.addCommands({cmd:t,undo:n,mustExec:!0})}catch(e){Q(`paste: \\\"${e.message}\\\".`)}}keydown(e){this.isShiftKeyDown||\\\"Shift\\\"!==e.key||(this.isShiftKeyDown=!0),this.#X===h.NONE||this.isEditorHandlingKeyboard||be._keyboardManager.exec(this,e)}keyup(e){this.isShiftKeyDown&&\\\"Shift\\\"===e.key&&(this.isShiftKeyDown=!1,this.#Y&&(this.#Y=!1,this.#ve(\\\"main_toolbar\\\")))}onEditingAction({name:e}){switch(e){case\\\"undo\\\":case\\\"redo\\\":case\\\"delete\\\":case\\\"selectAll\\\":this[e]();break;case\\\"highlightSelection\\\":this.highlightSelection(\\\"context_menu\\\")}}#be(e){Object.entries(e).some((([e,t])=>this.#de[e]!==t))&&(this._eventBus.dispatch(\\\"annotationeditorstateschanged\\\",{source:this,details:Object.assign(this.#de,e)}),this.#X===h.HIGHLIGHT&&!1===e.hasSelectedEditor&&this.#Fe([[l.HIGHLIGHT_FREE,!0]]))}#Fe(e){this._eventBus.dispatch(\\\"annotationeditorparamschanged\\\",{source:this,details:e})}setEditingState(e){e?(this.#ke(),this.#Se(),this.#be({isEditing:this.#X!==h.NONE,isEmpty:this.#Te(),hasSomethingToUndo:this.#R.hasSomethingToUndo(),hasSomethingToRedo:this.#R.hasSomethingToRedo(),hasSelectedEditor:!1})):(this.#xe(),this.#Pe(),this.#be({isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(e){if(!this.#N){this.#N=e;for(const e of this.#N)this.#Fe(e.defaultPropertiesToUpdate)}}getId(){return this.#q.id}get currentLayer(){return this.#x.get(this.#M)}getLayer(e){return this.#x.get(e)}get currentPageIndex(){return this.#M}addLayer(e){this.#x.set(e.pageIndex,e),this.#K?e.enable():e.disable()}removeLayer(e){this.#x.delete(e.pageIndex)}updateMode(e,t=null,i=!1){if(this.#X!==e)if(this.#X=e,e!==h.NONE){this.setEditingState(!0),this.#Ne(),this.unselectAll();for(const t of this.#x.values())t.updateMode(e);if(t||!i){if(t)for(const e of this.#k.values())if(e.annotationElementId===t){this.setSelected(e),e.enterInEditMode();break}}else this.addNewEditorFromKeyboard()}else this.setEditingState(!1),this.#Ue()}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(e){e!==this.#X&&this._eventBus.dispatch(\\\"switchannotationeditormode\\\",{source:this,mode:e})}updateParams(e,t){if(this.#N){switch(e){case l.CREATE:return void this.currentLayer.addNewEditor();case l.HIGHLIGHT_DEFAULT_COLOR:this.#z?.updateColor(t);break;case l.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch(\\\"reporttelemetry\\\",{source:this,details:{type:\\\"editing\\\",data:{type:\\\"highlight\\\",action:\\\"toggle_visibility\\\"}}}),(this.#ie||=new Map).set(e,t),this.showAllEditors(\\\"highlight\\\",t)}for(const i of this.#$)i.updateParams(e,t);for(const i of this.#N)i.updateDefaultParams(e,t)}}showAllEditors(e,t,i=!1){for(const i of this.#k.values())i.editorType===e&&i.show(t);(this.#ie?.get(l.HIGHLIGHT_SHOW_ALL)??!0)!==t&&this.#Fe([[l.HIGHLIGHT_SHOW_ALL,t]])}enableWaiting(e=!1){if(this.#j!==e){this.#j=e;for(const t of this.#x.values())e?t.disableClick():t.enableClick(),t.div.classList.toggle(\\\"waiting\\\",e)}}#Ne(){if(!this.#K){this.#K=!0;for(const e of this.#x.values())e.enable();for(const e of this.#k.values())e.enable()}}#Ue(){if(this.unselectAll(),this.#K){this.#K=!1;for(const e of this.#x.values())e.disable();for(const e of this.#k.values())e.disable()}}getEditors(e){const t=[];for(const i of this.#k.values())i.pageIndex===e&&t.push(i);return t}getEditor(e){return this.#k.get(e)}addEditor(e){this.#k.set(e.id,e)}removeEditor(e){e.div.contains(document.activeElement)&&(this.#W&&clearTimeout(this.#W),this.#W=setTimeout((()=>{this.focusMainContainer(),this.#W=null}),0)),this.#k.delete(e.id),this.unselect(e),e.annotationElementId&&this.#F.has(e.annotationElementId)||this.#S?.remove(e.id)}addDeletedAnnotationElement(e){this.#F.add(e.annotationElementId),this.addChangedExistingAnnotation(e),e.deleted=!0}isDeletedAnnotationElement(e){return this.#F.has(e)}removeDeletedAnnotationElement(e){this.#F.delete(e.annotationElementId),this.removeChangedExistingAnnotation(e),e.deleted=!1}#Re(e){const t=this.#x.get(e.pageIndex);t?t.addOrRebuild(e):(this.addEditor(e),this.addToAnnotationStorage(e))}setActiveEditor(e){this.#v!==e&&(this.#v=e,e&&this.#Fe(e.propertiesToUpdate))}get#Ge(){let e=null;for(e of this.#$);return e}updateUI(e){this.#Ge===e&&this.#Fe(e.propertiesToUpdate)}toggleSelected(e){this.#$.has(e)?(this.#$.delete(e),e.unselect(),this.#be({hasSelectedEditor:this.hasSelection})):(this.#$.add(e),e.select(),this.#Fe(e.propertiesToUpdate),this.#be({hasSelectedEditor:!0}))}setSelected(e){for(const t of this.#$)t!==e&&t.unselect();this.#$.clear(),this.#$.add(e),e.select(),this.#Fe(e.propertiesToUpdate),this.#be({hasSelectedEditor:!0})}isSelected(e){return this.#$.has(e)}get firstSelectedEditor(){return this.#$.values().next().value}unselect(e){e.unselect(),this.#$.delete(e),this.#be({hasSelectedEditor:this.hasSelection})}get hasSelection(){return 0!==this.#$.size}get isEnterHandled(){return 1===this.#$.size&&this.firstSelectedEditor.isEnterHandled}undo(){this.#R.undo(),this.#be({hasSomethingToUndo:this.#R.hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:this.#Te()})}redo(){this.#R.redo(),this.#be({hasSomethingToUndo:!0,hasSomethingToRedo:this.#R.hasSomethingToRedo(),isEmpty:this.#Te()})}addCommands(e){this.#R.add(e),this.#be({hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:this.#Te()})}#Te(){if(0===this.#k.size)return!0;if(1===this.#k.size)for(const e of this.#k.values())return e.isEmpty();return!1}delete(){if(this.commitOrRemove(),!this.hasSelection)return;const e=[...this.#$];this.addCommands({cmd:()=>{for(const t of e)t.remove()},undo:()=>{for(const t of e)this.#Re(t)},mustExec:!0})}commitOrRemove(){this.#v?.commitOrRemove()}hasSomethingToControl(){return this.#v||this.hasSelection}#Me(e){for(const e of this.#$)e.unselect();this.#$.clear();for(const t of e)t.isEmpty()||(this.#$.add(t),t.select());this.#be({hasSelectedEditor:this.hasSelection})}selectAll(){for(const e of this.#$)e.commit();this.#Me(this.#k.values())}unselectAll(){if((!this.#v||(this.#v.commitOrRemove(),this.#X===h.NONE))&&this.hasSelection){for(const e of this.#$)e.unselect();this.#$.clear(),this.#be({hasSelectedEditor:!1})}}translateSelectedEditors(e,t,i=!1){if(i||this.commitOrRemove(),!this.hasSelection)return;this.#Ie[0]+=e,this.#Ie[1]+=t;const[A,n]=this.#Ie,r=[...this.#$];this.#Ce&&clearTimeout(this.#Ce),this.#Ce=setTimeout((()=>{this.#Ce=null,this.#Ie[0]=this.#Ie[1]=0,this.addCommands({cmd:()=>{for(const e of r)this.#k.has(e.id)&&e.translateInPage(A,n)},undo:()=>{for(const e of r)this.#k.has(e.id)&&e.translateInPage(-A,-n)},mustExec:!1})}),1e3);for(const i of r)i.translateInPage(e,t)}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0),this.#T=new Map;for(const e of this.#$)this.#T.set(e,{savedX:e.x,savedY:e.y,savedPageIndex:e.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!this.#T)return!1;this.disableUserSelect(!1);const e=this.#T;this.#T=null;let t=!1;for(const[{x:i,y:A,pageIndex:n},r]of e)r.newX=i,r.newY=A,r.newPageIndex=n,t||=i!==r.savedX||A!==r.savedY||n!==r.savedPageIndex;if(!t)return!1;const i=(e,t,i,A)=>{if(this.#k.has(e.id)){const n=this.#x.get(A);n?e._setParentAndPosition(n,t,i):(e.pageIndex=A,e.x=t,e.y=i)}};return this.addCommands({cmd:()=>{for(const[t,{newX:A,newY:n,newPageIndex:r}]of e)i(t,A,n,r)},undo:()=>{for(const[t,{savedX:A,savedY:n,savedPageIndex:r}]of e)i(t,A,n,r)},mustExec:!0}),!0}dragSelectedEditors(e,t){if(this.#T)for(const i of this.#T.keys())i.drag(e,t)}rebuild(e){if(null===e.parent){const t=this.getLayer(e.pageIndex);t?(t.changeParent(e),t.addOrRebuild(e)):(this.addEditor(e),this.addToAnnotationStorage(e),e.rebuild())}else e.parent.addOrRebuild(e)}get isEditorHandlingKeyboard(){return this.getActive()?.shouldGetKeyboardEvents()||1===this.#$.size&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(e){return this.#v===e}getActive(){return this.#v}getMode(){return this.#X}get imageManager(){return b(this,\\\"imageManager\\\",new Qe)}getSelectionBoxes(e){if(!e)return null;const t=document.getSelection();for(let i=0,A=t.rangeCount;i({x:(t-A)/r,y:1-(e+a-i)/n,width:s/r,height:a/n});break;case\\\"180\\\":a=(e,t,a,s)=>({x:1-(e+a-i)/n,y:1-(t+s-A)/r,width:a/n,height:s/r});break;case\\\"270\\\":a=(e,t,a,s)=>({x:1-(t+s-A)/r,y:(e-i)/n,width:s/r,height:a/n});break;default:a=(e,t,a,s)=>({x:(e-i)/n,y:(t-A)/r,width:a/n,height:s/r})}const s=[];for(let e=0,i=t.rangeCount;ee.stopPropagation()),{signal:i});const A=e=>{e.preventDefault(),this.#r._uiManager.editAltText(this.#r)};return e.addEventListener(\\\"click\\\",A,{capture:!0,signal:i}),e.addEventListener(\\\"keydown\\\",(t=>{t.target===e&&\\\"Enter\\\"===t.key&&(this.#Oe=!0,A(t))}),{signal:i}),await this.#qe(),e}finish(){this.#We&&(this.#We.focus({focusVisible:this.#Oe}),this.#Oe=!1)}isEmpty(){return!this.#Le&&!this.#He}get data(){return{altText:this.#Le,decorative:this.#He}}set data({altText:e,decorative:t}){this.#Le===e&&this.#He===t||(this.#Le=e,this.#He=t,this.#qe())}toggle(e=!1){this.#We&&(!e&&this.#Ye&&(clearTimeout(this.#Ye),this.#Ye=null),this.#We.disabled=!e)}destroy(){this.#We?.remove(),this.#We=null,this.#Je=null}async#qe(){const e=this.#We;if(!e)return;if(!this.#Le&&!this.#He)return e.classList.remove(\\\"done\\\"),void this.#Je?.remove();e.classList.add(\\\"done\\\"),ve._l10nPromise.get(\\\"pdfjs-editor-alt-text-edit-button-label\\\").then((t=>{e.setAttribute(\\\"aria-label\\\",t)}));let t=this.#Je;if(!t){this.#Je=t=document.createElement(\\\"span\\\"),t.className=\\\"tooltip\\\",t.setAttribute(\\\"role\\\",\\\"tooltip\\\");const i=t.id=`alt-text-tooltip-${this.#r.id}`;e.setAttribute(\\\"aria-describedby\\\",i);const A=100,n=this.#r._uiManager._signal;n.addEventListener(\\\"abort\\\",(()=>{clearTimeout(this.#Ye),this.#Ye=null}),{once:!0}),e.addEventListener(\\\"mouseenter\\\",(()=>{this.#Ye=setTimeout((()=>{this.#Ye=null,this.#Je.classList.add(\\\"show\\\"),this.#r._reportTelemetry({action:\\\"alt_text_tooltip\\\"})}),A)}),{signal:n}),e.addEventListener(\\\"mouseleave\\\",(()=>{this.#Ye&&(clearTimeout(this.#Ye),this.#Ye=null),this.#Je?.classList.remove(\\\"show\\\")}),{signal:n})}t.innerText=this.#He?await ve._l10nPromise.get(\\\"pdfjs-editor-alt-text-decorative-tooltip\\\"):this.#Le,t.parentNode||e.append(t);this.#r.getImageForAltText()?.setAttribute(\\\"aria-describedby\\\",t.id)}}class ke{#Ke=null;#je=null;#Le=null;#Ve=!1;#ze=!1;#Ze=null;#Xe=null;#$e=this.focusin.bind(this);#et=this.focusout.bind(this);#tt=null;#it=\\\"\\\";#At=!1;#nt=null;#rt=!1;#at=!1;#st=!1;#ot=null;#ct=0;#gt=0;#ht=null;_initialOptions=Object.create(null);_isVisible=!0;_uiManager=null;_focusEventsAllowed=!0;_l10nPromise=null;#lt=!1;#ut=ke._zIndex++;static _borderLineWidth=-1;static _colorManager=new we;static _zIndex=1;static _telemetryTimeout=1e3;static get _resizerKeyboardManager(){const e=ke.prototype._resizeWithKeyboard,t=be.TRANSLATE_SMALL,i=be.TRANSLATE_BIG;return b(this,\\\"_resizerKeyboardManager\\\",new ye([[[\\\"ArrowLeft\\\",\\\"mac+ArrowLeft\\\"],e,{args:[-t,0]}],[[\\\"ctrl+ArrowLeft\\\",\\\"mac+shift+ArrowLeft\\\"],e,{args:[-i,0]}],[[\\\"ArrowRight\\\",\\\"mac+ArrowRight\\\"],e,{args:[t,0]}],[[\\\"ctrl+ArrowRight\\\",\\\"mac+shift+ArrowRight\\\"],e,{args:[i,0]}],[[\\\"ArrowUp\\\",\\\"mac+ArrowUp\\\"],e,{args:[0,-t]}],[[\\\"ctrl+ArrowUp\\\",\\\"mac+shift+ArrowUp\\\"],e,{args:[0,-i]}],[[\\\"ArrowDown\\\",\\\"mac+ArrowDown\\\"],e,{args:[0,t]}],[[\\\"ctrl+ArrowDown\\\",\\\"mac+shift+ArrowDown\\\"],e,{args:[0,i]}],[[\\\"Escape\\\",\\\"mac+Escape\\\"],ke.prototype._stopResizingWithKeyboard]]))}constructor(e){this.constructor===ke&&_(\\\"Cannot initialize AnnotationEditor.\\\"),this.parent=e.parent,this.id=e.id,this.width=this.height=null,this.pageIndex=e.parent.pageIndex,this.name=e.name,this.div=null,this._uiManager=e.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=e.isCentered,this._structTreeParentId=null;const{rotation:t,rawDims:{pageWidth:i,pageHeight:A,pageX:n,pageY:r}}=this.parent.viewport;this.rotation=t,this.pageRotation=(360+t-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[i,A],this.pageTranslation=[n,r];const[a,s]=this.parentDimensions;this.x=e.x/a,this.y=e.y/s,this.isAttachedToDOM=!1,this.deleted=!1}get editorType(){return Object.getPrototypeOf(this).constructor._type}static get _defaultLineColor(){return b(this,\\\"_defaultLineColor\\\",this._colorManager.getHexCode(\\\"CanvasText\\\"))}static deleteAnnotationElement(e){const t=new xe({id:e.parent.getNextId(),parent:e.parent,uiManager:e._uiManager});t.annotationElementId=e.annotationElementId,t.deleted=!0,t._uiManager.addToAnnotationStorage(t)}static initialize(e,t,i){if(ke._l10nPromise||=new Map([\\\"pdfjs-editor-alt-text-button-label\\\",\\\"pdfjs-editor-alt-text-edit-button-label\\\",\\\"pdfjs-editor-alt-text-decorative-tooltip\\\",\\\"pdfjs-editor-resizer-label-topLeft\\\",\\\"pdfjs-editor-resizer-label-topMiddle\\\",\\\"pdfjs-editor-resizer-label-topRight\\\",\\\"pdfjs-editor-resizer-label-middleRight\\\",\\\"pdfjs-editor-resizer-label-bottomRight\\\",\\\"pdfjs-editor-resizer-label-bottomMiddle\\\",\\\"pdfjs-editor-resizer-label-bottomLeft\\\",\\\"pdfjs-editor-resizer-label-middleLeft\\\"].map((t=>[t,e.get(t.replaceAll(/([A-Z])/g,(e=>`-${e.toLowerCase()}`)))]))),i?.strings)for(const t of i.strings)ke._l10nPromise.set(t,e.get(t));if(-1!==ke._borderLineWidth)return;const A=getComputedStyle(document.documentElement);ke._borderLineWidth=parseFloat(A.getPropertyValue(\\\"--outline-width\\\"))||0}static updateDefaultParams(e,t){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(e){return!1}static paste(e,t){_(\\\"Not implemented\\\")}get propertiesToUpdate(){return[]}get _isDraggable(){return this.#lt}set _isDraggable(e){this.#lt=e,this.div?.classList.toggle(\\\"draggable\\\",e)}get isEnterHandled(){return!0}center(){const[e,t]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*t/(2*e),this.y+=this.width*e/(2*t);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*t/(2*e),this.y-=this.width*e/(2*t);break;default:this.x-=this.width/2,this.y-=this.height/2}this.fixAndSetPosition()}addCommands(e){this._uiManager.addCommands(e)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=this.#ut}setParent(e){null!==e?(this.pageIndex=e.pageIndex,this.pageDimensions=e.pageDimensions):this.#dt(),this.parent=e}focusin(e){this._focusEventsAllowed&&(this.#At?this.#At=!1:this.parent.setSelected(this))}focusout(e){if(!this._focusEventsAllowed)return;if(!this.isAttachedToDOM)return;e.relatedTarget?.closest(`#${this.id}`)||(e.preventDefault(),this.parent?.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(e,t,i,A){const[n,r]=this.parentDimensions;[i,A]=this.screenToPageTranslation(i,A),this.x=(e+i)/n,this.y=(t+A)/r,this.fixAndSetPosition()}#It([e,t],i,A){[i,A]=this.screenToPageTranslation(i,A),this.x+=i/e,this.y+=A/t,this.fixAndSetPosition()}translate(e,t){this.#It(this.parentDimensions,e,t)}translateInPage(e,t){this.#nt||=[this.x,this.y],this.#It(this.pageDimensions,e,t),this.div.scrollIntoView({block:\\\"nearest\\\"})}drag(e,t){this.#nt||=[this.x,this.y];const[i,A]=this.parentDimensions;if(this.x+=e/i,this.y+=t/A,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){const{x:e,y:t}=this.div.getBoundingClientRect();this.parent.findNewParent(this,e,t)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:n,y:r}=this;const[a,s]=this.getBaseTranslation();n+=a,r+=s,this.div.style.left=`${(100*n).toFixed(2)}%`,this.div.style.top=`${(100*r).toFixed(2)}%`,this.div.scrollIntoView({block:\\\"nearest\\\"})}get _hasBeenMoved(){return!!this.#nt&&(this.#nt[0]!==this.x||this.#nt[1]!==this.y)}getBaseTranslation(){const[e,t]=this.parentDimensions,{_borderLineWidth:i}=ke,A=i/e,n=i/t;switch(this.rotation){case 90:return[-A,n];case 180:return[A,n];case 270:return[A,-n];default:return[-A,-n]}}get _mustFixPosition(){return!0}fixAndSetPosition(e=this.rotation){const[t,i]=this.pageDimensions;let{x:A,y:n,width:r,height:a}=this;if(r*=t,a*=i,A*=t,n*=i,this._mustFixPosition)switch(e){case 0:A=Math.max(0,Math.min(t-r,A)),n=Math.max(0,Math.min(i-a,n));break;case 90:A=Math.max(0,Math.min(t-a,A)),n=Math.min(i,Math.max(r,n));break;case 180:A=Math.min(t,Math.max(r,A)),n=Math.min(i,Math.max(a,n));break;case 270:A=Math.min(t,Math.max(a,A)),n=Math.max(0,Math.min(i-r,n))}this.x=A/=t,this.y=n/=i;const[s,o]=this.getBaseTranslation();A+=s,n+=o;const{style:c}=this.div;c.left=`${(100*A).toFixed(2)}%`,c.top=`${(100*n).toFixed(2)}%`,this.moveInDOM()}static#Ct(e,t,i){switch(i){case 90:return[t,-e];case 180:return[-e,-t];case 270:return[-t,e];default:return[e,t]}}screenToPageTranslation(e,t){return ke.#Ct(e,t,this.parentRotation)}pageTranslationToScreen(e,t){return ke.#Ct(e,t,360-this.parentRotation)}#ft(e){switch(e){case 90:{const[e,t]=this.pageDimensions;return[0,-e/t,t/e,0]}case 180:return[-1,0,0,-1];case 270:{const[e,t]=this.pageDimensions;return[0,e/t,-t/e,0]}default:return[1,0,0,1]}}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{parentScale:e,pageDimensions:[t,i]}=this,A=t*e,n=i*e;return U.isCSSRoundSupported?[Math.round(A),Math.round(n)]:[A,n]}setDims(e,t){const[i,A]=this.parentDimensions;this.div.style.width=`${(100*e/i).toFixed(2)}%`,this.#ze||(this.div.style.height=`${(100*t/A).toFixed(2)}%`)}fixDims(){const{style:e}=this.div,{height:t,width:i}=e,A=i.endsWith(\\\"%\\\"),n=!this.#ze&&t.endsWith(\\\"%\\\");if(A&&n)return;const[r,a]=this.parentDimensions;A||(e.width=`${(100*parseFloat(i)/r).toFixed(2)}%`),this.#ze||n||(e.height=`${(100*parseFloat(t)/a).toFixed(2)}%`)}getInitialTranslation(){return[0,0]}#pt(){if(this.#Ze)return;this.#Ze=document.createElement(\\\"div\\\"),this.#Ze.classList.add(\\\"resizers\\\");const e=this._willKeepAspectRatio?[\\\"topLeft\\\",\\\"topRight\\\",\\\"bottomRight\\\",\\\"bottomLeft\\\"]:[\\\"topLeft\\\",\\\"topMiddle\\\",\\\"topRight\\\",\\\"middleRight\\\",\\\"bottomRight\\\",\\\"bottomMiddle\\\",\\\"bottomLeft\\\",\\\"middleLeft\\\"],t=this._uiManager._signal;for(const i of e){const e=document.createElement(\\\"div\\\");this.#Ze.append(e),e.classList.add(\\\"resizer\\\",i),e.setAttribute(\\\"data-resizer-name\\\",i),e.addEventListener(\\\"pointerdown\\\",this.#Bt.bind(this,i),{signal:t}),e.addEventListener(\\\"contextmenu\\\",ge,{signal:t}),e.tabIndex=-1}this.div.prepend(this.#Ze)}#Bt(e,t){t.preventDefault();const{isMac:i}=U.platform;if(0!==t.button||t.ctrlKey&&i)return;this.#Le?.toggle(!1);const A=this.#mt.bind(this,e),n=this._isDraggable;this._isDraggable=!1;const r=this._uiManager._signal,a={passive:!0,capture:!0,signal:r};this.parent.togglePointerEvents(!1),window.addEventListener(\\\"pointermove\\\",A,a),window.addEventListener(\\\"contextmenu\\\",ge,{signal:r});const s=this.x,o=this.y,c=this.width,g=this.height,h=this.parent.div.style.cursor,l=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(t.target).cursor;const u=()=>{this.parent.togglePointerEvents(!0),this.#Le?.toggle(!0),this._isDraggable=n,window.removeEventListener(\\\"pointerup\\\",u),window.removeEventListener(\\\"blur\\\",u),window.removeEventListener(\\\"pointermove\\\",A,a),window.removeEventListener(\\\"contextmenu\\\",ge),this.parent.div.style.cursor=h,this.div.style.cursor=l,this.#Et(s,o,c,g)};window.addEventListener(\\\"pointerup\\\",u,{signal:r}),window.addEventListener(\\\"blur\\\",u,{signal:r})}#Et(e,t,i,A){const n=this.x,r=this.y,a=this.width,s=this.height;n===e&&r===t&&a===i&&s===A||this.addCommands({cmd:()=>{this.width=a,this.height=s,this.x=n,this.y=r;const[e,t]=this.parentDimensions;this.setDims(e*a,t*s),this.fixAndSetPosition()},undo:()=>{this.width=i,this.height=A,this.x=e,this.y=t;const[n,r]=this.parentDimensions;this.setDims(n*i,r*A),this.fixAndSetPosition()},mustExec:!0})}#mt(e,t){const[i,A]=this.parentDimensions,n=this.x,r=this.y,a=this.width,s=this.height,o=ke.MIN_SIZE/i,c=ke.MIN_SIZE/A,g=e=>Math.round(1e4*e)/1e4,h=this.#ft(this.rotation),l=(e,t)=>[h[0]*e+h[2]*t,h[1]*e+h[3]*t],u=this.#ft(360-this.rotation);let d,I,C=!1,f=!1;switch(e){case\\\"topLeft\\\":C=!0,d=(e,t)=>[0,0],I=(e,t)=>[e,t];break;case\\\"topMiddle\\\":d=(e,t)=>[e/2,0],I=(e,t)=>[e/2,t];break;case\\\"topRight\\\":C=!0,d=(e,t)=>[e,0],I=(e,t)=>[0,t];break;case\\\"middleRight\\\":f=!0,d=(e,t)=>[e,t/2],I=(e,t)=>[0,t/2];break;case\\\"bottomRight\\\":C=!0,d=(e,t)=>[e,t],I=(e,t)=>[0,0];break;case\\\"bottomMiddle\\\":d=(e,t)=>[e/2,t],I=(e,t)=>[e/2,0];break;case\\\"bottomLeft\\\":C=!0,d=(e,t)=>[0,t],I=(e,t)=>[e,0];break;case\\\"middleLeft\\\":f=!0,d=(e,t)=>[0,t/2],I=(e,t)=>[e,t/2]}const p=d(a,s),B=I(a,s);let m=l(...B);const E=g(n+m[0]),Q=g(r+m[1]);let _=1,y=1,[w,b]=this.screenToPageTranslation(t.movementX,t.movementY);var v,k;if([w,b]=(v=w/i,k=b/A,[u[0]*v+u[2]*k,u[1]*v+u[3]*k]),C){const e=Math.hypot(a,s);_=y=Math.max(Math.min(Math.hypot(B[0]-p[0]-w,B[1]-p[1]-b)/e,1/a,1/s),o/a,c/s)}else f?_=Math.max(o,Math.min(1,Math.abs(B[0]-p[0]-w)))/a:y=Math.max(c,Math.min(1,Math.abs(B[1]-p[1]-b)))/s;const x=g(a*_),D=g(s*y);m=l(...I(x,D));const S=E-m[0],P=Q-m[1];this.width=x,this.height=D,this.x=S,this.y=P,this.setDims(i*x,A*D),this.fixAndSetPosition()}altTextFinish(){this.#Le?.finish()}async addEditToolbar(){return this.#tt||this.#at||(this.#tt=new pe(this),this.div.append(this.#tt.render()),this.#Le&&this.#tt.addAltTextButton(await this.#Le.render())),this.#tt}removeEditToolbar(){this.#tt&&(this.#tt.remove(),this.#tt=null,this.#Le?.destroy())}getClientDimensions(){return this.div.getBoundingClientRect()}async addAltTextButton(){this.#Le||(ve.initialize(ke._l10nPromise),this.#Le=new ve(this),this.#Ke&&(this.#Le.data=this.#Ke,this.#Ke=null),await this.addEditToolbar())}get altTextData(){return this.#Le?.data}set altTextData(e){this.#Le&&(this.#Le.data=e)}hasAltText(){return!this.#Le?.isEmpty()}render(){this.div=document.createElement(\\\"div\\\"),this.div.setAttribute(\\\"data-editor-rotation\\\",(360-this.rotation)%360),this.div.className=this.name,this.div.setAttribute(\\\"id\\\",this.id),this.div.tabIndex=this.#Ve?-1:0,this._isVisible||this.div.classList.add(\\\"hidden\\\"),this.setInForeground();const e=this._uiManager._signal;this.div.addEventListener(\\\"focusin\\\",this.#$e,{signal:e}),this.div.addEventListener(\\\"focusout\\\",this.#et,{signal:e});const[t,i]=this.parentDimensions;this.parentRotation%180!=0&&(this.div.style.maxWidth=`${(100*i/t).toFixed(2)}%`,this.div.style.maxHeight=`${(100*t/i).toFixed(2)}%`);const[A,n]=this.getInitialTranslation();return this.translate(A,n),me(this,this.div,[\\\"pointerdown\\\"]),this.div}pointerdown(e){const{isMac:t}=U.platform;0!==e.button||e.ctrlKey&&t?e.preventDefault():(this.#At=!0,this._isDraggable?this.#Qt(e):this.#_t(e))}#_t(e){const{isMac:t}=U.platform;e.ctrlKey&&!t||e.shiftKey||e.metaKey&&t?this.parent.toggleSelected(this):this.parent.setSelected(this)}#Qt(e){const t=this._uiManager.isSelected(this);let i,A;this._uiManager.setUpDragSession();const n=this._uiManager._signal;t&&(this.div.classList.add(\\\"moving\\\"),i={passive:!0,capture:!0,signal:n},this.#ct=e.clientX,this.#gt=e.clientY,A=e=>{const{clientX:t,clientY:i}=e,[A,n]=this.screenToPageTranslation(t-this.#ct,i-this.#gt);this.#ct=t,this.#gt=i,this._uiManager.dragSelectedEditors(A,n)},window.addEventListener(\\\"pointermove\\\",A,i));const r=()=>{window.removeEventListener(\\\"pointerup\\\",r),window.removeEventListener(\\\"blur\\\",r),t&&(this.div.classList.remove(\\\"moving\\\"),window.removeEventListener(\\\"pointermove\\\",A,i)),this.#At=!1,this._uiManager.endDragSession()||this.#_t(e)};window.addEventListener(\\\"pointerup\\\",r,{signal:n}),window.addEventListener(\\\"blur\\\",r,{signal:n})}moveInDOM(){this.#ot&&clearTimeout(this.#ot),this.#ot=setTimeout((()=>{this.#ot=null,this.parent?.moveEditorInDOM(this)}),0)}_setParentAndPosition(e,t,i){e.changeParent(this),this.x=t,this.y=i,this.fixAndSetPosition()}getRect(e,t,i=this.rotation){const A=this.parentScale,[n,r]=this.pageDimensions,[a,s]=this.pageTranslation,o=e/A,c=t/A,g=this.x*n,h=this.y*r,l=this.width*n,u=this.height*r;switch(i){case 0:return[g+o+a,r-h-c-u+s,g+o+l+a,r-h-c+s];case 90:return[g+c+a,r-h+o+s,g+c+u+a,r-h+o+l+s];case 180:return[g-o-l+a,r-h+c+s,g-o+a,r-h+c+u+s];case 270:return[g-c-u+a,r-h-o-l+s,g-c+a,r-h-o+s];default:throw new Error(\\\"Invalid rotation\\\")}}getRectInCurrentCoords(e,t){const[i,A,n,r]=e,a=n-i,s=r-A;switch(this.rotation){case 0:return[i,t-r,a,s];case 90:return[i,t-A,s,a];case 180:return[n,t-A,a,s];case 270:return[n,t-r,s,a];default:throw new Error(\\\"Invalid rotation\\\")}}onceAdded(){}isEmpty(){return!1}enableEditMode(){this.#at=!0}disableEditMode(){this.#at=!1}isInEditMode(){return this.#at}shouldGetKeyboardEvents(){return this.#st}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){const e=this._uiManager._signal;this.div?.addEventListener(\\\"focusin\\\",this.#$e,{signal:e}),this.div?.addEventListener(\\\"focusout\\\",this.#et,{signal:e})}rotate(e){}serialize(e=!1,t=null){_(\\\"An editor must be serializable\\\")}static deserialize(e,t,i){const A=new this.prototype.constructor({parent:t,id:t.getNextId(),uiManager:i});A.rotation=e.rotation,A.#Ke=e.accessibilityData;const[n,r]=A.pageDimensions,[a,s,o,c]=A.getRectInCurrentCoords(e.rect,r);return A.x=a/n,A.y=s/r,A.width=o/n,A.height=c/r,A}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||null!==this.serialize())}remove(){if(this.div.removeEventListener(\\\"focusin\\\",this.#$e),this.div.removeEventListener(\\\"focusout\\\",this.#et),this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),this.#ot&&(clearTimeout(this.#ot),this.#ot=null),this.#dt(),this.removeEditToolbar(),this.#ht){for(const e of this.#ht.values())clearTimeout(e);this.#ht=null}this.parent=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(this.#pt(),this.#Ze.classList.remove(\\\"hidden\\\"),me(this,this.div,[\\\"keydown\\\"]))}get toolbarPosition(){return null}keydown(e){if(!this.isResizable||e.target!==this.div||\\\"Enter\\\"!==e.key)return;this._uiManager.setSelected(this),this.#Xe={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};const t=this.#Ze.children;if(!this.#je){this.#je=Array.from(t);const e=this.#yt.bind(this),i=this.#wt.bind(this),A=this._uiManager._signal;for(const t of this.#je){const n=t.getAttribute(\\\"data-resizer-name\\\");t.setAttribute(\\\"role\\\",\\\"spinbutton\\\"),t.addEventListener(\\\"keydown\\\",e,{signal:A}),t.addEventListener(\\\"blur\\\",i,{signal:A}),t.addEventListener(\\\"focus\\\",this.#bt.bind(this,n),{signal:A}),ke._l10nPromise.get(`pdfjs-editor-resizer-label-${n}`).then((e=>t.setAttribute(\\\"aria-label\\\",e)))}}const i=this.#je[0];let A=0;for(const e of t){if(e===i)break;A++}const n=(360-this.rotation+this.parentRotation)%360/90*(this.#je.length/4);if(n!==A){if(nA)for(let e=0;ei.setAttribute(\\\"aria-label\\\",e)))}}this.#vt(0),this.#st=!0,this.#Ze.firstChild.focus({focusVisible:!0}),e.preventDefault(),e.stopImmediatePropagation()}#yt(e){ke._resizerKeyboardManager.exec(this,e)}#wt(e){this.#st&&e.relatedTarget?.parentNode!==this.#Ze&&this.#dt()}#bt(e){this.#it=this.#st?e:\\\"\\\"}#vt(e){if(this.#je)for(const t of this.#je)t.tabIndex=e}_resizeWithKeyboard(e,t){this.#st&&this.#mt(this.#it,{movementX:e,movementY:t})}#dt(){if(this.#st=!1,this.#vt(-1),this.#Xe){const{savedX:e,savedY:t,savedWidth:i,savedHeight:A}=this.#Xe;this.#Et(e,t,i,A),this.#Xe=null}}_stopResizingWithKeyboard(){this.#dt(),this.div.focus()}select(){this.makeResizable(),this.div?.classList.add(\\\"selectedEditor\\\"),this.#tt?this.#tt?.show():this.addEditToolbar().then((()=>{this.div?.classList.contains(\\\"selectedEditor\\\")&&this.#tt?.show()}))}unselect(){this.#Ze?.classList.add(\\\"hidden\\\"),this.div?.classList.remove(\\\"selectedEditor\\\"),this.div?.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),this.#tt?.hide()}updateParams(e,t){}disableEditing(){}enableEditing(){}enterInEditMode(){}getImageForAltText(){return null}get contentDiv(){return this.div}get isEditing(){return this.#rt}set isEditing(e){this.#rt=e,this.parent&&(e?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}setAspectRatio(e,t){this.#ze=!0;const i=e/t,{style:A}=this.div;A.aspectRatio=i,A.height=\\\"auto\\\"}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:\\\"added\\\"}}get telemetryFinalData(){return null}_reportTelemetry(e,t=!1){if(t){this.#ht||=new Map;const{action:t}=e;let i=this.#ht.get(t);i&&clearTimeout(i),i=setTimeout((()=>{this._reportTelemetry(e),this.#ht.delete(t),0===this.#ht.size&&(this.#ht=null)}),ke._telemetryTimeout),this.#ht.set(t,i)}else e.type||=this.editorType,this._uiManager._eventBus.dispatch(\\\"reporttelemetry\\\",{source:this,details:{type:\\\"editing\\\",data:e}})}show(e=this._isVisible){this.div.classList.toggle(\\\"hidden\\\",!e),this._isVisible=e}enable(){this.div&&(this.div.tabIndex=0),this.#Ve=!1}disable(){this.div&&(this.div.tabIndex=-1),this.#Ve=!0}renderAnnotationElement(e){let t=e.container.querySelector(\\\".annotationContent\\\");if(t){if(\\\"CANVAS\\\"===t.nodeName){const e=t;t=document.createElement(\\\"div\\\"),t.classList.add(\\\"annotationContent\\\",this.editorType),e.before(t)}}else t=document.createElement(\\\"div\\\"),t.classList.add(\\\"annotationContent\\\",this.editorType),e.container.prepend(t);return t}resetAnnotationElement(e){const{firstChild:t}=e.container;\\\"DIV\\\"===t.nodeName&&t.classList.contains(\\\"annotationContent\\\")&&t.remove()}}class xe extends ke{constructor(e){super(e),this.annotationElementId=e.annotationElementId,this.deleted=!0}serialize(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex}}}const De=3285377520,Se=4294901760,Pe=65535;class Re{constructor(e){this.h1=e?4294967295&e:De,this.h2=e?4294967295&e:De}update(e){let t,i;if(\\\"string\\\"==typeof e){t=new Uint8Array(2*e.length),i=0;for(let A=0,n=e.length;A>>8,t[i++]=255&n)}}else{if(!ArrayBuffer.isView(e))throw new Error(\\\"Invalid data format, must be a string or TypedArray.\\\");t=e.slice(),i=t.byteLength}const A=i>>2,n=i-4*A,r=new Uint32Array(t.buffer,0,A);let a=0,s=0,o=this.h1,c=this.h2;const g=3432918353,h=461845907,l=11601,u=13715;for(let e=0;e>>17,a=a*h&Se|a*u&Pe,o^=a,o=o<<13|o>>>19,o=5*o+3864292196):(s=r[e],s=s*g&Se|s*l&Pe,s=s<<15|s>>>17,s=s*h&Se|s*u&Pe,c^=s,c=c<<13|c>>>19,c=5*c+3864292196);switch(a=0,n){case 3:a^=t[4*A+2]<<16;case 2:a^=t[4*A+1]<<8;case 1:a^=t[4*A],a=a*g&Se|a*l&Pe,a=a<<15|a>>>17,a=a*h&Se|a*u&Pe,1&A?o^=a:c^=a}this.h1=o,this.h2=c}hexdigest(){let e=this.h1,t=this.h2;return e^=t>>>1,e=3981806797*e&Se|36045*e&Pe,t=4283543511*t&Se|(2950163797*(t<<16|e>>>16)&Se)>>>16,e^=t>>>1,e=444984403*e&Se|60499*e&Pe,t=3301882366*t&Se|(3120437893*(t<<16|e>>>16)&Se)>>>16,e^=t>>>1,(e>>>0).toString(16).padStart(8,\\\"0\\\")+(t>>>0).toString(16).padStart(8,\\\"0\\\")}}const Me=Object.freeze({map:null,hash:\\\"\\\",transfer:void 0});class Fe{#kt=!1;#xt=null;#Dt=new Map;constructor(){this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(e,t){const i=this.#Dt.get(e);return void 0===i?t:Object.assign(t,i)}getRawValue(e){return this.#Dt.get(e)}remove(e){if(this.#Dt.delete(e),0===this.#Dt.size&&this.resetModified(),\\\"function\\\"==typeof this.onAnnotationEditor){for(const e of this.#Dt.values())if(e instanceof ke)return;this.onAnnotationEditor(null)}}setValue(e,t){const i=this.#Dt.get(e);let A=!1;if(void 0!==i)for(const[e,n]of Object.entries(t))i[e]!==n&&(A=!0,i[e]=n);else A=!0,this.#Dt.set(e,t);A&&this.#St(),t instanceof ke&&\\\"function\\\"==typeof this.onAnnotationEditor&&this.onAnnotationEditor(t.constructor._type)}has(e){return this.#Dt.has(e)}getAll(){return this.#Dt.size>0?N(this.#Dt):null}setAll(e){for(const[t,i]of Object.entries(e))this.setValue(t,i)}get size(){return this.#Dt.size}#St(){this.#kt||(this.#kt=!0,\\\"function\\\"==typeof this.onSetModified&&this.onSetModified())}resetModified(){this.#kt&&(this.#kt=!1,\\\"function\\\"==typeof this.onResetModified&&this.onResetModified())}get print(){return new Te(this)}get serializable(){if(0===this.#Dt.size)return Me;const e=new Map,t=new Re,i=[],A=Object.create(null);let n=!1;for(const[i,r]of this.#Dt){const a=r instanceof ke?r.serialize(!1,A):r;a&&(e.set(i,a),t.update(`${i}:${JSON.stringify(a)}`),n||=!!a.bitmap)}if(n)for(const t of e.values())t.bitmap&&i.push(t.bitmap);return e.size>0?{map:e,hash:t.hexdigest(),transfer:i}:Me}get editorStats(){let e=null;const t=new Map;for(const i of this.#Dt.values()){if(!(i instanceof ke))continue;const A=i.telemetryFinalData;if(!A)continue;const{type:n}=A;t.has(n)||t.set(n,Object.getPrototypeOf(i).constructor),e||=Object.create(null);const r=e[n]||=new Map;for(const[e,t]of Object.entries(A)){if(\\\"type\\\"===e)continue;let i=r.get(e);i||(i=new Map,r.set(e,i));const A=i.get(t)??0;i.set(t,A+1)}}for(const[i,A]of t)e[i]=A.computeTelemetryFinalData(e[i]);return e}resetModifiedIds(){this.#xt=null}get modifiedIds(){if(this.#xt)return this.#xt;const e=[];for(const t of this.#Dt.values())t instanceof ke&&t.annotationElementId&&t.serialize()&&e.push(t.annotationElementId);return this.#xt={ids:new Set(e),hash:e.join(\\\",\\\")}}}class Te extends Fe{#Pt;constructor(e){super();const{map:t,hash:i,transfer:A}=e.serializable,n=structuredClone(t,A?{transfer:A}:null);this.#Pt={map:n,hash:i,transfer:A}}get print(){_(\\\"Should not call PrintAnnotationStorage.print\\\")}get serializable(){return this.#Pt}get modifiedIds(){return b(this,\\\"modifiedIds\\\",{ids:new Set,hash:\\\"\\\"})}}class Ne{#Rt=new Set;constructor({ownerDocument:e=globalThis.document,styleElement:t=null}){this._document=e,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(e){this.nativeFontFaces.add(e),this._document.fonts.add(e)}removeNativeFontFace(e){this.nativeFontFaces.delete(e),this._document.fonts.delete(e)}insertRule(e){this.styleElement||(this.styleElement=this._document.createElement(\\\"style\\\"),this._document.documentElement.getElementsByTagName(\\\"head\\\")[0].append(this.styleElement));const t=this.styleElement.sheet;t.insertRule(e,t.cssRules.length)}clear(){for(const e of this.nativeFontFaces)this._document.fonts.delete(e);this.nativeFontFaces.clear(),this.#Rt.clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:e,_inspectFont:t}){if(e&&!this.#Rt.has(e.loadedName))if(y(!this.disableFontFace,\\\"loadSystemFont shouldn't be called when `disableFontFace` is set.\\\"),this.isFontLoadingAPISupported){const{loadedName:i,src:A,style:n}=e,r=new FontFace(i,A,n);this.addNativeFontFace(r);try{await r.load(),this.#Rt.add(i),t?.(e)}catch{Q(`Cannot load system font: ${e.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(r)}}else _(\\\"Not implemented: loadSystemFont without the Font Loading API.\\\")}async bind(e){if(e.attached||e.missingFile&&!e.systemFontInfo)return;if(e.attached=!0,e.systemFontInfo)return void await this.loadSystemFont(e);if(this.isFontLoadingAPISupported){const t=e.createNativeFontFace();if(t){this.addNativeFontFace(t);try{await t.loaded}catch(i){throw Q(`Failed to load font '${t.family}': '${i}'.`),e.disableFontFace=!0,i}}return}const t=e.createFontFaceRule();if(t){if(this.insertRule(t),this.isSyncFontLoadingSupported)return;await new Promise((t=>{const i=this._queueLoadingCallback(t);this._prepareFontLoadEvent(e,i)}))}}get isFontLoadingAPISupported(){return b(this,\\\"isFontLoadingAPISupported\\\",!!this._document?.fonts)}get isSyncFontLoadingSupported(){let e=!1;return(a||\\\"undefined\\\"!=typeof navigator&&\\\"string\\\"==typeof navigator?.userAgent&&/Mozilla\\\\/5.0.*?rv:\\\\d+.*? Gecko/.test(navigator.userAgent))&&(e=!0),b(this,\\\"isSyncFontLoadingSupported\\\",e)}_queueLoadingCallback(e){const{loadingRequests:t}=this,i={done:!1,complete:function(){for(y(!i.done,\\\"completeRequest() cannot be called twice.\\\"),i.done=!0;t.length>0&&t[0].done;){const e=t.shift();setTimeout(e.callback,0)}},callback:e};return t.push(i),i}get _loadTestFont(){return b(this,\\\"_loadTestFont\\\",atob(\\\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\\\"))}_prepareFontLoadEvent(e,t){function i(e,t){return e.charCodeAt(t)<<24|e.charCodeAt(t+1)<<16|e.charCodeAt(t+2)<<8|255&e.charCodeAt(t+3)}function A(e,t,i,A){return e.substring(0,t)+A+e.substring(t+i)}let n,r;const a=this._document.createElement(\\\"canvas\\\");a.width=1,a.height=1;const s=a.getContext(\\\"2d\\\");let o=0;const c=`lt${Date.now()}${this.loadTestFontId++}`;let g=this._loadTestFont;g=A(g,976,c.length,c);const h=1482184792;let l=i(g,16);for(n=0,r=c.length-3;n>24&255,e>>16&255,e>>8&255,255&e)}(l));const u=`@font-face {font-family:\\\"${c}\\\";src:url(data:font/opentype;base64,${btoa(g)});}`;this.insertRule(u);const d=this._document.createElement(\\\"div\\\");d.style.visibility=\\\"hidden\\\",d.style.width=d.style.height=\\\"10px\\\",d.style.position=\\\"absolute\\\",d.style.top=d.style.left=\\\"0px\\\";for(const t of[e.loadedName,c]){const e=this._document.createElement(\\\"span\\\");e.textContent=\\\"Hi\\\",e.style.fontFamily=t,d.append(e)}this._document.body.append(d),function e(t,i){if(++o>30)return Q(\\\"Load test font never loaded.\\\"),void i();s.font=\\\"30px \\\"+t,s.fillText(\\\".\\\",0,20),s.getImageData(0,0,1,1).data[3]>0?i():setTimeout(e.bind(null,t,i))}(c,(()=>{d.remove(),t.complete()}))}}class Ue{constructor(e,{disableFontFace:t=!1,inspectFont:i=null}){this.compiledGlyphs=Object.create(null);for(const t in e)this[t]=e[t];this.disableFontFace=!0===t,this._inspectFont=i}createNativeFontFace(){if(!this.data||this.disableFontFace)return null;let e;if(this.cssFontInfo){const t={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(t.style=`oblique ${this.cssFontInfo.italicAngle}deg`),e=new FontFace(this.cssFontInfo.fontFamily,this.data,t)}else e=new FontFace(this.loadedName,this.data,{});return this._inspectFont?.(this),e}createFontFaceRule(){if(!this.data||this.disableFontFace)return null;const e=F(this.data),t=`url(data:${this.mimetype};base64,${btoa(e)});`;let i;if(this.cssFontInfo){let e=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(e+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),i=`@font-face {font-family:\\\"${this.cssFontInfo.fontFamily}\\\";${e}src:${t}}`}else i=`@font-face {font-family:\\\"${this.loadedName}\\\";src:${t}}`;return this._inspectFont?.(this,t),i}getPathGenerator(e,t){if(void 0!==this.compiledGlyphs[t])return this.compiledGlyphs[t];let i;try{i=e.get(this.loadedName+\\\"_path_\\\"+t)}catch(e){Q(`getPathGenerator - ignoring character: \\\"${e}\\\".`)}if(!Array.isArray(i)||0===i.length)return this.compiledGlyphs[t]=function(e,t){};const A=[];for(let e=0,t=i.length;ee.bezierCurveTo(t,n,r,a,s,o))),e+=6}break;case 1:{const[t,n]=i.slice(e,e+2);A.push((e=>e.moveTo(t,n))),e+=2}break;case 2:{const[t,n]=i.slice(e,e+2);A.push((e=>e.lineTo(t,n))),e+=2}break;case 3:{const[t,n,r,a]=i.slice(e,e+4);A.push((e=>e.quadraticCurveTo(t,n,r,a))),e+=4}break;case 4:A.push((e=>e.restore()));break;case 5:A.push((e=>e.save()));break;case 6:y(2===A.length,\\\"Scale command is only valid at the third position.\\\");break;case 7:{const[t,n,r,a,s,o]=i.slice(e,e+6);A.push((e=>e.transform(t,n,r,a,s,o))),e+=6}break;case 8:{const[t,n]=i.slice(e,e+2);A.push((e=>e.translate(t,n))),e+=2}}return this.compiledGlyphs[t]=function(e,t){A[0](e),A[1](e),e.scale(t,-t);for(let t=2,i=A.length;t{const e=await Promise.resolve().then(i.t.bind(i,6337,19)),t=await Promise.resolve().then(i.t.bind(i,8620,19)),A=await Promise.resolve().then(i.t.bind(i,1357,19)),n=await Promise.resolve().then(i.t.bind(i,6523,19));let r,a;try{r=await Promise.resolve().then(i.t.bind(i,4871,19))}catch{}try{a=await Promise.resolve().then(i.bind(i,3951))}catch{}return new Map(Object.entries({fs:e,http:t,https:A,url:n,canvas:r,path2d:a}))})().then((e=>{if(Le=e,Ge.resolve(),!globalThis.DOMMatrix){const t=e.get(\\\"canvas\\\")?.DOMMatrix;t?globalThis.DOMMatrix=t:Q(\\\"Cannot polyfill `DOMMatrix`, rendering may be broken.\\\")}if(!globalThis.Path2D){const t=e.get(\\\"canvas\\\")?.CanvasRenderingContext2D,i=e.get(\\\"path2d\\\")?.applyPath2DToCanvasRenderingContext,A=e.get(\\\"path2d\\\")?.Path2D;t&&i&&A?(i(t),globalThis.Path2D=A):Q(\\\"Cannot polyfill `Path2D`, rendering may be broken.\\\")}}),(e=>{Q(`loadPackages: ${e}`),Le=new Map,Ge.resolve()}))}class He{static get promise(){return Ge.promise}static get(e){return Le?.get(e)}}const We=function(e){return He.get(\\\"fs\\\").promises.readFile(e).then((e=>new Uint8Array(e)))},Je=\\\"Fill\\\",Ye=\\\"Stroke\\\",Oe=\\\"Shading\\\";function qe(e,t){if(!t)return;const i=t[2]-t[0],A=t[3]-t[1],n=new Path2D;n.rect(t[0],t[1],i,A),e.clip(n)}class Ke{constructor(){this.constructor===Ke&&_(\\\"Cannot initialize BaseShadingPattern.\\\")}getPattern(){_(\\\"Abstract method `getPattern` called.\\\")}}class je extends Ke{constructor(e){super(),this._type=e[1],this._bbox=e[2],this._colorStops=e[3],this._p0=e[4],this._p1=e[5],this._r0=e[6],this._r1=e[7],this.matrix=null}_createGradient(e){let t;\\\"axial\\\"===this._type?t=e.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):\\\"radial\\\"===this._type&&(t=e.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const e of this._colorStops)t.addColorStop(e[0],e[1]);return t}getPattern(e,t,i,A){let n;if(A===Ye||A===Je){const r=t.current.getClippedPathBoundingBox(A,Ie(e))||[0,0,0,0],a=Math.ceil(r[2]-r[0])||1,s=Math.ceil(r[3]-r[1])||1,o=t.cachedCanvases.getCanvas(\\\"pattern\\\",a,s,!0),c=o.context;c.clearRect(0,0,c.canvas.width,c.canvas.height),c.beginPath(),c.rect(0,0,c.canvas.width,c.canvas.height),c.translate(-r[0],-r[1]),i=L.transform(i,[1,0,0,1,r[0],r[1]]),c.transform(...t.baseTransform),this.matrix&&c.transform(...this.matrix),qe(c,this._bbox),c.fillStyle=this._createGradient(c),c.fill(),n=e.createPattern(o.canvas,\\\"no-repeat\\\");const g=new DOMMatrix(i);n.setTransform(g)}else qe(e,this._bbox),n=this._createGradient(e);return n}}function Ve(e,t,i,A,n,r,a,s){const o=t.coords,c=t.colors,g=e.data,h=4*e.width;let l;o[i+1]>o[A+1]&&(l=i,i=A,A=l,l=r,r=a,a=l),o[A+1]>o[n+1]&&(l=A,A=n,n=l,l=a,a=s,s=l),o[i+1]>o[A+1]&&(l=i,i=A,A=l,l=r,r=a,a=l);const u=(o[i]+t.offsetX)*t.scaleX,d=(o[i+1]+t.offsetY)*t.scaleY,I=(o[A]+t.offsetX)*t.scaleX,C=(o[A+1]+t.offsetY)*t.scaleY,f=(o[n]+t.offsetX)*t.scaleX,p=(o[n+1]+t.offsetY)*t.scaleY;if(d>=p)return;const B=c[r],m=c[r+1],E=c[r+2],Q=c[a],_=c[a+1],y=c[a+2],w=c[s],b=c[s+1],v=c[s+2],k=Math.round(d),x=Math.round(p);let D,S,P,R,M,F,T,N;for(let e=k;e<=x;e++){if(ep?1:C===p?0:(C-e)/(C-p),D=I-(I-f)*t,S=Q-(Q-w)*t,P=_-(_-b)*t,R=y-(y-v)*t}let t;t=ep?1:(d-e)/(d-p),M=u-(u-f)*t,F=B-(B-w)*t,T=m-(m-b)*t,N=E-(E-v)*t;const i=Math.round(Math.min(D,M)),A=Math.round(Math.max(D,M));let n=h*e+4*i;for(let e=i;e<=A;e++)t=(D-e)/(D-M),t<0?t=0:t>1&&(t=1),g[n++]=S-(S-F)*t|0,g[n++]=P-(P-T)*t|0,g[n++]=R-(R-N)*t|0,g[n++]=255}}function ze(e,t,i){const A=t.coords,n=t.colors;let r,a;switch(t.type){case\\\"lattice\\\":const s=t.verticesPerRow,o=Math.floor(A.length/s)-1,c=s-1;for(r=0;r=A?n=A:i=n/e,{scale:i,size:n}}clipBbox(e,t,i,A,n){const r=A-t,a=n-i;e.ctx.rect(t,i,r,a),e.current.updateRectMinMax(Ie(e.ctx),[t,i,A,n]),e.clip(),e.endPath()}setFillAndStrokeStyleToContext(e,t,i){const A=e.ctx,n=e.current;switch(t){case 1:const e=this.ctx;A.fillStyle=e.fillStyle,A.strokeStyle=e.strokeStyle,n.fillColor=e.fillStyle,n.strokeColor=e.strokeStyle;break;case 2:const r=L.makeHexColor(i[0],i[1],i[2]);A.fillStyle=r,A.strokeStyle=r,n.fillColor=r,n.strokeColor=r;break;default:throw new R(`Unsupported paint type: ${t}`)}}getPattern(e,t,i,A){let n=i;A!==Oe&&(n=L.transform(n,t.baseTransform),this.matrix&&(n=L.transform(n,this.matrix)));const r=this.createPatternCanvas(t);let a=new DOMMatrix(n);a=a.translate(r.offsetX,r.offsetY),a=a.scale(1/r.scaleX,1/r.scaleY);const s=e.createPattern(r.canvas,\\\"repeat\\\");return s.setTransform(a),s}}function et({src:e,srcPos:t=0,dest:i,width:A,height:n,nonBlackColor:r=4294967295,inverseDecode:a=!1}){const s=U.isLittleEndian?4278190080:255,[o,c]=a?[r,s]:[s,r],g=A>>3,h=7&A,l=e.length;i=new Uint32Array(i.buffer);let u=0;for(let A=0;A>2),d=i.length,C=A+7>>3,f=4294967295,p=U.isLittleEndian?4278190080:255;for(l=0;lC?A:8*e-7,a=-8&r;let s=0,h=0;for(;n>=1}for(;o=r&&(I=n,C=A*I),o=0,u=C;u--;)h[o++]=g[c++],h[o++]=g[c++],h[o++]=g[c++],h[o++]=255;e.putImageData(s,0,l*tt)}}}function at(e,t){if(t.bitmap)return void e.drawImage(t.bitmap,0,0);const i=t.height,A=t.width,n=i%tt,r=(i-n)/tt,a=0===n?r:r+1,s=e.createImageData(A,tt);let o=0;const c=t.data,g=s.data;for(let t=0;t10&&\\\"function\\\"==typeof i,c=o?Date.now()+15:0;let g=0;const h=this.commonObjs,l=this.objs;let u;for(;;){if(void 0!==A&&a===A.nextBreakPoint)return A.breakIt(a,i),a;if(u=r[a],u!==f.dependency)this[u].apply(this,n[a]);else for(const e of n[a]){const t=e.startsWith(\\\"g_\\\")?h:l;if(!t.has(e))return t.get(e,i),a}if(a++,a===s)return a;if(o&&++g>10){if(Date.now()>c)return i(),a;g=0}}}#Mt(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.current.activeSMask=null,this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null)}endDrawing(){this.#Mt(),this.cachedCanvases.clear(),this.cachedPatterns.clear();for(const e of this._cachedBitmapsMap.values()){for(const t of e.values())\\\"undefined\\\"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement&&(t.width=t.height=0);e.clear()}this._cachedBitmapsMap.clear(),this.#Ft()}#Ft(){if(this.pageColors){const e=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(\\\"none\\\"!==e){const t=this.ctx.filter;this.ctx.filter=e,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=t}}}_scaleImage(e,t){const i=e.width,A=e.height;let n,r,a=Math.max(Math.hypot(t[0],t[1]),1),s=Math.max(Math.hypot(t[2],t[3]),1),o=i,c=A,g=\\\"prescale1\\\";for(;a>2&&o>1||s>2&&c>1;){let t=o,i=c;a>2&&o>1&&(t=o>=16384?Math.floor(o/2)-1||1:Math.ceil(o/2),a/=o/t),s>2&&c>1&&(i=c>=16384?Math.floor(c/2)-1||1:Math.ceil(c)/2,s/=c/i),n=this.cachedCanvases.getCanvas(g,t,i),r=n.context,r.clearRect(0,0,t,i),r.drawImage(e,0,0,o,c,0,0,t,i),e=n.canvas,o=t,c=i,g=\\\"prescale1\\\"===g?\\\"prescale2\\\":\\\"prescale1\\\"}return{img:e,paintWidth:o,paintHeight:c}}_createMaskCanvas(e){const t=this.ctx,{width:i,height:A}=e,n=this.current.fillColor,r=this.current.patternFill,a=Ie(t);let s,o,c,g;if((e.bitmap||e.data)&&e.count>1){const t=e.bitmap||e.data.buffer;o=JSON.stringify(r?a:[a.slice(0,4),n]),s=this._cachedBitmapsMap.get(t),s||(s=new Map,this._cachedBitmapsMap.set(t,s));const i=s.get(o);if(i&&!r)return{canvas:i,offsetX:Math.round(Math.min(a[0],a[2])+a[4]),offsetY:Math.round(Math.min(a[1],a[3])+a[5])};c=i}c||(g=this.cachedCanvases.getCanvas(\\\"maskCanvas\\\",i,A),at(g.context,e));let h=L.transform(a,[1/i,0,0,-1/A,0,0]);h=L.transform(h,[1,0,0,1,0,-A]);const[l,u,d,I]=L.getAxialAlignedBoundingBox([0,0,i,A],h),C=Math.round(d-l)||1,f=Math.round(I-u)||1,p=this.cachedCanvases.getCanvas(\\\"fillCanvas\\\",C,f),B=p.context,m=l,E=u;B.translate(-m,-E),B.transform(...h),c||(c=this._scaleImage(g.canvas,Ce(B)),c=c.img,s&&r&&s.set(o,c)),B.imageSmoothingEnabled=ct(Ie(B),e.interpolate),At(B,c,0,0,c.width,c.height,0,0,i,A),B.globalCompositeOperation=\\\"source-in\\\";const Q=L.transform(Ce(B),[1,0,0,1,-m,-E]);return B.fillStyle=r?n.getPattern(t,this,Q,Je):n,B.fillRect(0,0,i,A),s&&!r&&(this.cachedCanvases.delete(\\\"fillCanvas\\\"),s.set(o,p.canvas)),{canvas:p.canvas,offsetX:Math.round(m),offsetY:Math.round(E)}}setLineWidth(e){e!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=e,this.ctx.lineWidth=e}setLineCap(e){this.ctx.lineCap=gt[e]}setLineJoin(e){this.ctx.lineJoin=ht[e]}setMiterLimit(e){this.ctx.miterLimit=e}setDash(e,t){const i=this.ctx;void 0!==i.setLineDash&&(i.setLineDash(e),i.lineDashOffset=t)}setRenderingIntent(e){}setFlatness(e){}setGState(e){for(const[t,i]of e)switch(t){case\\\"LW\\\":this.setLineWidth(i);break;case\\\"LC\\\":this.setLineCap(i);break;case\\\"LJ\\\":this.setLineJoin(i);break;case\\\"ML\\\":this.setMiterLimit(i);break;case\\\"D\\\":this.setDash(i[0],i[1]);break;case\\\"RI\\\":this.setRenderingIntent(i);break;case\\\"FL\\\":this.setFlatness(i);break;case\\\"Font\\\":this.setFont(i[0],i[1]);break;case\\\"CA\\\":this.current.strokeAlpha=i;break;case\\\"ca\\\":this.current.fillAlpha=i,this.ctx.globalAlpha=i;break;case\\\"BM\\\":this.ctx.globalCompositeOperation=i;break;case\\\"SMask\\\":this.current.activeSMask=i?this.tempSMask:null,this.tempSMask=null,this.checkSMaskState();break;case\\\"TR\\\":this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(i)}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){const e=this.inSMaskMode;this.current.activeSMask&&!e?this.beginSMaskMode():!this.current.activeSMask&&e&&this.endSMaskMode()}beginSMaskMode(){if(this.inSMaskMode)throw new Error(\\\"beginSMaskMode called while already in smask mode\\\");const e=this.ctx.canvas.width,t=this.ctx.canvas.height,i=\\\"smaskGroupAt\\\"+this.groupLevel,A=this.cachedCanvases.getCanvas(i,e,t);this.suspendedCtx=this.ctx,this.ctx=A.context;const n=this.ctx;n.setTransform(...Ie(this.suspendedCtx)),st(this.suspendedCtx,n),function(e,t){if(e._removeMirroring)throw new Error(\\\"Context is already forwarding operations.\\\");e.__originalSave=e.save,e.__originalRestore=e.restore,e.__originalRotate=e.rotate,e.__originalScale=e.scale,e.__originalTranslate=e.translate,e.__originalTransform=e.transform,e.__originalSetTransform=e.setTransform,e.__originalResetTransform=e.resetTransform,e.__originalClip=e.clip,e.__originalMoveTo=e.moveTo,e.__originalLineTo=e.lineTo,e.__originalBezierCurveTo=e.bezierCurveTo,e.__originalRect=e.rect,e.__originalClosePath=e.closePath,e.__originalBeginPath=e.beginPath,e._removeMirroring=()=>{e.save=e.__originalSave,e.restore=e.__originalRestore,e.rotate=e.__originalRotate,e.scale=e.__originalScale,e.translate=e.__originalTranslate,e.transform=e.__originalTransform,e.setTransform=e.__originalSetTransform,e.resetTransform=e.__originalResetTransform,e.clip=e.__originalClip,e.moveTo=e.__originalMoveTo,e.lineTo=e.__originalLineTo,e.bezierCurveTo=e.__originalBezierCurveTo,e.rect=e.__originalRect,e.closePath=e.__originalClosePath,e.beginPath=e.__originalBeginPath,delete e._removeMirroring},e.save=function(){t.save(),this.__originalSave()},e.restore=function(){t.restore(),this.__originalRestore()},e.translate=function(e,i){t.translate(e,i),this.__originalTranslate(e,i)},e.scale=function(e,i){t.scale(e,i),this.__originalScale(e,i)},e.transform=function(e,i,A,n,r,a){t.transform(e,i,A,n,r,a),this.__originalTransform(e,i,A,n,r,a)},e.setTransform=function(e,i,A,n,r,a){t.setTransform(e,i,A,n,r,a),this.__originalSetTransform(e,i,A,n,r,a)},e.resetTransform=function(){t.resetTransform(),this.__originalResetTransform()},e.rotate=function(e){t.rotate(e),this.__originalRotate(e)},e.clip=function(e){t.clip(e),this.__originalClip(e)},e.moveTo=function(e,i){t.moveTo(e,i),this.__originalMoveTo(e,i)},e.lineTo=function(e,i){t.lineTo(e,i),this.__originalLineTo(e,i)},e.bezierCurveTo=function(e,i,A,n,r,a){t.bezierCurveTo(e,i,A,n,r,a),this.__originalBezierCurveTo(e,i,A,n,r,a)},e.rect=function(e,i,A,n){t.rect(e,i,A,n),this.__originalRect(e,i,A,n)},e.closePath=function(){t.closePath(),this.__originalClosePath()},e.beginPath=function(){t.beginPath(),this.__originalBeginPath()}}(n,this.suspendedCtx),this.setGState([[\\\"BM\\\",\\\"source-over\\\"],[\\\"ca\\\",1],[\\\"CA\\\",1]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error(\\\"endSMaskMode called while not in smask mode\\\");this.ctx._removeMirroring(),st(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(e){if(!this.current.activeSMask)return;e?(e[0]=Math.floor(e[0]),e[1]=Math.floor(e[1]),e[2]=Math.ceil(e[2]),e[3]=Math.ceil(e[3])):e=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const t=this.current.activeSMask,i=this.suspendedCtx;this.composeSMask(i,t,this.ctx,e),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}composeSMask(e,t,i,A){const n=A[0],r=A[1],a=A[2]-n,s=A[3]-r;0!==a&&0!==s&&(this.genericComposeSMask(t.context,i,a,s,t.subtype,t.backdrop,t.transferMap,n,r,t.offsetX,t.offsetY),e.save(),e.globalAlpha=1,e.globalCompositeOperation=\\\"source-over\\\",e.setTransform(1,0,0,1,0,0),e.drawImage(i.canvas,0,0),e.restore())}genericComposeSMask(e,t,i,A,n,r,a,s,o,c,g){let h=e.canvas,l=s-c,u=o-g;if(r)if(l<0||u<0||l+i>h.width||u+A>h.height){const e=this.cachedCanvases.getCanvas(\\\"maskExtension\\\",i,A),t=e.context;t.drawImage(h,-l,-u),r.some((e=>0!==e))&&(t.globalCompositeOperation=\\\"destination-atop\\\",t.fillStyle=L.makeHexColor(...r),t.fillRect(0,0,i,A),t.globalCompositeOperation=\\\"source-over\\\"),h=e.canvas,l=u=0}else if(r.some((e=>0!==e))){e.save(),e.globalAlpha=1,e.setTransform(1,0,0,1,0,0);const t=new Path2D;t.rect(l,u,i,A),e.clip(t),e.globalCompositeOperation=\\\"destination-atop\\\",e.fillStyle=L.makeHexColor(...r),e.fillRect(l,u,i,A),e.restore()}t.save(),t.globalAlpha=1,t.setTransform(1,0,0,1,0,0),\\\"Alpha\\\"===n&&a?t.filter=this.filterFactory.addAlphaFilter(a):\\\"Luminosity\\\"===n&&(t.filter=this.filterFactory.addLuminosityFilter(a));const d=new Path2D;d.rect(s,o,i,A),t.clip(d),t.globalCompositeOperation=\\\"destination-in\\\",t.drawImage(h,l,u,i,A,s,o,i,A),t.restore()}save(){this.inSMaskMode?(st(this.ctx,this.suspendedCtx),this.suspendedCtx.save()):this.ctx.save();const e=this.current;this.stateStack.push(e),this.current=e.clone()}restore(){0===this.stateStack.length&&this.inSMaskMode&&this.endSMaskMode(),0!==this.stateStack.length&&(this.current=this.stateStack.pop(),this.inSMaskMode?(this.suspendedCtx.restore(),st(this.suspendedCtx,this.ctx)):this.ctx.restore(),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null)}transform(e,t,i,A,n,r){this.ctx.transform(e,t,i,A,n,r),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(e,t,i){const A=this.ctx,n=this.current;let r,a,s=n.x,o=n.y;const c=Ie(A),g=0===c[0]&&0===c[3]||0===c[1]&&0===c[2],h=g?i.slice(0):null;for(let i=0,l=0,u=e.length;i100&&(c=100),this.current.fontSizeScale=t/c,this.ctx.font=`${s} ${a} ${c}px ${r}`}setTextRenderingMode(e){this.current.textRenderingMode=e}setTextRise(e){this.current.textRise=e}moveText(e,t){this.current.x=this.current.lineX+=e,this.current.y=this.current.lineY+=t}setLeadingMoveText(e,t){this.setLeading(-t),this.moveText(e,t)}setTextMatrix(e,t,i,A,n,r){this.current.textMatrix=[e,t,i,A,n,r],this.current.textMatrixScale=Math.hypot(e,t),this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}nextLine(){this.moveText(0,this.current.leading)}paintChar(e,t,i,A){const n=this.ctx,r=this.current,a=r.font,s=r.textRenderingMode,o=r.fontSize/r.fontSizeScale,c=3&s,g=!!(4&s),h=r.patternFill&&!a.missingFile;let l;(a.disableFontFace||g||h)&&(l=a.getPathGenerator(this.commonObjs,e)),a.disableFontFace||h?(n.save(),n.translate(t,i),n.beginPath(),l(n,o),A&&n.setTransform(...A),0!==c&&2!==c||n.fill(),1!==c&&2!==c||n.stroke(),n.restore()):(0!==c&&2!==c||n.fillText(e,t,i),1!==c&&2!==c||n.strokeText(e,t,i)),g&&(this.pendingTextPaths||=[]).push({transform:Ie(n),x:t,y:i,fontSize:o,addToPath:l})}get isFontSubpixelAAEnabled(){const{context:e}=this.cachedCanvases.getCanvas(\\\"isFontSubpixelAAEnabled\\\",10,10);e.scale(1.5,1),e.fillText(\\\"I\\\",0,10);const t=e.getImageData(0,0,10,10).data;let i=!1;for(let e=3;e0&&t[e]<255){i=!0;break}return b(this,\\\"isFontSubpixelAAEnabled\\\",i)}showText(e){const t=this.current,i=t.font;if(i.isType3Font)return this.showType3Text(e);const A=t.fontSize;if(0===A)return;const n=this.ctx,r=t.fontSizeScale,a=t.charSpacing,s=t.wordSpacing,o=t.fontDirection,c=t.textHScale*o,g=e.length,h=i.vertical,l=h?1:-1,u=i.defaultVMetrics,d=A*t.fontMatrix[0],I=0===t.textRenderingMode&&!i.disableFontFace&&!t.patternFill;let C;if(n.save(),n.transform(...t.textMatrix),n.translate(t.x,t.y+t.textRise),o>0?n.scale(c,-1):n.scale(c,1),t.patternFill){n.save();const e=t.fillColor.getPattern(n,this,Ce(n),Je);C=Ie(n),n.restore(),n.fillStyle=e}let f=t.lineWidth;const p=t.textMatrixScale;if(0===p||0===f){const e=3&t.textRenderingMode;1!==e&&2!==e||(f=this.getSinglePixelWidth())}else f/=p;if(1!==r&&(n.scale(r,r),f/=r),n.lineWidth=f,i.isInvalidPDFjsFont){const i=[];let A=0;for(const t of e)i.push(t.unicode),A+=t.width;return n.fillText(i.join(\\\"\\\"),0,0),t.x+=A*d*c,n.restore(),void this.compose()}let B,m=0;for(B=0;B0){const e=1e3*n.measureText(f).width/A*r;if(_new dt(e,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack})};t=new $e(e,i,this.ctx,n,A)}else t=this._getPattern(e[1],e[2]);return t}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments)}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0}setStrokeRGBColor(e,t,i){this.ctx.strokeStyle=this.current.strokeColor=L.makeHexColor(e,t,i)}setStrokeTransparent(){this.ctx.strokeStyle=this.current.strokeColor=\\\"transparent\\\"}setFillRGBColor(e,t,i){this.ctx.fillStyle=this.current.fillColor=L.makeHexColor(e,t,i),this.current.patternFill=!1}setFillTransparent(){this.ctx.fillStyle=this.current.fillColor=\\\"transparent\\\",this.current.patternFill=!1}_getPattern(e,t=null){let i;return this.cachedPatterns.has(e)?i=this.cachedPatterns.get(e):(i=function(e){switch(e[0]){case\\\"RadialAxial\\\":return new je(e);case\\\"Mesh\\\":return new Ze(e);case\\\"Dummy\\\":return new Xe}throw new Error(`Unknown IR type: ${e[0]}`)}(this.getObject(e)),this.cachedPatterns.set(e,i)),t&&(i.matrix=t),i}shadingFill(e){if(!this.contentVisible)return;const t=this.ctx;this.save();const i=this._getPattern(e);t.fillStyle=i.getPattern(t,this,Ce(t),Oe);const A=Ce(t);if(A){const{width:e,height:i}=t.canvas,[n,r,a,s]=L.getAxialAlignedBoundingBox([0,0,e,i],A);this.ctx.fillRect(n,r,a-n,s-r)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.compose(this.current.getClippedPathBoundingBox()),this.restore()}beginInlineImage(){_(\\\"Should not call beginInlineImage\\\")}beginImageData(){_(\\\"Should not call beginImageData\\\")}paintFormXObjectBegin(e,t){if(this.contentVisible&&(this.save(),this.baseTransformStack.push(this.baseTransform),e&&this.transform(...e),this.baseTransform=Ie(this.ctx),t)){const e=t[2]-t[0],i=t[3]-t[1];this.ctx.rect(t[0],t[1],e,i),this.current.updateRectMinMax(Ie(this.ctx),t),this.clip(),this.endPath()}}paintFormXObjectEnd(){this.contentVisible&&(this.restore(),this.baseTransform=this.baseTransformStack.pop())}beginGroup(e){if(!this.contentVisible)return;this.save(),this.inSMaskMode&&(this.endSMaskMode(),this.current.activeSMask=null);const t=this.ctx;e.isolated||E(\\\"TODO: Support non-isolated groups.\\\"),e.knockout&&Q(\\\"Knockout groups not supported.\\\");const i=Ie(t);if(e.matrix&&t.transform(...e.matrix),!e.bbox)throw new Error(\\\"Bounding box is required.\\\");let A=L.getAxialAlignedBoundingBox(e.bbox,Ie(t));const n=[0,0,t.canvas.width,t.canvas.height];A=L.intersect(A,n)||[0,0,0,0];const r=Math.floor(A[0]),a=Math.floor(A[1]),s=Math.max(Math.ceil(A[2])-r,1),o=Math.max(Math.ceil(A[3])-a,1);this.current.startNewPathAndClipBox([0,0,s,o]);let c=\\\"groupAt\\\"+this.groupLevel;e.smask&&(c+=\\\"_smask_\\\"+this.smaskCounter++%2);const g=this.cachedCanvases.getCanvas(c,s,o),h=g.context;h.translate(-r,-a),h.transform(...i),e.smask?this.smaskStack.push({canvas:g.canvas,context:h,offsetX:r,offsetY:a,subtype:e.smask.subtype,backdrop:e.smask.backdrop,transferMap:e.smask.transferMap||null,startTransformInverse:null}):(t.setTransform(1,0,0,1,0,0),t.translate(r,a),t.save()),st(t,h),this.ctx=h,this.setGState([[\\\"BM\\\",\\\"source-over\\\"],[\\\"ca\\\",1],[\\\"CA\\\",1]]),this.groupStack.push(t),this.groupLevel++}endGroup(e){if(!this.contentVisible)return;this.groupLevel--;const t=this.ctx,i=this.groupStack.pop();if(this.ctx=i,this.ctx.imageSmoothingEnabled=!1,e.smask)this.tempSMask=this.smaskStack.pop(),this.restore();else{this.ctx.restore();const e=Ie(this.ctx);this.restore(),this.ctx.save(),this.ctx.setTransform(...e);const i=L.getAxialAlignedBoundingBox([0,0,t.canvas.width,t.canvas.height],e);this.ctx.drawImage(t.canvas,0,0),this.ctx.restore(),this.compose(i)}}beginAnnotation(e,t,i,A,n){if(this.#Mt(),ot(this.ctx),this.ctx.save(),this.save(),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),t){const A=t[2]-t[0],r=t[3]-t[1];if(n&&this.annotationCanvasMap){(i=i.slice())[4]-=t[0],i[5]-=t[1],(t=t.slice())[0]=t[1]=0,t[2]=A,t[3]=r;const[n,a]=L.singularValueDecompose2dScale(Ie(this.ctx)),{viewportScale:s}=this,o=Math.ceil(A*this.outputScaleX*s),c=Math.ceil(r*this.outputScaleY*s);this.annotationCanvas=this.canvasFactory.create(o,c);const{canvas:g,context:h}=this.annotationCanvas;this.annotationCanvasMap.set(e,g),this.annotationCanvas.savedCtx=this.ctx,this.ctx=h,this.ctx.save(),this.ctx.setTransform(n,0,0,-a,0,r*a),ot(this.ctx)}else ot(this.ctx),this.ctx.rect(t[0],t[1],A,r),this.ctx.clip(),this.endPath()}this.current=new nt(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(...i),this.transform(...A)}endAnnotation(){this.annotationCanvas&&(this.ctx.restore(),this.#Ft(),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(e){if(!this.contentVisible)return;const t=e.count;(e=this.getObject(e.data,e)).count=t;const i=this.ctx,A=this.processingType3;if(A&&(void 0===A.compiled&&(A.compiled=function(e){const{width:t,height:i}=e;if(t>1e3||i>1e3)return null;const A=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),n=t+1;let r,a,s,o=new Uint8Array(n*(i+1));const c=t+7&-8;let g=new Uint8Array(c*i),h=0;for(const t of e.data){let e=128;for(;e>0;)g[h++]=t&e?0:255,e>>=1}let l=0;for(h=0,0!==g[h]&&(o[0]=1,++l),a=1;a>2)+(g[h+1]?4:0)+(g[h-c+1]?8:0),A[e]&&(o[s+a]=A[e],++l),h++;if(g[h-c]!==g[h]&&(o[s+a]=g[h]?2:4,++l),l>1e3)return null}for(h=c*(i-1),s=r*n,0!==g[h]&&(o[s]=8,++l),a=1;a1e3)return null;const u=new Int32Array([0,n,-1,0,-n,0,0,0,1]),d=new Path2D;for(r=0;l&&r<=i;r++){let e=r*n;const i=e+t;for(;e>4,o[e]&=a>>2|a<<2),d.lineTo(e%n,e/n|0),o[e]||--l}while(A!==e);--r}return g=null,o=null,function(e){e.save(),e.scale(1/t,-1/i),e.translate(0,-i),e.fill(d),e.beginPath(),e.restore()}}(e)),A.compiled))return void A.compiled(i);const n=this._createMaskCanvas(e),r=n.canvas;i.save(),i.setTransform(1,0,0,1,0,0),i.drawImage(r,n.offsetX,n.offsetY),i.restore(),this.compose()}paintImageMaskXObjectRepeat(e,t,i=0,A=0,n,r){if(!this.contentVisible)return;e=this.getObject(e.data,e);const a=this.ctx;a.save();const s=Ie(a);a.transform(t,i,A,n,0,0);const o=this._createMaskCanvas(e);a.setTransform(1,0,0,1,o.offsetX-s[4],o.offsetY-s[5]);for(let e=0,c=r.length;et?c/t:1,a=o>t?o/t:1}}this._cachedScaleForStroking[0]=r,this._cachedScaleForStroking[1]=a}return this._cachedScaleForStroking}rescaleAndStroke(e){const{ctx:t}=this,{lineWidth:i}=this.current,[A,n]=this.getScaleForStroking();if(t.lineWidth=i||1,1===A&&1===n)return void t.stroke();const r=t.getLineDash();if(e&&t.save(),t.scale(A,n),r.length>0){const e=Math.max(A,n);t.setLineDash(r.map((t=>t/e))),t.lineDashOffset/=e}t.stroke(),e&&t.restore()}isContentVisible(){for(let e=this.markedContentStack.length-1;e>=0;e--)if(!this.markedContentStack[e].visible)return!1;return!0}}for(const e in f)void 0!==dt.prototype[e]&&(dt.prototype[f[e]]=dt.prototype[e]);class It{static#Tt=null;static#Nt=\\\"\\\";static get workerPort(){return this.#Tt}static set workerPort(e){if(!(\\\"undefined\\\"!=typeof Worker&&e instanceof Worker)&&null!==e)throw new Error(\\\"Invalid `workerPort` type.\\\");this.#Tt=e}static get workerSrc(){return this.#Nt}static set workerSrc(e){if(\\\"string\\\"!=typeof e)throw new Error(\\\"Invalid `workerSrc` type.\\\");this.#Nt=e}}function Ct(e){switch(e instanceof Error||\\\"object\\\"==typeof e&&null!==e||_('wrapReason: Expected \\\"reason\\\" to be a (possibly cloned) Error.'),e.name){case\\\"AbortException\\\":return new M(e.message);case\\\"MissingPDFException\\\":return new S(e.message);case\\\"PasswordException\\\":return new k(e.message,e.code);case\\\"UnexpectedResponseException\\\":return new P(e.message,e.status);case\\\"UnknownErrorException\\\":return new x(e.message,e.details);default:return new x(e.message,e.toString())}}class ft{constructor(e,t,i){this.sourceName=e,this.targetName=t,this.comObj=i,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),this._onComObjOnMessage=e=>{const t=e.data;if(t.targetName!==this.sourceName)return;if(t.stream)return void this.#Ut(t);if(t.callback){const e=t.callbackId,i=this.callbackCapabilities[e];if(!i)throw new Error(`Cannot resolve callback ${e}`);if(delete this.callbackCapabilities[e],1===t.callback)i.resolve(t.data);else{if(2!==t.callback)throw new Error(\\\"Unexpected callback case\\\");i.reject(Ct(t.reason))}return}const A=this.actionHandler[t.action];if(!A)throw new Error(`Unknown action from worker: ${t.action}`);if(t.callbackId){const e=this.sourceName,n=t.sourceName;new Promise((function(e){e(A(t.data))})).then((function(A){i.postMessage({sourceName:e,targetName:n,callback:1,callbackId:t.callbackId,data:A})}),(function(A){i.postMessage({sourceName:e,targetName:n,callback:2,callbackId:t.callbackId,reason:Ct(A)})}))}else t.streamId?this.#Gt(t):A(t.data)},i.addEventListener(\\\"message\\\",this._onComObjOnMessage)}on(e,t){const i=this.actionHandler;if(i[e])throw new Error(`There is already an actionName called \\\"${e}\\\"`);i[e]=t}send(e,t,i){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:t},i)}sendWithPromise(e,t,i){const A=this.callbackId++,n=Promise.withResolvers();this.callbackCapabilities[A]=n;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:A,data:t},i)}catch(e){n.reject(e)}return n.promise}sendWithStream(e,t,i,A){const n=this.streamId++,r=this.sourceName,a=this.targetName,s=this.comObj;return new ReadableStream({start:i=>{const o=Promise.withResolvers();return this.streamControllers[n]={controller:i,startCall:o,pullCall:null,cancelCall:null,isClosed:!1},s.postMessage({sourceName:r,targetName:a,action:e,streamId:n,data:t,desiredSize:i.desiredSize},A),o.promise},pull:e=>{const t=Promise.withResolvers();return this.streamControllers[n].pullCall=t,s.postMessage({sourceName:r,targetName:a,stream:6,streamId:n,desiredSize:e.desiredSize}),t.promise},cancel:e=>{y(e instanceof Error,\\\"cancel must have a valid reason\\\");const t=Promise.withResolvers();return this.streamControllers[n].cancelCall=t,this.streamControllers[n].isClosed=!0,s.postMessage({sourceName:r,targetName:a,stream:1,streamId:n,reason:Ct(e)}),t.promise}},i)}#Gt(e){const t=e.streamId,i=this.sourceName,A=e.sourceName,n=this.comObj,r=this,a=this.actionHandler[e.action],s={enqueue(e,r=1,a){if(this.isCancelled)return;const s=this.desiredSize;this.desiredSize-=r,s>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),n.postMessage({sourceName:i,targetName:A,stream:4,streamId:t,chunk:e},a)},close(){this.isCancelled||(this.isCancelled=!0,n.postMessage({sourceName:i,targetName:A,stream:3,streamId:t}),delete r.streamSinks[t])},error(e){y(e instanceof Error,\\\"error must have a valid reason\\\"),this.isCancelled||(this.isCancelled=!0,n.postMessage({sourceName:i,targetName:A,stream:5,streamId:t,reason:Ct(e)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};s.sinkCapability.resolve(),s.ready=s.sinkCapability.promise,this.streamSinks[t]=s,new Promise((function(t){t(a(e.data,s))})).then((function(){n.postMessage({sourceName:i,targetName:A,stream:8,streamId:t,success:!0})}),(function(e){n.postMessage({sourceName:i,targetName:A,stream:8,streamId:t,reason:Ct(e)})}))}#Ut(e){const t=e.streamId,i=this.sourceName,A=e.sourceName,n=this.comObj,r=this.streamControllers[t],a=this.streamSinks[t];switch(e.stream){case 8:e.success?r.startCall.resolve():r.startCall.reject(Ct(e.reason));break;case 7:e.success?r.pullCall.resolve():r.pullCall.reject(Ct(e.reason));break;case 6:if(!a){n.postMessage({sourceName:i,targetName:A,stream:7,streamId:t,success:!0});break}a.desiredSize<=0&&e.desiredSize>0&&a.sinkCapability.resolve(),a.desiredSize=e.desiredSize,new Promise((function(e){e(a.onPull?.())})).then((function(){n.postMessage({sourceName:i,targetName:A,stream:7,streamId:t,success:!0})}),(function(e){n.postMessage({sourceName:i,targetName:A,stream:7,streamId:t,reason:Ct(e)})}));break;case 4:if(y(r,\\\"enqueue should have stream controller\\\"),r.isClosed)break;r.controller.enqueue(e.chunk);break;case 3:if(y(r,\\\"close should have stream controller\\\"),r.isClosed)break;r.isClosed=!0,r.controller.close(),this.#Lt(r,t);break;case 5:y(r,\\\"error should have stream controller\\\"),r.controller.error(Ct(e.reason)),this.#Lt(r,t);break;case 2:e.success?r.cancelCall.resolve():r.cancelCall.reject(Ct(e.reason)),this.#Lt(r,t);break;case 1:if(!a)break;new Promise((function(t){t(a.onCancel?.(Ct(e.reason)))})).then((function(){n.postMessage({sourceName:i,targetName:A,stream:2,streamId:t,success:!0})}),(function(e){n.postMessage({sourceName:i,targetName:A,stream:2,streamId:t,reason:Ct(e)})})),a.sinkCapability.reject(Ct(e.reason)),a.isCancelled=!0,delete this.streamSinks[t];break;default:throw new Error(\\\"Unexpected stream case\\\")}}async#Lt(e,t){await Promise.allSettled([e.startCall?.promise,e.pullCall?.promise,e.cancelCall?.promise]),delete this.streamControllers[t]}destroy(){this.comObj.removeEventListener(\\\"message\\\",this._onComObjOnMessage)}}class pt{#Ht;#Wt;constructor({parsedData:e,rawData:t}){this.#Ht=e,this.#Wt=t}getRaw(){return this.#Wt}get(e){return this.#Ht.get(e)??null}getAll(){return N(this.#Ht)}has(e){return this.#Ht.has(e)}}const Bt=Symbol(\\\"INTERNAL\\\");class mt{#Jt=!1;#Yt=!1;#Ot=!1;#qt=!0;constructor(e,{name:t,intent:i,usage:A}){this.#Jt=!!(2&e),this.#Yt=!!(4&e),this.name=t,this.intent=i,this.usage=A}get visible(){if(this.#Ot)return this.#qt;if(!this.#qt)return!1;const{print:e,view:t}=this.usage;return this.#Jt?\\\"OFF\\\"!==t?.viewState:!this.#Yt||\\\"OFF\\\"!==e?.printState}_setVisible(e,t,i=!1){e!==Bt&&_(\\\"Internal method `_setVisible` called.\\\"),this.#Ot=i,this.#qt=t}}class Et{#Kt=null;#jt=new Map;#Vt=null;#zt=null;constructor(e,t=2){if(this.renderingIntent=t,this.name=null,this.creator=null,null!==e){this.name=e.name,this.creator=e.creator,this.#zt=e.order;for(const i of e.groups)this.#jt.set(i.id,new mt(t,i));if(\\\"OFF\\\"===e.baseState)for(const e of this.#jt.values())e._setVisible(Bt,!1);for(const t of e.on)this.#jt.get(t)._setVisible(Bt,!0);for(const t of e.off)this.#jt.get(t)._setVisible(Bt,!1);this.#Vt=this.getHash()}}#Zt(e){const t=e.length;if(t<2)return!0;const i=e[0];for(let A=1;A0?N(this.#jt):null}getGroup(e){return this.#jt.get(e)||null}getHash(){if(null!==this.#Kt)return this.#Kt;const e=new Re;for(const[t,i]of this.#jt)e.update(`${t}:${i.visible}`);return this.#Kt=e.hexdigest()}}class Qt{constructor(e,{disableRange:t=!1,disableStream:i=!1}){y(e,'PDFDataTransportStream - missing required \\\"pdfDataRangeTransport\\\" argument.');const{length:A,initialData:n,progressiveDone:r,contentDispositionFilename:a}=e;if(this._queuedChunks=[],this._progressiveDone=r,this._contentDispositionFilename=a,n?.length>0){const e=n instanceof Uint8Array&&n.byteLength===n.buffer.byteLength?n.buffer:new Uint8Array(n).buffer;this._queuedChunks.push(e)}this._pdfDataRangeTransport=e,this._isStreamingSupported=!i,this._isRangeSupported=!t,this._contentLength=A,this._fullRequestReader=null,this._rangeReaders=[],e.addRangeListener(((e,t)=>{this._onReceiveData({begin:e,chunk:t})})),e.addProgressListener(((e,t)=>{this._onProgress({loaded:e,total:t})})),e.addProgressiveReadListener((e=>{this._onReceiveData({chunk:e})})),e.addProgressiveDoneListener((()=>{this._onProgressiveDone()})),e.transportReady()}_onReceiveData({begin:e,chunk:t}){const i=t instanceof Uint8Array&&t.byteLength===t.buffer.byteLength?t.buffer:new Uint8Array(t).buffer;void 0===e?this._fullRequestReader?this._fullRequestReader._enqueue(i):this._queuedChunks.push(i):y(this._rangeReaders.some((function(t){return t._begin===e&&(t._enqueue(i),!0)})),\\\"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\\\")}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}_onProgress(e){void 0===e.total?this._rangeReaders[0]?.onProgress?.({loaded:e.loaded}):this._fullRequestReader?.onProgress?.({loaded:e.loaded,total:e.total})}_onProgressiveDone(){this._fullRequestReader?.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(e){const t=this._rangeReaders.indexOf(e);t>=0&&this._rangeReaders.splice(t,1)}getFullReader(){y(!this._fullRequestReader,\\\"PDFDataTransportStream.getFullReader can only be called once.\\\");const e=this._queuedChunks;return this._queuedChunks=null,new _t(this,e,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const i=new yt(this,e,t);return this._pdfDataRangeTransport.requestDataRange(e,t),this._rangeReaders.push(i),i}cancelAllRequests(e){this._fullRequestReader?.cancel(e);for(const t of this._rangeReaders.slice(0))t.cancel(e);this._pdfDataRangeTransport.abort()}}class _t{constructor(e,t,i=!1,A=null){this._stream=e,this._done=i||!1,this._filename=re(A)?A:null,this._queuedChunks=t||[],this._loaded=0;for(const e of this._queuedChunks)this._loaded+=e.byteLength;this._requests=[],this._headersReady=Promise.resolve(),e._fullRequestReader=this,this.onProgress=null}_enqueue(e){this._done||(this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunks.push(e),this._loaded+=e.byteLength)}get headersReady(){return this._headersReady}get filename(){return this._filename}get isRangeSupported(){return this._stream._isRangeSupported}get isStreamingSupported(){return this._stream._isStreamingSupported}get contentLength(){return this._stream._contentLength}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class yt{constructor(e,t,i){this._stream=e,this._begin=t,this._end=i,this._queuedChunk=null,this._requests=[],this._done=!1,this.onProgress=null}_enqueue(e){if(!this._done){if(0===this._requests.length)this._queuedChunk=e;else{this._requests.shift().resolve({value:e,done:!1});for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}this._done=!0,this._stream._removeRangeReader(this)}}get isStreamingSupported(){return!1}async read(){if(this._queuedChunk){const e=this._queuedChunk;return this._queuedChunk=null,{value:e,done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._stream._removeRangeReader(this)}}function wt({getResponseHeader:e,isHttp:t,rangeChunkSize:i,disableRange:A}){const n={allowRangeRequests:!1,suggestedLength:void 0},r=parseInt(e(\\\"Content-Length\\\"),10);return Number.isInteger(r)?(n.suggestedLength=r,r<=2*i||A||!t||\\\"bytes\\\"!==e(\\\"Accept-Ranges\\\")||\\\"identity\\\"!==(e(\\\"Content-Encoding\\\")||\\\"identity\\\")||(n.allowRangeRequests=!0),n):n}function bt(e){const t=e(\\\"Content-Disposition\\\");if(t){let e=function(e){let t=!0,i=A(\\\"filename\\\\\\\\*\\\",\\\"i\\\").exec(e);if(i){i=i[1];let e=a(i);return e=unescape(e),e=s(e),e=o(e),r(e)}if(i=function(e){const t=[];let i;const n=A(\\\"filename\\\\\\\\*((?!0\\\\\\\\d)\\\\\\\\d+)(\\\\\\\\*?)\\\",\\\"ig\\\");for(;null!==(i=n.exec(e));){let[,e,A,n]=i;if(e=parseInt(e,10),e in t){if(0===e)break}else t[e]=[A,n]}const r=[];for(let e=0;e{if(!kt(e.status))throw vt(e.status,i);this._reader=e.body.getReader(),this._headersCapability.resolve();const t=t=>e.headers.get(t),{allowRangeRequests:A,suggestedLength:n}=wt({getResponseHeader:t,isHttp:this._stream.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=A,this._contentLength=n||this._contentLength,this._filename=bt(t),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new M(\\\"Streaming is disabled.\\\"))})).catch(this._headersCapability.reject),this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._headersCapability.promise;const{value:e,done:t}=await this._reader.read();return t?{value:e,done:t}:(this._loaded+=e.byteLength,this.onProgress?.({loaded:this._loaded,total:this._contentLength}),{value:St(e),done:!1})}cancel(e){this._reader?.cancel(e),this._abortController.abort()}}class Mt{constructor(e,t,i){this._stream=e,this._reader=null,this._loaded=0;const A=e.source;this._withCredentials=A.withCredentials||!1,this._readCapability=Promise.withResolvers(),this._isStreamingSupported=!A.disableStream,this._abortController=new AbortController,this._headers=Dt(this._stream.httpHeaders),this._headers.append(\\\"Range\\\",`bytes=${t}-${i-1}`);const n=A.url;fetch(n,xt(this._headers,this._withCredentials,this._abortController)).then((e=>{if(!kt(e.status))throw vt(e.status,n);this._readCapability.resolve(),this._reader=e.body.getReader()})).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._readCapability.promise;const{value:e,done:t}=await this._reader.read();return t?{value:e,done:t}:(this._loaded+=e.byteLength,this.onProgress?.({loaded:this._loaded}),{value:St(e),done:!1})}cancel(e){this._reader?.cancel(e),this._abortController.abort()}}class Ft{constructor(e,t={}){this.url=e,this.isHttp=/^https?:/i.test(e),this.httpHeaders=this.isHttp&&t.httpHeaders||Object.create(null),this.withCredentials=t.withCredentials||!1,this.currXhrId=0,this.pendingRequests=Object.create(null)}requestRange(e,t,i){const A={begin:e,end:t};for(const e in i)A[e]=i[e];return this.request(A)}requestFull(e){return this.request(e)}request(e){const t=new XMLHttpRequest,i=this.currXhrId++,A=this.pendingRequests[i]={xhr:t};t.open(\\\"GET\\\",this.url),t.withCredentials=this.withCredentials;for(const e in this.httpHeaders){const i=this.httpHeaders[e];void 0!==i&&t.setRequestHeader(e,i)}return this.isHttp&&\\\"begin\\\"in e&&\\\"end\\\"in e?(t.setRequestHeader(\\\"Range\\\",`bytes=${e.begin}-${e.end-1}`),A.expectedStatus=206):A.expectedStatus=200,t.responseType=\\\"arraybuffer\\\",e.onError&&(t.onerror=function(i){e.onError(t.status)}),t.onreadystatechange=this.onStateChange.bind(this,i),t.onprogress=this.onProgress.bind(this,i),A.onHeadersReceived=e.onHeadersReceived,A.onDone=e.onDone,A.onError=e.onError,A.onProgress=e.onProgress,t.send(null),i}onProgress(e,t){const i=this.pendingRequests[e];i&&i.onProgress?.(t)}onStateChange(e,t){const i=this.pendingRequests[e];if(!i)return;const A=i.xhr;if(A.readyState>=2&&i.onHeadersReceived&&(i.onHeadersReceived(),delete i.onHeadersReceived),4!==A.readyState)return;if(!(e in this.pendingRequests))return;if(delete this.pendingRequests[e],0===A.status&&this.isHttp)return void i.onError?.(A.status);const n=A.status||200;if((200!==n||206!==i.expectedStatus)&&n!==i.expectedStatus)return void i.onError?.(A.status);const r=function(e){const t=e.response;return\\\"string\\\"!=typeof t?t:T(t).buffer}(A);if(206===n){const e=A.getResponseHeader(\\\"Content-Range\\\"),t=/bytes (\\\\d+)-(\\\\d+)\\\\/(\\\\d+)/.exec(e);i.onDone({begin:parseInt(t[1],10),chunk:r})}else r?i.onDone({begin:0,chunk:r}):i.onError?.(A.status)}getRequestXhr(e){return this.pendingRequests[e].xhr}isPendingRequest(e){return e in this.pendingRequests}abortRequest(e){const t=this.pendingRequests[e].xhr;delete this.pendingRequests[e],t.abort()}}class Tt{constructor(e){this._source=e,this._manager=new Ft(e.url,{httpHeaders:e.httpHeaders,withCredentials:e.withCredentials}),this._rangeChunkSize=e.rangeChunkSize,this._fullRequestReader=null,this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(e){const t=this._rangeRequestReaders.indexOf(e);t>=0&&this._rangeRequestReaders.splice(t,1)}getFullReader(){return y(!this._fullRequestReader,\\\"PDFNetworkStream.getFullReader can only be called once.\\\"),this._fullRequestReader=new Nt(this._manager,this._source),this._fullRequestReader}getRangeReader(e,t){const i=new Ut(this._manager,e,t);return i.onClosed=this._onRangeRequestReaderClosed.bind(this),this._rangeRequestReaders.push(i),i}cancelAllRequests(e){this._fullRequestReader?.cancel(e);for(const t of this._rangeRequestReaders.slice(0))t.cancel(e)}}class Nt{constructor(e,t){this._manager=e;const i={onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=t.url,this._fullRequestId=e.requestFull(i),this._headersReceivedCapability=Promise.withResolvers(),this._disableRange=t.disableRange||!1,this._contentLength=t.length,this._rangeChunkSize=t.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._isStreamingSupported=!1,this._isRangeSupported=!1,this._cachedChunks=[],this._requests=[],this._done=!1,this._storedError=void 0,this._filename=null,this.onProgress=null}_onHeadersReceived(){const e=this._fullRequestId,t=this._manager.getRequestXhr(e),i=e=>t.getResponseHeader(e),{allowRangeRequests:A,suggestedLength:n}=wt({getResponseHeader:i,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});A&&(this._isRangeSupported=!0),this._contentLength=n||this._contentLength,this._filename=bt(i),this._isRangeSupported&&this._manager.abortRequest(e),this._headersReceivedCapability.resolve()}_onDone(e){if(e&&(this._requests.length>0?this._requests.shift().resolve({value:e.chunk,done:!1}):this._cachedChunks.push(e.chunk)),this._done=!0,!(this._cachedChunks.length>0)){for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(e){this._storedError=vt(e,this._url),this._headersReceivedCapability.reject(this._storedError);for(const e of this._requests)e.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}_onProgress(e){this.onProgress?.({loaded:e.loaded,total:e.lengthComputable?e.total:this._contentLength})}get filename(){return this._filename}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}get contentLength(){return this._contentLength}get headersReady(){return this._headersReceivedCapability.promise}async read(){if(this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this._headersReceivedCapability.reject(e);for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId),this._fullRequestReader=null}}class Ut{constructor(e,t,i){this._manager=e;const A={onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=e.url,this._requestId=e.requestRange(t,i,A),this._requests=[],this._queuedChunk=null,this._done=!1,this._storedError=void 0,this.onProgress=null,this.onClosed=null}_close(){this.onClosed?.(this)}_onDone(e){const t=e.chunk;this._requests.length>0?this._requests.shift().resolve({value:t,done:!1}):this._queuedChunk=t,this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._close()}_onError(e){this._storedError=vt(e,this._url);for(const e of this._requests)e.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}_onProgress(e){this.isStreamingSupported||this.onProgress?.({loaded:e.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(null!==this._queuedChunk){const e=this._queuedChunk;return this._queuedChunk=null,{value:e,done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId),this._close()}}const Gt=/^file:\\\\/\\\\/\\\\/[a-zA-Z]:\\\\//;class Lt{constructor(e){this.source=e,this.url=function(e){const t=He.get(\\\"url\\\"),i=t.parse(e);return\\\"file:\\\"===i.protocol||i.host?i:/^[a-z]:[/\\\\\\\\]/i.test(e)?t.parse(`file:///${e}`):(i.host||(i.protocol=\\\"file:\\\"),i)}(e.url),this.isHttp=\\\"http:\\\"===this.url.protocol||\\\"https:\\\"===this.url.protocol,this.isFsUrl=\\\"file:\\\"===this.url.protocol,this.httpHeaders=this.isHttp&&e.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}getFullReader(){return y(!this._fullRequestReader,\\\"PDFNodeStream.getFullReader can only be called once.\\\"),this._fullRequestReader=this.isFsUrl?new qt(this):new Yt(this),this._fullRequestReader}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const i=this.isFsUrl?new Kt(this,e,t):new Ot(this,e,t);return this._rangeRequestReaders.push(i),i}cancelAllRequests(e){this._fullRequestReader?.cancel(e);for(const t of this._rangeRequestReaders.slice(0))t.cancel(e)}}class Ht{constructor(e){this._url=e.url,this._done=!1,this._storedError=null,this.onProgress=null;const t=e.source;this._contentLength=t.length,this._loaded=0,this._filename=null,this._disableRange=t.disableRange||!1,this._rangeChunkSize=t.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._isStreamingSupported=!t.disableStream,this._isRangeSupported=!t.disableRange,this._readableStream=null,this._readCapability=Promise.withResolvers(),this._headersCapability=Promise.withResolvers()}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const e=this._readableStream.read();return null===e?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=e.length,this.onProgress?.({loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(e).buffer,done:!1})}cancel(e){this._readableStream?this._readableStream.destroy(e):this._error(e)}_error(e){this._storedError=e,this._readCapability.resolve()}_setReadableStream(e){this._readableStream=e,e.on(\\\"readable\\\",(()=>{this._readCapability.resolve()})),e.on(\\\"end\\\",(()=>{e.destroy(),this._done=!0,this._readCapability.resolve()})),e.on(\\\"error\\\",(e=>{this._error(e)})),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new M(\\\"streaming is disabled\\\")),this._storedError&&this._readableStream.destroy(this._storedError)}}class Wt{constructor(e){this._url=e.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=Promise.withResolvers();const t=e.source;this._isStreamingSupported=!t.disableStream}get isStreamingSupported(){return this._isStreamingSupported}async read(){if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const e=this._readableStream.read();return null===e?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=e.length,this.onProgress?.({loaded:this._loaded}),{value:new Uint8Array(e).buffer,done:!1})}cancel(e){this._readableStream?this._readableStream.destroy(e):this._error(e)}_error(e){this._storedError=e,this._readCapability.resolve()}_setReadableStream(e){this._readableStream=e,e.on(\\\"readable\\\",(()=>{this._readCapability.resolve()})),e.on(\\\"end\\\",(()=>{e.destroy(),this._done=!0,this._readCapability.resolve()})),e.on(\\\"error\\\",(e=>{this._error(e)})),this._storedError&&this._readableStream.destroy(this._storedError)}}function Jt(e,t){return{protocol:e.protocol,auth:e.auth,host:e.hostname,port:e.port,path:e.path,method:\\\"GET\\\",headers:t}}class Yt extends Ht{constructor(e){super(e);const t=t=>{if(404===t.statusCode){const e=new S(`Missing PDF \\\"${this._url}\\\".`);return this._storedError=e,void this._headersCapability.reject(e)}this._headersCapability.resolve(),this._setReadableStream(t);const i=e=>this._readableStream.headers[e.toLowerCase()],{allowRangeRequests:A,suggestedLength:n}=wt({getResponseHeader:i,isHttp:e.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=A,this._contentLength=n||this._contentLength,this._filename=bt(i)};if(this._request=null,\\\"http:\\\"===this._url.protocol){const i=He.get(\\\"http\\\");this._request=i.request(Jt(this._url,e.httpHeaders),t)}else{const i=He.get(\\\"https\\\");this._request=i.request(Jt(this._url,e.httpHeaders),t)}this._request.on(\\\"error\\\",(e=>{this._storedError=e,this._headersCapability.reject(e)})),this._request.end()}}class Ot extends Wt{constructor(e,t,i){super(e),this._httpHeaders={};for(const t in e.httpHeaders){const i=e.httpHeaders[t];void 0!==i&&(this._httpHeaders[t]=i)}this._httpHeaders.Range=`bytes=${t}-${i-1}`;const A=e=>{if(404!==e.statusCode)this._setReadableStream(e);else{const e=new S(`Missing PDF \\\"${this._url}\\\".`);this._storedError=e}};if(this._request=null,\\\"http:\\\"===this._url.protocol){const e=He.get(\\\"http\\\");this._request=e.request(Jt(this._url,this._httpHeaders),A)}else{const e=He.get(\\\"https\\\");this._request=e.request(Jt(this._url,this._httpHeaders),A)}this._request.on(\\\"error\\\",(e=>{this._storedError=e})),this._request.end()}}class qt extends Ht{constructor(e){super(e);let t=decodeURIComponent(this._url.path);Gt.test(this._url.href)&&(t=t.replace(/^\\\\//,\\\"\\\"));const i=He.get(\\\"fs\\\");i.promises.lstat(t).then((e=>{this._contentLength=e.size,this._setReadableStream(i.createReadStream(t)),this._headersCapability.resolve()}),(e=>{\\\"ENOENT\\\"===e.code&&(e=new S(`Missing PDF \\\"${t}\\\".`)),this._storedError=e,this._headersCapability.reject(e)}))}}class Kt extends Wt{constructor(e,t,i){super(e);let A=decodeURIComponent(this._url.path);Gt.test(this._url.href)&&(A=A.replace(/^\\\\//,\\\"\\\"));const n=He.get(\\\"fs\\\");this._setReadableStream(n.createReadStream(A,{start:t,end:i-1}))}}const jt=30;class Vt{#Xt=Promise.withResolvers();#fe=null;#$t=!1;#ei=!!globalThis.FontInspector?.enabled;#ti=null;#ii=null;#Ai=0;#ni=0;#ri=null;#ai=null;#si=0;#oi=0;#ci=Object.create(null);#gi=[];#hi=null;#li=[];#ui=new WeakMap;#di=null;static#Ii=new Map;static#Ci=new Map;static#fi=null;static#pi=new Set;constructor({textContentSource:e,container:t,viewport:i}){if(e instanceof ReadableStream)this.#hi=e;else{if(\\\"object\\\"!=typeof e)throw new Error('No \\\"textContentSource\\\" parameter specified.');this.#hi=new ReadableStream({start(t){t.enqueue(e),t.close()}})}this.#fe=this.#ai=t,this.#oi=i.scale*(globalThis.devicePixelRatio||1),this.#si=i.rotation,this.#ii={prevFontSize:null,prevFontFamily:null,div:null,properties:null,ctx:null};const{pageWidth:A,pageHeight:n,pageX:r,pageY:a}=i.rawDims;this.#di=[1,0,0,-1,-r,a+n],this.#ni=A,this.#Ai=n,Vt.#Bi(),fe(t,i),this.#Xt.promise.catch((()=>{})).then((()=>{Vt.#pi.delete(this),this.#ii=null,this.#ci=null}))}render(){const e=()=>{this.#ri.read().then((({value:t,done:i})=>{i?this.#Xt.resolve():(this.#ti??=t.lang,Object.assign(this.#ci,t.styles),this.#mi(t.items),e())}),this.#Xt.reject)};return this.#ri=this.#hi.getReader(),Vt.#pi.add(this),e(),this.#Xt.promise}update({viewport:e,onBefore:t=null}){const i=e.scale*(globalThis.devicePixelRatio||1),A=e.rotation;if(A!==this.#si&&(t?.(),this.#si=A,fe(this.#ai,{rotation:A})),i!==this.#oi){t?.(),this.#oi=i;const e={prevFontSize:null,prevFontFamily:null,div:null,properties:null,ctx:Vt.#Ei(this.#ti)};for(const t of this.#li)e.properties=this.#ui.get(t),e.div=t,this.#Qi(e)}}cancel(){const e=new M(\\\"TextLayer task cancelled.\\\");this.#ri?.cancel(e).catch((()=>{})),this.#ri=null,this.#Xt.reject(e)}get textDivs(){return this.#li}get textContentItemsStr(){return this.#gi}#mi(e){if(this.#$t)return;this.#ii.ctx??=Vt.#Ei(this.#ti);const t=this.#li,i=this.#gi;for(const A of e){if(t.length>1e5)return Q(\\\"Ignoring additional textDivs for performance reasons.\\\"),void(this.#$t=!0);if(void 0!==A.str)i.push(A.str),this.#_i(A);else if(\\\"beginMarkedContentProps\\\"===A.type||\\\"beginMarkedContent\\\"===A.type){const e=this.#fe;this.#fe=document.createElement(\\\"span\\\"),this.#fe.classList.add(\\\"markedContent\\\"),null!==A.id&&this.#fe.setAttribute(\\\"id\\\",`${A.id}`),e.append(this.#fe)}else\\\"endMarkedContent\\\"===A.type&&(this.#fe=this.#fe.parentNode)}}#_i(e){const t=document.createElement(\\\"span\\\"),i={angle:0,canvasWidth:0,hasText:\\\"\\\"!==e.str,hasEOL:e.hasEOL,fontSize:0};this.#li.push(t);const A=L.transform(this.#di,e.transform);let n=Math.atan2(A[1],A[0]);const r=this.#ci[e.fontName];r.vertical&&(n+=Math.PI/2);const a=this.#ei&&r.fontSubstitution||r.fontFamily,s=Math.hypot(A[2],A[3]),o=s*Vt.#yi(a,this.#ti);let c,g;0===n?(c=A[4],g=A[5]-o):(c=A[4]+o*Math.sin(n),g=A[5]-o*Math.cos(n));const h=\\\"calc(var(--scale-factor)*\\\",l=t.style;this.#fe===this.#ai?(l.left=`${(100*c/this.#ni).toFixed(2)}%`,l.top=`${(100*g/this.#Ai).toFixed(2)}%`):(l.left=`${h}${c.toFixed(2)}px)`,l.top=`${h}${g.toFixed(2)}px)`),l.fontSize=`${h}${(Vt.#fi*s).toFixed(2)}px)`,l.fontFamily=a,i.fontSize=s,t.setAttribute(\\\"role\\\",\\\"presentation\\\"),t.textContent=e.str,t.dir=e.dir,this.#ei&&(t.dataset.fontName=r.fontSubstitutionLoadedName||e.fontName),0!==n&&(i.angle=n*(180/Math.PI));let u=!1;if(e.str.length>1)u=!0;else if(\\\" \\\"!==e.str&&e.transform[0]!==e.transform[3]){const t=Math.abs(e.transform[0]),i=Math.abs(e.transform[3]);t!==i&&Math.max(t,i)/Math.min(t,i)>1.5&&(u=!0)}if(u&&(i.canvasWidth=r.vertical?e.height:e.width),this.#ui.set(t,i),this.#ii.div=t,this.#ii.properties=i,this.#Qi(this.#ii),i.hasText&&this.#fe.append(t),i.hasEOL){const e=document.createElement(\\\"br\\\");e.setAttribute(\\\"role\\\",\\\"presentation\\\"),this.#fe.append(e)}}#Qi(e){const{div:t,properties:i,ctx:A,prevFontSize:n,prevFontFamily:r}=e,{style:a}=t;let s=\\\"\\\";if(Vt.#fi>1&&(s=`scale(${1/Vt.#fi})`),0!==i.canvasWidth&&i.hasText){const{fontFamily:o}=a,{canvasWidth:c,fontSize:g}=i;n===g&&r===o||(A.font=`${g*this.#oi}px ${o}`,e.prevFontSize=g,e.prevFontFamily=o);const{width:h}=A.measureText(t.textContent);h>0&&(s=`scaleX(${c*this.#oi/h}) ${s}`)}0!==i.angle&&(s=`rotate(${i.angle}deg) ${s}`),s.length>0&&(a.transform=s)}static cleanup(){if(!(this.#pi.size>0)){this.#Ii.clear();for(const{canvas:e}of this.#Ci.values())e.remove();this.#Ci.clear()}}static#Ei(e=null){let t=this.#Ci.get(e||=\\\"\\\");if(!t){const i=document.createElement(\\\"canvas\\\");i.className=\\\"hiddenCanvasElement\\\",i.lang=e,document.body.append(i),t=i.getContext(\\\"2d\\\",{alpha:!1,willReadFrequently:!0}),this.#Ci.set(e,t)}return t}static#Bi(){if(null!==this.#fi)return;const e=document.createElement(\\\"div\\\");e.style.opacity=0,e.style.lineHeight=1,e.style.fontSize=\\\"1px\\\",e.style.position=\\\"absolute\\\",e.textContent=\\\"X\\\",document.body.append(e),this.#fi=e.getBoundingClientRect().height,e.remove()}static#yi(e,t){const i=this.#Ii.get(e);if(i)return i;const A=this.#Ei(t),n=A.font;A.canvas.width=A.canvas.height=jt,A.font=`30px ${e}`;const r=A.measureText(\\\"\\\");let a=r.fontBoundingBoxAscent,s=Math.abs(r.fontBoundingBoxDescent);if(a){const t=a/(a+s);return this.#Ii.set(e,t),A.canvas.width=A.canvas.height=0,A.font=n,t}A.strokeStyle=\\\"red\\\",A.clearRect(0,0,jt,jt),A.strokeText(\\\"g\\\",0,0);let o=A.getImageData(0,0,jt,jt).data;s=0;for(let e=o.length-1-3;e>=0;e-=4)if(o[e]>0){s=Math.ceil(e/4/jt);break}A.clearRect(0,0,jt,jt),A.strokeText(\\\"A\\\",0,jt),o=A.getImageData(0,0,jt,jt).data,a=0;for(let e=0,t=o.length;e0){a=jt-Math.floor(e/4/jt);break}A.canvas.width=A.canvas.height=0,A.font=n;const c=a?a/(a+s):.8;return this.#Ii.set(e,c),c}}class zt{static textContent(e){const t=[],i={items:t,styles:Object.create(null)};return function e(i){if(!i)return;let A=null;const n=i.name;if(\\\"#text\\\"===n)A=i.value;else{if(!zt.shouldBuildText(n))return;i?.attributes?.textContent?A=i.attributes.textContent:i.value&&(A=i.value)}if(null!==A&&t.push({str:A}),i.children)for(const t of i.children)e(t)}(e),i}static shouldBuildText(e){return!(\\\"textarea\\\"===e||\\\"input\\\"===e||\\\"option\\\"===e||\\\"select\\\"===e)}}const Zt=a?class extends q{_createCanvas(e,t){return He.get(\\\"canvas\\\").createCanvas(e,t)}}:class extends q{constructor({ownerDocument:e=globalThis.document,enableHWA:t=!1}={}){super({enableHWA:t}),this._document=e}_createCanvas(e,t){const i=this._document.createElement(\\\"canvas\\\");return i.width=e,i.height=t,i}},Xt=a?class extends K{_fetchData(e,t){return We(e).then((e=>({cMapData:e,compressionType:t})))}}:$,$t=a?class extends O{}:class extends O{#wi;#bi;#vi;#ki;#xi;#Di;#f=0;constructor({docId:e,ownerDocument:t=globalThis.document}={}){super(),this.#ki=e,this.#xi=t}get#B(){return this.#bi||=new Map}get#Si(){return this.#Di||=new Map}get#Pi(){if(!this.#vi){const e=this.#xi.createElement(\\\"div\\\"),{style:t}=e;t.visibility=\\\"hidden\\\",t.contain=\\\"strict\\\",t.width=t.height=0,t.position=\\\"absolute\\\",t.top=t.left=0,t.zIndex=-1;const i=this.#xi.createElementNS(z,\\\"svg\\\");i.setAttribute(\\\"width\\\",0),i.setAttribute(\\\"height\\\",0),this.#vi=this.#xi.createElementNS(z,\\\"defs\\\"),e.append(i),i.append(this.#vi),this.#xi.body.append(e)}return this.#vi}#Ri(e){if(1===e.length){const t=e[0],i=new Array(256);for(let e=0;e<256;e++)i[e]=t[e]/255;const A=i.join(\\\",\\\");return[A,A,A]}const[t,i,A]=e,n=new Array(256),r=new Array(256),a=new Array(256);for(let e=0;e<256;e++)n[e]=t[e]/255,r[e]=i[e]/255,a[e]=A[e]/255;return[n.join(\\\",\\\"),r.join(\\\",\\\"),a.join(\\\",\\\")]}#Mi(e){if(void 0===this.#wi){this.#wi=\\\"\\\";const e=this.#xi.URL;e!==this.#xi.baseURI&&(ne(e)?Q('#createUrl: ignore \\\"data:\\\"-URL for performance reasons.'):this.#wi=e.split(\\\"#\\\",1)[0])}return`url(${this.#wi}#${e})`}addFilter(e){if(!e)return\\\"none\\\";let t=this.#B.get(e);if(t)return t;const[i,A,n]=this.#Ri(e),r=1===e.length?i:`${i}${A}${n}`;if(t=this.#B.get(r),t)return this.#B.set(e,t),t;const a=`g_${this.#ki}_transfer_map_${this.#f++}`,s=this.#Mi(a);this.#B.set(e,s),this.#B.set(r,s);const o=this.#Fi(a);return this.#Ti(i,A,n,o),s}addHCMFilter(e,t){const i=`${e}-${t}`,A=\\\"base\\\";let n=this.#Si.get(A);if(n?.key===i)return n.url;if(n?(n.filter?.remove(),n.key=i,n.url=\\\"none\\\",n.filter=null):(n={key:i,url:\\\"none\\\",filter:null},this.#Si.set(A,n)),!e||!t)return n.url;const r=this.#Ni(e);e=L.makeHexColor(...r);const a=this.#Ni(t);if(t=L.makeHexColor(...a),this.#Pi.style.color=\\\"\\\",\\\"#000000\\\"===e&&\\\"#ffffff\\\"===t||e===t)return n.url;const s=new Array(256);for(let e=0;e<=255;e++){const t=e/255;s[e]=t<=.03928?t/12.92:((t+.055)/1.055)**2.4}const o=s.join(\\\",\\\"),c=`g_${this.#ki}_hcm_filter`,g=n.filter=this.#Fi(c);this.#Ti(o,o,o,g),this.#Ui(g);const h=(e,t)=>{const i=r[e]/255,A=a[e]/255,n=new Array(t+1);for(let e=0;e<=t;e++)n[e]=i+e/t*(A-i);return n.join(\\\",\\\")};return this.#Ti(h(0,5),h(1,5),h(2,5),g),n.url=this.#Mi(c),n.url}addAlphaFilter(e){let t=this.#B.get(e);if(t)return t;const[i]=this.#Ri([e]),A=`alpha_${i}`;if(t=this.#B.get(A),t)return this.#B.set(e,t),t;const n=`g_${this.#ki}_alpha_map_${this.#f++}`,r=this.#Mi(n);this.#B.set(e,r),this.#B.set(A,r);const a=this.#Fi(n);return this.#Gi(i,a),r}addLuminosityFilter(e){let t,i,A=this.#B.get(e||\\\"luminosity\\\");if(A)return A;if(e?([t]=this.#Ri([e]),i=`luminosity_${t}`):i=\\\"luminosity\\\",A=this.#B.get(i),A)return this.#B.set(e,A),A;const n=`g_${this.#ki}_luminosity_map_${this.#f++}`,r=this.#Mi(n);this.#B.set(e,r),this.#B.set(i,r);const a=this.#Fi(n);return this.#Li(a),e&&this.#Gi(t,a),r}addHighlightHCMFilter(e,t,i,A,n){const r=`${t}-${i}-${A}-${n}`;let a=this.#Si.get(e);if(a?.key===r)return a.url;if(a?(a.filter?.remove(),a.key=r,a.url=\\\"none\\\",a.filter=null):(a={key:r,url:\\\"none\\\",filter:null},this.#Si.set(e,a)),!t||!i)return a.url;const[s,o]=[t,i].map(this.#Ni.bind(this));let c=Math.round(.2126*s[0]+.7152*s[1]+.0722*s[2]),g=Math.round(.2126*o[0]+.7152*o[1]+.0722*o[2]),[h,l]=[A,n].map(this.#Ni.bind(this));g{const A=new Array(256),n=(g-c)/i,r=e/255,a=(t-e)/(255*i);let s=0;for(let e=0;e<=i;e++){const t=Math.round(c+e*n),i=r+e*a;for(let e=s;e<=t;e++)A[e]=i;s=t+1}for(let e=s;e<256;e++)A[e]=A[s-1];return A.join(\\\",\\\")},d=`g_${this.#ki}_hcm_${e}_filter`,I=a.filter=this.#Fi(d);return this.#Ui(I),this.#Ti(u(h[0],l[0],5),u(h[1],l[1],5),u(h[2],l[2],5),I),a.url=this.#Mi(d),a.url}destroy(e=!1){e&&0!==this.#Si.size||(this.#vi&&(this.#vi.parentNode.parentNode.remove(),this.#vi=null),this.#bi&&(this.#bi.clear(),this.#bi=null),this.#f=0)}#Li(e){const t=this.#xi.createElementNS(z,\\\"feColorMatrix\\\");t.setAttribute(\\\"type\\\",\\\"matrix\\\"),t.setAttribute(\\\"values\\\",\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0\\\"),e.append(t)}#Ui(e){const t=this.#xi.createElementNS(z,\\\"feColorMatrix\\\");t.setAttribute(\\\"type\\\",\\\"matrix\\\"),t.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\\\"),e.append(t)}#Fi(e){const t=this.#xi.createElementNS(z,\\\"filter\\\");return t.setAttribute(\\\"color-interpolation-filters\\\",\\\"sRGB\\\"),t.setAttribute(\\\"id\\\",e),this.#Pi.append(t),t}#Hi(e,t,i){const A=this.#xi.createElementNS(z,t);A.setAttribute(\\\"type\\\",\\\"discrete\\\"),A.setAttribute(\\\"tableValues\\\",i),e.append(A)}#Ti(e,t,i,A){const n=this.#xi.createElementNS(z,\\\"feComponentTransfer\\\");A.append(n),this.#Hi(n,\\\"feFuncR\\\",e),this.#Hi(n,\\\"feFuncG\\\",t),this.#Hi(n,\\\"feFuncB\\\",i)}#Gi(e,t){const i=this.#xi.createElementNS(z,\\\"feComponentTransfer\\\");t.append(i),this.#Hi(i,\\\"feFuncA\\\",e)}#Ni(e){return this.#Pi.style.color=e,de(getComputedStyle(this.#Pi).getPropertyValue(\\\"color\\\"))}},ei=a?class extends j{_fetchData(e){return We(e)}}:ee;function ti(e={}){\\\"string\\\"==typeof e||e instanceof URL?e={url:e}:(e instanceof ArrayBuffer||ArrayBuffer.isView(e))&&(e={data:e});const t=new Ai,{docId:i}=t,A=e.url?function(e){if(e instanceof URL)return e.href;try{return new URL(e,window.location).href}catch{if(a&&\\\"string\\\"==typeof e)return e}throw new Error(\\\"Invalid PDF url data: either string or URL-object is expected in the url property.\\\")}(e.url):null,n=e.data?function(e){if(a&&\\\"undefined\\\"!=typeof Buffer&&e instanceof Buffer)throw new Error(\\\"Please provide binary data as `Uint8Array`, rather than `Buffer`.\\\");if(e instanceof Uint8Array&&e.byteLength===e.buffer.byteLength)return e;if(\\\"string\\\"==typeof e)return T(e);if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)||\\\"object\\\"==typeof e&&!isNaN(e?.length))return new Uint8Array(e);throw new Error(\\\"Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.\\\")}(e.data):null,r=e.httpHeaders||null,s=!0===e.withCredentials,o=e.password??null,c=e.range instanceof ni?e.range:null,g=Number.isInteger(e.rangeChunkSize)&&e.rangeChunkSize>0?e.rangeChunkSize:65536;let h=e.worker instanceof ci?e.worker:null;const l=e.verbosity,u=\\\"string\\\"!=typeof e.docBaseUrl||ne(e.docBaseUrl)?null:e.docBaseUrl,d=\\\"string\\\"==typeof e.cMapUrl?e.cMapUrl:null,I=!1!==e.cMapPacked,C=e.CMapReaderFactory||Xt,f=\\\"string\\\"==typeof e.standardFontDataUrl?e.standardFontDataUrl:null,p=e.StandardFontDataFactory||ei,m=!0!==e.stopAtErrors,E=Number.isInteger(e.maxImageSize)&&e.maxImageSize>-1?e.maxImageSize:-1,Q=!1!==e.isEvalSupported,_=\\\"boolean\\\"==typeof e.isOffscreenCanvasSupported?e.isOffscreenCanvasSupported:!a,y=Number.isInteger(e.canvasMaxAreaInBytes)?e.canvasMaxAreaInBytes:-1,w=\\\"boolean\\\"==typeof e.disableFontFace?e.disableFontFace:a,b=!0===e.fontExtraProperties,v=!0===e.enableXfa,k=e.ownerDocument||globalThis.document,x=!0===e.disableRange,D=!0===e.disableStream,S=!0===e.disableAutoFetch,P=!0===e.pdfBug,R=!0===e.enableHWA,M=c?c.length:e.length??NaN,F=\\\"boolean\\\"==typeof e.useSystemFonts?e.useSystemFonts:!a&&!w,N=\\\"boolean\\\"==typeof e.useWorkerFetch?e.useWorkerFetch:C===$&&p===ee&&d&&f&&ce(d,document.baseURI)&&ce(f,document.baseURI),U=e.canvasFactory||new Zt({ownerDocument:k,enableHWA:R}),G=e.filterFactory||new $t({docId:i,ownerDocument:k});!function(e){Number.isInteger(e)&&(B=e)}(l);const L={canvasFactory:U,filterFactory:G};if(N||(L.cMapReaderFactory=new C({baseUrl:d,isCompressed:I}),L.standardFontDataFactory=new p({baseUrl:f})),!h){const e={verbosity:l,port:It.workerPort};h=e.port?ci.fromPort(e):new ci(e),t._worker=h}const H={docId:i,apiVersion:\\\"4.5.136\\\",data:n,password:o,disableAutoFetch:S,rangeChunkSize:g,length:M,docBaseUrl:u,enableXfa:v,evaluatorOptions:{maxImageSize:E,disableFontFace:w,ignoreErrors:m,isEvalSupported:Q,isOffscreenCanvasSupported:_,canvasMaxAreaInBytes:y,fontExtraProperties:b,useSystemFonts:F,cMapUrl:N?d:null,standardFontDataUrl:N?f:null}},W={disableFontFace:w,fontExtraProperties:b,ownerDocument:k,pdfBug:P,styleElement:null,loadingParams:{disableAutoFetch:S,enableXfa:v}};return h.promise.then((function(){if(t.destroyed)throw new Error(\\\"Loading aborted\\\");if(h.destroyed)throw new Error(\\\"Worker was destroyed\\\");const e=h.messageHandler.sendWithPromise(\\\"GetDocRequest\\\",H,n?[n.buffer]:null);let o;if(c)o=new Qt(c,{disableRange:x,disableStream:D});else if(!n){if(!A)throw new Error(\\\"getDocument - no `url` parameter provided.\\\");o=(e=>a?\\\"undefined\\\"!=typeof fetch&&\\\"undefined\\\"!=typeof Response&&\\\"body\\\"in Response.prototype&&ce(e.url)?new Pt(e):new Lt(e):ce(e.url)?new Pt(e):new Tt(e))({url:A,length:M,httpHeaders:r,withCredentials:s,rangeChunkSize:g,disableRange:x,disableStream:D})}return e.then((e=>{if(t.destroyed)throw new Error(\\\"Loading aborted\\\");if(h.destroyed)throw new Error(\\\"Worker was destroyed\\\");const A=new ft(i,e,h.port),n=new gi(A,t,o,W,L);t._transport=n,A.send(\\\"Ready\\\",null)}))})).catch(t._capability.reject),t}function ii(e){return\\\"object\\\"==typeof e&&Number.isInteger(e?.num)&&e.num>=0&&Number.isInteger(e?.gen)&&e.gen>=0}class Ai{static#ki=0;constructor(){this._capability=Promise.withResolvers(),this._transport=null,this._worker=null,this.docId=\\\"d\\\"+Ai.#ki++,this.destroyed=!1,this.onPassword=null,this.onProgress=null}get promise(){return this._capability.promise}async destroy(){this.destroyed=!0;try{this._worker?.port&&(this._worker._pendingDestroy=!0),await(this._transport?.destroy())}catch(e){throw this._worker?.port&&delete this._worker._pendingDestroy,e}this._transport=null,this._worker&&(this._worker.destroy(),this._worker=null)}}class ni{constructor(e,t,i=!1,A=null){this.length=e,this.initialData=t,this.progressiveDone=i,this.contentDispositionFilename=A,this._rangeListeners=[],this._progressListeners=[],this._progressiveReadListeners=[],this._progressiveDoneListeners=[],this._readyCapability=Promise.withResolvers()}addRangeListener(e){this._rangeListeners.push(e)}addProgressListener(e){this._progressListeners.push(e)}addProgressiveReadListener(e){this._progressiveReadListeners.push(e)}addProgressiveDoneListener(e){this._progressiveDoneListeners.push(e)}onDataRange(e,t){for(const i of this._rangeListeners)i(e,t)}onDataProgress(e,t){this._readyCapability.promise.then((()=>{for(const i of this._progressListeners)i(e,t)}))}onDataProgressiveRead(e){this._readyCapability.promise.then((()=>{for(const t of this._progressiveReadListeners)t(e)}))}onDataProgressiveDone(){this._readyCapability.promise.then((()=>{for(const e of this._progressiveDoneListeners)e()}))}transportReady(){this._readyCapability.resolve()}requestDataRange(e,t){_(\\\"Abstract method PDFDataRangeTransport.requestDataRange\\\")}abort(){}}class ri{constructor(e,t){this._pdfInfo=e,this._transport=t}get annotationStorage(){return this._transport.annotationStorage}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return b(this,\\\"isPureXfa\\\",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(e){return this._transport.getPage(e)}getPageIndex(e){return this._transport.getPageIndex(e)}getDestinations(){return this._transport.getDestinations()}getDestination(e){return this._transport.getDestination(e)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:e=\\\"display\\\"}={}){const{renderingIntent:t}=this._transport.getRenderingIntent(e);return this._transport.getOptionalContentConfig(t)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(e=!1){return this._transport.startCleanup(e||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}cachedPageNumber(e){return this._transport.cachedPageNumber(e)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}class ai{#Wi=null;#Ji=!1;constructor(e,t,i,A=!1){this._pageIndex=e,this._pageInfo=t,this._transport=i,this._stats=A?new oe:null,this._pdfBug=A,this.commonObjs=i.commonObjs,this.objs=new li,this._maybeCleanupAfterRender=!1,this._intentStates=new Map,this.destroyed=!1}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:e,rotation:t=this.rotate,offsetX:i=0,offsetY:A=0,dontFlip:n=!1}={}){return new ie({viewBox:this.view,scale:e,rotation:t,offsetX:i,offsetY:A,dontFlip:n})}getAnnotations({intent:e=\\\"display\\\"}={}){const{renderingIntent:t}=this._transport.getRenderingIntent(e);return this._transport.getAnnotations(this._pageIndex,t)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return b(this,\\\"isPureXfa\\\",!!this._transport._htmlForXfa)}async getXfa(){return this._transport._htmlForXfa?.children[this._pageIndex]||null}render({canvasContext:e,viewport:t,intent:i=\\\"display\\\",annotationMode:A=g.ENABLE,transform:n=null,background:r=null,optionalContentConfigPromise:a=null,annotationCanvasMap:s=null,pageColors:o=null,printAnnotationStorage:c=null,isEditing:h=!1}){this._stats?.time(\\\"Overall\\\");const l=this._transport.getRenderingIntent(i,A,c,h),{renderingIntent:u,cacheKey:d}=l;this.#Ji=!1,this.#Yi(),a||=this._transport.getOptionalContentConfig(u);let I=this._intentStates.get(d);I||(I=Object.create(null),this._intentStates.set(d,I)),I.streamReaderCancelTimeout&&(clearTimeout(I.streamReaderCancelTimeout),I.streamReaderCancelTimeout=null);const C=!!(4&u);I.displayReadyCapability||(I.displayReadyCapability=Promise.withResolvers(),I.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time(\\\"Page Request\\\"),this._pumpOperatorList(l));const f=e=>{I.renderTasks.delete(p),(this._maybeCleanupAfterRender||C)&&(this.#Ji=!0),this.#Oi(!C),e?(p.capability.reject(e),this._abortOperatorList({intentState:I,reason:e instanceof Error?e:new Error(e)})):p.capability.resolve(),this._stats&&(this._stats.timeEnd(\\\"Rendering\\\"),this._stats.timeEnd(\\\"Overall\\\"),globalThis.Stats?.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))},p=new di({callback:f,params:{canvasContext:e,viewport:t,transform:n,background:r},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:s,operatorList:I.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!C,pdfBug:this._pdfBug,pageColors:o});(I.renderTasks||=new Set).add(p);const B=p.task;return Promise.all([I.displayReadyCapability.promise,a]).then((([e,t])=>{if(this.destroyed)f();else{if(this._stats?.time(\\\"Rendering\\\"),!(t.renderingIntent&u))throw new Error(\\\"Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.\\\");p.initializeGraphics({transparency:e,optionalContentConfig:t}),p.operatorListChanged()}})).catch(f),B}getOperatorList({intent:e=\\\"display\\\",annotationMode:t=g.ENABLE,printAnnotationStorage:i=null,isEditing:A=!1}={}){const n=this._transport.getRenderingIntent(e,t,i,A,!0);let r,a=this._intentStates.get(n.cacheKey);return a||(a=Object.create(null),this._intentStates.set(n.cacheKey,a)),a.opListReadCapability||(r=Object.create(null),r.operatorListChanged=function(){a.operatorList.lastChunk&&(a.opListReadCapability.resolve(a.operatorList),a.renderTasks.delete(r))},a.opListReadCapability=Promise.withResolvers(),(a.renderTasks||=new Set).add(r),a.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time(\\\"Page Request\\\"),this._pumpOperatorList(n)),a.opListReadCapability.promise}streamTextContent({includeMarkedContent:e=!1,disableNormalization:t=!1}={}){return this._transport.messageHandler.sendWithStream(\\\"GetTextContent\\\",{pageIndex:this._pageIndex,includeMarkedContent:!0===e,disableNormalization:!0===t},{highWaterMark:100,size:e=>e.items.length})}getTextContent(e={}){if(this._transport._htmlForXfa)return this.getXfa().then((e=>zt.textContent(e)));const t=this.streamTextContent(e);return new Promise((function(e,i){const A=t.getReader(),n={items:[],styles:Object.create(null),lang:null};!function t(){A.read().then((function({value:i,done:A}){A?e(n):(n.lang??=i.lang,Object.assign(n.styles,i.styles),n.items.push(...i.items),t())}),i)}()}))}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const e=[];for(const t of this._intentStates.values())if(this._abortOperatorList({intentState:t,reason:new Error(\\\"Page was destroyed.\\\"),force:!0}),!t.opListReadCapability)for(const i of t.renderTasks)e.push(i.completed),i.cancel();return this.objs.clear(),this.#Ji=!1,this.#Yi(),Promise.all(e)}cleanup(e=!1){this.#Ji=!0;const t=this.#Oi(!1);return e&&t&&(this._stats&&=new oe),t}#Oi(e=!1){if(this.#Yi(),!this.#Ji||this.destroyed)return!1;if(e)return this.#Wi=setTimeout((()=>{this.#Wi=null,this.#Oi(!1)}),5e3),!1;for(const{renderTasks:e,operatorList:t}of this._intentStates.values())if(e.size>0||!t.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),this.#Ji=!1,!0}#Yi(){this.#Wi&&(clearTimeout(this.#Wi),this.#Wi=null)}_startRenderPage(e,t){const i=this._intentStates.get(t);i&&(this._stats?.timeEnd(\\\"Page Request\\\"),i.displayReadyCapability?.resolve(e))}_renderPageChunk(e,t){for(let i=0,A=e.length;i{a.read().then((({value:e,done:t})=>{t?s.streamReader=null:this._transport.destroyed||(this._renderPageChunk(e,s),o())}),(e=>{if(s.streamReader=null,!this._transport.destroyed){if(s.operatorList){s.operatorList.lastChunk=!0;for(const e of s.renderTasks)e.operatorListChanged();this.#Oi(!0)}if(s.displayReadyCapability)s.displayReadyCapability.reject(e);else{if(!s.opListReadCapability)throw e;s.opListReadCapability.reject(e)}}}))};o()}_abortOperatorList({intentState:e,reason:t,force:i=!1}){if(e.streamReader){if(e.streamReaderCancelTimeout&&(clearTimeout(e.streamReaderCancelTimeout),e.streamReaderCancelTimeout=null),!i){if(e.renderTasks.size>0)return;if(t instanceof Ae){let i=100;return t.extraDelay>0&&t.extraDelay<1e3&&(i+=t.extraDelay),void(e.streamReaderCancelTimeout=setTimeout((()=>{e.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:e,reason:t,force:!0})}),i))}}if(e.streamReader.cancel(new M(t.message)).catch((()=>{})),e.streamReader=null,!this._transport.destroyed){for(const[t,i]of this._intentStates)if(i===e){this._intentStates.delete(t);break}this.cleanup()}}}get stats(){return this._stats}}class si{#qi=new Set;#Ki=Promise.resolve();postMessage(e,t){const i={data:structuredClone(e,t?{transfer:t}:null)};this.#Ki.then((()=>{for(const e of this.#qi)e.call(this,i)}))}addEventListener(e,t){this.#qi.add(t)}removeEventListener(e,t){this.#qi.delete(t)}terminate(){this.#qi.clear()}}const oi={isWorkerDisabled:!1,fakeWorkerId:0};a&&(oi.isWorkerDisabled=!0,It.workerSrc||=\\\"./pdf.worker.mjs\\\"),oi.isSameOrigin=function(e,t){let i;try{if(i=new URL(e),!i.origin||\\\"null\\\"===i.origin)return!1}catch{return!1}const A=new URL(t,i);return i.origin===A.origin},oi.createCDNWrapper=function(e){const t=`await import(\\\"${e}\\\");`;return URL.createObjectURL(new Blob([t],{type:\\\"text/javascript\\\"}))};class ci{static#ji;constructor({name:e=null,port:t=null,verbosity:i=m()}={}){if(this.name=e,this.destroyed=!1,this.verbosity=i,this._readyCapability=Promise.withResolvers(),this._port=null,this._webWorker=null,this._messageHandler=null,t){if(ci.#ji?.has(t))throw new Error(\\\"Cannot use more than one PDFWorker per port.\\\");(ci.#ji||=new WeakMap).set(t,this),this._initializeFromPort(t)}else this._initialize()}get promise(){return a?Promise.all([He.promise,this._readyCapability.promise]):this._readyCapability.promise}#Vi(){this._readyCapability.resolve(),this._messageHandler.send(\\\"configure\\\",{verbosity:this.verbosity})}get port(){return this._port}get messageHandler(){return this._messageHandler}_initializeFromPort(e){this._port=e,this._messageHandler=new ft(\\\"main\\\",\\\"worker\\\",e),this._messageHandler.on(\\\"ready\\\",(function(){})),this.#Vi()}_initialize(){if(oi.isWorkerDisabled||ci.#zi)return void this._setupFakeWorker();let{workerSrc:e}=ci;try{oi.isSameOrigin(window.location.href,e)||(e=oi.createCDNWrapper(new URL(e,window.location).href));const t=new Worker(e,{type:\\\"module\\\"}),i=new ft(\\\"main\\\",\\\"worker\\\",t),A=()=>{n.abort(),i.destroy(),t.terminate(),this.destroyed?this._readyCapability.reject(new Error(\\\"Worker was destroyed\\\")):this._setupFakeWorker()},n=new AbortController;t.addEventListener(\\\"error\\\",(()=>{this._webWorker||A()}),{signal:n.signal}),i.on(\\\"test\\\",(e=>{n.abort(),!this.destroyed&&e?(this._messageHandler=i,this._port=t,this._webWorker=t,this.#Vi()):A()})),i.on(\\\"ready\\\",(e=>{if(n.abort(),this.destroyed)A();else try{r()}catch{this._setupFakeWorker()}}));const r=()=>{const e=new Uint8Array;i.send(\\\"test\\\",e,[e.buffer])};return void r()}catch{E(\\\"The worker has been disabled.\\\")}this._setupFakeWorker()}_setupFakeWorker(){oi.isWorkerDisabled||(Q(\\\"Setting up fake worker.\\\"),oi.isWorkerDisabled=!0),ci._setupFakeWorkerGlobal.then((e=>{if(this.destroyed)return void this._readyCapability.reject(new Error(\\\"Worker was destroyed\\\"));const t=new si;this._port=t;const i=\\\"fake\\\"+oi.fakeWorkerId++,A=new ft(i+\\\"_worker\\\",i,t);e.setup(A,t),this._messageHandler=new ft(i,i+\\\"_worker\\\",t),this.#Vi()})).catch((e=>{this._readyCapability.reject(new Error(`Setting up fake worker failed: \\\"${e.message}\\\".`))}))}destroy(){this.destroyed=!0,this._webWorker&&(this._webWorker.terminate(),this._webWorker=null),ci.#ji?.delete(this._port),this._port=null,this._messageHandler&&(this._messageHandler.destroy(),this._messageHandler=null)}static fromPort(e){if(!e?.port)throw new Error(\\\"PDFWorker.fromPort - invalid method signature.\\\");const t=this.#ji?.get(e.port);if(t){if(t._pendingDestroy)throw new Error(\\\"PDFWorker.fromPort - the worker is being destroyed.\\\\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.\\\");return t}return new ci(e)}static get workerSrc(){if(It.workerSrc)return It.workerSrc;throw new Error('No \\\"GlobalWorkerOptions.workerSrc\\\" specified.')}static get#zi(){try{return globalThis.pdfjsWorker?.WorkerMessageHandler||null}catch{return null}}static get _setupFakeWorkerGlobal(){return b(this,\\\"_setupFakeWorkerGlobal\\\",(async()=>this.#zi?this.#zi:(await i(2846)(this.workerSrc)).WorkerMessageHandler)())}}class gi{#Zi=new Map;#Xi=new Map;#$i=new Map;#eA=new Map;#tA=null;constructor(e,t,i,A,n){this.messageHandler=e,this.loadingTask=t,this.commonObjs=new li,this.fontLoader=new Ne({ownerDocument:A.ownerDocument,styleElement:A.styleElement}),this.loadingParams=A.loadingParams,this._params=A,this.canvasFactory=n.canvasFactory,this.filterFactory=n.filterFactory,this.cMapReaderFactory=n.cMapReaderFactory,this.standardFontDataFactory=n.standardFontDataFactory,this.destroyed=!1,this.destroyCapability=null,this._networkStream=i,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=Promise.withResolvers(),this.setupMessageHandler()}#iA(e,t=null){const i=this.#Zi.get(e);if(i)return i;const A=this.messageHandler.sendWithPromise(e,t);return this.#Zi.set(e,A),A}get annotationStorage(){return b(this,\\\"annotationStorage\\\",new Fe)}getRenderingIntent(e,t=g.ENABLE,i=null,A=!1,n=!1){let r=2,a=Me;switch(e){case\\\"any\\\":r=1;break;case\\\"display\\\":break;case\\\"print\\\":r=4;break;default:Q(`getRenderingIntent - invalid intent: ${e}`)}const s=4&r&&i instanceof Te?i:this.annotationStorage;switch(t){case g.DISABLE:r+=64;break;case g.ENABLE:break;case g.ENABLE_FORMS:r+=16;break;case g.ENABLE_STORAGE:r+=32,a=s.serializable;break;default:Q(`getRenderingIntent - invalid annotationMode: ${t}`)}A&&(r+=128),n&&(r+=256);const{ids:o,hash:c}=s.modifiedIds;return{renderingIntent:r,cacheKey:[r,a.hash,c].join(\\\"_\\\"),annotationStorageSerializable:a,modifiedIds:o}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),this.#tA?.reject(new Error(\\\"Worker was destroyed during onPassword callback\\\"));const e=[];for(const t of this.#Xi.values())e.push(t._destroy());this.#Xi.clear(),this.#$i.clear(),this.#eA.clear(),this.hasOwnProperty(\\\"annotationStorage\\\")&&this.annotationStorage.resetModified();const t=this.messageHandler.sendWithPromise(\\\"Terminate\\\",null);return e.push(t),Promise.all(e).then((()=>{this.commonObjs.clear(),this.fontLoader.clear(),this.#Zi.clear(),this.filterFactory.destroy(),Vt.cleanup(),this._networkStream?.cancelAllRequests(new M(\\\"Worker was terminated.\\\")),this.messageHandler&&(this.messageHandler.destroy(),this.messageHandler=null),this.destroyCapability.resolve()}),this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:e,loadingTask:t}=this;e.on(\\\"GetReader\\\",((e,t)=>{y(this._networkStream,\\\"GetReader - no `IPDFStream` instance available.\\\"),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=e=>{this._lastProgress={loaded:e.loaded,total:e.total}},t.onPull=()=>{this._fullReader.read().then((function({value:e,done:i}){i?t.close():(y(e instanceof ArrayBuffer,\\\"GetReader - expected an ArrayBuffer.\\\"),t.enqueue(new Uint8Array(e),1,[e]))})).catch((e=>{t.error(e)}))},t.onCancel=e=>{this._fullReader.cancel(e),t.ready.catch((e=>{if(!this.destroyed)throw e}))}})),e.on(\\\"ReaderHeadersReady\\\",(e=>{const i=Promise.withResolvers(),A=this._fullReader;return A.headersReady.then((()=>{A.isStreamingSupported&&A.isRangeSupported||(this._lastProgress&&t.onProgress?.(this._lastProgress),A.onProgress=e=>{t.onProgress?.({loaded:e.loaded,total:e.total})}),i.resolve({isStreamingSupported:A.isStreamingSupported,isRangeSupported:A.isRangeSupported,contentLength:A.contentLength})}),i.reject),i.promise})),e.on(\\\"GetRangeReader\\\",((e,t)=>{y(this._networkStream,\\\"GetRangeReader - no `IPDFStream` instance available.\\\");const i=this._networkStream.getRangeReader(e.begin,e.end);i?(t.onPull=()=>{i.read().then((function({value:e,done:i}){i?t.close():(y(e instanceof ArrayBuffer,\\\"GetRangeReader - expected an ArrayBuffer.\\\"),t.enqueue(new Uint8Array(e),1,[e]))})).catch((e=>{t.error(e)}))},t.onCancel=e=>{i.cancel(e),t.ready.catch((e=>{if(!this.destroyed)throw e}))}):t.close()})),e.on(\\\"GetDoc\\\",(({pdfInfo:e})=>{this._numPages=e.numPages,this._htmlForXfa=e.htmlForXfa,delete e.htmlForXfa,t._capability.resolve(new ri(e,this))})),e.on(\\\"DocException\\\",(function(e){let i;switch(e.name){case\\\"PasswordException\\\":i=new k(e.message,e.code);break;case\\\"InvalidPDFException\\\":i=new D(e.message);break;case\\\"MissingPDFException\\\":i=new S(e.message);break;case\\\"UnexpectedResponseException\\\":i=new P(e.message,e.status);break;case\\\"UnknownErrorException\\\":i=new x(e.message,e.details);break;default:_(\\\"DocException - expected a valid Error.\\\")}t._capability.reject(i)})),e.on(\\\"PasswordRequest\\\",(e=>{if(this.#tA=Promise.withResolvers(),t.onPassword){const i=e=>{e instanceof Error?this.#tA.reject(e):this.#tA.resolve({password:e})};try{t.onPassword(i,e.code)}catch(e){this.#tA.reject(e)}}else this.#tA.reject(new k(e.message,e.code));return this.#tA.promise})),e.on(\\\"DataLoaded\\\",(e=>{t.onProgress?.({loaded:e.length,total:e.length}),this.downloadInfoCapability.resolve(e)})),e.on(\\\"StartRenderPage\\\",(e=>{this.destroyed||this.#Xi.get(e.pageIndex)._startRenderPage(e.transparency,e.cacheKey)})),e.on(\\\"commonobj\\\",(([t,i,A])=>{if(this.destroyed)return null;if(this.commonObjs.has(t))return null;switch(i){case\\\"Font\\\":const{disableFontFace:n,fontExtraProperties:r,pdfBug:a}=this._params;if(\\\"error\\\"in A){const e=A.error;Q(`Error during font loading: ${e}`),this.commonObjs.resolve(t,e);break}const s=a&&globalThis.FontInspector?.enabled?(e,t)=>globalThis.FontInspector.fontAdded(e,t):null,o=new Ue(A,{disableFontFace:n,inspectFont:s});this.fontLoader.bind(o).catch((()=>e.sendWithPromise(\\\"FontFallback\\\",{id:t}))).finally((()=>{!r&&o.data&&(o.data=null),this.commonObjs.resolve(t,o)}));break;case\\\"CopyLocalImage\\\":const{imageRef:c}=A;y(c,\\\"The imageRef must be defined.\\\");for(const e of this.#Xi.values())for(const[,i]of e.objs)if(i?.ref===c)return i.dataLen?(this.commonObjs.resolve(t,structuredClone(i)),i.dataLen):null;break;case\\\"FontPath\\\":case\\\"Image\\\":case\\\"Pattern\\\":this.commonObjs.resolve(t,A);break;default:throw new Error(`Got unknown common object type ${i}`)}return null})),e.on(\\\"obj\\\",(([e,t,i,A])=>{if(this.destroyed)return;const n=this.#Xi.get(t);if(!n.objs.has(e))if(0!==n._intentStates.size)switch(i){case\\\"Image\\\":n.objs.resolve(e,A),A?.dataLen>1e7&&(n._maybeCleanupAfterRender=!0);break;case\\\"Pattern\\\":n.objs.resolve(e,A);break;default:throw new Error(`Got unknown object type ${i}`)}else A?.bitmap?.close()})),e.on(\\\"DocProgress\\\",(e=>{this.destroyed||t.onProgress?.({loaded:e.loaded,total:e.total})})),e.on(\\\"FetchBuiltInCMap\\\",(e=>this.destroyed?Promise.reject(new Error(\\\"Worker was destroyed.\\\")):this.cMapReaderFactory?this.cMapReaderFactory.fetch(e):Promise.reject(new Error(\\\"CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.\\\")))),e.on(\\\"FetchStandardFontData\\\",(e=>this.destroyed?Promise.reject(new Error(\\\"Worker was destroyed.\\\")):this.standardFontDataFactory?this.standardFontDataFactory.fetch(e):Promise.reject(new Error(\\\"StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.\\\"))))}getData(){return this.messageHandler.sendWithPromise(\\\"GetData\\\",null)}saveDocument(){this.annotationStorage.size<=0&&Q(\\\"saveDocument called while `annotationStorage` is empty, please use the getData-method instead.\\\");const{map:e,transfer:t}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise(\\\"SaveDocument\\\",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:e,filename:this._fullReader?.filename??null},t).finally((()=>{this.annotationStorage.resetModified()}))}getPage(e){if(!Number.isInteger(e)||e<=0||e>this._numPages)return Promise.reject(new Error(\\\"Invalid page request.\\\"));const t=e-1,i=this.#$i.get(t);if(i)return i;const A=this.messageHandler.sendWithPromise(\\\"GetPage\\\",{pageIndex:t}).then((i=>{if(this.destroyed)throw new Error(\\\"Transport destroyed\\\");i.refStr&&this.#eA.set(i.refStr,e);const A=new ai(t,i,this,this._params.pdfBug);return this.#Xi.set(t,A),A}));return this.#$i.set(t,A),A}getPageIndex(e){return ii(e)?this.messageHandler.sendWithPromise(\\\"GetPageIndex\\\",{num:e.num,gen:e.gen}):Promise.reject(new Error(\\\"Invalid pageIndex request.\\\"))}getAnnotations(e,t){return this.messageHandler.sendWithPromise(\\\"GetAnnotations\\\",{pageIndex:e,intent:t})}getFieldObjects(){return this.#iA(\\\"GetFieldObjects\\\")}hasJSActions(){return this.#iA(\\\"HasJSActions\\\")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise(\\\"GetCalculationOrderIds\\\",null)}getDestinations(){return this.messageHandler.sendWithPromise(\\\"GetDestinations\\\",null)}getDestination(e){return\\\"string\\\"!=typeof e?Promise.reject(new Error(\\\"Invalid destination request.\\\")):this.messageHandler.sendWithPromise(\\\"GetDestination\\\",{id:e})}getPageLabels(){return this.messageHandler.sendWithPromise(\\\"GetPageLabels\\\",null)}getPageLayout(){return this.messageHandler.sendWithPromise(\\\"GetPageLayout\\\",null)}getPageMode(){return this.messageHandler.sendWithPromise(\\\"GetPageMode\\\",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise(\\\"GetViewerPreferences\\\",null)}getOpenAction(){return this.messageHandler.sendWithPromise(\\\"GetOpenAction\\\",null)}getAttachments(){return this.messageHandler.sendWithPromise(\\\"GetAttachments\\\",null)}getDocJSActions(){return this.#iA(\\\"GetDocJSActions\\\")}getPageJSActions(e){return this.messageHandler.sendWithPromise(\\\"GetPageJSActions\\\",{pageIndex:e})}getStructTree(e){return this.messageHandler.sendWithPromise(\\\"GetStructTree\\\",{pageIndex:e})}getOutline(){return this.messageHandler.sendWithPromise(\\\"GetOutline\\\",null)}getOptionalContentConfig(e){return this.#iA(\\\"GetOptionalContentConfig\\\").then((t=>new Et(t,e)))}getPermissions(){return this.messageHandler.sendWithPromise(\\\"GetPermissions\\\",null)}getMetadata(){const e=\\\"GetMetadata\\\",t=this.#Zi.get(e);if(t)return t;const i=this.messageHandler.sendWithPromise(e,null).then((e=>({info:e[0],metadata:e[1]?new pt(e[1]):null,contentDispositionFilename:this._fullReader?.filename??null,contentLength:this._fullReader?.contentLength??null})));return this.#Zi.set(e,i),i}getMarkInfo(){return this.messageHandler.sendWithPromise(\\\"GetMarkInfo\\\",null)}async startCleanup(e=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise(\\\"Cleanup\\\",null);for(const e of this.#Xi.values())if(!e.cleanup())throw new Error(`startCleanup: Page ${e.pageNumber} is currently rendering.`);this.commonObjs.clear(),e||this.fontLoader.clear(),this.#Zi.clear(),this.filterFactory.destroy(!0),Vt.cleanup()}}cachedPageNumber(e){if(!ii(e))return null;const t=0===e.gen?`${e.num}R`:`${e.num}R${e.gen}`;return this.#eA.get(t)??null}}const hi=Symbol(\\\"INITIAL_DATA\\\");class li{#AA=Object.create(null);#nA(e){return this.#AA[e]||={...Promise.withResolvers(),data:hi}}get(e,t=null){if(t){const i=this.#nA(e);return i.promise.then((()=>t(i.data))),null}const i=this.#AA[e];if(!i||i.data===hi)throw new Error(`Requesting object that isn't resolved yet ${e}.`);return i.data}has(e){const t=this.#AA[e];return!!t&&t.data!==hi}resolve(e,t=null){const i=this.#nA(e);i.data=t,i.resolve()}clear(){for(const e in this.#AA){const{data:t}=this.#AA[e];t?.bitmap?.close()}this.#AA=Object.create(null)}*[Symbol.iterator](){for(const e in this.#AA){const{data:t}=this.#AA[e];t!==hi&&(yield[e,t])}}}class ui{#rA=null;constructor(e){this.#rA=e,this.onContinue=null}get promise(){return this.#rA.capability.promise}cancel(e=0){this.#rA.cancel(null,e)}get separateAnnots(){const{separateAnnots:e}=this.#rA.operatorList;if(!e)return!1;const{annotationCanvasMap:t}=this.#rA;return e.form||e.canvas&&t?.size>0}}class di{#aA=null;static#sA=new WeakSet;constructor({callback:e,params:t,objs:i,commonObjs:A,annotationCanvasMap:n,operatorList:r,pageIndex:a,canvasFactory:s,filterFactory:o,useRequestAnimationFrame:c=!1,pdfBug:g=!1,pageColors:h=null}){this.callback=e,this.params=t,this.objs=i,this.commonObjs=A,this.annotationCanvasMap=n,this.operatorListIdx=null,this.operatorList=r,this._pageIndex=a,this.canvasFactory=s,this.filterFactory=o,this._pdfBug=g,this.pageColors=h,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=!0===c&&\\\"undefined\\\"!=typeof window,this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new ui(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=t.canvasContext.canvas}get completed(){return this.capability.promise.catch((function(){}))}initializeGraphics({transparency:e=!1,optionalContentConfig:t}){if(this.cancelled)return;if(this._canvas){if(di.#sA.has(this._canvas))throw new Error(\\\"Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.\\\");di.#sA.add(this._canvas)}this._pdfBug&&globalThis.StepperManager?.enabled&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());const{canvasContext:i,viewport:A,transform:n,background:r}=this.params;this.gfx=new dt(i,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:t},this.annotationCanvasMap,this.pageColors),this.gfx.beginDrawing({transform:n,viewport:A,transparency:e,background:r}),this.operatorListIdx=0,this.graphicsReady=!0,this.graphicsReadyCallback?.()}cancel(e=null,t=0){this.running=!1,this.cancelled=!0,this.gfx?.endDrawing(),this.#aA&&(window.cancelAnimationFrame(this.#aA),this.#aA=null),di.#sA.delete(this._canvas),this.callback(e||new Ae(`Rendering cancelled, page ${this._pageIndex+1}`,t))}operatorListChanged(){this.graphicsReady?(this.stepper?.updateOperatorList(this.operatorList),this.running||this._continue()):this.graphicsReadyCallback||=this._continueBound}_continue(){this.running=!0,this.cancelled||(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?this.#aA=window.requestAnimationFrame((()=>{this.#aA=null,this._nextBound().catch(this._cancelBound)})):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),di.#sA.delete(this._canvas),this.callback())))}}const Ii=\\\"4.5.136\\\",Ci=\\\"3a21f03b0\\\";function fi(e){return Math.floor(255*Math.max(0,Math.min(1,e))).toString(16).padStart(2,\\\"0\\\")}function pi(e){return Math.max(0,Math.min(255,255*e))}r(670);class Bi{static CMYK_G([e,t,i,A]){return[\\\"G\\\",1-Math.min(1,.3*e+.59*i+.11*t+A)]}static G_CMYK([e]){return[\\\"CMYK\\\",0,0,0,1-e]}static G_RGB([e]){return[\\\"RGB\\\",e,e,e]}static G_rgb([e]){return[e=pi(e),e,e]}static G_HTML([e]){const t=fi(e);return`#${t}${t}${t}`}static RGB_G([e,t,i]){return[\\\"G\\\",.3*e+.59*t+.11*i]}static RGB_rgb(e){return e.map(pi)}static RGB_HTML(e){return`#${e.map(fi).join(\\\"\\\")}`}static T_HTML(){return\\\"#00000000\\\"}static T_rgb(){return[null]}static CMYK_RGB([e,t,i,A]){return[\\\"RGB\\\",1-Math.min(1,e+A),1-Math.min(1,i+A),1-Math.min(1,t+A)]}static CMYK_rgb([e,t,i,A]){return[pi(1-Math.min(1,e+A)),pi(1-Math.min(1,i+A)),pi(1-Math.min(1,t+A))]}static CMYK_HTML(e){const t=this.CMYK_RGB(e).slice(1);return this.RGB_HTML(t)}static RGB_CMYK([e,t,i]){const A=1-e,n=1-t,r=1-i;return[\\\"CMYK\\\",A,n,r,Math.min(A,n,r)]}}class mi{static setupStorage(e,t,i,A,n){const r=A.getValue(t,{value:null});switch(i.name){case\\\"textarea\\\":if(null!==r.value&&(e.textContent=r.value),\\\"print\\\"===n)break;e.addEventListener(\\\"input\\\",(e=>{A.setValue(t,{value:e.target.value})}));break;case\\\"input\\\":if(\\\"radio\\\"===i.attributes.type||\\\"checkbox\\\"===i.attributes.type){if(r.value===i.attributes.xfaOn?e.setAttribute(\\\"checked\\\",!0):r.value===i.attributes.xfaOff&&e.removeAttribute(\\\"checked\\\"),\\\"print\\\"===n)break;e.addEventListener(\\\"change\\\",(e=>{A.setValue(t,{value:e.target.checked?e.target.getAttribute(\\\"xfaOn\\\"):e.target.getAttribute(\\\"xfaOff\\\")})}))}else{if(null!==r.value&&e.setAttribute(\\\"value\\\",r.value),\\\"print\\\"===n)break;e.addEventListener(\\\"input\\\",(e=>{A.setValue(t,{value:e.target.value})}))}break;case\\\"select\\\":if(null!==r.value){e.setAttribute(\\\"value\\\",r.value);for(const e of i.children)e.attributes.value===r.value?e.attributes.selected=!0:e.attributes.hasOwnProperty(\\\"selected\\\")&&delete e.attributes.selected}e.addEventListener(\\\"input\\\",(e=>{const i=e.target.options,n=-1===i.selectedIndex?\\\"\\\":i[i.selectedIndex].value;A.setValue(t,{value:n})}))}}static setAttributes({html:e,element:t,storage:i=null,intent:A,linkService:n}){const{attributes:r}=t,a=e instanceof HTMLAnchorElement;\\\"radio\\\"===r.type&&(r.name=`${r.name}-${A}`);for(const[t,i]of Object.entries(r))if(null!=i)switch(t){case\\\"class\\\":i.length&&e.setAttribute(t,i.join(\\\" \\\"));break;case\\\"dataId\\\":break;case\\\"id\\\":e.setAttribute(\\\"data-element-id\\\",i);break;case\\\"style\\\":Object.assign(e.style,i);break;case\\\"textContent\\\":e.textContent=i;break;default:(!a||\\\"href\\\"!==t&&\\\"newWindow\\\"!==t)&&e.setAttribute(t,i)}a&&n.addLinkAttributes(e,r.href,r.newWindow),i&&r.dataId&&this.setupStorage(e,r.dataId,t,i)}static render(e){const t=e.annotationStorage,i=e.linkService,A=e.xfaHtml,n=e.intent||\\\"display\\\",r=document.createElement(A.name);A.attributes&&this.setAttributes({html:r,element:A,intent:n,linkService:i});const a=\\\"richText\\\"!==n,s=e.div;if(s.append(r),e.viewport){const t=`matrix(${e.viewport.transform.join(\\\",\\\")})`;s.style.transform=t}a&&s.setAttribute(\\\"class\\\",\\\"xfaLayer xfaFont\\\");const o=[];if(0===A.children.length){if(A.value){const e=document.createTextNode(A.value);r.append(e),a&&zt.shouldBuildText(A.name)&&o.push(e)}return{textDivs:o}}const c=[[A,-1,r]];for(;c.length>0;){const[e,A,r]=c.at(-1);if(A+1===e.children.length){c.pop();continue}const s=e.children[++c.at(-1)[1]];if(null===s)continue;const{name:g}=s;if(\\\"#text\\\"===g){const e=document.createTextNode(s.value);o.push(e),r.append(e);continue}const h=s?.attributes?.xmlns?document.createElementNS(s.attributes.xmlns,g):document.createElement(g);if(r.append(h),s.attributes&&this.setAttributes({html:h,element:s,storage:t,intent:n,linkService:i}),s.children?.length>0)c.push([s,-1,h]);else if(s.value){const e=document.createTextNode(s.value);a&&zt.shouldBuildText(g)&&o.push(e),h.append(e)}}for(const e of s.querySelectorAll(\\\".xfaNonInteractive input, .xfaNonInteractive textarea\\\"))e.setAttribute(\\\"readOnly\\\",!0);return{textDivs:o}}static update(e){const t=`matrix(${e.viewport.transform.join(\\\",\\\")})`;e.div.style.transform=t,e.div.hidden=!1}}const Ei=1e3,Qi=new WeakSet;function _i(e){return{width:e[2]-e[0],height:e[3]-e[1]}}class yi{static create(e){switch(e.data.annotationType){case 2:return new bi(e);case 1:return new vi(e);case 20:switch(e.data.fieldType){case\\\"Tx\\\":return new xi(e);case\\\"Btn\\\":return e.data.radioButton?new Pi(e):e.data.checkBox?new Si(e):new Ri(e);case\\\"Ch\\\":return new Mi(e);case\\\"Sig\\\":return new Di(e)}return new ki(e);case 16:return new Fi(e);case 3:return new Ni(e);case 4:return new Ui(e);case 5:return new Gi(e);case 6:return new Li(e);case 8:return new Hi(e);case 14:return new Ji(e);case 15:return new Yi(e);case 7:return new Wi(e);case 9:return new Oi(e);case 10:return new qi(e);case 11:return new Ki(e);case 12:return new ji(e);case 13:return new Vi(e);case 17:return new zi(e);default:return new wi(e)}}}class wi{#oA=null;#cA=!1;#gA=null;constructor(e,{isRenderable:t=!1,ignoreBorder:i=!1,createQuadrilaterals:A=!1}={}){this.isRenderable=t,this.data=e.data,this.layer=e.layer,this.linkService=e.linkService,this.downloadManager=e.downloadManager,this.imageResourcesPath=e.imageResourcesPath,this.renderForms=e.renderForms,this.svgFactory=e.svgFactory,this.annotationStorage=e.annotationStorage,this.enableScripting=e.enableScripting,this.hasJSActions=e.hasJSActions,this._fieldObjects=e.fieldObjects,this.parent=e.parent,t&&(this.container=this._createContainer(i)),A&&this._createQuadrilaterals()}static _hasPopupData({titleObj:e,contentsObj:t,richText:i}){return!!(e?.str||t?.str||i?.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return wi._hasPopupData(this.data)}updateEdited(e){if(!this.container)return;this.#oA||={rect:this.data.rect.slice(0)};const{rect:t}=e;t&&this.#hA(t),this.#gA?.popup.updateEdited(e)}resetEdited(){this.#oA&&(this.#hA(this.#oA.rect),this.#gA?.popup.resetEdited(),this.#oA=null)}#hA(e){const{container:{style:t},data:{rect:i,rotation:A},parent:{viewport:{rawDims:{pageWidth:n,pageHeight:r,pageX:a,pageY:s}}}}=this;i?.splice(0,4,...e);const{width:o,height:c}=_i(e);t.left=100*(e[0]-a)/n+\\\"%\\\",t.top=100*(r-e[3]+s)/r+\\\"%\\\",0===A?(t.width=100*o/n+\\\"%\\\",t.height=100*c/r+\\\"%\\\"):this.setRotation(A)}_createContainer(e){const{data:t,parent:{page:i,viewport:A}}=this,n=document.createElement(\\\"section\\\");n.setAttribute(\\\"data-annotation-id\\\",t.id),this instanceof ki||(n.tabIndex=Ei);const{style:r}=n;if(r.zIndex=this.parent.zIndex++,t.popupRef&&n.setAttribute(\\\"aria-haspopup\\\",\\\"dialog\\\"),t.alternativeText&&(n.title=t.alternativeText),t.noRotate&&n.classList.add(\\\"norotate\\\"),!t.rect||this instanceof Fi){const{rotation:e}=t;return t.hasOwnCanvas||0===e||this.setRotation(e,n),n}const{width:a,height:s}=_i(t.rect);if(!e&&t.borderStyle.width>0){r.borderWidth=`${t.borderStyle.width}px`;const e=t.borderStyle.horizontalCornerRadius,i=t.borderStyle.verticalCornerRadius;if(e>0||i>0){const t=`calc(${e}px * var(--scale-factor)) / calc(${i}px * var(--scale-factor))`;r.borderRadius=t}else if(this instanceof Pi){const e=`calc(${a}px * var(--scale-factor)) / calc(${s}px * var(--scale-factor))`;r.borderRadius=e}switch(t.borderStyle.style){case 1:r.borderStyle=\\\"solid\\\";break;case 2:r.borderStyle=\\\"dashed\\\";break;case 3:Q(\\\"Unimplemented border style: beveled\\\");break;case 4:Q(\\\"Unimplemented border style: inset\\\");break;case 5:r.borderBottomStyle=\\\"solid\\\"}const A=t.borderColor||null;A?(this.#cA=!0,r.borderColor=L.makeHexColor(0|A[0],0|A[1],0|A[2])):r.borderWidth=0}const o=L.normalizeRect([t.rect[0],i.view[3]-t.rect[1]+i.view[1],t.rect[2],i.view[3]-t.rect[3]+i.view[1]]),{pageWidth:c,pageHeight:g,pageX:h,pageY:l}=A.rawDims;r.left=100*(o[0]-h)/c+\\\"%\\\",r.top=100*(o[1]-l)/g+\\\"%\\\";const{rotation:u}=t;return t.hasOwnCanvas||0===u?(r.width=100*a/c+\\\"%\\\",r.height=100*s/g+\\\"%\\\"):this.setRotation(u,n),n}setRotation(e,t=this.container){if(!this.data.rect)return;const{pageWidth:i,pageHeight:A}=this.parent.viewport.rawDims,{width:n,height:r}=_i(this.data.rect);let a,s;e%180==0?(a=100*n/i,s=100*r/A):(a=100*r/i,s=100*n/A),t.style.width=`${a}%`,t.style.height=`${s}%`,t.setAttribute(\\\"data-main-rotation\\\",(360-e)%360)}get _commonActions(){const e=(e,t,i)=>{const A=i.detail[e],n=A[0],r=A.slice(1);i.target.style[t]=Bi[`${n}_HTML`](r),this.annotationStorage.setValue(this.data.id,{[t]:Bi[`${n}_rgb`](r)})};return b(this,\\\"_commonActions\\\",{display:e=>{const{display:t}=e.detail,i=t%2==1;this.container.style.visibility=i?\\\"hidden\\\":\\\"visible\\\",this.annotationStorage.setValue(this.data.id,{noView:i,noPrint:1===t||2===t})},print:e=>{this.annotationStorage.setValue(this.data.id,{noPrint:!e.detail.print})},hidden:e=>{const{hidden:t}=e.detail;this.container.style.visibility=t?\\\"hidden\\\":\\\"visible\\\",this.annotationStorage.setValue(this.data.id,{noPrint:t,noView:t})},focus:e=>{setTimeout((()=>e.target.focus({preventScroll:!1})),0)},userName:e=>{e.target.title=e.detail.userName},readonly:e=>{e.target.disabled=e.detail.readonly},required:e=>{this._setRequired(e.target,e.detail.required)},bgColor:t=>{e(\\\"bgColor\\\",\\\"backgroundColor\\\",t)},fillColor:t=>{e(\\\"fillColor\\\",\\\"backgroundColor\\\",t)},fgColor:t=>{e(\\\"fgColor\\\",\\\"color\\\",t)},textColor:t=>{e(\\\"textColor\\\",\\\"color\\\",t)},borderColor:t=>{e(\\\"borderColor\\\",\\\"borderColor\\\",t)},strokeColor:t=>{e(\\\"strokeColor\\\",\\\"borderColor\\\",t)},rotation:e=>{const t=e.detail.rotation;this.setRotation(t),this.annotationStorage.setValue(this.data.id,{rotation:t})}})}_dispatchEventFromSandbox(e,t){const i=this._commonActions;for(const A of Object.keys(t.detail)){(e[A]||i[A])?.(t)}}_setDefaultPropertiesFromJS(e){if(!this.enableScripting)return;const t=this.annotationStorage.getRawValue(this.data.id);if(!t)return;const i=this._commonActions;for(const[A,n]of Object.entries(t)){const r=i[A];r&&(r({detail:{[A]:n},target:e}),delete t[A])}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:e}=this.data;if(!e)return;const[t,i,A,n]=this.data.rect.map((e=>Math.fround(e)));if(8===e.length){const[r,a,s,o]=e.subarray(2,6);if(A===r&&n===a&&t===s&&i===o)return}const{style:r}=this.container;let a;if(this.#cA){const{borderColor:e,borderWidth:t}=r;r.borderWidth=0,a=[\\\"url('data:image/svg+xml;utf8,\\\",'',``],this.container.classList.add(\\\"hasBorder\\\")}const s=A-t,o=n-i,{svgFactory:c}=this,g=c.createElement(\\\"svg\\\");g.classList.add(\\\"quadrilateralsContainer\\\"),g.setAttribute(\\\"width\\\",0),g.setAttribute(\\\"height\\\",0);const h=c.createElement(\\\"defs\\\");g.append(h);const l=c.createElement(\\\"clipPath\\\"),u=`clippath_${this.data.id}`;l.setAttribute(\\\"id\\\",u),l.setAttribute(\\\"clipPathUnits\\\",\\\"objectBoundingBox\\\"),h.append(l);for(let i=2,A=e.length;i`)}this.#cA&&(a.push(\\\"')\\\"),r.backgroundImage=a.join(\\\"\\\")),this.container.append(g),this.container.style.clipPath=`url(#${u})`}_createPopup(){const{container:e,data:t}=this;e.setAttribute(\\\"aria-haspopup\\\",\\\"dialog\\\");const i=this.#gA=new Fi({data:{color:t.color,titleObj:t.titleObj,modificationDate:t.modificationDate,contentsObj:t.contentsObj,richText:t.richText,parentRect:t.rect,borderStyle:0,id:`popup_${t.id}`,rotation:t.rotation},parent:this.parent,elements:[this]});this.parent.div.append(i.render())}render(){_(\\\"Abstract method `AnnotationElement.render` called\\\")}_getElementsByName(e,t=null){const i=[];if(this._fieldObjects){const A=this._fieldObjects[e];if(A)for(const{page:e,id:n,exportValues:r}of A){if(-1===e)continue;if(n===t)continue;const A=\\\"string\\\"==typeof r?r:null,a=document.querySelector(`[data-element-id=\\\"${n}\\\"]`);!a||Qi.has(a)?i.push({id:n,exportValue:A,domElement:a}):Q(`_getElementsByName - element not allowed: ${n}`)}return i}for(const A of document.getElementsByName(e)){const{exportValue:e}=A,n=A.getAttribute(\\\"data-element-id\\\");n!==t&&Qi.has(A)&&i.push({id:n,exportValue:e,domElement:A})}return i}show(){this.container&&(this.container.hidden=!1),this.popup?.maybeShow()}hide(){this.container&&(this.container.hidden=!0),this.popup?.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const e=this.getElementsToTriggerPopup();if(Array.isArray(e))for(const t of e)t.classList.add(\\\"highlightArea\\\");else e.classList.add(\\\"highlightArea\\\")}_editOnDoubleClick(){if(!this._isEditable)return;const{annotationEditorType:e,data:{id:t}}=this;this.container.addEventListener(\\\"dblclick\\\",(()=>{this.linkService.eventBus?.dispatch(\\\"switchannotationeditormode\\\",{source:this,mode:e,editId:t})}))}}class bi extends wi{constructor(e,t=null){super(e,{isRenderable:!0,ignoreBorder:!!t?.ignoreBorder,createQuadrilaterals:!0}),this.isTooltipOnly=e.data.isTooltipOnly}render(){const{data:e,linkService:t}=this,i=document.createElement(\\\"a\\\");i.setAttribute(\\\"data-element-id\\\",e.id);let A=!1;return e.url?(t.addLinkAttributes(i,e.url,e.newWindow),A=!0):e.action?(this._bindNamedAction(i,e.action),A=!0):e.attachment?(this.#lA(i,e.attachment,e.attachmentDest),A=!0):e.setOCGState?(this.#uA(i,e.setOCGState),A=!0):e.dest?(this._bindLink(i,e.dest),A=!0):(e.actions&&(e.actions.Action||e.actions[\\\"Mouse Up\\\"]||e.actions[\\\"Mouse Down\\\"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(i,e),A=!0),e.resetForm?(this._bindResetFormAction(i,e.resetForm),A=!0):this.isTooltipOnly&&!A&&(this._bindLink(i,\\\"\\\"),A=!0)),this.container.classList.add(\\\"linkAnnotation\\\"),A&&this.container.append(i),this.container}#dA(){this.container.setAttribute(\\\"data-internal-link\\\",\\\"\\\")}_bindLink(e,t){e.href=this.linkService.getDestinationHash(t),e.onclick=()=>(t&&this.linkService.goToDestination(t),!1),(t||\\\"\\\"===t)&&this.#dA()}_bindNamedAction(e,t){e.href=this.linkService.getAnchorUrl(\\\"\\\"),e.onclick=()=>(this.linkService.executeNamedAction(t),!1),this.#dA()}#lA(e,t,i=null){e.href=this.linkService.getAnchorUrl(\\\"\\\"),t.description&&(e.title=t.description),e.onclick=()=>(this.downloadManager?.openOrDownloadData(t.content,t.filename,i),!1),this.#dA()}#uA(e,t){e.href=this.linkService.getAnchorUrl(\\\"\\\"),e.onclick=()=>(this.linkService.executeSetOCGState(t),!1),this.#dA()}_bindJSAction(e,t){e.href=this.linkService.getAnchorUrl(\\\"\\\");const i=new Map([[\\\"Action\\\",\\\"onclick\\\"],[\\\"Mouse Up\\\",\\\"onmouseup\\\"],[\\\"Mouse Down\\\",\\\"onmousedown\\\"]]);for(const A of Object.keys(t.actions)){const n=i.get(A);n&&(e[n]=()=>(this.linkService.eventBus?.dispatch(\\\"dispatcheventinsandbox\\\",{source:this,detail:{id:t.id,name:A}}),!1))}e.onclick||(e.onclick=()=>!1),this.#dA()}_bindResetFormAction(e,t){const i=e.onclick;i||(e.href=this.linkService.getAnchorUrl(\\\"\\\")),this.#dA(),this._fieldObjects?e.onclick=()=>{i?.();const{fields:e,refs:A,include:n}=t,r=[];if(0!==e.length||0!==A.length){const t=new Set(A);for(const i of e){const e=this._fieldObjects[i]||[];for(const{id:i}of e)t.add(i)}for(const e of Object.values(this._fieldObjects))for(const i of e)t.has(i.id)===n&&r.push(i)}else for(const e of Object.values(this._fieldObjects))r.push(...e);const a=this.annotationStorage,s=[];for(const e of r){const{id:t}=e;switch(s.push(t),e.type){case\\\"text\\\":{const i=e.defaultValue||\\\"\\\";a.setValue(t,{value:i});break}case\\\"checkbox\\\":case\\\"radiobutton\\\":{const i=e.defaultValue===e.exportValues;a.setValue(t,{value:i});break}case\\\"combobox\\\":case\\\"listbox\\\":{const i=e.defaultValue||\\\"\\\";a.setValue(t,{value:i});break}default:continue}const i=document.querySelector(`[data-element-id=\\\"${t}\\\"]`);i&&(Qi.has(i)?i.dispatchEvent(new Event(\\\"resetform\\\")):Q(`_bindResetFormAction - element not allowed: ${t}`))}return this.enableScripting&&this.linkService.eventBus?.dispatch(\\\"dispatcheventinsandbox\\\",{source:this,detail:{id:\\\"app\\\",ids:s,name:\\\"ResetForm\\\"}}),!1}:(Q('_bindResetFormAction - \\\"resetForm\\\" action not supported, ensure that the `fieldObjects` parameter is provided.'),i||(e.onclick=()=>!1))}}class vi extends wi{constructor(e){super(e,{isRenderable:!0})}render(){this.container.classList.add(\\\"textAnnotation\\\");const e=document.createElement(\\\"img\\\");return e.src=this.imageResourcesPath+\\\"annotation-\\\"+this.data.name.toLowerCase()+\\\".svg\\\",e.setAttribute(\\\"data-l10n-id\\\",\\\"pdfjs-text-annotation-type\\\"),e.setAttribute(\\\"data-l10n-args\\\",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.append(e),this.container}}class ki extends wi{render(){return this.container}showElementAndHideCanvas(e){this.data.hasOwnCanvas&&(\\\"CANVAS\\\"===e.previousSibling?.nodeName&&(e.previousSibling.hidden=!0),e.hidden=!1)}_getKeyModifier(e){return U.platform.isMac?e.metaKey:e.ctrlKey}_setEventListener(e,t,i,A,n){i.includes(\\\"mouse\\\")?e.addEventListener(i,(e=>{this.linkService.eventBus?.dispatch(\\\"dispatcheventinsandbox\\\",{source:this,detail:{id:this.data.id,name:A,value:n(e),shift:e.shiftKey,modifier:this._getKeyModifier(e)}})})):e.addEventListener(i,(e=>{if(\\\"blur\\\"===i){if(!t.focused||!e.relatedTarget)return;t.focused=!1}else if(\\\"focus\\\"===i){if(t.focused)return;t.focused=!0}n&&this.linkService.eventBus?.dispatch(\\\"dispatcheventinsandbox\\\",{source:this,detail:{id:this.data.id,name:A,value:n(e)}})}))}_setEventListeners(e,t,i,A){for(const[n,r]of i)(\\\"Action\\\"===r||this.data.actions?.[r])&&(\\\"Focus\\\"!==r&&\\\"Blur\\\"!==r||(t||={focused:!1}),this._setEventListener(e,t,n,r,A),\\\"Focus\\\"!==r||this.data.actions?.Blur?\\\"Blur\\\"!==r||this.data.actions?.Focus||this._setEventListener(e,t,\\\"focus\\\",\\\"Focus\\\",null):this._setEventListener(e,t,\\\"blur\\\",\\\"Blur\\\",null))}_setBackgroundColor(e){const t=this.data.backgroundColor||null;e.style.backgroundColor=null===t?\\\"transparent\\\":L.makeHexColor(t[0],t[1],t[2])}_setTextStyle(e){const{fontColor:t}=this.data.defaultAppearanceData,i=this.data.defaultAppearanceData.fontSize||9,A=e.style;let n;const r=e=>Math.round(10*e)/10;if(this.data.multiLine){const e=Math.abs(this.data.rect[3]-this.data.rect[1]-2),t=e/(Math.round(e/(c*i))||1);n=Math.min(i,r(t/c))}else{const e=Math.abs(this.data.rect[3]-this.data.rect[1]-2);n=Math.min(i,r(e/c))}A.fontSize=`calc(${n}px * var(--scale-factor))`,A.color=L.makeHexColor(t[0],t[1],t[2]),null!==this.data.textAlignment&&(A.textAlign=[\\\"left\\\",\\\"center\\\",\\\"right\\\"][this.data.textAlignment])}_setRequired(e,t){t?e.setAttribute(\\\"required\\\",!0):e.removeAttribute(\\\"required\\\"),e.setAttribute(\\\"aria-required\\\",t)}}class xi extends ki{constructor(e){super(e,{isRenderable:e.renderForms||e.data.hasOwnCanvas||!e.data.hasAppearance&&!!e.data.fieldValue})}setPropertyOnSiblings(e,t,i,A){const n=this.annotationStorage;for(const r of this._getElementsByName(e.name,e.id))r.domElement&&(r.domElement[t]=i),n.setValue(r.id,{[A]:i})}render(){const e=this.annotationStorage,t=this.data.id;this.container.classList.add(\\\"textWidgetAnnotation\\\");let i=null;if(this.renderForms){const A=e.getValue(t,{value:this.data.fieldValue});let n=A.value||\\\"\\\";const r=e.getValue(t,{charLimit:this.data.maxLen}).charLimit;r&&n.length>r&&(n=n.slice(0,r));let a=A.formattedValue||this.data.textContent?.join(\\\"\\\\n\\\")||null;a&&this.data.comb&&(a=a.replaceAll(/\\\\s+/g,\\\"\\\"));const s={userValue:n,formattedValue:a,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(i=document.createElement(\\\"textarea\\\"),i.textContent=a??n,this.data.doNotScroll&&(i.style.overflowY=\\\"hidden\\\")):(i=document.createElement(\\\"input\\\"),i.type=\\\"text\\\",i.setAttribute(\\\"value\\\",a??n),this.data.doNotScroll&&(i.style.overflowX=\\\"hidden\\\")),this.data.hasOwnCanvas&&(i.hidden=!0),Qi.add(i),i.setAttribute(\\\"data-element-id\\\",t),i.disabled=this.data.readOnly,i.name=this.data.fieldName,i.tabIndex=Ei,this._setRequired(i,this.data.required),r&&(i.maxLength=r),i.addEventListener(\\\"input\\\",(A=>{e.setValue(t,{value:A.target.value}),this.setPropertyOnSiblings(i,\\\"value\\\",A.target.value,\\\"value\\\"),s.formattedValue=null})),i.addEventListener(\\\"resetform\\\",(e=>{const t=this.data.defaultFieldValue??\\\"\\\";i.value=s.userValue=t,s.formattedValue=null}));let o=e=>{const{formattedValue:t}=s;null!=t&&(e.target.value=t),e.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){i.addEventListener(\\\"focus\\\",(e=>{if(s.focused)return;const{target:t}=e;s.userValue&&(t.value=s.userValue),s.lastCommittedValue=t.value,s.commitKey=1,this.data.actions?.Focus||(s.focused=!0)})),i.addEventListener(\\\"updatefromsandbox\\\",(i=>{this.showElementAndHideCanvas(i.target);const A={value(i){s.userValue=i.detail.value??\\\"\\\",e.setValue(t,{value:s.userValue.toString()}),i.target.value=s.userValue},formattedValue(i){const{formattedValue:A}=i.detail;s.formattedValue=A,null!=A&&i.target!==document.activeElement&&(i.target.value=A),e.setValue(t,{formattedValue:A})},selRange(e){e.target.setSelectionRange(...e.detail.selRange)},charLimit:i=>{const{charLimit:A}=i.detail,{target:n}=i;if(0===A)return void n.removeAttribute(\\\"maxLength\\\");n.setAttribute(\\\"maxLength\\\",A);let r=s.userValue;!r||r.length<=A||(r=r.slice(0,A),n.value=s.userValue=r,e.setValue(t,{value:r}),this.linkService.eventBus?.dispatch(\\\"dispatcheventinsandbox\\\",{source:this,detail:{id:t,name:\\\"Keystroke\\\",value:r,willCommit:!0,commitKey:1,selStart:n.selectionStart,selEnd:n.selectionEnd}}))}};this._dispatchEventFromSandbox(A,i)})),i.addEventListener(\\\"keydown\\\",(e=>{s.commitKey=1;let i=-1;if(\\\"Escape\\\"===e.key?i=0:\\\"Enter\\\"!==e.key||this.data.multiLine?\\\"Tab\\\"===e.key&&(s.commitKey=3):i=2,-1===i)return;const{value:A}=e.target;s.lastCommittedValue!==A&&(s.lastCommittedValue=A,s.userValue=A,this.linkService.eventBus?.dispatch(\\\"dispatcheventinsandbox\\\",{source:this,detail:{id:t,name:\\\"Keystroke\\\",value:A,willCommit:!0,commitKey:i,selStart:e.target.selectionStart,selEnd:e.target.selectionEnd}}))}));const A=o;o=null,i.addEventListener(\\\"blur\\\",(e=>{if(!s.focused||!e.relatedTarget)return;this.data.actions?.Blur||(s.focused=!1);const{value:i}=e.target;s.userValue=i,s.lastCommittedValue!==i&&this.linkService.eventBus?.dispatch(\\\"dispatcheventinsandbox\\\",{source:this,detail:{id:t,name:\\\"Keystroke\\\",value:i,willCommit:!0,commitKey:s.commitKey,selStart:e.target.selectionStart,selEnd:e.target.selectionEnd}}),A(e)})),this.data.actions?.Keystroke&&i.addEventListener(\\\"beforeinput\\\",(e=>{s.lastCommittedValue=null;const{data:i,target:A}=e,{value:n,selectionStart:r,selectionEnd:a}=A;let o=r,c=a;switch(e.inputType){case\\\"deleteWordBackward\\\":{const e=n.substring(0,r).match(/\\\\w*[^\\\\w]*$/);e&&(o-=e[0].length);break}case\\\"deleteWordForward\\\":{const e=n.substring(r).match(/^[^\\\\w]*\\\\w*/);e&&(c+=e[0].length);break}case\\\"deleteContentBackward\\\":r===a&&(o-=1);break;case\\\"deleteContentForward\\\":r===a&&(c+=1)}e.preventDefault(),this.linkService.eventBus?.dispatch(\\\"dispatcheventinsandbox\\\",{source:this,detail:{id:t,name:\\\"Keystroke\\\",value:n,change:i||\\\"\\\",willCommit:!1,selStart:o,selEnd:c}})})),this._setEventListeners(i,s,[[\\\"focus\\\",\\\"Focus\\\"],[\\\"blur\\\",\\\"Blur\\\"],[\\\"mousedown\\\",\\\"Mouse Down\\\"],[\\\"mouseenter\\\",\\\"Mouse Enter\\\"],[\\\"mouseleave\\\",\\\"Mouse Exit\\\"],[\\\"mouseup\\\",\\\"Mouse Up\\\"]],(e=>e.target.value))}if(o&&i.addEventListener(\\\"blur\\\",o),this.data.comb){const e=(this.data.rect[2]-this.data.rect[0])/r;i.classList.add(\\\"comb\\\"),i.style.letterSpacing=`calc(${e}px * var(--scale-factor) - 1ch)`}}else i=document.createElement(\\\"div\\\"),i.textContent=this.data.fieldValue,i.style.verticalAlign=\\\"middle\\\",i.style.display=\\\"table-cell\\\",this.data.hasOwnCanvas&&(i.hidden=!0);return this._setTextStyle(i),this._setBackgroundColor(i),this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}}class Di extends ki{constructor(e){super(e,{isRenderable:!!e.data.hasOwnCanvas})}}class Si extends ki{constructor(e){super(e,{isRenderable:e.renderForms})}render(){const e=this.annotationStorage,t=this.data,i=t.id;let A=e.getValue(i,{value:t.exportValue===t.fieldValue}).value;\\\"string\\\"==typeof A&&(A=\\\"Off\\\"!==A,e.setValue(i,{value:A})),this.container.classList.add(\\\"buttonWidgetAnnotation\\\",\\\"checkBox\\\");const n=document.createElement(\\\"input\\\");return Qi.add(n),n.setAttribute(\\\"data-element-id\\\",i),n.disabled=t.readOnly,this._setRequired(n,this.data.required),n.type=\\\"checkbox\\\",n.name=t.fieldName,A&&n.setAttribute(\\\"checked\\\",!0),n.setAttribute(\\\"exportValue\\\",t.exportValue),n.tabIndex=Ei,n.addEventListener(\\\"change\\\",(A=>{const{name:n,checked:r}=A.target;for(const A of this._getElementsByName(n,i)){const i=r&&A.exportValue===t.exportValue;A.domElement&&(A.domElement.checked=i),e.setValue(A.id,{value:i})}e.setValue(i,{value:r})})),n.addEventListener(\\\"resetform\\\",(e=>{const i=t.defaultFieldValue||\\\"Off\\\";e.target.checked=i===t.exportValue})),this.enableScripting&&this.hasJSActions&&(n.addEventListener(\\\"updatefromsandbox\\\",(t=>{const A={value(t){t.target.checked=\\\"Off\\\"!==t.detail.value,e.setValue(i,{value:t.target.checked})}};this._dispatchEventFromSandbox(A,t)})),this._setEventListeners(n,null,[[\\\"change\\\",\\\"Validate\\\"],[\\\"change\\\",\\\"Action\\\"],[\\\"focus\\\",\\\"Focus\\\"],[\\\"blur\\\",\\\"Blur\\\"],[\\\"mousedown\\\",\\\"Mouse Down\\\"],[\\\"mouseenter\\\",\\\"Mouse Enter\\\"],[\\\"mouseleave\\\",\\\"Mouse Exit\\\"],[\\\"mouseup\\\",\\\"Mouse Up\\\"]],(e=>e.target.checked))),this._setBackgroundColor(n),this._setDefaultPropertiesFromJS(n),this.container.append(n),this.container}}class Pi extends ki{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add(\\\"buttonWidgetAnnotation\\\",\\\"radioButton\\\");const e=this.annotationStorage,t=this.data,i=t.id;let A=e.getValue(i,{value:t.fieldValue===t.buttonValue}).value;if(\\\"string\\\"==typeof A&&(A=A!==t.buttonValue,e.setValue(i,{value:A})),A)for(const A of this._getElementsByName(t.fieldName,i))e.setValue(A.id,{value:!1});const n=document.createElement(\\\"input\\\");if(Qi.add(n),n.setAttribute(\\\"data-element-id\\\",i),n.disabled=t.readOnly,this._setRequired(n,this.data.required),n.type=\\\"radio\\\",n.name=t.fieldName,A&&n.setAttribute(\\\"checked\\\",!0),n.tabIndex=Ei,n.addEventListener(\\\"change\\\",(t=>{const{name:A,checked:n}=t.target;for(const t of this._getElementsByName(A,i))e.setValue(t.id,{value:!1});e.setValue(i,{value:n})})),n.addEventListener(\\\"resetform\\\",(e=>{const i=t.defaultFieldValue;e.target.checked=null!=i&&i===t.buttonValue})),this.enableScripting&&this.hasJSActions){const A=t.buttonValue;n.addEventListener(\\\"updatefromsandbox\\\",(t=>{const n={value:t=>{const n=A===t.detail.value;for(const A of this._getElementsByName(t.target.name)){const t=n&&A.id===i;A.domElement&&(A.domElement.checked=t),e.setValue(A.id,{value:t})}}};this._dispatchEventFromSandbox(n,t)})),this._setEventListeners(n,null,[[\\\"change\\\",\\\"Validate\\\"],[\\\"change\\\",\\\"Action\\\"],[\\\"focus\\\",\\\"Focus\\\"],[\\\"blur\\\",\\\"Blur\\\"],[\\\"mousedown\\\",\\\"Mouse Down\\\"],[\\\"mouseenter\\\",\\\"Mouse Enter\\\"],[\\\"mouseleave\\\",\\\"Mouse Exit\\\"],[\\\"mouseup\\\",\\\"Mouse Up\\\"]],(e=>e.target.checked))}return this._setBackgroundColor(n),this._setDefaultPropertiesFromJS(n),this.container.append(n),this.container}}class Ri extends bi{constructor(e){super(e,{ignoreBorder:e.data.hasAppearance})}render(){const e=super.render();e.classList.add(\\\"buttonWidgetAnnotation\\\",\\\"pushButton\\\");const t=e.lastChild;return this.enableScripting&&this.hasJSActions&&t&&(this._setDefaultPropertiesFromJS(t),t.addEventListener(\\\"updatefromsandbox\\\",(e=>{this._dispatchEventFromSandbox({},e)}))),e}}class Mi extends ki{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add(\\\"choiceWidgetAnnotation\\\");const e=this.annotationStorage,t=this.data.id,i=e.getValue(t,{value:this.data.fieldValue}),A=document.createElement(\\\"select\\\");Qi.add(A),A.setAttribute(\\\"data-element-id\\\",t),A.disabled=this.data.readOnly,this._setRequired(A,this.data.required),A.name=this.data.fieldName,A.tabIndex=Ei;let n=this.data.combo&&this.data.options.length>0;this.data.combo||(A.size=this.data.options.length,this.data.multiSelect&&(A.multiple=!0)),A.addEventListener(\\\"resetform\\\",(e=>{const t=this.data.defaultFieldValue;for(const e of A.options)e.selected=e.value===t}));for(const e of this.data.options){const t=document.createElement(\\\"option\\\");t.textContent=e.displayValue,t.value=e.exportValue,i.value.includes(e.exportValue)&&(t.setAttribute(\\\"selected\\\",!0),n=!1),A.append(t)}let r=null;if(n){const e=document.createElement(\\\"option\\\");e.value=\\\" \\\",e.setAttribute(\\\"hidden\\\",!0),e.setAttribute(\\\"selected\\\",!0),A.prepend(e),r=()=>{e.remove(),A.removeEventListener(\\\"input\\\",r),r=null},A.addEventListener(\\\"input\\\",r)}const a=e=>{const t=e?\\\"value\\\":\\\"textContent\\\",{options:i,multiple:n}=A;return n?Array.prototype.filter.call(i,(e=>e.selected)).map((e=>e[t])):-1===i.selectedIndex?null:i[i.selectedIndex][t]};let s=a(!1);const o=e=>{const t=e.target.options;return Array.prototype.map.call(t,(e=>({displayValue:e.textContent,exportValue:e.value})))};return this.enableScripting&&this.hasJSActions?(A.addEventListener(\\\"updatefromsandbox\\\",(i=>{const n={value(i){r?.();const n=i.detail.value,o=new Set(Array.isArray(n)?n:[n]);for(const e of A.options)e.selected=o.has(e.value);e.setValue(t,{value:a(!0)}),s=a(!1)},multipleSelection(e){A.multiple=!0},remove(i){const n=A.options,r=i.detail.remove;n[r].selected=!1,A.remove(r),n.length>0&&-1===Array.prototype.findIndex.call(n,(e=>e.selected))&&(n[0].selected=!0),e.setValue(t,{value:a(!0),items:o(i)}),s=a(!1)},clear(i){for(;0!==A.length;)A.remove(0);e.setValue(t,{value:null,items:[]}),s=a(!1)},insert(i){const{index:n,displayValue:r,exportValue:c}=i.detail.insert,g=A.children[n],h=document.createElement(\\\"option\\\");h.textContent=r,h.value=c,g?g.before(h):A.append(h),e.setValue(t,{value:a(!0),items:o(i)}),s=a(!1)},items(i){const{items:n}=i.detail;for(;0!==A.length;)A.remove(0);for(const e of n){const{displayValue:t,exportValue:i}=e,n=document.createElement(\\\"option\\\");n.textContent=t,n.value=i,A.append(n)}A.options.length>0&&(A.options[0].selected=!0),e.setValue(t,{value:a(!0),items:o(i)}),s=a(!1)},indices(i){const A=new Set(i.detail.indices);for(const e of i.target.options)e.selected=A.has(e.index);e.setValue(t,{value:a(!0)}),s=a(!1)},editable(e){e.target.disabled=!e.detail.editable}};this._dispatchEventFromSandbox(n,i)})),A.addEventListener(\\\"input\\\",(i=>{const A=a(!0),n=a(!1);e.setValue(t,{value:A}),i.preventDefault(),this.linkService.eventBus?.dispatch(\\\"dispatcheventinsandbox\\\",{source:this,detail:{id:t,name:\\\"Keystroke\\\",value:s,change:n,changeEx:A,willCommit:!1,commitKey:1,keyDown:!1}})})),this._setEventListeners(A,null,[[\\\"focus\\\",\\\"Focus\\\"],[\\\"blur\\\",\\\"Blur\\\"],[\\\"mousedown\\\",\\\"Mouse Down\\\"],[\\\"mouseenter\\\",\\\"Mouse Enter\\\"],[\\\"mouseleave\\\",\\\"Mouse Exit\\\"],[\\\"mouseup\\\",\\\"Mouse Up\\\"],[\\\"input\\\",\\\"Action\\\"],[\\\"input\\\",\\\"Validate\\\"]],(e=>e.target.value))):A.addEventListener(\\\"input\\\",(function(i){e.setValue(t,{value:a(!0)})})),this.data.combo&&this._setTextStyle(A),this._setBackgroundColor(A),this._setDefaultPropertiesFromJS(A),this.container.append(A),this.container}}class Fi extends wi{constructor(e){const{data:t,elements:i}=e;super(e,{isRenderable:wi._hasPopupData(t)}),this.elements=i,this.popup=null}render(){this.container.classList.add(\\\"popupAnnotation\\\");const e=this.popup=new Ti({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open}),t=[];for(const i of this.elements)i.popup=e,t.push(i.data.id),i.addHighlightArea();return this.container.setAttribute(\\\"aria-controls\\\",t.map((e=>`${Y}${e}`)).join(\\\",\\\")),this.container}}class Ti{#IA=this.#CA.bind(this);#fA=this.#pA.bind(this);#BA=this.#mA.bind(this);#EA=this.#QA.bind(this);#_A=null;#fe=null;#yA=null;#wA=null;#bA=null;#vA=null;#kA=null;#xA=!1;#DA=null;#y=null;#SA=null;#PA=null;#RA=null;#oA=null;#MA=!1;constructor({container:e,color:t,elements:i,titleObj:A,modificationDate:n,contentsObj:r,richText:a,parent:s,rect:o,parentRect:c,open:g}){this.#fe=e,this.#RA=A,this.#yA=r,this.#PA=a,this.#vA=s,this.#_A=t,this.#SA=o,this.#kA=c,this.#bA=i,this.#wA=le.toDateObject(n),this.trigger=i.flatMap((e=>e.getElementsToTriggerPopup()));for(const e of this.trigger)e.addEventListener(\\\"click\\\",this.#EA),e.addEventListener(\\\"mouseenter\\\",this.#BA),e.addEventListener(\\\"mouseleave\\\",this.#fA),e.classList.add(\\\"popupTriggerArea\\\");for(const e of i)e.container?.addEventListener(\\\"keydown\\\",this.#IA);this.#fe.hidden=!0,g&&this.#QA()}render(){if(this.#DA)return;const e=this.#DA=document.createElement(\\\"div\\\");if(e.className=\\\"popup\\\",this.#_A){const t=e.style.outlineColor=L.makeHexColor(...this.#_A);if(CSS.supports(\\\"background-color\\\",\\\"color-mix(in srgb, red 30%, white)\\\"))e.style.backgroundColor=`color-mix(in srgb, ${t} 30%, white)`;else{const t=.7;e.style.backgroundColor=L.makeHexColor(...this.#_A.map((e=>Math.floor(t*(255-e)+e))))}}const t=document.createElement(\\\"span\\\");t.className=\\\"header\\\";const i=document.createElement(\\\"h1\\\");if(t.append(i),({dir:i.dir,str:i.textContent}=this.#RA),e.append(t),this.#wA){const e=document.createElement(\\\"span\\\");e.classList.add(\\\"popupDate\\\"),e.setAttribute(\\\"data-l10n-id\\\",\\\"pdfjs-annotation-date-string\\\"),e.setAttribute(\\\"data-l10n-args\\\",JSON.stringify({date:this.#wA.toLocaleDateString(),time:this.#wA.toLocaleTimeString()})),t.append(e)}const A=this.#FA;if(A)mi.render({xfaHtml:A,intent:\\\"richText\\\",div:e}),e.lastChild.classList.add(\\\"richText\\\",\\\"popupContent\\\");else{const t=this._formatContents(this.#yA);e.append(t)}this.#fe.append(e)}get#FA(){const e=this.#PA,t=this.#yA;return!e?.str||t?.str&&t.str!==e.str?null:this.#PA.html||null}get#TA(){return this.#FA?.attributes?.style?.fontSize||0}get#NA(){return this.#FA?.attributes?.style?.color||null}#UA(e){const t=[],i={str:e,html:{name:\\\"div\\\",attributes:{dir:\\\"auto\\\"},children:[{name:\\\"p\\\",children:t}]}},A={style:{color:this.#NA,fontSize:this.#TA?`calc(${this.#TA}px * var(--scale-factor))`:\\\"\\\"}};for(const i of e.split(\\\"\\\\n\\\"))t.push({name:\\\"span\\\",value:i,attributes:A});return i}_formatContents({str:e,dir:t}){const i=document.createElement(\\\"p\\\");i.classList.add(\\\"popupContent\\\"),i.dir=t;const A=e.split(/(?:\\\\r\\\\n?|\\\\n)/);for(let e=0,t=A.length;e{\\\"Enter\\\"===e.key&&(A?e.metaKey:e.ctrlKey)&&this.#qA()})),!t.popupRef&&this.hasPopupData?this._createPopup():i.classList.add(\\\"popupTriggerArea\\\"),e.append(i),e}getElementsToTriggerPopup(){return this.#OA}addHighlightArea(){this.container.classList.add(\\\"highlightArea\\\")}#qA(){this.downloadManager?.openOrDownloadData(this.content,this.filename)}}class Zi{#KA=null;#jA=null;#VA=new Map;constructor({div:e,accessibilityManager:t,annotationCanvasMap:i,annotationEditorUIManager:A,page:n,viewport:r}){this.div=e,this.#KA=t,this.#jA=i,this.page=n,this.viewport=r,this.zIndex=0,this._annotationEditorUIManager=A}hasEditableAnnotations(){return this.#VA.size>0}#zA(e,t){const i=e.firstChild||e;i.id=`${Y}${t}`,this.div.append(e),this.#KA?.moveElementInDOM(this.div,e,i,!1)}async render(e){const{annotations:t}=e,i=this.div;fe(i,this.viewport);const A=new Map,n={data:null,layer:i,linkService:e.linkService,downloadManager:e.downloadManager,imageResourcesPath:e.imageResourcesPath||\\\"\\\",renderForms:!1!==e.renderForms,svgFactory:new te,annotationStorage:e.annotationStorage||new Fe,enableScripting:!0===e.enableScripting,hasJSActions:e.hasJSActions,fieldObjects:e.fieldObjects,parent:this,elements:null};for(const e of t){if(e.noHTML)continue;const t=16===e.annotationType;if(t){const t=A.get(e.id);if(!t)continue;n.elements=t}else{const{width:t,height:i}=_i(e.rect);if(t<=0||i<=0)continue}n.data=e;const i=yi.create(n);if(!i.isRenderable)continue;if(!t&&e.popupRef){const t=A.get(e.popupRef);t?t.push(i):A.set(e.popupRef,[i])}const r=i.render();e.hidden&&(r.style.visibility=\\\"hidden\\\"),this.#zA(r,e.id),i._isEditable&&(this.#VA.set(i.data.id,i),this._annotationEditorUIManager?.renderAnnotationElement(i))}this.#ZA()}update({viewport:e}){const t=this.div;this.viewport=e,fe(t,{rotation:e.rotation}),this.#ZA(),t.hidden=!1}#ZA(){if(!this.#jA)return;const e=this.div;for(const[t,i]of this.#jA){const A=e.querySelector(`[data-annotation-id=\\\"${t}\\\"]`);if(!A)continue;i.className=\\\"annotationContent\\\";const{firstChild:n}=A;n?\\\"CANVAS\\\"===n.nodeName?n.replaceWith(i):n.classList.contains(\\\"annotationContent\\\")?n.after(i):n.before(i):A.append(i)}this.#jA.clear()}getEditableAnnotations(){return Array.from(this.#VA.values())}getEditableAnnotation(e){return this.#VA.get(e)}}const Xi=/\\\\r\\\\n?|\\\\n/g;class $i extends ke{#XA=this.editorDivBlur.bind(this);#$A=this.editorDivFocus.bind(this);#en=this.editorDivInput.bind(this);#tn=this.editorDivKeydown.bind(this);#in=this.editorDivPaste.bind(this);#_A;#An=\\\"\\\";#nn=`${this.id}-editor`;#TA;#rn=null;static _freeTextDefaultContent=\\\"\\\";static _internalPadding=0;static _defaultColor=null;static _defaultFontSize=10;static get _keyboardManager(){const e=$i.prototype,t=e=>e.isEmpty(),i=be.TRANSLATE_SMALL,A=be.TRANSLATE_BIG;return b(this,\\\"_keyboardManager\\\",new ye([[[\\\"ctrl+s\\\",\\\"mac+meta+s\\\",\\\"ctrl+p\\\",\\\"mac+meta+p\\\"],e.commitOrRemove,{bubbles:!0}],[[\\\"ctrl+Enter\\\",\\\"mac+meta+Enter\\\",\\\"Escape\\\",\\\"mac+Escape\\\"],e.commitOrRemove],[[\\\"ArrowLeft\\\",\\\"mac+ArrowLeft\\\"],e._translateEmpty,{args:[-i,0],checker:t}],[[\\\"ctrl+ArrowLeft\\\",\\\"mac+shift+ArrowLeft\\\"],e._translateEmpty,{args:[-A,0],checker:t}],[[\\\"ArrowRight\\\",\\\"mac+ArrowRight\\\"],e._translateEmpty,{args:[i,0],checker:t}],[[\\\"ctrl+ArrowRight\\\",\\\"mac+shift+ArrowRight\\\"],e._translateEmpty,{args:[A,0],checker:t}],[[\\\"ArrowUp\\\",\\\"mac+ArrowUp\\\"],e._translateEmpty,{args:[0,-i],checker:t}],[[\\\"ctrl+ArrowUp\\\",\\\"mac+shift+ArrowUp\\\"],e._translateEmpty,{args:[0,-A],checker:t}],[[\\\"ArrowDown\\\",\\\"mac+ArrowDown\\\"],e._translateEmpty,{args:[0,i],checker:t}],[[\\\"ctrl+ArrowDown\\\",\\\"mac+shift+ArrowDown\\\"],e._translateEmpty,{args:[0,A],checker:t}]]))}static _type=\\\"freetext\\\";static _editorType=h.FREETEXT;constructor(e){super({...e,name:\\\"freeTextEditor\\\"}),this.#_A=e.color||$i._defaultColor||ke._defaultLineColor,this.#TA=e.fontSize||$i._defaultFontSize}static initialize(e,t){ke.initialize(e,t,{strings:[\\\"pdfjs-free-text-default-content\\\"]});const i=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(i.getPropertyValue(\\\"--freetext-padding\\\"))}static updateDefaultParams(e,t){switch(e){case l.FREETEXT_SIZE:$i._defaultFontSize=t;break;case l.FREETEXT_COLOR:$i._defaultColor=t}}updateParams(e,t){switch(e){case l.FREETEXT_SIZE:this.#an(t);break;case l.FREETEXT_COLOR:this.#sn(t)}}static get defaultPropertiesToUpdate(){return[[l.FREETEXT_SIZE,$i._defaultFontSize],[l.FREETEXT_COLOR,$i._defaultColor||ke._defaultLineColor]]}get propertiesToUpdate(){return[[l.FREETEXT_SIZE,this.#TA],[l.FREETEXT_COLOR,this.#_A]]}#an(e){const t=e=>{this.editorDiv.style.fontSize=`calc(${e}px * var(--scale-factor))`,this.translate(0,-(e-this.#TA)*this.parentScale),this.#TA=e,this.#on()},i=this.#TA;this.addCommands({cmd:t.bind(this,e),undo:t.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:l.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}#sn(e){const t=e=>{this.#_A=this.editorDiv.style.color=e},i=this.#_A;this.addCommands({cmd:t.bind(this,e),undo:t.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:l.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}_translateEmpty(e,t){this._uiManager.translateSelectedEditors(e,t,!0)}getInitialTranslation(){const e=this.parentScale;return[-$i._internalPadding*e,-($i._internalPadding+this.#TA)*e]}rebuild(){this.parent&&(super.rebuild(),null!==this.div&&(this.isAttachedToDOM||this.parent.add(this)))}enableEditMode(){if(this.isInEditMode())return;this.parent.setEditingState(!1),this.parent.updateToolbar(h.FREETEXT),super.enableEditMode(),this.overlayDiv.classList.remove(\\\"enabled\\\"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute(\\\"aria-activedescendant\\\");const e=this._uiManager._signal;this.editorDiv.addEventListener(\\\"keydown\\\",this.#tn,{signal:e}),this.editorDiv.addEventListener(\\\"focus\\\",this.#$A,{signal:e}),this.editorDiv.addEventListener(\\\"blur\\\",this.#XA,{signal:e}),this.editorDiv.addEventListener(\\\"input\\\",this.#en,{signal:e}),this.editorDiv.addEventListener(\\\"paste\\\",this.#in,{signal:e})}disableEditMode(){this.isInEditMode()&&(this.parent.setEditingState(!0),super.disableEditMode(),this.overlayDiv.classList.add(\\\"enabled\\\"),this.editorDiv.contentEditable=!1,this.div.setAttribute(\\\"aria-activedescendant\\\",this.#nn),this._isDraggable=!0,this.editorDiv.removeEventListener(\\\"keydown\\\",this.#tn),this.editorDiv.removeEventListener(\\\"focus\\\",this.#$A),this.editorDiv.removeEventListener(\\\"blur\\\",this.#XA),this.editorDiv.removeEventListener(\\\"input\\\",this.#en),this.editorDiv.removeEventListener(\\\"paste\\\",this.#in),this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add(\\\"freetextEditing\\\"))}focusin(e){this._focusEventsAllowed&&(super.focusin(e),e.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(){this.width||(this.enableEditMode(),this.editorDiv.focus(),this._initialOptions?.isCentered&&this.center(),this._initialOptions=null)}isEmpty(){return!this.editorDiv||\\\"\\\"===this.editorDiv.innerText.trim()}remove(){this.isEditing=!1,this.parent&&(this.parent.setEditingState(!0),this.parent.div.classList.add(\\\"freetextEditing\\\")),super.remove()}#cn(){const e=[];this.editorDiv.normalize();for(const t of this.editorDiv.childNodes)e.push($i.#gn(t));return e.join(\\\"\\\\n\\\")}#on(){const[e,t]=this.parentDimensions;let i;if(this.isAttachedToDOM)i=this.div.getBoundingClientRect();else{const{currentLayer:e,div:t}=this,A=t.style.display,n=t.classList.contains(\\\"hidden\\\");t.classList.remove(\\\"hidden\\\"),t.style.display=\\\"hidden\\\",e.div.append(this.div),i=t.getBoundingClientRect(),t.remove(),t.style.display=A,t.classList.toggle(\\\"hidden\\\",n)}this.rotation%180==this.parentRotation%180?(this.width=i.width/e,this.height=i.height/t):(this.width=i.height/e,this.height=i.width/t),this.fixAndSetPosition()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();const e=this.#An,t=this.#An=this.#cn().trimEnd();if(e===t)return;const i=e=>{this.#An=e,e?(this.#hn(),this._uiManager.rebuild(this),this.#on()):this.remove()};this.addCommands({cmd:()=>{i(t)},undo:()=>{i(e)},mustExec:!1}),this.#on()}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}dblclick(e){this.enterInEditMode()}keydown(e){e.target===this.div&&\\\"Enter\\\"===e.key&&(this.enterInEditMode(),e.preventDefault())}editorDivKeydown(e){$i._keyboardManager.exec(this,e)}editorDivFocus(e){this.isEditing=!0}editorDivBlur(e){this.isEditing=!1}editorDivInput(e){this.parent.div.classList.toggle(\\\"freetextEditing\\\",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute(\\\"role\\\",\\\"comment\\\"),this.editorDiv.removeAttribute(\\\"aria-multiline\\\")}enableEditing(){this.editorDiv.setAttribute(\\\"role\\\",\\\"textbox\\\"),this.editorDiv.setAttribute(\\\"aria-multiline\\\",!0)}render(){if(this.div)return this.div;let e,t;this.width&&(e=this.x,t=this.y),super.render(),this.editorDiv=document.createElement(\\\"div\\\"),this.editorDiv.className=\\\"internal\\\",this.editorDiv.setAttribute(\\\"id\\\",this.#nn),this.editorDiv.setAttribute(\\\"data-l10n-id\\\",\\\"pdfjs-free-text\\\"),this.enableEditing(),ke._l10nPromise.get(\\\"pdfjs-free-text-default-content\\\").then((e=>this.editorDiv?.setAttribute(\\\"default-content\\\",e))),this.editorDiv.contentEditable=!0;const{style:i}=this.editorDiv;if(i.fontSize=`calc(${this.#TA}px * var(--scale-factor))`,i.color=this.#_A,this.div.append(this.editorDiv),this.overlayDiv=document.createElement(\\\"div\\\"),this.overlayDiv.classList.add(\\\"overlay\\\",\\\"enabled\\\"),this.div.append(this.overlayDiv),me(this,this.div,[\\\"dblclick\\\",\\\"keydown\\\"]),this.width){const[i,A]=this.parentDimensions;if(this.annotationElementId){const{position:n}=this.#rn;let[r,a]=this.getInitialTranslation();[r,a]=this.pageTranslationToScreen(r,a);const[s,o]=this.pageDimensions,[c,g]=this.pageTranslation;let h,l;switch(this.rotation){case 0:h=e+(n[0]-c)/s,l=t+this.height-(n[1]-g)/o;break;case 90:h=e+(n[0]-c)/s,l=t-(n[1]-g)/o,[r,a]=[a,-r];break;case 180:h=e-this.width+(n[0]-c)/s,l=t-(n[1]-g)/o,[r,a]=[-r,-a];break;case 270:h=e+(n[0]-c-this.height*o)/s,l=t+(n[1]-g-this.width*s)/o,[r,a]=[-a,r]}this.setAt(h*i,l*A,r,a)}else this.setAt(e*i,t*A,this.width*i,this.height*A);this.#hn(),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}static#gn(e){return(e.nodeType===Node.TEXT_NODE?e.nodeValue:e.innerText).replaceAll(Xi,\\\"\\\")}editorDivPaste(e){const t=e.clipboardData||window.clipboardData,{types:i}=t;if(1===i.length&&\\\"text/plain\\\"===i[0])return;e.preventDefault();const A=$i.#ln(t.getData(\\\"text\\\")||\\\"\\\").replaceAll(Xi,\\\"\\\\n\\\");if(!A)return;const n=window.getSelection();if(!n.rangeCount)return;this.editorDiv.normalize(),n.deleteFromDocument();const r=n.getRangeAt(0);if(!A.includes(\\\"\\\\n\\\"))return r.insertNode(document.createTextNode(A)),this.editorDiv.normalize(),void n.collapseToStart();const{startContainer:a,startOffset:s}=r,o=[],c=[];if(a.nodeType===Node.TEXT_NODE){const e=a.parentElement;if(c.push(a.nodeValue.slice(s).replaceAll(Xi,\\\"\\\")),e!==this.editorDiv){let t=o;for(const i of this.editorDiv.childNodes)i!==e?t.push($i.#gn(i)):t=c}o.push(a.nodeValue.slice(0,s).replaceAll(Xi,\\\"\\\"))}else if(a===this.editorDiv){let e=o,t=0;for(const i of this.editorDiv.childNodes)t++===s&&(e=c),e.push($i.#gn(i))}this.#An=`${o.join(\\\"\\\\n\\\")}${A}${c.join(\\\"\\\\n\\\")}`,this.#hn();const g=new Range;let h=o.reduce(((e,t)=>e+t.length),0);for(const{firstChild:e}of this.editorDiv.childNodes)if(e.nodeType===Node.TEXT_NODE){const t=e.nodeValue.length;if(h<=t){g.setStart(e,h),g.setEnd(e,h);break}h-=t}n.removeAllRanges(),n.addRange(g)}#hn(){if(this.editorDiv.replaceChildren(),this.#An)for(const e of this.#An.split(\\\"\\\\n\\\")){const t=document.createElement(\\\"div\\\");t.append(e?document.createTextNode(e):document.createElement(\\\"br\\\")),this.editorDiv.append(t)}}#un(){return this.#An.replaceAll(\\\" \\\",\\\" \\\")}static#ln(e){return e.replaceAll(\\\" \\\",\\\" \\\")}get contentDiv(){return this.editorDiv}static deserialize(e,t,i){let A=null;if(e instanceof Ni){const{data:{defaultAppearanceData:{fontSize:t,fontColor:i},rect:n,rotation:r,id:a},textContent:s,textPosition:o,parent:{page:{pageNumber:c}}}=e;if(!s||0===s.length)return null;A=e={annotationType:h.FREETEXT,color:Array.from(i),fontSize:t,value:s.join(\\\"\\\\n\\\"),position:o,pageIndex:c-1,rect:n.slice(0),rotation:r,id:a,deleted:!1}}const n=super.deserialize(e,t,i);return n.#TA=e.fontSize,n.#_A=L.makeHexColor(...e.color),n.#An=$i.#ln(e.value),n.annotationElementId=e.id||null,n.#rn=A,n}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return{pageIndex:this.pageIndex,id:this.annotationElementId,deleted:!0};const t=$i._internalPadding*this.parentScale,i=this.getRect(t,t),A=ke._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:this.#_A),n={annotationType:h.FREETEXT,color:A,fontSize:this.#TA,value:this.#un(),pageIndex:this.pageIndex,rect:i,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return e?n:this.annotationElementId&&!this.#dn(n)?null:(n.id=this.annotationElementId,n)}#dn(e){const{value:t,fontSize:i,color:A,pageIndex:n}=this.#rn;return this._hasBeenMoved||e.value!==t||e.fontSize!==i||e.color.some(((e,t)=>e!==A[t]))||e.pageIndex!==n}renderAnnotationElement(e){const t=super.renderAnnotationElement(e);if(this.deleted)return t;const{style:i}=t;i.fontSize=`calc(${this.#TA}px * var(--scale-factor))`,i.color=this.#_A,t.replaceChildren();for(const e of this.#An.split(\\\"\\\\n\\\")){const i=document.createElement(\\\"div\\\");i.append(e?document.createTextNode(e):document.createElement(\\\"br\\\")),t.append(i)}const A=$i._internalPadding*this.parentScale;return e.updateEdited({rect:this.getRect(A,A),popupContent:this.#An}),t}resetAnnotationElement(e){super.resetAnnotationElement(e),e.resetEdited()}}class eA{#In;#Cn=[];#fn=[];constructor(e,t=0,i=0,A=!0){let n=1/0,r=-1/0,a=1/0,s=-1/0;const o=1e-4;for(const{x:i,y:A,width:c,height:g}of e){const e=Math.floor((i-t)/o)*o,h=Math.ceil((i+c+t)/o)*o,l=Math.floor((A-t)/o)*o,u=Math.ceil((A+g+t)/o)*o,d=[e,l,u,!0],I=[h,l,u,!1];this.#Cn.push(d,I),n=Math.min(n,e),r=Math.max(r,h),a=Math.min(a,l),s=Math.max(s,u)}const c=r-n+2*i,g=s-a+2*i,h=n-i,l=a-i,u=this.#Cn.at(A?-1:-2),d=[u[0],u[2]];for(const e of this.#Cn){const[t,i,A]=e;e[0]=(t-h)/c,e[1]=(i-l)/g,e[2]=(A-l)/g}this.#In={x:h,y:l,width:c,height:g,lastPoint:d}}getOutlines(){this.#Cn.sort(((e,t)=>e[0]-t[0]||e[1]-t[1]||e[2]-t[2]));const e=[];for(const t of this.#Cn)t[3]?(e.push(...this.#pn(t)),this.#Bn(t)):(this.#mn(t),e.push(...this.#pn(t)));return this.#En(e)}#En(e){const t=[],i=new Set;for(const i of e){const[e,A,n]=i;t.push([e,A,i],[e,n,i])}t.sort(((e,t)=>e[1]-t[1]||e[0]-t[0]));for(let e=0,A=t.length;e0;){const e=i.values().next().value;let[t,r,a,s,o]=e;i.delete(e);let c=t,g=r;for(n=[t,a],A.push(n);;){let e;if(i.has(s))e=s;else{if(!i.has(o))break;e=o}i.delete(e),[t,r,a,s,o]=e,c!==t&&(n.push(c,g,t,g===r?r:a),c=t),g=g===r?a:r}n.push(c,g)}return new iA(A,this.#In)}#Qn(e){const t=this.#fn;let i=0,A=t.length-1;for(;i<=A;){const n=i+A>>1,r=t[n][0];if(r===e)return n;r=0;A--){const[i,n]=this.#fn[A];if(i!==e)break;if(i===e&&n===t)return void this.#fn.splice(A,1)}}#pn(e){const[t,i,A]=e,n=[[t,i,A]],r=this.#Qn(A);for(let e=0;e=i)if(s>A)n[e][1]=A;else{if(1===r)return[];n.splice(e,1),e--,r--}else n[e][2]=i,s>A&&n.push([t,A,s])}}return n}}class tA{toSVGPath(){throw new Error(\\\"Abstract method `toSVGPath` must be implemented.\\\")}get box(){throw new Error(\\\"Abstract getter `box` must be implemented.\\\")}serialize(e,t){throw new Error(\\\"Abstract method `serialize` must be implemented.\\\")}get free(){return this instanceof nA}}class iA extends tA{#In;#_n;constructor(e,t){super(),this.#_n=e,this.#In=t}toSVGPath(){const e=[];for(const t of this.#_n){let[i,A]=t;e.push(`M${i} ${A}`);for(let n=2;n=6;e-=6)isNaN(t[e])?l.push(`L${t[e+4]} ${t[e+5]}`):l.push(`C${t[e]} ${t[e+1]} ${t[e+2]} ${t[e+3]} ${t[e+4]} ${t[e+5]}`);return l.push(`L${t[4]} ${t[5]} Z`),l.join(\\\" \\\")}getOutlines(){const e=this.#vn,t=this.#yn,i=this.#kn,A=i.subarray(4,6),n=i.subarray(16,18),[r,a,s,o]=this.#In,c=new Float64Array((this.#Fn?.length??0)+2);for(let e=0,t=c.length-2;e=6;e-=6)for(let i=0;i<6;i+=2)isNaN(t[e+i])?(d[I]=d[I+1]=NaN,I+=2):(d[I]=t[e+i],d[I+1]=t[e+i+1],I+=2);return d.set([NaN,NaN,NaN,NaN,t[4],t[5]],I),new nA(d,c,this.#In,this.#Rn,this.#wn,this.#bn)}}class nA extends tA{#In;#Ln=null;#wn;#bn;#Fn;#Rn;#Hn;constructor(e,t,i,A,n,r){super(),this.#Hn=e,this.#Fn=t,this.#In=i,this.#Rn=A,this.#wn=n,this.#bn=r,this.#Wn(r);const{x:a,y:s,width:o,height:c}=this.#Ln;for(let t=0,i=e.length;t-1?(this.#ur=!0,this.#mr(e),this.#Er()):(this.#nr=e.anchorNode,this.#rr=e.anchorOffset,this.#cr=e.focusNode,this.#gr=e.focusOffset,this.#Qr(),this.#Er(),this.rotate(this.rotation))}get telemetryInitialData(){return{action:\\\"added\\\",type:this.#ur?\\\"free_highlight\\\":\\\"highlight\\\",color:this._uiManager.highlightColorNames.get(this.color),thickness:this.#Mn,methodOfCreation:this.#Br}}get telemetryFinalData(){return{type:\\\"highlight\\\",color:this._uiManager.highlightColorNames.get(this.color)}}static computeTelemetryFinalData(e){return{numberOfColors:e.get(\\\"color\\\").size}}#Qr(){const e=new eA(this.#ar,.001);this.#lr=e.getOutlines(),({x:this.x,y:this.y,width:this.width,height:this.height}=this.#lr.box);const t=new eA(this.#ar,.0025,.001,\\\"ltr\\\"===this._uiManager.direction);this.#or=t.getOutlines();const{lastPoint:i}=this.#or.box;this.#Ir=[(i[0]-this.x)/this.width,(i[1]-this.y)/this.height]}#mr({highlightOutlines:e,highlightId:t,clipPathId:i}){if(this.#lr=e,this.#or=e.getNewOutline(this.#Mn/2+1.5,.0025),t>=0)this.#f=t,this.#sr=i,this.parent.drawLayer.finalizeLine(t,e),this.#fr=this.parent.drawLayer.highlightOutline(this.#or);else if(this.parent){const t=this.parent.viewport.rotation;this.parent.drawLayer.updateLine(this.#f,e),this.parent.drawLayer.updateBox(this.#f,aA.#_r(this.#lr.box,(t-this.rotation+360)%360)),this.parent.drawLayer.updateLine(this.#fr,this.#or),this.parent.drawLayer.updateBox(this.#fr,aA.#_r(this.#or.box,t))}const{x:A,y:n,width:r,height:a}=e.box;switch(this.rotation){case 0:this.x=A,this.y=n,this.width=r,this.height=a;break;case 90:{const[e,t]=this.parentDimensions;this.x=n,this.y=1-A,this.width=r*t/e,this.height=a*e/t;break}case 180:this.x=1-A,this.y=1-n,this.width=r,this.height=a;break;case 270:{const[e,t]=this.parentDimensions;this.x=1-n,this.y=A,this.width=r*t/e,this.height=a*e/t;break}}const{lastPoint:s}=this.#or.box;this.#Ir=[(s[0]-A)/r,(s[1]-n)/a]}static initialize(e,t){ke.initialize(e,t),aA._defaultColor||=t.highlightColors?.values().next().value||\\\"#fff066\\\"}static updateDefaultParams(e,t){switch(e){case l.HIGHLIGHT_DEFAULT_COLOR:aA._defaultColor=t;break;case l.HIGHLIGHT_THICKNESS:aA._defaultThickness=t}}translateInPage(e,t){}get toolbarPosition(){return this.#Ir}updateParams(e,t){switch(e){case l.HIGHLIGHT_COLOR:this.#sn(t);break;case l.HIGHLIGHT_THICKNESS:this.#yr(t)}}static get defaultPropertiesToUpdate(){return[[l.HIGHLIGHT_DEFAULT_COLOR,aA._defaultColor],[l.HIGHLIGHT_THICKNESS,aA._defaultThickness]]}get propertiesToUpdate(){return[[l.HIGHLIGHT_COLOR,this.color||aA._defaultColor],[l.HIGHLIGHT_THICKNESS,this.#Mn||aA._defaultThickness],[l.HIGHLIGHT_FREE,this.#ur]]}#sn(e){const t=e=>{this.color=e,this.parent?.drawLayer.changeColor(this.#f,e),this.#n?.updateColor(e)},i=this.color;this.addCommands({cmd:t.bind(this,e),undo:t.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:l.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:\\\"color_changed\\\",color:this._uiManager.highlightColorNames.get(e)},!0)}#yr(e){const t=this.#Mn,i=e=>{this.#Mn=e,this.#wr(e)};this.addCommands({cmd:i.bind(this,e),undo:i.bind(this,t),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:l.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:\\\"thickness_changed\\\",thickness:e},!0)}async addEditToolbar(){const e=await super.addEditToolbar();return e?(this._uiManager.highlightColors&&(this.#n=new rA({editor:this}),e.addColorPicker(this.#n)),e):null}disableEditing(){super.disableEditing(),this.div.classList.toggle(\\\"disabled\\\",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle(\\\"disabled\\\",!1)}fixAndSetPosition(){return super.fixAndSetPosition(this.#br())}getBaseTranslation(){return[0,0]}getRect(e,t){return super.getRect(e,t,this.#br())}onceAdded(){this.parent.addUndoableEditor(this),this.div.focus()}remove(){this.#vr(),this._reportTelemetry({action:\\\"deleted\\\"}),super.remove()}rebuild(){this.parent&&(super.rebuild(),null!==this.div&&(this.#Er(),this.isAttachedToDOM||this.parent.add(this)))}setParent(e){let t=!1;this.parent&&!e?this.#vr():e&&(this.#Er(e),t=!this.parent&&this.div?.classList.contains(\\\"selectedEditor\\\")),super.setParent(e),this.show(this._isVisible),t&&this.select()}#wr(e){if(!this.#ur)return;this.#mr({highlightOutlines:this.#lr.getNewOutline(e/2)}),this.fixAndSetPosition();const[t,i]=this.parentDimensions;this.setDims(this.width*t,this.height*i)}#vr(){null!==this.#f&&this.parent&&(this.parent.drawLayer.remove(this.#f),this.#f=null,this.parent.drawLayer.remove(this.#fr),this.#fr=null)}#Er(e=this.parent){null===this.#f&&(({id:this.#f,clipPathId:this.#sr}=e.drawLayer.highlight(this.#lr,this.color,this.#Cr)),this.#fr=e.drawLayer.highlightOutline(this.#or),this.#hr&&(this.#hr.style.clipPath=this.#sr))}static#_r({x:e,y:t,width:i,height:A},n){switch(n){case 90:return{x:1-t-A,y:e,width:A,height:i};case 180:return{x:1-e-i,y:1-t-A,width:i,height:A};case 270:return{x:t,y:1-e-i,width:A,height:i}}return{x:e,y:t,width:i,height:A}}rotate(e){const{drawLayer:t}=this.parent;let i;this.#ur?(e=(e-this.rotation+360)%360,i=aA.#_r(this.#lr.box,e)):i=aA.#_r(this,e),t.rotate(this.#f,e),t.rotate(this.#fr,e),t.updateBox(this.#f,i),t.updateBox(this.#fr,aA.#_r(this.#or.box,e))}render(){if(this.div)return this.div;const e=super.render();this.#pr&&(e.setAttribute(\\\"aria-label\\\",this.#pr),e.setAttribute(\\\"role\\\",\\\"mark\\\")),this.#ur?e.classList.add(\\\"free\\\"):this.div.addEventListener(\\\"keydown\\\",this.#oe,{signal:this._uiManager._signal});const t=this.#hr=document.createElement(\\\"div\\\");e.append(t),t.setAttribute(\\\"aria-hidden\\\",\\\"true\\\"),t.className=\\\"internal\\\",t.style.clipPath=this.#sr;const[i,A]=this.parentDimensions;return this.setDims(this.width*i,this.height*A),me(this,this.#hr,[\\\"pointerover\\\",\\\"pointerleave\\\"]),this.enableEditing(),e}pointerover(){this.parent.drawLayer.addClass(this.#fr,\\\"hovered\\\")}pointerleave(){this.parent.drawLayer.removeClass(this.#fr,\\\"hovered\\\")}#dr(e){aA._keyboardManager.exec(this,e)}_moveCaret(e){switch(this.parent.unselect(this),e){case 0:case 2:this.#kr(!0);break;case 1:case 3:this.#kr(!1)}}#kr(e){if(!this.#nr)return;const t=window.getSelection();e?t.setPosition(this.#nr,this.#rr):t.setPosition(this.#cr,this.#gr)}select(){super.select(),this.#fr&&(this.parent?.drawLayer.removeClass(this.#fr,\\\"hovered\\\"),this.parent?.drawLayer.addClass(this.#fr,\\\"selected\\\"))}unselect(){super.unselect(),this.#fr&&(this.parent?.drawLayer.removeClass(this.#fr,\\\"selected\\\"),this.#ur||this.#kr(!1))}get _mustFixPosition(){return!this.#ur}show(e=this._isVisible){super.show(e),this.parent&&(this.parent.drawLayer.show(this.#f,e),this.parent.drawLayer.show(this.#fr,e))}#br(){return this.#ur?this.rotation:0}#xr(){if(this.#ur)return null;const[e,t]=this.pageDimensions,[i,A]=this.pageTranslation,n=this.#ar,r=new Float32Array(8*n.length);let a=0;for(const{x:s,y:o,width:c,height:g}of n){const n=s*e+i,h=(1-o-g)*t+A;r[a]=r[a+4]=n,r[a+1]=r[a+3]=h,r[a+2]=r[a+6]=n+c*e,r[a+5]=r[a+7]=h+g*t,a+=8}return r}#Dr(e){return this.#lr.serialize(e,this.#br())}static startHighlighting(e,t,{target:i,x:A,y:n}){const{x:r,y:a,width:s,height:o}=i.getBoundingClientRect(),c=t=>{this.#Sr(e,t)},g=e._signal,h={capture:!0,passive:!1,signal:g},l=e=>{e.preventDefault(),e.stopPropagation()},u=t=>{i.removeEventListener(\\\"pointermove\\\",c),window.removeEventListener(\\\"blur\\\",u),window.removeEventListener(\\\"pointerup\\\",u),window.removeEventListener(\\\"pointerdown\\\",l,h),window.removeEventListener(\\\"contextmenu\\\",ge),this.#Pr(e,t)};window.addEventListener(\\\"blur\\\",u,{signal:g}),window.addEventListener(\\\"pointerup\\\",u,{signal:g}),window.addEventListener(\\\"pointerdown\\\",l,h),window.addEventListener(\\\"contextmenu\\\",ge,{signal:g}),i.addEventListener(\\\"pointermove\\\",c,{signal:g}),this._freeHighlight=new AA({x:A,y:n},[r,a,s,o],e.scale,this._defaultThickness/2,t,.001),({id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=e.drawLayer.highlight(this._freeHighlight,this._defaultColor,this._defaultOpacity,!0))}static#Sr(e,t){this._freeHighlight.add(t)&&e.drawLayer.updatePath(this._freeHighlightId,this._freeHighlight)}static#Pr(e,t){this._freeHighlight.isEmpty()?e.drawLayer.removeFreeHighlight(this._freeHighlightId):e.createAndAddNewEditor(t,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:\\\"main_toolbar\\\"}),this._freeHighlightId=-1,this._freeHighlight=null,this._freeHighlightClipId=\\\"\\\"}static deserialize(e,t,i){const A=super.deserialize(e,t,i),{rect:[n,r,a,s],color:o,quadPoints:c}=e;A.color=L.makeHexColor(...o),A.#Cr=e.opacity;const[g,h]=A.pageDimensions;A.width=(a-n)/g,A.height=(s-r)/h;const l=A.#ar=[];for(let e=0;e{this.thickness=e,this.#Vr()},i=this.thickness;this.addCommands({cmd:t.bind(this,e),undo:t.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:l.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})}#sn(e){const t=e=>{this.color=e,this.#zr()},i=this.color;this.addCommands({cmd:t.bind(this,e),undo:t.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:l.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})}#jr(e){const t=e=>{this.opacity=e,this.#zr()};e/=100;const i=this.opacity;this.addCommands({cmd:t.bind(this,e),undo:t.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:l.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})}rebuild(){this.parent&&(super.rebuild(),null!==this.div&&(this.canvas||(this.#Zr(),this.#Xr()),this.isAttachedToDOM||(this.parent.add(this),this.#$r()),this.#Vr()))}remove(){null!==this.canvas&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,this.#Gr&&(clearTimeout(this.#Gr),this.#Gr=null),this.#Yr?.disconnect(),this.#Yr=null,super.remove())}setParent(e){!this.parent&&e?this._uiManager.removeShouldRescale(this):this.parent&&null===e&&this._uiManager.addShouldRescale(this),super.setParent(e)}onScaleChanging(){const[e,t]=this.parentDimensions,i=this.width*e,A=this.height*t;this.setDimensions(i,A)}enableEditMode(){this.#Hr||null===this.canvas||(super.enableEditMode(),this._isDraggable=!1,this.canvas.addEventListener(\\\"pointerdown\\\",this.#Ur,{signal:this._uiManager._signal}))}disableEditMode(){this.isInEditMode()&&null!==this.canvas&&(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove(\\\"editing\\\"),this.canvas.removeEventListener(\\\"pointerdown\\\",this.#Ur))}onceAdded(){this._isDraggable=!this.isEmpty()}isEmpty(){return 0===this.paths.length||1===this.paths.length&&0===this.paths[0].length}#ea(){const{parentRotation:e,parentDimensions:[t,i]}=this;switch(e){case 90:return[0,i,i,t];case 180:return[t,i,t,i];case 270:return[t,0,i,t];default:return[0,0,t,i]}}#ta(){const{ctx:e,color:t,opacity:i,thickness:A,parentScale:n,scaleFactor:r}=this;e.lineWidth=A*n/r,e.lineCap=\\\"round\\\",e.lineJoin=\\\"round\\\",e.miterLimit=10,e.strokeStyle=`${t}${function(e){return Math.round(Math.min(255,Math.max(1,255*e))).toString(16).padStart(2,\\\"0\\\")}(i)}`}#ia(e,t){const i=this._uiManager._signal;this.canvas.addEventListener(\\\"contextmenu\\\",ge,{signal:i}),this.canvas.addEventListener(\\\"pointerleave\\\",this.#Tr,{signal:i}),this.canvas.addEventListener(\\\"pointermove\\\",this.#Fr,{signal:i}),this.canvas.addEventListener(\\\"pointerup\\\",this.#Nr,{signal:i}),this.canvas.removeEventListener(\\\"pointerdown\\\",this.#Ur),this.isEditing=!0,this.#Jr||(this.#Jr=!0,this.#$r(),this.thickness||=sA._defaultThickness,this.color||=sA._defaultColor||ke._defaultLineColor,this.opacity??=sA._defaultOpacity),this.currentPath.push([e,t]),this.#Wr=!1,this.#ta(),this.#Kr=()=>{this.#Aa(),this.#Kr&&window.requestAnimationFrame(this.#Kr)},window.requestAnimationFrame(this.#Kr)}#na(e,t){const[i,A]=this.currentPath.at(-1);if(this.currentPath.length>1&&e===i&&t===A)return;const n=this.currentPath;let r=this.#Lr;n.push([e,t]),this.#Wr=!0,n.length<=2?(r.moveTo(...n[0]),r.lineTo(e,t)):(3===n.length&&(this.#Lr=r=new Path2D,r.moveTo(...n[0])),this.#ra(r,...n.at(-3),...n.at(-2),e,t))}#aa(){if(0===this.currentPath.length)return;const e=this.currentPath.at(-1);this.#Lr.lineTo(...e)}#sa(e,t){let i;if(this.#Kr=null,e=Math.min(Math.max(e,0),this.canvas.width),t=Math.min(Math.max(t,0),this.canvas.height),this.#na(e,t),this.#aa(),1!==this.currentPath.length)i=this.#oa();else{const A=[e,t];i=[[A,A.slice(),A.slice(),A]]}const A=this.#Lr,n=this.currentPath;this.currentPath=[],this.#Lr=new Path2D,this.addCommands({cmd:()=>{this.allRawPaths.push(n),this.paths.push(i),this.bezierPath2D.push(A),this._uiManager.rebuild(this)},undo:()=>{this.allRawPaths.pop(),this.paths.pop(),this.bezierPath2D.pop(),0===this.paths.length?this.remove():(this.canvas||(this.#Zr(),this.#Xr()),this.#Vr())},mustExec:!0})}#Aa(){if(!this.#Wr)return;this.#Wr=!1;Math.ceil(this.thickness*this.parentScale);const e=this.currentPath.slice(-3),t=e.map((e=>e[0])),i=e.map((e=>e[1])),{ctx:A}=(Math.min(...t),Math.max(...t),Math.min(...i),Math.max(...i),this);A.save(),A.clearRect(0,0,this.canvas.width,this.canvas.height);for(const e of this.bezierPath2D)A.stroke(e);A.stroke(this.#Lr),A.restore()}#ra(e,t,i,A,n,r,a){const s=(t+A)/2,o=(i+n)/2,c=(A+r)/2,g=(n+a)/2;e.bezierCurveTo(s+2*(A-s)/3,o+2*(n-o)/3,c+2*(A-c)/3,g+2*(n-g)/3,c,g)}#oa(){const e=this.currentPath;if(e.length<=2)return[[e[0],e[0],e.at(-1),e.at(-1)]];const t=[];let i,[A,n]=e[0];for(i=1;i{this.#Gr=null,this.canvas.removeEventListener(\\\"contextmenu\\\",ge)}),10),this.#sa(e.offsetX,e.offsetY),this.addToAnnotationStorage(),this.setInBackground()}#Zr(){this.canvas=document.createElement(\\\"canvas\\\"),this.canvas.width=this.canvas.height=0,this.canvas.className=\\\"inkEditorCanvas\\\",this.canvas.setAttribute(\\\"data-l10n-id\\\",\\\"pdfjs-ink-canvas\\\"),this.div.append(this.canvas),this.ctx=this.canvas.getContext(\\\"2d\\\")}#Xr(){this.#Yr=new ResizeObserver((e=>{const t=e[0].contentRect;t.width&&t.height&&this.setDimensions(t.width,t.height)})),this.#Yr.observe(this.div),this._uiManager._signal.addEventListener(\\\"abort\\\",(()=>{this.#Yr?.disconnect(),this.#Yr=null}),{once:!0})}get isResizable(){return!this.isEmpty()&&this.#Hr}render(){if(this.div)return this.div;let e,t;this.width&&(e=this.x,t=this.y),super.render(),this.div.setAttribute(\\\"data-l10n-id\\\",\\\"pdfjs-ink\\\");const[i,A,n,r]=this.#ea();if(this.setAt(i,A,0,0),this.setDims(n,r),this.#Zr(),this.width){const[i,A]=this.parentDimensions;this.setAspectRatio(this.width*i,this.height*A),this.setAt(e*i,t*A,this.width*i,this.height*A),this.#Jr=!0,this.#$r(),this.setDims(this.width*i,this.height*A),this.#zr(),this.div.classList.add(\\\"disabled\\\")}else this.div.classList.add(\\\"editing\\\"),this.enableEditMode();return this.#Xr(),this.div}#$r(){if(!this.#Jr)return;const[e,t]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*e),this.canvas.height=Math.ceil(this.height*t),this.#ca()}setDimensions(e,t){const i=Math.round(e),A=Math.round(t);if(this.#Or===i&&this.#qr===A)return;this.#Or=i,this.#qr=A,this.canvas.style.visibility=\\\"hidden\\\";const[n,r]=this.parentDimensions;this.width=e/n,this.height=t/r,this.fixAndSetPosition(),this.#Hr&&this.#ha(e,t),this.#$r(),this.#zr(),this.canvas.style.visibility=\\\"visible\\\",this.fixDims()}#ha(e,t){const i=this.#la(),A=(e-i)/this.#Mr,n=(t-i)/this.#Rr;this.scaleFactor=Math.min(A,n)}#ca(){const e=this.#la()/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+e,this.translationY*this.scaleFactor+e)}static#ua(e){const t=new Path2D;for(let i=0,A=e.length;i`image/${e}`)))}static get supportedTypesStr(){return b(this,\\\"supportedTypesStr\\\",this.supportedTypes.join(\\\",\\\"))}static isHandlingMimeForPasting(e){return this.supportedTypes.includes(e)}static paste(e,t){t.pasteEditor(h.STAMP,{bitmapFile:e.getAsFile()})}#xa(e,t=!1){e?(this.#pa=e.bitmap,t||(this.#Ba=e.id,this.#va=e.isSvg),e.file&&(this.#_a=e.file.name),this.#Zr()):this.remove()}#Da(){this.#ma=null,this._uiManager.enableWaiting(!1),this.#ya&&this.div.focus()}#Sa(){if(this.#Ba)return this._uiManager.enableWaiting(!0),void this._uiManager.imageManager.getFromId(this.#Ba).then((e=>this.#xa(e,!0))).finally((()=>this.#Da()));if(this.#Ea){const e=this.#Ea;return this.#Ea=null,this._uiManager.enableWaiting(!0),void(this.#ma=this._uiManager.imageManager.getFromUrl(e).then((e=>this.#xa(e))).finally((()=>this.#Da())))}if(this.#Qa){const e=this.#Qa;return this.#Qa=null,this._uiManager.enableWaiting(!0),void(this.#ma=this._uiManager.imageManager.getFromFile(e).then((e=>this.#xa(e))).finally((()=>this.#Da())))}const e=document.createElement(\\\"input\\\");e.type=\\\"file\\\",e.accept=oA.supportedTypesStr;const t=this._uiManager._signal;this.#ma=new Promise((i=>{e.addEventListener(\\\"change\\\",(async()=>{if(e.files&&0!==e.files.length){this._uiManager.enableWaiting(!0);const t=await this._uiManager.imageManager.getFromFile(e.files[0]);this.#xa(t)}else this.remove();i()}),{signal:t}),e.addEventListener(\\\"cancel\\\",(()=>{this.remove(),i()}),{signal:t})})).finally((()=>this.#Da())),e.click()}remove(){this.#Ba&&(this.#pa=null,this._uiManager.imageManager.deleteId(this.#Ba),this.#ya?.remove(),this.#ya=null,this.#Yr?.disconnect(),this.#Yr=null,this.#ba&&(clearTimeout(this.#ba),this.#ba=null)),super.remove()}rebuild(){this.parent?(super.rebuild(),null!==this.div&&(this.#Ba&&null===this.#ya&&this.#Sa(),this.isAttachedToDOM||this.parent.add(this))):this.#Ba&&this.#Sa()}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(this.#ma||this.#pa||this.#Ea||this.#Qa||this.#Ba)}get isResizable(){return!0}render(){if(this.div)return this.div;let e,t;if(this.width&&(e=this.x,t=this.y),super.render(),this.div.hidden=!0,this.addAltTextButton(),this.#pa?this.#Zr():this.#Sa(),this.width){const[i,A]=this.parentDimensions;this.setAt(e*i,t*A,this.width*i,this.height*A)}return this.div}#Zr(){const{div:e}=this;let{width:t,height:i}=this.#pa;const[A,n]=this.pageDimensions,r=.75;if(this.width)t=this.width*A,i=this.height*n;else if(t>r*A||i>r*n){const e=Math.min(r*A/t,r*n/i);t*=e,i*=e}const[a,s]=this.parentDimensions;this.setDims(t*a/A,i*s/n),this._uiManager.enableWaiting(!1);const o=this.#ya=document.createElement(\\\"canvas\\\");e.append(o),e.hidden=!1,this.#Pa(t,i),this.#Xr(),this.#ka||(this.parent.addUndoableEditor(this),this.#ka=!0),this._reportTelemetry({action:\\\"inserted_image\\\"}),this.#_a&&o.setAttribute(\\\"aria-label\\\",this.#_a)}#Ra(e,t){const[i,A]=this.parentDimensions;this.width=e/i,this.height=t/A,this.setDims(e,t),this._initialOptions?.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,null!==this.#ba&&clearTimeout(this.#ba),this.#ba=setTimeout((()=>{this.#ba=null,this.#Pa(e,t)}),200)}#Ma(e,t){const{width:i,height:A}=this.#pa;let n=i,r=A,a=this.#pa;for(;n>2*e||r>2*t;){const i=n,A=r;n>2*e&&(n=n>=16384?Math.floor(n/2)-1:Math.ceil(n/2)),r>2*t&&(r=r>=16384?Math.floor(r/2)-1:Math.ceil(r/2));const s=new OffscreenCanvas(n,r);s.getContext(\\\"2d\\\").drawImage(a,0,0,i,A,0,0,n,r),a=s.transferToImageBitmap()}return a}async#Fa(e,t,i){if(this.#wa)return;if(this.#wa=!0,!await this._uiManager.isMLEnabledFor(\\\"altText\\\")||this.hasAltText())return;const A=new OffscreenCanvas(t,i).getContext(\\\"2d\\\",{willReadFrequently:!0});A.drawImage(e,0,0,e.width,e.height,0,0,t,i);const n=(await this._uiManager.mlGuess({service:\\\"moz-image-to-text\\\",request:{data:A.getImageData(0,0,t,i).data,width:t,height:i,channels:4}}))?.output||\\\"\\\";this.parent&&n&&!this.hasAltText()&&(this.altTextData={altText:n,decorative:!1})}#Pa(e,t){e=Math.ceil(e),t=Math.ceil(t);const i=this.#ya;if(!i||i.width===e&&i.height===t)return;i.width=e,i.height=t;const A=this.#va?this.#pa:this.#Ma(e,t);this.#Fa(A,e,t);const n=i.getContext(\\\"2d\\\");n.filter=this._uiManager.hcmFilter,n.drawImage(A,0,0,A.width,A.height,0,0,e,t)}getImageForAltText(){return this.#ya}#Ta(e){if(e){if(this.#va){const e=this._uiManager.imageManager.getSvgUrl(this.#Ba);if(e)return e}const e=document.createElement(\\\"canvas\\\");return({width:e.width,height:e.height}=this.#pa),e.getContext(\\\"2d\\\").drawImage(this.#pa,0,0),e.toDataURL()}if(this.#va){const[e,t]=this.pageDimensions,i=Math.round(this.width*e*Z.PDF_TO_CSS_UNITS),A=Math.round(this.height*t*Z.PDF_TO_CSS_UNITS),n=new OffscreenCanvas(i,A);return n.getContext(\\\"2d\\\").drawImage(this.#pa,0,0,this.#pa.width,this.#pa.height,0,0,i,A),n.transferToImageBitmap()}return structuredClone(this.#pa)}#Xr(){this._uiManager._signal&&(this.#Yr=new ResizeObserver((e=>{const t=e[0].contentRect;t.width&&t.height&&this.#Ra(t.width,t.height)})),this.#Yr.observe(this.div),this._uiManager._signal.addEventListener(\\\"abort\\\",(()=>{this.#Yr?.disconnect(),this.#Yr=null}),{once:!0}))}static deserialize(e,t,i){if(e instanceof Vi)return null;const A=super.deserialize(e,t,i),{rect:n,bitmapUrl:r,bitmapId:a,isSvg:s,accessibilityData:o}=e;a&&i.imageManager.isValidId(a)?A.#Ba=a:A.#Ea=r,A.#va=s;const[c,g]=A.pageDimensions;return A.width=(n[2]-n[0])/c,A.height=(n[3]-n[1])/g,o&&(A.altTextData=o),A}serialize(e=!1,t=null){if(this.isEmpty())return null;const i={annotationType:h.STAMP,bitmapId:this.#Ba,pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:this.#va,structTreeParentId:this._structTreeParentId};if(e)return i.bitmapUrl=this.#Ta(!0),i.accessibilityData=this.altTextData,i;const{decorative:A,altText:n}=this.altTextData;if(!A&&n&&(i.accessibilityData={type:\\\"Figure\\\",alt:n}),null===t)return i;t.stamps||=new Map;const r=this.#va?(i.rect[2]-i.rect[0])*(i.rect[3]-i.rect[1]):null;if(t.stamps.has(this.#Ba)){if(this.#va){const e=t.stamps.get(this.#Ba);r>e.area&&(e.area=r,e.serialized.bitmap.close(),e.serialized.bitmap=this.#Ta(!1))}}else t.stamps.set(this.#Ba,{area:r,serialized:i}),i.bitmap=this.#Ta(!1);return i}}class cA{#KA;#Na=!1;#Ua=null;#Ga=null;#La=null;#Ha=null;#Wa=null;#Ja=new Map;#Ya=!1;#Oa=!1;#qa=!1;#Ka=null;#u;static _initialized=!1;static#N=new Map([$i,sA,oA,aA].map((e=>[e._editorType,e])));constructor({uiManager:e,pageIndex:t,div:i,accessibilityManager:A,annotationLayer:n,drawLayer:r,textLayer:a,viewport:s,l10n:o}){const c=[...cA.#N.values()];if(!cA._initialized){cA._initialized=!0;for(const t of c)t.initialize(o,e)}e.registerEditorTypes(c),this.#u=e,this.pageIndex=t,this.div=i,this.#KA=A,this.#Ua=n,this.viewport=s,this.#Ka=a,this.drawLayer=r,this.#u.addLayer(this)}get isEmpty(){return 0===this.#Ja.size}get isInvisible(){return this.isEmpty&&this.#u.getMode()===h.NONE}updateToolbar(e){this.#u.updateToolbar(e)}updateMode(e=this.#u.getMode()){switch(this.#ja(),e){case h.NONE:return this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),void this.disableClick();case h.INK:this.addInkEditorIfNeeded(!1),this.disableTextSelection(),this.togglePointerEvents(!0),this.disableClick();break;case h.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);const{classList:t}=this.div;for(const i of cA.#N.values())t.toggle(`${i._type}Editing`,e===i._editorType);this.div.hidden=!1}hasTextLayer(e){return e===this.#Ka?.div}addInkEditorIfNeeded(e){if(this.#u.getMode()===h.INK){if(!e)for(const e of this.#Ja.values())if(e.isEmpty())return void e.setInBackground();this.createAndAddNewEditor({offsetX:0,offsetY:0},!1).setInBackground()}}setEditingState(e){this.#u.setEditingState(e)}addCommands(e){this.#u.addCommands(e)}toggleDrawing(e=!1){this.div.classList.toggle(\\\"drawing\\\",!e)}togglePointerEvents(e=!1){this.div.classList.toggle(\\\"disabled\\\",!e)}toggleAnnotationLayerPointerEvents(e=!1){this.#Ua?.div.classList.toggle(\\\"disabled\\\",!e)}enable(){this.div.tabIndex=0,this.togglePointerEvents(!0);const e=new Set;for(const t of this.#Ja.values())t.enableEditing(),t.show(!0),t.annotationElementId&&(this.#u.removeChangedExistingAnnotation(t),e.add(t.annotationElementId));if(!this.#Ua)return;const t=this.#Ua.getEditableAnnotations();for(const i of t){if(i.hide(),this.#u.isDeletedAnnotationElement(i.data.id))continue;if(e.has(i.data.id))continue;const t=this.deserialize(i);t&&(this.addOrRebuild(t),t.enableEditing())}}disable(){this.#qa=!0,this.div.tabIndex=-1,this.togglePointerEvents(!1);const e=new Map,t=new Map;for(const i of this.#Ja.values())i.disableEditing(),i.annotationElementId&&(null===i.serialize()?(t.set(i.annotationElementId,i),this.getEditableAnnotation(i.annotationElementId)?.show(),i.remove()):e.set(i.annotationElementId,i));if(this.#Ua){const i=this.#Ua.getEditableAnnotations();for(const A of i){const{id:i}=A.data;if(this.#u.isDeletedAnnotationElement(i))continue;let n=t.get(i);n?(n.resetAnnotationElement(A),n.show(!1),A.show()):(n=e.get(i),n&&(this.#u.addChangedExistingAnnotation(n),n.renderAnnotationElement(A),n.show(!1)),A.show())}}this.#ja(),this.isEmpty&&(this.div.hidden=!0);const{classList:i}=this.div;for(const e of cA.#N.values())i.remove(`${e._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),this.#qa=!1}getEditableAnnotation(e){return this.#Ua?.getEditableAnnotation(e)||null}setActiveEditor(e){this.#u.getActive()!==e&&this.#u.setActiveEditor(e)}enableTextSelection(){this.div.tabIndex=-1,this.#Ka?.div&&!this.#Ha&&(this.#Ha=this.#Va.bind(this),this.#Ka.div.addEventListener(\\\"pointerdown\\\",this.#Ha,{signal:this.#u._signal}),this.#Ka.div.classList.add(\\\"highlighting\\\"))}disableTextSelection(){this.div.tabIndex=0,this.#Ka?.div&&this.#Ha&&(this.#Ka.div.removeEventListener(\\\"pointerdown\\\",this.#Ha),this.#Ha=null,this.#Ka.div.classList.remove(\\\"highlighting\\\"))}#Va(e){this.#u.unselectAll();const{target:t}=e;if(t===this.#Ka.div||t.classList.contains(\\\"endOfContent\\\")&&this.#Ka.div.contains(t)){const{isMac:t}=U.platform;if(0!==e.button||e.ctrlKey&&t)return;this.#u.showAllEditors(\\\"highlight\\\",!0,!0),this.#Ka.div.classList.add(\\\"free\\\"),this.toggleDrawing(),aA.startHighlighting(this,\\\"ltr\\\"===this.#u.direction,e),this.#Ka.div.addEventListener(\\\"pointerup\\\",(()=>{this.#Ka.div.classList.remove(\\\"free\\\"),this.toggleDrawing(!0)}),{once:!0,signal:this.#u._signal}),e.preventDefault()}}enableClick(){if(this.#La)return;const e=this.#u._signal;this.#La=this.pointerdown.bind(this),this.#Ga=this.pointerup.bind(this),this.div.addEventListener(\\\"pointerdown\\\",this.#La,{signal:e}),this.div.addEventListener(\\\"pointerup\\\",this.#Ga,{signal:e})}disableClick(){this.#La&&(this.div.removeEventListener(\\\"pointerdown\\\",this.#La),this.div.removeEventListener(\\\"pointerup\\\",this.#Ga),this.#La=null,this.#Ga=null)}attach(e){this.#Ja.set(e.id,e);const{annotationElementId:t}=e;t&&this.#u.isDeletedAnnotationElement(t)&&this.#u.removeDeletedAnnotationElement(e)}detach(e){this.#Ja.delete(e.id),this.#KA?.removePointerInTextLayer(e.contentDiv),!this.#qa&&e.annotationElementId&&this.#u.addDeletedAnnotationElement(e)}remove(e){this.detach(e),this.#u.removeEditor(e),e.div.remove(),e.isAttachedToDOM=!1,this.#Oa||this.addInkEditorIfNeeded(!1)}changeParent(e){e.parent!==this&&(e.parent&&e.annotationElementId&&(this.#u.addDeletedAnnotationElement(e.annotationElementId),ke.deleteAnnotationElement(e),e.annotationElementId=null),this.attach(e),e.parent?.detach(e),e.setParent(this),e.div&&e.isAttachedToDOM&&(e.div.remove(),this.div.append(e.div)))}add(e){if(e.parent!==this||!e.isAttachedToDOM){if(this.changeParent(e),this.#u.addEditor(e),this.attach(e),!e.isAttachedToDOM){const t=e.render();this.div.append(t),e.isAttachedToDOM=!0}e.fixAndSetPosition(),e.onceAdded(),this.#u.addToAnnotationStorage(e),e._reportTelemetry(e.telemetryInitialData)}}moveEditorInDOM(e){if(!e.isAttachedToDOM)return;const{activeElement:t}=document;e.div.contains(t)&&!this.#Wa&&(e._focusEventsAllowed=!1,this.#Wa=setTimeout((()=>{this.#Wa=null,e.div.contains(document.activeElement)?e._focusEventsAllowed=!0:(e.div.addEventListener(\\\"focusin\\\",(()=>{e._focusEventsAllowed=!0}),{once:!0,signal:this.#u._signal}),t.focus())}),0)),e._structTreeParentId=this.#KA?.moveElementInDOM(this.div,e.div,e.contentDiv,!0)}addOrRebuild(e){e.needsToBeRebuilt()?(e.parent||=this,e.rebuild(),e.show()):this.add(e)}addUndoableEditor(e){this.addCommands({cmd:()=>e._uiManager.rebuild(e),undo:()=>{e.remove()},mustExec:!1})}getNextId(){return this.#u.getId()}get#za(){return cA.#N.get(this.#u.getMode())}get _signal(){return this.#u._signal}#Za(e){const t=this.#za;return t?new t.prototype.constructor(e):null}canCreateNewEmptyEditor(){return this.#za?.canCreateNewEmptyEditor()}pasteEditor(e,t){this.#u.updateToolbar(e),this.#u.updateMode(e);const{offsetX:i,offsetY:A}=this.#Xa(),n=this.getNextId(),r=this.#Za({parent:this,id:n,x:i,y:A,uiManager:this.#u,isCentered:!0,...t});r&&this.add(r)}deserialize(e){return cA.#N.get(e.annotationType??e.annotationEditorType)?.deserialize(e,this,this.#u)||null}createAndAddNewEditor(e,t,i={}){const A=this.getNextId(),n=this.#Za({parent:this,id:A,x:e.offsetX,y:e.offsetY,uiManager:this.#u,isCentered:t,...i});return n&&this.add(n),n}#Xa(){const{x:e,y:t,width:i,height:A}=this.div.getBoundingClientRect(),n=Math.max(0,e),r=Math.max(0,t),a=(n+Math.min(window.innerWidth,e+i))/2-e,s=(r+Math.min(window.innerHeight,t+A))/2-t,[o,c]=this.viewport.rotation%180==0?[a,s]:[s,a];return{offsetX:o,offsetY:c}}addNewEditor(){this.createAndAddNewEditor(this.#Xa(),!0)}setSelected(e){this.#u.setSelected(e)}toggleSelected(e){this.#u.toggleSelected(e)}isSelected(e){return this.#u.isSelected(e)}unselect(e){this.#u.unselect(e)}pointerup(e){const{isMac:t}=U.platform;0!==e.button||e.ctrlKey&&t||e.target!==this.div||!this.#Ya||(this.#Ya=!1,this.#Na?this.#u.getMode()!==h.STAMP?this.createAndAddNewEditor(e,!1):this.#u.unselectAll():this.#Na=!0)}pointerdown(e){if(this.#u.getMode()===h.HIGHLIGHT&&this.enableTextSelection(),this.#Ya)return void(this.#Ya=!1);const{isMac:t}=U.platform;if(0!==e.button||e.ctrlKey&&t)return;if(e.target!==this.div)return;this.#Ya=!0;const i=this.#u.getActive();this.#Na=!i||i.isEmpty()}findNewParent(e,t,i){const A=this.#u.findParent(t,i);return null!==A&&A!==this&&(A.changeParent(e),!0)}destroy(){this.#u.getActive()?.parent===this&&(this.#u.commitOrRemove(),this.#u.setActiveEditor(null)),this.#Wa&&(clearTimeout(this.#Wa),this.#Wa=null);for(const e of this.#Ja.values())this.#KA?.removePointerInTextLayer(e.contentDiv),e.setParent(null),e.isAttachedToDOM=!1,e.div.remove();this.div=null,this.#Ja.clear(),this.#u.removeLayer(this)}#ja(){this.#Oa=!0;for(const e of this.#Ja.values())e.isEmpty()&&e.remove();this.#Oa=!1}render({viewport:e}){this.viewport=e,fe(this.div,e);for(const e of this.#u.getEditors(this.pageIndex))this.add(e),e.rebuild();this.updateMode()}update({viewport:e}){this.#u.commitOrRemove(),this.#ja();const t=this.viewport.rotation,i=e.rotation;if(this.viewport=e,fe(this.div,{rotation:i}),t!==i)for(const e of this.#Ja.values())e.rotate(i);this.addInkEditorIfNeeded(!1)}get pageDimensions(){const{pageWidth:e,pageHeight:t}=this.viewport.rawDims;return[e,t]}get scale(){return this.#u.viewParameters.realScale}}class gA{#vA=null;#f=0;#$a=new Map;#es=new Map;constructor({pageIndex:e}){this.pageIndex=e}setParent(e){if(this.#vA){if(this.#vA!==e){if(this.#$a.size>0)for(const t of this.#$a.values())t.remove(),e.append(t);this.#vA=e}}else this.#vA=e}static get _svgFactory(){return b(this,\\\"_svgFactory\\\",new te)}static#ts(e,{x:t=0,y:i=0,width:A=1,height:n=1}={}){const{style:r}=e;r.top=100*i+\\\"%\\\",r.left=100*t+\\\"%\\\",r.width=100*A+\\\"%\\\",r.height=100*n+\\\"%\\\"}#is(e){const t=gA._svgFactory.create(1,1,!0);return this.#vA.append(t),t.setAttribute(\\\"aria-hidden\\\",!0),gA.#ts(t,e),t}#As(e,t){const i=gA._svgFactory.createElement(\\\"clipPath\\\");e.append(i);const A=`clip_${t}`;i.setAttribute(\\\"id\\\",A),i.setAttribute(\\\"clipPathUnits\\\",\\\"objectBoundingBox\\\");const n=gA._svgFactory.createElement(\\\"use\\\");return i.append(n),n.setAttribute(\\\"href\\\",`#${t}`),n.classList.add(\\\"clip\\\"),A}highlight(e,t,i,A=!1){const n=this.#f++,r=this.#is(e.box);r.classList.add(\\\"highlight\\\"),e.free&&r.classList.add(\\\"free\\\");const a=gA._svgFactory.createElement(\\\"defs\\\");r.append(a);const s=gA._svgFactory.createElement(\\\"path\\\");a.append(s);const o=`path_p${this.pageIndex}_${n}`;s.setAttribute(\\\"id\\\",o),s.setAttribute(\\\"d\\\",e.toSVGPath()),A&&this.#es.set(n,s);const c=this.#As(a,o),g=gA._svgFactory.createElement(\\\"use\\\");return r.append(g),r.setAttribute(\\\"fill\\\",t),r.setAttribute(\\\"fill-opacity\\\",i),g.setAttribute(\\\"href\\\",`#${o}`),this.#$a.set(n,r),{id:n,clipPathId:`url(#${c})`}}highlightOutline(e){const t=this.#f++,i=this.#is(e.box);i.classList.add(\\\"highlightOutline\\\");const A=gA._svgFactory.createElement(\\\"defs\\\");i.append(A);const n=gA._svgFactory.createElement(\\\"path\\\");A.append(n);const r=`path_p${this.pageIndex}_${t}`;let a;if(n.setAttribute(\\\"id\\\",r),n.setAttribute(\\\"d\\\",e.toSVGPath()),n.setAttribute(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\"),e.free){i.classList.add(\\\"free\\\");const e=gA._svgFactory.createElement(\\\"mask\\\");A.append(e),a=`mask_p${this.pageIndex}_${t}`,e.setAttribute(\\\"id\\\",a),e.setAttribute(\\\"maskUnits\\\",\\\"objectBoundingBox\\\");const n=gA._svgFactory.createElement(\\\"rect\\\");e.append(n),n.setAttribute(\\\"width\\\",\\\"1\\\"),n.setAttribute(\\\"height\\\",\\\"1\\\"),n.setAttribute(\\\"fill\\\",\\\"white\\\");const s=gA._svgFactory.createElement(\\\"use\\\");e.append(s),s.setAttribute(\\\"href\\\",`#${r}`),s.setAttribute(\\\"stroke\\\",\\\"none\\\"),s.setAttribute(\\\"fill\\\",\\\"black\\\"),s.setAttribute(\\\"fill-rule\\\",\\\"nonzero\\\"),s.classList.add(\\\"mask\\\")}const s=gA._svgFactory.createElement(\\\"use\\\");i.append(s),s.setAttribute(\\\"href\\\",`#${r}`),a&&s.setAttribute(\\\"mask\\\",`url(#${a})`);const o=s.cloneNode();return i.append(o),s.classList.add(\\\"mainOutline\\\"),o.classList.add(\\\"secondaryOutline\\\"),this.#$a.set(t,i),t}finalizeLine(e,t){const i=this.#es.get(e);this.#es.delete(e),this.updateBox(e,t.box),i.setAttribute(\\\"d\\\",t.toSVGPath())}updateLine(e,t){this.#$a.get(e).firstChild.firstChild.setAttribute(\\\"d\\\",t.toSVGPath())}removeFreeHighlight(e){this.remove(e),this.#es.delete(e)}updatePath(e,t){this.#es.get(e).setAttribute(\\\"d\\\",t.toSVGPath())}updateBox(e,t){gA.#ts(this.#$a.get(e),t)}show(e,t){this.#$a.get(e).classList.toggle(\\\"hidden\\\",!t)}rotate(e,t){this.#$a.get(e).setAttribute(\\\"data-main-rotation\\\",t)}changeColor(e,t){this.#$a.get(e).setAttribute(\\\"fill\\\",t)}changeOpacity(e,t){this.#$a.get(e).setAttribute(\\\"fill-opacity\\\",t)}addClass(e,t){this.#$a.get(e).classList.add(t)}removeClass(e,t){this.#$a.get(e).classList.remove(t)}remove(e){null!==this.#vA&&(this.#$a.get(e).remove(),this.#$a.delete(e))}destroy(){this.#vA=null;for(const e of this.#$a.values())e.remove();this.#$a.clear()}}t.AbortException,t.AnnotationEditorLayer,t.AnnotationEditorParamsType,t.AnnotationEditorType,t.AnnotationEditorUIManager,t.AnnotationLayer,t.AnnotationMode,t.CMapCompressionType,t.ColorPicker,t.DOMSVGFactory,t.DrawLayer,t.FeatureTest;var hA=t.GlobalWorkerOptions,lA=(t.ImageKind,t.InvalidPDFException,t.MissingPDFException,t.OPS,t.PDFDataRangeTransport,t.PDFDateString,t.PDFWorker,t.PasswordResponses,t.PermissionFlag,t.PixelsPerInch,t.RenderingCancelledException,t.TextLayer),uA=(t.UnexpectedResponseException,t.Util,t.VerbosityLevel,t.XfaLayer,t.build,t.createValidAbsoluteUrl,t.fetchData,t.getDocument),dA=(t.getFilenameFromUrl,t.getPdfFilenameFromUrl,t.getXfaPageViewport,t.isDataScheme,t.isPdfFile,t.noContextMenu,t.normalizeUnicode,t.setLayerDimensions,t.shadow,t.version,i(6614));function IA(){return dA('(()=>{\\\"use strict\\\";var A={9306:(A,e,t)=>{var i=t(4901),a=t(6823),s=TypeError;A.exports=function(A){if(i(A))return A;throw new s(a(A)+\\\" is not a function\\\")}},3506:(A,e,t)=>{var i=t(3925),a=String,s=TypeError;A.exports=function(A){if(i(A))return A;throw new s(\\\"Can\\\\'t set \\\"+a(A)+\\\" as a prototype\\\")}},7080:(A,e,t)=>{var i=t(4402).has;A.exports=function(A){return i(A),A}},679:(A,e,t)=>{var i=t(1625),a=TypeError;A.exports=function(A,e){if(i(e,A))return A;throw new a(\\\"Incorrect invocation\\\")}},8551:(A,e,t)=>{var i=t(34),a=String,s=TypeError;A.exports=function(A){if(i(A))return A;throw new s(a(A)+\\\" is not an object\\\")}},7811:A=>{A.exports=\\\"undefined\\\"!=typeof ArrayBuffer&&\\\"undefined\\\"!=typeof DataView},7394:(A,e,t)=>{var i=t(6706),a=t(4576),s=TypeError;A.exports=i(ArrayBuffer.prototype,\\\"byteLength\\\",\\\"get\\\")||function(A){if(\\\"ArrayBuffer\\\"!==a(A))throw new s(\\\"ArrayBuffer expected\\\");return A.byteLength}},3238:(A,e,t)=>{var i=t(9504),a=t(7394),s=i(ArrayBuffer.prototype.slice);A.exports=function(A){if(0!==a(A))return!1;try{return s(A,0,0),!1}catch(A){return!0}}},5636:(A,e,t)=>{var i=t(4475),a=t(9504),s=t(6706),n=t(7696),r=t(3238),g=t(7394),o=t(4483),I=t(1548),c=i.structuredClone,C=i.ArrayBuffer,h=i.DataView,B=i.TypeError,l=Math.min,Q=C.prototype,E=h.prototype,u=a(Q.slice),d=s(Q,\\\"resizable\\\",\\\"get\\\"),f=s(Q,\\\"maxByteLength\\\",\\\"get\\\"),p=a(E.getInt8),m=a(E.setInt8);A.exports=(I||o)&&function(A,e,t){var i,a=g(A),s=void 0===e?a:n(e),Q=!d||!d(A);if(r(A))throw new B(\\\"ArrayBuffer is detached\\\");if(I&&(A=c(A,{transfer:[A]}),a===s&&(t||Q)))return A;if(a>=s&&(!t||Q))i=u(A,0,s);else{var E=t&&!Q&&f?{maxByteLength:f(A)}:void 0;i=new C(s,E);for(var y=new h(A),w=new h(i),D=l(s,a),b=0;b{var i,a,s,n=t(7811),r=t(3724),g=t(4475),o=t(4901),I=t(34),c=t(9297),C=t(6955),h=t(6823),B=t(6699),l=t(6840),Q=t(2106),E=t(1625),u=t(2787),d=t(2967),f=t(8227),p=t(3392),m=t(1181),y=m.enforce,w=m.get,D=g.Int8Array,b=D&&D.prototype,k=g.Uint8ClampedArray,F=k&&k.prototype,S=D&&u(D),R=b&&u(b),G=Object.prototype,N=g.TypeError,x=f(\\\"toStringTag\\\"),U=p(\\\"TYPED_ARRAY_TAG\\\"),M=\\\"TypedArrayConstructor\\\",L=n&&!!d&&\\\"Opera\\\"!==C(g.opera),J=!1,H={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Y={BigInt64Array:8,BigUint64Array:8},v=function(A){var e=u(A);if(I(e)){var t=w(e);return t&&c(t,M)?t[M]:v(e)}},K=function(A){if(!I(A))return!1;var e=C(A);return c(H,e)||c(Y,e)};for(i in H)(s=(a=g[i])&&a.prototype)?y(s)[M]=a:L=!1;for(i in Y)(s=(a=g[i])&&a.prototype)&&(y(s)[M]=a);if((!L||!o(S)||S===Function.prototype)&&(S=function(){throw new N(\\\"Incorrect invocation\\\")},L))for(i in H)g[i]&&d(g[i],S);if((!L||!R||R===G)&&(R=S.prototype,L))for(i in H)g[i]&&d(g[i].prototype,R);if(L&&u(F)!==R&&d(F,R),r&&!c(R,x))for(i in J=!0,Q(R,x,{configurable:!0,get:function(){return I(this)?this[U]:void 0}}),H)g[i]&&B(g[i],U,i);A.exports={NATIVE_ARRAY_BUFFER_VIEWS:L,TYPED_ARRAY_TAG:J&&U,aTypedArray:function(A){if(K(A))return A;throw new N(\\\"Target is not a typed array\\\")},aTypedArrayConstructor:function(A){if(o(A)&&(!d||E(S,A)))return A;throw new N(h(A)+\\\" is not a typed array constructor\\\")},exportTypedArrayMethod:function(A,e,t,i){if(r){if(t)for(var a in H){var s=g[a];if(s&&c(s.prototype,A))try{delete s.prototype[A]}catch(t){try{s.prototype[A]=e}catch(A){}}}R[A]&&!t||l(R,A,t?e:L&&b[A]||e,i)}},exportTypedArrayStaticMethod:function(A,e,t){var i,a;if(r){if(d){if(t)for(i in H)if((a=g[i])&&c(a,A))try{delete a[A]}catch(A){}if(S[A]&&!t)return;try{return l(S,A,t?e:L&&S[A]||e)}catch(A){}}for(i in H)!(a=g[i])||a[A]&&!t||l(a,A,e)}},getTypedArrayConstructor:v,isView:function(A){if(!I(A))return!1;var e=C(A);return\\\"DataView\\\"===e||c(H,e)||c(Y,e)},isTypedArray:K,TypedArray:S,TypedArrayPrototype:R}},5370:(A,e,t)=>{var i=t(6198);A.exports=function(A,e,t){for(var a=0,s=arguments.length>2?t:i(e),n=new A(s);s>a;)n[a]=e[a++];return n}},9617:(A,e,t)=>{var i=t(5397),a=t(5610),s=t(6198),n=function(A){return function(e,t,n){var r=i(e),g=s(r);if(0===g)return!A&&-1;var o,I=a(n,g);if(A&&t!=t){for(;g>I;)if((o=r[I++])!=o)return!0}else for(;g>I;I++)if((A||I in r)&&r[I]===t)return A||I||0;return!A&&-1}};A.exports={includes:n(!0),indexOf:n(!1)}},4527:(A,e,t)=>{var i=t(3724),a=t(4376),s=TypeError,n=Object.getOwnPropertyDescriptor,r=i&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],\\\"length\\\",{writable:!1}).length=1}catch(A){return A instanceof TypeError}}();A.exports=r?function(A,e){if(a(A)&&!n(A,\\\"length\\\").writable)throw new s(\\\"Cannot set read only .length\\\");return A.length=e}:function(A,e){return A.length=e}},7628:(A,e,t)=>{var i=t(6198);A.exports=function(A,e){for(var t=i(A),a=new e(t),s=0;s{var i=t(6198),a=t(1291),s=RangeError;A.exports=function(A,e,t,n){var r=i(A),g=a(t),o=g<0?r+g:g;if(o>=r||o<0)throw new s(\\\"Incorrect index\\\");for(var I=new e(r),c=0;c{var i=t(8551),a=t(9539);A.exports=function(A,e,t,s){try{return s?e(i(t)[0],t[1]):e(t)}catch(e){a(A,\\\"throw\\\",e)}}},4576:(A,e,t)=>{var i=t(9504),a=i({}.toString),s=i(\\\"\\\".slice);A.exports=function(A){return s(a(A),8,-1)}},6955:(A,e,t)=>{var i=t(2140),a=t(4901),s=t(4576),n=t(8227)(\\\"toStringTag\\\"),r=Object,g=\\\"Arguments\\\"===s(function(){return arguments}());A.exports=i?s:function(A){var e,t,i;return void 0===A?\\\"Undefined\\\":null===A?\\\"Null\\\":\\\"string\\\"==typeof(t=function(A,e){try{return A[e]}catch(A){}}(e=r(A),n))?t:g?s(e):\\\"Object\\\"===(i=s(e))&&a(e.callee)?\\\"Arguments\\\":i}},7740:(A,e,t)=>{var i=t(9297),a=t(5031),s=t(7347),n=t(4913);A.exports=function(A,e,t){for(var r=a(e),g=n.f,o=s.f,I=0;I{var i=t(9039);A.exports=!i((function(){function A(){}return A.prototype.constructor=null,Object.getPrototypeOf(new A)!==A.prototype}))},2529:A=>{A.exports=function(A,e){return{value:A,done:e}}},6699:(A,e,t)=>{var i=t(3724),a=t(4913),s=t(6980);A.exports=i?function(A,e,t){return a.f(A,e,s(1,t))}:function(A,e,t){return A[e]=t,A}},6980:A=>{A.exports=function(A,e){return{enumerable:!(1&A),configurable:!(2&A),writable:!(4&A),value:e}}},4659:(A,e,t)=>{var i=t(3724),a=t(4913),s=t(6980);A.exports=function(A,e,t){i?a.f(A,e,s(0,t)):A[e]=t}},2106:(A,e,t)=>{var i=t(283),a=t(4913);A.exports=function(A,e,t){return t.get&&i(t.get,e,{getter:!0}),t.set&&i(t.set,e,{setter:!0}),a.f(A,e,t)}},6840:(A,e,t)=>{var i=t(4901),a=t(4913),s=t(283),n=t(9433);A.exports=function(A,e,t,r){r||(r={});var g=r.enumerable,o=void 0!==r.name?r.name:e;if(i(t)&&s(t,o,r),r.global)g?A[e]=t:n(e,t);else{try{r.unsafe?A[e]&&(g=!0):delete A[e]}catch(A){}g?A[e]=t:a.f(A,e,{value:t,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return A}},6279:(A,e,t)=>{var i=t(6840);A.exports=function(A,e,t){for(var a in e)i(A,a,e[a],t);return A}},9433:(A,e,t)=>{var i=t(4475),a=Object.defineProperty;A.exports=function(A,e){try{a(i,A,{value:e,configurable:!0,writable:!0})}catch(t){i[A]=e}return e}},3724:(A,e,t)=>{var i=t(9039);A.exports=!i((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},4483:(A,e,t)=>{var i,a,s,n,r=t(4475),g=t(9714),o=t(1548),I=r.structuredClone,c=r.ArrayBuffer,C=r.MessageChannel,h=!1;if(o)h=function(A){I(A,{transfer:[A]})};else if(c)try{C||(i=g(\\\"worker_threads\\\"))&&(C=i.MessageChannel),C&&(a=new C,s=new c(2),n=function(A){a.port1.postMessage(null,[A])},2===s.byteLength&&(n(s),0===s.byteLength&&(h=n)))}catch(A){}A.exports=h},4055:(A,e,t)=>{var i=t(4475),a=t(34),s=i.document,n=a(s)&&a(s.createElement);A.exports=function(A){return n?s.createElement(A):{}}},6837:A=>{var e=TypeError;A.exports=function(A){if(A>9007199254740991)throw e(\\\"Maximum allowed index exceeded\\\");return A}},5002:A=>{A.exports={IndexSizeError:{s:\\\"INDEX_SIZE_ERR\\\",c:1,m:1},DOMStringSizeError:{s:\\\"DOMSTRING_SIZE_ERR\\\",c:2,m:0},HierarchyRequestError:{s:\\\"HIERARCHY_REQUEST_ERR\\\",c:3,m:1},WrongDocumentError:{s:\\\"WRONG_DOCUMENT_ERR\\\",c:4,m:1},InvalidCharacterError:{s:\\\"INVALID_CHARACTER_ERR\\\",c:5,m:1},NoDataAllowedError:{s:\\\"NO_DATA_ALLOWED_ERR\\\",c:6,m:0},NoModificationAllowedError:{s:\\\"NO_MODIFICATION_ALLOWED_ERR\\\",c:7,m:1},NotFoundError:{s:\\\"NOT_FOUND_ERR\\\",c:8,m:1},NotSupportedError:{s:\\\"NOT_SUPPORTED_ERR\\\",c:9,m:1},InUseAttributeError:{s:\\\"INUSE_ATTRIBUTE_ERR\\\",c:10,m:1},InvalidStateError:{s:\\\"INVALID_STATE_ERR\\\",c:11,m:1},SyntaxError:{s:\\\"SYNTAX_ERR\\\",c:12,m:1},InvalidModificationError:{s:\\\"INVALID_MODIFICATION_ERR\\\",c:13,m:1},NamespaceError:{s:\\\"NAMESPACE_ERR\\\",c:14,m:1},InvalidAccessError:{s:\\\"INVALID_ACCESS_ERR\\\",c:15,m:1},ValidationError:{s:\\\"VALIDATION_ERR\\\",c:16,m:0},TypeMismatchError:{s:\\\"TYPE_MISMATCH_ERR\\\",c:17,m:1},SecurityError:{s:\\\"SECURITY_ERR\\\",c:18,m:1},NetworkError:{s:\\\"NETWORK_ERR\\\",c:19,m:1},AbortError:{s:\\\"ABORT_ERR\\\",c:20,m:1},URLMismatchError:{s:\\\"URL_MISMATCH_ERR\\\",c:21,m:1},QuotaExceededError:{s:\\\"QUOTA_EXCEEDED_ERR\\\",c:22,m:1},TimeoutError:{s:\\\"TIMEOUT_ERR\\\",c:23,m:1},InvalidNodeTypeError:{s:\\\"INVALID_NODE_TYPE_ERR\\\",c:24,m:1},DataCloneError:{s:\\\"DATA_CLONE_ERR\\\",c:25,m:1}}},7290:(A,e,t)=>{var i=t(516),a=t(9088);A.exports=!i&&!a&&\\\"object\\\"==typeof window&&\\\"object\\\"==typeof document},516:A=>{A.exports=\\\"object\\\"==typeof Deno&&Deno&&\\\"object\\\"==typeof Deno.version},9088:(A,e,t)=>{var i=t(4475),a=t(4576);A.exports=\\\"process\\\"===a(i.process)},9392:A=>{A.exports=\\\"undefined\\\"!=typeof navigator&&String(navigator.userAgent)||\\\"\\\"},7388:(A,e,t)=>{var i,a,s=t(4475),n=t(9392),r=s.process,g=s.Deno,o=r&&r.versions||g&&g.version,I=o&&o.v8;I&&(a=(i=I.split(\\\".\\\"))[0]>0&&i[0]<4?1:+(i[0]+i[1])),!a&&n&&(!(i=n.match(/Edge\\\\\\\\/(\\\\\\\\d+)/))||i[1]>=74)&&(i=n.match(/Chrome\\\\\\\\/(\\\\\\\\d+)/))&&(a=+i[1]),A.exports=a},8727:A=>{A.exports=[\\\"constructor\\\",\\\"hasOwnProperty\\\",\\\"isPrototypeOf\\\",\\\"propertyIsEnumerable\\\",\\\"toLocaleString\\\",\\\"toString\\\",\\\"valueOf\\\"]},6193:(A,e,t)=>{var i=t(9504),a=Error,s=i(\\\"\\\".replace),n=String(new a(\\\"zxcasd\\\").stack),r=/\\\\\\\\n\\\\\\\\s*at [^:]*:[^\\\\\\\\n]*/,g=r.test(n);A.exports=function(A,e){if(g&&\\\"string\\\"==typeof A&&!a.prepareStackTrace)for(;e--;)A=s(A,r,\\\"\\\");return A}},6518:(A,e,t)=>{var i=t(4475),a=t(7347).f,s=t(6699),n=t(6840),r=t(9433),g=t(7740),o=t(2796);A.exports=function(A,e){var t,I,c,C,h,B=A.target,l=A.global,Q=A.stat;if(t=l?i:Q?i[B]||r(B,{}):i[B]&&i[B].prototype)for(I in e){if(C=e[I],c=A.dontCallGetSet?(h=a(t,I))&&h.value:t[I],!o(l?I:B+(Q?\\\".\\\":\\\"#\\\")+I,A.forced)&&void 0!==c){if(typeof C==typeof c)continue;g(C,c)}(A.sham||c&&c.sham)&&s(C,\\\"sham\\\",!0),n(t,I,C,A)}}},9039:A=>{A.exports=function(A){try{return!!A()}catch(A){return!0}}},6080:(A,e,t)=>{var i=t(7476),a=t(9306),s=t(616),n=i(i.bind);A.exports=function(A,e){return a(A),void 0===e?A:s?n(A,e):function(){return A.apply(e,arguments)}}},616:(A,e,t)=>{var i=t(9039);A.exports=!i((function(){var A=function(){}.bind();return\\\"function\\\"!=typeof A||A.hasOwnProperty(\\\"prototype\\\")}))},9565:(A,e,t)=>{var i=t(616),a=Function.prototype.call;A.exports=i?a.bind(a):function(){return a.apply(a,arguments)}},350:(A,e,t)=>{var i=t(3724),a=t(9297),s=Function.prototype,n=i&&Object.getOwnPropertyDescriptor,r=a(s,\\\"name\\\"),g=r&&\\\"something\\\"===function(){}.name,o=r&&(!i||i&&n(s,\\\"name\\\").configurable);A.exports={EXISTS:r,PROPER:g,CONFIGURABLE:o}},6706:(A,e,t)=>{var i=t(9504),a=t(9306);A.exports=function(A,e,t){try{return i(a(Object.getOwnPropertyDescriptor(A,e)[t]))}catch(A){}}},7476:(A,e,t)=>{var i=t(4576),a=t(9504);A.exports=function(A){if(\\\"Function\\\"===i(A))return a(A)}},9504:(A,e,t)=>{var i=t(616),a=Function.prototype,s=a.call,n=i&&a.bind.bind(s,s);A.exports=i?n:function(A){return function(){return s.apply(A,arguments)}}},7751:(A,e,t)=>{var i=t(4475),a=t(4901);A.exports=function(A,e){return arguments.length<2?(t=i[A],a(t)?t:void 0):i[A]&&i[A][e];var t}},1767:A=>{A.exports=function(A){return{iterator:A,next:A.next,done:!1}}},851:(A,e,t)=>{var i=t(6955),a=t(5966),s=t(4117),n=t(6269),r=t(8227)(\\\"iterator\\\");A.exports=function(A){if(!s(A))return a(A,r)||a(A,\\\"@@iterator\\\")||n[i(A)]}},81:(A,e,t)=>{var i=t(9565),a=t(9306),s=t(8551),n=t(6823),r=t(851),g=TypeError;A.exports=function(A,e){var t=arguments.length<2?r(A):e;if(a(t))return s(i(t,A));throw new g(n(A)+\\\" is not iterable\\\")}},5966:(A,e,t)=>{var i=t(9306),a=t(4117);A.exports=function(A,e){var t=A[e];return a(t)?void 0:i(t)}},3789:(A,e,t)=>{var i=t(9306),a=t(8551),s=t(9565),n=t(1291),r=t(1767),g=\\\"Invalid size\\\",o=RangeError,I=TypeError,c=Math.max,C=function(A,e){this.set=A,this.size=c(e,0),this.has=i(A.has),this.keys=i(A.keys)};C.prototype={getIterator:function(){return r(a(s(this.keys,this.set)))},includes:function(A){return s(this.has,this.set,A)}},A.exports=function(A){a(A);var e=+A.size;if(e!=e)throw new I(g);var t=n(e);if(t<0)throw new o(g);return new C(A,t)}},4475:function(A){var e=function(A){return A&&A.Math===Math&&A};A.exports=e(\\\"object\\\"==typeof globalThis&&globalThis)||e(\\\"object\\\"==typeof window&&window)||e(\\\"object\\\"==typeof self&&self)||e(\\\"object\\\"==typeof global&&global)||e(\\\"object\\\"==typeof this&&this)||function(){return this}()||Function(\\\"return this\\\")()},9297:(A,e,t)=>{var i=t(9504),a=t(8981),s=i({}.hasOwnProperty);A.exports=Object.hasOwn||function(A,e){return s(a(A),e)}},421:A=>{A.exports={}},397:(A,e,t)=>{var i=t(7751);A.exports=i(\\\"document\\\",\\\"documentElement\\\")},5917:(A,e,t)=>{var i=t(3724),a=t(9039),s=t(4055);A.exports=!i&&!a((function(){return 7!==Object.defineProperty(s(\\\"div\\\"),\\\"a\\\",{get:function(){return 7}}).a}))},7055:(A,e,t)=>{var i=t(9504),a=t(9039),s=t(4576),n=Object,r=i(\\\"\\\".split);A.exports=a((function(){return!n(\\\"z\\\").propertyIsEnumerable(0)}))?function(A){return\\\"String\\\"===s(A)?r(A,\\\"\\\"):n(A)}:n},3167:(A,e,t)=>{var i=t(4901),a=t(34),s=t(2967);A.exports=function(A,e,t){var n,r;return s&&i(n=e.constructor)&&n!==t&&a(r=n.prototype)&&r!==t.prototype&&s(A,r),A}},3706:(A,e,t)=>{var i=t(9504),a=t(4901),s=t(7629),n=i(Function.toString);a(s.inspectSource)||(s.inspectSource=function(A){return n(A)}),A.exports=s.inspectSource},1181:(A,e,t)=>{var i,a,s,n=t(8622),r=t(4475),g=t(34),o=t(6699),I=t(9297),c=t(7629),C=t(6119),h=t(421),B=\\\"Object already initialized\\\",l=r.TypeError,Q=r.WeakMap;if(n||c.state){var E=c.state||(c.state=new Q);E.get=E.get,E.has=E.has,E.set=E.set,i=function(A,e){if(E.has(A))throw new l(B);return e.facade=A,E.set(A,e),e},a=function(A){return E.get(A)||{}},s=function(A){return E.has(A)}}else{var u=C(\\\"state\\\");h[u]=!0,i=function(A,e){if(I(A,u))throw new l(B);return e.facade=A,o(A,u,e),e},a=function(A){return I(A,u)?A[u]:{}},s=function(A){return I(A,u)}}A.exports={set:i,get:a,has:s,enforce:function(A){return s(A)?a(A):i(A,{})},getterFor:function(A){return function(e){var t;if(!g(e)||(t=a(e)).type!==A)throw new l(\\\"Incompatible receiver, \\\"+A+\\\" required\\\");return t}}}},4209:(A,e,t)=>{var i=t(8227),a=t(6269),s=i(\\\"iterator\\\"),n=Array.prototype;A.exports=function(A){return void 0!==A&&(a.Array===A||n[s]===A)}},4376:(A,e,t)=>{var i=t(4576);A.exports=Array.isArray||function(A){return\\\"Array\\\"===i(A)}},1108:(A,e,t)=>{var i=t(6955);A.exports=function(A){var e=i(A);return\\\"BigInt64Array\\\"===e||\\\"BigUint64Array\\\"===e}},4901:A=>{var e=\\\"object\\\"==typeof document&&document.all;A.exports=void 0===e&&void 0!==e?function(A){return\\\"function\\\"==typeof A||A===e}:function(A){return\\\"function\\\"==typeof A}},2796:(A,e,t)=>{var i=t(9039),a=t(4901),s=/#|\\\\\\\\.prototype\\\\\\\\./,n=function(A,e){var t=g[r(A)];return t===I||t!==o&&(a(e)?i(e):!!e)},r=n.normalize=function(A){return String(A).replace(s,\\\".\\\").toLowerCase()},g=n.data={},o=n.NATIVE=\\\"N\\\",I=n.POLYFILL=\\\"P\\\";A.exports=n},4117:A=>{A.exports=function(A){return null==A}},34:(A,e,t)=>{var i=t(4901);A.exports=function(A){return\\\"object\\\"==typeof A?null!==A:i(A)}},3925:(A,e,t)=>{var i=t(34);A.exports=function(A){return i(A)||null===A}},6395:A=>{A.exports=!1},757:(A,e,t)=>{var i=t(7751),a=t(4901),s=t(1625),n=t(7040),r=Object;A.exports=n?function(A){return\\\"symbol\\\"==typeof A}:function(A){var e=i(\\\"Symbol\\\");return a(e)&&s(e.prototype,r(A))}},507:(A,e,t)=>{var i=t(9565);A.exports=function(A,e,t){for(var a,s,n=t?A:A.iterator,r=A.next;!(a=i(r,n)).done;)if(void 0!==(s=e(a.value)))return s}},2652:(A,e,t)=>{var i=t(6080),a=t(9565),s=t(8551),n=t(6823),r=t(4209),g=t(6198),o=t(1625),I=t(81),c=t(851),C=t(9539),h=TypeError,B=function(A,e){this.stopped=A,this.result=e},l=B.prototype;A.exports=function(A,e,t){var Q,E,u,d,f,p,m,y=t&&t.that,w=!(!t||!t.AS_ENTRIES),D=!(!t||!t.IS_RECORD),b=!(!t||!t.IS_ITERATOR),k=!(!t||!t.INTERRUPTED),F=i(e,y),S=function(A){return Q&&C(Q,\\\"normal\\\",A),new B(!0,A)},R=function(A){return w?(s(A),k?F(A[0],A[1],S):F(A[0],A[1])):k?F(A,S):F(A)};if(D)Q=A.iterator;else if(b)Q=A;else{if(!(E=c(A)))throw new h(n(A)+\\\" is not iterable\\\");if(r(E)){for(u=0,d=g(A);d>u;u++)if((f=R(A[u]))&&o(l,f))return f;return new B(!1)}Q=I(A,E)}for(p=D?A.next:Q.next;!(m=a(p,Q)).done;){try{f=R(m.value)}catch(A){C(Q,\\\"throw\\\",A)}if(\\\"object\\\"==typeof f&&f&&o(l,f))return f}return new B(!1)}},9539:(A,e,t)=>{var i=t(9565),a=t(8551),s=t(5966);A.exports=function(A,e,t){var n,r;a(A);try{if(!(n=s(A,\\\"return\\\"))){if(\\\"throw\\\"===e)throw t;return t}n=i(n,A)}catch(A){r=!0,n=A}if(\\\"throw\\\"===e)throw t;if(r)throw n;return a(n),t}},9462:(A,e,t)=>{var i=t(9565),a=t(2360),s=t(6699),n=t(6279),r=t(8227),g=t(1181),o=t(5966),I=t(7657).IteratorPrototype,c=t(2529),C=t(9539),h=r(\\\"toStringTag\\\"),B=\\\"IteratorHelper\\\",l=\\\"WrapForValidIterator\\\",Q=g.set,E=function(A){var e=g.getterFor(A?l:B);return n(a(I),{next:function(){var t=e(this);if(A)return t.nextHandler();try{var i=t.done?void 0:t.nextHandler();return c(i,t.done)}catch(A){throw t.done=!0,A}},return:function(){var t=e(this),a=t.iterator;if(t.done=!0,A){var s=o(a,\\\"return\\\");return s?i(s,a):c(void 0,!0)}if(t.inner)try{C(t.inner.iterator,\\\"normal\\\")}catch(A){return C(a,\\\"throw\\\",A)}return C(a,\\\"normal\\\"),c(void 0,!0)}})},u=E(!0),d=E(!1);s(d,h,\\\"Iterator Helper\\\"),A.exports=function(A,e){var t=function(t,i){i?(i.iterator=t.iterator,i.next=t.next):i=t,i.type=e?l:B,i.nextHandler=A,i.counter=0,i.done=!1,Q(this,i)};return t.prototype=e?u:d,t}},713:(A,e,t)=>{var i=t(9565),a=t(9306),s=t(8551),n=t(1767),r=t(9462),g=t(6319),o=r((function(){var A=this.iterator,e=s(i(this.next,A));if(!(this.done=!!e.done))return g(A,this.mapper,[e.value,this.counter++],!0)}));A.exports=function(A){return s(this),a(A),new o(n(this),{mapper:A})}},7657:(A,e,t)=>{var i,a,s,n=t(9039),r=t(4901),g=t(34),o=t(2360),I=t(2787),c=t(6840),C=t(8227),h=t(6395),B=C(\\\"iterator\\\"),l=!1;[].keys&&(\\\"next\\\"in(s=[].keys())?(a=I(I(s)))!==Object.prototype&&(i=a):l=!0),!g(i)||n((function(){var A={};return i[B].call(A)!==A}))?i={}:h&&(i=o(i)),r(i[B])||c(i,B,(function(){return this})),A.exports={IteratorPrototype:i,BUGGY_SAFARI_ITERATORS:l}},6269:A=>{A.exports={}},6198:(A,e,t)=>{var i=t(8014);A.exports=function(A){return i(A.length)}},283:(A,e,t)=>{var i=t(9504),a=t(9039),s=t(4901),n=t(9297),r=t(3724),g=t(350).CONFIGURABLE,o=t(3706),I=t(1181),c=I.enforce,C=I.get,h=String,B=Object.defineProperty,l=i(\\\"\\\".slice),Q=i(\\\"\\\".replace),E=i([].join),u=r&&!a((function(){return 8!==B((function(){}),\\\"length\\\",{value:8}).length})),d=String(String).split(\\\"String\\\"),f=A.exports=function(A,e,t){\\\"Symbol(\\\"===l(h(e),0,7)&&(e=\\\"[\\\"+Q(h(e),/^Symbol\\\\\\\\(([^)]*)\\\\\\\\).*$/,\\\"$1\\\")+\\\"]\\\"),t&&t.getter&&(e=\\\"get \\\"+e),t&&t.setter&&(e=\\\"set \\\"+e),(!n(A,\\\"name\\\")||g&&A.name!==e)&&(r?B(A,\\\"name\\\",{value:e,configurable:!0}):A.name=e),u&&t&&n(t,\\\"arity\\\")&&A.length!==t.arity&&B(A,\\\"length\\\",{value:t.arity});try{t&&n(t,\\\"constructor\\\")&&t.constructor?r&&B(A,\\\"prototype\\\",{writable:!1}):A.prototype&&(A.prototype=void 0)}catch(A){}var i=c(A);return n(i,\\\"source\\\")||(i.source=E(d,\\\"string\\\"==typeof e?e:\\\"\\\")),A};Function.prototype.toString=f((function(){return s(this)&&C(this).source||o(this)}),\\\"toString\\\")},741:A=>{var e=Math.ceil,t=Math.floor;A.exports=Math.trunc||function(A){var i=+A;return(i>0?t:e)(i)}},6043:(A,e,t)=>{var i=t(9306),a=TypeError,s=function(A){var e,t;this.promise=new A((function(A,i){if(void 0!==e||void 0!==t)throw new a(\\\"Bad Promise constructor\\\");e=A,t=i})),this.resolve=i(e),this.reject=i(t)};A.exports.f=function(A){return new s(A)}},2603:(A,e,t)=>{var i=t(655);A.exports=function(A,e){return void 0===A?arguments.length<2?\\\"\\\":e:i(A)}},2360:(A,e,t)=>{var i,a=t(8551),s=t(6801),n=t(8727),r=t(421),g=t(397),o=t(4055),I=t(6119),c=\\\"prototype\\\",C=\\\"script\\\",h=I(\\\"IE_PROTO\\\"),B=function(){},l=function(A){return\\\"<\\\"+C+\\\">\\\"+A+\\\"\\\"},Q=function(A){A.write(l(\\\"\\\")),A.close();var e=A.parentWindow.Object;return A=null,e},E=function(){try{i=new ActiveXObject(\\\"htmlfile\\\")}catch(A){}E=\\\"undefined\\\"!=typeof document?document.domain&&i?Q(i):function(){var A,e=o(\\\"iframe\\\");return e.style.display=\\\"none\\\",g.appendChild(e),e.src=String(\\\"javascript:\\\"),(A=e.contentWindow.document).open(),A.write(l(\\\"document.F=Object\\\")),A.close(),A.F}():Q(i);for(var A=n.length;A--;)delete E[c][n[A]];return E()};r[h]=!0,A.exports=Object.create||function(A,e){var t;return null!==A?(B[c]=a(A),t=new B,B[c]=null,t[h]=A):t=E(),void 0===e?t:s.f(t,e)}},6801:(A,e,t)=>{var i=t(3724),a=t(8686),s=t(4913),n=t(8551),r=t(5397),g=t(1072);e.f=i&&!a?Object.defineProperties:function(A,e){n(A);for(var t,i=r(e),a=g(e),o=a.length,I=0;o>I;)s.f(A,t=a[I++],i[t]);return A}},4913:(A,e,t)=>{var i=t(3724),a=t(5917),s=t(8686),n=t(8551),r=t(6969),g=TypeError,o=Object.defineProperty,I=Object.getOwnPropertyDescriptor,c=\\\"enumerable\\\",C=\\\"configurable\\\",h=\\\"writable\\\";e.f=i?s?function(A,e,t){if(n(A),e=r(e),n(t),\\\"function\\\"==typeof A&&\\\"prototype\\\"===e&&\\\"value\\\"in t&&h in t&&!t[h]){var i=I(A,e);i&&i[h]&&(A[e]=t.value,t={configurable:C in t?t[C]:i[C],enumerable:c in t?t[c]:i[c],writable:!1})}return o(A,e,t)}:o:function(A,e,t){if(n(A),e=r(e),n(t),a)try{return o(A,e,t)}catch(A){}if(\\\"get\\\"in t||\\\"set\\\"in t)throw new g(\\\"Accessors not supported\\\");return\\\"value\\\"in t&&(A[e]=t.value),A}},7347:(A,e,t)=>{var i=t(3724),a=t(9565),s=t(8773),n=t(6980),r=t(5397),g=t(6969),o=t(9297),I=t(5917),c=Object.getOwnPropertyDescriptor;e.f=i?c:function(A,e){if(A=r(A),e=g(e),I)try{return c(A,e)}catch(A){}if(o(A,e))return n(!a(s.f,A,e),A[e])}},8480:(A,e,t)=>{var i=t(1828),a=t(8727).concat(\\\"length\\\",\\\"prototype\\\");e.f=Object.getOwnPropertyNames||function(A){return i(A,a)}},3717:(A,e)=>{e.f=Object.getOwnPropertySymbols},2787:(A,e,t)=>{var i=t(9297),a=t(4901),s=t(8981),n=t(6119),r=t(2211),g=n(\\\"IE_PROTO\\\"),o=Object,I=o.prototype;A.exports=r?o.getPrototypeOf:function(A){var e=s(A);if(i(e,g))return e[g];var t=e.constructor;return a(t)&&e instanceof t?t.prototype:e instanceof o?I:null}},1625:(A,e,t)=>{var i=t(9504);A.exports=i({}.isPrototypeOf)},1828:(A,e,t)=>{var i=t(9504),a=t(9297),s=t(5397),n=t(9617).indexOf,r=t(421),g=i([].push);A.exports=function(A,e){var t,i=s(A),o=0,I=[];for(t in i)!a(r,t)&&a(i,t)&&g(I,t);for(;e.length>o;)a(i,t=e[o++])&&(~n(I,t)||g(I,t));return I}},1072:(A,e,t)=>{var i=t(1828),a=t(8727);A.exports=Object.keys||function(A){return i(A,a)}},8773:(A,e)=>{var t={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,a=i&&!t.call({1:2},1);e.f=a?function(A){var e=i(this,A);return!!e&&e.enumerable}:t},2967:(A,e,t)=>{var i=t(6706),a=t(34),s=t(7750),n=t(3506);A.exports=Object.setPrototypeOf||(\\\"__proto__\\\"in{}?function(){var A,e=!1,t={};try{(A=i(Object.prototype,\\\"__proto__\\\",\\\"set\\\"))(t,[]),e=t instanceof Array}catch(A){}return function(t,i){return s(t),n(i),a(t)?(e?A(t,i):t.__proto__=i,t):t}}():void 0)},4270:(A,e,t)=>{var i=t(9565),a=t(4901),s=t(34),n=TypeError;A.exports=function(A,e){var t,r;if(\\\"string\\\"===e&&a(t=A.toString)&&!s(r=i(t,A)))return r;if(a(t=A.valueOf)&&!s(r=i(t,A)))return r;if(\\\"string\\\"!==e&&a(t=A.toString)&&!s(r=i(t,A)))return r;throw new n(\\\"Can\\\\'t convert object to primitive value\\\")}},5031:(A,e,t)=>{var i=t(7751),a=t(9504),s=t(8480),n=t(3717),r=t(8551),g=a([].concat);A.exports=i(\\\"Reflect\\\",\\\"ownKeys\\\")||function(A){var e=s.f(r(A)),t=n.f;return t?g(e,t(A)):e}},7979:(A,e,t)=>{var i=t(8551);A.exports=function(){var A=i(this),e=\\\"\\\";return A.hasIndices&&(e+=\\\"d\\\"),A.global&&(e+=\\\"g\\\"),A.ignoreCase&&(e+=\\\"i\\\"),A.multiline&&(e+=\\\"m\\\"),A.dotAll&&(e+=\\\"s\\\"),A.unicode&&(e+=\\\"u\\\"),A.unicodeSets&&(e+=\\\"v\\\"),A.sticky&&(e+=\\\"y\\\"),e}},7750:(A,e,t)=>{var i=t(4117),a=TypeError;A.exports=function(A){if(i(A))throw new a(\\\"Can\\\\'t call method on \\\"+A);return A}},9286:(A,e,t)=>{var i=t(4402),a=t(8469),s=i.Set,n=i.add;A.exports=function(A){var e=new s;return a(A,(function(A){n(e,A)})),e}},3440:(A,e,t)=>{var i=t(7080),a=t(4402),s=t(9286),n=t(5170),r=t(3789),g=t(8469),o=t(507),I=a.has,c=a.remove;A.exports=function(A){var e=i(this),t=r(A),a=s(e);return n(e)<=t.size?g(e,(function(A){t.includes(A)&&c(a,A)})):o(t.getIterator(),(function(A){I(e,A)&&c(a,A)})),a}},4402:(A,e,t)=>{var i=t(9504),a=Set.prototype;A.exports={Set,add:i(a.add),has:i(a.has),remove:i(a.delete),proto:a}},8750:(A,e,t)=>{var i=t(7080),a=t(4402),s=t(5170),n=t(3789),r=t(8469),g=t(507),o=a.Set,I=a.add,c=a.has;A.exports=function(A){var e=i(this),t=n(A),a=new o;return s(e)>t.size?g(t.getIterator(),(function(A){c(e,A)&&I(a,A)})):r(e,(function(A){t.includes(A)&&I(a,A)})),a}},4449:(A,e,t)=>{var i=t(7080),a=t(4402).has,s=t(5170),n=t(3789),r=t(8469),g=t(507),o=t(9539);A.exports=function(A){var e=i(this),t=n(A);if(s(e)<=t.size)return!1!==r(e,(function(A){if(t.includes(A))return!1}),!0);var I=t.getIterator();return!1!==g(I,(function(A){if(a(e,A))return o(I,\\\"normal\\\",!1)}))}},3838:(A,e,t)=>{var i=t(7080),a=t(5170),s=t(8469),n=t(3789);A.exports=function(A){var e=i(this),t=n(A);return!(a(e)>t.size)&&!1!==s(e,(function(A){if(!t.includes(A))return!1}),!0)}},8527:(A,e,t)=>{var i=t(7080),a=t(4402).has,s=t(5170),n=t(3789),r=t(507),g=t(9539);A.exports=function(A){var e=i(this),t=n(A);if(s(e){var i=t(9504),a=t(507),s=t(4402),n=s.Set,r=s.proto,g=i(r.forEach),o=i(r.keys),I=o(new n).next;A.exports=function(A,e,t){return t?a({iterator:o(A),next:I},e):g(A,e)}},4916:(A,e,t)=>{var i=t(7751),a=function(A){return{size:A,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}};A.exports=function(A){var e=i(\\\"Set\\\");try{(new e)[A](a(0));try{return(new e)[A](a(-1)),!1}catch(A){return!0}}catch(A){return!1}}},5170:(A,e,t)=>{var i=t(6706),a=t(4402);A.exports=i(a.proto,\\\"size\\\",\\\"get\\\")||function(A){return A.size}},3650:(A,e,t)=>{var i=t(7080),a=t(4402),s=t(9286),n=t(3789),r=t(507),g=a.add,o=a.has,I=a.remove;A.exports=function(A){var e=i(this),t=n(A).getIterator(),a=s(e);return r(t,(function(A){o(e,A)?I(a,A):g(a,A)})),a}},4204:(A,e,t)=>{var i=t(7080),a=t(4402).add,s=t(9286),n=t(3789),r=t(507);A.exports=function(A){var e=i(this),t=n(A).getIterator(),g=s(e);return r(t,(function(A){a(g,A)})),g}},6119:(A,e,t)=>{var i=t(5745),a=t(3392),s=i(\\\"keys\\\");A.exports=function(A){return s[A]||(s[A]=a(A))}},7629:(A,e,t)=>{var i=t(6395),a=t(4475),s=t(9433),n=\\\"__core-js_shared__\\\",r=A.exports=a[n]||s(n,{});(r.versions||(r.versions=[])).push({version:\\\"3.37.1\\\",mode:i?\\\"pure\\\":\\\"global\\\",copyright:\\\"© 2014-2024 Denis Pushkarev (zloirock.ru)\\\",license:\\\"https://github.com/zloirock/core-js/blob/v3.37.1/LICENSE\\\",source:\\\"https://github.com/zloirock/core-js\\\"})},5745:(A,e,t)=>{var i=t(7629);A.exports=function(A,e){return i[A]||(i[A]=e||{})}},1548:(A,e,t)=>{var i=t(4475),a=t(9039),s=t(7388),n=t(7290),r=t(516),g=t(9088),o=i.structuredClone;A.exports=!!o&&!a((function(){if(r&&s>92||g&&s>94||n&&s>97)return!1;var A=new ArrayBuffer(8),e=o(A,{transfer:[A]});return 0!==A.byteLength||8!==e.byteLength}))},4495:(A,e,t)=>{var i=t(7388),a=t(9039),s=t(4475).String;A.exports=!!Object.getOwnPropertySymbols&&!a((function(){var A=Symbol(\\\"symbol detection\\\");return!s(A)||!(Object(A)instanceof Symbol)||!Symbol.sham&&i&&i<41}))},5610:(A,e,t)=>{var i=t(1291),a=Math.max,s=Math.min;A.exports=function(A,e){var t=i(A);return t<0?a(t+e,0):s(t,e)}},5854:(A,e,t)=>{var i=t(2777),a=TypeError;A.exports=function(A){var e=i(A,\\\"number\\\");if(\\\"number\\\"==typeof e)throw new a(\\\"Can\\\\'t convert number to bigint\\\");return BigInt(e)}},7696:(A,e,t)=>{var i=t(1291),a=t(8014),s=RangeError;A.exports=function(A){if(void 0===A)return 0;var e=i(A),t=a(e);if(e!==t)throw new s(\\\"Wrong length or index\\\");return t}},5397:(A,e,t)=>{var i=t(7055),a=t(7750);A.exports=function(A){return i(a(A))}},1291:(A,e,t)=>{var i=t(741);A.exports=function(A){var e=+A;return e!=e||0===e?0:i(e)}},8014:(A,e,t)=>{var i=t(1291),a=Math.min;A.exports=function(A){var e=i(A);return e>0?a(e,9007199254740991):0}},8981:(A,e,t)=>{var i=t(7750),a=Object;A.exports=function(A){return a(i(A))}},2777:(A,e,t)=>{var i=t(9565),a=t(34),s=t(757),n=t(5966),r=t(4270),g=t(8227),o=TypeError,I=g(\\\"toPrimitive\\\");A.exports=function(A,e){if(!a(A)||s(A))return A;var t,g=n(A,I);if(g){if(void 0===e&&(e=\\\"default\\\"),t=i(g,A,e),!a(t)||s(t))return t;throw new o(\\\"Can\\\\'t convert object to primitive value\\\")}return void 0===e&&(e=\\\"number\\\"),r(A,e)}},6969:(A,e,t)=>{var i=t(2777),a=t(757);A.exports=function(A){var e=i(A,\\\"string\\\");return a(e)?e:e+\\\"\\\"}},2140:(A,e,t)=>{var i={};i[t(8227)(\\\"toStringTag\\\")]=\\\"z\\\",A.exports=\\\"[object z]\\\"===String(i)},655:(A,e,t)=>{var i=t(6955),a=String;A.exports=function(A){if(\\\"Symbol\\\"===i(A))throw new TypeError(\\\"Cannot convert a Symbol value to a string\\\");return a(A)}},9714:(A,e,t)=>{var i=t(9088);A.exports=function(A){try{if(i)return Function(\\\\'return require(\\\"\\\\'+A+\\\\'\\\")\\\\')()}catch(A){}}},6823:A=>{var e=String;A.exports=function(A){try{return e(A)}catch(A){return\\\"Object\\\"}}},3392:(A,e,t)=>{var i=t(9504),a=0,s=Math.random(),n=i(1..toString);A.exports=function(A){return\\\"Symbol(\\\"+(void 0===A?\\\"\\\":A)+\\\")_\\\"+n(++a+s,36)}},7040:(A,e,t)=>{var i=t(4495);A.exports=i&&!Symbol.sham&&\\\"symbol\\\"==typeof Symbol.iterator},8686:(A,e,t)=>{var i=t(3724),a=t(9039);A.exports=i&&a((function(){return 42!==Object.defineProperty((function(){}),\\\"prototype\\\",{value:42,writable:!1}).prototype}))},2812:A=>{var e=TypeError;A.exports=function(A,t){if(A{var i=t(4475),a=t(4901),s=i.WeakMap;A.exports=a(s)&&/native code/.test(String(s))},8227:(A,e,t)=>{var i=t(4475),a=t(5745),s=t(9297),n=t(3392),r=t(4495),g=t(7040),o=i.Symbol,I=a(\\\"wks\\\"),c=g?o.for||o:o&&o.withoutSetter||n;A.exports=function(A){return s(I,A)||(I[A]=r&&s(o,A)?o[A]:c(\\\"Symbol.\\\"+A)),I[A]}},6573:(A,e,t)=>{var i=t(3724),a=t(2106),s=t(3238),n=ArrayBuffer.prototype;i&&!(\\\"detached\\\"in n)&&a(n,\\\"detached\\\",{configurable:!0,get:function(){return s(this)}})},7936:(A,e,t)=>{var i=t(6518),a=t(5636);a&&i({target:\\\"ArrayBuffer\\\",proto:!0},{transferToFixedLength:function(){return a(this,arguments.length?arguments[0]:void 0,!1)}})},8100:(A,e,t)=>{var i=t(6518),a=t(5636);a&&i({target:\\\"ArrayBuffer\\\",proto:!0},{transfer:function(){return a(this,arguments.length?arguments[0]:void 0,!0)}})},4114:(A,e,t)=>{var i=t(6518),a=t(8981),s=t(6198),n=t(4527),r=t(6837);i({target:\\\"Array\\\",proto:!0,arity:1,forced:t(9039)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],\\\"length\\\",{writable:!1}).push()}catch(A){return A instanceof TypeError}}()},{push:function(A){var e=a(this),t=s(e),i=arguments.length;r(t+i);for(var g=0;g{var i=t(6518),a=t(6043);i({target:\\\"Promise\\\",stat:!0},{withResolvers:function(){var A=a.f(this);return{promise:A.promise,resolve:A.resolve,reject:A.reject}}})},9479:(A,e,t)=>{var i=t(4475),a=t(3724),s=t(2106),n=t(7979),r=t(9039),g=i.RegExp,o=g.prototype;a&&r((function(){var A=!0;try{g(\\\".\\\",\\\"d\\\")}catch(e){A=!1}var e={},t=\\\"\\\",i=A?\\\"dgimsy\\\":\\\"gimsy\\\",a=function(A,i){Object.defineProperty(e,A,{get:function(){return t+=i,!0}})},s={dotAll:\\\"s\\\",global:\\\"g\\\",ignoreCase:\\\"i\\\",multiline:\\\"m\\\",sticky:\\\"y\\\"};for(var n in A&&(s.hasIndices=\\\"d\\\"),s)a(n,s[n]);return Object.getOwnPropertyDescriptor(o,\\\"flags\\\").get.call(e)!==i||t!==i}))&&s(o,\\\"flags\\\",{configurable:!0,get:n})},7642:(A,e,t)=>{var i=t(6518),a=t(3440);i({target:\\\"Set\\\",proto:!0,real:!0,forced:!t(4916)(\\\"difference\\\")},{difference:a})},8004:(A,e,t)=>{var i=t(6518),a=t(9039),s=t(8750);i({target:\\\"Set\\\",proto:!0,real:!0,forced:!t(4916)(\\\"intersection\\\")||a((function(){return\\\"3,2\\\"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))}))},{intersection:s})},3853:(A,e,t)=>{var i=t(6518),a=t(4449);i({target:\\\"Set\\\",proto:!0,real:!0,forced:!t(4916)(\\\"isDisjointFrom\\\")},{isDisjointFrom:a})},5876:(A,e,t)=>{var i=t(6518),a=t(3838);i({target:\\\"Set\\\",proto:!0,real:!0,forced:!t(4916)(\\\"isSubsetOf\\\")},{isSubsetOf:a})},2475:(A,e,t)=>{var i=t(6518),a=t(8527);i({target:\\\"Set\\\",proto:!0,real:!0,forced:!t(4916)(\\\"isSupersetOf\\\")},{isSupersetOf:a})},5024:(A,e,t)=>{var i=t(6518),a=t(3650);i({target:\\\"Set\\\",proto:!0,real:!0,forced:!t(4916)(\\\"symmetricDifference\\\")},{symmetricDifference:a})},1698:(A,e,t)=>{var i=t(6518),a=t(4204);i({target:\\\"Set\\\",proto:!0,real:!0,forced:!t(4916)(\\\"union\\\")},{union:a})},7467:(A,e,t)=>{var i=t(7628),a=t(4644),s=a.aTypedArray,n=a.exportTypedArrayMethod,r=a.getTypedArrayConstructor;n(\\\"toReversed\\\",(function(){return i(s(this),r(this))}))},4732:(A,e,t)=>{var i=t(4644),a=t(9504),s=t(9306),n=t(5370),r=i.aTypedArray,g=i.getTypedArrayConstructor,o=i.exportTypedArrayMethod,I=a(i.TypedArrayPrototype.sort);o(\\\"toSorted\\\",(function(A){void 0!==A&&s(A);var e=r(this),t=n(g(e),e);return I(t,A)}))},9577:(A,e,t)=>{var i=t(9928),a=t(4644),s=t(1108),n=t(1291),r=t(5854),g=a.aTypedArray,o=a.getTypedArrayConstructor,I=a.exportTypedArrayMethod,c=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(A){return 8===A}}();I(\\\"with\\\",{with:function(A,e){var t=g(this),a=n(A),I=s(t)?r(e):+e;return i(t,o(t),a,I)}}.with,!c)},8992:(A,e,t)=>{var i=t(6518),a=t(4475),s=t(679),n=t(8551),r=t(4901),g=t(2787),o=t(2106),I=t(4659),c=t(9039),C=t(9297),h=t(8227),B=t(7657).IteratorPrototype,l=t(3724),Q=t(6395),E=\\\"constructor\\\",u=\\\"Iterator\\\",d=h(\\\"toStringTag\\\"),f=TypeError,p=a[u],m=Q||!r(p)||p.prototype!==B||!c((function(){p({})})),y=function(){if(s(this,B),g(this)===B)throw new f(\\\"Abstract class Iterator not directly constructable\\\")},w=function(A,e){l?o(B,A,{configurable:!0,get:function(){return e},set:function(e){if(n(this),this===B)throw new f(\\\"You can\\\\'t redefine this property\\\");C(this,A)?this[A]=e:I(this,A,e)}}):B[A]=e};C(B,d)||w(d,u),!m&&C(B,E)&&B[E]!==Object||w(E,y),y.prototype=B,i({global:!0,constructor:!0,forced:m},{Iterator:y})},3215:(A,e,t)=>{var i=t(6518),a=t(2652),s=t(9306),n=t(8551),r=t(1767);i({target:\\\"Iterator\\\",proto:!0,real:!0},{every:function(A){n(this),s(A);var e=r(this),t=0;return!a(e,(function(e,i){if(!A(e,t++))return i()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},4520:(A,e,t)=>{var i=t(6518),a=t(9565),s=t(9306),n=t(8551),r=t(1767),g=t(9462),o=t(6319),I=t(6395),c=g((function(){for(var A,e,t=this.iterator,i=this.predicate,s=this.next;;){if(A=n(a(s,t)),this.done=!!A.done)return;if(e=A.value,o(t,i,[e,this.counter++],!0))return e}}));i({target:\\\"Iterator\\\",proto:!0,real:!0,forced:I},{filter:function(A){return n(this),s(A),new c(r(this),{predicate:A})}})},2577:(A,e,t)=>{var i=t(6518),a=t(2652),s=t(9306),n=t(8551),r=t(1767);i({target:\\\"Iterator\\\",proto:!0,real:!0},{find:function(A){n(this),s(A);var e=r(this),t=0;return a(e,(function(e,i){if(A(e,t++))return i(e)}),{IS_RECORD:!0,INTERRUPTED:!0}).result}})},3949:(A,e,t)=>{var i=t(6518),a=t(2652),s=t(9306),n=t(8551),r=t(1767);i({target:\\\"Iterator\\\",proto:!0,real:!0},{forEach:function(A){n(this),s(A);var e=r(this),t=0;a(e,(function(e){A(e,t++)}),{IS_RECORD:!0})}})},1454:(A,e,t)=>{var i=t(6518),a=t(713);i({target:\\\"Iterator\\\",proto:!0,real:!0,forced:t(6395)},{map:a})},8872:(A,e,t)=>{var i=t(6518),a=t(2652),s=t(9306),n=t(8551),r=t(1767),g=TypeError;i({target:\\\"Iterator\\\",proto:!0,real:!0},{reduce:function(A){n(this),s(A);var e=r(this),t=arguments.length<2,i=t?void 0:arguments[1],o=0;if(a(e,(function(e){t?(t=!1,i=e):i=A(i,e,o),o++}),{IS_RECORD:!0}),t)throw new g(\\\"Reduce of empty iterator with no initial value\\\");return i}})},7550:(A,e,t)=>{var i=t(6518),a=t(2652),s=t(9306),n=t(8551),r=t(1767);i({target:\\\"Iterator\\\",proto:!0,real:!0},{some:function(A){n(this),s(A);var e=r(this),t=0;return a(e,(function(e,i){if(A(e,t++))return i()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},1795:(A,e,t)=>{var i=t(6518),a=t(8551),s=t(2652),n=t(1767),r=[].push;i({target:\\\"Iterator\\\",proto:!0,real:!0},{toArray:function(){var A=[];return s(n(a(this)),r,{that:A,IS_RECORD:!0}),A}})},3375:(A,e,t)=>{t(7642)},9225:(A,e,t)=>{t(8004)},3972:(A,e,t)=>{t(3853)},9209:(A,e,t)=>{t(5876)},5714:(A,e,t)=>{t(2475)},7561:(A,e,t)=>{t(5024)},6197:(A,e,t)=>{t(1698)},4979:(A,e,t)=>{var i=t(6518),a=t(4475),s=t(7751),n=t(6980),r=t(4913).f,g=t(9297),o=t(679),I=t(3167),c=t(2603),C=t(5002),h=t(6193),B=t(3724),l=t(6395),Q=\\\"DOMException\\\",E=s(\\\"Error\\\"),u=s(Q),d=function(){o(this,f);var A=arguments.length,e=c(A<1?void 0:arguments[0]),t=c(A<2?void 0:arguments[1],\\\"Error\\\"),i=new u(e,t),a=new E(e);return a.name=Q,r(i,\\\"stack\\\",n(1,h(a.stack,1))),I(i,this,d),i},f=d.prototype=u.prototype,p=\\\"stack\\\"in new E(Q),m=\\\"stack\\\"in new u(1,2),y=u&&B&&Object.getOwnPropertyDescriptor(a,Q),w=!(!y||y.writable&&y.configurable),D=p&&!w&&!m;i({global:!0,constructor:!0,forced:l||D},{DOMException:D?d:u});var b=s(Q),k=b.prototype;if(k.constructor!==b)for(var F in l||r(k,\\\"constructor\\\",n(1,b)),C)if(g(C,F)){var S=C[F],R=S.s;g(b,R)||r(b,R,n(6,S.c))}},3611:(A,e,t)=>{var i=t(6518),a=t(4475),s=t(2106),n=t(3724),r=TypeError,g=Object.defineProperty,o=a.self!==a;try{if(n){var I=Object.getOwnPropertyDescriptor(a,\\\"self\\\");!o&&I&&I.get&&I.enumerable||s(a,\\\"self\\\",{get:function(){return a},set:function(A){if(this!==a)throw new r(\\\"Illegal invocation\\\");g(a,\\\"self\\\",{value:A,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else i({global:!0,simple:!0,forced:o},{self:a})}catch(A){}},4603:(A,e,t)=>{var i=t(6840),a=t(9504),s=t(655),n=t(2812),r=URLSearchParams,g=r.prototype,o=a(g.append),I=a(g.delete),c=a(g.forEach),C=a([].push),h=new r(\\\"a=1&a=2&b=3\\\");h.delete(\\\"a\\\",1),h.delete(\\\"b\\\",void 0),h+\\\"\\\"!=\\\"a=2\\\"&&i(g,\\\"delete\\\",(function(A){var e=arguments.length,t=e<2?void 0:arguments[1];if(e&&void 0===t)return I(this,A);var i=[];c(this,(function(A,e){C(i,{key:e,value:A})})),n(e,1);for(var a,r=s(A),g=s(t),h=0,B=0,l=!1,Q=i.length;h{var i=t(6840),a=t(9504),s=t(655),n=t(2812),r=URLSearchParams,g=r.prototype,o=a(g.getAll),I=a(g.has),c=new r(\\\"a=1\\\");!c.has(\\\"a\\\",2)&&c.has(\\\"a\\\",void 0)||i(g,\\\"has\\\",(function(A){var e=arguments.length,t=e<2?void 0:arguments[1];if(e&&void 0===t)return I(this,A);var i=o(this,A);n(e,1);for(var a=s(t),r=0;r{var i=t(3724),a=t(9504),s=t(2106),n=URLSearchParams.prototype,r=a(n.forEach);i&&!(\\\"size\\\"in n)&&s(n,\\\"size\\\",{get:function(){var A=0;return r(this,(function(){A++})),A},configurable:!0,enumerable:!0})}},e={};function t(i){var a=e[i];if(void 0!==a)return a.exports;var s=e[i]={exports:{}};return A[i].call(s.exports,s,s.exports,t),s.exports}t.d=(A,e)=>{for(var i in e)t.o(e,i)&&!t.o(A,i)&&Object.defineProperty(A,i,{enumerable:!0,get:e[i]})},t.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e);var i=globalThis.pdfjsWorker={};t.d(i,{WorkerMessageHandler:()=>Gd}),t(4114),t(6573),t(8100),t(7936),t(4628),t(7467),t(4732),t(9577),t(8992),t(3949),t(1454),t(7550),t(3375),t(9225),t(3972),t(9209),t(5714),t(7561),t(6197),t(3611),t(4603),t(7566),t(8721);const a=!(\\\"object\\\"!=typeof process||process+\\\"\\\"!=\\\"[object process]\\\"||process.versions.nw||process.versions.electron&&process.type&&\\\"browser\\\"!==process.type),s=[1,0,0,1,0,0],n=[.001,0,0,.001,0,0],r=1.35,g=.25925925925925924,o=\\\"pdfjs_internal_editor_\\\",I={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},c=\\\"Group\\\",C=8192,h=65536,B={E:\\\"Mouse Enter\\\",X:\\\"Mouse Exit\\\",D:\\\"Mouse Down\\\",U:\\\"Mouse Up\\\",Fo:\\\"Focus\\\",Bl:\\\"Blur\\\",PO:\\\"PageOpen\\\",PC:\\\"PageClose\\\",PV:\\\"PageVisible\\\",PI:\\\"PageInvisible\\\",K:\\\"Keystroke\\\",F:\\\"Format\\\",V:\\\"Validate\\\",C:\\\"Calculate\\\"},l={WC:\\\"WillClose\\\",WS:\\\"WillSave\\\",DS:\\\"DidSave\\\",WP:\\\"WillPrint\\\",DP:\\\"DidPrint\\\"},Q={O:\\\"PageOpen\\\",C:\\\"PageClose\\\"},E=1,u=5,d=0,f=1,p=10,m=11,y=12,w=37,D=44,b=58,k=59,F=70,S=71,R=83,G=85;let N=E;function x(A){N>=u&&console.log(`Info: ${A}`)}function U(A){N>=E&&console.log(`Warning: ${A}`)}function M(A){throw new Error(A)}function L(A,e){A||M(e)}function J(A,e=null,t=null){if(!A)return null;try{if(t&&\\\"string\\\"==typeof A){if(t.addDefaultProtocol&&A.startsWith(\\\"www.\\\")){A.match(/\\\\\\\\./g)?.length>=2&&(A=`http://${A}`)}if(t.tryConvertEncoding)try{A=tA(A)}catch{}}const i=e?new URL(A,e):new URL(A);if(function(A){switch(A?.protocol){case\\\"http:\\\":case\\\"https:\\\":case\\\"ftp:\\\":case\\\"mailto:\\\":case\\\"tel:\\\":return!0;default:return!1}}(i))return i}catch{}return null}function H(A,e,t,i=!1){return Object.defineProperty(A,e,{value:t,enumerable:!i,configurable:!0,writable:!1}),t}const Y=function(){function A(e,t){this.constructor===A&&M(\\\"Cannot initialize BaseException.\\\"),this.message=e,this.name=t}return A.prototype=new Error,A.constructor=A,A}();class v extends Y{constructor(A,e){super(A,\\\"PasswordException\\\"),this.code=e}}class K extends Y{constructor(A,e){super(A,\\\"UnknownErrorException\\\"),this.details=e}}class q extends Y{constructor(A){super(A,\\\"InvalidPDFException\\\")}}class T extends Y{constructor(A){super(A,\\\"MissingPDFException\\\")}}class P extends Y{constructor(A,e){super(A,\\\"UnexpectedResponseException\\\"),this.status=e}}class W extends Y{constructor(A){super(A,\\\"FormatError\\\")}}class O extends Y{constructor(A){super(A,\\\"AbortException\\\")}}function Z(A){\\\"object\\\"==typeof A&&void 0!==A?.length||M(\\\"Invalid argument for bytesToString\\\");const e=A.length,t=8192;if(e>24&255,A>>16&255,A>>8&255,255&A)}function V(A){return Object.keys(A).length}class z{static get isLittleEndian(){return H(this,\\\"isLittleEndian\\\",function(){const A=new Uint8Array(4);return A[0]=1,1===new Uint32Array(A.buffer,0,1)[0]}())}static get isEvalSupported(){return H(this,\\\"isEvalSupported\\\",function(){try{return new Function(\\\"\\\"),!0}catch{return!1}}())}static get isOffscreenCanvasSupported(){return H(this,\\\"isOffscreenCanvasSupported\\\",\\\"undefined\\\"!=typeof OffscreenCanvas)}static get platform(){return\\\"undefined\\\"!=typeof navigator&&\\\"string\\\"==typeof navigator?.platform?H(this,\\\"platform\\\",{isMac:navigator.platform.includes(\\\"Mac\\\")}):H(this,\\\"platform\\\",{isMac:!1})}static get isCSSRoundSupported(){return H(this,\\\"isCSSRoundSupported\\\",globalThis.CSS?.supports?.(\\\"width: round(1.5px, 1px)\\\"))}}const _=Array.from(Array(256).keys(),(A=>A.toString(16).padStart(2,\\\"0\\\")));class ${static makeHexColor(A,e,t){return`#${_[A]}${_[e]}${_[t]}`}static scaleMinMax(A,e){let t;A[0]?(A[0]<0&&(t=e[0],e[0]=e[2],e[2]=t),e[0]*=A[0],e[2]*=A[0],A[3]<0&&(t=e[1],e[1]=e[3],e[3]=t),e[1]*=A[3],e[3]*=A[3]):(t=e[0],e[0]=e[1],e[1]=t,t=e[2],e[2]=e[3],e[3]=t,A[1]<0&&(t=e[1],e[1]=e[3],e[3]=t),e[1]*=A[1],e[3]*=A[1],A[2]<0&&(t=e[0],e[0]=e[2],e[2]=t),e[0]*=A[2],e[2]*=A[2]),e[0]+=A[4],e[1]+=A[5],e[2]+=A[4],e[3]+=A[5]}static transform(A,e){return[A[0]*e[0]+A[2]*e[1],A[1]*e[0]+A[3]*e[1],A[0]*e[2]+A[2]*e[3],A[1]*e[2]+A[3]*e[3],A[0]*e[4]+A[2]*e[5]+A[4],A[1]*e[4]+A[3]*e[5]+A[5]]}static applyTransform(A,e){return[A[0]*e[0]+A[1]*e[2]+e[4],A[0]*e[1]+A[1]*e[3]+e[5]]}static applyInverseTransform(A,e){const t=e[0]*e[3]-e[1]*e[2];return[(A[0]*e[3]-A[1]*e[2]+e[2]*e[5]-e[4]*e[3])/t,(-A[0]*e[1]+A[1]*e[0]+e[4]*e[1]-e[5]*e[0])/t]}static getAxialAlignedBoundingBox(A,e){const t=this.applyTransform(A,e),i=this.applyTransform(A.slice(2,4),e),a=this.applyTransform([A[0],A[3]],e),s=this.applyTransform([A[2],A[1]],e);return[Math.min(t[0],i[0],a[0],s[0]),Math.min(t[1],i[1],a[1],s[1]),Math.max(t[0],i[0],a[0],s[0]),Math.max(t[1],i[1],a[1],s[1])]}static inverseTransform(A){const e=A[0]*A[3]-A[1]*A[2];return[A[3]/e,-A[1]/e,-A[2]/e,A[0]/e,(A[2]*A[5]-A[4]*A[3])/e,(A[4]*A[1]-A[5]*A[0])/e]}static singularValueDecompose2dScale(A){const e=[A[0],A[2],A[1],A[3]],t=A[0]*e[0]+A[1]*e[2],i=A[0]*e[1]+A[1]*e[3],a=A[2]*e[0]+A[3]*e[2],s=A[2]*e[1]+A[3]*e[3],n=(t+s)/2,r=Math.sqrt((t+s)**2-4*(t*s-a*i))/2,g=n+r||1,o=n-r||1;return[Math.sqrt(g),Math.sqrt(o)]}static normalizeRect(A){const e=A.slice(0);return A[0]>A[2]&&(e[0]=A[2],e[2]=A[0]),A[1]>A[3]&&(e[1]=A[3],e[3]=A[1]),e}static intersect(A,e){const t=Math.max(Math.min(A[0],A[2]),Math.min(e[0],e[2])),i=Math.min(Math.max(A[0],A[2]),Math.max(e[0],e[2]));if(t>i)return null;const a=Math.max(Math.min(A[1],A[3]),Math.min(e[1],e[3])),s=Math.min(Math.max(A[1],A[3]),Math.max(e[1],e[3]));return a>s?null:[t,a,i,s]}static#A(A,e,t,i,a,s,n,r,g,o){if(g<=0||g>=1)return;const I=1-g,c=g*g,C=c*g,h=I*(I*(I*A+3*g*e)+3*c*t)+C*i,B=I*(I*(I*a+3*g*s)+3*c*n)+C*r;o[0]=Math.min(o[0],h),o[1]=Math.min(o[1],B),o[2]=Math.max(o[2],h),o[3]=Math.max(o[3],B)}static#e(A,e,t,i,a,s,n,r,g,o,I,c){if(Math.abs(g)<1e-12)return void(Math.abs(o)>=1e-12&&this.#A(A,e,t,i,a,s,n,r,-I/o,c));const C=o**2-4*I*g;if(C<0)return;const h=Math.sqrt(C),B=2*g;this.#A(A,e,t,i,a,s,n,r,(-o+h)/B,c),this.#A(A,e,t,i,a,s,n,r,(-o-h)/B,c)}static bezierBoundingBox(A,e,t,i,a,s,n,r,g){return g?(g[0]=Math.min(g[0],A,n),g[1]=Math.min(g[1],e,r),g[2]=Math.max(g[2],A,n),g[3]=Math.max(g[3],e,r)):g=[Math.min(A,n),Math.min(e,r),Math.max(A,n),Math.max(e,r)],this.#e(A,t,a,n,e,i,s,r,3*(3*(t-a)-A+n),6*(A-2*t+a),3*(t-A),g),this.#e(A,t,a,n,e,i,s,r,3*(3*(i-s)-e+r),6*(e-2*i+s),3*(i-e),g),g}}const AA=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];function eA(A){if(A[0]>=\\\"ï\\\"){let e;if(\\\"þ\\\"===A[0]&&\\\"ÿ\\\"===A[1]?(e=\\\"utf-16be\\\",A.length%2==1&&(A=A.slice(0,-1))):\\\"ÿ\\\"===A[0]&&\\\"þ\\\"===A[1]?(e=\\\"utf-16le\\\",A.length%2==1&&(A=A.slice(0,-1))):\\\"ï\\\"===A[0]&&\\\"»\\\"===A[1]&&\\\"¿\\\"===A[2]&&(e=\\\"utf-8\\\"),e)try{const t=new TextDecoder(e,{fatal:!0}),i=j(A),a=t.decode(i);return a.includes(\\\"\\u001b\\\")?a.replaceAll(/\\\\\\\\x1b[^\\\\\\\\x1b]*(?:\\\\\\\\x1b|$)/g,\\\"\\\"):a}catch(A){U(`stringToPDFString: \\\"${A}\\\".`)}}const e=[];for(let t=0,i=A.length;t{M(\\\"Should not call `set` on the empty dictionary.\\\")},H(this,\\\"empty\\\",A)}static merge({xref:A,dictArray:e,mergeSubDicts:t=!1}){const i=new QA(A),a=new Map;for(const A of e)if(A instanceof QA)for(const[e,i]of Object.entries(A._map)){let A=a.get(e);if(void 0===A)A=[],a.set(e,A);else if(!(t&&i instanceof QA))continue;A.push(i)}for(const[e,t]of a){if(1===t.length||!(t[0]instanceof QA)){i._map[e]=t[0];continue}const a=new QA(A);for(const A of t)for(const[e,t]of Object.entries(A._map))void 0===a._map[e]&&(a._map[e]=t);a.size>0&&(i._map[e]=a)}return a.clear(),i.size>0?i:QA.empty}clone(){const A=new QA(this.xref);for(const e of this.getKeys())A.set(e,this.getRaw(e));return A}delete(A){delete this._map[A]}}class EA{constructor(A,e){this.num=A,this.gen=e}toString(){return 0===this.gen?`${this.num}R`:`${this.num}R${this.gen}`}static fromString(A){const e=CA[A];if(e)return e;const t=/^(\\\\\\\\d+)R(\\\\\\\\d*)$/.exec(A);return t&&\\\"0\\\"!==t[1]?CA[A]=new EA(parseInt(t[1]),t[2]?parseInt(t[2]):0):null}static get(A,e){const t=0===e?`${A}R`:`${A}R${e}`;return CA[t]||=new EA(A,e)}}class uA{constructor(A=null){this._set=new Set(A?._set)}has(A){return this._set.has(A.toString())}put(A){this._set.add(A.toString())}remove(A){this._set.delete(A.toString())}[Symbol.iterator](){return this._set.values()}clear(){this._set.clear()}}class dA{constructor(){this._map=new Map}get size(){return this._map.size}get(A){return this._map.get(A.toString())}has(A){return this._map.has(A.toString())}put(A,e){this._map.set(A.toString(),e)}putAlias(A,e){this._map.set(A.toString(),this.get(e))}[Symbol.iterator](){return this._map.values()}clear(){this._map.clear()}*items(){for(const[A,e]of this._map)yield[EA.fromString(A),e]}}function fA(A,e){return A instanceof hA&&(void 0===e||A.name===e)}function pA(A,e){return A instanceof BA&&(void 0===e||A.cmd===e)}function mA(A,e){return A instanceof QA&&(void 0===e||fA(A.get(\\\"Type\\\"),e))}function yA(A,e){return A.num===e.num&&A.gen===e.gen}class wA{constructor(){this.constructor===wA&&M(\\\"Cannot initialize BaseStream.\\\")}get length(){M(\\\"Abstract getter `length` accessed\\\")}get isEmpty(){M(\\\"Abstract getter `isEmpty` accessed\\\")}get isDataLoaded(){return H(this,\\\"isDataLoaded\\\",!0)}getByte(){M(\\\"Abstract method `getByte` called\\\")}getBytes(A){M(\\\"Abstract method `getBytes` called\\\")}async getImageData(A,e){return this.getBytes(A,e)}async asyncGetBytes(){M(\\\"Abstract method `asyncGetBytes` called\\\")}get isAsync(){return!1}get canAsyncDecodeImageFromBuffer(){return!1}peekByte(){const A=this.getByte();return-1!==A&&this.pos--,A}peekBytes(A){const e=this.getBytes(A);return this.pos-=e.length,e}getUint16(){const A=this.getByte(),e=this.getByte();return-1===A||-1===e?-1:(A<<8)+e}getInt32(){return(this.getByte()<<24)+(this.getByte()<<16)+(this.getByte()<<8)+this.getByte()}getByteRange(A,e){M(\\\"Abstract method `getByteRange` called\\\")}getString(A){return Z(this.getBytes(A))}skip(A){this.pos+=A||1}reset(){M(\\\"Abstract method `reset` called\\\")}moveStart(){M(\\\"Abstract method `moveStart` called\\\")}makeSubStream(A,e,t=null){M(\\\"Abstract method `makeSubStream` called\\\")}getBaseStreams(){return null}}const DA=/^[1-9]\\\\\\\\.\\\\\\\\d$/;function bA(A){let e;return function(){return A&&(e=Object.create(null),A(e),A=null),e}}class kA extends Y{constructor(A,e){super(`Missing data [${A}, ${e})`,\\\"MissingDataException\\\"),this.begin=A,this.end=e}}class FA extends Y{constructor(A){super(A,\\\"ParserEOFException\\\")}}class SA extends Y{constructor(A){super(A,\\\"XRefEntryException\\\")}}class RA extends Y{constructor(A){super(A,\\\"XRefParseException\\\")}}function GA(A){const e=A.length;if(0===e)return new Uint8Array(0);if(1===e)return new Uint8Array(A[0]);let t=0;for(let i=0;i0,\\\"The number should be a positive integer.\\\");const t=[];let i;for(;A>=1e3;)A-=1e3,t.push(\\\"M\\\");i=A/100|0,A%=100,t.push(xA[i]),i=A/10|0,A%=10,t.push(xA[10+i]),t.push(xA[20+A]);const a=t.join(\\\"\\\");return e?a.toLowerCase():a}function MA(A){return A<=0?0:Math.ceil(Math.log2(A))}function LA(A,e){return A[e]<<24>>24}function JA(A,e){return A[e]<<8|A[e+1]}function HA(A,e){return(A[e]<<24|A[e+1]<<16|A[e+2]<<8|A[e+3])>>>0}function YA(A){return 32===A||9===A||13===A||10===A}function vA(A,e){return Array.isArray(A)&&(null===e||A.length===e)&&A.every((A=>\\\"number\\\"==typeof A))}function KA(A,e){return vA(A,6)?A:e}function qA(A,e){return vA(A,4)?A:e}function TA(A,e){return vA(A,4)?$.normalizeRect(A):e}function PA(A){const e=/(.+)\\\\\\\\[(\\\\\\\\d+)\\\\\\\\]$/;return A.split(\\\".\\\").map((A=>{const t=A.match(e);return t?{name:t[1],pos:parseInt(t[2],10)}:{name:A,pos:0}}))}function WA(A){const e=[];let t=0;for(let i=0,a=A.length;i126||35===a||40===a||41===a||60===a||62===a||91===a||93===a||123===a||125===a||47===a||37===a)&&(t\\\"\\\\\\\\n\\\"===A?\\\"\\\\\\\\\\\\\\\\n\\\":\\\"\\\\\\\\r\\\"===A?\\\"\\\\\\\\\\\\\\\\r\\\":`\\\\\\\\\\\\\\\\${A}`))}function ZA(A,e,t,i){if(!A)return;let a=null;if(A instanceof EA){if(i.has(A))return;a=A,i.put(a),A=e.fetch(A)}if(Array.isArray(A))for(const a of A)ZA(a,e,t,i);else if(A instanceof QA){if(fA(A.get(\\\"S\\\"),\\\"JavaScript\\\")){const e=A.get(\\\"JS\\\");let i;e instanceof wA?i=e.getString():\\\"string\\\"==typeof e&&(i=e),i&&=eA(i).replaceAll(\\\"\\\\\\\\0\\\",\\\"\\\"),i&&t.push(i)}ZA(A.getRaw(\\\"Next\\\"),e,t,i)}a&&i.remove(a)}function jA(A,e,t){const i=Object.create(null),a=NA({dict:e,key:\\\"AA\\\",stopWhenFound:!1});if(a)for(let e=a.length-1;e>=0;e--){const s=a[e];if(s instanceof QA)for(const e of s.getKeys()){const a=t[e];if(!a)continue;const n=[];ZA(s.getRaw(e),A,n,new uA),n.length>0&&(i[a]=n)}}if(e.has(\\\"A\\\")){const t=[];ZA(e.get(\\\"A\\\"),A,t,new uA),t.length>0&&(i.Action=t)}return V(i)>0?i:null}const XA={60:\\\"<\\\",62:\\\">\\\",38:\\\"&\\\",34:\\\""\\\",39:\\\"'\\\"};function*VA(A){for(let e=0,t=A.length;e55295&&(t<57344||t>65533)&&e++,yield t}}function zA(A){const e=[];let t=0;for(let i=0,a=A.length;i55295&&(a<57344||a>65533)&&i++,t=i+1}return 0===e.length?A:(t: ${A}.`),!1;return!0}function $A(A){const e=new Set([\\\"100\\\",\\\"200\\\",\\\"300\\\",\\\"400\\\",\\\"500\\\",\\\"600\\\",\\\"700\\\",\\\"800\\\",\\\"900\\\",\\\"1000\\\",\\\"normal\\\",\\\"bold\\\",\\\"bolder\\\",\\\"lighter\\\"]),{fontFamily:t,fontWeight:i,italicAngle:a}=A;if(!_A(t,!0))return!1;const s=i?i.toString():\\\"\\\";A.fontWeight=e.has(s)?s:\\\"400\\\";const n=parseFloat(a);return A.italicAngle=isNaN(n)||n<-90||n>90?\\\"14\\\":a.toString(),!0}function Ae(A){const e=new RegExp(\\\"^\\\\\\\\\\\\\\\\s*(\\\"+[\\\"app.launchURL\\\",\\\"window.open\\\",\\\"xfa.host.gotoURL\\\"].join(\\\"|\\\").replaceAll(\\\".\\\",\\\"\\\\\\\\\\\\\\\\.\\\")+\\\")\\\\\\\\\\\\\\\\((?:\\\\'|\\\\\\\\\\\")([^\\\\'\\\\\\\\\\\"]*)(?:\\\\'|\\\\\\\\\\\")(?:,\\\\\\\\\\\\\\\\s*(\\\\\\\\\\\\\\\\w+)\\\\\\\\\\\\\\\\)|\\\\\\\\\\\\\\\\))\\\",\\\"i\\\").exec(A);if(e?.[2]){const A=e[2];let t=!1;return\\\"true\\\"===e[3]&&\\\"app.launchURL\\\"===e[1]&&(t=!0),{url:A,newWindow:t}}return null}function ee(A){if(Number.isInteger(A))return A.toString();const e=Math.round(100*A);return e%100==0?(e/100).toString():e%10==0?A.toFixed(1):A.toFixed(2)}function te(A){if(!A)return null;const e=new Map;for(const[t,i]of A){if(!t.startsWith(o))continue;let A=e.get(i.pageIndex);A||(A=[],e.set(i.pageIndex,A)),A.push(i)}return e.size>0?e:null}function ie(A){return function(A){return/^[\\\\\\\\x00-\\\\\\\\x7F]*$/.test(A)}(A)?A:se(A,!0)}function ae(A){const e=[];for(let t=0,i=A.length;t>8&255).toString(16).padStart(2,\\\"0\\\"),(255&i).toString(16).padStart(2,\\\"0\\\"))}return e.join(\\\"\\\")}function se(A,e=!1){const t=[];e&&t.push(\\\"þÿ\\\");for(let e=0,i=A.length;e>8&255),String.fromCharCode(255&i))}return t.join(\\\"\\\")}function ne(A,e,t){switch(A){case 90:return[0,1,-1,0,e,0];case 180:return[-1,0,0,-1,e,t];case 270:return[0,-1,1,0,0,t];default:throw new Error(\\\"Invalid rotation\\\")}}function re(A){return Math.ceil(Math.ceil(Math.log2(1+A))/8)}class ge extends wA{constructor(A,e,t,i){super(),this.bytes=A instanceof Uint8Array?A:new Uint8Array(A),this.start=e||0,this.pos=this.start,this.end=e+t||this.bytes.length,this.dict=i}get length(){return this.end-this.start}get isEmpty(){return 0===this.length}getByte(){return this.pos>=this.end?-1:this.bytes[this.pos++]}getBytes(A){const e=this.bytes,t=this.pos,i=this.end;if(!A)return e.subarray(t,i);let a=t+A;return a>i&&(a=i),this.pos=a,e.subarray(t,a)}getByteRange(A,e){return A<0&&(A=0),e>this.end&&(e=this.end),this.bytes.subarray(A,e)}reset(){this.pos=this.start}moveStart(){this.start=this.pos}makeSubStream(A,e,t=null){return new ge(this.bytes.buffer,A,e,t)}}class oe extends ge{constructor(A){super(j(A))}}class Ie extends ge{constructor(){super(new Uint8Array(0))}}class ce extends ge{constructor(A,e,t){super(new Uint8Array(A),0,A,null),this.chunkSize=e,this._loadedChunks=new Set,this.numChunks=Math.ceil(A/e),this.manager=t,this.progressiveDataLength=0,this.lastSuccessfulEnsureByteChunk=-1}getMissingChunks(){const A=[];for(let e=0,t=this.numChunks;e=this.end?this.numChunks:Math.floor(e/this.chunkSize);for(let A=t;Athis.numChunks)&&e!==this.lastSuccessfulEnsureByteChunk){if(!this._loadedChunks.has(e))throw new kA(A,A+1);this.lastSuccessfulEnsureByteChunk=e}}ensureRange(A,e){if(A>=e)return;if(e<=this.progressiveDataLength)return;const t=Math.floor(A/this.chunkSize);if(t>this.numChunks)return;const i=Math.min(Math.floor((e-1)/this.chunkSize)+1,this.numChunks);for(let a=t;a=this.end?-1:(A>=this.progressiveDataLength&&this.ensureByte(A),this.bytes[this.pos++])}getBytes(A){const e=this.bytes,t=this.pos,i=this.end;if(!A)return i>this.progressiveDataLength&&this.ensureRange(t,i),e.subarray(t,i);let a=t+A;return a>i&&(a=i),a>this.progressiveDataLength&&this.ensureRange(t,a),this.pos=a,e.subarray(t,a)}getByteRange(A,e){return A<0&&(A=0),e>this.end&&(e=this.end),e>this.progressiveDataLength&&this.ensureRange(A,e),this.bytes.subarray(A,e)}makeSubStream(A,e,t=null){function i(){}e?A+e>this.progressiveDataLength&&this.ensureRange(A,A+e):A>=this.progressiveDataLength&&this.ensureByte(A),i.prototype=Object.create(this),i.prototype.getMissingChunks=function(){const A=this.chunkSize,e=Math.floor(this.start/A),t=Math.floor((this.end-1)/A)+1,i=[];for(let A=e;A{const s=({value:n,done:r})=>{try{if(r){const e=GA(i);return i=null,void A(e)}a+=n.byteLength,t.isStreamingSupported&&this.onProgress({loaded:a}),i.push(n),t.read().then(s,e)}catch(A){e(A)}};t.read().then(s,e)})).then((e=>{this.aborted||this.onReceiveData({chunk:e,begin:A})}))}requestAllChunks(A=!1){if(!A){const A=this.stream.getMissingChunks();this._requestChunks(A)}return this._loadedStreamCapability.promise}_requestChunks(A){const e=this.currRequestId++,t=new Set;this._chunksNeededByRequest.set(e,t);for(const e of A)this.stream.hasChunk(e)||t.add(e);if(0===t.size)return Promise.resolve();const i=Promise.withResolvers();this._promisesByRequest.set(e,i);const a=[];for(const A of t){let t=this._requestsByChunk.get(A);t||(t=[],this._requestsByChunk.set(A,t),a.push(A)),t.push(e)}if(a.length>0){const A=this.groupChunks(a);for(const e of A){const A=e.beginChunk*this.chunkSize,t=Math.min(e.endChunk*this.chunkSize,this.length);this.sendRequest(A,t).catch(i.reject)}}return i.promise.catch((A=>{if(!this.aborted)throw A}))}getStream(){return this.stream}requestRange(A,e){e=Math.min(e,this.length);const t=this.getBeginChunk(A),i=this.getEndChunk(e),a=[];for(let A=t;A=0&&i+1!==s&&(e.push({beginChunk:t,endChunk:i+1}),t=s),a+1===A.length&&e.push({beginChunk:t,endChunk:s+1}),i=s}return e}onProgress(A){this.msgHandler.send(\\\"DocProgress\\\",{loaded:this.stream.numChunksLoaded*this.chunkSize+A.loaded,total:this.length})}onReceiveData(A){const e=A.chunk,t=void 0===A.begin,i=t?this.progressiveDataLength:A.begin,a=i+e.byteLength,s=Math.floor(i/this.chunkSize),n=a0||r.push(t)}}}if(!this.disableAutoFetch&&0===this._requestsByChunk.size){let A;if(1===this.stream.numChunksLoaded){const e=this.stream.numChunks-1;this.stream.hasChunk(e)||(A=e)}else A=this.stream.nextEmptyChunk(n);Number.isInteger(A)&&this._requestChunks([A])}for(const A of r){const e=this._promisesByRequest.get(A);this._promisesByRequest.delete(A),e.resolve()}this.msgHandler.send(\\\"DocProgress\\\",{loaded:this.stream.numChunksLoaded*this.chunkSize,total:this.length})}onError(A){this._loadedStreamCapability.reject(A)}getBeginChunk(A){return Math.floor(A/this.chunkSize)}getEndChunk(A){return Math.floor((A-1)/this.chunkSize)+1}abort(A){this.aborted=!0,this.pdfNetworkStream?.cancelAllRequests(A);for(const e of this._promisesByRequest.values())e.reject(A)}}t(4520),t(9479),t(2577),t(8872);class he{constructor(A,e){this.constructor===he&&M(\\\"Cannot initialize ColorSpace.\\\"),this.name=A,this.numComps=e}getRgb(A,e){const t=new Uint8ClampedArray(3);return this.getRgbItem(A,e,t,0),t}getRgbItem(A,e,t,i){M(\\\"Should not call ColorSpace.getRgbItem\\\")}getRgbBuffer(A,e,t,i,a,s,n){M(\\\"Should not call ColorSpace.getRgbBuffer\\\")}getOutputLength(A,e){M(\\\"Should not call ColorSpace.getOutputLength\\\")}isPassthrough(A){return!1}isDefaultDecode(A,e){return he.isDefaultDecode(A,this.numComps)}fillRgb(A,e,t,i,a,s,n,r,g){const o=e*t;let I=null;const c=1<c&&\\\"DeviceGray\\\"!==this.name&&\\\"DeviceRGB\\\"!==this.name){const e=n<=8?new Uint8Array(c):new Uint16Array(c);for(let A=0;A=.99554525?1:this.#l(0,1,1.055*A**(1/2.4)-.055)}#l(A,e,t){return Math.max(A,Math.min(e,t))}#Q(A){return A<0?-this.#Q(-A):A>8?((A+16)/116)**3:A*me.#I}#E(A,e,t){if(0===A[0]&&0===A[1]&&0===A[2])return t[0]=e[0],t[1]=e[1],void(t[2]=e[2]);const i=this.#Q(0),a=(1-i)/(1-this.#Q(A[0])),s=1-a,n=(1-i)/(1-this.#Q(A[1])),r=1-n,g=(1-i)/(1-this.#Q(A[2])),o=1-g;t[0]=e[0]*a+s,t[1]=e[1]*n+r,t[2]=e[2]*g+o}#u(A,e,t){if(1===A[0]&&1===A[2])return t[0]=e[0],t[1]=e[1],void(t[2]=e[2]);const i=t;this.#c(me.#i,e,i);const a=me.#r;this.#C(A,i,a),this.#c(me.#a,a,t)}#d(A,e,t){const i=t;this.#c(me.#i,e,i);const a=me.#r;this.#h(A,i,a),this.#c(me.#a,a,t)}#t(A,e,t,i,a){const s=this.#l(0,1,A[e]*a),n=this.#l(0,1,A[e+1]*a),r=this.#l(0,1,A[e+2]*a),g=1===s?1:s**this.GR,o=1===n?1:n**this.GG,I=1===r?1:r**this.GB,c=this.MXA*g+this.MXB*o+this.MXC*I,C=this.MYA*g+this.MYB*o+this.MYC*I,h=this.MZA*g+this.MZB*o+this.MZC*I,B=me.#g;B[0]=c,B[1]=C,B[2]=h;const l=me.#o;this.#u(this.whitePoint,B,l);const Q=me.#g;this.#E(this.blackPoint,l,Q);const E=me.#o;this.#d(me.#n,Q,E);const u=me.#g;this.#c(me.#s,E,u),t[i]=255*this.#B(u[0]),t[i+1]=255*this.#B(u[1]),t[i+2]=255*this.#B(u[2])}getRgbItem(A,e,t,i){this.#t(A,e,t,i,1)}getRgbBuffer(A,e,t,i,a,s,n){const r=1/((1<this.amax||this.bmin>this.bmax)&&(x(\\\"Invalid Range, falling back to defaults\\\"),this.amin=-100,this.amax=100,this.bmin=-100,this.bmax=100)}#f(A){return A>=6/29?A**3:108/841*(A-4/29)}#p(A,e,t,i){return t+A*(i-t)/e}#t(A,e,t,i,a){let s=A[e],n=A[e+1],r=A[e+2];!1!==t&&(s=this.#p(s,t,0,100),n=this.#p(n,t,this.amin,this.amax),r=this.#p(r,t,this.bmin,this.bmax)),n>this.amax?n=this.amax:nthis.bmax?r=this.bmax:r>>0}function De(A,e){return 1===e?String.fromCharCode(A[0],A[1]):3===e?String.fromCharCode(A[0],A[1],A[2],A[3]):String.fromCharCode(...A.subarray(0,e+1))}function be(A,e,t){let i=0;for(let a=t;a>=0;a--)i+=A[a]+e[a],A[a]=255&i,i>>=8}function ke(A,e){let t=1;for(let i=e;i>=0&&t>0;i--)t+=A[i],A[i]=255&t,t>>=8}const Fe=16;class Se{constructor(A){this.buffer=A,this.pos=0,this.end=A.length,this.tmpBuf=new Uint8Array(19)}readByte(){return this.pos>=this.end?-1:this.buffer[this.pos++]}readNumber(){let A,e=0;do{const t=this.readByte();if(t<0)throw new W(\\\"unexpected EOF in bcmap\\\");A=!(128&t),e=e<<7|127&t}while(!A);return e}readSigned(){const A=this.readNumber();return 1&A?~(A>>>1):A>>>1}readHex(A,e){A.set(this.buffer.subarray(this.pos,this.pos+e+1)),this.pos+=e+1}readHexNumber(A,e){let t;const i=this.tmpBuf;let a=0;do{const A=this.readByte();if(A<0)throw new W(\\\"unexpected EOF in bcmap\\\");t=!(128&A),i[a++]=127&A}while(!t);let s=e,n=0,r=0;for(;s>=0;){for(;r<8&&i.length>0;)n|=i[--a]<>=8,r-=8}}readHexSigned(A,e){this.readHexNumber(A,e);const t=1&A[e]?255:0;let i=0;for(let a=0;a<=e;a++)i=(1&i)<<8|A[a],A[a]=i>>1^t}readString(){const A=this.readNumber(),e=new Array(A);for(let t=0;t=0;){const A=C>>5;if(7===A){switch(31&C){case 0:i.readString();break;case 1:s=i.readString()}continue}const t=!!(16&C),a=15&C;if(a+1>Fe)throw new Error(\\\"BinaryCMapReader.process: Invalid dataSize.\\\");const h=1,B=i.readNumber();switch(A){case 0:i.readHex(n,a),i.readHexNumber(r,a),be(r,n,a),e.addCodespaceRange(a+1,we(n,a),we(r,a));for(let A=1;Aa&&(i=a)}else{for(;!this.eof;)this.readBlock(e);i=this.bufferLength}return this.pos=i,this.buffer.subarray(t,i)}async getImageData(A,e=null){if(!this.canAsyncDecodeImageFromBuffer)return this.getBytes(A,e);const t=await this.stream.asyncGetBytes();return this.decodeImage(t,e)}reset(){this.pos=0}makeSubStream(A,e,t=null){if(void 0===e)for(;!this.eof;)this.readBlock();else{const t=A+e;for(;this.bufferLength<=t&&!this.eof;)this.readBlock()}return new ge(this.buffer,A,e,t)}getBaseStreams(){return this.str?this.str.getBaseStreams():null}}class xe extends Ne{constructor(A,e=null){let t=0;for(const e of A)t+=e instanceof Ne?e._rawMinBufferLength:e.length;super(t),this.streams=A,this._onError=e}readBlock(){const A=this.streams;if(0===A.length)return void(this.eof=!0);const e=A.shift();let t;try{t=e.getBytes()}catch(A){if(this._onError)return void this._onError(A,e.dict?.objId);throw A}const i=this.bufferLength,a=i+t.length;this.ensureBuffer(a).set(t,i),this.bufferLength=a}getBaseStreams(){const A=[];for(const e of this.streams){const t=e.getBaseStreams();t&&A.push(...t)}return A.length>0?A:null}}class Ue extends Ne{constructor(A,e){e&&(e*=.8),super(e),this.str=A,this.dict=A.dict,this.input=new Uint8Array(5)}readBlock(){const A=this.str;let e=A.getByte();for(;YA(e);)e=A.getByte();if(-1===e||126===e)return void(this.eof=!0);const t=this.bufferLength;let i,a;if(122===e){for(i=this.ensureBuffer(t+4),a=0;a<4;++a)i[t+a]=0;this.bufferLength+=4}else{const s=this.input;for(s[0]=e,a=1;a<5;++a){for(e=A.getByte();YA(e);)e=A.getByte();if(s[a]=e,-1===e||126===e)break}if(i=this.ensureBuffer(t+a-1),this.bufferLength+=a-1,a<5){for(;a<5;++a)s[a]=117;this.eof=!0}let n=0;for(a=0;a<5;++a)n=85*n+(s[a]-33);for(a=3;a>=0;--a)i[t+a]=255&n,n>>=8}}}class Me extends Ne{constructor(A,e){e&&(e*=.5),super(e),this.str=A,this.dict=A.dict,this.firstDigit=-1}readBlock(){const A=this.str.getBytes(8e3);if(!A.length)return void(this.eof=!0);const e=A.length+1>>1,t=this.ensureBuffer(this.bufferLength+e);let i=this.bufferLength,a=this.firstDigit;for(const e of A){let A;if(e>=48&&e<=57)A=15&e;else{if(!(e>=65&&e<=70||e>=97&&e<=102)){if(62===e){this.eof=!0;break}continue}A=9+(15&e)}a<0?a=A:(t[i++]=a<<4|A,a=-1)}a>=0&&this.eof&&(t[i++]=a<<4,a=-1),this.firstDigit=a,this.bufferLength=i}}const Le=-1,Je=[[-1,-1],[-1,-1],[7,8],[7,7],[6,6],[6,6],[6,5],[6,5],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2]],He=[[-1,-1],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[12,1984],[12,2048],[12,2112],[12,2176],[12,2240],[12,2304],[11,1856],[11,1856],[11,1920],[11,1920],[12,2368],[12,2432],[12,2496],[12,2560]],Ye=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[8,29],[8,29],[8,30],[8,30],[8,45],[8,45],[8,46],[8,46],[7,22],[7,22],[7,22],[7,22],[7,23],[7,23],[7,23],[7,23],[8,47],[8,47],[8,48],[8,48],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[7,20],[7,20],[7,20],[7,20],[8,33],[8,33],[8,34],[8,34],[8,35],[8,35],[8,36],[8,36],[8,37],[8,37],[8,38],[8,38],[7,19],[7,19],[7,19],[7,19],[8,31],[8,31],[8,32],[8,32],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[8,53],[8,53],[8,54],[8,54],[7,26],[7,26],[7,26],[7,26],[8,39],[8,39],[8,40],[8,40],[8,41],[8,41],[8,42],[8,42],[8,43],[8,43],[8,44],[8,44],[7,21],[7,21],[7,21],[7,21],[7,28],[7,28],[7,28],[7,28],[8,61],[8,61],[8,62],[8,62],[8,63],[8,63],[8,0],[8,0],[8,320],[8,320],[8,384],[8,384],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[7,27],[7,27],[7,27],[7,27],[8,59],[8,59],[8,60],[8,60],[9,1472],[9,1536],[9,1600],[9,1728],[7,18],[7,18],[7,18],[7,18],[7,24],[7,24],[7,24],[7,24],[8,49],[8,49],[8,50],[8,50],[8,51],[8,51],[8,52],[8,52],[7,25],[7,25],[7,25],[7,25],[8,55],[8,55],[8,56],[8,56],[8,57],[8,57],[8,58],[8,58],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[8,448],[8,448],[8,512],[8,512],[9,704],[9,768],[8,640],[8,640],[8,576],[8,576],[9,832],[9,896],[9,960],[9,1024],[9,1088],[9,1152],[9,1216],[9,1280],[9,1344],[9,1408],[7,256],[7,256],[7,256],[7,256],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7]],ve=[[-1,-1],[-1,-1],[12,-2],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[11,1792],[11,1792],[12,1984],[12,1984],[12,2048],[12,2048],[12,2112],[12,2112],[12,2176],[12,2176],[12,2240],[12,2240],[12,2304],[12,2304],[11,1856],[11,1856],[11,1856],[11,1856],[11,1920],[11,1920],[11,1920],[11,1920],[12,2368],[12,2368],[12,2432],[12,2432],[12,2496],[12,2496],[12,2560],[12,2560],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[12,52],[12,52],[13,640],[13,704],[13,768],[13,832],[12,55],[12,55],[12,56],[12,56],[13,1280],[13,1344],[13,1408],[13,1472],[12,59],[12,59],[12,60],[12,60],[13,1536],[13,1600],[11,24],[11,24],[11,24],[11,24],[11,25],[11,25],[11,25],[11,25],[13,1664],[13,1728],[12,320],[12,320],[12,384],[12,384],[12,448],[12,448],[13,512],[13,576],[12,53],[12,53],[12,54],[12,54],[13,896],[13,960],[13,1024],[13,1088],[13,1152],[13,1216],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64]],Ke=[[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[11,23],[11,23],[12,50],[12,51],[12,44],[12,45],[12,46],[12,47],[12,57],[12,58],[12,61],[12,256],[10,16],[10,16],[10,16],[10,16],[10,17],[10,17],[10,17],[10,17],[12,48],[12,49],[12,62],[12,63],[12,30],[12,31],[12,32],[12,33],[12,40],[12,41],[11,22],[11,22],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[12,128],[12,192],[12,26],[12,27],[12,28],[12,29],[11,19],[11,19],[11,20],[11,20],[12,34],[12,35],[12,36],[12,37],[12,38],[12,39],[11,21],[11,21],[12,42],[12,43],[10,0],[10,0],[10,0],[10,0],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12]],qe=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[6,9],[6,8],[5,7],[5,7],[4,6],[4,6],[4,6],[4,6],[4,5],[4,5],[4,5],[4,5],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2]];class Te{constructor(A,e={}){if(!A||\\\"function\\\"!=typeof A.next)throw new Error(\\\\'CCITTFaxDecoder - invalid \\\"source\\\" parameter.\\\\');let t;for(this.source=A,this.eof=!1,this.encoding=e.K||0,this.eoline=e.EndOfLine||!1,this.byteAlign=e.EncodedByteAlign||!1,this.columns=e.Columns||1728,this.rows=e.Rows||0,this.eoblock=e.EndOfBlock??!0,this.black=e.BlackIs1||!1,this.codingLine=new Uint32Array(this.columns+1),this.refLine=new Uint32Array(this.columns+2),this.codingLine[0]=this.columns,this.codingPos=0,this.row=0,this.nextLine2D=this.encoding<0,this.inputBits=0,this.inputBuf=0,this.outputBits=0,this.rowsDone=!1;0===(t=this._lookBits(12));)this._eatBits(1);1===t&&this._eatBits(12),this.encoding>0&&(this.nextLine2D=!this._lookBits(1),this._eatBits(1))}readNextChar(){if(this.eof)return-1;const A=this.refLine,e=this.codingLine,t=this.columns;let i,a,s,n,r;if(0===this.outputBits){if(this.rowsDone&&(this.eof=!0),this.eof)return-1;let s,r,g;if(this.err=!1,this.nextLine2D){for(n=0;e[n]=64);do{r+=g=this._getWhiteCode()}while(g>=64)}else{do{s+=g=this._getWhiteCode()}while(g>=64);do{r+=g=this._getBlackCode()}while(g>=64)}for(this._addPixels(e[this.codingPos]+s,a),e[this.codingPos]0?--i:++i;A[i]<=e[this.codingPos]&&A[i]0?--i:++i;A[i]<=e[this.codingPos]&&A[i]0?--i:++i;A[i]<=e[this.codingPos]&&A[i]=64);else do{s+=g=this._getWhiteCode()}while(g>=64);this._addPixels(e[this.codingPos]+s,a),a^=1}let o=!1;if(this.byteAlign&&(this.inputBits&=-8),this.eoblock||this.row!==this.rows-1){if(s=this._lookBits(12),this.eoline)for(;s!==Le&&1!==s;)this._eatBits(1),s=this._lookBits(12);else for(;0===s;)this._eatBits(1),s=this._lookBits(12);1===s?(this._eatBits(12),o=!0):s===Le&&(this.eof=!0)}else this.rowsDone=!0;if(!this.eof&&this.encoding>0&&!this.rowsDone&&(this.nextLine2D=!this._lookBits(1),this._eatBits(1)),this.eoblock&&o&&this.byteAlign){if(s=this._lookBits(12),1===s){if(this._eatBits(12),this.encoding>0&&(this._lookBits(1),this._eatBits(1)),this.encoding>=0)for(n=0;n<4;++n)s=this._lookBits(12),1!==s&&x(\\\"bad rtc code: \\\"+s),this._eatBits(12),this.encoding>0&&(this._lookBits(1),this._eatBits(1));this.eof=!0}}else if(this.err&&this.eoline){for(;;){if(s=this._lookBits(13),s===Le)return this.eof=!0,-1;if(s>>1==1)break;this._eatBits(1)}this._eatBits(12),this.encoding>0&&(this._eatBits(1),this.nextLine2D=!(1&s))}this.outputBits=e[0]>0?e[this.codingPos=0]:e[this.codingPos=1],this.row++}if(this.outputBits>=8)r=1&this.codingPos?0:255,this.outputBits-=8,0===this.outputBits&&e[this.codingPos]s?(r<<=s,1&this.codingPos||(r|=255>>8-s),this.outputBits-=s,s=0):(r<<=this.outputBits,1&this.codingPos||(r|=255>>8-this.outputBits),s-=this.outputBits,this.outputBits=0,e[this.codingPos]0&&(r<<=s,s=0))}while(s)}return this.black&&(r^=255),r}_addPixels(A,e){const t=this.codingLine;let i=this.codingPos;A>t[i]&&(A>this.columns&&(x(\\\"row is wrong length\\\"),this.err=!0,A=this.columns),1&i^e&&++i,t[i]=A),this.codingPos=i}_addPixelsNeg(A,e){const t=this.codingLine;let i=this.codingPos;if(A>t[i])A>this.columns&&(x(\\\"row is wrong length\\\"),this.err=!0,A=this.columns),1&i^e&&++i,t[i]=A;else if(A0&&A=a){const e=t[A-a];if(e[0]===i)return this._eatBits(i),[!0,e[1],!0]}}return[!1,0,!1]}_getTwoDimCode(){let A,e=0;if(this.eoblock){if(e=this._lookBits(7),A=Je[e],A?.[0]>0)return this._eatBits(A[0]),A[1]}else{const A=this._findTableCode(1,7,Je);if(A[0]&&A[2])return A[1]}return x(\\\"Bad two dim code\\\"),Le}_getWhiteCode(){let A,e=0;if(this.eoblock){if(e=this._lookBits(12),e===Le)return 1;if(A=e>>5==0?He[e]:Ye[e>>3],A[0]>0)return this._eatBits(A[0]),A[1]}else{let A=this._findTableCode(1,9,Ye);if(A[0])return A[1];if(A=this._findTableCode(11,12,He),A[0])return A[1]}return x(\\\"bad white code\\\"),this._eatBits(1),1}_getBlackCode(){let A,e;if(this.eoblock){if(A=this._lookBits(13),A===Le)return 1;if(e=A>>7==0?ve[A]:A>>9==0&&A>>7!=0?Ke[(A>>1)-64]:qe[A>>7],e[0]>0)return this._eatBits(e[0]),e[1]}else{let A=this._findTableCode(2,6,qe);if(A[0])return A[1];if(A=this._findTableCode(7,12,Ke,64),A[0])return A[1];if(A=this._findTableCode(10,13,ve),A[0])return A[1]}return x(\\\"bad black code\\\"),this._eatBits(1),1}_lookBits(A){let e;for(;this.inputBits>16-A;this.inputBuf=this.inputBuf<<8|e,this.inputBits+=8}return this.inputBuf>>this.inputBits-A&65535>>16-A}_eatBits(A){(this.inputBits-=A)<0&&(this.inputBits=0)}}class Pe extends Ne{constructor(A,e,t){super(e),this.str=A,this.dict=A.dict,t instanceof QA||(t=QA.empty);const i={next:()=>A.getByte()};this.ccittFaxDecoder=new Te(i,{K:t.get(\\\"K\\\"),EndOfLine:t.get(\\\"EndOfLine\\\"),EncodedByteAlign:t.get(\\\"EncodedByteAlign\\\"),Columns:t.get(\\\"Columns\\\"),Rows:t.get(\\\"Rows\\\"),EndOfBlock:t.get(\\\"EndOfBlock\\\"),BlackIs1:t.get(\\\"BlackIs1\\\")})}readBlock(){for(;!this.eof;){const A=this.ccittFaxDecoder.readNextChar();if(-1===A)return void(this.eof=!0);this.ensureBuffer(this.bufferLength+1),this.buffer[this.bufferLength++]=A}}}const We=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Oe=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),Ze=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),je=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],Xe=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];class Ve extends Ne{constructor(A,e){super(e),this.str=A,this.dict=A.dict;const t=A.getByte(),i=A.getByte();if(-1===t||-1===i)throw new W(`Invalid header in flate stream: ${t}, ${i}`);if(8!=(15&t))throw new W(`Unknown compression method in flate stream: ${t}, ${i}`);if(((t<<8)+i)%31!=0)throw new W(`Bad FCHECK in flate stream: ${t}, ${i}`);if(32&i)throw new W(`FDICT bit set in flate stream: ${t}, ${i}`);this.codeSize=0,this.codeBuf=0}async getImageData(A,e){return(await this.asyncGetBytes())?.subarray(0,A)||this.getBytes(A)}async asyncGetBytes(){this.str.reset();const A=this.str.getBytes();try{const{readable:e,writable:t}=new DecompressionStream(\\\"deflate\\\"),i=t.getWriter();i.write(A),i.close();const a=[];let s=0;for await(const A of e)a.push(A),s+=A.byteLength;const n=new Uint8Array(s);let r=0;for(const A of a)n.set(A,r),r+=A.byteLength;return n}catch{return this.str=new ge(A,2,A.length,this.str.dict),this.reset(),null}}get isAsync(){return!0}getBits(A){const e=this.str;let t,i=this.codeSize,a=this.codeBuf;for(;i>A,this.codeSize=i-=A,t}getCode(A){const e=this.str,t=A[0],i=A[1];let a,s=this.codeSize,n=this.codeBuf;for(;s>16,o=65535&r;if(g<1||s>g,this.codeSize=s-g,o}generateHuffmanTable(A){const e=A.length;let t,i=0;for(t=0;ti&&(i=A[t]);const a=1<>=1;for(t=A;t>=1,0===e){let e;if(-1===(e=i.getByte()))return void this.#m(\\\"Bad block header in flate stream\\\");let t=e;if(-1===(e=i.getByte()))return void this.#m(\\\"Bad block header in flate stream\\\");if(t|=e<<8,-1===(e=i.getByte()))return void this.#m(\\\"Bad block header in flate stream\\\");let a=e;if(-1===(e=i.getByte()))return void this.#m(\\\"Bad block header in flate stream\\\");if(a|=e<<8,a!==(65535&~t)&&(0!==t||0!==a))throw new W(\\\"Bad uncompressed block length in flate stream\\\");this.codeBuf=0,this.codeSize=0;const s=this.bufferLength,n=s+t;if(A=this.ensureBuffer(n),this.bufferLength=n,0===t)-1===i.peekByte()&&(this.eof=!0);else{const e=i.getBytes(t);A.set(e,s),e.length0;)I[r++]=h}a=this.generateHuffmanTable(I.subarray(0,A)),s=this.generateHuffmanTable(I.subarray(A,o))}}A=this.buffer;let n=A?A.length:0,r=this.bufferLength;for(;;){let e=this.getCode(a);if(e<256){r+1>=n&&(A=this.ensureBuffer(r+1),n=A.length),A[r++]=e;continue}if(256===e)return void(this.bufferLength=r);e-=257,e=Oe[e];let i=e>>16;i>0&&(i=this.getBits(i)),t=(65535&e)+i,e=this.getCode(s),e=Ze[e],i=e>>16,i>0&&(i=this.getBits(i));const g=(65535&e)+i;r+t>=n&&(A=this.ensureBuffer(r+t),n=A.length);for(let e=0;e>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}byteIn(){const A=this.data;let e=this.bp;255===A[e]?A[e+1]>143?(this.clow+=65280,this.ct=8):(e++,this.clow+=A[e]<<9,this.ct=7,this.bp=e):(e++,this.clow+=e65535&&(this.chigh+=this.clow>>16,this.clow&=65535)}readBit(A,e){let t=A[e]>>1,i=1&A[e];const a=ze[t],s=a.qe;let n,r=this.a-s;if(this.chigh>15&1,this.clow=this.clow<<1&65535,this.ct--}while(0==(32768&r));return this.a=r,A[e]=t<<1|i,n}}class $e extends Y{constructor(A){super(A,\\\"Jbig2Error\\\")}}class At{getContexts(A){return A in this?this[A]:this[A]=new Int8Array(65536)}}class et{constructor(A,e,t){this.data=A,this.start=e,this.end=t}get decoder(){return H(this,\\\"decoder\\\",new _e(this.data,this.start,this.end))}get contextCache(){return H(this,\\\"contextCache\\\",new At)}}function tt(A,e,t){const i=A.getContexts(e);let a=1;function s(A){let e=0;for(let s=0;s>>0}const n=s(1),r=s(1)?s(1)?s(1)?s(1)?s(1)?s(32)+4436:s(12)+340:s(8)+84:s(6)+20:s(4)+4:s(2);let g;return 0===n?g=r:r>0&&(g=-r),g>=-2147483648&&g<=2147483647?g:null}function it(A,e,t){const i=A.getContexts(\\\"IAID\\\");let a=1;for(let A=0;A=w&&N=D)for(H=H<<1&Q,l=0;l=0&&U=0&&(M=S[x][U],M&&(H|=M<=A?o<<=1:o=o<<1|p[r][g];for(h=0;h=d||g<0||g>=u?o<<=1:o=o<<1|i[r][g];const B=m.readBit(y,o);e[n]=B}}return p}function ct(A,e,t,i,a,s,n,r,g,o,I,c,C,h,B,l,Q,E,u){if(A&&e)throw new $e(\\\"refinement with Huffman is not supported\\\");const d=[];let f,p;for(f=0;f1&&(a=A?u.readBits(E):tt(y,\\\"IAIT\\\",m));const s=n*w+a,D=A?h.symbolIDTable.decode(u):it(y,m,g),b=e&&(A?u.readBit():tt(y,\\\"IARI\\\",m));let k=r[D],F=k[0].length,S=k.length;if(b){const A=tt(y,\\\"IARDW\\\",m),e=tt(y,\\\"IARDH\\\",m);F+=A,S+=e,k=It(F,S,B,k,(A>>1)+tt(y,\\\"IARDX\\\",m),(e>>1)+tt(y,\\\"IARDY\\\",m),!1,l,Q)}let R=0;o?1&c?R=S-1:i+=S-1:c>1?i+=F-1:R=F-1;const G=s-(1&c?0:S-1),N=i-(2&c?F-1:0);let x,U,M;if(o)for(x=0;x>5&7;const g=[31&n];let o=e+6;if(7===n){r=536870911&HA(A,o-1),o+=3;let e=r+7>>3;for(g[0]=A[o++];--e>0;)g.push(A[o++])}else if(5===n||6===n)throw new $e(\\\"invalid referred-to flags\\\");t.retainBits=g;let I=4;t.number<=256?I=1:t.number<=65536&&(I=2);const c=[];let C,h;for(C=0;C>>24&255,s[3]=e.height>>16&255,s[4]=e.height>>8&255,s[5]=255&e.height,C=o,h=A.length;C>2&3,A.huffmanDWSelector=e>>4&3,A.bitmapSizeSelector=e>>6&1,A.aggregationInstancesSelector=e>>7&1,A.bitmapCodingContextUsed=!!(256&e),A.bitmapCodingContextRetained=!!(512&e),A.template=e>>10&3,A.refinementTemplate=e>>12&1,o+=2,!A.huffman){for(g=0===A.template?4:1,n=[],r=0;r>2&3,I.stripSize=1<>4&3,I.transposed=!!(64&c),I.combinationOperator=c>>7&3,I.defaultPixelValue=c>>9&1,I.dsOffset=c<<17>>27,I.refinementTemplate=c>>15&1,I.huffman){const A=JA(i,o);o+=2,I.huffmanFS=3&A,I.huffmanDS=A>>2&3,I.huffmanDT=A>>4&3,I.huffmanRefinementDW=A>>6&3,I.huffmanRefinementDH=A>>8&3,I.huffmanRefinementDX=A>>10&3,I.huffmanRefinementDY=A>>12&3,I.huffmanRefinementSizeSelector=!!(16384&A)}if(I.refinement&&!I.refinementTemplate){for(n=[],r=0;r<2;r++)n.push({x:LA(i,o),y:LA(i,o+1)}),o+=2;I.refinementAt=n}I.numberOfSymbolInstances=HA(i,o),o+=4,s=[I,t.referredTo,i,o,a];break;case 16:const C={},h=i[o++];C.mmr=!!(1&h),C.template=h>>1&3,C.patternWidth=i[o++],C.patternHeight=i[o++],C.maxPatternIndex=HA(i,o),o+=4,s=[C,t.number,i,o,a];break;case 22:case 23:const B={};B.info=Bt(i,o),o+=lt;const l=i[o++];B.mmr=!!(1&l),B.template=l>>1&3,B.enableSkip=!!(8&l),B.combinationOperator=l>>4&7,B.defaultPixelValue=l>>7&1,B.gridWidth=HA(i,o),o+=4,B.gridHeight=HA(i,o),o+=4,B.gridOffsetX=4294967295&HA(i,o),o+=4,B.gridOffsetY=4294967295&HA(i,o),o+=4,B.gridVectorX=JA(i,o),o+=2,B.gridVectorY=JA(i,o),o+=2,s=[B,t.referredTo,i,o,a];break;case 38:case 39:const Q={};Q.info=Bt(i,o),o+=lt;const E=i[o++];if(Q.mmr=!!(1&E),Q.template=E>>1&3,Q.prediction=!!(8&E),!Q.mmr){for(g=0===Q.template?4:1,n=[],r=0;r>2&1,u.combinationOperator=d>>3&3,u.requiresBuffer=!!(32&d),u.combinationOperatorOverride=!!(64&d),s=[u];break;case 49:case 50:case 51:case 62:break;case 53:s=[t.number,i,o,a];break;default:throw new $e(`segment type ${t.typeName}(${t.type}) is not implemented`)}const I=\\\"on\\\"+t.typeName;I in e&&e[I].apply(e,s)}function Et(A,e){for(let t=0,i=A.length;t>3,t=new Uint8ClampedArray(e*A.height);A.defaultPixelValue&&t.fill(255),this.buffer=t}drawBitmap(A,e){const t=this.currentPageInfo,i=A.width,a=A.height,s=t.width+7>>3,n=t.combinationOperatorOverride?A.combinationOperator:t.combinationOperator,r=this.buffer,g=128>>(7&A.x);let o,I,c,C,h=A.y*s+(A.x>>3);switch(n){case 0:for(o=0;o>=1,c||(c=128,C++);h+=s}break;case 2:for(o=0;o>=1,c||(c=128,C++);h+=s}break;default:throw new $e(`operator ${n} is not supported`)}}onImmediateGenericRegion(A,e,t,i){const a=A.info,s=new et(e,t,i),n=ot(A.mmr,a.width,a.height,A.template,A.prediction,null,A.at,s);this.drawBitmap(a,n)}onImmediateLosslessGenericRegion(){this.onImmediateGenericRegion(...arguments)}onSymbolDictionary(A,e,t,i,a,s){let n,r;A.huffman&&(n=function(A,e,t){let i,a,s,n,r=0;switch(A.huffmanDHSelector){case 0:case 1:i=yt(A.huffmanDHSelector+4);break;case 3:i=Dt(r,e,t),r++;break;default:throw new $e(\\\"invalid Huffman DH selector\\\")}switch(A.huffmanDWSelector){case 0:case 1:a=yt(A.huffmanDWSelector+2);break;case 3:a=Dt(r,e,t),r++;break;default:throw new $e(\\\"invalid Huffman DW selector\\\")}return A.bitmapSizeSelector?(s=Dt(r,e,t),r++):s=yt(1),n=A.aggregationInstancesSelector?Dt(r,e,t):yt(1),{tableDeltaHeight:i,tableDeltaWidth:a,tableBitmapSize:s,tableAggregateInstances:n}}(A,t,this.customTables),r=new wt(i,a,s));let g=this.symbols;g||(this.symbols=g={});const o=[];for(const A of t){const e=g[A];e&&o.push(...e)}const I=new et(i,a,s);g[e]=function(A,e,t,i,a,s,n,r,g,o,I,c){if(A&&e)throw new $e(\\\"symbol refinement with Huffman is not supported\\\");const C=[];let h=0,B=MA(t.length+i);const l=I.decoder,Q=I.contextCache;let E,u;for(A&&(E=yt(1),u=[],B=Math.max(B,1));C.length1)d=ct(A,e,i,h,0,a,1,t.concat(C),B,0,0,1,0,s,g,o,I,0,c);else{const A=it(Q,l,B),e=tt(Q,\\\"IARDX\\\",l),a=tt(Q,\\\"IARDY\\\",l);d=It(i,h,g,A=32){let t,i,n;switch(e){case 32:if(0===A)throw new $e(\\\"no previous value in symbol ID table\\\");i=a.readBits(2)+3,t=s[A-1].prefixLength;break;case 33:i=a.readBits(3)+3,t=0;break;case 34:i=a.readBits(7)+11,t=0;break;default:throw new $e(\\\"invalid code length in symbol ID table\\\")}for(n=0;n=0;Q--)k=A?kt(b,g,o,!0):ot(!1,g,o,t,!1,null,w,B),D[Q]=k;for(F=0;F=0;E--)R^=D[E][F][S],G|=R<>8,U=c+F*C-S*h>>8,x>=0&&x+p<=i&&U>=0&&U+m<=a)for(Q=0;Q=a))for(L=l[e],M=N[Q],E=0;E=0&&A>1&7),g=1+(i>>4&7),o=[];let I,c,C=a;do{I=n.readBits(r),c=n.readBits(g),o.push(new dt([C,I,c,0])),C+=1<>e&1;if(e<=0)this.children[t]=new ft(A);else{let i=this.children[t];i||(this.children[t]=i=new ft(null)),i.buildTree(A,e-1)}}decodeNode(A){if(this.isLeaf){if(this.isOOB)return null;const e=A.readBits(this.rangeLength);return this.rangeLow+(this.isLowerRange?-e:e)}const e=this.children[A.readBit()];if(!e)throw new $e(\\\"invalid Huffman data\\\");return e.decodeNode(A)}}class pt{constructor(A,e){e||this.assignPrefixCodes(A),this.rootNode=new ft(null);for(let e=0,t=A.length;e0&&this.rootNode.buildTree(t,t.prefixLength-1)}}decode(A){return this.rootNode.decodeNode(A)}assignPrefixCodes(A){const e=A.length;let t=0;for(let i=0;i=this.end)throw new $e(\\\"end of data while reading bit\\\");this.currentByte=this.data[this.position++],this.shift=7}const A=this.currentByte>>this.shift&1;return this.shift--,A}readBits(A){let e,t=0;for(e=A-1;e>=0;e--)t|=this.readBit()<=this.end?-1:this.data[this.position++]}}function Dt(A,e,t){let i=0;for(let a=0,s=e.length;a>t&1,t--}if(i&&!r){const A=5;for(let e=0;e>3,c=7&i,C=A.length;t=new Uint32Array(t.buffer);let h=0;for(let i=0;i0&&!A[s-1];)s--;const n=[{children:[],index:0}];let r,g=n[0];for(t=0;t0;)g=n.pop();for(g.index++,n.push(g);n.length<=t;)n.push(r={children:[],index:0}),g.children[g.index]=r.children,g=r;a++}t+10)return B--,h>>B&1;if(h=A[e++],255===h){const i=A[e++];if(i){if(220===i&&o){const i=JA(A,e+=2);if(e+=2,i>0&&i!==t.scanLines)throw new Nt(\\\"Found DNL marker (0xFFDC) while parsing scan data\\\",i)}else if(217===i){if(o){const A=m*(8===t.precision?8:0);if(A>0&&Math.round(t.scanLines/A)>=5)throw new Nt(\\\"Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter\\\",A)}throw new xt(\\\"Found EOI marker (0xFFD9) while parsing scan data\\\")}throw new Gt(`unexpected marker ${(h<<8|i).toString(16)}`)}}return B=7,h>>>7}function Q(A){let e=A;for(;;){switch(e=e[l()],typeof e){case\\\"number\\\":return e;case\\\"object\\\":continue}throw new Gt(\\\"invalid huffman sequence\\\")}}function E(A){let e=0;for(;A>0;)e=e<<1|l(),A--;return e}function u(A){if(1===A)return 1===l()?1:-1;const e=E(A);return e>=1<0)return void f--;let t=s;const i=n;for(;t<=i;){const i=Q(A.huffmanTableAC),a=15&i,s=i>>4;if(0===a){if(s<15){f=E(s)+(1<>4,0===a)o<15?(f=E(o)+(1<>4;if(0===i){if(s<15)break;a+=16;continue}a+=s;const n=Ut[a];A.blockData[e+n]=u(i),a++}};let N,x=0;const M=1===D?i[0].blocksPerLine*i[0].blocksPerColumn:I*t.mcusPerColumn;let L,J;for(;x<=M;){const t=a?Math.min(M-x,a):M;if(t>0){for(k=0;k0?\\\"unexpected\\\":\\\"excessive\\\"} MCU data, current marker is: ${N.invalid}`),e=N.offset),!(N.marker>=65488&&N.marker<=65495))break;e+=2}return e-C}function Ot(A,e,t){const i=A.quantizationTable,a=A.blockData;let s,n,r,g,o,I,c,C,h,B,l,Q,E,u,d,f,p;if(!i)throw new Gt(\\\"missing required Quantization Table.\\\");for(let A=0;A<64;A+=8)h=a[e+A],B=a[e+A+1],l=a[e+A+2],Q=a[e+A+3],E=a[e+A+4],u=a[e+A+5],d=a[e+A+6],f=a[e+A+7],h*=i[A],0!=(B|l|Q|E|u|d|f)?(B*=i[A+1],l*=i[A+2],Q*=i[A+3],E*=i[A+4],u*=i[A+5],d*=i[A+6],f*=i[A+7],s=Kt*h+128>>8,n=Kt*E+128>>8,r=l,g=d,o=qt*(B-f)+128>>8,C=qt*(B+f)+128>>8,I=Q<<4,c=u<<4,s=s+n+1>>1,n=s-n,p=r*vt+g*Yt+128>>8,r=r*Yt-g*vt+128>>8,g=p,o=o+c+1>>1,c=o-c,C=C+I+1>>1,I=C-I,s=s+g+1>>1,g=s-g,n=n+r+1>>1,r=n-r,p=o*Ht+C*Jt+2048>>12,o=o*Jt-C*Ht+2048>>12,C=p,p=I*Lt+c*Mt+2048>>12,I=I*Mt-c*Lt+2048>>12,c=p,t[A]=s+C,t[A+7]=s-C,t[A+1]=n+c,t[A+6]=n-c,t[A+2]=r+I,t[A+5]=r-I,t[A+3]=g+o,t[A+4]=g-o):(p=Kt*h+512>>10,t[A]=p,t[A+1]=p,t[A+2]=p,t[A+3]=p,t[A+4]=p,t[A+5]=p,t[A+6]=p,t[A+7]=p);for(let A=0;A<8;++A)h=t[A],B=t[A+8],l=t[A+16],Q=t[A+24],E=t[A+32],u=t[A+40],d=t[A+48],f=t[A+56],0!=(B|l|Q|E|u|d|f)?(s=Kt*h+2048>>12,n=Kt*E+2048>>12,r=l,g=d,o=qt*(B-f)+2048>>12,C=qt*(B+f)+2048>>12,I=Q,c=u,s=4112+(s+n+1>>1),n=s-n,p=r*vt+g*Yt+2048>>12,r=r*Yt-g*vt+2048>>12,g=p,o=o+c+1>>1,c=o-c,C=C+I+1>>1,I=C-I,s=s+g+1>>1,g=s-g,n=n+r+1>>1,r=n-r,p=o*Ht+C*Jt+2048>>12,o=o*Jt-C*Ht+2048>>12,C=p,p=I*Lt+c*Mt+2048>>12,I=I*Mt-c*Lt+2048>>12,c=p,h=s+C,f=s-C,B=n+c,d=n-c,l=r+I,u=r-I,Q=g+o,E=g-o,h<16?h=0:h>=4080?h=255:h>>=4,B<16?B=0:B>=4080?B=255:B>>=4,l<16?l=0:l>=4080?l=255:l>>=4,Q<16?Q=0:Q>=4080?Q=255:Q>>=4,E<16?E=0:E>=4080?E=255:E>>=4,u<16?u=0:u>=4080?u=255:u>>=4,d<16?d=0:d>=4080?d=255:d>>=4,f<16?f=0:f>=4080?f=255:f>>=4,a[e+A]=h,a[e+A+8]=B,a[e+A+16]=l,a[e+A+24]=Q,a[e+A+32]=E,a[e+A+40]=u,a[e+A+48]=d,a[e+A+56]=f):(p=Kt*h+8192>>14,p=p<-2040?0:p>=2024?255:p+2056>>4,a[e+A]=p,a[e+A+8]=p,a[e+A+16]=p,a[e+A+24]=p,a[e+A+32]=p,a[e+A+40]=p,a[e+A+48]=p,a[e+A+56]=p)}function Zt(A,e){const t=e.blocksPerLine,i=e.blocksPerColumn,a=new Int16Array(64);for(let A=0;A=i)return null;const s=JA(A,e);if(s>=65472&&s<=65534)return{invalid:null,marker:s,offset:e};let n=JA(A,a);for(;!(n>=65472&&n<=65534);){if(++a>=i)return null;n=JA(A,a)}return{invalid:s.toString(16),marker:n,offset:a}}class Xt{constructor({decodeTransform:A=null,colorTransform:e=-1}={}){this._decodeTransform=A,this._colorTransform=e}parse(A,{dnlScanLines:e=null}={}){function t(){const e=JA(A,n);n+=2;let t=n+e-2;const i=jt(A,t,n);i?.invalid&&(U(\\\"readDataBlock - incorrect length, current marker is: \\\"+i.invalid),t=i.offset);const a=A.subarray(n,t);return n+=a.length,a}function i(A){const e=Math.ceil(A.samplesPerLine/8/A.maxH),t=Math.ceil(A.scanLines/8/A.maxV);for(const i of A.components){const a=Math.ceil(Math.ceil(A.samplesPerLine/8)*i.h/A.maxH),s=Math.ceil(Math.ceil(A.scanLines/8)*i.v/A.maxV),n=e*i.h,r=t*i.v*64*(n+1);i.blockData=new Int16Array(r),i.blocksPerLine=a,i.blocksPerColumn=s}A.mcusPerLine=e,A.mcusPerColumn=t}let a,s,n=0,r=null,g=null,o=0;const I=[],c=[],C=[];let h=JA(A,n);if(n+=2,65496!==h)throw new Gt(\\\"SOI not found\\\");h=JA(A,n),n+=2;A:for(;65497!==h;){let B,l,Q;switch(h){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:const E=t();65504===h&&74===E[0]&&70===E[1]&&73===E[2]&&70===E[3]&&0===E[4]&&(r={version:{major:E[5],minor:E[6]},densityUnits:E[7],xDensity:E[8]<<8|E[9],yDensity:E[10]<<8|E[11],thumbWidth:E[12],thumbHeight:E[13],thumbData:E.subarray(14,14+3*E[12]*E[13])}),65518===h&&65===E[0]&&100===E[1]&&111===E[2]&&98===E[3]&&101===E[4]&&(g={version:E[5]<<8|E[6],flags0:E[7]<<8|E[8],flags1:E[9]<<8|E[10],transformCode:E[11]});break;case 65499:const u=JA(A,n);n+=2;const d=u+n-2;let f;for(;n>4==0)for(l=0;l<64;l++)f=Ut[l],t[f]=A[n++];else{if(e>>4!=1)throw new Gt(\\\"DQT - invalid table spec\\\");for(l=0;l<64;l++)f=Ut[l],t[f]=JA(A,n),n+=2}I[15&e]=t}break;case 65472:case 65473:case 65474:if(a)throw new Gt(\\\"Only single frame JPEGs supported\\\");n+=2,a={},a.extended=65473===h,a.progressive=65474===h,a.precision=A[n++];const p=JA(A,n);n+=2,a.scanLines=e||p,a.samplesPerLine=JA(A,n),n+=2,a.components=[],a.componentIds={};const m=A[n++];let y=0,w=0;for(B=0;B>4,i=15&A[n+1];y>4==0?C:c)[15&e]=Tt(t,a)}break;case 65501:n+=2,s=JA(A,n),n+=2;break;case 65498:const b=1==++o&&!e;n+=2;const k=A[n++],F=[];for(B=0;B>4],i.huffmanTableAC=c[15&s],F.push(i)}const S=A[n++],R=A[n++],G=A[n++];try{const e=Wt(A,n,a,F,s,S,R,G>>4,15&G,b);n+=e}catch(e){if(e instanceof Nt)return U(`${e.message} -- attempting to re-parse the JPEG image.`),this.parse(A,{dnlScanLines:e.scanLines});if(e instanceof xt){U(`${e.message} -- ignoring the rest of the image data.`);break A}throw e}break;case 65500:n+=4;break;case 65535:255!==A[n]&&n--;break;default:const N=jt(A,n-2,n-3);if(N?.invalid){U(\\\"JpegImage.parse - unexpected data, current marker is: \\\"+N.invalid),n=N.offset;break}if(!N||n>=A.length-1){U(\\\"JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).\\\");break A}throw new Gt(\\\"JpegImage.parse - unknown marker: \\\"+h.toString(16))}h=JA(A,n),n+=2}if(!a)throw new Gt(\\\"JpegImage.parse - no frame data found.\\\");this.width=a.samplesPerLine,this.height=a.scanLines,this.jfif=r,this.adobe=g,this.components=[];for(const A of a.components){const e=I[A.quantizationId];e&&(A.quantizationTable=e),this.components.push({index:A.index,output:Zt(0,A),scaleX:A.h/a.maxH,scaleY:A.v/a.maxV,blocksPerLine:A.blocksPerLine,blocksPerColumn:A.blocksPerColumn})}this.numComponents=this.components.length}_getLinearizedBlockData(A,e,t=!1){const i=this.width/A,a=this.height/e;let s,n,r,g,o,I,c,C,h,B,l,Q=0;const E=this.components.length,u=A*e*E,d=new Uint8ClampedArray(u),f=new Uint32Array(A),p=4294967288;let m;for(c=0;c>8)+y[h+1];return d}get _isColorConversionNeeded(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this._colorTransform&&(82!==this.components[0].index||71!==this.components[1].index||66!==this.components[2].index):1===this._colorTransform}_convertYccToRgb(A){let e,t,i;for(let a=0,s=A.length;a4)throw new Gt(\\\"Unsupported color mode\\\");const s=this._getLinearizedBlockData(A,e,a);if(1===this.numComponents&&(t||i)){const A=s.length*(t?4:3),e=new Uint8ClampedArray(A);let i=0;if(t)!function(A,e){if(z.isLittleEndian)for(let t=0,i=A.length;t0&&(A=A.subarray(e));break}const e={decodeTransform:void 0,colorTransform:void 0},t=this.dict.getArray(\\\"D\\\",\\\"Decode\\\");if((this.forceRGBA||this.forceRGB)&&Array.isArray(t)){const A=this.dict.get(\\\"BPC\\\",\\\"BitsPerComponent\\\")||8,i=t.length,a=new Int32Array(i);let s=!1;const n=(1<{e=A,t=i})),i.decode=function(A,{numComponents:e=4,isIndexedColormap:t=!1,smaskInData:a=!1}){const s=A.length,n=i._malloc(s);i.HEAPU8.set(A,n);const r=i._jp2_decode(n,s,e>0?e:0,!!t,!!a);if(i._free(n),r){const{errorMessages:A}=i;return A?(delete i.errorMessages,A):\\\"Unknown error\\\"}const{imageData:g}=i;return i.imageData=null,g};var a=Object.assign({},i),s=\\\"./this.program\\\",n=\\\"\\\";\\\"undefined\\\"!=typeof document&&document.currentScript&&(n=document.currentScript.src),zt&&(n=zt),n=n.startsWith(\\\"blob:\\\")?\\\"\\\":n.substr(0,n.replace(/[?#].*/,\\\"\\\").lastIndexOf(\\\"/\\\")+1);var r,g,o,I,c,C=i.print||console.log.bind(console),h=i.printErr||console.error.bind(console);function B(){var A=g.buffer;i.HEAP8=o=new Int8Array(A),i.HEAP16=new Int16Array(A),i.HEAPU8=I=new Uint8Array(A),i.HEAPU16=new Uint16Array(A),i.HEAP32=new Int32Array(A),i.HEAPU32=c=new Uint32Array(A),i.HEAPF32=new Float32Array(A),i.HEAPF64=new Float64Array(A)}Object.assign(i,a),a=null,i.arguments&&i.arguments,i.thisProgram&&(s=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(r=i.wasmBinary);var l,Q=[],E=[],u=[],d=0,f=null,p=null,m=\\\"data:application/octet-stream;base64,\\\",y=A=>A.startsWith(m);function w(A,e){var t,i=function(A){if(A==l&&r)return new Uint8Array(r);var e=function(A){if(y(A))return function(A){for(var e=atob(A),t=new Uint8Array(e.length),i=0;i{for(;A.length>0;)A.shift()(i)};i.noExitRuntime;var b,k=A=>{var e=(A-g.buffer.byteLength+65535)/65536;try{return g.grow(e),B(),1}catch(A){}},F={},S=()=>{if(!S.strings){var A={USER:\\\"web_user\\\",LOGNAME:\\\"web_user\\\",PATH:\\\"/\\\",PWD:\\\"/\\\",HOME:\\\"/home/web_user\\\",LANG:(\\\"object\\\"==typeof navigator&&navigator.languages&&navigator.languages[0]||\\\"C\\\").replace(\\\"-\\\",\\\"_\\\")+\\\".UTF-8\\\",_:s||\\\"./this.program\\\"};for(var e in F)void 0===F[e]?delete A[e]:A[e]=F[e];var t=[];for(var e in A)t.push(`${e}=${A[e]}`);S.strings=t}return S.strings},R=[null,[],[]],G=\\\"undefined\\\"!=typeof TextDecoder?new TextDecoder(\\\"utf8\\\"):void 0,N=(A,e,t)=>{for(var i=e+t,a=e;A[a]&&!(a>=i);)++a;if(a-e>16&&A.buffer&&G)return G.decode(A.subarray(e,a));for(var s=\\\"\\\";e>10,56320|1023&o)}}else s+=String.fromCharCode((31&n)<<6|r)}else s+=String.fromCharCode(n)}return s},x=(A,e)=>{var t=R[A];0===e||10===e?((1===A?C:h)(N(t,0)),t.length=0):t.push(e)},U=(A,e)=>A?N(I,A,e):\\\"\\\",M={c:(A,e,t)=>I.copyWithin(A,e,e+t),g:function(A,e){A>>=2;const t=i.imageData=new Uint8ClampedArray(e),a=i.HEAP32.subarray(A,A+e);t.set(a)},f:function(A,e,t,a){A>>=2,e>>=2,t>>=2;const s=i.imageData=new Uint8ClampedArray(3*a),n=i.HEAP32.subarray(A,A+a),r=i.HEAP32.subarray(e,e+a),g=i.HEAP32.subarray(t,t+a);for(let A=0;A>=2,e>>=2,t>>=2,a>>=2;const n=i.imageData=new Uint8ClampedArray(4*s),r=i.HEAP32.subarray(A,A+s),g=i.HEAP32.subarray(e,e+s),o=i.HEAP32.subarray(t,t+s),I=i.HEAP32.subarray(a,a+s);for(let A=0;A{var e=I.length,t=2147483648;if((A>>>=0)>t)return!1;for(var i,a=1;a<=4;a*=2){var s=e*(1+.2/a);s=Math.min(s,A+100663296);var n=Math.min(t,(i=Math.max(A,s))+(65536-i%65536)%65536);if(k(n))return!0}return!1},l:(A,e)=>{var t=0;return S().forEach(((i,a)=>{var s=e+t;c[A+4*a>>2]=s,((A,e)=>{for(var t=0;t{var t=S();c[A>>2]=t.length;var i=0;return t.forEach((A=>i+=A.length+1)),c[e>>2]=i,0},n:A=>52,j:function(A,e,t,i,a){return 70},b:(A,e,t,i)=>{for(var a=0,s=0;s>2],r=c[e+4>>2];e+=8;for(var g=0;g>2]=a,0},o:function(A,e){A>>=2;const t=i.imageData=new Uint8ClampedArray(4*e),a=i.HEAP32.subarray(A,A+e);for(let A=0;A>=2,e>>=2;const a=i.imageData=new Uint8ClampedArray(4*t),s=i.HEAP32.subarray(A,A+t),n=i.HEAP32.subarray(e,e+t);for(let A=0;A>=2,e>>=2,t>>=2;const s=i.imageData=new Uint8ClampedArray(4*a),n=i.HEAP32.subarray(A,A+a),r=i.HEAP32.subarray(e,e+a),g=i.HEAP32.subarray(t,t+a);for(let A=0;A0||(!function(){if(i.preRun)for(\\\"function\\\"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)A=i.preRun.shift(),Q.unshift(A);var A;D(Q)}(),d>0||(i.setStatus?(i.setStatus(\\\"Running...\\\"),setTimeout((function(){setTimeout((function(){i.setStatus(\\\"\\\")}),1),A()}),1)):A()))}if(L.q,i._malloc=L.r,i._free=L.s,i._jp2_decode=L.u,p=function A(){b||J(),b||(p=A)},i.preInit)for(\\\"function\\\"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return J(),i});const $t=_t;class Ai extends Y{constructor(A){super(A,\\\"JpxError\\\")}}class ei{static#y=null;static decode(A,e){e||={},this.#y||=$t({warn:U});const t=this.#y.decode(A,e);if(\\\"string\\\"==typeof t)throw new Ai(t);return t}static cleanup(){this.#y=null}static parseImageProperties(A){let e=A.getByte();for(;e>=0;){const t=e;if(e=A.getByte(),65361==(t<<8|e)){A.skip(4);const e=A.getInt32()>>>0,t=A.getInt32()>>>0,i=A.getInt32()>>>0,a=A.getInt32()>>>0;return A.skip(16),{width:e-i,height:t-a,bitsPerComponent:8,componentsCount:A.getUint16()}}}throw new Ai(\\\"No size marker found in JPX stream\\\")}}class ti extends Ne{constructor(A,e,t){super(e),this.stream=A,this.dict=A.dict,this.maybeLength=e,this.params=t}get bytes(){return H(this,\\\"bytes\\\",this.stream.getBytes(this.maybeLength))}ensureBuffer(A){}readBlock(A){this.decodeImage(null,A)}decodeImage(A,e){return this.eof||(A||=this.bytes,this.buffer=ei.decode(A,e),this.bufferLength=this.buffer.length,this.eof=!0),this.buffer}get canAsyncDecodeImageFromBuffer(){return this.stream.isAsync}}class ii extends Ne{constructor(A,e,t){super(e),this.str=A,this.dict=A.dict,this.cachedData=0,this.bitsCached=0;const i=4096,a={earlyChange:t,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(i),dictionaryLengths:new Uint16Array(i),dictionaryPrevCodes:new Uint16Array(i),currentSequence:new Uint8Array(i),currentSequenceLength:0};for(let A=0;A<256;++A)a.dictionaryValues[A]=A,a.dictionaryLengths[A]=1;this.lzwState=a}readBits(A){let e=this.bitsCached,t=this.cachedData;for(;e>>e&(1<0;if(A<256)C[0]=A,h=1;else{if(!(A>=258)){if(256===A){I=9,n=258,h=0;continue}this.eof=!0,delete this.lzwState;break}if(A=0;e--)C[e]=r[t],t=o[t];else C[h++]=C[0]}if(a&&(o[n]=c,g[n]=g[c]+1,r[n]=C[0],n++,I=n+s&n+s-1?I:0|Math.min(Math.log(n+s)/.6931471805599453+1,12)),c=A,B+=h,i15))throw new W(`Unsupported predictor: ${i}`);this.readBlock=2===i?this.readBlockTiff:this.readBlockPng,this.str=A,this.dict=A.dict;const a=this.colors=t.get(\\\"Colors\\\")||1,s=this.bits=t.get(\\\"BPC\\\",\\\"BitsPerComponent\\\")||8,n=this.columns=t.get(\\\"Columns\\\")||1;return this.pixBytes=a*s+7>>3,this.rowBytes=n*a*s+7>>3,this}readBlockTiff(){const A=this.rowBytes,e=this.bufferLength,t=this.ensureBuffer(e+A),i=this.bits,a=this.colors,s=this.str.getBytes(A);if(this.eof=!s.length,this.eof)return;let n,r=0,g=0,o=0,I=0,c=e;if(1===i&&1===a)for(n=0;n>1,A^=A>>2,A^=A>>4,r=(1&A)<<7,t[c++]=A}else if(8===i){for(n=0;n>8&255,t[c++]=255&A}}else{const A=new Uint8Array(a+1),c=(1<>o-i)&c,o-=i,g=g<=8&&(t[h++]=g>>I-8&255,I-=8);I>0&&(t[h++]=(g<<8-I)+(r&(1<<8-I)-1))}this.bufferLength+=A}readBlockPng(){const A=this.rowBytes,e=this.pixBytes,t=this.str.getByte(),i=this.str.getBytes(A);if(this.eof=!i.length,this.eof)return;const a=this.bufferLength,s=this.ensureBuffer(a+A);let n=s.subarray(a-A,a);0===n.length&&(n=new Uint8Array(A));let r,g,o,I=a;switch(t){case 0:for(r=0;r>1)+i[r];for(;r>1)+i[r]&255,I++;break;case 4:for(r=0;r0){const A=this.str.getBytes(i);e.set(A,t),t+=i}}else{i=257-i;const a=A[1];e=this.ensureBuffer(t+i+1);for(let A=0;A>\\\")&&this.buf1!==oA;){if(!(this.buf1 instanceof hA)){x(\\\"Malformed dictionary: key must be a name object\\\"),this.shift();continue}const e=this.buf1.name;if(this.shift(),this.buf1===oA)break;i.set(e,this.getObj(A))}if(this.buf1===oA){if(this.recoveryMode)return i;throw new FA(\\\"End of file inside dictionary.\\\")}return pA(this.buf2,\\\"stream\\\")?this.allowStreams?this.makeStream(i,A):i:(this.shift(),i);default:return e}if(Number.isInteger(e)){if(Number.isInteger(this.buf1)&&pA(this.buf2,\\\"R\\\")){const A=EA.get(e,this.buf1);return this.shift(),this.shift(),A}return e}return\\\"string\\\"==typeof e&&A?A.decryptString(e):e}findDefaultInlineStreamEnd(A){const{knownCommands:e}=this.lexer,t=A.pos;let i,a,s=0;for(;-1!==(i=A.getByte());)if(0===s)s=69===i?1:0;else if(1===s)s=73===i?2:0;else if(32===i||10===i||13===i){a=A.pos;const t=A.peekBytes(15),n=t.length;if(0===n)break;for(let A=0;A127)){s=0;break}if(2!==s)continue;if(!e){U(\\\"findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.\\\");continue}const r=new oi(new ge(t.slice()),e);r._hexStringWarn=()=>{};let g=0;for(;;){const A=r.getObj();if(A===oA){s=0;break}if(A instanceof BA){const t=e[A.cmd];if(!t){s=0;break}if(t.variableArgs?g<=t.numArgs:g===t.numArgs)break;g=0}else g++}if(2===s)break}else s=0;-1===i&&(U(\\\"findDefaultInlineStreamEnd: Reached the end of the stream without finding a valid EI marker\\\"),a&&(U(\\\\'... trying to recover by using the last \\\"EI\\\" occurrence.\\\\'),A.skip(-(A.pos-a))));let n=4;return A.skip(-n),i=A.peekByte(),A.skip(n),YA(i)||n--,A.pos-n-t}findDCTDecodeInlineStreamEnd(A){const e=A.pos;let t,i,a=!1;for(;-1!==(t=A.getByte());)if(255===t){switch(A.getByte()){case 0:break;case 255:A.skip(-1);break;case 217:a=!0;break;case 192:case 193:case 194:case 195:case 197:case 198:case 199:case 201:case 202:case 203:case 205:case 206:case 207:case 196:case 204:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:case 228:case 229:case 230:case 231:case 232:case 233:case 234:case 235:case 236:case 237:case 238:case 239:case 254:i=A.getUint16(),i>2?A.skip(i-2):A.skip(-2)}if(a)break}const s=A.pos-e;return-1===t?(U(\\\"Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead.\\\"),A.skip(-s),this.findDefaultInlineStreamEnd(A)):(this.inlineStreamSkipEI(A),s)}findASCII85DecodeInlineStreamEnd(A){const e=A.pos;let t;for(;-1!==(t=A.getByte());)if(126===t){const e=A.pos;for(t=A.peekByte();YA(t);)A.skip(),t=A.peekByte();if(62===t){A.skip();break}if(A.pos>e){const e=A.peekBytes(2);if(69===e[0]&&73===e[1])break}}const i=A.pos-e;return-1===t?(U(\\\"Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead.\\\"),A.skip(-i),this.findDefaultInlineStreamEnd(A)):(this.inlineStreamSkipEI(A),i)}findASCIIHexDecodeInlineStreamEnd(A){const e=A.pos;let t;for(;-1!==(t=A.getByte())&&62!==t;);const i=A.pos-e;return-1===t?(U(\\\"Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead.\\\"),A.skip(-i),this.findDefaultInlineStreamEnd(A)):(this.inlineStreamSkipEI(A),i)}inlineStreamSkipEI(A){let e,t=0;for(;-1!==(e=A.getByte());)if(0===t)t=69===e?1:0;else if(1===t)t=73===e?2:0;else if(2===t)break}makeInlineImage(A){const e=this.lexer,t=e.stream,i=Object.create(null);let a;for(;!pA(this.buf1,\\\"ID\\\")&&this.buf1!==oA;){if(!(this.buf1 instanceof hA))throw new W(\\\"Dictionary key must be a name object\\\");const e=this.buf1.name;if(this.shift(),this.buf1===oA)break;i[e]=this.getObj(A)}-1!==e.beginInlineImagePos&&(a=t.pos-e.beginInlineImagePos);const s=this.xref.fetchIfRef(i.F||i.Filter);let n;if(s instanceof hA)n=s.name;else if(Array.isArray(s)){const A=this.xref.fetchIfRef(s[0]);A instanceof hA&&(n=A.name)}const r=t.pos;let g,o;switch(n){case\\\"DCT\\\":case\\\"DCTDecode\\\":g=this.findDCTDecodeInlineStreamEnd(t);break;case\\\"A85\\\":case\\\"ASCII85Decode\\\":g=this.findASCII85DecodeInlineStreamEnd(t);break;case\\\"AHx\\\":case\\\"ASCIIHexDecode\\\":g=this.findASCIIHexDecodeInlineStreamEnd(t);break;default:g=this.findDefaultInlineStreamEnd(t)}if(g<1e3&&a>0){const A=t.pos;t.pos=e.beginInlineImagePos,o=function(A){const e=[],t=A.length;let i=0;for(;i=i){let i=!1;for(const A of a){const e=A.length;let a=0;for(;a=s){i=!0;break}if(a>=e){YA(n[g+r+a])&&(x(`Found \\\"${Z([...t,...A])}\\\" when searching for endstream command.`),i=!0);break}}if(i)return e.pos+=g,e.pos-A}g++}e.pos+=r}return-1}makeStream(A,e){const t=this.lexer;let i=t.stream;t.skipToNextLine();const a=i.pos-1;let s=A.get(\\\"Length\\\");if(Number.isInteger(s)||(x(`Bad length \\\"${s&&s.toString()}\\\" in stream.`),s=0),i.pos=a+s,t.nextChar(),this.tryShift()&&pA(this.buf2,\\\"endstream\\\"))this.shift();else{if(s=this.#w(a),s<0)throw new W(\\\"Missing endstream command.\\\");t.nextChar(),this.shift(),this.shift()}return this.shift(),i=i.makeSubStream(a,s,A),e&&(i=e.createStream(i,s)),i=this.filter(i,A,s),i.dict=A,i}filter(A,e,t){let i=e.get(\\\"F\\\",\\\"Filter\\\"),a=e.get(\\\"DP\\\",\\\"DecodeParms\\\");if(i instanceof hA)return Array.isArray(a)&&U(\\\"/DecodeParms should not be an Array, when /Filter is a Name.\\\"),this.makeFilter(A,i.name,t,a);let s=t;if(Array.isArray(i)){const e=i,t=a;for(let n=0,r=e.length;n=48&&A<=57?15&A:A>=65&&A<=70||A>=97&&A<=102?9+(15&A):-1}class oi{constructor(A,e=null){this.stream=A,this.nextChar(),this.strBuf=[],this.knownCommands=e,this._hexStringNumWarn=0,this.beginInlineImagePos=-1}nextChar(){return this.currentChar=this.stream.getByte()}peekChar(){return this.stream.peekByte()}getNumber(){let A=this.currentChar,e=!1,t=0,i=1;if(45===A?(i=-1,A=this.nextChar(),45===A&&(A=this.nextChar())):43===A&&(A=this.nextChar()),10===A||13===A)do{A=this.nextChar()}while(10===A||13===A);if(46===A&&(t=10,A=this.nextChar()),A<48||A>57){const e=`Invalid number: ${String.fromCharCode(A)} (charCode ${A})`;if(YA(A)||-1===A)return x(`Lexer.getNumber - \\\"${e}\\\".`),0;throw new W(e)}let a=A-48,s=0,n=1;for(;(A=this.nextChar())>=0;)if(A>=48&&A<=57){const i=A-48;e?s=10*s+i:(0!==t&&(t*=10),a=10*a+i)}else if(46===A){if(0!==t)break;t=1}else if(45===A)U(\\\"Badly formatted number: minus sign in the middle\\\");else{if(69!==A&&101!==A)break;if(A=this.peekChar(),43===A||45===A)n=45===A?-1:1,this.nextChar();else if(A<48||A>57)break;e=!0}return 0!==t&&(a/=t),e&&(a*=10**(n*s)),i*a}getString(){let A=1,e=!1;const t=this.strBuf;t.length=0;let i=this.nextChar();for(;;){let a=!1;switch(0|i){case-1:U(\\\"Unterminated string\\\"),e=!0;break;case 40:++A,t.push(\\\"(\\\");break;case 41:0==--A?(this.nextChar(),e=!0):t.push(\\\")\\\");break;case 92:switch(i=this.nextChar(),i){case-1:U(\\\"Unterminated string\\\"),e=!0;break;case 110:t.push(\\\"\\\\\\\\n\\\");break;case 114:t.push(\\\"\\\\\\\\r\\\");break;case 116:t.push(\\\"\\\\\\\\t\\\");break;case 98:t.push(\\\"\\\\\\\\b\\\");break;case 102:t.push(\\\"\\\\\\\\f\\\");break;case 92:case 40:case 41:t.push(String.fromCharCode(i));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:let A=15&i;i=this.nextChar(),a=!0,i>=48&&i<=55&&(A=(A<<3)+(15&i),i=this.nextChar(),i>=48&&i<=55&&(a=!1,A=(A<<3)+(15&i))),t.push(String.fromCharCode(A));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:t.push(String.fromCharCode(i))}break;default:t.push(String.fromCharCode(i))}if(e)break;a||(i=this.nextChar())}return t.join(\\\"\\\")}getName(){let A,e;const t=this.strBuf;for(t.length=0;(A=this.nextChar())>=0&&!ri[A];)if(35===A){if(A=this.nextChar(),ri[A]){U(\\\"Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number.\\\"),t.push(\\\"#\\\");break}const i=gi(A);if(-1!==i){e=A,A=this.nextChar();const a=gi(A);if(-1===a){if(U(`Lexer_getName: Illegal digit (${String.fromCharCode(A)}) in hexadecimal number.`),t.push(\\\"#\\\",String.fromCharCode(e)),ri[A])break;t.push(String.fromCharCode(A));continue}t.push(String.fromCharCode(i<<4|a))}else t.push(\\\"#\\\",String.fromCharCode(A))}else t.push(String.fromCharCode(A));return t.length>127&&U(`Name token is longer than allowed by the spec: ${t.length}`),hA.get(t.join(\\\"\\\"))}_hexStringWarn(A){5!=this._hexStringNumWarn++?this._hexStringNumWarn>5||U(`getHexString - ignoring invalid character: ${A}`):U(\\\"getHexString - ignoring additional invalid characters.\\\")}getHexString(){const A=this.strBuf;A.length=0;let e,t,i=this.currentChar,a=!0;for(this._hexStringNumWarn=0;;){if(i<0){U(\\\"Unterminated hex string\\\");break}if(62===i){this.nextChar();break}if(1!==ri[i]){if(a){if(e=gi(i),-1===e){this._hexStringWarn(i),i=this.nextChar();continue}}else{if(t=gi(i),-1===t){this._hexStringWarn(i),i=this.nextChar();continue}A.push(String.fromCharCode(e<<4|t))}a=!a,i=this.nextChar()}else i=this.nextChar()}return A.join(\\\"\\\")}getObj(){let A=!1,e=this.currentChar;for(;;){if(e<0)return oA;if(A)10!==e&&13!==e||(A=!1);else if(37===e)A=!0;else if(1!==ri[e])break;e=this.nextChar()}switch(0|e){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:return this.nextChar(),BA.get(\\\"[\\\");case 93:return this.nextChar(),BA.get(\\\"]\\\");case 60:return e=this.nextChar(),60===e?(this.nextChar(),BA.get(\\\"<<\\\")):this.getHexString();case 62:return e=this.nextChar(),62===e?(this.nextChar(),BA.get(\\\">>\\\")):BA.get(\\\">\\\");case 123:return this.nextChar(),BA.get(\\\"{\\\");case 125:return this.nextChar(),BA.get(\\\"}\\\");case 41:throw this.nextChar(),new W(`Illegal character: ${e}`)}let t=String.fromCharCode(e);if(e<32||e>127){const A=this.peekChar();if(A>=32&&A<=127)return this.nextChar(),BA.get(t)}const i=this.knownCommands;let a=void 0!==i?.[t];for(;(e=this.nextChar())>=0&&!ri[e];){const A=t+String.fromCharCode(e);if(a&&void 0===i[A])break;if(128===t.length)throw new W(`Command token too long: ${t.length}`);t=A,a=void 0!==i?.[t]}return\\\"true\\\"===t||\\\"false\\\"!==t&&(\\\"null\\\"===t?null:(\\\"BI\\\"===t&&(this.beginInlineImagePos=this.stream.pos),BA.get(t)))}skipToNextLine(){let A=this.currentChar;for(;A>=0;){if(13===A){A=this.nextChar(),10===A&&this.nextChar();break}if(10===A){this.nextChar();break}A=this.nextChar()}}}const Ii=[\\\"Adobe-GB1-UCS2\\\",\\\"Adobe-CNS1-UCS2\\\",\\\"Adobe-Japan1-UCS2\\\",\\\"Adobe-Korea1-UCS2\\\",\\\"78-EUC-H\\\",\\\"78-EUC-V\\\",\\\"78-H\\\",\\\"78-RKSJ-H\\\",\\\"78-RKSJ-V\\\",\\\"78-V\\\",\\\"78ms-RKSJ-H\\\",\\\"78ms-RKSJ-V\\\",\\\"83pv-RKSJ-H\\\",\\\"90ms-RKSJ-H\\\",\\\"90ms-RKSJ-V\\\",\\\"90msp-RKSJ-H\\\",\\\"90msp-RKSJ-V\\\",\\\"90pv-RKSJ-H\\\",\\\"90pv-RKSJ-V\\\",\\\"Add-H\\\",\\\"Add-RKSJ-H\\\",\\\"Add-RKSJ-V\\\",\\\"Add-V\\\",\\\"Adobe-CNS1-0\\\",\\\"Adobe-CNS1-1\\\",\\\"Adobe-CNS1-2\\\",\\\"Adobe-CNS1-3\\\",\\\"Adobe-CNS1-4\\\",\\\"Adobe-CNS1-5\\\",\\\"Adobe-CNS1-6\\\",\\\"Adobe-GB1-0\\\",\\\"Adobe-GB1-1\\\",\\\"Adobe-GB1-2\\\",\\\"Adobe-GB1-3\\\",\\\"Adobe-GB1-4\\\",\\\"Adobe-GB1-5\\\",\\\"Adobe-Japan1-0\\\",\\\"Adobe-Japan1-1\\\",\\\"Adobe-Japan1-2\\\",\\\"Adobe-Japan1-3\\\",\\\"Adobe-Japan1-4\\\",\\\"Adobe-Japan1-5\\\",\\\"Adobe-Japan1-6\\\",\\\"Adobe-Korea1-0\\\",\\\"Adobe-Korea1-1\\\",\\\"Adobe-Korea1-2\\\",\\\"B5-H\\\",\\\"B5-V\\\",\\\"B5pc-H\\\",\\\"B5pc-V\\\",\\\"CNS-EUC-H\\\",\\\"CNS-EUC-V\\\",\\\"CNS1-H\\\",\\\"CNS1-V\\\",\\\"CNS2-H\\\",\\\"CNS2-V\\\",\\\"ETHK-B5-H\\\",\\\"ETHK-B5-V\\\",\\\"ETen-B5-H\\\",\\\"ETen-B5-V\\\",\\\"ETenms-B5-H\\\",\\\"ETenms-B5-V\\\",\\\"EUC-H\\\",\\\"EUC-V\\\",\\\"Ext-H\\\",\\\"Ext-RKSJ-H\\\",\\\"Ext-RKSJ-V\\\",\\\"Ext-V\\\",\\\"GB-EUC-H\\\",\\\"GB-EUC-V\\\",\\\"GB-H\\\",\\\"GB-V\\\",\\\"GBK-EUC-H\\\",\\\"GBK-EUC-V\\\",\\\"GBK2K-H\\\",\\\"GBK2K-V\\\",\\\"GBKp-EUC-H\\\",\\\"GBKp-EUC-V\\\",\\\"GBT-EUC-H\\\",\\\"GBT-EUC-V\\\",\\\"GBT-H\\\",\\\"GBT-V\\\",\\\"GBTpc-EUC-H\\\",\\\"GBTpc-EUC-V\\\",\\\"GBpc-EUC-H\\\",\\\"GBpc-EUC-V\\\",\\\"H\\\",\\\"HKdla-B5-H\\\",\\\"HKdla-B5-V\\\",\\\"HKdlb-B5-H\\\",\\\"HKdlb-B5-V\\\",\\\"HKgccs-B5-H\\\",\\\"HKgccs-B5-V\\\",\\\"HKm314-B5-H\\\",\\\"HKm314-B5-V\\\",\\\"HKm471-B5-H\\\",\\\"HKm471-B5-V\\\",\\\"HKscs-B5-H\\\",\\\"HKscs-B5-V\\\",\\\"Hankaku\\\",\\\"Hiragana\\\",\\\"KSC-EUC-H\\\",\\\"KSC-EUC-V\\\",\\\"KSC-H\\\",\\\"KSC-Johab-H\\\",\\\"KSC-Johab-V\\\",\\\"KSC-V\\\",\\\"KSCms-UHC-H\\\",\\\"KSCms-UHC-HW-H\\\",\\\"KSCms-UHC-HW-V\\\",\\\"KSCms-UHC-V\\\",\\\"KSCpc-EUC-H\\\",\\\"KSCpc-EUC-V\\\",\\\"Katakana\\\",\\\"NWP-H\\\",\\\"NWP-V\\\",\\\"RKSJ-H\\\",\\\"RKSJ-V\\\",\\\"Roman\\\",\\\"UniCNS-UCS2-H\\\",\\\"UniCNS-UCS2-V\\\",\\\"UniCNS-UTF16-H\\\",\\\"UniCNS-UTF16-V\\\",\\\"UniCNS-UTF32-H\\\",\\\"UniCNS-UTF32-V\\\",\\\"UniCNS-UTF8-H\\\",\\\"UniCNS-UTF8-V\\\",\\\"UniGB-UCS2-H\\\",\\\"UniGB-UCS2-V\\\",\\\"UniGB-UTF16-H\\\",\\\"UniGB-UTF16-V\\\",\\\"UniGB-UTF32-H\\\",\\\"UniGB-UTF32-V\\\",\\\"UniGB-UTF8-H\\\",\\\"UniGB-UTF8-V\\\",\\\"UniJIS-UCS2-H\\\",\\\"UniJIS-UCS2-HW-H\\\",\\\"UniJIS-UCS2-HW-V\\\",\\\"UniJIS-UCS2-V\\\",\\\"UniJIS-UTF16-H\\\",\\\"UniJIS-UTF16-V\\\",\\\"UniJIS-UTF32-H\\\",\\\"UniJIS-UTF32-V\\\",\\\"UniJIS-UTF8-H\\\",\\\"UniJIS-UTF8-V\\\",\\\"UniJIS2004-UTF16-H\\\",\\\"UniJIS2004-UTF16-V\\\",\\\"UniJIS2004-UTF32-H\\\",\\\"UniJIS2004-UTF32-V\\\",\\\"UniJIS2004-UTF8-H\\\",\\\"UniJIS2004-UTF8-V\\\",\\\"UniJISPro-UCS2-HW-V\\\",\\\"UniJISPro-UCS2-V\\\",\\\"UniJISPro-UTF8-V\\\",\\\"UniJISX0213-UTF32-H\\\",\\\"UniJISX0213-UTF32-V\\\",\\\"UniJISX02132004-UTF32-H\\\",\\\"UniJISX02132004-UTF32-V\\\",\\\"UniKS-UCS2-H\\\",\\\"UniKS-UCS2-V\\\",\\\"UniKS-UTF16-H\\\",\\\"UniKS-UTF16-V\\\",\\\"UniKS-UTF32-H\\\",\\\"UniKS-UTF32-V\\\",\\\"UniKS-UTF8-H\\\",\\\"UniKS-UTF8-V\\\",\\\"V\\\",\\\"WP-Symbol\\\"],ci=2**24-1;class Ci{constructor(A=!1){this.codespaceRanges=[[],[],[],[]],this.numCodespaceRanges=0,this._map=[],this.name=\\\"\\\",this.vertical=!1,this.useCMap=null,this.builtInCMap=A}addCodespaceRange(A,e,t){this.codespaceRanges[A-1].push(e,t),this.numCodespaceRanges++}mapCidRange(A,e,t){if(e-A>ci)throw new Error(\\\"mapCidRange - ignoring data above MAX_MAP_RANGE.\\\");for(;A<=e;)this._map[A++]=t++}mapBfRange(A,e,t){if(e-A>ci)throw new Error(\\\"mapBfRange - ignoring data above MAX_MAP_RANGE.\\\");const i=t.length-1;for(;A<=e;){this._map[A++]=t;const e=t.charCodeAt(i)+1;t=e>255?t.substring(0,i-1)+String.fromCharCode(t.charCodeAt(i-1)+1)+\\\"\\\\\\\\0\\\":t.substring(0,i)+String.fromCharCode(e)}}mapBfRangeToArray(A,e,t){if(e-A>ci)throw new Error(\\\"mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.\\\");const i=t.length;let a=0;for(;A<=e&&a>>0;const n=a[s];for(let A=0,e=n.length;A=e&&i<=a)return t.charcode=i,void(t.length=s+1)}}t.charcode=0,t.length=1}getCharCodeLength(A){const e=this.codespaceRanges;for(let t=0,i=e.length;t=a&&A<=s)return t+1}}return 1}get length(){return this._map.length}get isIdentityCMap(){if(\\\"Identity-H\\\"!==this.name&&\\\"Identity-V\\\"!==this.name)return!1;if(65536!==this._map.length)return!1;for(let A=0;A<65536;A++)if(this._map[A]!==A)return!1;return!0}}class hi extends Ci{constructor(A,e){super(),this.vertical=A,this.addCodespaceRange(e,0,65535)}mapCidRange(A,e,t){M(\\\"should not call mapCidRange\\\")}mapBfRange(A,e,t){M(\\\"should not call mapBfRange\\\")}mapBfRangeToArray(A,e,t){M(\\\"should not call mapBfRangeToArray\\\")}mapOne(A,e){M(\\\"should not call mapCidOne\\\")}lookup(A){return Number.isInteger(A)&&A<=65535?A:void 0}contains(A){return Number.isInteger(A)&&A<=65535}forEach(A){for(let e=0;e<=65535;e++)A(e,e)}charCodeOf(A){return Number.isInteger(A)&&A<=65535?A:-1}getMap(){const A=new Array(65536);for(let e=0;e<=65535;e++)A[e]=e;return A}get length(){return 65536}get isIdentityCMap(){M(\\\"should not access .isIdentityCMap\\\")}}function Bi(A){let e=0;for(let t=0;t>>0}function li(A){if(\\\"string\\\"!=typeof A)throw new W(\\\"Malformed CMap: expected string.\\\")}function Qi(A){if(!Number.isInteger(A))throw new W(\\\"Malformed CMap: expected int.\\\")}function Ei(A,e){for(;;){let t=e.getObj();if(t===oA)break;if(pA(t,\\\"endbfchar\\\"))return;li(t);const i=Bi(t);t=e.getObj(),li(t);const a=t;A.mapOne(i,a)}}function ui(A,e){for(;;){let t=e.getObj();if(t===oA)break;if(pA(t,\\\"endbfrange\\\"))return;li(t);const i=Bi(t);t=e.getObj(),li(t);const a=Bi(t);if(t=e.getObj(),Number.isInteger(t)||\\\"string\\\"==typeof t){const e=Number.isInteger(t)?String.fromCharCode(t):t;A.mapBfRange(i,a,e)}else{if(!pA(t,\\\"[\\\"))break;{t=e.getObj();const s=[];for(;!pA(t,\\\"]\\\")&&t!==oA;)s.push(t),t=e.getObj();A.mapBfRangeToArray(i,a,s)}}}throw new W(\\\"Invalid bf range.\\\")}function di(A,e){for(;;){let t=e.getObj();if(t===oA)break;if(pA(t,\\\"endcidchar\\\"))return;li(t);const i=Bi(t);t=e.getObj(),Qi(t);const a=t;A.mapOne(i,a)}}function fi(A,e){for(;;){let t=e.getObj();if(t===oA)break;if(pA(t,\\\"endcidrange\\\"))return;li(t);const i=Bi(t);t=e.getObj(),li(t);const a=Bi(t);t=e.getObj(),Qi(t);const s=t;A.mapCidRange(i,a,s)}}function pi(A,e){for(;;){let t=e.getObj();if(t===oA)break;if(pA(t,\\\"endcodespacerange\\\"))return;if(\\\"string\\\"!=typeof t)break;const i=Bi(t);if(t=e.getObj(),\\\"string\\\"!=typeof t)break;const a=Bi(t);A.addCodespaceRange(t.length,i,a)}throw new W(\\\"Invalid codespace range.\\\")}function mi(A,e){const t=e.getObj();Number.isInteger(t)&&(A.vertical=!!t)}function yi(A,e){const t=e.getObj();t instanceof hA&&(A.name=t.name)}async function wi(A,e,t,i){let a,s;A:for(;;)try{const t=e.getObj();if(t===oA)break;if(t instanceof hA)\\\"WMode\\\"===t.name?mi(A,e):\\\"CMapName\\\"===t.name&&yi(A,e),a=t;else if(t instanceof BA)switch(t.cmd){case\\\"endcmap\\\":break A;case\\\"usecmap\\\":a instanceof hA&&(s=a.name);break;case\\\"begincodespacerange\\\":pi(A,e);break;case\\\"beginbfchar\\\":Ei(A,e);break;case\\\"begincidchar\\\":di(A,e);break;case\\\"beginbfrange\\\":ui(A,e);break;case\\\"begincidrange\\\":fi(A,e)}}catch(A){if(A instanceof kA)throw A;U(\\\"Invalid cMap data: \\\"+A);continue}return!i&&s&&(i=s),i?Di(A,t,i):A}async function Di(A,e,t){if(A.useCMap=await bi(t,e),0===A.numCodespaceRanges){const e=A.useCMap.codespaceRanges;for(let t=0;tDi(a,e,A)));if(i===d){const A=new oi(new ge(t));return wi(a,A,e,null)}throw new Error(`Invalid CMap \\\"compressionType\\\" value: ${i}`)}class ki{static async create({encoding:A,fetchBuiltInCMap:e,useCMap:t}){if(A instanceof hA)return bi(A.name,e);if(A instanceof wA){const i=await wi(new Ci,new oi(A),e,t);return i.isIdentityCMap?bi(i.name,e):i}throw new Error(\\\"Encoding required.\\\")}}t(1795);const Fi=[\\\".notdef\\\",\\\"space\\\",\\\"exclam\\\",\\\"quotedbl\\\",\\\"numbersign\\\",\\\"dollar\\\",\\\"percent\\\",\\\"ampersand\\\",\\\"quoteright\\\",\\\"parenleft\\\",\\\"parenright\\\",\\\"asterisk\\\",\\\"plus\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"slash\\\",\\\"zero\\\",\\\"one\\\",\\\"two\\\",\\\"three\\\",\\\"four\\\",\\\"five\\\",\\\"six\\\",\\\"seven\\\",\\\"eight\\\",\\\"nine\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"less\\\",\\\"equal\\\",\\\"greater\\\",\\\"question\\\",\\\"at\\\",\\\"A\\\",\\\"B\\\",\\\"C\\\",\\\"D\\\",\\\"E\\\",\\\"F\\\",\\\"G\\\",\\\"H\\\",\\\"I\\\",\\\"J\\\",\\\"K\\\",\\\"L\\\",\\\"M\\\",\\\"N\\\",\\\"O\\\",\\\"P\\\",\\\"Q\\\",\\\"R\\\",\\\"S\\\",\\\"T\\\",\\\"U\\\",\\\"V\\\",\\\"W\\\",\\\"X\\\",\\\"Y\\\",\\\"Z\\\",\\\"bracketleft\\\",\\\"backslash\\\",\\\"bracketright\\\",\\\"asciicircum\\\",\\\"underscore\\\",\\\"quoteleft\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"d\\\",\\\"e\\\",\\\"f\\\",\\\"g\\\",\\\"h\\\",\\\"i\\\",\\\"j\\\",\\\"k\\\",\\\"l\\\",\\\"m\\\",\\\"n\\\",\\\"o\\\",\\\"p\\\",\\\"q\\\",\\\"r\\\",\\\"s\\\",\\\"t\\\",\\\"u\\\",\\\"v\\\",\\\"w\\\",\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"braceleft\\\",\\\"bar\\\",\\\"braceright\\\",\\\"asciitilde\\\",\\\"exclamdown\\\",\\\"cent\\\",\\\"sterling\\\",\\\"fraction\\\",\\\"yen\\\",\\\"florin\\\",\\\"section\\\",\\\"currency\\\",\\\"quotesingle\\\",\\\"quotedblleft\\\",\\\"guillemotleft\\\",\\\"guilsinglleft\\\",\\\"guilsinglright\\\",\\\"fi\\\",\\\"fl\\\",\\\"endash\\\",\\\"dagger\\\",\\\"daggerdbl\\\",\\\"periodcentered\\\",\\\"paragraph\\\",\\\"bullet\\\",\\\"quotesinglbase\\\",\\\"quotedblbase\\\",\\\"quotedblright\\\",\\\"guillemotright\\\",\\\"ellipsis\\\",\\\"perthousand\\\",\\\"questiondown\\\",\\\"grave\\\",\\\"acute\\\",\\\"circumflex\\\",\\\"tilde\\\",\\\"macron\\\",\\\"breve\\\",\\\"dotaccent\\\",\\\"dieresis\\\",\\\"ring\\\",\\\"cedilla\\\",\\\"hungarumlaut\\\",\\\"ogonek\\\",\\\"caron\\\",\\\"emdash\\\",\\\"AE\\\",\\\"ordfeminine\\\",\\\"Lslash\\\",\\\"Oslash\\\",\\\"OE\\\",\\\"ordmasculine\\\",\\\"ae\\\",\\\"dotlessi\\\",\\\"lslash\\\",\\\"oslash\\\",\\\"oe\\\",\\\"germandbls\\\",\\\"onesuperior\\\",\\\"logicalnot\\\",\\\"mu\\\",\\\"trademark\\\",\\\"Eth\\\",\\\"onehalf\\\",\\\"plusminus\\\",\\\"Thorn\\\",\\\"onequarter\\\",\\\"divide\\\",\\\"brokenbar\\\",\\\"degree\\\",\\\"thorn\\\",\\\"threequarters\\\",\\\"twosuperior\\\",\\\"registered\\\",\\\"minus\\\",\\\"eth\\\",\\\"multiply\\\",\\\"threesuperior\\\",\\\"copyright\\\",\\\"Aacute\\\",\\\"Acircumflex\\\",\\\"Adieresis\\\",\\\"Agrave\\\",\\\"Aring\\\",\\\"Atilde\\\",\\\"Ccedilla\\\",\\\"Eacute\\\",\\\"Ecircumflex\\\",\\\"Edieresis\\\",\\\"Egrave\\\",\\\"Iacute\\\",\\\"Icircumflex\\\",\\\"Idieresis\\\",\\\"Igrave\\\",\\\"Ntilde\\\",\\\"Oacute\\\",\\\"Ocircumflex\\\",\\\"Odieresis\\\",\\\"Ograve\\\",\\\"Otilde\\\",\\\"Scaron\\\",\\\"Uacute\\\",\\\"Ucircumflex\\\",\\\"Udieresis\\\",\\\"Ugrave\\\",\\\"Yacute\\\",\\\"Ydieresis\\\",\\\"Zcaron\\\",\\\"aacute\\\",\\\"acircumflex\\\",\\\"adieresis\\\",\\\"agrave\\\",\\\"aring\\\",\\\"atilde\\\",\\\"ccedilla\\\",\\\"eacute\\\",\\\"ecircumflex\\\",\\\"edieresis\\\",\\\"egrave\\\",\\\"iacute\\\",\\\"icircumflex\\\",\\\"idieresis\\\",\\\"igrave\\\",\\\"ntilde\\\",\\\"oacute\\\",\\\"ocircumflex\\\",\\\"odieresis\\\",\\\"ograve\\\",\\\"otilde\\\",\\\"scaron\\\",\\\"uacute\\\",\\\"ucircumflex\\\",\\\"udieresis\\\",\\\"ugrave\\\",\\\"yacute\\\",\\\"ydieresis\\\",\\\"zcaron\\\"],Si=[\\\".notdef\\\",\\\"space\\\",\\\"exclamsmall\\\",\\\"Hungarumlautsmall\\\",\\\"dollaroldstyle\\\",\\\"dollarsuperior\\\",\\\"ampersandsmall\\\",\\\"Acutesmall\\\",\\\"parenleftsuperior\\\",\\\"parenrightsuperior\\\",\\\"twodotenleader\\\",\\\"onedotenleader\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"fraction\\\",\\\"zerooldstyle\\\",\\\"oneoldstyle\\\",\\\"twooldstyle\\\",\\\"threeoldstyle\\\",\\\"fouroldstyle\\\",\\\"fiveoldstyle\\\",\\\"sixoldstyle\\\",\\\"sevenoldstyle\\\",\\\"eightoldstyle\\\",\\\"nineoldstyle\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"commasuperior\\\",\\\"threequartersemdash\\\",\\\"periodsuperior\\\",\\\"questionsmall\\\",\\\"asuperior\\\",\\\"bsuperior\\\",\\\"centsuperior\\\",\\\"dsuperior\\\",\\\"esuperior\\\",\\\"isuperior\\\",\\\"lsuperior\\\",\\\"msuperior\\\",\\\"nsuperior\\\",\\\"osuperior\\\",\\\"rsuperior\\\",\\\"ssuperior\\\",\\\"tsuperior\\\",\\\"ff\\\",\\\"fi\\\",\\\"fl\\\",\\\"ffi\\\",\\\"ffl\\\",\\\"parenleftinferior\\\",\\\"parenrightinferior\\\",\\\"Circumflexsmall\\\",\\\"hyphensuperior\\\",\\\"Gravesmall\\\",\\\"Asmall\\\",\\\"Bsmall\\\",\\\"Csmall\\\",\\\"Dsmall\\\",\\\"Esmall\\\",\\\"Fsmall\\\",\\\"Gsmall\\\",\\\"Hsmall\\\",\\\"Ismall\\\",\\\"Jsmall\\\",\\\"Ksmall\\\",\\\"Lsmall\\\",\\\"Msmall\\\",\\\"Nsmall\\\",\\\"Osmall\\\",\\\"Psmall\\\",\\\"Qsmall\\\",\\\"Rsmall\\\",\\\"Ssmall\\\",\\\"Tsmall\\\",\\\"Usmall\\\",\\\"Vsmall\\\",\\\"Wsmall\\\",\\\"Xsmall\\\",\\\"Ysmall\\\",\\\"Zsmall\\\",\\\"colonmonetary\\\",\\\"onefitted\\\",\\\"rupiah\\\",\\\"Tildesmall\\\",\\\"exclamdownsmall\\\",\\\"centoldstyle\\\",\\\"Lslashsmall\\\",\\\"Scaronsmall\\\",\\\"Zcaronsmall\\\",\\\"Dieresissmall\\\",\\\"Brevesmall\\\",\\\"Caronsmall\\\",\\\"Dotaccentsmall\\\",\\\"Macronsmall\\\",\\\"figuredash\\\",\\\"hypheninferior\\\",\\\"Ogoneksmall\\\",\\\"Ringsmall\\\",\\\"Cedillasmall\\\",\\\"onequarter\\\",\\\"onehalf\\\",\\\"threequarters\\\",\\\"questiondownsmall\\\",\\\"oneeighth\\\",\\\"threeeighths\\\",\\\"fiveeighths\\\",\\\"seveneighths\\\",\\\"onethird\\\",\\\"twothirds\\\",\\\"zerosuperior\\\",\\\"onesuperior\\\",\\\"twosuperior\\\",\\\"threesuperior\\\",\\\"foursuperior\\\",\\\"fivesuperior\\\",\\\"sixsuperior\\\",\\\"sevensuperior\\\",\\\"eightsuperior\\\",\\\"ninesuperior\\\",\\\"zeroinferior\\\",\\\"oneinferior\\\",\\\"twoinferior\\\",\\\"threeinferior\\\",\\\"fourinferior\\\",\\\"fiveinferior\\\",\\\"sixinferior\\\",\\\"seveninferior\\\",\\\"eightinferior\\\",\\\"nineinferior\\\",\\\"centinferior\\\",\\\"dollarinferior\\\",\\\"periodinferior\\\",\\\"commainferior\\\",\\\"Agravesmall\\\",\\\"Aacutesmall\\\",\\\"Acircumflexsmall\\\",\\\"Atildesmall\\\",\\\"Adieresissmall\\\",\\\"Aringsmall\\\",\\\"AEsmall\\\",\\\"Ccedillasmall\\\",\\\"Egravesmall\\\",\\\"Eacutesmall\\\",\\\"Ecircumflexsmall\\\",\\\"Edieresissmall\\\",\\\"Igravesmall\\\",\\\"Iacutesmall\\\",\\\"Icircumflexsmall\\\",\\\"Idieresissmall\\\",\\\"Ethsmall\\\",\\\"Ntildesmall\\\",\\\"Ogravesmall\\\",\\\"Oacutesmall\\\",\\\"Ocircumflexsmall\\\",\\\"Otildesmall\\\",\\\"Odieresissmall\\\",\\\"OEsmall\\\",\\\"Oslashsmall\\\",\\\"Ugravesmall\\\",\\\"Uacutesmall\\\",\\\"Ucircumflexsmall\\\",\\\"Udieresissmall\\\",\\\"Yacutesmall\\\",\\\"Thornsmall\\\",\\\"Ydieresissmall\\\"],Ri=[\\\".notdef\\\",\\\"space\\\",\\\"dollaroldstyle\\\",\\\"dollarsuperior\\\",\\\"parenleftsuperior\\\",\\\"parenrightsuperior\\\",\\\"twodotenleader\\\",\\\"onedotenleader\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"fraction\\\",\\\"zerooldstyle\\\",\\\"oneoldstyle\\\",\\\"twooldstyle\\\",\\\"threeoldstyle\\\",\\\"fouroldstyle\\\",\\\"fiveoldstyle\\\",\\\"sixoldstyle\\\",\\\"sevenoldstyle\\\",\\\"eightoldstyle\\\",\\\"nineoldstyle\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"commasuperior\\\",\\\"threequartersemdash\\\",\\\"periodsuperior\\\",\\\"asuperior\\\",\\\"bsuperior\\\",\\\"centsuperior\\\",\\\"dsuperior\\\",\\\"esuperior\\\",\\\"isuperior\\\",\\\"lsuperior\\\",\\\"msuperior\\\",\\\"nsuperior\\\",\\\"osuperior\\\",\\\"rsuperior\\\",\\\"ssuperior\\\",\\\"tsuperior\\\",\\\"ff\\\",\\\"fi\\\",\\\"fl\\\",\\\"ffi\\\",\\\"ffl\\\",\\\"parenleftinferior\\\",\\\"parenrightinferior\\\",\\\"hyphensuperior\\\",\\\"colonmonetary\\\",\\\"onefitted\\\",\\\"rupiah\\\",\\\"centoldstyle\\\",\\\"figuredash\\\",\\\"hypheninferior\\\",\\\"onequarter\\\",\\\"onehalf\\\",\\\"threequarters\\\",\\\"oneeighth\\\",\\\"threeeighths\\\",\\\"fiveeighths\\\",\\\"seveneighths\\\",\\\"onethird\\\",\\\"twothirds\\\",\\\"zerosuperior\\\",\\\"onesuperior\\\",\\\"twosuperior\\\",\\\"threesuperior\\\",\\\"foursuperior\\\",\\\"fivesuperior\\\",\\\"sixsuperior\\\",\\\"sevensuperior\\\",\\\"eightsuperior\\\",\\\"ninesuperior\\\",\\\"zeroinferior\\\",\\\"oneinferior\\\",\\\"twoinferior\\\",\\\"threeinferior\\\",\\\"fourinferior\\\",\\\"fiveinferior\\\",\\\"sixinferior\\\",\\\"seveninferior\\\",\\\"eightinferior\\\",\\\"nineinferior\\\",\\\"centinferior\\\",\\\"dollarinferior\\\",\\\"periodinferior\\\",\\\"commainferior\\\"],Gi=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"space\\\",\\\"exclamsmall\\\",\\\"Hungarumlautsmall\\\",\\\"\\\",\\\"dollaroldstyle\\\",\\\"dollarsuperior\\\",\\\"ampersandsmall\\\",\\\"Acutesmall\\\",\\\"parenleftsuperior\\\",\\\"parenrightsuperior\\\",\\\"twodotenleader\\\",\\\"onedotenleader\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"fraction\\\",\\\"zerooldstyle\\\",\\\"oneoldstyle\\\",\\\"twooldstyle\\\",\\\"threeoldstyle\\\",\\\"fouroldstyle\\\",\\\"fiveoldstyle\\\",\\\"sixoldstyle\\\",\\\"sevenoldstyle\\\",\\\"eightoldstyle\\\",\\\"nineoldstyle\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"commasuperior\\\",\\\"threequartersemdash\\\",\\\"periodsuperior\\\",\\\"questionsmall\\\",\\\"\\\",\\\"asuperior\\\",\\\"bsuperior\\\",\\\"centsuperior\\\",\\\"dsuperior\\\",\\\"esuperior\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"isuperior\\\",\\\"\\\",\\\"\\\",\\\"lsuperior\\\",\\\"msuperior\\\",\\\"nsuperior\\\",\\\"osuperior\\\",\\\"\\\",\\\"\\\",\\\"rsuperior\\\",\\\"ssuperior\\\",\\\"tsuperior\\\",\\\"\\\",\\\"ff\\\",\\\"fi\\\",\\\"fl\\\",\\\"ffi\\\",\\\"ffl\\\",\\\"parenleftinferior\\\",\\\"\\\",\\\"parenrightinferior\\\",\\\"Circumflexsmall\\\",\\\"hyphensuperior\\\",\\\"Gravesmall\\\",\\\"Asmall\\\",\\\"Bsmall\\\",\\\"Csmall\\\",\\\"Dsmall\\\",\\\"Esmall\\\",\\\"Fsmall\\\",\\\"Gsmall\\\",\\\"Hsmall\\\",\\\"Ismall\\\",\\\"Jsmall\\\",\\\"Ksmall\\\",\\\"Lsmall\\\",\\\"Msmall\\\",\\\"Nsmall\\\",\\\"Osmall\\\",\\\"Psmall\\\",\\\"Qsmall\\\",\\\"Rsmall\\\",\\\"Ssmall\\\",\\\"Tsmall\\\",\\\"Usmall\\\",\\\"Vsmall\\\",\\\"Wsmall\\\",\\\"Xsmall\\\",\\\"Ysmall\\\",\\\"Zsmall\\\",\\\"colonmonetary\\\",\\\"onefitted\\\",\\\"rupiah\\\",\\\"Tildesmall\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"exclamdownsmall\\\",\\\"centoldstyle\\\",\\\"Lslashsmall\\\",\\\"\\\",\\\"\\\",\\\"Scaronsmall\\\",\\\"Zcaronsmall\\\",\\\"Dieresissmall\\\",\\\"Brevesmall\\\",\\\"Caronsmall\\\",\\\"\\\",\\\"Dotaccentsmall\\\",\\\"\\\",\\\"\\\",\\\"Macronsmall\\\",\\\"\\\",\\\"\\\",\\\"figuredash\\\",\\\"hypheninferior\\\",\\\"\\\",\\\"\\\",\\\"Ogoneksmall\\\",\\\"Ringsmall\\\",\\\"Cedillasmall\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"onequarter\\\",\\\"onehalf\\\",\\\"threequarters\\\",\\\"questiondownsmall\\\",\\\"oneeighth\\\",\\\"threeeighths\\\",\\\"fiveeighths\\\",\\\"seveneighths\\\",\\\"onethird\\\",\\\"twothirds\\\",\\\"\\\",\\\"\\\",\\\"zerosuperior\\\",\\\"onesuperior\\\",\\\"twosuperior\\\",\\\"threesuperior\\\",\\\"foursuperior\\\",\\\"fivesuperior\\\",\\\"sixsuperior\\\",\\\"sevensuperior\\\",\\\"eightsuperior\\\",\\\"ninesuperior\\\",\\\"zeroinferior\\\",\\\"oneinferior\\\",\\\"twoinferior\\\",\\\"threeinferior\\\",\\\"fourinferior\\\",\\\"fiveinferior\\\",\\\"sixinferior\\\",\\\"seveninferior\\\",\\\"eightinferior\\\",\\\"nineinferior\\\",\\\"centinferior\\\",\\\"dollarinferior\\\",\\\"periodinferior\\\",\\\"commainferior\\\",\\\"Agravesmall\\\",\\\"Aacutesmall\\\",\\\"Acircumflexsmall\\\",\\\"Atildesmall\\\",\\\"Adieresissmall\\\",\\\"Aringsmall\\\",\\\"AEsmall\\\",\\\"Ccedillasmall\\\",\\\"Egravesmall\\\",\\\"Eacutesmall\\\",\\\"Ecircumflexsmall\\\",\\\"Edieresissmall\\\",\\\"Igravesmall\\\",\\\"Iacutesmall\\\",\\\"Icircumflexsmall\\\",\\\"Idieresissmall\\\",\\\"Ethsmall\\\",\\\"Ntildesmall\\\",\\\"Ogravesmall\\\",\\\"Oacutesmall\\\",\\\"Ocircumflexsmall\\\",\\\"Otildesmall\\\",\\\"Odieresissmall\\\",\\\"OEsmall\\\",\\\"Oslashsmall\\\",\\\"Ugravesmall\\\",\\\"Uacutesmall\\\",\\\"Ucircumflexsmall\\\",\\\"Udieresissmall\\\",\\\"Yacutesmall\\\",\\\"Thornsmall\\\",\\\"Ydieresissmall\\\"],Ni=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"space\\\",\\\"exclamsmall\\\",\\\"Hungarumlautsmall\\\",\\\"centoldstyle\\\",\\\"dollaroldstyle\\\",\\\"dollarsuperior\\\",\\\"ampersandsmall\\\",\\\"Acutesmall\\\",\\\"parenleftsuperior\\\",\\\"parenrightsuperior\\\",\\\"twodotenleader\\\",\\\"onedotenleader\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"fraction\\\",\\\"zerooldstyle\\\",\\\"oneoldstyle\\\",\\\"twooldstyle\\\",\\\"threeoldstyle\\\",\\\"fouroldstyle\\\",\\\"fiveoldstyle\\\",\\\"sixoldstyle\\\",\\\"sevenoldstyle\\\",\\\"eightoldstyle\\\",\\\"nineoldstyle\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"\\\",\\\"threequartersemdash\\\",\\\"\\\",\\\"questionsmall\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"Ethsmall\\\",\\\"\\\",\\\"\\\",\\\"onequarter\\\",\\\"onehalf\\\",\\\"threequarters\\\",\\\"oneeighth\\\",\\\"threeeighths\\\",\\\"fiveeighths\\\",\\\"seveneighths\\\",\\\"onethird\\\",\\\"twothirds\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"ff\\\",\\\"fi\\\",\\\"fl\\\",\\\"ffi\\\",\\\"ffl\\\",\\\"parenleftinferior\\\",\\\"\\\",\\\"parenrightinferior\\\",\\\"Circumflexsmall\\\",\\\"hypheninferior\\\",\\\"Gravesmall\\\",\\\"Asmall\\\",\\\"Bsmall\\\",\\\"Csmall\\\",\\\"Dsmall\\\",\\\"Esmall\\\",\\\"Fsmall\\\",\\\"Gsmall\\\",\\\"Hsmall\\\",\\\"Ismall\\\",\\\"Jsmall\\\",\\\"Ksmall\\\",\\\"Lsmall\\\",\\\"Msmall\\\",\\\"Nsmall\\\",\\\"Osmall\\\",\\\"Psmall\\\",\\\"Qsmall\\\",\\\"Rsmall\\\",\\\"Ssmall\\\",\\\"Tsmall\\\",\\\"Usmall\\\",\\\"Vsmall\\\",\\\"Wsmall\\\",\\\"Xsmall\\\",\\\"Ysmall\\\",\\\"Zsmall\\\",\\\"colonmonetary\\\",\\\"onefitted\\\",\\\"rupiah\\\",\\\"Tildesmall\\\",\\\"\\\",\\\"\\\",\\\"asuperior\\\",\\\"centsuperior\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"Aacutesmall\\\",\\\"Agravesmall\\\",\\\"Acircumflexsmall\\\",\\\"Adieresissmall\\\",\\\"Atildesmall\\\",\\\"Aringsmall\\\",\\\"Ccedillasmall\\\",\\\"Eacutesmall\\\",\\\"Egravesmall\\\",\\\"Ecircumflexsmall\\\",\\\"Edieresissmall\\\",\\\"Iacutesmall\\\",\\\"Igravesmall\\\",\\\"Icircumflexsmall\\\",\\\"Idieresissmall\\\",\\\"Ntildesmall\\\",\\\"Oacutesmall\\\",\\\"Ogravesmall\\\",\\\"Ocircumflexsmall\\\",\\\"Odieresissmall\\\",\\\"Otildesmall\\\",\\\"Uacutesmall\\\",\\\"Ugravesmall\\\",\\\"Ucircumflexsmall\\\",\\\"Udieresissmall\\\",\\\"\\\",\\\"eightsuperior\\\",\\\"fourinferior\\\",\\\"threeinferior\\\",\\\"sixinferior\\\",\\\"eightinferior\\\",\\\"seveninferior\\\",\\\"Scaronsmall\\\",\\\"\\\",\\\"centinferior\\\",\\\"twoinferior\\\",\\\"\\\",\\\"Dieresissmall\\\",\\\"\\\",\\\"Caronsmall\\\",\\\"osuperior\\\",\\\"fiveinferior\\\",\\\"\\\",\\\"commainferior\\\",\\\"periodinferior\\\",\\\"Yacutesmall\\\",\\\"\\\",\\\"dollarinferior\\\",\\\"\\\",\\\"\\\",\\\"Thornsmall\\\",\\\"\\\",\\\"nineinferior\\\",\\\"zeroinferior\\\",\\\"Zcaronsmall\\\",\\\"AEsmall\\\",\\\"Oslashsmall\\\",\\\"questiondownsmall\\\",\\\"oneinferior\\\",\\\"Lslashsmall\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"Cedillasmall\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"OEsmall\\\",\\\"figuredash\\\",\\\"hyphensuperior\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"exclamdownsmall\\\",\\\"\\\",\\\"Ydieresissmall\\\",\\\"\\\",\\\"onesuperior\\\",\\\"twosuperior\\\",\\\"threesuperior\\\",\\\"foursuperior\\\",\\\"fivesuperior\\\",\\\"sixsuperior\\\",\\\"sevensuperior\\\",\\\"ninesuperior\\\",\\\"zerosuperior\\\",\\\"\\\",\\\"esuperior\\\",\\\"rsuperior\\\",\\\"tsuperior\\\",\\\"\\\",\\\"\\\",\\\"isuperior\\\",\\\"ssuperior\\\",\\\"dsuperior\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"lsuperior\\\",\\\"Ogoneksmall\\\",\\\"Brevesmall\\\",\\\"Macronsmall\\\",\\\"bsuperior\\\",\\\"nsuperior\\\",\\\"msuperior\\\",\\\"commasuperior\\\",\\\"periodsuperior\\\",\\\"Dotaccentsmall\\\",\\\"Ringsmall\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\"],xi=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"space\\\",\\\"exclam\\\",\\\"quotedbl\\\",\\\"numbersign\\\",\\\"dollar\\\",\\\"percent\\\",\\\"ampersand\\\",\\\"quotesingle\\\",\\\"parenleft\\\",\\\"parenright\\\",\\\"asterisk\\\",\\\"plus\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"slash\\\",\\\"zero\\\",\\\"one\\\",\\\"two\\\",\\\"three\\\",\\\"four\\\",\\\"five\\\",\\\"six\\\",\\\"seven\\\",\\\"eight\\\",\\\"nine\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"less\\\",\\\"equal\\\",\\\"greater\\\",\\\"question\\\",\\\"at\\\",\\\"A\\\",\\\"B\\\",\\\"C\\\",\\\"D\\\",\\\"E\\\",\\\"F\\\",\\\"G\\\",\\\"H\\\",\\\"I\\\",\\\"J\\\",\\\"K\\\",\\\"L\\\",\\\"M\\\",\\\"N\\\",\\\"O\\\",\\\"P\\\",\\\"Q\\\",\\\"R\\\",\\\"S\\\",\\\"T\\\",\\\"U\\\",\\\"V\\\",\\\"W\\\",\\\"X\\\",\\\"Y\\\",\\\"Z\\\",\\\"bracketleft\\\",\\\"backslash\\\",\\\"bracketright\\\",\\\"asciicircum\\\",\\\"underscore\\\",\\\"grave\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"d\\\",\\\"e\\\",\\\"f\\\",\\\"g\\\",\\\"h\\\",\\\"i\\\",\\\"j\\\",\\\"k\\\",\\\"l\\\",\\\"m\\\",\\\"n\\\",\\\"o\\\",\\\"p\\\",\\\"q\\\",\\\"r\\\",\\\"s\\\",\\\"t\\\",\\\"u\\\",\\\"v\\\",\\\"w\\\",\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"braceleft\\\",\\\"bar\\\",\\\"braceright\\\",\\\"asciitilde\\\",\\\"\\\",\\\"Adieresis\\\",\\\"Aring\\\",\\\"Ccedilla\\\",\\\"Eacute\\\",\\\"Ntilde\\\",\\\"Odieresis\\\",\\\"Udieresis\\\",\\\"aacute\\\",\\\"agrave\\\",\\\"acircumflex\\\",\\\"adieresis\\\",\\\"atilde\\\",\\\"aring\\\",\\\"ccedilla\\\",\\\"eacute\\\",\\\"egrave\\\",\\\"ecircumflex\\\",\\\"edieresis\\\",\\\"iacute\\\",\\\"igrave\\\",\\\"icircumflex\\\",\\\"idieresis\\\",\\\"ntilde\\\",\\\"oacute\\\",\\\"ograve\\\",\\\"ocircumflex\\\",\\\"odieresis\\\",\\\"otilde\\\",\\\"uacute\\\",\\\"ugrave\\\",\\\"ucircumflex\\\",\\\"udieresis\\\",\\\"dagger\\\",\\\"degree\\\",\\\"cent\\\",\\\"sterling\\\",\\\"section\\\",\\\"bullet\\\",\\\"paragraph\\\",\\\"germandbls\\\",\\\"registered\\\",\\\"copyright\\\",\\\"trademark\\\",\\\"acute\\\",\\\"dieresis\\\",\\\"notequal\\\",\\\"AE\\\",\\\"Oslash\\\",\\\"infinity\\\",\\\"plusminus\\\",\\\"lessequal\\\",\\\"greaterequal\\\",\\\"yen\\\",\\\"mu\\\",\\\"partialdiff\\\",\\\"summation\\\",\\\"product\\\",\\\"pi\\\",\\\"integral\\\",\\\"ordfeminine\\\",\\\"ordmasculine\\\",\\\"Omega\\\",\\\"ae\\\",\\\"oslash\\\",\\\"questiondown\\\",\\\"exclamdown\\\",\\\"logicalnot\\\",\\\"radical\\\",\\\"florin\\\",\\\"approxequal\\\",\\\"Delta\\\",\\\"guillemotleft\\\",\\\"guillemotright\\\",\\\"ellipsis\\\",\\\"space\\\",\\\"Agrave\\\",\\\"Atilde\\\",\\\"Otilde\\\",\\\"OE\\\",\\\"oe\\\",\\\"endash\\\",\\\"emdash\\\",\\\"quotedblleft\\\",\\\"quotedblright\\\",\\\"quoteleft\\\",\\\"quoteright\\\",\\\"divide\\\",\\\"lozenge\\\",\\\"ydieresis\\\",\\\"Ydieresis\\\",\\\"fraction\\\",\\\"currency\\\",\\\"guilsinglleft\\\",\\\"guilsinglright\\\",\\\"fi\\\",\\\"fl\\\",\\\"daggerdbl\\\",\\\"periodcentered\\\",\\\"quotesinglbase\\\",\\\"quotedblbase\\\",\\\"perthousand\\\",\\\"Acircumflex\\\",\\\"Ecircumflex\\\",\\\"Aacute\\\",\\\"Edieresis\\\",\\\"Egrave\\\",\\\"Iacute\\\",\\\"Icircumflex\\\",\\\"Idieresis\\\",\\\"Igrave\\\",\\\"Oacute\\\",\\\"Ocircumflex\\\",\\\"apple\\\",\\\"Ograve\\\",\\\"Uacute\\\",\\\"Ucircumflex\\\",\\\"Ugrave\\\",\\\"dotlessi\\\",\\\"circumflex\\\",\\\"tilde\\\",\\\"macron\\\",\\\"breve\\\",\\\"dotaccent\\\",\\\"ring\\\",\\\"cedilla\\\",\\\"hungarumlaut\\\",\\\"ogonek\\\",\\\"caron\\\"],Ui=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"space\\\",\\\"exclam\\\",\\\"quotedbl\\\",\\\"numbersign\\\",\\\"dollar\\\",\\\"percent\\\",\\\"ampersand\\\",\\\"quoteright\\\",\\\"parenleft\\\",\\\"parenright\\\",\\\"asterisk\\\",\\\"plus\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"slash\\\",\\\"zero\\\",\\\"one\\\",\\\"two\\\",\\\"three\\\",\\\"four\\\",\\\"five\\\",\\\"six\\\",\\\"seven\\\",\\\"eight\\\",\\\"nine\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"less\\\",\\\"equal\\\",\\\"greater\\\",\\\"question\\\",\\\"at\\\",\\\"A\\\",\\\"B\\\",\\\"C\\\",\\\"D\\\",\\\"E\\\",\\\"F\\\",\\\"G\\\",\\\"H\\\",\\\"I\\\",\\\"J\\\",\\\"K\\\",\\\"L\\\",\\\"M\\\",\\\"N\\\",\\\"O\\\",\\\"P\\\",\\\"Q\\\",\\\"R\\\",\\\"S\\\",\\\"T\\\",\\\"U\\\",\\\"V\\\",\\\"W\\\",\\\"X\\\",\\\"Y\\\",\\\"Z\\\",\\\"bracketleft\\\",\\\"backslash\\\",\\\"bracketright\\\",\\\"asciicircum\\\",\\\"underscore\\\",\\\"quoteleft\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"d\\\",\\\"e\\\",\\\"f\\\",\\\"g\\\",\\\"h\\\",\\\"i\\\",\\\"j\\\",\\\"k\\\",\\\"l\\\",\\\"m\\\",\\\"n\\\",\\\"o\\\",\\\"p\\\",\\\"q\\\",\\\"r\\\",\\\"s\\\",\\\"t\\\",\\\"u\\\",\\\"v\\\",\\\"w\\\",\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"braceleft\\\",\\\"bar\\\",\\\"braceright\\\",\\\"asciitilde\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"exclamdown\\\",\\\"cent\\\",\\\"sterling\\\",\\\"fraction\\\",\\\"yen\\\",\\\"florin\\\",\\\"section\\\",\\\"currency\\\",\\\"quotesingle\\\",\\\"quotedblleft\\\",\\\"guillemotleft\\\",\\\"guilsinglleft\\\",\\\"guilsinglright\\\",\\\"fi\\\",\\\"fl\\\",\\\"\\\",\\\"endash\\\",\\\"dagger\\\",\\\"daggerdbl\\\",\\\"periodcentered\\\",\\\"\\\",\\\"paragraph\\\",\\\"bullet\\\",\\\"quotesinglbase\\\",\\\"quotedblbase\\\",\\\"quotedblright\\\",\\\"guillemotright\\\",\\\"ellipsis\\\",\\\"perthousand\\\",\\\"\\\",\\\"questiondown\\\",\\\"\\\",\\\"grave\\\",\\\"acute\\\",\\\"circumflex\\\",\\\"tilde\\\",\\\"macron\\\",\\\"breve\\\",\\\"dotaccent\\\",\\\"dieresis\\\",\\\"\\\",\\\"ring\\\",\\\"cedilla\\\",\\\"\\\",\\\"hungarumlaut\\\",\\\"ogonek\\\",\\\"caron\\\",\\\"emdash\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"AE\\\",\\\"\\\",\\\"ordfeminine\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"Lslash\\\",\\\"Oslash\\\",\\\"OE\\\",\\\"ordmasculine\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"ae\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"dotlessi\\\",\\\"\\\",\\\"\\\",\\\"lslash\\\",\\\"oslash\\\",\\\"oe\\\",\\\"germandbls\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\"],Mi=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"space\\\",\\\"exclam\\\",\\\"quotedbl\\\",\\\"numbersign\\\",\\\"dollar\\\",\\\"percent\\\",\\\"ampersand\\\",\\\"quotesingle\\\",\\\"parenleft\\\",\\\"parenright\\\",\\\"asterisk\\\",\\\"plus\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"slash\\\",\\\"zero\\\",\\\"one\\\",\\\"two\\\",\\\"three\\\",\\\"four\\\",\\\"five\\\",\\\"six\\\",\\\"seven\\\",\\\"eight\\\",\\\"nine\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"less\\\",\\\"equal\\\",\\\"greater\\\",\\\"question\\\",\\\"at\\\",\\\"A\\\",\\\"B\\\",\\\"C\\\",\\\"D\\\",\\\"E\\\",\\\"F\\\",\\\"G\\\",\\\"H\\\",\\\"I\\\",\\\"J\\\",\\\"K\\\",\\\"L\\\",\\\"M\\\",\\\"N\\\",\\\"O\\\",\\\"P\\\",\\\"Q\\\",\\\"R\\\",\\\"S\\\",\\\"T\\\",\\\"U\\\",\\\"V\\\",\\\"W\\\",\\\"X\\\",\\\"Y\\\",\\\"Z\\\",\\\"bracketleft\\\",\\\"backslash\\\",\\\"bracketright\\\",\\\"asciicircum\\\",\\\"underscore\\\",\\\"grave\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"d\\\",\\\"e\\\",\\\"f\\\",\\\"g\\\",\\\"h\\\",\\\"i\\\",\\\"j\\\",\\\"k\\\",\\\"l\\\",\\\"m\\\",\\\"n\\\",\\\"o\\\",\\\"p\\\",\\\"q\\\",\\\"r\\\",\\\"s\\\",\\\"t\\\",\\\"u\\\",\\\"v\\\",\\\"w\\\",\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"braceleft\\\",\\\"bar\\\",\\\"braceright\\\",\\\"asciitilde\\\",\\\"bullet\\\",\\\"Euro\\\",\\\"bullet\\\",\\\"quotesinglbase\\\",\\\"florin\\\",\\\"quotedblbase\\\",\\\"ellipsis\\\",\\\"dagger\\\",\\\"daggerdbl\\\",\\\"circumflex\\\",\\\"perthousand\\\",\\\"Scaron\\\",\\\"guilsinglleft\\\",\\\"OE\\\",\\\"bullet\\\",\\\"Zcaron\\\",\\\"bullet\\\",\\\"bullet\\\",\\\"quoteleft\\\",\\\"quoteright\\\",\\\"quotedblleft\\\",\\\"quotedblright\\\",\\\"bullet\\\",\\\"endash\\\",\\\"emdash\\\",\\\"tilde\\\",\\\"trademark\\\",\\\"scaron\\\",\\\"guilsinglright\\\",\\\"oe\\\",\\\"bullet\\\",\\\"zcaron\\\",\\\"Ydieresis\\\",\\\"space\\\",\\\"exclamdown\\\",\\\"cent\\\",\\\"sterling\\\",\\\"currency\\\",\\\"yen\\\",\\\"brokenbar\\\",\\\"section\\\",\\\"dieresis\\\",\\\"copyright\\\",\\\"ordfeminine\\\",\\\"guillemotleft\\\",\\\"logicalnot\\\",\\\"hyphen\\\",\\\"registered\\\",\\\"macron\\\",\\\"degree\\\",\\\"plusminus\\\",\\\"twosuperior\\\",\\\"threesuperior\\\",\\\"acute\\\",\\\"mu\\\",\\\"paragraph\\\",\\\"periodcentered\\\",\\\"cedilla\\\",\\\"onesuperior\\\",\\\"ordmasculine\\\",\\\"guillemotright\\\",\\\"onequarter\\\",\\\"onehalf\\\",\\\"threequarters\\\",\\\"questiondown\\\",\\\"Agrave\\\",\\\"Aacute\\\",\\\"Acircumflex\\\",\\\"Atilde\\\",\\\"Adieresis\\\",\\\"Aring\\\",\\\"AE\\\",\\\"Ccedilla\\\",\\\"Egrave\\\",\\\"Eacute\\\",\\\"Ecircumflex\\\",\\\"Edieresis\\\",\\\"Igrave\\\",\\\"Iacute\\\",\\\"Icircumflex\\\",\\\"Idieresis\\\",\\\"Eth\\\",\\\"Ntilde\\\",\\\"Ograve\\\",\\\"Oacute\\\",\\\"Ocircumflex\\\",\\\"Otilde\\\",\\\"Odieresis\\\",\\\"multiply\\\",\\\"Oslash\\\",\\\"Ugrave\\\",\\\"Uacute\\\",\\\"Ucircumflex\\\",\\\"Udieresis\\\",\\\"Yacute\\\",\\\"Thorn\\\",\\\"germandbls\\\",\\\"agrave\\\",\\\"aacute\\\",\\\"acircumflex\\\",\\\"atilde\\\",\\\"adieresis\\\",\\\"aring\\\",\\\"ae\\\",\\\"ccedilla\\\",\\\"egrave\\\",\\\"eacute\\\",\\\"ecircumflex\\\",\\\"edieresis\\\",\\\"igrave\\\",\\\"iacute\\\",\\\"icircumflex\\\",\\\"idieresis\\\",\\\"eth\\\",\\\"ntilde\\\",\\\"ograve\\\",\\\"oacute\\\",\\\"ocircumflex\\\",\\\"otilde\\\",\\\"odieresis\\\",\\\"divide\\\",\\\"oslash\\\",\\\"ugrave\\\",\\\"uacute\\\",\\\"ucircumflex\\\",\\\"udieresis\\\",\\\"yacute\\\",\\\"thorn\\\",\\\"ydieresis\\\"],Li=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"space\\\",\\\"exclam\\\",\\\"universal\\\",\\\"numbersign\\\",\\\"existential\\\",\\\"percent\\\",\\\"ampersand\\\",\\\"suchthat\\\",\\\"parenleft\\\",\\\"parenright\\\",\\\"asteriskmath\\\",\\\"plus\\\",\\\"comma\\\",\\\"minus\\\",\\\"period\\\",\\\"slash\\\",\\\"zero\\\",\\\"one\\\",\\\"two\\\",\\\"three\\\",\\\"four\\\",\\\"five\\\",\\\"six\\\",\\\"seven\\\",\\\"eight\\\",\\\"nine\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"less\\\",\\\"equal\\\",\\\"greater\\\",\\\"question\\\",\\\"congruent\\\",\\\"Alpha\\\",\\\"Beta\\\",\\\"Chi\\\",\\\"Delta\\\",\\\"Epsilon\\\",\\\"Phi\\\",\\\"Gamma\\\",\\\"Eta\\\",\\\"Iota\\\",\\\"theta1\\\",\\\"Kappa\\\",\\\"Lambda\\\",\\\"Mu\\\",\\\"Nu\\\",\\\"Omicron\\\",\\\"Pi\\\",\\\"Theta\\\",\\\"Rho\\\",\\\"Sigma\\\",\\\"Tau\\\",\\\"Upsilon\\\",\\\"sigma1\\\",\\\"Omega\\\",\\\"Xi\\\",\\\"Psi\\\",\\\"Zeta\\\",\\\"bracketleft\\\",\\\"therefore\\\",\\\"bracketright\\\",\\\"perpendicular\\\",\\\"underscore\\\",\\\"radicalex\\\",\\\"alpha\\\",\\\"beta\\\",\\\"chi\\\",\\\"delta\\\",\\\"epsilon\\\",\\\"phi\\\",\\\"gamma\\\",\\\"eta\\\",\\\"iota\\\",\\\"phi1\\\",\\\"kappa\\\",\\\"lambda\\\",\\\"mu\\\",\\\"nu\\\",\\\"omicron\\\",\\\"pi\\\",\\\"theta\\\",\\\"rho\\\",\\\"sigma\\\",\\\"tau\\\",\\\"upsilon\\\",\\\"omega1\\\",\\\"omega\\\",\\\"xi\\\",\\\"psi\\\",\\\"zeta\\\",\\\"braceleft\\\",\\\"bar\\\",\\\"braceright\\\",\\\"similar\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"Euro\\\",\\\"Upsilon1\\\",\\\"minute\\\",\\\"lessequal\\\",\\\"fraction\\\",\\\"infinity\\\",\\\"florin\\\",\\\"club\\\",\\\"diamond\\\",\\\"heart\\\",\\\"spade\\\",\\\"arrowboth\\\",\\\"arrowleft\\\",\\\"arrowup\\\",\\\"arrowright\\\",\\\"arrowdown\\\",\\\"degree\\\",\\\"plusminus\\\",\\\"second\\\",\\\"greaterequal\\\",\\\"multiply\\\",\\\"proportional\\\",\\\"partialdiff\\\",\\\"bullet\\\",\\\"divide\\\",\\\"notequal\\\",\\\"equivalence\\\",\\\"approxequal\\\",\\\"ellipsis\\\",\\\"arrowvertex\\\",\\\"arrowhorizex\\\",\\\"carriagereturn\\\",\\\"aleph\\\",\\\"Ifraktur\\\",\\\"Rfraktur\\\",\\\"weierstrass\\\",\\\"circlemultiply\\\",\\\"circleplus\\\",\\\"emptyset\\\",\\\"intersection\\\",\\\"union\\\",\\\"propersuperset\\\",\\\"reflexsuperset\\\",\\\"notsubset\\\",\\\"propersubset\\\",\\\"reflexsubset\\\",\\\"element\\\",\\\"notelement\\\",\\\"angle\\\",\\\"gradient\\\",\\\"registerserif\\\",\\\"copyrightserif\\\",\\\"trademarkserif\\\",\\\"product\\\",\\\"radical\\\",\\\"dotmath\\\",\\\"logicalnot\\\",\\\"logicaland\\\",\\\"logicalor\\\",\\\"arrowdblboth\\\",\\\"arrowdblleft\\\",\\\"arrowdblup\\\",\\\"arrowdblright\\\",\\\"arrowdbldown\\\",\\\"lozenge\\\",\\\"angleleft\\\",\\\"registersans\\\",\\\"copyrightsans\\\",\\\"trademarksans\\\",\\\"summation\\\",\\\"parenlefttp\\\",\\\"parenleftex\\\",\\\"parenleftbt\\\",\\\"bracketlefttp\\\",\\\"bracketleftex\\\",\\\"bracketleftbt\\\",\\\"bracelefttp\\\",\\\"braceleftmid\\\",\\\"braceleftbt\\\",\\\"braceex\\\",\\\"\\\",\\\"angleright\\\",\\\"integral\\\",\\\"integraltp\\\",\\\"integralex\\\",\\\"integralbt\\\",\\\"parenrighttp\\\",\\\"parenrightex\\\",\\\"parenrightbt\\\",\\\"bracketrighttp\\\",\\\"bracketrightex\\\",\\\"bracketrightbt\\\",\\\"bracerighttp\\\",\\\"bracerightmid\\\",\\\"bracerightbt\\\",\\\"\\\"],Ji=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"space\\\",\\\"a1\\\",\\\"a2\\\",\\\"a202\\\",\\\"a3\\\",\\\"a4\\\",\\\"a5\\\",\\\"a119\\\",\\\"a118\\\",\\\"a117\\\",\\\"a11\\\",\\\"a12\\\",\\\"a13\\\",\\\"a14\\\",\\\"a15\\\",\\\"a16\\\",\\\"a105\\\",\\\"a17\\\",\\\"a18\\\",\\\"a19\\\",\\\"a20\\\",\\\"a21\\\",\\\"a22\\\",\\\"a23\\\",\\\"a24\\\",\\\"a25\\\",\\\"a26\\\",\\\"a27\\\",\\\"a28\\\",\\\"a6\\\",\\\"a7\\\",\\\"a8\\\",\\\"a9\\\",\\\"a10\\\",\\\"a29\\\",\\\"a30\\\",\\\"a31\\\",\\\"a32\\\",\\\"a33\\\",\\\"a34\\\",\\\"a35\\\",\\\"a36\\\",\\\"a37\\\",\\\"a38\\\",\\\"a39\\\",\\\"a40\\\",\\\"a41\\\",\\\"a42\\\",\\\"a43\\\",\\\"a44\\\",\\\"a45\\\",\\\"a46\\\",\\\"a47\\\",\\\"a48\\\",\\\"a49\\\",\\\"a50\\\",\\\"a51\\\",\\\"a52\\\",\\\"a53\\\",\\\"a54\\\",\\\"a55\\\",\\\"a56\\\",\\\"a57\\\",\\\"a58\\\",\\\"a59\\\",\\\"a60\\\",\\\"a61\\\",\\\"a62\\\",\\\"a63\\\",\\\"a64\\\",\\\"a65\\\",\\\"a66\\\",\\\"a67\\\",\\\"a68\\\",\\\"a69\\\",\\\"a70\\\",\\\"a71\\\",\\\"a72\\\",\\\"a73\\\",\\\"a74\\\",\\\"a203\\\",\\\"a75\\\",\\\"a204\\\",\\\"a76\\\",\\\"a77\\\",\\\"a78\\\",\\\"a79\\\",\\\"a81\\\",\\\"a82\\\",\\\"a83\\\",\\\"a84\\\",\\\"a97\\\",\\\"a98\\\",\\\"a99\\\",\\\"a100\\\",\\\"\\\",\\\"a89\\\",\\\"a90\\\",\\\"a93\\\",\\\"a94\\\",\\\"a91\\\",\\\"a92\\\",\\\"a205\\\",\\\"a85\\\",\\\"a206\\\",\\\"a86\\\",\\\"a87\\\",\\\"a88\\\",\\\"a95\\\",\\\"a96\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"a101\\\",\\\"a102\\\",\\\"a103\\\",\\\"a104\\\",\\\"a106\\\",\\\"a107\\\",\\\"a108\\\",\\\"a112\\\",\\\"a111\\\",\\\"a110\\\",\\\"a109\\\",\\\"a120\\\",\\\"a121\\\",\\\"a122\\\",\\\"a123\\\",\\\"a124\\\",\\\"a125\\\",\\\"a126\\\",\\\"a127\\\",\\\"a128\\\",\\\"a129\\\",\\\"a130\\\",\\\"a131\\\",\\\"a132\\\",\\\"a133\\\",\\\"a134\\\",\\\"a135\\\",\\\"a136\\\",\\\"a137\\\",\\\"a138\\\",\\\"a139\\\",\\\"a140\\\",\\\"a141\\\",\\\"a142\\\",\\\"a143\\\",\\\"a144\\\",\\\"a145\\\",\\\"a146\\\",\\\"a147\\\",\\\"a148\\\",\\\"a149\\\",\\\"a150\\\",\\\"a151\\\",\\\"a152\\\",\\\"a153\\\",\\\"a154\\\",\\\"a155\\\",\\\"a156\\\",\\\"a157\\\",\\\"a158\\\",\\\"a159\\\",\\\"a160\\\",\\\"a161\\\",\\\"a163\\\",\\\"a164\\\",\\\"a196\\\",\\\"a165\\\",\\\"a192\\\",\\\"a166\\\",\\\"a167\\\",\\\"a168\\\",\\\"a169\\\",\\\"a170\\\",\\\"a171\\\",\\\"a172\\\",\\\"a173\\\",\\\"a162\\\",\\\"a174\\\",\\\"a175\\\",\\\"a176\\\",\\\"a177\\\",\\\"a178\\\",\\\"a179\\\",\\\"a193\\\",\\\"a180\\\",\\\"a199\\\",\\\"a181\\\",\\\"a200\\\",\\\"a182\\\",\\\"\\\",\\\"a201\\\",\\\"a183\\\",\\\"a184\\\",\\\"a197\\\",\\\"a185\\\",\\\"a194\\\",\\\"a198\\\",\\\"a186\\\",\\\"a195\\\",\\\"a187\\\",\\\"a188\\\",\\\"a189\\\",\\\"a190\\\",\\\"a191\\\",\\\"\\\"];function Hi(A){switch(A){case\\\"WinAnsiEncoding\\\":return Mi;case\\\"StandardEncoding\\\":return Ui;case\\\"MacRomanEncoding\\\":return xi;case\\\"SymbolSetEncoding\\\":return Li;case\\\"ZapfDingbatsEncoding\\\":return Ji;case\\\"ExpertEncoding\\\":return Gi;case\\\"MacExpertEncoding\\\":return Ni;default:return null}}const Yi=[\\\".notdef\\\",\\\"space\\\",\\\"exclam\\\",\\\"quotedbl\\\",\\\"numbersign\\\",\\\"dollar\\\",\\\"percent\\\",\\\"ampersand\\\",\\\"quoteright\\\",\\\"parenleft\\\",\\\"parenright\\\",\\\"asterisk\\\",\\\"plus\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"slash\\\",\\\"zero\\\",\\\"one\\\",\\\"two\\\",\\\"three\\\",\\\"four\\\",\\\"five\\\",\\\"six\\\",\\\"seven\\\",\\\"eight\\\",\\\"nine\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"less\\\",\\\"equal\\\",\\\"greater\\\",\\\"question\\\",\\\"at\\\",\\\"A\\\",\\\"B\\\",\\\"C\\\",\\\"D\\\",\\\"E\\\",\\\"F\\\",\\\"G\\\",\\\"H\\\",\\\"I\\\",\\\"J\\\",\\\"K\\\",\\\"L\\\",\\\"M\\\",\\\"N\\\",\\\"O\\\",\\\"P\\\",\\\"Q\\\",\\\"R\\\",\\\"S\\\",\\\"T\\\",\\\"U\\\",\\\"V\\\",\\\"W\\\",\\\"X\\\",\\\"Y\\\",\\\"Z\\\",\\\"bracketleft\\\",\\\"backslash\\\",\\\"bracketright\\\",\\\"asciicircum\\\",\\\"underscore\\\",\\\"quoteleft\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"d\\\",\\\"e\\\",\\\"f\\\",\\\"g\\\",\\\"h\\\",\\\"i\\\",\\\"j\\\",\\\"k\\\",\\\"l\\\",\\\"m\\\",\\\"n\\\",\\\"o\\\",\\\"p\\\",\\\"q\\\",\\\"r\\\",\\\"s\\\",\\\"t\\\",\\\"u\\\",\\\"v\\\",\\\"w\\\",\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"braceleft\\\",\\\"bar\\\",\\\"braceright\\\",\\\"asciitilde\\\",\\\"exclamdown\\\",\\\"cent\\\",\\\"sterling\\\",\\\"fraction\\\",\\\"yen\\\",\\\"florin\\\",\\\"section\\\",\\\"currency\\\",\\\"quotesingle\\\",\\\"quotedblleft\\\",\\\"guillemotleft\\\",\\\"guilsinglleft\\\",\\\"guilsinglright\\\",\\\"fi\\\",\\\"fl\\\",\\\"endash\\\",\\\"dagger\\\",\\\"daggerdbl\\\",\\\"periodcentered\\\",\\\"paragraph\\\",\\\"bullet\\\",\\\"quotesinglbase\\\",\\\"quotedblbase\\\",\\\"quotedblright\\\",\\\"guillemotright\\\",\\\"ellipsis\\\",\\\"perthousand\\\",\\\"questiondown\\\",\\\"grave\\\",\\\"acute\\\",\\\"circumflex\\\",\\\"tilde\\\",\\\"macron\\\",\\\"breve\\\",\\\"dotaccent\\\",\\\"dieresis\\\",\\\"ring\\\",\\\"cedilla\\\",\\\"hungarumlaut\\\",\\\"ogonek\\\",\\\"caron\\\",\\\"emdash\\\",\\\"AE\\\",\\\"ordfeminine\\\",\\\"Lslash\\\",\\\"Oslash\\\",\\\"OE\\\",\\\"ordmasculine\\\",\\\"ae\\\",\\\"dotlessi\\\",\\\"lslash\\\",\\\"oslash\\\",\\\"oe\\\",\\\"germandbls\\\",\\\"onesuperior\\\",\\\"logicalnot\\\",\\\"mu\\\",\\\"trademark\\\",\\\"Eth\\\",\\\"onehalf\\\",\\\"plusminus\\\",\\\"Thorn\\\",\\\"onequarter\\\",\\\"divide\\\",\\\"brokenbar\\\",\\\"degree\\\",\\\"thorn\\\",\\\"threequarters\\\",\\\"twosuperior\\\",\\\"registered\\\",\\\"minus\\\",\\\"eth\\\",\\\"multiply\\\",\\\"threesuperior\\\",\\\"copyright\\\",\\\"Aacute\\\",\\\"Acircumflex\\\",\\\"Adieresis\\\",\\\"Agrave\\\",\\\"Aring\\\",\\\"Atilde\\\",\\\"Ccedilla\\\",\\\"Eacute\\\",\\\"Ecircumflex\\\",\\\"Edieresis\\\",\\\"Egrave\\\",\\\"Iacute\\\",\\\"Icircumflex\\\",\\\"Idieresis\\\",\\\"Igrave\\\",\\\"Ntilde\\\",\\\"Oacute\\\",\\\"Ocircumflex\\\",\\\"Odieresis\\\",\\\"Ograve\\\",\\\"Otilde\\\",\\\"Scaron\\\",\\\"Uacute\\\",\\\"Ucircumflex\\\",\\\"Udieresis\\\",\\\"Ugrave\\\",\\\"Yacute\\\",\\\"Ydieresis\\\",\\\"Zcaron\\\",\\\"aacute\\\",\\\"acircumflex\\\",\\\"adieresis\\\",\\\"agrave\\\",\\\"aring\\\",\\\"atilde\\\",\\\"ccedilla\\\",\\\"eacute\\\",\\\"ecircumflex\\\",\\\"edieresis\\\",\\\"egrave\\\",\\\"iacute\\\",\\\"icircumflex\\\",\\\"idieresis\\\",\\\"igrave\\\",\\\"ntilde\\\",\\\"oacute\\\",\\\"ocircumflex\\\",\\\"odieresis\\\",\\\"ograve\\\",\\\"otilde\\\",\\\"scaron\\\",\\\"uacute\\\",\\\"ucircumflex\\\",\\\"udieresis\\\",\\\"ugrave\\\",\\\"yacute\\\",\\\"ydieresis\\\",\\\"zcaron\\\",\\\"exclamsmall\\\",\\\"Hungarumlautsmall\\\",\\\"dollaroldstyle\\\",\\\"dollarsuperior\\\",\\\"ampersandsmall\\\",\\\"Acutesmall\\\",\\\"parenleftsuperior\\\",\\\"parenrightsuperior\\\",\\\"twodotenleader\\\",\\\"onedotenleader\\\",\\\"zerooldstyle\\\",\\\"oneoldstyle\\\",\\\"twooldstyle\\\",\\\"threeoldstyle\\\",\\\"fouroldstyle\\\",\\\"fiveoldstyle\\\",\\\"sixoldstyle\\\",\\\"sevenoldstyle\\\",\\\"eightoldstyle\\\",\\\"nineoldstyle\\\",\\\"commasuperior\\\",\\\"threequartersemdash\\\",\\\"periodsuperior\\\",\\\"questionsmall\\\",\\\"asuperior\\\",\\\"bsuperior\\\",\\\"centsuperior\\\",\\\"dsuperior\\\",\\\"esuperior\\\",\\\"isuperior\\\",\\\"lsuperior\\\",\\\"msuperior\\\",\\\"nsuperior\\\",\\\"osuperior\\\",\\\"rsuperior\\\",\\\"ssuperior\\\",\\\"tsuperior\\\",\\\"ff\\\",\\\"ffi\\\",\\\"ffl\\\",\\\"parenleftinferior\\\",\\\"parenrightinferior\\\",\\\"Circumflexsmall\\\",\\\"hyphensuperior\\\",\\\"Gravesmall\\\",\\\"Asmall\\\",\\\"Bsmall\\\",\\\"Csmall\\\",\\\"Dsmall\\\",\\\"Esmall\\\",\\\"Fsmall\\\",\\\"Gsmall\\\",\\\"Hsmall\\\",\\\"Ismall\\\",\\\"Jsmall\\\",\\\"Ksmall\\\",\\\"Lsmall\\\",\\\"Msmall\\\",\\\"Nsmall\\\",\\\"Osmall\\\",\\\"Psmall\\\",\\\"Qsmall\\\",\\\"Rsmall\\\",\\\"Ssmall\\\",\\\"Tsmall\\\",\\\"Usmall\\\",\\\"Vsmall\\\",\\\"Wsmall\\\",\\\"Xsmall\\\",\\\"Ysmall\\\",\\\"Zsmall\\\",\\\"colonmonetary\\\",\\\"onefitted\\\",\\\"rupiah\\\",\\\"Tildesmall\\\",\\\"exclamdownsmall\\\",\\\"centoldstyle\\\",\\\"Lslashsmall\\\",\\\"Scaronsmall\\\",\\\"Zcaronsmall\\\",\\\"Dieresissmall\\\",\\\"Brevesmall\\\",\\\"Caronsmall\\\",\\\"Dotaccentsmall\\\",\\\"Macronsmall\\\",\\\"figuredash\\\",\\\"hypheninferior\\\",\\\"Ogoneksmall\\\",\\\"Ringsmall\\\",\\\"Cedillasmall\\\",\\\"questiondownsmall\\\",\\\"oneeighth\\\",\\\"threeeighths\\\",\\\"fiveeighths\\\",\\\"seveneighths\\\",\\\"onethird\\\",\\\"twothirds\\\",\\\"zerosuperior\\\",\\\"foursuperior\\\",\\\"fivesuperior\\\",\\\"sixsuperior\\\",\\\"sevensuperior\\\",\\\"eightsuperior\\\",\\\"ninesuperior\\\",\\\"zeroinferior\\\",\\\"oneinferior\\\",\\\"twoinferior\\\",\\\"threeinferior\\\",\\\"fourinferior\\\",\\\"fiveinferior\\\",\\\"sixinferior\\\",\\\"seveninferior\\\",\\\"eightinferior\\\",\\\"nineinferior\\\",\\\"centinferior\\\",\\\"dollarinferior\\\",\\\"periodinferior\\\",\\\"commainferior\\\",\\\"Agravesmall\\\",\\\"Aacutesmall\\\",\\\"Acircumflexsmall\\\",\\\"Atildesmall\\\",\\\"Adieresissmall\\\",\\\"Aringsmall\\\",\\\"AEsmall\\\",\\\"Ccedillasmall\\\",\\\"Egravesmall\\\",\\\"Eacutesmall\\\",\\\"Ecircumflexsmall\\\",\\\"Edieresissmall\\\",\\\"Igravesmall\\\",\\\"Iacutesmall\\\",\\\"Icircumflexsmall\\\",\\\"Idieresissmall\\\",\\\"Ethsmall\\\",\\\"Ntildesmall\\\",\\\"Ogravesmall\\\",\\\"Oacutesmall\\\",\\\"Ocircumflexsmall\\\",\\\"Otildesmall\\\",\\\"Odieresissmall\\\",\\\"OEsmall\\\",\\\"Oslashsmall\\\",\\\"Ugravesmall\\\",\\\"Uacutesmall\\\",\\\"Ucircumflexsmall\\\",\\\"Udieresissmall\\\",\\\"Yacutesmall\\\",\\\"Thornsmall\\\",\\\"Ydieresissmall\\\",\\\"001.000\\\",\\\"001.001\\\",\\\"001.002\\\",\\\"001.003\\\",\\\"Black\\\",\\\"Bold\\\",\\\"Book\\\",\\\"Light\\\",\\\"Medium\\\",\\\"Regular\\\",\\\"Roman\\\",\\\"Semibold\\\"],vi=[null,{id:\\\"hstem\\\",min:2,stackClearing:!0,stem:!0},null,{id:\\\"vstem\\\",min:2,stackClearing:!0,stem:!0},{id:\\\"vmoveto\\\",min:1,stackClearing:!0},{id:\\\"rlineto\\\",min:2,resetStack:!0},{id:\\\"hlineto\\\",min:1,resetStack:!0},{id:\\\"vlineto\\\",min:1,resetStack:!0},{id:\\\"rrcurveto\\\",min:6,resetStack:!0},null,{id:\\\"callsubr\\\",min:1,undefStack:!0},{id:\\\"return\\\",min:0,undefStack:!0},null,null,{id:\\\"endchar\\\",min:0,stackClearing:!0},null,null,null,{id:\\\"hstemhm\\\",min:2,stackClearing:!0,stem:!0},{id:\\\"hintmask\\\",min:0,stackClearing:!0},{id:\\\"cntrmask\\\",min:0,stackClearing:!0},{id:\\\"rmoveto\\\",min:2,stackClearing:!0},{id:\\\"hmoveto\\\",min:1,stackClearing:!0},{id:\\\"vstemhm\\\",min:2,stackClearing:!0,stem:!0},{id:\\\"rcurveline\\\",min:8,resetStack:!0},{id:\\\"rlinecurve\\\",min:8,resetStack:!0},{id:\\\"vvcurveto\\\",min:4,resetStack:!0},{id:\\\"hhcurveto\\\",min:4,resetStack:!0},null,{id:\\\"callgsubr\\\",min:1,undefStack:!0},{id:\\\"vhcurveto\\\",min:4,resetStack:!0},{id:\\\"hvcurveto\\\",min:4,resetStack:!0}],Ki=[null,null,null,{id:\\\"and\\\",min:2,stackDelta:-1},{id:\\\"or\\\",min:2,stackDelta:-1},{id:\\\"not\\\",min:1,stackDelta:0},null,null,null,{id:\\\"abs\\\",min:1,stackDelta:0},{id:\\\"add\\\",min:2,stackDelta:-1,stackFn(A,e){A[e-2]=A[e-2]+A[e-1]}},{id:\\\"sub\\\",min:2,stackDelta:-1,stackFn(A,e){A[e-2]=A[e-2]-A[e-1]}},{id:\\\"div\\\",min:2,stackDelta:-1,stackFn(A,e){A[e-2]=A[e-2]/A[e-1]}},null,{id:\\\"neg\\\",min:1,stackDelta:0,stackFn(A,e){A[e-1]=-A[e-1]}},{id:\\\"eq\\\",min:2,stackDelta:-1},null,null,{id:\\\"drop\\\",min:1,stackDelta:-1},null,{id:\\\"put\\\",min:2,stackDelta:-2},{id:\\\"get\\\",min:1,stackDelta:0},{id:\\\"ifelse\\\",min:4,stackDelta:-3},{id:\\\"random\\\",min:0,stackDelta:1},{id:\\\"mul\\\",min:2,stackDelta:-1,stackFn(A,e){A[e-2]=A[e-2]*A[e-1]}},null,{id:\\\"sqrt\\\",min:1,stackDelta:0},{id:\\\"dup\\\",min:1,stackDelta:1},{id:\\\"exch\\\",min:2,stackDelta:0},{id:\\\"index\\\",min:2,stackDelta:0},{id:\\\"roll\\\",min:3,stackDelta:-2},null,null,null,{id:\\\"hflex\\\",min:7,resetStack:!0},{id:\\\"flex\\\",min:13,resetStack:!0},{id:\\\"hflex1\\\",min:9,resetStack:!0},{id:\\\"flex1\\\",min:11,resetStack:!0}];class qi{constructor(A,e,t){this.bytes=A.getBytes(),this.properties=e,this.seacAnalysisEnabled=!!t}parse(){const A=this.properties,e=new Ti;this.cff=e;const t=this.parseHeader(),i=this.parseIndex(t.endPos),a=this.parseIndex(i.endPos),s=this.parseIndex(a.endPos),n=this.parseIndex(s.endPos),r=this.parseDict(a.obj.get(0)),g=this.createDict(Xi,r,e.strings);e.header=t.obj,e.names=this.parseNameIndex(i.obj),e.strings=this.parseStringIndex(s.obj),e.topDict=g,e.globalSubrIndex=n.obj,this.parsePrivateDict(e.topDict),e.isCIDFont=g.hasName(\\\"ROS\\\");const o=g.getByName(\\\"CharStrings\\\"),I=this.parseIndex(o).obj,c=g.getByName(\\\"FontMatrix\\\");c&&(A.fontMatrix=c);const C=g.getByName(\\\"FontBBox\\\");let h,B;if(C&&(A.ascent=Math.max(C[3],C[1]),A.descent=Math.min(C[1],C[3]),A.ascentScaled=!0),e.isCIDFont){const A=this.parseIndex(g.getByName(\\\"FDArray\\\")).obj;for(let t=0,i=A.count;t=e)throw new W(\\\"Invalid CFF header\\\");0!==t&&(x(\\\"cff data is shifted\\\"),A=A.subarray(t),this.bytes=A);const i=A[0],a=A[1],s=A[2],n=A[3];return{obj:new Pi(i,a,s,n),endPos:s}}parseDict(A){let e=0;function t(){let t=A[e++];return 30===t?function(){let t=\\\"\\\";const i=[\\\"0\\\",\\\"1\\\",\\\"2\\\",\\\"3\\\",\\\"4\\\",\\\"5\\\",\\\"6\\\",\\\"7\\\",\\\"8\\\",\\\"9\\\",\\\".\\\",\\\"E\\\",\\\"E-\\\",null,\\\"-\\\"],a=A.length;for(;e>4,n=15&a;if(15===s)break;if(t+=i[s],15===n)break;t+=i[n]}return parseFloat(t)}():28===t?(t=A[e++],t=(t<<24|A[e++]<<16)>>16,t):29===t?(t=A[e++],t=t<<8|A[e++],t=t<<8|A[e++],t=t<<8|A[e++],t):t>=32&&t<=246?t-139:t>=247&&t<=250?256*(t-247)+A[e++]+108:t>=251&&t<=254?-256*(t-251)-A[e++]-108:(U(\\\\'CFFParser_parseDict: \\\"\\\\'+t+\\\\'\\\" is a reserved command.\\\\'),NaN)}let i=[];const a=[];e=0;const s=A.length;for(;e10)return!1;let a=A.stackSize;const s=A.stack;let n=e.length;for(let r=0;r>16,r+=2,a++;else if(14===g){if(a>=4&&(a-=4,this.seacAnalysisEnabled))return A.seac=s.slice(a,a+4),!1;o=vi[g]}else if(g>=32&&g<=246)s[a]=g-139,a++;else if(g>=247&&g<=254)s[a]=g<251?(g-247<<8)+e[r]+108:-(g-251<<8)-e[r]-108,r++,a++;else if(255===g)s[a]=(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])/65536,r+=4,a++;else if(19===g||20===g){if(A.hints+=a>>1,0===A.hints){e.copyWithin(r-1,r,-1),r-=1,n-=1;continue}r+=A.hints+7>>3,a%=2,o=vi[g]}else{if(10===g||29===g){const e=10===g?t:i;if(!e)return o=vi[g],U(\\\"Missing subrsIndex for \\\"+o.id),!1;let n=32768;e.count<1240?n=107:e.count<33900&&(n=1131);const r=s[--a]+n;if(r<0||r>=e.count||isNaN(r))return o=vi[g],U(\\\"Out of bounds subrIndex for \\\"+o.id),!1;if(A.stackSize=a,A.callDepth++,!this.parseCharString(A,e.get(r),t,i))return!1;A.callDepth--,a=A.stackSize;continue}if(11===g)return A.stackSize=a,!0;if(0===g&&r===e.length)e[r-1]=14,o=vi[14];else{if(9===g){e.copyWithin(r-1,r,-1),r-=1,n-=1;continue}o=vi[g]}}if(o){if(o.stem&&(A.hints+=a>>1,3===g||23===g?A.hasVStems=!0:!A.hasVStems||1!==g&&18!==g||(U(\\\"CFF stem hints are in wrong order\\\"),e[r-1]=1===g?3:23)),\\\"min\\\"in o&&!A.undefStack&&a=2&&o.stem?a%=2:a>1&&U(\\\"Found too many parameters for stack-clearing command\\\"),a>0&&(A.width=s[a-1])),\\\"stackDelta\\\"in o?(\\\"stackFn\\\"in o&&o.stackFn(s,a),a+=o.stackDelta):o.stackClearing?a=0:o.resetStack?(a=0,A.undefStack=!1):o.undefStack&&(a=0,A.undefStack=!0,A.firstStackClearing=!1)}}return n=a.length&&(U(\\\"Invalid fd index for glyph index.\\\"),c=!1),c&&(h=a[A].privateDict,C=h.subrsIndex)}else e&&(C=e);if(c&&(c=this.parseCharString(I,g,C,t)),null!==I.width){const A=h.getByName(\\\"nominalWidthX\\\");r[o]=A+I.width}else{const A=h.getByName(\\\"defaultWidthX\\\");r[o]=A}null!==I.seac&&(n[o]=I.seac),c||A.set(o,new Uint8Array([14]))}return{charStrings:A,seacs:n,widths:r}}emptyPrivateDictionary(A){const e=this.createDict(zi,[],A.strings);A.setByKey(18,[0,0]),A.privateDict=e}parsePrivateDict(A){if(!A.hasName(\\\"Private\\\"))return void this.emptyPrivateDictionary(A);const e=A.getByName(\\\"Private\\\");if(!Array.isArray(e)||2!==e.length)return void A.removeByName(\\\"Private\\\");const t=e[0],i=e[1];if(0===t||i>=this.bytes.length)return void this.emptyPrivateDictionary(A);const a=i+t,s=this.bytes.subarray(i,a),n=this.parseDict(s),r=this.createDict(zi,n,A.strings);if(A.privateDict=r,0===r.getByName(\\\"ExpansionFactor\\\")&&r.setByName(\\\"ExpansionFactor\\\",.06),!r.getByName(\\\"Subrs\\\"))return;const g=r.getByName(\\\"Subrs\\\"),o=i+g;if(0===g||o>=this.bytes.length)return void this.emptyPrivateDictionary(A);const I=this.parseIndex(o);r.subrsIndex=I.obj}parseCharsets(A,e,t,i){if(0===A)return new $i(!0,_i.ISO_ADOBE,Fi);if(1===A)return new $i(!0,_i.EXPERT,Si);if(2===A)return new $i(!0,_i.EXPERT_SUBSET,Ri);const a=this.bytes,s=A,n=a[A++],r=[i?0:\\\".notdef\\\"];let g,o,I;switch(e-=1,n){case 0:for(I=0;I=65535)return void U(\\\"Not enough space in charstrings to duplicate first glyph.\\\");const A=this.charStrings.get(0);this.charStrings.add(A),this.isCIDFont&&this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0])}hasGlyphId(A){return!(A<0||A>=this.charStrings.count)&&this.charStrings.get(A).length>0}}class Pi{constructor(A,e,t,i){this.major=A,this.minor=e,this.hdrSize=t,this.offSize=i}}class Wi{constructor(){this.strings=[]}get(A){return A>=0&&A<=390?Yi[A]:A-391<=this.strings.length?this.strings[A-391]:Yi[0]}getSID(A){let e=Yi.indexOf(A);return-1!==e?e:(e=this.strings.indexOf(A),-1!==e?e+391:-1)}add(A){this.strings.push(A)}get count(){return this.strings.length}}class Oi{constructor(){this.objects=[],this.length=0}add(A){this.length+=A.length,this.objects.push(A)}set(A,e){this.length+=e.length-this.objects[A].length,this.objects[A]=e}get(A){return this.objects[A]}get count(){return this.objects.length}}class Zi{constructor(A,e){this.keyToNameMap=A.keyToNameMap,this.nameToKeyMap=A.nameToKeyMap,this.defaults=A.defaults,this.types=A.types,this.opcodes=A.opcodes,this.order=A.order,this.strings=e,this.values=Object.create(null)}setByKey(A,e){if(!(A in this.keyToNameMap))return!1;if(0===e.length)return!0;for(const t of e)if(isNaN(t))return U(`Invalid CFFDict value: \\\"${e}\\\" for key \\\"${A}\\\".`),!0;const t=this.types[A];return\\\"num\\\"!==t&&\\\"sid\\\"!==t&&\\\"offset\\\"!==t||(e=e[0]),this.values[A]=e,!0}setByName(A,e){if(!(A in this.nameToKeyMap))throw new W(`Invalid dictionary name \\\"${A}\\\"`);this.values[this.nameToKeyMap[A]]=e}hasName(A){return this.nameToKeyMap[A]in this.values}getByName(A){if(!(A in this.nameToKeyMap))throw new W(`Invalid dictionary name ${A}\\\"`);const e=this.nameToKeyMap[A];return e in this.values?this.values[e]:this.defaults[e]}removeByName(A){delete this.values[this.nameToKeyMap[A]]}static createTables(A){const e={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]};for(const t of A){const A=Array.isArray(t[0])?(t[0][0]<<8)+t[0][1]:t[0];e.keyToNameMap[A]=t[1],e.nameToKeyMap[t[1]]=A,e.types[A]=t[2],e.defaults[A]=t[3],e.opcodes[A]=Array.isArray(t[0])?t[0]:[t[0]],e.order.push(A)}return e}}const ji=[[[12,30],\\\"ROS\\\",[\\\"sid\\\",\\\"sid\\\",\\\"num\\\"],null],[[12,20],\\\"SyntheticBase\\\",\\\"num\\\",null],[0,\\\"version\\\",\\\"sid\\\",null],[1,\\\"Notice\\\",\\\"sid\\\",null],[[12,0],\\\"Copyright\\\",\\\"sid\\\",null],[2,\\\"FullName\\\",\\\"sid\\\",null],[3,\\\"FamilyName\\\",\\\"sid\\\",null],[4,\\\"Weight\\\",\\\"sid\\\",null],[[12,1],\\\"isFixedPitch\\\",\\\"num\\\",0],[[12,2],\\\"ItalicAngle\\\",\\\"num\\\",0],[[12,3],\\\"UnderlinePosition\\\",\\\"num\\\",-100],[[12,4],\\\"UnderlineThickness\\\",\\\"num\\\",50],[[12,5],\\\"PaintType\\\",\\\"num\\\",0],[[12,6],\\\"CharstringType\\\",\\\"num\\\",2],[[12,7],\\\"FontMatrix\\\",[\\\"num\\\",\\\"num\\\",\\\"num\\\",\\\"num\\\",\\\"num\\\",\\\"num\\\"],[.001,0,0,.001,0,0]],[13,\\\"UniqueID\\\",\\\"num\\\",null],[5,\\\"FontBBox\\\",[\\\"num\\\",\\\"num\\\",\\\"num\\\",\\\"num\\\"],[0,0,0,0]],[[12,8],\\\"StrokeWidth\\\",\\\"num\\\",0],[14,\\\"XUID\\\",\\\"array\\\",null],[15,\\\"charset\\\",\\\"offset\\\",0],[16,\\\"Encoding\\\",\\\"offset\\\",0],[17,\\\"CharStrings\\\",\\\"offset\\\",0],[18,\\\"Private\\\",[\\\"offset\\\",\\\"offset\\\"],null],[[12,21],\\\"PostScript\\\",\\\"sid\\\",null],[[12,22],\\\"BaseFontName\\\",\\\"sid\\\",null],[[12,23],\\\"BaseFontBlend\\\",\\\"delta\\\",null],[[12,31],\\\"CIDFontVersion\\\",\\\"num\\\",0],[[12,32],\\\"CIDFontRevision\\\",\\\"num\\\",0],[[12,33],\\\"CIDFontType\\\",\\\"num\\\",0],[[12,34],\\\"CIDCount\\\",\\\"num\\\",8720],[[12,35],\\\"UIDBase\\\",\\\"num\\\",null],[[12,37],\\\"FDSelect\\\",\\\"offset\\\",null],[[12,36],\\\"FDArray\\\",\\\"offset\\\",null],[[12,38],\\\"FontName\\\",\\\"sid\\\",null]];class Xi extends Zi{static get tables(){return H(this,\\\"tables\\\",this.createTables(ji))}constructor(A){super(Xi.tables,A),this.privateDict=null}}const Vi=[[6,\\\"BlueValues\\\",\\\"delta\\\",null],[7,\\\"OtherBlues\\\",\\\"delta\\\",null],[8,\\\"FamilyBlues\\\",\\\"delta\\\",null],[9,\\\"FamilyOtherBlues\\\",\\\"delta\\\",null],[[12,9],\\\"BlueScale\\\",\\\"num\\\",.039625],[[12,10],\\\"BlueShift\\\",\\\"num\\\",7],[[12,11],\\\"BlueFuzz\\\",\\\"num\\\",1],[10,\\\"StdHW\\\",\\\"num\\\",null],[11,\\\"StdVW\\\",\\\"num\\\",null],[[12,12],\\\"StemSnapH\\\",\\\"delta\\\",null],[[12,13],\\\"StemSnapV\\\",\\\"delta\\\",null],[[12,14],\\\"ForceBold\\\",\\\"num\\\",0],[[12,17],\\\"LanguageGroup\\\",\\\"num\\\",0],[[12,18],\\\"ExpansionFactor\\\",\\\"num\\\",.06],[[12,19],\\\"initialRandomSeed\\\",\\\"num\\\",0],[20,\\\"defaultWidthX\\\",\\\"num\\\",0],[21,\\\"nominalWidthX\\\",\\\"num\\\",0],[19,\\\"Subrs\\\",\\\"offset\\\",null]];class zi extends Zi{static get tables(){return H(this,\\\"tables\\\",this.createTables(Vi))}constructor(A){super(zi.tables,A),this.subrsIndex=null}}const _i={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2};class $i{constructor(A,e,t,i){this.predefined=A,this.format=e,this.charset=t,this.raw=i}}class Aa{constructor(A,e,t,i){this.predefined=A,this.format=e,this.encoding=t,this.raw=i}}class ea{constructor(A,e){this.format=A,this.fdSelect=e}getFDIndex(A){return A<0||A>=this.fdSelect.length?-1:this.fdSelect[A]}}class ta{constructor(){this.offsets=Object.create(null)}isTracking(A){return A in this.offsets}track(A,e){if(A in this.offsets)throw new W(`Already tracking location of ${A}`);this.offsets[A]=e}offset(A){for(const e in this.offsets)this.offsets[e]+=A}setEntryLocation(A,e,t){if(!(A in this.offsets))throw new W(`Not tracking location of ${A}`);const i=t.data,a=this.offsets[A];for(let A=0,t=e.length;A>24&255,i[n]=o>>16&255,i[r]=o>>8&255,i[g]=255&o}}}class ia{constructor(A){this.cff=A}compile(){const A=this.cff,e={data:[],length:0,add(A){try{this.data.push(...A)}catch{this.data=this.data.concat(A)}this.length=this.data.length}},t=this.compileHeader(A.header);e.add(t);const i=this.compileNameIndex(A.names);if(e.add(i),A.isCIDFont&&A.topDict.hasName(\\\"FontMatrix\\\")){const e=A.topDict.getByName(\\\"FontMatrix\\\");A.topDict.removeByName(\\\"FontMatrix\\\");for(const t of A.fdArray){let A=e.slice(0);t.hasName(\\\"FontMatrix\\\")&&(A=$.transform(A,t.getByName(\\\"FontMatrix\\\"))),t.setByName(\\\"FontMatrix\\\",A)}}A.topDict.getByName(\\\"XUID\\\")?.length>16&&A.topDict.removeByName(\\\"XUID\\\"),A.topDict.setByName(\\\"charset\\\",0);let a=this.compileTopDicts([A.topDict],e.length,A.isCIDFont);e.add(a.output);const s=a.trackers[0],n=this.compileStringIndex(A.strings.strings);e.add(n);const r=this.compileIndex(A.globalSubrIndex);if(e.add(r),A.encoding&&A.topDict.hasName(\\\"Encoding\\\"))if(A.encoding.predefined)s.setEntryLocation(\\\"Encoding\\\",[A.encoding.format],e);else{const t=this.compileEncoding(A.encoding);s.setEntryLocation(\\\"Encoding\\\",[e.length],e),e.add(t)}const g=this.compileCharset(A.charset,A.charStrings.count,A.strings,A.isCIDFont);s.setEntryLocation(\\\"charset\\\",[e.length],e),e.add(g);const o=this.compileCharStrings(A.charStrings);if(s.setEntryLocation(\\\"CharStrings\\\",[e.length],e),e.add(o),A.isCIDFont){s.setEntryLocation(\\\"FDSelect\\\",[e.length],e);const t=this.compileFDSelect(A.fdSelect);e.add(t),a=this.compileTopDicts(A.fdArray,e.length,!0),s.setEntryLocation(\\\"FDArray\\\",[e.length],e),e.add(a.output);const i=a.trackers;this.compilePrivateDicts(A.fdArray,i,e)}return this.compilePrivateDicts([A.topDict],[s],e),e.add([0]),e.data}encodeNumber(A){return Number.isInteger(A)?this.encodeInteger(A):this.encodeFloat(A)}static get EncodeFloatRegExp(){return H(this,\\\"EncodeFloatRegExp\\\",/\\\\\\\\.(\\\\\\\\d*?)(?:9{5,20}|0{5,20})\\\\\\\\d{0,2}(?:e(.+)|$)/)}encodeFloat(A){let e=A.toString();const t=ia.EncodeFloatRegExp.exec(e);if(t){const i=parseFloat(\\\"1e\\\"+((t[2]?+t[2]:0)+t[1].length));e=(Math.round(A*i)/i).toString()}let i,a,s=\\\"\\\";for(i=0,a=e.length;i=-107&&A<=107?[A+139]:A>=108&&A<=1131?[247+((A-=108)>>8),255&A]:A>=-1131&&A<=-108?[251+((A=-A-108)>>8),255&A]:A>=-32768&&A<=32767?[28,A>>8&255,255&A]:[29,A>>24&255,A>>16&255,A>>8&255,255&A],e}compileHeader(A){return[A.major,A.minor,4,A.offSize]}compileNameIndex(A){const e=new Oi;for(const t of A){const A=Math.min(t.length,127);let i=new Array(A);for(let e=0;e\\\"~\\\"||\\\"[\\\"===A||\\\"]\\\"===A||\\\"(\\\"===A||\\\")\\\"===A||\\\"{\\\"===A||\\\"}\\\"===A||\\\"<\\\"===A||\\\">\\\"===A||\\\"/\\\"===A||\\\"%\\\"===A)&&(A=\\\"_\\\"),i[e]=A}i=i.join(\\\"\\\"),\\\"\\\"===i&&(i=\\\"Bad_Font_Name\\\"),e.add(j(i))}return this.compileIndex(e)}compileTopDicts(A,e,t){const i=[];let a=new Oi;for(const s of A){t&&(s.removeByName(\\\"CIDFontVersion\\\"),s.removeByName(\\\"CIDFontRevision\\\"),s.removeByName(\\\"CIDFontType\\\"),s.removeByName(\\\"CIDCount\\\"),s.removeByName(\\\"UIDBase\\\"));const A=new ta,n=this.compileDict(s,A);i.push(A),a.add(n),A.offset(e)}return a=this.compileIndex(a,i),{trackers:i,output:a}}compilePrivateDicts(A,e,t){for(let i=0,a=A.length;i>8&255,255&s]);else{a=new Uint8Array(1+2*s),a[0]=0;let e=0;const i=A.charset.length;let n=!1;for(let s=1;s>8&255,a[s+1]=255&r}}return this.compileTypedArray(a)}compileEncoding(A){return this.compileTypedArray(A.raw)}compileFDSelect(A){const e=A.format;let t,i;switch(e){case 0:for(t=new Uint8Array(1+A.fdSelect.length),t[0]=e,i=0;i>8&255,255&a,s];for(i=1;i>8&255,255&i,e),s=e)}const r=(n.length-3)/3;n[1]=r>>8&255,n[2]=255&r,n.push(i>>8&255,255&i),t=new Uint8Array(n)}return this.compileTypedArray(t)}compileTypedArray(A){return Array.from(A)}compileIndex(A,e=[]){const t=A.objects,i=t.length;if(0===i)return[0,0];const a=[i>>8&255,255&i];let s,n,r=1;for(s=0;s>8&255,255&g):3===n?a.push(g>>16&255,g>>8&255,255&g):a.push(g>>>24&255,g>>16&255,g>>8&255,255&g),t[s]&&(g+=t[s].length);for(s=0;s=5&&e<=7))return-1;i=A.substring(1)}if(i===i.toUpperCase()&&(t=parseInt(i,16),t>=0))return t}return-1}const ga=[[0,127],[128,255],[256,383],[384,591],[592,687,7424,7551,7552,7615],[688,767,42752,42783],[768,879,7616,7679],[880,1023],[11392,11519],[1024,1279,1280,1327,11744,11775,42560,42655],[1328,1423],[1424,1535],[42240,42559],[1536,1791,1872,1919],[1984,2047],[2304,2431],[2432,2559],[2560,2687],[2688,2815],[2816,2943],[2944,3071],[3072,3199],[3200,3327],[3328,3455],[3584,3711],[3712,3839],[4256,4351,11520,11567],[6912,7039],[4352,4607],[7680,7935,11360,11391,42784,43007],[7936,8191],[8192,8303,11776,11903],[8304,8351],[8352,8399],[8400,8447],[8448,8527],[8528,8591],[8592,8703,10224,10239,10496,10623,11008,11263],[8704,8959,10752,11007,10176,10223,10624,10751],[8960,9215],[9216,9279],[9280,9311],[9312,9471],[9472,9599],[9600,9631],[9632,9727],[9728,9983],[9984,10175],[12288,12351],[12352,12447],[12448,12543,12784,12799],[12544,12591,12704,12735],[12592,12687],[43072,43135],[12800,13055],[13056,13311],[44032,55215],[55296,57343],[67840,67871],[19968,40959,11904,12031,12032,12255,12272,12287,13312,19903,131072,173791,12688,12703],[57344,63743],[12736,12783,63744,64255,194560,195103],[64256,64335],[64336,65023],[65056,65071],[65040,65055],[65104,65135],[65136,65279],[65280,65519],[65520,65535],[3840,4095],[1792,1871],[1920,1983],[3456,3583],[4096,4255],[4608,4991,4992,5023,11648,11743],[5024,5119],[5120,5759],[5760,5791],[5792,5887],[6016,6143],[6144,6319],[10240,10495],[40960,42127],[5888,5919,5920,5951,5952,5983,5984,6015],[66304,66351],[66352,66383],[66560,66639],[118784,119039,119040,119295,119296,119375],[119808,120831],[1044480,1048573],[65024,65039,917760,917999],[917504,917631],[6400,6479],[6480,6527],[6528,6623],[6656,6687],[11264,11359],[11568,11647],[19904,19967],[43008,43055],[65536,65663,65664,65791,65792,65855],[65856,65935],[66432,66463],[66464,66527],[66640,66687],[66688,66735],[67584,67647],[68096,68191],[119552,119647],[73728,74751,74752,74879],[119648,119679],[7040,7103],[7168,7247],[7248,7295],[43136,43231],[43264,43311],[43312,43359],[43520,43615],[65936,65999],[66e3,66047],[66208,66271,66176,66207,67872,67903],[127024,127135,126976,127023]];function oa(A,e=-1){if(-1!==e){const t=ga[e];for(let i=0,a=t.length;i=t[i]&&A<=t[i+1])return e}for(let e=0,t=ga.length;e=t[i]&&A<=t[i+1])return e}return-1}const Ia=new RegExp(\\\"^(\\\\\\\\\\\\\\\\s)|(\\\\\\\\\\\\\\\\p{Mn})|(\\\\\\\\\\\\\\\\p{Cf})$\\\",\\\"u\\\"),ca=new Map,Ca=!0,ha=[\\\".notdef\\\",\\\".null\\\",\\\"nonmarkingreturn\\\",\\\"space\\\",\\\"exclam\\\",\\\"quotedbl\\\",\\\"numbersign\\\",\\\"dollar\\\",\\\"percent\\\",\\\"ampersand\\\",\\\"quotesingle\\\",\\\"parenleft\\\",\\\"parenright\\\",\\\"asterisk\\\",\\\"plus\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"slash\\\",\\\"zero\\\",\\\"one\\\",\\\"two\\\",\\\"three\\\",\\\"four\\\",\\\"five\\\",\\\"six\\\",\\\"seven\\\",\\\"eight\\\",\\\"nine\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"less\\\",\\\"equal\\\",\\\"greater\\\",\\\"question\\\",\\\"at\\\",\\\"A\\\",\\\"B\\\",\\\"C\\\",\\\"D\\\",\\\"E\\\",\\\"F\\\",\\\"G\\\",\\\"H\\\",\\\"I\\\",\\\"J\\\",\\\"K\\\",\\\"L\\\",\\\"M\\\",\\\"N\\\",\\\"O\\\",\\\"P\\\",\\\"Q\\\",\\\"R\\\",\\\"S\\\",\\\"T\\\",\\\"U\\\",\\\"V\\\",\\\"W\\\",\\\"X\\\",\\\"Y\\\",\\\"Z\\\",\\\"bracketleft\\\",\\\"backslash\\\",\\\"bracketright\\\",\\\"asciicircum\\\",\\\"underscore\\\",\\\"grave\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"d\\\",\\\"e\\\",\\\"f\\\",\\\"g\\\",\\\"h\\\",\\\"i\\\",\\\"j\\\",\\\"k\\\",\\\"l\\\",\\\"m\\\",\\\"n\\\",\\\"o\\\",\\\"p\\\",\\\"q\\\",\\\"r\\\",\\\"s\\\",\\\"t\\\",\\\"u\\\",\\\"v\\\",\\\"w\\\",\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"braceleft\\\",\\\"bar\\\",\\\"braceright\\\",\\\"asciitilde\\\",\\\"Adieresis\\\",\\\"Aring\\\",\\\"Ccedilla\\\",\\\"Eacute\\\",\\\"Ntilde\\\",\\\"Odieresis\\\",\\\"Udieresis\\\",\\\"aacute\\\",\\\"agrave\\\",\\\"acircumflex\\\",\\\"adieresis\\\",\\\"atilde\\\",\\\"aring\\\",\\\"ccedilla\\\",\\\"eacute\\\",\\\"egrave\\\",\\\"ecircumflex\\\",\\\"edieresis\\\",\\\"iacute\\\",\\\"igrave\\\",\\\"icircumflex\\\",\\\"idieresis\\\",\\\"ntilde\\\",\\\"oacute\\\",\\\"ograve\\\",\\\"ocircumflex\\\",\\\"odieresis\\\",\\\"otilde\\\",\\\"uacute\\\",\\\"ugrave\\\",\\\"ucircumflex\\\",\\\"udieresis\\\",\\\"dagger\\\",\\\"degree\\\",\\\"cent\\\",\\\"sterling\\\",\\\"section\\\",\\\"bullet\\\",\\\"paragraph\\\",\\\"germandbls\\\",\\\"registered\\\",\\\"copyright\\\",\\\"trademark\\\",\\\"acute\\\",\\\"dieresis\\\",\\\"notequal\\\",\\\"AE\\\",\\\"Oslash\\\",\\\"infinity\\\",\\\"plusminus\\\",\\\"lessequal\\\",\\\"greaterequal\\\",\\\"yen\\\",\\\"mu\\\",\\\"partialdiff\\\",\\\"summation\\\",\\\"product\\\",\\\"pi\\\",\\\"integral\\\",\\\"ordfeminine\\\",\\\"ordmasculine\\\",\\\"Omega\\\",\\\"ae\\\",\\\"oslash\\\",\\\"questiondown\\\",\\\"exclamdown\\\",\\\"logicalnot\\\",\\\"radical\\\",\\\"florin\\\",\\\"approxequal\\\",\\\"Delta\\\",\\\"guillemotleft\\\",\\\"guillemotright\\\",\\\"ellipsis\\\",\\\"nonbreakingspace\\\",\\\"Agrave\\\",\\\"Atilde\\\",\\\"Otilde\\\",\\\"OE\\\",\\\"oe\\\",\\\"endash\\\",\\\"emdash\\\",\\\"quotedblleft\\\",\\\"quotedblright\\\",\\\"quoteleft\\\",\\\"quoteright\\\",\\\"divide\\\",\\\"lozenge\\\",\\\"ydieresis\\\",\\\"Ydieresis\\\",\\\"fraction\\\",\\\"currency\\\",\\\"guilsinglleft\\\",\\\"guilsinglright\\\",\\\"fi\\\",\\\"fl\\\",\\\"daggerdbl\\\",\\\"periodcentered\\\",\\\"quotesinglbase\\\",\\\"quotedblbase\\\",\\\"perthousand\\\",\\\"Acircumflex\\\",\\\"Ecircumflex\\\",\\\"Aacute\\\",\\\"Edieresis\\\",\\\"Egrave\\\",\\\"Iacute\\\",\\\"Icircumflex\\\",\\\"Idieresis\\\",\\\"Igrave\\\",\\\"Oacute\\\",\\\"Ocircumflex\\\",\\\"apple\\\",\\\"Ograve\\\",\\\"Uacute\\\",\\\"Ucircumflex\\\",\\\"Ugrave\\\",\\\"dotlessi\\\",\\\"circumflex\\\",\\\"tilde\\\",\\\"macron\\\",\\\"breve\\\",\\\"dotaccent\\\",\\\"ring\\\",\\\"cedilla\\\",\\\"hungarumlaut\\\",\\\"ogonek\\\",\\\"caron\\\",\\\"Lslash\\\",\\\"lslash\\\",\\\"Scaron\\\",\\\"scaron\\\",\\\"Zcaron\\\",\\\"zcaron\\\",\\\"brokenbar\\\",\\\"Eth\\\",\\\"eth\\\",\\\"Yacute\\\",\\\"yacute\\\",\\\"Thorn\\\",\\\"thorn\\\",\\\"minus\\\",\\\"multiply\\\",\\\"onesuperior\\\",\\\"twosuperior\\\",\\\"threesuperior\\\",\\\"onehalf\\\",\\\"onequarter\\\",\\\"threequarters\\\",\\\"franc\\\",\\\"Gbreve\\\",\\\"gbreve\\\",\\\"Idotaccent\\\",\\\"Scedilla\\\",\\\"scedilla\\\",\\\"Cacute\\\",\\\"cacute\\\",\\\"Ccaron\\\",\\\"ccaron\\\",\\\"dcroat\\\"];function Ba(A,e){if(void 0!==e[A])return A;const t=ra(A,e);if(-1!==t)for(const A in e)if(e[A]===t)return A;return x(\\\"Unable to recover a standard glyph name for: \\\"+A),A}function la(A,e,t){const i=Object.create(null);let a,s,n;const r=!!(4&A.flags);if(A.isInternalFont)for(n=e,s=0;s=0?a:0;else if(A.baseEncodingName)for(n=Hi(A.baseEncodingName),s=0;s=0?a:0;else if(r)for(s in e)i[s]=e[s];else for(n=Ui,s=0;s=0?a:0;const g=A.differences;let o;if(g)for(s in g){const A=g[s];if(a=t.indexOf(A),-1===a){o||(o=aa());const e=Ba(A,o);e!==A&&(a=t.indexOf(e))}i[s]=a>=0?a:0}return i}function Qa(A){return A.replaceAll(/[,_]/g,\\\"-\\\").replaceAll(/\\\\\\\\s/g,\\\"\\\")}const Ea=bA((A=>{A[8211]=65074,A[8212]=65073,A[8229]=65072,A[8230]=65049,A[12289]=65041,A[12290]=65042,A[12296]=65087,A[12297]=65088,A[12298]=65085,A[12299]=65086,A[12300]=65089,A[12301]=65090,A[12302]=65091,A[12303]=65092,A[12304]=65083,A[12305]=65084,A[12308]=65081,A[12309]=65082,A[12310]=65047,A[12311]=65048,A[65103]=65076,A[65281]=65045,A[65288]=65077,A[65289]=65078,A[65292]=65040,A[65306]=65043,A[65307]=65044,A[65311]=65046,A[65339]=65095,A[65341]=65096,A[65343]=65075,A[65371]=65079,A[65373]=65080})),ua=bA((function(A){A[\\\"Times-Roman\\\"]=\\\"Times-Roman\\\",A.Helvetica=\\\"Helvetica\\\",A.Courier=\\\"Courier\\\",A.Symbol=\\\"Symbol\\\",A[\\\"Times-Bold\\\"]=\\\"Times-Bold\\\",A[\\\"Helvetica-Bold\\\"]=\\\"Helvetica-Bold\\\",A[\\\"Courier-Bold\\\"]=\\\"Courier-Bold\\\",A.ZapfDingbats=\\\"ZapfDingbats\\\",A[\\\"Times-Italic\\\"]=\\\"Times-Italic\\\",A[\\\"Helvetica-Oblique\\\"]=\\\"Helvetica-Oblique\\\",A[\\\"Courier-Oblique\\\"]=\\\"Courier-Oblique\\\",A[\\\"Times-BoldItalic\\\"]=\\\"Times-BoldItalic\\\",A[\\\"Helvetica-BoldOblique\\\"]=\\\"Helvetica-BoldOblique\\\",A[\\\"Courier-BoldOblique\\\"]=\\\"Courier-BoldOblique\\\",A.ArialNarrow=\\\"Helvetica\\\",A[\\\"ArialNarrow-Bold\\\"]=\\\"Helvetica-Bold\\\",A[\\\"ArialNarrow-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\",A[\\\"ArialNarrow-Italic\\\"]=\\\"Helvetica-Oblique\\\",A.ArialBlack=\\\"Helvetica\\\",A[\\\"ArialBlack-Bold\\\"]=\\\"Helvetica-Bold\\\",A[\\\"ArialBlack-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\",A[\\\"ArialBlack-Italic\\\"]=\\\"Helvetica-Oblique\\\",A[\\\"Arial-Black\\\"]=\\\"Helvetica\\\",A[\\\"Arial-Black-Bold\\\"]=\\\"Helvetica-Bold\\\",A[\\\"Arial-Black-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\",A[\\\"Arial-Black-Italic\\\"]=\\\"Helvetica-Oblique\\\",A.Arial=\\\"Helvetica\\\",A[\\\"Arial-Bold\\\"]=\\\"Helvetica-Bold\\\",A[\\\"Arial-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\",A[\\\"Arial-Italic\\\"]=\\\"Helvetica-Oblique\\\",A.ArialMT=\\\"Helvetica\\\",A[\\\"Arial-BoldItalicMT\\\"]=\\\"Helvetica-BoldOblique\\\",A[\\\"Arial-BoldMT\\\"]=\\\"Helvetica-Bold\\\",A[\\\"Arial-ItalicMT\\\"]=\\\"Helvetica-Oblique\\\",A[\\\"Arial-BoldItalicMT-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\",A[\\\"Arial-BoldMT-Bold\\\"]=\\\"Helvetica-Bold\\\",A[\\\"Arial-ItalicMT-Italic\\\"]=\\\"Helvetica-Oblique\\\",A.ArialUnicodeMS=\\\"Helvetica\\\",A[\\\"ArialUnicodeMS-Bold\\\"]=\\\"Helvetica-Bold\\\",A[\\\"ArialUnicodeMS-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\",A[\\\"ArialUnicodeMS-Italic\\\"]=\\\"Helvetica-Oblique\\\",A[\\\"Courier-BoldItalic\\\"]=\\\"Courier-BoldOblique\\\",A[\\\"Courier-Italic\\\"]=\\\"Courier-Oblique\\\",A.CourierNew=\\\"Courier\\\",A[\\\"CourierNew-Bold\\\"]=\\\"Courier-Bold\\\",A[\\\"CourierNew-BoldItalic\\\"]=\\\"Courier-BoldOblique\\\",A[\\\"CourierNew-Italic\\\"]=\\\"Courier-Oblique\\\",A[\\\"CourierNewPS-BoldItalicMT\\\"]=\\\"Courier-BoldOblique\\\",A[\\\"CourierNewPS-BoldMT\\\"]=\\\"Courier-Bold\\\",A[\\\"CourierNewPS-ItalicMT\\\"]=\\\"Courier-Oblique\\\",A.CourierNewPSMT=\\\"Courier\\\",A[\\\"Helvetica-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\",A[\\\"Helvetica-Italic\\\"]=\\\"Helvetica-Oblique\\\",A[\\\"Symbol-Bold\\\"]=\\\"Symbol\\\",A[\\\"Symbol-BoldItalic\\\"]=\\\"Symbol\\\",A[\\\"Symbol-Italic\\\"]=\\\"Symbol\\\",A.TimesNewRoman=\\\"Times-Roman\\\",A[\\\"TimesNewRoman-Bold\\\"]=\\\"Times-Bold\\\",A[\\\"TimesNewRoman-BoldItalic\\\"]=\\\"Times-BoldItalic\\\",A[\\\"TimesNewRoman-Italic\\\"]=\\\"Times-Italic\\\",A.TimesNewRomanPS=\\\"Times-Roman\\\",A[\\\"TimesNewRomanPS-Bold\\\"]=\\\"Times-Bold\\\",A[\\\"TimesNewRomanPS-BoldItalic\\\"]=\\\"Times-BoldItalic\\\",A[\\\"TimesNewRomanPS-BoldItalicMT\\\"]=\\\"Times-BoldItalic\\\",A[\\\"TimesNewRomanPS-BoldMT\\\"]=\\\"Times-Bold\\\",A[\\\"TimesNewRomanPS-Italic\\\"]=\\\"Times-Italic\\\",A[\\\"TimesNewRomanPS-ItalicMT\\\"]=\\\"Times-Italic\\\",A.TimesNewRomanPSMT=\\\"Times-Roman\\\",A[\\\"TimesNewRomanPSMT-Bold\\\"]=\\\"Times-Bold\\\",A[\\\"TimesNewRomanPSMT-BoldItalic\\\"]=\\\"Times-BoldItalic\\\",A[\\\"TimesNewRomanPSMT-Italic\\\"]=\\\"Times-Italic\\\"})),da=bA((function(A){A.Courier=\\\"FoxitFixed.pfb\\\",A[\\\"Courier-Bold\\\"]=\\\"FoxitFixedBold.pfb\\\",A[\\\"Courier-BoldOblique\\\"]=\\\"FoxitFixedBoldItalic.pfb\\\",A[\\\"Courier-Oblique\\\"]=\\\"FoxitFixedItalic.pfb\\\",A.Helvetica=\\\"LiberationSans-Regular.ttf\\\",A[\\\"Helvetica-Bold\\\"]=\\\"LiberationSans-Bold.ttf\\\",A[\\\"Helvetica-BoldOblique\\\"]=\\\"LiberationSans-BoldItalic.ttf\\\",A[\\\"Helvetica-Oblique\\\"]=\\\"LiberationSans-Italic.ttf\\\",A[\\\"Times-Roman\\\"]=\\\"FoxitSerif.pfb\\\",A[\\\"Times-Bold\\\"]=\\\"FoxitSerifBold.pfb\\\",A[\\\"Times-BoldItalic\\\"]=\\\"FoxitSerifBoldItalic.pfb\\\",A[\\\"Times-Italic\\\"]=\\\"FoxitSerifItalic.pfb\\\",A.Symbol=\\\"FoxitSymbol.pfb\\\",A.ZapfDingbats=\\\"FoxitDingbats.pfb\\\",A[\\\"LiberationSans-Regular\\\"]=\\\"LiberationSans-Regular.ttf\\\",A[\\\"LiberationSans-Bold\\\"]=\\\"LiberationSans-Bold.ttf\\\",A[\\\"LiberationSans-Italic\\\"]=\\\"LiberationSans-Italic.ttf\\\",A[\\\"LiberationSans-BoldItalic\\\"]=\\\"LiberationSans-BoldItalic.ttf\\\"})),fa=bA((function(A){A.Calibri=\\\"Helvetica\\\",A[\\\"Calibri-Bold\\\"]=\\\"Helvetica-Bold\\\",A[\\\"Calibri-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\",A[\\\"Calibri-Italic\\\"]=\\\"Helvetica-Oblique\\\",A.CenturyGothic=\\\"Helvetica\\\",A[\\\"CenturyGothic-Bold\\\"]=\\\"Helvetica-Bold\\\",A[\\\"CenturyGothic-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\",A[\\\"CenturyGothic-Italic\\\"]=\\\"Helvetica-Oblique\\\",A.ComicSansMS=\\\"Comic Sans MS\\\",A[\\\"ComicSansMS-Bold\\\"]=\\\"Comic Sans MS-Bold\\\",A[\\\"ComicSansMS-BoldItalic\\\"]=\\\"Comic Sans MS-BoldItalic\\\",A[\\\"ComicSansMS-Italic\\\"]=\\\"Comic Sans MS-Italic\\\",A.Impact=\\\"Helvetica\\\",A[\\\"ItcSymbol-Bold\\\"]=\\\"Helvetica-Bold\\\",A[\\\"ItcSymbol-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\",A[\\\"ItcSymbol-Book\\\"]=\\\"Helvetica\\\",A[\\\"ItcSymbol-BookItalic\\\"]=\\\"Helvetica-Oblique\\\",A[\\\"ItcSymbol-Medium\\\"]=\\\"Helvetica\\\",A[\\\"ItcSymbol-MediumItalic\\\"]=\\\"Helvetica-Oblique\\\",A.LucidaConsole=\\\"Courier\\\",A[\\\"LucidaConsole-Bold\\\"]=\\\"Courier-Bold\\\",A[\\\"LucidaConsole-BoldItalic\\\"]=\\\"Courier-BoldOblique\\\",A[\\\"LucidaConsole-Italic\\\"]=\\\"Courier-Oblique\\\",A[\\\"LucidaSans-Demi\\\"]=\\\"Helvetica-Bold\\\",A[\\\"MS-Gothic\\\"]=\\\"MS Gothic\\\",A[\\\"MS-Gothic-Bold\\\"]=\\\"MS Gothic-Bold\\\",A[\\\"MS-Gothic-BoldItalic\\\"]=\\\"MS Gothic-BoldItalic\\\",A[\\\"MS-Gothic-Italic\\\"]=\\\"MS Gothic-Italic\\\",A[\\\"MS-Mincho\\\"]=\\\"MS Mincho\\\",A[\\\"MS-Mincho-Bold\\\"]=\\\"MS Mincho-Bold\\\",A[\\\"MS-Mincho-BoldItalic\\\"]=\\\"MS Mincho-BoldItalic\\\",A[\\\"MS-Mincho-Italic\\\"]=\\\"MS Mincho-Italic\\\",A[\\\"MS-PGothic\\\"]=\\\"MS PGothic\\\",A[\\\"MS-PGothic-Bold\\\"]=\\\"MS PGothic-Bold\\\",A[\\\"MS-PGothic-BoldItalic\\\"]=\\\"MS PGothic-BoldItalic\\\",A[\\\"MS-PGothic-Italic\\\"]=\\\"MS PGothic-Italic\\\",A[\\\"MS-PMincho\\\"]=\\\"MS PMincho\\\",A[\\\"MS-PMincho-Bold\\\"]=\\\"MS PMincho-Bold\\\",A[\\\"MS-PMincho-BoldItalic\\\"]=\\\"MS PMincho-BoldItalic\\\",A[\\\"MS-PMincho-Italic\\\"]=\\\"MS PMincho-Italic\\\",A.NuptialScript=\\\"Times-Italic\\\",A.SegoeUISymbol=\\\"Helvetica\\\"})),pa=bA((function(A){A[\\\"Adobe Jenson\\\"]=!0,A[\\\"Adobe Text\\\"]=!0,A.Albertus=!0,A.Aldus=!0,A.Alexandria=!0,A.Algerian=!0,A[\\\"American Typewriter\\\"]=!0,A.Antiqua=!0,A.Apex=!0,A.Arno=!0,A.Aster=!0,A.Aurora=!0,A.Baskerville=!0,A.Bell=!0,A.Bembo=!0,A[\\\"Bembo Schoolbook\\\"]=!0,A.Benguiat=!0,A[\\\"Berkeley Old Style\\\"]=!0,A[\\\"Bernhard Modern\\\"]=!0,A[\\\"Berthold City\\\"]=!0,A.Bodoni=!0,A[\\\"Bauer Bodoni\\\"]=!0,A[\\\"Book Antiqua\\\"]=!0,A.Bookman=!0,A[\\\"Bordeaux Roman\\\"]=!0,A[\\\"Californian FB\\\"]=!0,A.Calisto=!0,A.Calvert=!0,A.Capitals=!0,A.Cambria=!0,A.Cartier=!0,A.Caslon=!0,A.Catull=!0,A.Centaur=!0,A[\\\"Century Old Style\\\"]=!0,A[\\\"Century Schoolbook\\\"]=!0,A.Chaparral=!0,A[\\\"Charis SIL\\\"]=!0,A.Cheltenham=!0,A[\\\"Cholla Slab\\\"]=!0,A.Clarendon=!0,A.Clearface=!0,A.Cochin=!0,A.Colonna=!0,A[\\\"Computer Modern\\\"]=!0,A[\\\"Concrete Roman\\\"]=!0,A.Constantia=!0,A[\\\"Cooper Black\\\"]=!0,A.Corona=!0,A.Ecotype=!0,A.Egyptienne=!0,A.Elephant=!0,A.Excelsior=!0,A.Fairfield=!0,A[\\\"FF Scala\\\"]=!0,A.Folkard=!0,A.Footlight=!0,A.FreeSerif=!0,A[\\\"Friz Quadrata\\\"]=!0,A.Garamond=!0,A.Gentium=!0,A.Georgia=!0,A.Gloucester=!0,A[\\\"Goudy Old Style\\\"]=!0,A[\\\"Goudy Schoolbook\\\"]=!0,A[\\\"Goudy Pro Font\\\"]=!0,A.Granjon=!0,A[\\\"Guardian Egyptian\\\"]=!0,A.Heather=!0,A.Hercules=!0,A[\\\"High Tower Text\\\"]=!0,A.Hiroshige=!0,A[\\\"Hoefler Text\\\"]=!0,A[\\\"Humana Serif\\\"]=!0,A.Imprint=!0,A[\\\"Ionic No. 5\\\"]=!0,A.Janson=!0,A.Joanna=!0,A.Korinna=!0,A.Lexicon=!0,A.LiberationSerif=!0,A[\\\"Liberation Serif\\\"]=!0,A[\\\"Linux Libertine\\\"]=!0,A.Literaturnaya=!0,A.Lucida=!0,A[\\\"Lucida Bright\\\"]=!0,A.Melior=!0,A.Memphis=!0,A.Miller=!0,A.Minion=!0,A.Modern=!0,A[\\\"Mona Lisa\\\"]=!0,A[\\\"Mrs Eaves\\\"]=!0,A[\\\"MS Serif\\\"]=!0,A[\\\"Museo Slab\\\"]=!0,A[\\\"New York\\\"]=!0,A[\\\"Nimbus Roman\\\"]=!0,A[\\\"NPS Rawlinson Roadway\\\"]=!0,A.NuptialScript=!0,A.Palatino=!0,A.Perpetua=!0,A.Plantin=!0,A[\\\"Plantin Schoolbook\\\"]=!0,A.Playbill=!0,A[\\\"Poor Richard\\\"]=!0,A[\\\"Rawlinson Roadway\\\"]=!0,A.Renault=!0,A.Requiem=!0,A.Rockwell=!0,A.Roman=!0,A[\\\"Rotis Serif\\\"]=!0,A.Sabon=!0,A.Scala=!0,A.Seagull=!0,A.Sistina=!0,A.Souvenir=!0,A.STIX=!0,A[\\\"Stone Informal\\\"]=!0,A[\\\"Stone Serif\\\"]=!0,A.Sylfaen=!0,A.Times=!0,A.Trajan=!0,A[\\\"Trinité\\\"]=!0,A[\\\"Trump Mediaeval\\\"]=!0,A.Utopia=!0,A[\\\"Vale Type\\\"]=!0,A[\\\"Bitstream Vera\\\"]=!0,A[\\\"Vera Serif\\\"]=!0,A.Versailles=!0,A.Wanted=!0,A.Weiss=!0,A[\\\"Wide Latin\\\"]=!0,A.Windsor=!0,A.XITS=!0})),ma=bA((function(A){A.Dingbats=!0,A.Symbol=!0,A.ZapfDingbats=!0,A.Wingdings=!0,A[\\\"Wingdings-Bold\\\"]=!0,A[\\\"Wingdings-Regular\\\"]=!0})),ya=bA((function(A){A[2]=10,A[3]=32,A[4]=33,A[5]=34,A[6]=35,A[7]=36,A[8]=37,A[9]=38,A[10]=39,A[11]=40,A[12]=41,A[13]=42,A[14]=43,A[15]=44,A[16]=45,A[17]=46,A[18]=47,A[19]=48,A[20]=49,A[21]=50,A[22]=51,A[23]=52,A[24]=53,A[25]=54,A[26]=55,A[27]=56,A[28]=57,A[29]=58,A[30]=894,A[31]=60,A[32]=61,A[33]=62,A[34]=63,A[35]=64,A[36]=65,A[37]=66,A[38]=67,A[39]=68,A[40]=69,A[41]=70,A[42]=71,A[43]=72,A[44]=73,A[45]=74,A[46]=75,A[47]=76,A[48]=77,A[49]=78,A[50]=79,A[51]=80,A[52]=81,A[53]=82,A[54]=83,A[55]=84,A[56]=85,A[57]=86,A[58]=87,A[59]=88,A[60]=89,A[61]=90,A[62]=91,A[63]=92,A[64]=93,A[65]=94,A[66]=95,A[67]=96,A[68]=97,A[69]=98,A[70]=99,A[71]=100,A[72]=101,A[73]=102,A[74]=103,A[75]=104,A[76]=105,A[77]=106,A[78]=107,A[79]=108,A[80]=109,A[81]=110,A[82]=111,A[83]=112,A[84]=113,A[85]=114,A[86]=115,A[87]=116,A[88]=117,A[89]=118,A[90]=119,A[91]=120,A[92]=121,A[93]=122,A[94]=123,A[95]=124,A[96]=125,A[97]=126,A[98]=196,A[99]=197,A[100]=199,A[101]=201,A[102]=209,A[103]=214,A[104]=220,A[105]=225,A[106]=224,A[107]=226,A[108]=228,A[109]=227,A[110]=229,A[111]=231,A[112]=233,A[113]=232,A[114]=234,A[115]=235,A[116]=237,A[117]=236,A[118]=238,A[119]=239,A[120]=241,A[121]=243,A[122]=242,A[123]=244,A[124]=246,A[125]=245,A[126]=250,A[127]=249,A[128]=251,A[129]=252,A[130]=8224,A[131]=176,A[132]=162,A[133]=163,A[134]=167,A[135]=8226,A[136]=182,A[137]=223,A[138]=174,A[139]=169,A[140]=8482,A[141]=180,A[142]=168,A[143]=8800,A[144]=198,A[145]=216,A[146]=8734,A[147]=177,A[148]=8804,A[149]=8805,A[150]=165,A[151]=181,A[152]=8706,A[153]=8721,A[154]=8719,A[156]=8747,A[157]=170,A[158]=186,A[159]=8486,A[160]=230,A[161]=248,A[162]=191,A[163]=161,A[164]=172,A[165]=8730,A[166]=402,A[167]=8776,A[168]=8710,A[169]=171,A[170]=187,A[171]=8230,A[179]=8220,A[180]=8221,A[181]=8216,A[182]=8217,A[200]=193,A[203]=205,A[207]=211,A[210]=218,A[223]=711,A[224]=321,A[225]=322,A[226]=352,A[227]=353,A[228]=381,A[229]=382,A[233]=221,A[234]=253,A[252]=263,A[253]=268,A[254]=269,A[258]=258,A[260]=260,A[261]=261,A[265]=280,A[266]=281,A[267]=282,A[268]=283,A[269]=313,A[275]=323,A[276]=324,A[278]=328,A[283]=344,A[284]=345,A[285]=346,A[286]=347,A[292]=367,A[295]=377,A[296]=378,A[298]=380,A[305]=963,A[306]=964,A[307]=966,A[308]=8215,A[309]=8252,A[310]=8319,A[311]=8359,A[312]=8592,A[313]=8593,A[337]=9552,A[493]=1039,A[494]=1040,A[672]=1488,A[673]=1489,A[674]=1490,A[675]=1491,A[676]=1492,A[677]=1493,A[678]=1494,A[679]=1495,A[680]=1496,A[681]=1497,A[682]=1498,A[683]=1499,A[684]=1500,A[685]=1501,A[686]=1502,A[687]=1503,A[688]=1504,A[689]=1505,A[690]=1506,A[691]=1507,A[692]=1508,A[693]=1509,A[694]=1510,A[695]=1511,A[696]=1512,A[697]=1513,A[698]=1514,A[705]=1524,A[706]=8362,A[710]=64288,A[711]=64298,A[759]=1617,A[761]=1776,A[763]=1778,A[775]=1652,A[777]=1764,A[778]=1780,A[779]=1781,A[780]=1782,A[782]=771,A[783]=64726,A[786]=8363,A[788]=8532,A[790]=768,A[791]=769,A[792]=768,A[795]=803,A[797]=64336,A[798]=64337,A[799]=64342,A[800]=64343,A[801]=64344,A[802]=64345,A[803]=64362,A[804]=64363,A[805]=64364,A[2424]=7821,A[2425]=7822,A[2426]=7823,A[2427]=7824,A[2428]=7825,A[2429]=7826,A[2430]=7827,A[2433]=7682,A[2678]=8045,A[2679]=8046,A[2830]=1552,A[2838]=686,A[2840]=751,A[2842]=753,A[2843]=754,A[2844]=755,A[2846]=757,A[2856]=767,A[2857]=848,A[2858]=849,A[2862]=853,A[2863]=854,A[2864]=855,A[2865]=861,A[2866]=862,A[2906]=7460,A[2908]=7462,A[2909]=7463,A[2910]=7464,A[2912]=7466,A[2913]=7467,A[2914]=7468,A[2916]=7470,A[2917]=7471,A[2918]=7472,A[2920]=7474,A[2921]=7475,A[2922]=7476,A[2924]=7478,A[2925]=7479,A[2926]=7480,A[2928]=7482,A[2929]=7483,A[2930]=7484,A[2932]=7486,A[2933]=7487,A[2934]=7488,A[2936]=7490,A[2937]=7491,A[2938]=7492,A[2940]=7494,A[2941]=7495,A[2942]=7496,A[2944]=7498,A[2946]=7500,A[2948]=7502,A[2950]=7504,A[2951]=7505,A[2952]=7506,A[2954]=7508,A[2955]=7509,A[2956]=7510,A[2958]=7512,A[2959]=7513,A[2960]=7514,A[2962]=7516,A[2963]=7517,A[2964]=7518,A[2966]=7520,A[2967]=7521,A[2968]=7522,A[2970]=7524,A[2971]=7525,A[2972]=7526,A[2974]=7528,A[2975]=7529,A[2976]=7530,A[2978]=1537,A[2979]=1538,A[2980]=1539,A[2982]=1549,A[2983]=1551,A[2984]=1552,A[2986]=1554,A[2987]=1555,A[2988]=1556,A[2990]=1623,A[2991]=1624,A[2995]=1775,A[2999]=1791,A[3002]=64290,A[3003]=64291,A[3004]=64292,A[3006]=64294,A[3007]=64295,A[3008]=64296,A[3011]=1900,A[3014]=8223,A[3015]=8244,A[3017]=7532,A[3018]=7533,A[3019]=7534,A[3075]=7590,A[3076]=7591,A[3079]=7594,A[3080]=7595,A[3083]=7598,A[3084]=7599,A[3087]=7602,A[3088]=7603,A[3091]=7606,A[3092]=7607,A[3095]=7610,A[3096]=7611,A[3099]=7614,A[3100]=7615,A[3103]=7618,A[3104]=7619,A[3107]=8337,A[3108]=8338,A[3116]=1884,A[3119]=1885,A[3120]=1885,A[3123]=1886,A[3124]=1886,A[3127]=1887,A[3128]=1887,A[3131]=1888,A[3132]=1888,A[3135]=1889,A[3136]=1889,A[3139]=1890,A[3140]=1890,A[3143]=1891,A[3144]=1891,A[3147]=1892,A[3148]=1892,A[3153]=580,A[3154]=581,A[3157]=584,A[3158]=585,A[3161]=588,A[3162]=589,A[3165]=891,A[3166]=892,A[3169]=1274,A[3170]=1275,A[3173]=1278,A[3174]=1279,A[3181]=7622,A[3182]=7623,A[3282]=11799,A[3316]=578,A[3379]=42785,A[3393]=1159,A[3416]=8377})),wa=bA((function(A){A[227]=322,A[264]=261,A[291]=346})),Da=bA((function(A){A[1]=32,A[4]=65,A[5]=192,A[6]=193,A[9]=196,A[17]=66,A[18]=67,A[21]=268,A[24]=68,A[28]=69,A[29]=200,A[30]=201,A[32]=282,A[38]=70,A[39]=71,A[44]=72,A[47]=73,A[48]=204,A[49]=205,A[58]=74,A[60]=75,A[62]=76,A[68]=77,A[69]=78,A[75]=79,A[76]=210,A[80]=214,A[87]=80,A[89]=81,A[90]=82,A[92]=344,A[94]=83,A[97]=352,A[100]=84,A[104]=85,A[109]=220,A[115]=86,A[116]=87,A[121]=88,A[122]=89,A[124]=221,A[127]=90,A[129]=381,A[258]=97,A[259]=224,A[260]=225,A[263]=228,A[268]=261,A[271]=98,A[272]=99,A[273]=263,A[275]=269,A[282]=100,A[286]=101,A[287]=232,A[288]=233,A[290]=283,A[295]=281,A[296]=102,A[336]=103,A[346]=104,A[349]=105,A[350]=236,A[351]=237,A[361]=106,A[364]=107,A[367]=108,A[371]=322,A[373]=109,A[374]=110,A[381]=111,A[382]=242,A[383]=243,A[386]=246,A[393]=112,A[395]=113,A[396]=114,A[398]=345,A[400]=115,A[401]=347,A[403]=353,A[410]=116,A[437]=117,A[442]=252,A[448]=118,A[449]=119,A[454]=120,A[455]=121,A[457]=253,A[460]=122,A[462]=382,A[463]=380,A[853]=44,A[855]=58,A[856]=46,A[876]=47,A[878]=45,A[882]=45,A[894]=40,A[895]=41,A[896]=91,A[897]=93,A[923]=64,A[1004]=48,A[1005]=49,A[1006]=50,A[1007]=51,A[1008]=52,A[1009]=53,A[1010]=54,A[1011]=55,A[1012]=56,A[1013]=57,A[1081]=37,A[1085]=43,A[1086]=45}));function ba(A){const e=Qa(A);return ua()[e]}function ka(A){const e=Qa(A);return!!(ua()[e]||fa()[e]||pa()[e]||ma()[e])}class Fa{constructor(A=[]){this._map=A}get length(){return this._map.length}forEach(A){for(const e in this._map)A(e,this._map[e].charCodeAt(0))}has(A){return void 0!==this._map[A]}get(A){return this._map[A]}charCodeOf(A){const e=this._map;if(e.length<=65536)return e.indexOf(A);for(const t in e)if(e[t]===A)return 0|t;return-1}amend(A){for(const e in A)this._map[e]=A[e]}}class Sa{constructor(A,e){this.firstChar=A,this.lastChar=e}get length(){return this.lastChar+1-this.firstChar}forEach(A){for(let e=this.firstChar,t=this.lastChar;e<=t;e++)A(e,e)}has(A){return this.firstChar<=A&&A<=this.lastChar}get(A){if(this.firstChar<=A&&A<=this.lastChar)return String.fromCharCode(A)}charCodeOf(A){return Number.isInteger(A)&&A>=this.firstChar&&A<=this.lastChar?A:-1}amend(A){M(\\\"Should not call amend()\\\")}}class Ra{constructor(A,e){this.properties=e;const t=new qi(A,e,Ca);this.cff=t.parse(),this.cff.duplicateFirstGlyph();const i=new ia(this.cff);this.seacs=this.cff.seacs;try{this.data=i.compile()}catch{U(\\\"Failed to compile font \\\"+e.loadedName),this.data=A}this._createBuiltInEncoding()}get numGlyphs(){return this.cff.charStrings.count}getCharset(){return this.cff.charset.charset}getGlyphMapping(){const A=this.cff,e=this.properties,{cidToGidMap:t,cMap:i}=e,a=A.charset.charset;let s,n;if(e.composite){let e,r;if(t?.length>0){e=Object.create(null);for(let A=0,i=t.length;A=0){const i=t[e];i&&(a[A]=i)}}a.length>0&&(this.properties.builtInEncoding=a)}}function Ga(A,e){return(A[e]<<24|A[e+1]<<16|A[e+2]<<8|A[e+3])>>>0}function Na(A,e){return A[e]<<8|A[e+1]}function xa(A,e){return(A[e]<<24|A[e+1]<<16)>>16}function Ua(A,e){return A[e]<<24>>24}function Ma(A,e){return xa(A,e)/16384}function La(A){const e=A.length;let t=32768;return e<1240?t=107:e<33900&&(t=1131),t}function Ja(A,e,t){const i=1===Na(A,e+2)?Ga(A,e+8):Ga(A,e+16),a=Na(A,e+i);let s,n,r;if(4===a){Na(A,e+i+2);const t=Na(A,e+i+6)>>1;for(n=e+i+14,s=[],r=0;r>1;t0;)h.push({flags:g})}for(t=0;t>1,m=!0;break;case 4:o+=r.pop(),a(g,o),m=!0;break;case 5:for(;r.length>0;)g+=r.shift(),o+=r.shift(),s(g,o);break;case 6:for(;r.length>0&&(g+=r.shift(),s(g,o),0!==r.length);)o+=r.shift(),s(g,o);break;case 7:for(;r.length>0&&(o+=r.shift(),s(g,o),0!==r.length);)g+=r.shift(),s(g,o);break;case 8:for(;r.length>0;)h=g+r.shift(),l=o+r.shift(),B=h+r.shift(),Q=l+r.shift(),g=B+r.shift(),o=Q+r.shift(),n(h,l,B,Q,g,o);break;case 10:if(f=r.pop(),p=null,t.isCFFCIDFont){const A=t.fdSelect.getFDIndex(i);if(A>=0&&AMath.abs(o-e)?g+=r.shift():o+=r.shift(),n(h,l,B,Q,g,o);break;default:throw new W(`unknown operator: 12 ${y}`)}break;case 14:if(r.length>=4){const A=r.pop(),i=r.pop();o=r.pop(),g=r.pop(),e.add(5),e.add(8,[g,o]);let a=Ya(t.cmap,String.fromCharCode(t.glyphNameMap[Ui[A]]));Ka(t.glyphs[a.glyphId],e,t,a.glyphId),e.add(4),a=Ya(t.cmap,String.fromCharCode(t.glyphNameMap[Ui[i]])),Ka(t.glyphs[a.glyphId],e,t,a.glyphId)}return;case 19:case 20:I+=r.length>>1,C+=I+7>>3,m=!0;break;case 21:o+=r.pop(),g+=r.pop(),a(g,o),m=!0;break;case 22:g+=r.pop(),a(g,o),m=!0;break;case 24:for(;r.length>2;)h=g+r.shift(),l=o+r.shift(),B=h+r.shift(),Q=l+r.shift(),g=B+r.shift(),o=Q+r.shift(),n(h,l,B,Q,g,o);g+=r.shift(),o+=r.shift(),s(g,o);break;case 25:for(;r.length>6;)g+=r.shift(),o+=r.shift(),s(g,o);h=g+r.shift(),l=o+r.shift(),B=h+r.shift(),Q=l+r.shift(),g=B+r.shift(),o=Q+r.shift(),n(h,l,B,Q,g,o);break;case 26:for(r.length%2&&(g+=r.shift());r.length>0;)h=g,l=o+r.shift(),B=h+r.shift(),Q=l+r.shift(),g=B,o=Q+r.shift(),n(h,l,B,Q,g,o);break;case 27:for(r.length%2&&(o+=r.shift());r.length>0;)h=g+r.shift(),l=o,B=h+r.shift(),Q=l+r.shift(),g=B+r.shift(),o=Q,n(h,l,B,Q,g,o);break;case 28:r.push((c[C]<<24|c[C+1]<<16)>>16),C+=2;break;case 29:f=r.pop()+t.gsubrsBias,p=t.gsubrs[f],p&&A(p);break;case 30:for(;r.length>0&&(h=g,l=o+r.shift(),B=h+r.shift(),Q=l+r.shift(),g=B+r.shift(),o=Q+(1===r.length?r.shift():0),n(h,l,B,Q,g,o),0!==r.length);)h=g+r.shift(),l=o,B=h+r.shift(),Q=l+r.shift(),o=Q+r.shift(),g=B+(1===r.length?r.shift():0),n(h,l,B,Q,g,o);break;case 31:for(;r.length>0&&(h=g+r.shift(),l=o,B=h+r.shift(),Q=l+r.shift(),o=Q+r.shift(),g=B+(1===r.length?r.shift():0),n(h,l,B,Q,g,o),0!==r.length);)h=g,l=o+r.shift(),B=h+r.shift(),Q=l+r.shift(),g=B+r.shift(),o=Q+(1===r.length?r.shift():0),n(h,l,B,Q,g,o);break;default:if(y<32)throw new W(`unknown operator: ${y}`);y<247?r.push(y-139):y<251?r.push(256*(y-247)+c[C++]+108):y<255?r.push(256*-(y-251)-c[C++]-108):(r.push((c[C]<<24|c[C+1]<<16|c[C+2]<<8|c[C+3])/65536),C+=4)}m&&(r.length=0)}}(A)}const qa=[];class Ta{cmds=[];add(A,e){if(e)if(vA(e,null))this.cmds.push(A,...e);else{U(`Commands.add - \\\"${A}\\\" has at least one non-number arg: \\\"${e}\\\".`);const t=e.map((A=>\\\"number\\\"==typeof A?A:0));this.cmds.push(A,...t)}else this.cmds.push(A)}}class Pa{constructor(A){this.constructor===Pa&&M(\\\"Cannot initialize CompiledFont.\\\"),this.fontMatrix=A,this.compiledGlyphs=Object.create(null),this.compiledCharCodeToGlyphId=Object.create(null)}getPathJs(A){const{charCode:e,glyphId:t}=Ya(this.cmap,A);let i,a=this.compiledGlyphs[t];if(!a){try{a=this.compileGlyph(this.glyphs[t],t)}catch(A){a=qa,i=A}this.compiledGlyphs[t]=a}if(this.compiledCharCodeToGlyphId[e]??=t,i)throw i;return a}compileGlyph(A,e){if(!A||0===A.length||14===A[0])return qa;let t=this.fontMatrix;if(this.isCFFCIDFont){const A=this.fdSelect.getFDIndex(e);A>=0&&AA+(e.getSize()+3&-4)),0)}write(){const A=this.getSize(),e=new DataView(new ArrayBuffer(A)),t=A>131070,i=t?4:2,a=new DataView(new ArrayBuffer((this.glyphs.length+1)*i));t?a.setUint32(0,0):a.setUint16(0,0);let s=0,n=0;for(const A of this.glyphs)s+=A.write(s,e),s=s+3&-4,n+=i,t?a.setUint32(n,s):a.setUint16(n,s>>1);return{isLocationLong:t,loca:new Uint8Array(a.buffer),glyf:new Uint8Array(e.buffer)}}scale(A){for(let e=0,t=this.glyphs.length;eA+e.getSize()),0);return this.header.getSize()+A}write(A,e){if(!this.header)return 0;const t=A;if(A+=this.header.write(A,e),this.simple)A+=this.simple.write(A,e);else for(const t of this.composites)A+=t.write(A,e);return A-t}scale(A){if(!this.header)return;const e=(this.header.xMin+this.header.xMax)/2;if(this.header.scale(e,A),this.simple)this.simple.scale(e,A);else for(const t of this.composites)t.scale(e,A)}}class za{constructor({numberOfContours:A,xMin:e,yMin:t,xMax:i,yMax:a}){this.numberOfContours=A,this.xMin=e,this.yMin=t,this.xMax=i,this.yMax=a}static parse(A,e){return[10,new za({numberOfContours:e.getInt16(A),xMin:e.getInt16(A+2),yMin:e.getInt16(A+4),xMax:e.getInt16(A+6),yMax:e.getInt16(A+8)})]}getSize(){return 10}write(A,e){return e.setInt16(A,this.numberOfContours),e.setInt16(A+2,this.xMin),e.setInt16(A+4,this.yMin),e.setInt16(A+6,this.xMax),e.setInt16(A+8,this.yMax),10}scale(A,e){this.xMin=Math.round(A+(this.xMin-A)*e),this.xMax=Math.round(A+(this.xMax-A)*e)}}class _a{constructor({flags:A,xCoordinates:e,yCoordinates:t}){this.xCoordinates=e,this.yCoordinates=t,this.flags=A}}class $a{constructor({contours:A,instructions:e}){this.contours=A,this.instructions=e}static parse(A,e,t){const i=[];for(let a=0;a255?A+=2:r>0&&(A+=1),e=s,r=Math.abs(n-t),r>255?A+=2:r>0&&(A+=1),t=n}}return A}write(A,e){const t=A,i=[],a=[],s=[];let n=0,r=0;for(const t of this.contours){for(let A=0,e=t.xCoordinates.length;A=0?18:2,i.push(A)):i.push(o)}n=g;const I=t.yCoordinates[A];if(o=I-r,0===o)e|=32,a.push(0);else{const A=Math.abs(o);A<=255?(e|=o>=0?36:4,a.push(A)):a.push(o)}r=I,s.push(e)}e.setUint16(A,i.length-1),A+=2}e.setUint16(A,this.instructions.length),A+=2,this.instructions.length&&(new Uint8Array(e.buffer,0,e.buffer.byteLength).set(this.instructions,A),A+=this.instructions.length);for(const t of s)e.setUint8(A++,t);for(let t=0,a=i.length;t=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(A+=2):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(A+=2),A}write(A,e){const t=A;return 2&this.flags?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(this.flags|=1):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(this.flags|=1),e.setUint16(A,this.flags),e.setUint16(A+2,this.glyphIndex),A+=4,1&this.flags?(2&this.flags?(e.setInt16(A,this.argument1),e.setInt16(A+2,this.argument2)):(e.setUint16(A,this.argument1),e.setUint16(A+2,this.argument2)),A+=4):(e.setUint8(A,this.argument1),e.setUint8(A+1,this.argument2),A+=2),256&this.flags&&(e.setUint16(A,this.instructions.length),A+=2,this.instructions.length&&(new Uint8Array(e.buffer,0,e.buffer.byteLength).set(this.instructions,A),A+=this.instructions.length)),A-t}scale(A,e){}}function es(A,e,t){A[e]=t>>8&255,A[e+1]=255&t}function ts(A,e,t){A[e]=t>>24&255,A[e+1]=t>>16&255,A[e+2]=t>>8&255,A[e+3]=255&t}function is(A,e,t){if(t instanceof Uint8Array)A.set(t,e);else if(\\\"string\\\"==typeof t)for(let i=0,a=t.length;it;)t<<=1,i++;const a=t*e;return{range:a,entry:i,rangeShift:e*A-a}}toArray(){let A=this.sfnt;const e=this.tables,t=Object.keys(e);t.sort();const i=t.length;let a,s,n,r,g,o=12+16*i;const I=[o];for(a=0;a>>0,I.push(o);const c=new Uint8Array(o);for(a=0;a>>0;ts(c,o+4,A),ts(c,o+8,I[a]),ts(c,o+12,e[g].length),o+=16}return c}addTable(A,e){if(A in this.tables)throw new Error(\\\"Table \\\"+A+\\\" already exists\\\");this.tables[A]=e}}const ss=[4],ns=[5],rs=[6],gs=[7],os=[8],Is=[12,35],cs=[14],Cs=[21],hs=[22],Bs=[30],ls=[31];class Qs{constructor(){this.width=0,this.lsb=0,this.flexing=!1,this.output=[],this.stack=[]}convert(A,e,t){const i=A.length;let a,s,n,r=!1;for(let g=0;gi)return!0;const a=i-A;for(let A=a;A>8&255,255&e):(e=65536*e|0,this.output.push(255,e>>24&255,e>>16&255,e>>8&255,255&e))}return this.output.push(...e),t?this.stack.splice(a,A):this.stack.length=0,!1}}function Es(A){return A>=48&&A<=57||A>=65&&A<=70||A>=97&&A<=102}function us(A,e,t){if(t>=A.length)return new Uint8Array(0);let i,a,s=0|e;for(i=0;i>8,s=52845*(e+s)+22719&65535}return r}function ds(A){return 47===A||91===A||93===A||123===A||125===A||40===A||41===A}class fs{constructor(A,e,t){if(e){const e=A.getBytes(),t=!((Es(e[0])||YA(e[0]))&&Es(e[1])&&Es(e[2])&&Es(e[3])&&Es(e[4])&&Es(e[5])&&Es(e[6])&&Es(e[7]));A=new ge(t?us(e,55665,4):function(A,e,t){let i=0|e;const a=A.length,s=new Uint8Array(a>>>1);let n,r;for(n=0,r=0;n>8,i=52845*(A+i)+22719&65535}}return s.slice(t,r)}(e,55665,4))}this.seacAnalysisEnabled=!!t,this.stream=A,this.nextChar()}readNumberArray(){this.getToken();const A=[];for(;;){const e=this.getToken();if(null===e||\\\"]\\\"===e||\\\"}\\\"===e)break;A.push(parseFloat(e||0))}return A}readNumber(){const A=this.getToken();return parseFloat(A||0)}readInt(){const A=this.getToken();return 0|parseInt(A||0,10)}readBoolean(){return\\\"true\\\"===this.getToken()?1:0}nextChar(){return this.currentChar=this.stream.getByte()}prevChar(){return this.stream.skip(-2),this.currentChar=this.stream.getByte()}getToken(){let A=!1,e=this.currentChar;for(;;){if(-1===e)return null;if(A)10!==e&&13!==e||(A=!1);else if(37===e)A=!0;else if(!YA(e))break;e=this.nextChar()}if(ds(e))return this.nextChar(),String.fromCharCode(e);let t=\\\"\\\";do{t+=String.fromCharCode(e),e=this.nextChar()}while(e>=0&&!YA(e)&&!ds(e));return t}readCharStrings(A,e){return-1===e?A:us(A,4330,e)}extractFontProgram(A){const e=this.stream,t=[],i=[],a=Object.create(null);a.lenIV=4;const s={subrs:[],charstrings:[],properties:{privateData:a}};let n,r,g,o;for(;null!==(n=this.getToken());)if(\\\"/\\\"===n)switch(n=this.getToken(),n){case\\\"CharStrings\\\":for(this.getToken(),this.getToken(),this.getToken(),this.getToken();n=this.getToken(),null!==n&&\\\"end\\\"!==n;){if(\\\"/\\\"!==n)continue;const A=this.getToken();r=this.readInt(),this.getToken(),g=r>0?e.getBytes(r):new Uint8Array(0),o=s.properties.privateData.lenIV;const t=this.readCharStrings(g,o);this.nextChar(),n=this.getToken(),\\\"noaccess\\\"===n?this.getToken():\\\"/\\\"===n&&this.prevChar(),i.push({glyph:A,encoded:t})}break;case\\\"Subrs\\\":for(this.readInt(),this.getToken();\\\"dup\\\"===this.getToken();){const A=this.readInt();r=this.readInt(),this.getToken(),g=r>0?e.getBytes(r):new Uint8Array(0),o=s.properties.privateData.lenIV;const i=this.readCharStrings(g,o);this.nextChar(),n=this.getToken(),\\\"noaccess\\\"===n&&this.getToken(),t[A]=i}break;case\\\"BlueValues\\\":case\\\"OtherBlues\\\":case\\\"FamilyBlues\\\":case\\\"FamilyOtherBlues\\\":const A=this.readNumberArray();A.length>0&&A.length;break;case\\\"StemSnapH\\\":case\\\"StemSnapV\\\":s.properties.privateData[n]=this.readNumberArray();break;case\\\"StdHW\\\":case\\\"StdVW\\\":s.properties.privateData[n]=this.readNumberArray()[0];break;case\\\"BlueShift\\\":case\\\"lenIV\\\":case\\\"BlueFuzz\\\":case\\\"BlueScale\\\":case\\\"LanguageGroup\\\":s.properties.privateData[n]=this.readNumber();break;case\\\"ExpansionFactor\\\":s.properties.privateData[n]=this.readNumber()||.06;break;case\\\"ForceBold\\\":s.properties.privateData[n]=this.readBoolean()}for(const{encoded:e,glyph:a}of i){const i=new Qs,n=i.convert(e,t,this.seacAnalysisEnabled);let r=i.output;n&&(r=[14]);const g={glyphName:a,charstring:r,width:i.width,lsb:i.lsb,seac:i.seac};if(\\\".notdef\\\"===a?s.charstrings.unshift(g):s.charstrings.push(g),A.builtInEncoding){const e=A.builtInEncoding.indexOf(a);e>-1&&void 0===A.widths[e]&&e>=A.firstChar&&e<=A.lastChar&&(A.widths[e]=i.width)}}return s}extractFontHeader(A){let e;for(;null!==(e=this.getToken());)if(\\\"/\\\"===e)switch(e=this.getToken(),e){case\\\"FontMatrix\\\":const t=this.readNumberArray();A.fontMatrix=t;break;case\\\"Encoding\\\":const i=this.getToken();let a;if(/^\\\\\\\\d+$/.test(i)){a=[];const A=0|parseInt(i,10);this.getToken();for(let t=0;t=a){for(n+=t;n=0&&(i[A]=a)}return la(A,i,t)}hasGlyphId(A){return!(A<0||A>=this.numGlyphs)&&(0===A||this.charstrings[A-1].charstring.length>0)}getSeacs(A){const e=[];for(let t=0,i=A.length;t0;A--)e[A]-=e[A-1];h.setByName(A,e)}s.topDict.privateDict=h;const l=new Oi;for(I=0,c=i.length;I0&&A.toUnicode.amend(e)}class Ss{constructor(A,e,t,i,a,s,n,r,g){this.originalCharCode=A,this.fontChar=e,this.unicode=t,this.accent=i,this.width=a,this.vmetric=s,this.operatorListId=n,this.isSpace=r,this.isInFont=g}get category(){return H(this,\\\"category\\\",function(A){const e=ca.get(A);if(e)return e;const t=A.match(Ia),i={isWhitespace:!!t?.[1],isZeroWidthDiacritic:!!t?.[2],isInvisibleFormatMark:!!t?.[3]};return ca.set(A,i),i}(this.unicode),!0)}}function Rs(A,e){return(A<<8)+e}function Gs(A,e,t){A[e+1]=t,A[e]=t>>>8}function Ns(A,e){const t=(A<<8)+e;return 32768&t?t-65536:t}function xs(A){return String.fromCharCode(A>>8&255,255&A)}function Us(A){return A>32767?A=32767:A<-32768&&(A=-32768),String.fromCharCode(A>>8&255,255&A)}function Ms(A){return\\\"ttcf\\\"===Z(A.peekBytes(4))}function Ls(A,e){for(const t in e)A[+t]=e[t]}function Js(A,e,t){const i=[];let a;for(let t=0,s=A.length;tI){if(g++,g>=ys.length){U(\\\"Ran out of space in font private use area.\\\");break}o=ys[g][0],I=ys[g][1]}const B=o++;0===h&&(h=t);let l=i.get(C);\\\"string\\\"==typeof l&&(l=l.codePointAt(0)),!l||(c=l,ys[0][0]<=c&&c<=ys[0][1]||ys[1][0]<=c&&c<=ys[1][1])||r.has(h)||(s.set(l,h),r.add(h)),a[B]=h,n[C]=B}var c;return{toFontChar:n,charCodeToGlyphId:a,toUnicodeExtraMap:s,nextAvailableFontCharCode:o}}function qs(A,e,t){const i=function(A,e,t){const i=[];for(const e in A)A[e]>=t||i.push({fontCharCode:0|e,glyphId:A[e]});if(e)for(const[A,a]of e)a>=t||i.push({fontCharCode:A,glyphId:a});0===i.length&&i.push({fontCharCode:0,glyphId:0}),i.sort((function(A,e){return A.fontCharCode-e.fontCharCode}));const a=[],s=i.length;for(let A=0;A65535?2:1;let s,n,r,g,o=\\\"\\\\\\\\0\\\\\\\\0\\\"+xs(a)+\\\"\\\\\\\\0\\u0003\\\\\\\\0\\u0001\\\"+X(4+8*a);for(s=i.length-1;s>=0&&!(i[s][0]<=65535);--s);const I=s+1;i[s][0]<65535&&65535===i[s][1]&&(i[s][1]=65534);const c=i[s][1]<65535?1:0,C=I+c,h=as.getSearchParams(C,2);let B,l,Q,E,u=\\\"\\\",d=\\\"\\\",f=\\\"\\\",p=\\\"\\\",m=\\\"\\\",y=0;for(s=0,n=I;s0&&(d+=\\\"ÿÿ\\\",u+=\\\"ÿÿ\\\",f+=\\\"\\\\\\\\0\\u0001\\\",p+=\\\"\\\\\\\\0\\\\\\\\0\\\");const w=\\\"\\\\\\\\0\\\\\\\\0\\\"+xs(2*C)+xs(h.range)+xs(h.entry)+xs(h.rangeShift)+d+\\\"\\\\\\\\0\\\\\\\\0\\\"+u+f+p+m;let D=\\\"\\\",b=\\\"\\\";if(a>1){for(o+=\\\"\\\\\\\\0\\u0003\\\\\\\\0\\\\\\\\n\\\"+X(4+8*a+4+w.length),D=\\\"\\\",s=0,n=i.length;sA||!r)&&(r=A),g 123 are reserved for internal usage\\\");n|=1<65535&&(g=65535)}else r=0,g=255;const I=A.bbox||[0,0,0,0],c=t.unitsPerEm||(A.fontMatrix?1/Math.max(...A.fontMatrix.slice(0,4).map(Math.abs)):1e3),C=A.ascentScaled?1:c/ws,h=t.ascent||Math.round(C*(A.ascent||I[3]));let B=t.descent||Math.round(C*(A.descent||I[1]));B>0&&A.descent>0&&I[1]<0&&(B=-B);const l=t.yMax||h,Q=-t.yMin||-B;return\\\"\\\\\\\\0\\u0003\\u0002$\\u0001ô\\\\\\\\0\\u0005\\\\\\\\0\\\\\\\\0\\u0002Š\\u0002»\\\\\\\\0\\\\\\\\0\\\\\\\\0Œ\\u0002Š\\u0002»\\\\\\\\0\\\\\\\\0\\u0001ß\\\\\\\\x001\\u0001\\u0002\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\u0006\\\"+String.fromCharCode(A.fixedPitch?9:0)+\\\"\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\"+X(i)+X(a)+X(s)+X(n)+\\\"*21*\\\"+xs(A.italicAngle?1:0)+xs(r||A.firstChar)+xs(g||A.lastChar)+xs(h)+xs(B)+\\\"\\\\\\\\0d\\\"+xs(l)+xs(Q)+\\\"\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\"+xs(A.xHeight)+xs(A.capHeight)+xs(0)+xs(r||A.firstChar)+\\\"\\\\\\\\0\\u0003\\\"}function Ps(A){return\\\"\\\\\\\\0\\u0003\\\\\\\\0\\\\\\\\0\\\"+X(Math.floor(65536*A.italicAngle))+\\\"\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\"+X(A.fixedPitch?1:0)+\\\"\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\"}function Ws(A){return A.replaceAll(/[^\\\\\\\\x21-\\\\\\\\x7E]|[[\\\\\\\\](){}<>/%]/g,\\\"\\\").slice(0,63)}function Os(A,e){e||(e=[[],[]]);const t=[e[0][0]||\\\"Original licence\\\",e[0][1]||A,e[0][2]||\\\"Unknown\\\",e[0][3]||\\\"uniqueID\\\",e[0][4]||A,e[0][5]||\\\"Version 0.11\\\",e[0][6]||Ws(A),e[0][7]||\\\"Unknown\\\",e[0][8]||\\\"Unknown\\\",e[0][9]||\\\"Unknown\\\"],i=[];let a,s,n,r,g;for(a=0,s=t.length;a=1&&e[3]>=1&&e[3]<=4}(A)?i?(a=\\\"CIDFontType0\\\",s=\\\"CIDFontType0C\\\"):(a=\\\"MMType1\\\"===e?\\\"MMType1\\\":\\\"Type1\\\",s=\\\"Type1C\\\"):(U(\\\"getFontFileType: Unable to detect correct font file Type/Subtype.\\\"),a=e,s=t),[a,s]}(e,t),a===this.type&&s===this.subtype||x(`Inconsistent font file Type/SubType, expected: ${this.type}/${this.subtype} but found: ${a}/${s}.`);try{switch(a){case\\\"MMType1\\\":x(\\\"MMType1 font (\\\"+A+\\\"), falling back to Type1.\\\");case\\\"Type1\\\":case\\\"CIDFontType0\\\":this.mimetype=\\\"font/opentype\\\";const i=\\\"Type1C\\\"===s||\\\"CIDFontType0C\\\"===s?new Ra(e,t):new ms(A,e,t);ks(t),r=this.convert(A,i,t);break;case\\\"OpenType\\\":case\\\"TrueType\\\":case\\\"CIDFontType2\\\":this.mimetype=\\\"font/opentype\\\",r=this.checkAndRepair(A,e,t),this.isOpenType&&(ks(t),a=\\\"OpenType\\\");break;default:throw new W(`Font ${a} is not supported`)}}catch(A){return U(A),void this.fallbackToSystemFont(t)}Fs(t),this.data=r,this.type=a,this.subtype=s,this.fontMatrix=t.fontMatrix,this.widths=t.widths,this.defaultWidth=t.defaultWidth,this.toUnicode=t.toUnicode,this.seacMap=t.seacMap}get renderer(){return H(this,\\\"renderer\\\",class{static create(A,e){const t=new Uint8Array(A.data);let i,a,s,n,r,g;const o=Na(t,4);for(let A=0,I=12;A2*Na(A,e));const s=[];let n=a(e,0);for(let t=i;t0,(n||r)&&\\\"CIDFontType2\\\"===t&&this.cidEncoding.startsWith(\\\"Identity-\\\")){const t=A.cidToGidMap,i=[];if(Ls(i,ya()),/Arial-?Black/i.test(e)?Ls(i,wa()):/Calibri/i.test(e)&&Ls(i,Da()),t){for(const A in i){const e=i[A];void 0!==t[e]&&(i[+A]=t[e])}t.length!==this.toUnicode.length&&A.hasIncludedToUnicodeMap&&this.toUnicode instanceof Sa&&this.toUnicode.forEach((function(A,e){const a=i[A];void 0===t[a]&&(i[+A]=e)}))}this.toUnicode instanceof Sa||this.toUnicode.forEach((function(A,e){i[+A]=e})),this.toFontChar=i,this.toUnicode=new Fa(i)}else if(/Symbol/i.test(i))this.toFontChar=Js(Li,aa(),this.differences);else if(/Dingbats/i.test(i))this.toFontChar=Js(Ji,sa(),this.differences);else if(n){const A=Js(this.defaultEncoding,aa(),this.differences);\\\"CIDFontType2\\\"!==t||this.cidEncoding.startsWith(\\\"Identity-\\\")||this.toUnicode instanceof Sa||this.toUnicode.forEach((function(e,t){A[+e]=t})),this.toFontChar=A}else{const A=aa(),t=[];this.toUnicode.forEach(((e,i)=>{if(!this.composite){const t=ra(this.differences[e]||this.defaultEncoding[e],A);-1!==t&&(i=t)}t[+e]=i})),this.composite&&this.toUnicode instanceof Sa&&/Tahoma|Verdana/i.test(e)&&Ls(t,ya()),this.toFontChar=t}Fs(A),this.loadedName=i.split(\\\"-\\\",1)[0]}checkAndRepair(A,e,t){const i=[\\\"OS/2\\\",\\\"cmap\\\",\\\"head\\\",\\\"hhea\\\",\\\"hmtx\\\",\\\"maxp\\\",\\\"name\\\",\\\"post\\\",\\\"loca\\\",\\\"glyf\\\",\\\"fpgm\\\",\\\"prep\\\",\\\"cvt \\\",\\\"CFF \\\"];function a(A,e){const t=Object.create(null);t[\\\"OS/2\\\"]=null,t.cmap=null,t.head=null,t.hhea=null,t.hmtx=null,t.maxp=null,t.name=null,t.post=null;for(let a=0;a>>0,i=A.getInt32()>>>0,a=A.getInt32()>>>0,s=A.pos;A.pos=A.start||0,A.skip(i);const n=A.getBytes(a);return A.pos=s,\\\"head\\\"===e&&(n[8]=n[9]=n[10]=n[11]=0,n[17]|=32),{tag:e,checksum:t,length:a,offset:i,data:n}}function n(A){return{version:A.getString(4),numTables:A.getUint16(),searchRange:A.getUint16(),entrySelector:A.getUint16(),rangeShift:A.getUint16()}}function r(A,e,t,i,a,s){const n={length:0,sizeOfInstructions:0};if(e<0||e>=A.length||t>A.length||t-e<=12)return n;const r=A.subarray(e,t),g=Ns(r[2],r[3]),o=Ns(r[4],r[5]),I=Ns(r[6],r[7]),c=Ns(r[8],r[9]);g>I&&(Gs(r,2,I),Gs(r,6,g)),o>c&&(Gs(r,4,c),Gs(r,8,o));const C=Ns(r[0],r[1]);if(C<0)return C<-1||(i.set(r,a),n.length=r.length),n;let h,B=10,l=0;for(h=0;hr.length?n:!s&&E>0?(i.set(r.subarray(0,Q),a),i.set([0,0],a+Q),i.set(r.subarray(u,f),a+Q+2),f-=E,r.length-f>3&&(f=f+3&-4),n.length=f,n):r.length-f>3?(f=f+3&-4,i.set(r.subarray(0,f),a),n.length=f,n):(i.set(r,a),n.length=r.length,n)}function g(A){const t=(e.start||0)+A.offset;e.pos=t;const i=[[],[]],a=[],s=A.length,n=t+s;if(0!==e.getUint16()||s<6)return[i,a];const r=e.getUint16(),g=e.getUint16();let o,I;for(o=0;on)continue;e.pos=s;const r=A.name;if(A.encoding){let t=\\\"\\\";for(let i=0,a=A.length;i0&&(g+=A-1)}}else(Q||u)&&(U(\\\"TT: nested FDEFs not allowed\\\"),l=!0),Q=!0,c=g,s=C.pop(),e.functionsDefined[s]={data:r,i:g};else if(!Q&&!u)if(s=C.at(-1),isNaN(s))x(\\\"TT: CALL empty stack (or invalid entry).\\\");else if(e.functionsUsed[s]=!0,s in e.functionsStackDeltas){const A=C.length+e.functionsStackDeltas[s];if(A<0)return U(\\\"TT: CALL invalid functions stack delta.\\\"),void(e.hintsValid=!1);C.length=A}else if(s in e.functionsDefined&&!B.includes(s)){if(h.push({data:r,i:g,stackTop:C.length-1}),B.push(s),n=e.functionsDefined[s],!n)return U(\\\"TT: CALL non-existent function\\\"),void(e.hintsValid=!1);r=n.data,g=n.i}if(!Q&&!u){let e=0;for(A<=142?e=o[A]:A>=192&&A<=223?e=-1:A>=224&&(e=-2),A>=113&&A<=117&&(i=C.pop(),isNaN(i)||(e=2*-i));e<0&&C.length>0;)C.pop(),e++;for(;e>0;)C.push(NaN),e--}}e.tooComplexToFollowFunctions=l;const d=[r];g>r.length&&d.push(new Uint8Array(g-r.length)),c>I&&(U(\\\"TT: complementing a missing function tail\\\"),d.push(new Uint8Array([34,45]))),function(A,e){if(e.length>1){let t,i,a=0;for(t=0,i=e.length;t>>0,s=[];for(let e=0;e>>0);const n={ttcTag:e,majorVersion:t,minorVersion:i,numFonts:a,offsetTable:s};switch(t){case 1:return n;case 2:return n.dsigTag=A.getInt32()>>>0,n.dsigLength=A.getInt32()>>>0,n.dsigOffset=A.getInt32()>>>0,n}throw new W(`Invalid TrueType Collection majorVersion: ${t}.`)}(A),s=e.split(\\\"+\\\");let r;for(let o=0;o0||!(t.cMap instanceof hi));if(\\\"OTTO\\\"===c.version&&!e||!C.head||!C.hhea||!C.maxp||!C.post)return B=new ge(C[\\\"CFF \\\"].data),h=new Ra(B,t),ks(t),this.convert(A,h,t);delete C.glyf,delete C.loca,delete C.fpgm,delete C.prep,delete C[\\\"cvt \\\"],this.isOpenType=!0}if(!C.maxp)throw new W(\\\\'Required \\\"maxp\\\" table is not found\\\\');e.pos=(e.start||0)+C.maxp.offset;let Q=e.getInt32();const E=e.getUint16();if(65536!==Q&&20480!==Q){if(6===C.maxp.length)Q=20480;else{if(!(C.maxp.length>=32))throw new W(\\\\'\\\"maxp\\\" table has a wrong version number\\\\');Q=65536}!function(A,e,t){A[e+3]=255&t,A[e+2]=t>>>8,A[e+1]=t>>>16,A[e]=t>>>24}(C.maxp.data,0,Q)}if(t.scaleFactors?.length===E&&l){const{scaleFactors:A}=t,e=Rs(C.head.data[50],C.head.data[51]),i=new Xa({glyfTable:C.glyf.data,isGlyphLocationsLong:e,locaTable:C.loca.data,numGlyphs:E});i.scale(A);const{glyf:a,loca:s,isLocationLong:n}=i.write();C.glyf.data=a,C.loca.data=s,n!==!!e&&(C.head.data[50]=0,C.head.data[51]=n?1:0);const r=C.hmtx.data;for(let e=0;e>8&255,r[t+1]=255&i,Gs(r,t+2,Math.round(A[e]*Ns(r[t+2],r[t+3])))}}let u=E+1,d=!0;u>65535&&(d=!1,u=E,U(\\\"Not enough space in glyfs to duplicate first glyph.\\\"));let f=0,p=0;Q>=65536&&C.maxp.length>=32&&(e.pos+=8,e.getUint16()>2&&(C.maxp.data[14]=0,C.maxp.data[15]=2),e.pos+=4,f=e.getUint16(),e.pos+=4,p=e.getUint16()),C.maxp.data[4]=u>>8,C.maxp.data[5]=255&u;const m=function(A,e,t,i){const a={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};if(A&&I(A,a),e&&I(e,a),A&&function(A,e){if(!A.tooComplexToFollowFunctions)if(A.functionsDefined.length>e)U(\\\"TT: more functions defined than expected\\\"),A.hintsValid=!1;else for(let t=0,i=A.functionsUsed.length;te)return U(\\\"TT: invalid function id: \\\"+t),void(A.hintsValid=!1);if(A.functionsUsed[t]&&!A.functionsDefined[t])return U(\\\"TT: undefined function: \\\"+t),void(A.hintsValid=!1)}}(a,i),t&&1&t.length){const A=new Uint8Array(t.length+1);A.set(t.data),t.data=A}return a.hintsValid}(C.fpgm,C.prep,C[\\\"cvt \\\"],f);if(m||(delete C.fpgm,delete C.prep,delete C[\\\"cvt \\\"]),function(A,e,t,i,a,s){if(!e)return void(t&&(t.data=null));A.pos=(A.start||0)+e.offset,A.pos+=4,A.pos+=2,A.pos+=2,A.pos+=2,A.pos+=2,A.pos+=2,A.pos+=2,A.pos+=2,A.pos+=2,A.pos+=2;const n=A.getUint16();A.pos+=8,A.pos+=2;let r=A.getUint16();0!==n&&(2&Rs(i.data[44],i.data[45])||(e.data[22]=0,e.data[23]=0)),r>a&&(x(`The numOfMetrics (${r}) should not be greater than the numGlyphs (${a}).`),r=a,e.data[34]=(65280&r)>>8,e.data[35]=255&r);const g=a-r-(t.length-4*r>>1);if(g>0){const A=new Uint8Array(t.length+2*g);A.set(t.data),s&&(A[t.length]=t.data[2],A[t.length+1]=t.data[3]),t.data=A}}(e,C.hhea,C.hmtx,C.head,u,d),!C.head)throw new W(\\\\'Required \\\"head\\\" table is not found\\\\');!function(A,e,t){const i=A.data,a=function(A,e,t,i){return(A<<24)+(e<<16)+(t<<8)+i}(i[0],i[1],i[2],i[3]);a>>16!=1&&(x(\\\"Attempting to fix invalid version in head table: \\\"+a),i[0]=0,i[1]=1,i[2]=0,i[3]=0);const s=Rs(i[50],i[51]);if(s<0||s>1){x(\\\"Attempting to fix invalid indexToLocFormat in head table: \\\"+s);const A=e+1;if(t===A<<1)i[50]=0,i[51]=0;else{if(t!==A<<2)throw new W(\\\"Could not fix indexToLocFormat: \\\"+s);i[50]=0,i[51]=1}}}(C.head,E,l?C.loca.length:0);let y=Object.create(null);if(l){const A=Rs(C.head.data[50],C.head.data[51]),e=function(A,e,t,i,a,s,n){let g,o,I;i?(g=4,o=function(A,e){return A[e]<<24|A[e+1]<<16|A[e+2]<<8|A[e+3]},I=function(A,e,t){A[e]=t>>>24&255,A[e+1]=t>>16&255,A[e+2]=t>>8&255,A[e+3]=255&t}):(g=2,o=function(A,e){return A[e]<<9|A[e+1]<<1},I=function(A,e,t){A[e]=t>>9&255,A[e+1]=t>>1&255});const c=s?t+1:t,C=g*(1+c),h=new Uint8Array(C);h.set(A.data.subarray(0,C)),A.data=h;const B=e.data,l=B.length,Q=new Uint8Array(l);let E,u;const d=[];for(E=0,u=0;El&&(A=l),d.push({index:E,offset:A,endOffset:0})}for(d.sort(((A,e)=>A.offset-e.offset)),E=0;EA.index-e.index)),E=0;En&&(n=A.sizeOfInstructions),m+=e,I(h,u,m)}if(0===m){const A=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(E=0,u=g;Et+m?e.data=Q.subarray(0,t+m):(e.data=new Uint8Array(t+m),e.data.set(Q.subarray(0,m))),e.data.set(Q.subarray(0,t),m),I(A.data,h.length-g,m+t)}else e.data=Q.subarray(0,m);return{missingGlyphs:p,maxSizeOfInstructions:n}}(C.loca,C.glyf,E,A,m,d,p);y=e.missingGlyphs,Q>=65536&&C.maxp.length>=32&&(C.maxp.data[26]=e.maxSizeOfInstructions>>8,C.maxp.data[27]=255&e.maxSizeOfInstructions)}if(!C.hhea)throw new W(\\\\'Required \\\"hhea\\\" table is not found\\\\');0===C.hhea.data[10]&&0===C.hhea.data[11]&&(C.hhea.data[10]=255,C.hhea.data[11]=255);const w={unitsPerEm:Rs(C.head.data[18],C.head.data[19]),yMax:Ns(C.head.data[42],C.head.data[43]),yMin:Ns(C.head.data[38],C.head.data[39]),ascent:Ns(C.hhea.data[4],C.hhea.data[5]),descent:Ns(C.hhea.data[6],C.hhea.data[7]),lineGap:Ns(C.hhea.data[8],C.hhea.data[9])};this.ascent=w.ascent/w.unitsPerEm,this.descent=w.descent/w.unitsPerEm,this.lineGap=w.lineGap/w.unitsPerEm,this.cssFontInfo?.lineHeight?(this.lineHeight=this.cssFontInfo.metrics.lineHeight,this.lineGap=this.cssFontInfo.metrics.lineGap):this.lineHeight=this.ascent-this.descent+this.lineGap,C.post&&function(A,t,i){const a=(e.start||0)+A.offset;e.pos=a;const s=a+A.length,n=e.getInt32();e.skip(28);let r,g,o=!0;switch(n){case 65536:r=ha;break;case 131072:const A=e.getUint16();if(A!==i){o=!1;break}const a=[];for(g=0;g=32768){o=!1;break}a.push(A)}if(!o)break;const I=[],c=[];for(;e.pos65535)throw new W(\\\"Max size of CID is 65,535\\\");let a=-1;e?a=i:void 0!==A[i]&&(a=A[i]),a>=0&&a>>0;let I=!1;if(r?.platformId!==a||r?.encodingId!==s){if(0!==a||0!==s&&1!==s&&3!==s)if(1===a&&0===s)I=!0;else if(3!==a||1!==s||!i&&r){if(t&&3===a&&0===s){I=!0;let t=!0;if(A>3;A.push(i),t=Math.max(i,t)}const i=[];for(let A=0;A<=t;A++)i.push({firstCode:e.getUint16(),entryCount:e.getUint16(),idDelta:Ns(e.getByte(),e.getByte()),idRangePos:e.pos+e.getUint16()});for(let t=0;t<256;t++)if(0===A[t])e.pos=i[0].idRangePos+2*t,h=e.getUint16(),c.push({charCode:t,glyphId:h});else{const a=i[A[t]];for(C=0;C>1;e.skip(6);const t=[];let i;for(i=0;i>1)-(A-i),a.offsetIndex=n,r=Math.max(r,n+a.end-a.start+1)):a.offsetIndex=-1}const g=[];for(C=0;C>>0;for(C=0;C>>0,t=e.getInt32()>>>0;let i=e.getInt32()>>>0;for(let e=A;e<=t;e++)c.push({charCode:e,glyphId:i++})}}}c.sort((function(A,e){return A.charCode-e.charCode}));for(let A=1;A=61440&&e<=61695&&(e&=255),D[e]=A.glyphId}else for(const A of s)D[A.charCode]=A.glyphId;if(t.glyphNames&&(n.length||this.differences.length))for(let A=0;A<256;++A){if(!r&&void 0!==D[A])continue;const e=this.differences[A]||n[A];if(!e)continue;const i=t.glyphNames.indexOf(e);i>0&&b(i)&&(D[A]=i)}}0===D.length&&(D[0]=0);let k=u-1;if(d||(k=0),!t.cssFontInfo){const A=Ks(D,b,k,this.toUnicode);this.toFontChar=A.toFontChar,C.cmap={tag:\\\"cmap\\\",data:qs(A.charCodeToGlyphId,A.toUnicodeExtraMap,u)},C[\\\"OS/2\\\"]&&function(A,e){e.pos=(e.start||0)+A.offset;const t=e.getUint16();e.skip(60);const i=e.getUint16();return!(t<4&&768&i)&&(!(e.getUint16()>e.getUint16())&&(e.skip(6),0!==e.getUint16()&&(A.data[8]=A.data[9]=0,!0)))}(C[\\\"OS/2\\\"],e)||(C[\\\"OS/2\\\"]={tag:\\\"OS/2\\\",data:Ts(t,A.charCodeToGlyphId,w)})}if(!l)try{B=new ge(C[\\\"CFF \\\"].data),h=new qi(B,t,Ca).parse(),h.duplicateFirstGlyph();const A=new ia(h);C[\\\"CFF \\\"].data=A.compile()}catch{U(\\\"Failed to compile font \\\"+t.loadedName)}if(C.name){const[e,i]=g(C.name);C.name.data=Os(A,e),this.psName=e[0][6]||null,t.composite||function(A,e,t){if(A.isInternalFont)return;if(A.hasIncludedToUnicodeMap)return;if(A.hasEncoding)return;if(A.toUnicode instanceof Sa)return;if(!e)return;if(0===t.length)return;if(A.defaultEncoding===Mi)return;for(const A of t)if(!Ys(A))return;const i=Mi,a=[],s=aa();for(const A in i){const e=i[A];if(\\\"\\\"===e)continue;const t=s[e];void 0!==t&&(a[A]=String.fromCharCode(t))}a.length>0&&A.toUnicode.amend(a)}(t,this.isSymbolicFont,i)}else C.name={tag:\\\"name\\\",data:Os(this.name)};const F=new as(c.version);for(const A in C)F.addTable(A,C[A].data);return F.toArray()}convert(A,e,t){t.fixedPitch=!1,t.builtInEncoding&&function(A,e){if(A.isInternalFont)return;if(A.hasIncludedToUnicodeMap)return;if(e===A.defaultEncoding)return;if(A.toUnicode instanceof Sa)return;const t=[],i=aa();for(const a in e){if(A.hasEncoding&&(A.baseEncodingName||void 0!==A.differences[a]))continue;const s=ra(e[a],i);-1!==s&&(t[a]=String.fromCharCode(s))}t.length>0&&A.toUnicode.amend(t)}(t,t.builtInEncoding);let i=1;e instanceof Ra&&(i=e.numGlyphs-1);const a=e.getGlyphMapping(t);let s=null,r=a,g=null;t.cssFontInfo||(s=Ks(a,e.hasGlyphId.bind(e),i,this.toUnicode),this.toFontChar=s.toFontChar,r=s.charCodeToGlyphId,g=s.toUnicodeExtraMap);const o=e.numGlyphs;function I(A,e){let t=null;for(const i in A)e===A[i]&&(t||=[]).push(0|i);return t}function c(A,e){for(const t in A)if(e===A[t])return 0|t;return s.charCodeToGlyphId[s.nextAvailableFontCharCode]=e,s.nextAvailableFontCharCode++}const C=e.seacs;if(s&&C?.length){const A=t.fontMatrix||n,i=e.getCharset(),r=Object.create(null);for(let e in C){e|=0;const t=C[e],n=Ui[t[2]],g=Ui[t[3]],o=i.indexOf(n),h=i.indexOf(g);if(o<0||h<0)continue;const B={x:t[0]*A[0]+t[1]*A[2]+A[4],y:t[0]*A[1]+t[1]*A[3]+A[5]},l=I(a,e);if(l)for(const A of l){const e=s.charCodeToGlyphId,t=c(e,o),i=c(e,h);r[A]={baseFontCharCode:t,accentFontCharCode:i,accentOffset:B}}}t.seacMap=r}const h=t.fontMatrix?1/Math.max(...t.fontMatrix.slice(0,4).map(Math.abs)):1e3,B=new as(\\\"OTTO\\\");return B.addTable(\\\"CFF \\\",e.data),B.addTable(\\\"OS/2\\\",Ts(t,r)),B.addTable(\\\"cmap\\\",qs(r,g,o)),B.addTable(\\\"head\\\",\\\"\\\\\\\\0\\u0001\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\u0010\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0_\\u000f<õ\\\\\\\\0\\\\\\\\0\\\"+Us(h)+\\\"\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0ž\\\\\\\\v~\\\\'\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0ž\\\\\\\\v~\\\\'\\\\\\\\0\\\\\\\\0\\\"+Us(t.descent)+\\\"\\u000fÿ\\\"+Us(t.ascent)+xs(t.italicAngle?2:0)+\\\"\\\\\\\\0\\u0011\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\"),B.addTable(\\\"hhea\\\",\\\"\\\\\\\\0\\u0001\\\\\\\\0\\\\\\\\0\\\"+Us(t.ascent)+Us(t.descent)+\\\"\\\\\\\\0\\\\\\\\0ÿÿ\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\"+Us(t.capHeight)+Us(Math.tan(t.italicAngle)*t.xHeight)+\\\"\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\"+xs(o)),B.addTable(\\\"hmtx\\\",function(){const A=e.charstrings,t=e.cff?e.cff.widths:null;let i=\\\"\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\";for(let e=1,a=o;e=65520&&A<=65535?0:A>=62976&&A<=63743?na()[A]||A:173===A?45:A}(t)}this.isType3Font&&(a=t);let I=null;if(this.seacMap?.[A]){o=!0;const e=this.seacMap[A];t=e.baseFontCharCode,I={fontChar:String.fromCodePoint(e.accentFontCharCode),offset:e.accentOffset}}let c=\\\"\\\";if(\\\"number\\\"==typeof t&&(t<=1114111?c=String.fromCodePoint(t):U(`charToGlyph - invalid fontCharCode: ${t}`)),this.missingFile&&this.vertical&&1===c.length){const A=Ea()[c.charCodeAt(0)];A&&(c=g=String.fromCharCode(A))}return s=new Ss(A,c,g,I,i,r,a,e,o),this._glyphCache[A]=s}charsToGlyphs(A){let e=this._charsCache[A];if(e)return e;if(e=[],this.cMap){const t=Object.create(null),i=A.length;let a=0;for(;ae.length%2==1,a=this.toUnicode instanceof Sa?A=>this.toUnicode.charCodeOf(A):A=>this.toUnicode.charCodeOf(String.fromCodePoint(A));for(let s=0,n=A.length;s55295&&(n<57344||n>65533)&&s++,this.toUnicode){const A=a(n);if(-1!==A){i()&&(e.push(t.join(\\\"\\\")),t.length=0);for(let e=(this.cMap?this.cMap.getCharCodeLength(A):1)-1;e>=0;e--)t.push(String.fromCharCode(A>>8*e&255));continue}}i()||(e.push(t.join(\\\"\\\")),t.length=0),t.push(String.fromCodePoint(n))}return e.push(t.join(\\\"\\\")),e}}class js{constructor(A){this.error=A,this.loadedName=\\\"g_font_error\\\",this.missingFile=!0}charsToGlyphs(){return[]}encodeString(A){return[A]}exportData(A=!1){return{error:this.error}}}class Xs{static SMALL_NUMBER=1e-6;constructor(){this.constructor===Xs&&M(\\\"Cannot initialize BaseShading.\\\")}getIR(){M(\\\"Abstract method `getIR` called.\\\")}}class Vs extends Xs{constructor(A,e,t,i,a){super(),this.shadingType=A.get(\\\"ShadingType\\\");let s=0;if(2===this.shadingType?s=4:3===this.shadingType&&(s=6),this.coordsArr=A.getArray(\\\"Coords\\\"),!vA(this.coordsArr,s))throw new W(\\\"RadialAxialShading: Invalid /Coords array.\\\");const n=he.parse({cs:A.getRaw(\\\"CS\\\")||A.getRaw(\\\"ColorSpace\\\"),xref:e,resources:t,pdfFunctionFactory:i,localColorSpaceCache:a});this.bbox=TA(A.getArray(\\\"BBox\\\"),null);let r=0,g=1;const o=A.getArray(\\\"Domain\\\");vA(o,2)&&([r,g]=o);let I=!1,c=!1;const C=A.getArray(\\\"Extend\\\");if(function(A,e){return Array.isArray(A)&&(null===e||A.length===e)&&A.every((A=>\\\"boolean\\\"==typeof A))}(C,2)&&([I,c]=C),!(3!==this.shadingType||I&&c)){const[A,e,t,i,a,s]=this.coordsArr,n=Math.hypot(A-i,e-a);t<=s+n&&s<=t+n&&U(\\\"Unsupported radial gradient.\\\")}this.extendStart=I,this.extendEnd=c;const h=A.getRaw(\\\"Function\\\"),B=i.createFromArray(h),l=(g-r)/840,Q=this.colorStops=[];if(r>=g||l<=0)return void x(\\\"Bad shading domain.\\\");const E=new Float32Array(n.numComps),u=new Float32Array(1);let d,f=0;u[0]=r,B(u,0,E,0);let p=n.getRgb(E,0);const m=$.makeHexColor(p[0],p[1],p[2]);Q.push([0,m]);let y=1;u[0]=r+l,B(u,0,E,0);let w=n.getRgb(E,0),D=w[0]-p[0]+1,b=w[1]-p[1]+1,k=w[2]-p[2]+1,F=w[0]-p[0]-1,S=w[1]-p[1]-1,R=w[2]-p[2]-1;for(let A=2;A<840;A++){u[0]=r+A*l,B(u,0,E,0),d=n.getRgb(E,0);const e=A-f;if(D=Math.min(D,(d[0]-p[0]+1)/e),b=Math.min(b,(d[1]-p[1]+1)/e),k=Math.min(k,(d[2]-p[2]+1)/e),F=Math.max(F,(d[0]-p[0]-1)/e),S=Math.max(S,(d[1]-p[1]-1)/e),R=Math.max(R,(d[2]-p[2]-1)/e),!(F<=D&&S<=b&&R<=k)){const A=$.makeHexColor(w[0],w[1],w[2]);Q.push([y/840,A]),D=d[0]-w[0]+1,b=d[1]-w[1]+1,k=d[2]-w[2]+1,F=d[0]-w[0]-1,S=d[1]-w[1]-1,R=d[2]-w[2]-1,f=y,p=w}y=A,w=d}const G=$.makeHexColor(w[0],w[1],w[2]);Q.push([1,G]);let N=\\\"transparent\\\";A.has(\\\"Background\\\")&&(d=n.getRgb(A.get(\\\"Background\\\"),0),N=$.makeHexColor(d[0],d[1],d[2])),I||(Q.unshift([0,N]),Q[1][0]+=Xs.SMALL_NUMBER),c||(Q.at(-1)[0]-=Xs.SMALL_NUMBER,Q.push([1,N])),this.colorStops=Q}getIR(){const{coordsArr:A,shadingType:e}=this;let t,i,a,s,n;return 2===e?(i=[A[0],A[1]],a=[A[2],A[3]],s=null,n=null,t=\\\"axial\\\"):3===e?(i=[A[0],A[1]],a=[A[3],A[4]],s=A[2],n=A[5],t=\\\"radial\\\"):M(`getPattern type unknown: ${e}`),[\\\"RadialAxial\\\",t,this.bbox,this.colorStops,i,a,s,n]}}class zs{constructor(A,e){this.stream=A,this.context=e,this.buffer=0,this.bufferLength=0;const t=e.numComps;this.tmpCompsBuf=new Float32Array(t);const i=e.colorSpace.numComps;this.tmpCsCompsBuf=e.colorFn?new Float32Array(i):this.tmpCompsBuf}get hasData(){if(this.stream.end)return this.stream.pos0)return!0;const A=this.stream.getByte();return!(A<0)&&(this.buffer=A,this.bufferLength=8,!0)}readBits(A){let e=this.buffer,t=this.bufferLength;if(32===A){if(0===t)return(this.stream.getByte()<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte())>>>0;e=e<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte();const A=this.stream.getByte();return this.buffer=A&(1<>t)>>>0}if(8===A&&0===t)return this.stream.getByte();for(;t>t}align(){this.buffer=0,this.bufferLength=0}readFlag(){return this.readBits(this.context.bitsPerFlag)}readCoordinate(){const A=this.context.bitsPerCoordinate,e=this.readBits(A),t=this.readBits(A),i=this.context.decode,a=A<32?1/((1<s?s:A,e=e>n?n:e,t=tA*a[e])):t;let n,r=-2;const g=[];for(const[A,e]of i.map(((A,e)=>[A,e])).sort((([A],[e])=>A-e)))-1!==A&&(A===r+1?(n.push(s[e]),r+=1):(r=A,n=[s[e]],g.push(A,n)));return g}(A),t=new QA(null);t.set(\\\"BaseFont\\\",hA.get(A)),t.set(\\\"Type\\\",hA.get(\\\"Font\\\")),t.set(\\\"Subtype\\\",hA.get(\\\"CIDFontType2\\\")),t.set(\\\"Encoding\\\",hA.get(\\\"Identity-H\\\")),t.set(\\\"CIDToGIDMap\\\",hA.get(\\\"Identity\\\")),t.set(\\\"W\\\",e),t.set(\\\"FirstChar\\\",e[0]),t.set(\\\"LastChar\\\",e.at(-2)+e.at(-1).length-1);const i=new QA(null);t.set(\\\"FontDescriptor\\\",i);const a=new QA(null);return a.set(\\\"Ordering\\\",\\\"Identity\\\"),a.set(\\\"Registry\\\",\\\"Adobe\\\"),a.set(\\\"Supplement\\\",0),t.set(\\\"CIDSystemInfo\\\",a),t}class Zn{constructor(A){this.lexer=A,this.operators=[],this.token=null,this.prev=null}nextToken(){this.prev=this.token,this.token=this.lexer.getToken()}accept(A){return this.token.type===A&&(this.nextToken(),!0)}expect(A){if(this.accept(A))return!0;throw new W(`Unexpected symbol: found ${this.token.type} expected ${A}.`)}parse(){return this.nextToken(),this.expect(jn.LBRACE),this.parseBlock(),this.expect(jn.RBRACE),this.operators}parseBlock(){for(;;)if(this.accept(jn.NUMBER))this.operators.push(this.prev.value);else if(this.accept(jn.OPERATOR))this.operators.push(this.prev.value);else{if(!this.accept(jn.LBRACE))return;this.parseCondition()}}parseCondition(){const A=this.operators.length;if(this.operators.push(null,null),this.parseBlock(),this.expect(jn.RBRACE),this.accept(jn.IF))this.operators[A]=this.operators.length,this.operators[A+1]=\\\"jz\\\";else{if(!this.accept(jn.LBRACE))throw new W(\\\"PS Function: error parsing conditional.\\\");{const e=this.operators.length;this.operators.push(null,null);const t=this.operators.length;this.parseBlock(),this.expect(jn.RBRACE),this.expect(jn.IFELSE),this.operators[e]=this.operators.length,this.operators[e+1]=\\\"j\\\",this.operators[A]=t,this.operators[A+1]=\\\"jz\\\"}}}}const jn={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5};class Xn{static get opCache(){return H(this,\\\"opCache\\\",Object.create(null))}constructor(A,e){this.type=A,this.value=e}static getOperator(A){return Xn.opCache[A]||=new Xn(jn.OPERATOR,A)}static get LBRACE(){return H(this,\\\"LBRACE\\\",new Xn(jn.LBRACE,\\\"{\\\"))}static get RBRACE(){return H(this,\\\"RBRACE\\\",new Xn(jn.RBRACE,\\\"}\\\"))}static get IF(){return H(this,\\\"IF\\\",new Xn(jn.IF,\\\"IF\\\"))}static get IFELSE(){return H(this,\\\"IFELSE\\\",new Xn(jn.IFELSE,\\\"IFELSE\\\"))}}class Vn{constructor(A){this.stream=A,this.nextChar(),this.strBuf=[]}nextChar(){return this.currentChar=this.stream.getByte()}getToken(){let A=!1,e=this.currentChar;for(;;){if(e<0)return oA;if(A)10!==e&&13!==e||(A=!1);else if(37===e)A=!0;else if(!YA(e))break;e=this.nextChar()}switch(0|e){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new Xn(jn.NUMBER,this.getNumber());case 123:return this.nextChar(),Xn.LBRACE;case 125:return this.nextChar(),Xn.RBRACE}const t=this.strBuf;for(t.length=0,t[0]=String.fromCharCode(e);(e=this.nextChar())>=0&&(e>=65&&e<=90||e>=97&&e<=122);)t.push(String.fromCharCode(e));const i=t.join(\\\"\\\");switch(i.toLowerCase()){case\\\"if\\\":return Xn.IF;case\\\"ifelse\\\":return Xn.IFELSE;default:return Xn.getOperator(i)}}getNumber(){let A=this.currentChar;const e=this.strBuf;for(e.length=0,e[0]=String.fromCharCode(A);(A=this.nextChar())>=0&&(A>=48&&A<=57||45===A||46===A);)e.push(String.fromCharCode(A));const t=parseFloat(e.join(\\\"\\\"));if(isNaN(t))throw new W(`Invalid floating point number: ${t}`);return t}}class zn{constructor(A){this.constructor===zn&&M(\\\"Cannot initialize BaseLocalCache.\\\"),this._onlyRefs=!0===A?.onlyRefs,this._onlyRefs||(this._nameRefMap=new Map,this._imageMap=new Map),this._imageCache=new dA}getByName(A){this._onlyRefs&&M(\\\"Should not call `getByName` method.\\\");const e=this._nameRefMap.get(A);return e?this.getByRef(e):this._imageMap.get(A)||null}getByRef(A){return this._imageCache.get(A)||null}set(A,e,t){M(\\\"Abstract method `set` called.\\\")}}class _n extends zn{set(A,e=null,t){if(\\\"string\\\"!=typeof A)throw new Error(\\\\'LocalImageCache.set - expected \\\"name\\\" argument.\\\\');if(e){if(this._imageCache.has(e))return;this._nameRefMap.set(A,e),this._imageCache.put(e,t)}else this._imageMap.has(A)||this._imageMap.set(A,t)}}class $n extends zn{set(A=null,e=null,t){if(\\\"string\\\"!=typeof A&&!e)throw new Error(\\\\'LocalColorSpaceCache.set - expected \\\"name\\\" and/or \\\"ref\\\" argument.\\\\');if(e){if(this._imageCache.has(e))return;null!==A&&this._nameRefMap.set(A,e),this._imageCache.put(e,t)}else this._imageMap.has(A)||this._imageMap.set(A,t)}}class Ar extends zn{constructor(A){super({onlyRefs:!0})}set(A=null,e,t){if(!e)throw new Error(\\\\'LocalFunctionCache.set - expected \\\"ref\\\" argument.\\\\');this._imageCache.has(e)||this._imageCache.put(e,t)}}class er extends zn{set(A,e=null,t){if(\\\"string\\\"!=typeof A)throw new Error(\\\\'LocalGStateCache.set - expected \\\"name\\\" argument.\\\\');if(e){if(this._imageCache.has(e))return;this._nameRefMap.set(A,e),this._imageCache.put(e,t)}else this._imageMap.has(A)||this._imageMap.set(A,t)}}class tr extends zn{constructor(A){super({onlyRefs:!0})}set(A=null,e,t){if(!e)throw new Error(\\\\'LocalTilingPatternCache.set - expected \\\"ref\\\" argument.\\\\');this._imageCache.has(e)||this._imageCache.put(e,t)}}class ir extends zn{constructor(A){super({onlyRefs:!0})}set(A=null,e,t){if(!e)throw new Error(\\\\'RegionalImageCache.set - expected \\\"ref\\\" argument.\\\\');this._imageCache.has(e)||this._imageCache.put(e,t)}}class ar{static NUM_PAGES_THRESHOLD=2;static MIN_IMAGES_TO_CACHE=10;static MAX_BYTE_SIZE=5e7;#D=new uA;constructor(){this._refCache=new dA,this._imageCache=new dA}get#b(){let A=0;for(const e of this._imageCache)A+=e.byteSize;return A}get#k(){return!(this._imageCache.size+A)):null}class rr{static getSampleArray(A,e,t,i){let a,s,n=1;for(a=0,s=A.length;a>g)*I,o&=(1<t?A=t:A0&&(C=s[c-1]);let h=i[1];c>1,o=a.length>>1,I=new Ir(r),c=Object.create(null);let C=8192;const h=new Float32Array(o);return function(A,e,t,i){let a,n,r=\\\"\\\";const B=h;for(a=0;aA&&(n=A)),Q[a]=n}C>0&&(C--,c[r]=Q),t.set(Q,i)}}}function gr(A){let e;if(A instanceof QA)e=A;else{if(!(A instanceof wA))return!1;e=A.dict}return e.has(\\\"FunctionType\\\")}class or{static MAX_STACK_SIZE=100;constructor(A){this.stack=A?Array.from(A):[]}push(A){if(this.stack.length>=or.MAX_STACK_SIZE)throw new Error(\\\"PostScript function stack overflow.\\\");this.stack.push(A)}pop(){if(this.stack.length<=0)throw new Error(\\\"PostScript function stack underflow.\\\");return this.stack.pop()}copy(A){if(this.stack.length+A>=or.MAX_STACK_SIZE)throw new Error(\\\"PostScript function stack overflow.\\\");const e=this.stack;for(let t=e.length-A,i=A-1;i>=0;i--,t++)e.push(e[t])}index(A){this.push(this.stack[this.stack.length-A-1])}roll(A,e){const t=this.stack,i=t.length-A,a=t.length-1,s=i+(e-Math.floor(e/A)*A);for(let A=i,e=a;A0?e.push(n<>r);break;case\\\"ceiling\\\":n=e.pop(),e.push(Math.ceil(n));break;case\\\"copy\\\":n=e.pop(),e.copy(n);break;case\\\"cos\\\":n=e.pop(),e.push(Math.cos(n%360/180*Math.PI));break;case\\\"cvi\\\":n=0|e.pop(),e.push(n);break;case\\\"cvr\\\":break;case\\\"div\\\":r=e.pop(),n=e.pop(),e.push(n/r);break;case\\\"dup\\\":e.copy(1);break;case\\\"eq\\\":r=e.pop(),n=e.pop(),e.push(n===r);break;case\\\"exch\\\":e.roll(2,1);break;case\\\"exp\\\":r=e.pop(),n=e.pop(),e.push(n**r);break;case\\\"false\\\":e.push(!1);break;case\\\"floor\\\":n=e.pop(),e.push(Math.floor(n));break;case\\\"ge\\\":r=e.pop(),n=e.pop(),e.push(n>=r);break;case\\\"gt\\\":r=e.pop(),n=e.pop(),e.push(n>r);break;case\\\"idiv\\\":r=e.pop(),n=e.pop(),e.push(n/r|0);break;case\\\"index\\\":n=e.pop(),e.index(n);break;case\\\"le\\\":r=e.pop(),n=e.pop(),e.push(n<=r);break;case\\\"ln\\\":n=e.pop(),e.push(Math.log(n));break;case\\\"log\\\":n=e.pop(),e.push(Math.log10(n));break;case\\\"lt\\\":r=e.pop(),n=e.pop(),e.push(n=e?new hr(e):A.max<=e?A:new lr(A,e)}class yr{compile(A,e,t){const i=[],a=[],s=e.length>>1,n=t.length>>1;let r,g,o,I,c,C,h,B,l=0;for(let A=0;Ae.min&&(r.unshift(\\\"Math.max(\\\",s,\\\", \\\"),r.push(\\\")\\\")),n4?(i=!0,e=0):(i=!1,e=1));const g=[];for(s=0;s=0&&\\\"ET\\\"===xr[A];--A)xr[A]=\\\"EN\\\";for(let A=s+1;A0&&(e=xr[s-1]);let t=c;A+1B&&br(B)&&(Q=B);for(B=l;B>=Q;--B){let A=-1;for(s=0,n=g.length;s=0&&(Rr(Nr,A,s),A=-1):A<0&&(A=s);A>=0&&Rr(Nr,A,g.length)}for(s=0,n=Nr.length;s\\\"!==A||(Nr[s]=\\\"\\\")}return Gr(Nr.join(\\\"\\\"),i)}const Mr={style:\\\"normal\\\",weight:\\\"normal\\\"},Lr={style:\\\"normal\\\",weight:\\\"bold\\\"},Jr={style:\\\"italic\\\",weight:\\\"normal\\\"},Hr={style:\\\"italic\\\",weight:\\\"bold\\\"},Yr=new Map([[\\\"Times-Roman\\\",{local:[\\\"Times New Roman\\\",\\\"Times-Roman\\\",\\\"Times\\\",\\\"Liberation Serif\\\",\\\"Nimbus Roman\\\",\\\"Nimbus Roman L\\\",\\\"Tinos\\\",\\\"Thorndale\\\",\\\"TeX Gyre Termes\\\",\\\"FreeSerif\\\",\\\"Linux Libertine O\\\",\\\"Libertinus Serif\\\",\\\"DejaVu Serif\\\",\\\"Bitstream Vera Serif\\\",\\\"Ubuntu\\\"],style:Mr,ultimate:\\\"serif\\\"}],[\\\"Times-Bold\\\",{alias:\\\"Times-Roman\\\",style:Lr,ultimate:\\\"serif\\\"}],[\\\"Times-Italic\\\",{alias:\\\"Times-Roman\\\",style:Jr,ultimate:\\\"serif\\\"}],[\\\"Times-BoldItalic\\\",{alias:\\\"Times-Roman\\\",style:Hr,ultimate:\\\"serif\\\"}],[\\\"Helvetica\\\",{local:[\\\"Helvetica\\\",\\\"Helvetica Neue\\\",\\\"Arial\\\",\\\"Arial Nova\\\",\\\"Liberation Sans\\\",\\\"Arimo\\\",\\\"Nimbus Sans\\\",\\\"Nimbus Sans L\\\",\\\"A030\\\",\\\"TeX Gyre Heros\\\",\\\"FreeSans\\\",\\\"DejaVu Sans\\\",\\\"Albany\\\",\\\"Bitstream Vera Sans\\\",\\\"Arial Unicode MS\\\",\\\"Microsoft Sans Serif\\\",\\\"Apple Symbols\\\",\\\"Cantarell\\\"],path:\\\"LiberationSans-Regular.ttf\\\",style:Mr,ultimate:\\\"sans-serif\\\"}],[\\\"Helvetica-Bold\\\",{alias:\\\"Helvetica\\\",path:\\\"LiberationSans-Bold.ttf\\\",style:Lr,ultimate:\\\"sans-serif\\\"}],[\\\"Helvetica-Oblique\\\",{alias:\\\"Helvetica\\\",path:\\\"LiberationSans-Italic.ttf\\\",style:Jr,ultimate:\\\"sans-serif\\\"}],[\\\"Helvetica-BoldOblique\\\",{alias:\\\"Helvetica\\\",path:\\\"LiberationSans-BoldItalic.ttf\\\",style:Hr,ultimate:\\\"sans-serif\\\"}],[\\\"Courier\\\",{local:[\\\"Courier\\\",\\\"Courier New\\\",\\\"Liberation Mono\\\",\\\"Nimbus Mono\\\",\\\"Nimbus Mono L\\\",\\\"Cousine\\\",\\\"Cumberland\\\",\\\"TeX Gyre Cursor\\\",\\\"FreeMono\\\",\\\"Linux Libertine Mono O\\\",\\\"Libertinus Mono\\\"],style:Mr,ultimate:\\\"monospace\\\"}],[\\\"Courier-Bold\\\",{alias:\\\"Courier\\\",style:Lr,ultimate:\\\"monospace\\\"}],[\\\"Courier-Oblique\\\",{alias:\\\"Courier\\\",style:Jr,ultimate:\\\"monospace\\\"}],[\\\"Courier-BoldOblique\\\",{alias:\\\"Courier\\\",style:Hr,ultimate:\\\"monospace\\\"}],[\\\"ArialBlack\\\",{local:[\\\"Arial Black\\\"],style:{style:\\\"normal\\\",weight:\\\"900\\\"},fallback:\\\"Helvetica-Bold\\\"}],[\\\"ArialBlack-Bold\\\",{alias:\\\"ArialBlack\\\"}],[\\\"ArialBlack-Italic\\\",{alias:\\\"ArialBlack\\\",style:{style:\\\"italic\\\",weight:\\\"900\\\"},fallback:\\\"Helvetica-BoldOblique\\\"}],[\\\"ArialBlack-BoldItalic\\\",{alias:\\\"ArialBlack-Italic\\\"}],[\\\"ArialNarrow\\\",{local:[\\\"Arial Narrow\\\",\\\"Liberation Sans Narrow\\\",\\\"Helvetica Condensed\\\",\\\"Nimbus Sans Narrow\\\",\\\"TeX Gyre Heros Cn\\\"],style:Mr,fallback:\\\"Helvetica\\\"}],[\\\"ArialNarrow-Bold\\\",{alias:\\\"ArialNarrow\\\",style:Lr,fallback:\\\"Helvetica-Bold\\\"}],[\\\"ArialNarrow-Italic\\\",{alias:\\\"ArialNarrow\\\",style:Jr,fallback:\\\"Helvetica-Oblique\\\"}],[\\\"ArialNarrow-BoldItalic\\\",{alias:\\\"ArialNarrow\\\",style:Hr,fallback:\\\"Helvetica-BoldOblique\\\"}],[\\\"Calibri\\\",{local:[\\\"Calibri\\\",\\\"Carlito\\\"],style:Mr,fallback:\\\"Helvetica\\\"}],[\\\"Calibri-Bold\\\",{alias:\\\"Calibri\\\",style:Lr,fallback:\\\"Helvetica-Bold\\\"}],[\\\"Calibri-Italic\\\",{alias:\\\"Calibri\\\",style:Jr,fallback:\\\"Helvetica-Oblique\\\"}],[\\\"Calibri-BoldItalic\\\",{alias:\\\"Calibri\\\",style:Hr,fallback:\\\"Helvetica-BoldOblique\\\"}],[\\\"Wingdings\\\",{local:[\\\"Wingdings\\\",\\\"URW Dingbats\\\"],style:Mr}],[\\\"Wingdings-Regular\\\",{alias:\\\"Wingdings\\\"}],[\\\"Wingdings-Bold\\\",{alias:\\\"Wingdings\\\"}]]),vr=new Map([[\\\"Arial-Black\\\",\\\"ArialBlack\\\"]]);function Kr(A){const e=new Set([\\\"thin\\\",\\\"extralight\\\",\\\"ultralight\\\",\\\"demilight\\\",\\\"semilight\\\",\\\"light\\\",\\\"book\\\",\\\"regular\\\",\\\"normal\\\",\\\"medium\\\",\\\"demibold\\\",\\\"semibold\\\",\\\"bold\\\",\\\"extrabold\\\",\\\"ultrabold\\\",\\\"black\\\",\\\"heavy\\\",\\\"extrablack\\\",\\\"ultrablack\\\",\\\"roman\\\",\\\"italic\\\",\\\"oblique\\\",\\\"ultracondensed\\\",\\\"extracondensed\\\",\\\"condensed\\\",\\\"semicondensed\\\",\\\"normal\\\",\\\"semiexpanded\\\",\\\"expanded\\\",\\\"extraexpanded\\\",\\\"ultraexpanded\\\",\\\"bolditalic\\\"]);return A.split(/[- ,+]+/g).filter((A=>!e.has(A.toLowerCase()))).join(\\\" \\\")}function qr({alias:A,local:e,path:t,fallback:i,style:a,ultimate:s},n,r,g=!0,o=!0,I=\\\"\\\"){const c={style:null,ultimate:null};if(e){const A=I?` ${I}`:\\\"\\\";for(const t of e)n.push(`local(${t}${A})`)}if(A){const e=Yr.get(A),s=I||function(A){switch(A){case Lr:return\\\"Bold\\\";case Jr:return\\\"Italic\\\";case Hr:return\\\"Bold Italic\\\";default:if(\\\"bold\\\"===A?.weight)return\\\"Bold\\\";if(\\\"italic\\\"===A?.style)return\\\"Italic\\\"}return\\\"\\\"}(a);Object.assign(c,qr(e,n,r,g&&!i,o&&!t,s))}if(a&&(c.style=a),s&&(c.ultimate=s),g&&i){const A=Yr.get(i),{ultimate:e}=qr(A,n,r,g,o&&!t,I);c.ultimate||=e}return o&&t&&r&&n.push(`url(${r}${t})`),c}function Tr(A,e,t,i,a,s){if(i.startsWith(\\\"InvalidPDFjsFont_\\\"))return null;\\\"TrueType\\\"!==s&&\\\"Type1\\\"!==s||!/^[A-Z]{6}\\\\\\\\+/.test(i)||(i=i.slice(7));const n=i=Qa(i);let r=A.get(n);if(r)return r;let g=Yr.get(i);if(!g)for(const[A,e]of vr)if(i.startsWith(A)){i=`${e}${i.substring(A.length)}`,g=Yr.get(i);break}let o=!1;g||(g=Yr.get(a),o=!0);const I=`${e.getDocId()}_s${e.createFontId()}`;if(!g){if(!_A(i))return U(`Cannot substitute the font because of its name: ${i}`),A.set(n,null),null;const e=/bold/gi.test(i),t=/oblique|italic/gi.test(i),a=e&&t&&Hr||e&&Lr||t&&Jr||Mr;return r={css:`\\\"${Kr(i)}\\\",${I}`,guessFallback:!0,loadedName:I,baseFontName:i,src:`local(${i})`,style:a},A.set(n,r),r}const c=[];o&&_A(i)&&c.push(`local(${i})`);const{style:C,ultimate:h}=qr(g,c,t),B=null===h,l=B?\\\"\\\":`,${h}`;return r={css:`\\\"${Kr(i)}\\\",${I}${l}`,guessFallback:B,loadedName:I,baseFontName:i,src:c.join(\\\",\\\"),style:C},A.set(n,r),r}class Pr{constructor(A,e){this._imgData=A,this._isMask=e}static needsToBeResized(A,e){if(A<=this._goodSquareLength&&e<=this._goodSquareLength)return!1;const{MAX_DIM:t}=this;if(A>t||e>t)return!0;const i=A*e;return this._hasMaxArea?i>this.MAX_AREA:!(i(this.MAX_AREA=this._goodSquareLength**2)))}static get MAX_DIM(){return H(this,\\\"MAX_DIM\\\",this._guessMax(2048,65537,0,1))}static get MAX_AREA(){return this._hasMaxArea=!0,H(this,\\\"MAX_AREA\\\",this._guessMax(Pr._goodSquareLength,this.MAX_DIM,128,0)**2)}static set MAX_AREA(A){A>=0&&(this._hasMaxArea=!0,H(this,\\\"MAX_AREA\\\",A))}static setMaxArea(A){this._hasMaxArea||(this.MAX_AREA=A>>2)}static _areGoodDims(A,e){try{const t=new OffscreenCanvas(A,e),i=t.getContext(\\\"2d\\\");i.fillRect(0,0,1,1);const a=i.getImageData(0,0,1,1).data[3];return t.width=t.height=1,0!==a}catch{return!1}}static _guessMax(A,e,t,i){for(;A+t+1>3,n=t+3&-4;if(t!==n){const A=new Uint8Array(n*e);let i=0;for(let s=0,r=e*t;s>>8,e[t++]=255&a)}}else{if(!ArrayBuffer.isView(A))throw new Error(\\\"Invalid data format, must be a string or TypedArray.\\\");e=A.slice(),t=e.byteLength}const i=t>>2,a=t-4*i,s=new Uint32Array(e.buffer,0,i);let n=0,r=0,g=this.h1,o=this.h2;const I=3432918353,c=461845907,C=11601,h=13715;for(let A=0;A>>17,n=n*c&Or|n*h&Zr,g^=n,g=g<<13|g>>>19,g=5*g+3864292196):(r=s[A],r=r*I&Or|r*C&Zr,r=r<<15|r>>>17,r=r*c&Or|r*h&Zr,o^=r,o=o<<13|o>>>19,o=5*o+3864292196);switch(n=0,a){case 3:n^=e[4*i+2]<<16;case 2:n^=e[4*i+1]<<8;case 1:n^=e[4*i],n=n*I&Or|n*C&Zr,n=n<<15|n>>>17,n=n*c&Or|n*h&Zr,1&i?g^=n:o^=n}this.h1=g,this.h2=o}hexdigest(){let A=this.h1,e=this.h2;return A^=e>>>1,A=3981806797*A&Or|36045*A&Zr,e=4283543511*e&Or|(2950163797*(e<<16|A>>>16)&Or)>>>16,A^=e>>>1,A=444984403*A&Or|60499*A&Zr,e=3301882366*e&Or|(3120437893*(e<<16|A>>>16)&Or)>>>16,A^=e>>>1,(A>>>0).toString(16).padStart(8,\\\"0\\\")+(e>>>0).toString(16).padStart(8,\\\"0\\\")}}function Xr(A,e,t,i,a){let s=A;for(let A=0,t=e.length-1;A1e3&&(o=Math.max(o,C),h+=c+2,C=0,c=0),I.push({transform:e,x:C,y:h,w:t.width,h:t.height}),C+=t.width+2,c=Math.max(c,t.height)}const B=Math.max(o,C)+1,l=h+c+1,Q=new Uint8Array(B*l*4),E=B<<2;for(let A=0;A=0;)e[s-4]=e[s],e[s-3]=e[s+1],e[s-2]=e[s+2],e[s-1]=e[s+3],e[s+t]=e[s+t-4],e[s+t+1]=e[s+t-3],e[s+t+2]=e[s+t-2],e[s+t+3]=e[s+t-1],s-=E}const u={width:B,height:l};if(A.isOffscreenCanvasSupported){const A=new OffscreenCanvas(B,l);A.getContext(\\\"2d\\\").putImageData(new ImageData(new Uint8ClampedArray(Q.buffer),B,l),0,0),u.bitmap=A.transferToImageBitmap(),u.data=null}else u.kind=3,u.data=Q;return t.splice(s,4*g,87),i.splice(s,4*g,[u,I]),s+1})),Xr(Vr,[p,y,R,m],null,(function(A,e){const t=A.fnArray,i=(e-(A.iCurr-3))%4;switch(i){case 0:return t[e]===p;case 1:return t[e]===y;case 2:return t[e]===R;case 3:return t[e]===m}throw new Error(`iterateImageMaskGroup - invalid pos: ${i}`)}),(function(A,e){const t=A.fnArray,i=A.argsArray,a=A.iCurr,s=a-3,n=a-2,r=a-1;let g=Math.floor((e-s)/4);if(g<10)return e-(e-s)%4;let o,I,c=!1;const C=i[r][0],h=i[n][0],B=i[n][1],l=i[n][2],Q=i[n][3];if(B===l){c=!0,o=n+4;let A=r+4;for(let e=1;e=4&&t[s-4]===t[n]&&t[s-3]===t[r]&&t[s-2]===t[g]&&t[s-1]===t[o]&&i[s-4][0]===I&&i[s-4][1]===c&&(C++,h-=5);let B=h+4;for(let A=1;A=t)break}i=(i||Vr)[A[e]],i&&!Array.isArray(i)?(s.iCurr=e,e++,!i.checkFn||(0,i.checkFn)(s)?(a=i,i=null):i=null):e++}this.state=i,this.match=a,this.lastProcessed=e}flush(){for(;this.match;){const A=this.queue.fnArray.length;this.lastProcessed=(0,this.match.processFn)(this.context,A),this.match=null,this.state=null,this._optimize()}}reset(){this.state=null,this.match=null,this.lastProcessed=0}}class $r{static CHUNK_SIZE=1e3;static CHUNK_SIZE_ABOUT=this.CHUNK_SIZE-5;constructor(A=0,e){this._streamSink=e,this.fnArray=[],this.argsArray=[],this.optimizer=!e||256&A?new zr(this):new _r(this),this.dependencies=new Set,this._totalLength=0,this.weight=0,this._resolved=e?null:Promise.resolve()}set isOffscreenCanvasSupported(A){this.optimizer.isOffscreenCanvasSupported=A}get length(){return this.argsArray.length}get ready(){return this._resolved||this._streamSink.ready}get totalLength(){return this._totalLength+this.length}addOp(A,e){this.optimizer.push(A,e),this.weight++,this._streamSink&&(this.weight>=$r.CHUNK_SIZE||this.weight>=$r.CHUNK_SIZE_ABOUT&&(A===m||32===A))&&this.flush()}addImageOps(A,e,t){void 0!==t&&this.addOp(F,[\\\"OC\\\",t]),this.addOp(A,e),void 0!==t&&this.addOp(S,[])}addDependency(A){this.dependencies.has(A)||(this.dependencies.add(A),this.addOp(1,[A]))}addDependencies(A){for(const e of A)this.addDependency(e)}addOpList(A){if(A instanceof $r){for(const e of A.dependencies)this.dependencies.add(e);for(let e=0,t=A.length;ei&&(A=i),A}function eg(A,e,t,i,a,s){const n=a*s;let r;r=e<=8?new Uint8Array(n):e<=16?new Uint16Array(n):new Uint32Array(n);const g=t/a,o=i/s;let I,c,C,h,B=0;const l=new Uint16Array(a),Q=t;for(I=0;I0&&Number.isInteger(t.height)&&t.height>0&&(t.width!==C||t.height!==h)&&(U(\\\"PDFImage - using the Width/Height of the image data, rather than the image dictionary.\\\"),C=t.width,h=t.height),C<1||h<1)throw new W(`Invalid image width: ${C} or height: ${h}`);this.width=C,this.height=h,this.interpolate=o.get(\\\"I\\\",\\\"Interpolate\\\"),this.imageMask=o.get(\\\"IM\\\",\\\"ImageMask\\\")||!1,this.matte=o.get(\\\"Matte\\\")||!1;let B=t.bitsPerComponent;if(!B&&(B=o.get(\\\"BPC\\\",\\\"BitsPerComponent\\\"),!B)){if(!this.imageMask)throw new W(`Bits per component missing in image: ${this.imageMask}`);B=1}if(this.bpc=B,!this.imageMask){let a=o.getRaw(\\\"CS\\\")||o.getRaw(\\\"ColorSpace\\\");const s=!!a;if(s)this.jpxDecoderOptions?.smaskInData&&(a=hA.get(\\\"DeviceRGBA\\\"));else if(this.jpxDecoderOptions)a=hA.get(\\\"DeviceRGBA\\\");else switch(t.numComps){case 1:a=hA.get(\\\"DeviceGray\\\");break;case 3:a=hA.get(\\\"DeviceRGB\\\");break;case 4:a=hA.get(\\\"DeviceCMYK\\\");break;default:throw new Error(`Images with ${t.numComps} color components not supported.`)}this.colorSpace=he.parse({cs:a,xref:A,resources:i?e:null,pdfFunctionFactory:r,localColorSpaceCache:g}),this.numComps=this.colorSpace.numComps,this.jpxDecoderOptions&&(this.jpxDecoderOptions.numComponents=s?this.numComp:0,this.jpxDecoderOptions.isIndexedColormap=\\\"Indexed\\\"===this.colorSpace.name)}if(this.decode=o.getArray(\\\"D\\\",\\\"Decode\\\"),this.needsDecode=!1,this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode,B)||n&&!he.isDefaultDecode(this.decode,1))){this.needsDecode=!0;const A=(1<>3)*t,r=A.byteLength;let g,o;if(!i||a&&n!==r?a?(g=new Uint8Array(n),g.set(A),g.fill(255,r)):g=new Uint8Array(A):g=A,a)for(o=0;o>7&1,n[C+1]=c>>6&1,n[C+2]=c>>5&1,n[C+3]=c>>4&1,n[C+4]=c>>3&1,n[C+5]=c>>2&1,n[C+6]=c>>1&1,n[C+7]=1&c,C+=8;if(C>=1}}else{let t=0;for(c=0,C=0,I=s;C>i;a<0?a=0:a>o&&(a=o),n[C]=a,c&=(1<n[i+1]){e=255;break}}r[I]=e}}}if(r)for(I=0,C=3,c=e*i;I>3,I=e&&Pr.needsToBeResized(t,i);if(\\\"DeviceRGBA\\\"===this.colorSpace.name){a.kind=3;const A=a.data=await this.getImageBytes(r*n*4,{});return e?I?Pr.createImage(a,!1):this.createBitmap(3,t,i,A):a}if(!A){let A;if(\\\"DeviceGray\\\"===this.colorSpace.name&&1===g?A=1:\\\"DeviceRGB\\\"!==this.colorSpace.name||8!==g||this.needsDecode||(A=2),A&&!this.smask&&!this.mask&&t===n&&i===r){const s=await this.getImageBytes(r*o,{});if(e)return I?Pr.createImage({data:s,kind:A,width:t,height:i,interpolate:this.interpolate},this.needsDecode):this.createBitmap(A,n,r,s);if(a.kind=A,a.data=s,this.needsDecode){L(1===A,\\\"PDFImage.createImageData: The image must be grayscale.\\\");const e=a.data;for(let A=0,t=e.length;A>3,n=await this.getImageBytes(i*s,{internal:!0}),r=this.getComponents(n);let g,o;if(1===a){if(o=t*i,this.needsDecode)for(g=0;g>2,g=new Uint32Array(A.buffer,e,r);if(z.isLittleEndian){for(;n>>24|e<<8|4278190080,t[i+2]=e>>>16|a<<16|4278190080,t[i+3]=a>>>8|4278190080}for(let e=4*n,a=A.length;e>>8|255,t[i+2]=e<<16|a>>>16|255,t[i+3]=a<<8|255}for(let e=4*n,a=A.length;e0&&e.args[0].count++}class rg{static TIME_SLOT_DURATION_MS=20;static CHECK_TIME_EVERY=100;constructor(){this.reset()}check(){return!(++this.checkedc){const A=\\\"Image exceeded maximum allowed size and was removed.\\\";if(this.options.ignoreErrors)return void U(A);throw new Error(A)}let C,h,B;if(r.has(\\\"OC\\\")&&(C=await this.parseMarkedContentProps(r.get(\\\"OC\\\"),A)),r.get(\\\"IM\\\",\\\"ImageMask\\\")){const A=r.get(\\\"I\\\",\\\"Interpolate\\\"),t=o+7>>3,n=e.getBytes(t*I),c=r.getArray(\\\"D\\\",\\\"Decode\\\");if(this.parsingType3Font){if(h=tg.createRawMask({imgArray:n,width:o,height:I,imageIsFromDecodeStream:e instanceof Ne,inverseDecode:c?.[0]>0,interpolate:A}),h.cached=!!a,B=[h],i.addImageOps(R,B,C),a){const A={fn:R,args:B,optionalContent:C};s.set(a,g,A),g&&this._regionalImageCache.set(null,g,A)}return}if(h=await tg.createMask({imgArray:n,width:o,height:I,imageIsFromDecodeStream:e instanceof Ne,inverseDecode:c?.[0]>0,interpolate:A,isOffscreenCanvasSupported:this.options.isOffscreenCanvasSupported}),h.isSingleOpaquePixel){if(i.addImageOps(90,[],C),a){const A={fn:90,args:[],optionalContent:C};s.set(a,g,A),g&&this._regionalImageCache.set(null,g,A)}return}const l=`mask_${this.idFactory.createObjId()}`;if(i.addDependency(l),h.dataLen=h.bitmap?h.width*h.height*4:h.data.length,this._sendImgData(l,h),B=[{data:l,width:h.width,height:h.height,interpolate:h.interpolate,count:1}],i.addImageOps(R,B,C),a){const A={objId:l,fn:R,args:B,optionalContent:C};s.set(a,g,A),g&&this._regionalImageCache.set(null,g,A)}return}if(t&&o+I<200&&!r.has(\\\"SMask\\\")&&!r.has(\\\"Mask\\\")){try{const a=new tg({xref:this.xref,res:A,image:e,isInline:t,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:n});h=await a.createImageData(!0,!1),i.isOffscreenCanvasSupported=this.options.isOffscreenCanvasSupported,i.addImageOps(86,[h],C)}catch(A){const e=`Unable to decode inline image: \\\"${A}\\\".`;if(!this.options.ignoreErrors)throw new Error(e);U(e)}return}let l=`img_${this.idFactory.createObjId()}`,Q=!1;if(this.parsingType3Font?l=`${this.idFactory.getDocId()}_type3_${l}`:a&&g&&(Q=this.globalImageCache.shouldCache(g,this.pageIndex),Q&&(L(!t,\\\"Cannot cache an inline image globally.\\\"),l=`${this.idFactory.getDocId()}_${l}`)),i.addDependency(l),B=[l,o,I],i.addImageOps(G,B,C),Q){if(this.globalImageCache.hasDecodeFailed(g))return this.globalImageCache.setData(g,{objId:l,fn:G,args:B,optionalContent:C,byteSize:0}),void this._sendImgData(l,null,Q);if(o*I>25e4||r.has(\\\"SMask\\\")||r.has(\\\"Mask\\\")){const A=await this.handler.sendWithPromise(\\\"commonobj\\\",[l,\\\"CopyLocalImage\\\",{imageRef:g}]);if(A)return this.globalImageCache.setData(g,{objId:l,fn:G,args:B,optionalContent:C,byteSize:0}),void this.globalImageCache.addByteSize(g,A)}}if(tg.buildImage({xref:this.xref,res:A,image:e,isInline:t,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:n}).then((async A=>(h=await A.createImageData(!1,this.options.isOffscreenCanvasSupported),h.dataLen=h.bitmap?h.width*h.height*4:h.data.length,h.ref=g,Q&&this.globalImageCache.addByteSize(g,h.dataLen),this._sendImgData(l,h,Q)))).catch((A=>(U(`Unable to decode image \\\"${l}\\\": \\\"${A}\\\".`),g&&this.globalImageCache.addDecodeFailed(g),this._sendImgData(l,null,Q)))),a){const A={objId:l,fn:G,args:B,optionalContent:C};s.set(a,g,A),g&&(this._regionalImageCache.set(null,g,A),Q&&this.globalImageCache.setData(g,{objId:l,fn:G,args:B,optionalContent:C,byteSize:0}))}}handleSMask(A,e,t,i,a,s){const n=A.get(\\\"G\\\"),r={subtype:A.get(\\\"S\\\").name,backdrop:A.get(\\\"BC\\\")},g=A.get(\\\"TR\\\");if(gr(g)){const A=this._pdfFunctionFactory.create(g),e=new Uint8Array(256),t=new Float32Array(1);for(let i=0;i<256;i++)t[0]=i/255,A(t,0,t,0),e[i]=255*t[0]|0;r.transferMap=e}return this.buildFormXObject(e,n,r,t,i,a.state.clone(),s)}handleTransferFunction(A){let e;if(Array.isArray(A))e=A;else{if(!gr(A))return null;e=[A]}const t=[];let i=0,a=0;for(const A of e){const e=this.xref.fetchIfRef(A);if(i++,fA(e,\\\"Identity\\\")){t.push(null);continue}if(!gr(e))return null;const s=this._pdfFunctionFactory.create(e),n=new Uint8Array(256),r=new Float32Array(1);for(let A=0;A<256;A++)r[0]=A/255,s(r,0,r,0),n[A]=255*r[0]|0;t.push(n),a++}return 1!==i&&4!==i||0===a?null:t}handleTilingType(A,e,t,i,a,s,n,r){const g=new $r,o=QA.merge({xref:this.xref,dictArray:[a.get(\\\"Resources\\\"),t]});return this.getOperatorList({stream:i,task:n,resources:o,operatorList:g}).then((function(){const t=g.getIR(),i=tn(t,a,e);s.addDependencies(g.dependencies),s.addOp(A,i),a.objId&&r.set(null,a.objId,{operatorListIR:t,dict:a})})).catch((A=>{if(!(A instanceof O)){if(!this.options.ignoreErrors)throw A;U(`handleTilingType - ignoring pattern: \\\"${A}\\\".`)}}))}async handleSetFont(A,e,t,i,a,s,n=null,r=null){const g=e?.[0]instanceof hA?e[0].name:null;let o=await this.loadFont(g,t,A,n,r);if(o.font.isType3Font)try{await o.loadType3Data(this,A,a),i.addDependencies(o.type3Dependencies)}catch(A){o=new og({loadedName:\\\"g_font_error\\\",font:new js(`Type3 font load error: ${A}`),dict:o.font,evaluatorOptions:this.options})}return s.font=o.font,o.send(this.handler),o.loadedName}handleText(A,e){const t=e.font,i=t.charsToGlyphs(A);return t.data&&(4&e.textRenderingMode||\\\"Pattern\\\"===e.fillColorSpace.name||t.disableFontFace||this.options.disableFontFace)&&gg.buildFontPaths(t,i,this.handler,this.options),i}ensureStateFont(A){if(A.font)return;const e=new W(\\\"Missing setFont (Tf) operator before text rendering operator.\\\");if(!this.options.ignoreErrors)throw e;U(`ensureStateFont: \\\"${e}\\\".`)}async setGState({resources:A,gState:e,operatorList:t,cacheKey:i,task:a,stateManager:s,localGStateCache:n,localColorSpaceCache:r}){const g=e.objId;let o=!0;const I=[];let c=Promise.resolve();for(const i of e.getKeys()){const n=e.get(i);switch(i){case\\\"Type\\\":break;case\\\"LW\\\":case\\\"LC\\\":case\\\"LJ\\\":case\\\"ML\\\":case\\\"D\\\":case\\\"RI\\\":case\\\"FL\\\":case\\\"CA\\\":case\\\"ca\\\":I.push([i,n]);break;case\\\"Font\\\":o=!1,c=c.then((()=>this.handleSetFont(A,null,n[0],t,a,s.state).then((function(A){t.addDependency(A),I.push([i,[A,n[1]]])}))));break;case\\\"BM\\\":I.push([i,sg(n)]);break;case\\\"SMask\\\":if(fA(n,\\\"None\\\")){I.push([i,!1]);break}n instanceof QA?(o=!1,c=c.then((()=>this.handleSMask(n,A,t,a,s,r))),I.push([i,!0])):U(\\\"Unsupported SMask type\\\");break;case\\\"TR\\\":const e=this.handleTransferFunction(n);I.push([i,e]);break;case\\\"OP\\\":case\\\"op\\\":case\\\"OPM\\\":case\\\"BG\\\":case\\\"BG2\\\":case\\\"UCR\\\":case\\\"UCR2\\\":case\\\"TR2\\\":case\\\"HT\\\":case\\\"SM\\\":case\\\"SA\\\":case\\\"AIS\\\":case\\\"TK\\\":x(\\\"graphic state operator \\\"+i);break;default:x(\\\"Unknown graphic state operator \\\"+i)}}await c,I.length>0&&t.addOp(9,[I]),o&&n.set(i,g,I)}loadFont(A,e,t,i=null,a=null){const s=async()=>new og({loadedName:\\\"g_font_error\\\",font:new js(`Font \\\"${A}\\\" is not available.`),dict:e,evaluatorOptions:this.options});let n;if(e)e instanceof EA&&(n=e);else{const e=t.get(\\\"Font\\\");e&&(n=e.getRaw(A))}if(n){if(this.type3FontRefs?.has(n))return s();if(this.fontCache.has(n))return this.fontCache.get(n);try{e=this.xref.fetchIfRef(n)}catch(A){U(`loadFont - lookup failed: \\\"${A}\\\".`)}}if(!(e instanceof QA)){if(!this.options.ignoreErrors&&!this.parsingType3Font)return U(`Font \\\"${A}\\\" is not available.`),s();U(`Font \\\"${A}\\\" is not available -- attempting to fallback to a default font.`),e=i||gg.fallbackFontDict}if(e.cacheKey&&this.fontCache.has(e.cacheKey))return this.fontCache.get(e.cacheKey);const{promise:r,resolve:g}=Promise.withResolvers();let o;try{o=this.preEvaluateFont(e),o.cssFontInfo=a}catch(A){return U(`loadFont - preEvaluateFont failed: \\\"${A}\\\".`),s()}const{descriptor:I,hash:c}=o,C=n instanceof EA;let h;if(c&&I instanceof QA){const A=I.fontAliases||=Object.create(null);if(A[c]){const e=A[c].aliasRef;if(C&&e&&this.fontCache.has(e))return this.fontCache.putAlias(n,e),this.fontCache.get(n)}else A[c]={fontID:this.idFactory.createFontId()};C&&(A[c].aliasRef=n),h=A[c].fontID}else h=this.idFactory.createFontId();return L(h?.startsWith(\\\"f\\\"),\\\\'The \\\"fontID\\\" must be (correctly) defined.\\\\'),C?this.fontCache.put(n,r):(e.cacheKey=`cacheKey_${h}`,this.fontCache.put(e.cacheKey,r)),e.loadedName=`${this.idFactory.getDocId()}_${h}`,this.translateFont(o).then((A=>{g(new og({loadedName:e.loadedName,font:A,dict:e,evaluatorOptions:this.options}))})).catch((A=>{U(`loadFont - translateFont failed: \\\"${A}\\\".`),g(new og({loadedName:e.loadedName,font:new js(A instanceof Error?A.message:A),dict:e,evaluatorOptions:this.options}))})),r}buildPath(A,e,t,i=!1){const a=A.length-1;if(t||(t=[]),a<0||91!==A.fnArray[a]){let a;switch(i&&(U(`Encountered path operator \\\"${e}\\\" inside of a text object.`),A.addOp(p,null)),e){case 19:const A=t[0]+t[2],e=t[1]+t[3];a=[Math.min(t[0],A),Math.min(t[1],e),Math.max(t[0],A),Math.max(t[1],e)];break;case 13:case 14:a=[t[0],t[1],t[0],t[1]];break;default:a=[1/0,1/0,-1/0,-1/0]}A.addOp(91,[[e],t,a]),i&&A.addOp(m,null)}else{const i=A.argsArray[a];i[0].push(e),i[1].push(...t);const s=i[2];switch(e){case 19:const A=t[0]+t[2],e=t[1]+t[3];s[0]=Math.min(s[0],t[0],A),s[1]=Math.min(s[1],t[1],e),s[2]=Math.max(s[2],t[0],A),s[3]=Math.max(s[3],t[1],e);break;case 13:case 14:s[0]=Math.min(s[0],t[0]),s[1]=Math.min(s[1],t[1]),s[2]=Math.max(s[2],t[0]),s[3]=Math.max(s[3],t[1])}}}parseColorSpace({cs:A,resources:e,localColorSpaceCache:t}){return he.parseAsync({cs:A,xref:this.xref,resources:e,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:t}).catch((A=>{if(A instanceof O)return null;if(this.options.ignoreErrors)return U(`parseColorSpace - ignoring ColorSpace: \\\"${A}\\\".`),null;throw A}))}parseShading({shading:A,resources:e,localColorSpaceCache:t,localShadingPatternCache:i}){let a,s=i.get(A);if(s)return s;try{a=class{constructor(){M(\\\"Cannot initialize Pattern.\\\")}static parseShading(A,e,t,i,a){const s=A instanceof wA?A.dict:A,n=s.get(\\\"ShadingType\\\");try{switch(n){case 2:case 3:return new Vs(s,e,t,i,a);case 4:case 5:case 6:case 7:return new An(A,e,t,i,a);default:throw new W(\\\"Unsupported ShadingType: \\\"+n)}}catch(A){if(A instanceof kA)throw A;return U(A),new en}}}.parseShading(A,this.xref,e,this._pdfFunctionFactory,t).getIR()}catch(e){if(e instanceof O)return null;if(this.options.ignoreErrors)return U(`parseShading - ignoring shading: \\\"${e}\\\".`),i.set(A,null),null;throw e}return s=`pattern_${this.idFactory.createObjId()}`,this.parsingType3Font&&(s=`${this.idFactory.getDocId()}_type3_${s}`),i.set(A,s),this.parsingType3Font?this.handler.send(\\\"commonobj\\\",[s,\\\"Pattern\\\",a]):this.handler.send(\\\"obj\\\",[s,this.pageIndex,\\\"Pattern\\\",a]),s}handleColorN(A,e,t,i,a,s,n,r,g,o){const I=t.pop();if(I instanceof hA){const c=a.getRaw(I.name),C=c instanceof EA&&g.getByRef(c);if(C)try{const a=i.base?i.base.getRgb(t,0):null,s=tn(C.operatorListIR,C.dict,a);return void A.addOp(e,s)}catch{}const h=this.xref.fetchIfRef(c);if(h){const a=h instanceof wA?h.dict:h,I=a.get(\\\"PatternType\\\");if(1===I){const r=i.base?i.base.getRgb(t,0):null;return this.handleTilingType(e,r,s,h,a,A,n,g)}if(2===I){const t=a.get(\\\"Shading\\\"),i=this.parseShading({shading:t,resources:s,localColorSpaceCache:r,localShadingPatternCache:o});if(i){const t=KA(a.getArray(\\\"Matrix\\\"),null);A.addOp(e,[\\\"Shading\\\",i,t])}return}throw new W(`Unknown PatternType: ${I}`)}}throw new W(`Unknown PatternName: ${I}`)}_parseVisibilityExpression(A,e,t){if(++e>10)return void U(\\\"Visibility expression is too deeply nested\\\");const i=A.length,a=this.xref.fetchIfRef(A[0]);if(!(i<2)&&a instanceof hA){switch(a.name){case\\\"And\\\":case\\\"Or\\\":case\\\"Not\\\":t.push(a.name);break;default:return void U(`Invalid operator ${a.name} in visibility expression`)}for(let a=1;a0)return{type:\\\"OCMD\\\",expression:e}}const e=t.get(\\\"OCGs\\\");if(Array.isArray(e)||e instanceof QA){const A=[];if(Array.isArray(e))for(const t of e)A.push(t.toString());else A.push(e.objId);return{type:i,ids:A,policy:t.get(\\\"P\\\")instanceof hA?t.get(\\\"P\\\").name:null,expression:null}}if(e instanceof EA)return{type:i,id:e.toString()}}return null}getOperatorList({stream:A,task:e,resources:t,operatorList:i,initialState:a=null,fallbackFontDict:s=null}){if(t||=QA.empty,a||=new Cg,!i)throw new Error(\\\\'getOperatorList: missing \\\"operatorList\\\" parameter\\\\');const n=this,r=this.xref;let g=!1;const o=new _n,I=new $n,c=new er,C=new tr,h=new Map,B=t.get(\\\"XObject\\\")||QA.empty,l=t.get(\\\"Pattern\\\")||QA.empty,Q=new Ig(a),E=new hg(A,r,Q),u=new rg;function d(A){for(let A=0,e=E.savedStatesDepth;A0&&i.addOp(9,[e]),A=null;continue}}return void p(new Promise((function(A,a){if(!M)throw new W(\\\"GState must be referred to by name.\\\");const s=t.get(\\\"ExtGState\\\");if(!(s instanceof QA))throw new W(\\\"ExtGState should be a dictionary.\\\");const r=s.get(N);if(!(r instanceof QA))throw new W(\\\"GState should be a dictionary.\\\");n.setGState({resources:t,gState:r,operatorList:i,cacheKey:N,task:e,stateManager:Q,localGStateCache:c,localColorSpaceCache:I}).then(A,a)})).catch((function(A){if(!(A instanceof O)){if(!n.options.ignoreErrors)throw A;U(`getOperatorList - ignoring ExtGState: \\\"${A}\\\".`)}})));case 13:case 14:case 15:case 16:case 17:case 18:case 19:n.buildPath(i,a,A,g);continue;case 67:case 68:case 72:case 73:continue;case F:if(!(A[0]instanceof hA)){U(`Expected name for beginMarkedContentProps arg0=${A[0]}`),i.addOp(F,[\\\"OC\\\",null]);continue}if(\\\"OC\\\"===A[0].name)return void p(n.parseMarkedContentProps(A[1],t).then((A=>{i.addOp(F,[\\\"OC\\\",A])})).catch((A=>{if(!(A instanceof O)){if(!n.options.ignoreErrors)throw A;U(`getOperatorList - ignoring beginMarkedContentProps: \\\"${A}\\\".`),i.addOp(F,[\\\"OC\\\",null])}})));A=[A[0].name,A[1]instanceof QA?A[1].get(\\\"MCID\\\"):null];break;default:if(null!==A){for(S=0,R=A.length;S{if(!(A instanceof O)){if(!this.options.ignoreErrors)throw A;U(`getOperatorList - ignoring errors during \\\"${e.name}\\\" task: \\\"${A}\\\".`),d()}}))}getTextContent({stream:A,task:e,resources:t,stateManager:i=null,includeMarkedContent:a=!1,sink:r,seenStyles:g=new Set,viewBox:o,lang:I=null,markedContentData:c=null,disableNormalization:C=!1,keepWhiteSpace:h=!1}){t||=QA.empty,i||=new Ig(new cg),a&&(c||={level:0});const B={items:[],styles:Object.create(null),lang:I},l={initialized:!1,str:[],totalWidth:0,totalHeight:0,width:0,height:0,vertical:!1,prevTransform:null,textAdvanceScale:0,spaceInFlowMin:0,spaceInFlowMax:0,trackingSpaceMin:1/0,negativeSpaceMax:-1/0,notASpace:-1/0,transform:null,fontName:null,hasEOL:!1},Q=[\\\" \\\",\\\" \\\"];let E=0;function u(A){const e=(E+1)%2,t=\\\" \\\"!==Q[E]&&\\\" \\\"===Q[e];return Q[E]=A,E=e,!h&&t}function d(){return!h&&\\\" \\\"!==Q[E]&&\\\" \\\"===Q[(E+1)%2]}function f(){Q[0]=Q[1]=\\\" \\\",E=0}const p=this,y=this.xref,b=[];let k=null;const R=new _n,G=new er,N=new hg(A,y,i);let x;function M({width:A=0,height:e=0,transform:t=l.prevTransform,fontName:i=l.fontName}){B.items.push({str:\\\" \\\",dir:\\\"ltr\\\",width:A,height:e,transform:t,fontName:i,hasEOL:!1})}function L(){const A=x.font,e=[x.fontSize*x.textHScale,0,0,x.fontSize,0,x.textRise];if(A.isType3Font&&(x.fontSize<=1||A.isCharBBox)&&!aA(x.fontMatrix,n)){const t=A.bbox[3]-A.bbox[1];t>0&&(e[3]*=t*x.fontMatrix[3])}return $.transform(x.ctm,$.transform(x.textMatrix,e))}function J(){if(l.initialized)return l;const{font:A,loadedName:e}=x;if(!g.has(e)&&(g.add(e),B.styles[e]={fontFamily:A.fallbackName,ascent:A.ascent,descent:A.descent,vertical:A.vertical},p.options.fontExtraProperties&&A.systemFontInfo)){const t=B.styles[e];t.fontSubstitution=A.systemFontInfo.css,t.fontSubstitutionLoadedName=A.systemFontInfo.loadedName}l.fontName=e;const t=l.transform=L();A.vertical?(l.width=l.totalWidth=Math.hypot(t[0],t[1]),l.height=l.totalHeight=0,l.vertical=!0):(l.width=l.totalWidth=0,l.height=l.totalHeight=Math.hypot(t[2],t[3]),l.vertical=!1);const i=Math.hypot(x.textLineMatrix[0],x.textLineMatrix[1]),a=Math.hypot(x.ctm[0],x.ctm[1]);l.textAdvanceScale=a*i;const{fontSize:s}=x;return l.trackingSpaceMin=.102*s,l.notASpace=.03*s,l.negativeSpaceMax=-.2*s,l.spaceInFlowMin=.102*s,l.spaceInFlowMax=.6*s,l.hasEOL=!1,l.initialized=!0,l}function H(){if(!l.initialized)return;const A=Math.hypot(x.textLineMatrix[0],x.textLineMatrix[1]),e=Math.hypot(x.ctm[0],x.ctm[1])*A;e!==l.textAdvanceScale&&(l.vertical?(l.totalHeight+=l.height*l.textAdvanceScale,l.height=0):(l.totalWidth+=l.width*l.textAdvanceScale,l.width=0),l.textAdvanceScale=e)}async function Y(A,i){const a=await p.loadFont(A,i,t);if(a.font.isType3Font)try{await a.loadType3Data(p,t,e)}catch{}x.loadedName=a.loadedName,x.font=a.font,x.fontMatrix=a.font.fontMatrix||n}function v(A,e,t){const i=Math.hypot(t[0],t[1]);return[(t[0]*A+t[1]*e)/i,(t[2]*A+t[3]*e)/i]}function K(A){const e=L();let t=e[4],i=e[5];if(x.font?.vertical){if(to[2]||i+Ao[3])return!1}else if(t+Ao[2]||io[3])return!1;if(!x.font||!l.prevTransform)return!0;let a=l.prevTransform[4],s=l.prevTransform[5];if(a===t&&s===i)return!0;let n=-1;switch(e[0]&&0===e[1]&&0===e[2]?n=e[0]>0?0:180:e[1]&&0===e[0]&&0===e[3]&&(n=e[1]>0?90:270),n){case 0:break;case 90:[t,i]=[i,t],[a,s]=[s,a];break;case 180:[t,i,a,s]=[-t,-i,-a,-s];break;case 270:[t,i]=[-i,-t],[a,s]=[-s,-a];break;default:[t,i]=v(t,i,e),[a,s]=v(a,s,l.prevTransform)}if(x.font.vertical){const A=(s-i)/l.textAdvanceScale,e=t-a,n=Math.sign(l.height);return A.5*l.width?(T(),!0):(f(),Z(),!0):Math.abs(e)>l.width?(T(),!0):(A<=n*l.notASpace&&f(),A<=n*l.trackingSpaceMin?d()?(f(),Z(),M({height:Math.abs(A)})):l.height+=A:P(A,l.prevTransform,n)||(0===l.str.length?(f(),M({height:Math.abs(A)})):l.height+=A),Math.abs(e)>.25*l.width&&Z(),!0)}const r=(t-a)/l.textAdvanceScale,g=i-s,I=Math.sign(l.width);return r.5*l.height?(T(),!0):(f(),Z(),!0):Math.abs(g)>l.height?(T(),!0):(r<=I*l.notASpace&&f(),r<=I*l.trackingSpaceMin?d()?(f(),Z(),M({width:Math.abs(r)})):l.width+=r:P(r,l.prevTransform,I)||(0===l.str.length?(f(),M({width:Math.abs(r)})):l.width+=r),Math.abs(g)>.25*l.height&&Z(),!0)}function q({chars:A,extraSpacing:e}){const t=x.font;if(!A){const A=x.charSpacing+e;return A&&(t.vertical?x.translateTextMatrix(0,-A):x.translateTextMatrix(A*x.textHScale,0)),void(h&&K(0))}const i=t.charsToGlyphs(A),a=x.fontMatrix[0]*x.fontSize;for(let A=0,s=i.length;Ae?e.normalize(\\\"NFKC\\\"):rA.get(t)))}(e));const t=Ur(e,-1,A.vertical);return{str:t.str,dir:t.dir,width:Math.abs(A.totalWidth),height:Math.abs(A.totalHeight),transform:A.transform,fontName:A.fontName,hasEOL:A.hasEOL}}(l)),l.initialized=!1,l.str.length=0)}function j(A=!1){const e=B.items.length;0===e||A&&e<10||(r.enqueue(B,e),B.items=[],B.styles=Object.create(null))}const X=new rg;return new Promise((function A(n,l){const Q=function(e){j(!0),Promise.all([e,r.ready]).then((function(){try{A(n,l)}catch(A){l(A)}}),l)};e.ensureNotTerminated(),X.reset();const E={};let u,d=[];for(;!(u=X.check())&&(d.length=0,E.args=d,N.read(E));){const A=x;x=i.state;const n=E.fn;switch(d=E.args,0|n){case w:var f=d[0].name,M=d[1];if(x.font&&f===x.fontName&&M===x.fontSize)break;return Z(),x.fontName=f,x.fontSize=M,void Q(Y(f,null));case 39:x.textRise=d[0];break;case 35:x.textHScale=d[0]/100;break;case 36:x.leading=d[0];break;case 40:x.translateTextLineMatrix(d[0],d[1]),x.textMatrix=x.textLineMatrix.slice();break;case 41:x.leading=-d[1],x.translateTextLineMatrix(d[0],d[1]),x.textMatrix=x.textLineMatrix.slice();break;case 43:x.carriageReturn();break;case 42:x.setTextMatrix(d[0],d[1],d[2],d[3],d[4],d[5]),x.setTextLineMatrix(d[0],d[1],d[2],d[3],d[4],d[5]),H();break;case 33:x.charSpacing=d[0];break;case 34:x.wordSpacing=d[0];break;case 31:x.textMatrix=s.slice(),x.textLineMatrix=s.slice();break;case 45:if(!i.state.font){p.ensureStateFont(i.state);continue}const n=(x.font.vertical?1:-1)*x.fontSize/1e3,l=d[0];for(let A=0,e=l.length;A0){const A=b.join(\\\"\\\");b.length=0,q({chars:A,extraSpacing:0})}break;case D:if(!i.state.font){p.ensureStateFont(i.state);continue}q({chars:d[0],extraSpacing:0});break;case 46:if(!i.state.font){p.ensureStateFont(i.state);continue}x.carriageReturn(),q({chars:d[0],extraSpacing:0});break;case 47:if(!i.state.font){p.ensureStateFont(i.state);continue}x.wordSpacing=d[0],x.charSpacing=d[1],x.carriageReturn(),q({chars:d[2],extraSpacing:0});break;case 66:Z(),k||(k=t.get(\\\"XObject\\\")||QA.empty);var L=d[0]instanceof hA,J=d[0].name;if(L&&R.getByName(J))break;return void Q(new Promise((function(A,s){if(!L)throw new W(\\\"XObject must be referred to by name.\\\");let n=k.getRaw(J);if(n instanceof EA){if(R.getByRef(n))return void A();if(p.globalImageCache.getData(n,p.pageIndex))return void A();n=y.fetch(n)}if(!(n instanceof wA))throw new W(\\\"XObject should be a stream\\\");const B=n.dict.get(\\\"Subtype\\\");if(!(B instanceof hA))throw new W(\\\"XObject should have a Name subtype\\\");if(\\\"Form\\\"!==B.name)return R.set(J,n.dict.objId,!0),void A();const l=i.state.clone(),Q=new Ig(l),E=KA(n.dict.getArray(\\\"Matrix\\\"),null);E&&Q.transform(E),j();const u={enqueueInvoked:!1,enqueue(A,e){this.enqueueInvoked=!0,r.enqueue(A,e)},get desiredSize(){return r.desiredSize},get ready(){return r.ready}};p.getTextContent({stream:n,task:e,resources:n.dict.get(\\\"Resources\\\")||t,stateManager:Q,includeMarkedContent:a,sink:u,seenStyles:g,viewBox:o,lang:I,markedContentData:c,disableNormalization:C,keepWhiteSpace:h}).then((function(){u.enqueueInvoked||R.set(J,n.dict.objId,!0),A()}),s)})).catch((function(A){if(!(A instanceof O)){if(!p.options.ignoreErrors)throw A;U(`getTextContent - ignoring XObject: \\\"${A}\\\".`)}})));case 9:if(L=d[0]instanceof hA,J=d[0].name,L&&G.getByName(J))break;return void Q(new Promise((function(A,e){if(!L)throw new W(\\\"GState must be referred to by name.\\\");const i=t.get(\\\"ExtGState\\\");if(!(i instanceof QA))throw new W(\\\"ExtGState should be a dictionary.\\\");const a=i.get(J);if(!(a instanceof QA))throw new W(\\\"GState should be a dictionary.\\\");const s=a.get(\\\"Font\\\");s?(Z(),x.fontName=null,x.fontSize=s[1],Y(null,s[0]).then(A,e)):(G.set(J,a.objId,!0),A())})).catch((function(A){if(!(A instanceof O)){if(!p.options.ignoreErrors)throw A;U(`getTextContent - ignoring ExtGState: \\\"${A}\\\".`)}})));case 69:Z(),a&&(c.level++,B.items.push({type:\\\"beginMarkedContent\\\",tag:d[0]instanceof hA?d[0].name:null}));break;case F:if(Z(),a){c.level++;let A=null;d[1]instanceof QA&&(A=d[1].get(\\\"MCID\\\")),B.items.push({type:\\\"beginMarkedContentProps\\\",id:Number.isInteger(A)?`${p.idFactory.getPageObjId()}_mc${A}`:null,tag:d[0]instanceof hA?d[0].name:null})}break;case S:if(Z(),a){if(0===c.level)break;c.level--,B.items.push({type:\\\"endMarkedContent\\\"})}break;case m:!A||A.font===x.font&&A.fontSize===x.fontSize&&A.fontName===x.fontName||Z()}if(B.items.length>=r.desiredSize){u=!0;break}}u?Q(ag):(Z(),j(),n())})).catch((A=>{if(!(A instanceof O)){if(!this.options.ignoreErrors)throw A;U(`getTextContent - ignoring errors during \\\"${e.name}\\\" task: \\\"${A}\\\".`),Z(),j()}}))}async extractDataStructures(A,e){const t=this.xref;let i;const a=this.readToUnicode(e.toUnicode);if(e.composite){const t=A.get(\\\"CIDSystemInfo\\\");t instanceof QA&&(e.cidSystemInfo={registry:eA(t.get(\\\"Registry\\\")),ordering:eA(t.get(\\\"Ordering\\\")),supplement:t.get(\\\"Supplement\\\")});try{const e=A.get(\\\"CIDToGIDMap\\\");e instanceof wA&&(i=e.getBytes())}catch(A){if(!this.options.ignoreErrors)throw A;U(`extractDataStructures - ignoring CIDToGIDMap data: \\\"${A}\\\".`)}}const s=[];let n,r=null;if(A.has(\\\"Encoding\\\")){if(n=A.get(\\\"Encoding\\\"),n instanceof QA){if(r=n.get(\\\"BaseEncoding\\\"),r=r instanceof hA?r.name:null,n.has(\\\"Differences\\\")){const A=n.get(\\\"Differences\\\");let e=0;for(const i of A){const A=t.fetchIfRef(i);if(\\\"number\\\"==typeof A)e=A;else{if(!(A instanceof hA))throw new W(`Invalid entry in \\\\'Differences\\\\' array: ${A}`);s[e++]=A.name}}}}else if(n instanceof hA)r=n.name;else{const A=\\\"Encoding is not a Name nor a Dict\\\";if(!this.options.ignoreErrors)throw new W(A);U(A)}\\\"MacRomanEncoding\\\"!==r&&\\\"MacExpertEncoding\\\"!==r&&\\\"WinAnsiEncoding\\\"!==r&&(r=null)}const g=!e.file||e.isInternalFont,o=ma()[e.name];if(r&&g&&o&&(r=null),r)e.defaultEncoding=Hi(r);else{const A=!!(4&e.flags),t=!!(32&e.flags);n=Ui,\\\"TrueType\\\"!==e.type||t||(n=Mi),(A||o)&&(n=xi,g&&(/Symbol/i.test(e.name)?n=Li:/Dingbats/i.test(e.name)?n=Ji:/Wingdings/i.test(e.name)&&(n=Mi))),e.defaultEncoding=n}e.differences=s,e.baseEncodingName=r,e.hasEncoding=!!r||s.length>0,e.dict=A,e.toUnicode=await a;const I=await this.buildToUnicode(e);return e.toUnicode=I,i&&(e.cidToGidMap=this.readCidToGidMap(i,I)),e}_simpleFontToUnicode(A,e=!1){L(!A.composite,\\\"Must be a simple font.\\\");const t=[],i=A.defaultEncoding.slice(),a=A.baseEncodingName,s=A.differences;for(const A in s){const e=s[A];\\\".notdef\\\"!==e&&(i[A]=e)}const n=aa();for(const s in i){let r=i[s];if(\\\"\\\"===r)continue;let g=n[r];if(void 0!==g){t[s]=String.fromCharCode(g);continue}let o=0;switch(r[0]){case\\\"G\\\":3===r.length&&(o=parseInt(r.substring(1),16));break;case\\\"g\\\":5===r.length&&(o=parseInt(r.substring(1),16));break;case\\\"C\\\":case\\\"c\\\":if(r.length>=3&&r.length<=4){const t=r.substring(1);if(e){o=parseInt(t,16);break}if(o=+t,Number.isNaN(o)&&Number.isInteger(parseInt(t,16)))return this._simpleFontToUnicode(A,!0)}break;case\\\"u\\\":g=ra(r,n),-1!==g&&(o=g);break;default:switch(r){case\\\"f_h\\\":case\\\"f_t\\\":case\\\"T_h\\\":t[s]=r.replaceAll(\\\"_\\\",\\\"\\\");continue}}if(o>0&&o<=1114111&&Number.isInteger(o)){if(a&&o===+s){const A=Hi(a);if(A&&(r=A[s])){t[s]=String.fromCharCode(n[r]);continue}}t[s]=String.fromCodePoint(o)}}return t}async buildToUnicode(A){if(A.hasIncludedToUnicodeMap=A.toUnicode?.length>0,A.hasIncludedToUnicodeMap)return!A.composite&&A.hasEncoding&&(A.fallbackToUnicode=this._simpleFontToUnicode(A)),A.toUnicode;if(!A.composite)return new Fa(this._simpleFontToUnicode(A));if(A.composite&&(A.cMap.builtInCMap&&!(A.cMap instanceof hi)||\\\"Adobe\\\"===A.cidSystemInfo?.registry&&(\\\"GB1\\\"===A.cidSystemInfo.ordering||\\\"CNS1\\\"===A.cidSystemInfo.ordering||\\\"Japan1\\\"===A.cidSystemInfo.ordering||\\\"Korea1\\\"===A.cidSystemInfo.ordering))){const{registry:e,ordering:t}=A.cidSystemInfo,i=hA.get(`${e}-${t}-UCS2`),a=await ki.create({encoding:i,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}),s=[],n=[];return A.cMap.forEach((function(A,e){if(e>65535)throw new W(\\\"Max size of CID is 65,535\\\");const t=a.lookup(e);if(t){n.length=0;for(let A=0,e=t.length;A>1;(0!==a||e.has(s))&&(t[s]=a)}return t}extractWidths(A,e,t){const i=this.xref;let a=[],s=0;const n=[];let r;if(t.composite){const e=A.get(\\\"DW\\\");s=\\\"number\\\"==typeof e?Math.ceil(e):1e3;const g=A.get(\\\"W\\\");if(Array.isArray(g))for(let A=0,e=g.length;A{const e=g.get(A),a=new $r;return i.getOperatorList({stream:e,task:t,resources:o,operatorList:a}).then((()=>{49===a.fnArray[0]&&this._removeType3ColorOperators(a,B),I[A]=a.getIR();for(const A of a.dependencies)n.add(A)})).catch((function(e){U(`Type3 font resource \\\"${A}\\\" is not available.`);const t=new $r;I[A]=t.getIR()}))}));return this.type3Loaded=r.then((()=>{s.charProcOperatorList=I,this._bbox&&(s.isCharBBox=!0,s.bbox=this._bbox)})),this.type3Loaded}_removeType3ColorOperators(A,e=NaN){const t=$.normalizeRect(A.argsArray[0].slice(2)),i=t[2]-t[0],a=t[3]-t[1],s=Math.hypot(i,a);0===i||0===a?(A.fnArray.splice(0,1),A.argsArray.splice(0,1)):(0===e||Math.round(s/e)>=10)&&(this._bbox||(this._bbox=[1/0,1/0,-1/0,-1/0]),this._bbox[0]=Math.min(this._bbox[0],t[0]),this._bbox[1]=Math.min(this._bbox[1],t[1]),this._bbox[2]=Math.max(this._bbox[2],t[2]),this._bbox[3]=Math.max(this._bbox[3],t[3]));let n=0,r=A.length;for(;n=13&&s<=28,a.variableArgs)r>n&&x(`Command ${i}: expected [0, ${n}] args, but received ${r} args.`);else{if(r!==n){const A=this.nonProcessedArgs;for(;r>n;)A.push(e.shift()),r--;for(;rhg.MAX_INVALID_PATH_OPS)throw new W(`Invalid ${A}`);U(`Skipping ${A}`),null!==e&&(e.length=0);continue}}return this.preprocessCommand(s,e),A.fn=s,A.args=e,!0}if(t===oA)return!1;if(null!==t&&(null===e&&(e=[]),e.push(t),e.length>33))throw new W(\\\"Too many arguments\\\")}}preprocessCommand(A,e){switch(0|A){case p:this.stateManager.save();break;case m:this.stateManager.restore();break;case y:this.stateManager.transform(e)}}}class Bg extends hg{constructor(A){super(new oe(A))}parse(){const A={fn:0,args:[]},e={fontSize:0,fontName:\\\"\\\",fontColor:new Uint8ClampedArray(3)};try{for(;A.args.length=0,this.read(A);){if(0!==this.savedStatesDepth)continue;const{fn:t,args:i}=A;switch(0|t){case w:const[A,t]=i;A instanceof hA&&(e.fontName=A.name),\\\"number\\\"==typeof t&&t>0&&(e.fontSize=t);break;case k:he.singletons.rgb.getRgbItem(i,0,e.fontColor,0);break;case 57:he.singletons.gray.getRgbItem(i,0,e.fontColor,0);break;case 61:he.singletons.cmyk.getRgbItem(i,0,e.fontColor,0)}}}catch(A){U(`parseDefaultAppearance - ignoring errors: \\\"${A}\\\".`)}return e}}function lg(A){return new Bg(A).parse()}class Qg extends hg{constructor(A,e,t){super(A),this.stream=A,this.evaluatorOptions=e,this.xref=t,this.resources=A.dict?.get(\\\"Resources\\\")}parse(){const A={fn:0,args:[]};let e={scaleFactor:1,fontSize:0,fontName:\\\"\\\",fontColor:new Uint8ClampedArray(3),fillColorSpace:he.singletons.gray},t=!1;const i=[];try{for(;A.args.length=0,!t&&this.read(A);){const{fn:a,args:s}=A;switch(0|a){case p:i.push({scaleFactor:e.scaleFactor,fontSize:e.fontSize,fontName:e.fontName,fontColor:e.fontColor.slice(),fillColorSpace:e.fillColorSpace});break;case m:e=i.pop()||e;break;case 42:e.scaleFactor*=Math.hypot(s[0],s[1]);break;case w:const[A,a]=s;A instanceof hA&&(e.fontName=A.name),\\\"number\\\"==typeof a&&a>0&&(e.fontSize=a*e.scaleFactor);break;case 51:e.fillColorSpace=he.parse({cs:s[0],xref:this.xref,resources:this.resources,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:this._localColorSpaceCache});break;case 54:e.fillColorSpace.getRgbItem(s,0,e.fontColor,0);break;case k:he.singletons.rgb.getRgbItem(s,0,e.fontColor,0);break;case 57:he.singletons.gray.getRgbItem(s,0,e.fontColor,0);break;case 61:he.singletons.cmyk.getRgbItem(s,0,e.fontColor,0);break;case D:case 45:case 46:case 47:t=!0}}}catch(A){U(`parseAppearanceStream - ignoring errors: \\\"${A}\\\".`)}return this.stream.reset(),delete e.scaleFactor,delete e.fillColorSpace,e}get _localColorSpaceCache(){return H(this,\\\"_localColorSpaceCache\\\",new $n)}get _pdfFunctionFactory(){return H(this,\\\"_pdfFunctionFactory\\\",new sr({xref:this.xref,isEvalSupported:this.evaluatorOptions.isEvalSupported}))}}function Eg(A,e){return A[0]===A[1]&&A[1]===A[2]?`${ee(A[0]/255)} ${e?\\\"g\\\":\\\"G\\\"}`:Array.from(A,(A=>ee(A/255))).join(\\\" \\\")+\\\" \\\"+(e?\\\"rg\\\":\\\"RG\\\")}class ug{constructor(A,e){this.xref=A,this.widths=null,this.firstChar=1/0,this.lastChar=-1/0,this.fontFamily=e;const t=new OffscreenCanvas(1,1);this.ctxMeasure=t.getContext(\\\"2d\\\",{willReadFrequently:!0}),ug._fontNameId||(ug._fontNameId=1),this.fontName=hA.get(`InvalidPDFjsFont_${e}_${ug._fontNameId++}`)}get fontDescriptorRef(){if(!ug._fontDescriptorRef){const A=new QA(this.xref);A.set(\\\"Type\\\",hA.get(\\\"FontDescriptor\\\")),A.set(\\\"FontName\\\",this.fontName),A.set(\\\"FontFamily\\\",\\\"MyriadPro Regular\\\"),A.set(\\\"FontBBox\\\",[0,0,0,0]),A.set(\\\"FontStretch\\\",hA.get(\\\"Normal\\\")),A.set(\\\"FontWeight\\\",400),A.set(\\\"ItalicAngle\\\",0),ug._fontDescriptorRef=this.xref.getNewPersistentRef(A)}return ug._fontDescriptorRef}get descendantFontRef(){const A=new QA(this.xref);A.set(\\\"BaseFont\\\",this.fontName),A.set(\\\"Type\\\",hA.get(\\\"Font\\\")),A.set(\\\"Subtype\\\",hA.get(\\\"CIDFontType0\\\")),A.set(\\\"CIDToGIDMap\\\",hA.get(\\\"Identity\\\")),A.set(\\\"FirstChar\\\",this.firstChar),A.set(\\\"LastChar\\\",this.lastChar),A.set(\\\"FontDescriptor\\\",this.fontDescriptorRef),A.set(\\\"DW\\\",1e3);const e=[],t=[...this.widths.entries()].sort();let i=null,a=null;for(const[A,s]of t)i?A===i+a.length?a.push(s):(e.push(i,a),i=A,a=[s]):(i=A,a=[s]);i&&e.push(i,a),A.set(\\\"W\\\",e);const s=new QA(this.xref);return s.set(\\\"Ordering\\\",\\\"Identity\\\"),s.set(\\\"Registry\\\",\\\"Adobe\\\"),s.set(\\\"Supplement\\\",0),A.set(\\\"CIDSystemInfo\\\",s),this.xref.getNewPersistentRef(A)}get baseFontRef(){const A=new QA(this.xref);return A.set(\\\"BaseFont\\\",this.fontName),A.set(\\\"Type\\\",hA.get(\\\"Font\\\")),A.set(\\\"Subtype\\\",hA.get(\\\"Type0\\\")),A.set(\\\"Encoding\\\",hA.get(\\\"Identity-H\\\")),A.set(\\\"DescendantFonts\\\",[this.descendantFontRef]),A.set(\\\"ToUnicode\\\",hA.get(\\\"Identity-H\\\")),this.xref.getNewPersistentRef(A)}get resources(){const A=new QA(this.xref),e=new QA(this.xref);return e.set(this.fontName.name,this.baseFontRef),A.set(\\\"Font\\\",e),A}_createContext(){return this.widths=new Map,this.ctxMeasure.font=`1000px ${this.fontFamily}`,this.ctxMeasure}createFontResources(A){const e=this._createContext();for(const t of A.split(/\\\\\\\\r\\\\\\\\n?|\\\\\\\\n/))for(const A of t.split(\\\"\\\")){const t=A.charCodeAt(0);if(this.widths.has(t))continue;const i=e.measureText(A),a=Math.ceil(i.width);this.widths.set(t,a),this.firstChar=Math.min(t,this.firstChar),this.lastChar=Math.max(t,this.lastChar)}return this.resources}static getFirstPositionInfo(A,e,t){const[i,a,s,n]=A;let g=s-i,o=n-a;e%180!=0&&([g,o]=[o,g]);const I=r*t;return{coords:[0,o+.35*t-I],bbox:[0,0,g,o],matrix:0!==e?ne(e,o,I):void 0}}createAppearance(A,e,t,i,a,s){const n=this._createContext(),g=[];let o=-1/0;for(const e of A.split(/\\\\\\\\r\\\\\\\\n?|\\\\\\\\n/)){g.push(e);const A=n.measureText(e).width;o=Math.max(o,A);for(const A of VA(e)){const e=String.fromCodePoint(A);let t=this.widths.get(A);if(void 0===t){const i=n.measureText(e);t=Math.ceil(i.width),this.widths.set(A,t),this.firstChar=Math.min(A,this.firstChar),this.lastChar=Math.max(A,this.lastChar)}}}o*=i/1e3;const[I,c,C,h]=e;let B=C-I,l=h-c;t%180!=0&&([B,l]=[l,B]);let Q=1;o>B&&(Q=B/o);let E=1;const u=r*i,d=.35*i,f=u*g.length;f>l&&(E=l/f);const p=i*Math.min(Q,E),m=[\\\"q\\\",`0 0 ${ee(B)} ${ee(l)} re W n`,\\\"BT\\\",`1 0 0 1 0 ${ee(l+d)} Tm 0 Tc ${Eg(a,!0)}`,`/${this.fontName.name} ${ee(p)} Tf`],{resources:y}=this;if(1!==(s=\\\"number\\\"==typeof s&&s>=0&&s<=1?s:1)){m.push(\\\"/R0 gs\\\");const A=new QA(this.xref),e=new QA(this.xref);e.set(\\\"ca\\\",s),e.set(\\\"CA\\\",s),e.set(\\\"Type\\\",hA.get(\\\"ExtGState\\\")),A.set(\\\"R0\\\",e),y.set(\\\"ExtGState\\\",A)}const w=ee(u);for(const A of g)m.push(`0 -${w} Td <${ae(A)}> Tj`);m.push(\\\"ET\\\",\\\"Q\\\");const D=m.join(\\\"\\\\\\\\n\\\"),b=new QA(this.xref);if(b.set(\\\"Subtype\\\",hA.get(\\\"Form\\\")),b.set(\\\"Type\\\",hA.get(\\\"XObject\\\")),b.set(\\\"BBox\\\",[0,0,B,l]),b.set(\\\"Length\\\",D.length),b.set(\\\"Resources\\\",y),t){const A=ne(t,B,l);b.set(\\\"Matrix\\\",A)}const k=new oe(D);return k.dict=b,k}}class dg{constructor(A,e,t){this.constructor===dg&&M(\\\"Cannot initialize NameOrNumberTree.\\\"),this.root=A,this.xref=e,this._type=t}getAll(){const A=new Map;if(!this.root)return A;const e=this.xref,t=new uA;t.put(this.root);const i=[this.root];for(;i.length>0;){const a=e.fetchIfRef(i.shift());if(!(a instanceof QA))continue;if(a.has(\\\"Kids\\\")){const A=a.get(\\\"Kids\\\");if(!Array.isArray(A))continue;for(const e of A){if(t.has(e))throw new W(`Duplicate entry in \\\"${this._type}\\\" tree.`);i.push(e),t.put(e)}continue}const s=a.get(this._type);if(Array.isArray(s))for(let t=0,i=s.length;t10)return U(`Search depth limit reached for \\\"${this._type}\\\" tree.`),null;const a=t.get(\\\"Kids\\\");if(!Array.isArray(a))return null;let s=0,n=a.length-1;for(;s<=n;){const i=s+n>>1,r=e.fetchIfRef(a[i]),g=r.get(\\\"Limits\\\");if(Ae.fetchIfRef(g[1]))){t=r;break}s=i+1}}if(s>n)return null}const a=t.get(this._type);if(Array.isArray(a)){let t=0,i=a.length-2;for(;t<=i;){const s=t+i>>1,n=s+(1&s),r=e.fetchIfRef(a[n]);if(Ar))return e.fetchIfRef(a[n+1]);t=n+2}}}return null}}class fg extends dg{constructor(A,e){super(A,e,\\\"Names\\\")}}class pg extends dg{constructor(A,e){super(A,e,\\\"Nums\\\")}}function mg(){_s=Object.create(null),IA=Object.create(null),cA=Object.create(null),CA=Object.create(null),ca.clear(),ei.cleanup()}function yg(A){return A instanceof QA?A.has(\\\"UF\\\")?A.get(\\\"UF\\\"):A.has(\\\"F\\\")?A.get(\\\"F\\\"):A.has(\\\"Unix\\\")?A.get(\\\"Unix\\\"):A.has(\\\"Mac\\\")?A.get(\\\"Mac\\\"):A.has(\\\"DOS\\\")?A.get(\\\"DOS\\\"):null:null}class wg{#F=!1;constructor(A,e,t=!1){A instanceof QA&&(this.xref=e,this.root=A,A.has(\\\"FS\\\")&&(this.fs=A.get(\\\"FS\\\")),A.has(\\\"RF\\\")&&U(\\\"Related file specifications are not supported\\\"),t||(A.has(\\\"EF\\\")?this.#F=!0:U(\\\"Non-embedded file specifications are not supported\\\")))}get filename(){let A=\\\"\\\";const e=yg(this.root);return e&&\\\"string\\\"==typeof e&&(A=eA(e).replaceAll(\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\"\\\\\\\\\\\\\\\\\\\").replaceAll(\\\"\\\\\\\\\\\\\\\\/\\\",\\\"/\\\").replaceAll(\\\"\\\\\\\\\\\\\\\\\\\",\\\"/\\\")),H(this,\\\"filename\\\",A||\\\"unnamed\\\")}get content(){if(!this.#F)return null;this._contentRef||=yg(this.root?.get(\\\"EF\\\"));let A=null;if(this._contentRef){const e=this.xref.fetchIfRef(this._contentRef);e instanceof wA?A=e.getBytes():U(\\\"Embedded file specification points to non-existing/invalid content\\\")}else U(\\\"Embedded file specification does not have any content\\\");return A}get description(){let A=\\\"\\\";const e=this.root?.get(\\\"Desc\\\");return e&&\\\"string\\\"==typeof e&&(A=eA(e)),H(this,\\\"description\\\",A)}get serializable(){return{rawFilename:this.filename,filename:(A=this.filename,A.substring(A.lastIndexOf(\\\"/\\\")+1)),content:this.content,description:this.description};var A}}function Dg(A,e){const t=A[e];return\\\" \\\"===t||\\\"\\\\\\\\n\\\"===t||\\\"\\\\\\\\r\\\"===t||\\\"\\\\\\\\t\\\"===t}class bg{_resolveEntities(A){return A.replaceAll(/&([^;]+);/g,((A,e)=>{if(\\\"#x\\\"===e.substring(0,2))return String.fromCodePoint(parseInt(e.substring(2),16));if(\\\"#\\\"===e.substring(0,1))return String.fromCodePoint(parseInt(e.substring(1),10));switch(e){case\\\"lt\\\":return\\\"<\\\";case\\\"gt\\\":return\\\">\\\";case\\\"amp\\\":return\\\"&\\\";case\\\"quot\\\":return\\\\'\\\"\\\\';case\\\"apos\\\":return\\\"\\\\'\\\"}return this.onResolveEntity(e)}))}_parseContent(A,e){const t=[];let i=e;function a(){for(;i\\\"!==A[i]&&\\\"/\\\"!==A[i];)++i;const s=A.substring(e,i);for(a();i\\\"!==A[i]&&\\\"/\\\"!==A[i]&&\\\"?\\\"!==A[i];){a();let e=\\\"\\\",s=\\\"\\\";for(;i\\\"!==A[t]&&\\\"?\\\"!==A[t]&&\\\"/\\\"!==A[t];)++t;const i=A.substring(e,t);!function(){for(;t\\\"!==A[t+1]);)++t;return{name:i,value:A.substring(a,t),parsed:t-e}}parseXml(A){let e=0;for(;e\\\",t),e<0)return void this.onError(-9);this.onEndElement(A.substring(t,e)),t=e+1;break;case\\\"?\\\":++t;const i=this._parseProcessingInstruction(A,t);if(\\\"?>\\\"!==A.substring(t+i.parsed,t+i.parsed+2))return void this.onError(-3);this.onPi(i.name,i.value),t+=i.parsed+2;break;case\\\"!\\\":if(\\\"--\\\"===A.substring(t+1,t+3)){if(e=A.indexOf(\\\"--\\\\\\\\x3e\\\",t+3),e<0)return void this.onError(-5);this.onComment(A.substring(t+3,e)),t=e+3}else if(\\\"[CDATA[\\\"===A.substring(t+1,t+8)){if(e=A.indexOf(\\\"]]>\\\",t+8),e<0)return void this.onError(-2);this.onCdata(A.substring(t+8,e)),t=e+3}else{if(\\\"DOCTYPE\\\"!==A.substring(t+1,t+8))return void this.onError(-6);{const i=A.indexOf(\\\"[\\\",t+8);let a=!1;if(e=A.indexOf(\\\">\\\",t+8),e<0)return void this.onError(-4);if(i>0&&e>i){if(e=A.indexOf(\\\"]>\\\",t+8),e<0)return void this.onError(-4);a=!0}const s=A.substring(t+8,e+(a?1:0));this.onDoctype(s),t=e+(a?2:1)}}break;default:const a=this._parseContent(A,t);if(null===a)return void this.onError(-6);let s=!1;if(\\\"/>\\\"===A.substring(t+a.parsed,t+a.parsed+2))s=!0;else if(\\\">\\\"!==A.substring(t+a.parsed,t+a.parsed+1))return void this.onError(-9);this.onBeginElement(a.name,a.attributes,s),t+=a.parsed+(s?2:1)}}else{for(;t0}searchNode(A,e){if(e>=A.length)return this;const t=A[e];if(t.name.startsWith(\\\"#\\\")&&e0)i.push([a,0]),a=a.childNodes[0];else{if(0===i.length)return null;for(;0!==i.length;){const[A,e]=i.pop(),t=e+1;if(t\\\");for(const e of this.childNodes)e.dump(A);A.push(``)}else this.nodeValue?A.push(`>${zA(this.nodeValue)}`):A.push(\\\"/>\\\")}else A.push(zA(this.nodeValue))}}class Fg extends bg{constructor({hasAttributes:A=!1,lowerCaseName:e=!1}){super(),this._currentFragment=null,this._stack=null,this._errorCode=0,this._hasAttributes=A,this._lowerCaseName=e}parseFromString(A){if(this._currentFragment=[],this._stack=[],this._errorCode=0,this.parseXml(A),0!==this._errorCode)return;const[e]=this._currentFragment;return e?{documentElement:e}:void 0}onText(A){if(function(A){for(let e=0,t=A.length;e\\\\\\\\\\\\\\\\376\\\\\\\\\\\\\\\\377([^<]+)/g,(function(A,e){const t=e.replaceAll(/\\\\\\\\\\\\\\\\([0-3])([0-7])([0-7])/g,(function(A,e,t,i){return String.fromCharCode(64*e+8*t+1*i)})).replaceAll(/&(amp|apos|gt|lt|quot);/g,(function(A,e){switch(e){case\\\"amp\\\":return\\\"&\\\";case\\\"apos\\\":return\\\"\\\\'\\\";case\\\"gt\\\":return\\\">\\\";case\\\"lt\\\":return\\\"<\\\";case\\\"quot\\\":return\\\\'\\\"\\\\'}throw new Error(`_repair: ${e} isn\\\\'t defined.`)})),i=[\\\">\\\"];for(let A=0,e=t.length;A=32&&e<127&&60!==e&&62!==e&&38!==e?i.push(String.fromCharCode(e)):i.push(\\\"&#x\\\"+(65536+e).toString(16).substring(1)+\\\";\\\")}return i.join(\\\"\\\")}))}_getSequence(A){const e=A.nodeName;return\\\"rdf:bag\\\"!==e&&\\\"rdf:seq\\\"!==e&&\\\"rdf:alt\\\"!==e?null:A.childNodes.filter((A=>\\\"rdf:li\\\"===A.nodeName))}_parseArray(A){if(!A.hasChildNodes())return;const[e]=A.childNodes,t=this._getSequence(e)||[];this._metadataMap.set(A.nodeName,t.map((A=>A.textContent.trim())))}_parse(A){let e=A.documentElement;if(\\\"rdf:rdf\\\"!==e.nodeName)for(e=e.firstChild;e&&\\\"rdf:rdf\\\"!==e.nodeName;)e=e.nextSibling;if(e&&\\\"rdf:rdf\\\"===e.nodeName&&e.hasChildNodes())for(const A of e.childNodes)if(\\\"rdf:description\\\"===A.nodeName)for(const e of A.childNodes){const A=e.nodeName;switch(A){case\\\"#text\\\":continue;case\\\"dc:creator\\\":case\\\"dc:subject\\\":this._parseArray(e);continue}this._metadataMap.set(A,e.textContent.trim())}}get serializable(){return{parsedData:this._metadataMap,rawData:this._data}}}class Rg extends Ne{constructor(A,e,t){super(e),this.str=A,this.dict=A.dict,this.decrypt=t,this.nextChunk=null,this.initialized=!1}readBlock(){let A;if(this.initialized?A=this.nextChunk:(A=this.str.getBytes(512),this.initialized=!0),!A||0===A.length)return void(this.eof=!0);this.nextChunk=this.str.getBytes(512);const e=this.nextChunk?.length>0;A=(0,this.decrypt)(A,!e);const t=this.bufferLength,i=t+A.length;this.ensureBuffer(i).set(A,t),this.bufferLength=i}}class Gg{constructor(A){this.a=0,this.b=0;const e=new Uint8Array(256),t=A.length;for(let A=0;A<256;++A)e[A]=A;for(let i=0,a=0;i<256;++i){const s=e[i];a=a+s+A[i%t]&255,e[i]=e[a],e[a]=s}this.s=e}encryptBlock(A){let e=this.a,t=this.b;const i=this.s,a=A.length,s=new Uint8Array(a);for(let n=0;n>5&255,I[c++]=a>>13&255,I[c++]=a>>21&255,I[c++]=a>>>29&255,I[c++]=0,I[c++]=0,I[c++]=0;const B=new Int32Array(16);for(c=0;c>>32-r)|0,a=s}s=s+a|0,n=n+o|0,r=r+h|0,g=g+l|0}return new Uint8Array([255&s,s>>8&255,s>>16&255,s>>>24&255,255&n,n>>8&255,n>>16&255,n>>>24&255,255&r,r>>8&255,r>>16&255,r>>>24&255,255&g,g>>8&255,g>>16&255,g>>>24&255])}}();class xg{constructor(A,e){this.high=0|A,this.low=0|e}and(A){this.high&=A.high,this.low&=A.low}xor(A){this.high^=A.high,this.low^=A.low}or(A){this.high|=A.high,this.low|=A.low}shiftRight(A){A>=32?(this.low=this.high>>>A-32|0,this.high=0):(this.low=this.low>>>A|this.high<<32-A,this.high=this.high>>>A|0)}shiftLeft(A){A>=32?(this.high=this.low<>>32-A,this.low<<=A)}rotateRight(A){let e,t;32&A?(t=this.low,e=this.high):(e=this.low,t=this.high),A&=31,this.low=e>>>A|t<<32-A,this.high=t>>>A|e<<32-A}not(){this.high=~this.high,this.low=~this.low}add(A){const e=(this.low>>>0)+(A.low>>>0);let t=(this.high>>>0)+(A.high>>>0);e>4294967295&&(t+=1),this.low=0|e,this.high=0|t}copyTo(A,e){A[e]=this.high>>>24&255,A[e+1]=this.high>>16&255,A[e+2]=this.high>>8&255,A[e+3]=255&this.high,A[e+4]=this.low>>>24&255,A[e+5]=this.low>>16&255,A[e+6]=this.low>>8&255,A[e+7]=255&this.low}assign(A){this.high=A.high,this.low=A.low}}const Ug=function(){function A(A,e){return A>>>e|A<<32-e}function e(A,e,t){return A&e^~A&t}function t(A,e,t){return A&e^A&t^e&t}function i(e){return A(e,2)^A(e,13)^A(e,22)}function a(e){return A(e,6)^A(e,11)^A(e,25)}function s(e){return A(e,7)^A(e,18)^e>>>3}const n=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];return function(r,g,o){let I=1779033703,c=3144134277,C=1013904242,h=2773480762,B=1359893119,l=2600822924,Q=528734635,E=1541459225;const u=64*Math.ceil((o+9)/64),d=new Uint8Array(u);let f,p;for(f=0;f>>29&255,d[f++]=o>>21&255,d[f++]=o>>13&255,d[f++]=o>>5&255,d[f++]=o<<3&255;const y=new Uint32Array(64);for(f=0;f>>10)+y[p-7]+s(y[p-15])+y[p-16]|0;let r,g,o=I,u=c,m=C,D=h,b=B,k=l,F=Q,S=E;for(p=0;p<64;++p)r=S+a(b)+e(b,k,F)+n[p]+y[p],g=i(o)+t(o,u,m),S=F,F=k,k=b,b=D+r|0,D=m,m=u,u=o,o=r+g|0;I=I+o|0,c=c+u|0,C=C+m|0,h=h+D|0,B=B+b|0,l=l+k|0,Q=Q+F|0,E=E+S|0}var w;return new Uint8Array([I>>24&255,I>>16&255,I>>8&255,255&I,c>>24&255,c>>16&255,c>>8&255,255&c,C>>24&255,C>>16&255,C>>8&255,255&C,h>>24&255,h>>16&255,h>>8&255,255&h,B>>24&255,B>>16&255,B>>8&255,255&B,l>>24&255,l>>16&255,l>>8&255,255&l,Q>>24&255,Q>>16&255,Q>>8&255,255&Q,E>>24&255,E>>16&255,E>>8&255,255&E])}}(),Mg=function(){function A(A,e,t,i,a){A.assign(e),A.and(t),a.assign(e),a.not(),a.and(i),A.xor(a)}function e(A,e,t,i,a){A.assign(e),A.and(t),a.assign(e),a.and(i),A.xor(a),a.assign(t),a.and(i),A.xor(a)}function t(A,e,t){A.assign(e),A.rotateRight(28),t.assign(e),t.rotateRight(34),A.xor(t),t.assign(e),t.rotateRight(39),A.xor(t)}function i(A,e,t){A.assign(e),A.rotateRight(14),t.assign(e),t.rotateRight(18),A.xor(t),t.assign(e),t.rotateRight(41),A.xor(t)}function a(A,e,t){A.assign(e),A.rotateRight(1),t.assign(e),t.rotateRight(8),A.xor(t),t.assign(e),t.shiftRight(7),A.xor(t)}function s(A,e,t){A.assign(e),A.rotateRight(19),t.assign(e),t.rotateRight(61),A.xor(t),t.assign(e),t.shiftRight(6),A.xor(t)}const n=[new xg(1116352408,3609767458),new xg(1899447441,602891725),new xg(3049323471,3964484399),new xg(3921009573,2173295548),new xg(961987163,4081628472),new xg(1508970993,3053834265),new xg(2453635748,2937671579),new xg(2870763221,3664609560),new xg(3624381080,2734883394),new xg(310598401,1164996542),new xg(607225278,1323610764),new xg(1426881987,3590304994),new xg(1925078388,4068182383),new xg(2162078206,991336113),new xg(2614888103,633803317),new xg(3248222580,3479774868),new xg(3835390401,2666613458),new xg(4022224774,944711139),new xg(264347078,2341262773),new xg(604807628,2007800933),new xg(770255983,1495990901),new xg(1249150122,1856431235),new xg(1555081692,3175218132),new xg(1996064986,2198950837),new xg(2554220882,3999719339),new xg(2821834349,766784016),new xg(2952996808,2566594879),new xg(3210313671,3203337956),new xg(3336571891,1034457026),new xg(3584528711,2466948901),new xg(113926993,3758326383),new xg(338241895,168717936),new xg(666307205,1188179964),new xg(773529912,1546045734),new xg(1294757372,1522805485),new xg(1396182291,2643833823),new xg(1695183700,2343527390),new xg(1986661051,1014477480),new xg(2177026350,1206759142),new xg(2456956037,344077627),new xg(2730485921,1290863460),new xg(2820302411,3158454273),new xg(3259730800,3505952657),new xg(3345764771,106217008),new xg(3516065817,3606008344),new xg(3600352804,1432725776),new xg(4094571909,1467031594),new xg(275423344,851169720),new xg(430227734,3100823752),new xg(506948616,1363258195),new xg(659060556,3750685593),new xg(883997877,3785050280),new xg(958139571,3318307427),new xg(1322822218,3812723403),new xg(1537002063,2003034995),new xg(1747873779,3602036899),new xg(1955562222,1575990012),new xg(2024104815,1125592928),new xg(2227730452,2716904306),new xg(2361852424,442776044),new xg(2428436474,593698344),new xg(2756734187,3733110249),new xg(3204031479,2999351573),new xg(3329325298,3815920427),new xg(3391569614,3928383900),new xg(3515267271,566280711),new xg(3940187606,3454069534),new xg(4118630271,4000239992),new xg(116418474,1914138554),new xg(174292421,2731055270),new xg(289380356,3203993006),new xg(460393269,320620315),new xg(685471733,587496836),new xg(852142971,1086792851),new xg(1017036298,365543100),new xg(1126000580,2618297676),new xg(1288033470,3409855158),new xg(1501505948,4234509866),new xg(1607167915,987167468),new xg(1816402316,1246189591)];return function(r,g,o,I=!1){let c,C,h,B,l,Q,E,u;I?(c=new xg(3418070365,3238371032),C=new xg(1654270250,914150663),h=new xg(2438529370,812702999),B=new xg(355462360,4144912697),l=new xg(1731405415,4290775857),Q=new xg(2394180231,1750603025),E=new xg(3675008525,1694076839),u=new xg(1203062813,3204075428)):(c=new xg(1779033703,4089235720),C=new xg(3144134277,2227873595),h=new xg(1013904242,4271175723),B=new xg(2773480762,1595750129),l=new xg(1359893119,2917565137),Q=new xg(2600822924,725511199),E=new xg(528734635,4215389547),u=new xg(1541459225,327033209));const d=128*Math.ceil((o+17)/128),f=new Uint8Array(d);let p,m;for(p=0;p>>29&255,f[p++]=o>>21&255,f[p++]=o>>13&255,f[p++]=o>>5&255,f[p++]=o<<3&255;const w=new Array(80);for(p=0;p<80;p++)w[p]=new xg(0,0);let D=new xg(0,0),b=new xg(0,0),k=new xg(0,0),F=new xg(0,0),S=new xg(0,0),R=new xg(0,0),G=new xg(0,0),N=new xg(0,0);const x=new xg(0,0),U=new xg(0,0),M=new xg(0,0),L=new xg(0,0);let J,H;for(p=0;p=1;--A){t=s[13],s[13]=s[9],s[9]=s[5],s[5]=s[1],s[1]=t,t=s[14],i=s[10],s[14]=s[6],s[10]=s[2],s[6]=t,s[2]=i,t=s[15],i=s[11],a=s[7],s[15]=s[3],s[11]=t,s[7]=i,s[3]=a;for(let A=0;A<16;++A)s[A]=this._inv_s[s[A]];for(let t=0,i=16*A;t<16;++t,++i)s[t]^=e[i];for(let A=0;A<16;A+=4){const e=this._mix[s[A]],i=this._mix[s[A+1]],a=this._mix[s[A+2]],n=this._mix[s[A+3]];t=e^i>>>8^i<<24^a>>>16^a<<16^n>>>24^n<<8,s[A]=t>>>24&255,s[A+1]=t>>16&255,s[A+2]=t>>8&255,s[A+3]=255&t}}t=s[13],s[13]=s[9],s[9]=s[5],s[5]=s[1],s[1]=t,t=s[14],i=s[10],s[14]=s[6],s[10]=s[2],s[6]=t,s[2]=i,t=s[15],i=s[11],a=s[7],s[15]=s[3],s[11]=t,s[7]=i,s[3]=a;for(let A=0;A<16;++A)s[A]=this._inv_s[s[A]],s[A]^=e[A];return s}_encrypt(A,e){const t=this._s;let i,a,s;const n=new Uint8Array(16);n.set(A);for(let A=0;A<16;++A)n[A]^=e[A];for(let A=1;A=i;--t)if(A[t]!==e){e=0;break}r-=e,s[s.length-1]=A.subarray(0,16-e)}}const g=new Uint8Array(r);for(let A=0,e=0,t=s.length;A=256&&(r=255&(27^r)));for(let e=0;e<4;++e)t[A]=i^=t[A-32],A++,t[A]=a^=t[A-32],A++,t[A]=s^=t[A-32],A++,t[A]=n^=t[A-32],A++}return t}}class vg{checkOwnerPassword(A,e,t,i){const a=new Uint8Array(A.length+56);return a.set(A,0),a.set(e,A.length),a.set(t,A.length+e.length),aA(Ug(a,0,a.length),i)}checkUserPassword(A,e,t){const i=new Uint8Array(A.length+8);return i.set(A,0),i.set(e,A.length),aA(Ug(i,0,i.length),t)}getOwnerKey(A,e,t,i){const a=new Uint8Array(A.length+56);a.set(A,0),a.set(e,A.length),a.set(t,A.length+e.length);const s=Ug(a,0,a.length);return new Yg(s).decryptBlock(i,!1,new Uint8Array(16))}getUserKey(A,e,t){const i=new Uint8Array(A.length+8);i.set(A,0),i.set(e,A.length);const a=Ug(i,0,i.length);return new Yg(a).decryptBlock(t,!1,new Uint8Array(16))}}class Kg{_hash(A,e,t){let i=Ug(e,0,e.length).subarray(0,32),a=[0],s=0;for(;s<64||a.at(-1)>s-32;){const e=A.length+i.length+t.length,g=new Uint8Array(e);let o=0;g.set(A,o),o+=A.length,g.set(i,o),o+=i.length,g.set(t,o);const I=new Uint8Array(64*e);for(let A=0,t=0;A<64;A++,t+=e)I.set(g,t);a=new Hg(i.subarray(0,16)).encrypt(I,i.subarray(16,32));const c=a.slice(0,16).reduce(((A,e)=>A+e),0)%3;0===c?i=Ug(a,0,a.length):1===c?(n=a,0,r=a.length,i=Mg(n,0,r,!0)):2===c&&(i=Mg(a,0,a.length)),s++}var n,r;return i.subarray(0,32)}checkOwnerPassword(A,e,t,i){const a=new Uint8Array(A.length+56);return a.set(A,0),a.set(e,A.length),a.set(t,A.length+e.length),aA(this._hash(A,a,t),i)}checkUserPassword(A,e,t){const i=new Uint8Array(A.length+8);return i.set(A,0),i.set(e,A.length),aA(this._hash(A,i,[]),t)}getOwnerKey(A,e,t,i){const a=new Uint8Array(A.length+56);a.set(A,0),a.set(e,A.length),a.set(t,A.length+e.length);const s=this._hash(A,a,t);return new Yg(s).decryptBlock(i,!1,new Uint8Array(16))}getUserKey(A,e,t){const i=new Uint8Array(A.length+8);i.set(A,0),i.set(e,A.length);const a=this._hash(A,i,[]);return new Yg(a).decryptBlock(t,!1,new Uint8Array(16))}}class qg{constructor(A,e){this.StringCipherConstructor=A,this.StreamCipherConstructor=e}createStream(A,e){const t=new this.StreamCipherConstructor;return new Rg(A,e,(function(A,e){return t.decryptBlock(A,e)}))}decryptString(A){const e=new this.StringCipherConstructor;let t=j(A);return t=e.decryptBlock(t,!0),Z(t)}encryptString(A){const e=new this.StringCipherConstructor;if(e instanceof Jg){const t=16-A.length%16;A+=String.fromCharCode(t).repeat(t);const i=new Uint8Array(16);if(\\\"undefined\\\"!=typeof crypto)crypto.getRandomValues(i);else for(let A=0;A<16;A++)i[A]=Math.floor(256*Math.random());let a=j(A);a=e.encrypt(a,i);const s=new Uint8Array(16+a.length);return s.set(i),s.set(a,16),Z(s)}let t=j(A);return t=e.encrypt(t),Z(t)}}class Tg{static#S=new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]);#R(A,e,t,i,a,s,n,r,g,o,I,c){if(e){const A=Math.min(127,e.length);e=e.subarray(0,A)}else e=[];const C=6===A?new Kg:new vg;return C.checkUserPassword(e,r,n)?C.getUserKey(e,g,I):e.length&&C.checkOwnerPassword(e,i,s,t)?C.getOwnerKey(e,a,s,o):null}#G(A,e,t,i,a,s,n,r){const g=40+t.length+A.length,o=new Uint8Array(g);let I,c,C=0;if(e)for(c=Math.min(32,e.length);C>8&255,o[C++]=a>>16&255,o[C++]=a>>>24&255,I=0,c=A.length;I=4&&!r&&(o[C++]=255,o[C++]=255,o[C++]=255,o[C++]=255);let h=Ng(o,0,C);const B=n>>3;if(s>=3)for(I=0;I<50;++I)h=Ng(h,0,B);const l=h.subarray(0,B);let Q,E;if(s>=3){for(C=0;C<32;++C)o[C]=Tg.#S[C];for(I=0,c=A.length;I>3;if(t>=3)for(r=0;r<50;++r)g=Ng(g,0,g.length);let I,c;if(t>=3){c=e;const A=new Uint8Array(o);for(r=19;r>=0;r--){for(let e=0;e>8&255,a[n++]=A>>16&255,a[n++]=255&e,a[n++]=e>>8&255,i&&(a[n++]=115,a[n++]=65,a[n++]=108,a[n++]=84),Ng(a,0,n).subarray(0,Math.min(t.length+5,16))}#U(A,e,t,i,a){if(!(e instanceof hA))throw new W(\\\"Invalid crypt filter name.\\\");const s=this,n=A.get(e.name)?.get(\\\"CFM\\\");if(!n||\\\"None\\\"===n.name)return function(){return new Lg};if(\\\"V2\\\"===n.name)return function(){return new Gg(s.#x(t,i,a,!1))};if(\\\"AESV2\\\"===n.name)return function(){return new Hg(s.#x(t,i,a,!0))};if(\\\"AESV3\\\"===n.name)return function(){return new Yg(a)};throw new W(\\\"Unknown crypto method\\\")}constructor(A,e,t){const i=A.get(\\\"Filter\\\");if(!fA(i,\\\"Standard\\\"))throw new W(\\\"unknown encryption method\\\");this.filterName=i.name,this.dict=A;const a=A.get(\\\"V\\\");if(!Number.isInteger(a)||1!==a&&2!==a&&4!==a&&5!==a)throw new W(\\\"unsupported encryption algorithm\\\");this.algorithm=a;let s=A.get(\\\"Length\\\");if(!s)if(a<=3)s=40;else{const e=A.get(\\\"CF\\\"),t=A.get(\\\"StmF\\\");if(e instanceof QA&&t instanceof hA){e.suppressEncryption=!0;s=e.get(t.name)?.get(\\\"Length\\\")||128,s<40&&(s<<=3)}}if(!Number.isInteger(s)||s<40||s%8!=0)throw new W(\\\"invalid key length\\\");const n=j(A.get(\\\"O\\\")),r=j(A.get(\\\"U\\\")),g=n.subarray(0,32),o=r.subarray(0,32),I=A.get(\\\"P\\\"),c=A.get(\\\"R\\\"),C=(4===a||5===a)&&!1!==A.get(\\\"EncryptMetadata\\\");this.encryptMetadata=C;const h=j(e);let B,l;if(t){if(6===c)try{t=iA(t)}catch{U(\\\"CipherTransformFactory: Unable to convert UTF8 encoded password.\\\")}B=j(t)}if(5!==a)l=this.#G(h,B,g,o,I,c,s,C);else{const e=n.subarray(32,40),t=n.subarray(40,48),i=r.subarray(0,48),a=r.subarray(32,40),s=r.subarray(40,48),I=j(A.get(\\\"OE\\\")),C=j(A.get(\\\"UE\\\")),h=j(A.get(\\\"Perms\\\"));l=this.#R(c,B,g,e,t,i,o,a,s,I,C,h)}if(!l&&!t)throw new v(\\\"No password given\\\",1);if(!l&&t){const A=this.#N(B,g,c,s);l=this.#G(h,A,g,o,I,c,s,C)}if(!l)throw new v(\\\"Incorrect Password\\\",2);if(this.encryptionKey=l,a>=4){const e=A.get(\\\"CF\\\");e instanceof QA&&(e.suppressEncryption=!0),this.cf=e,this.stmf=A.get(\\\"StmF\\\")||hA.get(\\\"Identity\\\"),this.strf=A.get(\\\"StrF\\\")||hA.get(\\\"Identity\\\"),this.eff=A.get(\\\"EFF\\\")||this.stmf}}createCipherTransform(A,e){if(4===this.algorithm||5===this.algorithm)return new qg(this.#U(this.cf,this.strf,A,e,this.encryptionKey),this.#U(this.cf,this.stmf,A,e,this.encryptionKey));const t=this.#x(A,e,this.encryptionKey,!1),i=function(){return new Gg(t)};return new qg(i,i)}}async function Pg(A,e,t,{encrypt:i=null}){const a=i?.createCipherTransform(A.num,A.gen);t.push(`${A.num} ${A.gen} obj\\\\\\\\n`),e instanceof QA?await Wg(e,t,a):e instanceof wA?await Og(e,t,a):(Array.isArray(e)||ArrayBuffer.isView(e))&&await Zg(e,t,a),t.push(\\\"\\\\\\\\nendobj\\\\\\\\n\\\")}async function Wg(A,e,t){e.push(\\\"<<\\\");for(const i of A.getKeys())e.push(` /${WA(i)} `),await jg(A.getRaw(i),e,t);e.push(\\\">>\\\")}async function Og(A,e,t){let i=A.getBytes();const{dict:a}=A,[s,n]=await Promise.all([a.getAsync(\\\"Filter\\\"),a.getAsync(\\\"DecodeParms\\\")]),r=fA(Array.isArray(s)?await a.xref.fetchIfRefAsync(s[0]):s,\\\"FlateDecode\\\");if(i.length>=256||r)try{const A=new CompressionStream(\\\"deflate\\\"),e=A.writable.getWriter();e.write(i),e.close();const t=await new Response(A.readable).arrayBuffer();let g,o;i=new Uint8Array(t),s?r||(g=Array.isArray(s)?[hA.get(\\\"FlateDecode\\\"),...s]:[hA.get(\\\"FlateDecode\\\"),s],n&&(o=Array.isArray(n)?[null,...n]:[null,n])):g=hA.get(\\\"FlateDecode\\\"),g&&a.set(\\\"Filter\\\",g),o&&a.set(\\\"DecodeParms\\\",o)}catch(A){x(`writeStream - cannot compress data: \\\"${A}\\\".`)}let g=Z(i);t&&(g=t.encryptString(g)),a.set(\\\"Length\\\",g.length),await Wg(a,e,t),e.push(\\\" stream\\\\\\\\n\\\",g,\\\"\\\\\\\\nendstream\\\")}async function Zg(A,e,t){e.push(\\\"[\\\");let i=!0;for(const a of A)i?i=!1:e.push(\\\" \\\"),await jg(a,e,t);e.push(\\\"]\\\")}async function jg(A,e,t){A instanceof hA?e.push(`/${WA(A.name)}`):A instanceof EA?e.push(`${A.num} ${A.gen} R`):Array.isArray(A)||ArrayBuffer.isView(A)?await Zg(A,e,t):\\\"string\\\"==typeof A?(t&&(A=t.encryptString(A)),e.push(`(${OA(A)})`)):\\\"number\\\"==typeof A?e.push(ee(A)):\\\"boolean\\\"==typeof A?e.push(A.toString()):A instanceof QA?await Wg(A,e,t):A instanceof wA?await Og(A,e,t):null===A?e.push(\\\"null\\\"):U(`Unhandled value in writer: ${typeof A}, please file a bug.`)}function Xg(A,e,t,i){for(let a=e+t-1;a>t-1;a--)i[a]=255&A,A>>=8;return t+e}function Vg(A,e,t){for(let i=0,a=A.length;i0){const i=function(A,e){const t=Math.floor(Date.now()/1e3),i=e.filename||\\\"\\\",a=[t.toString(),i,A.toString()];let s=a.reduce(((A,e)=>A+e.length),0);for(const A of Object.values(e.info))a.push(A),s+=A.length;const n=new Uint8Array(s);let r=0;for(const A of a)Vg(A,r,n),r+=A.length;return Z(Ng(n))}(A,e);t.set(\\\"ID\\\",[e.fileIds[0],i])}}async function $g({originalData:A,xrefInfo:e,newRefs:t,xref:i=null,hasXfa:a=!1,xfaDatasetsRef:s=null,hasXfaDatasetsEntry:n=!1,needAppearances:r,acroFormRef:g=null,acroForm:o=null,xfaData:I=null,useXrefStream:c=!1}){await async function({xref:A,acroForm:e,acroFormRef:t,hasXfa:i,hasXfaDatasetsEntry:a,xfaDatasetsRef:s,needAppearances:n,newRefs:r}){if(!i||a||s||U(\\\"XFA - Cannot save it\\\"),!n&&(!i||!s||a))return;const g=e.clone();if(i&&!a){const A=e.get(\\\"XFA\\\").slice();A.splice(2,0,\\\"datasets\\\"),A.splice(3,0,s),g.set(\\\"XFA\\\",A)}n&&g.set(\\\"NeedAppearances\\\",!0);const o=[];await Pg(t,g,o,A),r.push({ref:t,data:o.join(\\\"\\\")})}({xref:i,acroForm:o,acroFormRef:g,hasXfa:a,hasXfaDatasetsEntry:n,xfaDatasetsRef:s,needAppearances:r,newRefs:t}),a&&function({xfaData:A,xfaDatasetsRef:e,newRefs:t,xref:i}){null===A&&(A=function(A,e){const t=new Fg({hasAttributes:!0}).parseFromString(A);for(const{xfa:A}of e){if(!A)continue;const{path:e,value:i}=A;if(!e)continue;const a=PA(e);let s=t.documentElement.searchNode(a,0);!s&&a.length>1&&(s=t.documentElement.searchNode([a.at(-1)],0)),s?s.childNodes=Array.isArray(i)?i.map((A=>new kg(\\\"value\\\",A))):[new kg(\\\"#text\\\",i)]:U(`Node not found for path: ${e}`)}const i=[];return t.documentElement.dump(i),i.join(\\\"\\\")}(i.fetchIfRef(e).getString(),t));const a=i.encrypt;a&&(A=a.createCipherTransform(e.num,e.gen).encryptString(A));const s=`${e.num} ${e.gen} obj\\\\\\\\n<< /Type /EmbeddedFile /Length ${A.length}>>\\\\\\\\nstream\\\\\\\\n`+A+\\\"\\\\\\\\nendstream\\\\\\\\nendobj\\\\\\\\n\\\";t.push({ref:e,data:s})}({xfaData:I,xfaDatasetsRef:s,newRefs:t,xref:i});const C=[];let h=A.length;const B=A.at(-1);10!==B&&13!==B&&(C.push(\\\"\\\\\\\\n\\\"),h+=1);const l=function(A,e,t){const i=new QA(null);i.set(\\\"Prev\\\",A.startXRef);const a=A.newRef;return t?(e.push({ref:a,data:\\\"\\\"}),i.set(\\\"Size\\\",a.num+1),i.set(\\\"Type\\\",hA.get(\\\"XRef\\\"))):i.set(\\\"Size\\\",a.num),null!==A.rootRef&&i.set(\\\"Root\\\",A.rootRef),null!==A.infoRef&&i.set(\\\"Info\\\",A.infoRef),null!==A.encryptRef&&i.set(\\\"Encrypt\\\",A.encryptRef),i}(e,t,c);t=t.sort(((A,e)=>A.ref.num-e.ref.num));for(const{data:A}of t)null!==A&&C.push(A);await(c?async function(A,e,t,i,a){const s=[];let n=0,r=0;for(const{ref:A,data:i}of t){let t;n=Math.max(n,e),null!==i?(t=Math.min(A.gen,65535),s.push([1,e,t]),e+=i.length):(t=Math.min(A.gen+1,65535),s.push([0,0,t])),r=Math.max(r,t)}i.set(\\\"Index\\\",zg(t));const g=[1,re(n),re(r)];i.set(\\\"W\\\",g),_g(e,A,i);const o=g.reduce(((A,e)=>A+e),0),I=new Uint8Array(o*s.length),c=new ge(I);c.dict=i;let C=0;for(const[A,e,t]of s)C=Xg(A,g[0],C,I),C=Xg(e,g[1],C,I),C=Xg(t,g[2],C,I);await Pg(A.newRef,c,a,{}),a.push(\\\"startxref\\\\\\\\n\\\",e.toString(),\\\"\\\\\\\\n%%EOF\\\\\\\\n\\\")}(e,h,t,l,C):async function(A,e,t,i,a){a.push(\\\"xref\\\\\\\\n\\\");const s=zg(t);let n=0;for(const{ref:A,data:i}of t)A.num===s[n]&&(a.push(`${s[n]} ${s[n+1]}\\\\\\\\n`),n+=2),null!==i?(a.push(`${e.toString().padStart(10,\\\"0\\\")} ${Math.min(A.gen,65535).toString().padStart(5,\\\"0\\\")} n\\\\\\\\r\\\\\\\\n`),e+=i.length):a.push(`0000000000 ${Math.min(A.gen+1,65535).toString().padStart(5,\\\"0\\\")} f\\\\\\\\r\\\\\\\\n`);_g(e,A,i),a.push(\\\"trailer\\\\\\\\n\\\"),await Wg(i,a),a.push(\\\"\\\\\\\\nstartxref\\\\\\\\n\\\",e.toString(),\\\"\\\\\\\\n%%EOF\\\\\\\\n\\\")}(e,h,t,l,C));const Q=C.reduce(((A,e)=>A+e.length),A.length),E=new Uint8Array(Q);E.set(A);let u=A.length;for(const A of C)Vg(A,u,E),u+=A.length;return E}class Ao{constructor(A,e){this.dict=A,this.ref=e instanceof EA?e:null,this.roleMap=new Map,this.structParentIds=null}init(){this.readRoleMap()}#M(A,e,t){if(!(A instanceof EA)||e<0)return;this.structParentIds||=new dA;let i=this.structParentIds.get(A);i||(i=[],this.structParentIds.put(A,i)),i.push([e,t])}addAnnotationIdToPage(A,e){this.#M(A,e,4)}readRoleMap(){const A=this.dict.get(\\\"RoleMap\\\");A instanceof QA&&A.forEach(((A,e)=>{e instanceof hA&&this.roleMap.set(A,e.name)}))}static async canCreateStructureTree({catalogRef:A,pdfManager:e,newAnnotationsByPage:t}){if(!(A instanceof EA))return U(\\\"Cannot save the struct tree: no catalog reference.\\\"),!1;let i=0,a=!0;for(const[A,s]of t){const{ref:t}=await e.getPage(A);if(!(t instanceof EA)){U(`Cannot save the struct tree: page ${A} has no ref.`),a=!0;break}for(const A of s)A.accessibilityData?.type&&(A.parentTreeId=i++,a=!1)}if(a){for(const A of t.values())for(const e of A)delete e.parentTreeId;return!1}return!0}static async createStructureTree({newAnnotationsByPage:A,xref:e,catalogRef:t,pdfManager:i,newRefs:a}){const s=i.catalog.cloneDict(),n=new dA;n.put(t,s);const r=e.getNewTemporaryRef();s.set(\\\"StructTreeRoot\\\",r);const g=new QA(e);g.set(\\\"Type\\\",hA.get(\\\"StructTreeRoot\\\"));const o=e.getNewTemporaryRef();g.set(\\\"ParentTree\\\",o);const I=[];g.set(\\\"K\\\",I),n.put(r,g);const c=new QA(e),C=[];c.set(\\\"Nums\\\",C);const h=await this.#L({newAnnotationsByPage:A,structTreeRootRef:r,kids:I,nums:C,xref:e,pdfManager:i,cache:n});g.set(\\\"ParentTreeNextKey\\\",h),n.put(o,c);const B=[];for(const[A,t]of n.items())B.length=0,await Pg(A,t,B,e),a.push({ref:A,data:B.join(\\\"\\\")})}async canUpdateStructTree({pdfManager:A,xref:e,newAnnotationsByPage:t}){if(!this.ref)return U(\\\"Cannot update the struct tree: no root reference.\\\"),!1;let i=this.dict.get(\\\"ParentTreeNextKey\\\");if(!Number.isInteger(i)||i<0)return U(\\\"Cannot update the struct tree: invalid next key.\\\"),!1;const a=this.dict.get(\\\"ParentTree\\\");if(!(a instanceof QA))return U(\\\"Cannot update the struct tree: ParentTree isn\\\\'t a dict.\\\"),!1;const s=a.get(\\\"Nums\\\");if(!Array.isArray(s))return U(\\\"Cannot update the struct tree: nums isn\\\\'t an array.\\\"),!1;const n=new pg(a,e);for(const e of t.keys()){const{pageDict:t}=await A.getPage(e);if(!t.has(\\\"StructParents\\\"))continue;const i=t.get(\\\"StructParents\\\");if(!Number.isInteger(i)||!Array.isArray(n.get(i)))return U(`Cannot save the struct tree: page ${e} has a wrong id.`),!1}let r=!0;for(const[e,a]of t){const{pageDict:t}=await A.getPage(e);Ao.#J({elements:a,xref:this.dict.xref,pageDict:t,numberTree:n});for(const A of a)A.accessibilityData?.type&&(A.parentTreeId=i++,r=!1)}if(r){for(const A of t.values())for(const e of A)delete e.parentTreeId,delete e.structTreeParent;return!1}return!0}async updateStructureTree({newAnnotationsByPage:A,pdfManager:e,newRefs:t}){const i=this.dict.xref,a=this.dict.clone(),s=this.ref,n=new dA;n.put(s,a);let r,g=a.getRaw(\\\"ParentTree\\\");g instanceof EA?r=i.fetch(g):(r=g,g=i.getNewTemporaryRef(),a.set(\\\"ParentTree\\\",g)),r=r.clone(),n.put(g,r);let o=r.getRaw(\\\"Nums\\\"),I=null;o instanceof EA&&(I=o,o=i.fetch(I)),o=o.slice(),I||r.set(\\\"Nums\\\",o);const c=await Ao.#L({newAnnotationsByPage:A,structTreeRootRef:s,kids:null,nums:o,xref:i,pdfManager:e,cache:n});a.set(\\\"ParentTreeNextKey\\\",c),I&&n.put(I,o);const C=[];for(const[A,e]of n.items())C.length=0,await Pg(A,e,C,i),t.push({ref:A,data:C.join(\\\"\\\")})}static async#L({newAnnotationsByPage:A,structTreeRootRef:e,kids:t,nums:i,xref:a,pdfManager:s,cache:n}){const r=hA.get(\\\"OBJR\\\");let g=-1/0;for(const[o,I]of A){const{ref:A}=await s.getPage(o),c=A instanceof EA;for(const{accessibilityData:s,ref:o,parentTreeId:C,structTreeParent:h}of I){if(!s?.type)continue;const{type:I,title:B,lang:l,alt:Q,expanded:E,actualText:u}=s;g=Math.max(g,C);const d=a.getNewTemporaryRef(),f=new QA(a);f.set(\\\"S\\\",hA.get(I)),B&&f.set(\\\"T\\\",ie(B)),l&&f.set(\\\"Lang\\\",l),Q&&f.set(\\\"Alt\\\",ie(Q)),E&&f.set(\\\"E\\\",ie(E)),u&&f.set(\\\"ActualText\\\",ie(u)),await this.#H({structTreeParent:h,tagDict:f,newTagRef:d,structTreeRootRef:e,fallbackKids:t,xref:a,cache:n});const p=new QA(a);f.set(\\\"K\\\",p),p.set(\\\"Type\\\",r),c&&p.set(\\\"Pg\\\",A),p.set(\\\"Obj\\\",o),n.put(d,f),i.push(C,d)}}return g+1}static#J({elements:A,xref:e,pageDict:t,numberTree:i}){const a=new Map;for(const e of A)if(e.structTreeParentId){const A=parseInt(e.structTreeParentId.split(\\\"_mc\\\")[1],10);let t=a.get(A);t||(t=[],a.set(A,t)),t.push(e)}const s=t.get(\\\"StructParents\\\");if(!Number.isInteger(s))return;const n=i.get(s),r=(A,t,i)=>{const s=a.get(A);if(s){const A=t.getRaw(\\\"P\\\"),a=e.fetchIfRef(A);if(A instanceof EA&&a instanceof QA){const A={ref:i,dict:t};for(const e of s)e.structTreeParent=A}return!0}return!1};for(const A of n){if(!(A instanceof EA))continue;const t=e.fetch(A),i=t.get(\\\"K\\\");if(Number.isInteger(i))r(i,t,A);else if(Array.isArray(i))for(let a of i){if(a=e.fetchIfRef(a),Number.isInteger(a)&&r(a,t,A))break;if(!(a instanceof QA))continue;if(!fA(a.get(\\\"Type\\\"),\\\"MCR\\\"))break;const i=a.get(\\\"MCID\\\");if(Number.isInteger(i)&&r(i,t,A))break}}}static async#H({structTreeParent:A,tagDict:e,newTagRef:t,structTreeRootRef:i,fallbackKids:a,xref:s,cache:n}){let r,g=null;A?(({ref:g}=A),r=A.dict.getRaw(\\\"P\\\")||i):r=i,e.set(\\\"P\\\",r);const o=s.fetchIfRef(r);if(!o)return void a.push(t);let I=n.get(r);I||(I=o.clone(),n.put(r,I));const c=I.getRaw(\\\"K\\\");let C=c instanceof EA?n.get(c):null;if(!C){C=s.fetchIfRef(c),C=Array.isArray(C)?C.slice():[c];const A=s.getNewTemporaryRef();I.set(\\\"K\\\",A),n.put(A,C)}const h=C.indexOf(g);C.splice(h>=0?h+1:C.length,0,t)}}class eo{constructor(A,e){this.tree=A,this.dict=e,this.kids=[],this.parseKids()}get role(){const A=this.dict.get(\\\"S\\\"),e=A instanceof hA?A.name:\\\"\\\",{root:t}=this.tree;return t.roleMap.has(e)?t.roleMap.get(e):e}parseKids(){let A=null;const e=this.dict.getRaw(\\\"Pg\\\");e instanceof EA&&(A=e.toString());const t=this.dict.get(\\\"K\\\");if(Array.isArray(t))for(const e of t){const t=this.parseKid(A,e);t&&this.kids.push(t)}else{const e=this.parseKid(A,t);e&&this.kids.push(e)}}parseKid(A,e){if(Number.isInteger(e))return this.tree.pageDict.objId!==A?null:new to({type:1,mcid:e,pageObjId:A});let t=null;if(e instanceof EA?t=this.dict.xref.fetch(e):e instanceof QA&&(t=e),!t)return null;const i=t.getRaw(\\\"Pg\\\");i instanceof EA&&(A=i.toString());const a=t.get(\\\"Type\\\")instanceof hA?t.get(\\\"Type\\\").name:null;if(\\\"MCR\\\"===a){if(this.tree.pageDict.objId!==A)return null;const e=t.getRaw(\\\"Stm\\\");return new to({type:2,refObjId:e instanceof EA?e.toString():null,pageObjId:A,mcid:t.get(\\\"MCID\\\")})}if(\\\"OBJR\\\"===a){if(this.tree.pageDict.objId!==A)return null;const e=t.getRaw(\\\"Obj\\\");return new to({type:3,refObjId:e instanceof EA?e.toString():null,pageObjId:A})}return new to({type:5,dict:t})}}class to{constructor({type:A,dict:e=null,mcid:t=null,pageObjId:i=null,refObjId:a=null}){this.type=A,this.dict=e,this.mcid=t,this.pageObjId=i,this.refObjId=a,this.parentNode=null}}class io{constructor(A,e){this.root=A,this.rootDict=A?A.dict:null,this.pageDict=e,this.nodes=[]}parse(A){if(!this.root||!this.rootDict)return;const e=this.rootDict.get(\\\"ParentTree\\\");if(!e)return;const t=this.pageDict.get(\\\"StructParents\\\"),i=A instanceof EA&&this.root.structParentIds?.get(A);if(!Number.isInteger(t)&&!i)return;const a=new Map,s=new pg(e,this.rootDict.xref);if(Number.isInteger(t)){const A=s.get(t);if(Array.isArray(A))for(const e of A)e instanceof EA&&this.addNode(this.rootDict.xref.fetch(e),a)}if(i)for(const[A,e]of i){const t=s.get(A);if(t){const A=this.addNode(this.rootDict.xref.fetchIfRef(t),a);1===A?.kids?.length&&3===A.kids[0].type&&(A.kids[0].type=e)}}}addNode(A,e,t=0){if(t>40)return U(\\\"StructTree MAX_DEPTH reached.\\\"),null;if(e.has(A))return e.get(A);const i=new eo(this,A);e.set(A,i);const a=A.get(\\\"P\\\");if(!a||fA(a.get(\\\"Type\\\"),\\\"StructTreeRoot\\\"))return this.addTopLevelNode(A,i)||e.delete(A),i;const s=this.addNode(a,e,t+1);if(!s)return i;let n=!1;for(const e of s.kids)5===e.type&&e.dict===A&&(e.parentNode=i,n=!0);return n||e.delete(A),i}addTopLevelNode(A,e){const t=this.rootDict.get(\\\"K\\\");if(!t)return!1;if(t instanceof QA)return t.objId===A.objId&&(this.nodes[0]=e,!0);if(!Array.isArray(t))return!0;let i=!1;for(let a=0;a40)return void U(\\\"StructTree too deep to be fully serialized.\\\");const a=Object.create(null);a.role=e.role,a.children=[],t.children.push(a);const s=e.dict.get(\\\"Alt\\\");\\\"string\\\"==typeof s&&(a.alt=eA(s));const n=e.dict.get(\\\"Lang\\\");\\\"string\\\"==typeof n&&(a.lang=eA(n));for(const t of e.kids){const e=5===t.type?t.parentNode:null;e?A(e,a,i+1):1===t.type||2===t.type?a.children.push({type:\\\"content\\\",id:`p${t.pageObjId}_mc${t.mcid}`}):3===t.type?a.children.push({type:\\\"object\\\",id:t.refObjId}):4===t.type&&a.children.push({type:\\\"annotation\\\",id:`pdfjs_internal_id_${t.refObjId}`})}}const e=Object.create(null);e.children=[],e.role=\\\"Root\\\";for(const t of this.nodes)t&&A(t,e);return e}}function ao(A){if(!Array.isArray(A)||A.length<2)return!1;const[e,t,...i]=A;if(!(e instanceof EA||Number.isInteger(e)))return!1;if(!(t instanceof hA))return!1;const a=i.length;let s=!0;switch(t.name){case\\\"XYZ\\\":if(a<2||a>3)return!1;break;case\\\"Fit\\\":case\\\"FitB\\\":return 0===a;case\\\"FitH\\\":case\\\"FitBH\\\":case\\\"FitV\\\":case\\\"FitBV\\\":if(a>1)return!1;break;case\\\"FitR\\\":if(4!==a)return!1;s=!1;break;default:return!1}for(const A of i)if(!(\\\"number\\\"==typeof A||s&&null===A))return!1;return!0}function so(A){return A instanceof QA&&(A=A.get(\\\"D\\\")),ao(A)?A:null}function no(A){let e=A.get(\\\"D\\\");if(e){if(e instanceof hA&&(e=e.name),\\\"string\\\"==typeof e)return eA(e);if(ao(e))return JSON.stringify(e)}return null}class ro{constructor(A,e){if(this.pdfManager=A,this.xref=e,this._catDict=e.getCatalogObj(),!(this._catDict instanceof QA))throw new W(\\\"Catalog object is not a dictionary.\\\");this.toplevelPagesDict,this._actualNumPages=null,this.fontCache=new dA,this.builtInCMapCache=new Map,this.standardFontDataCache=new Map,this.globalImageCache=new ar,this.pageKidsCountCache=new dA,this.pageIndexCache=new dA,this.nonBlendModesSet=new uA,this.systemFontCache=new Map}cloneDict(){return this._catDict.clone()}get version(){const A=this._catDict.get(\\\"Version\\\");if(A instanceof hA){if(DA.test(A.name))return H(this,\\\"version\\\",A.name);U(`Invalid PDF catalog version: ${A.name}`)}return H(this,\\\"version\\\",null)}get lang(){const A=this._catDict.get(\\\"Lang\\\");return H(this,\\\"lang\\\",A&&\\\"string\\\"==typeof A?eA(A):null)}get needsRendering(){const A=this._catDict.get(\\\"NeedsRendering\\\");return H(this,\\\"needsRendering\\\",\\\"boolean\\\"==typeof A&&A)}get collection(){let A=null;try{const e=this._catDict.get(\\\"Collection\\\");e instanceof QA&&e.size>0&&(A=e)}catch(A){if(A instanceof kA)throw A;x(\\\"Cannot fetch Collection entry; assuming no collection is present.\\\")}return H(this,\\\"collection\\\",A)}get acroForm(){let A=null;try{const e=this._catDict.get(\\\"AcroForm\\\");e instanceof QA&&e.size>0&&(A=e)}catch(A){if(A instanceof kA)throw A;x(\\\"Cannot fetch AcroForm entry; assuming no forms are present.\\\")}return H(this,\\\"acroForm\\\",A)}get acroFormRef(){const A=this._catDict.getRaw(\\\"AcroForm\\\");return H(this,\\\"acroFormRef\\\",A instanceof EA?A:null)}get metadata(){const A=this._catDict.getRaw(\\\"Metadata\\\");if(!(A instanceof EA))return H(this,\\\"metadata\\\",null);let e=null;try{const t=this.xref.fetch(A,!this.xref.encrypt?.encryptMetadata);if(t instanceof wA&&t.dict instanceof QA){const A=t.dict.get(\\\"Type\\\"),i=t.dict.get(\\\"Subtype\\\");if(fA(A,\\\"Metadata\\\")&&fA(i,\\\"XML\\\")){const A=tA(t.getString());A&&(e=new Sg(A).serializable)}}}catch(A){if(A instanceof kA)throw A;x(`Skipping invalid Metadata: \\\"${A}\\\".`)}return H(this,\\\"metadata\\\",e)}get markInfo(){let A=null;try{A=this._readMarkInfo()}catch(A){if(A instanceof kA)throw A;U(\\\"Unable to read mark info.\\\")}return H(this,\\\"markInfo\\\",A)}_readMarkInfo(){const A=this._catDict.get(\\\"MarkInfo\\\");if(!(A instanceof QA))return null;const e={Marked:!1,UserProperties:!1,Suspects:!1};for(const t in e){const i=A.get(t);\\\"boolean\\\"==typeof i&&(e[t]=i)}return e}get structTreeRoot(){let A=null;try{A=this._readStructTreeRoot()}catch(A){if(A instanceof kA)throw A;U(\\\"Unable read to structTreeRoot info.\\\")}return H(this,\\\"structTreeRoot\\\",A)}_readStructTreeRoot(){const A=this._catDict.getRaw(\\\"StructTreeRoot\\\"),e=this.xref.fetchIfRef(A);if(!(e instanceof QA))return null;const t=new Ao(e,A);return t.init(),t}get toplevelPagesDict(){const A=this._catDict.get(\\\"Pages\\\");if(!(A instanceof QA))throw new W(\\\"Invalid top-level pages dictionary.\\\");return H(this,\\\"toplevelPagesDict\\\",A)}get documentOutline(){let A=null;try{A=this._readDocumentOutline()}catch(A){if(A instanceof kA)throw A;U(\\\"Unable to read document outline.\\\")}return H(this,\\\"documentOutline\\\",A)}_readDocumentOutline(){let A=this._catDict.get(\\\"Outlines\\\");if(!(A instanceof QA))return null;if(A=A.getRaw(\\\"First\\\"),!(A instanceof EA))return null;const e={items:[]},t=[{obj:A,parent:e}],i=new uA;i.put(A);const a=this.xref,s=new Uint8ClampedArray(3);for(;t.length>0;){const e=t.shift(),n=a.fetchIfRef(e.obj);if(null===n)continue;n.has(\\\"Title\\\")||U(\\\"Invalid outline item encountered.\\\");const r={url:null,dest:null,action:null};ro.parseDestDictionary({destDict:n,resultObj:r,docBaseUrl:this.baseUrl,docAttachments:this.attachments});const g=n.get(\\\"Title\\\"),o=n.get(\\\"F\\\")||0,I=n.getArray(\\\"C\\\"),c=n.get(\\\"Count\\\");let C=s;!vA(I,3)||0===I[0]&&0===I[1]&&0===I[2]||(C=he.singletons.rgb.getRgb(I,0));const h={action:r.action,attachment:r.attachment,dest:r.dest,url:r.url,unsafeUrl:r.unsafeUrl,newWindow:r.newWindow,setOCGState:r.setOCGState,title:\\\"string\\\"==typeof g?eA(g):\\\"\\\",color:C,count:Number.isInteger(c)?c:void 0,bold:!!(2&o),italic:!!(1&o),items:[]};e.parent.items.push(h),A=n.getRaw(\\\"First\\\"),A instanceof EA&&!i.has(A)&&(t.push({obj:A,parent:h}),i.put(A)),A=n.getRaw(\\\"Next\\\"),A instanceof EA&&!i.has(A)&&(t.push({obj:A,parent:e.parent}),i.put(A))}return e.items.length>0?e.items:null}get permissions(){let A=null;try{A=this._readPermissions()}catch(A){if(A instanceof kA)throw A;U(\\\"Unable to read permissions.\\\")}return H(this,\\\"permissions\\\",A)}_readPermissions(){const A=this.xref.trailer.get(\\\"Encrypt\\\");if(!(A instanceof QA))return null;let e=A.get(\\\"P\\\");if(\\\"number\\\"!=typeof e)return null;e+=2**32;const t=[];for(const A in I){const i=I[A];e&i&&t.push(i)}return t}get optionalContentConfig(){let A=null;try{const e=this._catDict.get(\\\"OCProperties\\\");if(!e)return H(this,\\\"optionalContentConfig\\\",null);const t=e.get(\\\"D\\\");if(!t)return H(this,\\\"optionalContentConfig\\\",null);const i=e.get(\\\"OCGs\\\");if(!Array.isArray(i))return H(this,\\\"optionalContentConfig\\\",null);const a=[],s=new uA;for(const A of i)A instanceof EA&&!s.has(A)&&(s.put(A),a.push(this.#Y(A)));A=this.#v(t,s),A.groups=a}catch(A){if(A instanceof kA)throw A;U(`Unable to read optional content config: ${A}`)}return H(this,\\\"optionalContentConfig\\\",A)}#Y(A){const e=this.xref.fetch(A),t={id:A.toString(),name:null,intent:null,usage:{print:null,view:null}},i=e.get(\\\"Name\\\");\\\"string\\\"==typeof i&&(t.name=eA(i));let a=e.getArray(\\\"Intent\\\");Array.isArray(a)||(a=[a]),a.every((A=>A instanceof hA))&&(t.intent=a.map((A=>A.name)));const s=e.get(\\\"Usage\\\");if(!(s instanceof QA))return t;const n=t.usage,r=s.get(\\\"Print\\\");if(r instanceof QA){const A=r.get(\\\"PrintState\\\");if(A instanceof hA)switch(A.name){case\\\"ON\\\":case\\\"OFF\\\":n.print={printState:A.name}}}const g=s.get(\\\"View\\\");if(g instanceof QA){const A=g.get(\\\"ViewState\\\");if(A instanceof hA)switch(A.name){case\\\"ON\\\":case\\\"OFF\\\":n.view={viewState:A.name}}}return t}#v(A,e){function t(A){const t=[];if(Array.isArray(A))for(const i of A)i instanceof EA&&e.has(i)&&t.push(i.toString());return t}function i(A,t=0){if(!Array.isArray(A))return null;const i=[];for(const s of A){if(s instanceof EA&&e.has(s)){n.put(s),i.push(s.toString());continue}const A=a(s,t);A&&i.push(A)}if(t>0)return i;const s=[];for(const A of e)n.has(A)||s.push(A.toString());return s.length&&i.push({name:null,order:s}),i}function a(A,e){if(++e>r)return U(\\\"parseNestedOrder - reached MAX_NESTED_LEVELS.\\\"),null;const t=s.fetchIfRef(A);if(!Array.isArray(t))return null;const a=s.fetchIfRef(t[0]);if(\\\"string\\\"!=typeof a)return null;const n=i(t.slice(1),e);return n&&n.length?{name:eA(a),order:n}:null}const s=this.xref,n=new uA,r=10;return{name:\\\"string\\\"==typeof A.get(\\\"Name\\\")?eA(A.get(\\\"Name\\\")):null,creator:\\\"string\\\"==typeof A.get(\\\"Creator\\\")?eA(A.get(\\\"Creator\\\")):null,baseState:A.get(\\\"BaseState\\\")instanceof hA?A.get(\\\"BaseState\\\").name:null,on:t(A.get(\\\"ON\\\")),off:t(A.get(\\\"OFF\\\")),order:i(A.get(\\\"Order\\\")),groups:null}}setActualNumPages(A=null){this._actualNumPages=A}get hasActualNumPages(){return null!==this._actualNumPages}get _pagesCount(){const A=this.toplevelPagesDict.get(\\\"Count\\\");if(!Number.isInteger(A))throw new W(\\\"Page count in top-level pages dictionary is not an integer.\\\");return H(this,\\\"_pagesCount\\\",A)}get numPages(){return this.hasActualNumPages?this._actualNumPages:this._pagesCount}get destinations(){const A=this._readDests(),e=Object.create(null);if(A instanceof fg)for(const[t,i]of A.getAll()){const A=so(i);A&&(e[eA(t)]=A)}else A instanceof QA&&A.forEach((function(A,t){const i=so(t);i&&(e[A]=i)}));return H(this,\\\"destinations\\\",e)}getDestination(A){const e=this._readDests();if(e instanceof fg){const t=so(e.get(A));if(t)return t;const i=this.destinations[A];if(i)return U(`Found \\\"${A}\\\" at an incorrect position in the NameTree.`),i}else if(e instanceof QA){const t=so(e.get(A));if(t)return t}return null}_readDests(){const A=this._catDict.get(\\\"Names\\\");return A?.has(\\\"Dests\\\")?new fg(A.getRaw(\\\"Dests\\\"),this.xref):this._catDict.has(\\\"Dests\\\")?this._catDict.get(\\\"Dests\\\"):void 0}get pageLabels(){let A=null;try{A=this._readPageLabels()}catch(A){if(A instanceof kA)throw A;U(\\\"Unable to read page labels.\\\")}return H(this,\\\"pageLabels\\\",A)}_readPageLabels(){const A=this._catDict.getRaw(\\\"PageLabels\\\");if(!A)return null;const e=new Array(this.numPages);let t=null,i=\\\"\\\";const a=new pg(A,this.xref).getAll();let s=\\\"\\\",n=1;for(let A=0,r=this.numPages;A=1))throw new W(\\\"Invalid start in PageLabel dictionary.\\\");n=A}else n=1}switch(t){case\\\"D\\\":s=n;break;case\\\"R\\\":case\\\"r\\\":s=UA(n,\\\"r\\\"===t);break;case\\\"A\\\":case\\\"a\\\":const A=26,e=\\\"a\\\"===t?97:65,i=n-1;s=String.fromCharCode(e+i%A).repeat(Math.floor(i/A)+1);break;default:if(t)throw new W(`Invalid style \\\"${t}\\\" in PageLabel dictionary.`);s=\\\"\\\"}e[A]=i+s,n++}return e}get pageLayout(){const A=this._catDict.get(\\\"PageLayout\\\");let e=\\\"\\\";if(A instanceof hA)switch(A.name){case\\\"SinglePage\\\":case\\\"OneColumn\\\":case\\\"TwoColumnLeft\\\":case\\\"TwoColumnRight\\\":case\\\"TwoPageLeft\\\":case\\\"TwoPageRight\\\":e=A.name}return H(this,\\\"pageLayout\\\",e)}get pageMode(){const A=this._catDict.get(\\\"PageMode\\\");let e=\\\"UseNone\\\";if(A instanceof hA)switch(A.name){case\\\"UseNone\\\":case\\\"UseOutlines\\\":case\\\"UseThumbs\\\":case\\\"FullScreen\\\":case\\\"UseOC\\\":case\\\"UseAttachments\\\":e=A.name}return H(this,\\\"pageMode\\\",e)}get viewerPreferences(){const A=this._catDict.get(\\\"ViewerPreferences\\\");if(!(A instanceof QA))return H(this,\\\"viewerPreferences\\\",null);let e=null;for(const t of A.getKeys()){const i=A.get(t);let a;switch(t){case\\\"HideToolbar\\\":case\\\"HideMenubar\\\":case\\\"HideWindowUI\\\":case\\\"FitWindow\\\":case\\\"CenterWindow\\\":case\\\"DisplayDocTitle\\\":case\\\"PickTrayByPDFSize\\\":\\\"boolean\\\"==typeof i&&(a=i);break;case\\\"NonFullScreenPageMode\\\":if(i instanceof hA)switch(i.name){case\\\"UseNone\\\":case\\\"UseOutlines\\\":case\\\"UseThumbs\\\":case\\\"UseOC\\\":a=i.name;break;default:a=\\\"UseNone\\\"}break;case\\\"Direction\\\":if(i instanceof hA)switch(i.name){case\\\"L2R\\\":case\\\"R2L\\\":a=i.name;break;default:a=\\\"L2R\\\"}break;case\\\"ViewArea\\\":case\\\"ViewClip\\\":case\\\"PrintArea\\\":case\\\"PrintClip\\\":if(i instanceof hA)switch(i.name){case\\\"MediaBox\\\":case\\\"CropBox\\\":case\\\"BleedBox\\\":case\\\"TrimBox\\\":case\\\"ArtBox\\\":a=i.name;break;default:a=\\\"CropBox\\\"}break;case\\\"PrintScaling\\\":if(i instanceof hA)switch(i.name){case\\\"None\\\":case\\\"AppDefault\\\":a=i.name;break;default:a=\\\"AppDefault\\\"}break;case\\\"Duplex\\\":if(i instanceof hA)switch(i.name){case\\\"Simplex\\\":case\\\"DuplexFlipShortEdge\\\":case\\\"DuplexFlipLongEdge\\\":a=i.name;break;default:a=\\\"None\\\"}break;case\\\"PrintPageRange\\\":Array.isArray(i)&&i.length%2==0&&i.every(((A,e,t)=>Number.isInteger(A)&&A>0&&(0===e||A>=t[e-1])&&A<=this.numPages))&&(a=i);break;case\\\"NumCopies\\\":Number.isInteger(i)&&i>0&&(a=i);break;default:U(`Ignoring non-standard key in ViewerPreferences: ${t}.`);continue}void 0!==a?(e||(e=Object.create(null)),e[t]=a):U(`Bad value, for key \\\"${t}\\\", in ViewerPreferences: ${i}.`)}return H(this,\\\"viewerPreferences\\\",e)}get openAction(){const A=this._catDict.get(\\\"OpenAction\\\"),e=Object.create(null);if(A instanceof QA){const t=new QA(this.xref);t.set(\\\"A\\\",A);const i={url:null,dest:null,action:null};ro.parseDestDictionary({destDict:t,resultObj:i}),Array.isArray(i.dest)?e.dest=i.dest:i.action&&(e.action=i.action)}else Array.isArray(A)&&(e.dest=A);return H(this,\\\"openAction\\\",V(e)>0?e:null)}get attachments(){const A=this._catDict.get(\\\"Names\\\");let e=null;if(A instanceof QA&&A.has(\\\"EmbeddedFiles\\\")){const t=new fg(A.getRaw(\\\"EmbeddedFiles\\\"),this.xref);for(const[A,i]of t.getAll()){const t=new wg(i,this.xref);e||(e=Object.create(null)),e[eA(A)]=t.serializable}}return H(this,\\\"attachments\\\",e)}get xfaImages(){const A=this._catDict.get(\\\"Names\\\");let e=null;if(A instanceof QA&&A.has(\\\"XFAImages\\\")){const t=new fg(A.getRaw(\\\"XFAImages\\\"),this.xref);for(const[A,i]of t.getAll())e||(e=new QA(this.xref)),e.set(eA(A),i)}return H(this,\\\"xfaImages\\\",e)}_collectJavaScript(){const A=this._catDict.get(\\\"Names\\\");let e=null;function t(A,t){if(!(t instanceof QA))return;if(!fA(t.get(\\\"S\\\"),\\\"JavaScript\\\"))return;let i=t.get(\\\"JS\\\");if(i instanceof wA)i=i.getString();else if(\\\"string\\\"!=typeof i)return;i=eA(i).replaceAll(\\\"\\\\\\\\0\\\",\\\"\\\"),i&&(e||=new Map).set(A,i)}if(A instanceof QA&&A.has(\\\"JavaScript\\\")){const e=new fg(A.getRaw(\\\"JavaScript\\\"),this.xref);for(const[A,i]of e.getAll())t(eA(A),i)}const i=this._catDict.get(\\\"OpenAction\\\");return i&&t(\\\"OpenAction\\\",i),e}get jsActions(){const A=this._collectJavaScript();let e=jA(this.xref,this._catDict,l);if(A){e||=Object.create(null);for(const[t,i]of A)t in e?e[t].push(i):e[t]=[i]}return H(this,\\\"jsActions\\\",e)}async fontFallback(A,e){const t=await Promise.all(this.fontCache);for(const i of t)if(i.loadedName===A)return void i.fallback(e)}async cleanup(A=!1){mg(),this.globalImageCache.clear(A),this.pageKidsCountCache.clear(),this.pageIndexCache.clear(),this.nonBlendModesSet.clear();const e=await Promise.all(this.fontCache);for(const{dict:A}of e)delete A.cacheKey;this.fontCache.clear(),this.builtInCMapCache.clear(),this.standardFontDataCache.clear(),this.systemFontCache.clear()}async getPageDict(A){const e=[this.toplevelPagesDict],t=new uA,i=this._catDict.getRaw(\\\"Pages\\\");i instanceof EA&&t.put(i);const a=this.xref,s=this.pageKidsCountCache,n=this.pageIndexCache;let r=0;for(;e.length;){const i=e.pop();if(i instanceof EA){const g=s.get(i);if(g>=0&&r+g<=A){r+=g;continue}if(t.has(i))throw new W(\\\"Pages tree contains circular reference.\\\");t.put(i);const o=await a.fetchAsync(i);if(o instanceof QA){let e=o.getRaw(\\\"Type\\\");if(e instanceof EA&&(e=await a.fetchAsync(e)),fA(e,\\\"Page\\\")||!o.has(\\\"Kids\\\")){if(s.has(i)||s.put(i,1),n.has(i)||n.put(i,r),r===A)return[o,i];r++;continue}}e.push(o);continue}if(!(i instanceof QA))throw new W(\\\"Page dictionary kid reference points to wrong type of object.\\\");const{objId:g}=i;let o=i.getRaw(\\\"Count\\\");if(o instanceof EA&&(o=await a.fetchAsync(o)),Number.isInteger(o)&&o>=0&&(g&&!s.has(g)&&s.put(g,o),r+o<=A)){r+=o;continue}let I=i.getRaw(\\\"Kids\\\");if(I instanceof EA&&(I=await a.fetchAsync(I)),!Array.isArray(I)){let e=i.getRaw(\\\"Type\\\");if(e instanceof EA&&(e=await a.fetchAsync(e)),fA(e,\\\"Page\\\")||!i.has(\\\"Kids\\\")){if(r===A)return[i,null];r++;continue}throw new W(\\\"Page dictionary kids object is not an array.\\\")}for(let A=I.length-1;A>=0;A--)e.push(I[A])}throw new Error(`Page index ${A} not found.`)}async getAllPageDicts(A=!1){const{ignoreErrors:e}=this.pdfManager.evaluatorOptions,t=[{currentNode:this.toplevelPagesDict,posInKids:0}],i=new uA,a=this._catDict.getRaw(\\\"Pages\\\");a instanceof EA&&i.put(a);const s=new Map,n=this.xref,r=this.pageIndexCache;let g=0;function o(A,e){e&&!r.has(e)&&r.put(e,g),s.set(g++,[A,e])}function I(t){if(t instanceof SA&&!A)throw t;A&&e&&0===g&&(U(`getAllPageDicts - Skipping invalid first page: \\\"${t}\\\".`),t=QA.empty),s.set(g++,[t,null])}for(;t.length>0;){const e=t.at(-1),{currentNode:a,posInKids:s}=e;let r=a.getRaw(\\\"Kids\\\");if(r instanceof EA)try{r=await n.fetchAsync(r)}catch(A){I(A);break}if(!Array.isArray(r)){I(new W(\\\"Page dictionary kids object is not an array.\\\"));break}if(s>=r.length){t.pop();continue}const g=r[s];let c;if(g instanceof EA){if(i.has(g)){I(new W(\\\"Pages tree contains circular reference.\\\"));break}i.put(g);try{c=await n.fetchAsync(g)}catch(A){I(A);break}}else c=g;if(!(c instanceof QA)){I(new W(\\\"Page dictionary kid reference points to wrong type of object.\\\"));break}let C=c.getRaw(\\\"Type\\\");if(C instanceof EA)try{C=await n.fetchAsync(C)}catch(A){I(A);break}fA(C,\\\"Page\\\")||!c.has(\\\"Kids\\\")?o(c,g instanceof EA?g:null):t.push({currentNode:c,posInKids:0}),e.posInKids++}return s}getPageIndex(A){const e=this.pageIndexCache.get(A);if(void 0!==e)return Promise.resolve(e);const t=this.xref;let i=0;const a=e=>function(e){let i,a=0;return t.fetchAsync(e).then((function(t){if(yA(e,A)&&!mA(t,\\\"Page\\\")&&!(t instanceof QA&&!t.has(\\\"Type\\\")&&t.has(\\\"Contents\\\")))throw new W(\\\"The reference does not point to a /Page dictionary.\\\");if(!t)return null;if(!(t instanceof QA))throw new W(\\\"Node must be a dictionary.\\\");return i=t.getRaw(\\\"Parent\\\"),t.getAsync(\\\"Parent\\\")})).then((function(A){if(!A)return null;if(!(A instanceof QA))throw new W(\\\"Parent must be a dictionary.\\\");return A.getAsync(\\\"Kids\\\")})).then((function(A){if(!A)return null;const s=[];let n=!1;for(const i of A){if(!(i instanceof EA))throw new W(\\\"Kid must be a reference.\\\");if(yA(i,e)){n=!0;break}s.push(t.fetchAsync(i).then((function(A){if(!(A instanceof QA))throw new W(\\\"Kid node must be a dictionary.\\\");A.has(\\\"Count\\\")?a+=A.get(\\\"Count\\\"):a++})))}if(!n)throw new W(\\\"Kid reference not found in parent\\\\'s kids.\\\");return Promise.all(s).then((function(){return[a,i]}))}))}(e).then((e=>{if(!e)return this.pageIndexCache.put(A,i),i;const[t,s]=e;return i+=t,a(s)}));return a(A)}get baseUrl(){const A=this._catDict.get(\\\"URI\\\");if(A instanceof QA){const e=A.get(\\\"Base\\\");if(\\\"string\\\"==typeof e){const A=J(e,null,{tryConvertEncoding:!0});if(A)return H(this,\\\"baseUrl\\\",A.href)}}return H(this,\\\"baseUrl\\\",this.pdfManager.docBaseUrl)}static parseDestDictionary({destDict:A,resultObj:e,docBaseUrl:t=null,docAttachments:i=null}){if(!(A instanceof QA))return void U(\\\"parseDestDictionary: `destDict` must be a dictionary.\\\");let a,s,n=A.get(\\\"A\\\");if(n instanceof QA||(A.has(\\\"Dest\\\")?n=A.get(\\\"Dest\\\"):(n=A.get(\\\"AA\\\"),n instanceof QA&&(n.has(\\\"D\\\")?n=n.get(\\\"D\\\"):n.has(\\\"U\\\")&&(n=n.get(\\\"U\\\"))))),n instanceof QA){const A=n.get(\\\"S\\\");if(!(A instanceof hA))return void U(\\\"parseDestDictionary: Invalid type in Action dictionary.\\\");const t=A.name;switch(t){case\\\"ResetForm\\\":const A=n.get(\\\"Flags\\\"),r=0==(1&(\\\"number\\\"==typeof A?A:0)),g=[],o=[];for(const A of n.get(\\\"Fields\\\")||[])A instanceof EA?o.push(A.toString()):\\\"string\\\"==typeof A&&g.push(eA(A));e.resetForm={fields:g,refs:o,include:r};break;case\\\"URI\\\":a=n.get(\\\"URI\\\"),a instanceof hA&&(a=\\\"/\\\"+a.name);break;case\\\"GoTo\\\":s=n.get(\\\"D\\\");break;case\\\"Launch\\\":case\\\"GoToR\\\":const I=n.get(\\\"F\\\");if(I instanceof QA){const A=new wg(I,null,!0),{rawFilename:e}=A.serializable;a=e}else\\\"string\\\"==typeof I&&(a=I);const c=no(n);c&&\\\"string\\\"==typeof a&&(a=a.split(\\\"#\\\",1)[0]+\\\"#\\\"+c);const C=n.get(\\\"NewWindow\\\");\\\"boolean\\\"==typeof C&&(e.newWindow=C);break;case\\\"GoToE\\\":const h=n.get(\\\"T\\\");let B;if(i&&h instanceof QA){const A=h.get(\\\"R\\\"),e=h.get(\\\"N\\\");fA(A,\\\"C\\\")&&\\\"string\\\"==typeof e&&(B=i[eA(e)])}if(B){e.attachment=B;const A=no(n);A&&(e.attachmentDest=A)}else U(\\\\'parseDestDictionary - unimplemented \\\"GoToE\\\" action.\\\\');break;case\\\"Named\\\":const l=n.get(\\\"N\\\");l instanceof hA&&(e.action=l.name);break;case\\\"SetOCGState\\\":const Q=n.get(\\\"State\\\"),E=n.get(\\\"PreserveRB\\\");if(!Array.isArray(Q)||0===Q.length)break;const u=[];for(const A of Q)if(A instanceof hA)switch(A.name){case\\\"ON\\\":case\\\"OFF\\\":case\\\"Toggle\\\":u.push(A.name)}else A instanceof EA&&u.push(A.toString());if(u.length!==Q.length)break;e.setOCGState={state:u,preserveRB:\\\"boolean\\\"!=typeof E||E};break;case\\\"JavaScript\\\":const d=n.get(\\\"JS\\\");let f;d instanceof wA?f=d.getString():\\\"string\\\"==typeof d&&(f=d);const p=f&&Ae(eA(f));if(p){a=p.url,e.newWindow=p.newWindow;break}default:if(\\\"JavaScript\\\"===t||\\\"SubmitForm\\\"===t)break;U(`parseDestDictionary - unsupported action: \\\"${t}\\\".`)}}else A.has(\\\"Dest\\\")&&(s=A.get(\\\"Dest\\\"));if(\\\"string\\\"==typeof a){const A=J(a,t,{addDefaultProtocol:!0,tryConvertEncoding:!0});A&&(e.url=A.href),e.unsafeUrl=a}s&&(s instanceof hA&&(s=s.name),\\\"string\\\"==typeof s?e.dest=eA(s):ao(s)&&(e.dest=s))}}function go(A,e){if(A instanceof QA)A=A.getRawValues();else if(A instanceof wA)A=A.dict.getRawValues();else if(!Array.isArray(A))return;for(const i of A)((t=i)instanceof EA||t instanceof QA||t instanceof wA||Array.isArray(t))&&e.push(i);var t}class oo{constructor(A,e,t){this.dict=A,this.keys=e,this.xref=t,this.refSet=null}async load(){if(this.xref.stream.isDataLoaded)return;const{keys:A,dict:e}=this;this.refSet=new uA;const t=[];for(const i of A){const A=e.getRaw(i);void 0!==A&&t.push(A)}return this._walk(t)}async _walk(A){const e=[],t=[];for(;A.length;){let i=A.pop();if(i instanceof EA){if(this.refSet.has(i))continue;try{this.refSet.put(i),i=this.xref.fetch(i)}catch(A){if(!(A instanceof kA)){U(`ObjectLoader._walk - requesting all data: \\\"${A}\\\".`),this.refSet=null;const{manager:e}=this.xref.stream;return e.requestAllChunks()}e.push(i),t.push({begin:A.begin,end:A.end})}}if(i instanceof wA){const A=i.getBaseStreams();if(A){let a=!1;for(const e of A)e.isDataLoaded||(a=!0,t.push({begin:e.start,end:e.end}));a&&e.push(i)}}go(i,A)}if(t.length){await this.xref.stream.manager.requestRanges(t);for(const A of e)A instanceof EA&&this.refSet.remove(A);return this._walk(e)}this.refSet=null}}const Io=Symbol(),co=Symbol(),Co=Symbol(),ho=Symbol(),Bo=Symbol(),lo=Symbol(),Qo=Symbol(),Eo=Symbol(),uo=Symbol(),fo=Symbol(\\\"content\\\"),po=Symbol(\\\"data\\\"),mo=Symbol(),yo=Symbol(\\\"extra\\\"),wo=Symbol(),Do=Symbol(),bo=Symbol(),ko=Symbol(),Fo=Symbol(),So=Symbol(),Ro=Symbol(),Go=Symbol(),No=Symbol(),xo=Symbol(),Uo=Symbol(),Mo=Symbol(),Lo=Symbol(),Jo=Symbol(),Ho=Symbol(),Yo=Symbol(),vo=Symbol(),Ko=Symbol(),qo=Symbol(),To=Symbol(),Po=Symbol(),Wo=Symbol(),Oo=Symbol(),Zo=Symbol(),jo=Symbol(),Xo=Symbol(),Vo=Symbol(),zo=Symbol(),_o=Symbol(),$o=Symbol(),AI=Symbol(),eI=Symbol(),tI=Symbol(\\\"namespaceId\\\"),iI=Symbol(\\\"nodeName\\\"),aI=Symbol(),sI=Symbol(),nI=Symbol(),rI=Symbol(),gI=Symbol(),oI=Symbol(),II=Symbol(),cI=Symbol(),CI=Symbol(\\\"root\\\"),hI=Symbol(),BI=Symbol(),lI=Symbol(),QI=Symbol(),EI=Symbol(),uI=Symbol(),dI=Symbol(),fI=Symbol(),pI=Symbol(),mI=Symbol(),yI=Symbol(),wI=Symbol(\\\"uid\\\"),DI=Symbol(),bI={config:{id:0,check:A=>A.startsWith(\\\"http://www.xfa.org/schema/xci/\\\")},connectionSet:{id:1,check:A=>A.startsWith(\\\"http://www.xfa.org/schema/xfa-connection-set/\\\")},datasets:{id:2,check:A=>A.startsWith(\\\"http://www.xfa.org/schema/xfa-data/\\\")},form:{id:3,check:A=>A.startsWith(\\\"http://www.xfa.org/schema/xfa-form/\\\")},localeSet:{id:4,check:A=>A.startsWith(\\\"http://www.xfa.org/schema/xfa-locale-set/\\\")},pdf:{id:5,check:A=>\\\"http://ns.adobe.com/xdp/pdf/\\\"===A},signature:{id:6,check:A=>\\\"http://www.w3.org/2000/09/xmldsig#\\\"===A},sourceSet:{id:7,check:A=>A.startsWith(\\\"http://www.xfa.org/schema/xfa-source-set/\\\")},stylesheet:{id:8,check:A=>\\\"http://www.w3.org/1999/XSL/Transform\\\"===A},template:{id:9,check:A=>A.startsWith(\\\"http://www.xfa.org/schema/xfa-template/\\\")},xdc:{id:10,check:A=>A.startsWith(\\\"http://www.xfa.org/schema/xdc/\\\")},xdp:{id:11,check:A=>\\\"http://ns.adobe.com/xdp/\\\"===A},xfdf:{id:12,check:A=>\\\"http://ns.adobe.com/xfdf/\\\"===A},xhtml:{id:13,check:A=>\\\"http://www.w3.org/1999/xhtml\\\"===A},xmpmeta:{id:14,check:A=>\\\"http://ns.adobe.com/xmpmeta/\\\"===A}},kI={pt:A=>A,cm:A=>A/2.54*72,mm:A=>A/25.4*72,in:A=>72*A,px:A=>A},FI=/([+-]?\\\\\\\\d+\\\\\\\\.?\\\\\\\\d*)(.*)/;function SI(A){return A.startsWith(\\\"\\\\'\\\")||A.startsWith(\\\\'\\\"\\\\')?A.slice(1,-1):A}function RI({data:A,defaultValue:e,validate:t}){if(!A)return e;A=A.trim();const i=parseInt(A,10);return!isNaN(i)&&t(i)?i:e}function GI({data:A,defaultValue:e,validate:t}){if(!A)return e;A=A.trim();const i=parseFloat(A);return!isNaN(i)&&t(i)?i:e}function NI({data:A,defaultValue:e,validate:t}){return A&&t(A=A.trim())?A:e}function xI(A,e){return NI({data:A,defaultValue:e[0],validate:A=>e.includes(A)})}function UI(A,e=\\\"0\\\"){if(e||=\\\"0\\\",!A)return UI(e);const t=A.trim().match(FI);if(!t)return UI(e);const[,i,a]=t,s=parseFloat(i);if(isNaN(s))return UI(e);if(0===s)return 0;const n=kI[a];return n?n(s):s}function MI(A){if(!A)return{num:1,den:1};const e=A.trim().split(/\\\\\\\\s*:\\\\\\\\s*/).map((A=>parseFloat(A))).filter((A=>!isNaN(A)));if(1===e.length&&e.push(1),0===e.length)return{num:1,den:1};const[t,i]=e;return{num:t,den:i}}function LI(A){return A?A.trim().split(/\\\\\\\\s+/).map((A=>({excluded:\\\"-\\\"===A[0],viewname:A.substring(1)}))):[]}class JI{static get FAILURE(){return H(this,\\\"FAILURE\\\",new JI(!1,null,null,null))}static get EMPTY(){return H(this,\\\"EMPTY\\\",new JI(!0,null,null,null))}constructor(A,e,t,i){this.success=A,this.html=e,this.bbox=t,this.breakNode=i}isBreak(){return!!this.breakNode}static breakNode(A){return new JI(!1,null,null,A)}static success(A,e=null){return new JI(!0,A,e,null)}}class HI{constructor(A){this.fonts=new Map,this.cache=new Map,this.warned=new Set,this.defaultFont=null,this.add(A)}add(A,e=null){for(const e of A)this.addPdfFont(e);for(const A of this.fonts.values())A.regular||(A.regular=A.italic||A.bold||A.bolditalic);if(!e||0===e.size)return;const t=this.fonts.get(\\\"PdfJS-Fallback-PdfJS-XFA\\\");for(const A of e)this.fonts.set(A,t)}addPdfFont(A){const e=A.cssFontInfo,t=e.fontFamily;let i=this.fonts.get(t);i||(i=Object.create(null),this.fonts.set(t,i),this.defaultFont||(this.defaultFont=i));let a=\\\"\\\";const s=parseFloat(e.fontWeight);0!==parseFloat(e.italicAngle)?a=s>=700?\\\"bolditalic\\\":\\\"italic\\\":s>=700&&(a=\\\"bold\\\"),a||((A.name.includes(\\\"Bold\\\")||A.psName?.includes(\\\"Bold\\\"))&&(a=\\\"bold\\\"),(A.name.includes(\\\"Italic\\\")||A.name.endsWith(\\\"It\\\")||A.psName?.includes(\\\"Italic\\\")||A.psName?.endsWith(\\\"It\\\"))&&(a+=\\\"italic\\\")),a||(a=\\\"regular\\\"),i[a]=A}getDefault(){return this.defaultFont}find(A,e=!0){let t=this.fonts.get(A)||this.cache.get(A);if(t)return t;const i=/,|-|_| |bolditalic|bold|italic|regular|it/gi;let a=A.replaceAll(i,\\\"\\\");if(t=this.fonts.get(a),t)return this.cache.set(A,t),t;a=a.toLowerCase();const s=[];for(const[A,e]of this.fonts.entries())A.replaceAll(i,\\\"\\\").toLowerCase().startsWith(a)&&s.push(e);if(0===s.length)for(const[,A]of this.fonts.entries())A.regular.name?.replaceAll(i,\\\"\\\").toLowerCase().startsWith(a)&&s.push(A);if(0===s.length){a=a.replaceAll(/psmt|mt/gi,\\\"\\\");for(const[A,e]of this.fonts.entries())A.replaceAll(i,\\\"\\\").toLowerCase().startsWith(a)&&s.push(e)}if(0===s.length)for(const A of this.fonts.values())A.regular.name?.replaceAll(i,\\\"\\\").toLowerCase().startsWith(a)&&s.push(A);return s.length>=1?(1!==s.length&&e&&U(`XFA - Too many choices to guess the correct font: ${A}`),this.cache.set(A,s[0]),s[0]):(e&&!this.warned.has(A)&&(this.warned.add(A),U(`XFA - Cannot find the font: ${A}`)),null)}}function YI(A,e){return\\\"italic\\\"===A.posture?\\\"bold\\\"===A.weight?e.bolditalic:e.italic:\\\"bold\\\"===A.weight?e.bold:e.regular}class vI{constructor(A,e,t,i){if(this.lineHeight=t,this.paraMargin=e||{top:0,bottom:0,left:0,right:0},!A)return void([this.pdfFont,this.xfaFont]=this.defaultFont(i));this.xfaFont={typeface:A.typeface,posture:A.posture,weight:A.weight,size:A.size,letterSpacing:A.letterSpacing};const a=i.find(A.typeface);a?(this.pdfFont=YI(A,a),this.pdfFont||([this.pdfFont,this.xfaFont]=this.defaultFont(i))):[this.pdfFont,this.xfaFont]=this.defaultFont(i)}defaultFont(A){const e=A.find(\\\"Helvetica\\\",!1)||A.find(\\\"Myriad Pro\\\",!1)||A.find(\\\"Arial\\\",!1)||A.getDefault();if(e?.regular){const A=e.regular;return[A,{typeface:A.cssFontInfo.fontFamily,posture:\\\"normal\\\",weight:\\\"normal\\\",size:10,letterSpacing:0}]}return[null,{typeface:\\\"Courier\\\",posture:\\\"normal\\\",weight:\\\"normal\\\",size:10,letterSpacing:0}]}}class KI{constructor(A,e,t,i){this.fontFinder=i,this.stack=[new vI(A,e,t,i)]}pushData(A,e,t){const i=this.stack.at(-1);for(const e of[\\\"typeface\\\",\\\"posture\\\",\\\"weight\\\",\\\"size\\\",\\\"letterSpacing\\\"])A[e]||(A[e]=i.xfaFont[e]);for(const A of[\\\"top\\\",\\\"bottom\\\",\\\"left\\\",\\\"right\\\"])isNaN(e[A])&&(e[A]=i.paraMargin[A]);const a=new vI(A,e,t||i.lineHeight,this.fontFinder);a.pdfFont||(a.pdfFont=i.pdfFont),this.stack.push(a)}popFont(){this.stack.pop()}topFont(){return this.stack.at(-1)}}class qI{constructor(A,e,t,i){this.glyphs=[],this.fontSelector=new KI(A,e,t,i),this.extraHeight=0}pushData(A,e,t){this.fontSelector.pushData(A,e,t)}popFont(A){return this.fontSelector.popFont()}addPara(){const A=this.fontSelector.topFont();this.extraHeight+=A.paraMargin.top+A.paraMargin.bottom}addString(A){if(!A)return;const e=this.fontSelector.topFont(),t=e.xfaFont.size;if(e.pdfFont){const i=e.xfaFont.letterSpacing,a=e.pdfFont,s=a.lineHeight||1.2,n=e.lineHeight||Math.max(1.2,s)*t,r=s-(void 0===a.lineGap?.2:a.lineGap),g=Math.max(1,r)*t,o=t/1e3,I=a.defaultWidth||a.charsToGlyphs(\\\" \\\")[0].width;for(const e of A.split(/[\\\\\\\\u2029\\\\\\\\n]/)){const A=a.encodeString(e).join(\\\"\\\"),t=a.charsToGlyphs(A);for(const A of t){const e=A.width||I;this.glyphs.push([e*o+i,n,g,A.unicode,!1])}this.glyphs.push([0,0,0,\\\"\\\\\\\\n\\\",!0])}this.glyphs.pop()}else{for(const e of A.split(/[\\\\\\\\u2029\\\\\\\\n]/)){for(const A of e.split(\\\"\\\"))this.glyphs.push([t,1.2*t,t,A,!1]);this.glyphs.push([0,0,0,\\\"\\\\\\\\n\\\",!0])}this.glyphs.pop()}}compute(A){let e=-1,t=0,i=0,a=0,s=0,n=0,r=!1,g=!0;for(let o=0,I=this.glyphs.length;oA?(i=Math.max(i,s),s=0,a+=n,n=Q,e=-1,t=0,r=!0,g=!1):(n=Math.max(Q,n),t=s,s+=I,e=o):s+I>A?(a+=n,n=Q,-1!==e?(o=e,i=Math.max(i,t),s=0,e=-1,t=0):(i=Math.max(i,s),s=I),r=!0,g=!1):(s+=I,n=Math.max(Q,n))}return i=Math.max(i,s),a+=n+this.extraHeight,{width:1.02*i,height:a,isBroken:r}}}const TI=/^[^.[]+/,PI=/^[^\\\\\\\\]]+/,WI=0,OI=1,ZI=2,jI=3,XI=4,VI=new Map([[\\\"$data\\\",(A,e)=>A.datasets?A.datasets.data:A],[\\\"$record\\\",(A,e)=>(A.datasets?A.datasets.data:A)[Mo]()[0]],[\\\"$template\\\",(A,e)=>A.template],[\\\"$connectionSet\\\",(A,e)=>A.connectionSet],[\\\"$form\\\",(A,e)=>A.form],[\\\"$layout\\\",(A,e)=>A.layout],[\\\"$host\\\",(A,e)=>A.host],[\\\"$dataWindow\\\",(A,e)=>A.dataWindow],[\\\"$event\\\",(A,e)=>A.event],[\\\"!\\\",(A,e)=>A.datasets],[\\\"$xfa\\\",(A,e)=>A],[\\\"xfa\\\",(A,e)=>A],[\\\"$\\\",(A,e)=>e]]),zI=new WeakMap;function _I(A,e,t=!0){let i=A.match(TI);if(!i)return null;let[a]=i;const s=[{name:a,cacheName:\\\".\\\"+a,index:0,js:null,formCalc:null,operator:WI}];let n=a.length;for(;n0&&I.push(A)}if(0!==I.length||r||0!==g)A=isFinite(o)?I.filter((A=>oA[o])):I.flat();else{const t=e[Yo]();if(!(e=t))return null;g=-1,A=[e]}}return 0===A.length?null:A}function Ac(A,e,t){const i=_I(t);if(!i)return null;if(i.some((A=>A.operator===OI)))return null;const a=VI.get(i[0].name);let s=0;a?(A=a(A,e),s=1):A=e||A;for(let e=i.length;sA[dI]())).join(\\\"\\\")}get[ic](){const A=Object.getPrototypeOf(this);if(!A._attributes){const e=A._attributes=new Set;for(const A of Object.getOwnPropertyNames(this)){if(null===this[A]||this[A]instanceof fc||this[A]instanceof pc)break;e.add(A)}}return H(this,ic,A._attributes)}[Xo](A){let e=this;for(;e;){if(e===A)return!0;e=e[Yo]()}return!1}[Yo](){return this[Bc]}[Ho](){return this[Yo]()}[Mo](A=null){return A?this[A]:this[ac]}[mo](){const A=Object.create(null);this[fo]&&(A.$content=this[fo]);for(const e of Object.getOwnPropertyNames(this)){const t=this[e];null!==t&&(t instanceof fc?A[e]=t[mo]():t instanceof pc?t.isEmpty()||(A[e]=t.dump()):A[e]=t)}return A}[yI](){return null}[pI](){return JI.EMPTY}*[Lo](){for(const A of this[Mo]())yield A}*[gc](A,e){for(const t of this[Lo]())if(!A||e===A.has(t[iI])){const A=this[Fo](),e=t[pI](A);e.success||(this[yo].failingNode=t),yield e}}[Do](){return null}[co](A,e){this[yo].children.push(A)}[Fo](){}[ho]({filter:A=null,include:e=!0}){if(this[yo].generator){const A=this[Fo](),e=this[yo].failingNode[pI](A);if(!e.success)return e;e.html&&this[co](e.html,e.bbox),delete this[yo].failingNode}else this[yo].generator=this[gc](A,e);for(;;){const A=this[yo].generator.next();if(A.done)break;const e=A.value;if(!e.success)return e;e.html&&this[co](e.html,e.bbox)}return this[yo].generator=null,JI.EMPTY}[QI](A){this[Qc]=new Set(Object.keys(A))}[Ic](A){const e=this[ic],t=this[Qc];return[...A].filter((A=>e.has(A)&&!t.has(A)))}[hI](A,e=new Set){for(const t of this[ac])t[lc](A,e)}[lc](A,e){const t=this[oc](A,e);t?this[ec](t,A,e):this[hI](A,e)}[oc](A,e){const{use:t,usehref:i}=this;if(!t&&!i)return null;let a=null,s=null,n=null,r=t;if(i?(r=i,i.startsWith(\\\"#som(\\\")&&i.endsWith(\\\")\\\")?s=i.slice(5,-1):i.startsWith(\\\".#som(\\\")&&i.endsWith(\\\")\\\")?s=i.slice(6,-1):i.startsWith(\\\"#\\\")?n=i.slice(1):i.startsWith(\\\".#\\\")&&(n=i.slice(2))):t.startsWith(\\\"#\\\")?n=t.slice(1):s=t,this.use=this.usehref=\\\"\\\",n?a=A.get(n):(a=$I(A.get(CI),this,s,!0,!1),a&&(a=a[0])),!a)return U(`XFA - Invalid prototype reference: ${r}.`),null;if(a[iI]!==this[iI])return U(`XFA - Incompatible prototype: ${a[iI]} !== ${this[iI]}.`),null;if(e.has(a))return U(\\\"XFA - Cycle detected in prototypes use.\\\"),null;e.add(a);const g=a[oc](A,e);return g&&a[ec](g,A,e),a[hI](A,e),e.delete(a),a}[ec](A,e,t){if(t.has(A))U(\\\"XFA - Cycle detected in prototypes use.\\\");else{!this[fo]&&A[fo]&&(this[fo]=A[fo]),new Set(t).add(A);for(const e of this[Ic](A[Qc]))this[e]=A[e],this[Qc]&&this[Qc].add(e);for(const i of Object.getOwnPropertyNames(this)){if(this[ic].has(i))continue;const a=this[i],s=A[i];if(a instanceof pc){for(const A of a[ac])A[lc](e,t);for(let i=a[ac].length,n=s[ac].length;ifc[sc](A))):\\\"object\\\"==typeof A&&null!==A?Object.assign({},A):A}[Eo](){const A=Object.create(Object.getPrototypeOf(this));for(const e of Object.getOwnPropertySymbols(this))try{A[e]=this[e]}catch{H(A,e,this[e])}A[wI]=`${A[iI]}${uc++}`,A[ac]=[];for(const e of Object.getOwnPropertyNames(this)){if(this[ic].has(e)){A[e]=fc[sc](this[e]);continue}const t=this[e];A[e]=t instanceof pc?new pc(t[Cc]):null}for(const e of this[ac]){const t=e[iI],i=e[Eo]();A[ac].push(i),i[Bc]=A,null===A[t]?A[t]=i:A[t][ac].push(i)}return A}[Mo](A=null){return A?this[ac].filter((e=>e[iI]===A)):this[ac]}[So](A){return this[A]}[Ro](A,e,t=!0){return Array.from(this[Go](A,e,t))}*[Go](A,e,t=!0){if(\\\"parent\\\"!==A){for(const t of this[ac])t[iI]===A&&(yield t),t.name===A&&(yield t),(e||t[$o]())&&(yield*t[Go](A,e,!1));t&&this[ic].has(A)&&(yield new mc(this,A,this[A]))}else yield this[Bc]}}class pc{constructor(A=1/0){this[Cc]=A,this[ac]=[]}get isXFAObject(){return!1}get isXFAObjectArray(){return!0}push(A){return this[ac].length<=this[Cc]?(this[ac].push(A),!0):(U(`XFA - node \\\"${A[iI]}\\\" accepts no more than ${this[Cc]} children`),!1)}isEmpty(){return 0===this[ac].length}dump(){return 1===this[ac].length?this[ac][0][mo]():this[ac].map((A=>A[mo]()))}[Eo](){const A=new pc(this[Cc]);return A[ac]=this[ac].map((A=>A[Eo]())),A}get children(){return this[ac]}clear(){this[ac].length=0}}class mc{constructor(A,e,t){this[Bc]=A,this[iI]=e,this[fo]=t,this[uo]=!1,this[wI]=\\\"attribute\\\"+uc++}[Yo](){return this[Bc]}[jo](){return!0}[No](){return this[fo].trim()}[EI](A){A=A.value||\\\"\\\",this[fo]=A.toString()}[dI](){return this[fo]}[Xo](A){return this[Bc]===A||this[Bc][Xo](A)}}class yc extends fc{constructor(A,e,t={}){if(super(A,e),this[fo]=\\\"\\\",this[nc]=null,\\\"#text\\\"!==e){const A=new Map;this[tc]=A;for(const[e,i]of Object.entries(t))A.set(e,new mc(this,e,i));if(t.hasOwnProperty(aI)){const A=t[aI].xfa.dataNode;void 0!==A&&(\\\"dataGroup\\\"===A?this[nc]=!1:\\\"dataValue\\\"===A&&(this[nc]=!0))}}this[uo]=!1}[mI](A){const e=this[iI];if(\\\"#text\\\"===e)return void A.push(zA(this[fo]));const t=iA(e),i=this[tI]===dc?\\\"xfa:\\\":\\\"\\\";A.push(`<${i}${t}`);for(const[e,t]of this[tc].entries()){const i=iA(e);A.push(` ${i}=\\\"${zA(t[fo])}\\\"`)}if(null!==this[nc]&&(this[nc]?A.push(\\\\' xfa:dataNode=\\\"dataValue\\\"\\\\'):A.push(\\\\' xfa:dataNode=\\\"dataGroup\\\"\\\\')),this[fo]||0!==this[ac].length){if(A.push(\\\">\\\"),this[fo])\\\"string\\\"==typeof this[fo]?A.push(zA(this[fo])):this[fo][mI](A);else for(const e of this[ac])e[mI](A);A.push(``)}else A.push(\\\"/>\\\")}[sI](A){if(this[fo]){const A=new yc(this[tI],\\\"#text\\\");this[Co](A),A[fo]=this[fo],this[fo]=\\\"\\\"}return this[Co](A),!0}[rI](A){this[fo]+=A}[wo](){if(this[fo]&&this[ac].length>0){const A=new yc(this[tI],\\\"#text\\\");this[Co](A),A[fo]=this[fo],delete this[fo]}}[pI](){return\\\"#text\\\"===this[iI]?JI.success({name:\\\"#text\\\",value:this[fo]}):JI.EMPTY}[Mo](A=null){return A?this[ac].filter((e=>e[iI]===A)):this[ac]}[ko](){return this[tc]}[So](A){const e=this[tc].get(A);return void 0!==e?e:this[Mo](A)}*[Go](A,e){const t=this[tc].get(A);t&&(yield t);for(const t of this[ac])t[iI]===A&&(yield t),e&&(yield*t[Go](A,e))}*[bo](A,e){const t=this[tc].get(A);!t||e&&t[uo]||(yield t);for(const t of this[ac])yield*t[bo](A,e)}*[Uo](A,e,t){for(const i of this[ac])i[iI]!==A||t&&i[uo]||(yield i),e&&(yield*i[Uo](A,e,t))}[jo](){return null===this[nc]?0===this[ac].length||this[ac][0][tI]===bI.xhtml.id:this[nc]}[No](){return null===this[nc]?0===this[ac].length?this[fo].trim():this[ac][0][tI]===bI.xhtml.id?this[ac][0][dI]().trim():null:this[fo].trim()}[EI](A){A=A.value||\\\"\\\",this[fo]=A.toString()}[mo](A=!1){const e=Object.create(null);A&&(e.$ns=this[tI]),this[fo]&&(e.$content=this[fo]),e.$name=this[iI],e.children=[];for(const t of this[ac])e.children.push(t[mo](A));e.attributes=Object.create(null);for(const[A,t]of this[tc])e.attributes[A]=t[fo];return e}}class wc extends fc{constructor(A,e){super(A,e),this[fo]=\\\"\\\"}[rI](A){this[fo]+=A}[wo](){}}class Dc extends wc{constructor(A,e,t){super(A,e),this[hc]=t}[wo](){this[fo]=NI({data:this[fo],defaultValue:this[hc][0],validate:A=>this[hc].includes(A)})}[Bo](A){super[Bo](A),delete this[hc]}}class bc extends wc{[wo](){this[fo]=this[fo].trim()}}class kc extends wc{constructor(A,e,t,i){super(A,e),this[rc]=t,this[Ec]=i}[wo](){this[fo]=RI({data:this[fo],defaultValue:this[rc],validate:this[Ec]})}[Bo](A){super[Bo](A),delete this[rc],delete this[Ec]}}class Fc extends kc{constructor(A,e){super(A,e,0,(A=>1===A))}}class Sc extends kc{constructor(A,e){super(A,e,1,(A=>0===A))}}function Rc(A){return\\\"string\\\"==typeof A?\\\"0px\\\":Number.isInteger(A)?`${A}px`:`${A.toFixed(2)}px`}const Gc={anchorType(A,e){const t=A[Ho]();if(t&&(!t.layout||\\\"position\\\"===t.layout))switch(\\\"transform\\\"in e||(e.transform=\\\"\\\"),A.anchorType){case\\\"bottomCenter\\\":e.transform+=\\\"translate(-50%, -100%)\\\";break;case\\\"bottomLeft\\\":e.transform+=\\\"translate(0,-100%)\\\";break;case\\\"bottomRight\\\":e.transform+=\\\"translate(-100%,-100%)\\\";break;case\\\"middleCenter\\\":e.transform+=\\\"translate(-50%,-50%)\\\";break;case\\\"middleLeft\\\":e.transform+=\\\"translate(0,-50%)\\\";break;case\\\"middleRight\\\":e.transform+=\\\"translate(-100%,-50%)\\\";break;case\\\"topCenter\\\":e.transform+=\\\"translate(-50%,0)\\\";break;case\\\"topRight\\\":e.transform+=\\\"translate(-100%,0)\\\"}},dimensions(A,e){const t=A[Ho]();let i=A.w;const a=A.h;if(t.layout?.includes(\\\"row\\\")){const e=t[yo],a=A.colSpan;let s;-1===a?(s=e.columnWidths.slice(e.currentColumn).reduce(((A,e)=>A+e),0),e.currentColumn=0):(s=e.columnWidths.slice(e.currentColumn,e.currentColumn+a).reduce(((A,e)=>A+e),0),e.currentColumn=(e.currentColumn+A.colSpan)%e.columnWidths.length),isNaN(s)||(i=A.w=s)}e.width=\\\"\\\"!==i?Rc(i):\\\"auto\\\",e.height=\\\"\\\"!==a?Rc(a):\\\"auto\\\"},position(A,e){const t=A[Ho]();t?.layout&&\\\"position\\\"!==t.layout||(e.position=\\\"absolute\\\",e.left=Rc(A.x),e.top=Rc(A.y))},rotate(A,e){A.rotate&&(\\\"transform\\\"in e||(e.transform=\\\"\\\"),e.transform+=`rotate(-${A.rotate}deg)`,e.transformOrigin=\\\"top left\\\")},presence(A,e){switch(A.presence){case\\\"invisible\\\":e.visibility=\\\"hidden\\\";break;case\\\"hidden\\\":case\\\"inactive\\\":e.display=\\\"none\\\"}},hAlign(A,e){if(\\\"para\\\"===A[iI])switch(A.hAlign){case\\\"justifyAll\\\":e.textAlign=\\\"justify-all\\\";break;case\\\"radix\\\":e.textAlign=\\\"left\\\";break;default:e.textAlign=A.hAlign}else switch(A.hAlign){case\\\"left\\\":e.alignSelf=\\\"start\\\";break;case\\\"center\\\":e.alignSelf=\\\"center\\\";break;case\\\"right\\\":e.alignSelf=\\\"end\\\"}},margin(A,e){A.margin&&(e.margin=A.margin[yI]().margin)}};function Nc(A,e){\\\"position\\\"===A[Ho]().layout&&(A.minW>0&&(e.minWidth=Rc(A.minW)),A.maxW>0&&(e.maxWidth=Rc(A.maxW)),A.minH>0&&(e.minHeight=Rc(A.minH)),A.maxH>0&&(e.maxHeight=Rc(A.maxH)))}function xc(A,e,t,i,a,s){const n=new qI(e,t,i,a);return\\\"string\\\"==typeof A?n.addString(A):A[gI](n),n.compute(s)}function Uc(A,e){let t=null,i=null,a=!1;if((!A.w||!A.h)&&A.value){let s=0,n=0;A.margin&&(s=A.margin.leftInset+A.margin.rightInset,n=A.margin.topInset+A.margin.bottomInset);let r=null,g=null;A.para&&(g=Object.create(null),r=\\\"\\\"===A.para.lineHeight?null:A.para.lineHeight,g.top=\\\"\\\"===A.para.spaceAbove?0:A.para.spaceAbove,g.bottom=\\\"\\\"===A.para.spaceBelow?0:A.para.spaceBelow,g.left=\\\"\\\"===A.para.marginLeft?0:A.para.marginLeft,g.right=\\\"\\\"===A.para.marginRight?0:A.para.marginRight);let o=A.font;if(!o){const e=A[vo]();let t=A[Yo]();for(;t&&t!==e;){if(t.font){o=t.font;break}t=t[Yo]()}}const I=(A.w||e.width)-s,c=A[Ko].fontFinder;if(A.value.exData&&A.value.exData[fo]&&\\\"text/html\\\"===A.value.exData.contentType){const e=xc(A.value.exData[fo],o,g,r,c,I);i=e.width,t=e.height,a=e.isBroken}else{const e=A.value[dI]();if(e){const A=xc(e,o,g,r,c,I);i=A.width,t=A.height,a=A.isBroken}}null===i||A.w||(i+=s),null===t||A.h||(t+=n)}return{w:i,h:t,isBroken:a}}function Mc(A,e,t){let i;if(\\\"\\\"!==A.w&&\\\"\\\"!==A.h)i=[A.x,A.y,A.w,A.h];else{if(!t)return null;let a=A.w;if(\\\"\\\"===a){if(0===A.maxW){const e=A[Ho]();a=\\\"position\\\"===e.layout&&\\\"\\\"!==e.w?0:A.minW}else a=Math.min(A.maxW,t.width);e.attributes.style.width=Rc(a)}let s=A.h;if(\\\"\\\"===s){if(0===A.maxH){const e=A[Ho]();s=\\\"position\\\"===e.layout&&\\\"\\\"!==e.h?0:A.minH}else s=Math.min(A.maxH,t.height);e.attributes.style.height=Rc(s)}i=[A.x,A.y,a,s]}return i}function Lc(A){const e=A[Ho]();if(e.layout?.includes(\\\"row\\\")){const t=e[yo],i=A.colSpan;let a;a=-1===i?t.columnWidths.slice(t.currentColumn).reduce(((A,e)=>A+e),0):t.columnWidths.slice(t.currentColumn,t.currentColumn+i).reduce(((A,e)=>A+e),0),isNaN(a)||(A.w=a)}e.layout&&\\\"position\\\"!==e.layout&&(A.x=A.y=0),\\\"table\\\"===A.layout&&\\\"\\\"===A.w&&Array.isArray(A.columnWidths)&&(A.w=A.columnWidths.reduce(((A,e)=>A+e),0))}function Jc(A){switch(A.layout){case\\\"position\\\":default:return\\\"xfaPosition\\\";case\\\"lr-tb\\\":return\\\"xfaLrTb\\\";case\\\"rl-row\\\":return\\\"xfaRlRow\\\";case\\\"rl-tb\\\":return\\\"xfaRlTb\\\";case\\\"row\\\":return\\\"xfaRow\\\";case\\\"table\\\":return\\\"xfaTable\\\";case\\\"tb\\\":return\\\"xfaTb\\\"}}function Hc(A,...e){const t=Object.create(null);for(const i of e){const e=A[i];if(null!==e)if(Gc.hasOwnProperty(i))Gc[i](A,t);else if(e instanceof fc){const A=e[yI]();A?Object.assign(t,A):U(`(DEBUG) - XFA - style for ${i} not implemented yet`)}}return t}function Yc(A,e){const{attributes:t}=e,{style:i}=t,a={name:\\\"div\\\",attributes:{class:[\\\"xfaWrapper\\\"],style:Object.create(null)},children:[]};if(t.class.push(\\\"xfaWrapped\\\"),A.border){const{widths:t,insets:s}=A.border[yo];let n,r,g=s[0],o=s[3];const I=s[0]+s[2],c=s[1]+s[3];switch(A.border.hand){case\\\"even\\\":g-=t[0]/2,o-=t[3]/2,n=`calc(100% + ${(t[1]+t[3])/2-c}px)`,r=`calc(100% + ${(t[0]+t[2])/2-I}px)`;break;case\\\"left\\\":g-=t[0],o-=t[3],n=`calc(100% + ${t[1]+t[3]-c}px)`,r=`calc(100% + ${t[0]+t[2]-I}px)`;break;case\\\"right\\\":n=c?`calc(100% - ${c}px)`:\\\"100%\\\",r=I?`calc(100% - ${I}px)`:\\\"100%\\\"}const C=[\\\"xfaBorder\\\"];qc(A.border)&&C.push(\\\"xfaPrintOnly\\\");const h={name:\\\"div\\\",attributes:{class:C,style:{top:`${g}px`,left:`${o}px`,width:n,height:r}},children:[]};for(const A of[\\\"border\\\",\\\"borderWidth\\\",\\\"borderColor\\\",\\\"borderRadius\\\",\\\"borderStyle\\\"])void 0!==i[A]&&(h.attributes.style[A]=i[A],delete i[A]);a.children.push(h,e)}else a.children.push(e);for(const A of[\\\"background\\\",\\\"backgroundClip\\\",\\\"top\\\",\\\"left\\\",\\\"width\\\",\\\"height\\\",\\\"minWidth\\\",\\\"minHeight\\\",\\\"maxWidth\\\",\\\"maxHeight\\\",\\\"transform\\\",\\\"transformOrigin\\\",\\\"visibility\\\"])void 0!==i[A]&&(a.attributes.style[A]=i[A],delete i[A]);return a.attributes.style.position=\\\"absolute\\\"===i.position?\\\"absolute\\\":\\\"relative\\\",delete i.position,i.alignSelf&&(a.attributes.style.alignSelf=i.alignSelf,delete i.alignSelf),a}function vc(A){const e=UI(A.textIndent,\\\"0px\\\");if(e>=0)return;const t=\\\"padding\\\"+(\\\"left\\\"==(\\\"right\\\"===A.textAlign?\\\"right\\\":\\\"left\\\")?\\\"Left\\\":\\\"Right\\\"),i=UI(A[t],\\\"0px\\\");A[t]=i-e+\\\"px\\\"}function Kc(A,e){switch(A.access){case\\\"nonInteractive\\\":e.push(\\\"xfaNonInteractive\\\");break;case\\\"readOnly\\\":e.push(\\\"xfaReadOnly\\\");break;case\\\"protected\\\":e.push(\\\"xfaDisabled\\\")}}function qc(A){return A.relevant.length>0&&!A.relevant[0].excluded&&\\\"print\\\"===A.relevant[0].viewname}function Tc(A){const e=A[vo]()[yo].paraStack;return e.length?e.at(-1):null}function Pc(A,e,t){if(t.attributes.class?.includes(\\\"xfaRich\\\")){e&&(\\\"\\\"===A.h&&(e.height=\\\"auto\\\"),\\\"\\\"===A.w&&(e.width=\\\"auto\\\"));const i=Tc(A);if(i){const A=t.attributes.style;switch(A.display=\\\"flex\\\",A.flexDirection=\\\"column\\\",i.vAlign){case\\\"top\\\":A.justifyContent=\\\"start\\\";break;case\\\"bottom\\\":A.justifyContent=\\\"end\\\";break;case\\\"middle\\\":A.justifyContent=\\\"center\\\"}const e=i[yI]();for(const[t,i]of Object.entries(e))t in A||(A[t]=i)}}}function Wc(A,e,t,i){if(!t)return void delete i.fontFamily;const a=SI(A.typeface);i.fontFamily=`\\\"${a}\\\"`;const s=t.find(a);if(s){const{fontFamily:t}=s.regular.cssFontInfo;t!==a&&(i.fontFamily=`\\\"${t}\\\"`);const n=Tc(e);if(n&&\\\"\\\"!==n.lineHeight)return;if(i.lineHeight)return;const r=YI(A,s);r&&(i.lineHeight=Math.max(1.2,r.lineHeight))}}function Oc(A){const e=J(A,null,{addDefaultProtocol:!0,tryConvertEncoding:!0});return e?e.href:null}function Zc(A,e){return{name:\\\"div\\\",attributes:{class:[\\\"lr-tb\\\"===A.layout?\\\"xfaLr\\\":\\\"xfaRl\\\"]},children:e}}function jc(A){if(!A[yo])return null;const e={name:\\\"div\\\",attributes:A[yo].attributes,children:A[yo].children};if(A[yo].failingNode){const t=A[yo].failingNode[Do]();t&&(A.layout.endsWith(\\\"-tb\\\")?e.children.push(Zc(A,[t])):e.children.push(t))}return 0===e.children.length?null:e}function Xc(A,e,t){const i=A[yo],a=i.availableSpace,[s,n,r,g]=t;switch(A.layout){case\\\"position\\\":i.width=Math.max(i.width,s+r),i.height=Math.max(i.height,n+g),i.children.push(e);break;case\\\"lr-tb\\\":case\\\"rl-tb\\\":i.line&&1!==i.attempt||(i.line=Zc(A,[]),i.children.push(i.line),i.numberInLine=0),i.numberInLine+=1,i.line.children.push(e),0===i.attempt?(i.currentWidth+=r,i.height=Math.max(i.height,i.prevHeight+g)):(i.currentWidth=r,i.prevHeight=i.height,i.height+=g,i.attempt=0),i.width=Math.max(i.width,i.currentWidth);break;case\\\"rl-row\\\":case\\\"row\\\":{i.children.push(e),i.width+=r,i.height=Math.max(i.height,g);const A=Rc(i.height);for(const e of i.children)e.attributes.style.height=A;break}case\\\"table\\\":case\\\"tb\\\":i.width=Math.min(a.width,Math.max(i.width,r)),i.height+=g,i.children.push(e)}}function Vc(A){const e=A[yo].availableSpace,t=A.margin?A.margin.topInset+A.margin.bottomInset:0,i=A.margin?A.margin.leftInset+A.margin.rightInset:0;switch(A.layout){case\\\"lr-tb\\\":case\\\"rl-tb\\\":return 0===A[yo].attempt?{width:e.width-i-A[yo].currentWidth,height:e.height-t-A[yo].prevHeight}:{width:e.width-i,height:e.height-t-A[yo].height};case\\\"rl-row\\\":case\\\"row\\\":return{width:A[yo].columnWidths.slice(A[yo].currentColumn).reduce(((A,e)=>A+e)),height:e.height-i};case\\\"table\\\":case\\\"tb\\\":return{width:e.width-i,height:e.height-t-A[yo].height};default:return e}}function zc(A,e){if(null===A[vo]()[yo].firstUnsplittable)return!0;if(0===A.w||0===A.h)return!0;const t=A[Ho](),i=t[yo]?.attempt||0,[,a,s,n]=function(A){let e,t,i=\\\"\\\"===A.w?NaN:A.w,a=\\\"\\\"===A.h?NaN:A.h,[s,n]=[0,0];switch(A.anchorType||\\\"\\\"){case\\\"bottomCenter\\\":[s,n]=[i/2,a];break;case\\\"bottomLeft\\\":[s,n]=[0,a];break;case\\\"bottomRight\\\":[s,n]=[i,a];break;case\\\"middleCenter\\\":[s,n]=[i/2,a/2];break;case\\\"middleLeft\\\":[s,n]=[0,a/2];break;case\\\"middleRight\\\":[s,n]=[i,a/2];break;case\\\"topCenter\\\":[s,n]=[i/2,0];break;case\\\"topRight\\\":[s,n]=[i,0]}switch(A.rotate||0){case 0:[e,t]=[-s,-n];break;case 90:[e,t]=[-n,s],[i,a]=[a,-i];break;case 180:[e,t]=[s,n],[i,a]=[-i,-a];break;case 270:[e,t]=[n,-s],[i,a]=[-a,i]}return[A.x+e+Math.min(0,i),A.y+t+Math.min(0,a),Math.abs(i),Math.abs(a)]}(A);switch(t.layout){case\\\"lr-tb\\\":case\\\"rl-tb\\\":return 0===i?A[vo]()[yo].noLayoutFailure?\\\"\\\"!==A.w?Math.round(s-e.width)<=2:e.width>2:!(\\\"\\\"!==A.h&&Math.round(n-e.height)>2)&&(\\\"\\\"!==A.w?Math.round(s-e.width)<=2||0===t[yo].numberInLine&&e.height>2:e.width>2):!!A[vo]()[yo].noLayoutFailure||!(\\\"\\\"!==A.h&&Math.round(n-e.height)>2)&&(\\\"\\\"===A.w||Math.round(s-e.width)<=2||!t[_o]())&&e.height>2;case\\\"table\\\":case\\\"tb\\\":return!!A[vo]()[yo].noLayoutFailure||(\\\"\\\"===A.h||A[zo]()?(\\\"\\\"===A.w||Math.round(s-e.width)<=2||!t[_o]())&&e.height>2:Math.round(n-e.height)<=2);case\\\"position\\\":return!!A[vo]()[yo].noLayoutFailure||(\\\"\\\"===A.h||Math.round(n+a-e.height)<=2||n+a>A[vo]()[yo].currentContentArea.h);case\\\"rl-row\\\":case\\\"row\\\":return!!A[vo]()[yo].noLayoutFailure||\\\"\\\"===A.h||Math.round(n-e.height)<=2;default:return!0}}const _c=bI.template.id,$c=\\\"http://www.w3.org/2000/svg\\\",AC=/^H(\\\\\\\\d+)$/,eC=new Set([\\\"image/gif\\\",\\\"image/jpeg\\\",\\\"image/jpg\\\",\\\"image/pjpeg\\\",\\\"image/png\\\",\\\"image/apng\\\",\\\"image/x-png\\\",\\\"image/bmp\\\",\\\"image/x-ms-bmp\\\",\\\"image/tiff\\\",\\\"image/tif\\\",\\\"application/octet-stream\\\"]),tC=[[[66,77],\\\"image/bmp\\\"],[[255,216,255],\\\"image/jpeg\\\"],[[73,73,42,0],\\\"image/tiff\\\"],[[77,77,0,42],\\\"image/tiff\\\"],[[71,73,70,56,57,97],\\\"image/gif\\\"],[[137,80,78,71,13,10,26,10],\\\"image/png\\\"]];function iC(A){if(!A||!A.border)return{w:0,h:0};const e=A.border[xo]();return e?{w:e.widths[0]+e.widths[2]+e.insets[0]+e.insets[2],h:e.widths[1]+e.widths[3]+e.insets[1]+e.insets[3]}:{w:0,h:0}}function aC(A){return A.margin&&(A.margin.topInset||A.margin.rightInset||A.margin.bottomInset||A.margin.leftInset)}function sC(A,e){if(!A.value){const e=new dB({});A[Co](e),A.value=e}A.value[EI](e)}function*nC(A){for(const e of A[Mo]())e instanceof sB?yield*e[Lo]():yield e}function rC(A){return\\\"error\\\"===A.validate?.nullTest}function gC(A){for(;A;){if(!A.traversal)return void(A[uI]=A[Yo]()[uI]);if(A[uI])return;let e=null;for(const t of A.traversal[Mo]())if(\\\"next\\\"===t.operation){e=t;break}if(!e||!e.ref)return void(A[uI]=A[Yo]()[uI]);const t=A[vo]();A[uI]=++t[uI];const i=t[BI](e.ref,A);if(!i)return;A=i[0]}}function oC(A,e){const t=A.assist;if(t){const A=t[pI]();A&&(e.title=A);const i=t.role.match(AC);if(i){const A=\\\"heading\\\",t=i[1];e.role=A,e[\\\"aria-level\\\"]=t}}if(\\\"table\\\"===A.layout)e.role=\\\"table\\\";else if(\\\"row\\\"===A.layout)e.role=\\\"row\\\";else{const t=A[Yo]();\\\"row\\\"===t.layout&&(e.role=\\\"TH\\\"===t.assist?.role?\\\"columnheader\\\":\\\"cell\\\")}}function IC(A){if(!A.assist)return null;const e=A.assist;return e.speak&&\\\"\\\"!==e.speak[fo]?e.speak[fo]:e.toolTip?e.toolTip[fo]:null}function cC(A){return JI.success({name:\\\"div\\\",attributes:{class:[\\\"xfaRich\\\"],style:Object.create(null)},children:[{name:\\\"span\\\",attributes:{style:Object.create(null)},value:A}]})}function CC(A){const e=A[vo]();null===e[yo].firstUnsplittable&&(e[yo].firstUnsplittable=A,e[yo].noLayoutFailure=!0)}function hC(A){const e=A[vo]();e[yo].firstUnsplittable===A&&(e[yo].noLayoutFailure=!1)}function BC(A){if(A[yo])return!1;if(A[yo]=Object.create(null),\\\"auto\\\"===A.targetType)return!1;const e=A[vo]();let t=null;if(A.target){if(t=e[BI](A.target,A[Yo]()),!t)return!1;t=t[0]}const{currentPageArea:i,currentContentArea:a}=e[yo];if(\\\"pageArea\\\"===A.targetType)return t instanceof Hh||(t=null),A.startNew?(A[yo].target=t||i,!0):!(!t||t===i)&&(A[yo].target=t,!0);t instanceof YC||(t=null);const s=t&&t[Yo]();let n,r=s;if(A.startNew)if(t){const A=s.contentArea.children,e=A.indexOf(a),i=A.indexOf(t);-1!==e&&eA,i[yo].noLayoutFailure=!0;const n=e[pI](t);A[co](n.html,n.bbox),i[yo].noLayoutFailure=a,e[Ho]=s}class QC extends bc{constructor(A){super(_c,\\\"appearanceFilter\\\"),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"optional\\\",\\\"required\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class EC extends fc{constructor(A){super(_c,\\\"arc\\\",!0),this.circular=RI({data:A.circular,defaultValue:0,validate:A=>1===A}),this.hand=xI(A.hand,[\\\"even\\\",\\\"left\\\",\\\"right\\\"]),this.id=A.id||\\\"\\\",this.startAngle=GI({data:A.startAngle,defaultValue:0,validate:A=>!0}),this.sweepAngle=GI({data:A.sweepAngle,defaultValue:360,validate:A=>!0}),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.edge=null,this.fill=null}[pI](){const A=this.edge||new VC({}),e=A[yI](),t=Object.create(null);let i;\\\"visible\\\"===this.fill?.presence?Object.assign(t,this.fill[yI]()):t.fill=\\\"transparent\\\",t.strokeWidth=Rc(\\\"visible\\\"===A.presence?A.thickness:0),t.stroke=e.color;const a={xmlns:$c,style:{width:\\\"100%\\\",height:\\\"100%\\\",overflow:\\\"visible\\\"}};if(360===this.sweepAngle)i={name:\\\"ellipse\\\",attributes:{xmlns:$c,cx:\\\"50%\\\",cy:\\\"50%\\\",rx:\\\"50%\\\",ry:\\\"50%\\\",style:t}};else{const A=this.startAngle*Math.PI/180,e=this.sweepAngle*Math.PI/180,s=this.sweepAngle>180?1:0,[n,r,g,o]=[50*(1+Math.cos(A)),50*(1-Math.sin(A)),50*(1+Math.cos(A+e)),50*(1-Math.sin(A+e))];i={name:\\\"path\\\",attributes:{xmlns:$c,d:`M ${n} ${r} A 50 50 0 ${s} 0 ${g} ${o}`,vectorEffect:\\\"non-scaling-stroke\\\",style:t}},Object.assign(a,{viewBox:\\\"0 0 100 100\\\",preserveAspectRatio:\\\"none\\\"})}const s={name:\\\"svg\\\",children:[i],attributes:a};return aC(this[Yo]()[Yo]())?JI.success({name:\\\"div\\\",attributes:{style:{display:\\\"inline\\\",width:\\\"100%\\\",height:\\\"100%\\\"}},children:[s]}):(s.attributes.style.position=\\\"absolute\\\",JI.success(s))}}class uC extends fc{constructor(A){super(_c,\\\"area\\\",!0),this.colSpan=RI({data:A.colSpan,defaultValue:1,validate:A=>A>=1||-1===A}),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.relevant=LI(A.relevant),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.x=UI(A.x,\\\"0pt\\\"),this.y=UI(A.y,\\\"0pt\\\"),this.desc=null,this.extras=null,this.area=new pc,this.draw=new pc,this.exObject=new pc,this.exclGroup=new pc,this.field=new pc,this.subform=new pc,this.subformSet=new pc}*[Lo](){yield*nC(this)}[$o](){return!0}[Zo](){return!0}[co](A,e){const[t,i,a,s]=e;this[yo].width=Math.max(this[yo].width,t+a),this[yo].height=Math.max(this[yo].height,i+s),this[yo].children.push(A)}[Fo](){return this[yo].availableSpace}[pI](A){const e=Hc(this,\\\"position\\\"),t={style:e,id:this[wI],class:[\\\"xfaArea\\\"]};qc(this)&&t.class.push(\\\"xfaPrintOnly\\\"),this.name&&(t.xfaName=this.name);const i=[];this[yo]={children:i,width:0,height:0,availableSpace:A};const a=this[ho]({filter:new Set([\\\"area\\\",\\\"draw\\\",\\\"field\\\",\\\"exclGroup\\\",\\\"subform\\\",\\\"subformSet\\\"]),include:!0});if(!a.success)return a.isBreak()?a:(delete this[yo],JI.FAILURE);e.width=Rc(this[yo].width),e.height=Rc(this[yo].height);const s={name:\\\"div\\\",attributes:t,children:i},n=[this.x,this.y,this[yo].width,this[yo].height];return delete this[yo],JI.success(s,n)}}class dC extends fc{constructor(A){super(_c,\\\"assist\\\",!0),this.id=A.id||\\\"\\\",this.role=A.role||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.speak=null,this.toolTip=null}[pI](){return this.toolTip?.[fo]||null}}class fC extends fc{constructor(A){super(_c,\\\"barcode\\\",!0),this.charEncoding=NI({data:A.charEncoding?A.charEncoding.toLowerCase():\\\"\\\",defaultValue:\\\"\\\",validate:A=>[\\\"utf-8\\\",\\\"big-five\\\",\\\"fontspecific\\\",\\\"gbk\\\",\\\"gb-18030\\\",\\\"gb-2312\\\",\\\"ksc-5601\\\",\\\"none\\\",\\\"shift-jis\\\",\\\"ucs-2\\\",\\\"utf-16\\\"].includes(A)||A.match(/iso-8859-\\\\\\\\d{2}/)}),this.checksum=xI(A.checksum,[\\\"none\\\",\\\"1mod10\\\",\\\"1mod10_1mod11\\\",\\\"2mod10\\\",\\\"auto\\\"]),this.dataColumnCount=RI({data:A.dataColumnCount,defaultValue:-1,validate:A=>A>=0}),this.dataLength=RI({data:A.dataLength,defaultValue:-1,validate:A=>A>=0}),this.dataPrep=xI(A.dataPrep,[\\\"none\\\",\\\"flateCompress\\\"]),this.dataRowCount=RI({data:A.dataRowCount,defaultValue:-1,validate:A=>A>=0}),this.endChar=A.endChar||\\\"\\\",this.errorCorrectionLevel=RI({data:A.errorCorrectionLevel,defaultValue:-1,validate:A=>A>=0&&A<=8}),this.id=A.id||\\\"\\\",this.moduleHeight=UI(A.moduleHeight,\\\"5mm\\\"),this.moduleWidth=UI(A.moduleWidth,\\\"0.25mm\\\"),this.printCheckDigit=RI({data:A.printCheckDigit,defaultValue:0,validate:A=>1===A}),this.rowColumnRatio=MI(A.rowColumnRatio),this.startChar=A.startChar||\\\"\\\",this.textLocation=xI(A.textLocation,[\\\"below\\\",\\\"above\\\",\\\"aboveEmbedded\\\",\\\"belowEmbedded\\\",\\\"none\\\"]),this.truncate=RI({data:A.truncate,defaultValue:0,validate:A=>1===A}),this.type=xI(A.type?A.type.toLowerCase():\\\"\\\",[\\\"aztec\\\",\\\"codabar\\\",\\\"code2of5industrial\\\",\\\"code2of5interleaved\\\",\\\"code2of5matrix\\\",\\\"code2of5standard\\\",\\\"code3of9\\\",\\\"code3of9extended\\\",\\\"code11\\\",\\\"code49\\\",\\\"code93\\\",\\\"code128\\\",\\\"code128a\\\",\\\"code128b\\\",\\\"code128c\\\",\\\"code128sscc\\\",\\\"datamatrix\\\",\\\"ean8\\\",\\\"ean8add2\\\",\\\"ean8add5\\\",\\\"ean13\\\",\\\"ean13add2\\\",\\\"ean13add5\\\",\\\"ean13pwcd\\\",\\\"fim\\\",\\\"logmars\\\",\\\"maxicode\\\",\\\"msi\\\",\\\"pdf417\\\",\\\"pdf417macro\\\",\\\"plessey\\\",\\\"postauscust2\\\",\\\"postauscust3\\\",\\\"postausreplypaid\\\",\\\"postausstandard\\\",\\\"postukrm4scc\\\",\\\"postusdpbc\\\",\\\"postusimb\\\",\\\"postusstandard\\\",\\\"postus5zip\\\",\\\"qrcode\\\",\\\"rfid\\\",\\\"rss14\\\",\\\"rss14expanded\\\",\\\"rss14limited\\\",\\\"rss14stacked\\\",\\\"rss14stackedomni\\\",\\\"rss14truncated\\\",\\\"telepen\\\",\\\"ucc128\\\",\\\"ucc128random\\\",\\\"ucc128sscc\\\",\\\"upca\\\",\\\"upcaadd2\\\",\\\"upcaadd5\\\",\\\"upcapwcd\\\",\\\"upce\\\",\\\"upceadd2\\\",\\\"upceadd5\\\",\\\"upcean2\\\",\\\"upcean5\\\",\\\"upsmaxicode\\\"]),this.upsMode=xI(A.upsMode,[\\\"usCarrier\\\",\\\"internationalCarrier\\\",\\\"secureSymbol\\\",\\\"standardSymbol\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.wideNarrowRatio=MI(A.wideNarrowRatio),this.encrypt=null,this.extras=null}}class pC extends fc{constructor(A){super(_c,\\\"bind\\\",!0),this.match=xI(A.match,[\\\"once\\\",\\\"dataRef\\\",\\\"global\\\",\\\"none\\\"]),this.ref=A.ref||\\\"\\\",this.picture=null}}class mC extends fc{constructor(A){super(_c,\\\"bindItems\\\"),this.connection=A.connection||\\\"\\\",this.labelRef=A.labelRef||\\\"\\\",this.ref=A.ref||\\\"\\\",this.valueRef=A.valueRef||\\\"\\\"}}class yC extends fc{constructor(A){super(_c,\\\"bookend\\\"),this.id=A.id||\\\"\\\",this.leader=A.leader||\\\"\\\",this.trailer=A.trailer||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class wC extends Fc{constructor(A){super(_c,\\\"boolean\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}[pI](A){return cC(1===this[fo]?\\\"1\\\":\\\"0\\\")}}class DC extends fc{constructor(A){super(_c,\\\"border\\\",!0),this.break=xI(A.break,[\\\"close\\\",\\\"open\\\"]),this.hand=xI(A.hand,[\\\"even\\\",\\\"left\\\",\\\"right\\\"]),this.id=A.id||\\\"\\\",this.presence=xI(A.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]),this.relevant=LI(A.relevant),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.corner=new pc(4),this.edge=new pc(4),this.extras=null,this.fill=null,this.margin=null}[xo](){if(!this[yo]){const A=this.edge.children.slice();if(A.length<4){const e=A.at(-1)||new VC({});for(let t=A.length;t<4;t++)A.push(e)}const e=A.map((A=>A.thickness)),t=[0,0,0,0];this.margin&&(t[0]=this.margin.topInset,t[1]=this.margin.rightInset,t[2]=this.margin.bottomInset,t[3]=this.margin.leftInset),this[yo]={widths:e,insets:t,edges:A}}return this[yo]}[yI](){const{edges:A}=this[xo](),e=A.map((A=>{const e=A[yI]();return e.color||=\\\"#000000\\\",e})),t=Object.create(null);if(this.margin&&Object.assign(t,this.margin[yI]()),\\\"visible\\\"===this.fill?.presence&&Object.assign(t,this.fill[yI]()),this.corner.children.some((A=>0!==A.radius))){const A=this.corner.children.map((A=>A[yI]()));if(2===A.length||3===A.length){const e=A.at(-1);for(let t=A.length;t<4;t++)A.push(e)}t.borderRadius=A.map((A=>A.radius)).join(\\\" \\\")}switch(this.presence){case\\\"invisible\\\":case\\\"hidden\\\":t.borderStyle=\\\"\\\";break;case\\\"inactive\\\":t.borderStyle=\\\"none\\\";break;default:t.borderStyle=e.map((A=>A.style)).join(\\\" \\\")}return t.borderWidth=e.map((A=>A.width)).join(\\\" \\\"),t.borderColor=e.map((A=>A.color)).join(\\\" \\\"),t}}class bC extends fc{constructor(A){super(_c,\\\"break\\\",!0),this.after=xI(A.after,[\\\"auto\\\",\\\"contentArea\\\",\\\"pageArea\\\",\\\"pageEven\\\",\\\"pageOdd\\\"]),this.afterTarget=A.afterTarget||\\\"\\\",this.before=xI(A.before,[\\\"auto\\\",\\\"contentArea\\\",\\\"pageArea\\\",\\\"pageEven\\\",\\\"pageOdd\\\"]),this.beforeTarget=A.beforeTarget||\\\"\\\",this.bookendLeader=A.bookendLeader||\\\"\\\",this.bookendTrailer=A.bookendTrailer||\\\"\\\",this.id=A.id||\\\"\\\",this.overflowLeader=A.overflowLeader||\\\"\\\",this.overflowTarget=A.overflowTarget||\\\"\\\",this.overflowTrailer=A.overflowTrailer||\\\"\\\",this.startNew=RI({data:A.startNew,defaultValue:0,validate:A=>1===A}),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null}}class kC extends fc{constructor(A){super(_c,\\\"breakAfter\\\",!0),this.id=A.id||\\\"\\\",this.leader=A.leader||\\\"\\\",this.startNew=RI({data:A.startNew,defaultValue:0,validate:A=>1===A}),this.target=A.target||\\\"\\\",this.targetType=xI(A.targetType,[\\\"auto\\\",\\\"contentArea\\\",\\\"pageArea\\\"]),this.trailer=A.trailer||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.script=null}}class FC extends fc{constructor(A){super(_c,\\\"breakBefore\\\",!0),this.id=A.id||\\\"\\\",this.leader=A.leader||\\\"\\\",this.startNew=RI({data:A.startNew,defaultValue:0,validate:A=>1===A}),this.target=A.target||\\\"\\\",this.targetType=xI(A.targetType,[\\\"auto\\\",\\\"contentArea\\\",\\\"pageArea\\\"]),this.trailer=A.trailer||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.script=null}[pI](A){return this[yo]={},JI.FAILURE}}class SC extends fc{constructor(A){super(_c,\\\"button\\\",!0),this.highlight=xI(A.highlight,[\\\"inverted\\\",\\\"none\\\",\\\"outline\\\",\\\"push\\\"]),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null}[pI](A){const e=this[Yo]()[Yo](),t={name:\\\"button\\\",attributes:{id:this[wI],class:[\\\"xfaButton\\\"],style:{}},children:[]};for(const A of e.event.children){if(\\\"click\\\"!==A.activity||!A.script)continue;const e=Ae(A.script[fo]);if(!e)continue;const i=Oc(e.url);i&&t.children.push({name:\\\"a\\\",attributes:{id:\\\"link\\\"+this[wI],href:i,newWindow:e.newWindow,class:[\\\"xfaLink\\\"],style:{}},children:[]})}return JI.success(t)}}class RC extends fc{constructor(A){super(_c,\\\"calculate\\\",!0),this.id=A.id||\\\"\\\",this.override=xI(A.override,[\\\"disabled\\\",\\\"error\\\",\\\"ignore\\\",\\\"warning\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null,this.message=null,this.script=null}}class GC extends fc{constructor(A){super(_c,\\\"caption\\\",!0),this.id=A.id||\\\"\\\",this.placement=xI(A.placement,[\\\"left\\\",\\\"bottom\\\",\\\"inline\\\",\\\"right\\\",\\\"top\\\"]),this.presence=xI(A.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]),this.reserve=Math.ceil(UI(A.reserve)),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null,this.font=null,this.margin=null,this.para=null,this.value=null}[EI](A){sC(this,A)}[xo](A){if(!this[yo]){let{width:e,height:t}=A;switch(this.placement){case\\\"left\\\":case\\\"right\\\":case\\\"inline\\\":e=this.reserve<=0?e:this.reserve;break;case\\\"top\\\":case\\\"bottom\\\":t=this.reserve<=0?t:this.reserve}this[yo]=Uc(this,{width:e,height:t})}return this[yo]}[pI](A){if(!this.value)return JI.EMPTY;this[II]();const e=this.value[pI](A).html;if(!e)return this[oI](),JI.EMPTY;const t=this.reserve;if(this.reserve<=0){const{w:e,h:t}=this[xo](A);switch(this.placement){case\\\"left\\\":case\\\"right\\\":case\\\"inline\\\":this.reserve=e;break;case\\\"top\\\":case\\\"bottom\\\":this.reserve=t}}const i=[];\\\"string\\\"==typeof e?i.push({name:\\\"#text\\\",value:e}):i.push(e);const a=Hc(this,\\\"font\\\",\\\"margin\\\",\\\"visibility\\\");switch(this.placement){case\\\"left\\\":case\\\"right\\\":this.reserve>0&&(a.width=Rc(this.reserve));break;case\\\"top\\\":case\\\"bottom\\\":this.reserve>0&&(a.height=Rc(this.reserve))}return Pc(this,null,e),this[oI](),this.reserve=t,JI.success({name:\\\"div\\\",attributes:{style:a,class:[\\\"xfaCaption\\\"]},children:i})}}class NC extends bc{constructor(A){super(_c,\\\"certificate\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class xC extends fc{constructor(A){super(_c,\\\"certificates\\\",!0),this.credentialServerPolicy=xI(A.credentialServerPolicy,[\\\"optional\\\",\\\"required\\\"]),this.id=A.id||\\\"\\\",this.url=A.url||\\\"\\\",this.urlPolicy=A.urlPolicy||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.encryption=null,this.issuers=null,this.keyUsage=null,this.oids=null,this.signing=null,this.subjectDNs=null}}class UC extends fc{constructor(A){super(_c,\\\"checkButton\\\",!0),this.id=A.id||\\\"\\\",this.mark=xI(A.mark,[\\\"default\\\",\\\"check\\\",\\\"circle\\\",\\\"cross\\\",\\\"diamond\\\",\\\"square\\\",\\\"star\\\"]),this.shape=xI(A.shape,[\\\"square\\\",\\\"round\\\"]),this.size=UI(A.size,\\\"10pt\\\"),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.border=null,this.extras=null,this.margin=null}[pI](A){const e=Hc(\\\"margin\\\"),t=Rc(this.size);let i,a,s;e.width=e.height=t;const n=this[Yo]()[Yo](),r=n.items.children.length&&n.items.children[0][pI]().html||[],g={on:(void 0!==r[0]?r[0]:\\\"on\\\").toString(),off:(void 0!==r[1]?r[1]:\\\"off\\\").toString()},o=(n.value?.[dI]()||\\\"off\\\")===g.on||void 0,I=n[Ho](),c=n[wI];let C;I instanceof rh?(s=I[wI],i=\\\"radio\\\",a=\\\"xfaRadio\\\",C=I[po]?.[wI]||I[wI]):(i=\\\"checkbox\\\",a=\\\"xfaCheckbox\\\",C=n[po]?.[wI]||n[wI]);const h={name:\\\"input\\\",attributes:{class:[a],style:e,fieldId:c,dataId:C,type:i,checked:o,xfaOn:g.on,xfaOff:g.off,\\\"aria-label\\\":IC(n),\\\"aria-required\\\":!1}};return s&&(h.attributes.name=s),rC(n)&&(h.attributes[\\\"aria-required\\\"]=!0,h.attributes.required=!0),JI.success({name:\\\"label\\\",attributes:{class:[\\\"xfaLabel\\\"]},children:[h]})}}class MC extends fc{constructor(A){super(_c,\\\"choiceList\\\",!0),this.commitOn=xI(A.commitOn,[\\\"select\\\",\\\"exit\\\"]),this.id=A.id||\\\"\\\",this.open=xI(A.open,[\\\"userControl\\\",\\\"always\\\",\\\"multiSelect\\\",\\\"onEntry\\\"]),this.textEntry=RI({data:A.textEntry,defaultValue:0,validate:A=>1===A}),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.border=null,this.extras=null,this.margin=null}[pI](A){const e=Hc(this,\\\"border\\\",\\\"margin\\\"),t=this[Yo]()[Yo](),i={fontSize:`calc(${t.font?.size||10}px * var(--scale-factor))`},a=[];if(t.items.children.length>0){const A=t.items;let e=0,s=0;2===A.children.length&&(e=A.children[0].save,s=1-e);const n=A.children[e][pI]().html,r=A.children[s][pI]().html;let g=!1;const o=t.value?.[dI]()||\\\"\\\";for(let A=0,e=n.length;AMath.min(Math.max(0,parseInt(A.trim(),10)),255))).map((A=>isNaN(A)?0:A));return s.length<3||([t,i,a]=s),{r:t,g:i,b:a}}(A.value):\\\"\\\",this.extras=null}[qo](){return!1}[yI](){return this.value?$.makeHexColor(this.value.r,this.value.g,this.value.b):null}}class JC extends fc{constructor(A){super(_c,\\\"comb\\\"),this.id=A.id||\\\"\\\",this.numberOfCells=RI({data:A.numberOfCells,defaultValue:0,validate:A=>A>=0}),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class HC extends fc{constructor(A){super(_c,\\\"connect\\\",!0),this.connection=A.connection||\\\"\\\",this.id=A.id||\\\"\\\",this.ref=A.ref||\\\"\\\",this.usage=xI(A.usage,[\\\"exportAndImport\\\",\\\"exportOnly\\\",\\\"importOnly\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.picture=null}}class YC extends fc{constructor(A){super(_c,\\\"contentArea\\\",!0),this.h=UI(A.h),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.relevant=LI(A.relevant),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.w=UI(A.w),this.x=UI(A.x,\\\"0pt\\\"),this.y=UI(A.y,\\\"0pt\\\"),this.desc=null,this.extras=null}[pI](A){const e={left:Rc(this.x),top:Rc(this.y),width:Rc(this.w),height:Rc(this.h)},t=[\\\"xfaContentarea\\\"];return qc(this)&&t.push(\\\"xfaPrintOnly\\\"),JI.success({name:\\\"div\\\",children:[],attributes:{style:e,class:t,id:this[wI]}})}}class vC extends fc{constructor(A){super(_c,\\\"corner\\\",!0),this.id=A.id||\\\"\\\",this.inverted=RI({data:A.inverted,defaultValue:0,validate:A=>1===A}),this.join=xI(A.join,[\\\"square\\\",\\\"round\\\"]),this.presence=xI(A.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]),this.radius=UI(A.radius),this.stroke=xI(A.stroke,[\\\"solid\\\",\\\"dashDot\\\",\\\"dashDotDot\\\",\\\"dashed\\\",\\\"dotted\\\",\\\"embossed\\\",\\\"etched\\\",\\\"lowered\\\",\\\"raised\\\"]),this.thickness=UI(A.thickness,\\\"0.5pt\\\"),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.color=null,this.extras=null}[yI](){const A=Hc(this,\\\"visibility\\\");return A.radius=Rc(\\\"square\\\"===this.join?0:this.radius),A}}class KC extends wc{constructor(A){super(_c,\\\"date\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}[wo](){const A=this[fo].trim();this[fo]=A?new Date(A):null}[pI](A){return cC(this[fo]?this[fo].toString():\\\"\\\")}}class qC extends wc{constructor(A){super(_c,\\\"dateTime\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}[wo](){const A=this[fo].trim();this[fo]=A?new Date(A):null}[pI](A){return cC(this[fo]?this[fo].toString():\\\"\\\")}}class TC extends fc{constructor(A){super(_c,\\\"dateTimeEdit\\\",!0),this.hScrollPolicy=xI(A.hScrollPolicy,[\\\"auto\\\",\\\"off\\\",\\\"on\\\"]),this.id=A.id||\\\"\\\",this.picker=xI(A.picker,[\\\"host\\\",\\\"none\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.border=null,this.comb=null,this.extras=null,this.margin=null}[pI](A){const e=Hc(this,\\\"border\\\",\\\"font\\\",\\\"margin\\\"),t=this[Yo]()[Yo](),i={name:\\\"input\\\",attributes:{type:\\\"text\\\",fieldId:t[wI],dataId:t[po]?.[wI]||t[wI],class:[\\\"xfaTextfield\\\"],style:e,\\\"aria-label\\\":IC(t),\\\"aria-required\\\":!1}};return rC(t)&&(i.attributes[\\\"aria-required\\\"]=!0,i.attributes.required=!0),JI.success({name:\\\"label\\\",attributes:{class:[\\\"xfaLabel\\\"]},children:[i]})}}class PC extends wc{constructor(A){super(_c,\\\"decimal\\\"),this.fracDigits=RI({data:A.fracDigits,defaultValue:2,validate:A=>!0}),this.id=A.id||\\\"\\\",this.leadDigits=RI({data:A.leadDigits,defaultValue:-1,validate:A=>!0}),this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}[wo](){const A=parseFloat(this[fo].trim());this[fo]=isNaN(A)?null:A}[pI](A){return cC(null!==this[fo]?this[fo].toString():\\\"\\\")}}class WC extends fc{constructor(A){super(_c,\\\"defaultUi\\\",!0),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null}}class OC extends fc{constructor(A){super(_c,\\\"desc\\\",!0),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.boolean=new pc,this.date=new pc,this.dateTime=new pc,this.decimal=new pc,this.exData=new pc,this.float=new pc,this.image=new pc,this.integer=new pc,this.text=new pc,this.time=new pc}}class ZC extends Dc{constructor(A){super(_c,\\\"digestMethod\\\",[\\\"\\\",\\\"SHA1\\\",\\\"SHA256\\\",\\\"SHA512\\\",\\\"RIPEMD160\\\"]),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class jC extends fc{constructor(A){super(_c,\\\"digestMethods\\\",!0),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"optional\\\",\\\"required\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.digestMethod=new pc}}class XC extends fc{constructor(A){super(_c,\\\"draw\\\",!0),this.anchorType=xI(A.anchorType,[\\\"topLeft\\\",\\\"bottomCenter\\\",\\\"bottomLeft\\\",\\\"bottomRight\\\",\\\"middleCenter\\\",\\\"middleLeft\\\",\\\"middleRight\\\",\\\"topCenter\\\",\\\"topRight\\\"]),this.colSpan=RI({data:A.colSpan,defaultValue:1,validate:A=>A>=1||-1===A}),this.h=A.h?UI(A.h):\\\"\\\",this.hAlign=xI(A.hAlign,[\\\"left\\\",\\\"center\\\",\\\"justify\\\",\\\"justifyAll\\\",\\\"radix\\\",\\\"right\\\"]),this.id=A.id||\\\"\\\",this.locale=A.locale||\\\"\\\",this.maxH=UI(A.maxH,\\\"0pt\\\"),this.maxW=UI(A.maxW,\\\"0pt\\\"),this.minH=UI(A.minH,\\\"0pt\\\"),this.minW=UI(A.minW,\\\"0pt\\\"),this.name=A.name||\\\"\\\",this.presence=xI(A.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]),this.relevant=LI(A.relevant),this.rotate=RI({data:A.rotate,defaultValue:0,validate:A=>A%90==0}),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.w=A.w?UI(A.w):\\\"\\\",this.x=UI(A.x,\\\"0pt\\\"),this.y=UI(A.y,\\\"0pt\\\"),this.assist=null,this.border=null,this.caption=null,this.desc=null,this.extras=null,this.font=null,this.keep=null,this.margin=null,this.para=null,this.traversal=null,this.ui=null,this.value=null,this.setProperty=new pc}[EI](A){sC(this,A)}[pI](A){if(gC(this),\\\"hidden\\\"===this.presence||\\\"inactive\\\"===this.presence)return JI.EMPTY;Lc(this),this[II]();const e=this.w,t=this.h,{w:i,h:a,isBroken:s}=Uc(this,A);if(i&&\\\"\\\"===this.w){if(s&&this[Ho]()[_o]())return this[oI](),JI.FAILURE;this.w=i}if(a&&\\\"\\\"===this.h&&(this.h=a),CC(this),!zc(this,A))return this.w=e,this.h=t,this[oI](),JI.FAILURE;hC(this);const n=Hc(this,\\\"font\\\",\\\"hAlign\\\",\\\"dimensions\\\",\\\"position\\\",\\\"presence\\\",\\\"rotate\\\",\\\"anchorType\\\",\\\"border\\\",\\\"margin\\\");Nc(this,n),n.margin&&(n.padding=n.margin,delete n.margin);const r=[\\\"xfaDraw\\\"];this.font&&r.push(\\\"xfaFont\\\"),qc(this)&&r.push(\\\"xfaPrintOnly\\\");const g={style:n,id:this[wI],class:r};this.name&&(g.xfaName=this.name);const o={name:\\\"div\\\",attributes:g,children:[]};oC(this,g);const I=Mc(this,o,A),c=this.value?this.value[pI](A).html:null;return null===c?(this.w=e,this.h=t,this[oI](),JI.success(Yc(this,o),I)):(o.children.push(c),Pc(this,n,c),this.w=e,this.h=t,this[oI](),JI.success(Yc(this,o),I))}}class VC extends fc{constructor(A){super(_c,\\\"edge\\\",!0),this.cap=xI(A.cap,[\\\"square\\\",\\\"butt\\\",\\\"round\\\"]),this.id=A.id||\\\"\\\",this.presence=xI(A.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]),this.stroke=xI(A.stroke,[\\\"solid\\\",\\\"dashDot\\\",\\\"dashDotDot\\\",\\\"dashed\\\",\\\"dotted\\\",\\\"embossed\\\",\\\"etched\\\",\\\"lowered\\\",\\\"raised\\\"]),this.thickness=UI(A.thickness,\\\"0.5pt\\\"),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.color=null,this.extras=null}[yI](){const A=Hc(this,\\\"visibility\\\");if(Object.assign(A,{linecap:this.cap,width:Rc(this.thickness),color:this.color?this.color[yI]():\\\"#000000\\\",style:\\\"\\\"}),\\\"visible\\\"!==this.presence)A.style=\\\"none\\\";else switch(this.stroke){case\\\"solid\\\":A.style=\\\"solid\\\";break;case\\\"dashDot\\\":case\\\"dashDotDot\\\":case\\\"dashed\\\":A.style=\\\"dashed\\\";break;case\\\"dotted\\\":A.style=\\\"dotted\\\";break;case\\\"embossed\\\":A.style=\\\"ridge\\\";break;case\\\"etched\\\":A.style=\\\"groove\\\";break;case\\\"lowered\\\":A.style=\\\"inset\\\";break;case\\\"raised\\\":A.style=\\\"outset\\\"}return A}}class zC extends Dc{constructor(A){super(_c,\\\"encoding\\\",[\\\"adbe.x509.rsa_sha1\\\",\\\"adbe.pkcs7.detached\\\",\\\"adbe.pkcs7.sha1\\\"]),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class _C extends fc{constructor(A){super(_c,\\\"encodings\\\",!0),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"optional\\\",\\\"required\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.encoding=new pc}}class $C extends fc{constructor(A){super(_c,\\\"encrypt\\\",!0),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.certificate=null}}class Ah extends fc{constructor(A){super(_c,\\\"encryptData\\\",!0),this.id=A.id||\\\"\\\",this.operation=xI(A.operation,[\\\"encrypt\\\",\\\"decrypt\\\"]),this.target=A.target||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.filter=null,this.manifest=null}}class eh extends fc{constructor(A){super(_c,\\\"encryption\\\",!0),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"optional\\\",\\\"required\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.certificate=new pc}}class th extends Dc{constructor(A){super(_c,\\\"encryptionMethod\\\",[\\\"\\\",\\\"AES256-CBC\\\",\\\"TRIPLEDES-CBC\\\",\\\"AES128-CBC\\\",\\\"AES192-CBC\\\"]),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class ih extends fc{constructor(A){super(_c,\\\"encryptionMethods\\\",!0),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"optional\\\",\\\"required\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.encryptionMethod=new pc}}class ah extends fc{constructor(A){super(_c,\\\"event\\\",!0),this.activity=xI(A.activity,[\\\"click\\\",\\\"change\\\",\\\"docClose\\\",\\\"docReady\\\",\\\"enter\\\",\\\"exit\\\",\\\"full\\\",\\\"indexChange\\\",\\\"initialize\\\",\\\"mouseDown\\\",\\\"mouseEnter\\\",\\\"mouseExit\\\",\\\"mouseUp\\\",\\\"postExecute\\\",\\\"postOpen\\\",\\\"postPrint\\\",\\\"postSave\\\",\\\"postSign\\\",\\\"postSubmit\\\",\\\"preExecute\\\",\\\"preOpen\\\",\\\"prePrint\\\",\\\"preSave\\\",\\\"preSign\\\",\\\"preSubmit\\\",\\\"ready\\\",\\\"validationState\\\"]),this.id=A.id||\\\"\\\",this.listen=xI(A.listen,[\\\"refOnly\\\",\\\"refAndDescendents\\\"]),this.name=A.name||\\\"\\\",this.ref=A.ref||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null,this.encryptData=null,this.execute=null,this.script=null,this.signData=null,this.submit=null}}class sh extends wc{constructor(A){super(_c,\\\"exData\\\"),this.contentType=A.contentType||\\\"\\\",this.href=A.href||\\\"\\\",this.id=A.id||\\\"\\\",this.maxLength=RI({data:A.maxLength,defaultValue:-1,validate:A=>A>=-1}),this.name=A.name||\\\"\\\",this.rid=A.rid||\\\"\\\",this.transferEncoding=xI(A.transferEncoding,[\\\"none\\\",\\\"base64\\\",\\\"package\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}[Oo](){return\\\"text/html\\\"===this.contentType}[sI](A){return(\\\"text/html\\\"===this.contentType&&A[tI]===bI.xhtml.id||\\\"text/xml\\\"===this.contentType)&&(this[fo]=A,!0)}[pI](A){return\\\"text/html\\\"===this.contentType&&this[fo]?this[fo][pI](A):JI.EMPTY}}class nh extends fc{constructor(A){super(_c,\\\"exObject\\\",!0),this.archive=A.archive||\\\"\\\",this.classId=A.classId||\\\"\\\",this.codeBase=A.codeBase||\\\"\\\",this.codeType=A.codeType||\\\"\\\",this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null,this.boolean=new pc,this.date=new pc,this.dateTime=new pc,this.decimal=new pc,this.exData=new pc,this.exObject=new pc,this.float=new pc,this.image=new pc,this.integer=new pc,this.text=new pc,this.time=new pc}}class rh extends fc{constructor(A){super(_c,\\\"exclGroup\\\",!0),this.access=xI(A.access,[\\\"open\\\",\\\"nonInteractive\\\",\\\"protected\\\",\\\"readOnly\\\"]),this.accessKey=A.accessKey||\\\"\\\",this.anchorType=xI(A.anchorType,[\\\"topLeft\\\",\\\"bottomCenter\\\",\\\"bottomLeft\\\",\\\"bottomRight\\\",\\\"middleCenter\\\",\\\"middleLeft\\\",\\\"middleRight\\\",\\\"topCenter\\\",\\\"topRight\\\"]),this.colSpan=RI({data:A.colSpan,defaultValue:1,validate:A=>A>=1||-1===A}),this.h=A.h?UI(A.h):\\\"\\\",this.hAlign=xI(A.hAlign,[\\\"left\\\",\\\"center\\\",\\\"justify\\\",\\\"justifyAll\\\",\\\"radix\\\",\\\"right\\\"]),this.id=A.id||\\\"\\\",this.layout=xI(A.layout,[\\\"position\\\",\\\"lr-tb\\\",\\\"rl-row\\\",\\\"rl-tb\\\",\\\"row\\\",\\\"table\\\",\\\"tb\\\"]),this.maxH=UI(A.maxH,\\\"0pt\\\"),this.maxW=UI(A.maxW,\\\"0pt\\\"),this.minH=UI(A.minH,\\\"0pt\\\"),this.minW=UI(A.minW,\\\"0pt\\\"),this.name=A.name||\\\"\\\",this.presence=xI(A.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]),this.relevant=LI(A.relevant),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.w=A.w?UI(A.w):\\\"\\\",this.x=UI(A.x,\\\"0pt\\\"),this.y=UI(A.y,\\\"0pt\\\"),this.assist=null,this.bind=null,this.border=null,this.calculate=null,this.caption=null,this.desc=null,this.extras=null,this.margin=null,this.para=null,this.traversal=null,this.validate=null,this.connect=new pc,this.event=new pc,this.field=new pc,this.setProperty=new pc}[Zo](){return!0}[qo](){return!0}[EI](A){for(const e of this.field.children){if(!e.value){const A=new dB({});e[Co](A),e.value=A}e.value[EI](A)}}[_o](){return this.layout.endsWith(\\\"-tb\\\")&&0===this[yo].attempt&&this[yo].numberInLine>0||this[Yo]()[_o]()}[zo](){const A=this[Ho]();return!!A[zo]()&&(void 0!==this[yo]._isSplittable?this[yo]._isSplittable:\\\"position\\\"===this.layout||this.layout.includes(\\\"row\\\")?(this[yo]._isSplittable=!1,!1):(!A.layout?.endsWith(\\\"-tb\\\")||0===A[yo].numberInLine)&&(this[yo]._isSplittable=!0,!0))}[Do](){return jc(this)}[co](A,e){Xc(this,A,e)}[Fo](){return Vc(this)}[pI](A){if(gC(this),\\\"hidden\\\"===this.presence||\\\"inactive\\\"===this.presence||0===this.h||0===this.w)return JI.EMPTY;Lc(this);const e=[],t={id:this[wI],class:[]};Kc(this,t.class),this[yo]||(this[yo]=Object.create(null)),Object.assign(this[yo],{children:e,attributes:t,attempt:0,line:null,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,A.width),height:Math.min(this.h||1/0,A.height)},width:0,height:0,prevHeight:0,currentWidth:0});const i=this[zo]();if(i||CC(this),!zc(this,A))return JI.FAILURE;const a=new Set([\\\"field\\\"]);if(this.layout.includes(\\\"row\\\")){const A=this[Ho]().columnWidths;Array.isArray(A)&&A.length>0&&(this[yo].columnWidths=A,this[yo].currentColumn=0)}const s=Hc(this,\\\"anchorType\\\",\\\"dimensions\\\",\\\"position\\\",\\\"presence\\\",\\\"border\\\",\\\"margin\\\",\\\"hAlign\\\"),n=[\\\"xfaExclgroup\\\"],r=Jc(this);r&&n.push(r),qc(this)&&n.push(\\\"xfaPrintOnly\\\"),t.style=s,t.class=n,this.name&&(t.xfaName=this.name),this[II]();const g=\\\"lr-tb\\\"===this.layout||\\\"rl-tb\\\"===this.layout,o=g?2:1;for(;this[yo].attemptA>=1||-1===A}),this.h=A.h?UI(A.h):\\\"\\\",this.hAlign=xI(A.hAlign,[\\\"left\\\",\\\"center\\\",\\\"justify\\\",\\\"justifyAll\\\",\\\"radix\\\",\\\"right\\\"]),this.id=A.id||\\\"\\\",this.locale=A.locale||\\\"\\\",this.maxH=UI(A.maxH,\\\"0pt\\\"),this.maxW=UI(A.maxW,\\\"0pt\\\"),this.minH=UI(A.minH,\\\"0pt\\\"),this.minW=UI(A.minW,\\\"0pt\\\"),this.name=A.name||\\\"\\\",this.presence=xI(A.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]),this.relevant=LI(A.relevant),this.rotate=RI({data:A.rotate,defaultValue:0,validate:A=>A%90==0}),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.w=A.w?UI(A.w):\\\"\\\",this.x=UI(A.x,\\\"0pt\\\"),this.y=UI(A.y,\\\"0pt\\\"),this.assist=null,this.bind=null,this.border=null,this.calculate=null,this.caption=null,this.desc=null,this.extras=null,this.font=null,this.format=null,this.items=new pc(2),this.keep=null,this.margin=null,this.para=null,this.traversal=null,this.ui=null,this.validate=null,this.value=null,this.bindItems=new pc,this.connect=new pc,this.event=new pc,this.setProperty=new pc}[Zo](){return!0}[EI](A){sC(this,A)}[pI](A){if(gC(this),!this.ui){let A;switch(this.ui=new EB({}),this.ui[Ko]=this[Ko],this[Co](this.ui),this.items.children.length){case 0:A=new cB({}),this.ui.textEdit=A;break;case 1:A=new UC({}),this.ui.checkButton=A;break;case 2:A=new MC({}),this.ui.choiceList=A}this.ui[Co](A)}if(!this.ui||\\\"hidden\\\"===this.presence||\\\"inactive\\\"===this.presence||0===this.h||0===this.w)return JI.EMPTY;this.caption&&delete this.caption[yo],this[II]();const e=this.caption?this.caption[pI](A).html:null,t=this.w,i=this.h;let a=0,s=0;this.margin&&(a=this.margin.leftInset+this.margin.rightInset,s=this.margin.topInset+this.margin.bottomInset);let n=null;if(\\\"\\\"===this.w||\\\"\\\"===this.h){let e=null,t=null,i=0,r=0;if(this.ui.checkButton)i=r=this.ui.checkButton.size;else{const{w:e,h:t}=Uc(this,A);null!==e?(i=e,r=t):r=function(A,e=!1){let t=null;if(A){const e=SI(A.typeface),i=A[Ko].fontFinder.find(e);t=YI(A,i)}if(!t)return{lineHeight:12,lineGap:2,lineNoGap:10};const i=A.size||10,a=t.lineHeight?Math.max(e?0:1.2,t.lineHeight):1.2,s=void 0===t.lineGap?.2:t.lineGap;return{lineHeight:a*i,lineGap:s*i,lineNoGap:Math.max(1,a-s)*i}}(this.font,!0).lineNoGap}if(n=iC(this.ui[xo]()),i+=n.w,r+=n.h,this.caption){const{w:a,h:s,isBroken:n}=this.caption[xo](A);if(n&&this[Ho]()[_o]())return this[oI](),JI.FAILURE;switch(e=a,t=s,this.caption.placement){case\\\"left\\\":case\\\"right\\\":case\\\"inline\\\":e+=i;break;case\\\"top\\\":case\\\"bottom\\\":t+=r}}else e=i,t=r;e&&\\\"\\\"===this.w&&(e+=a,this.w=Math.min(this.maxW<=0?1/0:this.maxW,this.minW+1A>=1&&A<=5}),this.appearanceFilter=null,this.certificates=null,this.digestMethods=null,this.encodings=null,this.encryptionMethods=null,this.handler=null,this.lockDocument=null,this.mdp=null,this.reasons=null,this.timeStamp=null}}class hh extends wc{constructor(A){super(_c,\\\"float\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}[wo](){const A=parseFloat(this[fo].trim());this[fo]=isNaN(A)?null:A}[pI](A){return cC(null!==this[fo]?this[fo].toString():\\\"\\\")}}class Bh extends fc{constructor(A){super(_c,\\\"font\\\",!0),this.baselineShift=UI(A.baselineShift),this.fontHorizontalScale=GI({data:A.fontHorizontalScale,defaultValue:100,validate:A=>A>=0}),this.fontVerticalScale=GI({data:A.fontVerticalScale,defaultValue:100,validate:A=>A>=0}),this.id=A.id||\\\"\\\",this.kerningMode=xI(A.kerningMode,[\\\"none\\\",\\\"pair\\\"]),this.letterSpacing=UI(A.letterSpacing,\\\"0\\\"),this.lineThrough=RI({data:A.lineThrough,defaultValue:0,validate:A=>1===A||2===A}),this.lineThroughPeriod=xI(A.lineThroughPeriod,[\\\"all\\\",\\\"word\\\"]),this.overline=RI({data:A.overline,defaultValue:0,validate:A=>1===A||2===A}),this.overlinePeriod=xI(A.overlinePeriod,[\\\"all\\\",\\\"word\\\"]),this.posture=xI(A.posture,[\\\"normal\\\",\\\"italic\\\"]),this.size=UI(A.size,\\\"10pt\\\"),this.typeface=A.typeface||\\\"Courier\\\",this.underline=RI({data:A.underline,defaultValue:0,validate:A=>1===A||2===A}),this.underlinePeriod=xI(A.underlinePeriod,[\\\"all\\\",\\\"word\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.weight=xI(A.weight,[\\\"normal\\\",\\\"bold\\\"]),this.extras=null,this.fill=null}[Bo](A){super[Bo](A),this[Ko].usedTypefaces.add(this.typeface)}[yI](){const A=Hc(this,\\\"fill\\\"),e=A.color;return e&&(\\\"#000000\\\"===e?delete A.color:e.startsWith(\\\"#\\\")||(A.background=e,A.backgroundClip=\\\"text\\\",A.color=\\\"transparent\\\")),this.baselineShift&&(A.verticalAlign=Rc(this.baselineShift)),A.fontKerning=\\\"none\\\"===this.kerningMode?\\\"none\\\":\\\"normal\\\",A.letterSpacing=Rc(this.letterSpacing),0!==this.lineThrough&&(A.textDecoration=\\\"line-through\\\",2===this.lineThrough&&(A.textDecorationStyle=\\\"double\\\")),0!==this.overline&&(A.textDecoration=\\\"overline\\\",2===this.overline&&(A.textDecorationStyle=\\\"double\\\")),A.fontStyle=this.posture,A.fontSize=Rc(.99*this.size),Wc(this,this,this[Ko].fontFinder,A),0!==this.underline&&(A.textDecoration=\\\"underline\\\",2===this.underline&&(A.textDecorationStyle=\\\"double\\\")),A.fontWeight=this.weight,A}}class lh extends fc{constructor(A){super(_c,\\\"format\\\",!0),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null,this.picture=null}}class Qh extends bc{constructor(A){super(_c,\\\"handler\\\"),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"optional\\\",\\\"required\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class Eh extends fc{constructor(A){super(_c,\\\"hyphenation\\\"),this.excludeAllCaps=RI({data:A.excludeAllCaps,defaultValue:0,validate:A=>1===A}),this.excludeInitialCap=RI({data:A.excludeInitialCap,defaultValue:0,validate:A=>1===A}),this.hyphenate=RI({data:A.hyphenate,defaultValue:0,validate:A=>1===A}),this.id=A.id||\\\"\\\",this.pushCharacterCount=RI({data:A.pushCharacterCount,defaultValue:3,validate:A=>A>=0}),this.remainCharacterCount=RI({data:A.remainCharacterCount,defaultValue:3,validate:A=>A>=0}),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.wordCharacterCount=RI({data:A.wordCharacterCount,defaultValue:7,validate:A=>A>=0})}}class uh extends bc{constructor(A){super(_c,\\\"image\\\"),this.aspect=xI(A.aspect,[\\\"fit\\\",\\\"actual\\\",\\\"height\\\",\\\"none\\\",\\\"width\\\"]),this.contentType=A.contentType||\\\"\\\",this.href=A.href||\\\"\\\",this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.transferEncoding=xI(A.transferEncoding,[\\\"base64\\\",\\\"none\\\",\\\"package\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}[pI](){if(this.contentType&&!eC.has(this.contentType.toLowerCase()))return JI.EMPTY;let A=this[Ko].images&&this[Ko].images.get(this.href);if(!A&&(this.href||!this[fo]))return JI.EMPTY;if(A||\\\"base64\\\"!==this.transferEncoding||(A=j(atob(this[fo]))),!A)return JI.EMPTY;if(!this.contentType){for(const[e,t]of tC)if(A.length>e.length&&e.every(((e,t)=>e===A[t]))){this.contentType=t;break}if(!this.contentType)return JI.EMPTY}const e=new Blob([A],{type:this.contentType});let t;switch(this.aspect){case\\\"fit\\\":case\\\"actual\\\":break;case\\\"height\\\":t={height:\\\"100%\\\",objectFit:\\\"fill\\\"};break;case\\\"none\\\":t={width:\\\"100%\\\",height:\\\"100%\\\",objectFit:\\\"fill\\\"};break;case\\\"width\\\":t={width:\\\"100%\\\",objectFit:\\\"fill\\\"}}const i=this[Yo]();return JI.success({name:\\\"img\\\",attributes:{class:[\\\"xfaImage\\\"],style:t,src:URL.createObjectURL(e),alt:i?IC(i[Yo]()):null}})}}class dh extends fc{constructor(A){super(_c,\\\"imageEdit\\\",!0),this.data=xI(A.data,[\\\"link\\\",\\\"embed\\\"]),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.border=null,this.extras=null,this.margin=null}[pI](A){return\\\"embed\\\"===this.data?JI.success({name:\\\"div\\\",children:[],attributes:{}}):JI.EMPTY}}class fh extends wc{constructor(A){super(_c,\\\"integer\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}[wo](){const A=parseInt(this[fo].trim(),10);this[fo]=isNaN(A)?null:A}[pI](A){return cC(null!==this[fo]?this[fo].toString():\\\"\\\")}}class ph extends fc{constructor(A){super(_c,\\\"issuers\\\",!0),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"optional\\\",\\\"required\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.certificate=new pc}}class mh extends fc{constructor(A){super(_c,\\\"items\\\",!0),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.presence=xI(A.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]),this.ref=A.ref||\\\"\\\",this.save=RI({data:A.save,defaultValue:0,validate:A=>1===A}),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.boolean=new pc,this.date=new pc,this.dateTime=new pc,this.decimal=new pc,this.exData=new pc,this.float=new pc,this.image=new pc,this.integer=new pc,this.text=new pc,this.time=new pc}[pI](){const A=[];for(const e of this[Mo]())A.push(e[dI]());return JI.success(A)}}class yh extends fc{constructor(A){super(_c,\\\"keep\\\",!0),this.id=A.id||\\\"\\\";const e=[\\\"none\\\",\\\"contentArea\\\",\\\"pageArea\\\"];this.intact=xI(A.intact,e),this.next=xI(A.next,e),this.previous=xI(A.previous,e),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null}}class wh extends fc{constructor(A){super(_c,\\\"keyUsage\\\");const e=[\\\"\\\",\\\"yes\\\",\\\"no\\\"];this.crlSign=xI(A.crlSign,e),this.dataEncipherment=xI(A.dataEncipherment,e),this.decipherOnly=xI(A.decipherOnly,e),this.digitalSignature=xI(A.digitalSignature,e),this.encipherOnly=xI(A.encipherOnly,e),this.id=A.id||\\\"\\\",this.keyAgreement=xI(A.keyAgreement,e),this.keyCertSign=xI(A.keyCertSign,e),this.keyEncipherment=xI(A.keyEncipherment,e),this.nonRepudiation=xI(A.nonRepudiation,e),this.type=xI(A.type,[\\\"optional\\\",\\\"required\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class Dh extends fc{constructor(A){super(_c,\\\"line\\\",!0),this.hand=xI(A.hand,[\\\"even\\\",\\\"left\\\",\\\"right\\\"]),this.id=A.id||\\\"\\\",this.slope=xI(A.slope,[\\\"\\\\\\\\\\\\\\\\\\\",\\\"/\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.edge=null}[pI](){const A=this[Yo]()[Yo](),e=this.edge||new VC({}),t=e[yI](),i=Object.create(null),a=\\\"visible\\\"===e.presence?e.thickness:0;i.strokeWidth=Rc(a),i.stroke=t.color;let s,n,r,g,o=\\\"100%\\\",I=\\\"100%\\\";A.w<=a?([s,n,r,g]=[\\\"50%\\\",0,\\\"50%\\\",\\\"100%\\\"],o=i.strokeWidth):A.h<=a?([s,n,r,g]=[0,\\\"50%\\\",\\\"100%\\\",\\\"50%\\\"],I=i.strokeWidth):\\\"\\\\\\\\\\\\\\\\\\\"===this.slope?[s,n,r,g]=[0,0,\\\"100%\\\",\\\"100%\\\"]:[s,n,r,g]=[0,\\\"100%\\\",\\\"100%\\\",0];const c={name:\\\"svg\\\",children:[{name:\\\"line\\\",attributes:{xmlns:$c,x1:s,y1:n,x2:r,y2:g,style:i}}],attributes:{xmlns:$c,width:o,height:I,style:{overflow:\\\"visible\\\"}}};return aC(A)?JI.success({name:\\\"div\\\",attributes:{style:{display:\\\"inline\\\",width:\\\"100%\\\",height:\\\"100%\\\"}},children:[c]}):(c.attributes.style.position=\\\"absolute\\\",JI.success(c))}}class bh extends fc{constructor(A){super(_c,\\\"linear\\\",!0),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"toRight\\\",\\\"toBottom\\\",\\\"toLeft\\\",\\\"toTop\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.color=null,this.extras=null}[yI](A){return A=A?A[yI]():\\\"#FFFFFF\\\",`linear-gradient(${this.type.replace(/([RBLT])/,\\\" $1\\\").toLowerCase()}, ${A}, ${this.color?this.color[yI]():\\\"#000000\\\"})`}}class kh extends wc{constructor(A){super(_c,\\\"lockDocument\\\"),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"optional\\\",\\\"required\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}[wo](){this[fo]=xI(this[fo],[\\\"auto\\\",\\\"0\\\",\\\"1\\\"])}}class Fh extends fc{constructor(A){super(_c,\\\"manifest\\\",!0),this.action=xI(A.action,[\\\"include\\\",\\\"all\\\",\\\"exclude\\\"]),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null,this.ref=new pc}}class Sh extends fc{constructor(A){super(_c,\\\"margin\\\",!0),this.bottomInset=UI(A.bottomInset,\\\"0\\\"),this.id=A.id||\\\"\\\",this.leftInset=UI(A.leftInset,\\\"0\\\"),this.rightInset=UI(A.rightInset,\\\"0\\\"),this.topInset=UI(A.topInset,\\\"0\\\"),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null}[yI](){return{margin:Rc(this.topInset)+\\\" \\\"+Rc(this.rightInset)+\\\" \\\"+Rc(this.bottomInset)+\\\" \\\"+Rc(this.leftInset)}}}class Rh extends fc{constructor(A){super(_c,\\\"mdp\\\"),this.id=A.id||\\\"\\\",this.permissions=RI({data:A.permissions,defaultValue:2,validate:A=>1===A||3===A}),this.signatureType=xI(A.signatureType,[\\\"filler\\\",\\\"author\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class Gh extends fc{constructor(A){super(_c,\\\"medium\\\"),this.id=A.id||\\\"\\\",this.imagingBBox=function(A){const e=-1;if(!A)return{x:e,y:e,width:e,height:e};const t=A.trim().split(/\\\\\\\\s*,\\\\\\\\s*/).map((A=>UI(A,\\\"-1\\\")));if(t.length<4||t[2]<0||t[3]<0)return{x:e,y:e,width:e,height:e};const[i,a,s,n]=t;return{x:i,y:a,width:s,height:n}}(A.imagingBBox),this.long=UI(A.long),this.orientation=xI(A.orientation,[\\\"portrait\\\",\\\"landscape\\\"]),this.short=UI(A.short),this.stock=A.stock||\\\"\\\",this.trayIn=xI(A.trayIn,[\\\"auto\\\",\\\"delegate\\\",\\\"pageFront\\\"]),this.trayOut=xI(A.trayOut,[\\\"auto\\\",\\\"delegate\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class Nh extends fc{constructor(A){super(_c,\\\"message\\\",!0),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.text=new pc}}class xh extends fc{constructor(A){super(_c,\\\"numericEdit\\\",!0),this.hScrollPolicy=xI(A.hScrollPolicy,[\\\"auto\\\",\\\"off\\\",\\\"on\\\"]),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.border=null,this.comb=null,this.extras=null,this.margin=null}[pI](A){const e=Hc(this,\\\"border\\\",\\\"font\\\",\\\"margin\\\"),t=this[Yo]()[Yo](),i={name:\\\"input\\\",attributes:{type:\\\"text\\\",fieldId:t[wI],dataId:t[po]?.[wI]||t[wI],class:[\\\"xfaTextfield\\\"],style:e,\\\"aria-label\\\":IC(t),\\\"aria-required\\\":!1}};return rC(t)&&(i.attributes[\\\"aria-required\\\"]=!0,i.attributes.required=!0),JI.success({name:\\\"label\\\",attributes:{class:[\\\"xfaLabel\\\"]},children:[i]})}}class Uh extends fc{constructor(A){super(_c,\\\"occur\\\",!0),this.id=A.id||\\\"\\\",this.initial=\\\"\\\"!==A.initial?RI({data:A.initial,defaultValue:\\\"\\\",validate:A=>!0}):\\\"\\\",this.max=\\\"\\\"!==A.max?RI({data:A.max,defaultValue:1,validate:A=>!0}):\\\"\\\",this.min=\\\"\\\"!==A.min?RI({data:A.min,defaultValue:1,validate:A=>!0}):\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null}[Bo](){const A=this[Yo](),e=this.min;\\\"\\\"===this.min&&(this.min=A instanceof Hh||A instanceof Yh?0:1),\\\"\\\"===this.max&&(this.max=\\\"\\\"===e?A instanceof Hh||A instanceof Yh?-1:1:this.min),-1!==this.max&&this.max!0}),this.name=A.name||\\\"\\\",this.numbered=RI({data:A.numbered,defaultValue:1,validate:A=>!0}),this.oddOrEven=xI(A.oddOrEven,[\\\"any\\\",\\\"even\\\",\\\"odd\\\"]),this.pagePosition=xI(A.pagePosition,[\\\"any\\\",\\\"first\\\",\\\"last\\\",\\\"only\\\",\\\"rest\\\"]),this.relevant=LI(A.relevant),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.desc=null,this.extras=null,this.medium=null,this.occur=null,this.area=new pc,this.contentArea=new pc,this.draw=new pc,this.exclGroup=new pc,this.field=new pc,this.subform=new pc}[AI](){return this[yo]?!this.occur||-1===this.occur.max||this[yo].numberOfUseA.oddOrEven===e&&A.pagePosition===t));return i||(i=this.pageArea.children.find((A=>\\\"any\\\"===A.oddOrEven&&A.pagePosition===t)),i||(i=this.pageArea.children.find((A=>\\\"any\\\"===A.oddOrEven&&\\\"any\\\"===A.pagePosition)),i||this.pageArea.children[0]))}}class vh extends fc{constructor(A){super(_c,\\\"para\\\",!0),this.hAlign=xI(A.hAlign,[\\\"left\\\",\\\"center\\\",\\\"justify\\\",\\\"justifyAll\\\",\\\"radix\\\",\\\"right\\\"]),this.id=A.id||\\\"\\\",this.lineHeight=A.lineHeight?UI(A.lineHeight,\\\"0pt\\\"):\\\"\\\",this.marginLeft=A.marginLeft?UI(A.marginLeft,\\\"0pt\\\"):\\\"\\\",this.marginRight=A.marginRight?UI(A.marginRight,\\\"0pt\\\"):\\\"\\\",this.orphans=RI({data:A.orphans,defaultValue:0,validate:A=>A>=0}),this.preserve=A.preserve||\\\"\\\",this.radixOffset=A.radixOffset?UI(A.radixOffset,\\\"0pt\\\"):\\\"\\\",this.spaceAbove=A.spaceAbove?UI(A.spaceAbove,\\\"0pt\\\"):\\\"\\\",this.spaceBelow=A.spaceBelow?UI(A.spaceBelow,\\\"0pt\\\"):\\\"\\\",this.tabDefault=A.tabDefault?UI(this.tabDefault):\\\"\\\",this.tabStops=(A.tabStops||\\\"\\\").trim().split(/\\\\\\\\s+/).map(((A,e)=>e%2==1?UI(A):A)),this.textIndent=A.textIndent?UI(A.textIndent,\\\"0pt\\\"):\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.vAlign=xI(A.vAlign,[\\\"top\\\",\\\"bottom\\\",\\\"middle\\\"]),this.widows=RI({data:A.widows,defaultValue:0,validate:A=>A>=0}),this.hyphenation=null}[yI](){const A=Hc(this,\\\"hAlign\\\");return\\\"\\\"!==this.marginLeft&&(A.paddingLeft=Rc(this.marginLeft)),\\\"\\\"!==this.marginRight&&(A.paddingight=Rc(this.marginRight)),\\\"\\\"!==this.spaceAbove&&(A.paddingTop=Rc(this.spaceAbove)),\\\"\\\"!==this.spaceBelow&&(A.paddingBottom=Rc(this.spaceBelow)),\\\"\\\"!==this.textIndent&&(A.textIndent=Rc(this.textIndent),vc(A)),this.lineHeight>0&&(A.lineHeight=Rc(this.lineHeight)),\\\"\\\"!==this.tabDefault&&(A.tabSize=Rc(this.tabDefault)),this.tabStops.length,this.hyphenatation&&Object.assign(A,this.hyphenatation[yI]()),A}}class Kh extends fc{constructor(A){super(_c,\\\"passwordEdit\\\",!0),this.hScrollPolicy=xI(A.hScrollPolicy,[\\\"auto\\\",\\\"off\\\",\\\"on\\\"]),this.id=A.id||\\\"\\\",this.passwordChar=A.passwordChar||\\\"*\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.border=null,this.extras=null,this.margin=null}}class qh extends fc{constructor(A){super(_c,\\\"pattern\\\",!0),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"crossHatch\\\",\\\"crossDiagonal\\\",\\\"diagonalLeft\\\",\\\"diagonalRight\\\",\\\"horizontal\\\",\\\"vertical\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.color=null,this.extras=null}[yI](A){A=A?A[yI]():\\\"#FFFFFF\\\";const e=this.color?this.color[yI]():\\\"#000000\\\",t=\\\"repeating-linear-gradient\\\",i=`${A},${A} 5px,${e} 5px,${e} 10px`;switch(this.type){case\\\"crossHatch\\\":return`${t}(to top,${i}) ${t}(to right,${i})`;case\\\"crossDiagonal\\\":return`${t}(45deg,${i}) ${t}(-45deg,${i})`;case\\\"diagonalLeft\\\":return`${t}(45deg,${i})`;case\\\"diagonalRight\\\":return`${t}(-45deg,${i})`;case\\\"horizontal\\\":return`${t}(to top,${i})`;case\\\"vertical\\\":return`${t}(to right,${i})`}return\\\"\\\"}}class Th extends bc{constructor(A){super(_c,\\\"picture\\\"),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class Ph extends fc{constructor(A){super(_c,\\\"proto\\\",!0),this.appearanceFilter=new pc,this.arc=new pc,this.area=new pc,this.assist=new pc,this.barcode=new pc,this.bindItems=new pc,this.bookend=new pc,this.boolean=new pc,this.border=new pc,this.break=new pc,this.breakAfter=new pc,this.breakBefore=new pc,this.button=new pc,this.calculate=new pc,this.caption=new pc,this.certificate=new pc,this.certificates=new pc,this.checkButton=new pc,this.choiceList=new pc,this.color=new pc,this.comb=new pc,this.connect=new pc,this.contentArea=new pc,this.corner=new pc,this.date=new pc,this.dateTime=new pc,this.dateTimeEdit=new pc,this.decimal=new pc,this.defaultUi=new pc,this.desc=new pc,this.digestMethod=new pc,this.digestMethods=new pc,this.draw=new pc,this.edge=new pc,this.encoding=new pc,this.encodings=new pc,this.encrypt=new pc,this.encryptData=new pc,this.encryption=new pc,this.encryptionMethod=new pc,this.encryptionMethods=new pc,this.event=new pc,this.exData=new pc,this.exObject=new pc,this.exclGroup=new pc,this.execute=new pc,this.extras=new pc,this.field=new pc,this.fill=new pc,this.filter=new pc,this.float=new pc,this.font=new pc,this.format=new pc,this.handler=new pc,this.hyphenation=new pc,this.image=new pc,this.imageEdit=new pc,this.integer=new pc,this.issuers=new pc,this.items=new pc,this.keep=new pc,this.keyUsage=new pc,this.line=new pc,this.linear=new pc,this.lockDocument=new pc,this.manifest=new pc,this.margin=new pc,this.mdp=new pc,this.medium=new pc,this.message=new pc,this.numericEdit=new pc,this.occur=new pc,this.oid=new pc,this.oids=new pc,this.overflow=new pc,this.pageArea=new pc,this.pageSet=new pc,this.para=new pc,this.passwordEdit=new pc,this.pattern=new pc,this.picture=new pc,this.radial=new pc,this.reason=new pc,this.reasons=new pc,this.rectangle=new pc,this.ref=new pc,this.script=new pc,this.setProperty=new pc,this.signData=new pc,this.signature=new pc,this.signing=new pc,this.solid=new pc,this.speak=new pc,this.stipple=new pc,this.subform=new pc,this.subformSet=new pc,this.subjectDN=new pc,this.subjectDNs=new pc,this.submit=new pc,this.text=new pc,this.textEdit=new pc,this.time=new pc,this.timeStamp=new pc,this.toolTip=new pc,this.traversal=new pc,this.traverse=new pc,this.ui=new pc,this.validate=new pc,this.value=new pc,this.variables=new pc}}class Wh extends fc{constructor(A){super(_c,\\\"radial\\\",!0),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"toEdge\\\",\\\"toCenter\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.color=null,this.extras=null}[yI](A){A=A?A[yI]():\\\"#FFFFFF\\\";const e=this.color?this.color[yI]():\\\"#000000\\\";return`radial-gradient(circle at center, ${\\\"toEdge\\\"===this.type?`${A},${e}`:`${e},${A}`})`}}class Oh extends bc{constructor(A){super(_c,\\\"reason\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class Zh extends fc{constructor(A){super(_c,\\\"reasons\\\",!0),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"optional\\\",\\\"required\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.reason=new pc}}class jh extends fc{constructor(A){super(_c,\\\"rectangle\\\",!0),this.hand=xI(A.hand,[\\\"even\\\",\\\"left\\\",\\\"right\\\"]),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.corner=new pc(4),this.edge=new pc(4),this.fill=null}[pI](){const A=this.edge.children.length?this.edge.children[0]:new VC({}),e=A[yI](),t=Object.create(null);\\\"visible\\\"===this.fill?.presence?Object.assign(t,this.fill[yI]()):t.fill=\\\"transparent\\\",t.strokeWidth=Rc(\\\"visible\\\"===A.presence?A.thickness:0),t.stroke=e.color;const i=(this.corner.children.length?this.corner.children[0]:new vC({}))[yI](),a={name:\\\"svg\\\",children:[{name:\\\"rect\\\",attributes:{xmlns:$c,width:\\\"100%\\\",height:\\\"100%\\\",x:0,y:0,rx:i.radius,ry:i.radius,style:t}}],attributes:{xmlns:$c,style:{overflow:\\\"visible\\\"},width:\\\"100%\\\",height:\\\"100%\\\"}};return aC(this[Yo]()[Yo]())?JI.success({name:\\\"div\\\",attributes:{style:{display:\\\"inline\\\",width:\\\"100%\\\",height:\\\"100%\\\"}},children:[a]}):(a.attributes.style.position=\\\"absolute\\\",JI.success(a))}}class Xh extends bc{constructor(A){super(_c,\\\"ref\\\"),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class Vh extends bc{constructor(A){super(_c,\\\"script\\\"),this.binding=A.binding||\\\"\\\",this.contentType=A.contentType||\\\"\\\",this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.runAt=xI(A.runAt,[\\\"client\\\",\\\"both\\\",\\\"server\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class zh extends fc{constructor(A){super(_c,\\\"setProperty\\\"),this.connection=A.connection||\\\"\\\",this.ref=A.ref||\\\"\\\",this.target=A.target||\\\"\\\"}}class _h extends fc{constructor(A){super(_c,\\\"signData\\\",!0),this.id=A.id||\\\"\\\",this.operation=xI(A.operation,[\\\"sign\\\",\\\"clear\\\",\\\"verify\\\"]),this.ref=A.ref||\\\"\\\",this.target=A.target||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.filter=null,this.manifest=null}}class $h extends fc{constructor(A){super(_c,\\\"signature\\\",!0),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"PDF1.3\\\",\\\"PDF1.6\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.border=null,this.extras=null,this.filter=null,this.manifest=null,this.margin=null}}class AB extends fc{constructor(A){super(_c,\\\"signing\\\",!0),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"optional\\\",\\\"required\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.certificate=new pc}}class eB extends fc{constructor(A){super(_c,\\\"solid\\\",!0),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null}[yI](A){return A?A[yI]():\\\"#FFFFFF\\\"}}class tB extends bc{constructor(A){super(_c,\\\"speak\\\"),this.disable=RI({data:A.disable,defaultValue:0,validate:A=>1===A}),this.id=A.id||\\\"\\\",this.priority=xI(A.priority,[\\\"custom\\\",\\\"caption\\\",\\\"name\\\",\\\"toolTip\\\"]),this.rid=A.rid||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class iB extends fc{constructor(A){super(_c,\\\"stipple\\\",!0),this.id=A.id||\\\"\\\",this.rate=RI({data:A.rate,defaultValue:50,validate:A=>A>=0&&A<=100}),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.color=null,this.extras=null}[yI](A){const e=this.rate/100;return $.makeHexColor(Math.round(A.value.r*(1-e)+this.value.r*e),Math.round(A.value.g*(1-e)+this.value.g*e),Math.round(A.value.b*(1-e)+this.value.b*e))}}class aB extends fc{constructor(A){super(_c,\\\"subform\\\",!0),this.access=xI(A.access,[\\\"open\\\",\\\"nonInteractive\\\",\\\"protected\\\",\\\"readOnly\\\"]),this.allowMacro=RI({data:A.allowMacro,defaultValue:0,validate:A=>1===A}),this.anchorType=xI(A.anchorType,[\\\"topLeft\\\",\\\"bottomCenter\\\",\\\"bottomLeft\\\",\\\"bottomRight\\\",\\\"middleCenter\\\",\\\"middleLeft\\\",\\\"middleRight\\\",\\\"topCenter\\\",\\\"topRight\\\"]),this.colSpan=RI({data:A.colSpan,defaultValue:1,validate:A=>A>=1||-1===A}),this.columnWidths=(A.columnWidths||\\\"\\\").trim().split(/\\\\\\\\s+/).map((A=>\\\"-1\\\"===A?-1:UI(A))),this.h=A.h?UI(A.h):\\\"\\\",this.hAlign=xI(A.hAlign,[\\\"left\\\",\\\"center\\\",\\\"justify\\\",\\\"justifyAll\\\",\\\"radix\\\",\\\"right\\\"]),this.id=A.id||\\\"\\\",this.layout=xI(A.layout,[\\\"position\\\",\\\"lr-tb\\\",\\\"rl-row\\\",\\\"rl-tb\\\",\\\"row\\\",\\\"table\\\",\\\"tb\\\"]),this.locale=A.locale||\\\"\\\",this.maxH=UI(A.maxH,\\\"0pt\\\"),this.maxW=UI(A.maxW,\\\"0pt\\\"),this.mergeMode=xI(A.mergeMode,[\\\"consumeData\\\",\\\"matchTemplate\\\"]),this.minH=UI(A.minH,\\\"0pt\\\"),this.minW=UI(A.minW,\\\"0pt\\\"),this.name=A.name||\\\"\\\",this.presence=xI(A.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]),this.relevant=LI(A.relevant),this.restoreState=xI(A.restoreState,[\\\"manual\\\",\\\"auto\\\"]),this.scope=xI(A.scope,[\\\"name\\\",\\\"none\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.w=A.w?UI(A.w):\\\"\\\",this.x=UI(A.x,\\\"0pt\\\"),this.y=UI(A.y,\\\"0pt\\\"),this.assist=null,this.bind=null,this.bookend=null,this.border=null,this.break=null,this.calculate=null,this.desc=null,this.extras=null,this.keep=null,this.margin=null,this.occur=null,this.overflow=null,this.pageSet=null,this.para=null,this.traversal=null,this.validate=null,this.variables=null,this.area=new pc,this.breakAfter=new pc,this.breakBefore=new pc,this.connect=new pc,this.draw=new pc,this.event=new pc,this.exObject=new pc,this.exclGroup=new pc,this.field=new pc,this.proto=new pc,this.setProperty=new pc,this.subform=new pc,this.subformSet=new pc}[Ho](){const A=this[Yo]();return A instanceof sB?A[Ho]():A}[Zo](){return!0}[_o](){return this.layout.endsWith(\\\"-tb\\\")&&0===this[yo].attempt&&this[yo].numberInLine>0||this[Yo]()[_o]()}*[Lo](){yield*nC(this)}[Do](){return jc(this)}[co](A,e){Xc(this,A,e)}[Fo](){return Vc(this)}[zo](){const A=this[Ho]();return!!A[zo]()&&(void 0!==this[yo]._isSplittable?this[yo]._isSplittable:\\\"position\\\"===this.layout||this.layout.includes(\\\"row\\\")||this.keep&&\\\"none\\\"!==this.keep.intact?(this[yo]._isSplittable=!1,!1):(!A.layout?.endsWith(\\\"-tb\\\")||0===A[yo].numberInLine)&&(this[yo]._isSplittable=!0,!0))}[pI](A){if(gC(this),this.break){if(\\\"auto\\\"!==this.break.after||\\\"\\\"!==this.break.afterTarget){const A=new kC({targetType:this.break.after,target:this.break.afterTarget,startNew:this.break.startNew.toString()});A[Ko]=this[Ko],this[Co](A),this.breakAfter.push(A)}if(\\\"auto\\\"!==this.break.before||\\\"\\\"!==this.break.beforeTarget){const A=new FC({targetType:this.break.before,target:this.break.beforeTarget,startNew:this.break.startNew.toString()});A[Ko]=this[Ko],this[Co](A),this.breakBefore.push(A)}if(\\\"\\\"!==this.break.overflowTarget){const A=new Jh({target:this.break.overflowTarget,leader:this.break.overflowLeader,trailer:this.break.overflowTrailer});A[Ko]=this[Ko],this[Co](A),this.overflow.push(A)}this[cI](this.break),this.break=null}if(\\\"hidden\\\"===this.presence||\\\"inactive\\\"===this.presence)return JI.EMPTY;if((this.breakBefore.children.length>1||this.breakAfter.children.length>1)&&U(\\\"XFA - Several breakBefore or breakAfter in subforms: please file a bug.\\\"),this.breakBefore.children.length>=1){const A=this.breakBefore.children[0];if(BC(A))return JI.breakNode(A)}if(this[yo]?.afterBreakAfter)return JI.EMPTY;Lc(this);const e=[],t={id:this[wI],class:[]};Kc(this,t.class),this[yo]||(this[yo]=Object.create(null)),Object.assign(this[yo],{children:e,line:null,attributes:t,attempt:0,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,A.width),height:Math.min(this.h||1/0,A.height)},width:0,height:0,prevHeight:0,currentWidth:0});const i=this[vo](),a=i[yo].noLayoutFailure,s=this[zo]();if(s||CC(this),!zc(this,A))return JI.FAILURE;const n=new Set([\\\"area\\\",\\\"draw\\\",\\\"exclGroup\\\",\\\"field\\\",\\\"subform\\\",\\\"subformSet\\\"]);if(this.layout.includes(\\\"row\\\")){const A=this[Ho]().columnWidths;Array.isArray(A)&&A.length>0&&(this[yo].columnWidths=A,this[yo].currentColumn=0)}const r=Hc(this,\\\"anchorType\\\",\\\"dimensions\\\",\\\"position\\\",\\\"presence\\\",\\\"border\\\",\\\"margin\\\",\\\"hAlign\\\"),g=[\\\"xfaSubform\\\"],o=Jc(this);if(o&&g.push(o),t.style=r,t.class=g,this.name&&(t.xfaName=this.name),this.overflow){const e=this.overflow[xo]();e.addLeader&&(e.addLeader=!1,lC(this,e.leader,A))}this[II]();const I=\\\"lr-tb\\\"===this.layout||\\\"rl-tb\\\"===this.layout,c=I?2:1;for(;this[yo].attempt=1){const A=this.breakAfter.children[0];if(BC(A))return this[yo].afterBreakAfter=u,JI.breakNode(A)}return delete this[yo],u}}class sB extends fc{constructor(A){super(_c,\\\"subformSet\\\",!0),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.relation=xI(A.relation,[\\\"ordered\\\",\\\"choice\\\",\\\"unordered\\\"]),this.relevant=LI(A.relevant),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.bookend=null,this.break=null,this.desc=null,this.extras=null,this.occur=null,this.overflow=null,this.breakAfter=new pc,this.breakBefore=new pc,this.subform=new pc,this.subformSet=new pc}*[Lo](){yield*nC(this)}[Ho](){let A=this[Yo]();for(;!(A instanceof aB);)A=A[Yo]();return A}[Zo](){return!0}}class nB extends wc{constructor(A){super(_c,\\\"subjectDN\\\"),this.delimiter=A.delimiter||\\\",\\\",this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}[wo](){this[fo]=new Map(this[fo].split(this.delimiter).map((A=>((A=A.split(\\\"=\\\",2))[0]=A[0].trim(),A))))}}class rB extends fc{constructor(A){super(_c,\\\"subjectDNs\\\",!0),this.id=A.id||\\\"\\\",this.type=xI(A.type,[\\\"optional\\\",\\\"required\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.subjectDN=new pc}}class gB extends fc{constructor(A){super(_c,\\\"submit\\\",!0),this.embedPDF=RI({data:A.embedPDF,defaultValue:0,validate:A=>1===A}),this.format=xI(A.format,[\\\"xdp\\\",\\\"formdata\\\",\\\"pdf\\\",\\\"urlencoded\\\",\\\"xfd\\\",\\\"xml\\\"]),this.id=A.id||\\\"\\\",this.target=A.target||\\\"\\\",this.textEncoding=NI({data:A.textEncoding?A.textEncoding.toLowerCase():\\\"\\\",defaultValue:\\\"\\\",validate:A=>[\\\"utf-8\\\",\\\"big-five\\\",\\\"fontspecific\\\",\\\"gbk\\\",\\\"gb-18030\\\",\\\"gb-2312\\\",\\\"ksc-5601\\\",\\\"none\\\",\\\"shift-jis\\\",\\\"ucs-2\\\",\\\"utf-16\\\"].includes(A)||A.match(/iso-8859-\\\\\\\\d{2}/)}),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.xdpContent=A.xdpContent||\\\"\\\",this.encrypt=null,this.encryptData=new pc,this.signData=new pc}}class oB extends fc{constructor(A){super(_c,\\\"template\\\",!0),this.baseProfile=xI(A.baseProfile,[\\\"full\\\",\\\"interactiveForms\\\"]),this.extras=null,this.subform=new pc}[wo](){0===this.subform.children.length&&U(\\\"XFA - No subforms in template node.\\\"),this.subform.children.length>=2&&U(\\\"XFA - Several subforms in template node: please file a bug.\\\"),this[uI]=5e3}[zo](){return!0}[BI](A,e){return A.startsWith(\\\"#\\\")?[this[To].get(A.slice(1))]:$I(this,e,A,!0,!0)}*[fI](){if(!this.subform.children.length)return JI.success({name:\\\"div\\\",children:[]});this[yo]={overflowNode:null,firstUnsplittable:null,currentContentArea:null,currentPageArea:null,noLayoutFailure:!1,pageNumber:1,pagePosition:\\\"first\\\",oddOrEven:\\\"odd\\\",blankOrNotBlank:\\\"nonBlank\\\",paraStack:[]};const A=this.subform.children[0];A.pageSet[lo]();const e=A.pageSet.pageArea.children,t={name:\\\"div\\\",children:[]};let i=null,a=null,s=null;if(A.breakBefore.children.length>=1?(a=A.breakBefore.children[0],s=a.target):A.subform.children.length>=1&&A.subform.children[0].breakBefore.children.length>=1?(a=A.subform.children[0].breakBefore.children[0],s=a.target):A.break?.beforeTarget?(a=A.break,s=a.beforeTarget):A.subform.children.length>=1&&A.subform.children[0].break?.beforeTarget&&(a=A.subform.children[0].break,s=a.beforeTarget),a){const A=this[BI](s,a[Yo]());A instanceof Hh&&(i=A,a[yo]={})}i||(i=e[0]),i[yo]={numberOfUse:1};const n=i[Yo]();n[yo]={numberOfUse:1,pageIndex:n.pageArea.children.indexOf(i),pageSetIndex:0};let r,g=null,o=null,I=!0,c=0,C=0;for(;;){if(I)c=0;else if(t.children.pop(),3==++c)return U(\\\"XFA - Something goes wrong: please file a bug.\\\"),t;r=null,this[yo].currentPageArea=i;const e=i[pI]().html;t.children.push(e),g&&(this[yo].noLayoutFailure=!0,e.children.push(g[pI](i[yo].space).html),g=null),o&&(this[yo].noLayoutFailure=!0,e.children.push(o[pI](i[yo].space).html),o=null);const a=i.contentArea.children,s=e.children.filter((A=>A.attributes.class.includes(\\\"xfaContentarea\\\")));I=!1,this[yo].firstUnsplittable=null,this[yo].noLayoutFailure=!1;const n=e=>{const t=A[Do]();t&&(I||=t.children?.length>0,s[e].children.push(t))};for(let e=C,i=a.length;e0,s[e].children.push(h.html)):!I&&t.children.length>1&&t.children.pop(),t;if(h.isBreak()){const A=h.breakNode;if(n(e),\\\"auto\\\"===A.targetType)continue;A.leader&&(g=this[BI](A.leader,A[Yo]()),g=g?g[0]:null),A.trailer&&(o=this[BI](A.trailer,A[Yo]()),o=o?o[0]:null),\\\"pageArea\\\"===A.targetType?(r=A[yo].target,e=1/0):A[yo].target?(r=A[yo].target,C=A[yo].index+1,e=1/0):e=A[yo].index}else if(this[yo].overflowNode){const A=this[yo].overflowNode;this[yo].overflowNode=null;const t=A[xo](),i=t.target;t.addLeader=null!==t.leader,t.addTrailer=null!==t.trailer,n(e);const s=e;if(e=1/0,i instanceof Hh)r=i;else if(i instanceof YC){const A=a.indexOf(i);-1!==A?A>s?e=A-1:C=A:(r=i[Yo](),C=r.contentArea.children.indexOf(i))}}else n(e)}this[yo].pageNumber+=1,r&&(r[AI]()?r[yo].numberOfUse+=1:r=null),i=r||i[Jo](),yield null}}}class IB extends wc{constructor(A){super(_c,\\\"text\\\"),this.id=A.id||\\\"\\\",this.maxChars=RI({data:A.maxChars,defaultValue:0,validate:A=>A>=0}),this.name=A.name||\\\"\\\",this.rid=A.rid||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}[Io](){return!0}[sI](A){return A[tI]===bI.xhtml.id?(this[fo]=A,!0):(U(`XFA - Invalid content in Text: ${A[iI]}.`),!1)}[rI](A){this[fo]instanceof fc||super[rI](A)}[wo](){\\\"string\\\"==typeof this[fo]&&(this[fo]=this[fo].replaceAll(\\\"\\\\\\\\r\\\\\\\\n\\\",\\\"\\\\\\\\n\\\"))}[xo](){return\\\"string\\\"==typeof this[fo]?this[fo].split(/[\\\\\\\\u2029\\\\\\\\u2028\\\\\\\\n]/).reduce(((A,e)=>(e&&A.push(e),A)),[]).join(\\\"\\\\\\\\n\\\"):this[fo][dI]()}[pI](A){if(\\\"string\\\"==typeof this[fo]){const A=cC(this[fo]).html;return this[fo].includes(\\\"\\\\\\\\u2029\\\")?(A.name=\\\"div\\\",A.children=[],this[fo].split(\\\"\\\\\\\\u2029\\\").map((A=>A.split(/[\\\\\\\\u2028\\\\\\\\n]/).reduce(((A,e)=>(A.push({name:\\\"span\\\",value:e},{name:\\\"br\\\"}),A)),[]))).forEach((e=>{A.children.push({name:\\\"p\\\",children:e})}))):/[\\\\\\\\u2028\\\\\\\\n]/.test(this[fo])&&(A.name=\\\"div\\\",A.children=[],this[fo].split(/[\\\\\\\\u2028\\\\\\\\n]/).forEach((e=>{A.children.push({name:\\\"span\\\",value:e},{name:\\\"br\\\"})}))),JI.success(A)}return this[fo][pI](A)}}class cB extends fc{constructor(A){super(_c,\\\"textEdit\\\",!0),this.allowRichText=RI({data:A.allowRichText,defaultValue:0,validate:A=>1===A}),this.hScrollPolicy=xI(A.hScrollPolicy,[\\\"auto\\\",\\\"off\\\",\\\"on\\\"]),this.id=A.id||\\\"\\\",this.multiLine=RI({data:A.multiLine,defaultValue:\\\"\\\",validate:A=>0===A||1===A}),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.vScrollPolicy=xI(A.vScrollPolicy,[\\\"auto\\\",\\\"off\\\",\\\"on\\\"]),this.border=null,this.comb=null,this.extras=null,this.margin=null}[pI](A){const e=Hc(this,\\\"border\\\",\\\"font\\\",\\\"margin\\\");let t;const i=this[Yo]()[Yo]();return\\\"\\\"===this.multiLine&&(this.multiLine=i instanceof XC?1:0),t=1===this.multiLine?{name:\\\"textarea\\\",attributes:{dataId:i[po]?.[wI]||i[wI],fieldId:i[wI],class:[\\\"xfaTextfield\\\"],style:e,\\\"aria-label\\\":IC(i),\\\"aria-required\\\":!1}}:{name:\\\"input\\\",attributes:{type:\\\"text\\\",dataId:i[po]?.[wI]||i[wI],fieldId:i[wI],class:[\\\"xfaTextfield\\\"],style:e,\\\"aria-label\\\":IC(i),\\\"aria-required\\\":!1}},rC(i)&&(t.attributes[\\\"aria-required\\\"]=!0,t.attributes.required=!0),JI.success({name:\\\"label\\\",attributes:{class:[\\\"xfaLabel\\\"]},children:[t]})}}class CB extends bc{constructor(A){super(_c,\\\"time\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}[wo](){const A=this[fo].trim();this[fo]=A?new Date(A):null}[pI](A){return cC(this[fo]?this[fo].toString():\\\"\\\")}}class hB extends fc{constructor(A){super(_c,\\\"timeStamp\\\"),this.id=A.id||\\\"\\\",this.server=A.server||\\\"\\\",this.type=xI(A.type,[\\\"optional\\\",\\\"required\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class BB extends bc{constructor(A){super(_c,\\\"toolTip\\\"),this.id=A.id||\\\"\\\",this.rid=A.rid||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class lB extends fc{constructor(A){super(_c,\\\"traversal\\\",!0),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null,this.traverse=new pc}}class QB extends fc{constructor(A){super(_c,\\\"traverse\\\",!0),this.id=A.id||\\\"\\\",this.operation=xI(A.operation,[\\\"next\\\",\\\"back\\\",\\\"down\\\",\\\"first\\\",\\\"left\\\",\\\"right\\\",\\\"up\\\"]),this.ref=A.ref||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null,this.script=null}get name(){return this.operation}[$o](){return!1}}class EB extends fc{constructor(A){super(_c,\\\"ui\\\",!0),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null,this.picture=null,this.barcode=null,this.button=null,this.checkButton=null,this.choiceList=null,this.dateTimeEdit=null,this.defaultUi=null,this.imageEdit=null,this.numericEdit=null,this.passwordEdit=null,this.signature=null,this.textEdit=null}[xo](){if(void 0===this[yo]){for(const A of Object.getOwnPropertyNames(this)){if(\\\"extras\\\"===A||\\\"picture\\\"===A)continue;const e=this[A];if(e instanceof fc)return this[yo]=e,e}this[yo]=null}return this[yo]}[pI](A){const e=this[xo]();return e?e[pI](A):JI.EMPTY}}class uB extends fc{constructor(A){super(_c,\\\"validate\\\",!0),this.formatTest=xI(A.formatTest,[\\\"warning\\\",\\\"disabled\\\",\\\"error\\\"]),this.id=A.id||\\\"\\\",this.nullTest=xI(A.nullTest,[\\\"disabled\\\",\\\"error\\\",\\\"warning\\\"]),this.scriptTest=xI(A.scriptTest,[\\\"error\\\",\\\"disabled\\\",\\\"warning\\\"]),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.extras=null,this.message=null,this.picture=null,this.script=null}}class dB extends fc{constructor(A){super(_c,\\\"value\\\",!0),this.id=A.id||\\\"\\\",this.override=RI({data:A.override,defaultValue:0,validate:A=>1===A}),this.relevant=LI(A.relevant),this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.arc=null,this.boolean=null,this.date=null,this.dateTime=null,this.decimal=null,this.exData=null,this.float=null,this.image=null,this.integer=null,this.line=null,this.rectangle=null,this.text=null,this.time=null}[EI](A){const e=this[Yo]();if(e instanceof Ih&&e.ui?.imageEdit)return this.image||(this.image=new uh({}),this[Co](this.image)),void(this.image[fo]=A[fo]);const t=A[iI];if(null===this[t]){for(const A of Object.getOwnPropertyNames(this)){const e=this[A];e instanceof fc&&(this[A]=null,this[cI](e))}this[A[iI]]=A,this[Co](A)}else this[t][fo]=A[fo]}[dI](){if(this.exData)return\\\"string\\\"==typeof this.exData[fo]?this.exData[fo].trim():this.exData[fo][dI]().trim();for(const A of Object.getOwnPropertyNames(this)){if(\\\"image\\\"===A)continue;const e=this[A];if(e instanceof fc)return(e[fo]||\\\"\\\").toString().trim()}return null}[pI](A){for(const e of Object.getOwnPropertyNames(this)){const t=this[e];if(t instanceof fc)return t[pI](A)}return JI.EMPTY}}class fB extends fc{constructor(A){super(_c,\\\"variables\\\",!0),this.id=A.id||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\",this.boolean=new pc,this.date=new pc,this.dateTime=new pc,this.decimal=new pc,this.exData=new pc,this.float=new pc,this.image=new pc,this.integer=new pc,this.manifest=new pc,this.script=new pc,this.text=new pc,this.time=new pc}[$o](){return!0}}class pB{static[DI](A,e){if(pB.hasOwnProperty(A)){const t=pB[A](e);return t[QI](e),t}}static appearanceFilter(A){return new QC(A)}static arc(A){return new EC(A)}static area(A){return new uC(A)}static assist(A){return new dC(A)}static barcode(A){return new fC(A)}static bind(A){return new pC(A)}static bindItems(A){return new mC(A)}static bookend(A){return new yC(A)}static boolean(A){return new wC(A)}static border(A){return new DC(A)}static break(A){return new bC(A)}static breakAfter(A){return new kC(A)}static breakBefore(A){return new FC(A)}static button(A){return new SC(A)}static calculate(A){return new RC(A)}static caption(A){return new GC(A)}static certificate(A){return new NC(A)}static certificates(A){return new xC(A)}static checkButton(A){return new UC(A)}static choiceList(A){return new MC(A)}static color(A){return new LC(A)}static comb(A){return new JC(A)}static connect(A){return new HC(A)}static contentArea(A){return new YC(A)}static corner(A){return new vC(A)}static date(A){return new KC(A)}static dateTime(A){return new qC(A)}static dateTimeEdit(A){return new TC(A)}static decimal(A){return new PC(A)}static defaultUi(A){return new WC(A)}static desc(A){return new OC(A)}static digestMethod(A){return new ZC(A)}static digestMethods(A){return new jC(A)}static draw(A){return new XC(A)}static edge(A){return new VC(A)}static encoding(A){return new zC(A)}static encodings(A){return new _C(A)}static encrypt(A){return new $C(A)}static encryptData(A){return new Ah(A)}static encryption(A){return new eh(A)}static encryptionMethod(A){return new th(A)}static encryptionMethods(A){return new ih(A)}static event(A){return new ah(A)}static exData(A){return new sh(A)}static exObject(A){return new nh(A)}static exclGroup(A){return new rh(A)}static execute(A){return new gh(A)}static extras(A){return new oh(A)}static field(A){return new Ih(A)}static fill(A){return new ch(A)}static filter(A){return new Ch(A)}static float(A){return new hh(A)}static font(A){return new Bh(A)}static format(A){return new lh(A)}static handler(A){return new Qh(A)}static hyphenation(A){return new Eh(A)}static image(A){return new uh(A)}static imageEdit(A){return new dh(A)}static integer(A){return new fh(A)}static issuers(A){return new ph(A)}static items(A){return new mh(A)}static keep(A){return new yh(A)}static keyUsage(A){return new wh(A)}static line(A){return new Dh(A)}static linear(A){return new bh(A)}static lockDocument(A){return new kh(A)}static manifest(A){return new Fh(A)}static margin(A){return new Sh(A)}static mdp(A){return new Rh(A)}static medium(A){return new Gh(A)}static message(A){return new Nh(A)}static numericEdit(A){return new xh(A)}static occur(A){return new Uh(A)}static oid(A){return new Mh(A)}static oids(A){return new Lh(A)}static overflow(A){return new Jh(A)}static pageArea(A){return new Hh(A)}static pageSet(A){return new Yh(A)}static para(A){return new vh(A)}static passwordEdit(A){return new Kh(A)}static pattern(A){return new qh(A)}static picture(A){return new Th(A)}static proto(A){return new Ph(A)}static radial(A){return new Wh(A)}static reason(A){return new Oh(A)}static reasons(A){return new Zh(A)}static rectangle(A){return new jh(A)}static ref(A){return new Xh(A)}static script(A){return new Vh(A)}static setProperty(A){return new zh(A)}static signData(A){return new _h(A)}static signature(A){return new $h(A)}static signing(A){return new AB(A)}static solid(A){return new eB(A)}static speak(A){return new tB(A)}static stipple(A){return new iB(A)}static subform(A){return new aB(A)}static subformSet(A){return new sB(A)}static subjectDN(A){return new nB(A)}static subjectDNs(A){return new rB(A)}static submit(A){return new gB(A)}static template(A){return new oB(A)}static text(A){return new IB(A)}static textEdit(A){return new cB(A)}static time(A){return new CB(A)}static timeStamp(A){return new hB(A)}static toolTip(A){return new BB(A)}static traversal(A){return new lB(A)}static traverse(A){return new QB(A)}static ui(A){return new EB(A)}static validate(A){return new uB(A)}static value(A){return new dB(A)}static variables(A){return new fB(A)}}const mB=bI.datasets.id;function yB(A){const e=new IB({});return e[fo]=A,e}class wB{constructor(A){this.root=A,this.datasets=A.datasets,this.data=A.datasets?.data||new yc(bI.datasets.id,\\\"data\\\"),this.emptyMerge=0===this.data[Mo]().length,this.root.form=this.form=A.template[Eo]()}_isConsumeData(){return!this.emptyMerge&&this._mergeMode}_isMatchTemplate(){return!this._isConsumeData()}bind(){return this._bindElement(this.form,this.data),this.form}getData(){return this.data}_bindValue(A,e,t){if(A[po]=e,A[qo]())if(e[jo]()){const t=e[No]();A[EI](yB(t))}else if(A instanceof Ih&&\\\"multiSelect\\\"===A.ui?.choiceList?.open){const t=e[Mo]().map((A=>A[fo].trim())).join(\\\"\\\\\\\\n\\\");A[EI](yB(t))}else this._isConsumeData()&&U(\\\"XFA - Nodes haven\\\\'t the same type.\\\");else!e[jo]()||this._isMatchTemplate()?this._bindElement(A,e):U(\\\"XFA - Nodes haven\\\\'t the same type.\\\")}_findDataByNameToConsume(A,e,t,i){if(!A)return null;let a,s;for(let i=0;i<3;i++){for(a=t[Uo](A,!1,!0);s=a.next().value,s;)if(e===s[jo]())return s;if(t[tI]===bI.datasets.id&&\\\"data\\\"===t[iI])break;t=t[Yo]()}return i?(a=this.data[Uo](A,!0,!1),s=a.next().value,s||(a=this.data[bo](A,!0),s=a.next().value,s?.[jo]()?s:null)):null}_setProperties(A,e){if(A.hasOwnProperty(\\\"setProperty\\\"))for(const{ref:t,target:i,connection:a}of A.setProperty.children){if(a)continue;if(!t)continue;const s=$I(this.root,e,t,!1,!1);if(!s){U(`XFA - Invalid reference: ${t}.`);continue}const[n]=s;if(!n[Xo](this.data)){U(\\\"XFA - Invalid node: must be a data node.\\\");continue}const r=$I(this.root,A,i,!1,!1);if(!r){U(`XFA - Invalid target: ${i}.`);continue}const[g]=r;if(!g[Xo](A)){U(\\\"XFA - Invalid target: must be a property or subproperty.\\\");continue}const o=g[Yo]();if(g instanceof zh||o instanceof zh){U(\\\"XFA - Invalid target: cannot be a setProperty or one of its properties.\\\");continue}if(g instanceof mC||o instanceof mC){U(\\\"XFA - Invalid target: cannot be a bindItems or one of its properties.\\\");continue}const I=n[dI](),c=g[iI];if(g instanceof mc){const A=Object.create(null);A[c]=I;const e=Reflect.construct(Object.getPrototypeOf(o).constructor,[A]);o[c]=e[c]}else g.hasOwnProperty(fo)?(g[po]=n,g[fo]=I,g[wo]()):U(\\\"XFA - Invalid node to use in setProperty\\\")}}_bindItems(A,e){if(!A.hasOwnProperty(\\\"items\\\")||!A.hasOwnProperty(\\\"bindItems\\\")||A.bindItems.isEmpty())return;for(const e of A.items.children)A[cI](e);A.items.clear();const t=new mh({}),i=new mh({});A[Co](t),A.items.push(t),A[Co](i),A.items.push(i);for(const{ref:a,labelRef:s,valueRef:n,connection:r}of A.bindItems.children){if(r)continue;if(!a)continue;const A=$I(this.root,e,a,!1,!1);if(A)for(const e of A){if(!e[Xo](this.datasets)){U(`XFA - Invalid ref (${a}): must be a datasets child.`);continue}const A=$I(this.root,e,s,!0,!1);if(!A){U(`XFA - Invalid label: ${s}.`);continue}const[r]=A;if(!r[Xo](this.datasets)){U(\\\"XFA - Invalid label: must be a datasets child.\\\");continue}const g=$I(this.root,e,n,!0,!1);if(!g){U(`XFA - Invalid value: ${n}.`);continue}const[o]=g;if(!o[Xo](this.datasets)){U(\\\"XFA - Invalid value: must be a datasets child.\\\");continue}const I=yB(r[dI]()),c=yB(o[dI]());t[Co](I),t.text.push(I),i[Co](c),i.text.push(c)}else U(`XFA - Invalid reference: ${a}.`)}}_bindOccurrences(A,e,t){let i;if(e.length>1&&(i=A[Eo](),i[cI](i.occur),i.occur=null),this._bindValue(A,e[0],t),this._setProperties(A,e[0]),this._bindItems(A,e[0]),1===e.length)return;const a=A[Yo](),s=A[iI],n=a[Po](A);for(let A=1,r=e.length;Ae.name===A.name)).length:t[i].children.length;const s=t[Po](A)+1,n=e.initial-a;if(n){const e=A[Eo]();e[cI](e.occur),e.occur=null,t[i].push(e),t[Wo](s,e);for(let A=1;A0)this._bindOccurrences(i,[A[0]],null);else if(this.emptyMerge){const A=e[tI]===mB?-1:e[tI],t=i[po]=new yc(A,i.name||\\\"root\\\");e[Co](t),this._bindElement(i,t)}continue}if(!i[Zo]())continue;let A=!1,a=null,s=null,n=null;if(i.bind){switch(i.bind.match){case\\\"none\\\":this._setAndBind(i,e);continue;case\\\"global\\\":A=!0;break;case\\\"dataRef\\\":if(!i.bind.ref){U(`XFA - ref is empty in node ${i[iI]}.`),this._setAndBind(i,e);continue}s=i.bind.ref}i.bind.picture&&(a=i.bind.picture[fo])}const[r,g]=this._getOccurInfo(i);if(s){if(n=$I(this.root,e,s,!0,!1),null===n){if(n=Ac(this.data,e,s),!n)continue;this._isConsumeData()&&(n[uo]=!0),this._setAndBind(i,n);continue}this._isConsumeData()&&(n=n.filter((A=>!A[uo]))),n.length>g?n=n.slice(0,g):0===n.length&&(n=null),n&&this._isConsumeData()&&n.forEach((A=>{A[uo]=!0}))}else{if(!i.name){this._setAndBind(i,e);continue}if(this._isConsumeData()){const t=[];for(;t.length0?t:null}else{if(n=e[Uo](i.name,!1,this.emptyMerge).next().value,!n){if(0===r){t.push(i);continue}const A=e[tI]===mB?-1:e[tI];n=i[po]=new yc(A,i.name),this.emptyMerge&&(n[uo]=!0),e[Co](n),this._setAndBind(i,n);continue}this.emptyMerge&&(n[uo]=!0),n=[n]}}n?this._bindOccurrences(i,n,a):r>0?this._setAndBind(i,e):t.push(i)}t.forEach((A=>A[Yo]()[cI](A)))}}class DB{constructor(A,e){this.data=e,this.dataset=A.datasets||null}serialize(A){const e=[[-1,this.data[Mo]()]];for(;e.length>0;){const t=e.at(-1),[i,a]=t;if(i+1===a.length){e.pop();continue}const s=a[++t[0]],n=A.get(s[wI]);if(n)s[EI](n);else{const e=s[ko]();for(const t of e.values()){const e=A.get(t[wI]);if(e){t[EI](e);break}}}const r=s[Mo]();r.length>0&&e.push([-1,r])}const t=[\\\\'\\\\'];if(this.dataset)for(const A of this.dataset[Mo]())\\\"data\\\"!==A[iI]&&A[mI](t);return this.data[mI](t),t.push(\\\"\\\"),t.join(\\\"\\\")}}const bB=bI.config.id;class kB extends fc{constructor(A){super(bB,\\\"acrobat\\\",!0),this.acrobat7=null,this.autoSave=null,this.common=null,this.validate=null,this.validateApprovalSignatures=null,this.submitUrl=new pc}}class FB extends fc{constructor(A){super(bB,\\\"acrobat7\\\",!0),this.dynamicRender=null}}class SB extends Dc{constructor(A){super(bB,\\\"ADBE_JSConsole\\\",[\\\"delegate\\\",\\\"Enable\\\",\\\"Disable\\\"])}}class RB extends Dc{constructor(A){super(bB,\\\"ADBE_JSDebugger\\\",[\\\"delegate\\\",\\\"Enable\\\",\\\"Disable\\\"])}}class GB extends Fc{constructor(A){super(bB,\\\"addSilentPrint\\\")}}class NB extends Fc{constructor(A){super(bB,\\\"addViewerPreferences\\\")}}class xB extends Sc{constructor(A){super(bB,\\\"adjustData\\\")}}class UB extends kc{constructor(A){super(bB,\\\"adobeExtensionLevel\\\",0,(A=>A>=1&&A<=8))}}class MB extends fc{constructor(A){super(bB,\\\"agent\\\",!0),this.name=A.name?A.name.trim():\\\"\\\",this.common=new pc}}class LB extends wc{constructor(A){super(bB,\\\"alwaysEmbed\\\")}}class JB extends bc{constructor(A){super(bB,\\\"amd\\\")}}class HB extends fc{constructor(A){super(bB,\\\"area\\\"),this.level=RI({data:A.level,defaultValue:0,validate:A=>A>=1&&A<=3}),this.name=xI(A.name,[\\\"\\\",\\\"barcode\\\",\\\"coreinit\\\",\\\"deviceDriver\\\",\\\"font\\\",\\\"general\\\",\\\"layout\\\",\\\"merge\\\",\\\"script\\\",\\\"signature\\\",\\\"sourceSet\\\",\\\"templateCache\\\"])}}class YB extends Dc{constructor(A){super(bB,\\\"attributes\\\",[\\\"preserve\\\",\\\"delegate\\\",\\\"ignore\\\"])}}class vB extends Dc{constructor(A){super(bB,\\\"autoSave\\\",[\\\"disabled\\\",\\\"enabled\\\"])}}class KB extends bc{constructor(A){super(bB,\\\"base\\\")}}class qB extends fc{constructor(A){super(bB,\\\"batchOutput\\\"),this.format=xI(A.format,[\\\"none\\\",\\\"concat\\\",\\\"zip\\\",\\\"zipCompress\\\"])}}class TB extends wc{constructor(A){super(bB,\\\"behaviorOverride\\\")}[wo](){this[fo]=new Map(this[fo].trim().split(/\\\\\\\\s+/).filter((A=>A.includes(\\\":\\\"))).map((A=>A.split(\\\":\\\",2))))}}class PB extends fc{constructor(A){super(bB,\\\"cache\\\",!0),this.templateCache=null}}class WB extends Fc{constructor(A){super(bB,\\\"change\\\")}}class OB extends fc{constructor(A){super(bB,\\\"common\\\",!0),this.data=null,this.locale=null,this.localeSet=null,this.messaging=null,this.suppressBanner=null,this.template=null,this.validationMessaging=null,this.versionControl=null,this.log=new pc}}class ZB extends fc{constructor(A){super(bB,\\\"compress\\\"),this.scope=xI(A.scope,[\\\"imageOnly\\\",\\\"document\\\"])}}class jB extends Fc{constructor(A){super(bB,\\\"compressLogicalStructure\\\")}}class XB extends Sc{constructor(A){super(bB,\\\"compressObjectStream\\\")}}class VB extends fc{constructor(A){super(bB,\\\"compression\\\",!0),this.compressLogicalStructure=null,this.compressObjectStream=null,this.level=null,this.type=null}}class zB extends fc{constructor(A){super(bB,\\\"config\\\",!0),this.acrobat=null,this.present=null,this.trace=null,this.agent=new pc}}class _B extends Dc{constructor(A){super(bB,\\\"conformance\\\",[\\\"A\\\",\\\"B\\\"])}}class $B extends Fc{constructor(A){super(bB,\\\"contentCopy\\\")}}class Al extends kc{constructor(A){super(bB,\\\"copies\\\",1,(A=>A>=1))}}class el extends bc{constructor(A){super(bB,\\\"creator\\\")}}class tl extends kc{constructor(A){super(bB,\\\"currentPage\\\",0,(A=>A>=0))}}class il extends fc{constructor(A){super(bB,\\\"data\\\",!0),this.adjustData=null,this.attributes=null,this.incrementalLoad=null,this.outputXSL=null,this.range=null,this.record=null,this.startNode=null,this.uri=null,this.window=null,this.xsl=null,this.excludeNS=new pc,this.transform=new pc}}class al extends fc{constructor(A){super(bB,\\\"debug\\\",!0),this.uri=null}}class sl extends wc{constructor(A){super(bB,\\\"defaultTypeface\\\"),this.writingScript=xI(A.writingScript,[\\\"*\\\",\\\"Arabic\\\",\\\"Cyrillic\\\",\\\"EastEuropeanRoman\\\",\\\"Greek\\\",\\\"Hebrew\\\",\\\"Japanese\\\",\\\"Korean\\\",\\\"Roman\\\",\\\"SimplifiedChinese\\\",\\\"Thai\\\",\\\"TraditionalChinese\\\",\\\"Vietnamese\\\"])}}class nl extends Dc{constructor(A){super(bB,\\\"destination\\\",[\\\"pdf\\\",\\\"pcl\\\",\\\"ps\\\",\\\"webClient\\\",\\\"zpl\\\"])}}class rl extends Fc{constructor(A){super(bB,\\\"documentAssembly\\\")}}class gl extends fc{constructor(A){super(bB,\\\"driver\\\",!0),this.name=A.name?A.name.trim():\\\"\\\",this.fontInfo=null,this.xdc=null}}class ol extends Dc{constructor(A){super(bB,\\\"duplexOption\\\",[\\\"simplex\\\",\\\"duplexFlipLongEdge\\\",\\\"duplexFlipShortEdge\\\"])}}class Il extends Dc{constructor(A){super(bB,\\\"dynamicRender\\\",[\\\"forbidden\\\",\\\"required\\\"])}}class cl extends Fc{constructor(A){super(bB,\\\"embed\\\")}}class Cl extends Fc{constructor(A){super(bB,\\\"encrypt\\\")}}class hl extends fc{constructor(A){super(bB,\\\"encryption\\\",!0),this.encrypt=null,this.encryptionLevel=null,this.permissions=null}}class Bl extends Dc{constructor(A){super(bB,\\\"encryptionLevel\\\",[\\\"40bit\\\",\\\"128bit\\\"])}}class ll extends bc{constructor(A){super(bB,\\\"enforce\\\")}}class Ql extends fc{constructor(A){super(bB,\\\"equate\\\"),this.force=RI({data:A.force,defaultValue:1,validate:A=>0===A}),this.from=A.from||\\\"\\\",this.to=A.to||\\\"\\\"}}class El extends fc{constructor(A){super(bB,\\\"equateRange\\\"),this.from=A.from||\\\"\\\",this.to=A.to||\\\"\\\",this._unicodeRange=A.unicodeRange||\\\"\\\"}get unicodeRange(){const A=[],e=/U\\\\\\\\+([0-9a-fA-F]+)/,t=this._unicodeRange;for(let i of t.split(\\\",\\\").map((A=>A.trim())).filter((A=>!!A)))i=i.split(\\\"-\\\",2).map((A=>{const t=A.match(e);return t?parseInt(t[1],16):0})),1===i.length&&i.push(i[0]),A.push(i);return H(this,\\\"unicodeRange\\\",A)}}class ul extends wc{constructor(A){super(bB,\\\"exclude\\\")}[wo](){this[fo]=this[fo].trim().split(/\\\\\\\\s+/).filter((A=>A&&[\\\"calculate\\\",\\\"close\\\",\\\"enter\\\",\\\"exit\\\",\\\"initialize\\\",\\\"ready\\\",\\\"validate\\\"].includes(A)))}}class dl extends bc{constructor(A){super(bB,\\\"excludeNS\\\")}}class fl extends Dc{constructor(A){super(bB,\\\"flipLabel\\\",[\\\"usePrinterSetting\\\",\\\"on\\\",\\\"off\\\"])}}class pl extends fc{constructor(A){super(bB,\\\"fontInfo\\\",!0),this.embed=null,this.map=null,this.subsetBelow=null,this.alwaysEmbed=new pc,this.defaultTypeface=new pc,this.neverEmbed=new pc}}class ml extends Fc{constructor(A){super(bB,\\\"formFieldFilling\\\")}}class yl extends bc{constructor(A){super(bB,\\\"groupParent\\\")}}class wl extends Dc{constructor(A){super(bB,\\\"ifEmpty\\\",[\\\"dataValue\\\",\\\"dataGroup\\\",\\\"ignore\\\",\\\"remove\\\"])}}class Dl extends bc{constructor(A){super(bB,\\\"includeXDPContent\\\")}}class bl extends Dc{constructor(A){super(bB,\\\"incrementalLoad\\\",[\\\"none\\\",\\\"forwardOnly\\\"])}}class kl extends Fc{constructor(A){super(bB,\\\"incrementalMerge\\\")}}class Fl extends Fc{constructor(A){super(bB,\\\"interactive\\\")}}class Sl extends Dc{constructor(A){super(bB,\\\"jog\\\",[\\\"usePrinterSetting\\\",\\\"none\\\",\\\"pageSet\\\"])}}class Rl extends fc{constructor(A){super(bB,\\\"labelPrinter\\\",!0),this.name=xI(A.name,[\\\"zpl\\\",\\\"dpl\\\",\\\"ipl\\\",\\\"tcpl\\\"]),this.batchOutput=null,this.flipLabel=null,this.fontInfo=null,this.xdc=null}}class Gl extends Dc{constructor(A){super(bB,\\\"layout\\\",[\\\"paginate\\\",\\\"panel\\\"])}}class Nl extends kc{constructor(A){super(bB,\\\"level\\\",0,(A=>A>0))}}class xl extends Fc{constructor(A){super(bB,\\\"linearized\\\")}}class Ul extends bc{constructor(A){super(bB,\\\"locale\\\")}}class Ml extends bc{constructor(A){super(bB,\\\"localeSet\\\")}}class Ll extends fc{constructor(A){super(bB,\\\"log\\\",!0),this.mode=null,this.threshold=null,this.to=null,this.uri=null}}class Jl extends fc{constructor(A){super(bB,\\\"map\\\",!0),this.equate=new pc,this.equateRange=new pc}}class Hl extends fc{constructor(A){super(bB,\\\"mediumInfo\\\",!0),this.map=null}}class Yl extends fc{constructor(A){super(bB,\\\"message\\\",!0),this.msgId=null,this.severity=null}}class vl extends fc{constructor(A){super(bB,\\\"messaging\\\",!0),this.message=new pc}}class Kl extends Dc{constructor(A){super(bB,\\\"mode\\\",[\\\"append\\\",\\\"overwrite\\\"])}}class ql extends Fc{constructor(A){super(bB,\\\"modifyAnnots\\\")}}class Tl extends kc{constructor(A){super(bB,\\\"msgId\\\",1,(A=>A>=1))}}class Pl extends bc{constructor(A){super(bB,\\\"nameAttr\\\")}}class Wl extends wc{constructor(A){super(bB,\\\"neverEmbed\\\")}}class Ol extends kc{constructor(A){super(bB,\\\"numberOfCopies\\\",null,(A=>A>=2&&A<=5))}}class Zl extends fc{constructor(A){super(bB,\\\"openAction\\\",!0),this.destination=null}}class jl extends fc{constructor(A){super(bB,\\\"output\\\",!0),this.to=null,this.type=null,this.uri=null}}class Xl extends bc{constructor(A){super(bB,\\\"outputBin\\\")}}class Vl extends fc{constructor(A){super(bB,\\\"outputXSL\\\",!0),this.uri=null}}class zl extends Dc{constructor(A){super(bB,\\\"overprint\\\",[\\\"none\\\",\\\"both\\\",\\\"draw\\\",\\\"field\\\"])}}class _l extends bc{constructor(A){super(bB,\\\"packets\\\")}[wo](){\\\"*\\\"!==this[fo]&&(this[fo]=this[fo].trim().split(/\\\\\\\\s+/).filter((A=>[\\\"config\\\",\\\"datasets\\\",\\\"template\\\",\\\"xfdf\\\",\\\"xslt\\\"].includes(A))))}}class $l extends fc{constructor(A){super(bB,\\\"pageOffset\\\"),this.x=RI({data:A.x,defaultValue:\\\"useXDCSetting\\\",validate:A=>!0}),this.y=RI({data:A.y,defaultValue:\\\"useXDCSetting\\\",validate:A=>!0})}}class AQ extends bc{constructor(A){super(bB,\\\"pageRange\\\")}[wo](){const A=this[fo].trim().split(/\\\\\\\\s+/).map((A=>parseInt(A,10))),e=[];for(let t=0,i=A.length;t!1))}}class aQ extends fc{constructor(A){super(bB,\\\"pcl\\\",!0),this.name=A.name||\\\"\\\",this.batchOutput=null,this.fontInfo=null,this.jog=null,this.mediumInfo=null,this.outputBin=null,this.pageOffset=null,this.staple=null,this.xdc=null}}class sQ extends fc{constructor(A){super(bB,\\\"pdf\\\",!0),this.name=A.name||\\\"\\\",this.adobeExtensionLevel=null,this.batchOutput=null,this.compression=null,this.creator=null,this.encryption=null,this.fontInfo=null,this.interactive=null,this.linearized=null,this.openAction=null,this.pdfa=null,this.producer=null,this.renderPolicy=null,this.scriptModel=null,this.silentPrint=null,this.submitFormat=null,this.tagged=null,this.version=null,this.viewerPreferences=null,this.xdc=null}}class nQ extends fc{constructor(A){super(bB,\\\"pdfa\\\",!0),this.amd=null,this.conformance=null,this.includeXDPContent=null,this.part=null}}class rQ extends fc{constructor(A){super(bB,\\\"permissions\\\",!0),this.accessibleContent=null,this.change=null,this.contentCopy=null,this.documentAssembly=null,this.formFieldFilling=null,this.modifyAnnots=null,this.plaintextMetadata=null,this.print=null,this.printHighQuality=null}}class gQ extends Fc{constructor(A){super(bB,\\\"pickTrayByPDFSize\\\")}}class oQ extends bc{constructor(A){super(bB,\\\"picture\\\")}}class IQ extends Fc{constructor(A){super(bB,\\\"plaintextMetadata\\\")}}class cQ extends Dc{constructor(A){super(bB,\\\"presence\\\",[\\\"preserve\\\",\\\"dissolve\\\",\\\"dissolveStructure\\\",\\\"ignore\\\",\\\"remove\\\"])}}class CQ extends fc{constructor(A){super(bB,\\\"present\\\",!0),this.behaviorOverride=null,this.cache=null,this.common=null,this.copies=null,this.destination=null,this.incrementalMerge=null,this.layout=null,this.output=null,this.overprint=null,this.pagination=null,this.paginationOverride=null,this.script=null,this.validate=null,this.xdp=null,this.driver=new pc,this.labelPrinter=new pc,this.pcl=new pc,this.pdf=new pc,this.ps=new pc,this.submitUrl=new pc,this.webClient=new pc,this.zpl=new pc}}class hQ extends Fc{constructor(A){super(bB,\\\"print\\\")}}class BQ extends Fc{constructor(A){super(bB,\\\"printHighQuality\\\")}}class lQ extends Dc{constructor(A){super(bB,\\\"printScaling\\\",[\\\"appdefault\\\",\\\"noScaling\\\"])}}class QQ extends bc{constructor(A){super(bB,\\\"printerName\\\")}}class EQ extends bc{constructor(A){super(bB,\\\"producer\\\")}}class uQ extends fc{constructor(A){super(bB,\\\"ps\\\",!0),this.name=A.name||\\\"\\\",this.batchOutput=null,this.fontInfo=null,this.jog=null,this.mediumInfo=null,this.outputBin=null,this.staple=null,this.xdc=null}}class dQ extends wc{constructor(A){super(bB,\\\"range\\\")}[wo](){this[fo]=this[fo].trim().split(/\\\\\\\\s*,\\\\\\\\s*/,2).map((A=>A.split(\\\"-\\\").map((A=>parseInt(A.trim(),10))))).filter((A=>A.every((A=>!isNaN(A))))).map((A=>(1===A.length&&A.push(A[0]),A)))}}class fQ extends wc{constructor(A){super(bB,\\\"record\\\")}[wo](){this[fo]=this[fo].trim();const A=parseInt(this[fo],10);!isNaN(A)&&A>=0&&(this[fo]=A)}}class pQ extends wc{constructor(A){super(bB,\\\"relevant\\\")}[wo](){this[fo]=this[fo].trim().split(/\\\\\\\\s+/)}}class mQ extends wc{constructor(A){super(bB,\\\"rename\\\")}[wo](){this[fo]=this[fo].trim(),(this[fo].toLowerCase().startsWith(\\\"xml\\\")||new RegExp(\\\"[\\\\\\\\\\\\\\\\p{L}_][\\\\\\\\\\\\\\\\p{L}\\\\\\\\\\\\\\\\d._\\\\\\\\\\\\\\\\p{M}-]*\\\",\\\"u\\\").test(this[fo]))&&U(\\\"XFA - Rename: invalid XFA name\\\")}}class yQ extends Dc{constructor(A){super(bB,\\\"renderPolicy\\\",[\\\"server\\\",\\\"client\\\"])}}class wQ extends Dc{constructor(A){super(bB,\\\"runScripts\\\",[\\\"both\\\",\\\"client\\\",\\\"none\\\",\\\"server\\\"])}}class DQ extends fc{constructor(A){super(bB,\\\"script\\\",!0),this.currentPage=null,this.exclude=null,this.runScripts=null}}class bQ extends Dc{constructor(A){super(bB,\\\"scriptModel\\\",[\\\"XFA\\\",\\\"none\\\"])}}class kQ extends Dc{constructor(A){super(bB,\\\"severity\\\",[\\\"ignore\\\",\\\"error\\\",\\\"information\\\",\\\"trace\\\",\\\"warning\\\"])}}class FQ extends fc{constructor(A){super(bB,\\\"silentPrint\\\",!0),this.addSilentPrint=null,this.printerName=null}}class SQ extends fc{constructor(A){super(bB,\\\"staple\\\"),this.mode=xI(A.mode,[\\\"usePrinterSetting\\\",\\\"on\\\",\\\"off\\\"])}}class RQ extends bc{constructor(A){super(bB,\\\"startNode\\\")}}class GQ extends kc{constructor(A){super(bB,\\\"startPage\\\",0,(A=>!0))}}class NQ extends Dc{constructor(A){super(bB,\\\"submitFormat\\\",[\\\"html\\\",\\\"delegate\\\",\\\"fdf\\\",\\\"xml\\\",\\\"pdf\\\"])}}class xQ extends bc{constructor(A){super(bB,\\\"submitUrl\\\")}}class UQ extends kc{constructor(A){super(bB,\\\"subsetBelow\\\",100,(A=>A>=0&&A<=100))}}class MQ extends Fc{constructor(A){super(bB,\\\"suppressBanner\\\")}}class LQ extends Fc{constructor(A){super(bB,\\\"tagged\\\")}}class JQ extends fc{constructor(A){super(bB,\\\"template\\\",!0),this.base=null,this.relevant=null,this.startPage=null,this.uri=null,this.xsl=null}}class HQ extends Dc{constructor(A){super(bB,\\\"threshold\\\",[\\\"trace\\\",\\\"error\\\",\\\"information\\\",\\\"warning\\\"])}}class YQ extends Dc{constructor(A){super(bB,\\\"to\\\",[\\\"null\\\",\\\"memory\\\",\\\"stderr\\\",\\\"stdout\\\",\\\"system\\\",\\\"uri\\\"])}}class vQ extends fc{constructor(A){super(bB,\\\"templateCache\\\"),this.maxEntries=RI({data:A.maxEntries,defaultValue:5,validate:A=>A>=0})}}class KQ extends fc{constructor(A){super(bB,\\\"trace\\\",!0),this.area=new pc}}class qQ extends fc{constructor(A){super(bB,\\\"transform\\\",!0),this.groupParent=null,this.ifEmpty=null,this.nameAttr=null,this.picture=null,this.presence=null,this.rename=null,this.whitespace=null}}class TQ extends Dc{constructor(A){super(bB,\\\"type\\\",[\\\"none\\\",\\\"ascii85\\\",\\\"asciiHex\\\",\\\"ccittfax\\\",\\\"flate\\\",\\\"lzw\\\",\\\"runLength\\\",\\\"native\\\",\\\"xdp\\\",\\\"mergedXDP\\\"])}}class PQ extends bc{constructor(A){super(bB,\\\"uri\\\")}}class WQ extends Dc{constructor(A){super(bB,\\\"validate\\\",[\\\"preSubmit\\\",\\\"prePrint\\\",\\\"preExecute\\\",\\\"preSave\\\"])}}class OQ extends wc{constructor(A){super(bB,\\\"validateApprovalSignatures\\\")}[wo](){this[fo]=this[fo].trim().split(/\\\\\\\\s+/).filter((A=>[\\\"docReady\\\",\\\"postSign\\\"].includes(A)))}}class ZQ extends Dc{constructor(A){super(bB,\\\"validationMessaging\\\",[\\\"allMessagesIndividually\\\",\\\"allMessagesTogether\\\",\\\"firstMessageOnly\\\",\\\"noMessages\\\"])}}class jQ extends Dc{constructor(A){super(bB,\\\"version\\\",[\\\"1.7\\\",\\\"1.6\\\",\\\"1.5\\\",\\\"1.4\\\",\\\"1.3\\\",\\\"1.2\\\"])}}class XQ extends fc{constructor(A){super(bB,\\\"VersionControl\\\"),this.outputBelow=xI(A.outputBelow,[\\\"warn\\\",\\\"error\\\",\\\"update\\\"]),this.sourceAbove=xI(A.sourceAbove,[\\\"warn\\\",\\\"error\\\"]),this.sourceBelow=xI(A.sourceBelow,[\\\"update\\\",\\\"maintain\\\"])}}class VQ extends fc{constructor(A){super(bB,\\\"viewerPreferences\\\",!0),this.ADBE_JSConsole=null,this.ADBE_JSDebugger=null,this.addViewerPreferences=null,this.duplexOption=null,this.enforce=null,this.numberOfCopies=null,this.pageRange=null,this.pickTrayByPDFSize=null,this.printScaling=null}}class zQ extends fc{constructor(A){super(bB,\\\"webClient\\\",!0),this.name=A.name?A.name.trim():\\\"\\\",this.fontInfo=null,this.xdc=null}}class _Q extends Dc{constructor(A){super(bB,\\\"whitespace\\\",[\\\"preserve\\\",\\\"ltrim\\\",\\\"normalize\\\",\\\"rtrim\\\",\\\"trim\\\"])}}class $Q extends wc{constructor(A){super(bB,\\\"window\\\")}[wo](){const A=this[fo].trim().split(/\\\\\\\\s*,\\\\\\\\s*/,2).map((A=>parseInt(A,10)));A.some((A=>isNaN(A)))?this[fo]=[0,0]:(1===A.length&&A.push(A[0]),this[fo]=A)}}class AE extends fc{constructor(A){super(bB,\\\"xdc\\\",!0),this.uri=new pc,this.xsl=new pc}}class eE extends fc{constructor(A){super(bB,\\\"xdp\\\",!0),this.packets=null}}class tE extends fc{constructor(A){super(bB,\\\"xsl\\\",!0),this.debug=null,this.uri=null}}class iE extends fc{constructor(A){super(bB,\\\"zpl\\\",!0),this.name=A.name?A.name.trim():\\\"\\\",this.batchOutput=null,this.flipLabel=null,this.fontInfo=null,this.xdc=null}}class aE{static[DI](A,e){if(aE.hasOwnProperty(A))return aE[A](e)}static acrobat(A){return new kB(A)}static acrobat7(A){return new FB(A)}static ADBE_JSConsole(A){return new SB(A)}static ADBE_JSDebugger(A){return new RB(A)}static addSilentPrint(A){return new GB(A)}static addViewerPreferences(A){return new NB(A)}static adjustData(A){return new xB(A)}static adobeExtensionLevel(A){return new UB(A)}static agent(A){return new MB(A)}static alwaysEmbed(A){return new LB(A)}static amd(A){return new JB(A)}static area(A){return new HB(A)}static attributes(A){return new YB(A)}static autoSave(A){return new vB(A)}static base(A){return new KB(A)}static batchOutput(A){return new qB(A)}static behaviorOverride(A){return new TB(A)}static cache(A){return new PB(A)}static change(A){return new WB(A)}static common(A){return new OB(A)}static compress(A){return new ZB(A)}static compressLogicalStructure(A){return new jB(A)}static compressObjectStream(A){return new XB(A)}static compression(A){return new VB(A)}static config(A){return new zB(A)}static conformance(A){return new _B(A)}static contentCopy(A){return new $B(A)}static copies(A){return new Al(A)}static creator(A){return new el(A)}static currentPage(A){return new tl(A)}static data(A){return new il(A)}static debug(A){return new al(A)}static defaultTypeface(A){return new sl(A)}static destination(A){return new nl(A)}static documentAssembly(A){return new rl(A)}static driver(A){return new gl(A)}static duplexOption(A){return new ol(A)}static dynamicRender(A){return new Il(A)}static embed(A){return new cl(A)}static encrypt(A){return new Cl(A)}static encryption(A){return new hl(A)}static encryptionLevel(A){return new Bl(A)}static enforce(A){return new ll(A)}static equate(A){return new Ql(A)}static equateRange(A){return new El(A)}static exclude(A){return new ul(A)}static excludeNS(A){return new dl(A)}static flipLabel(A){return new fl(A)}static fontInfo(A){return new pl(A)}static formFieldFilling(A){return new ml(A)}static groupParent(A){return new yl(A)}static ifEmpty(A){return new wl(A)}static includeXDPContent(A){return new Dl(A)}static incrementalLoad(A){return new bl(A)}static incrementalMerge(A){return new kl(A)}static interactive(A){return new Fl(A)}static jog(A){return new Sl(A)}static labelPrinter(A){return new Rl(A)}static layout(A){return new Gl(A)}static level(A){return new Nl(A)}static linearized(A){return new xl(A)}static locale(A){return new Ul(A)}static localeSet(A){return new Ml(A)}static log(A){return new Ll(A)}static map(A){return new Jl(A)}static mediumInfo(A){return new Hl(A)}static message(A){return new Yl(A)}static messaging(A){return new vl(A)}static mode(A){return new Kl(A)}static modifyAnnots(A){return new ql(A)}static msgId(A){return new Tl(A)}static nameAttr(A){return new Pl(A)}static neverEmbed(A){return new Wl(A)}static numberOfCopies(A){return new Ol(A)}static openAction(A){return new Zl(A)}static output(A){return new jl(A)}static outputBin(A){return new Xl(A)}static outputXSL(A){return new Vl(A)}static overprint(A){return new zl(A)}static packets(A){return new _l(A)}static pageOffset(A){return new $l(A)}static pageRange(A){return new AQ(A)}static pagination(A){return new eQ(A)}static paginationOverride(A){return new tQ(A)}static part(A){return new iQ(A)}static pcl(A){return new aQ(A)}static pdf(A){return new sQ(A)}static pdfa(A){return new nQ(A)}static permissions(A){return new rQ(A)}static pickTrayByPDFSize(A){return new gQ(A)}static picture(A){return new oQ(A)}static plaintextMetadata(A){return new IQ(A)}static presence(A){return new cQ(A)}static present(A){return new CQ(A)}static print(A){return new hQ(A)}static printHighQuality(A){return new BQ(A)}static printScaling(A){return new lQ(A)}static printerName(A){return new QQ(A)}static producer(A){return new EQ(A)}static ps(A){return new uQ(A)}static range(A){return new dQ(A)}static record(A){return new fQ(A)}static relevant(A){return new pQ(A)}static rename(A){return new mQ(A)}static renderPolicy(A){return new yQ(A)}static runScripts(A){return new wQ(A)}static script(A){return new DQ(A)}static scriptModel(A){return new bQ(A)}static severity(A){return new kQ(A)}static silentPrint(A){return new FQ(A)}static staple(A){return new SQ(A)}static startNode(A){return new RQ(A)}static startPage(A){return new GQ(A)}static submitFormat(A){return new NQ(A)}static submitUrl(A){return new xQ(A)}static subsetBelow(A){return new UQ(A)}static suppressBanner(A){return new MQ(A)}static tagged(A){return new LQ(A)}static template(A){return new JQ(A)}static templateCache(A){return new vQ(A)}static threshold(A){return new HQ(A)}static to(A){return new YQ(A)}static trace(A){return new KQ(A)}static transform(A){return new qQ(A)}static type(A){return new TQ(A)}static uri(A){return new PQ(A)}static validate(A){return new WQ(A)}static validateApprovalSignatures(A){return new OQ(A)}static validationMessaging(A){return new ZQ(A)}static version(A){return new jQ(A)}static versionControl(A){return new XQ(A)}static viewerPreferences(A){return new VQ(A)}static webClient(A){return new zQ(A)}static whitespace(A){return new _Q(A)}static window(A){return new $Q(A)}static xdc(A){return new AE(A)}static xdp(A){return new eE(A)}static xsl(A){return new tE(A)}static zpl(A){return new iE(A)}}const sE=bI.connectionSet.id;class nE extends fc{constructor(A){super(sE,\\\"connectionSet\\\",!0),this.wsdlConnection=new pc,this.xmlConnection=new pc,this.xsdConnection=new pc}}class rE extends fc{constructor(A){super(sE,\\\"effectiveInputPolicy\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class gE extends fc{constructor(A){super(sE,\\\"effectiveOutputPolicy\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class oE extends bc{constructor(A){super(sE,\\\"operation\\\"),this.id=A.id||\\\"\\\",this.input=A.input||\\\"\\\",this.name=A.name||\\\"\\\",this.output=A.output||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class IE extends bc{constructor(A){super(sE,\\\"rootElement\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class cE extends bc{constructor(A){super(sE,\\\"soapAction\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class CE extends bc{constructor(A){super(sE,\\\"soapAddress\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class hE extends bc{constructor(A){super(sE,\\\"uri\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class BE extends bc{constructor(A){super(sE,\\\"wsdlAddress\\\"),this.id=A.id||\\\"\\\",this.name=A.name||\\\"\\\",this.use=A.use||\\\"\\\",this.usehref=A.usehref||\\\"\\\"}}class lE extends fc{constructor(A){super(sE,\\\"wsdlConnection\\\",!0),this.dataDescription=A.dataDescription||\\\"\\\",this.name=A.name||\\\"\\\",this.effectiveInputPolicy=null,this.effectiveOutputPolicy=null,this.operation=null,this.soapAction=null,this.soapAddress=null,this.wsdlAddress=null}}class QE extends fc{constructor(A){super(sE,\\\"xmlConnection\\\",!0),this.dataDescription=A.dataDescription||\\\"\\\",this.name=A.name||\\\"\\\",this.uri=null}}class EE extends fc{constructor(A){super(sE,\\\"xsdConnection\\\",!0),this.dataDescription=A.dataDescription||\\\"\\\",this.name=A.name||\\\"\\\",this.rootElement=null,this.uri=null}}class uE{static[DI](A,e){if(uE.hasOwnProperty(A))return uE[A](e)}static connectionSet(A){return new nE(A)}static effectiveInputPolicy(A){return new rE(A)}static effectiveOutputPolicy(A){return new gE(A)}static operation(A){return new oE(A)}static rootElement(A){return new IE(A)}static soapAction(A){return new cE(A)}static soapAddress(A){return new CE(A)}static uri(A){return new hE(A)}static wsdlAddress(A){return new BE(A)}static wsdlConnection(A){return new lE(A)}static xmlConnection(A){return new QE(A)}static xsdConnection(A){return new EE(A)}}const dE=bI.datasets.id;class fE extends yc{constructor(A){super(dE,\\\"data\\\",A)}[Vo](){return!0}}class pE extends fc{constructor(A){super(dE,\\\"datasets\\\",!0),this.data=null,this.Signature=null}[sI](A){const e=A[iI];(\\\"data\\\"===e&&A[tI]===dE||\\\"Signature\\\"===e&&A[tI]===bI.signature.id)&&(this[e]=A),this[Co](A)}}class mE{static[DI](A,e){if(mE.hasOwnProperty(A))return mE[A](e)}static datasets(A){return new pE(A)}static data(A){return new fE(A)}}const yE=bI.localeSet.id;class wE extends fc{constructor(A){super(yE,\\\"calendarSymbols\\\",!0),this.name=\\\"gregorian\\\",this.dayNames=new pc(2),this.eraNames=null,this.meridiemNames=null,this.monthNames=new pc(2)}}class DE extends bc{constructor(A){super(yE,\\\"currencySymbol\\\"),this.name=xI(A.name,[\\\"symbol\\\",\\\"isoname\\\",\\\"decimal\\\"])}}class bE extends fc{constructor(A){super(yE,\\\"currencySymbols\\\",!0),this.currencySymbol=new pc(3)}}class kE extends bc{constructor(A){super(yE,\\\"datePattern\\\"),this.name=xI(A.name,[\\\"full\\\",\\\"long\\\",\\\"med\\\",\\\"short\\\"])}}class FE extends fc{constructor(A){super(yE,\\\"datePatterns\\\",!0),this.datePattern=new pc(4)}}class SE extends wc{constructor(A){super(yE,\\\"dateTimeSymbols\\\")}}class RE extends bc{constructor(A){super(yE,\\\"day\\\")}}class GE extends fc{constructor(A){super(yE,\\\"dayNames\\\",!0),this.abbr=RI({data:A.abbr,defaultValue:0,validate:A=>1===A}),this.day=new pc(7)}}class NE extends bc{constructor(A){super(yE,\\\"era\\\")}}class xE extends fc{constructor(A){super(yE,\\\"eraNames\\\",!0),this.era=new pc(2)}}class UE extends fc{constructor(A){super(yE,\\\"locale\\\",!0),this.desc=A.desc||\\\"\\\",this.name=\\\"isoname\\\",this.calendarSymbols=null,this.currencySymbols=null,this.datePatterns=null,this.dateTimeSymbols=null,this.numberPatterns=null,this.numberSymbols=null,this.timePatterns=null,this.typeFaces=null}}class ME extends fc{constructor(A){super(yE,\\\"localeSet\\\",!0),this.locale=new pc}}class LE extends bc{constructor(A){super(yE,\\\"meridiem\\\")}}class JE extends fc{constructor(A){super(yE,\\\"meridiemNames\\\",!0),this.meridiem=new pc(2)}}class HE extends bc{constructor(A){super(yE,\\\"month\\\")}}class YE extends fc{constructor(A){super(yE,\\\"monthNames\\\",!0),this.abbr=RI({data:A.abbr,defaultValue:0,validate:A=>1===A}),this.month=new pc(12)}}class vE extends bc{constructor(A){super(yE,\\\"numberPattern\\\"),this.name=xI(A.name,[\\\"full\\\",\\\"long\\\",\\\"med\\\",\\\"short\\\"])}}class KE extends fc{constructor(A){super(yE,\\\"numberPatterns\\\",!0),this.numberPattern=new pc(4)}}class qE extends bc{constructor(A){super(yE,\\\"numberSymbol\\\"),this.name=xI(A.name,[\\\"decimal\\\",\\\"grouping\\\",\\\"percent\\\",\\\"minus\\\",\\\"zero\\\"])}}class TE extends fc{constructor(A){super(yE,\\\"numberSymbols\\\",!0),this.numberSymbol=new pc(5)}}class PE extends bc{constructor(A){super(yE,\\\"timePattern\\\"),this.name=xI(A.name,[\\\"full\\\",\\\"long\\\",\\\"med\\\",\\\"short\\\"])}}class WE extends fc{constructor(A){super(yE,\\\"timePatterns\\\",!0),this.timePattern=new pc(4)}}class OE extends fc{constructor(A){super(yE,\\\"typeFace\\\",!0),this.name=\\\"\\\"|A.name}}class ZE extends fc{constructor(A){super(yE,\\\"typeFaces\\\",!0),this.typeFace=new pc}}class jE{static[DI](A,e){if(jE.hasOwnProperty(A))return jE[A](e)}static calendarSymbols(A){return new wE(A)}static currencySymbol(A){return new DE(A)}static currencySymbols(A){return new bE(A)}static datePattern(A){return new kE(A)}static datePatterns(A){return new FE(A)}static dateTimeSymbols(A){return new SE(A)}static day(A){return new RE(A)}static dayNames(A){return new GE(A)}static era(A){return new NE(A)}static eraNames(A){return new xE(A)}static locale(A){return new UE(A)}static localeSet(A){return new ME(A)}static meridiem(A){return new LE(A)}static meridiemNames(A){return new JE(A)}static month(A){return new HE(A)}static monthNames(A){return new YE(A)}static numberPattern(A){return new vE(A)}static numberPatterns(A){return new KE(A)}static numberSymbol(A){return new qE(A)}static numberSymbols(A){return new TE(A)}static timePattern(A){return new PE(A)}static timePatterns(A){return new WE(A)}static typeFace(A){return new OE(A)}static typeFaces(A){return new ZE(A)}}const XE=bI.signature.id;class VE extends fc{constructor(A){super(XE,\\\"signature\\\",!0)}}class zE{static[DI](A,e){if(zE.hasOwnProperty(A))return zE[A](e)}static signature(A){return new VE(A)}}const _E=bI.stylesheet.id;class $E extends fc{constructor(A){super(_E,\\\"stylesheet\\\",!0)}}class Au{static[DI](A,e){if(Au.hasOwnProperty(A))return Au[A](e)}static stylesheet(A){return new $E(A)}}const eu=bI.xdp.id;class tu extends fc{constructor(A){super(eu,\\\"xdp\\\",!0),this.uuid=A.uuid||\\\"\\\",this.timeStamp=A.timeStamp||\\\"\\\",this.config=null,this.connectionSet=null,this.datasets=null,this.localeSet=null,this.stylesheet=new pc,this.template=null}[nI](A){const e=bI[A[iI]];return e&&A[tI]===e.id}}class iu{static[DI](A,e){if(iu.hasOwnProperty(A))return iu[A](e)}static xdp(A){return new tu(A)}}const au=bI.xhtml.id,su=Symbol(),nu=new Set([\\\"color\\\",\\\"font\\\",\\\"font-family\\\",\\\"font-size\\\",\\\"font-stretch\\\",\\\"font-style\\\",\\\"font-weight\\\",\\\"margin\\\",\\\"margin-bottom\\\",\\\"margin-left\\\",\\\"margin-right\\\",\\\"margin-top\\\",\\\"letter-spacing\\\",\\\"line-height\\\",\\\"orphans\\\",\\\"page-break-after\\\",\\\"page-break-before\\\",\\\"page-break-inside\\\",\\\"tab-interval\\\",\\\"tab-stop\\\",\\\"text-align\\\",\\\"text-decoration\\\",\\\"text-indent\\\",\\\"vertical-align\\\",\\\"widows\\\",\\\"kerning-mode\\\",\\\"xfa-font-horizontal-scale\\\",\\\"xfa-font-vertical-scale\\\",\\\"xfa-spacerun\\\",\\\"xfa-tab-stops\\\"]),ru=new Map([[\\\"page-break-after\\\",\\\"breakAfter\\\"],[\\\"page-break-before\\\",\\\"breakBefore\\\"],[\\\"page-break-inside\\\",\\\"breakInside\\\"],[\\\"kerning-mode\\\",A=>\\\"none\\\"===A?\\\"none\\\":\\\"normal\\\"],[\\\"xfa-font-horizontal-scale\\\",A=>`scaleX(${Math.max(0,Math.min(parseInt(A)/100)).toFixed(2)})`],[\\\"xfa-font-vertical-scale\\\",A=>`scaleY(${Math.max(0,Math.min(parseInt(A)/100)).toFixed(2)})`],[\\\"xfa-spacerun\\\",\\\"\\\"],[\\\"xfa-tab-stops\\\",\\\"\\\"],[\\\"font-size\\\",(A,e)=>Rc(.99*(A=e.fontSize=UI(A)))],[\\\"letter-spacing\\\",A=>Rc(UI(A))],[\\\"line-height\\\",A=>Rc(UI(A))],[\\\"margin\\\",A=>Rc(UI(A))],[\\\"margin-bottom\\\",A=>Rc(UI(A))],[\\\"margin-left\\\",A=>Rc(UI(A))],[\\\"margin-right\\\",A=>Rc(UI(A))],[\\\"margin-top\\\",A=>Rc(UI(A))],[\\\"text-indent\\\",A=>Rc(UI(A))],[\\\"font-family\\\",A=>A],[\\\"vertical-align\\\",A=>Rc(UI(A))]]),gu=/\\\\\\\\s+/g,ou=/[\\\\\\\\r\\\\\\\\n]+/g,Iu=/\\\\\\\\r\\\\\\\\n?/g;function cu(A,e,t){const i=Object.create(null);if(!A)return i;const a=Object.create(null);for(const[e,t]of A.split(\\\";\\\").map((A=>A.split(\\\":\\\",2)))){const A=ru.get(e);if(\\\"\\\"===A)continue;let s=t;A&&(s=\\\"string\\\"==typeof A?A:A(t,a)),e.endsWith(\\\"scale\\\")?i.transform=i.transform?`${i[e]} ${s}`:s:i[e.replaceAll(/-([a-zA-Z])/g,((A,e)=>e.toUpperCase()))]=s}if(i.fontFamily&&Wc({typeface:i.fontFamily,weight:i.fontWeight||\\\"normal\\\",posture:i.fontStyle||\\\"normal\\\",size:a.fontSize||0},e,e[Ko].fontFinder,i),t&&i.verticalAlign&&\\\"0px\\\"!==i.verticalAlign&&i.fontSize){const A=.583,e=.333,t=UI(i.fontSize);i.fontSize=Rc(t*A),i.verticalAlign=Rc(Math.sign(UI(i.verticalAlign))*t*e)}return t&&i.fontSize&&(i.fontSize=`calc(${i.fontSize} * var(--scale-factor))`),vc(i),i}const Cu=new Set([\\\"body\\\",\\\"html\\\"]);class hu extends yc{constructor(A,e){super(au,e),this[su]=!1,this.style=A.style||\\\"\\\"}[Bo](A){super[Bo](A),this.style=function(A){return A.style?A.style.trim().split(/\\\\\\\\s*;\\\\\\\\s*/).filter((A=>!!A)).map((A=>A.split(/\\\\\\\\s*:\\\\\\\\s*/,2))).filter((([e,t])=>(\\\"font-family\\\"===e&&A[Ko].usedTypefaces.add(t),nu.has(e)))).map((A=>A.join(\\\":\\\"))).join(\\\";\\\"):\\\"\\\"}(this)}[Io](){return!Cu.has(this[iI])}[rI](A,e=!1){e?this[su]=!0:(A=A.replaceAll(ou,\\\"\\\"),this.style.includes(\\\"xfa-spacerun:yes\\\")||(A=A.replaceAll(gu,\\\" \\\"))),A&&(this[fo]+=A)}[gI](A,e=!0){const t=Object.create(null),i={top:NaN,bottom:NaN,left:NaN,right:NaN};let a=null;for(const[A,e]of this.style.split(\\\";\\\").map((A=>A.split(\\\":\\\",2))))switch(A){case\\\"font-family\\\":t.typeface=SI(e);break;case\\\"font-size\\\":t.size=UI(e);break;case\\\"font-weight\\\":t.weight=e;break;case\\\"font-style\\\":t.posture=e;break;case\\\"letter-spacing\\\":t.letterSpacing=UI(e);break;case\\\"margin\\\":const A=e.split(/ \\\\\\\\t/).map((A=>UI(A)));switch(A.length){case 1:i.top=i.bottom=i.left=i.right=A[0];break;case 2:i.top=i.bottom=A[0],i.left=i.right=A[1];break;case 3:i.top=A[0],i.bottom=A[2],i.left=i.right=A[1];break;case 4:i.top=A[0],i.left=A[1],i.bottom=A[2],i.right=A[3]}break;case\\\"margin-top\\\":i.top=UI(e);break;case\\\"margin-bottom\\\":i.bottom=UI(e);break;case\\\"margin-left\\\":i.left=UI(e);break;case\\\"margin-right\\\":i.right=UI(e);break;case\\\"line-height\\\":a=UI(e)}if(A.pushData(t,i,a),this[fo])A.addString(this[fo]);else for(const e of this[Mo]())\\\"#text\\\"!==e[iI]?e[gI](A):A.addString(e[fo]);e&&A.popFont()}[pI](A){const e=[];if(this[yo]={children:e},this[ho]({}),0===e.length&&!this[fo])return JI.EMPTY;let t;return t=this[su]?this[fo]?this[fo].replaceAll(Iu,\\\"\\\\\\\\n\\\"):void 0:this[fo]||void 0,JI.success({name:this[iI],attributes:{href:this.href,style:cu(this.style,this,this[su])},children:e,value:t})}}class Bu extends hu{constructor(A){super(A,\\\"a\\\"),this.href=Oc(A.href)||\\\"\\\"}}class lu extends hu{constructor(A){super(A,\\\"b\\\")}[gI](A){A.pushFont({weight:\\\"bold\\\"}),super[gI](A),A.popFont()}}class Qu extends hu{constructor(A){super(A,\\\"body\\\")}[pI](A){const e=super[pI](A),{html:t}=e;return t?(t.name=\\\"div\\\",t.attributes.class=[\\\"xfaRich\\\"],e):JI.EMPTY}}class Eu extends hu{constructor(A){super(A,\\\"br\\\")}[dI](){return\\\"\\\\\\\\n\\\"}[gI](A){A.addString(\\\"\\\\\\\\n\\\")}[pI](A){return JI.success({name:\\\"br\\\"})}}class uu extends hu{constructor(A){super(A,\\\"html\\\")}[pI](A){const e=[];if(this[yo]={children:e},this[ho]({}),0===e.length)return JI.success({name:\\\"div\\\",attributes:{class:[\\\"xfaRich\\\"],style:{}},value:this[fo]||\\\"\\\"});if(1===e.length){const A=e[0];if(A.attributes?.class.includes(\\\"xfaRich\\\"))return JI.success(A)}return JI.success({name:\\\"div\\\",attributes:{class:[\\\"xfaRich\\\"],style:{}},children:e})}}class du extends hu{constructor(A){super(A,\\\"i\\\")}[gI](A){A.pushFont({posture:\\\"italic\\\"}),super[gI](A),A.popFont()}}class fu extends hu{constructor(A){super(A,\\\"li\\\")}}class pu extends hu{constructor(A){super(A,\\\"ol\\\")}}class mu extends hu{constructor(A){super(A,\\\"p\\\")}[gI](A){super[gI](A,!1),A.addString(\\\"\\\\\\\\n\\\"),A.addPara(),A.popFont()}[dI](){return this[Yo]()[Mo]().at(-1)===this?super[dI]():super[dI]()+\\\"\\\\\\\\n\\\"}}class yu extends hu{constructor(A){super(A,\\\"span\\\")}}class wu extends hu{constructor(A){super(A,\\\"sub\\\")}}class Du extends hu{constructor(A){super(A,\\\"sup\\\")}}class bu extends hu{constructor(A){super(A,\\\"ul\\\")}}class ku{static[DI](A,e){if(ku.hasOwnProperty(A))return ku[A](e)}static a(A){return new Bu(A)}static b(A){return new lu(A)}static body(A){return new Qu(A)}static br(A){return new Eu(A)}static html(A){return new uu(A)}static i(A){return new du(A)}static li(A){return new fu(A)}static ol(A){return new pu(A)}static p(A){return new mu(A)}static span(A){return new yu(A)}static sub(A){return new wu(A)}static sup(A){return new Du(A)}static ul(A){return new bu(A)}}const Fu={config:aE,connection:uE,datasets:mE,localeSet:jE,signature:zE,stylesheet:Au,template:pB,xdp:iu,xhtml:ku};class Su{constructor(A){this.namespaceId=A}[DI](A,e){return new yc(this.namespaceId,A,e)}}class Ru extends fc{constructor(A){super(-1,\\\"root\\\",Object.create(null)),this.element=null,this[To]=A}[sI](A){return this.element=A,!0}[wo](){super[wo](),this.element.template instanceof oB&&(this[To].set(CI,this.element),this.element.template[hI](this[To]),this.element.template[To]=this[To])}}class Gu extends fc{constructor(){super(-1,\\\"\\\",Object.create(null))}[sI](A){return!1}}class Nu{constructor(A=null){this._namespaceStack=[],this._nsAgnosticLevel=0,this._namespacePrefixes=new Map,this._namespaces=new Map,this._nextNsId=Math.max(...Object.values(bI).map((({id:A})=>A))),this._currentNamespace=A||new Su(++this._nextNsId)}buildRoot(A){return new Ru(A)}build({nsPrefix:A,name:e,attributes:t,namespace:i,prefixes:a}){const s=null!==i;if(s&&(this._namespaceStack.push(this._currentNamespace),this._currentNamespace=this._searchNamespace(i)),a&&this._addNamespacePrefix(a),t.hasOwnProperty(aI)){const A=Fu.datasets,e=t[aI];let i=null;for(const[t,a]of Object.entries(e))if(this._getNamespaceToUse(t)===A){i={xfa:a};break}i?t[aI]=i:delete t[aI]}const n=this._getNamespaceToUse(A)?.[DI](e,t)||new Gu;return n[Vo]()&&this._nsAgnosticLevel++,(s||a||n[Vo]())&&(n[Qo]={hasNamespace:s,prefixes:a,nsAgnostic:n[Vo]()}),n}isNsAgnostic(){return this._nsAgnosticLevel>0}_searchNamespace(A){let e=this._namespaces.get(A);if(e)return e;for(const[t,{check:i}]of Object.entries(bI))if(i(A)){if(e=Fu[t],e)return this._namespaces.set(A,e),e;break}return e=new Su(++this._nextNsId),this._namespaces.set(A,e),e}_addNamespacePrefix(A){for(const{prefix:e,value:t}of A){const A=this._searchNamespace(t);let i=this._namespacePrefixes.get(e);i||(i=[],this._namespacePrefixes.set(e,i)),i.push(A)}}_getNamespaceToUse(A){if(!A)return this._currentNamespace;const e=this._namespacePrefixes.get(A);return e?.length>0?e.at(-1):(U(`Unknown namespace prefix: ${A}.`),null)}clean(A){const{hasNamespace:e,prefixes:t,nsAgnostic:i}=A;e&&(this._currentNamespace=this._namespaceStack.pop()),t&&t.forEach((({prefix:A})=>{this._namespacePrefixes.get(A).pop()})),i&&this._nsAgnosticLevel--}}class xu extends bg{constructor(A=null,e=!1){super(),this._builder=new Nu(A),this._stack=[],this._globalData={usedTypefaces:new Set},this._ids=new Map,this._current=this._builder.buildRoot(this._ids),this._errorCode=0,this._whiteRegex=/^\\\\\\\\s+$/,this._nbsps=/\\\\\\\\xa0+/g,this._richText=e}parse(A){if(this.parseXml(A),0===this._errorCode)return this._current[wo](),this._current.element}onText(A){A=A.replace(this._nbsps,(A=>A.slice(1)+\\\" \\\")),this._richText||this._current[Io]()?this._current[rI](A,this._richText):this._whiteRegex.test(A)||this._current[rI](A.trim())}onCdata(A){this._current[rI](A)}_mkAttributes(A,e){let t=null,i=null;const a=Object.create({});for(const{name:s,value:n}of A)if(\\\"xmlns\\\"===s)t?U(`XFA - multiple namespace definition in <${e}>`):t=n;else if(s.startsWith(\\\"xmlns:\\\")){const A=s.substring(6);i||(i=[]),i.push({prefix:A,value:n})}else{const A=s.indexOf(\\\":\\\");if(-1===A)a[s]=n;else{let e=a[aI];e||(e=a[aI]=Object.create(null));const[t,i]=[s.slice(0,A),s.slice(A+1)];(e[t]||=Object.create(null))[i]=n}}return[t,i,a]}_getNameAndPrefix(A,e){const t=A.indexOf(\\\":\\\");return-1===t?[A,null]:[A.substring(t+1),e?\\\"\\\":A.substring(0,t)]}onBeginElement(A,e,t){const[i,a,s]=this._mkAttributes(e,A),[n,r]=this._getNameAndPrefix(A,this._builder.isNsAgnostic()),g=this._builder.build({nsPrefix:r,name:n,attributes:s,namespace:i,prefixes:a});g[Ko]=this._globalData,t?(g[wo](),this._current[sI](g)&&g[lI](this._ids),g[Bo](this._builder)):(this._stack.push(this._current),this._current=g)}onEndElement(A){const e=this._current;if(e[Oo]()&&\\\"string\\\"==typeof e[fo]){const A=new xu;A._globalData=this._globalData;const t=A.parse(e[fo]);e[fo]=null,e[sI](t)}e[wo](),this._current=this._stack.pop(),this._current[sI](e)&&e[lI](this._ids),e[Bo](this._builder)}onError(A){this._errorCode=A}}class Uu{constructor(A){try{this.root=(new xu).parse(Uu._createDocument(A));const e=new wB(this.root);this.form=e.bind(),this.dataHandler=new DB(this.root,e.getData()),this.form[Ko].template=this.form}catch(A){U(`XFA - an error occurred during parsing and binding: ${A}`)}}isValid(){return this.root&&this.form}_createPagesHelper(){const A=this.form[fI]();return new Promise(((e,t)=>{const i=()=>{try{const t=A.next();t.done?e(t.value):setTimeout(i,0)}catch(A){t(A)}};setTimeout(i,0)}))}async _createPages(){try{this.pages=await this._createPagesHelper(),this.dims=this.pages.children.map((A=>{const{width:e,height:t}=A.attributes.style;return[0,0,parseInt(e),parseInt(t)]}))}catch(A){U(`XFA - an error occurred during layout: ${A}`)}}getBoundingBox(A){return this.dims[A]}async getNumPages(){return this.pages||await this._createPages(),this.dims.length}setImages(A){this.form[Ko].images=A}setFonts(A){this.form[Ko].fontFinder=new HI(A);const e=[];for(let A of this.form[Ko].usedTypefaces)A=SI(A),this.form[Ko].fontFinder.find(A)||e.push(A);return e.length>0?e:null}appendFonts(A,e){this.form[Ko].fontFinder.add(A,e)}async getPages(){this.pages||await this._createPages();const A=this.pages;return this.pages=null,A}serializeData(A){return this.dataHandler.serialize(A)}static _createDocument(A){return A[\\\"/xdp:xdp\\\"]?Object.values(A).join(\\\"\\\"):A[\\\"xdp:xdp\\\"]}static getRichTextAsHtml(A){if(!A||\\\"string\\\"!=typeof A)return null;try{let e=new xu(ku,!0).parse(A);if(![\\\"body\\\",\\\"xhtml\\\"].includes(e[iI])){const A=ku.body({});A[Co](e),e=A}const t=e[pI]();if(!t.success)return null;const{html:i}=t,{attributes:a}=i;return a&&(a.class&&(a.class=a.class.filter((A=>!A.startsWith(\\\"xfa\\\")))),a.dir=\\\"auto\\\"),{html:i,str:e[dI]()}}catch(A){U(`XFA - an error occurred during parsing of rich text: ${A}`)}return null}}class Mu{static createGlobals(A){return Promise.all([A.ensureCatalog(\\\"acroForm\\\"),A.ensureDoc(\\\"xfaDatasets\\\"),A.ensureCatalog(\\\"structTreeRoot\\\"),A.ensureCatalog(\\\"baseUrl\\\"),A.ensureCatalog(\\\"attachments\\\")]).then((([e,t,i,a,s])=>({pdfManager:A,acroForm:e instanceof QA?e:QA.empty,xfaDatasets:t,structTreeRoot:i,baseUrl:a,attachments:s})),(A=>(U(`createGlobals: \\\"${A}\\\".`),null)))}static async create(A,e,t,i,a,s){const n=a?await this._getPageIndex(A,e,t.pdfManager):null;return t.pdfManager.ensure(this,\\\"_create\\\",[A,e,t,i,a,n,s])}static _create(A,e,t,i,a=!1,s=null,n=null){const r=A.fetchIfRef(e);if(!(r instanceof QA))return;const{acroForm:g,pdfManager:o}=t,I=e instanceof EA?e.toString():`annot_${i.createObjId()}`;let c=r.get(\\\"Subtype\\\");c=c instanceof hA?c.name:null;const C={xref:A,ref:e,dict:r,subtype:c,id:I,annotationGlobals:t,collectFields:a,needAppearances:!a&&!0===g.get(\\\"NeedAppearances\\\"),pageIndex:s,evaluatorOptions:o.evaluatorOptions,pageRef:n};switch(c){case\\\"Link\\\":return new Xu(C);case\\\"Text\\\":return new ju(C);case\\\"Widget\\\":let A=NA({dict:r,key:\\\"FT\\\"});switch(A=A instanceof hA?A.name:null,A){case\\\"Tx\\\":return new Pu(C);case\\\"Btn\\\":return new Wu(C);case\\\"Ch\\\":return new Ou(C);case\\\"Sig\\\":return new Zu(C)}return U(`Unimplemented widget field type \\\"${A}\\\", falling back to base field type.`),new Tu(C);case\\\"Popup\\\":return new Vu(C);case\\\"FreeText\\\":return new zu(C);case\\\"Line\\\":return new _u(C);case\\\"Square\\\":return new $u(C);case\\\"Circle\\\":return new Ad(C);case\\\"PolyLine\\\":return new ed(C);case\\\"Polygon\\\":return new td(C);case\\\"Caret\\\":return new id(C);case\\\"Ink\\\":return new ad(C);case\\\"Highlight\\\":return new sd(C);case\\\"Underline\\\":return new nd(C);case\\\"Squiggly\\\":return new rd(C);case\\\"StrikeOut\\\":return new gd(C);case\\\"Stamp\\\":return new od(C);case\\\"FileAttachment\\\":return new Id(C);default:return a||U(c?`Unimplemented annotation type \\\"${c}\\\", falling back to base annotation.`:\\\"Annotation is missing the required /Subtype.\\\"),new vu(C)}}static async _getPageIndex(A,e,t){try{const i=await A.fetchIfRefAsync(e);if(!(i instanceof QA))return-1;const a=i.getRaw(\\\"P\\\");if(a instanceof EA)try{return await t.ensureCatalog(\\\"getPageIndex\\\",[a])}catch(A){x(`_getPageIndex -- not a valid page reference: \\\"${A}\\\".`)}if(i.has(\\\"Kids\\\"))return-1;const s=await t.ensureDoc(\\\"numPages\\\");for(let A=0;AA/255))}function Hu(A,e){const t=A.getArray(\\\"QuadPoints\\\");if(!vA(t,null)||0===t.length||t.length%8>0)return null;const i=new Float32Array(t.length);for(let A=0,a=t.length;Ae[2]||Be[3]))return null;i.set([C,l,h,l,C,B,h,B],A)}return i}function Yu(A,e,t){const[i,a,s,n]=$.getAxialAlignedBoundingBox(e,t);if(i===s||a===n)return[1,0,0,1,A[0],A[1]];const r=(A[2]-A[0])/(s-i),g=(A[3]-A[1])/(n-a);return[r,0,0,g,A[0]-i*r,A[1]-a*g]}class vu{constructor(A){const{dict:e,xref:t,annotationGlobals:i}=A;this.setTitle(e.get(\\\"T\\\")),this.setContents(e.get(\\\"Contents\\\")),this.setModificationDate(e.get(\\\"M\\\")),this.setFlags(e.get(\\\"F\\\")),this.setRectangle(e.getArray(\\\"Rect\\\")),this.setColor(e.getArray(\\\"C\\\")),this.setBorderStyle(e),this.setAppearance(e),this.setOptionalContent(e);const a=e.get(\\\"MK\\\");this.setBorderAndBackgroundColors(a),this.setRotation(a,e),this.ref=A.ref instanceof EA?A.ref:null,this._streams=[],this.appearance&&this._streams.push(this.appearance);const s=!!(128&this.flags),n=!!(512&this.flags);if(i.structTreeRoot){let t=e.get(\\\"StructParent\\\");t=Number.isInteger(t)&&t>=0?t:-1,i.structTreeRoot.addAnnotationIdToPage(A.pageRef,t)}if(this.data={annotationFlags:this.flags,borderStyle:this.borderStyle,color:this.color,backgroundColor:this.backgroundColor,borderColor:this.borderColor,rotation:this.rotation,contentsObj:this._contents,hasAppearance:!!this.appearance,id:A.id,modificationDate:this.modificationDate,rect:this.rectangle,subtype:A.subtype,hasOwnCanvas:!1,noRotate:!!(16&this.flags),noHTML:s&&n,isEditable:!1},A.collectFields){const i=e.get(\\\"Kids\\\");if(Array.isArray(i)){const A=[];for(const e of i)e instanceof EA&&A.push(e.toString());0!==A.length&&(this.data.kidIds=A)}this.data.actions=jA(t,e,B),this.data.fieldName=this._constructFieldName(e),this.data.pageIndex=A.pageIndex}this._isOffscreenCanvasSupported=A.evaluatorOptions.isOffscreenCanvasSupported,this._fallbackFontDict=null,this._needAppearances=!1}_hasFlag(A,e){return!!(A&e)}_isViewable(A){return!this._hasFlag(A,1)&&!this._hasFlag(A,32)}_isPrintable(A){return this._hasFlag(A,4)&&!this._hasFlag(A,2)&&!this._hasFlag(A,1)}mustBeViewed(A,e){const t=A?.get(this.data.id)?.noView;return void 0!==t?!t:this.viewable&&!this._hasFlag(this.flags,2)}mustBePrinted(A){const e=A?.get(this.data.id)?.noPrint;return void 0!==e?!e:this.printable}mustBeViewedWhenEditing(A,e=null){return A?!this.data.isEditable:!e?.has(this.data.id)}get viewable(){return null!==this.data.quadPoints&&(0===this.flags||this._isViewable(this.flags))}get printable(){return null!==this.data.quadPoints&&0!==this.flags&&this._isPrintable(this.flags)}_parseStringHelper(A){const e=\\\"string\\\"==typeof A?eA(A):\\\"\\\";return{str:e,dir:e&&\\\"rtl\\\"===Ur(e).dir?\\\"rtl\\\":\\\"ltr\\\"}}setDefaultAppearance(A){const{dict:e,annotationGlobals:t}=A,i=NA({dict:e,key:\\\"DA\\\"})||t.acroForm.get(\\\"DA\\\");this._defaultAppearance=\\\"string\\\"==typeof i?i:\\\"\\\",this.data.defaultAppearanceData=lg(this._defaultAppearance)}setTitle(A){this._title=this._parseStringHelper(A)}setContents(A){this._contents=this._parseStringHelper(A)}setModificationDate(A){this.modificationDate=\\\"string\\\"==typeof A?A:null}setFlags(A){this.flags=Number.isInteger(A)&&A>0?A:0,1&this.flags&&\\\"Annotation\\\"!==this.constructor.name&&(this.flags^=1)}hasFlag(A){return this._hasFlag(this.flags,A)}setRectangle(A){this.rectangle=TA(A,[0,0,0,0])}setColor(A){this.color=Lu(A)}setLineEndings(A){if(this.lineEndings=[\\\"None\\\",\\\"None\\\"],Array.isArray(A)&&2===A.length)for(let e=0;e<2;e++){const t=A[e];if(t instanceof hA)switch(t.name){case\\\"None\\\":continue;case\\\"Square\\\":case\\\"Circle\\\":case\\\"Diamond\\\":case\\\"OpenArrow\\\":case\\\"ClosedArrow\\\":case\\\"Butt\\\":case\\\"ROpenArrow\\\":case\\\"RClosedArrow\\\":case\\\"Slash\\\":this.lineEndings[e]=t.name;continue}U(`Ignoring invalid lineEnding: ${t}`)}}setRotation(A,e){this.rotation=0;let t=A instanceof QA?A.get(\\\"R\\\")||0:e.get(\\\"Rotate\\\")||0;Number.isInteger(t)&&0!==t&&(t%=360,t<0&&(t+=360),t%90==0&&(this.rotation=t))}setBorderAndBackgroundColors(A){A instanceof QA?(this.borderColor=Lu(A.getArray(\\\"BC\\\"),null),this.backgroundColor=Lu(A.getArray(\\\"BG\\\"),null)):this.borderColor=this.backgroundColor=null}setBorderStyle(A){if(this.borderStyle=new Ku,A instanceof QA)if(A.has(\\\"BS\\\")){const e=A.get(\\\"BS\\\");if(e instanceof QA){const A=e.get(\\\"Type\\\");A&&!fA(A,\\\"Border\\\")||(this.borderStyle.setWidth(e.get(\\\"W\\\"),this.rectangle),this.borderStyle.setStyle(e.get(\\\"S\\\")),this.borderStyle.setDashArray(e.getArray(\\\"D\\\")))}}else if(A.has(\\\"Border\\\")){const e=A.getArray(\\\"Border\\\");Array.isArray(e)&&e.length>=3&&(this.borderStyle.setHorizontalCornerRadius(e[0]),this.borderStyle.setVerticalCornerRadius(e[1]),this.borderStyle.setWidth(e[2],this.rectangle),4===e.length&&this.borderStyle.setDashArray(e[3],!0))}else this.borderStyle.setWidth(0)}setAppearance(A){this.appearance=null;const e=A.get(\\\"AP\\\");if(!(e instanceof QA))return;const t=e.get(\\\"N\\\");if(t instanceof wA)return void(this.appearance=t);if(!(t instanceof QA))return;const i=A.get(\\\"AS\\\");if(!(i instanceof hA&&t.has(i.name)))return;const a=t.get(i.name);a instanceof wA&&(this.appearance=a)}setOptionalContent(A){this.oc=null;const e=A.get(\\\"OC\\\");e instanceof hA?U(\\\"setOptionalContent: Support for /Name-entry is not implemented.\\\"):e instanceof QA&&(this.oc=e)}loadResources(A,e){return e.dict.getAsync(\\\"Resources\\\").then((e=>{if(e)return new oo(e,A,e.xref).load().then((function(){return e}))}))}async getOperatorList(A,e,t,i){const{hasOwnCanvas:a,id:n,rect:r}=this.data;let g=this.appearance;const o=!!(a&&2&t);if(o&&(r[0]===r[2]||r[1]===r[3]))return this.data.hasOwnCanvas=!1,{opList:new $r,separateForm:!1,separateCanvas:!1};if(!g){if(!o)return{opList:new $r,separateForm:!1,separateCanvas:!1};g=new oe(\\\"\\\"),g.dict=new QA}const I=g.dict,c=await this.loadResources([\\\"ExtGState\\\",\\\"ColorSpace\\\",\\\"Pattern\\\",\\\"Shading\\\",\\\"XObject\\\",\\\"Font\\\"],g),C=qA(I.getArray(\\\"BBox\\\"),[0,0,1,1]),h=KA(I.getArray(\\\"Matrix\\\"),s),B=Yu(r,C,h),l=new $r;let Q;return this.oc&&(Q=await A.parseMarkedContentProps(this.oc,null)),void 0!==Q&&l.addOp(F,[\\\"OC\\\",Q]),l.addOp(80,[n,r,B,h,o]),await A.getOperatorList({stream:g,task:e,resources:c,operatorList:l,fallbackFontDict:this._fallbackFontDict}),l.addOp(81,[]),void 0!==Q&&l.addOp(S,[]),this.reset(),{opList:l,separateForm:!1,separateCanvas:o}}async save(A,e,t){return null}get hasTextContent(){return!1}async extractTextContent(A,e,t){if(!this.appearance)return;const i=await this.loadResources([\\\"ExtGState\\\",\\\"Font\\\",\\\"Properties\\\",\\\"XObject\\\"],this.appearance),a=[],s=[];let n=null;const r={desiredSize:Math.Infinity,ready:!0,enqueue(A,e){for(const e of A.items)void 0!==e.str&&(n||=e.transform.slice(-2),s.push(e.str),e.hasEOL&&(a.push(s.join(\\\"\\\").trimEnd()),s.length=0))}};if(await A.getTextContent({stream:this.appearance,task:e,resources:i,includeMarkedContent:!0,keepWhiteSpace:!0,sink:r,viewBox:t}),this.reset(),s.length&&a.push(s.join(\\\"\\\").trimEnd()),a.length>1||a[0]){const A=this.appearance.dict,e=qA(A.getArray(\\\"BBox\\\"),null),t=KA(A.getArray(\\\"Matrix\\\"),null);this.data.textPosition=this._transformPoint(n,e,t),this.data.textContent=a}}_transformPoint(A,e,t){const{rect:i}=this.data;e||=[0,0,1,1],t||=[1,0,0,1,0,0];const a=Yu(i,e,t);return a[4]-=i[0],a[5]-=i[1],A=$.applyTransform(A,a),$.applyTransform(A,t)}getFieldObject(){return this.data.kidIds?{id:this.data.id,actions:this.data.actions,name:this.data.fieldName,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,type:\\\"\\\",kidIds:this.data.kidIds,page:this.data.pageIndex,rotation:this.rotation}:null}reset(){for(const A of this._streams)A.reset()}_constructFieldName(A){if(!A.has(\\\"T\\\")&&!A.has(\\\"Parent\\\"))return U(\\\"Unknown field name, falling back to empty field name.\\\"),\\\"\\\";if(!A.has(\\\"Parent\\\"))return eA(A.get(\\\"T\\\"));const e=[];A.has(\\\"T\\\")&&e.unshift(eA(A.get(\\\"T\\\")));let t=A;const i=new uA;for(A.objId&&i.put(A.objId);t.has(\\\"Parent\\\")&&(t=t.get(\\\"Parent\\\"),t instanceof QA&&(!t.objId||!i.has(t.objId)));)t.objId&&i.put(t.objId),t.has(\\\"T\\\")&&e.unshift(eA(t.get(\\\"T\\\")));return e.join(\\\".\\\")}}class Ku{constructor(){this.width=1,this.style=1,this.dashArray=[3],this.horizontalCornerRadius=0,this.verticalCornerRadius=0}setWidth(A,e=[0,0,0,0]){if(A instanceof hA)this.width=0;else if(\\\"number\\\"==typeof A){if(A>0){const t=(e[2]-e[0])/2,i=(e[3]-e[1])/2;t>0&&i>0&&(A>t||A>i)&&(U(`AnnotationBorderStyle.setWidth - ignoring width: ${A}`),A=1)}this.width=A}}setStyle(A){if(A instanceof hA)switch(A.name){case\\\"S\\\":this.style=1;break;case\\\"D\\\":this.style=2;break;case\\\"B\\\":this.style=3;break;case\\\"I\\\":this.style=4;break;case\\\"U\\\":this.style=5}}setDashArray(A,e=!1){if(Array.isArray(A)){let t=!0,i=!0;for(const e of A){if(!(+e>=0)){t=!1;break}e>0&&(i=!1)}0===A.length||t&&!i?(this.dashArray=A,e&&this.setStyle(hA.get(\\\"D\\\"))):this.width=0}else A&&(this.width=0)}setHorizontalCornerRadius(A){Number.isInteger(A)&&(this.horizontalCornerRadius=A)}setVerticalCornerRadius(A){Number.isInteger(A)&&(this.verticalCornerRadius=A)}}class qu extends vu{constructor(A){super(A);const{dict:e}=A;if(e.has(\\\"IRT\\\")){const A=e.getRaw(\\\"IRT\\\");this.data.inReplyTo=A instanceof EA?A.toString():null;const t=e.get(\\\"RT\\\");this.data.replyType=t instanceof hA?t.name:\\\"R\\\"}let t=null;if(this.data.replyType===c){const A=e.get(\\\"IRT\\\");this.setTitle(A.get(\\\"T\\\")),this.data.titleObj=this._title,this.setContents(A.get(\\\"Contents\\\")),this.data.contentsObj=this._contents,A.has(\\\"CreationDate\\\")?(this.setCreationDate(A.get(\\\"CreationDate\\\")),this.data.creationDate=this.creationDate):this.data.creationDate=null,A.has(\\\"M\\\")?(this.setModificationDate(A.get(\\\"M\\\")),this.data.modificationDate=this.modificationDate):this.data.modificationDate=null,t=A.getRaw(\\\"Popup\\\"),A.has(\\\"C\\\")?(this.setColor(A.getArray(\\\"C\\\")),this.data.color=this.color):this.data.color=null}else this.data.titleObj=this._title,this.setCreationDate(e.get(\\\"CreationDate\\\")),this.data.creationDate=this.creationDate,t=e.getRaw(\\\"Popup\\\"),e.has(\\\"C\\\")||(this.data.color=null);this.data.popupRef=t instanceof EA?t.toString():null,e.has(\\\"RC\\\")&&(this.data.richText=Uu.getRichTextAsHtml(e.get(\\\"RC\\\")))}setCreationDate(A){this.creationDate=\\\"string\\\"==typeof A?A:null}_setDefaultAppearance({xref:A,extra:e,strokeColor:t,fillColor:i,blendMode:a,strokeAlpha:s,fillAlpha:n,pointsCallback:r}){let g=Number.MAX_VALUE,o=Number.MAX_VALUE,I=Number.MIN_VALUE,c=Number.MIN_VALUE;const C=[\\\"q\\\"];e&&C.push(e),t&&C.push(`${t[0]} ${t[1]} ${t[2]} RG`),i&&C.push(`${i[0]} ${i[1]} ${i[2]} rg`);let h=this.data.quadPoints;h||(h=Float32Array.from([this.rectangle[0],this.rectangle[3],this.rectangle[2],this.rectangle[3],this.rectangle[0],this.rectangle[1],this.rectangle[2],this.rectangle[1]]));for(let A=0,e=h.length;A\\\"string\\\"==typeof A)).map((A=>eA(A))):A instanceof hA?eA(A.name):\\\"string\\\"==typeof A?eA(A):null}hasFieldFlag(A){return!!(this.data.fieldFlags&A)}_isViewable(A){return!0}mustBeViewed(A,e){return e?this.viewable:super.mustBeViewed(A,e)&&!this._hasFlag(this.flags,32)}getRotationMatrix(A){let e=A?.get(this.data.id)?.rotation;return void 0===e&&(e=this.rotation),0===e?s:ne(e,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1])}getBorderAndBackgroundAppearances(A){let e=A?.get(this.data.id)?.rotation;if(void 0===e&&(e=this.rotation),!this.backgroundColor&&!this.borderColor)return\\\"\\\";const t=this.data.rect[2]-this.data.rect[0],i=this.data.rect[3]-this.data.rect[1],a=0===e||180===e?`0 0 ${t} ${i} re`:`0 0 ${i} ${t} re`;let s=\\\"\\\";return this.backgroundColor&&(s=`${Eg(this.backgroundColor,!0)} ${a} f `),this.borderColor&&(s+=`${this.borderStyle.width||1} w ${Eg(this.borderColor,!1)} ${a} S `),s}async getOperatorList(A,e,t,i){if(16&t&&!(this instanceof Zu)&&!this.data.noHTML&&!this.data.hasOwnCanvas)return{opList:new $r,separateForm:!0,separateCanvas:!1};if(!this._hasText)return super.getOperatorList(A,e,t,i);const a=await this._getAppearance(A,e,t,i);if(this.appearance&&null===a)return super.getOperatorList(A,e,t,i);const s=new $r;if(!this._defaultAppearance||null===a)return{opList:s,separateForm:!1,separateCanvas:!1};const n=!!(this.data.hasOwnCanvas&&2&t),r=[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]],g=Yu(this.data.rect,r,[1,0,0,1,0,0]);let o;this.oc&&(o=await A.parseMarkedContentProps(this.oc,null)),void 0!==o&&s.addOp(F,[\\\"OC\\\",o]),s.addOp(80,[this.data.id,this.data.rect,g,this.getRotationMatrix(i),n]);const I=new oe(a);return await A.getOperatorList({stream:I,task:e,resources:this._fieldResources.mergedResources,operatorList:s}),s.addOp(81,[]),void 0!==o&&s.addOp(S,[]),{opList:s,separateForm:!1,separateCanvas:n}}_getMKDict(A){const e=new QA(null);return A&&e.set(\\\"R\\\",A),this.borderColor&&e.set(\\\"BC\\\",Ju(this.borderColor)),this.backgroundColor&&e.set(\\\"BG\\\",Ju(this.backgroundColor)),e.size>0?e:null}amendSavedDict(A,e){}async save(A,e,t){const i=t?.get(this.data.id);let a=i?.value,n=i?.rotation;if(a===this.data.fieldValue||void 0===a){if(!this._hasValueFromXFA&&void 0===n)return null;a||=this.data.fieldValue}if(void 0===n&&!this._hasValueFromXFA&&Array.isArray(a)&&Array.isArray(this.data.fieldValue)&&a.length===this.data.fieldValue.length&&a.every(((A,e)=>A===this.data.fieldValue[e])))return null;void 0===n&&(n=this.rotation);let r=null;if(!this._needAppearances&&(r=await this._getAppearance(A,e,8,t),null===r))return null;let g=!1;r?.needAppearances&&(g=!0,r=null);const{xref:o}=A,I=o.fetchIfRef(this.ref);if(!(I instanceof QA))return null;const c=new QA(o);for(const A of I.getKeys())\\\"AP\\\"!==A&&c.set(A,I.getRaw(A));const C={path:this.data.fieldName,value:a};c.set(\\\"V\\\",Array.isArray(a)?a.map(ie):ie(a)),this.amendSavedDict(t,c);const h=this._getMKDict(n);h&&c.set(\\\"MK\\\",h);const B=[],l=[{ref:this.ref,data:\\\"\\\",xfa:C,needAppearances:g}];if(null!==r){const A=o.getNewTemporaryRef(),e=new QA(o);c.set(\\\"AP\\\",e),e.set(\\\"N\\\",A);const i=this._getSaveFieldResources(o),a=new oe(r),n=a.dict=new QA(o);n.set(\\\"Subtype\\\",hA.get(\\\"Form\\\")),n.set(\\\"Resources\\\",i),n.set(\\\"BBox\\\",[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]]);const g=this.getRotationMatrix(t);g!==s&&n.set(\\\"Matrix\\\",g),await Pg(A,a,B,o),l.push({ref:A,data:B.join(\\\"\\\"),xfa:null,needAppearances:!1}),B.length=0}return c.set(\\\"M\\\",`D:${sA()}`),await Pg(this.ref,c,B,o),l[0].data=B.join(\\\"\\\"),l}async _getAppearance(A,e,t,i){if(this.hasFieldFlag(C))return null;const a=i?.get(this.data.id);let s,n;if(a&&(s=a.formattedValue||a.value,n=a.rotation),void 0===n&&void 0===s&&!this._needAppearances&&(!this._hasValueFromXFA||this.appearance))return null;const r=this.getBorderAndBackgroundAppearances(i);if(void 0===s&&(s=this.data.fieldValue,!s))return`/Tx BMC q ${r}Q EMC`;if(Array.isArray(s)&&1===s.length&&(s=s[0]),L(\\\"string\\\"==typeof s,\\\"Expected `value` to be a string.\\\"),s=s.trim(),this.data.combo){const A=this.data.options.find((({exportValue:A})=>s===A));s=A?.displayValue||s}if(\\\"\\\"===s)return`/Tx BMC q ${r}Q EMC`;void 0===n&&(n=this.rotation);let o,I=-1;this.data.multiLine?(o=s.split(/\\\\\\\\r\\\\\\\\n?|\\\\\\\\n/).map((A=>A.normalize(\\\"NFC\\\"))),I=o.length):o=[s.replace(/\\\\\\\\r\\\\\\\\n?|\\\\\\\\n/,\\\"\\\").normalize(\\\"NFC\\\")];let c=this.data.rect[3]-this.data.rect[1],h=this.data.rect[2]-this.data.rect[0];90!==n&&270!==n||([h,c]=[c,h]),this._defaultAppearance||(this.data.defaultAppearanceData=lg(this._defaultAppearance=\\\"/Helvetica 0 Tf 0 g\\\"));let B,l,Q,E=await Tu._getFontData(A,e,this.data.defaultAppearanceData,this._fieldResources.mergedResources);const u=[];let d=!1;for(const A of o){const e=E.encodeString(A);e.length>1&&(d=!0),u.push(e.join(\\\"\\\"))}if(d&&8&t)return{needAppearances:!0};if(d&&this._isOffscreenCanvasSupported){const t=this.data.comb?\\\"monospace\\\":\\\"sans-serif\\\",i=new ug(A.xref,t),a=i.createFontResources(o.join(\\\"\\\")),n=a.getRaw(\\\"Font\\\");if(this._fieldResources.mergedResources.has(\\\"Font\\\")){const A=this._fieldResources.mergedResources.get(\\\"Font\\\");for(const e of n.getKeys())A.set(e,n.getRaw(e))}else this._fieldResources.mergedResources.set(\\\"Font\\\",n);const r=i.fontName.name;E=await Tu._getFontData(A,e,{fontName:r,fontSize:0},a);for(let A=0,e=u.length;A2?`/Tx BMC q ${r}BT `+B+` 1 0 0 1 ${ee(2)} ${ee(y)} Tm (${OA(u[0])}) Tj ET Q EMC`:`/Tx BMC q ${r}BT `+B+` 1 0 0 1 0 0 Tm ${this._renderText(u[0],E,l,h,m,{shift:0},2,y)} ET Q EMC`}static async _getFontData(A,e,t,i){const a=new $r,s={font:null,clone(){return this}},{fontName:n,fontSize:r}=t;return await A.handleSetFont(i,[n&&hA.get(n),r],null,a,e,s,null),s.font}_getTextWidth(A,e){return e.charsToGlyphs(A).reduce(((A,e)=>A+e.width),0)/1e3}_computeFontSize(A,e,t,i,a){let{fontSize:s}=this.data.defaultAppearanceData,n=(s||12)*r,g=Math.round(A/n);if(!s){const o=A=>Math.floor(100*A)/100;if(-1===a){const a=this._getTextWidth(t,i);s=o(Math.min(A/r,a>e?e/a:1/0)),g=1}else{const I=t.split(/\\\\\\\\r\\\\\\\\n?|\\\\\\\\n/),c=[];for(const A of I){const e=i.encodeString(A).join(\\\"\\\"),t=i.charsToGlyphs(e),a=i.getCharPositions(e);c.push({line:e,glyphs:t,positions:a})}const C=t=>{let a=0;for(const s of c)if(a+=this._splitLine(null,i,t,e,s).length*t,a>A)return!0;return!1};for(g=Math.max(g,a);n=A/g,s=o(n/r),C(s);)g++}const{fontName:I,fontColor:c}=this.data.defaultAppearanceData;this._defaultAppearance=function({fontSize:A,fontName:e,fontColor:t}){return`/${WA(e)} ${A} Tf ${Eg(t,!0)}`}({fontSize:s,fontName:I,fontColor:c})}return[this._defaultAppearance,s,A/g]}_renderText(A,e,t,i,a,s,n,r){let g;g=1===a?(i-this._getTextWidth(A,e)*t)/2:2===a?i-this._getTextWidth(A,e)*t-n:n;const o=ee(g-s.shift);return s.shift=g,`${o} ${r=ee(r)} Td (${OA(A)}) Tj`}_getSaveFieldResources(A){const{localResources:e,appearanceResources:t,acroFormResources:i}=this._fieldResources,a=this.data.defaultAppearanceData?.fontName;if(!a)return e||QA.empty;for(const A of[e,t])if(A instanceof QA){const e=A.get(\\\"Font\\\");if(e instanceof QA&&e.has(a))return A}if(i instanceof QA){const t=i.get(\\\"Font\\\");if(t instanceof QA&&t.has(a)){const i=new QA(A);i.set(a,t.getRaw(a));const s=new QA(A);return s.set(\\\"Font\\\",i),QA.merge({xref:A,dictArray:[s,e],mergeSubDicts:!0})}}return e||QA.empty}getFieldObject(){return null}}class Pu extends Tu{constructor(A){super(A);const{dict:e}=A;e.has(\\\"PMD\\\")&&(this.flags|=2,this.data.hidden=!0,U(\\\"Barcodes are not supported\\\")),this.data.hasOwnCanvas=this.data.readOnly&&!this.data.noHTML,this._hasText=!0,\\\"string\\\"!=typeof this.data.fieldValue&&(this.data.fieldValue=\\\"\\\");let t=NA({dict:e,key:\\\"Q\\\"});(!Number.isInteger(t)||t<0||t>2)&&(t=null),this.data.textAlignment=t;let i=NA({dict:e,key:\\\"MaxLen\\\"});(!Number.isInteger(i)||i<0)&&(i=0),this.data.maxLen=i,this.data.multiLine=this.hasFieldFlag(4096),this.data.comb=this.hasFieldFlag(16777216)&&!this.hasFieldFlag(4096)&&!this.hasFieldFlag(C)&&!this.hasFieldFlag(1048576)&&0!==this.data.maxLen,this.data.doNotScroll=this.hasFieldFlag(8388608)}get hasTextContent(){return!!this.appearance&&!this._needAppearances}_getCombAppearance(A,e,t,i,a,s,n,r,g,o,I){const c=a/this.data.maxLen,C=this.getBorderAndBackgroundAppearances(I),h=[],B=e.getCharPositions(t);for(const[A,e]of B)h.push(`(${OA(t.substring(A,e))}) Tj`);const l=h.join(` ${ee(c)} 0 Td `);return`/Tx BMC q ${C}BT `+A+` 1 0 0 1 ${ee(n)} ${ee(r+g)} Tm ${l} ET Q EMC`}_getMultilineAppearance(A,e,t,i,a,s,n,r,g,o,I,c){const C=[],h=a-2*r,B={shift:0};for(let A=0,s=e.length;Ai?(g.push(A.substring(C,t)),C=t,h=l,o=-1,c=-1):(h+=l,o=t,I=a,c=e):h+l>i?-1!==o?(g.push(A.substring(C,I)),C=I,e=c+1,o=-1,h=0):(g.push(A.substring(C,t)),C=t,h=l):h+=l}return C\\\"Off\\\"!==A));s.length=0,s.push(\\\"Off\\\",A)}s.includes(this.data.fieldValue)||(this.data.fieldValue=\\\"Off\\\"),this.data.exportValue=s[1];const n=t.get(this.data.exportValue);this.checkedAppearance=n instanceof wA?n:null;const r=t.get(\\\"Off\\\");this.uncheckedAppearance=r instanceof wA?r:null,this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(A,\\\"check\\\"),this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance),this._fallbackFontDict=this.fallbackFontDict,null===this.data.defaultFieldValue&&(this.data.defaultFieldValue=\\\"Off\\\")}_processRadioButton(A){this.data.buttonValue=null;const e=A.dict.get(\\\"Parent\\\");if(e instanceof QA){this.parent=A.dict.getRaw(\\\"Parent\\\");const t=e.get(\\\"V\\\");t instanceof hA&&(this.data.fieldValue=this._decodeFormValue(t))}const t=A.dict.get(\\\"AP\\\");if(!(t instanceof QA))return;const i=t.get(\\\"N\\\");if(!(i instanceof QA))return;for(const A of i.getKeys())if(\\\"Off\\\"!==A){this.data.buttonValue=this._decodeFormValue(A);break}const a=i.get(this.data.buttonValue);this.checkedAppearance=a instanceof wA?a:null;const s=i.get(\\\"Off\\\");this.uncheckedAppearance=s instanceof wA?s:null,this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(A,\\\"disc\\\"),this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance),this._fallbackFontDict=this.fallbackFontDict,null===this.data.defaultFieldValue&&(this.data.defaultFieldValue=\\\"Off\\\")}_processPushButton(A){const{dict:e,annotationGlobals:t}=A;e.has(\\\"A\\\")||e.has(\\\"AA\\\")||this.data.alternativeText?(this.data.isTooltipOnly=!e.has(\\\"A\\\")&&!e.has(\\\"AA\\\"),ro.parseDestDictionary({destDict:e,resultObj:this.data,docBaseUrl:t.baseUrl,docAttachments:t.attachments})):U(\\\"Push buttons without action dictionaries are not supported\\\")}getFieldObject(){let A,e=\\\"button\\\";return this.data.checkBox?(e=\\\"checkbox\\\",A=this.data.exportValue):this.data.radioButton&&(e=\\\"radiobutton\\\",A=this.data.buttonValue),{id:this.data.id,value:this.data.fieldValue||\\\"Off\\\",defaultValue:this.data.defaultFieldValue,exportValues:A,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,hidden:this.data.hidden,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:e}}get fallbackFontDict(){const A=new QA;return A.set(\\\"BaseFont\\\",hA.get(\\\"ZapfDingbats\\\")),A.set(\\\"Type\\\",hA.get(\\\"FallbackType\\\")),A.set(\\\"Subtype\\\",hA.get(\\\"FallbackType\\\")),A.set(\\\"Encoding\\\",hA.get(\\\"ZapfDingbatsEncoding\\\")),H(this,\\\"fallbackFontDict\\\",A)}}class Ou extends Tu{constructor(A){super(A);const{dict:e,xref:t}=A;this.indices=e.getArray(\\\"I\\\"),this.hasIndices=Array.isArray(this.indices)&&this.indices.length>0,this.data.options=[];const i=NA({dict:e,key:\\\"Opt\\\"});if(Array.isArray(i))for(let A=0,e=i.length;A=0&&e0?this.data.fieldValue[0]:null;return{id:this.data.id,value:e,defaultValue:this.data.defaultFieldValue,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,numItems:this.data.fieldValue.length,multipleSelection:this.data.multiSelect,hidden:this.data.hidden,actions:this.data.actions,items:this.data.options,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:A}}amendSavedDict(A,e){if(!this.hasIndices)return;let t=A?.get(this.data.id)?.value;Array.isArray(t)||(t=[t]);const i=[],{options:a}=this.data;for(let A=0,e=0,s=a.length;At&&(t=i,e=A)}[h,B]=this._computeFontSize(A,o-4,e,C,-1)}const l=B*r,Q=(l-B)/2,E=Math.floor(g/l);let u=0;if(c.length>0){const A=Math.min(...c),e=Math.max(...c);u=Math.max(0,e-E+1),u>A&&(u=A)}const d=Math.min(u+E+1,I),f=[\\\"/Tx BMC q\\\",`1 1 ${o} ${g} re W n`];if(c.length){f.push(\\\"0.600006 0.756866 0.854904 rg\\\");for(const A of c)u<=A&&AA.trimEnd()));const{coords:A,bbox:e,matrix:t}=ug.getFirstPositionInfo(this.rectangle,this.rotation,i);this.data.textPosition=this._transformPoint(A,e,t)}if(this._isOffscreenCanvasSupported){const a=A.dict.get(\\\"CA\\\"),s=new ug(t,\\\"sans-serif\\\");this.appearance=s.createAppearance(this._contents.str,this.rectangle,this.rotation,i,e,a),this._streams.push(this.appearance)}else U(\\\"FreeTextAnnotation: OffscreenCanvas is not supported, annotation may not render correctly.\\\")}}get hasTextContent(){return this._hasAppearance}static createNewDict(A,e,{apRef:t,ap:i,oldAnnotation:a}){const{color:s,fontSize:n,rect:r,rotation:g,user:o,value:I}=A,c=a||new QA(e);c.set(\\\"Type\\\",hA.get(\\\"Annot\\\")),c.set(\\\"Subtype\\\",hA.get(\\\"FreeText\\\")),a?(c.set(\\\"M\\\",`D:${sA()}`),c.delete(\\\"RC\\\")):c.set(\\\"CreationDate\\\",`D:${sA()}`),c.set(\\\"Rect\\\",r);const C=`/Helv ${n} Tf ${Eg(s,!0)}`;if(c.set(\\\"DA\\\",C),c.set(\\\"Contents\\\",ie(I)),c.set(\\\"F\\\",4),c.set(\\\"Border\\\",[0,0,0]),c.set(\\\"Rotate\\\",g),o&&c.set(\\\"T\\\",ie(o)),t||i){const A=new QA(e);c.set(\\\"AP\\\",A),t?A.set(\\\"N\\\",t):A.set(\\\"N\\\",i)}return c}static async createNewAppearanceStream(A,e,t){const{baseFontRef:i,evaluator:a,task:s}=t,{color:n,fontSize:g,rect:o,rotation:I,value:c}=A,C=new QA(e),h=new QA(e);if(i)h.set(\\\"Helv\\\",i);else{const A=new QA(e);A.set(\\\"BaseFont\\\",hA.get(\\\"Helvetica\\\")),A.set(\\\"Type\\\",hA.get(\\\"Font\\\")),A.set(\\\"Subtype\\\",hA.get(\\\"Type1\\\")),A.set(\\\"Encoding\\\",hA.get(\\\"WinAnsiEncoding\\\")),h.set(\\\"Helv\\\",A)}C.set(\\\"Font\\\",h);const B=await Tu._getFontData(a,s,{fontName:\\\"Helv\\\",fontSize:g},C),[l,Q,E,u]=o;let d=E-l,f=u-Q;I%180!=0&&([d,f]=[f,d]);const p=c.split(\\\"\\\\\\\\n\\\"),m=g/1e3;let y=-1/0;const w=[];for(let A of p){const e=B.encodeString(A);if(e.length>1)return null;A=e.join(\\\"\\\"),w.push(A);let t=0;const i=B.charsToGlyphs(A);for(const A of i)t+=A.width*m;y=Math.max(y,t)}let D=1;y>d&&(D=d/y);let b=1;const k=r*g,F=1*g,S=k*p.length;S>f&&(b=f/S);const R=g*Math.min(D,b);let G,N,x;switch(I){case 0:x=[1,0,0,1],N=[o[0],o[1],d,f],G=[o[0],o[3]-F];break;case 90:x=[0,1,-1,0],N=[o[1],-o[2],d,f],G=[o[1],-o[0]-F];break;case 180:x=[-1,0,0,-1],N=[-o[2],-o[3],d,f],G=[-o[2],-o[1]-F];break;case 270:x=[0,-1,1,0],N=[-o[3],o[0],d,f],G=[-o[3],o[2]-F]}const U=[\\\"q\\\",`${x.join(\\\" \\\")} 0 0 cm`,`${N.join(\\\" \\\")} re W n`,\\\"BT\\\",`${Eg(n,!0)}`,`0 Tc /Helv ${ee(R)} Tf`];U.push(`${G.join(\\\" \\\")} Td (${OA(w[0])}) Tj`);const M=ee(k);for(let A=1,e=w.length;A(A.push(`${i[0]} ${i[1]} m`,`${i[2]} ${i[3]} l`,\\\"S\\\"),[e[0]-g,e[2]+g,e[7]-g,e[3]+g])})}}}class $u extends qu{constructor(A){super(A);const{dict:e,xref:t}=A;if(this.data.annotationType=5,this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1,!this.appearance){const A=this.color?Ju(this.color):[0,0,0],i=e.get(\\\"CA\\\"),a=Lu(e.getArray(\\\"IC\\\"),null),s=a?Ju(a):null,n=s?i:null;if(0===this.borderStyle.width&&!s)return;this._setDefaultAppearance({xref:t,extra:`${this.borderStyle.width} w`,strokeColor:A,fillColor:s,strokeAlpha:i,fillAlpha:n,pointsCallback:(A,e)=>{const t=e[4]+this.borderStyle.width/2,i=e[5]+this.borderStyle.width/2,a=e[6]-e[4]-this.borderStyle.width,n=e[3]-e[7]-this.borderStyle.width;return A.push(`${t} ${i} ${a} ${n} re`),s?A.push(\\\"B\\\"):A.push(\\\"S\\\"),[e[0],e[2],e[7],e[3]]}})}}}class Ad extends qu{constructor(A){super(A);const{dict:e,xref:t}=A;if(this.data.annotationType=6,!this.appearance){const A=this.color?Ju(this.color):[0,0,0],i=e.get(\\\"CA\\\"),a=Lu(e.getArray(\\\"IC\\\"),null),s=a?Ju(a):null,n=s?i:null;if(0===this.borderStyle.width&&!s)return;const r=4/3*Math.tan(Math.PI/8);this._setDefaultAppearance({xref:t,extra:`${this.borderStyle.width} w`,strokeColor:A,fillColor:s,strokeAlpha:i,fillAlpha:n,pointsCallback:(A,e)=>{const t=e[0]+this.borderStyle.width/2,i=e[1]-this.borderStyle.width/2,a=e[6]-this.borderStyle.width/2,n=e[7]+this.borderStyle.width/2,g=t+(a-t)/2,o=i+(n-i)/2,I=(a-t)/2*r,c=(n-i)/2*r;return A.push(`${g} ${n} m`,`${g+I} ${n} ${a} ${o+c} ${a} ${o} c`,`${a} ${o-c} ${g+I} ${i} ${g} ${i} c`,`${g-I} ${i} ${t} ${o-c} ${t} ${o} c`,`${t} ${o+c} ${g-I} ${n} ${g} ${n} c`,\\\"h\\\"),s?A.push(\\\"B\\\"):A.push(\\\"S\\\"),[e[0],e[2],e[7],e[3]]}})}}}class ed extends qu{constructor(A){super(A);const{dict:e,xref:t}=A;this.data.annotationType=8,this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1,this.data.vertices=null,this instanceof td||(this.setLineEndings(e.getArray(\\\"LE\\\")),this.data.lineEndings=this.lineEndings);const i=e.getArray(\\\"Vertices\\\");if(!vA(i,null))return;const a=this.data.vertices=Float32Array.from(i);if(!this.appearance){const A=this.color?Ju(this.color):[0,0,0],i=e.get(\\\"CA\\\"),s=this.borderStyle.width||1,n=2*s,r=[1/0,1/0,-1/0,-1/0];for(let A=0,e=a.length;A{for(let e=0,t=a.length;e{for(const e of this.data.inkLists){for(let t=0,i=e.length;tA.points))),c.set(\\\"F\\\",4),c.set(\\\"Rotate\\\",o),r&&c.set(\\\"IT\\\",hA.get(\\\"InkHighlight\\\"));const C=new QA(e);c.set(\\\"BS\\\",C),C.set(\\\"W\\\",I),c.set(\\\"C\\\",Array.from(a,(A=>A/255))),c.set(\\\"CA\\\",s);const h=new QA(e);return c.set(\\\"AP\\\",h),t?h.set(\\\"N\\\",t):h.set(\\\"N\\\",i),c}static async createNewAppearanceStream(A,e,t){if(A.outlines)return this.createNewAppearanceStreamForHighlight(A,e,t);const{color:i,rect:a,paths:s,thickness:n,opacity:r}=A,g=[`${n} w 1 J 1 j`,`${Eg(i,!1)}`];1!==r&&g.push(\\\"/R0 gs\\\");const o=[];for(const{bezier:A}of s){if(o.length=0,o.push(`${ee(A[0])} ${ee(A[1])} m`),2===A.length)o.push(`${ee(A[0])} ${ee(A[1])} l S`);else{for(let e=2,t=A.length;e(A.push(`${e[0]} ${e[1]} m`,`${e[2]} ${e[3]} l`,`${e[6]} ${e[7]} l`,`${e[4]} ${e[5]} l`,\\\"f\\\"),[e[0],e[2],e[7],e[3]])})}}else this.data.popupRef=null}static createNewDict(A,e,{apRef:t,ap:i}){const{color:a,opacity:s,rect:n,rotation:r,user:g,quadPoints:o}=A,I=new QA(e);if(I.set(\\\"Type\\\",hA.get(\\\"Annot\\\")),I.set(\\\"Subtype\\\",hA.get(\\\"Highlight\\\")),I.set(\\\"CreationDate\\\",`D:${sA()}`),I.set(\\\"Rect\\\",n),I.set(\\\"F\\\",4),I.set(\\\"Border\\\",[0,0,0]),I.set(\\\"Rotate\\\",r),I.set(\\\"QuadPoints\\\",o),I.set(\\\"C\\\",Array.from(a,(A=>A/255))),I.set(\\\"CA\\\",s),g&&I.set(\\\"T\\\",ie(g)),t||i){const A=new QA(e);I.set(\\\"AP\\\",A),A.set(\\\"N\\\",t||i)}return I}static async createNewAppearanceStream(A,e,t){const{color:i,rect:a,outlines:s,opacity:n}=A,r=[`${Eg(i,!0)}`,\\\"/R0 gs\\\"],g=[];for(const A of s){g.length=0,g.push(`${ee(A[0])} ${ee(A[1])} m`);for(let e=2,t=A.length;e(A.push(`${e[4]} ${e[5]+1.3} m`,`${e[6]} ${e[7]+1.3} l`,\\\"S\\\"),[e[0],e[2],e[7],e[3]])})}}else this.data.popupRef=null}}class rd extends qu{constructor(A){super(A);const{dict:e,xref:t}=A;if(this.data.annotationType=11,this.data.quadPoints=Hu(e,null)){if(!this.appearance){const A=this.color?Ju(this.color):[0,0,0],i=e.get(\\\"CA\\\");this._setDefaultAppearance({xref:t,extra:\\\"[] 0 d 1 w\\\",strokeColor:A,strokeAlpha:i,pointsCallback:(A,e)=>{const t=(e[1]-e[5])/6;let i=t,a=e[4];const s=e[5],n=e[6];A.push(`${a} ${s+i} m`);do{a+=2,i=0===i?t:0,A.push(`${a} ${s+i} l`)}while(a(A.push((e[0]+e[4])/2+\\\" \\\"+(e[1]+e[5])/2+\\\" m\\\",(e[2]+e[6])/2+\\\" \\\"+(e[3]+e[7])/2+\\\" l\\\",\\\"S\\\"),[e[0],e[2],e[7],e[3]])})}}else this.data.popupRef=null}}class od extends qu{constructor(A){super(A),this.data.annotationType=13,this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1}static async createImage(A,e){const{width:t,height:i}=A,a=new OffscreenCanvas(t,i),s=a.getContext(\\\"2d\\\",{alpha:!0});s.drawImage(A,0,0);const n=s.getImageData(0,0,t,i).data,r=new Uint32Array(n.buffer),g=r.some(z.isLittleEndian?A=>A>>>24!=255:A=>255!=(255&A));g&&(s.fillStyle=\\\"white\\\",s.fillRect(0,0,t,i),s.drawImage(A,0,0));const o=a.convertToBlob({type:\\\"image/jpeg\\\",quality:1}).then((A=>A.arrayBuffer())),I=hA.get(\\\"XObject\\\"),c=hA.get(\\\"Image\\\"),C=new QA(e);C.set(\\\"Type\\\",I),C.set(\\\"Subtype\\\",c),C.set(\\\"BitsPerComponent\\\",8),C.set(\\\"ColorSpace\\\",hA.get(\\\"DeviceRGB\\\")),C.set(\\\"Filter\\\",hA.get(\\\"DCTDecode\\\")),C.set(\\\"BBox\\\",[0,0,t,i]),C.set(\\\"Width\\\",t),C.set(\\\"Height\\\",i);let h=null;if(g){const A=new Uint8Array(r.length);if(z.isLittleEndian)for(let e=0,t=r.length;e>>24;else for(let e=0,t=r.length;e=0&&s<=1?s:null}}function cd(A){try{return tA(A)}catch(e){return U(`UTF-8 decoding failed: \\\"${e}\\\".`),A}}class Cd extends Fg{constructor(A){super(A),this.node=null}onEndElement(A){const e=super.onEndElement(A);if(e&&\\\"xfa:datasets\\\"===A)throw this.node=e,new Error(\\\"Aborting DatasetXMLParser.\\\")}}class hd{constructor(A){if(A.datasets)this.node=new Fg({hasAttributes:!0}).parseFromString(A.datasets).documentElement;else{const e=new Cd({hasAttributes:!0});try{e.parseFromString(A[\\\"xdp:xdp\\\"])}catch{}this.node=e.node}}getValue(A){if(!this.node||!A)return\\\"\\\";const e=this.node.searchNode(PA(A),0);if(!e)return\\\"\\\";return\\\"value\\\"===e.firstChild?.nodeName?e.children.map((A=>cd(A.textContent))):cd(e.textContent)}}class Bd{#K=null;constructor(A,e){this.stream=A,this.pdfManager=e,this.entries=[],this._xrefStms=new Set,this._cacheMap=new Map,this._pendingRefs=new uA,this._newPersistentRefNum=null,this._newTemporaryRefNum=null,this._persistentRefsCache=null}getNewPersistentRef(A){null===this._newPersistentRefNum&&(this._newPersistentRefNum=this.entries.length||1);const e=this._newPersistentRefNum++;return this._cacheMap.set(e,A),EA.get(e,0)}getNewTemporaryRef(){if(null===this._newTemporaryRefNum&&(this._newTemporaryRefNum=this.entries.length||1,this._newPersistentRefNum)){this._persistentRefsCache=new Map;for(let A=this._newTemporaryRefNum;A0;){const[n,r]=s;if(!Number.isInteger(n)||!Number.isInteger(r))throw new W(`Invalid XRef range fields: ${n}, ${r}`);if(!Number.isInteger(t)||!Number.isInteger(i)||!Number.isInteger(a))throw new W(`Invalid XRef entry fields length: ${n}, ${r}`);for(let s=e.entryNum;s=A.length);)t+=String.fromCharCode(i),i=A[e];return t}function e(A,e,t){const i=t.length,a=A.length;let s=0;for(;e=i)break;e++,s++}return s}const t=/\\\\\\\\b(endobj|\\\\\\\\d+\\\\\\\\s+\\\\\\\\d+\\\\\\\\s+obj|xref|trailer\\\\\\\\s*<<)\\\\\\\\b/g,i=/\\\\\\\\b(startxref|\\\\\\\\d+\\\\\\\\s+\\\\\\\\d+\\\\\\\\s+obj)\\\\\\\\b/g,a=/^(\\\\\\\\d+)\\\\\\\\s+(\\\\\\\\d+)\\\\\\\\s+obj\\\\\\\\b/,s=new Uint8Array([116,114,97,105,108,101,114]),n=new Uint8Array([115,116,97,114,116,120,114,101,102]),r=new Uint8Array([47,88,82,101,102]);this.entries.length=0,this._cacheMap.clear();const g=this.stream;g.pos=0;const o=g.getBytes(),I=Z(o),c=o.length;let C=g.start;const h=[],B=[];for(;C=c)break;l=o[C]}while(10!==l&&13!==l);continue}const Q=A(o,C);let E;if(Q.startsWith(\\\"xref\\\")&&(4===Q.length||/\\\\\\\\s/.test(Q[4])))C+=e(o,C,s),h.push(C),C+=e(o,C,n);else if(E=a.exec(Q)){const A=0|E[1],i=0|E[2],a=C+Q.length;let s,n=!1;if(this.entries[A]){if(this.entries[A].gen===i)try{new ni({lexer:new oi(g.makeSubStream(a))}).getObj(),n=!0}catch(t){t instanceof FA?U(`indexObjects -- checking object (${Q}): \\\"${t}\\\".`):n=!0}}else n=!0;n&&(this.entries[A]={offset:C-g.start,gen:i,uncompressed:!0}),t.lastIndex=a;const h=t.exec(I);h?(s=t.lastIndex+1-C,\\\"endobj\\\"!==h[1]&&(U(`indexObjects: Found \\\"${h[1]}\\\" inside of another \\\"obj\\\", caused by missing \\\"endobj\\\" -- trying to recover.`),s-=h[1].length+1)):s=c-C;const l=o.subarray(C,C+s),u=e(l,0,r);u0?Math.max(...this._xrefStms):null)}getEntry(A){const e=this.entries[A];return e&&!e.free&&e.offset?e:null}fetchIfRef(A,e=!1){return A instanceof EA?this.fetch(A,e):A}fetch(A,e=!1){if(!(A instanceof EA))throw new Error(\\\"ref object is not a reference\\\");const t=A.num,i=this._cacheMap.get(t);if(void 0!==i)return i instanceof QA&&!i.objId&&(i.objId=A.toString()),i;let a=this.getEntry(t);if(null===a)return this._cacheMap.set(t,a),a;if(this._pendingRefs.has(A))return this._pendingRefs.remove(A),U(`Ignoring circular reference: ${A}.`),gA;this._pendingRefs.put(A);try{a=a.uncompressed?this.fetchUncompressed(A,a,e):this.fetchCompressed(A,a,e),this._pendingRefs.remove(A)}catch(e){throw this._pendingRefs.remove(A),e}return a instanceof QA?a.objId=A.toString():a instanceof wA&&(a.dict.objId=A.toString()),a}fetchUncompressed(A,e,t=!1){const i=A.gen;let a=A.num;if(e.gen!==i){const s=`Inconsistent generation in XRef: ${A}`;if(this._generationFallback&&e.gen0&&e[3]-e[1]>0)return e;U(`Empty, or invalid, /${A} entry.`)}return null}get mediaBox(){return H(this,\\\"mediaBox\\\",this._getBoundingBox(\\\"MediaBox\\\")||ld)}get cropBox(){return H(this,\\\"cropBox\\\",this._getBoundingBox(\\\"CropBox\\\")||this.mediaBox)}get userUnit(){let A=this.pageDict.get(\\\"UserUnit\\\");return(\\\"number\\\"!=typeof A||A<=0)&&(A=1),H(this,\\\"userUnit\\\",A)}get view(){const{cropBox:A,mediaBox:e}=this;if(A!==e&&!aA(A,e)){const t=$.intersect(A,e);if(t&&t[2]-t[0]>0&&t[3]-t[1]>0)return H(this,\\\"view\\\",t);U(\\\"Empty /CropBox and /MediaBox intersection.\\\")}return H(this,\\\"view\\\",e)}get rotate(){let A=this._getInheritableProperty(\\\"Rotate\\\")||0;return A%90!=0?A=0:A>=360?A%=360:A<0&&(A=(A%360+360)%360),H(this,\\\"rotate\\\",A)}_onSubStreamError(A,e){if(!this.evaluatorOptions.ignoreErrors)throw A;U(`getContentStream - ignoring sub-stream (${e}): \\\"${A}\\\".`)}getContentStream(){return this.pdfManager.ensure(this,\\\"content\\\").then((A=>A instanceof wA?A:Array.isArray(A)?new xe(A,this._onSubStreamError.bind(this)):new Ie))}get xfaData(){return H(this,\\\"xfaData\\\",this.xfaFactory?{bbox:this.xfaFactory.getBoundingBox(this.pageIndex)}:null)}#q(A,e,t){for(const i of A)if(i.id){const A=EA.fromString(i.id);if(!A){U(`A non-linked annotation cannot be modified: ${i.id}`);continue}if(i.deleted){e.put(A,A);continue}t?.put(A),i.ref=A,delete i.id}}async saveNewAnnotations(A,e,t,i){if(this.xfaFactory)throw new Error(\\\"XFA: Cannot save new annotations.\\\");const a=new gg({xref:this.xref,handler:A,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}),s=new dA,n=new uA;this.#q(t,s,n);const r=this.pageDict,g=this.annotations.filter((A=>!(A instanceof EA&&s.has(A)))),o=await Mu.saveNewAnnotations(a,e,t,i);for(const{ref:A}of o.annotations)A instanceof EA&&!n.has(A)&&g.push(A);const I=r.get(\\\"Annots\\\");r.set(\\\"Annots\\\",g);const c=[];await Pg(this.ref,r,c,this.xref),I&&r.set(\\\"Annots\\\",I);const C=o.dependencies;C.push({ref:this.ref,data:c.join(\\\"\\\")},...o.annotations);for(const A of s)C.push({ref:A,data:null});return C}save(A,e,t){const i=new gg({xref:this.xref,handler:A,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions});return this._parsedAnnotations.then((function(A){const a=[];for(const s of A)s.mustBePrinted(t)&&a.push(s.save(i,e,t).catch((function(A){return U(`save - ignoring annotation data during \\\"${e.name}\\\" task: \\\"${A}\\\".`),null})));return Promise.all(a).then((function(A){return A.filter((A=>!!A))}))}))}loadResources(A){return this.resourcesPromise||=this.pdfManager.ensure(this,\\\"resources\\\"),this.resourcesPromise.then((()=>new oo(this.resources,A,this.xref).load()))}getOperatorList({handler:A,sink:e,task:t,intent:i,cacheKey:a,annotationStorage:s=null,modifiedIds:n=null}){const r=this.getContentStream(),g=this.loadResources([\\\"ColorSpace\\\",\\\"ExtGState\\\",\\\"Font\\\",\\\"Pattern\\\",\\\"Properties\\\",\\\"Shading\\\",\\\"XObject\\\"]),I=new gg({xref:this.xref,handler:A,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}),c=(this.xfaFactory?null:te(s))?.get(this.pageIndex);let C=Promise.resolve(null),h=null;if(c){const A=this.pdfManager.ensureDoc(\\\"annotationGlobals\\\");let e;const i=new Set;for(const{bitmapId:A,bitmap:e}of c)!A||e||i.has(A)||i.add(A);const{isOffscreenCanvasSupported:a}=this.evaluatorOptions;if(i.size>0){const A=c.slice();for(const[e,t]of s)e.startsWith(o)&&t.bitmap&&i.has(t.bitmapId)&&A.push(t);e=Mu.generateImages(A,this.xref,a)}else e=Mu.generateImages(c,this.xref,a);h=new uA,this.#q(c,h,null),C=A.then((A=>A?Mu.printNewAnnotations(A,I,t,c,e):null))}const B=Promise.all([r,g]).then((([s])=>{const n=new $r(i,e);return A.send(\\\"StartRenderPage\\\",{transparency:I.hasBlendModes(this.resources,this.nonBlendModesSet),pageIndex:this.pageIndex,cacheKey:a}),I.getOperatorList({stream:s,task:t,resources:this.resources,operatorList:n}).then((function(){return n}))}));return Promise.all([B,this._parsedAnnotations,C]).then((function([A,e,a]){if(a){e=e.filter((A=>!(A.ref&&h.has(A.ref))));for(let A=0,t=a.length;AA.ref&&yA(A.ref,i.refToReplace)));s>=0&&(e.splice(s,1,i),a.splice(A--,1),t--)}}e=e.concat(a)}if(0===e.length||64&i)return A.flush(!0),{length:A.totalLength};const r=!!(16&i),g=!!(128&i),o=!!(1&i),c=!!(2&i),C=!!(4&i),B=[];for(const A of e)(o||c&&A.mustBeViewed(s,r)&&A.mustBeViewedWhenEditing(g,n)||C&&A.mustBePrinted(s))&&B.push(A.getOperatorList(I,t,i,s).catch((function(A){return U(`getOperatorList - ignoring annotation data during \\\"${t.name}\\\" task: \\\"${A}\\\".`),{opList:null,separateForm:!1,separateCanvas:!1}})));return Promise.all(B).then((function(e){let t=!1,i=!1;for(const{opList:a,separateForm:s,separateCanvas:n}of e)A.addOpList(a),t||=s,i||=n;return A.flush(!0,{form:t,canvas:i}),{length:A.totalLength}}))}))}async extractTextContent({handler:A,task:e,includeMarkedContent:t,disableNormalization:i,sink:a}){const s=this.getContentStream(),n=this.loadResources([\\\"ExtGState\\\",\\\"Font\\\",\\\"Properties\\\",\\\"XObject\\\"]),r=this.pdfManager.ensureCatalog(\\\"lang\\\"),[g,,o]=await Promise.all([s,n,r]);return new gg({xref:this.xref,handler:A,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}).getTextContent({stream:g,task:e,resources:this.resources,includeMarkedContent:t,disableNormalization:i,sink:a,viewBox:this.view,lang:o})}async getStructTree(){const A=await this.pdfManager.ensureCatalog(\\\"structTreeRoot\\\");return A?(await this._parsedAnnotations,(await this.pdfManager.ensure(this,\\\"_parseStructTree\\\",[A])).serializable):null}_parseStructTree(A){const e=new io(A,this.pageDict);return e.parse(this.ref),e}async getAnnotationsData(A,e,t){const i=await this._parsedAnnotations;if(0===i.length)return i;const a=[],s=[];let n;const r=!!(1&t),g=!!(2&t),o=!!(4&t);for(const t of i){const i=r||g&&t.viewable;(i||o&&t.printable)&&a.push(t.data),t.hasTextContent&&i&&(n||=new gg({xref:this.xref,handler:A,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}),s.push(t.extractTextContent(n,e,[-1/0,-1/0,1/0,1/0]).catch((function(A){U(`getAnnotationsData - ignoring textContent during \\\"${e.name}\\\" task: \\\"${A}\\\".`)}))))}return await Promise.all(s),a}get annotations(){const A=this._getInheritableProperty(\\\"Annots\\\");return H(this,\\\"annotations\\\",Array.isArray(A)?A:[])}get _parsedAnnotations(){return H(this,\\\"_parsedAnnotations\\\",this.pdfManager.ensure(this,\\\"annotations\\\").then((async A=>{if(0===A.length)return A;const e=await this.pdfManager.ensureDoc(\\\"annotationGlobals\\\");if(!e)return[];const t=[];for(const i of A)t.push(Mu.create(this.xref,i,e,this._localIdFactory,!1,this.ref).catch((function(A){return U(`_parsedAnnotations: \\\"${A}\\\".`),null})));const i=[];let a,s;for(const A of await Promise.all(t))A&&(A instanceof Tu?(s||=[]).push(A):A instanceof Vu?(a||=[]).push(A):i.push(A));return s&&i.push(...s),a&&i.push(...a),i})))}get jsActions(){return H(this,\\\"jsActions\\\",jA(this.xref,this.pageDict,Q))}}const Ed=new Uint8Array([37,80,68,70,45]),ud=new Uint8Array([115,116,97,114,116,120,114,101,102]),dd=new Uint8Array([101,110,100,111,98,106]);function fd(A,e,t=1024,i=!1){const a=e.length,s=A.peekBytes(t),n=s.length-a;if(n<=0)return!1;if(i){const t=a-1;let i=s.length-1;for(;i>=t;){let n=0;for(;n=a)return A.pos+=i-t,!0;i--}}else{let t=0;for(;t<=n;){let i=0;for(;i=a)return A.pos+=t,!0;t++}}return!1}class pd{constructor(A,e){if(e.length<=0)throw new q(\\\"The PDF file is empty, i.e. its size is zero bytes.\\\");this.pdfManager=A,this.stream=e,this.xref=new Bd(e,A),this._pagePromises=new Map,this._version=null;const t={font:0};this._globalIdFactory=class{static getDocId(){return`g_${A.docId}`}static createFontId(){return\\\"f\\\"+ ++t.font}static createObjId(){M(\\\"Abstract method `createObjId` called.\\\")}static getPageObjId(){M(\\\"Abstract method `getPageObjId` called.\\\")}}}parse(A){this.xref.parse(A),this.catalog=new ro(this.pdfManager,this.xref)}get linearization(){let A=null;try{A=class{static create(A){function e(A,e,t=!1){const i=A.get(e);if(Number.isInteger(i)&&(t?i>=0:i>0))return i;throw new Error(`The \\\"${e}\\\" parameter in the linearization dictionary is invalid.`)}const t=new ni({lexer:new oi(A),xref:null}),i=t.getObj(),a=t.getObj(),s=t.getObj(),n=t.getObj();let r,g;if(!(Number.isInteger(i)&&Number.isInteger(a)&&pA(s,\\\"obj\\\")&&n instanceof QA&&\\\"number\\\"==typeof(r=n.get(\\\"Linearized\\\"))&&r>0))return null;if((g=e(n,\\\"L\\\"))!==A.length)throw new Error(\\\\'The \\\"L\\\" parameter in the linearization dictionary does not equal the stream length.\\\\');return{length:g,hints:function(A){const e=A.get(\\\"H\\\");let t;if(Array.isArray(e)&&(2===(t=e.length)||4===t)){for(let A=0;A0))throw new Error(`Hint (${A}) in the linearization dictionary is invalid.`)}return e}throw new Error(\\\"Hint array in the linearization dictionary is invalid.\\\")}(n),objectNumberFirst:e(n,\\\"O\\\"),endFirst:e(n,\\\"E\\\"),numPages:e(n,\\\"N\\\"),mainXRefEntriesOffset:e(n,\\\"T\\\"),pageFirst:n.has(\\\"P\\\")?e(n,\\\"P\\\",!0):0}}}.create(this.stream)}catch(A){if(A instanceof kA)throw A;x(A)}return H(this,\\\"linearization\\\",A)}get startXRef(){const A=this.stream;let e=0;if(this.linearization){if(A.reset(),fd(A,dd)){A.skip(6);let t=A.peekByte();for(;YA(t);)A.pos++,t=A.peekByte();e=A.pos-A.start}}else{const t=1024,i=ud.length;let a=!1,s=A.end;for(;!a&&s>0;)s-=t-i,s<0&&(s=0),A.pos=s,a=fd(A,ud,t,!0);if(a){let t;A.skip(9);do{t=A.getByte()}while(YA(t));let i=\\\"\\\";for(;t>=32&&t<=57;)i+=String.fromCharCode(t),t=A.getByte();e=parseInt(i,10),isNaN(e)&&(e=0)}}return H(this,\\\"startXRef\\\",e)}checkHeader(){const A=this.stream;if(A.reset(),!fd(A,Ed))return;A.moveStart(),A.skip(Ed.length);let e,t=\\\"\\\";for(;(e=A.getByte())>32&&t.length<7;)t+=String.fromCharCode(e);DA.test(t)?this._version=t:U(`Invalid PDF header version: ${t}`)}parseStartXRef(){this.xref.setStartXRef(this.startXRef)}get numPages(){let A=0;return A=this.catalog.hasActualNumPages?this.catalog.numPages:this.xfaFactory?this.xfaFactory.getNumPages():this.linearization?this.linearization.numPages:this.catalog.numPages,H(this,\\\"numPages\\\",A)}_hasOnlyDocumentSignatures(A,e=0){return!!Array.isArray(A)&&A.every((A=>{if(!((A=this.xref.fetchIfRef(A))instanceof QA))return!1;if(A.has(\\\"Kids\\\"))return++e>10?(U(\\\"_hasOnlyDocumentSignatures: maximum recursion depth reached\\\"),!1):this._hasOnlyDocumentSignatures(A.get(\\\"Kids\\\"),e);const t=fA(A.get(\\\"FT\\\"),\\\"Sig\\\"),i=A.get(\\\"Rect\\\"),a=Array.isArray(i)&&i.every((A=>0===A));return t&&a}))}get _xfaStreams(){const A=this.catalog.acroForm;if(!A)return null;const e=A.get(\\\"XFA\\\"),t={\\\"xdp:xdp\\\":\\\"\\\",template:\\\"\\\",datasets:\\\"\\\",config:\\\"\\\",connectionSet:\\\"\\\",localeSet:\\\"\\\",stylesheet:\\\"\\\",\\\"/xdp:xdp\\\":\\\"\\\"};if(e instanceof wA&&!e.isEmpty)return t[\\\"xdp:xdp\\\"]=e,t;if(!Array.isArray(e)||0===e.length)return null;for(let A=0,i=e.length;A{c.set(A,e)}));const C=[];for(const[A,t]of c){const a=t.get(\\\"FontDescriptor\\\");if(!(a instanceof QA))continue;let s=a.get(\\\"FontFamily\\\");s=s.replaceAll(/[ ]+(\\\\\\\\d)/g,\\\"$1\\\");const n={fontFamily:s,fontWeight:a.get(\\\"FontWeight\\\"),italicAngle:-a.get(\\\"ItalicAngle\\\")};$A(n)&&C.push(r.handleSetFont(i,[hA.get(A),1],null,g,e,I,null,n).catch((function(A){return U(`loadXfaFonts: \\\"${A}\\\".`),null})))}await Promise.all(C);const h=this.xfaFactory.setFonts(o);if(!h)return;n.ignoreErrors=!0,C.length=0,o.length=0;const B=new Set;for(const A of h)Wn(`${A}-Regular`)||B.add(A);B.size&&h.push(\\\"PdfJS-Fallback\\\");for(const A of h)if(!B.has(A))for(const t of[{name:\\\"Regular\\\",fontWeight:400,italicAngle:0},{name:\\\"Bold\\\",fontWeight:700,italicAngle:0},{name:\\\"Italic\\\",fontWeight:400,italicAngle:12},{name:\\\"BoldItalic\\\",fontWeight:700,italicAngle:12}]){const a=`${A}-${t.name}`,s=On(a);C.push(r.handleSetFont(i,[hA.get(a),1],null,g,e,I,s,{fontFamily:A,fontWeight:t.fontWeight,italicAngle:t.italicAngle}).catch((function(A){return U(`loadXfaFonts: \\\"${A}\\\".`),null})))}await Promise.all(C),this.xfaFactory.appendFonts(o,B)}async serializeXfaData(A){return this.xfaFactory?this.xfaFactory.serializeData(A):null}get version(){return this.catalog.version||this._version}get formInfo(){const A={hasFields:!1,hasAcroForm:!1,hasXfa:!1,hasSignatures:!1},e=this.catalog.acroForm;if(!e)return H(this,\\\"formInfo\\\",A);try{const t=e.get(\\\"Fields\\\"),i=Array.isArray(t)&&t.length>0;A.hasFields=i;const a=e.get(\\\"XFA\\\");A.hasXfa=Array.isArray(a)&&a.length>0||a instanceof wA&&!a.isEmpty;const s=!!(1&e.get(\\\"SigFlags\\\")),n=s&&this._hasOnlyDocumentSignatures(t);A.hasAcroForm=i&&!n,A.hasSignatures=s}catch(A){if(A instanceof kA)throw A;U(`Cannot fetch form information: \\\"${A}\\\".`)}return H(this,\\\"formInfo\\\",A)}get documentInfo(){const A={PDFFormatVersion:this.version,Language:this.catalog.lang,EncryptFilterName:this.xref.encrypt?this.xref.encrypt.filterName:null,IsLinearized:!!this.linearization,IsAcroFormPresent:this.formInfo.hasAcroForm,IsXFAPresent:this.formInfo.hasXfa,IsCollectionPresent:!!this.catalog.collection,IsSignaturesPresent:this.formInfo.hasSignatures};let e;try{e=this.xref.trailer.get(\\\"Info\\\")}catch(A){if(A instanceof kA)throw A;x(\\\"The document information dictionary is invalid.\\\")}if(!(e instanceof QA))return H(this,\\\"documentInfo\\\",A);for(const t of e.getKeys()){const i=e.get(t);switch(t){case\\\"Title\\\":case\\\"Author\\\":case\\\"Subject\\\":case\\\"Keywords\\\":case\\\"Creator\\\":case\\\"Producer\\\":case\\\"CreationDate\\\":case\\\"ModDate\\\":if(\\\"string\\\"==typeof i){A[t]=eA(i);continue}break;case\\\"Trapped\\\":if(i instanceof hA){A[t]=i;continue}break;default:let e;switch(typeof i){case\\\"string\\\":e=eA(i);break;case\\\"number\\\":case\\\"boolean\\\":e=i;break;default:i instanceof hA&&(e=i)}if(void 0===e){U(`Bad value, for custom key \\\"${t}\\\", in Info: ${i}.`);continue}A.Custom||(A.Custom=Object.create(null)),A.Custom[t]=e;continue}U(`Bad value, for key \\\"${t}\\\", in Info: ${i}.`)}return H(this,\\\"documentInfo\\\",A)}get fingerprints(){function A(A){return\\\"string\\\"==typeof A&&A.length>0&&\\\"\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\\\\\\0\\\"!==A}function e(A){const e=[];for(const t of A){const A=t.toString(16);e.push(A.padStart(2,\\\"0\\\"))}return e.join(\\\"\\\")}const t=this.xref.trailer.get(\\\"ID\\\");let i,a;return Array.isArray(t)&&A(t[0])?(i=j(t[0]),t[1]!==t[0]&&A(t[1])&&(a=j(t[1]))):i=Ng(this.stream.getByteRange(0,1024),0,1024),H(this,\\\"fingerprints\\\",[e(i),a?e(a):null])}async _getLinearizationPage(A){const{catalog:e,linearization:t,xref:i}=this,a=EA.get(t.objectNumberFirst,0);try{const A=await i.fetchAsync(a);if(A instanceof QA){let t=A.getRaw(\\\"Type\\\");if(t instanceof EA&&(t=await i.fetchAsync(t)),fA(t,\\\"Page\\\")||!A.has(\\\"Type\\\")&&!A.has(\\\"Kids\\\")&&A.has(\\\"Contents\\\"))return e.pageKidsCountCache.has(a)||e.pageKidsCountCache.put(a,1),e.pageIndexCache.has(a)||e.pageIndexCache.put(a,0),[A,a]}throw new W(\\\"The Linearization dictionary doesn\\\\'t point to a valid Page dictionary.\\\")}catch(t){return U(`_getLinearizationPage: \\\"${t.message}\\\".`),e.getPageDict(A)}}getPage(A){const e=this._pagePromises.get(A);if(e)return e;const{catalog:t,linearization:i,xfaFactory:a}=this;let s;return s=a?Promise.resolve([QA.empty,null]):i?.pageFirst===A?this._getLinearizationPage(A):t.getPageDict(A),s=s.then((([e,i])=>new Qd({pdfManager:this.pdfManager,xref:this.xref,pageIndex:A,pageDict:e,ref:i,globalIdFactory:this._globalIdFactory,fontCache:t.fontCache,builtInCMapCache:t.builtInCMapCache,standardFontDataCache:t.standardFontDataCache,globalImageCache:t.globalImageCache,systemFontCache:t.systemFontCache,nonBlendModesSet:t.nonBlendModesSet,xfaFactory:a}))),this._pagePromises.set(A,s),s}async checkFirstPage(A=!1){if(!A)try{await this.getPage(0)}catch(A){if(A instanceof SA)throw this._pagePromises.delete(0),await this.cleanup(),new RA}}async checkLastPage(A=!1){const{catalog:e,pdfManager:t}=this;let i;e.setActualNumPages();try{if(await Promise.all([t.ensureDoc(\\\"xfaFactory\\\"),t.ensureDoc(\\\"linearization\\\"),t.ensureCatalog(\\\"numPages\\\")]),this.xfaFactory)return;if(i=this.linearization?this.linearization.numPages:e.numPages,!Number.isInteger(i))throw new W(\\\"Page count is not an integer.\\\");if(i<=1)return;await this.getPage(i-1)}catch(a){if(this._pagePromises.delete(i-1),await this.cleanup(),a instanceof SA&&!A)throw new RA;let s;U(`checkLastPage - invalid /Pages tree /Count: ${i}.`);try{s=await e.getAllPageDicts(A)}catch(t){if(t instanceof SA&&!A)throw new RA;return void e.setActualNumPages(1)}for(const[A,[i,a]]of s){let s;i instanceof Error?(s=Promise.reject(i),s.catch((()=>{}))):s=Promise.resolve(new Qd({pdfManager:t,xref:this.xref,pageIndex:A,pageDict:i,ref:a,globalIdFactory:this._globalIdFactory,fontCache:e.fontCache,builtInCMapCache:e.builtInCMapCache,standardFontDataCache:e.standardFontDataCache,globalImageCache:e.globalImageCache,systemFontCache:e.systemFontCache,nonBlendModesSet:e.nonBlendModesSet,xfaFactory:null})),this._pagePromises.set(A,s)}e.setActualNumPages(s.size)}}fontFallback(A,e){return this.catalog.fontFallback(A,e)}async cleanup(A=!1){return this.catalog?this.catalog.cleanup(A):mg()}async#T(A,e,t,i,a){const{xref:s}=this;if(!(e instanceof EA)||a.has(e))return;a.put(e);const n=await s.fetchAsync(e);if(!(n instanceof QA))return;if(n.has(\\\"T\\\")){const e=eA(await n.getAsync(\\\"T\\\"));A=\\\"\\\"===A?e:`${A}.${e}`}else{let e=n;for(;;){if(e=e.getRaw(\\\"Parent\\\"),e instanceof EA){if(a.has(e))break;e=await s.fetchAsync(e)}if(!(e instanceof QA))break;if(e.has(\\\"T\\\")){const t=eA(await e.getAsync(\\\"T\\\"));A=\\\"\\\"===A?t:`${A}.${t}`;break}}}if(t.has(A)||t.set(A,[]),t.get(A).push(Mu.create(s,e,i,null,!0,null).then((A=>A?.getFieldObject())).catch((function(A){return U(`#collectFieldObjects: \\\"${A}\\\".`),null}))),!n.has(\\\"Kids\\\"))return;const r=await n.getAsync(\\\"Kids\\\");if(Array.isArray(r))for(const e of r)await this.#T(A,e,t,i,a)}get fieldObjects(){return this.formInfo.hasFields?H(this,\\\"fieldObjects\\\",Promise.all([this.pdfManager.ensureDoc(\\\"annotationGlobals\\\"),this.pdfManager.ensureCatalog(\\\"acroForm\\\")]).then((async([A,e])=>{if(!A)return null;const t=new uA,i=Object.create(null),a=new Map;for(const i of await e.getAsync(\\\"Fields\\\"))await this.#T(\\\"\\\",i,a,A,t);const s=[];for(const[A,e]of a)s.push(Promise.all(e).then((e=>{(e=e.filter((A=>!!A))).length>0&&(i[A]=e)})));return await Promise.all(s),i}))):H(this,\\\"fieldObjects\\\",Promise.resolve(null))}get hasJSActions(){return H(this,\\\"hasJSActions\\\",this.pdfManager.ensureDoc(\\\"_parseHasJSActions\\\"))}async _parseHasJSActions(){const[A,e]=await Promise.all([this.pdfManager.ensureCatalog(\\\"jsActions\\\"),this.pdfManager.ensureDoc(\\\"fieldObjects\\\")]);return!!A||!!e&&Object.values(e).some((A=>A.some((A=>null!==A.actions))))}get calculationOrderIds(){const A=this.catalog.acroForm;if(!A?.has(\\\"CO\\\"))return H(this,\\\"calculationOrderIds\\\",null);const e=A.get(\\\"CO\\\");if(!Array.isArray(e)||0===e.length)return H(this,\\\"calculationOrderIds\\\",null);const t=[];for(const A of e)A instanceof EA&&t.push(A.toString());return 0===t.length?H(this,\\\"calculationOrderIds\\\",null):H(this,\\\"calculationOrderIds\\\",t)}get annotationGlobals(){return H(this,\\\"annotationGlobals\\\",Mu.createGlobals(this.pdfManager))}}class md{constructor(A){this.constructor===md&&M(\\\"Cannot initialize BasePdfManager.\\\"),this._docBaseUrl=function(A){if(A){const e=J(A);if(e)return e.href;U(`Invalid absolute docBaseUrl: \\\"${A}\\\".`)}return null}(A.docBaseUrl),this._docId=A.docId,this._password=A.password,this.enableXfa=A.enableXfa,A.evaluatorOptions.isOffscreenCanvasSupported&&=z.isOffscreenCanvasSupported,this.evaluatorOptions=Object.freeze(A.evaluatorOptions)}get docId(){return this._docId}get password(){return this._password}get docBaseUrl(){return this._docBaseUrl}get catalog(){return this.pdfDocument.catalog}ensureDoc(A,e){return this.ensure(this.pdfDocument,A,e)}ensureXRef(A,e){return this.ensure(this.pdfDocument.xref,A,e)}ensureCatalog(A,e){return this.ensure(this.pdfDocument.catalog,A,e)}getPage(A){return this.pdfDocument.getPage(A)}fontFallback(A,e){return this.pdfDocument.fontFallback(A,e)}loadXfaFonts(A,e){return this.pdfDocument.loadXfaFonts(A,e)}loadXfaImages(){return this.pdfDocument.loadXfaImages()}serializeXfaData(A){return this.pdfDocument.serializeXfaData(A)}cleanup(A=!1){return this.pdfDocument.cleanup(A)}async ensure(A,e,t){M(\\\"Abstract method `ensure` called\\\")}requestRange(A,e){M(\\\"Abstract method `requestRange` called\\\")}requestLoadedStream(A=!1){M(\\\"Abstract method `requestLoadedStream` called\\\")}sendProgressiveData(A){M(\\\"Abstract method `sendProgressiveData` called\\\")}updatePassword(A){this._password=A}terminate(A){M(\\\"Abstract method `terminate` called\\\")}}class yd extends md{constructor(A){super(A);const e=new ge(A.source);this.pdfDocument=new pd(this,e),this._loadedStreamPromise=Promise.resolve(e)}async ensure(A,e,t){const i=A[e];return\\\"function\\\"==typeof i?i.apply(A,t):i}requestRange(A,e){return Promise.resolve()}requestLoadedStream(A=!1){return this._loadedStreamPromise}terminate(A){}}class wd extends md{constructor(A){super(A),this.streamManager=new Ce(A.source,{msgHandler:A.handler,length:A.length,disableAutoFetch:A.disableAutoFetch,rangeChunkSize:A.rangeChunkSize}),this.pdfDocument=new pd(this,this.streamManager.getStream())}async ensure(A,e,t){try{const i=A[e];return\\\"function\\\"==typeof i?i.apply(A,t):i}catch(i){if(!(i instanceof kA))throw i;return await this.requestRange(i.begin,i.end),this.ensure(A,e,t)}}requestRange(A,e){return this.streamManager.requestRange(A,e)}requestLoadedStream(A=!1){return this.streamManager.requestAllChunks(A)}sendProgressiveData(A){this.streamManager.onReceiveData({chunk:A})}terminate(A){this.streamManager.abort(A)}}function Dd(A){switch(A instanceof Error||\\\"object\\\"==typeof A&&null!==A||M(\\\\'wrapReason: Expected \\\"reason\\\" to be a (possibly cloned) Error.\\\\'),A.name){case\\\"AbortException\\\":return new O(A.message);case\\\"MissingPDFException\\\":return new T(A.message);case\\\"PasswordException\\\":return new v(A.message,A.code);case\\\"UnexpectedResponseException\\\":return new P(A.message,A.status);case\\\"UnknownErrorException\\\":return new K(A.message,A.details);default:return new K(A.message,A.toString())}}class bd{constructor(A,e,t){this.sourceName=A,this.targetName=e,this.comObj=t,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),this._onComObjOnMessage=A=>{const e=A.data;if(e.targetName!==this.sourceName)return;if(e.stream)return void this.#P(e);if(e.callback){const A=e.callbackId,t=this.callbackCapabilities[A];if(!t)throw new Error(`Cannot resolve callback ${A}`);if(delete this.callbackCapabilities[A],1===e.callback)t.resolve(e.data);else{if(2!==e.callback)throw new Error(\\\"Unexpected callback case\\\");t.reject(Dd(e.reason))}return}const i=this.actionHandler[e.action];if(!i)throw new Error(`Unknown action from worker: ${e.action}`);if(e.callbackId){const A=this.sourceName,a=e.sourceName;new Promise((function(A){A(i(e.data))})).then((function(i){t.postMessage({sourceName:A,targetName:a,callback:1,callbackId:e.callbackId,data:i})}),(function(i){t.postMessage({sourceName:A,targetName:a,callback:2,callbackId:e.callbackId,reason:Dd(i)})}))}else e.streamId?this.#W(e):i(e.data)},t.addEventListener(\\\"message\\\",this._onComObjOnMessage)}on(A,e){const t=this.actionHandler;if(t[A])throw new Error(`There is already an actionName called \\\"${A}\\\"`);t[A]=e}send(A,e,t){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:A,data:e},t)}sendWithPromise(A,e,t){const i=this.callbackId++,a=Promise.withResolvers();this.callbackCapabilities[i]=a;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:A,callbackId:i,data:e},t)}catch(A){a.reject(A)}return a.promise}sendWithStream(A,e,t,i){const a=this.streamId++,s=this.sourceName,n=this.targetName,r=this.comObj;return new ReadableStream({start:t=>{const g=Promise.withResolvers();return this.streamControllers[a]={controller:t,startCall:g,pullCall:null,cancelCall:null,isClosed:!1},r.postMessage({sourceName:s,targetName:n,action:A,streamId:a,data:e,desiredSize:t.desiredSize},i),g.promise},pull:A=>{const e=Promise.withResolvers();return this.streamControllers[a].pullCall=e,r.postMessage({sourceName:s,targetName:n,stream:6,streamId:a,desiredSize:A.desiredSize}),e.promise},cancel:A=>{L(A instanceof Error,\\\"cancel must have a valid reason\\\");const e=Promise.withResolvers();return this.streamControllers[a].cancelCall=e,this.streamControllers[a].isClosed=!0,r.postMessage({sourceName:s,targetName:n,stream:1,streamId:a,reason:Dd(A)}),e.promise}},t)}#W(A){const e=A.streamId,t=this.sourceName,i=A.sourceName,a=this.comObj,s=this,n=this.actionHandler[A.action],r={enqueue(A,s=1,n){if(this.isCancelled)return;const r=this.desiredSize;this.desiredSize-=s,r>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),a.postMessage({sourceName:t,targetName:i,stream:4,streamId:e,chunk:A},n)},close(){this.isCancelled||(this.isCancelled=!0,a.postMessage({sourceName:t,targetName:i,stream:3,streamId:e}),delete s.streamSinks[e])},error(A){L(A instanceof Error,\\\"error must have a valid reason\\\"),this.isCancelled||(this.isCancelled=!0,a.postMessage({sourceName:t,targetName:i,stream:5,streamId:e,reason:Dd(A)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:A.desiredSize,ready:null};r.sinkCapability.resolve(),r.ready=r.sinkCapability.promise,this.streamSinks[e]=r,new Promise((function(e){e(n(A.data,r))})).then((function(){a.postMessage({sourceName:t,targetName:i,stream:8,streamId:e,success:!0})}),(function(A){a.postMessage({sourceName:t,targetName:i,stream:8,streamId:e,reason:Dd(A)})}))}#P(A){const e=A.streamId,t=this.sourceName,i=A.sourceName,a=this.comObj,s=this.streamControllers[e],n=this.streamSinks[e];switch(A.stream){case 8:A.success?s.startCall.resolve():s.startCall.reject(Dd(A.reason));break;case 7:A.success?s.pullCall.resolve():s.pullCall.reject(Dd(A.reason));break;case 6:if(!n){a.postMessage({sourceName:t,targetName:i,stream:7,streamId:e,success:!0});break}n.desiredSize<=0&&A.desiredSize>0&&n.sinkCapability.resolve(),n.desiredSize=A.desiredSize,new Promise((function(A){A(n.onPull?.())})).then((function(){a.postMessage({sourceName:t,targetName:i,stream:7,streamId:e,success:!0})}),(function(A){a.postMessage({sourceName:t,targetName:i,stream:7,streamId:e,reason:Dd(A)})}));break;case 4:if(L(s,\\\"enqueue should have stream controller\\\"),s.isClosed)break;s.controller.enqueue(A.chunk);break;case 3:if(L(s,\\\"close should have stream controller\\\"),s.isClosed)break;s.isClosed=!0,s.controller.close(),this.#O(s,e);break;case 5:L(s,\\\"error should have stream controller\\\"),s.controller.error(Dd(A.reason)),this.#O(s,e);break;case 2:A.success?s.cancelCall.resolve():s.cancelCall.reject(Dd(A.reason)),this.#O(s,e);break;case 1:if(!n)break;new Promise((function(e){e(n.onCancel?.(Dd(A.reason)))})).then((function(){a.postMessage({sourceName:t,targetName:i,stream:2,streamId:e,success:!0})}),(function(A){a.postMessage({sourceName:t,targetName:i,stream:2,streamId:e,reason:Dd(A)})})),n.sinkCapability.reject(Dd(A.reason)),n.isCancelled=!0,delete this.streamSinks[e];break;default:throw new Error(\\\"Unexpected stream case\\\")}}async#O(A,e){await Promise.allSettled([A.startCall?.promise,A.pullCall?.promise,A.cancelCall?.promise]),delete this.streamControllers[e]}destroy(){this.comObj.removeEventListener(\\\"message\\\",this._onComObjOnMessage)}}class kd{constructor(A){this._msgHandler=A,this._contentLength=null,this._fullRequestReader=null,this._rangeRequestReaders=[]}getFullReader(){return L(!this._fullRequestReader,\\\"PDFWorkerStream.getFullReader can only be called once.\\\"),this._fullRequestReader=new Fd(this._msgHandler),this._fullRequestReader}getRangeReader(A,e){const t=new Sd(A,e,this._msgHandler);return this._rangeRequestReaders.push(t),t}cancelAllRequests(A){this._fullRequestReader?.cancel(A);for(const e of this._rangeRequestReaders.slice(0))e.cancel(A)}}class Fd{constructor(A){this._msgHandler=A,this.onProgress=null,this._contentLength=null,this._isRangeSupported=!1,this._isStreamingSupported=!1;const e=this._msgHandler.sendWithStream(\\\"GetReader\\\");this._reader=e.getReader(),this._headersReady=this._msgHandler.sendWithPromise(\\\"ReaderHeadersReady\\\").then((A=>{this._isStreamingSupported=A.isStreamingSupported,this._isRangeSupported=A.isRangeSupported,this._contentLength=A.contentLength}))}get headersReady(){return this._headersReady}get contentLength(){return this._contentLength}get isStreamingSupported(){return this._isStreamingSupported}get isRangeSupported(){return this._isRangeSupported}async read(){const{value:A,done:e}=await this._reader.read();return e?{value:void 0,done:!0}:{value:A.buffer,done:!1}}cancel(A){this._reader.cancel(A)}}class Sd{constructor(A,e,t){this._msgHandler=t,this.onProgress=null;const i=this._msgHandler.sendWithStream(\\\"GetRangeReader\\\",{begin:A,end:e});this._reader=i.getReader()}get isStreamingSupported(){return!1}async read(){const{value:A,done:e}=await this._reader.read();return e?{value:void 0,done:!0}:{value:A.buffer,done:!1}}cancel(A){this._reader.cancel(A)}}class Rd{constructor(A){this.name=A,this.terminated=!1,this._capability=Promise.withResolvers()}get finished(){return this._capability.promise}finish(){this._capability.resolve()}terminate(){this.terminated=!0}ensureNotTerminated(){if(this.terminated)throw new Error(\\\"Worker task was terminated\\\")}}class Gd{static setup(A,e){let t=!1;A.on(\\\"test\\\",(function(e){t||(t=!0,A.send(\\\"test\\\",e instanceof Uint8Array))})),A.on(\\\"configure\\\",(function(A){!function(A){Number.isInteger(A)&&(N=A)}(A.verbosity)})),A.on(\\\"GetDocRequest\\\",(function(A){return Gd.createDocumentHandler(A,e)}))}static createDocumentHandler(A,e){let t,i=!1,a=null;const s=new Set,n=N,{docId:r,apiVersion:g}=A,o=\\\"4.5.136\\\";if(g!==o)throw new Error(`The API version \\\"${g}\\\" does not match the Worker version \\\"${o}\\\".`);const I=[];for(const A in[])I.push(A);if(I.length)throw new Error(\\\"The `Array.prototype` contains unexpected enumerable properties: \\\"+I.join(\\\", \\\")+\\\"; thus breaking e.g. `for...in` iteration of `Array`s.\\\");const c=r+\\\"_worker\\\";let C=new bd(c,r,e);function h(){if(i)throw new Error(\\\"Worker was terminated\\\")}function B(A){s.add(A)}function l(A){A.finish(),s.delete(A)}async function Q(A){await t.ensureDoc(\\\"checkHeader\\\"),await t.ensureDoc(\\\"parseStartXRef\\\"),await t.ensureDoc(\\\"parse\\\",[A]),await t.ensureDoc(\\\"checkFirstPage\\\",[A]),await t.ensureDoc(\\\"checkLastPage\\\",[A]);const e=await t.ensureDoc(\\\"isPureXfa\\\");if(e){const A=new Rd(\\\"loadXfaFonts\\\");B(A),await Promise.all([t.loadXfaFonts(C,A).catch((A=>{})).then((()=>l(A))),t.loadXfaImages()])}const[i,a]=await Promise.all([t.ensureDoc(\\\"numPages\\\"),t.ensureDoc(\\\"fingerprints\\\")]);return{numPages:i,fingerprints:a,htmlForXfa:e?await t.ensureDoc(\\\"htmlForXfa\\\"):null}}return C.on(\\\"GetPage\\\",(function(A){return t.getPage(A.pageIndex).then((function(A){return Promise.all([t.ensure(A,\\\"rotate\\\"),t.ensure(A,\\\"ref\\\"),t.ensure(A,\\\"userUnit\\\"),t.ensure(A,\\\"view\\\")]).then((function([A,e,t,i]){return{rotate:A,ref:e,refStr:e?.toString()??null,userUnit:t,view:i}}))}))})),C.on(\\\"GetPageIndex\\\",(function(A){const e=EA.get(A.num,A.gen);return t.ensureCatalog(\\\"getPageIndex\\\",[e])})),C.on(\\\"GetDestinations\\\",(function(A){return t.ensureCatalog(\\\"destinations\\\")})),C.on(\\\"GetDestination\\\",(function(A){return t.ensureCatalog(\\\"getDestination\\\",[A.id])})),C.on(\\\"GetPageLabels\\\",(function(A){return t.ensureCatalog(\\\"pageLabels\\\")})),C.on(\\\"GetPageLayout\\\",(function(A){return t.ensureCatalog(\\\"pageLayout\\\")})),C.on(\\\"GetPageMode\\\",(function(A){return t.ensureCatalog(\\\"pageMode\\\")})),C.on(\\\"GetViewerPreferences\\\",(function(A){return t.ensureCatalog(\\\"viewerPreferences\\\")})),C.on(\\\"GetOpenAction\\\",(function(A){return t.ensureCatalog(\\\"openAction\\\")})),C.on(\\\"GetAttachments\\\",(function(A){return t.ensureCatalog(\\\"attachments\\\")})),C.on(\\\"GetDocJSActions\\\",(function(A){return t.ensureCatalog(\\\"jsActions\\\")})),C.on(\\\"GetPageJSActions\\\",(function({pageIndex:A}){return t.getPage(A).then((function(A){return t.ensure(A,\\\"jsActions\\\")}))})),C.on(\\\"GetOutline\\\",(function(A){return t.ensureCatalog(\\\"documentOutline\\\")})),C.on(\\\"GetOptionalContentConfig\\\",(function(A){return t.ensureCatalog(\\\"optionalContentConfig\\\")})),C.on(\\\"GetPermissions\\\",(function(A){return t.ensureCatalog(\\\"permissions\\\")})),C.on(\\\"GetMetadata\\\",(function(A){return Promise.all([t.ensureDoc(\\\"documentInfo\\\"),t.ensureCatalog(\\\"metadata\\\")])})),C.on(\\\"GetMarkInfo\\\",(function(A){return t.ensureCatalog(\\\"markInfo\\\")})),C.on(\\\"GetData\\\",(function(A){return t.requestLoadedStream().then((function(A){return A.bytes}))})),C.on(\\\"GetAnnotations\\\",(function({pageIndex:A,intent:e}){return t.getPage(A).then((function(t){const i=new Rd(`GetAnnotations: page ${A}`);return B(i),t.getAnnotationsData(C,i,e).then((A=>(l(i),A)),(A=>{throw l(i),A}))}))})),C.on(\\\"GetFieldObjects\\\",(function(A){return t.ensureDoc(\\\"fieldObjects\\\")})),C.on(\\\"HasJSActions\\\",(function(A){return t.ensureDoc(\\\"hasJSActions\\\")})),C.on(\\\"GetCalculationOrderIds\\\",(function(A){return t.ensureDoc(\\\"calculationOrderIds\\\")})),C.on(\\\"SaveDocument\\\",(async function({isPureXfa:A,numPages:e,annotationStorage:i,filename:a}){const s=[t.requestLoadedStream(),t.ensureCatalog(\\\"acroForm\\\"),t.ensureCatalog(\\\"acroFormRef\\\"),t.ensureDoc(\\\"startXRef\\\"),t.ensureDoc(\\\"xref\\\"),t.ensureDoc(\\\"linearization\\\"),t.ensureCatalog(\\\"structTreeRoot\\\")],n=[],r=A?null:te(i),[g,o,I,c,h,B,Q]=await Promise.all(s),E=h.trailer.getRaw(\\\"Root\\\")||null;let u;if(r){Q?await Q.canUpdateStructTree({pdfManager:t,xref:h,newAnnotationsByPage:r})&&(u=Q):await Ao.canCreateStructureTree({catalogRef:E,pdfManager:t,newAnnotationsByPage:r})&&(u=null);const A=Mu.generateImages(i.values(),h,t.evaluatorOptions.isOffscreenCanvasSupported),e=void 0===u?n:[];for(const[i,a]of r)e.push(t.getPage(i).then((e=>{const t=new Rd(`Save (editor): page ${i}`);return e.saveNewAnnotations(C,t,a,A).finally((function(){l(t)}))})));null===u?n.push(Promise.all(e).then((async A=>(await Ao.createStructureTree({newAnnotationsByPage:r,xref:h,catalogRef:E,pdfManager:t,newRefs:A}),A)))):u&&n.push(Promise.all(e).then((async A=>(await u.updateStructureTree({newAnnotationsByPage:r,pdfManager:t,newRefs:A}),A))))}if(A)n.push(t.serializeXfaData(i));else for(let A=0;AA.needAppearances)),y=o instanceof QA&&o.get(\\\"XFA\\\")||null;let w=null,D=!1;if(Array.isArray(y)){for(let A=0,e=y.length;A{\\\"string\\\"==typeof t&&(A[e]=eA(t))})),b={rootRef:E,encryptRef:h.trailer.getRaw(\\\"Encrypt\\\")||null,newRef:h.getNewTemporaryRef(),infoRef:h.trailer.getRaw(\\\"Info\\\")||null,info:A,fileIds:h.trailer.get(\\\"ID\\\")||null,startXRef:B?c:h.lastXRefStreamPos??c,filename:a}}return $g({originalData:g.bytes,xrefInfo:b,newRefs:f,xref:h,hasXfa:!!y,xfaDatasetsRef:w,hasXfaDatasetsEntry:D,needAppearances:m,acroFormRef:I,acroForm:o,xfaData:p,useXrefStream:mA(h.topDict,\\\"XRef\\\")}).finally((()=>{h.resetNewTemporaryRef()}))})),C.on(\\\"GetOperatorList\\\",(function(A,e){const i=A.pageIndex;t.getPage(i).then((function(t){const a=new Rd(`GetOperatorList: page ${i}`);B(a);const s=n>=u?Date.now():0;t.getOperatorList({handler:C,sink:e,task:a,intent:A.intent,cacheKey:A.cacheKey,annotationStorage:A.annotationStorage,modifiedIds:A.modifiedIds}).then((function(A){l(a),s&&x(`page=${i+1} - getOperatorList: time=${Date.now()-s}ms, len=${A.length}`),e.close()}),(function(A){l(a),a.terminated||e.error(A)}))}))})),C.on(\\\"GetTextContent\\\",(function(A,e){const{pageIndex:i,includeMarkedContent:a,disableNormalization:s}=A;t.getPage(i).then((function(A){const t=new Rd(\\\"GetTextContent: page \\\"+i);B(t);const r=n>=u?Date.now():0;A.extractTextContent({handler:C,task:t,sink:e,includeMarkedContent:a,disableNormalization:s}).then((function(){l(t),r&&x(`page=${i+1} - getTextContent: time=`+(Date.now()-r)+\\\"ms\\\"),e.close()}),(function(A){l(t),t.terminated||e.error(A)}))}))})),C.on(\\\"GetStructTree\\\",(function(A){return t.getPage(A.pageIndex).then((function(A){return t.ensure(A,\\\"getStructTree\\\")}))})),C.on(\\\"FontFallback\\\",(function(A){return t.fontFallback(A.id,C)})),C.on(\\\"Cleanup\\\",(function(A){return t.cleanup(!0)})),C.on(\\\"Terminate\\\",(function(A){i=!0;const e=[];if(t){t.terminate(new O(\\\"Worker was terminated.\\\"));const A=t.cleanup();e.push(A),t=null}else mg();a&&a(new O(\\\"Worker was terminated.\\\"));for(const A of s)e.push(A.finished),A.terminate();return Promise.all(e).then((function(){C.destroy(),C=null}))})),C.on(\\\"Ready\\\",(function(e){!function(A){function e(A){h(),C.send(\\\"GetDoc\\\",{pdfInfo:A})}function s(A){if(h(),A instanceof v){const e=new Rd(`PasswordException: response ${A.code}`);B(e),C.sendWithPromise(\\\"PasswordRequest\\\",A).then((function({password:A}){l(e),t.updatePassword(A),n()})).catch((function(){l(e),C.send(\\\"DocException\\\",A)}))}else A instanceof q||A instanceof T||A instanceof P||A instanceof K?C.send(\\\"DocException\\\",A):C.send(\\\"DocException\\\",new K(A.message,A.toString()))}function n(){h(),Q(!1).then(e,(function(A){h(),A instanceof RA?t.requestLoadedStream().then((function(){h(),Q(!0).then(e,s)})):s(A)}))}h(),function({data:A,password:e,disableAutoFetch:t,rangeChunkSize:i,length:s,docBaseUrl:n,enableXfa:g,evaluatorOptions:o}){const I={source:null,disableAutoFetch:t,docBaseUrl:n,docId:r,enableXfa:g,evaluatorOptions:o,handler:C,length:s,password:e,rangeChunkSize:i},c=Promise.withResolvers();let B;if(A){try{I.source=A,B=new yd(I),c.resolve(B)}catch(A){c.reject(A)}return c.promise}let l,Q=[];try{l=new kd(C)}catch(A){return c.reject(A),c.promise}const E=l.getFullReader();E.headersReady.then((function(){if(E.isRangeSupported){I.source=l,I.length=E.contentLength,I.disableAutoFetch||=E.isStreamingSupported,B=new wd(I);for(const A of Q)B.sendProgressiveData(A);Q=[],c.resolve(B),a=null}})).catch((function(A){c.reject(A),a=null}));let u=0;return new Promise((function(A,e){const t=function({value:A,done:i}){try{if(h(),i)return B||function(){const A=GA(Q);s&&A.length!==s&&U(\\\"reported HTTP length is different from actual\\\");try{I.source=A,B=new yd(I),c.resolve(B)}catch(A){c.reject(A)}Q=[]}(),void(a=null);u+=A.byteLength,E.isStreamingSupported||C.send(\\\"DocProgress\\\",{loaded:u,total:Math.max(u,E.contentLength||0)}),B?B.sendProgressiveData(A):Q.push(A),E.read().then(t,e)}catch(A){e(A)}};E.read().then(t,e)})).catch((function(A){c.reject(A),a=null})),a=function(A){l.cancelAllRequests(A)},c.promise}(A).then((function(A){if(i)throw A.terminate(new O(\\\"Worker was terminated.\\\")),new Error(\\\"Worker was terminated\\\");t=A,t.requestLoadedStream(!0).then((A=>{C.send(\\\"DataLoaded\\\",{length:A.bytes.byteLength})}))})).then(n,s)}(A),A=null})),c}static initializeFromPort(A){const e=new bd(\\\"worker\\\",\\\"main\\\",A);Gd.setup(e,A),e.send(\\\"ready\\\",null)}}\\\"undefined\\\"==typeof window&&!a&&\\\"undefined\\\"!=typeof self&&function(A){return\\\"function\\\"==typeof A.postMessage&&\\\"onmessage\\\"in A}(self)&&Gd.initializeFromPort(self)})();',\\\"Worker\\\",void 0,void 0)}function CA(e){return CA=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},CA(e)}function fA(e,t){var i=\\\"undefined\\\"!=typeof Symbol&&e[Symbol.iterator]||e[\\\"@@iterator\\\"];if(!i){if(Array.isArray(e)||(i=function(e,t){if(!e)return;if(\\\"string\\\"==typeof e)return pA(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);\\\"Object\\\"===i&&e.constructor&&(i=e.constructor.name);if(\\\"Map\\\"===i||\\\"Set\\\"===i)return Array.from(e);if(\\\"Arguments\\\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return pA(e,t)}(e))||t&&e&&\\\"number\\\"==typeof e.length){i&&(e=i);var A=0,n=function(){};return{s:n,n:function(){return A>=e.length?{done:!0}:{done:!1,value:e[A++]}},e:function(e){throw e},f:n}}throw new TypeError(\\\"Invalid attempt to iterate non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\")}var r,a=!0,s=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return a=e.done,e},e:function(e){s=!0,r=e},f:function(){try{a||null==i.return||i.return()}finally{if(s)throw r}}}}function pA(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,A=new Array(t);i=0;--n){var r=this.tryEntries[n],a=r.completion;if(\\\"root\\\"===r.tryLoc)return A(\\\"end\\\");if(r.tryLoc<=this.prev){var s=i.call(r,\\\"catchLoc\\\"),o=i.call(r,\\\"finallyLoc\\\");if(s&&o){if(this.prev=0;--A){var n=this.tryEntries[A];if(n.tryLoc<=this.prev&&i.call(n,\\\"finallyLoc\\\")&&this.prev=0;--t){var i=this.tryEntries[t];if(i.finallyLoc===e)return this.complete(i.completion,i.afterLoc),Q(i),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc===e){var A=i.completion;if(\\\"throw\\\"===A.type){var n=A.arg;Q(i)}return n}}throw new Error(\\\"illegal catch attempt\\\")},delegateYield:function(e,t,i){return this.delegate={iterator:y(e),resultName:t,nextLoc:i},\\\"next\\\"===this.method&&(this.arg=void 0),g}},e}function mA(e,t,i,A,n,r,a){try{var s=e[r](a),o=s.value}catch(e){return void i(e)}s.done?t(o):Promise.resolve(o).then(A,n)}function EA(e){return function(){var t=this,i=arguments;return new Promise((function(A,n){var r=e.apply(t,i);function a(e){mA(r,A,n,a,s,\\\"next\\\",e)}function s(e){mA(r,A,n,a,s,\\\"throw\\\",e)}a(void 0)}))}}function QA(e){for(var t=[],i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT),A=i.nextNode();A;)t.push(A),A=i.nextNode();return t}function _A(e){for(var t=[],i=document.createRange(),A=e.parentElement.getBoundingClientRect(),n=0,r=e.textContent.length;n-1&&(h=s+1,l+=e.str,_A(g[s]).forEach((function(e){u.push([r+e._MLa,e._kf,e._of,e._pf])})),e.hasEOL)){l+=\\\"\\\\n\\\";var o=u[u.length-1];u.push([o[0]+o[2],o[1],1,o[3]])}}else if(e.hasEOL){var c=Math.sqrt(n[2]*n[2]+n[3]*n[3]);l+=\\\"\\\\n\\\",u.push([r,a,1,c])}})),r.parentElement&&r.parentElement.removeChild(r),e.abrupt(\\\"return\\\",{pages:[{number:n,width:t.width,height:t.height,text:l,rectangles:u,markup:a}]});case 26:case\\\"end\\\":return e.stop()}}),e)}))),function(){return t.apply(this,arguments)})};return s}({_cDa:e,_PLa:i,_Zl:t,_dDa:n,_QLa:r})}))},_xKa:(i=EA(BA().mark((function t(){var i;return BA().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.getMetadata();case 2:return i=t.sent,t.abrupt(\\\"return\\\",i&&i.info&&i.info.IsCollectionPresent);case 4:case\\\"end\\\":return t.stop()}}),t)}))),function(){return i.apply(this,arguments)})}}function bA(e){return vA.apply(this,arguments)}function vA(){return vA=EA(BA().mark((function e(t){var i,A,n,r,a,s=arguments;return BA().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=s.length>1&&void 0!==s[1]?s[1]:{},A=i._dDa,n=void 0!==A&&A,hA.workerPort=hA.workerPort||IA(),e.next=4,uA(t).promise;case 4:return r=e.sent,a=function(){var e,t=new Image,i=!1;return EA(BA().mark((function A(){return BA().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(!i){A.next=2;break}return A.abrupt(\\\"return\\\",t);case 2:if(!e){A.next=6;break}return A.next=5,e;case 5:case 10:return A.abrupt(\\\"return\\\",t);case 6:return e=new Promise((function(e){t.addEventListener(\\\"load\\\",(function(){i=!0,e()}))})),t.src=[\\\"data:image/svg+xml;utf-8,\\\",'',\\\"\\\",'','','','','','','','','','','','','','',\\\"\\\"].join(\\\"\\\"),A.next=10,e;case 11:case\\\"end\\\":return A.stop()}}),A)})))}(),e.abrupt(\\\"return\\\",wA(r,{_dDa:n,_QLa:a}));case 7:case\\\"end\\\":return e.stop()}}),e)}))),vA.apply(this,arguments)}function kA(e,t){return xA.apply(this,arguments)}function xA(){return(xA=EA(BA().mark((function e(t,i){var A,n,r,a,s;return BA().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!i.url){e.next=2;break}return e.abrupt(\\\"return\\\",i.url);case 2:if(A=i.dest,!(Array.isArray(A)&&A.length>1)){e.next=10;break}return e.next=6,t.getPageIndex(A[0]);case 6:return n=e.sent,e.abrupt(\\\"return\\\",(n+1).toString());case 10:if(\\\"string\\\"!=typeof A){e.next=24;break}if(0!==A.indexOf(\\\"*\\\")){e.next=15;break}return e.abrupt(\\\"return\\\",Number.parseInt(A.substring(1),10).toString());case 15:return e.next=17,t.getDestination(A);case 17:if(r=e.sent,null===(a=r.destination)){e.next=24;break}return e.next=22,t.getPageIndex(a.pageRef);case 22:return s=e.sent,e.abrupt(\\\"return\\\",(s+1).toString());case 24:case\\\"end\\\":return e.stop()}}),e)})))).apply(this,arguments)}function DA(e,t,i,A){return SA.apply(this,arguments)}function SA(){return(SA=EA(BA().mark((function e(t,i,A,n){var r,a,s,o,c;return BA().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=fA(i),e.prev=1,r.s();case 3:if((a=r.n()).done){e.next=14;break}if(\\\"Link\\\"===(s=a.value).subtype){e.next=7;break}return e.abrupt(\\\"return\\\");case 7:return e.next=9,kA(t,s);case 9:o=e.sent,c=n.convertToViewportRectangle(s.rect),A.push({markType:\\\"DocumentHyperlink\\\",properties:{href:o,rectangle:{x:c[0],y:c[1],width:c[2]-c[0],height:c[3]-c[1]}}});case 12:e.next=3;break;case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(1),r.e(e.t0);case 19:return e.prev=19,r.f(),e.finish(19);case 22:case\\\"end\\\":return e.stop()}}),e,null,[[1,16,19,22]])})))).apply(this,arguments)}function PA(e){return!(!e||e.length<4)&&(37===e[0]&&80===e[1]&&68===e[2]&&70===e[3])}},5956:e=>{e.exports={Horizontal:\\\"Horizontal\\\",Vertical:\\\"Vertical\\\"}},5782:e=>{var t=function(e){this._Do=e};t.prototype.load=function(e){return this._Do(e)},e.exports=t},3770:e=>{function t(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var A=Object.getOwnPropertySymbols(e);t&&(A=A.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,A)}return i}function i(e){for(var i=1;i{var t=function(){this._dn=0,this._Nl=0,this._zd=0,this._Db=\\\"\\\",this._Hd=\\\"#1c86ee\\\",this._Am=0,this._fn={},this._Fm=null,this._zb=\\\"\\\",this._Bs=0};t.prototype.getId=function(){return this._dn},t.prototype.getPageNumber=function(){return this._Nl},t.prototype.getPageReference=function(){return console.warn(\\\"The PiiEntity.getPageReference API is still under active development and is not ready for use. Its functionality is subject to change, and in its current state may cause instability in the product.\\\"),this._fn},t.prototype.getText=function(){return this._Db},t.prototype.getHighlightColor=function(){return this._Hd},t.prototype.getStartIndexInPage=function(){return this._Am},t.prototype.getBoundingRectangle=function(){return this._Fm},t.prototype.getType=function(){return this._zb},t.prototype.getScore=function(){return this._Bs},Object.defineProperties&&Object.defineProperties(t.prototype,{pageNumber:{enumerable:!0,get:function(){return this._Nl}},pageReference:{enumerable:!0,get:function(){return console.warn(\\\"The PiiEntity.pageReference API is still under active development and is not ready for use. Its functionality is subject to change, and in its current state may cause instability in the product.\\\"),this._fn}},id:{enumerable:!0,get:function(){return this._dn}},text:{enumerable:!0,get:function(){return this._Db}},highlightColor:{enumerable:!0,get:function(){return this._Hd}},startIndexInPage:{enumerable:!0,get:function(){return this._Am}},boundingRectangle:{enumerable:!0,get:function(){return this.getBoundingRectangle()}},type:{enumerable:!0,get:function(){return this._zb}},score:{enumerable:!0,get:function(){return this._Bs}}}),e.exports={PiiEntity:t}},3904:e=>{var t=1,i=2,A=function(e,t,i){e.addEventListener?e.addEventListener(t,i,!1):e.attachEvent&&e.attachEvent(\\\"on\\\"+t,i)},n=function(e,t,i){e.removeEventListener?e.removeEventListener(t,i,!1):e.detachEvent&&e.detachEvent(\\\"on\\\"+t,i)};function r(e,r){var a,s;e._oH(),(a=document.getElementById(\\\"pccPrintFrame\\\"))&&(a.contentWindow&&a.contentWindow.destroy&&a.contentWindow.destroy(),a.parentElement&&a.parentElement.removeChild(a)),e._pH(),e.algorithm||(e.algorithm=t);var o=document.createElement(\\\"iframe\\\");function c(){n(window,\\\"message\\\",g)}o.id=\\\"pccPrintFrame\\\",o.className=\\\"pccPrintFrame\\\",o.style.position=\\\"absolute\\\",o.style.bottom=o.style.right=\\\"0px\\\",o.style.width=o.style.height=\\\"1px\\\",o.style.zIndex=\\\"0\\\",o.style.border=\\\"none\\\",e.algorithm!==i&&(o.style.visibility=\\\"0\\\");var g=function(t){if(t.source.PCCViewer.Ajax.setHeaders(PCCViewer.Ajax.getHeaders()).setOverrideMethod(PCCViewer.Ajax.getOverrideMethod()),t.data.match(/loadArt/)){var A=JSON.parse(t.data),n=e._wH(A.documentPageIndex);e._oH(),o.contentWindow[A.callbackName](n),e._pH()}else if(\\\"extra\\\"===t.data){var a=e._yH(e);o.contentWindow.extra(e.encryption,a)}else if(t.data.match(/pageReference/)){var s=JSON.parse(t.data),g=e._AH(s.viewerPageIndex);o.contentWindow[s.callbackName](g)}else if(\\\"done\\\"===t.data)e.algorithm===i?setTimeout((function(){o.contentWindow.focus(),o.contentWindow.document.execCommand(\\\"print\\\",!1,null),window.focus(),c(),e._BH.trigger(PCCViewer.PrintRequest.EventType.PrintCompleted)}),2e3):setTimeout((function(){o.contentWindow.focus(),o.contentWindow.print(),window.focus(),c(),e._BH.trigger(PCCViewer.PrintRequest.EventType.PrintCompleted)}),2e3);else if(\\\"fail\\\"===t.data)c(),e._BH.trigger(PCCViewer.PrintRequest.EventType.PrintFailed);else{var h=function(e){for(var t={},i=(e=e.split(\\\"&\\\")).length;i--;){var A=e[i].split(\\\"=\\\");t[A.shift()]=A.join(\\\"=\\\")}return t}(t.data);h.index=+h.index,h.pageNumber=+h.viewerPageNumber,h.pageReference={documentPageNumber:+h.documentPageNumber,documentID:r},h.totalPages=+h.totalPages,e._BH._DH=+h.index+1,e._BH.trigger(PCCViewer.PrintRequest.EventType.PrintPagePrepared,h)}};return A(window,\\\"message\\\",g),A(o,\\\"load\\\",(function t(){n(o,\\\"load\\\",t),s=o.contentDocument?o.contentDocument:o.contentWindow?o.contentWindow.document:o.document,e.algorithm===i?(o.contentWindow.contents=e.template,o.src='javascript:window[\\\"contents\\\"]'):(s.open(),s.write(e.template),s.close())})),document.body.appendChild(o),c}function a(){return 8!==document.documentMode}var s=function(e,t,i,A){this._Ga=e,this._fd=i,this._DH=0,PCCViewer.EventEmitter.extend(this)};s.EventType={PrintPagePrepared:\\\"PrintPagePrepared\\\",PrintCompleted:\\\"PrintCompleted\\\",PrintCancelled:\\\"PrintCancelled\\\",PrintFailed:\\\"PrintFailed\\\"},s.prototype.cancel=function(){this._fd(),this.trigger(PCCViewer.PrintRequest.EventType.PrintCancelled)},s.prototype.getOptions=function(){return{range:this._Ga.pages.toString(),orientation:this._Ga.orientation,paperSize:this._Ga.paperSize,margins:this._Ga.margins,includeMarks:this._Ga.includeMarks,includeAnnotations:this._Ga.includeAnnotations,includeRedactions:this._Ga.includeRedactions,includeComments:this._Ga.includeComments,includeReasons:this._Ga.includeReasons,redactionViewMode:this._Ga.redactionViewMode}},s.prototype.getPageCount=function(){return this._Ga.pages.length},s.prototype.getPreparedCount=function(){return this._DH},Object.defineProperties&&Object.defineProperties(s.prototype,{options:{enumerable:!0,get:function(){return this.getOptions()}},pageCount:{enumerable:!0,get:function(){return this.getPageCount()}},preparedCount:{enumerable:!0,get:function(){return this.getPreparedCount()}}});e.exports={PrintRequest:s,PrintControl:function(e,t){var i=[];function A(e){window.parent?window.parent.postMessage(e,\\\"*\\\"):window.opener.postMessage(e,\\\"*\\\")}function n(n,s,g,h){var l={documentIdentifier:t.vsID,documentPageIndex:s,viewFitType:IPCC.Web.UI.FitType.FullImage,imageHandlerUrl:t.handler,encryption:t.encryption},u=document.createElement(\\\"div\\\");u.className=t.paperSize+\\\" \\\",u.className+=t.isIE?\\\"pageIE\\\":t.isSafari?\\\"pageSafari\\\":\\\"page\\\",u.id=\\\"printpage\\\"+n,\\\"none\\\"===t.margins&&(u.className+=\\\" nomargins\\\"),e.appendChild(u);var d=IPCC.initializePageViewPlugin(u,l);d.set_debug(!1),d.set_requireRequestsOptimize(!0),i.push(d);var I=!1;function C(){A(function(e,i,A){var n=[];return n.push(\\\"viewerPageNumber=\\\"+(1+e)),n.push(\\\"documentPageNumber=\\\"+(1+i)),n.push(\\\"index=\\\"+A),n.push(\\\"totalPages=\\\"+t.pages.length),n.join(\\\"&\\\")}(n,s,g)),h()}if(d.add_pageOpened((function(){var e=d._nb(),i=d._pb();(\\\"portrait\\\"===t.orientation&&e>i||\\\"landscape\\\"===t.orientation&&i>e)&&d._kI(90)})),d.add_pageDisplayed((function(){I||C()})),d.add_textPageReady((function(){I&&(d._rd(),C())})),d.add_pageOpenFailed((function(){A(\\\"fail\\\")})),d.add_textExtractionFailed((function(){I&&A(\\\"fail\\\")})),t.redactionViewMode&&(\\\"draft\\\"===t.redactionViewMode.toLowerCase()?d._RE(!0):\\\"normal\\\"===t.redactionViewMode.toLowerCase()&&d._RE(!1)),a()&&(t.includeAnnotations||t.includeRedactions)){var f=\\\"loadArt\\\"+n,p={documentPageIndex:s,callbackName:f};window[f]=function(i){var A,a,s,g,h,u,C,f=\\\"\\\",p=\\\"\\\",B=[];i._tp((function(e){e.get_type()===IPCC.Web.UI.MarkType.HighlightText&&(I=!0),t.includeRedactions&&e._Fx()&&B.push(e),t.includeAnnotations&&!e._Fx()&&B.push(e)}));var m=new IPCC.Web.UI.ArtPage;if(IPCC._o.forEach(B,(function(e){e._eD(void 0),m.addMark(e)})),l.artPage=m,g=t.pagedConversations[n+1],t.pagedConversations&&g&&\\\"followingPage\\\"===t.includeComments){for((A=document.createElement(\\\"div\\\")).className+=\\\"commentPage\\\",A.id=\\\"printcommentpage\\\"+n,\\\"none\\\"===t.margins&&(A.className+=\\\" nomargins\\\"),a='

Comments for Page {{viewerPageNumber}}


{{conversationList}}
',s=0;s\\\"+s({text:(i=t[A]).getText(),createDate:i._Ns._CI})+\\\"\\\";return\\\"

\\\"+r+\\\"

    \\\"+n+\\\"
\\\"}function s(e){var t=new Date(e.createDate),i=\\\"{{month}}/{{day}}/{{year}} {{hour}}:{{minutes}}{{period}}\\\".replace(\\\"{{month}}\\\",t.getMonth()+1).replace(\\\"{{day}}\\\",t.getDate()).replace(\\\"{{year}}\\\",t.getFullYear()).replace(\\\"{{hour}}\\\",(t.getHours()<10?\\\"0\\\":\\\"\\\")+t.getHours()).replace(\\\"{{minutes}}\\\",(t.getMinutes()<10?\\\"0\\\":\\\"\\\")+t.getMinutes()).replace(\\\"{{period}}\\\",t.getHours()<12?\\\"am\\\":\\\"pm\\\"),A=e.text.replace(//g,\\\">\\\").replace(/\\\\n/g,\\\"
\\\");return\\\"{{comment}} - {{date}}\\\".replace(\\\"{{comment}}\\\",A).replace(\\\"{{date}}\\\",i)}function o(){var e=new Date;return\\\"{{month}}/{{day}}/{{year}}\\\".replace(\\\"{{month}}\\\",e.getMonth()+1).replace(\\\"{{day}}\\\",e.getDate()).replace(\\\"{{year}}\\\",e.getFullYear())}function c(e,t){e=e.replace(//g,\\\">\\\").replace(/\\\\n/g,\\\"
\\\");var i=t>1?\\\"times\\\":\\\"time\\\";return'
  • \\\"{{reason}}\\\" occurs {{count}} {{times}}
  • '.replace(\\\"{{reason}}\\\",e).replace(\\\"{{count}}\\\",t).replace(\\\"{{times}}\\\",i)}IPCC._o._gI=!0,t.includeAnnotations=\\\"false\\\"!==t.includeAnnotations,t.includeRedactions=\\\"false\\\"!==t.includeRedactions,e.className=e.className+\\\" \\\"+t.orientation,window.destroy=function(){var e;IPCC._o.forEach(i,(function(t){(e=t.get_artPage())&&e.removeAllMarks(),t.dispose(),e=void 0}))},window.extra=function(i,a){t.encryption=!!i,t.pagedConversations=a._JH,t.pagedReasons=a._KH,t.pagedRedactionCount=a._RH,function(){function i(e,t){return function(i){var r=\\\"pageReference\\\"+e,a={viewerPageIndex:e,callbackName:r};window[r]=function(A){n(e,A.documentPageNumber-1,t,i)},A(JSON.stringify(a))}}window.onerror=function(e){A(\\\"fail\\\")};for(var a=[],s=0;sComments
    {{pageSections}}\\\",d=\\\"\\\";if(\\\"documentEnd\\\"===t.includeComments)for(n in t.pagedConversations)if(t.pagedConversations.hasOwnProperty(n)){i||((i=document.createElement(\\\"div\\\")).className+=\\\" commentPage\\\",i.id=\\\"printpage_comments\\\",\\\"none\\\"===t.margins&&(i.className+=\\\" nomargins\\\")),g='

    Page #{{viewerPageNumber}}


      {{conversationList}}
    ',l=\\\"\\\";for(var I=0;I

    Page #{{viewerPageNumber}}

    • Date: {{date}}
    • Number of Redactions on this Page: {{count}}

      {{reasonList}}
    ',t.pagedReasons)if(t.pagedReasons.hasOwnProperty(n)){for(var C in s||((s=document.createElement(\\\"div\\\")).className+=\\\"reasonPage\\\",s.id=\\\"printpage_reason\\\",\\\"none\\\"===t.margins&&(s.className+=\\\" nomargins\\\")),d=\\\"\\\",t.pagedReasons[n])t.pagedReasons[n].hasOwnProperty(C)&&(d+=c(C,t.pagedReasons[n][C]));h+=g.replace(\\\"{{viewerPageNumber}}\\\",n).replace(\\\"{{reasonList}}\\\",d).replace(\\\"{{date}}\\\",o()).replace(\\\"{{count}}\\\",t.pagedRedactionCount[n])}h.length&&(s.innerHTML=\\\"

    Redaction Reasons


    {{pageSections}}\\\".replace(\\\"{{pageSections}}\\\",h),e.appendChild(s))}A(\\\"done\\\")}))}(),window.extra=function(){}},A(\\\"extra\\\")},print:function(e){(e=e||{}).range=e.range||\\\"all\\\",e.orientation=e.orientation&&\\\"landscape\\\"===e.orientation.toLowerCase()?\\\"landscape\\\":\\\"portrait\\\",e.paperSize=e.paperSize||\\\"letter\\\",e.margins=e.margins&&\\\"none\\\"===e.margins.toLowerCase()?\\\"none\\\":\\\"default\\\",e.includeMarks=void 0!==e.includeMarks?!!e.includeMarks&&this.canPrintMarks():void 0,e.includeAnnotations=void 0!==e.includeAnnotations?!!e.includeAnnotations&&this.canPrintMarks():void 0,e.includeRedactions=void 0!==e.includeRedactions?!!e.includeRedactions&&this.canPrintMarks():void 0,e.includeComments=e.includeComments?e.includeComments:\\\"none\\\",e.includeReasons=e.includeReasons?e.includeReasons:\\\"none\\\",e.redactionViewMode=e.redactionViewMode?e.redactionViewMode:\\\"Normal\\\",void 0===e.includeAnnotations&&(e.includeAnnotations=e.includeMarks),void 0===e.includeRedactions&&(e.includeRedactions=e.includeMarks);var t=PCCViewer.Util.convertPageRangeToArray(e.range.toString().toLowerCase(),{upperLimit:this.getPageCount()}),A=this._Ga.imageHandlerUrl,n=this._Ga.documentID,a=this._bI;e.vsID=n,e.handler=A,e.pages=t;var s,o=!!navigator.appName.match(\\\"Microsoft\\\"),c=!!navigator.userAgent.match(\\\"Trident\\\"),g=!!(navigator.userAgent.search(\\\"Safari\\\")>=0&&navigator.userAgent.search(\\\"Chrome\\\")<0);e.template=a.replace(/{{viewingSessionId}}/g,e.vsID).replace(/{{handler}}/g,e.handler).replace(/{{pages}}/g,e.pages.join(\\\",\\\")).replace(/{{orientation}}/g,e.orientation).replace(/{{paperSize}}/g,e.paperSize).replace(/{{isIE}}/g,c.toString()).replace(/{{isSafari}}/g,g.toString()).replace(/{{includeAnnotations}}/g,e.includeAnnotations).replace(/{{includeRedactions}}/g,e.includeRedactions).replace(/{{includeComments}}/g,e.includeComments).replace(/{{includeReasons}}/g,e.includeReasons).replace(/{{margins}}/g,e.margins).replace(/{{redactionViewMode}}/g,e.redactionViewMode).replace(/{{viewerAssetsPath}}/g,this._Ga.viewerAssetsPath),e.encryption=!!this._Ga.encryption,o&&(e.algorithm=i);var h=!1,l=this,u=new PCCViewer.PrintRequest(e,t.length,(function(){h=!0,s&&s()}),l);return this._dI.then((function(){l._eI?u.trigger(PCCViewer.PrintRequest.EventType.PrintFailed):h||(l._Bi.trigger(PCCViewer.EventType.PrintRequested,{printRequest:u}),e._BH=u,e._wH=function(e){return function(t){return e._en._IA(e._JA.getPage(t))}}(l),e._yH=function(e){return function(t){var i,A,n,r,a,s,o,c,g,h=[],l=[],u={},d={},I={},C={},f=\\\"\\\",p={},B={},m=0,E=0,Q=0,_=function(e,t){return e-t};if(\\\"none\\\"!==t.includeComments||\\\"none\\\"!==t.includeReasons){for(i=e.getAllMarks(),m=0;m0?1e4*a+o.y:o.y,h.push(c),u[c]?u[c].push(r):u[c]=[r]}if(h.length){for(h.sort((function(e,t){return e-t})),m=0;m{e.exports={Draft:\\\"Draft\\\",Normal:\\\"Normal\\\"}},3438:e=>{var t=function(){this._dn=0,this._ro=0,this._zb=\\\"\\\",this._Ol=0,this._Pl=\\\"\\\"};t.prototype.getId=function(){return this._dn},t.prototype.getEndPageNumber=function(){return this._ro},t.prototype.getType=function(){return this._zb},t.prototype.getEndPageReference=function(){return console.warn(\\\"The Revision.getPageReference API is still under active development and is not ready for use. Its functionality is subject to change, and in its current state may cause instability in the product.\\\"),{documentPageNumber:this._Ol,documentID:this._Pl}},Object.defineProperties&&Object.defineProperties(t.prototype,{endPageNumber:{enumerable:!0,get:function(){return this._ro}},id:{enumerable:!0,get:function(){return this._dn}},type:{enumerable:!0,get:function(){return this._zb}},endPageReference:{enumerable:!0,get:function(){return console.warn(\\\"The Revision.pageReference API is still under active development and is not ready for use. Its functionality is subject to change, and in its current state may cause instability in the product.\\\"),{documentPageNumber:this._Ol,documentID:this._Pl}}}}),t.Type={ContentInserted:\\\"ContentInserted\\\",ContentDeleted:\\\"ContentDeleted\\\",PropertyChanged:\\\"PropertyChanged\\\",ParagraphNumberChanged:\\\"ParagraphNumberChanged\\\",FieldDisplayChanged:\\\"FieldDisplayChanged\\\",RevisionMarkedAsReconciledConflict:\\\"RevisionMarkedAsReconciledConflict\\\",RevisionMarkedAsConflict:\\\"RevisionMarkedAsConflict\\\",StyleChanged:\\\"StyleChanged\\\",ContentReplaced:\\\"ContentReplaced\\\",ParagraphPropertyChanged:\\\"ParagraphPropertyChanged\\\",TablePropertyChanged:\\\"TablePropertyChanged\\\",SectionPropertyChanged:\\\"SectionPropertyChanged\\\",StyleDefinitionChanged:\\\"StyleDefinitionChanged\\\",ContentMovedFrom:\\\"ContentMovedFrom\\\",ContentMovedTo:\\\"ContentMovedTo\\\",TableCellInserted:\\\"TableCellInserted\\\",TableCellDeleted:\\\"TableCellDeleted\\\",TableCellsMerged:\\\"TableCellsMerged\\\",Unknown:\\\"Unknown\\\"},e.exports=t},7170:e=>{var t=function(e){this._yo=[],this._Il=null,this._Jl=null,Object.defineProperties&&Object.defineProperties(this,{revisions:{configurable:!!e,enumerable:!0,get:function(){return this._yo}},errorCode:{configurable:!!e,enumerable:!0,get:function(){return this._Il}},errorMessage:{configurable:!!e,enumerable:!0,get:function(){return this._Jl}}}),PCCViewer.EventEmitter.extend(this)};t.prototype.getRevisions=function(){return this._yo},t.prototype.getErrorCode=function(){return this._Il},t.prototype.getErrorMessage=function(){return this._Jl},e.exports={RevisionsRequest:t,_Y:function(e){var t=new PCCViewer.RevisionsRequest(!0);function i(t,i){var A=[];return t.changes&&t.changes.length&&t.changes.forEach((function(t){var i=1===e.viewerControl._hb._so?t.endPageIndex+1:e.viewerControl.convertToViewerPageNumber({documentPageNumber:t.endPageIndex+1,documentID:e.documentID});if(i>=1){var n=new PCCViewer.Revision;n._dn=t.id,n._ro=i,n._zb=function(e){for(var t in PCCViewer.Revision.Type)if(PCCViewer.Revision.Type.hasOwnProperty(t)&&t.toLowerCase()===e.toLowerCase())return PCCViewer.Revision.Type[t];return PCCViewer.Revision.Type.Unknown}(t.type),n._Ol=t.endPageIndex+1,n._Pl=e.documentID,A.push(n)}})),A}function A(e){var A=e.continueToken,r=i(e,t._yo.length);t._yo=t._yo.concat(r),A?(r.length&&t.trigger(PCCViewer.EventType.PartialRevisionsAvailable,{partialRevisions:r}),setTimeout((function(){n(A)}),e.continueAfter||0)):(r.length&&t.trigger(PCCViewer.EventType.PartialRevisionsAvailable,{partialRevisions:r}),t.trigger(PCCViewer.EventType.RevisionsAvailable,{completedRevisions:t.getRevisions()}),t.trigger(PCCViewer.EventType.RevisionsRetrievalCompleted,{completedRevisions:t.getRevisions()}))}function n(i){var n=PCCViewer.Deferred(),r=function(t){var i=t?\\\"&continueToken=\\\"+t:\\\"\\\";return e.imageHandlerUrl+\\\"/v2/viewingSessions/\\\"+e.documentID+\\\"/revisionData?limit=100\\\"+i}(i);PCCViewer.Ajax._xn({url:r,method:\\\"GET\\\"}).then((function(e){A(JSON.parse(e.responseText)),n.resolve()}),(function(e){var i=\\\"RequestFailed\\\",A=e.response.responseText?JSON.parse(e.response.responseText):\\\"\\\",r=e.response.status;A&&(580===r||480===r&&\\\"DocumentNotProvidedYet\\\"===A.errorCode)&&(i=A.errorCode),t._Il=i,t._Jl=\\\"The request to get revisions failed.\\\",t.trigger(PCCViewer.EventType.RevisionsRetrievalFailed,{errorMessage:t.getErrorMessage()}),t.trigger(PCCViewer.EventType.RevisionsRetrievalCompleted,{completedRevisions:t.getRevisions()}),n.reject(e.error)}))}this._Co=function(){return setTimeout((function(){if(e.isPDF)return A({changes:[],continueAfter:null,continueToken:null});n()}),0),t}}}},5830:e=>{e.exports={Pinch:\\\"Pinch\\\",Zoom:\\\"Zoom\\\",Fit:\\\"Fit\\\",ViewMode:\\\"ViewMode\\\"}},8868:e=>{var t=function(){this._Cm=\\\"\\\",this._kt={},this._Rm={},this._lt=0,this._um=new PCCViewer.SearchRequest;var e=this;this._mt=function(){for(var t=[],i=0;i{function t(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var A=Object.getOwnPropertySymbols(e);t&&(A=A.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,A)}return i}function i(e){for(var i=1;i{var A=i(6345);function n(e){this.top=e.top,this.bottom=e.bottom,this.left=e.left,this.right=e.right,this.width=e.width||e.right-e.left,this.height=e.height||e.bottom-e.top}function r(e,t){this.x=e,this.y=t,this.getDistance=function(e){var t=e.x-this.x,i=e.y-this.y,A=t*t+i*i;return Math.sqrt(A)},this.equals=function(e){return this===e||e&&this.x===e.x&&this.y===e.y||!1},this.close=function(e){return this.getDistance(e)<4},this.clone=function(){return new r(this.x,this.y)}}function a(e){return e&&1===e.nodeType}function s(e,t){var i=t&&IPCC._o._tf?\\\"m\\\":\\\"M\\\",A=t&&IPCC._o._tf?\\\"l\\\":\\\"L\\\";return IPCC._o.map(e,(function(e,t){return 0===t?i+e.x+\\\",\\\"+e.y:A+e.x+\\\",\\\"+e.y})).join(\\\"\\\")}function o(e,t,i){return function(A){if(IPCC._o._Fq&&A.type.match(\\\"mouse\\\"))return A.preventDefault(),A.stopPropagation(),!1;var n,a;if(A.preventDefault?A.preventDefault():A.returnValue=!1,A.changedTouches){var o=A.changedTouches[0];if(\\\"touchstart\\\"===A.type)t=A.target.getBoundingClientRect();else if(\\\"touchend\\\"===A.type)return void(i&&i());n=o.clientX-t.left,a=o.clientY-t.top}else n=A.clientX-t.left,a=A.clientY-t.top;var c=new r(n,a);e._qf.push(c);var g=s(e._qf);IPCC._o._tf?e._Hq.path=g.toLowerCase():e._Hq.setAttribute(\\\"d\\\",g),i&&i()}}function c(e){var t=this;if(\\\"string\\\"==typeof e){if(this._Kq=document.querySelector(e),!a(this._Kq))throw new Error('The query selector \\\"'+e+'\\\" did not match any DOM element.')}else{if(!a(e))throw new Error(\\\"The SignatureControl target is not a valid DOM element.\\\");this._Kq=e}function i(e){var i=IPCC._o._Nq.Path(void 0,{width:2e3,height:2e3,color:\\\"black\\\",thickness:4});t._Mq.appendChild(i);var A={_qf:[],_Hq:i,_ed:function(){t._Lq.push(A._qf),IPCC._o.removeEvent(t._Kq,\\\"mousemove\\\",n),IPCC._o.removeEvent(t._Kq,\\\"mouseup\\\",r),IPCC._o._Fq&&(IPCC._o.removeEvent(t._Kq,IPCC._o._Rq.move,n),IPCC._o.removeEvent(t._Kq,IPCC._o._Rq.up,r)),IPCC._o._Sq&&(IPCC._o.removeEvent(t._Kq,\\\"touchmove\\\",n),IPCC._o.removeEvent(t._Kq,\\\"touchend\\\",r))}},n=o(A,t._Eq),r=o(A,t._Eq,A._ed);n(e),IPCC._o.addEvent(t._Kq,\\\"mousemove\\\",n),IPCC._o.addEvent(t._Kq,\\\"mouseup\\\",r),IPCC._o._Fq&&(IPCC._o.addEvent(t._Kq,IPCC._o._Rq.move,n),IPCC._o.addEvent(t._Kq,IPCC._o._Rq.up,r)),IPCC._o._Sq&&(IPCC._o.addEvent(t._Kq,\\\"touchmove\\\",n),IPCC._o.addEvent(t._Kq,\\\"touchend\\\",r))}this._Lq=[],this._Eq=new n(this._Kq.getBoundingClientRect()),this._Mq=IPCC._o._Nq.SVG([0,0,this._Eq.width,this._Eq.height].join(\\\" \\\")),this._Kq.appendChild(this._Mq),IPCC._o.addEvent(t._Kq,\\\"mousedown\\\",i),IPCC._o._Fq&&(this._Kq.style[\\\"-ms-touch-action\\\"]=\\\"none\\\",this._Kq.style[\\\"touch-action\\\"]=\\\"none\\\",IPCC._o.addEvent(t._Kq,IPCC._o._Rq.down,i)),IPCC._o._Sq&&IPCC._o.addEvent(t._Kq,\\\"touchstart\\\",i),this._Tq=function(){t._Eq=new n(t._Kq.getBoundingClientRect()),t._Mq.setAttribute(\\\"viewBox\\\",[0,0,t._Eq.width,t._Eq.height].join(\\\" \\\"))},IPCC._o.addEvent(window,\\\"resize\\\",this._Tq),this._Uq=function(){for(IPCC._o.removeEvent(window,\\\"resize\\\",t._Tq),IPCC._o.removeEvent(t._Kq,\\\"mousedown\\\",i),IPCC._o._Fq&&IPCC._o.removeEvent(t._Kq,IPCC._o._Rq.down,i),IPCC._o._Sq&&IPCC._o.removeEvent(t._Kq,\\\"touchstart\\\",i);t._Kq.firstChild;)t._Kq.removeChild(t._Kq.firstChild)}}c.prototype.done=function(){var e,t,i,A,n=\\\"M0,0\\\";return IPCC._o.forEach(this._Lq,(function(n){IPCC._o.forEach(n,(function(n){(void 0===e||e>n.x)&&(e=n.x),(void 0===t||t>n.y)&&(t=n.y),(void 0===i||i0?e.substr(0,t+3):e})),o)})),this._Uq(),{type:\\\"path\\\",path:n,width:i-e||0,height:A-t||0}},c.prototype.resize=function(){return this._Tq(),this},c.prototype.clear=function(){for(var e=this._Mq;e&&e.firstChild;)e.removeChild(e.firstChild);return this._Lq=[],this},c.prototype.undo=function(){return this._Mq.lastChild&&this._Mq.removeChild(this._Mq.lastChild),this._Lq.pop(),this},c.prototype.cancel=function(){return this._Uq(),this};var g=new A;e.exports={SignatureControl:function(e){return new c(e)},SignatureDisplay:function(e,t){if(a(e)){if(t){if(t.path)return function(){if(!t.path||t.path.match(/[^MLC0-9.,\\\\s]/))throw new Error(\\\"A valid path is required in the signature object.\\\");var i=IPCC._o._Zq(t.path),A=IPCC._o._Nq.SVG([0,0,i.width,i.height].join(\\\" \\\")),n=IPCC._o._Nq.Path(t.path,{width:i.width,height:i.height,color:\\\"black\\\",thickness:4});if(IPCC._o._tf){var r=i.height/i.width*100;A.style.width=n.style.width=\\\"100%\\\",A.style.height=n.style.height=\\\"0px\\\",A.style.paddingBottom=n.style.paddingBottom=r+\\\"%\\\"}else A.style.width=\\\"100%\\\",A.style.maxHeight=\\\"100%\\\",A.setAttribute(\\\"preserveAspectRatio\\\",\\\"xMinYMin meet\\\");return A.appendChild(n),e.appendChild(A),{width:i.width,height:i.height,clear:function(){e.removeChild(A)}}}();if(t.text)return function(){if(!t.text||\\\"string\\\"!=typeof t.text)throw new Error(\\\"The signature text is not a valid string.\\\");var i=document.createElement(\\\"div\\\"),A=document.createTextNode(t.text),n=\\\"string\\\"==typeof t.fontName?t.fontName:\\\"serif\\\";i.appendChild(A),i.style.textAlign=\\\"center\\\",i.style.fontFamily='\\\"'+n+'\\\", cursive',i.style.fontSize=\\\"2.5em\\\",i.style.overflow=\\\"hidden\\\",e.appendChild(i);var r=IPCC._o._dr(t.text,n);return{width:r.width,height:r.height,clear:function(){e.removeChild(i)}}}();throw new Error(\\\"The signature provided does not have a known type.\\\")}throw new Error(\\\"The `signature` parameter is required.\\\")}throw new Error(\\\"The `domElement` parameter is not a valid HTMLElement.\\\")},Signatures:g}},9761:(e,t,i)=>{\\\"use strict\\\";function A(e,t){var i=\\\"undefined\\\"!=typeof Symbol&&e[Symbol.iterator]||e[\\\"@@iterator\\\"];if(!i){if(Array.isArray(e)||(i=s(e))||t&&e&&\\\"number\\\"==typeof e.length){i&&(e=i);var A=0,n=function(){};return{s:n,n:function(){return A>=e.length?{done:!0}:{done:!1,value:e[A++]}},e:function(e){throw e},f:n}}throw new TypeError(\\\"Invalid attempt to iterate non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\")}var r,a=!0,o=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return a=e.done,e},e:function(e){o=!0,r=e},f:function(){try{a||null==i.return||i.return()}finally{if(o)throw r}}}}function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i=null==e?null:\\\"undefined\\\"!=typeof Symbol&&e[Symbol.iterator]||e[\\\"@@iterator\\\"];if(null==i)return;var A,n,r=[],a=!0,s=!1;try{for(i=i.call(e);!(a=(A=i.next()).done)&&(r.push(A.value),!t||r.length!==t);a=!0);}catch(e){s=!0,n=e}finally{try{a||null==i.return||i.return()}finally{if(s)throw n}}return r}(e,t)||s(e,t)||function(){throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\")}()}function r(e){return r=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},r(e)}function a(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if(\\\"undefined\\\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\\\"@@iterator\\\"])return Array.from(e)}(e)||s(e)||function(){throw new TypeError(\\\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\")}()}function s(e,t){if(e){if(\\\"string\\\"==typeof e)return o(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return\\\"Object\\\"===i&&e.constructor&&(i=e.constructor.name),\\\"Map\\\"===i||\\\"Set\\\"===i?Array.from(e):\\\"Arguments\\\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,A=new Array(t);i=0;--n){var r=this.tryEntries[n],a=r.completion;if(\\\"root\\\"===r.tryLoc)return A(\\\"end\\\");if(r.tryLoc<=this.prev){var s=i.call(r,\\\"catchLoc\\\"),o=i.call(r,\\\"finallyLoc\\\");if(s&&o){if(this.prev=0;--A){var n=this.tryEntries[A];if(n.tryLoc<=this.prev&&i.call(n,\\\"finallyLoc\\\")&&this.prev=0;--t){var i=this.tryEntries[t];if(i.finallyLoc===e)return this.complete(i.completion,i.afterLoc),y(i),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc===e){var A=i.completion;if(\\\"throw\\\"===A.type){var n=A.arg;y(i)}return n}}throw new Error(\\\"illegal catch attempt\\\")},delegateYield:function(e,t,i){return this.delegate={iterator:b(e),resultName:t,nextLoc:i},\\\"next\\\"===this.method&&(this.arg=void 0),l}},e}function g(e,t,i,A,n,r,a){try{var s=e[r](a),o=s.value}catch(e){return void i(e)}s.done?t(o):Promise.resolve(o).then(A,n)}function h(e){return function(){var t=this,i=arguments;return new Promise((function(A,n){var r=e.apply(t,i);function a(e){g(r,A,n,a,s,\\\"next\\\",e)}function s(e){g(r,A,n,a,s,\\\"throw\\\",e)}a(void 0)}))}}var l=i(3316),u=i(7146),d=i(3904),I=i(7464),C=i(564),f=i(6142),p=i(5023)._Yi;function B(e,t,i){if(!(this instanceof B))return new B(e,t,i);if(!l._o._fz(e))throw new Error(\\\"The 'element' argument is required.\\\");if(!i.documentID)throw new Error(\\\"A valid value for 'options.documentID' is required\\\");if(!i.imageHandlerUrl)throw new Error(\\\"A valid value for 'options.imageHandlerUrl' is required\\\");var A=this;this._LBa=t,this._Bi=new PCCViewer._Q(t),l._o._FK(e);var n=document.createElement(\\\"div\\\");n.className=\\\"pccViewerControl\\\",n.id=\\\"pccViewerControl-\\\"+l._g(),e.appendChild(n),this._IN=n,this._BN=e;var r=document.createElement(\\\"div\\\");if(r.className=\\\"pccPageListLoading\\\",n.appendChild(r),this._Dr=r,this._Cr=!1,this._Ga=u._Ei({},B._TJ,i),this._Ga.language=u._Ei({},B._MBa,i.language?i.language:{}),i.language&&PCCViewer.Language.initializeData(i.language),\\\"vertical\\\"===this._Ga.pageLayout.toLowerCase())this._Ga.pageLayout=l.PageLayout.VerticalScrollDirection;else{if(\\\"horizontal\\\"!==this._Ga.pageLayout.toLowerCase())throw new Error(\\\"The value of 'options.pageLayout' is invalid.\\\");this._Ga.pageLayout=l.PageLayout.HorizontalScrollDirection}if(\\\"document\\\"===this._Ga.viewMode.toLowerCase())this._Ga.viewMode=l.ViewMode.Document;else if(\\\"equalwidthpages\\\"===this._Ga.viewMode.toLowerCase())this._Ga.viewMode=l.ViewMode.EqualWidthPages;else if(\\\"equalfitpages\\\"===this._Ga.viewMode.toLowerCase())this._Ga.viewMode=l.ViewMode.EqualFitPages;else{if(\\\"singlepage\\\"!==this._Ga.viewMode.toLowerCase())throw new Error(\\\"The value of 'options.viewMode' is invalid.\\\");this._Ga.viewMode=l.ViewMode.SinglePage}if(!(-1<[\\\"auto\\\",\\\"server\\\",\\\"client\\\"].indexOf(A._Ga.searchMethodType.toLowerCase())))throw new Error(\\\"The value of 'options.searchMethodType' should be 'auto', 'server', or 'client'.\\\");if(isNaN(this._Ga.searchMethodPageCountThreshold)&&\\\"number\\\"!=typeof this._Ga.searchMethodPageCountThreshold&&this._Ga.searchMethodPageCountThreshold<=1)throw new Error(\\\"The value of 'options.searchMethodPageCountThreshold' must be a number greater than 1.\\\");this._Ga.redactionViewMode?\\\"draft\\\"===this._Ga.redactionViewMode.toLowerCase()?this._Ga.redactionViewMode=PCCViewer.RedactionViewMode.Draft:\\\"normal\\\"===this._Ga.redactionViewMode.toLowerCase()&&(this._Ga.redactionViewMode=PCCViewer.RedactionViewMode.Normal):this._Ga.redactionViewMode=PCCViewer.RedactionViewMode.Normal;var a=this._Ga.pageRotation%360;if(0!==a){if(!a||-1===[90,180,270,-90,-180,-270].indexOf(a))throw new Error(\\\"The value of 'options.pageRotation' is invalid.\\\")}if(this._Ga.pageRotation=a,\\\"hidesidehandleswhenclose\\\"===this._Ga.markHandleMode.toLowerCase())this._Ga.markHandleMode=l.Web.UI.MarkHandleMode.HideSideHandlesWhenClose;else{if(\\\"hidecornerhandleswhenclose\\\"!==this._Ga.markHandleMode.toLowerCase())throw new Error(\\\"The value of 'options.markHandleMode' is invalid.\\\");this._Ga.markHandleMode=l.Web.UI.MarkHandleMode.HideCornerHandlesWhenClose}if(isNaN(this._Ga.serviceResponseTimeout)||\\\"number\\\"!=typeof this._Ga.serviceResponseTimeout||this._Ga.serviceResponseTimeout<0)throw new Error(\\\"The value of 'options.serviceResponseTimeout' is invalid.\\\");if(\\\"boolean\\\"!=typeof this._Ga.debug)throw new Error(\\\"The value of 'options.debug' is invalid.\\\");if(\\\"string\\\"!=typeof this._Ga.viewerAssetsPath)throw new Error(\\\"The value of 'options.viewerAssetsPath' is invalid.\\\");if(\\\"boolean\\\"!=typeof this._Ga.enableMultipleRedactionReasons)throw new Error(\\\"The value of 'options.enableMultipleRedactionReasons' is invalid.\\\");return this._Ji={},this._wn=\\\"\\\",this._PBa=1,this._QBa=0,this._Xf=1,this._en=void 0,this._RBa=new PCCViewer.Deferred,this._SBa=this._RBa.getPromise(),this._vR=!1,this._hb={pageCount:1},this._TBa=0,this._JA=void 0,this._tga=PCCViewer.MouseTools.getMouseTool(\\\"AccusoftPanAndEdit\\\"),this._lz=!1,this._BR=!1,this._UBa=!1,this._VBa=[],this._WBa=new PCCViewer.Deferred,this._XBa=this._WBa.getPromise(),this._YBa=[],this._ZBa={},this._aCa={},this._bCa={},this._mha=null,this._cCa={},this._dCa=null,this._eCa=new PCCViewer.MarkupLayerCollection(this._LBa),this._fCa=new PCCViewer.MarkupLayer(this._LBa),this._eCa.addItem(this._fCa),this._Tr=!0,this._dI=new Promise((function(e){setTimeout((function(){A._gCa().then((function(t){var i=function(){A._jCa=t.delayEnabled,A._kCa(n,A._Ga),e()};!1===t.clientFileRetrievalDisabled?A._lCa().then(i):i()}))}),0)})),this._mCa=null,this._nCa=null,this._um=null,this._oCa=!1,this._pCa=-1,this._qCa={},this._rCa=!1,this._sCa=null,this._tCa=!1,this._uCa={},this._vCa=null,this._wCa=!1,this._xCa=null,this._yCa=!1,this._zCa=null,this._ACa=!1,this._BCa=null,this._CCa=!1,this._bI=this._Ga.printTemplate||(this._Ga.template?this._Ga.template.print:\\\"\\\"),this._DCa=null,this._ECa=null,this._gha=function(e,t,i){var A=document.createElement(\\\"div\\\"),n=A.style;return n.position=\\\"absolute\\\",t.isSelected?n.backgroundColor=\\\"white\\\":n.backgroundColor=\\\"lightgray\\\",n.left=\\\"10px\\\",n.right=\\\"0\\\",n.textAlign=\\\"left\\\",l._o.forEach(e.getComments(),(function(e,t){var i=document.createElement(\\\"div\\\"),n=i.style;n.position=\\\"relative\\\",n.padding=\\\"5px\\\",n.border=\\\"1px solid gray\\\",t>0&&(n.borderTop=\\\"none\\\"),i.appendChild(document.createTextNode(e.getText())),A.appendChild(i)})),A},this._JCa=function(e){A._KCa(e.partialPiiEntities)},this._LCa=function(){A._tCa=!1},this._MCa=function(){A._wCa=!1},this._NCa=function(){A._yCa=!1},this._OCa=function(){A._ACa=!1},this._PCa=function(){A._CCa=!1},A}function m(e,t,i,A,n){var r,a,s;if(e._ECa=null,t instanceof PCCViewer.Conversation){if(void 0===e._ZBa[t.getMark().getId()])throw new Error(\\\"The parameter target is a conversation of a mark unknown to the viewer control.\\\");var o=e._en.scrollConversationIntoView(t.getMark()._at.get_conversation());return\\\"PageOutOfView\\\"===o?(e._DCa=A,a=e.convertToViewerPageNumber({documentPageNumber:t.getMark()._Ol,documentID:t.getMark()._Pl}),e.setPageNumber(a),!1):\\\"ConversationDivDoesNotExist\\\"===o&&t.getMark()._at.get_conversation().get_length()>0?(e._ECa=t,e._Bi.on(PCCViewer.EventType.CommentCreated,i),!1):(e._DCa=null,!0)}if(t instanceof PCCViewer.SearchResult){if(t._fn.documentID!==e._hb.get_documentIdentifier())throw new Error(\\\"The parameter target is a SearchResult that was not created using the current document viewing session.\\\");s=t.getBoundingRectangle(),r=new l.Web.UI.Rectangle(s.x,s.y,s.width,s.height),a=e.convertToViewerPageNumber(t._fn)}else if(t instanceof PCCViewer.Mark){if(void 0===e._ZBa[t.getId()])throw new Error(\\\"The parameter target is a mark unknown to the viewer control.\\\");s=t.getBoundingRectangle(),r=new l.Web.UI.Rectangle(s.x,s.y,s.width,s.height),a=e.convertToViewerPageNumber({documentPageNumber:t._Ol,documentID:t._Pl})}else if(t instanceof PCCViewer.PiiEntity){if(t._fn.documentID!==e._hb.get_documentIdentifier())throw new Error(\\\"The parameter target is a PiiEntity that was not created using the current document viewing session.\\\");s=t.getBoundingRectangle(),r=new l.Web.UI.Rectangle(s.x,s.y,s.width,s.height),a=e.convertToViewerPageNumber(t._fn)}else{if(null==t)throw new Error(\\\"The target parameter must be a Mark, SearchResult, Point, or PiiEntity.\\\");if(\\\"number\\\"==typeof t.x&&\\\"number\\\"==typeof t.y)r=new l.Web.UI.Rectangle(+t.x,+t.y,0,0);else{if(isNaN(+t.x)||isNaN(+t.y))throw new Error(\\\"The parameter target does not contain a valid x and y values.\\\");r=new l.Web.UI.Rectangle(Number(+t.x),Number(+t.y),0,0)}if(t.width)if(\\\"number\\\"==typeof t.width)r.width=t.width;else{if(isNaN(+t.width))throw new Error(\\\"The parameter target does not contain a valid width value.\\\");r.width=Number(+t.width)}if(t.height)if(\\\"number\\\"==typeof t.height)r.height=t.height;else{if(isNaN(+t.height))throw new Error(\\\"The parameter target does not contain a valid height value.\\\");r.height=Number(+t.height)}if(\\\"number\\\"==typeof t.pageNumber)a=+t.pageNumber;else{if(isNaN(+t.pageNumber))throw new Error(\\\"The parameter target does not contain a valid pageNumber value.\\\");a=Number(+t.pageNumber)}}if(a<1||a>e.getPageCount()||!isFinite(a))throw new RangeError(\\\"The parameter pageNumber is out of range.\\\");return!1===e._en.scrollRegionIntoView(a-1,r)?(e._DCa=function(){n(a,r)},e.setPageNumber(a),!1):(e._DCa=null,!0)}function E(e){var t={errorsExist:!1,searchTerms:[]};if(\\\"proximity\\\"===(e.type?l._o.trim(e.type).toLowerCase():void 0))return\\\"[object Array]\\\"!==Object.prototype.toString.call(e.terms)?(t.searchTerms.push({isValid:!1,message:\\\"Proximity search terms property must be an array\\\"}),t.errorsExist=!0,t):e.terms.length<2?(t.searchTerms.push({isValid:!1,message:\\\"Proximity search terms array must contain at least two values\\\"}),t.errorsExist=!0,t):e.distance?(l._o.forEach(e.terms,(function(e){var i=E(e);i.errorsExist&&(t.errorsExist=!0),t.searchTerms=t.searchTerms.concat(i.searchTerms)})),t):(t.searchTerms.push({isValid:!1,message:\\\"Proximity search term must have a distance specified\\\"}),t.errorsExist=!0,t);var i=!(void 0===e.matchingOptions||!e.matchingOptions.hasOwnProperty(\\\"matchCase\\\"))&&e.matchingOptions.matchCase;if(void 0===e.searchTerm||\\\"string\\\"!=typeof e.searchTerm||!0===e.searchTermIsRegex&&!Q(e.searchTerm,i))return t.errorsExist=!0,t.searchTerms.push({isValid:!1,message:\\\"Search term must be a string containing either plain text or a valid regular expression.\\\"}),t;if(!(void 0===e.matchingOptions||!e.matchingOptions.hasOwnProperty(\\\"exactPhrase\\\"))&&e.matchingOptions.exactPhrase){if(e.searchTerm.length<0)return t.errorsExist=!0,t.searchTerms.push({isValid:!1,message:\\\"Search term must contain at least 3 characters.\\\"}),t}else{var A=e.searchTerm.split(\\\" \\\");l._o.forEach(A,(function(e){e.length>0&&e.length<0&&(t.errorsExist=!0,t.searchTerms.push({isValid:!1,message:\\\"Search term must contain at least 3 characters.\\\"}))}))}return t.searchTerms.length||t.searchTerms.push({isValid:!0,message:null}),t}B._QCa=new Map,B.prototype._gCa=h(c().mark((function e(){var t,i,A,n,r;return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=function(){return(A=h(c().mark((function e(i){var A,n,r,a,s;return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:s=function(){r.innerText=\\\"Please wait \\\"+i+\\\" seconds...\\\"},A=document.createElement(\\\"div\\\"),n=document.createElement(\\\"div\\\"),r=document.createElement(\\\"p\\\"),a=!0,n.innerHTML='

    Evaluation Mode

    Please note that PrizmDoc Viewer is running in evaluation mode with a fixed feature set. Viewing is artificially delayed by about 10 seconds and all pages will be watermarked.

    To test all features without restriction, contact us to discuss our 30-day full-featured trial.

    ',s(),A.className=\\\"pccPageListNagModal open\\\",n.appendChild(r),A.appendChild(n),t._IN.appendChild(A),A.onclick=function(){a=!1};case 9:if(!(--i>0&&a)){e.next=15;break}return s(),e.next=13,new Promise((function(e){return setTimeout(e,1e3)}));case 13:e.next=9;break;case 15:null!==A.parentNode&&A.parentNode.removeChild(A);case 16:case\\\"end\\\":return e.stop()}}),e)})))).apply(this,arguments)},i=function(e){return A.apply(this,arguments)},t=this,e.prev=3,e.next=6,PCCViewer.Ajax._xn({method:\\\"GET\\\",url:t._Ga.imageHandlerUrl+\\\"/v2/ViewingSessions/\\\"+t._Ga.documentID+\\\"/restrictions\\\",headers:{\\\"Content-Type\\\":\\\"application/json\\\"}});case 6:if(200===(n=e.sent).status){e.next=9;break}throw new PCCViewer.Error(\\\"AjaxError\\\",\\\"Failed to get valid client restrictions\\\");case 9:if(!(r=JSON.parse(n.responseText)).delayEnabled){e.next=13;break}return e.next=13,i(Math.max(10,r.delaySecondsRemaining||0));case 13:return e.abrupt(\\\"return\\\",r);case 16:return e.prev=16,e.t0=e.catch(3),e.abrupt(\\\"return\\\",{});case 19:case\\\"end\\\":return e.stop()}}),e,this,[[3,16]])}))),B.prototype._lCa=h(c().mark((function e(){var t,i,A,n;return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=(t=this)._Ga.imageHandlerUrl+\\\"/v2/viewingSessions/\\\"+encodeURIComponent(t._Ga.documentID)+\\\"/clientFile?accept=pdf\\\",e.prev=2,e.next=5,PCCViewer.Ajax._xn({method:\\\"GET\\\",url:i,headers:{range:\\\"bytes=0-8\\\"},responseType:\\\"arraybuffer\\\"});case 5:if(A=e.sent,n=A.responseText,f._Bu(new Uint8Array(n))){e.next=9;break}return e.abrupt(\\\"return\\\");case 9:return t._eI=!0,t._FA=function(e,A){return h(c().mark((function n(){var r;return c().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!e){n.next=2;break}return n.abrupt(\\\"return\\\",e);case 2:if(!A){n.next=4;break}return n.abrupt(\\\"return\\\",A);case 4:return A=f._xn(i,{_dDa:!!t._jCa}),n.next=7,A;case 7:return r=n.sent,A=null,e=r,n.abrupt(\\\"return\\\",e);case 11:case\\\"end\\\":return n.stop()}}),n)})))}(),e.next=13,Promise.all(Array.from(B._QCa.values()));case 13:e.next=17;break;case 15:e.prev=15,e.t0=e.catch(2);case 17:case\\\"end\\\":return e.stop()}}),e,this,[[2,15]])}))),B._TJ={encryption:!1,viewMode:\\\"Document\\\",debug:!1,pageLayout:\\\"Vertical\\\",resourcePath:\\\"img\\\",serviceResponseTimeout:6e4,printTemplate:\\\"\\\",pageRotation:0,markHandleMode:\\\"HideSideHandlesWhenClose\\\",enableMultipleRedactionReasons:!1,debugErrorLevel:l.Web.UI.DebugErrorLevel.Detailed,maxPrefetch:3,displayPagesWhenScrolling:!0,maxOutOfViewDisplay:0,scrollDisplayThreshold:.5,requireRequestsOptimize:!0,loadingContent:\\\"\\\",redactionViewMode:\\\"Normal\\\",searchMethodType:\\\"auto\\\",searchMethodPageCountThreshold:80,viewerAssetsPath:\\\"viewer-assets\\\"},B._MBa={pageLoadFailed:\\\"Page Load Failed\\\",pageLoadFailedPassword:\\\"Page Load Failed - Password Required\\\",pageLoadFailedRetry:\\\"Retry\\\"},B.prototype._kCa=function(e){if(!this._Cr){var t,i=this,A=function(){if(i._Ga.viewMode!==l.ViewMode.SinglePage&&!i._Cr){var e=i._en.get_pageNodeId(),t=document.getElementById(e),A=i._IN.childNodes[0].childNodes[0].childNodes[0].childNodes;t&&(l._o.forEach(A,(function(e){t!==e&&(8===document.documentMode&&e.style.outline?e.style.outline=\\\"\\\":e.style.boxShadow&&(e.style.boxShadow=\\\"\\\"))})),8===document.documentMode?t.style.outline=\\\"2px solid #aaa\\\":t.style.boxShadow=\\\"0 0 4px 1px rgba(0,0,0,.4)\\\")}},n=function(e){i._hb._so=e,i._UBa=!0,setTimeout((function(){i._Bi.trigger(\\\"EstimatedPageCountReady\\\",{pageCount:e})}),10),d()},r=function(e){i._hb._so>1?(i._hb._so=e,setTimeout((function(){var t;if(e=e;t--)i._JA.removePage(t);else if(e>i._hb._so)for(t=i._hb._so;t=0&&(i._YBa.push(t.pageIndex),i._YBa.length===i._hb._so&&i._WBa.resolve(!1)),setTimeout((function(){i._Cr||i._Bi.trigger(\\\"PageTextReady\\\",{pageNumber:i.convertToViewerPageNumber(t.pageReference),pageReference:t.pageReference})}),0)})),this._en.add_textExtractionFailed((function(e,t){!1===i._YBa.indexOf(t.pageIndex)>=0&&(i._YBa.push(t.pageIndex),i._YBa.length===i._hb._so&&i._WBa.resolve(!1))})),this._en.set_conversationDOMFactory((function(e,t,A){var n=i._ZBa[e.get_markID()];if(n)return i._gha(n.getConversation(),t,A)})),l.detect.webfonts(e,(function(e){if(!e&&\\\"svg\\\"!==l._o._wl){if(console.warn(\\\"PrizmDoc cannot use inline font. Enable remote fonts in your browser for faster document rendering.\\\"),!i._vR)return void(l._o._wl=\\\"svg\\\");if(i._lz)l._o._wl=\\\"svg\\\",i._en.disposeDisplayedPages(),i._en.displayAll();else{i._Bi.on(PCCViewer.EventType.PageCountReady,(function e(){i._Bi.off(PCCViewer.EventType.PageCountReady,e),l._o._wl=\\\"svg\\\",i._en.disposeDisplayedPages(),i._en.displayAll()}))}}})),s=i._IN,(o=document.createElement(\\\"div\\\")).className=\\\"pccCopyText\\\",s.appendChild(o),i._nEa=o,this._en.add_selectTextMouseToolCompleted((function(e,t){if(t.text&&0!==t.text.length){for(var A=t.pageReferences,n=[],r=-t.startIndex,a=[],s=0;s=0;w--){var b=I._gS[w];(y=i._en._IA(i._JA.getPage(b._Zl))).removeMark(b),I._gS.splice(w,1)}I._at=new l.Web.UI.Mark(t.previousFirstMark.get_type()),I._at._Zl=A[0].documentPageNumber-1,I._Nl=i.convertToViewerPageNumber(A[0]),I._Pl=A[0].documentID,I._Ol=A[0].documentPageNumber,I._at._QS=!0,I._at._Yua=Q;var v=i._uoa;i._uoa=null,i._en.remove_markChanged(i._XH),(y=i._en._IA(i._JA.getPage(I._at._Zl))).addMark(I._at),f&&I._at.set_text(f),p&&I._at.set_fillColor(p),B&&I._at.set_lineColor(B),m&&I._at.set_lineWidth(m),E&&I._at.set_href(E),I._NH=new PCCViewer.Conversation(I),PCCViewer.Conversation._gt(_,I._NH),i._en.add_markChanged(i._XH),i._uoa=v}return I._at.set_selected(!0),I._at.set_visible(!0),I.setPosition({startIndex:t.startIndex,length:t.text.length}),i._en.add_markRemoved(i._Goa),i._en.add_markSelectionChanged(i._Foa),void i._iEa(I,A[0])}var k=null;switch(t.mouseTool){case l.Web.UI.MouseTool.CreateHighlightTextMark:k=\\\"HighlightAnnotation\\\";break;case l.Web.UI.MouseTool.CreateTextSelectionRedaction:k=\\\"TextSelectionRedaction\\\";break;case l.Web.UI.MouseTool.CreateTextHyperlinkMark:k=\\\"TextHyperlinkAnnotation\\\";break;case l.Web.UI.MouseTool.CreateStrikethroughMark:k=\\\"StrikethroughAnnotation\\\";break;case l.Web.UI.MouseTool.SelectText:!function(e){e.split(\\\"\\\\n\\\");var t,A,n,r=document.createDocumentFragment();t=document.createTextNode(e),r.appendChild(t),l._o._FK(i._nEa),i._nEa.appendChild(r),document.body.createTextRange?((A=document.body.createTextRange()).moveToElementText(i._nEa),A.select()):window.getSelection&&(n=window.getSelection(),(A=document.createRange()).selectNodeContents(i._nEa),n.removeAllRanges(),n.addRange(A))}(t.text);for(var x=0;x0&&(n=d.width||e.width/5),u.path&&u.path.length>0&&(c=l._o._Zq(u.path),I={x:0,y:0,width:c.width,height:c.height},(g=i.addMark(C,PCCViewer.Mark.Type.FreehandSignature)).setPath(u.path),g.setThickness(u.thickness||4)),u.text&&u.text.length&&(c=l._o._dr(u.text,u.fontName),g=i.addMark(C,PCCViewer.Mark.Type.TextSignature),I={x:0,y:0,width:c.width,height:c.height},g.setText(u.text),g.setFontName(u.fontName)),r=I.width/n,A=d.height||I.height/r,a=t.imagePoint.x-n/2,s=t.imagePoint.y-A/2,a<=0&&(a=0),s<=0&&(s=0),a+n>=e.width&&(o=a+n-e.width,a-=o),s+A>=e.height&&(o=s+A-e.height,s-=o),I={x:a,y:s,width:n,height:A},g.setRectangle({x:a,y:s,width:n,height:A}),PCCViewer.Data._Al(h,g),PCCViewer.Conversation._gt(h.getConversation(),g.getConversation())})),i.setCurrentMouseTool(c)}})),this._en._Eha((function(e,t){var A=null,n=null,r=null,a=null,s=null,o=!1,c=t.upTarget.type,g=!1;if(!0!==t.domEvent.ctrlKey&&!0!==t.domEvent.shiftKey||(g=!0),\\\"page\\\"===t.upTarget.type&&\\\"page\\\"===t.downTarget.type&&t.upTarget.pageReference.documentID===t.downTarget.pageReference.documentID&&t.upTarget.pageReference.documentPageNumber===t.downTarget.pageReference.documentPageNumber||\\\"comments\\\"===t.upTarget.type&&t.downTarget.element===t.upTarget.element)o=!0,\\\"page\\\"===t.upTarget.type&&\\\"page\\\"===t.downTarget.type&&!1===g&&i.deselectAllMarks();else if(t.upMark&&void 0!==t.downMark)if(t.upMark.get_type()===l.Web.UI.MarkType.DocumentHyperlink&&t.upMark===t.downMark)o=null!==(s=i._EEa(t.upMark)),c=\\\"documentHyperlink\\\";else{a=i._ZBa[t.upMark.get_markID()];var h=i.getCurrentMouseTool(),u=PCCViewer.MouseTools.getMouseTool(h).getType();if(void 0===a){for(var d in i._ZBa)if(i._ZBa.hasOwnProperty(d)&&i._ZBa[d]._at._Jd===t.upMark._Jd&&i._ZBa[d]._at._Jd===t.downMark._Jd){a=i._ZBa[d],t.pageIndex=a._Nl-1,o=!0,!1===g&&0===t.domEvent.button&&(u!==PCCViewer.MouseTool.Type.PanAndEdit&&u!==PCCViewer.MouseTool.Type.EditMarks||(i.deselectAllMarks(),a._at.set_selected(!0)));break}}else void 0!==t.downMark&&void 0!==t.upMark&&t.downMark._mU()===t.upMark._mU()&&(o=!0,!1===g&&!1===t.downTarget.alreadySelected&&(u!==PCCViewer.MouseTool.Type.PanAndEdit&&u!==PCCViewer.MouseTool.Type.EditMarks||(i.deselectAllMarks(),a._at.set_selected(!0))));if(void 0===a&&\\\"search\\\"===i._cCa[t.upTarget.pageReference.documentID][t.upTarget.pageReference.documentPageNumber]){if(Object.keys(this._uCa).length>0&&i._sCa)for(var I=i._sCa.getPiiEntities(),C=0;C=I[C].getStartIndexInPage()&&t.downMark._zd+t.downMark._Gd<=I[C].getStartIndexInPage()+I[C].getText().length&&t.upMark._zd>=I[C].getStartIndexInPage()&&t.upMark._zd+t.upMark._Gd<=I[C].getStartIndexInPage()+I[C].getText().length){c=\\\"piiEntity\\\",r=I[C],t.upTarget.pageIndex=r._Nl-1,t.upTarget.pageReference=r._fn,o=!0;break}if(i._um)for(var p=i._um.getResults(),B=0;B=p[B].getStartIndexInPage()&&t.downMark._zd+t.downMark._Gd<=p[B].getStartIndexInPage()+p[B].getText().length&&t.upMark._zd>=p[B].getStartIndexInPage()&&t.upMark._zd+t.upMark._Gd<=p[B].getStartIndexInPage()+p[B].getText().length){c=\\\"searchResult\\\",n=p[B],t.upTarget.pageIndex=n._Nl-1,t.upTarget.pageReference=n._fn,o=!0;break}}var m=function(e,t,A){var n=e.documentPageNumber-1;if(n0&&i._en._rd(t-1)}}(function(){for(var e=!1,A=i._en.get_displayedPages(),n=0;n=0||(i._VBa.push(t),setTimeout((function(){var e=i._VBa.length;if(e>0){for(var t=0;t1){i._en.add_allPagesAdded((function t(){i._en.remove_allPagesAdded(t),e()})),i._vDa||(i._en.add_currentPageChanged((function(){if(arguments.length<2)throw\\\"Controls currentPageChanged event did not provide any expected information\\\";var e=arguments[1].pageReference;setTimeout((function(){i._Cr||(i._Bi.trigger(\\\"PageChanged\\\",{pageNumber:i.convertToViewerPageNumber(e),pageReference:e}),A())}),0)})),i._en.add_pageDisplayed((function(){if(arguments.length<2)throw\\\"Controls pageDisplayed event did not provide any expected information\\\";var e=arguments[1].pageReference;i._DCa&&(i._DCa(),i._DCa=null,i._dCa&&i._dCa.resolve(),i._dCa=null),setTimeout((function(){i._Cr||(i._Bi.trigger(\\\"PageDisplayed\\\",{pageNumber:i.convertToViewerPageNumber(e),pageReference:e}),A())}),0),setTimeout((function(){i._Cr||i.requestPageText(i.convertToViewerPageNumber(e)).then((function(){i._xDa(e,i._pCa)}))}),10)})),i._en.add_pageOpenFailed((function(){I(arguments)})),i._vDa=!0);for(var n=i._TBa;n\\\",A.appendChild(n)):(n.innerHTML=o+\\\"
    \\\",n.appendChild(r),A.appendChild(n),(r=document.getElementById(a)).addEventListener?r.addEventListener(\\\"click\\\",s,!1):r.attachEvent(\\\"onclick\\\",s)))}(n)}),0)}function C(){i._en.remove_pageOpenFailed(C),I(arguments)}function f(e){for(var t in e)t&&(this[t]=e[t])}},B.prototype.getClientRestrictions=h(c().mark((function e(){var t,i;return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._dI;case 2:return t=!!this._eI,i=function(e){return e?\\\"enabled\\\":\\\"disabled\\\"},e.abrupt(\\\"return\\\",{sharpening:i(!t),gamma:i(!t),svgLineWidthMultiplier:i(!t),print:i(!t),serverSearch:i(!t)});case 5:case\\\"end\\\":return e.stop()}}),e,this)}))),B.prototype.getPageCount=function(){return this._en?this._en.get_pageCount():1},B.prototype.getPageNumber=function(){return this._en?this._en.get_currentPageIndex()+1:1},B.prototype.setPageNumber=function(e){var t=L(e,this.getPageCount(),\\\"pageNumber\\\");return this._en&&this.getPageNumber()!==t&&this._en.scrollToPage(t-1),this},B.prototype.changeToFirstPage=function(){return this._en&&(this._UBa||this._lz)&&this._en.scrollToFirstPage(),this},B.prototype.changeToLastPage=function(){return this._en&&(this._UBa||this._lz)&&this._en.scrollToLastPage(),this},B.prototype.changeToNextPage=function(){return this._en&&(this._UBa||this._lz)&&this._en.scrollToNextPage(),this},B.prototype.changeToPrevPage=function(){return this._en&&(this._UBa||this._lz)&&this._en.scrollToPreviousPage(),this},B.prototype.scrollBy=function(e,t){if(!this._vR)throw new Error(\\\"The method scrollTo requires the viewer to be in a 'ViewerReady' state.\\\");if(\\\"number\\\"==typeof e&&\\\"number\\\"==typeof t)this._en.scrollBy(e,t);else{if(isNaN(+e)||isNaN(+t))throw new PCCViewer.Error(\\\"InvalidArgument\\\",\\\"Please provide integer values for offsetX and offsetY properties.\\\");this._en.scrollBy(Number(+e),Number(+t))}return this},B.prototype.scrollTo=function(e){if(!this._vR)throw new Error(\\\"The method scrollTo requires the viewer to be in a 'ViewerReady' state.\\\");this._dCa&&(this._dCa.reject(new PCCViewer.Error(\\\"Error\\\",\\\"The scrollTo method was called before this scrollToAsync method completed scrolling, so scrolling for this scrollToAsync method has been cancelled.\\\")),this._dCa=null,this._DCa=null);var t=this;return m(t,e,(function i(A){A.target._ECa===e?(t._Bi.off(PCCViewer.EventType.CommentCreated,i),t._ECa=null,t.scrollTo(e)):null===A.target._ECa&&t._Bi.off(PCCViewer.EventType.CommentCreated,i),t._dCa&&t._dCa.resolve(),t._dCa=null,t._DCa=null}),(function(){t._en.scrollConversationIntoView(e.getMark()._at.get_conversation()),t._dCa&&t._dCa.resolve(),t._dCa=null,t._DCa=null}),(function(e,i){t._en.prefetchPages(),t._en.scrollRegionIntoView(e-1,i),t._dCa&&t._dCa.resolve(),t._dCa=null,t._DCa=null})),this},B.prototype.scrollToAsync=function(e){this._dCa&&(this._dCa.reject(new PCCViewer.Error(\\\"Error\\\",\\\"The scrollToAsync method was called before this scrollToAsync method completed scrolling, so scrolling for this scrollToAsync method has been cancelled.\\\")),this._dCa=null,this._DCa=null);var t=PCCViewer.Deferred(),i=t.getPromise(),A=this;A._dCa=t;try{!0===m(A,e,(function t(i){i.target._ECa===e?(A._Bi.off(PCCViewer.EventType.CommentCreated,t),A._ECa=null,A.scrollTo(e)):null===i.target._ECa&&A._Bi.off(PCCViewer.EventType.CommentCreated,t),A._dCa&&A._dCa.resolve(),A._dCa=null,A._DCa=null}),(function(){A._en.scrollConversationIntoView(e.getMark()._at.get_conversation()),A._dCa&&A._dCa.resolve(),A._dCa=null,A._DCa=null}),(function(e,t){A._en.prefetchPages(),A._en.scrollRegionIntoView(e-1,t),A._dCa&&A._dCa.resolve(),A._dCa=null,A._DCa=null}))&&t.resolve()}catch(e){A._dCa=null,A._DCa=null,t.reject(e instanceof Error?e:new PCCViewer.Error(\\\"Error\\\",e))}return i},B.prototype.rotatePage=function(e){if(!this._vR)throw\\\"The method rotatePage requires the viewer to be in a 'ViewerReady' state.\\\";!1===v(this.convertToPageReference(this.getPageNumber()).documentPageNumber-1,this)&&this._en._rd(this.getPageNumber()-1);var t=e%360,i=this;if(0!==t){if(!t||-1===[90,180,270,-90,-180,-270].indexOf(t))throw new RangeError(\\\"The value of degreesClockwise (\\\"+e+\\\") is not valid.\\\");this._en.rotate(t)}return setTimeout((function(){i._Bi.trigger(\\\"PageRotated\\\",{degreesClockwise:t,pageNumber:i.getPageNumber(),pageReference:i.convertToPageReference(i.getPageNumber())})}),0),this},B.prototype.rotateDocument=function(e){if(!this._vR)throw\\\"The method rotateDocument requires the viewer to be in a 'ViewerReady' state.\\\";!1===v(this.convertToPageReference(this.getPageNumber()).documentPageNumber-1,this)&&this._en._rd(this.getPageNumber()-1);var t=e%360,i=this;if(0!==t){if(!t||-1===[90,180,270,-90,-180,-270].indexOf(t))throw new RangeError(\\\"The value of degreesClockwise (\\\"+e+\\\") is not valid.\\\");this._en._Tla(t)}return setTimeout((function(){i._Bi.trigger(\\\"DocumentRotated\\\",{degreesClockwise:t})}),0),this},B.prototype.getScaleFactor=function(){if(!this._RDa)throw\\\"The getScaleFactor method cannot be called before the initial PageOpening event.\\\";return this._en.get_scaleFactor()},B.prototype.setScaleFactor=function(e){if(!this._RDa)throw\\\"The setScaleFactor method cannot be called before the initial PageOpening event.\\\";if(isNaN(+e)||+ethis.getMaxScaleFactor())throw new l.Web.UI.ImGearArgumentOutOfRangeException(\\\"scaleFactor\\\",e,\\\"The value must be a number between the values returned by the getMinScaleFactor and getMaxScaleFactor methods.\\\");return this._en.set_scaleFactor(+e),this},B.prototype.getMinScaleFactor=function(){if(!this._RDa)throw\\\"The getMinScaleFactor method cannot be called before the initial PageOpening event.\\\";return this._en.getMinMaxZoom().minFactor},B.prototype.getMaxScaleFactor=function(){if(!this._RDa)throw\\\"The getMaxScaleFactor method cannot be called before the initial PageOpening event.\\\";return this._en.getMinMaxZoom().maxFactor},B.prototype.zoomToPoint=function(e,t){if(!this._RDa)throw\\\"The zoomToPoint method cannot be called before the initial PageOpening event.\\\";if(!(\\\"number\\\"==typeof e&&!isNaN(e))||ethis.getMaxScaleFactor())throw new l.Web.UI.ImGearArgumentOutOfRangeException(\\\"scaleFactor\\\",e,\\\"The value must be a number between the values returned by the getMinScaleFactor and getMaxScaleFactor methods.\\\");return this._en.zoomToPoint(e,t),this},B.prototype.zoomIn=function(e){if(!this._RDa)throw\\\"The zoomIn method cannot be called before the initial PageOpening event.\\\";if(isNaN(+e)||+e<1.01||+e>20)throw new l.Web.UI.ImGearArgumentOutOfRangeException(\\\"zoomFactor\\\",e,\\\"The value must be a number between 1.01 and 20 inclusive.\\\");return this._en&&this._en.zoomIn(+e),this},B.prototype.zoomOut=function(e){if(!this._RDa)throw\\\"The zoomOut method cannot be called before the initial PageOpening event.\\\";if(isNaN(+e)||+e<1.01||+e>20)throw new l.Web.UI.ImGearArgumentOutOfRangeException(\\\"zoomFactor\\\",e,\\\"The value must be a number between 1.01 and 20 inclusive.\\\");return this._en&&this._en.zoomOut(+e),this},B.prototype.getViewMode=function(){var e;return(e=this._en&&this._en.get_viewMode?this._en.get_viewMode():this._Ga.viewMode)===l.ViewMode.EqualWidthPages?PCCViewer.ViewMode.EqualWidthPages:e===l.ViewMode.EqualFitPages?PCCViewer.ViewMode.EqualFitPages:e===l.ViewMode.SinglePage?PCCViewer.ViewMode.SinglePage:PCCViewer.ViewMode.Document},B.prototype.setViewMode=function(e){var t;switch(e){case PCCViewer.ViewMode.Document:t=l.ViewMode.Document;break;case PCCViewer.ViewMode.EqualWidthPages:t=l.ViewMode.EqualWidthPages;break;case PCCViewer.ViewMode.EqualFitPages:t=l.ViewMode.EqualFitPages;break;case PCCViewer.ViewMode.SinglePage:t=l.ViewMode.SinglePage;break;default:throw new RangeError(\\\"The value of viewMode is not a supported value.\\\")}if(this._en&&this._en.set_viewMode){var i=this._en.get_viewMode();if(i!==t){if(i===l.ViewMode.SinglePage)throw new Error(\\\"The view mode may not be changed from SinglePage to another view mode after initializing the viewer.\\\");if(t===l.ViewMode.SinglePage)throw new Error(\\\"The view mode may not be changed to SinglePage after initializing the viewer. Please use the viewMode viewer parameter instead.\\\");this._en.set_viewMode(t)}}else this._Ga.viewMode=t;return this},B.prototype.getPageLayout=function(){return(this._en&&this._en.get_pageLayout?this._en.get_pageLayout():this._Ga.pageLayout)===l.PageLayout.HorizontalScrollDirection?PCCViewer.PageLayout.Horizontal:PCCViewer.PageLayout.Vertical},B.prototype.setPageLayout=function(e){var t;if(this._Ga.viewMode!==l.ViewMode.SinglePage)switch(e){case PCCViewer.PageLayout.Vertical:t=l.PageLayout.VerticalScrollDirection;break;case PCCViewer.PageLayout.Horizontal:if(this._en&&this._en.closeCommentsPanel){this._en.closeCommentsPanel();var i=this;setTimeout((function(){i._Bi.trigger(\\\"CommentsPanelToggled\\\",{isOpen:!1})}),10)}t=l.PageLayout.HorizontalScrollDirection;break;default:throw new RangeError(\\\"The value of pageLayout is not a supported value.\\\")}return this._en&&this._en.set_pageLayout?this._en.set_pageLayout(t):this._Ga.pageLayout=t,this},B.prototype.getAtMaxScale=function(){if(!this._RDa)throw\\\"The getAtMaxScale method cannot be called before the initial PageOpening event.\\\";return this._en.getMinMaxZoom().atMax},B.prototype.getAtMinScale=function(){if(!this._RDa)throw\\\"The getAtMinScale method cannot be called before the initial PageOpening event.\\\";return this._en.getMinMaxZoom().atMin},B.prototype.fitContent=function(e){if(!this._RDa)throw\\\"The fitContent method cannot be called before the initial PageOpening event.\\\";var t;switch(e){case PCCViewer.FitType.FullWidth:t=l.FitType.FitToWidth;break;case PCCViewer.FitType.ShrinkToWidth:t=l.FitType.ShrinkToWidth;break;case PCCViewer.FitType.ActualSize:if(this.getViewMode()===PCCViewer.ViewMode.EqualWidthPages||this.getViewMode()===PCCViewer.ViewMode.EqualFitPages)throw new Error(\\\"Fitting content actual size is not supported when in EqualFitPages view mode.\\\");t=l.FitType.ActualSize;break;case PCCViewer.FitType.FullHeight:t=l.FitType.FitToHeight;break;case PCCViewer.FitType.FullPage:t=l.FitType.BestFit;break;default:throw new RangeError(\\\"The value of fitType is not a supported value.\\\")}return this._SBa.then((function(e){e.fitPages(t)})),this},B.prototype.getPageRotation=function(e){if(!this._vR)throw new Error(\\\"The method getPageRotation requires the viewer to be in a 'ViewerReady' state.\\\");if(void 0===e)return this._en._NA();var t=L(e,this.getPageCount(),\\\"pageNumber\\\");return this._en._NA(t-1)},B.prototype._kFa=function(e,t,i){var A=new p(t);return setTimeout((function(){e._Jl=A.message,e._Il=A.code,e._Hl=!0,e.trigger(i,{errorMessage:e._Jl})}),0),e},B.prototype.search=function(e){var t,i,A=this._Ga,n=A.searchMethodType.toLowerCase(),r=A.searchMethodPageCountThreshold,a=this,s=new PCCViewer.SearchRequest(!0);function o(e){return function(){s.trigger.apply(s,[e].concat([].slice.call(arguments)))}}Object.defineProperties&&Object.defineProperties(s,{searchQuery:{enumerable:!0,get:function(){return i.getSearchQuery()}},results:{enumerable:!0,get:function(){return i.getResults()}},isComplete:{enumerable:!0,get:function(){return i.getIsComplete()}},errorCode:{enumerable:!0,get:function(){return i.getErrorCode()}},errorMessage:{enumerable:!0,get:function(){return i.getErrorMessage()}}});var c=o(PCCViewer.EventType.SearchCompleted),g=o(PCCViewer.EventType.SearchCancelled),h=o(PCCViewer.EventType.SearchResultsAvailable),u=o(PCCViewer.EventType.PartialSearchResultsAvailable),d=function(A){var n=t.getErrorCode();\\\"ServerSearchUnavailable\\\"===n?(a._rCa=!0,a._oCa=!1,C(),i=a.clientSearch(e),I()):o(PCCViewer.EventType.SearchFailed).apply(null,arguments)},I=function(){i.on(PCCViewer.EventType.SearchCompleted,c),i.on(PCCViewer.EventType.SearchFailed,d),i.on(PCCViewer.EventType.SearchCancelled,g),i.on(PCCViewer.EventType.SearchResultsAvailable,h),i.on(PCCViewer.EventType.PartialSearchResultsAvailable,u)},C=function(){i.off(PCCViewer.EventType.SearchCompleted,c),i.off(PCCViewer.EventType.SearchFailed,d),i.off(PCCViewer.EventType.SearchCancelled,g),i.off(PCCViewer.EventType.SearchResultsAvailable,h),i.off(PCCViewer.EventType.PartialSearchResultsAvailable,u)},f=function(){return!1===a._rCa?(t=a.serverSearch(e),i=t,I(),l._o.forEach([\\\"getSearchQuery\\\",\\\"getResults\\\",\\\"getIsComplete\\\",\\\"getErrorCode\\\",\\\"getErrorMessage\\\",\\\"cancel\\\",\\\"getPagesWithoutText\\\"],(function(e){s[e]=function(){return i[e].apply(i,arguments)}})),s):a.clientSearch(e)};switch(n){case\\\"auto\\\":return r>=this._hb._so||this._eI?this.clientSearch(e):f();case\\\"client\\\":return this.clientSearch(e);case\\\"server\\\":return f();default:throw new Error(\\\"The value of 'options.searchMethodType' should be 'auto', 'server', or 'client'.\\\")}},B.prototype._zFa=function(e,t,i){var A=this,n=new PCCViewer._U;this._um=n._Vt(),PCCViewer.SearchTask.prototype._Zt(e),!0===t&&(!0!==A._BR&&A._SBa.then((function(t){return A._Bi.on(\\\"PageCountReady\\\",(function t(){A._Bi.off(\\\"PageCountReady\\\",t),A.clientSearch(e)})),A._um})),this._en.get_documents().forEach((function(e){if(!e._ufa())for(var t=e.get_documentIdentifier(),A=i.reduce((function(e,i){return i.documentID===t?[].concat(a(e),[i.documentPageNumber-1]):e}),[]).sort((function(e,t){return e-t})),n=0;n0&&this._sCa&&(t=this._sCa.getPiiEntities());for(var i=0;iA)&&n(\\\"unknown page number \\\"+e.pageNumber,t),PCCViewer.Mark.Type[e.type]||n(\\\"unknown type \\\"+e.type,t),\\\"RectangleRedaction\\\"!==e.type&&\\\"TextSelectionRedaction\\\"!==e.type||!i._Ga.enableMultipleRedactionReasons&&e.hasOwnProperty(\\\"reasons\\\")&&n(\\\"Loading markup with multiple redaction reasons is not supported when enableMultipleRedactionReasons is set to false\\\",t),l._o.contains(r,e.uid)?n(\\\"uid \\\"+e.uid+\\\" is being duplicated or already exists\\\",t):void 0!==e.uid&&r.push(e.uid)})),0===t.length)return[];var a=i._hb.get_pages(),s=[];return a._op((function(e){s.push(i._en._IA(e))})),l._o.reduce(t,(function(e,t){if(_(t.type)){for(var A=function(e,t){return e.filter((function(e){return e.pageNumber!==t}))},n=t.lineGroups.map((function(e){return{pageNumber:e.pageNumber,startIndex:e.startIndex,textLength:e.textLength}})).sort((function(e,t){return e.pageNumber-t.pageNumber})),s=0,o=0;o=0),!s){var o=A._Ol;r(o-1)&&a.push(o)}}a.length>0&&setTimeout((function(){if(!i._Cr)for(n=0;n0?r._en._wea(e,(function(e,t){(h=e)&&i._Gda(h),(u=t)&&i._Hda(u),d()}),(function(e){t(e)})):d()}}catch(e){t(new Error(\\\"Error while saving annotation, error:\\\"+e.message))}}(e,t)}))}));var h=function e(t,i){var A,n=\\\"\\\";if(!t._Cba)return t.toString()?t.toString():\\\"\\\";if((1===o||0===i||i>0&&\\\"documentAnnotations\\\"!==t._Cba&&\\\"pages\\\"!==t._Cba)&&\\\"highlights\\\"!==t._Cba){for(var r in n=\\\"<\\\"+t._Cba,t._oO)if(t._oO.hasOwnProperty(r)){var a=t._oO[r];if(null==a)continue;var s=a.toString();n=n+\\\" \\\"+r+'=\\\"'+(s=s.replace(/&/g,\\\"&\\\").replace(//g,\\\">\\\").replace(/\\\"/g,\\\""\\\").replace(/\\\\t/g,\\\" \\\").replace(/\\\\n/g,\\\" \\\").replace(/\\\\r/g,\\\" \\\"))+'\\\"'}n+=\\\">\\\"}for(A=0;A\\\":n+=\\\"<\\\"+t._Cba+\\\" />\\\"),n};l._o._GK(c,(function(e){if(e)i(e);else{A='';for(var t=0;t\\\"+n+\\\"\\\";A=A.replace(\\\"\\\",c)}i(void 0,A)}}))}else{e._Bi.on(\\\"PageCountReady\\\",(function A(){e._Bi.off(\\\"PageCountReady\\\",A),x(e,t,i)}))}}B.prototype._IFa=function(e){for(var t,i=0,A=0;A0&&(this._en.display(i-1),this._cCa[t.documentID][t.documentPageNumber]=\\\"search\\\")},B.prototype._xDa=function(e,t){var i,A,n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\\\"both\\\",a=this.convertToViewerPageNumber(e)-1;if((this._qCa[e.documentPageNumber]||this._uCa[e.documentPageNumber])&&this._en.clearSelectedText(a),null!==this._um&&\\\"function\\\"==typeof this._um.getResults&&(\\\"search\\\"===r||\\\"both\\\"===r)){var s=null;if(Object.keys(this._qCa).length>0&&this._um&&(s=this._um.getResults()),i=this._qCa[e.documentPageNumber]){var o;!0;var c=this.getSelectedSearchResult();for(A=i._zd;A0&&(this._en.display(n-1),this._cCa[o._fn.documentID][o._fn.documentPageNumber]=\\\"search\\\")}}if(this._sCa&&(\\\"pii\\\"===r||\\\"both\\\"===r)){var g=this._sCa.getPiiEntities();if(i=this._uCa[e.documentPageNumber]){var h,l=this.getSelectedPiiEntity();for(A=i._zd;A0&&(this._en.display(n-1),this._cCa[h._fn.documentID][h._fn.documentPageNumber]=\\\"search\\\")}}},B.prototype.setSelectedSearchResult=function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\\\"both\\\";if(!this._vR)throw\\\"The setSelectedSearchResult method requires the viewer to be in a 'ViewerReady' state.\\\";var A=this,n=0;if(null===e)this._pCa=-1,this._mCa=null;else{if(!(e instanceof PCCViewer.SearchResult))throw\\\"The parameter searchResult is not an instance of PCCViewer.SearchResult.\\\";if(0===(n=this._en.getViewerPageIndex(e._fn.documentPageNumber-1,e._fn.documentID)+1))throw\\\"The parameter searchResult contains a search result that is not on the document.\\\";if(!this._um)throw\\\"There is no current SearchRequest object available.\\\";var r=this._um.getResults();if(r[e.getId()]._Im!==e._Im)throw\\\"The parameter searchResult is not current. There is a newer version of search result available.\\\";if(r=null,this._pCa=e.getId(),t){var a=e.getBoundingRectangle(),s=new l.Web.UI.Rectangle(a.x,a.y,a.width,a.height);!1===this._en.scrollRegionIntoView(n-1,s)?(this._DCa=function(){A._en.scrollRegionIntoView(n-1,s)},this.setPageNumber(n)):this._DCa=null}}if(this._mCa){var o=this._mCa._fn.documentPageNumber,c=null!==e?e._fn.documentPageNumber:-1;o!==c&&A.requestPageText(A.convertToViewerPageNumber(A._mCa._fn)).then((function(){A._xDa(A._mCa._fn,A._pCa,i)}))}return e&&A.requestPageText(n).then((function(){A._xDa(e._fn,A._pCa,i)})),this._mCa=e,setTimeout((function(){A._Bi.trigger(PCCViewer.EventType.SearchResultSelectionChanged,{})}),0),this},B.prototype.clearSelectedSearchResult=function(){if(!this._vR)throw\\\"The clearSelectedSearchResult method requires the viewer to be in a 'ViewerReady' state.\\\";return null!==this._mCa&&this.setSelectedSearchResult(null),this},B.prototype.getSelectedSearchResult=function(){return this._mCa},B.prototype.requestPageText=function(e){var t=PCCViewer.Deferred(),i=t.getPromise(),A=this;try{var n=L(e,this.getPageCount(),\\\"pageNumber\\\");this._SBa.then((function(e){var i=A._JA.getPage(A.convertToPageReference(n).documentPageNumber-1),r=i._em();if(r._aaa(!0),r&&r._ES())if(!0===r._xD()){var a=i._em()._fm();t.resolve(a)}else t.resolve(\\\"\\\");else{var s=function e(A,n){if(!0===n.containsText){var a=r._fm();t.resolve(a)}else t.resolve(\\\"\\\");i._Rda(e),i._Vda(o)},o=function e(A,n){n.exception&&n.exception.message?t.reject(new PCCViewer.Error(\\\"TextExtractionFailed\\\",n.exception.message)):t.reject(new PCCViewer.Error(\\\"TextExtractionFailed\\\",\\\"Text extraction failed.\\\")),i._Rda(s),i._Vda(e)};i._KE(s),i._LE(o),i._qea()}}))}catch(e){t.reject(e instanceof Error?e:new PCCViewer.Error(\\\"Error\\\",e))}return i},B.prototype.disposePageText=function(e){var t=this;if(!this._vR)throw new Error(\\\"The disposePageText method requires the viewer to be in a 'ViewerReady' state.\\\");if(!0===t._en.get_retainPageText())return this;for(var i=L(e,this.getPageCount(),\\\"pageNumber\\\"),A=this.convertToPageReference(i).documentPageNumber,n=t._en.get_displayedPages(),r=0;r0||i._pb()>0)t.resolve({width:i._nb(),height:i._pb()});else{e.requestPageAttributes(i,(function(e,i){t.resolve({width:e,height:i})}),(function(e){t.reject(new PCCViewer.Error(\\\"RequestPageAttributesFailed\\\",e))}))}}))}catch(e){t.reject(e instanceof Error?e:new PCCViewer.Error(\\\"Error\\\",e))}return i},B.prototype.destroy=h(c().mark((function e(){var t,i,A;return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._Cr){e.next=37;break}for(A in this._aCa=void 0,this._bCa=void 0,this._fCa=void 0,this._eCa=void 0,this._ko=void 0,this._Zs=void 0,this._en&&\\\"function\\\"==typeof this._en.dispose&&this._en.dispose(),this._wn=\\\"\\\",delete this._en,t=this,i={},B._QCa.set(i,h(c().mark((function e(){var A;return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,!t._eI){e.next=9;break}return e.next=4,t._dI;case 4:return e.next=6,t._FA();case 6:return A=e.sent,e.next=9,A._MI();case 9:e.next=13;break;case 11:e.prev=11,e.t0=e.catch(0);case 13:return e.prev=13,B._QCa.delete(i),e.finish(13);case 16:case\\\"end\\\":return e.stop()}}),e,null,[[0,11,13,16]])})))()),this._TBa=0,this._JA=void 0,this._vDa=!1,this._BN&&(l._o._FK(this._BN),this._BN=this._IN=void 0),this._lz=!1,this._BR=!1,this._UBa=!1,this._en=void 0,this._dHa=void 0,this._RBa=void 0,this._SBa=void 0,PCCViewer.MouseTools._Ks=void 0,this._gha=void 0,this._aCa=void 0,this._nEa=void 0,this._ZBa)this._ZBa.hasOwnProperty(A)&&(this._ZBa[A]._zl=void 0,this._ZBa[A]._NH=void 0,this._ZBa[A]._at=void 0,this._ZBa[A]=void 0);return this._ZBa=void 0,this._vR=!1,this._Cr=!0,this._Bi={on:function(){},off:function(){},trigger:function(){}},this._Ji=void 0,this._Ji={},e.next=37,Promise.all(Array.from(B._QCa.values()));case 37:case\\\"end\\\":return e.stop()}}),e,this)}))),B.prototype._xR=function(){this._BN&&(this._en.preserveScrollPosition(),this._dHa=this._BN.childNodes[0],l._o._FK(this._BN))},B.prototype._AR=function(){this._dHa&&(l._o._FK(this._BN),this._BN.appendChild(this._dHa),this._dHa=void 0,this._en.restoreScrollPosition())},B.prototype._wR=function(){this._Bi.stop()},B.prototype._zR=function(){this._Bi.resume()},B.prototype._CR=function(e){this._Bi.intercept(\\\"ViewerReady\\\",e)},B.prototype.getMarkById=function(e){if(isNaN(e))throw\\\"The parameter, markId, contains a value that is not a number.\\\";return e=parseInt(e,10),this._ZBa[e]?this._ZBa[e]:null},B.prototype.getMarksByType=function(e){var t=[];if(\\\"string\\\"!=typeof e)throw\\\"The parameter, markType, is not a String.\\\";if(w(e),!this._en)return t;var i=0,A=this._JA.get_length(),n=this;function r(i){var A=n._ZBa[i.get_markID()];A&&A.getType().toLowerCase()===e.toLowerCase()&&t.push(A)}for(i=0;it._hb._so)return!1;if(\\\"number\\\"!=typeof e.length||e.length<1)return!1;return!0}(e,A)&&!(e instanceof PCCViewer.SearchResult||e instanceof PCCViewer.PiiEntity);if(!(e instanceof PCCViewer.SearchResult||e instanceof PCCViewer.PiiEntity||n))throw new PCCViewer.Error(\\\"InvalidArgument\\\",\\\"textSelection is not a valid instance of PCCViewer.ViewerControl~TextSelection, PCCViewer.SearchResult, or PCCViewer.PiiEntity\\\");if(!_(t))throw new PCCViewer.Error(\\\"InvalidArgument\\\",\\\"The mark type must be: 'TextSelectionRedaction', 'HighlightAnnotation', 'TextHyperlinkAnnotation' or 'StrikethroughAnnotation'.\\\");var a,s=e._fn||e.pageReference,o=A.convertToViewerPageNumber(s),c=s.documentPageNumber;if(o<1||o>A.getPageCount())throw new RangeError(\\\"The specified textSelection document page number \\\"+c+\\\" is out of range.\\\");if(n){var g=A._XH;A._XH=null,(a=A.addMark(o,t)).setPosition({startIndex:e.startIndex,length:e.text.length}),A._XH=g}else{var h=function(e){var t=A._hb._bm._cm(e);return{width:t._nb(),height:t._pb()}};(i=e._Mm)&&0!==i.width||(i=h(o)),i&&0!==i.width||(i=h(0));var u=l._o._ss(new Date),d=[{conversation:{comments:[],data:{}},creationDateTime:u,data:{},interactionMode:\\\"Full\\\",lineGroups:[{lines:e._Gm,pageData:i,pageNumber:c,startIndex:e.startIndexInPage,textLength:e.text.length}],maintainMarkScaling:!0,modificationDateTime:u,pageNumber:c,pageData:i,reason:\\\"\\\",selectedText:e.text,startIndex:e.startIndexInPage,textLength:e.text.length,type:t}];a=A.deserializeMarks(d)[0]}return a},B.prototype.addMark=function(e,t){if(!1===this._vR)throw\\\"The method addMark is not available until 'ViewerReady' state is reached.\\\";var i=L(e,this._hb._so,\\\"pageNumber\\\");if(\\\"string\\\"!=typeof t)throw\\\"The parameter, markType, is not a String.\\\";var A=this._qHa(i,t);return this._rHa(A)},B.prototype._qHa=function(e,t,i){var A=this;i=i||{};var n=w(t),r=new l.Web.UI.Mark(n),a=A.convertToPageReference(e);r._Zl=a.documentPageNumber-1;var s={type:t,igMark:r,pageNumber:e,documentPageNumber:a.documentPageNumber,documentID:a.documentID,uid:i.uid,viewerControl:this};return\\\"highlightannotation\\\"!==t.toLowerCase()&&\\\"textselectionredaction\\\"!==t.toLowerCase()&&\\\"strikethroughannotation\\\"!==t.toLowerCase()&&\\\"texthyperlinkannotation\\\"!==t.toLowerCase()||(s._JA=A._JA,s._en=A._en),\\\"rectangleredaction\\\"!==t.toLowerCase()&&\\\"textselectionredaction\\\"!==t.toLowerCase()||(s.enableMultipleRedactionReasons=this._Ga.enableMultipleRedactionReasons),new PCCViewer.Mark(s)},B.prototype._rHa=function(e){var t=this;if(!0===t._aEa)t._aEa=!1;else{var i=t._uoa;t._uoa=function(A,n){t._uoa=i,t._Tr&&t._fCa.addMarks(e),setTimeout((function(){t._Cr||t._Bi.trigger(\\\"MarkCreated\\\",{mark:e,pageNumber:t.convertToViewerPageNumber(n.pageReference),pageReference:n.pageReference,clientX:n.clientX,clientY:n.clientY})}),0)}}return this._en._IA(this._JA.getPage(e._Ol-1)).addMark(e._at),t._ZBa[e._at.get_markID()]=e,t._iEa(e,{documentPageNumber:e._Ol,documentID:e._Pl}),e},B.prototype.deleteMarks=function(e){var t=this;if(!this._vR)throw\\\"The method deleteMarks can not be used until 'ViewerReady' state is reached.\\\";function i(e){var i=e._Ol-1,n=\\\"\\\",r=t._en._IA(t._JA.getPage(i));r.removeMark(e._at),t._ZBa[e.getId()]&&(n=e.getType(),delete t._ZBa[e.getId()]);var a=n.toLowerCase();if((\\\"highlightannotation\\\"===a||\\\"textselectionredaction\\\"===a||\\\"strikethroughannotation\\\"===a||\\\"texthyperlinkannotation\\\"===a)&&e._gS&&e._gS.length){var s,o=A(e._gS);try{for(o.s();!(s=o.n()).done;){var c=s.value;(r=t._en._IA(t._JA.getPage(c._Zl))).removeMark(c),t._iEa(c,{documentPageNumber:c._Zl+1,documentID:e._Pl})}}catch(e){o.e(e)}finally{o.f()}}t._eCa.forEach((function(t){t.hasMark(e.getId())&&t.removeMarks(e)}))}e instanceof Array||(e=[e]);var n,r=A(e);try{for(r.s();!(n=r.n()).done;){var a=n.value;if(!(a instanceof PCCViewer.Mark))throw\\\"The parameter, marks, contains an item that is not a Mark.\\\";if(!this._ZBa[a.getId()])throw\\\"The parameter, marks, contains a Mark that is not on the document.\\\"}}catch(e){r.e(e)}finally{r.f()}var s,o=A(e);try{for(o.s();!(s=o.n()).done;){var c=s.value;i(c),this._iEa(c,{documentPageNumber:c._Ol,documentID:c._Pl})}}catch(e){o.e(e)}finally{o.f()}return this},B.prototype.deleteAllMarks=function(){var e=this.getAllMarks();return e.length>0?this.deleteMarks(e):this},B.prototype.hideMarks=function(e){return b(this,e,!1,\\\"hideMarks\\\"),this},B.prototype.showMarks=function(e){return b(this,e,!0,\\\"showMarks\\\"),this},B.prototype.moveMarkToFront=function(e){var t,i;if(!this._vR)throw\\\"The method moveMarkToFront is not available until ViewerReady state is reached.\\\";if(!(e instanceof PCCViewer.Mark))throw\\\"The parameter, mark object is not a PCCViewer.Mark object\\\";if(!((i=e._Ol)>=1))throw\\\"The mark object has not been added to any page yet\\\";if(t=this._en._IA(this._JA.getPage(i-1)),!e._at)throw\\\"The parameter, mark object is probably a templateMark or has not been initialized\\\";if(t){if(!(e._at instanceof l.Web.UI.Mark))throw\\\"The mark object has not been initialized yet\\\";if(e._at.moveToFront(),!0===v(i-1,this)){var A=this;setTimeout((function(){A._en._rd(A.convertToViewerPageNumber({documentPageNumber:i,documentID:e._Pl})-1)}),1)}}return this},B.prototype.moveMarkToBack=function(e){var t,i;if(!this._vR)throw\\\"The method moveMarkToBack is not available until ViewerReady state is reached.\\\";if(!(e instanceof PCCViewer.Mark))throw\\\"The parameter, mark object is not a PCCViewer.Mark object\\\";if(!((i=e._Ol)>=1))throw\\\"The mark object has not been added to any page yet\\\";if(t=this._en._IA(this._JA.getPage(i-1)),!e._at)throw\\\"The parameter, mark may be a templateMark or has not been initialized\\\";if(t){if(!(e._at instanceof l.Web.UI.Mark))throw\\\"The mark object has not been initialized yet\\\";if(e._at.moveToBack(),!0===v(i-1,this)){var A=this;setTimeout((function(){A._en._rd(A.convertToViewerPageNumber({documentPageNumber:i,documentID:e._Pl})-1)}),1)}}return this},B.prototype.moveMarkForward=function(e){var t,i;if(!this._vR)throw\\\"The method moveMarkForward is not available until 'ViewerReady' state is reached.\\\";if(!(e instanceof PCCViewer.Mark))throw\\\"The parameter, mark object is not a PCCViewer.Mark object\\\";if(!((i=e._Ol)>=1))throw\\\"The mark object has not been added to any page yet\\\";if(t=this._en._IA(this._JA.getPage(i-1)),!e._at)throw\\\"The parameter, mark object is probably a templateMark or has not been initialized\\\";if(t){if(!(e._at instanceof l.Web.UI.Mark))throw\\\"The mark object has not been initialized yet\\\";if(e._at.moveForward(),!0===v(i-1,this)){var A=this;setTimeout((function(){A._en._rd(A.convertToViewerPageNumber({documentPageNumber:i,documentID:e._Pl})-1)}),1)}}return this},B.prototype.moveMarkBackward=function(e){var t,i;if(!this._vR)throw\\\"The method moveMarkBackward is not available until ViewerReady state is reached.\\\";if(!(e instanceof PCCViewer.Mark))throw\\\"The parameter, mark object is not a PCCViewer.Mark object\\\";if(!((i=e._Ol)>=1))throw\\\"The mark object has not been added to any page yet\\\";if(t=this._en._IA(this._JA.getPage(i-1)),!e._at)throw\\\"The parameter, mark object is probably a templateMark or has not been initialized\\\";if(t){if(!(e._at instanceof l.Web.UI.Mark))throw\\\"The mark object has not been initialized yet\\\";if(e._at.moveBackward(),!0===v(i-1,this)){var A=this;setTimeout((function(){A._en._rd(A.convertToViewerPageNumber({documentPageNumber:i,documentID:e._Pl})-1)}),1)}}return this},B.prototype.getSelectedMarks=function(){var e=[],t=[];if(!1===this._vR)return e;var i,A,n=this._JA.get_length(),r=this;function a(i){if(i){var n=i.get_type();if(n===l.Web.UI.MarkType.HighlightText||n===l.Web.UI.MarkType.TextSelectionRedaction||n===l.Web.UI.MarkType.Strikethrough||n===l.Web.UI.MarkType.TextHyperlinkAnnotation){for(var a in r._ZBa)if(r._ZBa.hasOwnProperty(a)&&(A=r._ZBa[a],i._Jd===A._at._Jd)){for(var s=0;s=0),!n){var r=t._Ol;!0===v(r-1,this)&&i.push(r)}}if(i.length>0){var a=this;setTimeout((function(){if(!a._Cr)for(e=0;ethis.getPageCount()||!isFinite(n))throw new RangeError(\\\"The parameter pageNumber is out of range.\\\");if(!this.isPageTextReady(n))return-2;var r,a=this.convertToPageReference(n).documentPageNumber,s=this._JA.getPage(a-1),o=s._em()._YZ(),c=s._em()._im();function g(e,t){return t.x>e.x&&t.xe.y&&t.yt.y?d._eaa()-1:d._gaa(),l=r)}return A},B.prototype.getCurrentMouseTool=function(){return this._tga.getName()},B.prototype.setCurrentMouseTool=function(e){var t=this;if(!1===this._vR)throw\\\"The method setCurrentMouseTool is not available until 'ViewerReady' state is reached.\\\";var i,A,n,r=e.toLowerCase(),a=PCCViewer.MouseTools.getMouseTool(r);if(!a)throw new Error(\\\"The name argument for setCurrentMouseTool(name) must be the name of a known mouse tool.\\\");switch(a.getType()){case PCCViewer.MouseTool.Type.Magnifier:i=l.Web.UI.MouseTool.Magnifier;break;case PCCViewer.MouseTool.Type.SelectToZoom:i=l.Web.UI.MouseTool.RectangleZoom;break;case PCCViewer.MouseTool.Type.PanAndEdit:case PCCViewer.MouseTool.Type.Pan:i=l.Web.UI.MouseTool.HandPan;break;case PCCViewer.MouseTool.Type.SelectText:i=l.Web.UI.MouseTool.SelectText;break;case PCCViewer.MouseTool.Type.EditMarks:i=l.Web.UI.MouseTool.EditMarks;break;case PCCViewer.MouseTool.Type.LineAnnotation:i=l.Web.UI.MouseTool.CreateLineMark,n=a.getTemplateMark(),A={onCreating:function(e,t){var i=new PCCViewer.Mark({type:n.getType(),igMark:t.mark,pageNumber:this.convertToViewerPageNumber({documentPageNumber:t.pageIndex+1,documentID:this._hb.get_documentIdentifier()}),documentPageNumber:t.pageIndex+1,documentID:this._hb.get_documentIdentifier(),enableMultipleRedactionReasons:this._Ga.enableMultipleRedactionReasons});this._ZBa[t.mark.get_markID()]=i,i.setThickness(n.getThickness()),i.setColor(n.getColor()),i.setOpacity(n.getOpacity()),i.setEndHeadType(n.getEndHeadType()),PCCViewer.Data._Al(n,i),PCCViewer.Conversation._gt(n.getConversation(),i.getConversation())},onAdded:F()};break;case PCCViewer.MouseTool.Type.RectangleAnnotation:i=l.Web.UI.MouseTool.CreateRectangleMark,A=T(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.RectangleRedaction:i=l.Web.UI.MouseTool.CreateRectangleRedactionMark,A=function(e){return{onCreating:function(t,i){var A=new PCCViewer.Mark({type:e.getType(),igMark:i.mark,pageNumber:this.convertToViewerPageNumber({documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier()}),documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier(),enableMultipleRedactionReasons:this._Ga.enableMultipleRedactionReasons});this._ZBa[i.mark.get_markID()]=A,A._MR?A.setReasons(e.getReasons()):A.setReason(e.getReason()),A.setBorderThickness(e.getBorderThickness()),A.setFillColor(e.getFillColor()),A.setBorderColor(e.getBorderColor()),A.setFontColor(e.getFontColor()),PCCViewer.Data._Al(e,A),PCCViewer.Conversation._gt(e.getConversation(),A.getConversation())},onAdded:F()}}(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.TransparentRectangleRedaction:i=l.Web.UI.MouseTool.CreateRectangleMark,A=function(e){return{onCreating:function(t,i){var A=new PCCViewer.Mark({type:e.getType(),igMark:i.mark,pageNumber:this.convertToViewerPageNumber({documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier()}),documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier(),enableMultipleRedactionReasons:this._Ga.enableMultipleRedactionReasons});this._ZBa[i.mark.get_markID()]=A},onAdded:F()}}(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.EllipseAnnotation:i=l.Web.UI.MouseTool.CreateEllipseMark,A=T(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.TextAnnotation:i=l.Web.UI.MouseTool.CreateTextMark,A=function(e){return{onCreating:function(t,i){var A=new PCCViewer.Mark({type:e.getType(),igMark:i.mark,pageNumber:this.convertToViewerPageNumber({documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier()}),documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier(),enableMultipleRedactionReasons:this._Ga.enableMultipleRedactionReasons});this._ZBa[i.mark.get_markID()]=A,A.setBorderThickness(e.getBorderThickness()),A.setFillColor(e.getFillColor()),A.setBorderColor(e.getBorderColor()),A.setOpacity(e.getOpacity()),A.setFontName(e.getFontName()),A.setFontColor(e.getFontColor()),A.setFontSize(e.getFontSize()),A.setFontStyle(e.getFontStyle()),A.setHorizontalAlignment(e.getHorizontalAlignment()),PCCViewer.Data._Al(e,A),PCCViewer.Conversation._gt(e.getConversation(),A.getConversation())},onAdded:F()}}(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.TextRedaction:i=l.Web.UI.MouseTool.CreateTextMark,A=N(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.TextInputSignature:i=l.Web.UI.MouseTool.CreateTextInputSignatureMark,A=N(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.TextAreaSignature:i=l.Web.UI.MouseTool.CreateTextAreaSignatureMark,A=N(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.StampAnnotation:case PCCViewer.MouseTool.Type.StampRedaction:i=l.Web.UI.MouseTool.CreateStampMark,A=function(e){return{onCreating:function(t,i){var A=new PCCViewer.Mark({type:e.getType(),igMark:i.mark,pageNumber:this.convertToViewerPageNumber({documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier()}),documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier(),enableMultipleRedactionReasons:this._Ga.enableMultipleRedactionReasons});this._ZBa[i.mark.get_markID()]=A,e.getType()===PCCViewer.MouseTool.Type.StampAnnotation&&A.setColor(e.getColor()),A.setLabel(e.getLabel()),PCCViewer.Data._Al(e,A),PCCViewer.Conversation._gt(e.getConversation(),A.getConversation())},onAdded:F()}}(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.HighlightAnnotation:i=l.Web.UI.MouseTool.CreateHighlightTextMark,A=U(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.TextHyperlinkAnnotation:i=l.Web.UI.MouseTool.CreateTextHyperlinkMark,A=U(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.FreehandAnnotation:i=l.Web.UI.MouseTool.CreateFreehandMark,A=function(e){return{onCreating:function(t,i){var A=new PCCViewer.Mark({type:e.getType(),igMark:i.mark,pageNumber:this.convertToViewerPageNumber({documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier()}),documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier(),enableMultipleRedactionReasons:this._Ga.enableMultipleRedactionReasons});this._ZBa[i.mark.get_markID()]=A,A.setThickness(e.getThickness()),A.setColor(e.getColor()),A.setOpacity(e.getOpacity()),PCCViewer.Data._Al(e,A),PCCViewer.Conversation._gt(e.getConversation(),A.getConversation())},onAdded:F()}}(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.TextSelectionRedaction:i=l.Web.UI.MouseTool.CreateTextSelectionRedaction,A=U(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.PlaceSignature:var s=this._Ga.resourcePath+\\\"/placeSignatureCursor.cur\\\";return this._en.set_mouseTool(l.Web.UI.MouseTool.None),this._en.set_allowMarkEdits(!1),this._en.set_mouseCursor(\\\"url(\\\"+s+\\\"), pointer\\\"),this._tga=a,this;case PCCViewer.MouseTool.Type.ImageStampAnnotation:i=l.Web.UI.MouseTool.CreateImageStampAnnotationMark,A=G(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.ImageStampRedaction:i=l.Web.UI.MouseTool.CreateImageStampRedactionMark,A=G(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.PolylineAnnotation:i=l.Web.UI.MouseTool.CreatePolylineMark,A=function(e){return{onCreating:function(t,i){var A=new PCCViewer.Mark({type:e.getType(),igMark:i.mark,pageNumber:this.convertToViewerPageNumber({documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier()}),documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier(),enableMultipleRedactionReasons:this._Ga.enableMultipleRedactionReasons});this._ZBa[i.mark.get_markID()]=A,A.setThickness(e.getThickness()),A.setColor(e.getColor()),A.setOpacity(e.getOpacity()),PCCViewer.Data._Al(e,A),PCCViewer.Conversation._gt(e.getConversation(),A.getConversation())},onAdded:F()}}(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.StrikethroughAnnotation:i=l.Web.UI.MouseTool.CreateStrikethroughMark,A=U(a.getTemplateMark());break;case PCCViewer.MouseTool.Type.None:i=l.Web.UI.MouseTool.None;break;default:throw new Error(\\\"An unexpected error occurred. The MouseTool type is not known.\\\")}var o=this._en.get_mouseTool();return this._tga!==a&&o===i&&setTimeout((function(){t._Bi.trigger(PCCViewer.EventType.MouseToolChanged,{mouseToolName:t._tga.getName()})}),0),this._tga=a,A?(this._soa=A.onCreating,this._uoa=A.onAdded):(this._soa=void 0,this._uoa=void 0),this._en.set_mouseTool(i),this._en.set_allowMarkEdits(a.getType()===PCCViewer.MouseTool.Type.PanAndEdit),this},B.prototype.saveMarkup=function(e,t){if(this._Ga.enableMultipleRedactionReasons)throw new Error(\\\"Saving markup as XML is not supported when enableMultipleRedactionReasons is set to true\\\");var i,A=PCCViewer.Deferred(),n=A.getPromise();i=t||{includeAnnotations:!0,includeRedactions:!0,includeSignatures:!1};try{if(\\\"string\\\"!=typeof e)return A.reject(new PCCViewer.Error(\\\"InvalidArgument\\\",\\\"The parameter, recordName, is not a String.\\\")),n;if(!D(e))return A.reject(new PCCViewer.Error(\\\"InvalidCharactersFilename\\\",\\\"Invalid characters in the annotations filename.\\\")),n;var r=this;this._SBa.then((function(t){var a=e;x(r,i,(function(e,t){if(e)return A.reject(e instanceof Error?e:new PCCViewer.Error(\\\"Error\\\",e)),n;var i,s=l._M._Sv(a);i=/^[\\\\x00-\\\\x7F]*$/.test(r._hb.get_documentIdentifier())?r._Ga.imageHandlerUrl+\\\"/Document/q/Art/q?DocumentID=u\\\"+encodeURIComponent(r._Ga.documentID)+\\\"&AnnotationID=u\\\"+encodeURIComponent(a):r._Ga.imageHandlerUrl+\\\"/Document/q/Art/q?DocumentID=e\\\"+r._Ga.documentID+\\\"&AnnotationID=e\\\"+s,PCCViewer.Ajax._xn({method:\\\"POST\\\",url:i,headers:{\\\"Content-Type\\\":\\\"application/xml;charset=utf-8\\\"},body:t}).then((function(e){A.resolve(a),setTimeout((function(){r._Bi.trigger(\\\"MarkupSaved\\\",{name:a})}),0)}),(function(e){A.reject(new PCCViewer.Error(\\\"AjaxError\\\",\\\"Status Code \\\"+e.response.status+\\\" \\\"+e.response.statusText))}))}))}))}catch(e){A.reject(e instanceof Error?e:new PCCViewer.Error(\\\"Error\\\",e))}return n};var D=function(e){return!/[\\\\\\\\\\\\/:*?\\\"<>|\\\\x00-\\\\x1f]/.test(e)},S=function(e){for(var t=e.firstChild;1!==t.nodeType;)t=t.nextSibling;return t},P=function(e,t,i,A){var n={_Cba:\\\"documentAnnotations\\\",_qX:[],_oO:{}},r={_Cba:\\\"pages\\\",_qX:[],_oO:{}};n._qX.push(r);var a={_Cba:\\\"page\\\",_qX:[],_oO:{id:(e+1).toString(),pageWidth:A,pageHeight:i}};n._qX.push({_Cba:\\\"highlights\\\",_qX:[],_oO:{}});try{if(t){var s,o;if(t.getElementsByTagName(\\\"documentAnnotations\\\").length>1)throw\\\"ERROR: Invalid PCC annotations XML\\\";if(document.documentMode<9)s=\\\"xml\\\"===t.firstChild.nodeName.toLowerCase()?t.firstChild.nextSibling:t.firstChild;else s=t.firstChild;var c,g=S(s);if(\\\"pages\\\"!==g.nodeName)throw\\\"ERROR: Problem with pages node in the PCC annotations XML\\\";if(g.hasChildNodes())for(c=0;c0)for(var C=0;C\\\"):d._qX.push(\\\"\\\"),a._qX.push(d)}}break}}}return r._qX.push(a),n}catch(e){throw e instanceof Error?e:new PCCViewer.Error(\\\"Error\\\",e)}};function R(e){if(!e)return[];var t=S(e.firstChild);if(\\\"pages\\\"!==t.nodeName)throw\\\"ERROR: pages\\\";if(!t.hasChildNodes())return[];var i,n=function(e){var t,i={},n=A(e.childNodes);try{for(n.s();!(t=n.n()).done;){var r=t.value;if(\\\"kvp\\\"===r.nodeName){var a=r.getAttribute(\\\"key\\\"),s=r.getAttribute(\\\"value\\\");i[a]=s}}}catch(e){n.e(e)}finally{n.f()}return i},r=[],a=A(t.childNodes);try{for(a.s();!(i=a.n()).done;){var s=i.value;if(\\\"page\\\"===s.nodeName){var o=s.getAttribute(\\\"id\\\");if(o){var c,g=parseInt(o,10)-1,h=A(s.childNodes);try{for(h.s();!(c=h.n()).done;){var u=c.value;if(\\\"annotation\\\"===u.nodeName){var d=u.getAttribute(\\\"drawType\\\");if(\\\"highlightText\\\"===d||\\\"text_selection_redaction\\\"===d||\\\"text_hyperlink_annotation\\\"===d||\\\"strikethrough\\\"===d){var I=u.getAttribute(\\\"highlightGroupID\\\");r[I]||(r[I]=[]),r[I][g]={_zd:parseInt(u.getAttribute(\\\"startIndex\\\")||\\\"0\\\",10),_Gd:parseInt(u.getAttribute(\\\"textLength\\\")||\\\"0\\\",10),_Ed:u.getAttribute(\\\"selectedText\\\")};var C,f=A(u.childNodes);try{for(f.s();!(C=f.n()).done;){var p=C.value;if(\\\"conversation\\\"===p.nodeName){r[I][g]._NH={},r[I][g]._NH._ys=[];var B,m=A(p.childNodes);try{for(m.s();!(B=m.n()).done;){var E=B.value;if(\\\"comments\\\"===E.nodeName){var Q,_=A(E.childNodes);try{for(_.s();!(Q=_.n()).done;){var y=Q.value;if(\\\"comment\\\"===y.nodeName){var w,b=void 0,v=A(y.childNodes);try{for(v.s();!(w=v.n()).done;){var k=w.value;if(\\\"data\\\"===k.nodeName){b=n(k);break}}}catch(e){v.e(e)}finally{v.f()}r[I][g]._NH._ys.push({_Db:l._o._xL(y.getAttribute(\\\"text\\\")),_zl:b,_WIa:y.getAttribute(\\\"created\\\")})}}}catch(e){_.e(e)}finally{_.f()}}else\\\"data\\\"===E.nodeName&&(r[I][g]._NH._zl=n(E))}}catch(e){m.e(e)}finally{m.f()}}else\\\"data\\\"===p.nodeName&&(r[I][g]._zl=n(p))}}catch(e){f.e(e)}finally{f.f()}}}}}catch(e){h.e(e)}finally{h.f()}}}}}catch(e){a.e(e)}finally{a.f()}return r}function M(e,t){var i=document.createElement(\\\"div\\\"),A=document.createElement(\\\"div\\\"),n=document.createElement(\\\"button\\\"),r=function(){null!==i.parentNode&&i.parentNode.removeChild(i)};n.innerHTML=\\\"×\\\",n.setAttribute(\\\"type\\\",\\\"button\\\"),A.innerHTML=\\\"

    PrizmDoc Viewer is running in evaluation mode with a fixed feature set. \\\"+t+\\\"\\\",i.className=\\\"pccPageListNagModal\\\",i.appendChild(n),i.appendChild(A),e._IN.appendChild(i),i.classList.add(\\\"open\\\"),n.addEventListener?n.addEventListener(\\\"click\\\",r,!1):n.attachEvent(\\\"onclick\\\",r)}function F(){return function(e,t){var i=this,A=i._ZBa[t.mark.get_markID()];i._Tr&&i._fCa.addMarks(A),A&&setTimeout((function(){i._Cr||i._Bi.trigger(\\\"MarkCreated\\\",{mark:A,pageNumber:i.convertToViewerPageNumber(t.pageReference),pageReference:t.pageReference,clientX:t.clientX,clientY:t.clientY})}),0)}}function T(e){return{onCreating:function(t,i){var A=new PCCViewer.Mark({type:e.getType(),igMark:i.mark,pageNumber:this.convertToViewerPageNumber({documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier()}),documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier(),enableMultipleRedactionReasons:this._Ga.enableMultipleRedactionReasons});this._ZBa[i.mark.get_markID()]=A,A.setBorderThickness(e.getBorderThickness()),A.setFillColor(e.getFillColor()),A.setBorderColor(e.getBorderColor()),A.setOpacity(e.getOpacity()),PCCViewer.Data._Al(e,A),PCCViewer.Conversation._gt(e.getConversation(),A.getConversation())},onAdded:F()}}function N(e){return{onCreating:function(t,i){var A=new PCCViewer.Mark({type:e.getType(),igMark:i.mark,pageNumber:this.convertToViewerPageNumber({documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier()}),documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier(),enableMultipleRedactionReasons:this._Ga.enableMultipleRedactionReasons});this._ZBa[i.mark.get_markID()]=A,A.setFontName(e.getFontName()),A.setFontColor(e.getFontColor()),A.setText(e.getText()),A._IQ&&\\\"transparent\\\"!==e._IQ&&A.setFillColor(e.getFillColor()),A.setFontSize&&A.setFontSize(e.getFontSize()),A.setOpacity&&A.setOpacity(e.getOpacity()),A.setBorderColor&&\\\"transparent\\\"!==e._lS&&(A.setBorderColor(e.getBorderColor()),A.setBorderThickness(e.getBorderThickness())),PCCViewer.Data._Al(e,A),PCCViewer.Conversation._gt(e.getConversation(),A.getConversation())},onAdded:F()}}function U(e){return{onCreating:function(e,t){},onAdded:F()}}function G(e){return{onCreating:function(t,i){var A=new PCCViewer.Mark({type:e.getType(),igMark:i.mark,pageNumber:this.convertToViewerPageNumber({documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier()}),documentPageNumber:i.pageIndex+1,documentID:this._hb.get_documentIdentifier(),enableMultipleRedactionReasons:this._Ga.enableMultipleRedactionReasons});this._ZBa[i.mark.get_markID()]=A,A.setImage(e.getImage()),PCCViewer.Data._Al(e,A),PCCViewer.Conversation._gt(e.getConversation(),A.getConversation())},onAdded:F()}}function L(e,t,i){var A=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];if(isNaN(Number(e))||isNaN(parseFloat(e))||isFinite(Number(e))&&!Number.isInteger(Number(e)))throw new PCCViewer.Error(\\\"InvalidArgument\\\",A._VKa||\\\"The parameter \\\"+i+\\\" is not an integer.\\\");if((e=Number(e))<1||e>t)throw new RangeError(A._WKa||\\\"The specified page number \\\"+e+\\\" is out of range.\\\");return e}B.prototype.loadMarkup=function(e,t){var i=e,A=PCCViewer.Deferred(),n=A.getPromise(),r=this,s=t||{},o=s.retainExistingMarks,c=s.markupLayer,g=s.loadAsHidden;return this._SBa.then((function(e){var t,n,s=r._en,h=r._JA;\\\"string\\\"!=typeof i&&A.reject(new PCCViewer.Error(\\\"InvalidArgument\\\",\\\"The parameter, recordName, is not a String.\\\")),void 0!==o&&\\\"boolean\\\"!=typeof o&&A.reject(new PCCViewer.Error(\\\"InvalidArgument\\\",\\\"The parameter `retainExistingMarks` must be a boolean value if it is specified.\\\")),void 0!==c&&(c instanceof PCCViewer.MarkupLayer||A.reject(new PCCViewer.Error(\\\"InvalidArgument\\\",\\\"The parameter `markupLayer` must be an instance of PCCViewer.MarkupLayer if it is specified.\\\")),void 0===r._eCa.getItem(c.getId())&&A.reject(new PCCViewer.Error(\\\"InvalidArgument\\\",\\\"The parameter `markupLayer` is a markup layer unknown to the viewer.\\\"))),n=l._M._Sv(i),t=/^[\\\\x00-\\\\x7F]*$/.test(r._hb.get_documentIdentifier())?r._Ga.imageHandlerUrl+\\\"/Document/q/Art/q?DocumentID=u\\\"+encodeURIComponent(r._Ga.documentID)+\\\"&AnnotationID=u\\\"+encodeURIComponent(i):r._Ga.imageHandlerUrl+\\\"/Document/q/Art/q?DocumentID=e\\\"+r._Ga.documentID+\\\"&AnnotationID=e\\\"+n,PCCViewer.Ajax._xn({method:\\\"GET\\\",url:t,headers:{\\\"Content-Type\\\":\\\"application/x-www-form-urlencoded\\\"}}).then((function(e){var t,n=e.responseText;if(-1!==n.indexOf(\\\"xml\\\")){n=n.replace(/(comment\\\\s+text=\\\")((?:.|[\\\\r\\\\n])*?)(\\\"\\\\s+created=\\\")/g,(function(e,t,i,A){return t+l._o._wL(i)+A}));for(var u=(t=(window.DOMParser?function(e){return(new window.DOMParser).parseFromString(e,\\\"text/xml\\\")}:void 0!==window.ActiveXObject&&new window.ActiveXObject(\\\"Microsoft.XMLDOM\\\")?function(e){var t=new window.ActiveXObject(\\\"Microsoft.XMLDOM\\\");return t.async=\\\"false\\\",t.loadXML(e),t}:function(){return null})(n)).getElementsByTagName(\\\"stampImage\\\"),d={},I=0;I0)for(var U=0;U0?Y._gS[Y._gS.length-1]._RS=!0:Y._at._RS=!0;var O=(H=H||R(t))[J];if(!O)continue;for(var q=[Y._at].concat(a(Y._gS)),K=[],j=0;j0)try{i=JSON.parse(t.responseText)}catch(e){}for(var A=[],n=0,r=0,a=i.annotationFiles.length;r0){var n,a=!0;for(n=0;n=n)){t.next=27;break}throw new Error(\\\"timeout\\\");case 27:return t.next=29,s(a);case 29:1e4===(r+=a)&&(a=1e3),t.next=15;break;case 33:case\\\"end\\\":return t.stop()}}),t)})))().then((function(e){t.resolve(e||[])})).catch((function(){t.reject(new PCCViewer.Error(\\\"AttachmentListFail\\\",\\\"Unable to retrieve attachment list from server.\\\"))})),i},B.prototype.setMarkHandleMode=function(e){var t;switch(e){case PCCViewer.MarkHandleMode.HideCornerHandlesWhenClose:t=l.Web.UI.MarkHandleMode.HideCornerHandlesWhenClose;break;case PCCViewer.MarkHandleMode.HideSideHandlesWhenClose:t=l.Web.UI.MarkHandleMode.HideSideHandlesWhenClose;break;default:throw new RangeError(\\\"The value of markHandleMode is not a supported value.\\\")}return this._en&&this._en.set_markHandleMode?this._en.set_markHandleMode(t):this._Ga.markHandleMode=t,this},B.prototype.getMarkHandleMode=function(){return(this._en&&this._en.get_markHandleMode?this._en.get_markHandleMode():this._Ga.markHandleMode)===l.Web.UI.MarkHandleMode.HideCornerHandlesWhenClose?PCCViewer.MarkHandleMode.HideCornerHandlesWhenClose:PCCViewer.MarkHandleMode.HideSideHandlesWhenClose},B.prototype.setConversationDOMFactory=function(e){if(\\\"function\\\"!=typeof e)throw new Error(\\\"The parameter factoryFunction is not a function.\\\");return this._gha=e,this},B.prototype.getConversationDOMFactory=function(){return this._gha},B.prototype.refreshConversations=function(e){var t,i=void 0===e;function A(e,t){throw new Error(e+(void 0!==t?\\\" (Array index \\\"+t+\\\")\\\":\\\"\\\")+\\\" is not a valid PCCViewer.Conversation object.\\\")}e instanceof PCCViewer.Conversation?t=[e]:e instanceof Array?t=e:i||A(e);var n=l._o.map(this.getAllMarks(),(function(e){return e.getConversation()})),r=l._o.map(t||n,(function(e,t){return e instanceof PCCViewer.Conversation||A(e,t),i||l._o.inArray(n,e)||function(e,t){throw new Error(e+(void 0!==t?\\\" (Array index \\\"+t+\\\")\\\":\\\"\\\")+\\\" is not a known conversation in this ViewerControl.\\\")}(e,t),e.getMark()._dn}));return this._en.refreshConversations(r),this},B.prototype.openCommentsPanel=function(){if(!1===this._vR)throw new Error(\\\"The method openCommentsPanel is not available until 'ViewerReady' state is reached.\\\");if(this.getPageLayout()===PCCViewer.PageLayout.Horizontal)throw new Error(\\\"The page layout must be set to vertical to use the comments panel.\\\");this._en.openCommentsPanel();var e=this;return setTimeout((function(){e._Bi.trigger(\\\"CommentsPanelToggled\\\",{isOpen:!0})}),10),this},B.prototype.closeCommentsPanel=function(){if(!1===this._vR)throw new Error(\\\"The method closeCommentsPanel is not available until 'ViewerReady' state is reached.\\\");this._en.closeCommentsPanel();var e=this;return setTimeout((function(){e._Bi.trigger(\\\"CommentsPanelToggled\\\",{isOpen:!1})}),10),this},B.prototype.getIsCommentsPanelOpen=function(){if(!1===this._vR)throw new Error(\\\"The method getIsCommentsPanelOpen is not available until 'ViewerReady' state is reached.\\\");return this.getPageLayout()!==PCCViewer.PageLayout.Horizontal&&this._en.get_isCommentsPanelOpen()},B.prototype.setSelectedConversation=function(e){if(!1===this._vR)throw new Error(\\\"The method setSelectedConversation is not available until 'ViewerReady' state is reached.\\\");if(null==e)return this._en.set_selectedConversation(void 0),this;if(!(e instanceof PCCViewer.Conversation))throw new Error(\\\"The parameter conversation is not an instance of PCCViewer.Conversation.\\\");var t=e.getMark();if(!t)throw new Error(\\\"The conversation is unknown to the viewer control.\\\");var i=t._at.get_conversation();return this._en.set_selectedConversation(i),this},B.prototype.getSelectedConversation=function(){if(!1===this._vR)return null;var e=this._en.get_selectedConversation();if(e){var t=this._ZBa[e.get_mark().get_markID()];if(t)return t.getConversation()}return null},B.prototype.clearMouseSelectedText=function(e){if(!e)throw new Error(\\\"textSelection is a required parameter\\\");if(\\\"number\\\"!=typeof e.startIndex||e.startIndex<0)throw new Error(\\\"Start index value \\\"+e.startIndex+\\\" is not a valid value.\\\");if(\\\"object\\\"!==r(e.pageReference)||null===e.pageReference)throw new Error(\\\"The pageReference value of the textSelection parameter must be an object.\\\");if(\\\"number\\\"!=typeof e.pageReference.documentPageNumber||e.pageReference.documentPageNumber<1||e.pageReference.documentPageNumber>this._hb._so)throw new Error(\\\"Document page number value \\\"+e.pageReference.documentPageNumber+\\\" is not a valid value.\\\");if(\\\"number\\\"!=typeof e.length||e.length<1)throw new Error(\\\"Length value \\\"+e.length+\\\" is not a valid value.\\\");var t=this,i=t._um;function A(e){t._IFa(e)}this._en._Ija();var n=function e(i,A,n){var r=[i+1],a=t._JA.getPage(i)._em();if(a._xD()){var s=a._fm().substr(A);return s.length>n?r:r.concat(e(i+1,0,n-s.length))}return r}(e.pageReference.documentPageNumber-1,e.startIndex,e.length),a={};if(i&&i.getResults().length){var s=i.getResults();l._o.forEach(s,(function(e){var t=e._fn.documentPageNumber;l._o.contains(n,t)&&(a[t]=a[t]||[],a[t].push(e))}))}if(Object.keys(this._uCa).length>0&&t._sCa){var o=t._sCa.getPiiEntities();l._o.forEach(o,(function(e){var t=e._fn.documentPageNumber;l._o.contains(n,t)&&(a[t]=a[t]||[],a[t].push(e))}))}return l._o.forEach(a,(function(e,i){var n=t.convertToViewerPageNumber(e[0]._fn);t.requestPageText(n).then(A.bind(null,e))})),this},B.prototype.convertPageToWindowCoordinates=function(e,t){if(!1===this._vR)throw new Error(\\\"The method setSelectedConversation is not available until 'ViewerReady' state is reached.\\\");var i,A=L(e,this.getPageCount(),\\\"pageNumber\\\"),n=function(e){return\\\"number\\\"==typeof e&&!isNaN(e)},r=!0;t&&t.constructor===Array?i=t:(i=[t],r=!1);var a=function(e,t,i){throw new PCCViewer.Error(\\\"InvalidArgument\\\",e+\\\" (Array index \\\"+t+\\\") does not have a valid \\\"+i+\\\" property\\\")};if(0===i.length||!t)throw new PCCViewer.Error(\\\"InvalidArgument\\\",\\\"At least one point is required\\\");l._o.forEach(i,(function(e,t){n(e.x)||a(e,t,\\\"x\\\"),n(e.y)||a(e,t,\\\"y\\\")}));var s=this._en._hja(A,i);return null===s?null:r?s:s[0]},B.prototype.selectEditorText=function(){if(!1===this._vR)throw new Error(\\\"The method selectEditorText is not available until 'ViewerReady' state is reached.\\\");var e=this._en,t=e._hE();if(!t)throw new Error(\\\"The method selectEditorText is not available unless there is an active editor on the page.\\\");if(\\\"singleline\\\"===t)e._qD();else if(\\\"multiline\\\"===t)throw new PCCViewer.Error(\\\"InvalidArgument\\\",\\\"Only TextInputSignature Marks are supported at this time\\\");return this},B.prototype.setSharpening=function(e){if(e!==Math.floor(e)||\\\"number\\\"!=typeof e||e<0||e>100)throw new PCCViewer.Error(\\\"InvalidArgument\\\",\\\"Amount must be an integer between 0 and 100 inclusive\\\");var t=this;(t._QBa=e,!1===this._vR)?this._SBa.then((function(i){t._en._Rg(e)})):t._en._Rg(e);return t},B.prototype.getSharpening=function(){return!1===this._vR?this._QBa:this._en._xja()},B.prototype.setGamma=function(e){if(\\\"number\\\"!=typeof e||e<0||e>10)throw new PCCViewer.Error(\\\"InvalidArgument\\\",\\\"Amount must be a number between 0 and 10 inclusive\\\");var t=this;(t._PBa=e,!1===this._vR)?this._SBa.then((function(i){t._en._Pg(e)})):t._en._Pg(e);return t},B.prototype.getGamma=function(){return!1===this._vR?this._PBa:this._en._yja()},B.prototype.setSvgLineWidthMultiplier=function(e){if(\\\"number\\\"!=typeof e||e<=0||e>100)throw new PCCViewer.Error(\\\"InvalidArgument\\\",\\\"Amount must be greater than 0 and not greater than 100.\\\");var t=this;return t._Xf=e,!1===this._vR?this._SBa.then((function(i){t._en._Tg(e)})):t._en._Tg(e),t},B.prototype.getSvgLineWidthMultiplier=function(){return!1===this._vR?this._Xf:this._en._zja()},B.prototype.deletePages=function(e){var t=this.getPageCount(),i=function(e,t){if(!Array.isArray(e))throw new PCCViewer.Error(\\\"InvalidArgument\\\",\\\"The parameter pageNumbers is not an Array.\\\");for(var i=[],A=0;A=t)throw new Error(\\\"The viewer must contain at least one page.\\\");var n=this._en;if(this._en.get_viewMode()===l.ViewMode.SinglePage)throw new Error(\\\"Page deletion is not supported in single page view mode.\\\");return this._mCa&&e.includes(this.convertToViewerPageNumber(this._mCa._fn))&&this.setSelectedSearchResult(null),this._mha&&this.clearMouseSelectedText(this._mha),function(e,t){e.forEach((function(e){var i=t.convertToPageReference(e+1).documentPageNumber-1;delete t._aCa[i]}))}(i,this),function(e,t){var i=t.getAllMarks(),n=Math.min(e),r=Math.max(e);i.forEach((function(i){var s=t.convertToViewerPageNumber({documentPageNumber:i._Ol,documentID:i._Pl})-1;if(!(s>r))if(_(i.getType())){var o=[i._at].concat(a(i._gS));if(s+o.length<=n)return;var c=o.filter((function(t,i){return!e.includes(s+i)}));if(0===c.length)t.deleteMarks(i);else if(c.length!==o.length){var g=i._at._Ed,h=\\\"\\\",u=0;o.forEach((function(e){c.includes(e)&&(h+=g.substr(u,e._Gd)),u+=e._Gd})),c.forEach((function(e){return e._Ed=h}));var d=s+o.indexOf(c[0])+1,I=d-e.filter((function(e){return e3&&void 0!==arguments[3]?arguments[3]:[];if(\\\"string\\\"!=typeof e)throw new PCCViewer.Error(\\\"InvalidArgument\\\",A._TKa||\\\"The parameter \\\"+i+\\\" is not a string.\\\");if(!t.includes(e))throw new PCCViewer.Error(\\\"InvalidArgument\\\",A._UKa||\\\"The parameter \\\"+i+\\\" does not match any known document.\\\");return e}(e.documentID,t,null,{_TKa:\\\"The parameter pageReference does not contain a valid documentID value.\\\",_UKa:\\\"The parameter pageReference contains an documentID that does not match the ID of a document loaded in the viewer.\\\"}),A=!1===this._vR?1:this._hb._so,n=L(e.documentPageNumber,A,null,{_VKa:\\\"The parameter pageReference contains a documentPageNumber value \\\".concat(e.documentPageNumber,\\\" that is not an integer.\\\"),_WKa:\\\"The parameter pageReference contains a documentPageNumber value \\\".concat(e.documentPageNumber,\\\" that is out of range.\\\")});return!1===this._vR&&1===n?1:this._en.getViewerPageIndex(n-1,i)+1},B.prototype.convertToPageReference=function(e){var t=L(e,this.getPageCount(),\\\"viewerPageNumber\\\")-1;return!1===this._vR&&0===t?{documentPageNumber:1,documentID:this._Ga.documentID}:{documentPageNumber:this._en.getDocumentPageIndex(t)+1,documentID:this._en.getDocumentID(t)}},B.prototype._KCa=function(e){var t=this;if(!t._Cr){var i={},A=e,n=A[0],r=n._fn.documentPageNumber;void 0!==t._uCa[r]?i=t._uCa[r]:i._zd=n.getId(),r=(n=A[A.length-1])._fn.documentPageNumber,i._Ad=n.getId(),t._uCa[r]=i;for(var a=t._en.get_displayedPages(),s=0;s0&&this._um&&(t=this._um.getResults());for(var i=0;i1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\\\"both\\\";if(!this._vR)throw\\\"The setSelectedPiiEntity method requires the viewer to be in a 'ViewerReady' state.\\\";var A=this,n=0;if(null===e)this._pCa=-1,this._nCa=null;else{if(!(e instanceof PCCViewer.PiiEntity))throw\\\"The parameter piiEntity is not an instance of PCCViewer.PiiEntity.\\\";if(0===(n=this._en.getViewerPageIndex(e._fn.documentPageNumber-1,e._fn.documentID)+1))throw\\\"The parameter piiEntity contains a PII entity that is not on the document.\\\";if(null,this._pCa=e.getId(),t){var r=e.getBoundingRectangle(),a=new l.Web.UI.Rectangle(r.x,r.y,r.width,r.height);!1===this._en.scrollRegionIntoView(n-1,a)?(this._DCa=function(){A._en.scrollRegionIntoView(n-1,a)},this.setPageNumber(n)):this._DCa=null}}if(this._nCa){var s=this._nCa._fn.documentPageNumber,o=null!==e?e._fn.documentPageNumber:-1;s!==o&&A.requestPageText(A.convertToViewerPageNumber(A._nCa._fn)).then((function(){A._xDa(A._nCa._fn,A._pCa,i)}))}return e&&A.requestPageText(n).then((function(){A._xDa(e._fn,A._pCa,i)})),this._nCa=e,setTimeout((function(){A._Bi.trigger(PCCViewer.EventType.PiiEntitySelectionChanged,{})}),0),this},B.prototype.getSelectedPiiEntity=function(){return this._nCa},B.prototype.clearSelectedPiiEntity=function(){return null!==this._nCa&&this.setSelectedPiiEntity(null),this},B.prototype._tLa=function(){this._vCa.on(\\\"DocumentSummarizationCompleted\\\",this._MCa)},B.prototype.summarizeDocument=function(){var e=this;if(e._eI)return e._kFa(new PCCViewer.DocumentSummarizationRequest(!0),\\\"summarizeDocument\\\",\\\"DocumentSummarizationFailed\\\");if(!0===e._wCa)throw new Error(\\\"You cannot run multiple document summarizations concurrently. Retry after the current document summarization is completed.\\\");return e._wCa=!0,e._vCa=new PCCViewer.DocumentSummarizationRequest(!0),e._tLa(),e._vCa._CB(e._hb)},B.prototype._uLa=function(){this._xCa.on(\\\"DocumentClassificationCompleted\\\",this._NCa)},B.prototype.classifyDocument=function(e){var t=this;if(t._eI)return t._kFa(new PCCViewer.DocumentClassificationRequest(!0),\\\"classifyDocument\\\",\\\"DocumentClassificationFailed\\\");if(!0===t._yCa)throw new Error(\\\"You cannot run multiple document classifications concurrently. Retry after the current document classification is completed.\\\");var i=new Error(\\\"The classifications parameter must be an array of at least two strings.\\\");if(!Array.isArray(e)||e.length<2)throw i;return e.forEach((function(e){if(\\\"string\\\"!=typeof e)throw i})),t._yCa=!0,t._xCa=new PCCViewer.DocumentClassificationRequest(!0),t._uLa(),t._xCa._uM(t._hb,e)},B.prototype._vLa=function(){this._zCa.on(\\\"DocumentTagCompleted\\\",this._OCa)},B.prototype.tagDocument=function(){var e=this;if(e._eI)return e._kFa(new PCCViewer.DocumentTagRequest(!0),\\\"tagDocument\\\",\\\"DocumentTagFailed\\\");if(!0===e._ACa)throw new Error(\\\"You cannot run multiple document taggings concurrently. Retry after the current document tagging is completed.\\\");return e._ACa=!0,e._zCa=new PCCViewer.DocumentTagRequest(!0),e._vLa(),e._zCa._DM(e._hb)},B.prototype._wLa=function(){this._BCa.on(\\\"DocumentQueryCompleted\\\",this._PCa)},B.prototype.queryDocument=function(e){var t=this;if(t._eI)return t._kFa(new PCCViewer.DocumentQueryRequest(!0),\\\"queryDocument\\\",\\\"DocumentQueryFailed\\\");if(!0===t._CCa)throw new Error(\\\"You cannot run multiple document queries concurrently. Retry after the current document query is completed.\\\");if(\\\"string\\\"!=typeof e)throw new Error(\\\"The query parameter must be a string.\\\");return t._CCa=!0,t._BCa=new PCCViewer.DocumentQueryRequest(!0),t._wLa(),t._BCa._LM(t._hb,e)},Object.defineProperties&&Object.defineProperties(B.prototype,{pageCount:{enumerable:!0,get:function(){return this.getPageCount()}},pageNumber:{enumerable:!0,get:function(){return this.getPageNumber()},set:function(e){return this.setPageNumber(e)}},searchRequest:{enumerable:!0,get:function(){return this._um}},selectedSearchResult:{enumerable:!0,get:function(){return this.getSelectedSearchResult()},set:function(e){return this.setSelectedSearchResult(e,!0)}},currentMouseTool:{enumerable:!0,get:function(){return this.getCurrentMouseTool()},set:function(e){return this.setCurrentMouseTool(e)}},atMaxScale:{enumerable:!0,get:B.prototype.getAtMaxScale},atMinScale:{enumerable:!0,get:B.prototype.getAtMinScale},scaleFactor:{enumerable:!0,get:function(){return this.getScaleFactor()},set:function(e){return this.setScaleFactor(e)}},selectedMarks:{enumerable:!0,get:B.prototype.getSelectedMarks},viewMode:{enumerable:!0,get:function(){return this.getViewMode()},set:function(e){return this.setViewMode(e)}},isCommentsPanelOpen:{enumerable:!0,get:function(){return this.getIsCommentsPanelOpen()}},selectedConversation:{enumerable:!0,get:function(){return this.getSelectedConversation()},set:function(e){return this.setSelectedConversation(e)}},redactionViewMode:{enumerable:!0,get:function(){return this.getRedactionViewMode()},set:function(e){return this.setRedactionViewMode(e)}},markHandleMode:{enumerable:!0,get:function(){return this.getMarkHandleMode()},set:function(e){return this.setMarkHandleMode(e)}}}),e.exports=B},4952:e=>{var t=function(){},i=0,A=1,n=2,r=function(e,t){if(!e||!IPCC._o._fz(e))throw new Error('The \\\"domElement\\\" parameter is not a valid HTML Element');if(!(t&&t instanceof PCCViewer.ViewerControl))throw new Error('The \\\"viewerControl\\\" parameter is not a valid PCCViewer.ViewerControl object');var r=this;if(this._Bo=i,this._Ga=t._wr._Ga,this._gz=!!this._Ga.debug,this._hz=\\\"Single\\\",this._iz=[],this._jz={},this._vr)throw new Error(\\\"This instance of thumbnail already is attached to a ViewerControl.\\\");if(this._vr=t,PCCViewer.EventEmitter.extend(this),this._kz=e,t._wr._lz)r._Bo=n,r._mz(r._vr._wr._hb._so),r._nz(r._kz);else{r._Bo=A,r._mz(1,0);t.on(\\\"PageCountReady\\\",(function e(){t.off(\\\"PageCountReady\\\",e),r._mz(r._vr._wr._hb._so,1),r._nz(r._kz)}))}t.on(\\\"PageRotated\\\",(function(e){IPCC._o.forEach(r._jz,(function(t){t._qz===e.pageNumber-1&&!0===t._rz&&r._sz(t)}))})),t.on(\\\"DocumentRotated\\\",(function(e){IPCC._o.forEach(r._jz,(function(e){!0===e._rz&&r._sz(e)}))})),t.on(\\\"ViewingSessionChanging\\\",(function(e){r._tz(),r._uz([])})),t.on(\\\"ViewingSessionChanged\\\",(function(e){if(r._Ga=t._wr._Ga,t._wr._lz)r._mz(r._vr._wr._hb._so);else{r._mz(1,0);t.on(\\\"PageCountReady\\\",(function e(){t.off(\\\"PageCountReady\\\",e),r._mz(r._vr._wr._hb._so,1)}))}}));var a=IPCC._o._wz((function(){r._xz(),r._uz(r._iz)}));t.on(\\\"PageDeleted\\\",(function(e){var t,i=e.pageReference.documentPageNumber-1;IPCC._o.forEach(r._jz,(function(e){var t=e._fb,A=r._vr._wr._en.getViewerPageIndex(t,r._Ga.documentID);e._qz=A,e._Kq.lastChild.firstChild.textContent=(A+1).toString(),t===i&&(e._Az&&e._Az.dispose&&e._Az.dispose(),delete r._jz[t])})),IPCC._o.forEach(r._kz.children,(function(e,i){\\\"0\\\"===e.textContent&&(t=i)}));var A=r._kz.children[t];r._kz.removeChild(A),a()}))};r.prototype.getViewerControl=function(){return this._vr},r.prototype._mz=function(e,t){t=t||0;for(var i=this,A=document.createDocumentFragment(),n={},r=t;r=0){var s=document.createElement(\\\"div\\\");s.className=\\\"pccThumbnailWrapper\\\";var o=document.createElement(\\\"div\\\");o.className=\\\"pccThumbnail\\\";var c=document.createElement(\\\"div\\\");c.className=\\\"pccThumbnailView\\\",c.id=\\\"pcc-thumbnailPage-\\\"+r+\\\"-\\\"+IPCC._g(),o.appendChild(c),s.appendChild(o),A.appendChild(s),n[r]={_Lz:s,_Kq:o,_Kz:c,_fb:r,_qz:a,_Az:{},_rz:!1,_Mz:0,_Nz:0,_Oz:0}}}return IPCC._o.forEach(n,(function(e){var t=document.createElement(\\\"div\\\"),A=document.createElement(\\\"span\\\"),n=document.createTextNode(e._qz+1);t.className=\\\"pccThumbnailLabel\\\",A.appendChild(n),t.appendChild(A),e._Kq.appendChild(t),e._Kq.onclick=function(){i._uz([e._fb+1])}})),Object.assign(i._jz,n),i._kz.appendChild(A),this._xz(),this},r.EventType={PageSelectionChanged:\\\"PageSelectionChanged\\\"},r.prototype.getSelectedPages=function(){if(!this._Bo)return[];var e=this,t=[];return 0!==e._iz.length&&(t=e._iz.map((function(t){return e._vr._wr._en.getViewerPageIndex(t-1,e._Ga.documentID)+1}))),t},r.prototype.setSelectedPages=function(e){if(!this._Bo)return this;var t=this._vr.getPageCount();if(\\\"number\\\"==typeof e)e=[e];else if(\\\"[object Array]\\\"!==Object.prototype.toString.call(e))throw new Error(e+\\\" is not a number or an array of numbers\\\");var i=[],A=this;return IPCC._o.forEach(e,(function(e,n){if(isNaN(e))throw new Error(e+\\\" (array index \\\"+n+\\\") is not a number\\\");if(e<1||e>t)throw new Error(e+\\\" (array index \\\"+n+\\\") is out of range\\\");i.push(A._vr._wr._en._Uz(e).documentPageNumber)})),this._uz([].concat(i).sort()),this},Object.defineProperties&&Object.defineProperties(r.prototype,{selectedPages:{enumerable:!0,get:function(){return this.getSelectedPages()},set:function(e){return this.setSelectedPages(e)}},viewerControl:{enumerable:!0,get:function(){return this.getViewerControl()}},visiblePages:{emunerable:!0,get:function(){return this.getVisiblePages()}}}),r.prototype.scrollTo=function(e,t){var i=Number(e);if(i!==(0|i)||i<1||i>this._vr.getPageCount())throw new Error(e+\\\" is not a valid page number\\\");var A=!1,n=this,r=t||{};return IPCC._o.forEach(this._jz,(function(e){A||e._qz+1===i&&(A=!0,n._Vz(e,void 0,!!r.forceAlignTop))})),this},r.prototype._Vz=function(e,t,i){t=t||IPCC._o._Yz(this._kz.getBoundingClientRect());var A=IPCC._o._Yz(e._Lz.getBoundingClientRect());if(!(A.top>t.top&&A.bottomt.bottom&&(n=A.bottom-t.top-t.height+this._kz.scrollTop+parseInt(r.marginBottom,10)),void 0!==n&&(this._kz.scrollTop=n),this}},r.prototype._uz=function(e){var t=this,i=[],A=[];if(IPCC._o.forEach(e,(function(e){var n=t._vr._wr._en.getViewerPageIndex(e-1,t._Ga.documentID)+1;n>0&&(A.push(e),i.push(n))})),0===A.length&&(A=[t._vr._wr._en._Uz(1).documentPageNumber],i=[1]),IPCC._o._fA(A,t._iz))return this;0===e.length&&(A=[],i=[]);var n=\\\"pcc-thumbnail-selected\\\",r=new RegExp(n),a=!1,s=[].concat(i),o=s.shift(),c=!1,g=IPCC._o._Yz(this._kz.getBoundingClientRect());if(IPCC._o.forEach(this._jz,(function(e){if(e._qz===o-1)return IPCC._o._mA(e._Kq,n),a=!0,o=s.shift()||0,void(c||(c=!0,t._Vz(e,g)));r.test(e._Kq.className)&&(IPCC._o._nA(e._Kq,n),a=!0)})),this._iz=A,a){var h=[];IPCC._o.forEach(A,(function(e){h.push({documentPageNumber:e,documentID:t._Ga.documentID})})),this.trigger(PCCViewer.ThumbnailControl.EventType.PageSelectionChanged,{pageNumbers:i,pageReferences:h})}return this},r.prototype._pA=function(){var e,t=this._qA(),i=this,A=i._iz.map((function(e){return i._vr._wr._en.getViewerPageIndex(e-1,i._Ga.documentID)+1}));return IPCC._o.forEach(t,(function(t){!e&&IPCC._o.inArray(A,t._qz+1)&&(e=t)})),e||(e=t[0]),e},r.prototype.reflow=function(){if(!this._Bo)return this;var e,t,i,A,n,r=this._pA();return IPCC._o.forEach(this._jz,(function(e){e._rz&&(e._Kq.style.height=e._Kz.style.height=\\\"\\\",e._Kq.style.width=e._Kz.style.width=\\\"\\\")})),IPCC._o.forEach(this._jz,(function(r){var a,s;r._rz&&r._Az._wA()&&(e=r._Kq.offsetWidth,t=r._Kq.offsetHeight,n=r._Az._xA(),90===Math.abs(n)||270===Math.abs(n)?(A=r._Az._nb(),i=r._Az._pb()):(i=r._Az._nb(),A=r._Az._pb()),i/A=A.bottom||n.left>=A.right||n.bottom<=A.top||n.right<=A.left);var A,n}))},r.prototype._xz=function(){var e=this,t=e._qA();return IPCC._o.forEach(t,(function(t){t._rz||(t._Az=e._cm(t),t._rz=!0)})),this},r.prototype._nz=function(e){var t={},i=this;IPCC.Web.UI._Ox.addHandler(e,\\\"scroll\\\",(function(e){var A,n,r;n=function(){i._xz()},r=300,t[A=\\\"scroll\\\"]&&(clearTimeout(t[A]),t[A]=void 0),t[A]=setTimeout(n,r||0)}))},r.prototype._cm=function(e,i){var A=this;i=i||t;var n={documentIdentifier:A._Ga.documentID,documentPageIndex:e._fb,viewFitType:IPCC.Web.UI.FitType.FullImage,imageHandlerUrl:A._Ga.imageHandlerUrl,encryption:A._Ga.encryption,handleTouchEvents:!1,pdfGetter:A._vr._wr._FA},r=IPCC.initializePageViewPlugin(e._Kz,n);r.set_debug(A._gz),r.set_mouseTool(IPCC.Web.UI.MouseTool.None);var a=!1;function s(){i()}r.add_pageOpened((function(){A._sz(e)})),r.add_pageDisplayed((function(){a||s()})),r.add_textPageReady((function(){a&&(r._rd(),s())})),r.add_pageOpenFailed((function(){})),r.add_textExtractionFailed((function(){}));var o=A._vr._wr;return n.artPage=o._en._IA(o._JA.getPage(e._fb)),n.artPage._tp((function(e){608===e.get_type()&&(a=!0)})),A._vr._wr._FA?r._KA(n):r._LA(n),r.set_mouseTool(IPCC.Web.UI.MouseTool.None),r},r.prototype._sz=function(e){var t=this._vr._wr._en._NA(e._qz),i=e._Oz,A=i;t!==e._Oz&&(A=t-i);var n,r,a=e._Az,s=e._Kz;if(e._rz&&a._wA()){s.style.height=\\\"\\\",s.style.width=\\\"\\\",90===Math.abs(t)||270===Math.abs(t)?(n=a._nb(),r=a._pb()):(n=a._pb(),r=a._nb());var o,c,g=s.offsetWidth,h=s.offsetHeight;e._Oz!==t&&(a.rotate(A),e._Oz=t),r/n{function t(e,t){var i=new Error(\\\"PCC Range Error: \\\"+e);return i.value=t,i}var i={save:function(e,t){if(\\\"Blob\\\"in window){var i=new Blob([t],{type:\\\"text/plain;charset=utf-8\\\"});if(window.navigator.msSaveBlob)window.navigator.msSaveBlob(i,e);else if(window.saveAs)window.saveAs(i,e);else{var A=document.createElement(\\\"a\\\");A.href=URL.createObjectURL(i),A.target=\\\"_blank\\\",A.download=e,A.style.display=\\\"none\\\",document.body.appendChild(A),A.click(),document.body.removeChild(A)}}else if(document.execCommand){var n=window.open(\\\"about:blank\\\",\\\"_blank\\\");n.document.write(t),n.document.close(),n.document.execCommand(\\\"SaveAs\\\",!0,e+\\\".txt\\\"),n.close()}},calculateNonOverlappingSelections:function(e,t){var i;i=e instanceof Array?e:[e],IPCC._o.forEach(i,(function(e){IPCC._l._jc(e.startIndex,\\\"selection.startIndex\\\",0,Number.MAX_VALUE),IPCC._l._jc(e.length,\\\"selection.length\\\",1,Number.MAX_VALUE),IPCC._l._lc(e.color,\\\"selection.color\\\"),IPCC._l._jc(e.opacity,\\\"selection.opacity\\\",0,255)})),IPCC._l._lc(t,\\\"backgroundColor\\\");var A=IPCC._o._Ip(i);return IPCC._o.map(A,(function(e){return e.length=e.endIndex-e.startIndex+1,e}))},layerColors:function(e,t){var i;return i=e instanceof Array?e:[e],IPCC._o.forEach(i,(function(e){IPCC._l._lc(e.color,\\\"selection.color\\\"),IPCC._l._jc(e.opacity,\\\"selection.opacity\\\",0,255)})),IPCC._l._lc(t,\\\"backgroundColor\\\"),IPCC._o._Kp(i,t)},validatePageRange:function(e,t){if(e&&\\\"string\\\"!=typeof e)return!1;try{PCCViewer.Util.convertPageRangeToArray(e,t)}catch(e){return!1}return!0},convertPageRangeToArray:function(e,i){var A=(i=i||{}).lowerLimit||1,n=i.upperLimit||Number.MAX_VALUE,r=i.allowEmpty||!1;if(\\\"all\\\"!==e&&e.match(/[^0-9\\\\-\\\\,\\\\s]/g))throw t(\\\"Illegal page range value\\\",e);var a=[];if(\\\"all\\\"===e)for(;n>=A;)a.unshift(n--);else if(0===(a=function(e){for(var t,i,A=[],n=function(e){return!isNaN(+e)},r=e.split(\\\",\\\"),a=0,s=0,o=0;o1)for(var l=t;l<=i;l++)A.push(l);else A.push(t)}}for(A.sort((function(e,t){return e-t})),o=A.length-1;o>0;o--)A[o-1]===A[o]&&A.splice(o,1);return A}(e)).length&&!r||a[0]n)throw t(\\\"Pages are out of range\\\",a.join(\\\", \\\"));return a}};e.exports=i},6127:e=>{e.exports={Document:\\\"Document\\\",EqualWidthPages:\\\"EqualWidthPages\\\",SinglePage:\\\"SinglePage\\\",EqualFitPages:\\\"EqualFitPages\\\"}},1540:(e,t,i)=>{\\\"use strict\\\";function A(e){return A=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},A(e)}function n(){\\n/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\\nn=function(){return e};var e={},t=Object.prototype,i=t.hasOwnProperty,r=\\\"function\\\"==typeof Symbol?Symbol:{},a=r.iterator||\\\"@@iterator\\\",s=r.asyncIterator||\\\"@@asyncIterator\\\",o=r.toStringTag||\\\"@@toStringTag\\\";function c(e,t,i){return Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},\\\"\\\")}catch(e){c=function(e,t,i){return e[t]=i}}function g(e,t,i,A){var n=t&&t.prototype instanceof u?t:u,r=Object.create(n.prototype),a=new w(A||[]);return r._NM=function(e,t,i){var A=\\\"suspendedStart\\\";return function(n,r){if(\\\"executing\\\"===A)throw new Error(\\\"Generator is already running\\\");if(\\\"completed\\\"===A){if(\\\"throw\\\"===n)throw r;return v()}for(i.method=n,i.arg=r;;){var a=i.delegate;if(a){var s=Q(a,i);if(s){if(s===l)continue;return s}}if(\\\"next\\\"===i.method)i.sent=i._OM=i.arg;else if(\\\"throw\\\"===i.method){if(\\\"suspendedStart\\\"===A)throw A=\\\"completed\\\",i.arg;i.dispatchException(i.arg)}else\\\"return\\\"===i.method&&i.abrupt(\\\"return\\\",i.arg);A=\\\"executing\\\";var o=h(e,t,i);if(\\\"normal\\\"===o.type){if(A=i.done?\\\"completed\\\":\\\"suspendedYield\\\",o.arg===l)continue;return{value:o.arg,done:i.done}}\\\"throw\\\"===o.type&&(A=\\\"completed\\\",i.method=\\\"throw\\\",i.arg=o.arg)}}}(e,i,a),r}function h(e,t,i){try{return{type:\\\"normal\\\",arg:e.call(t,i)}}catch(e){return{type:\\\"throw\\\",arg:e}}}e.wrap=g;var l={};function u(){}function d(){}function I(){}var C={};c(C,a,(function(){return this}));var f=Object.getPrototypeOf,p=f&&f(f(b([])));p&&p!==t&&i.call(p,a)&&(C=p);var B=I.prototype=u.prototype=Object.create(C);function m(e){[\\\"next\\\",\\\"throw\\\",\\\"return\\\"].forEach((function(t){c(e,t,(function(e){return this._NM(t,e)}))}))}function E(e,t){function n(r,a,s,o){var c=h(e[r],e,a);if(\\\"throw\\\"!==c.type){var g=c.arg,l=g.value;return l&&\\\"object\\\"==A(l)&&i.call(l,\\\"__await\\\")?t.resolve(l.__await).then((function(e){n(\\\"next\\\",e,s,o)}),(function(e){n(\\\"throw\\\",e,s,o)})):t.resolve(l).then((function(e){g.value=e,s(g)}),(function(e){return n(\\\"throw\\\",e,s,o)}))}o(c.arg)}var r;this._NM=function(e,i){function A(){return new t((function(t,A){n(e,i,t,A)}))}return r=r?r.then(A,A):A()}}function Q(e,t){var i=e.iterator[t.method];if(void 0===i){if(t.delegate=null,\\\"throw\\\"===t.method){if(e.iterator.return&&(t.method=\\\"return\\\",t.arg=void 0,Q(e,t),\\\"throw\\\"===t.method))return l;t.method=\\\"throw\\\",t.arg=new TypeError(\\\"The iterator does not provide a 'throw' method\\\")}return l}var A=h(i,e.iterator,t.arg);if(\\\"throw\\\"===A.type)return t.method=\\\"throw\\\",t.arg=A.arg,t.delegate=null,l;var n=A.arg;return n?n.done?(t[e.resultName]=n.value,t.next=e.nextLoc,\\\"return\\\"!==t.method&&(t.method=\\\"next\\\",t.arg=void 0),t.delegate=null,l):n:(t.method=\\\"throw\\\",t.arg=new TypeError(\\\"iterator result is not an object\\\"),t.delegate=null,l)}function _(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function y(e){var t=e.completion||{};t.type=\\\"normal\\\",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:\\\"root\\\"}],e.forEach(_,this),this.reset(!0)}function b(e){if(e){var t=e[a];if(t)return t.call(e);if(\\\"function\\\"==typeof e.next)return e;if(!isNaN(e.length)){var A=-1,n=function t(){for(;++A=0;--n){var r=this.tryEntries[n],a=r.completion;if(\\\"root\\\"===r.tryLoc)return A(\\\"end\\\");if(r.tryLoc<=this.prev){var s=i.call(r,\\\"catchLoc\\\"),o=i.call(r,\\\"finallyLoc\\\");if(s&&o){if(this.prev=0;--A){var n=this.tryEntries[A];if(n.tryLoc<=this.prev&&i.call(n,\\\"finallyLoc\\\")&&this.prev=0;--t){var i=this.tryEntries[t];if(i.finallyLoc===e)return this.complete(i.completion,i.afterLoc),y(i),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc===e){var A=i.completion;if(\\\"throw\\\"===A.type){var n=A.arg;y(i)}return n}}throw new Error(\\\"illegal catch attempt\\\")},delegateYield:function(e,t,i){return this.delegate={iterator:b(e),resultName:t,nextLoc:i},\\\"next\\\"===this.method&&(this.arg=void 0),l}},e}function r(e,t,i,A,n,r,a){try{var s=e[r](a),o=s.value}catch(e){return void i(e)}s.done?t(o):Promise.resolve(o).then(A,n)}function a(e){return function(){var t=this,i=arguments;return new Promise((function(A,n){var a=e.apply(t,i);function s(e){r(a,A,n,s,o,\\\"next\\\",e)}function o(e){r(a,A,n,s,o,\\\"throw\\\",e)}s(void 0)}))}}var s=i(3316),o=i(5996),c=i(9761);function g(e,t){return this instanceof g?(o.extend(this),this._oR=s._o.extend({},t),this._wr=new c(e,this,t),this._pR={},this):new g(e,t)}g.prototype.getPageCount=function(){return this._wr.getPageCount()},g.prototype.getPageNumber=function(){return this._wr.getPageNumber()},g.prototype.setPageNumber=function(e){return this._wr.setPageNumber(e),this},g.prototype.changeToFirstPage=function(){return this._wr.changeToFirstPage(),this},g.prototype.changeToLastPage=function(){return this._wr.changeToLastPage(),this},g.prototype.changeToNextPage=function(){return this._wr.changeToNextPage(),this},g.prototype.changeToPrevPage=function(){return this._wr.changeToPrevPage(),this},g.prototype.scrollBy=function(e,t){return this._wr.scrollBy(e,t),this},g.prototype.scrollTo=function(e){return this._wr.scrollTo(e),this},g.prototype.scrollToAsync=function(e){return this._wr.scrollToAsync(e)},g.prototype.rotatePage=function(e){return this._wr.rotatePage(e),this},g.prototype.rotateDocument=function(e){return this._wr.rotateDocument(e),this},g.prototype.getClientRestrictions=function(){return this._wr.getClientRestrictions()},g.prototype.getScaleFactor=function(){return this._wr.getScaleFactor()},g.prototype.setScaleFactor=function(e){return this._wr.setScaleFactor(e),this},g.prototype.getMinScaleFactor=function(){return this._wr.getMinScaleFactor()},g.prototype.getMaxScaleFactor=function(){return this._wr.getMaxScaleFactor()},g.prototype.zoomToPoint=function(e,t){return this._wr.zoomToPoint(e,t),this},g.prototype.zoomIn=function(e){return this._wr.zoomIn(e),this},g.prototype.zoomOut=function(e){return this._wr.zoomOut(e),this},g.prototype.getViewMode=function(){return this._wr.getViewMode()},g.prototype.setViewMode=function(e){return this._wr.setViewMode(e),this},g.prototype.getPageLayout=function(){return this._wr.getPageLayout()},g.prototype.setPageLayout=function(e){return this._wr.setPageLayout(e),this},g.prototype.getAtMaxScale=function(){return this._wr.getAtMaxScale()},g.prototype.getAtMinScale=function(){return this._wr.getAtMinScale()},g.prototype.fitContent=function(e){return this._wr.fitContent(e),this},g.prototype.getPageRotation=function(e){return arguments.length>0?this._wr.getPageRotation(e):this._wr.getPageRotation()},g.prototype.search=function(e){return this._wr.search(e)},g.prototype.clientSearch=function(e){return this._wr.clientSearch(e)},g.prototype.serverSearch=function(e){return this._wr.serverSearch(e)},g.prototype.getSearchRequest=function(){return this._wr.getSearchRequest()},g.prototype.clearSearch=function(){return this._wr.clearSearch(),this},g.prototype.validateSearch=function(e){return this._wr.validateSearch(e)},g.prototype.requestRevisions=function(){return this._wr.requestRevisions()},g.prototype.getDownloadDocumentURL=function(){return this._wr.getDownloadDocumentURL()},g.prototype.requestDocumentHyperlinks=function(e){return this._wr.requestDocumentHyperlinks(e)},g.prototype.print=function(e){return this._wr.print(e)},g.prototype.validatePrintRange=function(e){return this._wr.validatePrintRange(e)},g.prototype.canPrintMarks=function(){return this._wr.canPrintMarks()},g.prototype.deserializeMarks=function(e){return this._wr.deserializeMarks(e)},g.prototype.serializeMarks=function(e){return this._wr.serializeMarks(e)},g.prototype.setRedactionViewMode=function(e){return this._wr.setRedactionViewMode(e),this},g.prototype.getRedactionViewMode=function(){return this._wr.getRedactionViewMode()},g.prototype.convertToRedaction=function(e){return this._wr.convertToRedaction(e)},g.prototype.convertToHighlight=function(e){return this._wr.convertToHighlight(e)},g.prototype.setSelectedSearchResult=function(e,t){return this._wr.setSelectedSearchResult(e,t),this},g.prototype.clearSelectedSearchResult=function(){return this._wr.clearSelectedSearchResult(),this},g.prototype.getSelectedSearchResult=function(){return this._wr.getSelectedSearchResult()},g.prototype.requestPageText=function(e){return this._wr.requestPageText(e)},g.prototype.disposePageText=function(e){return this._wr.disposePageText(e),this},g.prototype.isPageTextReady=function(e){return this._wr.isPageTextReady(e)},g.prototype.documentHasText=function(){return this._wr.documentHasText()},g.prototype.requestPageAttributes=function(e){return this._wr.requestPageAttributes(e)},g.prototype.destroy=a(n().mark((function e(){var t;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this._wr,this._wr=null,this._Cr=!0,!t){e.next=6;break}return e.next=6,t.destroy();case 6:case\\\"end\\\":return e.stop()}}),e,this)}))),g.prototype.getMarkById=function(e){return this._wr.getMarkById(e)},g.prototype.getMarksByType=function(e){return this._wr.getMarksByType(e)},g.prototype.getAllMarks=function(){return this._wr.getAllMarks()},g.prototype.addMarkFromSearchResult=function(e,t){return this._wr.addMarkFromTextSelection(e,t)},g.prototype.addMarkFromTextSelection=function(e,t){return this._wr.addMarkFromTextSelection(e,t)},g.prototype.addMark=function(e,t){return this._wr.addMark(e,t)},g.prototype.deleteMarks=function(e){return this._wr.deleteMarks(e),this},g.prototype.deleteAllMarks=function(){return this._wr.deleteAllMarks(),this},g.prototype.hideMarks=function(e){return this._wr.hideMarks(e),this},g.prototype.showMarks=function(e){return this._wr.showMarks(e),this},g.prototype.moveMarkToFront=function(e){return this._wr.moveMarkToFront(e),this},g.prototype.moveMarkToBack=function(e){return this._wr.moveMarkToBack(e),this},g.prototype.moveMarkForward=function(e){return this._wr.moveMarkForward(e),this},g.prototype.moveMarkBackward=function(e){return this._wr.moveMarkBackward(e),this},g.prototype.getSelectedMarks=function(){return this._wr.getSelectedMarks()},g.prototype.selectMarks=function(e){return this._wr.selectMarks(e),this},g.prototype.deselectMarks=function(e){return this._wr.deselectMarks(e),this},g.prototype.deselectAllMarks=function(){return this._wr.deselectAllMarks(),this},g.prototype.copyMarks=function(e){return this._wr.copyMarks(e)},g.prototype.enterTextMarkEditingMode=function(e){return this._wr.enterTextMarkEditingMode(e),this},g.prototype.getCharacterIndex=function(e){return this._wr.getCharacterIndex(e)},g.prototype.getCurrentMouseTool=function(){return this._wr.getCurrentMouseTool()},g.prototype.setCurrentMouseTool=function(e){return this._wr.setCurrentMouseTool(e),this},g.prototype.saveMarkup=function(e,t){return this._wr.saveMarkup(e,t)},g.prototype.loadMarkup=function(e,t){return this._wr.loadMarkup(e,t)},g.prototype.getSavedMarkupNames=function(){return this._wr.getSavedMarkupNames()},g.prototype.getMarkupLayerCollection=function(){return this._wr.getMarkupLayerCollection()},g.prototype.requestMarkupLayerNames=function(e){return this._wr.requestMarkupLayerNames(e)},g.prototype.getActiveMarkupLayer=function(){return this._wr.getActiveMarkupLayer()},g.prototype.setActiveMarkupLayer=function(e){return this._wr.setActiveMarkupLayer(e)},g.prototype.loadMarkupLayers=function(e,t){return this._wr.loadMarkupLayers(e,t)},g.prototype.saveMarkupLayer=function(e){return this._wr.saveMarkupLayer(e)},g.prototype.burnMarkup=function(e){return this._wr.burnMarkup(e)},g.prototype.convertDocument=function(e){return this._wr.convertDocument(e)},g.prototype.requestDocumentConversion=function(e){return this._wr.requestDocumentConversion(e)},g.prototype.loadAttachments=function(){return this._wr.loadAttachments()},g.prototype.setMarkHandleMode=function(e){return this._wr.setMarkHandleMode(e),this},g.prototype.getMarkHandleMode=function(){return this._wr.getMarkHandleMode()},g.prototype.setConversationDOMFactory=function(e){return this._wr.setConversationDOMFactory(e),this},g.prototype.getConversationDOMFactory=function(){return this._wr.getConversationDOMFactory()},g.prototype.refreshConversations=function(e){return this._wr.refreshConversations(e),this},g.prototype.openCommentsPanel=function(){return this._wr.openCommentsPanel(),this},g.prototype.closeCommentsPanel=function(){return this._wr.closeCommentsPanel(),this},g.prototype.getIsCommentsPanelOpen=function(){return this._wr.getIsCommentsPanelOpen()},g.prototype.setSelectedConversation=function(e){return this._wr.setSelectedConversation(e),this},g.prototype.getSelectedConversation=function(){return this._wr.getSelectedConversation()},g.prototype.clearMouseSelectedText=function(e){return this._wr.clearMouseSelectedText(e),this},g.prototype.convertPageToWindowCoordinates=function(e,t){return this._wr.convertPageToWindowCoordinates(e,t)},g.prototype.selectEditorText=function(){return this._wr.selectEditorText(),this},g.prototype.setSharpening=function(e){return this._wr.setSharpening(e),this},g.prototype.getSharpening=function(){return this._wr.getSharpening()},g.prototype.setGamma=function(e){return this._wr.setGamma(e),this},g.prototype.getGamma=function(){return this._wr.getGamma()},g.prototype.setSvgLineWidthMultiplier=function(e){return this._wr.setSvgLineWidthMultiplier(e),this},g.prototype.getSvgLineWidthMultiplier=function(){return this._wr.getSvgLineWidthMultiplier()},g.prototype.changeViewingSession=function(e,t){var i=this,A=i._wr,n=A._BN,r=i._oR.documentID;if(i._uR)throw\\\"The changeViewingSession method cannot be used again before the 'ViewingSessionChanged' event has fired.\\\";if(!1===i._wr._vR)throw\\\"The changeViewingSession method can not be used until 'ViewerReady' state is reached.\\\";if(r===e)return i;if(i._uR=!0,i.trigger(PCCViewer.EventType.ViewingSessionChanging,{viewingSessionId:e}),t?(i._pR[r]={control:A,options:i._oR},A._wR(),A._xR()):A.destroy(),i._pR[e]){var a=i._pR[e];i._oR=a.options,i._wr=a.control,i._wr._zR(),i._wr._AR(),i._uR=!1,i.trigger(PCCViewer.EventType.ViewingSessionChanged,{viewingSessionId:e}),i._wr._BR&&i.trigger(\\\"PageCountReady\\\",{pageCount:i._wr._so}),delete i._pR[e]}else i._oR=s._o.extend({},i._oR),i._oR.documentID=e,i._wr=null,i._wr=new c(n,i,i._oR),i._wr._CR((function(){i._uR=!1,i.trigger(PCCViewer.EventType.ViewingSessionChanged,{viewingSessionId:e})}));return i},g.prototype.deletePages=function(e){return console.warn(\\\"The ViewerControl.deletePages API is still under active development and is not ready for use. Its functionality is subject to change, and in its current state may cause instability in the product.\\\"),this._wr.deletePages(e),this},g.prototype.convertToViewerPageNumber=function(e){return console.warn(\\\"The ViewerControl.convertToViewerPageNumber API is still under active development and is not ready for use. Its functionality is subject to change, and in its current state may cause instability in the product.\\\"),this._wr.convertToViewerPageNumber(e)},g.prototype.convertToPageReference=function(e){return console.warn(\\\"The ViewerControl.convertToPageReference API is still under active development and is not ready for use. Its functionality is subject to change, and in its current state may cause instability in the product.\\\"),this._wr.convertToPageReference(e)},g.prototype.detectPii=function(e){return this._wr.detectPii(e)},g.prototype.clearPiiDetection=function(){return this._wr.clearPiiDetection(),this},g.prototype.setSelectedPiiEntity=function(e,t){return this._wr.setSelectedPiiEntity(e,t),this},g.prototype.getSelectedPiiEntity=function(){return this._wr.getSelectedPiiEntity()},g.prototype.clearSelectedPiiEntity=function(){return this._wr.clearSelectedPiiEntity(),this},g.prototype.summarizeDocument=function(){return this._wr.summarizeDocument()},g.prototype.classifyDocument=function(e){return this._wr.classifyDocument(e)},g.prototype.tagDocument=function(){return this._wr.tagDocument()},g.prototype.queryDocument=function(e){return this._wr.queryDocument(e)},Object.defineProperties&&Object.defineProperties(g.prototype,{pageCount:{enumerable:!0,get:function(){return this._wr.getPageCount()}},pageNumber:{enumerable:!0,get:function(){return this._wr.getPageNumber()},set:function(e){return this._wr.setPageNumber(e)}},searchRequest:{enumerable:!0,get:function(){return this._wr._um}},selectedSearchResult:{enumerable:!0,get:function(){return this._wr.getSelectedSearchResult()},set:function(e){return this._wr.setSelectedSearchResult(e,!0)}},currentMouseTool:{enumerable:!0,get:function(){return this._wr.getCurrentMouseTool()},set:function(e){return this._wr.setCurrentMouseTool(e)}},atMaxScale:{enumerable:!0,get:function(){return this._wr.getAtMaxScale()}},atMinScale:{enumerable:!0,get:function(){return this._wr.getAtMinScale()}},scaleFactor:{enumerable:!0,get:function(){return this._wr.getScaleFactor()},set:function(e){return this._wr.setScaleFactor(e)}},selectedMarks:{enumerable:!0,get:function(){return this._wr.getSelectedMarks()}},viewMode:{enumerable:!0,get:function(){return this._wr.getViewMode()},set:function(e){return this._wr.setViewMode(e)}},isCommentsPanelOpen:{enumerable:!0,get:function(){return this._wr.getIsCommentsPanelOpen()}},selectedConversation:{enumerable:!0,get:function(){return this._wr.getSelectedConversation()},set:function(e){return this._wr.setSelectedConversation(e)}},redactionViewMode:{enumerable:!0,get:function(){return this._wr.getRedactionViewMode()},set:function(e){return this._wr.setRedactionViewMode(e)}},markHandleMode:{enumerable:!0,get:function(){return this._wr.getMarkHandleMode()},set:function(e){return this._wr.setMarkHandleMode(e)}},selectedPiiEntity:{enumerable:!0,get:function(){return this._wr.getSelectedPiiEntity()},set:function(e){return this._wr.setSelectedPiiEntity(e,!0)}}}),e.exports=g},4163:(e,t,i)=>{var A={ViewMode:i(6127),MarkHandleMode:i(9042),RedactionViewMode:i(1924),PageLayout:i(5956),EventType:i(2943),Event:i(5957),ScaleTrigger:i(5830),FitType:i(8122),Promise:i(1424).Promise,Deferred:i(1424).Deferred,EventEmitter:i(5996),_Q:i(3966),Util:i(5997),ObservableCollection:i(6345),_R:i(7038),Data:i(7114).Data,SessionData:i(7114).SessionData,Ajax:i(8799).Ajax,AjaxResponse:i(8799).AjaxResponse,Language:i(4661),Error:i(5023)._S,ViewerControl:i(1540),_T:i(7146),MouseTool:i(8806).MouseTool,MouseTools:i(8806).MouseTools,Conversation:i(1275).Conversation,Comment:i(1275).Comment,ImageStamps:i(1571),DocumentHyperlink:i(1706),_U:i(8868)._U,SearchTask:i(8868).SearchTask,SearchRequest:i(3491),SearchResult:i(4430).SearchResult,_V:i(5507),SearchTaskResult:i(4430).SearchTaskResult,_W:i(5154),_X:i(4567),Signatures:i(8698).Signatures,SignatureControl:i(8698).SignatureControl,SignatureDisplay:i(8698).SignatureDisplay,ThumbnailControl:i(4952),Revision:i(3438),_Y:i(7170)._Y,RevisionsRequest:i(7170).RevisionsRequest,ConversionRequest:i(8023),BurnRequest:i(4133),PrintRequest:i(3904).PrintRequest,PrintControl:i(3904).PrintControl,Mark:i(9756),MarkupLayer:i(6044),LoadMarkupLayersRequest:i(2523),MarkupLayerCollection:i(9524),PasswordProtectedDocumentLoader:i(5782),PiiEntity:i(5152).PiiEntity,PiiDetectionRequest:i(3770).PiiDetectionRequest,DocumentSummarizationRequest:i(6727).DocumentSummarizationRequest,DocumentClassificationRequest:i(7939).DocumentClassificationRequest,DocumentTagRequest:i(8109).DocumentTagRequest,DocumentQueryRequest:i(6931).DocumentQueryRequest};e.exports=A},3491:e=>{var t=function(e){this._Ji={},this._Fl={},this._Gl=[],this._Hl=!1,this._Il=null,this._Jl=null,this._Kl=[],Object.defineProperties&&Object.defineProperties(this,{searchQuery:{configurable:!!e,enumerable:!0,get:function(){return this._Fl}},results:{configurable:!!e,enumerable:!0,get:function(){return this._Gl}},isComplete:{configurable:!!e,enumerable:!0,get:function(){return this._Hl}},errorCode:{configurable:!!e,enumerable:!0,get:function(){return this._Il}},errorMessage:{configurable:!!e,enumerable:!0,get:function(){return this._Jl}}}),PCCViewer.EventEmitter.extend(this)};t.prototype.getSearchQuery=function(){return this._Fl},t.prototype.getResults=function(){return this._Gl},t.prototype.getIsComplete=function(){return this._Hl},t.prototype.getErrorCode=function(){return this._Il},t.prototype.getErrorMessage=function(){return this._Jl},t.prototype.getPagesWithoutText=function(){return this._Kl},t.prototype.cancel=function(){this._Ll=!0,this.trigger(\\\"SearchCancelled\\\")},e.exports=t},4430:e=>{var t=function(){this._dn=0,this._Nl=0,this._zd=0,this._Db=\\\"\\\",this._Hd=\\\"\\\",this._Am=0,this._Bm=\\\"\\\",this._Dm=0,this._Cm=\\\"\\\",this._fn={},this._Fm=null};t.prototype.getId=function(){return this._dn},t.prototype.getPageNumber=function(){return this._Nl},t.prototype.getPageReference=function(){return console.warn(\\\"The SearchResult.getPageReference API is still under active development and is not ready for use. Its functionality is subject to change, and in its current state may cause instability in the product.\\\"),this._fn},t.prototype.getText=function(){return this._Db},t.prototype.getHighlightColor=function(){return this._Hd},t.prototype.getStartIndexInPage=function(){return this._Am},t.prototype.getContext=function(){return this._Bm},t.prototype.getStartIndexInContext=function(){return this._Dm},t.prototype.getSearchTerm=function(){return this._Cm},t.prototype.getBoundingRectangle=function(){return this._Fm},Object.defineProperties&&Object.defineProperties(t.prototype,{pageNumber:{enumerable:!0,get:function(){return this._Nl}},pageReference:{enumerable:!0,get:function(){return console.warn(\\\"The SearchResult.pageReference API is still under active development and is not ready for use. Its functionality is subject to change, and in its current state may cause instability in the product.\\\"),this._fn}},id:{enumerable:!0,get:function(){return this._dn}},text:{enumerable:!0,get:function(){return this._Db}},highlightColor:{enumerable:!0,get:function(){return this._Hd}},startIndexInPage:{enumerable:!0,get:function(){return this._Am}},context:{enumerable:!0,get:function(){return this._Bm}},startIndexInContext:{enumerable:!0,get:function(){return this._Dm}},searchTerm:{enumerable:!0,get:function(){return this._Cm}},boundingRectangle:{enumerable:!0,get:function(){return this.getBoundingRectangle()}}});var i=function(){this._dn=0,this._zd=0,this._Db=\\\"\\\",this._Hd=\\\"\\\",this._Am=0,this._Bm=\\\"\\\",this._Dm=0,this._Cm=\\\"\\\"};i.prototype.getId=function(){return this._dn},i.prototype.getText=function(){return this._Db},i.prototype.getHighlightColor=function(){return this._Hd},i.prototype.getStartIndexInInput=function(){return this._Am},i.prototype.getContext=function(){return this._Bm},i.prototype.getStartIndexInContext=function(){return this._Dm},i.prototype.getSearchTerm=function(){return this._Cm},Object.defineProperties&&Object.defineProperties(i.prototype,{id:{enumerable:!0,get:function(){return this._dn}},text:{enumerable:!0,get:function(){return this._Db}},highlightColor:{enumerable:!0,get:function(){return this._Hd}},startIndexInInput:{enumerable:!0,get:function(){return this._Am}},context:{enumerable:!0,get:function(){return this._Bm}},startIndexInContext:{enumerable:!0,get:function(){return this._Dm}},searchTerm:{enumerable:!0,get:function(){return this._Cm}}}),e.exports={SearchTaskResult:i,SearchResult:t}},1851:(e,t,i)=>{if(\\\"undefined\\\"==typeof window)throw new Error(\\\"The viewer-core module can only be used in a browser environment (where a window object exists).\\\");i(8015);var A=i(3316),n=i(4163);window.IPCC=A,window.PCCViewer=n,e.exports=n},763:e=>{\\\"use strict\\\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=\\\"\\\",A=void 0!==t[5];return t[4]&&(i+=\\\"@supports (\\\".concat(t[4],\\\") {\\\")),t[2]&&(i+=\\\"@media \\\".concat(t[2],\\\" {\\\")),A&&(i+=\\\"@layer\\\".concat(t[5].length>0?\\\" \\\".concat(t[5]):\\\"\\\",\\\" {\\\")),i+=e(t),A&&(i+=\\\"}\\\"),t[2]&&(i+=\\\"}\\\"),t[4]&&(i+=\\\"}\\\"),i})).join(\\\"\\\")},t.i=function(e,i,A,n,r){\\\"string\\\"==typeof e&&(e=[[null,e,void 0]]);var a={};if(A)for(var s=0;s0?\\\" \\\".concat(g[5]):\\\"\\\",\\\" {\\\").concat(g[1],\\\"}\\\")),g[5]=r),i&&(g[2]?(g[1]=\\\"@media \\\".concat(g[2],\\\" {\\\").concat(g[1],\\\"}\\\"),g[2]=i):g[2]=i),n&&(g[4]?(g[1]=\\\"@supports (\\\".concat(g[4],\\\") {\\\").concat(g[1],\\\"}\\\"),g[4]=n):g[4]=\\\"\\\".concat(n)),t.push(g))}},t}},4264:e=>{\\\"use strict\\\";e.exports=function(e){return e[1]}},7038:(e,t,i)=>{var A=i(4900),n=i(3258);e.exports=function(e,t){var i=e.placeholder,r=n.getRegex(t.value,t.translations);function a(){var i=A.get(e),r=e.value,a=n.getValue(r,t.value,t.translations,i);e.value=a.val,setTimeout((function(){A.set(e,i+a.cursorAdjustment)}),1)}function s(){e.value=n.fill(e.value,t.value,t.translations),r.test(e.value)||(e.value=\\\"\\\")}s(),e.placeholder=n.getPlaceholder(t.value,t.translations),e.addEventListener(\\\"input\\\",a),e.addEventListener(\\\"focusout\\\",s),e.addEventListener(\\\"blur\\\",s),this.destroy=function(){s(),e.placeholder=i,e.removeEventListener(\\\"input\\\",a),e.removeEventListener(\\\"focusout\\\",s),e.removeEventListener(\\\"blur\\\",s)}}},4900:e=>{e.exports={get:function(e){var t=0;return e.selectionEnd&&(t=e.selectionEnd),Number(t)},set:function(e,t){e.setSelectionRange(t,t)}}},3258:e=>{var t=/[\\\\\\\\^$.*+?()[\\\\]{}|]/g,i=new RegExp(t.source);e.exports={getRegex:function(e,A){var n,r,a,s=\\\"\\\";for(a=0;a{var A=i(461),n=i(9040),r=i(9126);function a(e){return!(\\\"string\\\"!=typeof e.pattern||\\\"boolean\\\"!=typeof e.caseSensitive&&void 0!==e.caseSensitive||\\\"boolean\\\"!=typeof e.unicodeEnabled&&void 0!==e.unicodeEnabled)}function s(e){if(A.isPlainObject(e)&&\\\"string\\\"==typeof e.type){if(\\\"simple\\\"===e.type)return a(e);if(\\\"proximity\\\"===e.type)return function(e){return!!(A.isPositiveInteger(e.distance)&&e.subTerms instanceof Array)&&A.every(e.subTerms,a)}(e)}return!1}function o(e){var t=\\\"g\\\";return e.caseSensitive||(t+=\\\"i\\\"),e.unicodeEnabled&&(t+=\\\"u\\\"),new RegExp(e.pattern,t)}function c(e){return function(t){return{input:e,text:t.text,startIndex:t.startIndex}}}e.exports={getResults:function(e,t){if(\\\"string\\\"!=typeof e)throw A.inputError(\\\"text\\\",\\\"string\\\");if(!((i=t)instanceof Array&&A.every(i,s)))throw A.inputError(\\\"searchInputs\\\",\\\"array of search inputs\\\");var i,a=[];return t.forEach((function(t,i){if(\\\"simple\\\"===t.type)a=a.concat(function(e,t){var i=o(t);return n.getResultsForTerm(e,i,t.captureGroupIndex).map(c(t))}(e,t));else{if(\\\"proximity\\\"!==t.type)throw A.inputError(\\\"searchInputs[\\\"+i+\\\"].type\\\",'string equal to \\\"simple\\\" or \\\"proximity\\\"');a=a.concat(function(e,t){var i=t.subTerms.map(o);return r.getResults(e,i,t.distance,t.captureGroupIndex).map(c(t))}(e,t))}})),A.sortResults(a),a}}},6088:(e,t,i)=>{var A=i(461);function n(e){var t=[{property:\\\"options\\\",validator:function(){return A.isPlainObject(e)},error:\\\"object\\\"},{property:\\\"options.rectangles\\\",validator:function(){return e.rectangles instanceof Array},error:\\\"array\\\"},{property:\\\"options.startIndex\\\",validator:function(){return A.isMinInteger(e.startIndex,0)},error:\\\"integer that is at least 0\\\"},{property:\\\"options.endIndex\\\",validator:function(){return A.isMinInteger(e.endIndex,0)},error:\\\"integer that is at least 0\\\"},{property:\\\"options.startIndex\\\",validator:function(){return A.isMaxInteger(e.startIndex,e.endIndex)},error:'integer that is at most \\\"options.endIndex\\\"'}];A.validateInput(t)}e.exports={getContext:function(e){!function(e){var t=[{property:\\\"options\\\",validator:function(){return A.isPlainObject(e)},error:\\\"object\\\"},{property:\\\"options.text\\\",validator:function(){return\\\"string\\\"==typeof e.text},error:\\\"string\\\"},{property:\\\"options.startIndex\\\",validator:function(){return A.isMinInteger(e.startIndex,0)},error:\\\"integer that is at least 0\\\"},{property:\\\"options.endIndex\\\",validator:function(){return A.isMinInteger(e.endIndex,0)},error:\\\"integer that is at least 0\\\"},{property:\\\"options.padding\\\",validator:function(){return A.isMinInteger(e.padding,0)},error:\\\"integer that is at least 0\\\"},{property:\\\"options.startIndex\\\",validator:function(){return e.startIndex{var A=i(6088),n=i(9040),r=i(9126),a=i(8784);e.exports={formatter:A,regex:n,proximity:r,combined:a}},9126:(e,t,i)=>{var A=i(9040),n=i(461);function r(e,t){return Object.keys(e).length===t.length}function a(e){if(\\\"string\\\"!=typeof e)throw n.inputError(\\\"text\\\",\\\"string\\\");for(var t,i=[],A=/[^\\\\s]+/gm;null!==(t=A.exec(e));)i.push(t.index);return i}e.exports={getWordIndex:a,getResults:function(e,t,i,s){if(!n.isPositiveInteger(i))throw n.inputError(\\\"distance\\\",\\\"integer that is greater than 0\\\");var o=a(e),c=A.getResults(e,t,s),g=[];return c.forEach((function(A,n){var a={nextIndex:-1,currentIndex:n,matches:{},nextResult:null};for(a.endIndex=function(e,t,i,A){var n=function(e,t){for(var i=-1,A=1;At.startIndex){i=A-1;break}return-1===i&&t.startIndex>e[e.length-1]&&(i=e.length-1),i}(e,t),r=null;return e[(r=0===A?n+i-1:n+((i-1)*A+i)-1){var A=i(461);function n(e){return e instanceof RegExp}function r(e,t,i){!function(e,t){if(\\\"string\\\"!=typeof e)throw A.inputError(\\\"text\\\",\\\"string\\\");if(!n(t))throw A.inputError(\\\"searchTerm\\\",\\\"regular expression\\\")}(e,t);for(var r,a=[];null!==(r=t.exec(e));)i&&r[i]?a.push({term:t.toString(),text:r[i],startIndex:r[0][0]===r[i][0]?r.index:r.index+1}):r[0]?a.push({term:t.toString(),text:r[0],startIndex:r.index}):t.lastIndex+=1;return a}e.exports={getResultsForTerm:r,getResults:function(e,t,i){if(\\\"string\\\"!=typeof e)throw A.inputError(\\\"text\\\",\\\"string\\\");if(!((a=t)instanceof Array&&A.every(a,n)))throw A.inputError(\\\"searchTerms\\\",\\\"array of regular expressions\\\");for(var a,s=[],o=0;o{function t(e){return t=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},t(e)}function i(e,t){var i=[\\\"a\\\",\\\"e\\\",\\\"i\\\",\\\"o\\\",\\\"u\\\"].indexOf(t.charAt(0))>-1?\\\"an\\\":\\\"a\\\";return new Error('Invalid argument. Argument \\\"'+e+'\\\" must be '+i+\\\" \\\"+t+\\\".\\\")}function A(e){return\\\"number\\\"==typeof e&&Math.round(e)===e}function n(e,t){if(\\\"number\\\"!=typeof t)throw i(\\\"min\\\",\\\"number\\\");return A(e)&&e>=t}e.exports={inputError:i,isInteger:A,isMinInteger:n,isMaxInteger:function(e,t){if(\\\"number\\\"!=typeof t)throw i(\\\"max\\\",\\\"number\\\");return A(e)&&e<=t},isPositiveInteger:function(e){return n(e,0)},isPlainObject:function(e){return\\\"object\\\"===t(e)&&null!==e&&!(e instanceof Array)&&e.constructor===Object},validateInput:function(e){return e.forEach((function(e){if(!e.validator())throw i(e.property,e.error)})),!0},every:function(e,t){for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)&&!t(e[i],i))return!1;return!0},sortResults:function(e){e.sort((function(e,t){return e.startIndex-t.startIndex}))},joinRectangles:function(e,t){var i=Math.min(e.x,t.x),A=Math.min(e.y,t.y);return{x:i,y:A,width:Math.max(e.x+e.width,t.x+t.width)-i,height:Math.max(e.y+e.height,t.y+t.height)-A}},isCharacterAtEndOfLine:function(e,t){return!!(t&&Math.abs(e.y-t.y)<1&&Math.abs(e.height-t.height)<1&&e.x+e.width>=t.x+t.width)},getRectangleObject:function(e){return{x:e[0],y:e[1],width:e[2],height:e[3]}}}},6909:(e,t,i)=>{\\\"use strict\\\";i.d(t,{Z:()=>s});var A=i(4264),n=i.n(A),r=i(763),a=i.n(r)()(n());a.push([e.id,'/* page list specific */\\\\n\\\\n.pccViewerControl {\\\\n width: 100%;\\\\n height: 100%;\\\\n position: relative;\\\\n \\\\n /* promote to a new layer */\\\\n -webkit-transform: translateZ(0);\\\\n transform: translateZ(0);\\\\n /* iOS momentum scrolling */\\\\n -webkit-overflow-scrolling: touch;\\\\n /* helps touch zoom not overlap any other element */\\\\n overflow: hidden;\\\\n}\\\\n/* normalize override */\\\\nsvg:not(:root) {overflow:visible!important;}\\\\n\\\\n.pccPageListContainer{\\\\n box-sizing: border-box;\\\\n}\\\\n\\\\n.pccPageListContainerWrapper {\\\\n -ms-transform: scale(1,1) translate(0px,0px);\\\\n -moz-transform: scale(1,1) translate(0px,0px);\\\\n -webkit-transform: scale3d(1,1,1) translate3d(0px,0px,0px);\\\\n transform: scale3d(1,1,1) translate3d(0px,0px,0px);\\\\n \\\\n -ms-transform-origin: 0% 0%;\\\\n -moz-transform-origin: 0% 0%;\\\\n -webkit-transform-origin: 0% 0%;\\\\n transform-origin: 0% 0%;\\\\n \\\\n will-change: transform, -webkit-transform;\\\\n}\\\\n\\\\n.pccPageListLoading {\\\\n height: 30px;\\\\n margin: -15px;\\\\n left: 50%;\\\\n position: absolute;\\\\n top: 50%;\\\\n width: 30px;\\\\n}\\\\n\\\\n.pccPageListComments {\\\\n position: relative;\\\\n min-width: 300px;\\\\n height: auto;\\\\n vertical-align: top;\\\\n display: table-cell;\\\\n box-sizing: border-box;\\\\n z-index: 2;\\\\n}\\\\n\\\\n.pccPageListComments > div {\\\\n position: absolute; \\\\n}\\\\n\\\\n.pccHidden {\\\\n display: none;\\\\n}\\\\n\\\\n.pccPageListItem {\\\\n background: #fff;\\\\n overflow: hidden;\\\\n margin: 13px;\\\\n vertical-align: middle;\\\\n border-bottom: 1px solid #d4d6db;\\\\n}\\\\n\\\\n/* Single Page view mode */\\\\n.pccSinglePageView .pccPageListItem {\\\\n -webkit-transform: translateZ(0);\\\\n transform: translateZ(0);\\\\n -webkit-animation-duration: 1s;\\\\n animation-duration: 1s;\\\\n -webkit-animation-timing-function: ease-out;\\\\n animation-timing-function: ease-out; \\\\n}\\\\n\\\\n/* Next and previous page list items for single page view mode */\\\\n.pccSinglePageView .pccNextPage {opacity:0;z-index:0;}\\\\n.pccSinglePageView .pccPreviousPage {opacity:0;z-index:0;}\\\\n.pccSinglePageView .pccCurrentPage {opacity:1;z-index:1;}\\\\n\\\\n/* Default animations for single page view mode */\\\\n.pccSinglePageView .pccNextPageIn { animation-name:moveInFromRight;-webkit-animation-name:moveInFromRight;}\\\\n.pccSinglePageView .pccPreviousPageIn {animation-name:moveInFromLeft;-webkit-animation-name:moveInFromLeft;}\\\\n.pccSinglePageView .pccPageForward {animation-name:moveLeft;-webkit-animation-name:moveLeft;}\\\\n.pccSinglePageView .pccPageBack {animation-name:moveRight;-webkit-animation-name:moveRight;}\\\\n@keyframes moveRight {0% {transform: translate3d(0, 0, 0); opacity:1;} 100% {transform: translate3d(110%, 0, 0); opacity:0;}}\\\\n@-webkit-keyframes moveRight {0% {-webkit-transform: translate3d(0, 0, 0); opacity:1;} 100% {-webkit-transform: translate3d(110%, 0, 0); opacity:0;}}\\\\n@keyframes moveLeft {0% {transform: translate3d(0, 0, 0); opacity:1;} 100% {transform: translate3d(-110%, 0, 0); opacity:0;}}\\\\n@-webkit-keyframes moveLeft {0% {-webkit-transform: translate3d(0, 0, 0); opacity:1;} 100% {-webkit-transform: translate3d(-110%, 0, 0); opacity:0;}}\\\\n@keyframes moveInFromLeft {0% {transform: translate3d(-110%, 0, 0); opacity:0;} 100% {transform: translate3d(0, 0, 0); opacity:1;}}\\\\n@-webkit-keyframes moveInFromLeft {0% {-webkit-transform: translate3d(-110%, 0, 0); opacity:0;} 100% {-webkit-transform: translate3d(0, 0, 0); opacity:1;}}\\\\n@keyframes moveInFromRight {0% {transform: translate3d(110%, 0, 0); opacity:0;} 100% {transform: translate3d(0, 0, 0); opacity:1;}}\\\\n@-webkit-keyframes moveInFromRight {0% {-webkit-transform: translate3d(110%, 0, 0); opacity:0;} 100% {-webkit-transform: translate3d(0, 0, 0); opacity:1;}}\\\\n\\\\n/*\\\\n.pccPageListItem * {\\\\n -ms-touch-action: pinch-zoom pan-x pan-y;\\\\n touch-action: pinch-zoom pan-x pan-y;\\\\n} */\\\\n\\\\n.pccPageListItem .pccPageListItemLoading {margin:30% auto;display:block;filter:Alpha(Opacity=50);background-color:#fff}\\\\n.pccPageListItem .pccPageLoadFail {margin:35% auto;text-align:center;line-height:2;color:#777;}\\\\n\\\\n/* PageList container fix */\\\\n.pccPageListItem .igAnchor,\\\\n.pccPageListItem .igViewerScroller,\\\\n.pccPageListItem .igViewerGraphics,\\\\n.pccThumbnailView .igAnchor {\\\\n /* never recalculate these values */\\\\n width: 100% !important;\\\\n height: 100% !important;\\\\n}\\\\n.igAnchor > svg{ \\\\n width: 100%; \\\\n height: 100%;\\\\n}\\\\n.igMagnifierFrame .igAnchor > svg { width: auto; height: auto; }\\\\n.igViewerScroller,\\\\n.igViewerGraphics,\\\\n.igAnchor,\\\\n.igAnchor > svg,\\\\n.igAnchor svg svg {\\\\n -webkit-user-select: none !important;\\\\n -webkit-touch-callout: none !important;\\\\n -webkit-tap-highlight-color: rgba(0,0,0,0) !important;\\\\n}\\\\n.igAnchor svg svg use { pointer-events: none; }\\\\n\\\\n/* do not show textarea outline on text marks */\\\\n.pccViewerControl textarea {outline:none;}\\\\n\\\\n/* copy text */\\\\n.pccCopyText {\\\\n position:absolute;\\\\n top:0;\\\\n left:0;\\\\n z-index:0;\\\\n width:1px;\\\\n height:1px;\\\\n overflow:hidden;\\\\n opacity:0;\\\\n filter:alpha(opacity=0);\\\\n color: #000;\\\\n}\\\\n\\\\n/* about modal */\\\\n.pccPageListAboutModal {background:#383a3f;position:absolute;top:-300px;left:0;right:0;\\\\n margin:0 auto;width:280px;padding:10px;visibility:hidden;opacity:0;z-index:5;border-radius:3px;\\\\n text-align:center;\\\\n -webkit-box-shadow:0 2px 4px -1px rgba(0, 0, 0, .4);\\\\n box-shadow:0 2px 4px -1px rgba(0, 0, 0, .4);\\\\n -webkit-transition:all 400ms;\\\\n transition:all 400ms}\\\\n.pccPageListAboutModal * {text-align:left;font-family:\\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\\\n -webkit-text-size-adjust:100%;\\\\n -ms-text-size-adjust:100%;\\\\n text-size-adjust:100%}\\\\n.pccPageListAboutModal h3 {margin:10px 0;font-size:18px;color:#fff;font-weight:bold}\\\\n.pccPageListAboutModal p {font-size:12px;color:#c2c5ce}\\\\n.pccPageListAboutModal p:last-child {color:#c2c5ce}\\\\n.pccPageListAboutModal a {color:#afc3eb}\\\\nhtml .pccPageListAboutModal button {position:absolute;top:0;right:0;font-size:20px;color:#fff;\\\\n background:none;border:none;-webkit-box-shadow:none;box-shadow:none;height:auto}\\\\n.pccPageListAboutModal.open {visibility:visible;opacity:1;top:122px}\\\\n\\\\n/* nag modal */\\\\n.pccPageListNagModal {background:#e7e9ef;position:absolute;top:-300px;left:0;right:0;\\\\n margin:0 auto;width:480px;padding:10px;visibility:hidden;opacity:0;z-index:5;border-radius:3px;\\\\n text-align:center;\\\\n -webkit-box-shadow:0 6px 6px -1px rgba(0, 0, 0, .5);\\\\n box-shadow:0 6px 6px -1px rgba(0, 0, 0, .5);\\\\n -webkit-transition:all 400ms;\\\\n transition:all 400ms}\\\\n.pccPageListNagModal * {text-align:left;font-family:\\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\\\n -webkit-text-size-adjust:100%;\\\\n -ms-text-size-adjust:100%;\\\\n text-size-adjust:100%}\\\\n.pccPageListNagModal h3 {margin:10px 0;font-size:18px;color:#000000;font-weight:bold}\\\\n.pccPageListNagModal p {font-size:12px;color:#000000}\\\\n.pccPageListNagModal p:last-child {color:#000000}\\\\n.pccPageListNagModal a {color:#263fea}\\\\nhtml .pccPageListNagModal button {position:absolute;top:0;right:0;font-size:20px;color:#000000;\\\\n background:none;border:none;-webkit-box-shadow:none;box-shadow:none;height:auto}\\\\n.pccPageListNagModal.open {visibility:visible;opacity:1;top:20px}\\\\n\\\\n.pccEditMarkButton {\\\\n display: inline-block;\\\\n background: no-repeat url(../img/EditTextMark.png);\\\\n border: none;\\\\n -webkit-box-shadow: none;\\\\n box-shadow: none;\\\\n height: 26px;\\\\n width: 26px;\\\\n -webkit-background-size: 26px 26px;\\\\n background-size: 26px;\\\\n cursor: pointer !important;\\\\n}\\\\n\\\\n/* svg elements can have body tags inside them, so we protect styling of them */\\\\n/* viewer marks that do not look correct can likely be affected by conflicting styles */\\\\n.pccViewerControl body {\\\\n background-color: initial;\\\\n min-height: initial;\\\\n\\\\tposition: static;\\\\n height: 100%;\\\\n}\\\\n\\\\n/* style for thumbnail views */\\\\n.pccThumbnailWrapper {\\\\n position: relative;\\\\n display: block;\\\\n width: 100px;\\\\n height: 100px;\\\\n margin: 5px 0 2em 0;\\\\n}\\\\n.pccThumbnail {\\\\n width: 100%;\\\\n height: 100%;\\\\n}\\\\n.pccThumbnailView {\\\\n /* it\\\\'s important not to edit these width and height\\\\n * they are depended upon in the actual size calculation */\\\\n height: 100%;\\\\n width: 100%;\\\\n margin: auto !important;\\\\n}\\\\n.pccThumbnailLabel {\\\\n position: absolute;\\\\n top: 100%;\\\\n left: 0;\\\\n width: 100%;\\\\n text-align: center;\\\\n}\\\\n\\\\n/* mark selection handles */\\\\n.pccMarkHandleTopLeft,\\\\n.pccMarkHandleTopCenter,\\\\n.pccMarkHandleTopRight,\\\\n.pccMarkHandleMidLeft,\\\\n.pccMarkHandleMidRight,\\\\n.pccMarkHandleBottomLeft,\\\\n.pccMarkHandleBottomCenter,\\\\n.pccMarkHandleBottomRight,\\\\n.pccMarkHandlePoint,\\\\n.pccMarkHandleTextSelectionStart,\\\\n.pccMarkHandleTextSelectionEnd {\\\\n position: absolute;\\\\n\\\\twidth: 40px;\\\\n\\\\theight: 40px;\\\\n\\\\tbackground-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkMmJhOTYxOS02NDJjLTQzOTUtYTI2Mi1iZTQ5NzM5MDEzYjEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RDQ3M0M1RkFDMUM2MTFFNDlBMzZFODY3RUQwOTI4QjgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RDQ3M0M1RjlDMUM2MTFFNDlBMzZFODY3RUQwOTI4QjgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowYzJmZjg5Ny1iMWRmLTQ4MGItOGRlNy01N2VkNGE0ZjJmZDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ZDJiYTk2MTktNjQyYy00Mzk1LWEyNjItYmU0OTczOTAxM2IxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SvzVDQAAAn9JREFUeNrsWMFr01AcTvvSNsnG1jQqOIeTTQ/z4EA9WFQQPYpn0epFL/4DiiBMFATRf0AvXtSJdwU9bHhY3UlBQQdThxVRUNN2wzVd26R+v/ILVA9r0iVQWR58zXuP9/3yNXnv9/tIrNlsSr3c4lKPt0hgJDASGAn8jwTKgAEMSAEHXU/TgRPAQWC0LV4dWADywDOg1O0NYn5K3ZEbc63riytZevKngTNAqgNtFXgATIHvMD+8J4jgGi7XgP3uXKVmi/xCMf3ll6XKIt4czihWdpe+pCWFzX/gPDAB7lWIrIT2BHnP3gb20qC0Uk/cnSmMTL8zh+q289d+Toi4c3S38e3CsZGC3peo8/Rr4CLghCXwLHCOOp9+VNRLj+YnzN81ZS2C0Z+s3jo1/mZsi2bx1D3gfhinOAPk+MnJlx/P7+kkjhqtobXE4akcxwpc4HH3QNyZLuz4uVxTvRJpLXF4mOJYgQs8RD/LVkOeeW8O+T1c4GxdWbUFDw8HLVDmPCfNfSyl/z0QXho44uWHYpqHo14ziNcbDboBv5qWInXZKA1xV3DMjVOLl4AGdYYNtdrtzbZvUt1UY3PMwASSuEXqHBjTy5SE/YoDx87u1Ms8XHT/cJCvON/ajJrcoArhVyA43/sV2ebhbBhp5gkXfonK1+aBpOWVSGvB+dxmHp6GIbAIPGx5LNTWmyfH31IZ60SiNbQWHPeVUgxzY5oF8oNst64D+9x5qhCzsFvIkRrslrMto1TpQPSlhN1GfwVMkt3y4we7NayCDWvOo2GdolcLvu3XsMbW+fHI4MK/luV/zvs3fMvvoV4PchIuBxU0Fn1+iwRGAiOBkcDebn8EGACEVf6TPnvOjAAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\n@media screen and (-webkit-min-device-pixel-ratio: 2), \\\\n screen and (min-resolution: 2dppx),\\\\n screen and (min-resolution: 192dpi) {\\\\n .pccMarkHandleTopLeft, \\\\n .pccMarkHandleTopCenter, \\\\n .pccMarkHandleTopRight, \\\\n .pccMarkHandleMidLeft, \\\\n .pccMarkHandleMidRight, \\\\n .pccMarkHandleBottomLeft, \\\\n .pccMarkHandleBottomCenter, \\\\n .pccMarkHandleBottomRight, \\\\n .pccMarkHandlePoint, \\\\n .pccMarkHandleTextSelectionStart, \\\\n .pccMarkHandleTextSelectionEnd {\\\\n -webkit-background-size: 40px 40px;\\\\n background-size: 40px;\\\\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGsAAABrCAYAAABwv3wMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkMmJhOTYxOS02NDJjLTQzOTUtYTI2Mi1iZTQ5NzM5MDEzYjEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0QwNDg4NENDNDAzMTFFNDgxM0JDREZDMUY0RTFFODIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0QwNDg4NEJDNDAzMTFFNDgxM0JDREZDMUY0RTFFODIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MjI3ZGMxZS0xNjg1LTQ2YTktOTI5Mi0wYzNkMTM4YjU3MWMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2YWNjOTM4MC0wYzZkLTExNzgtYmZj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);\\\\n }\\\\n}\\\\n\\\\n.pccv input.no-ms-clear::-ms-clear {\\\\n display: none;\\\\n}\\\\n\\\\n.pcc-image-stamp-img {\\\\n height: auto;\\\\n max-height: available;\\\\n width: 100%;\\\\n max-width: 100%;\\\\n position: relative;\\\\n}\\\\n\\\\n.pcc-load,\\\\n.pccPageListLoading,\\\\n.pccPageListItemLoading {\\\\n -webkit-animation-duration: 1s;\\\\n animation-duration: 1s;\\\\n -webkit-animation-iteration-count: infinite;\\\\n animation-iteration-count: infinite;\\\\n -webkit-animation-timing-function: linear;\\\\n animation-timing-function: linear;\\\\n -webkit-animation-name: pcc-anim-load;\\\\n animation-name: pcc-anim-load;\\\\n}\\\\n@-webkit-keyframes pcc-anim-load {\\\\n 0% {\\\\n -webkit-transform: rotate(360deg);\\\\n transform: rotate(360deg);\\\\n }\\\\n 100% {\\\\n -webkit-transform: rotate(0deg);\\\\n transform: rotate(0deg);\\\\n }\\\\n}\\\\n@keyframes pcc-anim-load {\\\\n 0% {\\\\n -webkit-transform: rotate(360deg);\\\\n transform: rotate(360deg);\\\\n }\\\\n 100% {\\\\n -webkit-transform: rotate(0deg);\\\\n transform: rotate(0deg);\\\\n }\\\\n}\\\\n.pccPageListLoading svg,\\\\n.pccPageListItemLoading svg {\\\\n fill: #7d7f85;\\\\n height: 26px;\\\\n width: 26px;\\\\n}\\\\n.pccPageListLoading,\\\\n.pccPageListItemLoading {\\\\n display: block;\\\\n}\\\\n\\\\n@media print {\\\\n .no-clip-on-print {\\\\n clip-path: none !important;\\\\n }\\\\n\\\\n .expand-on-print {\\\\n transform: scale(9999, 9999);\\\\n }\\\\n}\\\\n',\\\"\\\"]);const s=a},2846:e=>{function t(e){return Promise.resolve().then((()=>{var t=new Error(\\\"Cannot find module '\\\"+e+\\\"'\\\");throw t.code=\\\"MODULE_NOT_FOUND\\\",t}))}t.keys=()=>[],t.resolve=t,t.id=2846,e.exports=t},8015:(e,t,i)=>{\\\"use strict\\\";i.r(t),i.d(t,{default:()=>f});var A=i(1892),n=i.n(A),r=i(5760),a=i.n(r),s=i(8311),o=i.n(s),c=i(8192),g=i.n(c),h=i(8060),l=i.n(h),u=i(4865),d=i.n(u),I=i(6909),C={};C.styleTagTransform=d(),C.setAttributes=g(),C.insert=o().bind(null,\\\"head\\\"),C.domAPI=a(),C.insertStyleElement=l();n()(I.Z,C);const f=I.Z&&I.Z.locals?I.Z.locals:void 0},1892:e=>{\\\"use strict\\\";var t=[];function i(e){for(var i=-1,A=0;A{\\\"use strict\\\";var t={};e.exports=function(e,i){var A=function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}t[e]=i}return t[e]}(e);if(!A)throw new Error(\\\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\\\");A.appendChild(i)}},8060:e=>{\\\"use strict\\\";e.exports=function(e){var t=document.createElement(\\\"style\\\");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},8192:(e,t,i)=>{\\\"use strict\\\";e.exports=function(e){var t=i.nc;t&&e.setAttribute(\\\"nonce\\\",t)}},5760:e=>{\\\"use strict\\\";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(i){!function(e,t,i){var A=\\\"\\\";i.supports&&(A+=\\\"@supports (\\\".concat(i.supports,\\\") {\\\")),i.media&&(A+=\\\"@media \\\".concat(i.media,\\\" {\\\"));var n=void 0!==i.layer;n&&(A+=\\\"@layer\\\".concat(i.layer.length>0?\\\" \\\".concat(i.layer):\\\"\\\",\\\" {\\\")),A+=i.css,n&&(A+=\\\"}\\\"),i.media&&(A+=\\\"}\\\"),i.supports&&(A+=\\\"}\\\");var r=i.sourceMap;r&&\\\"undefined\\\"!=typeof btoa&&(A+=\\\"\\\\n/*# sourceMappingURL=data:application/json;base64,\\\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\\\" */\\\")),t.styleTagTransform(A,e,t.options)}(t,e,i)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4865:e=>{\\\"use strict\\\";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},6614:e=>{\\\"use strict\\\";e.exports=function(e,t,i,A){var n=self||window;try{try{var r;try{r=new n.Blob([e])}catch(t){(r=new(n.BlobBuilder||n.WebKitBlobBuilder||n.MozBlobBuilder||n.MSBlobBuilder)).append(e),r=r.getBlob()}var a=n.URL||n.webkitURL,s=a.createObjectURL(r),o=new n[t](s,i);return a.revokeObjectURL(s),o}catch(A){return new n[t](\\\"data:application/javascript,\\\".concat(encodeURIComponent(e)),i)}}catch(e){if(!A)throw Error(\\\"Inline worker is not supported\\\");return new n[t](A,i)}}},4871:()=>{},6337:()=>{},8620:()=>{},1357:()=>{},6523:()=>{},3951:(e,t,i)=>{\\\"use strict\\\";function A(e,t){for(var i=0;ie.length)&&(t=e.length);for(var i=0,A=new Array(t);il,applyPath2DToCanvasRenderingContext:()=>I,applyRoundRectToCanvasRenderingContext2D:()=>C,applyRoundRectToPath2D:()=>f,buildPath:()=>u,parsePath:()=>c,roundRect:()=>d});var a={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},s=/([astvzqmhlc])([^astvzqmhlc]*)/gi,o=/-?[0-9]*\\\\.?[0-9]+(?:e[-+]?\\\\d+)?/gi;function c(e){var t=[],i=String(e).trim();return\\\"M\\\"!==i[0]&&\\\"m\\\"!==i[0]||i.replace(s,(function(e,i,A){var r=function(e){var t=e.match(o);return t?t.map(Number):[]}(A),s=i.toLowerCase(),c=i;if(\\\"m\\\"===s&&r.length>2&&(t.push([c].concat(n(r.splice(0,2)))),s=\\\"l\\\",c=\\\"m\\\"===c?\\\"l\\\":\\\"L\\\"),r.length=a[s]&&r.length&&a[s];)t.push([c].concat(n(r.splice(0,a[s]))));return\\\"\\\"})),t}function g(e,t){var i=e.x*Math.cos(t)-e.y*Math.sin(t),A=e.y*Math.cos(t)+e.x*Math.sin(t);e.x=i,e.y=A}function h(e,t){e.x*=t,e.y*=t}var l=function(){function e(t){var i;(function(e,t){if(!(e instanceof t))throw new TypeError(\\\"Cannot call a class as a function\\\")}(this,e),this.commands=[],t&&t instanceof e)?(i=this.commands).push.apply(i,n(t.commands)):t&&(this.commands=c(t))}var t,i,r;return t=e,(i=[{key:\\\"addPath\\\",value:function(t){var i;t&&t instanceof e&&(i=this.commands).push.apply(i,n(t.commands))}},{key:\\\"moveTo\\\",value:function(e,t){this.commands.push([\\\"M\\\",e,t])}},{key:\\\"lineTo\\\",value:function(e,t){this.commands.push([\\\"L\\\",e,t])}},{key:\\\"arc\\\",value:function(e,t,i,A,n,r){this.commands.push([\\\"AC\\\",e,t,i,A,n,!!r])}},{key:\\\"arcTo\\\",value:function(e,t,i,A,n){this.commands.push([\\\"AT\\\",e,t,i,A,n])}},{key:\\\"ellipse\\\",value:function(e,t,i,A,n,r,a,s){this.commands.push([\\\"E\\\",e,t,i,A,n,r,a,!!s])}},{key:\\\"closePath\\\",value:function(){this.commands.push([\\\"Z\\\"])}},{key:\\\"bezierCurveTo\\\",value:function(e,t,i,A,n,r){this.commands.push([\\\"C\\\",e,t,i,A,n,r])}},{key:\\\"quadraticCurveTo\\\",value:function(e,t,i,A){this.commands.push([\\\"Q\\\",e,t,i,A])}},{key:\\\"rect\\\",value:function(e,t,i,A){this.commands.push([\\\"R\\\",e,t,i,A])}},{key:\\\"roundRect\\\",value:function(e,t,i,A,n){void 0===n?this.commands.push([\\\"RR\\\",e,t,i,A,0]):this.commands.push([\\\"RR\\\",e,t,i,A,n])}}])&&A(t.prototype,i),r&&A(t,r),Object.defineProperty(t,\\\"prototype\\\",{writable:!1}),e}();function u(e,t){var i,A,n,r,a,s,o,c,l,u,d,I,C,f,p,B,m,E,Q,_,y,w,b,v,k=0,x=0,D=null,S=null,P=null,R=null,M=null,F=null;e.beginPath();for(var T=0;T1&&(f*=c=Math.sqrt(c),p*=c),l=f*f*p*p,u=f*f*s.y*s.y+p*p*s.x*s.x,h(Q={x:f*s.y/p,y:-p*s.x/f},r!==n?Math.sqrt((l-u)/u)||0:-Math.sqrt((l-u)/u)||0),A=Math.atan2((s.y-Q.y)/p,(s.x-Q.x)/f),i=Math.atan2(-(s.y+Q.y)/p,-(s.x+Q.x)/f),g(Q,o),w=Q,b=(a.x+F.x)/2,v=(a.y+F.y)/2,w.x+=b,w.y+=v,e.save(),e.translate(Q.x,Q.y),e.rotate(o),e.scale(f,p),e.arc(0,0,1,A,i,!r),e.restore();break;case\\\"C\\\":D=(N=t[T])[3],S=N[4],k=N[5],x=N[6],e.bezierCurveTo(N[1],N[2],D,S,k,x);break;case\\\"c\\\":N=t[T],e.bezierCurveTo(N[1]+k,N[2]+x,N[3]+k,N[4]+x,N[5]+k,N[6]+x),D=N[3]+k,S=N[4]+x,k+=N[5],x+=N[6];break;case\\\"S\\\":N=t[T],null!==D&&null!==S||(D=k,S=x),e.bezierCurveTo(2*k-D,2*x-S,N[1],N[2],N[3],N[4]),D=N[1],S=N[2],k=N[3],x=N[4];break;case\\\"s\\\":N=t[T],null!==D&&null!==S||(D=k,S=x),e.bezierCurveTo(2*k-D,2*x-S,N[1]+k,N[2]+x,N[3]+k,N[4]+x),D=N[1]+k,S=N[2]+x,k+=N[3],x+=N[4];break;case\\\"Q\\\":P=(N=t[T])[1],R=N[2],k=N[3],x=N[4],e.quadraticCurveTo(P,R,k,x);break;case\\\"q\\\":P=(N=t[T])[1]+k,R=N[2]+x,k+=N[3],x+=N[4],e.quadraticCurveTo(P,R,k,x);break;case\\\"T\\\":null!==P&&null!==R||(P=k,R=x),P=2*k-P,R=2*x-R,k=(N=t[T])[1],x=N[2],e.quadraticCurveTo(P,R,k,x);break;case\\\"t\\\":null!==P&&null!==R||(P=k,R=x),P=2*k-P,R=2*x-R,k+=(N=t[T])[1],x+=N[2],e.quadraticCurveTo(P,R,k,x);break;case\\\"z\\\":case\\\"Z\\\":M&&(k=M.x,x=M.y),M=null,e.closePath();break;case\\\"AC\\\":k=(N=t[T])[1],x=N[2],C=N[3],A=N[4],i=N[5],_=N[6],e.arc(k,x,C,A,i,_);break;case\\\"AT\\\":d=(N=t[T])[1],I=N[2],k=N[3],x=N[4],C=N[5],e.arcTo(d,I,k,x,C);break;case\\\"E\\\":k=(N=t[T])[1],x=N[2],f=N[3],p=N[4],o=N[5],A=N[6],i=N[7],_=N[8],e.save(),e.translate(k,x),e.rotate(o),e.scale(f,p),e.arc(0,0,1,A,i,_),e.restore();break;case\\\"R\\\":k=(N=t[T])[1],x=N[2],B=N[3],m=N[4],M={x:k,y:x},e.rect(k,x,B,m);break;case\\\"RR\\\":k=(N=t[T])[1],x=N[2],B=N[3],m=N[4],y=N[5],M={x:k,y:x},e.roundRect(k,x,B,m,y);break;default:throw new Error(\\\"Invalid path command: \\\".concat(E))}F?(F.x=k,F.y=x):F={x:k,y:x}}}function d(e,t,i,A){var n=this,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(\\\"number\\\"==typeof r&&(r=[r]),Array.isArray(r)){if(0===r.length||r.length>4)throw new RangeError(\\\"Failed to execute 'roundRect' on '\\\".concat(this.constructor.name,\\\"': \\\").concat(r.length,\\\" radii provided. Between one and four radii are necessary.\\\"));if(r.forEach((function(e){if(e<0)throw new RangeError(\\\"Failed to execute 'roundRect' on '\\\".concat(n.constructor.name,\\\"': Radius value \\\").concat(e,\\\" is negative.\\\"))})),1!==r.length||0!==r[0]){var a=Math.min(i,A)/2,s=Math.min(a,r[0]),o=s,c=s,g=s;2===r.length&&(g=o=Math.min(a,r[1])),3===r.length&&(g=o=Math.min(a,r[1]),c=Math.min(a,r[2])),4===r.length&&(o=Math.min(a,r[1]),c=Math.min(a,r[2]),g=Math.min(a,r[3])),this.moveTo(e,t+A-g),this.arcTo(e,t,e+s,t,s),this.arcTo(e+i,t,e+i,t+o,o),this.arcTo(e+i,t+A,e+i-c,t+A,c),this.arcTo(e,t+A,e,t+A-g,g),this.moveTo(e,t)}else this.rect(e,t,i,A)}}function I(e){if(e){var t=e.prototype.clip,i=e.prototype.fill,A=e.prototype.stroke,n=e.prototype.isPointInPath;e.prototype.clip=function(){if((arguments.length<=0?void 0:arguments[0])instanceof l){var e=arguments.length<=0?void 0:arguments[0],i=(arguments.length<=1?void 0:arguments[1])||\\\"nonzero\\\";return u(this,e.commands),t.apply(this,[i])}var A=(arguments.length<=0?void 0:arguments[0])||\\\"nonzero\\\";return t.apply(this,[A])},e.prototype.fill=function(){if((arguments.length<=0?void 0:arguments[0])instanceof l){var e=arguments.length<=0?void 0:arguments[0],t=(arguments.length<=1?void 0:arguments[1])||\\\"nonzero\\\";return u(this,e.commands),i.apply(this,[t])}var A=(arguments.length<=0?void 0:arguments[0])||\\\"nonzero\\\";return i.apply(this,[A])},e.prototype.stroke=function(e){e&&u(this,e.commands),A.apply(this)},e.prototype.isPointInPath=function(){for(var e=arguments.length,t=new Array(e),i=0;i{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(i,A){if(1&A&&(i=this(i)),8&A)return i;if(\\\"object\\\"==typeof i&&i){if(4&A&&i.__esModule)return i;if(16&A&&\\\"function\\\"==typeof i.then)return i}var r=Object.create(null);n.r(r);var a={};e=e||[null,t({}),t([]),t(t)];for(var s=2&A&&i;\\\"object\\\"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((e=>a[e]=()=>i[e]));return a.default=()=>i,n.d(r,a),r},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\\\"undefined\\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\\"Module\\\"}),Object.defineProperty(e,\\\"__esModule\\\",{value:!0})},n.nc=void 0,n(1851)})()));\"","require(\"!!/app/node_modules/script-loader/addScript.js\")(require(\"!!/app/node_modules/script-loader/node_modules/raw-loader/index.js!/app/public/viewer-assets/js/html5shiv.js\"))","module.exports = \"/*\\n HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed\\n*/\\n(function(l,f){function m(){var a=e.elements;return\\\"string\\\"==typeof a?a.split(\\\" \\\"):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();\\na.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function(\\\"h,f\\\",\\\"return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(\\\"+m().join().replace(/[\\\\w\\\\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c(\\\"'+a+'\\\")'})+\\\");return n}\\\")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement(\\\"p\\\");d=d.getElementsByTagName(\\\"head\\\")[0]||d.documentElement;c.innerHTML=\\\"x\\\";\\nc=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o=\\\"_html5shiv\\\",h=0,n={},g;(function(){try{var a=f.createElement(\\\"a\\\");a.innerHTML=\\\"\\\";j=\\\"hidden\\\"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement(\\\"a\\\");var c=f.createDocumentFragment();b=\\\"undefined\\\"==typeof c.cloneNode||\\n\\\"undefined\\\"==typeof c.createDocumentFragment||\\\"undefined\\\"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||\\\"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video\\\",version:\\\"3.7.0\\\",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:\\\"default\\\",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);\\nif(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d ';if(data.editMode!==undefined){;__p+='

    ';}else{;__p+=' ';if(data.isMine===true){;__p+='
    ';};__p+='
    '+__e(data.comment.getText())+'
    ';};__p+=' ';return __p;},\\\"contextMenu\\\":function contextMenu(data){var __t,__p='',__e=_.escape,__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'');}__p+='
    ';if(data.menuOptions.showTabArea===true){;__p+='
    ';if(data.menuOptions.showMainTab){;__p+='
    ';if(data.mark.getType()==='EllipseAnnotation'){;__p+=' ';}else if(data.mark.getType().search('Stamp')!==-1){;__p+=' ';}else if(data.mark.getType()==='LineAnnotation'&&data.mark.getEndHeadType()==='None'){;__p+=' ';}else if(data.mark.getType()==='LineAnnotation'&&data.mark.getEndHeadType()==='FilledTriangle'){;__p+=' ';}else if(data.mark.getType()==='TextSelectionRedaction'){;__p+=' ';}else{;__p+=' ';};__p+='
    ';};__p+=' ';if(data.menuOptions.showBorderColorTab===true){;__p+='
    ';if(data.mark.getType()==='EllipseAnnotation'){;__p+=' ';}else{;__p+=' ';};__p+='
    ';};__p+=' ';if(data.menuOptions.showFontTab===true){;__p+='
    ';};__p+=' ';if(data.menuOptions.showLayerTab===true){;__p+='
    ';};__p+=' ';if(data.menuOptions.showESignTab===true){;__p+='
    ';};__p+=' ';if(data.menuOptions.showLinkTab===true){;__p+='
    ';};__p+=' ';if(data.menuOptions.showImageTab===true){;__p+='
    ';};__p+=' ';if(data.menuOptions.showLinkStylesTab===true){;__p+='
    ';};__p+='
    ';};__p+=' ';if(data.showAllEditControls){;__p+='

    ';};__p+=' ';if(data.menuOptions.showTabArea){;__p+='
    ';if(data.mark.getColor){;__p+='
    ';}else if(data.mark.getFillColor){;__p+='
    ';};__p+='
    ';if(data.menuOptions.showTransparentFillColor){;__p+='
    ';};__p+='
    ';};__p+=' ';if(data.mark.getOpacity){;__p+='
    '+((__t=Math.round(parseInt(data.mark.getOpacity()/2.55,10)/10)*10)==null?'':__t)+'%
    '+((__t=data.opacityOptions.item0)==null?'':__t)+'
    '+((__t=data.opacityOptions.item1)==null?'':__t)+'
    '+((__t=data.opacityOptions.item2)==null?'':__t)+'
    '+((__t=data.opacityOptions.item3)==null?'':__t)+'
    '+((__t=data.opacityOptions.item4)==null?'':__t)+'
    '+((__t=data.opacityOptions.item5)==null?'':__t)+'
    '+((__t=data.opacityOptions.item6)==null?'':__t)+'
    '+((__t=data.opacityOptions.item7)==null?'':__t)+'
    '+((__t=data.opacityOptions.item8)==null?'':__t)+'
    '+((__t=data.opacityOptions.item9)==null?'':__t)+'
    '+((__t=data.opacityOptions.item10)==null?'':__t)+'
    ';};__p+=' ';if(data.mark.getThickness){;__p+='
    '+((__t=data.mark.getThickness())==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item1)==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item2)==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item3)==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item4)==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item5)==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item6)==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item7)==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item8)==null?'':__t)+'
    ';};__p+=' ';if(data.mark.getLabel){;__p+='
    '+__e(data.mark.getLabel())+'
    '+((__t=data.stampLabelApproved)==null?'':__t)+'
    '+((__t=data.stampLabelReviewed)==null?'':__t)+'
    '+((__t=data.stampLabelRejected)==null?'':__t)+'
    ';};__p+=' ';if((data.mark.getReason||data.mark.getReasons)&&data.reasons.enableRedactionReasonSelection){;__p+='
    '+((__t=data.menuOptions.redactionReasonLabel)==null?'':__t)+'
    ';_.each(data.reasons.reasons,function(reason,index){;__p+=' ';if(reason.selectable){;__p+='
    ';if(data.menuOptions.enableMultipleRedactionReasons){;__p+=' ';};__p+=' '+((__t=reason.reason)==null?'':__t)+'';if(reason.description){;__p+=': '+((__t=reason.description)==null?'':__t)+'';};__p+='
    ';}else{;__p+='
    '+((__t=reason.reason)==null?'':__t)+'
    ';};__p+=' ';});;__p+='
    ';if(data.menuOptions.enableCustomRedactionReason){;__p+=' ';};__p+=' ';};__p+='
    ';if(data.menuOptions.showTransparentBorderColor){;__p+='
    ';};__p+='
    '+__e(data.mark.getBorderThickness?data.mark.getBorderThickness():'')+'
    '+((__t=data.borderWidthOptions.item1)==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item2)==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item3)==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item4)==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item5)==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item6)==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item7)==null?'':__t)+'
    '+((__t=data.borderWidthOptions.item8)==null?'':__t)+'
    ';if(data.mark.getHorizontalAlignment){;__p+=' ';};__p+='
    ';};__p+='
    ';if(data.mark.getFontColor){;__p+='
    ';};__p+=' ';if(data.mark.getType()!=='RectangleRedaction'){;__p+='
    '+__e(data.mark.getFontName?data.mark.getFontName():'')+'
    '+((__t=data.fontArial)==null?'':__t)+'
    '+((__t=data.fontComicSans)==null?'':__t)+'
    '+((__t=data.fontCourier)==null?'':__t)+'
    '+((__t=data.fontCourierNew)==null?'':__t)+'
    '+((__t=data.fontGeneva)==null?'':__t)+'
    '+((__t=data.fontGeorgia)==null?'':__t)+'
    '+((__t=data.fontHelvetica)==null?'':__t)+'
    '+((__t=data.fontTimes)==null?'':__t)+'
    '+((__t=data.fontTimesNewRoman)==null?'':__t)+'
    '+((__t=data.fontVerdana)==null?'':__t)+'
    '+__e(data.mark.getFontSize?data.mark.getFontSize():'')+'
    8
    9
    10
    11
    12
    14
    16
    20
    22
    24
    26
    28
    36
    48
    72
    ';};__p+='
    ';};__p+=' ';if(data.mark.getType().match(/annotation/i)){;__p+='
    ';};__p+=' ';return __p;},\\\"copyOverlay\\\":function copyOverlay(data){var __t,__p='';__p+='
    '+((__t=data.options.language.copyInstruction)==null?'':__t)+'
    ';return __p;},\\\"downloadOverlay\\\":function downloadOverlay(data){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'');}__p+='
    ';if(data.options&&data.options.mode==='pending'){;__p+='
    '+((__t=data.options.language.burnInPending)==null?'':__t)+'
    ';}else if(data.options&&data.options.mode==='complete'){;__p+='
    '+((__t=data.options.language.burnInComplete)==null?'':__t)+'
    ';}else if(data.options&&data.options.mode==='error'){;__p+='
    '+((__t=data.options.language.burnInError)==null?'':__t)+'
    ';};__p+='
    ';return __p;},\\\"esignOverlay\\\":function esignOverlay(data){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'');}__p+='
    Type your signature:
    '+((__t=data.esignNoSignaturesAvailable)==null?'':__t)+'
    ';if(data.activeTab==='manage'){;__p+='
    ';}else{;__p+='
    ';if(data.categories&&data.categories.length){;__p+='
    '+((__t=data.category)==null?'':__t)+'
    '+((__t=data.categories[0])==null?'':__t)+'
    ';_.forEach(data.categories,function(category){;__p+='
    '+((__t=category)==null?'':__t)+'
    ';});;__p+='
    ';};__p+='
    ';};__p+='
    ';return __p;},\\\"hyperlinkMenu\\\":function hyperlinkMenu(data){var __t,__p='',__e=_.escape,__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'');}__p+='';return __p;},\\\"imageStampOverlay\\\":function imageStampOverlay(data){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'');}__p+='

    '+((__t=data.imageStampOverlayHeader)==null?'':__t)+'

    ';if(data.waiting){;__p+='
    '+((__t=data.imageStampLoading)==null?'':__t)+'
    ';}else if(data.imageStampList.imageStamps.length){;__p+='
      ';_.each(data.imageStampList.imageStamps,function(imageStampObj,index){;__p+='
    • \\\"'+((__t=imageStampObj.displayName)==null?'':__t)+'\\\"
    • ';});;__p+=' ';};__p+='
    ';if(!data.waiting&&data.sortBy&&data.sortBy.length){;__p+='
    '+((__t=data.imageStampSortBy)==null?'':__t)+'
    '+((__t=typeof data.sortName!=='undefined'?data.sortName:data.imageStampDropSelect)==null?'':__t)+'
    ';_.forEach(data.sortBy,function(sortByOption){;__p+='
    '+((__t=sortByOption)==null?'':__t)+'
    ';});;__p+='
    ';};__p+='
    ';return __p;},\\\"overwriteOverlay\\\":function overwriteOverlay(data){var __t,__p='';__p+='
    '+((__t=data.mask)==null?'':__t)+'
    '+((__t=data.prompt)==null?'':__t)+'
    • '+((__t=data.save)==null?'':__t)+'
    • '+((__t=data.saveAs)==null?'':__t)+'
    • '+((__t=data.noSave)==null?'':__t)+'
    ';return __p;},\\\"pageRedactionOverlay\\\":function pageRedactionOverlay(data){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'');}__p+='
    ';if(typeof data.show!=='undefined'&&data.show==='form'){;__p+='

    '+((__t=data.pageRedactionOverlay.title)==null?'':__t)+'

    ';if(data.reasons&&data.reasons.enableRedactionReasonSelection){;__p+='
    '+((__t=data.pageRedactionOverlay.selectReason)==null?'':__t)+'
    ';_.each(data.reasons.reasons,function(reason,index){;__p+=' ';if(reason.selectable){;__p+='
    ';if(data.enableMultipleRedactionReasons){;__p+=' ';};__p+=' '+((__t=reason.reason)==null?'':__t)+'';if(reason.description){;__p+=': '+((__t=reason.description)==null?'':__t)+'';};__p+='
    ';}else{;__p+='
    '+((__t=reason.reason)==null?'':__t)+'
    ';};__p+=' ';});;__p+='
    ';};__p+='
    ';}else if(typeof data.show!=='undefined'&&data.show==='status'){;__p+='
    '+((__t=data.pageRedactionOverlay.requestingAttributesOf)==null?'':__t)+'
    ';};__p+='
    ';return __p;},\\\"printOverlay\\\":function printOverlay(data){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'');}__p+='

    '+((__t=data.printTitle)==null?'':__t)+'

    ';if(typeof data.show!=='undefined'&&data.show==='form'){;__p+='

    '+((__t=data.printPages)==null?'':__t)+'

    '+((__t=data.printOrientation)==null?'':__t)+'

    '+((__t=data.paperSize)==null?'':__t)+'

    ';if(!data.canPrintMarks){;__p+='
    ';};__p+='
    ';if(data.canPrintMarks){;__p+='
    '+((__t=data.printShow)==null?'':__t)+'

    '+((__t=data.printComments)==null?'':__t)+'

    '+((__t=data.printReasons)==null?'':__t)+'

    ';};__p+='
    ';if(data.canPrintMarks){;__p+='
    ';}else{;__p+='
    ';};__p+='
    ';}else{;__p+='
    '+((__t=data.printPreparingPage)==null?'':__t)+'
    ';};__p+='
    ';return __p;},\\\"print\\\":\\\" \\\",\\\"redactionReason\\\":function redactionReason(data){var __t,__p='';__p+='
    '+((__t=data.language.redactionReasonApply)==null?'':__t)+'
    ';return __p;},\\\"unsavedChangesOverlay\\\":function unsavedChangesOverlay(data){var __t,__p='';__p+='
    '+((__t=data.mask)==null?'':__t)+'
    '+((__t=data.prompt)==null?'':__t)+'
    • '+((__t=data.save)==null?'':__t)+'
    • '+((__t=data.saveAs)==null?'':__t)+'
    • '+((__t=data.noSave)==null?'':__t)+'
    ';return __p;},\\\"viewer\\\":function viewer(data){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'');}__p+='
    '+((__t=data.viewLabel)==null?'':__t)+'
    '+((__t=data.imageOperations.sharpening)==null?'':__t)+'
    0
    '+((__t=data.imageOperations.gamma)==null?'':__t)+'
    1
    '+((__t=data.imageOperations.svgStrokeWidth)==null?'':__t)+'
    1
    '+((__t=data.previousSearches)==null?'':__t)+'
    '+((__t=data.noPreviousSearches)==null?'':__t)+'

    '+((__t=data.toggleAll)==null?'':__t)+'
    '+((__t=data.fixedSearchTerms)==null?'':__t)+'
    ';if(data.annotationsMode===\\\"LayeredAnnotations\\\"){;__p+=' ';};__p+='
    ';if(data.annotationsMode===\\\"LayeredAnnotations\\\"){;__p+=' ';};__p+='
    '+((__t=data.of)==null?'':__t)+' 1
    • '+((__t=data.scaleOptions.scale800)==null?'':__t)+'
    • '+((__t=data.scaleOptions.scale400)==null?'':__t)+'
    • '+((__t=data.scaleOptions.scale200)==null?'':__t)+'
    • '+((__t=data.scaleOptions.scale150)==null?'':__t)+'
    • '+((__t=data.scaleOptions.scale125)==null?'':__t)+'
    • '+((__t=data.scaleOptions.scale100)==null?'':__t)+'
    • '+((__t=data.scaleOptions.scale75)==null?'':__t)+'
    • '+((__t=data.scaleOptions.scale50)==null?'':__t)+'
    • '+((__t=data.fullWidth)==null?'':__t)+'
    • '+((__t=data.fullHeight)==null?'':__t)+'
    • '+((__t=data.fullPage)==null?'':__t)+'

    '+((__t=data.fileDownloadAs)==null?'':__t)+'

    '+((__t=data.fileDownloadOriginalDocument)==null?'':__t)+'
    ';_.forEach(data.downloadFormats,function(downloadFormat,index){;__p+='
    '+((__t=downloadFormat)==null?'':__t)+'
    ';});;__p+='

    '+((__t=data.fileDownloadIncludeInDownload)==null?'':__t)+'

    '+((__t=data.fileDownloadAnnotations)==null?'':__t)+'

    '+((__t=data.fileDownloadAnnotationsNone)==null?'':__t)+'
    ';_.forEach(data.annotationDownloads,function(annotationDownload,index){;__p+='
    '+((__t=annotationDownload)==null?'':__t)+'
    ';});;__p+='

    '+((__t=data.fileDownloadRedactions)==null?'':__t)+'

    '+((__t=data.fileDownloadRedactionsNone)==null?'':__t)+'
    ';_.forEach(data.redactionDownloads,function(redactionDownload,index){;__p+='
    '+((__t=redactionDownload)==null?'':__t)+'
    ';});;__p+='

    '+((__t=data.fileDownloadESignature)==null?'':__t)+'

    '+((__t=data.fileDownloadESignaturesNone)==null?'':__t)+'
    ';_.forEach(data.esignatureDownloads,function(esignatureDownload,index){;__p+='
    '+((__t=esignatureDownload)==null?'':__t)+'
    ';});;__p+='

    '+((__t=data.searchResultsNone)==null?'':__t)+'
    '+((__t=data.searchQuickActions.searchResults)==null?'':__t)+'
    '+((__t=data.searchFilters.noTerms)==null?'':__t)+'
    '+((__t=data.searchQuickActions.processing)==null?'':__t)+'
    '+((__t=data.searchQuickActions.redactionReasonDropdownSelect)==null?'':__t)+'
    ';_.each(data.reasons.reasons,function(reason,index){;__p+=' ';if(reason.selectable){;__p+='
    ';if(data.reasons.enableMultipleRedactionReasons){;__p+=' ';};__p+=' '+((__t=reason.reason)==null?'':__t)+'';if(reason.description){;__p+=': '+((__t=reason.description)==null?'':__t)+'';};__p+='
    ';}else{;__p+='
    '+((__t=reason.reason)==null?'':__t)+'
    ';};__p+=' ';});;__p+='
    Search in:
    '+((__t=data.searchFilters.fixedSearchTerms)==null?'':__t)+'
    '+((__t=data.searchFilters.noTerms)==null?'':__t)+'
    '+((__t=data.searchFilters.searchTerms)==null?'':__t)+'
    '+((__t=data.searchFilters.noTerms)==null?'':__t)+'
    '+((__t=data.searchFilters.markupFilters)==null?'':__t)+'
    '+((__t=data.searchFilters.searchMarkText)==null?'':__t)+'
    '+((__t=data.searchFilters.graphicalMarks)==null?'':__t)+'
    Redaction Reasons
    '+((__t=data.page)==null?'':__t)+'
    '+((__t=data.results)==null?'':__t)+'
    '+((__t=data.type)==null?'':__t)+'
    '+((__t=data.revisionResultsNone)==null?'':__t)+'
    '+((__t=data.page)==null?'':__t)+'
    '+((__t=data.revision)==null?'':__t)+'
    '+((__t=data.type)==null?'':__t)+'
    '+((__t=data.piiEntitiesNone)==null?'':__t)+'
    '+((__t=data.page)==null?'':__t)+'
    '+((__t=data.piiEntityText)==null?'':__t)+'
    '+((__t=data.piiEntityType)==null?'':__t)+'
    '+((__t=data.piiEntityScore)==null?'':__t)+'

    '+((__t=data.summary)==null?'':__t)+'

    '+((__t=data.qAndA)==null?'':__t)+'

    '+((__t=data.query)==null?'':__t)+'

    '+((__t=data.queryResponse)==null?'':__t)+'

    '+((__t=data.classification)==null?'':__t)+'

    '+((__t=data.classifyingDocument)==null?'':__t)+'

    '+((__t=data.tags)==null?'':__t)+'

    '+((__t=data.taggingDocument)==null?'':__t)+'

    '+((__t=data.classificationOther)==null?'':__t)+'

    '+((__t=data.tagsOther)==null?'':__t)+'

    '+((__t=data.loadAnnotations)==null?'':__t)+'
    '+((__t=data.annotations.load.title)==null?'':__t)+'
    '+((__t=data.annotationLayerEditTitle)==null?'':__t)+'
    '+((__t=data.annotationLayersLoad)==null?'':__t)+'
    '+((__t=data.annotationLayerReviewTitle)==null?'':__t)+'
    '+((__t=data.annotationLayerReview.myAnnotations)==null?'':__t)+'
    '+((__t=data.annotationLayerReview.annotationsForReview)==null?'':__t)+'
    '+((__t=data.annotations.save.title)==null?'':__t)+'
    '+((__t=data.annotations.save.as)==null?'':__t)+'

    ';return __p;}},\\\"icons\\\":\\\"\\\"};\"","var map = {\n\t\"./commentTemplate.html\": [\n\t\t1287,\n\t\t25\n\t],\n\t\"./contextMenuTemplate.html\": [\n\t\t1288,\n\t\t26\n\t],\n\t\"./copyOverlayTemplate.html\": [\n\t\t1289,\n\t\t27\n\t],\n\t\"./downloadOverlayTemplate.html\": [\n\t\t1290,\n\t\t28\n\t],\n\t\"./esignOverlayTemplate.html\": [\n\t\t1291,\n\t\t29\n\t],\n\t\"./hyperlinkMenuTemplate.html\": [\n\t\t1292,\n\t\t30\n\t],\n\t\"./imageStampOverlayTemplate.html\": [\n\t\t1293,\n\t\t31\n\t],\n\t\"./markDeleteTemplate.html\": [\n\t\t1294,\n\t\t32\n\t],\n\t\"./overwriteOverlayTemplate.html\": [\n\t\t1295,\n\t\t33\n\t],\n\t\"./pageRedactionOverlayTemplate.html\": [\n\t\t1296,\n\t\t34\n\t],\n\t\"./printOverlayTemplate.html\": [\n\t\t1297,\n\t\t35\n\t],\n\t\"./printTemplate.html\": [\n\t\t1298,\n\t\t36\n\t],\n\t\"./redactionReasonTemplate.html\": [\n\t\t1299,\n\t\t37\n\t],\n\t\"./unsavedChangesOverlayTemplate.html\": [\n\t\t1300,\n\t\t38\n\t],\n\t\"./viewerTemplate.html\": [\n\t\t1301,\n\t\t39\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 1113;\nmodule.exports = webpackAsyncContext;","// Copyright (C) 1996-2024 Accusoft Corporation\n// See https://github.com/Accusoft/prizmdoc-viewer/blob/master/LICENSE\n\n//---------------------------------------------------------------------------------------------------------------------\n//\n// This file will be updated with future releases of the product. To make merging future updates easier, we strongly\n// recommend you minimize the changes you make to this specific file, keeping your own code in separate\n// files whenever you can.\n//\n//---------------------------------------------------------------------------------------------------------------------\n\n/* jshint devel: false, unused: false */\n/* global jQuery, _ */\n\nimport NrSentry from '../nr_sentry'\n\nvar PCCViewer = window.PCCViewer || {};\n\n(function($, undefined) {\n 'use strict'; \n \n // RAPIDREVIEW\n function customDraftRedactionListeners(viewer, options) {\n // Removes the click event listeners that were attached with .on()\n // This will prevent these clicks from firing multiple times if this function\n // has been called more than once throughout a user session.\n $(document).off('click', '.js-dr-comment-show-more-or-less')\n $(document).off('click', '.js-dr-show-warning-or-delete-mark')\n $(document).off(\n 'click',\n '.js-dr-close-mark-delete-modal, .js-dr-delete-mark'\n )\n $(document).off('click', '.js-dr-delete-mark')\n \n // toggles show more button link for comment text\n $(document).on('click', '.js-dr-comment-show-more-or-less', function() {\n var showMoreOrLessLinkButton = $(this)\n var commentTextWrapper = showMoreOrLessLinkButton.parent()\n var truncatedComment = commentTextWrapper.find('.truncated-comment')\n var fullComment = commentTextWrapper.find('.full-comment')\n truncatedComment.toggle('pcc-hide')\n fullComment.toggle('pcc-hide')\n if (showMoreOrLessLinkButton.text() === 'Show more') {\n showMoreOrLessLinkButton.html('Show less')\n } else {\n showMoreOrLessLinkButton.html('Show more')\n }\n })\n \n // Opens the mark delete warning modal or deletes the standealone mark\n $(document).on('click', '.js-dr-show-warning-or-delete-mark', function() {\n var currentMarks = viewer.currentMarks\n var mark = currentMarks[0]\n if (typeof mark === undefined || !mark) {\n return\n }\n var markHasComments = mark.getConversation().getComments().length\n if (markHasComments) {\n // Show warning modal\n var overlay = $('[data-pcc-overlay]') // Existing overlay. This will position the modal in the middle of the viewer.\n var overlayFade = $('.pcc-overlay-fade') // Existing background fade. Should only appear when a modal is opened.\n var template = options.template.markDelete // Mark warning template\n overlay.removeClass('pcc-open')\n overlayFade.show()\n overlay.html(_.template(template)).addClass('pcc-open')\n } else {\n // Continue deleting mark\n viewer.viewerControl.deleteMarks(mark)\n }\n })\n \n $(document).on(\n 'click',\n '.js-dr-close-mark-delete-modal, .js-dr-delete-mark',\n function() {\n var overlay = $('[data-pcc-overlay]') // The wrapper for the modal\n var overlayFade = $('.pcc-overlay-fade') // Background fade when the modal is open\n overlay.removeClass('pcc-open') // Close the modal\n overlayFade.css('display', 'none') // Hide background fade\n }\n )\n \n $(document).on('click', '.js-dr-delete-mark', function() {\n viewer.viewerControl.deleteMarks(viewer.currentMarks)\n })\n }\n // END RAPIDREVIEW\n\n // Use this key to get or set the viewer object associated with DOM element in which the viewer is embedded.\n var DATAKEY = \"PCCViewer.Viewer\";\n\n // Track all of the window resize callbacks so they can be detatched\n // when the viewer is destroyed.\n var windowResizeCallbacks = [];\n\n // onWindowResize\n // Attach the supplied callback to jQuery's window resize event.\n // The callback is debounced at 300ms. This means that the callback\n // will be called only one time for any sequence of resize events where\n // each happens within 300ms of the previous event.\n function onWindowResize (callback) {\n var timeout;\n\n var debouncedCallback = function () {\n if (timeout) {\n clearTimeout(timeout);\n }\n\n timeout = setTimeout(callback, 300);\n };\n\n $(window).on('resize', debouncedCallback);\n windowResizeCallbacks.push(debouncedCallback);\n\n return debouncedCallback;\n }\n\n var ICON_MAP = {};\n\n // createIconMap\n // Given an SVG as a string, parse it and extract the content of all\n // symbol elements with an id.\n function createIconMap(iconText) {\n var parser = new DOMParser();\n var iconDoc = parser.parseFromString(iconText, 'image/svg+xml');\n var icons = iconDoc.getElementsByTagName('symbol');\n\n function attributeReducer(memo, attr) {\n return memo + ' ' + attr.name + '=\"' + attr.value + '\"';\n }\n\n function childReducer(memo, node) {\n if (node.nodeType !== 1) {\n return memo;\n }\n\n // Build the DOM string of this node. Unfortunately, IE does\n // not implement innerHTML, outerHTML, or any of the other\n // content methods for SVG Elements and Node elements from\n // the DOMParser.\n return memo + '<' + node.tagName + ' ' +\n _.reduce(node.attributes, attributeReducer, '') +\n '>' +\n (node.childNodes.length ? reduceNode(node) : '') +\n '';\n }\n\n function reduceNode(node) {\n return _.reduce(node.childNodes, childReducer, '');\n }\n\n _.forEach(icons, function (icon) {\n var id = icon.getAttribute('id');\n\n if (!id) {\n return;\n }\n\n ICON_MAP[id] = reduceNode(icon);\n });\n }\n\n // updateIcon\n // Given a jQuery element with a \"pcc-icon-*\" class, replace it's contents with\n // an inline SVG icon.\n function updateIcon($elem) {\n var icons = $elem.attr('class').split(/\\s+/).filter(function(className) {\n return className.indexOf('pcc-icon-') === 0;\n });\n\n // RAPIDREVIEW and DOC_PAGE_VIEWER\n // Don't want weird empty space if icon not found.\n if (ICON_MAP[icons[0]] && (icons.length > 0)) {\n if ($elem.find('svg').length === 0) {\n $elem.empty().append('' + ICON_MAP[icons[0]] + '');\n }\n }\n // END RAPIDREVIEW and DOC_PAGE_VIEWER\n }\n\n // parseIcons\n // Given a jQuery element, dive deep down and replace all icon elements with\n // an inline SVG icon. This is not the most performant chunk of code, so use\n // with caution.\n function parseIcons($elem) {\n var $iconParents = $elem.find('.pcc-icon');\n\n $iconParents.each(function(i, elem) {\n updateIcon($(elem));\n });\n }\n\n function renderTemplate(template, data) {\n if (typeof template === 'string') {\n data['data'] = data;\n return _.template(template)(data);\n } else {\n return template(data);\n }\n }\n\n // The main constructor for the Viewer. The preferred method is to use this through the jQuery plugin.\n // $(\"#mydiv\").pccViewer(options);\n function Viewer(element, options) {\n\n // Check to see if the jQuery Hotkeys plugin is loaded, which is required for keyboard shortcuts to work\n if (!$.hotkeys) {\n throw new Error('Unable to find jquery.hotkeys.min.js, a required dependency.');\n }\n\n // Check to see if there is one element per instance and present useful errors\n if (!element.length) {\n throw new Error('Unable to find the ' + element.selector + ' element.');\n }\n\n if (element.length > 1) {\n throw new Error('There are ' + element.length + ' ' + element.selector + ' elements. Please specify only one element per viewer instance.');\n }\n\n // If we are given a valid options argument, then we will create a new viewer.\n if (typeof options === 'object' && options !== null) {\n // Before we create a new viewer, destroy any existing viewer in the element.\n var existingViewer = element.data(DATAKEY);\n if (existingViewer && existingViewer.destroy) {\n existingViewer.destroy();\n }\n }\n // If options argument has an invalid value, throw.\n else {\n $.error('The options argument has an invalid value.');\n }\n\n this.redactionReasons = (options.redactionReasons && options.redactionReasons.reasons && options.redactionReasons.reasons.length) ?\n options.redactionReasons:\n {};\n\n this.redactionReasonsExtended = $.extend(true, {}, this.redactionReasons);\n\n if (typeof this.redactionReasons.reasons !== 'undefined' && this.redactionReasons.reasons.length) {\n\n this.redactionReasonsExtended.reasons.forEach(function (reason) {\n reason.selectable = true;\n });\n if (this.redactionReasons.enableFreeformRedactionReasons === true) {\n this.redactionReasonsExtended.reasons.unshift({\"reason\": PCCViewer.Language.data.redactionReasonFreeform, \"class\": \"pcc-custom-redaction-reasons\"});\n }\n\n this.redactionReasonsExtended.reasons.unshift({\"reason\": PCCViewer.Language.data.redactionReasonClear, \"class\": \"pcc-clear-redaction-reasons\"});\n }\n\n this.annotationsModeEnum = {\n // All annotations will be displayed as has been done in all releases prior to PCC 10.3\n // In the future, this option will be deprecated. For the 10.3, this option will be the default option.\n LegacyAnnotations: \"LegacyAnnotations\",\n\n // The annotations are displayed in the layered annotations mode.\n LayeredAnnotations: \"LayeredAnnotations\"\n };\n\n if (options.annotationsMode === undefined) {\n //set the default\n options.annotationsMode = this.annotationsModeEnum.LegacyAnnotations;\n }\n\n if (this.redactionReasons.enableMultipleRedactionReasons && options.annotationsMode === this.annotationsModeEnum.LegacyAnnotations) {\n throw new Error(\"When enableMultipleRedactionReasons is true, annotationsMode must be set to \\\"LayeredAnnotations\\\"\");\n }\n\n this.attachmentViewingModeEnum = {\n // The attachment will be opened in the new browser window or tab.\n NewWindow: \"NewWindow\",\n\n // The attachment will be opened in this viewer instance.\n ThisViewer: \"ThisViewer\"\n };\n\n if (options.attachmentViewingMode === undefined) {\n // set the default\n options.attachmentViewingMode = this.attachmentViewingModeEnum.NewWindow;\n }\n\n var downloadFormats = [\n PCCViewer.Language.data.fileDownloadOriginalDocument,\n PCCViewer.Language.data.fileDownloadPdfFormat\n ];\n\n var annotationDownloads = [\n PCCViewer.Language.data.fileDownloadAnnotationsNone,\n PCCViewer.Language.data.fileDownloadAnnotationsAll,\n PCCViewer.Language.data.fileDownloadAnnotationsSelected,\n ];\n\n var redactionDownloads = [\n PCCViewer.Language.data.fileDownloadRedactionsNone,\n PCCViewer.Language.data.fileDownloadRedactionsNormal,\n PCCViewer.Language.data.fileDownloadRedactionsDraft\n ];\n\n var esignatureDownloads = [\n PCCViewer.Language.data.fileDownloadESignaturesNone,\n PCCViewer.Language.data.fileDownloadESignaturesAll\n ];\n\n var viewer = this;\n this.$dom = $(element);\n this.viewerID = viewer.$dom.attr(\"id\");\n this.$events = $({});\n\n // Load template with localization vars, then show the viewer once vars are in place, prevents fouc\n this.$dom\n .html(renderTemplate(options.template.viewer, _.extend({\n reasons: this.redactionReasonsExtended,\n annotationsMode: options.annotationsMode,\n downloadFormats: downloadFormats,\n annotationDownloads: annotationDownloads,\n redactionDownloads: redactionDownloads,\n esignatureDownloads: esignatureDownloads,\n enableMultipleRedactionReasons: options.enableMultipleRedactionReasons\n },PCCViewer.Language.data)))\n .addClass('pccv')\n .show();\n\n createIconMap(options.icons);\n\n // Inject icons into the main template\n parseIcons(this.$dom);\n\n // Save a reference to these values to be used throughout the module\n this.pageCount = 0;\n this.pageNumber = 0;\n this.presetSearch = options.predefinedSearch || {};\n this.printRequest = {};\n this.currentMarks = [];\n this.uiMouseToolName = \"\";\n this.tabBreakPoint = 767; // in px, the max-width media query breakpoint for collapsing tabs into menu\n this.esignContext = {};\n this.currentFitType = PCCViewer.FitType.FullWidth;\n this.isFitTypeActive = true;\n this.documentHasText = false;\n this.viewerReady = false;\n\n // full page redaction dialog\n this.isPageRedactionCanceled = false;\n this.fullPageRedactionReason = (options.redactionReasons && options.redactionReasons.enableMultipleRedactionReasons) ? [] : '';\n this.autoApplyRedactionReason = null;\n\n // This enum is a whitelist for sticky mouse tools. Tools on this list, with a value\n // of `true`, will be able to be \"locked\" so that the tool does not automatically switch\n // away when used. This list is extended using one of the config options. Setting this object\n // to an empty object turns off sticky tools completely.\n this.stickyTools = _.extend({\n Magnifier: false,\n SelectToZoom: false,\n PanAndEdit: false,\n SelectText: true,\n LineAnnotation: true,\n RectangleAnnotation: true,\n EllipseAnnotation: true,\n TextAnnotation: true,\n StampAnnotation: true,\n HighlightAnnotation: true,\n FreehandAnnotation: true,\n RectangleRedaction: true,\n TransparentRectangleRedaction: true,\n TextRedaction: true,\n StampRedaction: true,\n TextSelectionRedaction: true,\n PlaceSignature: true,\n ImageStampAnnotation: true,\n ImageStampRedaction: true,\n PolylineAnnotation : true,\n TextHyperlinkAnnotation: true,\n StrikethroughAnnotation: true\n }, options.stickyToolsFilter);\n this.stickyToolsAlwaysOn = false;\n\n // Check requested behavior for sticky tools. Values can be:\n // 'on' - tools are always sticky\n // 'off' - tools are never sticky\n // 'default' - tools are non-sticky on the first click, but can be toggled to sticky when clicking on an already active tool\n if (options.stickyTools === 'on') {\n this.stickyToolsAlwaysOn = true;\n } else if (options.stickyTools === 'off') {\n // disable all sticky tools\n this.stickyTools = {};\n }\n\n // This enum is a whitelist for immediate action menu actions. Actions on this list, with a value\n // of `true`, will be able to be selected in the immediate action menu assuming the mark allows it.\n // This list is extended using one of the config options.\n this.immediateActionMenuActions = _.extend({\n comment: true,\n select: false,\n copy: true,\n highlight: true,\n redact: true,\n hyperlink: true,\n strikethrough: true,\n cancel: false,\n 'delete': true\n }, options.immediateActionMenuActionsFilter);\n\n // Standardize template names\n options.template.printOverlay = options.template.printOverlay || options.template.printoverlay;\n options.template.pageRedactionOverlay = options.template.pageRedactionOverlay || options.template.element;\n options.template.contextMenu = options.template.contextMenu || options.template.contextmenu;\n\n // Validate some of the options used in ViewerControl\n options.resourcePath = options.resourcePath || \"img\";\n options.imageHandlerUrl = options.imageHandlerUrl || \"../pcc.ashx\";\n\n // Save the options to the viewer object\n this.viewerControlOptions = options;\n\n // Pass enableMultipleRedactionReasons option to the ViewerControll\n this.viewerControlOptions.enableMultipleRedactionReasons = !!(options.redactionReasons && options.redactionReasons.enableMultipleRedactionReasons);\n\n this.viewerControl = {};\n // DOM Nodes\n this.viewerNodes = {\n $download: viewer.$dom.find(\"[data-pcc-download]\"),\n $pageList: viewer.$dom.find(\"[data-pcc-pageList]\"),\n $nav: viewer.$dom.find(\"[data-pcc-nav]\"),\n $navTabs: viewer.$dom.find(\"[data-pcc-nav-tab]\"),\n $tabItems: viewer.$dom.find(\".pcc-tab-item\"),\n $toggles: viewer.$dom.find('[data-pcc-toggle]'),\n $dropdowns: viewer.$dom.find('[data-pcc-toggle-id*=\"dropdown\"]'),\n $defaults: viewer.$dom.find('[data-pcc-default]'),\n $pageCount: viewer.$dom.find(\"[data-pcc-pagecount]\"),\n $pageSelect: viewer.$dom.find(\"[data-pcc-pageSelect]\"),\n $contextMenu: viewer.$dom.find('[data-pcc-context-menu]'),\n $firstPage: viewer.$dom.find(\"[data-pcc-first-page]\"),\n $prevPage: viewer.$dom.find(\"[data-pcc-prev-page]\"),\n $nextPage: viewer.$dom.find(\"[data-pcc-next-page]\"),\n $lastPage: viewer.$dom.find(\"[data-pcc-last-page]\"),\n $mouseTools: viewer.$dom.find(\"[data-pcc-mouse-tool]\"),\n $selectText: viewer.$dom.find('[data-pcc-mouse-tool*=\"AccusoftSelectText\"]'),\n $panTool: viewer.$dom.find('[data-pcc-mouse-tool*=\"AccusoftPanAndEdit\"]'),\n $fitContent: viewer.$dom.find(\"[data-pcc-fit-content]\"),\n $rotatePage: viewer.$dom.find(\"[data-pcc-rotate-page]\"),\n $rotateDocument: viewer.$dom.find(\"[data-pcc-rotate-document]\"),\n $imageTools: viewer.$dom.find(\"[data-pcc-image-tools]\"),\n $attachments: viewer.$dom.find('[data-pcc-attachments]'),\n $zoomIn: viewer.$dom.find(\"[data-pcc-zoom-in]\"),\n $zoomOut: viewer.$dom.find(\"[data-pcc-zoom-out]\"),\n $zoomLevel: viewer.$dom.find(\"[data-pcc-zoom-level]\"),\n $scaleDropdown: viewer.$dom.find(\".pcc-scale-dropdown\"),\n $fullScreen: viewer.$dom.find('[data-pcc-fullscreen]'),\n $dialogs: viewer.$dom.find('.pcc-dialog'),\n $annotationList: viewer.$dom.find(\"[data-pcc-load-annotations=list]\"),\n $endPreview: viewer.$dom.find(\"[data-pcc-end-preview]\"),\n $highlightAnnotation: viewer.$dom.find('[data-pcc-mouse-tool*=\"AccusoftHighlightAnnotation\"]'),\n $strikethroughAnnotation: viewer.$dom.find('[data-pcc-mouse-tool*=\"AccusoftStrikethroughAnnotation\"]'),\n $hyperlinkAnnotation: viewer.$dom.find('[data-pcc-mouse-tool*=\"AccusoftTextHyperlinkAnnotation\"]'),\n $textSelectionRedaction: viewer.$dom.find('[data-pcc-mouse-tool*=\"AccusoftTextSelectionRedaction\"]'),\n\n $downloadDialog: viewer.$dom.find(\"[data-pcc-toggle-id=dialog-download]\"),\n $downloadAsDropdown: viewer.$dom.find('[data-pcc-toggle=\"dropdown-download\"]'),\n\n $downloadAnnotationsAsDropdown: viewer.$dom.find('[data-pcc-toggle=\"dropdown-download-annotations\"]'),\n $downloadRedactionsAsDropdown: viewer.$dom.find('[data-pcc-toggle=\"dropdown-download-redactions\"]'),\n $downloadESignaturesAsDropdown: viewer.$dom.find('[data-pcc-toggle=\"dropdown-download-esignatures\"]'),\n\n $downloadDocumentPreview: viewer.$dom.find('[data-pcc-download=\"preview\"]'),\n $downloadDocument: viewer.$dom.find('[data-pcc-download=\"download\"]'),\n\n $annotationLayersLoadDialog: viewer.$dom.find(\"[data-pcc-toggle-id=dialog-load-annotation-layers]\"),\n $annotationLayersList: viewer.$dom.find(\"[data-pcc-load-annotation-layers=list]\"),\n $annotationLayersBack: viewer.$dom.find(\"[data-pcc-load-annotation-layers=back]\"),\n $annotationLayersDone: viewer.$dom.find(\"[data-pcc-load-annotation-layers=done]\"),\n $annotationLayersDropdown: viewer.$dom.find(\"[data-pcc-load-annotation-layers=dropdownlist]\"),\n $annotateSaveDialog: viewer.$dom.find(\"[data-pcc-toggle-id=dialog-save-annotations]\"),\n $annotateLoadDialog: viewer.$dom.find(\"[data-pcc-toggle-id=dialog-load-annotations]\"),\n $annotateLoadDropdown: viewer.$dom.find(\"[data-pcc-toggle-id=dropdown-load-annotations]\"),\n\n $annotationLayerReviewOther: viewer.$dom.find(\"[data-pcc-annotation-layer-review-section=other]\"),\n $annotationLayerMergeActions: viewer.$dom.find(\"[data-pcc-annotation-layer-review-merge-actions]\"),\n $annotationLayerMerge: viewer.$dom.find(\"[data-pcc-annotation-layer-review=merge]\"),\n $annotationLayerMergeAll: viewer.$dom.find(\"[data-pcc-annotation-layer-review=mergeAll]\"),\n $annotationLayerMergeMode: viewer.$dom.find(\"[data-pcc-annotation-layer-review=mergeMode]\"),\n $annotationLayerMergeCancel: viewer.$dom.find(\"[data-pcc-annotation-layer-review=mergeCancel]\"),\n $annotationLayerShowAll: viewer.$dom.find(\"[data-pcc-annotation-layer-review=showAll]\"),\n $annotationLayerHideAll: viewer.$dom.find(\"[data-pcc-annotation-layer-review=hideAll]\"),\n\n $annotationLayerSaveDialog: viewer.$dom.find(\"[data-pcc-toggle-id=dialog-annotation-layer-save]\"),\n $annotationLayerSave: viewer.$dom.find(\"[data-pcc-save-layer]\"),\n\n $overlay: viewer.$dom.find('[data-pcc-overlay]'),\n $overlayFade: viewer.$dom.find('.pcc-overlay-fade'),\n $esignManage: viewer.$dom.find(\"[data-pcc-esign=manage]\"),\n $esignFreehandLaunch: viewer.$dom.find(\"[data-pcc-esign=freehandLaunch]\"),\n $esignTextLaunch: viewer.$dom.find(\"[data-pcc-esign=textLaunch]\"),\n $esignImageLaunch: viewer.$dom.find(\"[data-pcc-esign=imageLaunch]\"),\n $esignOverlay: viewer.$dom.find(\"[data-pcc-esign=overlay]\"),\n $esignPlace: viewer.$dom.find(\"[data-pcc-esign=place]\"),\n $esignPlaceDate: viewer.$dom.find(\"[data-pcc-esign=placeDate]\"),\n $printLaunch: viewer.$dom.find(\"[data-pcc-print=launch]\"),\n $printOverlay: viewer.$dom.find(\"[data-pcc-print=overlay]\"),\n $pageRedactionLaunch: viewer.$dom.find(\"[data-pcc-page-redaction=launch]\"),\n $pageRedactionOverlay: viewer.$dom.find(\"[data-pcc-page-redaction=overlay]\"),\n $redactionViewMode: viewer.$dom.find(\"[data-pcc-redactionViewmode]\"),\n\n $piiDetectionDialog: viewer.$dom.find(\"[data-pcc-toggle-id=dialog-pii-detection]\"),\n $piiDetectionStatus: viewer.$dom.find(\"[data-pcc-pii-detection=status]\"),\n $piiEntities: viewer.$dom.find(\"[data-pcc-pii-detection=entities]\"),\n $piiEntityCount: viewer.$dom.find(\"[data-pcc-pii-detection=entityCount]\"),\n $piiEntityPrev: viewer.$dom.find(\"[data-pcc-pii-detection=prevEntity]\"),\n $piiEntityNext: viewer.$dom.find(\"[data-pcc-pii-detection=nextEntity]\"),\n $piiEntityPrevPage: viewer.$dom.find(\"[data-pcc-pii-detection=prevEntitiesPage]\"),\n $piiEntityNextPage: viewer.$dom.find(\"[data-pcc-pii-detection=nextEntitiesPage]\"),\n $piiRedact: viewer.$dom.find('[data-pcc-pii-detection=redact]'),\n $piiEntitiesContainer: viewer.$dom.find('[data-pcc-pii-entities-container=entities]'),\n\n $summary: viewer.$dom.find(\"[data-pcc-summary]\"),\n $copySummary: viewer.$dom.find(\"[data-pcc-copy-summary]\"),\n $regenerateSummary: viewer.$dom.find(\"[data-pcc-regenerate-summary]\"),\n\n $tagDialog: viewer.$dom.find(\"[data-pcc-toggle-id=dialog-tag]\"),\n $classifications: viewer.$dom.find(\"[data-pcc-classifications]\"),\n $tags: viewer.$dom.find(\"[data-pcc-tags]\"),\n $tagsOther: viewer.$dom.find(\"[data-pcc-tags-other]\"),\n $tagsOtherTitle: viewer.$dom.find(\"[data-pcc-tags-other-title]\"),\n $classificationOther: viewer.$dom.find(\"[data-pcc-classification-other]\"),\n $classificationOtherTitle: viewer.$dom.find(\"[data-pcc-classification-other-title]\"),\n\n $queryDialog: viewer.$dom.find(\"[data-pcc-toggle-id=dialog-query]\"),\n $query: viewer.$dom.find(\"[data-pcc-query]\"),\n $queryResponse: viewer.$dom.find(\"[data-pcc-query-response]\"),\n $copyQueryResponse: viewer.$dom.find(\"[data-pcc-copy-query-response]\"),\n\n $revisionLoader: viewer.$dom.find(\"[data-pcc-revision=loader]\"),\n $revisionStatus: viewer.$dom.find(\"[data-pcc-revision=status]\"),\n $revisions: viewer.$dom.find(\"[data-pcc-revision=results]\"),\n $revisionCount: viewer.$dom.find(\"[data-pcc-revision=revisionCount]\"),\n $revisionsContainer: viewer.$dom.find('[data-pcc-revision-container=results]'),\n\n $revisionPrevItem: viewer.$dom.find(\"[data-pcc-revision=prevResult]\"),\n $revisionNextItem: viewer.$dom.find(\"[data-pcc-revision=nextResult]\"),\n\n $revisionPrevPage: viewer.$dom.find(\"[data-pcc-revision=prevPage]\"),\n $revisionNextPage: viewer.$dom.find(\"[data-pcc-revision=nextPage]\"),\n $revisionToggle: viewer.$dom.find(\"[data-pcc-toggle=dialog-revision]\"),\n $revisionDialog: viewer.$dom.find(\"[data-pcc-toggle-id=dialog-revision]\"),\n\n $searchDialog: viewer.$dom.find(\"[data-pcc-toggle-id=dialog-search]\"),\n $searchInput: viewer.$dom.find(\"[data-pcc-search=input]\"),\n $searchSubmit: viewer.$dom.find(\"[data-pcc-search=submit]\"),\n $searchRedact: viewer.$dom.find(\"[data-pcc-search-quick-action=redact]\"),\n $searchCancel: viewer.$dom.find(\"[data-pcc-search=cancel]\"),\n $searchCloser: viewer.$dom.find(\"[data-pcc-search=closer]\"),\n $searchClear: viewer.$dom.find(\"[data-pcc-search=clear]\"),\n\n $searchFilterContainer: viewer.$dom.find('[data-pcc-search-container=filter]'),\n\n $searchQuickActionsToggle: viewer.$dom.find('[data-pcc-search-container-toggle=quick-actions]'),\n $searchQuickActionsContainer: viewer.$dom.find('[data-pcc-search-container=quick-actions]'),\n $searchQuickActionsSearchTerms: viewer.$dom.find('[data-pcc-section=quickActionSearchTerms]'),\n $searchQuickActionRedact: viewer.$dom.find('[data-pcc-search-quick-action=redact]'),\n $searchQuickActions: viewer.$dom.find('[data-pcc-section=searchQuickActions]'),\n $searchQuickActionRedactOptions: viewer.$dom.find('[data-pcc-section=searchQuickActionRedactOptions]'),\n $searchQuickActionRedactDone: viewer.$dom.find('[data-pcc-search-quick-action=redactReasonUpdateDone]'),\n $searchQuickActionRedactionDropdownContainer: viewer.$dom.find('[data-pcc-qa-toggle=\"dropdown-quick-action-redaction-reason\"]'),\n $searchQuickActionRedactionDropdown: viewer.$dom.find('[data-pcc-qa-toggle-id=dropdown-quick-action-redaction-reason]'),\n $searchQuickActionRedactionInput: viewer.$dom.find('[data-pcc-qa-redaction-reason-input]'),\n $searchQuickActionRedactionDropdownLabel: viewer.$dom.find('[data-pcc-redaction-reason-dropdown-label]'),\n\n $searchResultsContainer: viewer.$dom.find('[data-pcc-search-container=results]'),\n\n $searchPreviousContainer: viewer.$dom.find('[data-pcc-previous-search]'),\n $searchPresets: viewer.$dom.find('[data-pcc-toggle-id=dropdown-search-patterns] label'),\n $searchPresetsContainer: viewer.$dom.find('[data-pcc-predefined-search]'),\n $searchFixedPresetsContainer: viewer.$dom.find('[data-pcc-predefined-fixed-search]'),\n $searchToggleAllPresets: viewer.$dom.find(\"[data-pcc-search=toggleAllPresets]\"),\n\n $searchLoader: viewer.$dom.find(\"[data-pcc-search=loader]\"),\n $searchStatus: viewer.$dom.find(\"[data-pcc-search=status]\"),\n $searchResults: viewer.$dom.find(\"[data-pcc-search=results]\"),\n $searchResultCount: viewer.$dom.find(\"[data-pcc-search=resultCount]\"),\n\n $searchPrevResult: viewer.$dom.find(\"[data-pcc-search=prevResult]\"),\n $searchNextResult: viewer.$dom.find(\"[data-pcc-search=nextResult]\"),\n\n $searchPrevResultsPage: viewer.$dom.find(\"[data-pcc-search=prevResultsPage]\"),\n $searchNextResultsPage: viewer.$dom.find(\"[data-pcc-search=nextResultsPage]\"),\n\n $searchExactPhrase: viewer.$dom.find(\"[data-pcc-search=exactWord]\"),\n $searchMatchCase: viewer.$dom.find(\"[data-pcc-search=matchCase]\"),\n $searchMatchWholeWord: viewer.$dom.find(\"[data-pcc-search=matchWholeWord]\"),\n $searchBeginsWith: viewer.$dom.find(\"[data-pcc-search=beginsWith]\"),\n $searchEndsWith: viewer.$dom.find(\"[data-pcc-search=endsWith]\"),\n $searchWildcard: viewer.$dom.find(\"[data-pcc-search=wildcard]\"),\n $searchProximity: viewer.$dom.find(\"[data-pcc-search=proximity]\"),\n\n $imageStampOverlay: viewer.$dom.find(\"[data-pcc-image-stamp=overlay]\"),\n $imageStampSelect: viewer.$dom.find(\"[data-pcc-image-stamp=select]\"),\n $imageStampRedactSelect: viewer.$dom.find(\"[data-pcc-image-stamp-redact=select]\"),\n\n $commentsPanel: viewer.$dom.find(\"[data-pcc-comments-panel]\"),\n\n $thumbnailDialog: viewer.$dom.find(\"[data-pcc-toggle-id=dialog-thumbnails]\"),\n $thumbnailList: viewer.$dom.find(\"[data-pcc-thumbs]\"),\n\n $breakpointTrigger: viewer.$dom.find(\"[data-pcc-breakpoint-trigger]\")\n };\n\n // Breakpoint detection in JS, to ensure that we can provide necessary behavior when appropriate.\n this.breakpointEnum = {\n mobile: 'mobile',\n desktop: 'desktop',\n initial: 'initial'\n };\n this.getBreakpoint = function() {\n var breakpoint = this.breakpointEnum.initial;\n\n // Chances are good that browsers with no getComputedStyle also don't support media queries.\n if (window.getComputedStyle) {\n var tag = window.getComputedStyle(viewer.viewerNodes.$breakpointTrigger.get(0),':after').getPropertyValue('content') || '';\n tag = tag.replace(/[\"']/g,''); // remove quotes in browsers that return them\n breakpoint = this.breakpointEnum[tag] || breakpoint;\n }\n\n this.latestBreakpoint = breakpoint;\n return breakpoint;\n };\n this.latestBreakpoint = this.getBreakpoint();\n onWindowResize(function() {\n // Update the breakpoint when the window resizes.\n // This will be throttled a bit to same some costs on rapid events.\n viewer.getBreakpoint();\n\n // Update context menu dropdowns max-height property\n updateContextMenuDropdownsMaxHeight();\n\n // Update full page redaction dropdown max-height property\n updateFullPageRedactionDropdownsMaxHeight();\n });\n\n //for keyboard keys\n this.$pageListContainerWrapper = this.viewerNodes.$pageList.find('.pccPageListContainerWrapper');\n this.activeElement = document.activeElement;\n this.prevActiveElement = document.activeElement;\n\n // Call the various methods required for initialization\n this.initializeViewer = function () {\n\n var maxPageWidth = 0;\n this.createPageList();\n this.bindMarkup();\n\n var me = this;\n var initOnPageCountReady = function () {\n viewer.viewerControl.off('PageCountReady', initOnPageCountReady);\n\n me.imageToolsDropdownUI.init();\n me.annotationIo.init();\n me.annotationLayerReview.init();\n me.annotationLayerSave.init(me.viewerControl, PCCViewer.Language.data, me.viewerNodes.$annotationLayerSaveDialog, me.notify);\n me.eSignature.init();\n me.imageStamp.init({\n $imageStampSelect: viewer.viewerNodes.$imageStampSelect,\n $imageStampRedactSelect: viewer.viewerNodes.$imageStampRedactSelect,\n $imageStampOverlay: viewer.viewerNodes.$imageStampOverlay\n });\n\n var opts = viewer.viewerControlOptions;\n if (opts.annotationsMode === viewer.annotationsModeEnum.LayeredAnnotations) {\n if (opts.autoLoadAllLayers) {\n // check if layered annotations are turned on, and we should\n // load all of the layers by default\n me.annotationIo.autoLoadAllLayers(function(err){\n // open the comments panel if there are comments present\n commentUIManager.openIfVisibleMarks();\n });\n }\n else {\n // Check if a layer needs to be loaded for edit\n var loadEditableLayerFromXml = typeof viewer.viewerControlOptions.editableMarkupLayerSource === 'string' && viewer.viewerControlOptions.editableMarkupLayerSource.toLowerCase() === 'xmlname';\n var loadEditableLayer = typeof viewer.viewerControlOptions.editableMarkupLayerSource === 'string' && viewer.viewerControlOptions.editableMarkupLayerSource.toLowerCase() === 'layerrecordid' && viewer.viewerControlOptions.editableMarkupLayerValue !== undefined;\n\n if (loadEditableLayerFromXml === true) {\n // Get the markup layers to check if the original XML name matches any saved layers, if so load from the JSON layer\n me.annotationIo.autoLoadEditableXml(viewer.viewerControlOptions.editableMarkupLayerValue);\n }\n else if (loadEditableLayer === true) {\n me.annotationIo.autoLoadEditableLayer(viewer.viewerControlOptions.editableMarkupLayerValue);\n }\n\n }\n }\n\n if (typeof opts.editableMarkupLayerSource === 'string' && opts.editableMarkupLayerSource.toLowerCase() === 'defaultname' && opts.editableMarkupLayerValue !== undefined) {\n // Set the editable layer name\n viewer.viewerControl.getActiveMarkupLayer().setName(opts.editableMarkupLayerValue);\n }\n\n if (viewer.redactionReasons.autoApplyDefaultReason === true) {\n var defaultReasons = [];\n\n _.each(viewer.redactionReasons.reasons, function (reasonObj) {\n\n if (typeof reasonObj.defaultReason !== 'undefined' && reasonObj.defaultReason === true) {\n defaultReasons.push(reasonObj.reason);\n }\n\n });\n\n if (!options.enableMultipleRedactionReasons && defaultReasons.length > 1) {\n viewer.notify({message: PCCViewer.Language.data.redactionErrorDefault});\n }\n\n if (defaultReasons.length) {\n if (options.enableMultipleRedactionReasons) {\n PCCViewer.MouseTools.getMouseTool('AccusoftRectangleRedaction').getTemplateMark().setReasons(defaultReasons);\n PCCViewer.MouseTools.getMouseTool('AccusoftTextSelectionRedaction').getTemplateMark().setReasons(defaultReasons);\n viewer.autoApplyRedactionReason = defaultReasons;\n } else {\n PCCViewer.MouseTools.getMouseTool('AccusoftRectangleRedaction').getTemplateMark().setReason(defaultReasons[0]);\n PCCViewer.MouseTools.getMouseTool('AccusoftTextSelectionRedaction').getTemplateMark().setReason(defaultReasons[0]);\n viewer.autoApplyRedactionReason = defaultReasons[0];\n }\n }\n }\n\n if (typeof viewer.redactionReasons.reasons !== 'undefined' && viewer.redactionReasons.reasons.length) {\n\n if (viewer.redactionReasons.enableRedactionReasonSelection !== false) {\n viewer.redactionReasons.enableRedactionReasonSelection = true;\n }\n\n if (viewer.redactionReasons.enableRedactionReasonSelection === false) {\n viewer.redactionReasons.reasons = [];\n }\n }\n };\n\n viewer.viewerControl.on('PageCountReady', initOnPageCountReady);\n\n viewer.viewerControl.on('PageDisplayed', function (ev) {\n viewer.viewerControl.requestPageAttributes(ev.pageNumber).then(\n function (pageAttributes) {\n if (maxPageWidth === 0) {\n // The first page has displayed. Set the initial maxPageWidth.\n maxPageWidth = pageAttributes.width;\n }\n else if (pageAttributes.width > maxPageWidth) {\n maxPageWidth = pageAttributes.width;\n if (viewer.isFitTypeActive === true) {\n viewer.viewerControl.fitContent(viewer.currentFitType);\n }\n }\n }\n );\n });\n\n setUIElements();\n setMouseToolDefaults();\n placeholderPolyfill();\n disableContextMenuTabbing();\n\n PCCViewer.MouseTools.createMouseTool(\"AccusoftPlaceDateSignature\", PCCViewer.MouseTool.Type.PlaceSignature);\n\n if (typeof options.pageLayout === 'string' && options.pageLayout.toLowerCase() === \"horizontal\") {\n viewer.currentFitType = PCCViewer.FitType.FullHeight;\n }\n\n if (typeof options.viewMode === 'string' && options.viewMode.toLowerCase() === \"singlepage\") {\n viewer.currentFitType = PCCViewer.FitType.FullPage;\n }\n\n // On window resize adjust dialogs and fit document\n onWindowResize(function () {\n toggleDialogOffset();\n if (viewer.isFitTypeActive === true) { viewer.viewerControl.fitContent(viewer.currentFitType); }\n });\n viewer.$pageListContainerWrapper = viewer.viewerNodes.$pageList.find('.pccPageListContainerWrapper');\n //bind the keyboard keys\n this.initKeyBindings();\n };\n\n // Bind the public API to the nodes\n this.bindMarkup = function () {\n\n var documentScrollPosition;\n\n // Page Navigation buttons\n viewer.viewerNodes.$firstPage.on('click', function () {\n viewer.viewerControl.changeToFirstPage();\n });\n viewer.viewerNodes.$prevPage.on('click', function () {\n viewer.viewerControl.changeToPrevPage();\n });\n viewer.viewerNodes.$nextPage.on('click', function () {\n viewer.viewerControl.changeToNextPage();\n });\n viewer.viewerNodes.$lastPage.on('click', function () {\n viewer.viewerControl.changeToLastPage();\n });\n\n // Fit Document to Width button\n viewer.viewerNodes.$fitContent.on('click', function () {\n\n if (viewer.isFitTypeActive === false) {\n viewer.isFitTypeActive = true;\n viewer.viewerNodes.$fitContent.addClass('pcc-active');\n if (viewer.uiMouseToolName === 'AccusoftSelectToZoom') {\n viewer.setMouseTool({ mouseToolName: 'AccusoftPanAndEdit' });\n }\n viewer.viewerControl.fitContent(viewer.currentFitType);\n } else {\n viewer.isFitTypeActive = false;\n viewer.viewerNodes.$fitContent.removeClass('pcc-active');\n }\n\n });\n\n // Rotate Page button\n viewer.viewerNodes.$rotatePage.on('click', function () {\n viewer.viewerControl.rotatePage(90);\n if (viewer.isFitTypeActive === true) { viewer.viewerControl.fitContent(viewer.currentFitType); }\n });\n\n // Rotate Document button\n viewer.viewerNodes.$rotateDocument.on('click', function () {\n viewer.viewerControl.rotateDocument(90);\n if (viewer.isFitTypeActive === true) { viewer.viewerControl.fitContent(viewer.currentFitType); }\n });\n\n // Zoom buttons\n viewer.viewerNodes.$zoomIn.on('click', function () {\n if (!this.className.match('pcc-disabled')) {\n viewer.viewerControl.zoomIn(1.25);\n }\n });\n viewer.viewerNodes.$zoomOut.on('click', function () {\n if (!this.className.match('pcc-disabled')) {\n viewer.viewerControl.zoomOut(1.25);\n }\n });\n\n function dismissFitMenuHandler () {\n viewer.viewerNodes.$scaleDropdown.removeClass('pcc-show');\n $(document.body).off('click', dismissFitMenuHandler);\n }\n\n viewer.viewerNodes.$zoomLevel.on('click', function () {\n if (viewer.viewerNodes.$scaleDropdown.hasClass('pcc-show') === false) {\n viewer.viewerNodes.$scaleDropdown.addClass('pcc-show');\n setTimeout(function() {\n $(document.body).on('click', dismissFitMenuHandler);\n }, 0);\n }\n });\n viewer.viewerNodes.$scaleDropdown.on('click', function (ev) {\n var $target = $(ev.target);\n var data = $target.data();\n\n if (data.pccFit) {\n viewer.currentFitType = data.pccFit;\n viewer.viewerControl.fitContent(data.pccFit);\n } else if (data.pccScale) {\n viewer.viewerControl.setScaleFactor(data.pccScale / 100);\n viewer.viewerNodes.$zoomLevel.html(data.pccScale + '%');\n }\n\n viewer.viewerNodes.$scaleDropdown.removeClass('pcc-show');\n $(document.body).off('click', dismissFitMenuHandler);\n });\n\n // Full-screen toggle button\n viewer.viewerNodes.$fullScreen.on('click', function (ev) {\n viewer.$dom.toggleClass('pcc-full-screen');\n viewer.viewerNodes.$fullScreen.toggleClass('pcc-active');\n updateContextMenuDropdownsMaxHeight();\n updateFullPageRedactionDropdownsMaxHeight();\n if (viewer.isFitTypeActive === true) { viewer.viewerControl.fitContent(viewer.currentFitType); }\n });\n\n // Comments Panel toggle button\n viewer.viewerNodes.$commentsPanel.on('click', function () {\n\n var $pageListWrapper = viewer.viewerNodes.$pageList.find('.pccPageListContainerWrapper');\n\n if (viewer.viewerControl.getIsCommentsPanelOpen() === true) {\n viewer.viewerNodes.$commentsPanel.removeClass('pcc-active');\n viewer.viewerControl.closeCommentsPanel();\n if (viewer.isFitTypeActive === true) { viewer.viewerControl.fitContent(viewer.currentFitType); }\n\n if (typeof documentScrollPosition !== 'undefined') {\n viewer.viewerNodes.$pageList.find('.pccPageListContainerWrapper').scrollLeft(documentScrollPosition);\n }\n }\n else {\n documentScrollPosition = $pageListWrapper.scrollLeft();\n viewer.viewerNodes.$commentsPanel.addClass('pcc-active');\n viewer.viewerControl.openCommentsPanel();\n if (viewer.isFitTypeActive === true) { viewer.viewerControl.fitContent(viewer.currentFitType); }\n $pageListWrapper.scrollLeft(viewer.viewerNodes.$pageList.find('.pccPageListContainerWrapper > div:first-child').width());\n }\n });\n\n // End Preview button\n viewer.viewerNodes.$endPreview.on('click', function () {\n fileDownloadManager.endPreview();\n });\n\n viewer.viewerNodes.$esignPlace.on('click', function (ev) {\n // get last known signature\n var accusoftPlaceSignature = PCCViewer.MouseTools.getMouseTool('AccusoftPlaceSignature');\n var prevSignature = accusoftPlaceSignature.getTemplateMark().getSignature() || undefined;\n\n // Assign the signature to the mouse tool\n // This function will use the first signature as the default if one is not provided\n // We will update this every time in case some attributes have changed\n viewer.eSignature.changeMouseToolSignature(prevSignature, false, false);\n });\n\n viewer.viewerNodes.$esignPlaceDate.on('click', function (ev) {\n // get last known signature\n var accusoftPlaceSignature = PCCViewer.MouseTools.getMouseTool('AccusoftPlaceDateSignature');\n\n var date = new Date();\n var dateFormat = options.signatureDateFormat || 'MM/DD/YYYY';\n accusoftPlaceSignature.getTemplateMark().setSignature({ text: formatDate(date, dateFormat.toString()), fontName: \"Arial\" });\n\n viewer.setMouseTool({\n mouseToolName: 'AccusoftPlaceDateSignature',\n thisButton: this\n });\n });\n\n viewer.viewerNodes.$esignFreehandLaunch.on('click', viewer.launchESignFreehand);\n viewer.viewerNodes.$esignTextLaunch.on('click', viewer.launchESignText);\n viewer.viewerNodes.$esignManage.on('click', viewer.launchESignManage);\n\n\n // E-Signature modal\n viewer.viewerNodes.$esignOverlay\n // Close/Cancel button\n .on('click', '[data-pcc-esign=\"cancel\"]', function () {\n viewer.closeEsignModal();\n $(window).off('resize', resizeESignContext);\n })\n\n // Toggle nodes\n .on('click', '[data-pcc-toggle]', function (ev) {\n toggleNodes(ev, viewer.viewerNodes.$esignOverlay);\n })\n\n // Clear signature\n .on('click', '[data-pcc-esign=\"clear\"]', function () {\n if (viewer.esignContext && viewer.esignContext.clear) {\n viewer.esignContext.clear();\n }\n })\n\n // Download signature\n .on('click', '[data-pcc-esign=\"download\"]', function () {\n viewer.viewerControl.downloadSignature(PCCViewer.Signatures.toArray()[0]);\n })\n\n .on('click', '[data-pcc-checkbox]', function (ev) {\n var $el = $(ev.currentTarget);\n $el.toggleClass('pcc-checked');\n })\n\n // Save\n .on('click', '[data-pcc-esign=\"save\"]', function () {\n var futureUse = viewer.viewerNodes.$esignOverlay.find('[data-pcc-checkbox]').hasClass('pcc-checked'),\n categry = viewer.viewerNodes.$esignOverlay.find('[data-pcc-esign-category] .pcc-label').html();\n\n if (viewer.esignContext && viewer.esignContext.done) {\n var signature = viewer.esignContext.done();\n\n if (signature.path === 'M0,0' || signature.text === \"\") {\n // Do not save paths with no content or empty string text signatures.\n // The user probably pressed \"Save\" by mistake\n viewer.closeEsignModal();\n return;\n }\n\n // Add custom properties\n signature.category = categry;\n\n // Add directive for local save code\n signature.localSave = !!futureUse;\n\n // Close modal\n viewer.closeEsignModal();\n\n // Enable the place signature tool.\n viewer.viewerNodes.$esignPlace.prop('disabled', false).removeClass('pcc-disabled');\n\n // Add to signatures collection if user requested it.\n PCCViewer.Signatures.add(signature);\n\n // Set the newly created signature as the default for the PlaceSignature mouse tool\n viewer.eSignature.changeMouseToolSignature(signature, true);\n\n // Update the context menu\n updateContextMenu({\n showContextMenu: true,\n showAllEditControls: false,\n mouseToolType: viewer.eSignature.mouseTool.getType()\n });\n }\n\n $(window).off('resize', resizeESignContext);\n })\n\n // add convenience button to start new drawing from Manage view\n .on('click', '[data-pcc-esign=\"drawNew\"]', viewer.launchESignFreehand)\n\n // add convenience button to start new text from Manage view\n .on('click', '[data-pcc-esign=\"typeNew\"]', viewer.launchESignText)\n\n // Prevent default behavior of buttons inside the e-sign overlay to prevent form submission.\n .on('click', 'button', function (ev) {\n ev.preventDefault();\n })\n\n // Configure dropdown in the esign overlay\n .on('click', '[data-pcc-toggle-id*=\"dropdown\"]', function(ev){\n handleDropdownBehavior(ev);\n });\n\n viewer.viewerNodes.$imageStampOverlay\n // Toggle nodes\n .on('click', '[data-pcc-toggle]', function (ev) {\n toggleNodes(ev, viewer.viewerNodes.$imageStampOverlay);\n })\n // Configure dropdown in the esign overlay\n .on('click', '[data-pcc-toggle-id*=\"dropdown\"]', function(ev){\n handleDropdownBehavior(ev);\n });\n\n // Launch page redaction modal\n viewer.viewerNodes.$pageRedactionLaunch.on('click', function (ev) {\n // a switch we use to cancel page redaction\n viewer.isPageRedactionCanceled = false;\n\n if (options.template.pageRedactionOverlay) {\n // template data that is used to configure how the page redaction overlay is shown\n var tmplData = _.extend({\n // indicates that the page redaction overlay will show the form to redact page(s)\n show: 'form',\n reasons: viewer.redactionReasonsExtended,\n enableCustomRedactionReason: false,\n enableMultipleRedactionReasons: options.enableMultipleRedactionReasons\n }, PCCViewer.Language.data);\n\n // Show the page redaction overlay and backdrop (fade)\n viewer.viewerNodes.$pageRedactionOverlay.html(renderTemplate(options.template.pageRedactionOverlay, tmplData)).addClass('pcc-open');\n viewer.viewerNodes.$overlayFade.show();\n\n parseIcons(viewer.viewerNodes.$pageRedactionOverlay);\n updateFullPageRedactionDropdownsMaxHeight();\n\n // If there is an auto apply redaction reason, set the fullPageRedactionReason to that value.\n if (viewer.autoApplyRedactionReason) {\n viewer.fullPageRedactionReason = viewer.autoApplyRedactionReason;\n }\n\n viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-redaction-reason-input]')\n .hide()\n .on('input', function(ev) {\n var val = $(this).val();\n if (viewer.redactionReasons.maxLengthFreeformRedactionReasons && val.length > viewer.redactionReasons.maxLengthFreeformRedactionReasons) {\n viewer.notify({message: PCCViewer.Language.data.redactionReasonFreeforMaxLengthOver});\n $(this).val(val.substring(0, viewer.redactionReasons.maxLengthFreeformRedactionReasons));\n }\n viewer.fullPageRedactionReason = options.enableMultipleRedactionReasons ? [val] : val;\n });\n\n // Update the redaction reason label with the last used full page redaction reason\n if (viewer.fullPageRedactionReason && viewer.fullPageRedactionReason.length > 0) {\n\n var redactionReasonsText = options.enableMultipleRedactionReasons\n ? getMultipleRedactionReasonsText(viewer.fullPageRedactionReason)\n : viewer.fullPageRedactionReason;\n\n if (!redactionReasonMenu.isPreloadedRedactionReason(viewer.fullPageRedactionReason)) {\n // Activate free form redaction\n viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-redaction-reason-input]').val(redactionReasonsText).show().focus();\n setPageRedactionDropdownLabel(PCCViewer.Language.data.redactionReasonFreeform);\n } else {\n if (options.enableMultipleRedactionReasons) {\n // Activate selected reasons\n var $pageRedactionReasons = viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-checkbox=\"redaction-reasons\"]');\n $pageRedactionReasons.each(function () {\n var $this = $(this);\n if (viewer.fullPageRedactionReason.indexOf($this.find('.pcc-select-multiple-redaction-reason').text()) >= 0) {\n $this.addClass('pcc-checked');\n } else {\n $this.removeClass('pcc-checked');\n }\n });\n }\n setPageRedactionDropdownLabel(redactionReasonsText);\n }\n }\n\n placeholderPolyfill();\n updatePageRedactionOverlayRangeInputs();\n } else {\n // Throw an error for integrators in the case that the template is not defined.\n // It's a common mistake to leave out templates.\n throw new Error(\"The pageRedactionOverlay template is not defined in the viewer's options object.\");\n }\n });\n\n // A helper for the page redaction overlay. This method checks the state of the form,\n // validates the include and exclude ranges, and may set classes on range inputs to\n // indicate an error.\n function updatePageRedactionOverlayRangeInputs() {\n var redactAllPagesChecked = viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-page-redaction=redactAllPages]').hasClass('pcc-checked'),\n redactRangeChecked = viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-page-redaction=redactRange]').hasClass('pcc-checked'),\n $excludeRangeFieldEl = viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-page-redaction-field=excludeRange]'),\n $includeRangeEl = viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-page-redaction-range=include]'),\n $excludeRangeEl = viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-page-redaction-range=exclude]');\n\n\n // Hide the exclude range input if redactAllPages element is unchecked\n if (redactAllPagesChecked) {\n $excludeRangeFieldEl.show();\n } else {\n $excludeRangeFieldEl.hide();\n }\n\n // re-validate page ranges. The error state may change when the checked state changes\n validateRangeAndUpdateErrorClass($includeRangeEl, {ignoreErrors: !redactRangeChecked, allIsValid: true});\n validateRangeAndUpdateErrorClass($excludeRangeEl, {\n ignoreErrors: !redactAllPagesChecked,\n emptyIsValid: true,\n allIsValid: false\n });\n }\n\n // A helper for the page redaction overlay. This method checks the state of a range input\n // and may set a class on the input to indicate an error with the specified range.\n function validateRangeAndUpdateErrorClass($target, options) {\n options = options || {};\n\n // ignoreErrors - if there are errors in the range input, don't show the class\n var ignoreErrors = options.ignoreErrors || false,\n\n // emptyIsValid - an empty range input is valid\n emptyIsValid = options.emptyIsValid || false,\n\n // allIsValid - all value is valid\n allIsValid = options.allIsValid || false,\n\n // The range value from the input\n range = getInputValueNotPlaceholder($target).toLowerCase(),\n\n // Indicates if the range is empty and the error class should not be applied.\n ignoreBecauseEmpty = emptyIsValid && range.length === 0,\n\n //Validation for 'all' value case\n ignoreBecauseAll = range === 'all' && allIsValid;\n\n var isValid = ignoreErrors || ignoreBecauseEmpty || PCCViewer.Util.validatePageRange(range, {\n upperLimit: viewer.viewerControl.getPageCount()\n }) && !(range === 'all' && allIsValid === false),\n errorClass = 'pccError';\n\n // Add or remove the errorClass, which indicates that the range input is invalid but a\n // valid value is required.\n if (isValid) {\n $target.removeClass(errorClass);\n } else {\n $target.addClass(errorClass);\n }\n }\n\n // A helper for the page redaction overlay. This recursive method requests page attributes\n // and updates the progress bar in the page redaction overlay, after the user has clicked the\n // redact button.\n function requestPageAttributesAndUpdateProgressBar(pageNumbers, index, allPageAttributes) {\n var deferred;\n allPageAttributes = allPageAttributes || [];\n index = index || 0;\n\n if (!viewer.isPageRedactionCanceled && index < pageNumbers.length) {\n var percent = Math.round(100 * (index / (pageNumbers.length + 1))) + '%';\n\n // Show page count.\n viewer.$dom.find('[data-pcc-page-redaction=resultCount]').html(PCCViewer.Language.data.pageRedactionOverlay.requestingAttributesOf + ' ' + pageNumbers[index]);\n\n // Show percentage and update load bar.\n viewer.$dom.find('[data-pcc-page-redaction=resultPercent]').html(percent);\n viewer.$dom.find('[data-pcc-page-redaction=loader]').css('width', percent);\n\n return viewer.viewerControl.requestPageAttributes(pageNumbers[index]).then(\n function onFulfilled(pageAttributes) {\n allPageAttributes.push(pageAttributes);\n\n return requestPageAttributesAndUpdateProgressBar(pageNumbers, index + 1, allPageAttributes);\n }\n );\n } else {\n deferred = PCCViewer.Deferred();\n deferred.resolve(allPageAttributes);\n return deferred.getPromise();\n }\n }\n\n // Helper for the page redaction overlay. This method set the label of redaction reasons dropdown\n function setPageRedactionDropdownLabel(text) {\n viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-redaction-reason]').find('.pcc-label').text(text);\n }\n\n // Redact page redaction modal\n viewer.viewerNodes.$pageRedactionOverlay\n // Cancel button\n .on('click', '[data-pcc-page-redaction=\"cancel\"]', function () {\n viewer.viewerNodes.$pageRedactionOverlay.removeClass('pcc-open');\n viewer.viewerNodes.$overlayFade.hide();\n viewer.isPageRedactionCanceled = true;\n })\n\n // Radio buttons\n .on('click', '[data-pcc-radio]', function (ev) {\n var $el = $(ev.currentTarget);\n\n $el.addClass('pcc-checked');\n viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-radio=\"' + $el.data('pccRadio') + '\"]').not(this).removeClass('pcc-checked');\n\n updatePageRedactionOverlayRangeInputs();\n updateFullPageRedactionDropdownsMaxHeight();\n })\n\n // Validate include range if required\n .on('click', '[data-pcc-page-redaction=redactRange]', function (ev) {\n var $el = $(ev.currentTarget);\n\n $el.addClass('pcc-checked');\n viewer.$dom.find('[data-pcc-radio=\"' + $el.data('pccRadio') + '\"]').not(this).removeClass('pcc-checked');\n\n updatePageRedactionOverlayRangeInputs();\n })\n\n // Page range\n .on('focus', '[data-pcc-page-redaction-range=include]', function () {\n var $el = viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-page-redaction=\"redactRange\"]');\n\n viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-radio=\"' + $el.data('pccRadio') + '\"]').removeClass('pcc-checked');\n $el.addClass('pcc-checked');\n\n updatePageRedactionOverlayRangeInputs();\n })\n .on('keyup', '[data-pcc-page-redaction-range=exclude]', function (ev) {\n var $target = $(ev.target);\n validateRangeAndUpdateErrorClass($target, {emptyIsValid: true, allIsValid: false});\n })\n .on('keyup', '[data-pcc-page-redaction-range=include]', function (ev) {\n var $target = $(ev.target);\n validateRangeAndUpdateErrorClass($target, {allIsValid: true});\n })\n\n // Toggle nodes\n .on('click', '[data-pcc-toggle]', function (ev) {\n toggleNodes(ev, viewer.viewerNodes.$contextMenu);\n })\n\n // Select box dropdown menu click\n .on('click', '.pcc-dropdown div', function (ev) {\n var $target = $(ev.target),\n $div = $(this),\n $parent = $target.parents('.pcc-select');\n\n if (options.enableMultipleRedactionReasons) {\n if ($div.hasClass('pcc-clear-redaction-reasons')) {\n viewer.fullPageRedactionReason = [];\n\n // Update the UI\n setPageRedactionDropdownLabel(PCCViewer.Language.data.pageRedactionOverlay.selectReason);\n $parent.find('[data-pcc-checkbox=\"redaction-reasons\"].pcc-checked').removeClass('pcc-checked');\n } else if ($div.hasClass('pcc-custom-redaction-reasons')) {\n var freeformReason = getMultipleRedactionReasonsText(viewer.fullPageRedactionReason);\n viewer.fullPageRedactionReason = [freeformReason];\n\n // Update the UI\n viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-redaction-reason-input]').val(freeformReason).show().focus();\n $parent.find('[data-pcc-checkbox=\"redaction-reasons\"].pcc-checked').removeClass('pcc-checked');\n setPageRedactionDropdownLabel(PCCViewer.Language.data.redactionReasonFreeform);\n } else {\n ev.stopPropagation();\n $div.toggleClass('pcc-checked');\n\n // collect all checked reasons\n var $checkedReasons = $parent.find('[data-pcc-checkbox=\"redaction-reasons\"].pcc-checked');\n var reasons = [];\n $checkedReasons.each(function(index){\n reasons.push($(this).find('.pcc-select-multiple-redaction-reason').text());\n });\n viewer.fullPageRedactionReason = reasons;\n setPageRedactionDropdownLabel(getMultipleRedactionReasonsText(viewer.fullPageRedactionReason));\n }\n } else {\n if ($div.hasClass('pcc-clear-redaction-reasons')) {\n viewer.fullPageRedactionReason = '';\n setPageRedactionDropdownLabel(PCCViewer.Language.data.pageRedactionOverlay.selectReason);\n } else if ($div.hasClass('pcc-custom-redaction-reasons')) {\n viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-redaction-reason-input]').val(viewer.fullPageRedactionReason);\n setPageRedactionDropdownLabel(PCCViewer.Language.data.redactionReasonFreeform);\n } else {\n viewer.fullPageRedactionReason = $div.find('.pcc-select-multiple-redaction-reason').text();\n setPageRedactionDropdownLabel(viewer.fullPageRedactionReason);\n }\n }\n\n if ($div.hasClass('pcc-custom-redaction-reasons')) {\n viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-redaction-reason-input]').show().focus();\n } else {\n viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-redaction-reason-input]').hide();\n }\n })\n\n // Submit\n .on('click', '[data-pcc-page-redaction=\"submit\"]', function () {\n // Extract data from the page redaction overlay form. This data will be used to\n // create full page rectangle redactions to the user's specification.\n var checkedClass = 'pcc-checked',\n isCurrent = viewer.$dom.find('[data-pcc-page-redaction=redactCurrentPage]').hasClass(checkedClass),\n isRange = viewer.$dom.find('[data-pcc-page-redaction=redactRange]').hasClass(checkedClass),\n isAll = viewer.$dom.find('[data-pcc-page-redaction=redactAllPages]').hasClass(checkedClass),\n includeRangeVal = getInputValueNotPlaceholder(viewer.$dom.find('[data-pcc-page-redaction-range=include]')).toLowerCase(),\n excludeRangeVal = getInputValueNotPlaceholder(viewer.$dom.find('[data-pcc-page-redaction-range=exclude]')).toLowerCase(),\n pageCount = viewer.viewerControl.getPageCount(),\n includeRangeIsValid = PCCViewer.Util.validatePageRange(includeRangeVal, {upperLimit: pageCount}),\n excludeRangeIsValid = (excludeRangeVal.length === 0 ||\n PCCViewer.Util.validatePageRange(excludeRangeVal, {upperLimit: pageCount})) && excludeRangeVal !== 'all',\n pages,\n tmplData = _.extend({\n show: 'status'\n }, PCCViewer.Language.data);\n\n // Get an array that contains the page number of the pages that the user specified to redact.\n // This is based on the selected options on the page redaction overlay form and the specified\n // include or exclude ranges.\n if (isAll) {\n if (excludeRangeIsValid) {\n pages = _.difference(_.range(1, pageCount + 1), PCCViewer.Util.convertPageRangeToArray(excludeRangeVal, {\n allowEmpty: true\n }));\n } else {\n viewer.notify({message: PCCViewer.Language.data.pageRedactionExcludeRangeError});\n }\n } else if (isRange) {\n if (includeRangeIsValid) {\n pages = PCCViewer.Util.convertPageRangeToArray(includeRangeVal, {upperLimit: pageCount});\n } else {\n viewer.notify({message: PCCViewer.Language.data.pageRedactionIncludeRangeError});\n }\n } else if (isCurrent) {\n pages = [viewer.viewerControl.getPageNumber()];\n }\n\n if (pages) {\n viewer.viewerNodes.$pageRedactionOverlay.html(renderTemplate(options.template.pageRedactionOverlay, tmplData)).addClass('pcc-open');\n viewer.viewerNodes.$overlayFade.show();\n\n // Get page attributes, and update the progress bar as we go along\n requestPageAttributesAndUpdateProgressBar(pages).then(\n // Once we have page attributes for all of the specified pages,\n // create full page RectangleRedactions on each page. Then close\n // the Page Redaction overlay.\n function onFulfilled(allPageAttributes) {\n if (!viewer.isPageRedactionCanceled) {\n // Update status message.\n viewer.$dom.find('[data-pcc-page-redaction=resultCount]').html(PCCViewer.Language.data.pageRedactionOverlay.creatingRedactions);\n\n // Show percentage and update load bar. We have one more step than the number of\n // pages specified. The last step is to sychronously create all of the redaction marks.\n var percent = Math.round(100 * (pages.length / (pages.length + 1))) + '%';\n viewer.$dom.find('[data-pcc-page-redaction=resultPercent]').html(percent);\n viewer.$dom.find('[data-pcc-page-redaction=loader]').css('width', percent);\n\n // Now that we have page attributes for all pages, we create a rectangle redaction\n // for each page that covers the full page.\n _.each(allPageAttributes, function (pageAttributes, index) {\n var pageNumber = pages[index];\n\n // Use ViewerControl#addMark to add the rectangle redaction to the page.\n var redaction = viewer.viewerControl.addMark(pageNumber, PCCViewer.Mark.Type.RectangleRedaction)\n .setRectangle({\n x: 0,\n y: 0,\n width: pageAttributes.width,\n height: pageAttributes.height\n })\n // BEGIN NEXTREQUEST - a full page redaction should not be disabled.\n // It should be treated just like any other mark. SelectionDisabled is reserved\n // for a mark that belongs to another user.\n // .setInteractionMode(PCCViewer.Mark.InteractionMode.SelectionDisabled)\n // END NEXTREQUEST\n\n // If a redaction reason was set by the user in the page redaction overlay form,\n // then we apply the redaction reason here.\n if (viewer.fullPageRedactionReason && viewer.fullPageRedactionReason.length > 0) {\n if (options.enableMultipleRedactionReasons) {\n redaction.setReasons(viewer.fullPageRedactionReason);\n } else {\n redaction.setReason(viewer.fullPageRedactionReason);\n }\n }\n });\n }\n\n // Close the\n viewer.viewerNodes.$pageRedactionOverlay.removeClass('pcc-open');\n viewer.viewerNodes.$overlayFade.hide();\n },\n // If there was an issue getting page attributes for any of the pages,\n // notify the user through the viewer's notification dialog and then\n // hide the Page Redaction overlay\n function onRejected(reason) {\n // Notify the user of error and close the page redaction dialog.\n viewer.notify({message: PCCViewer.Language.data.pageRedactionAttributeRequestError});\n viewer.viewerNodes.$pageRedactionOverlay.removeClass('pcc-open');\n viewer.viewerNodes.$overlayFade.hide();\n });\n }\n })\n\n // Prevent default behavior of buttons inside the page redaction overlay menu to prevent form submission.\n .on('click', 'button', function (ev) {\n ev.preventDefault();\n });\n\n // Launch print modal\n viewer.viewerNodes.$printLaunch.on('click', function (ev) {\n var tmplData = _.extend({\n canPrintMarks: viewer.viewerControl.canPrintMarks(),\n show: 'form'\n }, PCCViewer.Language.data);\n\n viewer.viewerNodes.$printOverlay.html(renderTemplate(options.template.printOverlay, tmplData)).addClass('pcc-open');\n viewer.viewerNodes.$overlayFade.show();\n\n parseIcons(viewer.viewerNodes.$printOverlay);\n placeholderPolyfill();\n setOrientation();\n checkDropdowns();\n });\n\n function setOrientation() {\n // Determine whether document is landscape or portrait\n // Promises do not guarantee synchronous execution\n\n\n viewer.viewerControl.requestPageAttributes(1).then(function (attributes) {\n\n var orientation = attributes.width > attributes.height ? 'landscape' : 'portrait';\n viewer.viewerNodes.$printOverlay.find('[data-pcc-select=\"orientation\"]').val(orientation);\n });\n }\n\n function checkDropdowns() {\n var annotationsEnabled = viewer.$dom.find('[data-pcc-checkbox=\"printAnnotations\"]').hasClass('pcc-checked');\n var redactionsEnabled = viewer.$dom.find('[data-pcc-checkbox=\"printRedactions\"]').hasClass('pcc-checked');\n\n if (annotationsEnabled || redactionsEnabled) {\n viewer.$dom.find('[data-pcc-select=\"printComments\"]').prop('disabled', false);\n\n } else {\n viewer.$dom.find('[data-pcc-select=\"printComments\"]').prop('disabled', true);\n }\n\n if(redactionsEnabled){\n viewer.$dom.find('[data-pcc-select=\"printReasons\"]').prop('disabled', false);\n viewer.$dom.find('[data-pcc-checkbox=\"printRedactionViewMode\"]').removeClass('pcc-disabled');\n }\n else{\n viewer.$dom.find('[data-pcc-select=\"printReasons\"]').prop('disabled', true);\n viewer.$dom.find('[data-pcc-checkbox=\"printRedactionViewMode\"]').addClass('pcc-disabled');\n }\n }\n\n // Print modal\n viewer.viewerNodes.$printOverlay\n // Cancel button\n .on('click', '[data-pcc-print=\"cancel\"]', function () {\n viewer.viewerNodes.$printOverlay.removeClass('pcc-open');\n viewer.viewerNodes.$overlayFade.hide();\n if (viewer.printRequest.cancel) {\n viewer.printRequest.cancel();\n }\n })\n\n .on('click', '[data-pcc-print=\"optionsToggle\"]', function () {\n var moreOptions = viewer.viewerNodes.$printOverlay.find(\".pcc-print-more-options\");\n\n if(moreOptions.is(':visible')){\n $(this).find(\"label\").html(PCCViewer.Language.data.printMoreOptions);\n $(this).find(\"span\").removeClass().addClass(\"pcc-arrow-down\");\n }\n else {\n $(this).find(\"label\").html(PCCViewer.Language.data.printLessOptions);\n $(this).find(\"span\").removeClass().addClass(\"pcc-arrow-up\");\n }\n\n viewer.viewerNodes.$printOverlay.find(\".pcc-print-more-options\").slideToggle();\n })\n\n // Radio buttons\n .on('click', '[data-pcc-radio]', function (ev) {\n var $el = $(ev.currentTarget);\n var $siblings = viewer.$dom.find('[data-pcc-radio=\"' + $el.data('pccRadio') + '\"]').not(this);\n\n $el.addClass('pcc-checked');\n $siblings.removeClass('pcc-checked');\n })\n\n // Checkboxes\n .on('click', '[data-pcc-checkbox]', function (ev) {\n var $el = $(ev.currentTarget);\n if ($el.hasClass('pcc-disabled')) {\n return;\n }\n\n $el.toggleClass('pcc-checked');\n checkDropdowns();\n })\n\n // Page range\n .on('focus', '[data-pcc-print=\"range\"]', function () {\n var $el = viewer.$dom.find('[data-pcc-print-page=\"printRange\"]');\n var $siblings = viewer.$dom.find('[data-pcc-radio=\"' + $el.data('pccRadio') + '\"]').not(this);\n\n $el.addClass('pcc-checked');\n $siblings.removeClass('pcc-checked');\n })\n .on('keyup', '[data-pcc-print=\"range\"]', function (ev) {\n var $target = $(ev.target),\n isValid = viewer.viewerControl.validatePrintRange(getInputValueNotPlaceholder($target)),\n errorClass = 'pccError';\n\n if (isValid) {\n $target.removeClass(errorClass);\n } else {\n $target.addClass(errorClass);\n }\n })\n\n // Print submit\n .on('click', '[data-pcc-print=\"submit\"]', function () {\n var tmplData = {},\n checkedClass = 'pcc-checked',\n errorClass = 'pccError',\n isCurrent = viewer.$dom.find('[data-pcc-print-page=\"printCurrentPage\"]').hasClass(checkedClass),\n isRange = viewer.$dom.find('[data-pcc-print-page=\"printRange\"]').hasClass(checkedClass),\n rangeVal = getInputValueNotPlaceholder(viewer.$dom.find('[data-pcc-print=\"range\"]')),\n rangeIsValid = viewer.viewerControl.validatePrintRange(rangeVal),\n orientation = viewer.$dom.find('[data-pcc-select=\"orientation\"]').val(),\n paperSize = viewer.$dom.find('[data-pcc-select=\"paperSize\"]').val(),\n annotationsEnabled = viewer.$dom.find('[data-pcc-checkbox=\"printAnnotations\"]').hasClass(checkedClass),\n redactionsEnabled = viewer.$dom.find('[data-pcc-checkbox=\"printRedactions\"]').hasClass(checkedClass),\n margins = viewer.$dom.find('[data-pcc-checkbox=\"printMargins\"]').hasClass(checkedClass) ? 'default' : 'none',\n commentsPrintLocation = viewer.$dom.find('[data-pcc-select=\"printComments\"]').val(),\n reasonsPrintLocation = viewer.$dom.find('[data-pcc-select=\"printReasons\"]').val(),\n printOptions = {\n range: isCurrent ? viewer.viewerControl.getPageNumber().toString() : (isRange ? rangeVal : 'all'),\n orientation: orientation,\n paperSize:paperSize,\n includeMarks: annotationsEnabled,\n includeAnnotations: annotationsEnabled,\n includeRedactions: redactionsEnabled,\n margins: margins,\n includeComments: commentsPrintLocation,\n includeReasons: reasonsPrintLocation,\n redactionViewMode: viewer.viewerNodes.$printOverlay.find('[data-pcc-checkbox=\"printRedactionViewMode\"]').hasClass('pcc-checked') ? \"Draft\" : \"Normal\"\n },\n percent = 0,\n dismissOverlay = function () {\n viewer.viewerNodes.$printOverlay.removeClass('pcc-open');\n viewer.viewerNodes.$overlayFade.hide();\n };\n\n if (!annotationsEnabled && !redactionsEnabled) {\n commentsPrintLocation = 'none';\n printOptions.includeComments = commentsPrintLocation;\n }\n\n if (!redactionsEnabled) {\n reasonsPrintLocation = 'none';\n printOptions.includeReasons = reasonsPrintLocation;\n printOptions.redactionViewMode = \"Normal\";\n }\n\n if (!isRange || isRange && rangeIsValid) {\n viewer.printRequest = viewer.viewerControl.print(printOptions);\n viewer.viewerNodes.$printOverlay.html(renderTemplate(options.template.printOverlay, PCCViewer.Language.data)).addClass('pcc-open');\n viewer.viewerNodes.$overlayFade.show();\n\n viewer.printRequest\n // As each page is prepared.\n .on(PCCViewer.PrintRequest.EventType.PrintPagePrepared, function () {\n percent = Math.round(100 * (viewer.printRequest.getPreparedCount() / viewer.printRequest.getPageCount())) + '%';\n\n // Show page count.\n viewer.$dom.find('[data-pcc-print=\"resultCount\"]').html(PCCViewer.Language.data.printPreparingPage + ' ' + viewer.printRequest.getPreparedCount() + ' ' + PCCViewer.Language.data.printPreparingPageOf + ' ' + viewer.printRequest.getPageCount());\n\n // Show percentage and update load bar.\n viewer.$dom.find('[data-pcc-print=\"resultPercent\"]').html(percent);\n viewer.$dom.find('[data-pcc-print=\"loader\"]').css('width', percent);\n })\n\n // When the print job has been prepared hide overlay.\n .on(PCCViewer.PrintRequest.EventType.PrintCompleted, function () {\n dismissOverlay();\n })\n\n // The print completed due to failure, hide overlay and show error.\n .on(PCCViewer.PrintRequest.EventType.PrintFailed, function () {\n dismissOverlay();\n viewer.notify({message: PCCViewer.Language.data.printFailedError});\n });\n\n }\n if (isRange && !rangeIsValid) {\n viewer.notify({message: PCCViewer.Language.data.printRangeError});\n viewer.$dom.find('[data-pcc-print=\"range\"]').addClass(errorClass);\n }\n })\n\n // Prevent default behavior of buttons inside the print menu to prevent form submission.\n .on('click', 'button', function (ev) {\n ev.preventDefault();\n });\n\n // Context Menu\n viewer.viewerNodes.$contextMenu\n // Toggle nodes\n .on('click', '[data-pcc-toggle]', function (ev) {\n toggleNodes(ev, viewer.viewerNodes.$contextMenu);\n })\n\n // Select box dropdown menu click\n .on('click', '.pcc-dropdown div', function (ev) {\n var $target = $(ev.target),\n $parent = $target.parents('.pcc-select'),\n $dropdown = $parent.find('.pcc-dropdown'),\n $div = $(this),\n option = $target.text(),\n mark = viewer.currentMarks[0],\n fillColor = '',\n opacity = 0,\n borderWidth = 0,\n borderColor = '',\n fontColor = '',\n fontName = '',\n fontSize = '',\n stampLabel = '',\n redactionReason = '',\n backgroundColor;\n\n // Handle nested element clicks\n if ($target[0].nodeName.toLowerCase() === 'span') {\n option = $target.parent().text();\n }\n\n if ($parent.hasClass('pcc-select-color')) {\n\n if ($target.hasClass('pcc-transparent-effect')) {\n $parent.find('.pcc-swatch').addClass('pcc-transparent-effect').css('background', 'none');\n } else {\n $parent.find('.pcc-swatch').removeClass('pcc-transparent-effect').css('background-color', $target.css('background-color'));\n }\n\n } else if ($parent.hasClass('pcc-select-redaction-reason')) {\n $div.toggleClass('pcc-checked');\n } else {\n $parent.find('.pcc-label').text(option);\n }\n\n // Set selected mark properties\n if (mark) {\n // Fill color\n if ($parent.data().pccFillColor !== undefined) {\n backgroundColor = $target[0].style.backgroundColor;\n\n if ($target.data('pccColorKey')) {\n fillColor = $target.data('pccColorKey');\n } else if ( backgroundColor.indexOf('rgb') > -1 ) {\n fillColor = rgbToHex(backgroundColor);\n } else {\n fillColor = backgroundColor;\n }\n\n if (mark.setColor) {\n mark.setColor(fillColor);\n } else if (mark.setFillColor) {\n mark.setFillColor(fillColor);\n }\n }\n\n // Fill opacity\n if ($parent.data().pccFillOpacity !== undefined) {\n opacity = Math.round(parseInt(option.replace(/\\%/g, ''), 10) * 2.55);\n mark.setOpacity(opacity);\n }\n\n // Border color\n if ($parent.data().pccBorderColor !== undefined) {\n\n backgroundColor = $target[0].style.backgroundColor;\n\n if ($target.data('pccColorKey')) {\n borderColor = $target.data('pccColorKey');\n } else if ( backgroundColor.indexOf('rgb') > -1 ) {\n borderColor = rgbToHex(backgroundColor);\n } else {\n borderColor = backgroundColor;\n }\n\n mark.setBorderColor(borderColor);\n }\n\n // Border width\n if ($parent.data().pccBorderWidth !== undefined) {\n borderWidth = parseInt(option.replace(/^\\s+|\\s+$/g, ''), 10);\n\n if (mark.setThickness) {\n mark.setThickness(borderWidth);\n\n } else if (mark.setBorderThickness) {\n mark.setBorderThickness(borderWidth);\n }\n }\n\n // Font color\n if ($parent.data().pccFontColor !== undefined) {\n fontColor = rgbToHex($target[0].style.backgroundColor);\n mark.setFontColor(fontColor);\n }\n\n // Font name\n if ($parent.data().pccFontName !== undefined) {\n fontName = option;\n mark.setFontName(fontName);\n }\n\n // Font size\n if ($parent.data().pccFontSize !== undefined) {\n fontSize = option;\n mark.setFontSize(parseFloat(fontSize));\n }\n\n // Stamp label\n if ($parent.data().pccStampLabel !== undefined) {\n stampLabel = option;\n mark.setLabel(stampLabel);\n }\n\n // Redaction reason\n if ($parent.data().pccRedactionReason !== undefined) {\n var remainActive = false;\n var isRedactionItem = $div.hasClass('pcc-checkbox');\n\n if (options.enableMultipleRedactionReasons) {\n if ($div.hasClass('pcc-clear-redaction-reasons')) {\n mark.setReasons([]);\n } else if ($div.hasClass('pcc-custom-redaction-reasons')) {\n var freeformReason = getMultipleRedactionReasonsText(mark.getReasons());\n mark.setReasons([freeformReason]);\n remainActive = true;\n } else {\n // collect all checked reasons\n var $checkedReasons = $parent.find('[data-pcc-checkbox=\"redaction-reasons\"].pcc-checked');\n var reasons = [];\n $checkedReasons.each(function(index){\n reasons.push($(this).find('.pcc-select-multiple-redaction-reason').text());\n });\n mark.setReasons(reasons);\n remainActive = true;\n }\n } else {\n if ($div.hasClass('pcc-clear-redaction-reasons')) {\n mark.setReason('');\n } else if ($div.hasClass('pcc-custom-redaction-reasons')) {\n remainActive = true;\n // no need to change mark reason\n } else {\n var reason = $div.find('.pcc-select-multiple-redaction-reason').text();\n mark.setReason(reason);\n }\n }\n\n updateContextMenu({\n showContextMenu: true,\n enableCustomRedactionReason: $div.hasClass('pcc-custom-redaction-reasons'),\n scrollTop: $dropdown.scrollTop(),\n remainActive: remainActive,\n showAllEditControls: mark.getPageNumber() !== 0 // Don't show edit controls for template marks\n });\n\n if (isRedactionItem && options.enableMultipleRedactionReasons) {\n var $contextMenu = viewer.$dom.find('.pcc-context-menu');\n var $redactionReasonsSelect = $contextMenu.find('.pcc-select-redaction-reason');\n var $redactionReasonsDropdown = $redactionReasonsSelect.find('.pcc-dropdown');\n\n $redactionReasonsSelect.addClass('pcc-active');\n $redactionReasonsDropdown.addClass('pcc-open');\n ev.stopPropagation();\n }\n }\n }\n })\n\n // Set font style array\n .on('click', '[data-pcc-font-style]', function (ev) {\n var $target = $(ev.target).closest('button'),\n str = $target.data('pccFontStyle'),\n mark = viewer.currentMarks[0];\n\n $target.toggleClass('pcc-active');\n\n if (mark) {\n var arr = mark.getFontStyle();\n\n if (_.indexOf(arr, str) === -1) {\n arr.push(str);\n } else {\n arr.splice(_.indexOf(arr, str), 1);\n }\n\n mark.setFontStyle(arr);\n }\n })\n\n // Set font text alignment\n // Each click cycles through an array of 0-2 returning 0, 1, or 2\n .on('click', '[data-pcc-font-align]', function (ev) {\n var $target = $(ev.target).closest('button'),\n counter = $target.data('counter'),\n i = counter ? counter + 1: 1,\n mark = viewer.currentMarks[0],\n arr = [PCCViewer.Mark.HorizontalAlignment.Left, PCCViewer.Mark.HorizontalAlignment.Center, PCCViewer.Mark.HorizontalAlignment.Right];\n\n // On 3 start back at 0\n i = (i === 3) ? 0 : i;\n\n // Change the icon and tooltip to Left Align, Center Align, or Right Align\n $target.data('counter', i).attr({\n 'class': 'pcc-icon pcc-icon-text-' + arr[i].toLowerCase(),\n title: PCCViewer.Language.data['paragraphAlign' + arr[i]]\n });\n\n updateIcon($target);\n\n if (mark) {\n mark.setHorizontalAlignment(arr[i]);\n }\n })\n\n // Delete marks button\n .on('click', '[data-pcc-delete-mark]', function (ev) {\n viewer.viewerControl.deleteMarks(viewer.currentMarks);\n })\n\n // RAPIDREVIEW\n // recreates a Mark as a RectangleRedaction https://github.com/nextrequest/nextrequest/pull/6432\n .on('click', '[data-pcc-convert-redaction-menu]', function(ev) {\n\n var redaction = viewer.viewerControl\n .addMark(\n viewer.currentMarks[0].getPageNumber(),\n PCCViewer.Mark.Type.RectangleRedaction\n )\n .setRectangle(\n viewer.currentMarks[0].getBoundingRectangle()\n )\n .setReason(\n viewer.currentMarks[0].getReason()\n )\n viewer.viewerControl.deleteMarks(viewer.currentMarks)\n viewer.viewerControl.selectMarks([redaction])\n })\n // END RAPIDREVIEW\n\n .on('click', '[data-pcc-add-comment-context-menu]', function (ev) {\n if (viewer.currentMarks.length) {\n commentUIManager.addComment(viewer.currentMarks[0].getConversation());\n }\n })\n\n // Move context menu up/down button\n .on('click', '[data-pcc-move-context-menu]', function (ev) {\n viewer.viewerNodes.$contextMenu.toggleClass('pcc-move-bottom');\n updateContextMenuDropdownsMaxHeight();\n })\n\n // Move mark layer order\n .on('click', '[data-pcc-move-mark]', function (ev) {\n viewer.viewerControl['moveMark' + $(ev.target).data('pccMoveMark')](viewer.currentMarks[0]);\n })\n\n // Checkbox click\n .on('click', '[data-pcc-checkbox=\"includeInBurnedDocument\"]', function (ev) {\n var $this = $(this),\n wasChecked = $this.hasClass('pcc-checked'),\n marks = viewer.currentMarks;\n\n // Toggle the checked state of the mark\n $this.toggleClass('pcc-checked');\n\n // If the checkbox was checked, remove the data\n marks.forEach(function (mark) {\n mark.setData('Accusoft-burnAnnotation', !wasChecked ? '1' : undefined);\n });\n })\n\n // Prevent default behavior of buttons inside the context menu to prevent form submission.\n .on('click', 'button', function (ev) {\n ev.preventDefault();\n });\n\n function mouseToolSelectHandler(ev){\n var $target = $(ev.currentTarget),\n mouseToolName = $target.data('pccMouseTool'),\n mouseTool = PCCViewer.MouseTools.getMouseTool(mouseToolName);\n\n if (!mouseToolName || mouseTool.getType() === PCCViewer.MouseTool.Type.PlaceSignature) {\n // mouse tool has no name or should be skipped\n // skipped mouse tools have logic to use them elsewhere in this file\n return;\n }\n\n // Some mouse tools buttons can be in a disabled state. For example, the select text mouse\n // tool button is disabled before we determine if there is text in the document.\n if ($target.hasClass('pcc-disabled')) {\n return;\n }\n\n // We can handle this event, so prevent default -- this event should not be handled anywhere else\n ev.preventDefault();\n\n // deselect marks if selecting another mouse tool that's not edit\n if (mouseTool.getType() !== PCCViewer.MouseTool.Type.EditMarks) {\n viewer.viewerControl.deselectAllMarks();\n }\n\n viewer.setMouseTool({\n mouseToolName: mouseToolName,\n thisButton: $target,\n sourceType: ev.type\n });\n }\n\n // Mouse tool buttons\n this.viewerNodes.$mouseTools.on('click', function (ev) {\n mouseToolSelectHandler(ev);\n });\n\n // For a number input tag, entering a non-digit character invalidates the entire input, rather than\n // giving access to the invalid value for JavaScript validation. We want the number input to trigger\n // the number keyboard on Android and iOS. So instead, we will filter out invalid characters before\n // they are populated in the intup field.\n viewer.viewerNodes.$pageSelect.on(\"keydown\", function (ev) {\n // jQuery cancels the event based on true/false return value\n // if using anything other than jQuery, this event needs to be cancelled, prevent default, and prevent bubbling manually\n\n switch (ev.keyCode) {\n // Enter\n case 13:\n ev.target.blur();\n return false;\n // Backspace\n case 8:\n // Fall through\n // Tab\n case 9:\n // Fall through\n // Delete\n case 46:\n return true;\n // Non-number keys on the Android number keyboard\n case 0:\n return false;\n }\n\n var arrows = function () {\n // Keyboard arrow keys\n return (ev.keyCode >= 37 && ev.keyCode <= 40);\n };\n var numPad = function () {\n // Number pad keys are 96 - 105 (NumLock is on)\n return (ev.keyCode >= 96 && ev.keyCode <= 105);\n };\n var numKeys = function () {\n // Check if original event provides keyIdentifier\n if (ev.originalEvent && ev.originalEvent.keyIdentifier) {\n // Numbers are U+30 - U+39 (modern browsers have these)\n var key = parseInt(ev.originalEvent.keyIdentifier.replace(/U\\+/, ''), 10);\n return (key >= 30 && key <= 39);\n }\n // Regular number keys are 48 - 57\n return (ev.keyCode >= 48 && ev.keyCode <= 57) && !ev.shiftKey;\n };\n\n if (numPad() || numKeys() || arrows()) { return true; }\n else { return false; }\n });\n // When the input changes, we can trigger the page change. We already know this will be\n // a number, since all other characters have been filtered out.\n viewer.viewerNodes.$pageSelect.on(\"change\", function (ev) {\n var val = $(ev.target).val();\n\n if (val.length > 0) {\n // Validate that page number entered is not less than pagecount\n if (val > viewer.viewerControl.getPageCount() || val < 1) {\n // Add error class\n ev.target.className += ' pccError';\n setTimeout(function () {\n // Remove error class\n ev.target.className = ev.target.className.replace('pccError', '');\n $(ev.target).val(viewer.viewerControl.getPageNumber());\n }, 1200);\n return;\n }\n\n viewer.viewerNodes.$pageSelect.val(val);\n if (typeof viewer.viewerControl.setPageNumber === 'function') {\n viewer.viewerControl.setPageNumber(+val);\n }\n\n } else {\n // Put current page number back\n $(ev.target).val(viewer.viewerControl.getPageNumber());\n }\n });\n\n //allows the redaction marks to show/hide underneath document content text\n viewer.viewerNodes.$redactionViewMode.on('click', function () {\n var redactionViewMode = viewer.viewerControl.getRedactionViewMode();\n if (redactionViewMode === \"Draft\") {\n viewer.viewerControl.setRedactionViewMode('Normal');\n viewer.viewerNodes.$redactionViewMode.removeClass('pcc-active');\n }\n else {\n viewer.viewerControl.setRedactionViewMode('Draft');\n viewer.viewerNodes.$redactionViewMode.addClass('pcc-active');\n }\n });\n\n // Tab navigation\n viewer.viewerNodes.$tabItems.on('click', function (ev) {\n var $el = $(ev.currentTarget),\n $elTrigger = viewer.$dom.find('.pcc-trigger'),\n $elTabItem = viewer.$dom.find('.pcc-tab-item'),\n $elDialogs = viewer.viewerNodes.$dialogs,\n $elContextMenu = viewer.$dom.find('.pcc-context-menu'),\n $thisTabPane = $el.parents('.pcc-tab').find('.pcc-tab-pane'),\n menuItemHeight = $elTrigger.height(),\n menuIncr = menuItemHeight,\n windowWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth,\n leftOffsetClass = 'pcc-vertical-offset-left',\n rightOffsetClass = 'pcc-vertical-offset-right';\n\n $elTabItem.removeClass('pcc-active');\n $elTrigger.html($el.html());\n\n // On small viewports, show drop menu\n if (windowWidth <= viewer.tabBreakPoint) {\n $elTabItem.toggleClass('pcc-open');\n\n // Hide the menu item, adjust top css property of menu items\n if ($el.hasClass('pcc-trigger')) {\n viewer.$dom.find('.pcc-tab-item:not(.pcc-trigger)').removeClass('pcc-hide');\n viewer.$dom.find('.pcc-tab-item:not(.pcc-trigger):contains(\"' + $el.text().replace(/^\\s+|\\s+$/g, '') + '\")').addClass('pcc-hide');\n _.each(viewer.$dom.find('.pcc-tabset .pcc-tab-item'), function (item) {\n menuIncr = $(item).parent().prev().find('.pcc-tab-item').hasClass('pcc-hide') ? 0 : menuIncr;\n $(item).css('top', ($(item).parent().index() * menuItemHeight) + menuIncr + 'px');\n });\n }\n }\n\n $el.addClass('pcc-active');\n $el.parents('.pcc-tab').siblings().find('.pcc-tab-pane').removeClass('pcc-open');\n\n $thisTabPane.addClass('pcc-open');\n\n // Add offset to dialogs, context menu, pagelist\n if ($thisTabPane.hasClass('pcc-tab-vertical pcc-right')) {\n $elDialogs.removeClass(leftOffsetClass).addClass(rightOffsetClass);\n $elContextMenu.removeClass(leftOffsetClass).addClass(rightOffsetClass);\n viewer.viewerNodes.$pageList.removeClass(leftOffsetClass).addClass(rightOffsetClass);\n }\n else if ($thisTabPane.hasClass('pcc-tab-vertical')) { // Assumes .left (default)\n $elDialogs.removeClass(rightOffsetClass).addClass(leftOffsetClass);\n $elContextMenu.removeClass(rightOffsetClass).addClass(leftOffsetClass);\n viewer.viewerNodes.$pageList.removeClass(rightOffsetClass).addClass(leftOffsetClass);\n }\n else if (!$el.hasClass('pcc-trigger')) {\n $elDialogs.removeClass(leftOffsetClass).removeClass(rightOffsetClass);\n $elContextMenu.removeClass(leftOffsetClass).removeClass(rightOffsetClass);\n viewer.viewerNodes.$pageList.removeClass(leftOffsetClass).removeClass(rightOffsetClass);\n }\n\n // Add class to offset pagelist when vertical dialogs are present\n toggleDialogOffset();\n if (viewer.isFitTypeActive === true) { viewer.viewerControl.fitContent(viewer.currentFitType); }\n });\n\n // Toggle nodes\n viewer.viewerNodes.$toggles.on('click', function (ev) {\n toggleNodes(ev);\n });\n\n // Search buttons\n viewer.viewerNodes.$searchSubmit.on('click', function (ev) {\n // prevent this event from firing anything else\n ev.stopPropagation();\n\n // prevent default behavior of button to prevent postback\n ev.preventDefault();\n\n viewer.search.executeSearch();\n });\n\n viewer.viewerNodes.$searchCancel.on('click', function (ev) {\n viewer.search.cancelSearch();\n });\n\n viewer.viewerNodes.$searchInput.on('keydown', function (ev) {\n if (ev.keyCode === 13) {\n ev.preventDefault();\n viewer.search.executeSearch();\n }\n });\n\n viewer.viewerNodes.$searchPrevResult.on('click', function (ev) {\n ev.preventDefault();\n viewer.search.previousResultClickHandler(this);\n\n });\n viewer.viewerNodes.$searchNextResult.on('click', function (ev) {\n ev.preventDefault();\n viewer.search.nextResultClickHandler(this);\n });\n\n viewer.viewerNodes.$revisionPrevItem.on('click', function (ev) {\n ev.preventDefault();\n viewer.revision.previousRevisionClickHandler(this);\n\n });\n viewer.viewerNodes.$revisionNextItem.on('click', function (ev) {\n ev.preventDefault();\n viewer.revision.nextRevisionClickHandler(this);\n });\n\n viewer.viewerNodes.$searchClear.on('click', function (ev) {\n viewer.search.clearSearch(ev);\n toggleDialogOffset();\n });\n viewer.viewerNodes.$searchToggleAllPresets.on('click', function (ev) {\n ev.stopPropagation();\n\n var checked = false,\n dataID = 'pcc-toggled';\n\n if ($(this).data(dataID)) {\n checked = false;\n $(this).data(dataID, false);\n } else {\n checked = true;\n $(this).data(dataID, true);\n }\n viewer.$dom.find('[data-pcc-predefined-search] input').prop('checked', checked);\n });\n\n viewer.viewerNodes.$searchExactPhrase.on('click', function (ev) {\n return viewer.search.exactPhraseClickHandler(this);\n });\n viewer.viewerNodes.$searchMatchCase.on('click', function (ev) {\n return viewer.search.matchCaseClickHandler(this);\n });\n viewer.viewerNodes.$searchMatchWholeWord.on('click', function(ev) {\n return viewer.search.matchWholeWordClickHandler(this);\n });\n viewer.viewerNodes.$searchBeginsWith.on('click', function(ev) {\n return viewer.search.beginsWithClickHandler(this);\n });\n viewer.viewerNodes.$searchEndsWith.on('click', function(ev) {\n return viewer.search.endsWithClickHandler(this);\n });\n viewer.viewerNodes.$searchWildcard.on('click', function(ev) {\n return viewer.search.wildcardClickHandler(this);\n });\n viewer.viewerNodes.$searchProximity.on('click', function(ev) {\n return viewer.search.proximityClickHandler(this);\n });\n viewer.$dom.find('[data-pcc-nav-tab=search]').on('click', function () {\n viewer.viewerNodes.$searchInput.focus();\n });\n\n // Create a reusable function for dropdowns.\n // We can use this one for dropdowns in overlays\n function handleDropdownBehavior(ev) {\n var isSelect = $(ev.target).parents().hasClass('pcc-select'),\n isLoadMarkup = $(ev.target).parents().hasClass('pcc-select-load-annotations'),\n isLoadMarkupLayers = $(ev.target).parents().hasClass('pcc-select-load-annotation-layers'),\n $selection = $(ev.target).is('span') ? $(ev.target).parent().clone() : $(ev.target).clone();\n\n if (isLoadMarkupLayers) {\n $(ev.target).parents('.pcc-select').find('.pcc-label').html($(ev.target).html());\n return;\n } else if (isSelect && !isLoadMarkup) {\n $(ev.target).parents('.pcc-select').find('.pcc-label').replaceWith($selection.addClass('pcc-label'));\n }\n }\n\n // Select box dropdown menus\n viewer.viewerNodes.$dropdowns.on('click', handleDropdownBehavior);\n\n // On document click close open dropdown menus\n $(document).click(function (ev) {\n if (!viewer) {\n return;\n }\n\n var $target = $(ev.target),\n isSelect = $target.parents().hasClass('pcc-select'),\n isPrevSearch = $target.data('pccToggle') === 'dropdown-search-box' || $target.parent().data('pccToggle') === 'dropdown-search-box',\n isSearchSubmit = $target.attr('data-pcc-search') === 'submit';\n\n // Dont close dropdowns that allow you to select multiple options\n if (!isSelect && !isPrevSearch && !isSearchSubmit) {\n viewer.$dom.find('.pcc-dropdown').removeClass('pcc-open').parents('.pcc-select').removeClass('pcc-active');\n }\n if (isSelect || isPrevSearch) {\n viewer.$dom.find('.pcc-dropdown').not($target.parents('.pcc-select, .pcc-tab-pane').find('.pcc-dropdown')).removeClass('pcc-open');\n }\n });\n\n // Prevent default behavior of buttons inside the viewer to prevent form submission.\n viewer.$dom.on('click', 'button', function (ev) {\n ev.preventDefault();\n });\n };\n\n // Function to resize the eSign drawing context\n function resizeESignContext () {\n if (viewer.esignContext && viewer.esignContext.resize) {\n viewer.esignContext.resize();\n }\n }\n\n // A helper to dynamically adjust the max-height of context menu dropdowns\n // depends on the height of the Viewer\n function updateContextMenuDropdownsMaxHeight() {\n var $dropdowns = viewer.viewerNodes.$contextMenu.find('.pcc-dropdown');\n var heightDecrease = viewer.viewerNodes.$contextMenu.hasClass('pcc-move-bottom') ? 190 : 250;\n if (viewer.viewerNodes.$contextMenu.hasClass('pcc-move')) {\n heightDecrease += 80\n }\n var dropdownMaxHeight = Math.max(150, viewer.$dom.height() - heightDecrease);\n $dropdowns.css({'max-height': dropdownMaxHeight + 'px'});\n }\n\n // A helper to dynamically adjust the max-height of full page redaction dropdowns\n // depends on the height of the Viewer\n function updateFullPageRedactionDropdownsMaxHeight() {\n var $dropdowns = viewer.viewerNodes.$pageRedactionOverlay.find('.pcc-dropdown');\n var $redactAllPagesRadio = viewer.viewerNodes.$pageRedactionOverlay.find('[data-pcc-radio=\"pageRedaction\"][data-pcc-page-redaction=\"redactAllPages\"]');\n var heightDecrease = $redactAllPagesRadio.hasClass('pcc-checked') ? 395 : 360;\n var dropdownMaxHeight = Math.max(150, viewer.$dom.height() - heightDecrease);\n $dropdowns.css({'max-height': dropdownMaxHeight + 'px'});\n }\n\n // Function to return separated reasons string for the reasons array\n function getMultipleRedactionReasonsText(reasons) {\n return reasons.join('; ');\n }\n\n //Bind Keyboard shortcuts\n this.initKeyBindings = function() {\n //keyboard shortcuts for page navigation\n $('body').on('keydown', null, 'pageup', function () {\n if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n if (!$(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n viewer.viewerControl.changeToPrevPage();\n return false;\n }\n }\n return true;\n });\n\n $('body').on('keydown', null, 'home', function () {\n if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n if (!$(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n viewer.viewerControl.changeToFirstPage();\n return false;\n }\n }\n return true;\n });\n $('body').on('keydown', null, 'end', function () {\n if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n if (!$(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n viewer.viewerControl.changeToLastPage();\n return false;\n }\n }\n return true;\n });\n $('body').on('keydown', null, 'pagedown', function () {\n if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n if (!$(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n viewer.viewerControl.changeToNextPage();\n }\n }\n return true;\n });\n $('body').on('keydown', null, 'Ctrl+g', function () {\n if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n if (!$(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n viewer.viewerNodes.$pageSelect.focus().select();\n return false;\n }\n }\n return true;\n });\n function scrolling() {\n if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n\n if (!viewer.$pageListContainerWrapper[0]) {\n //It is necessary to access the Dom one time at least because the initialized pccPageListContainerWrapper does not have a Div\n viewer.$pageListContainerWrapper = viewer.viewerNodes.$pageList.find('.pccPageListContainerWrapper');\n }\n if ($(viewer.viewerNodes.$searchResults[0]).is(':visible')) {\n if (document.activeElement === viewer.viewerNodes.$searchResults[0] || document.activeElement === viewer.$pageListContainerWrapper[0]) {\n if (viewer.prevActiveElement === viewer.viewerNodes.$searchResults[0] && document.activeElement === viewer.$pageListContainerWrapper[0]) {\n viewer.$pageListContainerWrapper.focus();\n }\n else if (viewer.prevActiveElement === viewer.$pageListContainerWrapper[0] && document.activeElement === viewer.viewerNodes.$searchResults[0]) {\n viewer.viewerNodes.$searchResults.focus();\n }\n\n return;\n }\n else {\n if (document.activeElement !== viewer.$pageListContainerWrapper[0]) {\n viewer.$pageListContainerWrapper.focus();\n }\n }\n }\n else {\n if (document.activeElement !== viewer.$pageListContainerWrapper[0]) {\n viewer.$pageListContainerWrapper.focus();\n }\n }\n }\n }\n\n //arrow keys for page navigation\n $('body').on('keydown', null, 'down up left right', function () {\n scrolling();\n return true;\n });\n\n //zoomin/zoomout keyboard shortcuts\n $('body').on('keydown', null, '= +', function () {\n if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n if (!$(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n if (!viewer.viewerNodes.$zoomIn[0].className.match('pcc-disabled')) {\n viewer.viewerControl.zoomIn(1.25);\n return false;\n }\n }\n }\n return true;\n });\n\n $('body').on('keydown', null, '-', function () {\n if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n if (!$(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n if (!viewer.viewerNodes.$zoomOut[0].className.match('pcc-disabled')) {\n viewer.viewerControl.zoomOut(1.25);\n return false;\n }\n }\n }\n return true;\n });\n\n //Delete selected marks, use delete button\n $('body').on('keydown', null, 'del', function () {\n if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n if (!$(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n var selectedMarks = viewer.viewerControl.getSelectedMarks();\n if (selectedMarks.length) {\n viewer.viewerControl.deleteMarks(viewer.currentMarks);\n return false;\n }\n }\n }\n return true;\n });\n\n //modal dialog related keyboard shortcuts for cancel\n //Note the Text esig and comments cancel button may not work if the focus\n //is still on the Text area of each of these dialogs. The user has to hit a tab key or mnually\n //change the focus with a mouse. Future work: These two dialogs need to be implemented differently for keyboard support\n $('body').on('keydown', null, 'esc', function () {\n var $cancelBtn;\n if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n\n if ($(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n if ($(viewer.viewerNodes.$esignOverlay[0]).is(':visible')) {\n $cancelBtn = viewer.$dom.find('[data-pcc-esign=\"cancel\"]');\n $cancelBtn.click();\n return false;\n }\n else if ($(viewer.viewerNodes.$imageStampOverlay[0]).is(':visible')) {\n $cancelBtn = viewer.$dom.find('[data-pcc-image-stamp=\"closer\"]');\n $cancelBtn.click();\n return false;\n }\n else if ($(viewer.viewerNodes.$pageRedactionOverlay[0]).is(':visible')) {\n $cancelBtn = viewer.$dom.find('[data-pcc-page-redaction=\"cancel\"]');\n $cancelBtn.click();\n return false;\n }\n else if ($(viewer.$dom.find('[data-pcc-download-overlay]')[0]).is(':visible')) {\n viewer.$dom.find('[data-pcc-download-overlay]').find('.pcc-overlay-closer').click();\n return false;\n }\n else {\n\n var $printCancel = viewer.$dom.find('[data-pcc-print=\"cancel\"]');\n if ($($printCancel[0]).is(':visible')) {\n //canel out the print dialog\n $printCancel.click();\n return false;\n }\n }\n }\n else {\n\n if ($('.pccPageListAboutModal button').is(':visible')) {\n $('.pccPageListAboutModal button').click();\n }\n }\n }\n return true;\n });\n //used for navigation with arrow keys puropose\n $('body').on('keydown', null, 'tab', function () {\n if (viewer.prevActiveElement === viewer.viewerNodes.$searchResults[0] || document.activeElement === viewer.$pageListContainerWrapper[0]) {\n viewer.prevActiveElement = viewer.activeElement;\n viewer.activeElement = document.activeElement;\n }\n return true;\n });\n\n //NOTE: The following commnted out code shows how to handle some of the buttons in the modal dialogs.\n //uncomment out the code and customize it per your requirements.\n\n ////(ctrl + enter) saves the drawn signatures or saves the comment. Note the enter key is a 'return' as\n //// interpreted by jQuery plugin in here. Also, the Text signature textbox and teh comments Text area will have focus\n ////so the jQuery.hotkeys does not fire the event. These two dialogs will require re-implementation in the future.\n //$('body').on('keydown', null, 'ctrl+return', function () {\n // if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n // if ($(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n // if ($(viewer.viewerNodes.$esignOverlay[0]).is(':visible')) {\n // var $saveBtn = viewer.$dom.find('[data-pcc-esign=\"save\"]');\n // $saveBtn.click();\n // }\n // }\n // else {\n // var commentPanel = viewer.$dom.find('.pccPageListComments');\n // if ($(commentPanel[0]).is(':visible')) {\n // var $doneBtn = viewer.$dom.find('[data-pcc-comment=\"done\"]');\n // $doneBtn.click();\n // return false;\n // }\n // }\n // }\n // return true;\n //});\n ////clears drawn signature\n //$('body').on('keydown', null, 'ctrl+c', function () {\n // if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n // if ($(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n // if ($(viewer.viewerNodes.$esignOverlay[0]).is(':visible')) {\n // var $clearBtn = viewer.$dom.find('[data-pcc-esign=\"clear\"]');\n // $clearBtn.click();\n // return false;\n // }\n // }\n // }\n // return true;\n //});\n ////saves full page redaction\n //$('body').on('keydown', null, 'shift+r', function () {\n // if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n // if ($(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n // if ($(viewer.viewerNodes.$pageRedactionOverlay[0]).is(':visible')) {\n // var $redactBtn = viewer.$dom.find('[data-pcc-page-redaction=\"submit\"]');\n // $redactBtn.click();\n // return false;\n // }\n // }\n // }\n // return true;\n //});\n\n //// (shift + d) keys to draw new signature. It is equivalent to pressing draw new button in the free hand esig dialog\n //$('body').on('keydown', null, 'shift+d', function () {\n // if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n // if ($(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n // if ($(viewer.viewerNodes.$esignOverlay[0]).is(':visible')) {\n // var $drawNewBtn = viewer.$dom.find('[data-pcc-esign=\"drawNew\"]');\n // $drawNewBtn.click();\n // return false;\n // }\n // }\n // }\n // return true;\n //});\n ////(shift + t) keys for create a new Text signature. Note user will need to tab out of this to\n ////save or clear the Text input box.\n //$('body').on('keydown', null, 'shift+t', function () {\n // if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n // if ($(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n // if ($(viewer.viewerNodes.$esignOverlay[0]).is(':visible')) {\n // var $typeNewBtn = viewer.$dom.find('[data-pcc-esign=\"typeNew\"]');\n // $typeNewBtn.click();\n // return false;\n // }\n // }\n // }\n // return true;\n //});\n ////(shift+p) keys to send print job in the print dialog.\n //$('body').on('keydown', null, 'shift+p', function () {\n // if ($(viewer.viewerNodes.$pageList[0]).is(':visible')) {\n // if ($(viewer.viewerNodes.$overlayFade[0]).is(':visible')) {\n // if ($(viewer.viewerNodes.$printOverlay[0]).is(':visible')) {\n // var $printBtn = viewer.$dom.find('[data-pcc-print=\"submit\"]');\n // $printBtn.click();\n // return false;\n // }\n // }\n // }\n // return true;\n //});\n }; //end initKeyBindings\n\n // Launch E-Signature modal\n this.launchESignModal = function launchESignModal (activeTab) {\n // Load the template, extending the language object with the signatures array\n viewer.viewerNodes.$esignOverlay.html(renderTemplate(options.template.esignOverlay, _.extend({\n signatures: PCCViewer.Signatures.toArray(),\n activeTab: activeTab,\n categories: (options.signatureCategories) ? options.signatureCategories.split(',') : undefined\n }, PCCViewer.Language.data))).addClass('pcc-open');\n parseIcons(viewer.viewerNodes.$esignOverlay);\n\n // Show the dark overlay\n viewer.viewerNodes.$overlayFade.show();\n };\n\n // Launch E-Signature modal in Freehand Mode\n this.launchESignFreehand = function launchESignFreehand () {\n viewer.viewerControl.deselectAllMarks();\n viewer.launchESignModal(\"freehand\");\n\n // Declare esigniture context\n viewer.esignContext = viewer.eSignature.getFreehandContext(viewer.viewerNodes.$esignOverlay.find('[data-pcc-esign=\"draw\"]').get(0));\n\n // Make sure the context is resized if the window resizes (this happens often on mobile, actually)\n $(window).on('resize', resizeESignContext);\n };\n\n // Launch E-Signature modal in Text Mode\n this.launchESignText = function launchESignText () {\n viewer.viewerControl.deselectAllMarks();\n viewer.launchESignModal(\"text\");\n\n // Declare an custom esignature context\n viewer.esignContext = viewer.eSignature.getTextContext();\n };\n\n // Launch E-Signature modal in Manage Mode\n this.launchESignManage = function launchESignManage () {\n viewer.launchESignModal(\"manage\");\n\n // check if there are any signatures\n if (PCCViewer.Signatures.toArray().length) {\n // clear the 'no signatures' message and populate previews\n var $manageView = viewer.viewerNodes.$esignOverlay.find('[data-pcc-esign=manageView]');\n $manageView.html('');\n viewer.eSignature.getManageContext($manageView.get(0));\n }\n };\n\n // Close the eSign modal and clean up\n this.closeEsignModal = function closeEsignModal () {\n viewer.viewerNodes.$esignOverlay.removeClass('pcc-open');\n viewer.viewerNodes.$overlayFade.hide();\n };\n\n // Set mouse tool, update current marks and show context menu\n this.setMouseTool = function (opts) {\n opts = opts || {};\n\n if (!opts.thisButton) {\n // try to find a matching button\n opts.thisButton = viewer.viewerNodes.$mouseTools.filter('[data-pcc-mouse-tool=' + opts.mouseToolName + ']');\n }\n\n var mouseToolName = opts.mouseToolName,\n $thisButton = $(opts.thisButton),\n forceLock = viewer.stickyToolsAlwaysOn,\n active = $thisButton.hasClass('pcc-active'),\n locked = $thisButton.hasClass('pcc-locked'),\n canLock = !!this.stickyTools[getMouseToolType(mouseToolName)];\n\n // Exit early if the mouse tool is not actually changing and it is not a lockable tool.\n if (!canLock && (!mouseToolName || this.uiMouseToolName === mouseToolName)) {\n return;\n }\n\n // make the buttons for this mouse tool active\n var buttons = viewer.$dom.find('[data-pcc-mouse-tool*=' + mouseToolName + ']');\n viewer.$dom.find('[data-pcc-mouse-tool]').not(buttons).removeClass('pcc-active pcc-locked');\n\n // activate the buttons\n if (forceLock && canLock) {\n // forceLocks come from API calls that do not know the current state of the buttons,\n // the expected hevavior is to activate and lock the tool\n buttons.addClass('pcc-active pcc-locked');\n } else if (active && canLock && !opts.apiTrigger) {\n // if the buttons is already active, then also lock it\n buttons.toggleClass('pcc-locked');\n } else {\n // activate the non-active buttons\n buttons.addClass('pcc-active');\n }\n\n // set the current mouse tool known to the UI\n this.uiMouseToolName = mouseToolName;\n\n if (this.uiMouseToolName === 'AccusoftSelectToZoom') {\n viewer.isFitTypeActive = false;\n viewer.viewerNodes.$fitContent.removeClass('pcc-active');\n }\n\n // set the mouse tool of the ViewerControl\n this.viewerControl.setCurrentMouseTool(mouseToolName);\n\n // Get template mark for the mouse tool, and update the current marks array\n var mouseTool = PCCViewer.MouseTools.getMouseTool(mouseToolName);\n\n // populate current marks array\n if (mouseTool && mouseTool.getTemplateMark) {\n this.currentMarks = [mouseTool.getTemplateMark()];\n }\n else {\n this.currentMarks = [];\n }\n\n // determine if we need to show the context menu for this mouse tool\n var showContextMenu;\n if (buttons.length === 0 || buttons.data('pccContextMenu') === undefined) {\n // If a button for the mouse tool is not found and the data-pcc-context-menu attribute is not found,\n // then default to showing the context menu for the mouse tool. This mouse tool was likely set via\n // the API, outside of any UI elements.\n showContextMenu = true;\n } else {\n // otherwise, use the value of the data-pcc-context-menu attribute to determine whether to show the\n // context menu\n showContextMenu = !!buttons.data('pccContextMenu');\n }\n\n // update the context menu: this will either hide the context menu, show the context menu, or update\n // the context menu to show the correct controls\n updateContextMenu({\n showContextMenu: showContextMenu,\n showAllEditControls: mouseTool.getType() === PCCViewer.MouseTool.Type.EditMarks,\n mouseToolType: mouseTool.getType()\n });\n };\n\n this.isMouseToolSticky = function() {\n var mouseTool = getCurrentMouseTool().getName(),\n $buttons = viewer.viewerNodes.$mouseTools.filter('[data-pcc-mouse-tool=' + mouseTool + ']'),\n locked = !!$buttons.filter('.pcc-active.pcc-locked').length;\n\n return locked;\n };\n\n this.setMouseToolIfUnlocked = function(mouseToolName) {\n var locked = viewer.isMouseToolSticky();\n\n if (!locked) {\n var mouseTool = getCurrentMouseTool().getName(),\n $buttons = viewer.viewerNodes.$mouseTools.filter('[data-pcc-mouse-tool=' + mouseTool + ']');\n\n viewer.setMouseTool({\n mouseToolName: 'AccusoftPanAndEdit',\n thisButton: $buttons.filter('.pcc-active.pcc-locked').get(0)\n });\n }\n };\n\n // Notification messages that display errors and messages to user\n this.notifyTimer = 0;\n this.notify = function (args) {\n var el = viewer.$dom.find('[data-pcc-notify]');\n\n if (typeof args.type !== 'undefined') {\n el.attr('data-pcc-notify-type', args.type);\n } else {\n el.attr('data-pcc-notify-type', 'error');\n }\n\n el.addClass('pcc-open').find('p').text(args.message);\n\n if (!args.sticky) {\n clearTimeout(viewer.notifyTimer);\n viewer.notifyTimer = setTimeout(function () {\n el.removeClass('pcc-open');\n }, 3000);\n }\n };\n\n // Toggle elements on or off using the data-pcc-toggle attribute\n function toggleNodes (ev, tabParent) {\n var $elBeingToggled = {},\n $elContextMenu = viewer.viewerNodes.$contextMenu,\n $target = $(ev.target),\n $currentTarget = $(ev.currentTarget),\n isPreset = false,\n toggleID = $currentTarget.attr('data-pcc-toggle');\n\n // For tabset hide other tab content\n if (tabParent && $target.parents().hasClass('pcc-tabs')) {\n $target.parents('.pcc-tabs').find('.pcc-active').removeClass('pcc-active');\n tabParent.find('.pcc-tab-content').removeClass('pcc-open');\n }\n\n if (toggleID === 'dialog-save-annotations') {\n if (!viewer.annotationIo.onOpenDialog('save')) {\n return;\n }\n } else if (toggleID === 'dialog-load-annotations' || toggleID === 'dialog-load-annotation-layers') {\n if (!viewer.annotationIo.onOpenDialog) {\n return;\n }\n\n if (options.annotationsMode === viewer.annotationsModeEnum.LayeredAnnotations) {\n viewer.annotationIo.onOpenDialog(viewer.annotationIo.modes.loadMarkupLayers, $currentTarget.attr('data-pcc-toggle-mode'));\n } else {\n viewer.annotationIo.onOpenDialog(viewer.annotationIo.modes.loadClassic);\n }\n\n } else if (toggleID === 'dialog-annotation-layer-review') {\n viewer.annotationLayerReview.refresh();\n } else if (toggleID === 'dialog-annotation-layer-save') {\n var markupLayer = viewer.viewerControl.getActiveMarkupLayer();\n if (markupLayer.getName() === undefined) {\n viewer.annotationLayerSave.onOpenDialog(markupLayer);\n }\n else {\n viewer.annotationLayerSave.onSave(markupLayer);\n return;\n }\n }\n\n $elBeingToggled = viewer.$dom.find('[data-pcc-toggle-id=\"' + toggleID + '\"]');\n isPreset = $target.parents().hasClass('pcc-select-search-patterns');\n\n $('[data-pcc-toggle=\"' + toggleID + '\"]').toggleClass('pcc-active');\n // If it is a dialog\n if ($elBeingToggled.hasClass('pcc-dialog')) {\n toggleDialogs({\n $elem: $elBeingToggled,\n $target: $currentTarget,\n toggleID: toggleID,\n $contextMenu: $elContextMenu\n });\n } else {\n // Search presets has unique dropdown behavior\n if (isPreset && $elBeingToggled.hasClass('pcc-open')) {\n if ($target.hasClass('pcc-label') || $target.hasClass('pcc-arrow-down')) {\n $elBeingToggled.removeClass('pcc-open');\n }\n } else if (!$currentTarget.hasClass('pcc-disabled')) {\n $elBeingToggled.toggleClass('pcc-open');\n }\n }\n\n if (toggleID === 'dialog-pii-detection') {\n var isOpening = $elBeingToggled.hasClass('pcc-open');\n if (isOpening) {\n viewer.piiDetection.detectPii();\n } else {\n viewer.piiDetection.reset();\n }\n }\n\n if (toggleID === 'dialog-summarization') {\n var isOpening = $elBeingToggled.hasClass('pcc-open');\n if (isOpening) {\n viewer.ai.summarizeDocument();\n }\n }\n\n if (toggleID === 'dialog-tag') {\n var isOpening = $elBeingToggled.hasClass('pcc-open');\n if (isOpening) {\n viewer.ai.classifyDocument();\n viewer.ai.tagDocument();\n }\n }\n\n if (toggleID === 'dropdown-search-fixed-box') {\n ev.stopPropagation();\n }\n }\n\n // Subset of toggleNodes used for dialogs\n function toggleDialogs(opts) {\n var $elBeingToggled = opts.$elem,\n $currentTarget = opts.$target,\n $elContextMenu = opts.$contextMenu,\n $thumbDialog = viewer.viewerNodes.$thumbnailDialog,\n toggleID = opts.toggleID,\n toggleArgs = {},\n openClass = 'pcc-open',\n secondaryClass = 'pcc-open-as-secondary',\n isOpen = function($el){\n return $el.hasClass(openClass);\n },\n isThumbnailsOpen = isOpen($thumbDialog),\n isThisOpen = isOpen($elBeingToggled),\n openingThumbs = /thumbnails/.test(toggleID);\n\n // Check if we are toggling the thumbnails panel, or another panel\n if (viewer.latestBreakpoint === viewer.breakpointEnum.mobile) {\n // On mobile, we want to do a plain toggle, without keeping thumbnails open\n\n viewer.viewerNodes.$dialogs.not($elBeingToggled).removeClass(openClass + ' ' + secondaryClass);\n // deactivate all active triggers, except thumbnails\n viewer.$dom\n .find('[data-pcc-toggle*=\"dialog\"].pcc-active')\n .not('[data-pcc-toggle=\"' + toggleID + '\"]')\n .removeClass('pcc-active');\n\n $elBeingToggled.toggleClass(openClass);\n\n } else if (openingThumbs) {\n var hasExistingOpenPanel = viewer.viewerNodes.$dialogs.is('.' + openClass);\n\n // We are toggling the thumbnails panel\n if (isThumbnailsOpen) {\n // thumbnails is open and we need to close it\n $thumbDialog.removeClass(openClass + ' ' + secondaryClass);\n toggleArgs.secondaryDialog = 'close';\n } else if (!isThumbnailsOpen && hasExistingOpenPanel) {\n // there is a panel open, so we need to open thumbnails as secondary\n $thumbDialog.addClass(openClass + ' ' + secondaryClass);\n toggleArgs.secondaryDialog = 'open';\n } else {\n // open thumbnails as normal\n $thumbDialog.addClass(openClass);\n }\n } else {\n if (isThisOpen) {\n // close the open panel\n $thumbDialog.removeClass(secondaryClass);\n $elBeingToggled.removeClass(openClass);\n toggleArgs.secondaryDialog = 'close';\n } else {\n // close all other panels, except thumbnails\n viewer.viewerNodes.$dialogs.not($thumbDialog).removeClass(openClass);\n\n // open the closed panel\n $elBeingToggled.addClass(openClass);\n if (isThumbnailsOpen) {\n $thumbDialog.addClass(secondaryClass);\n toggleArgs.secondaryDialog = 'open';\n }\n }\n\n // deactivate all active triggers, except thumbnails\n viewer.$dom\n .find('[data-pcc-toggle*=\"dialog\"].pcc-active')\n .not('[data-pcc-toggle=\"' + toggleID + '\"]')\n .not('[data-pcc-toggle*=\"thumbnail\"]')\n .removeClass('pcc-active');\n }\n\n // Adjust DOM offsets based on open panels\n toggleDialogOffset(toggleArgs);\n if (viewer.isFitTypeActive === true) { viewer.viewerControl.fitContent(viewer.currentFitType); }\n\n if (openingThumbs) {\n viewer.thumbnailManager.embedOnce();\n }\n\n // Nudge the context menu if a dialog is shown\n if (/search/.test(toggleID) && viewer.$dom.find('.pcc-dialog.pcc-open').length && $(window).width() <= viewer.tabBreakPoint) {\n $elContextMenu.addClass('pcc-move');\n } else {\n $elContextMenu.removeClass('pcc-move');\n }\n\n updateContextMenuDropdownsMaxHeight();\n }\n\n function openDialog (opts){\n var toggleID = opts.toggleID,\n $dialog = opts.$dialog || viewer.$dom.find('[data-pcc-toggle-id=\"' + toggleID + '\"]'),\n $trigger = opts.$trigger || viewer.$dom.find('[data-pcc-toggle=\"' + toggleID + '\"]'),\n toggleArgs = {},\n $elContextMenu = viewer.viewerNodes.$contextMenu,\n openClass = 'pcc-open',\n secondaryClass = 'pcc-open-as-secondary',\n activeClass = 'pcc-active';\n\n if ($dialog.hasClass(openClass)) {\n // the panel is already open, so there is nothing to do\n return;\n }\n\n // Execute these checks after the early exit\n var openingThumbs = /thumbnails/.test(toggleID),\n hasOpenPanel = viewer.viewerNodes.$dialogs.hasClass('pcc-open'),\n onMobileView = viewer.latestBreakpoint === viewer.breakpointEnum.mobile;\n\n if (((openingThumbs && hasOpenPanel) || viewer.viewerNodes.$thumbnailDialog.hasClass(openClass)) && !onMobileView) {\n // we are opening thumbnails while another dialog is already open,\n // or opening a panel while thumbnails is already open,\n // so we need to make thumbnails a secondary panel\n viewer.viewerNodes.$thumbnailDialog.addClass(secondaryClass);\n toggleArgs.secondaryDialog = 'open';\n }\n\n if(hasOpenPanel) {\n if (toggleID !== 'dialog-pii-detection' && viewer.viewerNodes.$piiDetectionDialog.hasClass(openClass)) {\n viewer.piiDetection.reset();\n }\n\n // we are opening a panel while another panel is open, so we need to close already open ones\n viewer.viewerNodes.$dialogs.not($dialog).not(viewer.viewerNodes.$thumbnailDialog).removeClass(openClass);\n viewer.$dom.find('[data-pcc-toggle*=\"dialog\"].pcc-active').not('[data-pcc-toggle*=\"thumbnail\"]').removeClass(activeClass);\n }\n\n $dialog.addClass(openClass);\n $trigger.addClass(activeClass);\n\n // when opening thumbnails, always attempt to embed (it will only execute once in a viewer session)\n if (openingThumbs) {\n viewer.thumbnailManager.embedOnce();\n }\n\n // Adjust DOM offsets based on open panels\n toggleDialogOffset(toggleArgs);\n\n // Nudge the context menu if a dialog is shown\n if (/search/.test(toggleID) && viewer.$dom.find('.pcc-dialog.pcc-open').length && $(window).width() <= viewer.tabBreakPoint) {\n $elContextMenu.addClass('pcc-move');\n } else {\n $elContextMenu.removeClass('pcc-move');\n }\n\n if (viewer.isFitTypeActive === true) { viewer.viewerControl.fitContent(viewer.currentFitType); }\n }\n\n // Update the context menu, either hide the context menu, show the context menu, or update to show the correct controls\n function updateContextMenu(args) {\n var className = 'pcc-open',\n $contextMenu = viewer.$dom.find('.pcc-context-menu'),\n tmplData = {},\n mark = viewer.currentMarks[0],\n lang = PCCViewer.Language.data,\n windowWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth,\n isSignatureTool = args.mouseToolType && args.mouseToolType === PCCViewer.MouseTool.Type.PlaceSignature;\n\n // Hide the menu if\n // the markSelectionChanged event is triggered AND there's no current marks OR\n // the edit tool is selected AND there's no current marks OR\n // any of the following tools are selected: transparent rectangle redaction, text selection redaction, select text, magnifier, select to zoom, date signature OR\n // multiple marks are selected\n var selectionChangeAndNoMarks = args.markSelectionChanged && !viewer.viewerControl.getSelectedMarks().length && viewer.viewerControl.getCurrentMouseTool() === 'AccusoftPanAndEdit',\n editToolAndNoMarks = args.mouseToolType && (args.mouseToolType === PCCViewer.MouseTool.Type.EditMarks || args.mouseToolType === PCCViewer.MouseTool.Type.PanAndEdit) && !viewer.viewerControl.getSelectedMarks().length,\n isToolWithoutContext = args.mouseToolType && (args.mouseToolType === PCCViewer.MouseTool.Type.TransparentRectangleRedaction || args.mouseToolType === PCCViewer.MouseTool.Type.SelectText ||\n args.mouseToolType === PCCViewer.MouseTool.Type.Magnifier || args.mouseToolType === PCCViewer.MouseTool.Type.SelectToZoom || viewer.viewerControl.getCurrentMouseTool() === \"AccusoftPlaceDateSignature\"),\n multipleMarksSelected = viewer.currentMarks.length > 1 ? true : false,\n isImageStampTool = args.mouseToolType && args.mouseToolType.search(/ImageStampAnnotation|ImageStampRedaction$/g) !== -1,\n isImageStampMenu = (mark && !!mark.getImage) || isImageStampTool,\n $input;\n\n if (selectionChangeAndNoMarks || editToolAndNoMarks || isToolWithoutContext) {\n args.showContextMenu = false;\n }\n\n // hide the context menu if it should be hidden\n if (!args.showContextMenu) {\n $contextMenu.removeClass(className);\n return;\n }\n\n if (mark && (viewer.currentMarks.length || viewer.viewerControl.getSelectedMarks().length)) {\n\n var menuOptions = {\n collapseLeftSide: false,\n showTabArea: false,\n showMainTab: false,\n activateMainTab: false,\n showBorderColorTab: false,\n showFontTab: false,\n activateFontTab: false,\n showLayerTab: false,\n activateLayerTab: false,\n showESignTab: false,\n activateESignTab: false,\n showLinkTab: false,\n activateLinkTab: false,\n showLinkStylesTab: false,\n showImageTab: false,\n activateImageTab: false,\n showTransparentFillColor: false,\n showTransparentBorderColor: false,\n enableCustomRedactionReason: false,\n enableMultipleRedactionReasons: false\n };\n\n menuOptions.enableCustomRedactionReason = (args.enableCustomRedactionReason) ? args.enableCustomRedactionReason : false;\n menuOptions.enableMultipleRedactionReasons = (options.enableMultipleRedactionReasons) ? options.enableMultipleRedactionReasons : false;\n\n // collapse menu\n if (multipleMarksSelected) {\n menuOptions.collapseLeftSide = true;\n } else if (mark.getType() === 'TextSelectionRedaction' && !viewer.redactionReasons.enableRedactionReasonSelection) {\n menuOptions.collapseLeftSide = true;\n }\n\n // options for main tab\n if (isSignatureTool || mark.getType().search(/^ImageStampAnnotation|ImageStampRedaction$/) !== -1) {\n menuOptions.showMainTab = false;\n } else if (mark.getType() === 'TextSelectionRedaction') {\n menuOptions.showMainTab = !!viewer.redactionReasons.enableRedactionReasonSelection;\n } else if (mark.getType() === 'TextHyperlinkAnnotation') {\n\n // Show a minimal interface for template marks\n if (mark.getPageNumber() === 0) {\n menuOptions.showMainTab = true;\n menuOptions.showLinkTab = false;\n menuOptions.activateLinkTab = false;\n } else {\n menuOptions.showMainTab = false;\n menuOptions.showLinkTab = true;\n menuOptions.activateLinkTab = true;\n menuOptions.linkText = mark.getHref();\n menuOptions.showLinkStylesTab = true;\n }\n\n } else if (mark.getType().search(/^TransparentRectangleRedaction$|^TextRedaction$/) === -1) {\n menuOptions.showMainTab = true;\n }\n\n if (menuOptions.showMainTab && !multipleMarksSelected) {\n if (mark.getType().search(/^TransparentRectangleRedaction$|^TextRedaction$|^TextSelectionRedaction$/) === -1) {\n menuOptions.activateMainTab = true;\n } else if (mark.getType() === 'TextSelectionRedaction' && viewer.redactionReasons.enableRedactionReasonSelection) {\n menuOptions.activateMainTab = true;\n }\n }\n\n // options for border tab options\n if (mark.getBorderColor && mark.getBorderThickness) {\n menuOptions.showBorderColorTab = true;\n }\n\n // options for font tab\n if (mark.getType().search(/^TextAnnotation$|^TextRedaction$|^RectangleRedaction$/) !== -1) {\n menuOptions.showFontTab = true;\n }\n\n if (menuOptions.showFontTab && !multipleMarksSelected) {\n if (mark.getType().search(/^TextRedaction$/) !== -1) {\n menuOptions.activateFontTab = true;\n }\n }\n\n // options for layer tab\n if (args.showAllEditControls && mark.getType() !== 'HighlightAnnotation' &&\n mark.getType() !== 'TextSelectionRedaction' &&\n mark.getType() !== 'StrikethroughAnnotation' &&\n mark.getType() !== 'TextHyperlinkAnnotation') {\n menuOptions.showLayerTab = true;\n }\n\n if (menuOptions.showLayerTab && !menuOptions.activateFontTab && !multipleMarksSelected) {\n if (mark.getType().search(/^TransparentRectangleRedaction|ImageStampAnnotation|ImageStampRedaction$/) !== -1) {\n menuOptions.activateLayerTab = true;\n }\n }\n\n // only offer transparent fill color for marks that actually have a fill area\n if (mark.getType().search(/^EllipseAnnotation|RectangleAnnotation|TextAnnotation$/) !== -1) {\n menuOptions.showTransparentFillColor = true;\n menuOptions.showTransparentBorderColor = true;\n }\n\n // options for esign tab\n if (isSignatureTool) {\n menuOptions.showESignTab = true;\n }\n\n if (menuOptions.showESignTab) {\n if (isSignatureTool) {\n menuOptions.activateESignTab = true;\n }\n }\n\n // options for image tab\n if (isImageStampMenu) {\n menuOptions.showImageTab = true;\n menuOptions.activateImageTab = true;\n menuOptions.activateLayerTab = false;\n\n menuOptions.currentImage = viewer.imageStamp.getImageUrl(mark.getImage());\n }\n\n // Check if any tabs are actually turned on at this point.\n // Note that multiple selected marks will always mean to hide the tab area\n if (!multipleMarksSelected) {\n _.forEach(menuOptions, function(val, key){\n //if (val === true && key.match(/show[^tT]+Tab/)){\n if (val === true && key.match(/show[a-zA-Z]+Tab/)){\n menuOptions.showTabArea = true;\n }\n });\n }\n\n var tmplRedactionReasons = _.clone(viewer.redactionReasonsExtended);\n if (viewer.redactionReasonsExtended.reasons) {\n tmplRedactionReasons.reasons = viewer.redactionReasonsExtended.reasons.map(function(reason) {\n return _.clone(reason);\n });\n } else {\n tmplRedactionReasons.reasons = [];\n }\n var customRedactionReason = '';\n if (mark.getReason && !options.enableMultipleRedactionReasons) {\n if (mark.getReason().length && !redactionReasonMenu.isPreloadedRedactionReason(mark.getReason())) {\n menuOptions.enableCustomRedactionReason = true;\n args.enableCustomRedactionReason = true;\n }\n\n if (args.enableCustomRedactionReason) {\n menuOptions.redactionReasonLabel = PCCViewer.Language.data.redactionReasonFreeform;\n customRedactionReason = mark.getReason();\n } else if (mark.getReason().length) {\n menuOptions.redactionReasonLabel = mark.getReason();\n } else {\n menuOptions.redactionReasonLabel = PCCViewer.Language.data.redactionReasonSelect;\n }\n }\n if (mark.getReasons && options.enableMultipleRedactionReasons) {\n\n if(mark.getReasons().length && !redactionReasonMenu.isPreloadedRedactionReason(mark.getReasons())){\n menuOptions.enableCustomRedactionReason = true;\n args.enableCustomRedactionReason = true;\n }\n\n var _reasons = mark.getReasons();\n if (menuOptions.enableCustomRedactionReason) {\n menuOptions.redactionReasonLabel = PCCViewer.Language.data.redactionReasonFreeform;\n customRedactionReason = getMultipleRedactionReasonsText(_reasons);\n } else {\n if (_reasons.length) {\n menuOptions.redactionReasonLabel = getMultipleRedactionReasonsText(_reasons);\n } else {\n menuOptions.redactionReasonLabel = PCCViewer.Language.data.redactionReasonSelect;\n }\n }\n\n tmplRedactionReasons.reasons.forEach(function (reason) {\n if(reason.selectable){\n reason.checked = _reasons.indexOf(reason.reason) >= 0;\n }\n });\n }\n\n // Define template vars and load context menu template\n tmplData = _.extend({\n mark: mark,\n multipleMarksSelected: multipleMarksSelected,\n showAllEditControls: args.showAllEditControls,\n showSignaturePreview: isSignatureTool,\n paragraphAlignTitle: mark.getHorizontalAlignment ? lang['paragraphAlign' + mark.getHorizontalAlignment().charAt(0).toUpperCase() + mark.getHorizontalAlignment().slice(1)] : '',\n reasons: tmplRedactionReasons,\n customRedactionReason: customRedactionReason,\n menuOptions: menuOptions,\n // RAPIDREVIEW\n // draftRedactionContextMenu uses this to determine if a mark can be deleted.\n currentUserId: options.nextRequest.rapidReview ? options.nextRequest.userId : '',\n currentUserIsAdmin: options.nextRequest.rapidReview ? options.nextRequest.adminUser : false\n // END RAPIDREVIEW\n }, lang);\n\n $contextMenu.addClass(className).html(renderTemplate(options.template.contextMenu, tmplData));\n\n updateContextMenuDropdownsMaxHeight();\n parseIcons($contextMenu);\n disableContextMenuTabbing();\n removeUIElements($contextMenu);\n\n if (isSignatureTool) {\n var dom = $contextMenu.find('[data-pcc-esign-preview]').get(0),\n mouseTool = viewer.eSignature.mouseTool,\n signature = mouseTool.getTemplateMark().getSignature();\n\n if (signature) {\n viewer.eSignature.insertSignatureView(signature, dom, function () {\n viewer.launchESignManage();\n }, false);\n }\n }\n\n if (menuOptions.linkText) {\n $input = $contextMenu.find('[data-pcc-link-input]');\n\n $input.val(menuOptions.linkText);\n\n var submitLinkInput = function submitLinkInput(value){\n hyperlinkMenu.setHref(mark, value);\n\n // update the menu in order to update the views\n updateContextMenu(args);\n };\n\n $input.on('change', function(ev){\n submitLinkInput($(this).val());\n }).on('keypress', function(ev){\n if (ev.which === 13) { // Enter key to submit\n submitLinkInput($(this).val());\n $(this).blur();\n return false;\n }\n });\n }\n\n if (args.enableCustomRedactionReason) {\n $input = $contextMenu.find('[data-pcc-redaction-reason-input]');\n var reasonsValue = options.enableMultipleRedactionReasons\n ? getMultipleRedactionReasonsText(mark.getReasons())\n : mark.getReason();\n $input.val(reasonsValue)\n .on('input', function(ev) {\n var val = $(this).val();\n if (viewer.redactionReasons.maxLengthFreeformRedactionReasons && val.length > viewer.redactionReasons.maxLengthFreeformRedactionReasons){\n viewer.notify({message: PCCViewer.Language.data.redactionReasonFreeforMaxLengthOver});\n $(this).val(val.substring(0, viewer.redactionReasons.maxLengthFreeformRedactionReasons));\n }\n if (options.enableMultipleRedactionReasons) {\n mark.setReasons([$(this).val()]);\n } else {\n mark.setReason($(this).val());\n }\n });\n }\n\n if (menuOptions.currentImage) {\n var $image = $contextMenu.find('[data-pcc-image-stamp-preview]');\n\n $image.click(function() {\n if (isImageStampMenu && !isImageStampTool) {\n // this is a change for an existing mark, so switch the image\n viewer.imageStamp.selectMarkImage(function(newImage){\n mark.setImage(newImage);\n updateContextMenu(args);\n });\n } else {\n // this is a change for the image associated with a mouse tool\n viewer.imageStamp.selectToolImage(function(newImage){\n // update the menu in order to update the views\n updateContextMenu(args);\n });\n }\n });\n }\n\n // On larger viewports expand the context menu options\n if (windowWidth > viewer.tabBreakPoint || args.remainActive) {\n $contextMenu.find('.pcc-pull-left').addClass(className);\n $contextMenu.find('[data-pcc-toggle=context-menu-options]').toggleClass('pcc-active');\n }\n\n // Scroll Dropdown if needed\n if(args.scrollTop){\n $contextMenu.find('.pcc-dropdown').scrollTop(args.scrollTop);\n }\n }\n }\n\n // Enable/disable features based on viewer configuration uiElements options\n function setUIElements () {\n var $firstTabItem = viewer.viewerNodes.$navTabs.eq(0).find('.pcc-tab-item'),\n $firstTabPane = $firstTabItem.next('.pcc-tab-pane'),\n $elDialogs = viewer.viewerNodes.$dialogs,\n $elContextMenu = viewer.viewerNodes.$contextMenu,\n leftOffsetClass = 'pcc-vertical-offset-left',\n rightOffsetClass = 'pcc-vertical-offset-right';\n\n // Check for fullScreenOnInit\n if (options.uiElements && options.uiElements.fullScreenOnInit) {\n viewer.$dom.addClass('pcc-full-screen');\n viewer.viewerNodes.$fullScreen.addClass('pcc-active');\n }\n\n\n if (options.lockEditableMarkupLayer === true) {\n // Remove the load editable annotations buttons\n viewer.$dom.find('[data-pcc-lock-editable-layer]').remove();\n }\n\n // There is a uiElements object in the viewer plugin options\n if (options.uiElements) {\n // hide any configured UI Elements\n removeUIElements();\n\n // Set nodes again after we've changed tabs\n viewer.viewerNodes.$navTabs = viewer.$dom.find('[data-pcc-nav-tab]');\n $firstTabItem = viewer.viewerNodes.$navTabs.eq(0).find('.pcc-tab-item');\n\n // If no tabs, adjust pagelist position\n if (!viewer.viewerNodes.$navTabs.length) {\n viewer.viewerNodes.$pageList.css('top', viewer.viewerNodes.$nav.outerHeight());\n }\n }\n\n // Activate the first tab item and show it's tab pane.\n $firstTabItem.addClass('pcc-active').next('.pcc-tab-pane').addClass('pcc-open');\n\n // Offset the page list if the first tab has a vertical menu\n if ($firstTabPane.hasClass('pcc-tab-vertical')) {\n\n // The default offset is to the left side, if the right side is chosen, add the appropriate offset\n if ($firstTabPane.hasClass('pcc-right')) {\n $elDialogs.removeClass(leftOffsetClass).addClass(rightOffsetClass);\n $elContextMenu.removeClass(leftOffsetClass).addClass(rightOffsetClass);\n viewer.viewerNodes.$pageList.removeClass(leftOffsetClass).addClass(rightOffsetClass);\n } else {\n $elDialogs.removeClass(rightOffsetClass).addClass(leftOffsetClass);\n $elContextMenu.removeClass(rightOffsetClass).addClass(leftOffsetClass);\n viewer.viewerNodes.$pageList.removeClass(rightOffsetClass).addClass(leftOffsetClass);\n }\n }\n\n // Turn markup layer features on or off\n if (options.annotationsMode === viewer.annotationsModeEnum.LayeredAnnotations) {\n viewer.$dom\n .find('[data-pcc-toggle=\"dialog-save-annotations\"]')\n .attr('data-pcc-toggle', 'dialog-annotation-layer-save');\n\n viewer.$dom\n .find('[data-pcc-toggle=\"dialog-load-annotations\"]')\n .attr('data-pcc-toggle', 'dialog-load-annotation-layers');\n\n }\n\n // Make the tab menu trigger's content match the first tab.\n viewer.$dom.find('[data-pcc-nav-trigger]').html($firstTabItem.html());\n\n if (viewer.isFitTypeActive === true) { viewer.viewerNodes.$fitContent.addClass('pcc-active'); }\n\n // Check if some functionality is enabled by the viewer control\n viewer.viewerControl.getClientRestrictions().then(restrictions => {\n var isImageToolsDisabled = (\n restrictions.sharpening === 'disabled' &&\n restrictions.gamma === 'disabled' &&\n restrictions.svgLineWidthMultiplier === 'disabled'\n );\n var isPrintDisabled = restrictions.print === 'disabled';\n\n viewer.viewerNodes.$imageTools.prop('disabled', isImageToolsDisabled);\n if (isImageToolsDisabled) {\n viewer.viewerNodes.$imageTools.addClass('pcc-disabled');\n }\n\n viewer.viewerNodes.$printLaunch.prop('disabled', isPrintDisabled);\n if (isPrintDisabled) {\n viewer.viewerNodes.$printLaunch.addClass('pcc-disabled');\n }\n\n if (restrictions.serverSearch !== 'disabled' && options.piiDetection && typeof options.piiDetection === 'object' && options.piiDetection.enablePiiDetection === true) {\n viewer.$dom.find('[data-pcc-toggle=\"dialog-pii-detection\"]').removeClass('pcc-hide');\n }\n\n if (restrictions.serverSearch !== 'disabled' && options.documentSummarization && typeof options.documentSummarization === 'object' && options.documentSummarization.enableDocumentSummarization === true) {\n viewer.$dom.find('[data-pcc-toggle=\"dialog-summarization\"]').removeClass('pcc-hide');\n }\n\n if (restrictions.serverSearch !== 'disabled' &&\n options.documentClassification && typeof options.documentClassification === 'object' &&\n options.documentClassification.enableDocumentClassification === true &&\n Array.isArray(options.documentClassification.classifications) === true && options.documentClassification.classifications.length >= 2) {\n viewer.$dom.find('[data-pcc-toggle=\"dialog-tag\"]').removeClass('pcc-hide');\n }\n\n if (restrictions.serverSearch !== 'disabled' && options.documentQuery && typeof options.documentQuery === 'object' && options.documentQuery.enableDocumentQuery === true) {\n viewer.$dom.find('[data-pcc-toggle=\"dialog-query\"]').removeClass('pcc-hide');\n }\n });\n }\n\n function handleComparisonTools() {\n if (typeof options.uiElements !== 'object' || options.uiElements === null) {\n options.uiElements = {};\n }\n\n if (typeof options.uiElements.comparisonTools !== 'string') {\n options.uiElements.comparisonTools = 'availableifrevisions';\n }\n\n // If uiElements.comparsonTools is set to notAvailable we do not need to do anything else\n if (options.uiElements.comparisonTools.toLowerCase() !== 'notavailable') {\n\n // availabeIfRevisions will be the default if not specified in the options.\n var comparisonTools = options.uiElements.comparisonTools.toLowerCase() || 'availableifrevisions';\n // If available or active we will show the icon right away.\n if (comparisonTools === 'available' || comparisonTools === 'active') {\n viewer.viewerNodes.$revisionToggle.removeClass('pcc-hide');\n }\n // If active we will also show the sidebar right away.\n if (comparisonTools === 'active') {\n viewer.viewerNodes.$revisionToggle.click();\n }\n\n var revisionsAvailable = viewer.viewerControl.requestRevisions();\n\n revisionsAvailable.on('PartialRevisionsAvailable', function(ev) {\n if (ev.partialRevisions.length > 0) {\n viewer.viewerNodes.$revisionsContainer.removeClass('pcc-hide');\n\n if (comparisonTools === 'availableifrevisions' || comparisonTools === 'activeifrevisions') {\n viewer.viewerNodes.$revisionToggle.removeClass('pcc-hide');\n }\n\n if (comparisonTools === 'activeifrevisions' &&\n revisionsAvailable.getRevisions().length === ev.partialRevisions.length) {\n viewer.viewerNodes.$revisionToggle.click();\n }\n\n viewer.revision.addRevisions(ev.partialRevisions);\n }\n });\n\n }\n }\n\n // Remove UI Elements that were configured to be turned off\n function removeUIElements(root) {\n var $root = (root) ? $(root) : viewer.$dom;\n\n var legacyKeys = [\n 'advancedSearch', 'fullScreenOnInit'\n ];\n\n // remove any elements that are defined as `false` in uiElements\n _.each(options.uiElements, function(value, key) {\n // ignore legacy keys, as these are not used to disable features,\n // but rather enable them\n if (_.contains(legacyKeys, key)) { return; }\n\n if (value === false) {\n $root.find('[data-pcc-removable-id=' + key + ']').remove();\n }\n });\n }\n\n // Set mouse tool default colors set in template\n function setMouseToolDefaults () {\n _.each(viewer.viewerNodes.$mouseTools,function (el) {\n var color = $(el).data('pccDefaultFillColor'),\n name = $(el).data('pccMouseTool'),\n label = $(el).data('pccDefaultLabel'),\n templateMark = {};\n\n if (color && PCCViewer.MouseTools.getMouseTool(name)) {\n templateMark = PCCViewer.MouseTools.getMouseTool(name).getTemplateMark();\n\n if (templateMark.setColor) {\n templateMark.setColor(color);\n\n } else if (templateMark.setFillColor) {\n templateMark.setFillColor(color);\n }\n }\n\n if (label && PCCViewer.MouseTools.getMouseTool(name)) {\n templateMark = PCCViewer.MouseTools.getMouseTool(name).getTemplateMark();\n\n if (templateMark.setLabel) {\n templateMark.setLabel(label);\n\n }\n }\n });\n }\n\n // Disable tabbing to context menu elements when it is hidden -- it is closed by default\n function disableContextMenuTabbing () {\n viewer.$dom.find('.pcc-context-menu').find('a, area, button, input, object, select').attr('tabindex', '-1');\n }\n\n // Polyfill for placeholder attribute\n function placeholderPolyfill () {\n if (!('placeholder' in document.createElement('input'))){\n _.each(viewer.$dom.find('[placeholder]'), function (el) {\n var placeholderVal = $(el).attr('placeholder'),\n placeholderClass = 'pcc-placeholder';\n\n $(el)\n .val(placeholderVal)\n .addClass(placeholderClass)\n .on('focus', function (ev) {\n var $el = $(ev.target);\n if ($el.val() === placeholderVal) {\n $el.val('').removeClass(placeholderClass);\n }\n })\n .on('blur', function (ev) {\n var $el = $(ev.target);\n if (!$el.val().length) {\n $el.val(placeholderVal).addClass(placeholderClass);\n }\n });\n });\n }\n }\n\n // Helper method - gets the value of an input that is using a placeholder.\n // This method returns the correct value of the input.\n //\n // This works around an issue in older browsers, where if no\n // text was entered then the value of the input is the placeholder value.\n function getInputValueNotPlaceholder($inputEl) {\n var placeholderClass = 'pcc-placeholder';\n if ($inputEl.hasClass(placeholderClass)) {\n return '';\n } else {\n return $inputEl.val();\n }\n }\n\n // Convert RGB string to HEX string\n function rgbToHex (rgb) {\n var rgbHexCode = '';\n // IE8 returns HEX, modern browsers return RGB.\n if (rgb.substring(0, 1) === '#') {\n rgbHexCode = rgb;\n } else {\n rgb = rgb.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/);\n rgbHexCode = '#' +\n ('0' + Number(rgb[1], 10).toString(16)).slice(-2) +\n ('0' + Number(rgb[2], 10).toString(16)).slice(-2) +\n ('0' + Number(rgb[3], 10).toString(16)).slice(-2);\n }\n return rgbHexCode;\n }\n\n // Gets the type of any mouse tool\n function getMouseToolType(name){\n return PCCViewer.MouseTools.getMouseTool(name).getType();\n }\n // Gets the MouseTool type of the current mouse tool\n function getCurrentMouseToolType(){\n var currentToolName = viewer.viewerControl.getCurrentMouseTool();\n return PCCViewer.MouseTools.getMouseTool(currentToolName).getType();\n }\n // Gets the current mouse tool\n function getCurrentMouseTool(){\n var currentToolName = viewer.viewerControl.getCurrentMouseTool();\n return PCCViewer.MouseTools.getMouseTool(currentToolName);\n }\n\n // Add class to offset pagelist when vertical dialogs are present\n function toggleDialogOffset (args) {\n args = args || {};\n\n var $openDialog = viewer.$dom.find('.pcc-dialog.pcc-open'),\n $pageList = viewer.viewerNodes.$pageList,\n isThumbnails = $openDialog.is(viewer.viewerNodes.$thumbnailDialog),\n manualOffset,\n removeManualOffset = function(){\n // Remove the padding only if it is defined directly on the element. Do not\n // bother removing it if we are applying a new manual offset, since it will\n // just be overwritten in one operation.\n if ($pageList.css('padding-left') && !manualOffset) {\n $pageList.css('padding-left', '');\n }\n };\n\n if (isThumbnails && viewer.latestBreakpoint !== viewer.breakpointEnum.mobile) {\n // Offset based on the right side of the thumbnail list. This takes into account\n // both primary and secondary offsets.\n manualOffset = viewer.viewerNodes.$thumbnailDialog.get(0).getBoundingClientRect().right -\n viewer.$dom.get(0).getBoundingClientRect().left;\n }\n\n // Only apply offset if there is an open dialog\n if (viewer.viewerNodes.$dialogs.hasClass('pcc-open')) {\n $pageList.addClass('pcc-dialog-offset');\n } else {\n $pageList.removeClass('pcc-dialog-offset');\n removeManualOffset();\n }\n\n // Check if two dialogs are open and need to be offset more\n if (args.secondaryDialog === 'open') {\n $pageList.addClass('pcc-dialog-offset-secondary');\n } else if (args.secondaryDialog === 'close' && $pageList.hasClass('pcc-dialog-offset-secondary')) {\n $pageList.removeClass('pcc-dialog-offset-secondary');\n removeManualOffset();\n }\n\n if (manualOffset) {\n $pageList.css('padding-left', manualOffset + 'px');\n }\n\n viewer.$events.trigger('pagelistresize');\n }\n\n // Page list event handlers\n\n // Estimated page count is available\n function estimatedCountHandler (ev) {\n viewer.pageCount = ev.pageCount;\n viewer.viewerNodes.$pageCount.html(ev.pageCount);\n }\n\n // Page count is available\n function pageCountHandler (ev) {\n viewer.pageCount = ev.pageCount;\n viewer.viewerNodes.$pageCount.html(ev.pageCount);\n\n // Show Next/Previous page navigation buttons if multiple pages\n if (ev.pageCount > 1) {\n viewer.viewerNodes.$firstPage.removeClass('pcc-hide');\n viewer.viewerNodes.$lastPage.removeClass('pcc-hide');\n viewer.viewerNodes.$prevPage.addClass('pcc-show-lg');\n viewer.viewerNodes.$nextPage.addClass('pcc-show-lg');\n }\n\n // Initialize predefined search\n viewer.search.initialSearchHandler();\n // Register event to allow the search module to open the UI\n viewer.search.on('open', function(){\n openDialog({ toggleID: 'dialog-search' });\n });\n }\n\n // Page failed to load\n // Error Codes:\n // 504 - Document Not Found or Server Error\n // 403 - Session Expired\n function pageLoadFailedHandler (ev) {\n var message = PCCViewer.Language.data.documentNotFound;\n if (ev.statusCode === 504 || ev.statusCode === 403) {\n if (ev.statusCode === 403) {\n message = PCCViewer.Language.data.sessionExpired;\n }\n viewer.notify({ sticky: true, message: message });\n viewer.viewerNodes.$pageList.hide();\n }\n }\n\n // Page has changed\n function pageChangedHandler (ev) {\n viewer.viewerNodes.$pageSelect.val(ev.pageNumber);\n }\n\n // Once a mark has been created\n function markCreatedHandler (ev) {\n // Leave text tool selected so you can enter text, otherwise select edit annotation tool.\n if (ev.mark.getType() !== PCCViewer.Mark.Type.TextAnnotation &&\n ev.mark.getType() !== PCCViewer.Mark.Type.TextRedaction &&\n ev.mark.getType() !== PCCViewer.Mark.Type.TextInputSignature &&\n getCurrentMouseToolType() !== PCCViewer.MouseTool.Type.EditMarks) {\n\n viewer.setMouseToolIfUnlocked('AccusoftPanAndEdit');\n }\n\n // find out if the current mouse tool is \"sticky\"\n var locked = viewer.isMouseToolSticky();\n\n // if not, hide the context menu so users don't get confused and try to use it to change font settings\n if (!locked) {\n viewer.viewerNodes.$contextMenu.removeClass('pcc-open');\n }\n }\n\n // Mark has changed\n function markChangedHandler (ev) {\n var markType = ev.mark.getType();\n\n // Once text is entered into the text tool and click outside, select edit annotation tool.\n if ((markType === PCCViewer.Mark.Type.TextAnnotation ||\n markType === PCCViewer.Mark.Type.TextRedaction ||\n markType === PCCViewer.Mark.Type.TextInputSignature) &&\n getCurrentMouseToolType() !== PCCViewer.MouseTool.Type.EditMarks) {\n viewer.setMouseToolIfUnlocked('AccusoftPanAndEdit');\n } else if (markType === PCCViewer.Mark.Type.FreehandSignature || markType === PCCViewer.Mark.Type.TextSignature) {\n // Keep track of the size that the user has used for the signature\n viewer.eSignature.updateSignatureSizeOnDocument(ev.mark);\n }\n }\n\n // Mark selection has changed\n function markSelectionChangedHandler () {\n if (getCurrentMouseTool().getName() !== 'AccusoftPanAndEdit'){\n return;\n }\n var marks = viewer.viewerControl.getSelectedMarks();\n\n // Update current marks array\n viewer.currentMarks = marks;\n // Show context menu\n updateContextMenu({\n showContextMenu: true,\n showAllEditControls: true,\n markSelectionChanged: true\n });\n\n }\n\n // Document has text promise is resolved\n function documentHasTextResolved (hasText) {\n if (hasText) {\n viewer.documentHasText = true;\n\n if (fileDownloadManager.isInPreviewMode() !== true) {\n // Enable text selection tools\n viewer.viewerNodes.$selectText.removeClass('pcc-disabled');\n viewer.viewerNodes.$highlightAnnotation.removeClass('pcc-disabled');\n viewer.viewerNodes.$strikethroughAnnotation.removeClass('pcc-disabled');\n viewer.viewerNodes.$hyperlinkAnnotation.removeClass('pcc-disabled');\n viewer.viewerNodes.$textSelectionRedaction.removeClass('pcc-disabled');\n }\n }\n }\n\n // Page text is ready\n function pageTextReadyHandler (ev) {\n viewer.search.pageTextReadyHandler(ev);\n // RAPIDREVIEW\n if (options.nextRequest.rapidReview) {\n // Open comments panel for marks that already have comments\n commentUIManager.openIfVisibleMarks()\n }\n // END RAPIDREVIEW\n }\n\n // Scaling of page(s) in the viewer has changed\n function scaleChangedHandler (ev) {\n var disabledClass = 'pcc-disabled';\n\n viewer.viewerNodes.$zoomLevel.html(Math.round(ev.scaleFactor * 100) + '%');\n\n if (ev.fitType !== PCCViewer.FitType.FullWidth && ev.fitType !== PCCViewer.FitType.FullHeight && ev.fitType !== PCCViewer.FitType.FullPage && ev.fitType !== PCCViewer.FitType.ActualSize) {\n viewer.isFitTypeActive = false;\n viewer.viewerNodes.$fitContent.removeClass('pcc-active');\n } else {\n viewer.currentFitType = ev.fitType;\n viewer.isFitTypeActive = true;\n viewer.viewerNodes.$fitContent.addClass('pcc-active');\n }\n\n // If the viewer is at or beyond the maximum scale, and cannot be zoomed in any further, disable the Zoom In Tool\n if (viewer.viewerControl.getAtMaxScale()) {\n viewer.viewerNodes.$zoomIn.addClass(disabledClass);\n // Otherwise show the Zoom In Tool\n } else {\n if (viewer.viewerNodes.$zoomIn.hasClass(disabledClass)) {\n viewer.viewerNodes.$zoomIn.removeClass(disabledClass);\n }\n }\n\n // If the viewer is at or beyond the minimum scale, and cannot be zoomed out any further, disable the Zoom Out Tool\n if (viewer.viewerControl.getAtMinScale()){\n viewer.viewerNodes.$zoomOut.addClass(disabledClass);\n // Otherwise show the Zoom Out Tool\n } else {\n if (viewer.viewerNodes.$zoomOut.hasClass(disabledClass)) {\n viewer.viewerNodes.$zoomOut.removeClass(disabledClass);\n }\n }\n }\n\n // Viewer Ready event handler\n function viewerReadyHandler () {\n viewer.viewerReady = true;\n // pre-load signature fonts\n fontLoader.preLoad();\n commentUIManager.init({\n viewerControl: viewer.viewerControl,\n template: options.template.comment,\n language: PCCViewer.Language.data,\n commentDateFormat: options.commentDateFormat,\n button: viewer.viewerNodes.$commentsPanel,\n panel: viewer.$dom.find('.pccPageListComments'),\n mode: options.commentsPanelMode || 'auto',\n pageList: viewer.viewerNodes.$pageList\n });\n\n handleComparisonTools();\n\n viewer.$events.on('pagelistresize', function(ev, params){\n commentUIManager.updatePanel(params);\n });\n viewer.viewerNodes.$zoomLevel.html(Math.round(viewer.viewerControl.getScaleFactor() * 100) + '%');\n }\n\n // Viewing Session Changing handler\n function viewingSessionChangingHandler() {\n // Cancel current search to stop requesting server\n viewer.search.cancelAndClearSearchResults();\n if (viewer.viewerNodes.$piiDetectionDialog.hasClass('pcc-open')) {\n viewer.$dom.find('[data-pcc-toggle=\"dialog-pii-detection\"]:first').trigger('click');\n }\n }\n\n // Viewing Session Changed handler\n function viewingSessionChangedHandler() {\n viewer.viewerNodes.$pageSelect.val(viewer.viewerControl.pageNumber);\n\n // reset current mouse tool to the Pan tool\n viewer.viewerControl.setCurrentMouseTool('AccusoftPanAndEdit');\n viewer.viewerNodes.$panTool.click();\n\n if (viewer.viewerControl.redactionViewMode === PCCViewer.RedactionViewMode.Draft) {\n viewer.viewerNodes.$redactionViewMode.addClass('pcc-active');\n } else {\n viewer.viewerNodes.$redactionViewMode.removeClass('pcc-active');\n }\n\n viewer.imageStamp.refresh();\n viewer.eSignature.refresh();\n commentUIManager.refresh();\n viewer.imageToolsDropdownUI.refresh();\n viewer.search.refresh();\n viewer.annotationIo.refresh();\n viewer.annotationLayerReview.refresh();\n fileDownloadManager.refresh();\n\n scaleChangedHandler({\n scaleFactor: viewer.viewerControl.scaleFactor,\n fitType: viewer.isFitTypeActive ? viewer.currentFitType : null\n });\n }\n\n // MS Edge does not repaint certain elements properly whenever they change so\n // we are simply forcing the browser to repaint the element by hiding and showing it.\n // TODO: Follow up to see if in a future release of MS Edge we no longer need this code\n function edgeForceRepaintWorkaround(elem){\n var isEdge = !!navigator.userAgent.match('Edge');\n if (!isEdge) {\n return;\n }\n var originalDisplay = $(elem).get(0).style.display;\n setTimeout(function(){\n $(elem).hide().show(0, function(){\n $(elem).css('display', originalDisplay);\n });\n }, 5);\n }\n\n // Create the page list\n this.createPageList = function () {\n try {\n // Use the whole options object here.\n this.viewerControl = new PCCViewer.ViewerControl(viewer.viewerNodes.$pageList.get(0), viewer.viewerControlOptions);\n }\n catch (ex) {\n viewer.notify({ sticky: true, message: ex.message });\n viewer.viewerNodes.$pageList.hide();\n return;\n }\n\n // Attach the PageCountReady and estimated count ready events that would trigger further page adds\n this.viewerControl.on(PCCViewer.EventType.EstimatedPageCountReady, estimatedCountHandler);\n this.viewerControl.on(PCCViewer.EventType.PageCountReady, pageCountHandler);\n this.viewerControl.on(PCCViewer.EventType.PageLoadFailed, pageLoadFailedHandler);\n this.viewerControl.on(PCCViewer.EventType.PageChanged, pageChangedHandler);\n this.viewerControl.on(PCCViewer.EventType.MarkCreated, markCreatedHandler);\n this.viewerControl.on(PCCViewer.EventType.MarkChanged, markChangedHandler);\n this.viewerControl.on(PCCViewer.EventType.MarkSelectionChanged, markSelectionChangedHandler);\n this.viewerControl.on(PCCViewer.EventType.ScaleChanged, scaleChangedHandler);\n this.viewerControl.on(PCCViewer.EventType.ViewerReady, viewerReadyHandler);\n this.viewerControl.on(PCCViewer.EventType.PageTextReady, pageTextReadyHandler);\n this.viewerControl.on(PCCViewer.EventType.ViewingSessionChanging, viewingSessionChangingHandler);\n this.viewerControl.on(PCCViewer.EventType.ViewingSessionChanged, viewingSessionChangedHandler);\n this.viewerControl.documentHasText().then(documentHasTextResolved);\n \n // RAPIDREVIEW\n if (options.nextRequest.rapidReview) {\n customDraftRedactionListeners(viewer, options)\n }\n // END RAPIDREVIEW\n\n // Initialize the download options menu\n if (!(options.uiElements && options.uiElements.download === false)) {\n fileDownloadManager.init(this.viewerControl, options.template.downloadOverlay, PCCViewer.Language.data);\n }\n\n // Initialize the attachments manager\n if (options.uiElements && (options.uiElements.attachments === undefined || options.uiElements.attachments)) {\n attachmentManager.init(this.viewerControl, PCCViewer.Language.data);\n }\n\n // Initialize immediate action menu\n if (options.immediateActionMenuMode && options.immediateActionMenuMode.toLowerCase() !== \"off\") {\n immediateActionMenu.init({\n viewerControl: this.viewerControl,\n $overlay: viewer.viewerNodes.$overlay,\n $overlayFade: viewer.viewerNodes.$overlayFade,\n copyOverlay: options.template.copyOverlay,\n mode: options.immediateActionMenuMode,\n actions: this.immediateActionMenuActions,\n languageOptions: PCCViewer.Language.data,\n redactionReasons: viewer.redactionReasonsExtended,\n redactionReasonMenuTrigger: redactionReasonMenu.triggerMenu\n });\n }\n\n // Initialize the hyperlink menu\n hyperlinkMenu.init(this.viewerControl, PCCViewer.Language.data, options.template.hyperlinkMenu, getCurrentMouseToolType);\n\n // Initialize the redaction reason menu\n redactionReasonMenu.init(this.viewerControl, PCCViewer.Language.data, options.template.redactionReason, viewer.redactionReasons.reasons, viewer.redactionReasons.maxLengthFreeformRedactionReasons);\n\n // Initialize the thumbnail view\n viewer.thumbnailManager.init({\n viewerControl: this.viewerControl,\n container: viewer.viewerNodes.$thumbnailDialog,\n viewer: viewer.$dom,\n dom: viewer.viewerNodes.$thumbnailList\n });\n viewer.thumbnailManager.on('resize', function(ev, params){\n // Perform an offset on the PageList and fit if necessary\n toggleDialogOffset();\n if (viewer.isFitTypeActive === true) { viewer.viewerControl.fitContent(viewer.currentFitType); }\n });\n viewer.thumbnailManager.on('reset', function(ev){\n // remove the manual offset on the PageList and fit if necessary\n viewer.viewerNodes.$pageList.css('padding-left', '');\n if (viewer.isFitTypeActive === true) { viewer.viewerControl.fitContent(viewer.currentFitType); }\n });\n\n // Bind events to restore search highlights after text selection based mark created\n viewer.search.bindRestoringSearchHighlight();\n };\n\n // Destroy the viewer control\n this.destroy = function () {\n if (viewer.viewerControl) {\n viewer.viewerControl.destroy();\n delete viewer.viewerControl;\n }\n\n viewer.$dom.removeClass('pccv pcc-full-screen');\n viewer.$dom.removeData(DATAKEY);\n viewer.$dom.empty();\n\n // detach window resize callbacks\n _.each(windowResizeCallbacks, function(windowResizeCallback) {\n $(window).off('resize', windowResizeCallback);\n });\n\n windowResizeCallbacks = [];\n };\n\n //Generic object for making result views for search and revisions\n var genericView = {\n elem: function(type, opts){\n opts = opts || {};\n var elem = document.createElement(type || 'div');\n if (typeof opts.className === 'string') {\n elem.className = opts.className;\n }\n if (typeof opts.title === 'string') {\n elem.title = opts.title;\n }\n if (typeof opts.text !== 'undefined') {\n // Sanitize the text being inserted into the DOM\n elem.appendChild( document.createTextNode(opts.text.toString()) );\n }\n return elem;\n },\n pageNumber: function(number){\n return genericView.elem('div', { className: 'pcc-col-2 pcc-center', text: number });\n }\n };\n\n this.piiDetection = (function() {\n // The piiDetection module implements the UI control and API necessary\n // to implement the viewer's PII detection functionality. Module members that\n // are prefixed with private are only accessible with the module's scope while 'public'\n // means it can be access outside the module's scope.\n\n // The PII detection request object returned from the API.\n var piiDetectionRequest = {},\n\n // Current number of PII entities\n piiEntitiesCount = 0,\n\n // Current active entity ID\n activePiiEntityId,\n\n // Number of PII entities to show at a time,\n piiEntitiesPageLength = options.piiDetection && typeof options.piiDetection === 'object' && !isNaN(options.piiDetection.piiEntitiesPageLength) && options.piiDetection.piiEntitiesPageLength > 0 ? options.piiDetection.piiEntitiesPageLength : 250,\n\n // Toggleable elements\n $piiDetectionContainerToggles = viewer.$dom.find('[data-pcc-pii-entities-container-toggle]'),\n $piiDetectionContainers = viewer.$dom.find('[data-pcc-pii-entities-container]'),\n\n // Fragment containing all sorted PII entities, only a subset of these entities are ever added to the DOM\n allPiiEntitiesFragment = document.createDocumentFragment(),\n currentPiiEntityPageStartIndex = 0,\n activePiiEntityPageStartIndex,\n piiEntityIndexMap = {};\n\n var piiEntityView = _.clone(genericView);\n\n var getReadableType = function (piiEntityType) {\n var lowercaseWords = [];\n var words = piiEntityType.split(/(?=[A-Z])/);\n words.forEach(word => {\n lowercaseWords.push(word.toLowerCase());\n });\n return lowercaseWords.join(' ');\n };\n\n // This method creates and returns DOM for the PII entity\n piiEntityView.piiEntityBuild = function(piiEntity){\n var piiEntityItem,\n piiEntityId = piiEntity.id,\n piiEntityItem = piiEntityView.elem('div', { className: 'pcc-row' });\n\n piiEntityItem.setAttribute('data-pcc-pii-entity-id', piiEntityId);\n piiEntityItem.appendChild(piiEntityView.pageNumber(piiEntity.getPageNumber()));\n piiEntityItem.appendChild(piiEntityView.elem('div', {className: 'pcc-col-4 pcc-confined-text', text: piiEntity.getText(), title: piiEntity.getText()}));\n piiEntityItem.appendChild(piiEntityView.elem('div', {className: 'pcc-col-4', text: getReadableType(piiEntity.getType())}));\n piiEntityItem.appendChild(piiEntityView.elem('div', {className: 'pcc-col-2', text: `${piiEntity.getScore() * 100}%`}));\n\n // Add sorting parameters to the DOM element\n piiEntityItem.setAttribute('data-pcc-page-number', piiEntity.getPageNumber());\n piiEntityItem.setAttribute('data-pcc-sort-index', piiEntity.getStartIndexInPage());\n\n $(piiEntityItem).on('click', function (ev) {\n viewer.viewerControl.setSelectedPiiEntity(piiEntity, true);\n\n // set the active entity node\n activePiiEntityId = piiEntity.id;\n activePiiEntityPageStartIndex = currentPiiEntityPageStartIndex;\n\n // deselect a previously selected entity in the entity UI\n viewer.viewerNodes.$piiEntities.find('.pcc-row.pcc-active').removeClass('pcc-active');\n\n // select the new entity\n $(this).addClass('pcc-active');\n\n // update PII entity UI to reflect selection\n updatePiiEntityPrevNextButtons();\n updatePiiEntityCountText();\n\n // collapse the expanded panel\n viewer.viewerNodes.$piiDetectionDialog.removeClass('pcc-expand')\n // switch the active PII detection button to off state\n .find('[data-pcc-pii-entities-container-toggle=\"entities\"]').removeClass('pcc-active');\n\n viewer.viewerNodes.$piiRedact.removeClass('pcc-disabled');\n });\n\n allPiiEntitiesFragment.appendChild(piiEntityItem);\n return piiEntityItem;\n };\n\n $piiDetectionContainerToggles.on('click', function(ev){\n var $this = $(this),\n which = $this.data('pcc-pii-entities-container-toggle'),\n wasActive = $this.hasClass('pcc-active'),\n hideAllClass = 'pcc-hide pcc-hide-lg';\n\n if (wasActive) {\n // turn off this toggle\n $this.removeClass('pcc-active');\n\n viewer.viewerNodes.$piiDetectionDialog.removeClass('pcc-expand');\n } else {\n // turn on this toggle\n $piiDetectionContainerToggles.removeClass('pcc-active');\n $this.addClass('pcc-active');\n\n viewer.viewerNodes.$piiDetectionDialog.addClass('pcc-expand');\n }\n\n // toggle was flipped, so flip the bool\n var isActive = !wasActive;\n\n if (isActive) {\n\n // Hide all containers\n $piiDetectionContainers.addClass(hideAllClass);\n\n // Show current container\n $piiDetectionContainers.filter('[data-pcc-pii-entities-container=\"' + which + '\"]').removeClass(hideAllClass);\n\n\n } else {\n // Hide current container\n $piiDetectionContainers.filter('[data-pcc-pii-entities-container=\"' + which + '\"]').addClass(hideAllClass);\n }\n });\n\n viewer.viewerNodes.$piiEntityPrev.on('click', function (ev) {\n ev.preventDefault();\n previousPiiEntityClickHandler(this);\n\n });\n viewer.viewerNodes.$piiEntityNext.on('click', function (ev) {\n ev.preventDefault();\n nextPiiEntityClickHandler(this);\n });\n\n viewer.viewerNodes.$piiEntityPrevPage.on('click', function (ev) {\n ev.preventDefault();\n showPiiEntitySubset(currentPiiEntityPageStartIndex - piiEntitiesPageLength);\n });\n\n viewer.viewerNodes.$piiEntityNextPage.on('click', function (ev) {\n ev.preventDefault();\n showPiiEntitySubset(currentPiiEntityPageStartIndex + piiEntitiesPageLength);\n });\n\n // Selecting the Next button in the PII entity list causes the following entities to be selected and\n // displayed.\n var nextPiiEntityClickHandler = function (nextPiiEntityBtn) {\n if (piiEntitiesCount === 0 || $(nextPiiEntityBtn).attr('disabled')) {\n return false;\n }\n\n var piiEntities = viewer.viewerNodes.$piiEntities;\n var $activePiiEntity;\n\n if (activePiiEntityId === undefined) {\n $activePiiEntity = piiEntities.children(\":first\");\n $activePiiEntity.click();\n } else {\n if (activePiiEntityPageStartIndex !== currentPiiEntityPageStartIndex) {\n // Navigate to the page containing the active PII entity.\n showPiiEntitySubset(activePiiEntityPageStartIndex);\n }\n\n $activePiiEntity = piiEntities.find(\"[data-pcc-pii-entity-id='\" + activePiiEntityId + \"']\").next();\n\n if ($activePiiEntity.length) {\n activePiiEntityId = $activePiiEntity.attr('data-pcc-pii-entity-id');\n $activePiiEntity.click();\n piiEntities.scrollTop(piiEntities.scrollTop() + $activePiiEntity.position().top - 200);\n }\n else {\n showPiiEntitySubset(currentPiiEntityPageStartIndex + piiEntitiesPageLength);\n $activePiiEntity = $(piiEntities.children()[0]);\n activePiiEntityId = $activePiiEntity.attr('data-pcc-pii-entity-id');\n $activePiiEntity.click();\n }\n }\n };\n\n // Selecting the Previous button in the PII entity list causes the previous entity to be selected and\n // displayed.\n var previousPiiEntityClickHandler = function (previousPiiEntityBtn) {\n if (piiEntitiesCount === 0 || $(previousPiiEntityBtn).attr('disabled')) {\n return false;\n }\n\n var piiEntities = viewer.viewerNodes.$piiEntities;\n var $activePiiEntity;\n\n if (activePiiEntityId === undefined) {\n $activePiiEntity = piiEntities.children(\":last\");\n $activePiiEntity.click();\n } else {\n if (activePiiEntityPageStartIndex !== currentPiiEntityPageStartIndex) {\n // Navigate to the page containing the active PII entity.\n showPiiEntitySubset(activePiiEntityPageStartIndex);\n }\n\n $activePiiEntity = piiEntities.find(\"[data-pcc-pii-entity-id='\" + activePiiEntityId + \"']\").prev();\n\n if ($activePiiEntity.length) {\n activePiiEntityId = $activePiiEntity.attr('data-pcc-pii-entity-id');\n $activePiiEntity.click();\n piiEntities.scrollTop(piiEntities.scrollTop() + $activePiiEntity.position().top - 200);\n }\n else {\n showPiiEntitySubset(currentPiiEntityPageStartIndex - piiEntitiesPageLength);\n piiEntities.scrollTop(piiEntities.prop('scrollHeight'));\n $activePiiEntity = $(piiEntities.children()[piiEntitiesPageLength - 1]);\n activePiiEntityId = $activePiiEntity.attr('data-pcc-pii-entity-id');\n $activePiiEntity.click();\n }\n }\n };\n\n var getActivePiiEntityIndex = function () {\n return piiEntityIndexMap[activePiiEntityId];\n };\n\n // This function manages the state of the Previous and Next navigation buttons in the PII entity list.\n var updatePiiEntityPrevNextButtons = function () {\n var activePiiEntityIndex = getActivePiiEntityIndex();\n var hasNextResult = activePiiEntityIndex < piiEntitiesCount - 1;\n var hasPrevResult = activePiiEntityIndex > 0;\n if (hasNextResult) {\n viewer.viewerNodes.$piiEntityNext.removeAttr('disabled');\n }\n else {\n viewer.viewerNodes.$piiEntityNext.attr('disabled', 'disabled');\n }\n\n if (hasPrevResult) {\n viewer.viewerNodes.$piiEntityPrev.removeAttr('disabled');\n }\n else {\n viewer.viewerNodes.$piiEntityPrev.attr('disabled', 'disabled');\n }\n };\n\n // Updates the text to display entities count and currently selected entity index\n var updatePiiEntityCountText = function() {\n if (activePiiEntityId !== undefined) {\n var index = getActivePiiEntityIndex();\n viewer.viewerNodes.$piiEntityCount.html(PCCViewer.Language.data.piiEntity + (index + 1) + ' / ' + piiEntitiesCount);\n } else {\n var piiEntitiesVerbiage = (piiEntitiesCount === 1) ? PCCViewer.Language.data.piiEntityFound : PCCViewer.Language.data.piiEntitiesFound;\n viewer.viewerNodes.$piiEntityCount.html(piiEntitiesCount + ' ' + piiEntitiesVerbiage);\n }\n }\n\n // This method re-creates entities list to display PII entities from startIndex\n // to the last available entity, but no more than piiEntitiesPageLength entities.\n var showPiiEntitySubset = function (startIndex) {\n var indexChanged = (startIndex !== currentPiiEntityPageStartIndex);\n currentPiiEntityPageStartIndex = startIndex;\n\n if (currentPiiEntityPageStartIndex > 0) {\n viewer.viewerNodes.$piiEntityPrevPage.removeAttr('disabled');\n }\n else {\n viewer.viewerNodes.$piiEntityPrevPage.attr('disabled', 'disabled');\n }\n\n var allPiiEntityChildren = allPiiEntitiesFragment.childNodes;\n var endIndex;\n if (piiEntitiesCount > currentPiiEntityPageStartIndex + piiEntitiesPageLength) {\n viewer.viewerNodes.$piiEntityNextPage.removeAttr('disabled');\n endIndex = currentPiiEntityPageStartIndex + piiEntitiesPageLength;\n }\n else {\n viewer.viewerNodes.$piiEntityNextPage.attr('disabled', 'disabled');\n endIndex = piiEntitiesCount;\n }\n\n if (indexChanged || viewer.viewerNodes.$piiEntities.children().length < piiEntitiesPageLength) {\n var scrollTop = viewer.viewerNodes.$piiEntities.scrollTop();\n var subsetFragment = document.createDocumentFragment();\n\n // Clone the PII entities that should be showing currently.\n for (var i = currentPiiEntityPageStartIndex; i < endIndex; i++) {\n var subsetPiiEntities = $(allPiiEntityChildren[i]).clone(true);\n subsetFragment.appendChild(subsetPiiEntities[0]);\n }\n\n viewer.viewerNodes.$piiEntities.empty();\n viewer.viewerNodes.$piiEntities.append(subsetFragment);\n viewer.viewerNodes.$piiEntities.scrollTop(0);\n\n viewer.viewerNodes.$piiEntities.find('.pcc-row:even').removeClass('pcc-odd');\n viewer.viewerNodes.$piiEntities.find('.pcc-row:odd').addClass('pcc-odd');\n\n if (activePiiEntityId !== undefined) {\n var $activePiiEntity = viewer.viewerNodes.$piiEntities.find(\"[data-pcc-pii-entity-id='\" + activePiiEntityId + \"']\");\n if ($activePiiEntity.length) {\n $activePiiEntity.addClass('pcc-active');\n viewer.viewerNodes.$piiEntities.scrollTop(scrollTop);\n }\n if (allPiiEntitiesFragment.childNodes.length > activePiiEntityPageStartIndex + piiEntitiesPageLength && activePiiEntityPageStartIndex > 0) {\n updatePiiEntityPrevNextButtons();\n }\n }\n }\n\n updatePiiEntityCountText();\n };\n\n // As PII entities are returned to the viewer, this function can update the progress bar as well as\n // display a text message reflecting the status of the PII detection.\n var updateStatusUi = function (msg, showLoader, barWidth) {\n if (msg.length) {\n viewer.viewerNodes.$piiEntityCount.html(msg);\n parseIcons(viewer.viewerNodes.$piiEntityCount);\n }\n\n if (typeof showLoader === 'boolean' && showLoader === true) {\n viewer.viewerNodes.$piiEntitiesContainer.addClass('pcc-loading');\n viewer.viewerNodes.$piiDetectionStatus.show();\n } else {\n viewer.viewerNodes.$piiEntitiesContainer.removeClass('pcc-loading');\n viewer.viewerNodes.$piiDetectionStatus.hide();\n }\n\n if (typeof barWidth === 'number') {\n if (barWidth < 0) {\n barWidth = 0;\n } else if (barWidth > 100) {\n barWidth = 100;\n }\n\n viewer.$dom.find('.pcc-row-pii-entities-status .pcc-bar').css('width', barWidth + '%');\n }\n };\n\n // Sorts an array of live DOM elements (already in the DOM)\n // It will also work with a jQuery-wrapped array\n var sortDOM = (function(){\n var sort = [].sort;\n\n return function(elems, comparator) {\n // Sort the elements.\n // Make sure to get the pure elements array out of the jQuery wrapper.\n var sortCollection = sort.call($(elems).get(), comparator);\n\n // Check to make sure we have items in the collection\n if (sortCollection.length === 0) {\n return;\n }\n\n // Save the first element, and insert it as the first\n var prev = sortCollection.shift();\n var piiEntityId = prev.getAttribute('data-pcc-pii-entity-id');\n piiEntityIndexMap[piiEntityId] = 0;\n $(prev).insertBefore(prev.parentNode.firstChild);\n\n // Insert the rest of the elements in order\n $(sortCollection).each(function(i, el) {\n piiEntityId = el.getAttribute('data-pcc-pii-entity-id');\n piiEntityIndexMap[piiEntityId] = i + 1;\n el.parentNode.insertBefore(el, prev.nextSibling);\n prev = el;\n });\n };\n })();\n\n // Adds new PII entities chunk to the PII entities panel.\n function addPiiEntities(piiEntities) {\n piiEntities.forEach(function(piiEntity) {\n piiEntityView.piiEntityBuild(piiEntity);\n });\n piiEntitiesCount += piiEntities.length;\n\n var allResultsChildren = allPiiEntitiesFragment.childNodes;\n\n // Sort the live DOM elements\n sortDOM(allResultsChildren, function(a, b) {\n function getDataFromAttributes($e) {\n return {\n pccPageNumber : $e.attr(\"data-pcc-page-number\"),\n pccSortIndex : $e.attr(\"data-pcc-sort-index\")\n };\n }\n\n // get the data attributes out of the DOM\n var aData = getDataFromAttributes($(a));\n var bData = getDataFromAttributes($(b));\n\n // sort based on the sorting attributes\n return (aData.pccPageNumber !== bData.pccPageNumber) ? aData.pccPageNumber - bData.pccPageNumber :\n (aData.pccSortIndex !== bData.pccSortIndex) ? aData.pccSortIndex - bData.pccSortIndex : 0;\n });\n\n if (activePiiEntityId !== undefined) {\n var activeIndexAfterSort = getActivePiiEntityIndex();\n activePiiEntityPageStartIndex = Math.floor((activeIndexAfterSort + 1) / piiEntitiesPageLength) * piiEntitiesPageLength;\n }\n showPiiEntitySubset(activePiiEntityPageStartIndex || 0);\n }\n\n var detectPii = function () {\n viewer.$dom.find('.pcc-row-pii-entities-status').removeClass('pcc-done');\n\n // clear PII entities DOM\n reset();\n\n updateStatusUi(PCCViewer.Language.data.piiDetecting, true, 0);\n\n piiDetectionRequest = viewer.viewerControl.detectPii();\n\n piiDetectionRequest.on('PartialPiiAvailable', partialPiiHandler);\n piiDetectionRequest.on('PiiDetectionCompleted', piiDetectionCompletedHandler);\n piiDetectionRequest.on('PiiDetectionFailed', piiDetectionFailedHandler);\n piiDetectionRequest.on('PiiAvailable', piiAvailableHandler);\n\n // Show the PII entities panel, so user can see PII entities start to come in\n viewer.viewerNodes.$piiEntitiesContainer.addClass('pcc-show-lg');\n };\n\n // Detaches all event associated with detecting PII.\n var unhookPiiDetectionEvents = function () {\n if (piiDetectionRequest instanceof PCCViewer.PiiDetectionRequest) {\n piiDetectionRequest.off('PartialPiiAvailable', partialPiiHandler);\n piiDetectionRequest.off('PiiDetectionCompleted', piiDetectionCompletedHandler);\n piiDetectionRequest.off('PiiDetectionFailed', piiDetectionFailedHandler);\n piiDetectionRequest.off('PiiAvailable', piiAvailableHandler);\n }\n };\n\n // Triggered when a partial set of PII entities is available. This triggers one final time before the\n // PII detection completes.\n var partialPiiHandler = function (ev) {\n addPiiEntities(ev.partialPiiEntities);\n\n var lastPiiEntity = ev.partialPiiEntities.length > 0 ? ev.partialPiiEntities[ev.partialPiiEntities.length - 1] : null;\n\n if (lastPiiEntity) {\n var piiEntitiesVerbiage = (piiEntitiesCount === 1) ? PCCViewer.Language.data.piiEntityFound : PCCViewer.Language.data.piiEntitiesFound;\n updateStatusUi(piiEntitiesCount + ' ' + piiEntitiesVerbiage, true, 100 * (lastPiiEntity.getPageNumber() / viewer.pageCount));\n viewer.viewerNodes.$piiEntityNext.removeAttr('disabled');\n }\n };\n\n // Triggered when PII detection has completed due to failure, abort, or when the full set of PII entities is available.\n var piiDetectionCompletedHandler = function (ev) {\n unhookPiiDetectionEvents();\n\n var piiEntitiesVerbiage = (piiEntitiesCount === 0) ? PCCViewer.Language.data.nothingFound : '',\n pagesWithoutTextMsg = '',\n countPagesWithoutText, pagesWithoutTextWarning = '';\n\n updateStatusUi(piiEntitiesVerbiage, false, 100);\n\n viewer.viewerNodes.$piiDetectionStatus.addClass('pcc-done');\n\n viewer.viewerNodes.$piiEntitiesContainer.addClass('pcc-show-lg');\n\n countPagesWithoutText = piiDetectionRequest.getPagesWithoutText ? piiDetectionRequest.getPagesWithoutText().length : 0;\n\n if (viewer.pageCount === countPagesWithoutText) {\n var currentPiiDetectionStatusWording = viewer.viewerNodes.$piiEntityCount.html();\n\n pagesWithoutTextWarning = currentPiiDetectionStatusWording + ''\n .replace('{{MSG}}', PCCViewer.Language.data.noSearchableText);\n } else if (countPagesWithoutText > 0) {\n var currentPiiDetectionStatusWording = viewer.viewerNodes.$piiEntityCount.html();\n\n pagesWithoutTextMsg = countPagesWithoutText + ' ' + PCCViewer.Language.data.cannotSearch;\n\n pagesWithoutTextWarning = currentPiiDetectionStatusWording + ''\n .replace('{{MSG}}', pagesWithoutTextMsg);\n }\n\n if (pagesWithoutTextWarning.length) {\n updateStatusUi(pagesWithoutTextWarning, false, 100);\n }\n };\n\n // Triggered when the PII detection has completed due to failure.\n var piiDetectionFailedHandler = function (ev) {\n var msg = PCCViewer.Language.data.piiDetectionError + piiDetectionRequest.getErrorMessage();\n\n unhookPiiDetectionEvents();\n updateStatusUi(PCCViewer.Language.data.piiDetectionFailed, false, 100);\n\n viewer.notify({\n message: msg\n });\n };\n\n // Triggered when the PII detection has completed because the full set of PII entities is available.\n var piiAvailableHandler = function () {\n updateStatusUi('', false, 100);\n };\n\n viewer.$dom.find('.pcc-pii-detection-header').on('click', '[data-pcc-pii-detection=msg]', function () {\n viewer.notify({\n message: this.getAttribute('data-msg')\n });\n });\n\n viewer.viewerNodes.$piiRedact.on('click', function (ev) {\n var selectedPiiEntity = viewer.viewerControl.getSelectedPiiEntity();\n viewer.viewerControl.addMarkFromTextSelection(selectedPiiEntity, PCCViewer.Mark.Type.TextSelectionRedaction);\n });\n\n var reset = function () {\n unhookPiiDetectionEvents();\n piiDetectionRequest = {};\n viewer.viewerControl.clearPiiDetection();\n viewer.viewerNodes.$piiEntities.empty();\n piiEntitiesCount = 0;\n activePiiEntityId = undefined;\n currentPiiEntityPageStartIndex = 0;\n viewer.viewerNodes.$piiEntityPrev.attr('disabled', 'disabled');\n viewer.viewerNodes.$piiEntityNext.attr('disabled', 'disabled');\n viewer.viewerNodes.$piiEntityPrevPage.attr('disabled', 'disabled');\n viewer.viewerNodes.$piiEntityNextPage.attr('disabled', 'disabled');\n viewer.viewerNodes.$piiRedact.addClass('pcc-disabled');\n $(allPiiEntitiesFragment).children().off();\n while (allPiiEntitiesFragment.firstChild) {\n allPiiEntitiesFragment.removeChild(allPiiEntitiesFragment.firstChild);\n }\n };\n\n // The publicly accessible methods for the piiDetection module\n return {\n reset,\n detectPii\n };\n })();\n\n this.ai = (function() {\n var summary = '';\n var queryResponse = '';\n var documentTagged = false;\n var documentClassified = false;\n\n var summarizeDocument = function() {\n if (summary.length > 0) {\n return;\n }\n if (options.documentSummarization && typeof options.documentSummarization === 'object' && typeof options.documentSummarization.defaultDocumentSummarization === 'string') {\n summary = options.documentSummarization.defaultDocumentSummarization;\n displaySummary();\n return;\n }\n requestDocumentSummary();\n }\n\n var requestDocumentSummary = function() {\n viewer.viewerNodes.$summary.text(PCCViewer.Language.data.summarizingDocument);\n var documentSummarizationRequest = viewer.viewerControl.summarizeDocument();\n documentSummarizationRequest.on(PCCViewer.EventType.DocumentSummarizationCompleted, function(ev) {\n if (documentSummarizationRequest.getErrorMessage()) {\n summary = '';\n viewer.viewerNodes.$regenerateSummary.removeClass('pcc-hide');\n viewer.viewerNodes.$summary.text(PCCViewer.Language.data.summarizationError);\n } else {\n summary = ev.documentSummarization;\n displaySummary();\n }\n });\n };\n\n var displaySummary = function() {\n viewer.viewerNodes.$copySummary.removeClass('pcc-hide');\n viewer.viewerNodes.$regenerateSummary.removeClass('pcc-hide');\n viewer.viewerNodes.$summary.text(summary);\n };\n\n viewer.viewerNodes.$copySummary.on('click', function() {\n if (summary) {\n navigator.clipboard.writeText(summary).then(function() {\n viewer.notify({\n message: PCCViewer.Language.data.summaryCopied,\n type: 'success'\n });\n }, function() {\n viewer.notify({\n message: PCCViewer.Language.data.summaryCopyError,\n type: 'failure'\n });\n });\n }\n });\n\n viewer.viewerNodes.$regenerateSummary.on('click', function() {\n requestDocumentSummary();\n });\n\n viewer.viewerNodes.$query.on('keypress', function(ev) {\n if (ev.which === 13) {\n queryDocument();\n ev.preventDefault();\n }\n });\n\n var queryDocument = function() {\n var query = viewer.viewerNodes.$query.val();\n if (query === '') {\n return;\n }\n viewer.viewerNodes.$queryResponse.text(PCCViewer.Language.data.queryingDocument);\n var documentQueryRequest = viewer.viewerControl.queryDocument(query);\n documentQueryRequest.on(PCCViewer.EventType.DocumentQueryCompleted, function(ev) {\n if (documentQueryRequest.getErrorMessage()) {\n queryResponse = '';\n viewer.viewerNodes.$copyQueryResponse.removeClass('pcc-hide');\n viewer.viewerNodes.$queryResponse.text(PCCViewer.Language.data.queryError);\n } else {\n queryResponse = ev.response;\n displayQuery();\n }\n });\n }\n\n var displayQuery = function() {\n viewer.viewerNodes.$copyQueryResponse.removeClass('pcc-hide');\n viewer.viewerNodes.$queryResponse.text(queryResponse);\n };\n\n viewer.viewerNodes.$copyQueryResponse.on('click', function() {\n if (queryResponse) {\n navigator.clipboard.writeText(queryResponse).then(function() {\n viewer.notify({\n message: PCCViewer.Language.data.queryResponseCopied,\n type: 'success'\n });\n }, function() {\n viewer.notify({\n message: PCCViewer.Language.data.queryResponseCopyError,\n type: 'failure'\n });\n });\n }\n });\n\n var classifyDocument = function() { \n if (documentClassified) {\n return;\n }\n documentClassified = true;\n\n var addClassificationOther = function(i) {\n var classificationEl = document.createElement('div');\n classificationEl.style = 'margin-bottom: 4px;';\n classificationEl.setAttribute('data-pcc-classification', i);\n classificationEl.onclick = function() {\n $(classificationEl).addClass('pcc-hide');\n addClassification(i);\n if (viewer.viewerNodes.$classificationOther.find('div.pcc-hide').length === classifications.length) {\n $(viewer.viewerNodes.$classificationOtherTitle).addClass('pcc-hide');\n }\n };\n var classificationCheckbox = document.createElement('div');\n classificationCheckbox.classList.add('pcc-checkbox');\n classificationCheckbox.setAttribute('data-pcc-checkbox', '');\n classificationEl.append(classificationCheckbox);\n var classificationCheck = document.createElement('span');\n classificationCheck.classList.add('pcc-icon');\n classificationCheck.classList.add('pcc-icon-check');\n classificationCheckbox.append(classificationCheck);\n classificationEl.append(document.createTextNode(` ${classifications[i]}`));\n parseIcons($(classificationEl));\n viewer.viewerNodes.$classificationOther.append(classificationEl);\n };\n\n var addClassification = function(i) {\n var text = classifications[i];\n if (viewer.viewerNodes.$classifications.children().length === 0) {\n viewer.viewerNodes.$classifications.empty();\n }\n var classificationEl = document.createElement('div');\n classificationEl.style = 'margin-bottom: 4px;';\n classificationEl.setAttribute('data-pcc-classification', i);\n classificationEl.onclick = function() {\n $(classificationEl).remove();\n var classificationId = classificationEl.getAttribute('data-pcc-classification');\n viewer.viewerNodes.$classificationOther.find(`[data-pcc-classification=\"${classificationId}\"]`).removeClass('pcc-hide');\n if (viewer.viewerNodes.$classifications.children().length === 0) {\n viewer.viewerNodes.$classifications.text(PCCViewer.Language.data.noneSelected);\n }\n $(viewer.viewerNodes.$classificationOtherTitle).removeClass('pcc-hide');\n };\n var classificationCheckbox = document.createElement('div');\n classificationCheckbox.classList.add('pcc-checkbox');\n classificationCheckbox.classList.add('pcc-checked');\n classificationCheckbox.setAttribute('data-pcc-checkbox', '');\n classificationEl.append(classificationCheckbox);\n var classificationCheck = document.createElement('span');\n classificationCheck.classList.add('pcc-icon');\n classificationCheck.classList.add('pcc-icon-check');\n classificationCheckbox.append(classificationCheck);\n classificationEl.append(document.createTextNode(` ${text}`));\n parseIcons($(classificationEl));\n viewer.viewerNodes.$classifications.append(classificationEl);\n };\n\n var classifications = options.documentClassification.classifications;\n for (var i = 0; i < classifications.length; i++) {\n addClassificationOther(i);\n }\n\n var documentClassificationRequest = viewer.viewerControl.classifyDocument(classifications);\n documentClassificationRequest.on(PCCViewer.EventType.DocumentClassificationCompleted, function(ev) {\n if (documentClassificationRequest.getErrorMessage() || ev.documentClassification === '') {\n viewer.viewerNodes.$classifications.text(PCCViewer.Language.data.classificationError);\n } else {\n var classification = ev.documentClassification;\n viewer.viewerNodes.$classifications.empty();\n var i = 0;\n for (i = 0; i < classifications.length; i++) {\n if (classifications[i].toLowerCase() === classification.toLowerCase()) {\n break;\n }\n }\n viewer.viewerNodes.$classificationOther.find(`[data-pcc-classification=\"${i}\"]`).addClass('pcc-hide');\n addClassification(i);\n }\n });\n }\n\n var tagDocument = function() {\n if (documentTagged) {\n return;\n }\n\n var tags;\n\n var addTagOther = function(i, hide) {\n var tagEl = document.createElement('div');\n tagEl.style = 'margin-bottom: 4px;';\n tagEl.setAttribute('data-pcc-tag', i);\n if (hide) {\n $(tagEl).addClass('pcc-hide');\n }\n tagEl.onclick = function() {\n $(tagEl).addClass('pcc-hide');\n addTag(i);\n if (viewer.viewerNodes.$tagsOther.find('div.pcc-hide').length === tags.length) {\n $(viewer.viewerNodes.$tagsOtherTitle).addClass('pcc-hide');\n }\n };\n var tagCheckbox = document.createElement('div');\n tagCheckbox.classList.add('pcc-checkbox');\n tagCheckbox.setAttribute('data-pcc-checkbox', '');\n tagEl.append(tagCheckbox);\n var tagCheck = document.createElement('span');\n tagCheck.classList.add('pcc-icon');\n tagCheck.classList.add('pcc-icon-check');\n tagCheckbox.append(tagCheck);\n tagEl.append(document.createTextNode(` ${tags[i]}`));\n parseIcons($(tagEl));\n viewer.viewerNodes.$tagsOther.append(tagEl);\n };\n\n var addTag = function(i) {\n var text = tags[i];\n if (viewer.viewerNodes.$tags.children().length === 0) {\n viewer.viewerNodes.$tags.empty();\n }\n var tagEl = document.createElement('div');\n tagEl.style = 'margin-bottom: 4px;';\n tagEl.setAttribute('data-pcc-tag', i);\n tagEl.onclick = function() {\n $(tagEl).remove();\n var tagId = tagEl.getAttribute('data-pcc-tag');\n viewer.viewerNodes.$tagsOther.find(`[data-pcc-tag=\"${tagId}\"]`).removeClass('pcc-hide');\n if (viewer.viewerNodes.$tags.children().length === 0) {\n viewer.viewerNodes.$tags.text(PCCViewer.Language.data.noneSelected);\n }\n $(viewer.viewerNodes.$tagsOtherTitle).removeClass('pcc-hide');\n };\n var tagCheckbox = document.createElement('div');\n tagCheckbox.classList.add('pcc-checkbox');\n tagCheckbox.classList.add('pcc-checked');\n tagCheckbox.setAttribute('data-pcc-checkbox', '');\n tagEl.append(tagCheckbox);\n var tagCheck = document.createElement('span');\n tagCheck.classList.add('pcc-icon');\n tagCheck.classList.add('pcc-icon-check');\n tagCheckbox.append(tagCheck);\n tagEl.append(document.createTextNode(` ${text}`));\n parseIcons($(tagEl));\n viewer.viewerNodes.$tags.append(tagEl);\n };\n\n documentTagged = true;\n var documentTagRequest = viewer.viewerControl.tagDocument();\n documentTagRequest.on(PCCViewer.EventType.DocumentTagCompleted, function(ev) {\n if (documentTagRequest.getErrorMessage()) {\n viewer.viewerNodes.$tags.text(PCCViewer.Language.data.taggingError);\n } else {\n tags = ev.documentTags;\n if (!(tags instanceof Array) || tags.length === 0) {\n viewer.viewerNodes.$tags.text(PCCViewer.Language.data.tagsNotFound);\n return;\n }\n for (var i = 0; i < tags.length; i++) {\n addTag(i);\n addTagOther(i, true);\n }\n }\n });\n }\n\n // The publicly accessible methods for the AI module\n return {\n classifyDocument,\n queryDocument,\n summarizeDocument,\n tagDocument\n };\n })();\n\n this.revision = (function() {\n // The revision module implements the UI control and API necessary\n // to implement the viewer's document comparision functionality. Module members that\n // are prefixed with private are only accessible with the module's scope while 'public'\n // means it can be access outside the module's scope\n\n // Current number of revisions\n var revisionsCount = 0,\n\n // An array of revision results\n revisions = [],\n\n // Current active revision ID\n activeRevisionId,\n\n // Number of revisions to show at a time,\n revisionsPageLength = !isNaN(options.revisionsPageLength) && options.revisionsPageLength > 0 ? options.revisionsPageLength : 250,\n\n // Use jQuery events to subscribe and trigger events internal to revision\n $event = $({}),\n\n // Toggleable elements\n $revisionContainerToggles = viewer.$dom.find('[data-pcc-revision-container-toggle]'),\n $revisionContainers = viewer.$dom.find('[data-pcc-revision-container]'),\n\n // Fragment containing all sorted revisions, only a subset of these results are ever added to the DOM\n allRevisionsFragment = document.createDocumentFragment(),\n currentRevisionPageStartIndex = 0,\n activeRevisionPageStartIndex;\n\n var revisionView = _.clone(genericView);\n\n // This method creates and returns DOM for the revision item\n revisionView.revisionBuild = function(revision){\n var revisionItem,\n revisionType,\n // get the lowercase version of the revision type so we can use it as a key for reference\n revisionTypeKey = revision.type.charAt(0).toLowerCase() + revision.type.slice(1),\n icon,\n revisionId = revision.id,\n revisionTypeIcons = {\n 'contentInserted': 'pencil-add',\n 'contentDeleted': 'pencil-subtract',\n 'propertyChanged': 'pencil',\n 'paragraphNumberChanged': 'pencil',\n 'fieldDisplayChanges': 'pencil',\n 'revisionMarkedAsReconciledConflict': 'pencil',\n 'revisionMarkedAsConflict': 'pencil',\n 'styleChanged': 'pencil',\n 'contentReplaced': 'pencil',\n 'paragraphPropertyChanged': 'pencil',\n 'tablePropertyChanged': 'pencil',\n 'sectionPropertyChanged': 'pencil',\n 'styleDefinitionChanged': 'pencil',\n 'contentMovedFrom': 'pencil',\n 'contentMovedTo': 'pencil',\n 'tableCellInserted': 'pencil-add',\n 'tableCellDeleted': 'pencil-subtract',\n 'tableCellsMerged': 'pencil',\n 'unknown': 'unknown'\n };\n\n icon = revisionTypeIcons[revisionTypeKey];\n revisionType = PCCViewer.Language.data.revisionTypes[revisionTypeKey];\n revisionItem = revisionView.elem('div', { className: 'pcc-row' });\n\n revisionItem.setAttribute('data-pcc-revision-id', revisionId);\n revisionItem.appendChild(revisionView.pageNumber(revision.getEndPageNumber()));\n revisionItem.appendChild(revisionView.elem('div', {className: 'pcc-col-8', text: revisionType}));\n revisionItem.appendChild(revisionView.typeIcon(icon));\n parseIcons($(revisionItem));\n\n $(revisionItem).on('click', function (ev) {\n $event.trigger('selectRevision', {\n type: 'revision',\n result: revision,\n node: this\n });\n\n viewer.viewerControl.setPageNumber(revision.getEndPageNumber());\n });\n\n allRevisionsFragment.appendChild(revisionItem);\n return revisionItem;\n };\n\n revisionView.typeIcon = function(icon){\n return genericView.elem('div', { className: 'pcc-icon pcc-icon-' + icon });\n };\n\n $revisionContainerToggles.on('click', function(ev){\n var $this = $(this),\n which = $this.data('pcc-revision-container-toggle'),\n wasActive = $this.hasClass('pcc-active'),\n hideAllClass = 'pcc-hide pcc-hide-lg';\n\n if (wasActive) {\n // turn off this toggle\n $this.removeClass('pcc-active');\n\n viewer.viewerNodes.$revisionDialog.removeClass('pcc-expand');\n } else {\n // turn on this toggle\n $revisionContainerToggles.removeClass('pcc-active');\n $this.addClass('pcc-active');\n\n viewer.viewerNodes.$revisionDialog.addClass('pcc-expand');\n }\n\n // toggle was flipped, so flip the bool\n var isActive = !wasActive;\n\n if (isActive) {\n\n // Hide all containers\n $revisionContainers.addClass(hideAllClass);\n\n // Show current container\n $revisionContainers.filter('[data-pcc-revision-container=\"' + which + '\"]').removeClass(hideAllClass);\n\n\n } else {\n\n // Hide current container\n $revisionContainers.filter('[data-pcc-revision-container=\"' + which + '\"]').addClass(hideAllClass);\n }\n });\n\n viewer.viewerNodes.$revisionPrevPage.on('click', function (ev) {\n ev.preventDefault();\n showRevisionSubset(currentRevisionPageStartIndex - revisionsPageLength);\n });\n viewer.viewerNodes.$revisionNextPage.on('click', function (ev) {\n ev.preventDefault();\n showRevisionSubset(currentRevisionPageStartIndex + revisionsPageLength);\n });\n\n $event.on('selectRevision', function(ev, data){\n // set the active revision node\n var $activeRevision = $(data.node);\n activeRevisionId = data.result.id;\n\n activeRevisionPageStartIndex = currentRevisionPageStartIndex;\n\n // deselect a previously selected result in the revision UI\n viewer.viewerNodes.$revisions.find('.pcc-row.pcc-active').removeClass('pcc-active');\n\n // select the new result\n $activeRevision.addClass('pcc-active');\n\n // deselect any comment that may have been selected from a previous result\n $event.trigger('deselectPreviousRevision');\n\n // update revision UI to reflect selection\n updateRevisionPrevNextButtons();\n updateRevisionCountText();\n\n // collapse the expanded panel\n viewer.viewerNodes.$revisionDialog.removeClass('pcc-expand')\n // switch the active results button to off state\n .find('[data-pcc-revision-container-toggle=\"results\"]').removeClass('pcc-active');\n });\n\n // Selecting the Next button in the revision result list causes the following revisions to be selected and\n // displayed.\n var nextRevisionClickHandler = function (nextResultBtn) {\n if (revisionsCount === 0 || $(nextResultBtn).attr('disabled')) {\n return false;\n }\n\n var results = viewer.viewerNodes.$revisions;\n var $activeRevision;\n\n if (activeRevisionId === undefined) {\n $activeRevision = results.children(\":first\");\n $activeRevision.click();\n } else {\n if (activeRevisionPageStartIndex !== currentRevisionPageStartIndex) {\n // Navigate to the page containing the active search result.\n showRevisionSubset(activeRevisionPageStartIndex);\n }\n\n $activeRevision = results.find(\"[data-pcc-revision-id='\" + activeRevisionId + \"']\").next();\n\n if ($activeRevision.length) {\n activeRevisionId = $activeRevision.attr('data-pcc-revision-id');\n $activeRevision.click();\n results.scrollTop(results.scrollTop() + $activeRevision.position().top - 200);\n }\n else {\n showRevisionSubset(currentRevisionPageStartIndex + revisionsPageLength);\n $activeRevision = $(results.children()[0]);\n activeRevisionId = $activeRevision.attr('data-pcc-revision-id');\n $activeRevision.click();\n }\n }\n };\n\n // Selecting the Previous button in the revision list causes the previous revision to be selected and\n // displayed.\n var previousRevisionClickHandler = function (previousResultBtn) {\n if (revisionsCount === 0 || $(previousResultBtn).attr('disabled')) {\n return false;\n }\n\n var revisions = viewer.viewerNodes.$revisions;\n var $activeRevision;\n\n if (activeRevisionId === undefined) {\n $activeRevision = revisions.children(\":last\");\n $activeRevision.click();\n } else {\n if (activeRevisionPageStartIndex !== currentRevisionPageStartIndex) {\n // Navigate to the page containing the active search result.\n showRevisionSubset(activeRevisionPageStartIndex);\n }\n\n $activeRevision = revisions.find(\"[data-pcc-revision-id='\" + activeRevisionId + \"']\").prev();\n\n if ($activeRevision.length) {\n activeRevisionId = $activeRevision.attr('data-pcc-revision-id');\n $activeRevision.click();\n revisions.scrollTop(revisions.scrollTop() + $activeRevision.position().top - 200);\n }\n else {\n showRevisionSubset(currentRevisionPageStartIndex - revisionsPageLength);\n revisions.scrollTop(revisions.prop('scrollHeight'));\n $activeRevision = $(revisions.children()[revisionsPageLength - 1]);\n activeRevisionId = $activeRevision.attr('data-pcc-revision-id');\n $activeRevision.click();\n }\n }\n };\n\n // This function manages the state of the Previous and Next navigation buttons in the revision list.\n var updateRevisionPrevNextButtons = function () {\n var hasNextResult = activeRevisionId < revisionsCount - 1;\n var hasPrevResult = activeRevisionId > 0;\n if (hasNextResult) {\n viewer.viewerNodes.$revisionNextItem.removeAttr('disabled');\n }\n else {\n viewer.viewerNodes.$revisionNextItem.attr('disabled', 'disabled');\n }\n\n if (hasPrevResult) {\n viewer.viewerNodes.$revisionPrevItem.removeAttr('disabled');\n }\n else {\n viewer.viewerNodes.$revisionPrevItem.attr('disabled', 'disabled');\n }\n };\n\n // Updates the text to display revisions count and currently selected revision index\n var updateRevisionCountText = function() {\n if (activeRevisionId !== undefined) {\n var index = activeRevisionId + 1;\n viewer.viewerNodes.$revisionCount.html(PCCViewer.Language.data.change + index + ' / ' + revisionsCount);\n } else {\n var revisionsVerbiage = (revisionsCount === 1) ? PCCViewer.Language.data.changeFound : PCCViewer.Language.data.changesFound;\n viewer.viewerNodes.$revisionCount.html(revisionsCount + ' ' + revisionsVerbiage);\n }\n }\n\n // This method re-creates revisions list to display revisions from startIndex\n // to the last available revision, but no more than revisionsPageLength revisions.\n var showRevisionSubset = function (startIndex) {\n var indexChanged = (startIndex !== currentRevisionPageStartIndex);\n currentRevisionPageStartIndex = startIndex;\n\n if (currentRevisionPageStartIndex > 0) {\n viewer.viewerNodes.$revisionPrevPage.removeAttr('disabled');\n }\n else {\n viewer.viewerNodes.$revisionPrevPage.attr('disabled', 'disabled');\n }\n\n var allRevisionChildren = allRevisionsFragment.childNodes;\n var endIndex;\n if (revisionsCount > currentRevisionPageStartIndex + revisionsPageLength) {\n viewer.viewerNodes.$revisionNextPage.removeAttr('disabled');\n endIndex = currentRevisionPageStartIndex + revisionsPageLength;\n }\n else {\n viewer.viewerNodes.$revisionNextPage.attr('disabled', 'disabled');\n endIndex = revisionsCount;\n }\n\n if (indexChanged || viewer.viewerNodes.$revisions.children().length < revisionsPageLength) {\n var scrollTop = viewer.viewerNodes.$revisions.scrollTop();\n var subsetFragment = document.createDocumentFragment();\n\n // Clone the revisions that should be showing currently.\n for (var i = currentRevisionPageStartIndex; i < endIndex; i++) {\n var subsetRevisions = $(allRevisionChildren[i]).clone(true);\n subsetFragment.appendChild(subsetRevisions[0]);\n }\n\n viewer.viewerNodes.$revisions.empty();\n viewer.viewerNodes.$revisions.append(subsetFragment);\n viewer.viewerNodes.$revisions.scrollTop(0);\n\n viewer.viewerNodes.$revisions.find('.pcc-row:even').removeClass('pcc-odd');\n viewer.viewerNodes.$revisions.find('.pcc-row:odd').addClass('pcc-odd');\n\n if (activeRevisionId !== undefined) {\n var $activeRevision = viewer.viewerNodes.$revisions.find(\"[data-pcc-revision-id='\" + activeRevisionId + \"']\");\n if ($activeRevision.length) {\n $activeRevision.addClass('pcc-active');\n viewer.viewerNodes.$revisions.scrollTop(scrollTop);\n }\n if (allRevisionsFragment.childNodes.length > activeRevisionPageStartIndex + revisionsPageLength && activeRevisionPageStartIndex > 0) {\n updateRevisionPrevNextButtons();\n }\n }\n }\n\n updateRevisionCountText();\n };\n\n // Adds new revisions chunk to the revisions panel.\n function addRevisions(results) {\n results.forEach(function(result) {\n revisionView.revisionBuild(result);\n });\n revisionsCount += results.length;\n\n showRevisionSubset(currentRevisionPageStartIndex);\n }\n\n // The publicly accessible methods for the revision module\n return {\n addRevisions: addRevisions,\n nextRevisionClickHandler: nextRevisionClickHandler,\n previousRevisionClickHandler: previousRevisionClickHandler\n };\n })();\n\n // The search module implements the UI control and API access necessary\n // to implement the viewer's document text search functionality. Module members that\n // are prefixed with 'private' are only accessible with the module's scope while 'public'\n // means it can be accessed outside the module's scope.\n this.search = (function () {\n\n // The search request object returned from the API.\n var searchRequest = {},\n\n // The number of search hits currently known to the viewer.\n searchResultsCount = 0,\n\n // An array containing the current search results.\n searchResults = [],\n\n // Number of results to show at a time,\n resultsPageLength = !isNaN(options.searchResultsPageLength) && options.searchResultsPageLength > 0 ? options.searchResultsPageLength : 250,\n\n // The search result currently selected by the user.\n activeSearchResultId,\n\n // The index of the search result selected by the user, which will be restored when running search again.\n activeSearchResultRestoreId,\n\n // An array containing search items loaded from predefinedSearch.json.\n presetSearchTerms = [],\n\n // An array containing fixed search items loaded from predefinedSearch.json.\n presetFixedSearchTerms = [],\n\n // This is a container object that maps search terms (as keys) to search option objects (as values).\n previousSearches = {},\n\n // A simple search uses a basic text query versus a more advanced regular expression.\n privateSimpleSearch = true,\n\n // Find the advanced search toggle button and panel\n // We will toggle these to off mode when search is executed\n $advancedSearchToggle = viewer.$dom.find('[data-pcc-toggle=advanced-options]'),\n $advancedSearchPanel = viewer.$dom.find('[data-pcc-toggle-id=\"advanced-options\"]'),\n $searchContainerToggles = viewer.$dom.find('[data-pcc-search-container-toggle]'),\n $searchContainers = viewer.$dom.find('[data-pcc-search-container]'),\n $searchFilterSections = viewer.$dom.find('[data-pcc-search-container=filter] [data-pcc-section]'),\n\n // Find advanced search type column elements\n $advancedSearchColumnHeader = viewer.$dom.find('.pcc-row-results-header').children(),\n // A search query object to store all processed search terms\n globalSearchTerms = {},\n\n // A search query object to store all processed fixed search terms\n globalFixedSearchTerms = {},\n\n // A search query object to store all processed unfixed search terms\n globalUnfixedSearchTerms = {},\n\n // Save the previous search query to reuse if needed\n prevSearchQuery = {},\n // Save the previous matching options\n prevMatchingOptions = {},\n\n // Use jQuery events to subscribe and trigger events internal to search\n $event = $({}),\n\n // A function that is executed whenever the filter UI is dismissed.\n // This is used to apply the selected filters.\n onFilterDismissFunction,\n\n // A collection of search results and corresponding DOM objects that need to be resorted\n // when the page text is available for the page of the search result.\n searchResultsToResort = [],\n\n // Track whether or not we are searching the document text. This is used to improve search result display\n // for highlights.\n searchingInDocument = false,\n\n // Check if advanced search is on. The default is off\n advancedSearchIsOn = false,\n\n redactionMarks = [],\n\n // Fragment containing all sorted search results, only a subset of these results are ever added to the DOM\n allResultsFragment = document.createDocumentFragment(),\n currentResultPageStartIndex = 0,\n activeResultPageStartIndex;\n\n function resetQuickActionMenu() {\n\n var checkedTerms = viewer.viewerNodes.$searchQuickActionsSearchTerms.find('.pcc-checked');\n\n viewer.viewerNodes.$searchQuickActions.removeClass('pcc-hide');\n viewer.viewerNodes.$searchQuickActionRedactOptions.addClass('pcc-hide');\n viewer.viewerNodes.$searchQuickActionsSearchTerms.find('.pcc-section-title').html(PCCViewer.Language.data.searchQuickActions.searchTerms);\n\n var searchTerms = viewer.viewerNodes.$searchQuickActionsSearchTerms.find('.pcc-quick-action-search-term');\n\n if ( checkedTerms.length === 0 || !searchRequest.getIsComplete || !searchRequest.getIsComplete() || !searchResultsCount) {\n viewer.viewerNodes.$searchQuickActionRedact.attr('disabled', true);\n }\n else if (checkedTerms.length < searchTerms.length) {\n viewer.viewerNodes.$searchQuickActionRedact.removeAttr('disabled');\n viewer.viewerNodes.$searchRedact.html(PCCViewer.Language.data.searchQuickActions.redactSelected);\n } else {\n viewer.viewerNodes.$searchQuickActionRedact.removeAttr('disabled');\n viewer.viewerNodes.$searchRedact.html(PCCViewer.Language.data.searchQuickActions.redactAll);\n }\n\n if (!searchTerms.length || !searchResultsCount) {\n // clear the quick action terms list\n viewer.viewerNodes.$searchQuickActionsContainer\n .find('[data-pcc-section=quickActionSearchTerms] .pcc-section-content').empty()\n .append( document.createTextNode(PCCViewer.Language.data.searchFilters.noTerms) );\n }\n\n }\n\n function resetFilterTermsList() {\n viewer.viewerNodes.$searchFilterContainer\n .find('[data-pcc-section=searchTerms] .pcc-section-content').empty()\n .append( document.createTextNode(PCCViewer.Language.data.searchFilters.noTerms) );\n }\n\n var getMarksHashMap = function(markType) {\n\n var markMap = {},\n textSelectionRedactionMarks;\n\n textSelectionRedactionMarks = viewer.viewerControl.getMarksByType(markType);\n\n _.each(textSelectionRedactionMarks, function(mark) {\n\n var position, hash;\n\n position = mark.getPosition();\n\n hash = 'T' + markType + 'P' + mark.getPageNumber() + 'I' + position.startIndex + 'L' + position.length;\n\n if (typeof markMap[hash] === 'undefined') {\n markMap[hash] = [mark];\n } else {\n markMap[hash].push(mark);\n }\n\n });\n\n return markMap;\n };\n\n function bindQuickActionDOM() {\n\n // The quick action menu is about to be displayed so clean up the display from previous uses\n viewer.viewerNodes.$searchQuickActionsToggle.on('click', function() {\n\n if (!$(this).hasClass('pcc-active')) {\n return;\n }\n\n resetQuickActionMenu();\n\n });\n\n // Show and hide quick action sections when the titles are clicked on\n viewer.viewerNodes.$searchQuickActionsContainer.on('click', '.pcc-section-title', function(){\n var $section = $(this).parent('.pcc-section');\n $section.toggleClass('pcc-expand');\n });\n\n // When the redact button is clicked, create the redaction marks at the same position of the user selected\n // search terms. Also enable the user to choose a reason if desired.\n viewer.viewerNodes.$searchQuickActionRedact.on('click', function() {\n\n var textSelectionRedactionMarks, checkedTerms, searchTerms, replacedMarks = [];\n\n // Get map describing position of existing text selection redaction marks\n textSelectionRedactionMarks = getMarksHashMap(PCCViewer.Mark.Type.TextSelectionRedaction);\n\n // get selected terms from the UI\n checkedTerms = viewer.viewerNodes.$searchQuickActionsSearchTerms.find('.pcc-checked').parents('.pcc-search-quick-action');\n\n // Temporarily hide the search terms that were not selected. This leaves only the working set of search\n // terms that will be redacted.\n viewer.viewerNodes.$searchQuickActionsSearchTerms.find('.pcc-quick-action-term [data-pcc-checkbox]:not(.pcc-checked)').parents('.pcc-search-quick-action').hide();\n\n // Since we are no longer working with all the search terms but rather a subset, change the section\n // title accordingly.\n viewer.viewerNodes.$searchQuickActionsSearchTerms.find('.pcc-section-title').html(PCCViewer.Language.data.searchQuickActions.selectionList);\n\n // Reset redaction dropdown\n viewer.viewerNodes.$searchQuickActionRedactionDropdown.find('[data-pcc-checkbox=\"redaction-reasons\"].pcc-checked').removeClass('pcc-checked');\n viewer.viewerNodes.$searchQuickActionRedactionDropdownLabel.text(PCCViewer.Language.data.searchQuickActions.redactionReasonDropdownSelect);\n viewer.viewerNodes.$searchQuickActionRedactionInput.addClass('pcc-hide').val('');\n\n //Show the processing icon and text\n viewer.viewerNodes.$searchQuickActions.find('.pcc-redaction-processing').show();\n\n // Get the search term strings\n searchTerms = _.map(checkedTerms, function(el){\n return el.getAttribute('data-pcc-quick-action-term');\n });\n\n // Loop through the search results, find ones that match the selected search results, and then\n // redact the document.\n var redactionTasks = _.chain(searchResults).filter(function (result) {\n return result instanceof PCCViewer.SearchResult && _.includes(searchTerms, result.getSearchTerm().searchTerm);\n }).reduce(function (memo, result) {\n var pageNum = result.getPageNumber();\n\n if (memo[pageNum]) {\n memo[pageNum].push(result);\n } else {\n memo[pageNum] = [result];\n }\n\n return memo;\n }, {}).map(function(resultGroup, pageNum) {\n return function (next) {\n setTimeout(function(){\n _.each(resultGroup, function (result) {\n // If a pre-existing text selection redaction mark exists in exactly the same position,\n // then replace it\n var hash = 'T' + PCCViewer.Mark.Type.TextSelectionRedaction + 'P' + result.getPageNumber() + 'I' + result.getStartIndexInPage() + 'L' + result.getText().length;\n\n if (typeof textSelectionRedactionMarks[hash] !== 'undefined') {\n replacedMarks = replacedMarks.concat(textSelectionRedactionMarks[hash]);\n }\n\n var mark = viewer.viewerControl.addMarkFromSearchResult(result, PCCViewer.Mark.Type.TextSelectionRedaction);\n\n redactionMarks.push(mark);\n\n });\n\n next();\n }, 0);\n\n };\n }).value();\n\n viewer.viewerNodes.$searchQuickActionRedact.attr('disabled', 'disabled');\n\n parallelSync(redactionTasks, 3, function(err) {\n if (err) {\n // Inform the user that the redaction process has failed\n viewer.notify({\n message: PCCViewer.Language.data.searchQuickActions.redactionFailed,\n type: 'error'\n });\n } else {\n // Inform the user that the redaction process has completed\n viewer.notify({\n message: PCCViewer.Language.data.searchQuickActions.redactionCompleted,\n type: 'success'\n });\n }\n\n if (replacedMarks.length) {\n viewer.viewerControl.deleteMarks(replacedMarks);\n }\n\n // Update the search terms\n buildSearchTermUI();\n\n // Transition the UI to the next step in the workflow: optionally applying a redaction reason\n viewer.viewerNodes.$searchQuickActionRedact.removeAttr('disabled');\n viewer.viewerNodes.$searchQuickActionRedactOptions.removeClass('pcc-hide');\n viewer.viewerNodes.$searchQuickActionRedactOptions.height(viewer.viewerNodes.$searchQuickActionRedactOptions.height()); // a necessary workaround to get IE11 to display ALL of the options div\n viewer.viewerNodes.$searchQuickActions.addClass('pcc-hide');\n viewer.viewerNodes.$searchQuickActions.find('.pcc-redaction-processing').hide();\n checkedTerms.removeClass('pcc-checked');\n });\n });\n\n // When the redaction reason dropdown container is selected, either hide or show the list depending\n // on the current state\n viewer.viewerNodes.$searchQuickActionRedactionDropdownContainer.on('click', function(ev) {\n $(ev.currentTarget).toggleClass('pcc-active');\n viewer.viewerNodes.$searchQuickActionRedactionDropdown.toggleClass('pcc-open');\n edgeForceRepaintWorkaround(viewer.viewerNodes.$searchQuickActionRedactionDropdown);\n });\n\n // When a specific redaction reason is selected from the drop down list, apply it to the just created\n // redaction marks.\n viewer.viewerNodes.$searchQuickActionRedactionDropdown.find('>div').on('click', function(ev) {\n\n // Clicked element\n var $div = $(this),\n $parent = viewer.viewerNodes.$searchQuickActionRedactionDropdown,\n reason;\n\n if (options.enableMultipleRedactionReasons) {\n if ($div.hasClass('pcc-clear-redaction-reasons')) {\n reason = [];\n viewer.viewerNodes.$searchQuickActionRedactionDropdownLabel.text(PCCViewer.Language.data.searchQuickActions.redactionReasonDropdownSelect);\n $parent.find('[data-pcc-checkbox=\"redaction-reasons\"].pcc-checked').removeClass('pcc-checked');\n } else if ($div.hasClass('pcc-custom-redaction-reasons')) {\n reason = [viewer.viewerNodes.$searchQuickActionRedactionInput.val()];\n $parent.find('[data-pcc-checkbox=\"redaction-reasons\"].pcc-checked').removeClass('pcc-checked');\n } else {\n // collect all checked reasons\n $div.toggleClass('pcc-checked');\n var $checkedReasons = $parent.find('[data-pcc-checkbox=\"redaction-reasons\"].pcc-checked');\n reason = [];\n $checkedReasons.each(function(index){\n reason.push($(this).find('.pcc-select-multiple-redaction-reason').text());\n });\n if (reason.length) {\n viewer.viewerNodes.$searchQuickActionRedactionDropdownLabel.text(getMultipleRedactionReasonsText(reason));\n } else {\n viewer.viewerNodes.$searchQuickActionRedactionDropdownLabel.text(PCCViewer.Language.data.searchQuickActions.redactionReasonDropdownSelect);\n }\n // Don't close dropdown\n ev.stopPropagation();\n }\n } else {\n if ($div.hasClass('pcc-clear-redaction-reasons')) {\n reason = '';\n viewer.viewerNodes.$searchQuickActionRedactionDropdownLabel.text(PCCViewer.Language.data.searchQuickActions.redactionReasonDropdownSelect);\n } else if ($div.hasClass('pcc-custom-redaction-reasons')) {\n reason = viewer.viewerNodes.$searchQuickActionRedactionInput.val();\n } else {\n reason = $div.find('.pcc-select-multiple-redaction-reason').text();\n viewer.viewerNodes.$searchQuickActionRedactionDropdownLabel.text(reason);\n }\n }\n\n if ($div.hasClass('pcc-custom-redaction-reasons')) {\n viewer.viewerNodes.$searchQuickActionRedactionDropdownLabel.text(PCCViewer.Language.data.redactionReasonFreeform);\n viewer.viewerNodes.$searchQuickActionRedactionInput.removeClass('pcc-hide');\n } else {\n viewer.viewerNodes.$searchQuickActionRedactionInput.addClass('pcc-hide');\n }\n\n _.each(redactionMarks, function(redactionMark) {\n if(redactionMark) {\n if (options.enableMultipleRedactionReasons) {\n redactionMark.setReasons(reason);\n } else {\n redactionMark.setReason(reason);\n }\n }\n });\n });\n\n // When the done button is selected, cleanup the UI and transition back to the search results\n viewer.viewerNodes.$searchQuickActionRedactDone.on('click', function(ev) {\n\n redactionMarks = [];\n\n // Remove previous user input from the redaction input element and then hide it\n viewer.viewerNodes.$searchQuickActionRedactionInput.html('').addClass('pcc-hide');\n\n // Reset the redaction reason drop down label to the default\n viewer.viewerNodes.$searchQuickActionRedactionDropdownLabel.html(PCCViewer.Language.data.searchQuickActions.redactionReasonDropdownSelect);\n\n // Hide the quick actions and the options\n viewer.viewerNodes.$searchQuickActions.removeClass('pcc-hide');\n viewer.viewerNodes.$searchQuickActionRedactOptions.addClass('pcc-hide');\n\n // Show the temporarily hidden search terms that were not selected this time around.\n viewer.viewerNodes.$searchQuickActionsSearchTerms.find('.pcc-quick-action-term:not(.pcc-checked)').show();\n\n // Transition back to the search results\n viewer.viewerNodes.$searchQuickActionsToggle.click();\n\n // Set the quick action search term section title back to the default\n viewer.viewerNodes.$searchQuickActionsSearchTerms.find('.pcc-section-title').html(PCCViewer.Language.data.searchQuickActions.searchTerms);\n });\n\n viewer.viewerNodes.$searchQuickActionRedactionInput.on('blur keypress', function(ev) {\n\n var $clearItem = viewer.viewerNodes.$searchQuickActionRedactionDropdown.find('[data-clear-item]');\n\n var reason = $(this).val();\n if(ev.type === 'blur' ||\n (ev.type === 'keypress' && ev.keyCode === 13)) {\n _.each(redactionMarks, function(redactionMark) {\n if (options.enableMultipleRedactionReasons) {\n redactionMark.setReasons([reason]);\n } else {\n redactionMark.setReason(reason);\n }\n });\n\n if (reason.length) {\n $clearItem.removeClass('pcc-must-hide');\n } else {\n $clearItem.addClass('pcc-must-hide');\n }\n\n }\n });\n\n }\n\n // Initialize the module by attaching UI event handlers and building data structures to\n // hold predefined search terms.\n var init = function () {\n viewer.$dom.find('.pcc-search-header').on('click', '[data-pcc-search=msg]', function () {\n viewer.notify({\n message: this.getAttribute('data-msg')\n });\n });\n\n if (viewer.viewerControlOptions.uiElements && viewer.viewerControlOptions.uiElements.advancedSearch === true) {\n advancedSearchIsOn = true;\n }\n\n if (typeof viewer.presetSearch !== 'undefined' &&\n viewer.presetSearch !== null &&\n Object.prototype.toString.call(viewer.presetSearch.terms) === '[object Array]' &&\n viewer.presetSearch.terms.length) {\n\n buildPresetTerms();\n buildPresetUI();\n\n viewer.viewerNodes.$searchPresetsContainer.on('click', 'label', function (ev) {\n // stop this from closing the dropdown\n ev.stopPropagation();\n });\n } else {\n viewer.$dom.find('[data-pcc-toggle=dropdown-search-patterns]').hide();\n viewer.$dom.find('[data-pcc-search=toggleAllPresets]').hide();\n }\n\n setUIElementsSearch();\n\n viewer.viewerNodes.$searchCloser.on('click', function () {\n viewer.$dom.find('[data-pcc-toggle=\"dialog-search\"]').trigger('click');\n });\n\n // populate redaction reasons filter view\n if (viewer.viewerControlOptions && viewer.viewerControlOptions.redactionReasons) {\n var fragment = document.createDocumentFragment(),\n $container = $('[data-pcc-filter-redaction-reasons]');\n\n var reasons = [];\n // Get all reasons from the viewer options\n if (typeof viewer.viewerControlOptions.redactionReasons.reasons !== 'undefined' && viewer.viewerControlOptions.redactionReasons.reasons.length) {\n reasons = reasons.concat(viewer.viewerControlOptions.redactionReasons.reasons);\n }\n // Add the case where no reason was defined\n reasons = reasons.concat([{\n reason: PCCViewer.Language.data.searchFilters.reasonUndefined,\n _reasonUndefined: true\n }]);\n\n // Display all reasons in the filter UI\n _.forEach(reasons, function(obj){\n var div = resultView.elem('div', { className: 'pcc-search-filter pcc-filter-marks' }),\n checkbox = resultView.elem('div', { className: 'pcc-checkbox pcc-checked' }),\n icon = resultView.elem('span', { className: 'pcc-icon pcc-icon-check' });\n\n div.setAttribute('data-pcc-search-in-marks', 'reason:' + obj.reason);\n checkbox.setAttribute('data-pcc-checkbox', '');\n\n checkbox.appendChild(icon);\n div.appendChild(checkbox);\n\n if (obj._reasonUndefined) {\n var textNode = document.createTextNode(obj.reason);\n div.appendChild(textNode);\n } else {\n var reasonSpan= resultView.elem('span'),\n reasonEm = resultView.elem('em', { text: obj.reason });\n reasonSpan.appendChild(reasonEm);\n div.appendChild(reasonSpan);\n\n if (obj.description) {\n var separatorNote = document.createTextNode(': '),\n descriptionSpan = resultView.elem('span', {\n class: 'pcc-select-multiple-redaction-description',\n text: obj.description\n });\n div.appendChild(separatorNote);\n div.appendChild(descriptionSpan);\n }\n }\n\n var tooltip = obj.description\n ? obj.reason + ': ' + obj.description\n : obj.reason;\n div.setAttribute('title', tooltip);\n\n parseIcons($(div));\n\n fragment.appendChild(div);\n });\n\n $container.empty();\n $container.append(fragment);\n }\n\n bindQuickActionDOM();\n };\n\n $event.on('selectResult', function(ev, data){\n // set the active search result node\n var $activeSearchResult = $(data.node);\n\n if (data.type === 'comment')\n {\n activeSearchResultId = 'C' + data.result.id;\n } else if (data.type === 'mark') {\n activeSearchResultId = 'M' + data.result.source.id;\n } else {\n activeSearchResultId = data.result.id;\n }\n\n activeResultPageStartIndex = currentResultPageStartIndex;\n\n // deselect active data-attribute\n viewer.viewerNodes.$searchResults.find('[data-pcc-active-toggle=\"active\"]').removeAttr(\"data-pcc-active-toggle\");\n\n // select new active result\n $activeSearchResult.attr('data-pcc-active-toggle', 'active');\n\n // deselect a previously selected result in the search UI\n viewer.viewerNodes.$searchResults.find('.pcc-row.pcc-active').removeClass('pcc-active');\n\n // select the new result\n $activeSearchResult.addClass('pcc-active');\n // deselect marks that may have been selected from a previous result\n viewer.viewerControl.deselectAllMarks();\n // deselect document search results that may have been selected from a previous result\n viewer.viewerControl.setSelectedSearchResult(null);\n // deselect any comment that may have been selected from a previous result\n $event.trigger('deselectPreviousResult');\n\n // update search UI to reflect selection\n updatePrevNextButtons();\n\n var index = $activeSearchResult.index() + 1 + currentResultPageStartIndex,\n total = searchResultsCount;\n\n viewer.viewerNodes.$searchResultCount.html(PCCViewer.Language.data.result + index + ' / ' + total);\n\n // hide results panel on mobile viewports\n viewer.viewerNodes.$searchResultsContainer.addClass('pcc-hide');\n // collapse the expanded panel\n viewer.viewerNodes.$searchDialog.removeClass('pcc-expand')\n // switch the active results button to off state\n .find('[data-pcc-search-container-toggle=\"results\"]').removeClass('pcc-active');\n });\n\n // Generates HTML Elements for various results that can exist in the search bar.\n var resultView = _.clone(genericView);\n\n resultView.textContext = function(result) {\n var contextElem, emphasis, textBefore, textAfter;\n\n var contextClassName = advancedSearchIsOn ? 'pcc-col-8' : 'pcc-col-10';\n contextElem = resultView.elem('div', { className: contextClassName });\n\n // make the selected text interesting\n emphasis = resultView.elem('span', { className: 'match', text: result.getText() });\n emphasis.style.color = result.getHighlightColor();\n\n // get the text before and after the search hit\n textBefore = result.getContext().substr(0, result.getStartIndexInContext());\n textAfter = result.getContext().substr(result.getText().length + result.getStartIndexInContext());\n\n // append the text nodes\n // avoid adding blank text nodes\n if (textBefore) {\n contextElem.appendChild( document.createTextNode('...' + textBefore) );\n }\n contextElem.appendChild( emphasis );\n if (textAfter) {\n contextElem.appendChild( document.createTextNode(textAfter + '...') );\n }\n\n return contextElem;\n };\n\n resultView.searchResult = function(result){\n var searchResult, searchResultPageNumber, searchResultContext;\n var resultId = resultView.selectId(result);\n\n searchResult = resultView.elem('div', { className: 'pcc-row' });\n searchResult.setAttribute('data-pcc-search-result-id', resultId);\n\n searchResultPageNumber = resultView.pageNumber( result.getPageNumber() );\n\n searchResultContext = resultView.textContext(result);\n\n searchResult.appendChild(searchResultPageNumber);\n searchResult.appendChild(searchResultContext);\n searchResult.appendChild( resultView.typeIcon('page') );\n\n parseIcons($(searchResult));\n\n $(searchResult).on('click', function (ev, maintainScrollPosition) {\n $event.trigger('selectResult', {\n type: 'search',\n result: result,\n node: this\n });\n\n viewer.viewerControl.setSelectedSearchResult(result, !maintainScrollPosition);\n });\n\n return searchResult;\n };\n\n resultView.mark = function(result){\n var mark = result.source,\n text = PCCViewer.Language.data.markType[mark.getType()],\n type = getSearchResultType(result),\n markResultId = resultView.selectId(result);\n\n // check if a line annotation is actually an arrow\n if (mark.getType() === PCCViewer.Mark.Type.LineAnnotation && mark.getEndHeadType() === PCCViewer.Mark.LineHeadType.FilledTriangle){\n text = PCCViewer.Language.data.markType[\"ArrowAnnotation\"];\n }\n\n if (type === 'redaction' && mark.getReason && !options.enableMultipleRedactionReasons) {\n var reason = mark.getReason() || PCCViewer.Language.data.searchFilters.reasonUndefined;\n text += ' - ' + reason;\n }\n\n if (type == 'redaction' && mark.getReasons && options.enableMultipleRedactionReasons) {\n var reason = getMultipleRedactionReasonsText(mark.getReasons()) || PCCViewer.Language.data.searchFilters.reasonUndefined;\n text += ' - ' + reason;\n }\n\n var resultElem = resultView.elem('div', { className: 'pcc-row' }),\n resultPageNumber = resultView.pageNumber( mark.getPageNumber() ),\n resultContext, icon;\n\n if (type === 'redaction') {\n icon = 'annotate-disabled';\n } else if (type === 'signature') {\n icon = 'esign';\n } else {\n icon = 'edit';\n }\n\n\n resultElem.setAttribute('data-pcc-search-result-id', markResultId);\n\n if (result instanceof PCCViewer.SearchTaskResult) {\n // this result is a text-based mark\n resultContext = resultView.textContext(result);\n } else {\n // this result is a drawing mark\n var contextClassName = advancedSearchIsOn ? 'pcc-col-8' : 'pcc-col-10';\n resultContext = resultView.elem('div', { className: contextClassName, text: text });\n }\n\n resultElem.appendChild(resultPageNumber);\n resultElem.appendChild(resultContext);\n resultElem.appendChild( resultView.typeIcon(icon) );\n\n parseIcons($(resultElem));\n\n $(resultElem).on('click', function(ev, maintainScrollPosition){\n $event.trigger('selectResult', {\n type: 'mark',\n result: result,\n node: this\n });\n\n // select this mark and scroll to it\n if (viewer.viewerControl.getMarkById(mark.getId())) {\n if (maintainScrollPosition !== true) {\n viewer.viewerControl.selectMarks([mark]);\n viewer.viewerControl.scrollTo(mark);\n }\n\n // Darken the matching text of the search result within the mark\n highlightMatchingTextInMark(mark, result);\n }\n\n // register an event to deselect the selectedResult when another result is selected\n // this will execute only once, on the first result select\n $event.one('deselectPreviousResult', function () {\n // check that this mark still exists\n if (viewer.viewerControl.getMarkById(mark.getId())) {\n highlightMatchingTextInMark(mark);\n }\n });\n });\n\n return resultElem;\n };\n\n resultView.comment = function(result){\n var comment = result.source,\n resultElem = resultView.elem('div', { className: 'pcc-row' }),\n resultPageNumber = resultView.pageNumber( result.getPageNumber() ),\n resultContext = resultView.textContext(result),\n commentResultId = resultView.selectId(result);\n\n resultElem.appendChild(resultPageNumber);\n resultElem.appendChild(resultContext);\n resultElem.appendChild( resultView.typeIcon('comment') );\n resultElem.setAttribute('data-pcc-search-result-id', commentResultId);\n\n parseIcons($(resultElem));\n\n $(resultElem).on('click', function(ev, maintainScrollPosition){\n $event.trigger('selectResult', {\n type: 'comment',\n result: result,\n node: this\n });\n\n // find all search results for this comment\n var thisCommentResults = _.filter(searchResults, function(el){\n return el.source && el.source === result.source;\n });\n\n // select this comment\n comment.setSessionData('Accusoft-highlight', buildCommentSelectionString(thisCommentResults, result));\n\n // re-render the conversation view with the highlight in effect\n if (viewer.viewerControl.getMarkById(comment.getConversation().getMark().getId())) {\n viewer.viewerControl.refreshConversations(comment.getConversation());\n\n // scroll to the comment\n if (maintainScrollPosition !== true) {\n // select the related mark conversation\n viewer.viewerControl.selectMarks([ comment.getConversation().getMark() ]);\n\n if (viewer.viewerControl.getIsCommentsPanelOpen() === false) {\n viewer.viewerControl.openCommentsPanel();\n }\n viewer.viewerControl.scrollTo(comment.getConversation());\n }\n\n // register an event to deselect this comment when another result is selected\n // this will execute only once, on the first result select\n $event.one('deselectPreviousResult', function(){\n comment.setSessionData('Accusoft-highlight', buildCommentSelectionString(thisCommentResults));\n\n // check that this mark still exists\n if (viewer.viewerControl.getMarkById( comment.getConversation().getMark().getId()) ){\n viewer.viewerControl.refreshConversations(comment.getConversation());\n }\n });\n }\n\n // Expand the comment when in skinny mode\n if (commentUIManager) {\n commentUIManager.expandComment(comment.getConversation().getMark().getId());\n }\n });\n\n return resultElem;\n };\n\n resultView.select = function(result){\n if (result instanceof PCCViewer.SearchResult) {\n return resultView.searchResult(result);\n } else if (result instanceof PCCViewer.SearchTaskResult && result.source instanceof PCCViewer.Comment) {\n return resultView.comment(result);\n } else {\n return resultView.mark(result);\n }\n };\n\n resultView.selectId = function(result){\n if (result instanceof PCCViewer.SearchResult) {\n return result.getId();\n } else if (result instanceof PCCViewer.SearchTaskResult && result.source) {\n if (result.source instanceof PCCViewer.Comment) {\n return 'C' + result.commentIndex + '_' + result.getId();\n } else if (result.source instanceof PCCViewer.Mark) {\n var mark = result.source;\n return 'M' + mark.getId() + '_' + result.getId();\n }\n } else {\n var mark = result.source;\n return 'M' + mark.getId();\n }\n };\n\n resultView.typeIcon = function(icon){\n var result = null;\n if (options.uiElements && options.uiElements.advancedSearch) {\n result = genericView.elem('div', { className: 'pcc-icon pcc-icon-' + icon });\n } else {\n result = genericView.elem('div');\n }\n return result;\n };\n\n // Builds a selection string from a list of comment search results.\n // If a selected result is present, that result will be highlighted differently.\n var buildCommentSelectionString = function (thisCommentResults, selectedResult) {\n return _.reduce(thisCommentResults, function(seed, el) {\n seed.push(['startIndex=' + el.getStartIndexInInput(),\n 'length=' + el.getText().length,\n 'color=' + el.getHighlightColor(),\n 'opacity=' + ((el === selectedResult) ? 200 : 100)].join('&'));\n return seed;\n }, []).join('|');\n };\n\n // Performs a highlight on all of the comment search results in a given collection\n var showAllCommentResults = function(collection){\n var conversations = _.chain(collection).filter(function(el){\n // find all results in the collection that belong to comments\n return (el.source && el.source instanceof PCCViewer.Comment);\n }).reduce(function(seed, el){\n // create collections of each unique comment and all of its selections\n // one comment can have multiple selections in it\n var thisCollection = _.find(seed, function(val){\n return val.source === el.source;\n });\n\n if (thisCollection) {\n thisCollection.selections.push(el);\n } else {\n thisCollection = {\n source: el.source,\n selections: [el]\n };\n seed.push(thisCollection);\n }\n\n return seed;\n }, []).map(function(el){\n // build selection strings for each unique comment\n el.selectionString = buildCommentSelectionString(el.selections);\n // assign the selection string to be rendered\n el.source.setSessionData('Accusoft-highlight', el.selectionString);\n // return the conversation\n return el.source.getConversation();\n }).value();\n\n if (conversations.length) {\n viewer.viewerControl.refreshConversations(conversations);\n }\n };\n\n // Highlights all search results within the given mark.\n // If selectedResult is passed, then the highlight for that\n // result will be more opaque, making it appear darker in the UI.\n var highlightMatchingTextInMark = function(mark, selectedResult) {\n // Exit without highlighting if given a mark that cannot be highlighted.\n if (!mark || !mark.highlightText) {\n return;\n }\n\n // find all text search results for this mark\n var thisMarkResults = _.filter(searchResults, function(el){\n return (el.source && el.source === mark) &&\n (el instanceof PCCViewer.SearchTaskResult);\n });\n\n // Transform these mark search results into an object\n // that is accepted by highlightText.\n thisMarkResults = _.map(thisMarkResults, function(el) {\n return {\n startIndex: el.getStartIndexInInput(),\n length: el.getText().length,\n color: el.getHighlightColor(),\n // Reduce the opacity of search result highlights within highlight annotations, when\n // also searching in document text. This avoids a triple or quad highlight of the\n // matching text.\n opacity: (!searchingInDocument || mark.getType() !== PCCViewer.Mark.Type.HighlightAnnotation) ?\n ((el === selectedResult) ? 200 : 100) :\n ((el === selectedResult) ? 100 : 0)\n };\n });\n\n // highlight text in the mark - this will replace any existing highlights in the mark\n mark.highlightText(thisMarkResults);\n };\n\n // Performs a highlight on all of the Mark search results in a given collection\n var highlightMatchingTextInMarkResults = function(results) {\n var allMarksWithResults = _.chain(results)\n .filter(function(result) {\n return (result.source && result.source instanceof PCCViewer.Mark);\n })\n .map(function(result) {\n return result.source;\n })\n .unique().value();\n\n _.each(allMarksWithResults, function(mark) {\n highlightMatchingTextInMark(mark);\n });\n };\n\n // Clear the selection of all comment results in a given collection\n var clearAllCommentResults = function(collection){\n var uniqueConversations = [];\n\n var conversations = _.chain(collection).filter(function(el){\n // find all results in the collection that belong to comments\n return (el.source && el.source instanceof PCCViewer.Comment &&\n el.source.getSessionData('Accusoft-highlight'));\n }).map(function(el){\n // push conversations to the unique array if they are not already in there\n if (!_.contains(uniqueConversations, el.source.getConversation())) {\n uniqueConversations.push(el.source.getConversation());\n }\n\n // check if there is a highlight to remove\n el.source.setSessionData('Accusoft-highlight', undefined);\n });\n\n // check in case some marks were deleted before clearing the results\n var conversationStillAvailable = _.filter(uniqueConversations, function(conv){\n return !!viewer.viewerControl.getMarkById(conv.getMark().getId());\n });\n\n // if there are any conversations to clear, do so\n if (conversationStillAvailable.length) {\n viewer.viewerControl.refreshConversations(conversationStillAvailable);\n }\n };\n\n // Clear the selection of all mark results in a given collection\n var clearAllMarkResults = function(collection){\n _.forEach(viewer.viewerControl.getAllMarks(), function(mark){\n if (mark.clearHighlights) {\n mark.clearHighlights();\n }\n });\n };\n\n // Takes the JSON data from predefinedSearch.json and uses it to create normalized search terms. Those are\n // then added to presetSearchTerms.\n var buildPresetTerms = function () {\n var globalOptions = {},\n term,\n normalizedTerm,\n i = 0,\n highlightColor,\n fixed;\n\n if (typeof viewer.presetSearch.globalOptions !== 'undefined') {\n globalOptions = viewer.presetSearch.globalOptions;\n }\n\n if (typeof viewer.presetSearch.highlightColor !== 'undefined') {\n highlightColor = viewer.presetSearch.highlightColor;\n }\n\n if (typeof viewer.presetSearch.fixed !== 'undefined') {\n fixed = viewer.presetSearch.fixed;\n }\n\n _.each(viewer.presetSearch.terms, function(term){\n normalizedTerm = normalizePresetSearchTerm(term, globalOptions, highlightColor, fixed);\n var termType = term.type ? $.trim(term.type).toLowerCase() : '';\n switch(termType){\n case \"proximity\":\n normalizedTerm.terms = _.map(term.terms, function(proximityTerm){\n return normalizePresetSearchTerm(proximityTerm, globalOptions, highlightColor, fixed);\n });\n break;\n }\n\n if (normalizedTerm.fixed === true) {\n presetFixedSearchTerms.push(normalizedTerm);\n } else {\n if (typeof term.selected !== \"undefined\") {\n normalizedTerm.selected = term.selected;\n }\n\n presetSearchTerms.push(normalizedTerm);\n }\n });\n\n // Show push pin icon in search input box if there are fixed search terms.\n if (presetFixedSearchTerms.length > 0) {\n $('[data-pcc-toggle=\"dropdown-search-fixed-box\"]').removeClass('pcc-hide');\n $('[data-pcc-search=\"clear\"]').addClass('pcc-offset-right');\n $('[data-pcc-section=\"searchFixedTerms\"]').removeClass('pcc-hide');\n }\n };\n\n var normalizePresetSearchTerm = function(term, globalOptions, highlightColor, fixed){\n term.matchingOptions = typeof term.options === 'undefined' ? {} : term.options;\n var normalizedTerm = {\n description: term.searchTerm,\n searchTermIsRegex: false,\n matchingOptions: {},\n };\n if (typeof highlightColor !== 'undefined') {\n normalizedTerm.highlightColor = highlightColor;\n }\n if (typeof fixed !== 'undefined') {\n normalizedTerm.fixed = fixed;\n }\n ['highlightColor', 'fixed', 'type', 'distance', 'searchTerm', 'description', 'searchTermIsRegex'].forEach(function(item) {\n if (typeof term[item] !== 'undefined') {\n normalizedTerm[item] = term[item];\n }\n });\n if (typeof term.userDefinedRegex !== 'undefined') {\n normalizedTerm.searchTermName = term.searchTerm;\n normalizedTerm.searchTerm = term.userDefinedRegex;\n }\n ['matchCase', 'endsWith', 'beginsWith', 'matchWholeWord', 'exactPhrase', 'wildcard'].forEach(function(item) {\n if (typeof globalOptions[item] !== 'undefined') {\n normalizedTerm.matchingOptions[item] = globalOptions[item];\n }\n if (typeof term.matchingOptions[item] !== 'undefined') {\n normalizedTerm.matchingOptions[item] = term.matchingOptions[item];\n }\n });\n return normalizedTerm;\n };\n\n // Adds the search items from predefinedSearch.json to the UI in the form of a dropdown selectable list.\n var buildPresetUI = function () {\n var domElems = [],\n searchPresetsFragment = document.createDocumentFragment(),\n searchFixedPresetsFragment = document.createDocumentFragment(),\n checked;\n\n function generatePresetDOM(description, id, checked){\n var label = document.createElement('label'),\n input = document.createElement('input'),\n textNode = document.createTextNode(description);\n\n input.type = 'checkbox';\n input.setAttribute('data-pcc-search-preset-id', id);\n if (checked) {\n input.setAttribute('checked', 'checked');\n }\n\n label.appendChild(input);\n label.appendChild(textNode);\n\n return label;\n }\n\n function generateFixedPresetDOM(description){\n var label = document.createElement('label'),\n input = document.createElement('input'),\n textNode = document.createTextNode(description);\n\n label.appendChild(textNode);\n\n return label;\n }\n\n $.each(presetFixedSearchTerms, function(i, term){\n searchFixedPresetsFragment.appendChild( generateFixedPresetDOM(term.description) );\n });\n\n $.each(presetSearchTerms, function(i, term){\n checked = (term.selected === true) ? 'checked=\"checked\"' : '';\n searchPresetsFragment.appendChild( generatePresetDOM(term.description, i, checked) );\n });\n\n viewer.viewerNodes.$searchPresetsContainer.append(searchPresetsFragment);\n viewer.viewerNodes.$searchFixedPresetsContainer.append(searchFixedPresetsFragment);\n };\n\n // Add the search terms to the search filter and quick action panes\n var buildSearchTermUI = function() {\n populateSearchTerms(prevSearchQuery, searchResults, $('.pcc-search-filter-container [data-pcc-section=searchTerms] .pcc-section-content'), searchTermFilterClickAction, 'filter', globalUnfixedSearchTerms, true, false);\n populateSearchTerms(prevSearchQuery, searchResults, $('.pcc-search-filter-container [data-pcc-section=searchFixedTerms] .pcc-section-content'), searchTermFilterClickAction, 'filter', globalFixedSearchTerms, false, true);\n populateSearchTerms(prevSearchQuery, searchResults, $('.pcc-search-quick-actions-container [data-pcc-section=quickActionSearchTerms] .pcc-section-content'), searchTermQuickActionClickAction, 'quick-action', globalSearchTerms, true, true, true);\n };\n\n // When getting ready to execute a search, this functions pulls together all the user selectable\n // search options in to a single search options object.\n var getSearchQuery = function (triggeredFromFilter, excludePresetTerms) {\n var originalQueryString = getQueryString();\n var queryString = originalQueryString,\n i = 0,\n presetId, searchTerms = [],\n isPlaceholder = viewer.viewerNodes.$searchInput.hasClass('pcc-placeholder');\n\n var isProximitySearch = viewer.viewerNodes.$searchProximity.hasClass('pcc-active');\n var proximityDistance;\n if (isProximitySearch) {\n proximityDistance = extractProximityDistance(queryString);\n queryString = removeProximityDistance(queryString);\n }\n\n var matchingOptions = {\n exactPhrase: viewer.viewerNodes.$searchExactPhrase.hasClass('pcc-active') ? true : false,\n matchCase: viewer.viewerNodes.$searchMatchCase.hasClass('pcc-active') ? true : false,\n matchWholeWord: viewer.viewerNodes.$searchMatchWholeWord.hasClass('pcc-active') ? true : false,\n beginsWith: viewer.viewerNodes.$searchBeginsWith.hasClass('pcc-active') ? true : false,\n endsWith: viewer.viewerNodes.$searchEndsWith.hasClass('pcc-active') ? true : false,\n wildcard: viewer.viewerNodes.$searchWildcard.hasClass('pcc-active') ? true : false,\n proximity: viewer.viewerNodes.$searchProximity.hasClass('pcc-active') ? true : false\n };\n\n privateSimpleSearch = true;\n\n if (triggeredFromFilter) {\n // This is a request for a searchQuery based on applied filters.\n\n // check if the new matching options are the same as the previous ones used in the UI\n // the user may have changed them before applying a filter\n var sameMatchingOptions = _.isEqual(matchingOptions, prevMatchingOptions);\n\n // get selected unfixed terms from the UI\n var checkedUnfixedTerms = $('[data-pcc-section=\"searchTerms\"]').find('.pcc-checked');\n\n // get selected fixed terms from the UI, and append checked unfixed terms\n var checkedFixedTerms = $('[data-pcc-section=\"searchFixedTerms\"]').find('.pcc-checked');\n\n if (checkedUnfixedTerms.length === 0 && checkedFixedTerms.length === 0) {\n // no terms are checked, yet we are running a filter...\n // check if there are any terms present in the first place\n var allUnfixedTerms = $('[data-pcc-section=\"searchTerms\"]').find('.pcc-filter-term');\n var allFixedTerms = $('[data-pcc-section=\"searchFixedTerms\"]').find('.pcc-filter-term');\n\n if (allUnfixedTerms.length === 0 && allFixedTerms.length === 0) {\n // this is a filter search (exact same terms) where there were no hits the first time,\n // so we want to run all terms again\n return getSearchQuery(false);\n }\n }\n\n // reset all term options to not be used\n // also add new UI matching options to user-search terms\n _.forEach(globalFixedSearchTerms, function(termOption){\n termOption.isInUse = false;\n });\n\n _.forEach(globalUnfixedSearchTerms, function(termOption){\n termOption.isInUse = false;\n\n if (!sameMatchingOptions && termOption.isUserSearch) {\n // replace the matching options\n termOption.searchOption.matchingOptions = matchingOptions;\n }\n });\n\n if (!sameMatchingOptions) {\n prevMatchingOptions = _.clone(matchingOptions);\n }\n\n var setSearchTermInUse = function (el, searchTerms) {\n var term = el.parentElement.getAttribute('data-pcc-filter-term'),\n searchTerm = searchTerms[term];\n\n if (searchTerm) {\n searchTerm.isInUse = true;\n return searchTerm.searchOption;\n } else {\n return;\n }\n };\n\n var tempUnfixedTermsArray = _.map(checkedUnfixedTerms, function(el){\n return setSearchTermInUse(el, globalUnfixedSearchTerms);\n });\n\n var tempFixedTermsArray = _.map(checkedFixedTerms, function(el){\n return setSearchTermInUse(el, globalFixedSearchTerms);\n });\n\n var tempTermsArray = _.compact(tempFixedTermsArray.concat(tempUnfixedTermsArray));\n\n searchTerms = tempTermsArray;\n } else if (isPlaceholder) {\n // This is a request for a new search, but there is no real text in the input field. This is a\n // state triggered by the placeholder polyfill. Treat this as a search with no terms.\n return {\n searchTerms: []\n };\n } else {\n // This is a request for a new searchQuery triggered by the search input field.\n // Generate new search terms, and save them globally.\n prevMatchingOptions = _.clone(matchingOptions);\n\n if (matchingOptions.exactPhrase) {\n // We need to match the exact string, as is\n if (queryString.length) {\n searchTerms.push({\n searchTerm: queryString,\n highlightColor: undefined,\n searchTermIsRegex: false,\n contextPadding: 25,\n matchingOptions: matchingOptions\n });\n }\n } else {\n // Split up multiple words in the string into separate search term objects\n var queryArr = queryString.split(' ');\n queryArr = _.unique(queryArr);\n _.forEach(queryArr, function(query){\n if (query.length) {\n searchTerms.push({\n searchTerm: query,\n highlightColor: undefined,\n searchTermIsRegex: false,\n contextPadding: 25,\n matchingOptions: matchingOptions\n });\n }\n });\n }\n\n // mark search terms as UI-triggered\n _.forEach(searchTerms, function(term){\n term.isUserSearch = true;\n });\n\n if (isProximitySearch && queryString) {\n var proximitySearchTerm = {\n type: \"proximity\",\n distance: proximityDistance,\n contextPadding: 25,\n searchTerm: originalQueryString,\n prettyName: originalQueryString,\n terms: searchTerms\n };\n\n searchTerms = [proximitySearchTerm];\n }\n\n if (!excludePresetTerms) {\n // add preset searches to the terms list\n if (presetSearchTerms.length) {\n viewer.$dom.find('input:checked').each(function(i, el){\n privateSimpleSearch = false;\n presetId = $(el).data('pccSearchPresetId');\n searchTerms.push(presetSearchTerms[presetId]);\n });\n }\n }\n\n // add preset fixed search to the terms list\n searchTerms = presetFixedSearchTerms.concat(searchTerms.slice(0));\n\n // replace the global query with this new generated one\n fillGlobalSearchTerms(searchTerms);\n\n addPreviousSearch({ searchTerm: originalQueryString, matchingOptions: matchingOptions });\n }\n\n return {\n searchTerms: searchTerms\n };\n };\n\n var fillGlobalSearchTerms = function(searchTerms) {\n _.forEach(searchTerms, function(term){\n var searchTerm = term.searchTerm;\n var saveObject = {\n searchOption: term,\n prettyName: term.searchTermName || term.searchTerm,\n prevCount: undefined,\n isInUse: true,\n isUserSearch: !!term.isUserSearch\n };\n\n globalSearchTerms[searchTerm] = _.clone(saveObject);\n globalSearchTerms[searchTerm].searchOption = _.clone(term);\n\n if (term.fixed === true) {\n globalFixedSearchTerms[searchTerm] = saveObject;\n } else {\n globalUnfixedSearchTerms[searchTerm] = saveObject;\n }\n });\n }\n\n var getQueryString = function(){\n // remove leading and trailing spaces, and replace multiple spaces with a single space\n var queryString = getInputValueNotPlaceholder(viewer.viewerNodes.$searchInput);\n return queryString.replace(/^\\s+|\\s+$/g, '').replace(/\\s+/g, ' ');\n };\n\n var extractProximityDistance = function(searchString){\n var proximityDistanceMatches = getProximityDistanceMatches(searchString);\n if(proximityDistanceMatches){\n return +proximityDistanceMatches[proximityDistanceMatches.length -1].replace('~', '');\n }\n };\n\n var removeProximityDistance = function(searchString){\n var proximityDistanceMatches = getProximityDistanceMatches(searchString);\n if(proximityDistanceMatches){\n _.each(proximityDistanceMatches, function(match){\n searchString = searchString.replace(match, '');\n });\n }\n return searchString;\n };\n\n var getProximityDistanceMatches = function(searchString){\n var proximityDistanceRegex = /(~)(\\s+)*(\\d+)/gi;\n var proximityDistance;\n return searchString.match(proximityDistanceRegex);\n };\n\n // This function adds a search query to a UI list of previously executed search terms. Selecting an item\n // from the list will cause it to be re-executed.\n var addPreviousSearch = function (searchTerm) {\n var previousNode,\n $elPrevSearchDrop = viewer.viewerNodes.$searchPreviousContainer;\n\n if (typeof previousSearches[searchTerm.searchTerm] !== 'undefined') {\n return;\n }\n\n previousSearches[searchTerm.searchTerm] = searchTerm;\n\n $elPrevSearchDrop.find('.pcc-placeholder').addClass('pcc-hide');\n\n var root = document.createElement('div'),\n text = document.createElement('div'),\n button = document.createElement('div'),\n textNode = document.createTextNode(searchTerm.searchTerm);\n\n text.className = 'pcc-search-previous-query';\n text.setAttribute('data-pcc-search-previous-id', searchTerm.searchTerm);\n text.appendChild(textNode);\n\n button.innerHTML = '×';\n button.setAttribute('data-pcc-search-previous-id', searchTerm.searchTerm);\n button.className = 'pcc-remove-previous';\n\n root.appendChild(text);\n root.appendChild(button);\n\n $(text).on('click', function () {\n previousSelectionHandler(this);\n });\n\n // execute this only once\n $(button).one('click', function (ev) {\n ev.stopPropagation();\n deletePreviousSearch(this);\n });\n\n $elPrevSearchDrop.prepend(root);\n };\n\n // When a user selects a previous search query from a list, this function will cause the search to be re-executed.\n var previousSelectionHandler = function (searchNode) {\n var searchTerm,\n index = searchNode.getAttribute('data-pcc-search-previous-id');\n\n searchTerm = previousSearches[index];\n\n viewer.viewerNodes.$searchInput.val(searchTerm.searchTerm);\n\n setSearchButtons(searchTerm.matchingOptions);\n\n viewer.viewerNodes.$searchSubmit.click();\n };\n\n // This function sets the toggle state of the various search option buttons. The state is determined by the\n // btnStates object.\n var setSearchButtons = function (btnStates) {\n\n // proximity search needs to be first as it disables all other button options.\n if ((btnStates.proximity === true && !viewer.viewerNodes.$searchProximity.hasClass('pcc-active')) ||\n (btnStates.proximity === false &&\n viewer.viewerNodes.$searchProximity.hasClass('pcc-active'))) {\n viewer.viewerNodes.$searchProximity.click();\n }\n\n if ((btnStates.wildcard === true && !viewer.viewerNodes.$searchWildcard.hasClass('pcc-active')) ||\n (btnStates.wildcard === false &&\n viewer.viewerNodes.$searchWildcard.hasClass('pcc-active'))) {\n viewer.viewerNodes.$searchWildcard.click();\n }\n\n if ((btnStates.exactPhrase === true && !viewer.viewerNodes.$searchExactPhrase.hasClass('pcc-active')) ||\n (btnStates.exactPhrase === false &&\n viewer.viewerNodes.$searchExactPhrase.hasClass('pcc-active'))) {\n viewer.viewerNodes.$searchExactPhrase.click();\n }\n\n if ((btnStates.matchCase === true && !viewer.viewerNodes.$searchMatchCase.hasClass('pcc-active')) ||\n (btnStates.matchCase === false &&\n viewer.viewerNodes.$searchMatchCase.hasClass('pcc-active'))) {\n viewer.viewerNodes.$searchMatchCase.click();\n }\n\n if ((btnStates.matchWholeWord === true && !viewer.viewerNodes.$searchMatchWholeWord.hasClass('pcc-active')) ||\n (btnStates.matchWholeWord === false &&\n viewer.viewerNodes.$searchMatchWholeWord.hasClass('pcc-active'))) {\n viewer.viewerNodes.$searchMatchWholeWord.click();\n }\n\n if ((btnStates.beginsWith === true && !viewer.viewerNodes.$searchBeginsWith.hasClass('pcc-active')) ||\n (btnStates.beginsWith === false &&\n viewer.viewerNodes.$searchBeginsWith.hasClass('pcc-active'))) {\n viewer.viewerNodes.$searchBeginsWith.click();\n }\n\n if ((btnStates.endsWith === true && !viewer.viewerNodes.$searchEndsWith.hasClass('pcc-active')) ||\n (btnStates.endsWith === false &&\n viewer.viewerNodes.$searchEndsWith.hasClass('pcc-active'))) {\n viewer.viewerNodes.$searchEndsWith.click();\n }\n };\n\n // When the user selects the delete icon next to a previous search query, this function will remove\n // it from the displayed list.\n var deletePreviousSearch = function (el) {\n var $parent = $(el).parent(),\n previousId = $(el).attr(\"data-pcc-search-previous-id\");\n\n $parent.remove();\n\n delete previousSearches[previousId];\n\n if (_.keys(previousSearches).length === 0) {\n // there are no previous searches\n viewer.viewerNodes.$searchPreviousContainer.find('.pcc-placeholder').removeClass('pcc-hide');\n }\n };\n\n // This function causes the search bar to be displayed.\n var showSearchBar = function () {\n viewer.$dom.find('.pcc-row-results-status').removeClass('pcc-done');\n\n viewer.viewerNodes.$searchResultCount.html(PCCViewer.Language.data.searching);\n\n $event.trigger('open');\n };\n\n // As search results are returned to the viewer, this functions can update the progress bar as well as\n // display a text message reflecting the status of the search.\n var updateStatusUi = function (msg, showLoader, barWidth) {\n if (msg.length) {\n viewer.viewerNodes.$searchResultCount.html(msg);\n parseIcons(viewer.viewerNodes.$searchResultCount);\n }\n\n if (typeof showLoader === 'boolean' && showLoader === true) {\n viewer.viewerNodes.$searchResultsContainer.addClass('pcc-loading');\n viewer.viewerNodes.$searchStatus.show();\n } else {\n viewer.viewerNodes.$searchResultsContainer.removeClass('pcc-loading');\n viewer.viewerNodes.$searchStatus.hide();\n }\n\n if (typeof barWidth === 'number') {\n\n if (barWidth < 0) {\n barWidth = 0;\n } else if (barWidth > 100) {\n barWidth = 100;\n }\n\n viewer.$dom.find('.pcc-row-results-status .pcc-bar').css('width', barWidth + '%');\n }\n };\n\n // Sorts an array of live DOM elements (already in the DOM)\n // It will also work with a jQuery-wrapped array\n var sortDOM = (function(){\n var sort = [].sort;\n\n return function(elems, comparator) {\n // Sort the elements.\n // Make sure to get the pure elements array out of the jQuery wrapper.\n var sortCollection = sort.call($(elems).get(), comparator);\n\n // Check to make sure we have items in the collection\n if (sortCollection.length === 0) {\n return;\n }\n\n // Save the first element, and insert it as the first\n var prev = sortCollection.shift();\n $(prev).insertBefore(prev.parentNode.firstChild);\n\n // Insert the rest of the elements in order\n $(sortCollection).each(function(i, el) {\n //$(el).insertAfter(prev);\n el.parentNode.insertBefore(el, prev.nextSibling);\n prev = el;\n });\n };\n })();\n\n var getSearchResultType = function(result) {\n if (result instanceof PCCViewer.SearchResult) {\n return 'search';\n }\n\n if (result.source && result.source instanceof PCCViewer.Mark) {\n var type = result.source.getType();\n\n if (type.match(/redaction/i)) { return 'redaction'; }\n else if (type.match(/annotation/i)) { return 'annotation'; }\n else if (type.match(/signature/i)) { return 'signature'; }\n }\n\n if (result.source && result.source instanceof PCCViewer.Comment) {\n return 'comment';\n }\n\n return 'unknown';\n };\n\n // This function will sort the search results DOM elements, and fir the even/odd classnames.\n // It can be a bit slow for large result sets, so it should be throttled when executing in a loop.\n var sortAndColorCorrectResultsView = function(){\n var allResultsChildren = allResultsFragment.childNodes;\n\n // Sort the live DOM elements\n sortDOM(allResultsChildren, function(a, b){\n function getDataFromAttributes($e) {\n return {\n pccPageNumber : $e.attr(\"data-pcc-page-number\"),\n pccSortIndex : $e.attr(\"data-pcc-sort-index\"),\n pccRectY : $e.attr(\"data-pcc-rect-y\"),\n pccRectX : $e.attr(\"data-pcc-rect-x\"),\n pccAdtlIndex : $e.attr(\"data-pcc-adtl-index\")\n };\n }\n\n // get the data attributes out of the DOM\n var aData = getDataFromAttributes($(a));\n var bData = getDataFromAttributes($(b));\n\n // sort based on the sorting attributes\n return (aData.pccPageNumber !== bData.pccPageNumber) ? aData.pccPageNumber - bData.pccPageNumber :\n (aData.pccSortIndex !== bData.pccSortIndex) ? aData.pccSortIndex - bData.pccSortIndex :\n (aData.pccRectY !== bData.pccRectY) ? aData.pccRectY - bData.pccRectY :\n (aData.pccRectX !== bData.pccRectX) ? aData.pccRectX - bData.pccRectX :\n (aData.pccAdtlIndex !== bData.pccAdtlIndex) ? aData.pccAdtlIndex - bData.pccAdtlIndex : 0;\n });\n\n // Update the currently displayed search results.\n showResultsSubset(currentResultPageStartIndex);\n viewer.viewerNodes.$searchNextResult.removeAttr('disabled');\n };\n\n // Appends to the results view given partial results.\n // This function will throttle DOM building and sorting for large amounts of data.\n var partialResultsTimeout,\n delayCount = 0;\n var buildPartialResultsView = function(partialSearchResults) {\n var rectangle = {},\n typeClass = '',\n searchResult, resultsVerbiage, searchResultId;\n\n var searchTasks = _.chain(partialSearchResults)\n .reduce(function (memo, result) {\n var pageNum = result.getPageNumber();\n if (memo[pageNum]) {\n memo[pageNum].push(result);\n } else {\n memo[pageNum] = [result];\n }\n return memo;\n }, {})\n .map(function (resultGroup, pageNum) {\n var requestText = false;\n\n _.each(resultGroup, function(result) {\n searchResult = resultView.select(result);\n searchResultId = resultView.selectId(result);\n\n\n // if there is a previously selected relevant result,\n // restore it\n if (activeSearchResultRestoreId === searchResultId) {\n activeSearchResultRestoreId = null;\n var originalActiveResultPageStartIndex = activeResultPageStartIndex;\n $(searchResult).trigger('click', true);\n activeResultPageStartIndex = originalActiveResultPageStartIndex;\n }\n\n typeClass = 'pcc-search-result-' + getSearchResultType(result);\n $(searchResult).addClass(typeClass);\n\n // Get the primary sort index for this search result.\n var sortIndex = (result.index !== undefined) ? result.index : result.getStartIndexInPage();\n\n // If the sort index is equal to -2, then this is a mark or comment search result and\n // we want to resort it based on position relative to page text.\n if (sortIndex === -2 && result.index === -2) {\n requestText = true;\n\n searchResultsToResort.push({\n domElement: searchResult,\n searchResult: result\n });\n }\n\n // Add sorting parameters to the DOM element\n searchResult.setAttribute('data-pcc-page-number', result.getPageNumber());\n searchResult.setAttribute('data-pcc-sort-index', sortIndex);\n\n // Add an additional sorting parameter to use for multiple hits in one object\n var additionalIndex = (result instanceof PCCViewer.SearchResult) ? result.getStartIndexInPage() :\n (result instanceof PCCViewer.SearchTaskResult) ? result.getStartIndexInInput() : 0;\n searchResult.setAttribute('data-pcc-adtl-index', additionalIndex);\n\n rectangle = result.getBoundingRectangle();\n searchResult.setAttribute('data-pcc-rect-x', rectangle.x);\n searchResult.setAttribute('data-pcc-rect-y', rectangle.y);\n\n allResultsFragment.appendChild(searchResult);\n\n searchResultsCount++;\n\n resultsVerbiage = (searchResultsCount === 1) ? PCCViewer.Language.data.searchResultFound : PCCViewer.Language.data.searchResultsFound;\n\n updateStatusUi(searchResultsCount + resultsVerbiage, true, 100 * (result.getPageNumber() / viewer.pageCount));\n });\n return function (next) {\n if (requestText) {\n ensurePageTextIsRequested(Number(pageNum), next);\n } else {\n next();\n }\n };\n }).value();\n\n parallelSync(searchTasks, 3, function(err) {\n if (err) {\n viewer.notify({\n message: PCCViewer.Language.data.searchQuickActions.searchFailed,\n type: 'error'\n });\n }\n });\n\n // Display relatively small result sets immediately.\n if (searchResults.length < resultsPageLength) {\n if (searchResults.length) {\n sortAndColorCorrectResultsView();\n }\n } else {\n // Gradually build up the trottle.\n // The user will see the first results right away, and the\n // bottom of the list will populate a little more slowly. This\n // avoids expensive rendering by the browser when the user can't\n // see the effects.\n var delay = Math.min(200 * (delayCount), 1000);\n\n delayCount += 1;\n if (partialResultsTimeout) {\n clearTimeout(partialResultsTimeout);\n partialResultsTimeout = undefined;\n }\n\n partialResultsTimeout = setTimeout(sortAndColorCorrectResultsView, delay);\n }\n };\n\n var showResultsSubset = function (startIndex) {\n var subsetFragment = document.createDocumentFragment();\n\n currentResultPageStartIndex = startIndex;\n\n if (currentResultPageStartIndex > 0) {\n viewer.viewerNodes.$searchPrevResultsPage.removeAttr('disabled');\n }\n else {\n viewer.viewerNodes.$searchPrevResultsPage.attr('disabled', 'disabled');\n }\n\n var allResultsChildren = allResultsFragment.childNodes;\n var endIndex;\n if (searchResultsCount > currentResultPageStartIndex + resultsPageLength) {\n viewer.viewerNodes.$searchNextResultsPage.removeAttr('disabled');\n endIndex = currentResultPageStartIndex + resultsPageLength;\n }\n else {\n viewer.viewerNodes.$searchNextResultsPage.attr('disabled', 'disabled');\n endIndex = searchResultsCount;\n }\n\n // Clone the results that should be showing currently.\n var i;\n for (i = currentResultPageStartIndex; i < endIndex; i++) {\n var subsetResult = $(allResultsChildren[i]).clone(true);\n subsetFragment.appendChild(subsetResult[0]);\n }\n\n viewer.viewerNodes.$searchResults.empty();\n viewer.viewerNodes.$searchResults.append(subsetFragment);\n viewer.viewerNodes.$searchResults.scrollTop(0);\n\n if (activeSearchResultId !== undefined) {\n var $activeSearchResult = viewer.viewerNodes.$searchResults.find(\"[data-pcc-search-result-id='\" + activeSearchResultId + \"']\");\n $activeSearchResult.addClass('pcc-active');\n $activeSearchResult.attr('data-pcc-active-toggle', 'active');\n if (allResultsFragment.childNodes.length > activeResultPageStartIndex + resultsPageLength && activeResultPageStartIndex > 0) {\n updatePrevNextButtons();\n }\n }\n\n // The order of DOM elements has changed, so add and remove .pcc-odd class as needed\n viewer.viewerNodes.$searchResults.find('.pcc-row:even').removeClass('pcc-odd');\n viewer.viewerNodes.$searchResults.find('.pcc-row:odd').addClass('pcc-odd');\n };\n\n viewer.viewerNodes.$searchPrevResultsPage.on('click', function (ev) {\n ev.preventDefault();\n showResultsSubset(currentResultPageStartIndex - resultsPageLength);\n });\n viewer.viewerNodes.$searchNextResultsPage.on('click', function (ev) {\n ev.preventDefault();\n showResultsSubset(currentResultPageStartIndex + resultsPageLength);\n });\n\n var searchTermFilterClickAction = function(){\n $(this).find('[data-pcc-checkbox]').toggleClass('pcc-checked');\n\n // some GC cleanup magic\n onFilterDismissFunction = undefined;\n onFilterDismissFunction = function() {\n // Execute a new search using only the filtered items\n executeSearch(true);\n };\n };\n\n var searchTermQuickActionClickAction = function(){\n $(this).find('[data-pcc-checkbox]').toggleClass('pcc-checked');\n var searchTerms = viewer.viewerNodes.$searchQuickActionsSearchTerms.find('.pcc-quick-action-search-term');\n\n var checkedTerms = viewer.viewerNodes.$searchQuickActionsSearchTerms.find('.pcc-checked');\n\n if ( checkedTerms.length === 0 || !searchRequest.getIsComplete || !searchRequest.getIsComplete() || !searchResultsCount) {\n viewer.viewerNodes.$searchQuickActionRedact.attr('disabled', true);\n }\n else if (checkedTerms.length < searchTerms.length) {\n viewer.viewerNodes.$searchQuickActionRedact.removeAttr('disabled', true);\n viewer.viewerNodes.$searchRedact.html(PCCViewer.Language.data.searchQuickActions.redactSelected);\n } else {\n viewer.viewerNodes.$searchQuickActionRedact.removeAttr('disabled', true);\n viewer.viewerNodes.$searchRedact.html(PCCViewer.Language.data.searchQuickActions.redactAll);\n }\n };\n\n // Triggered when a partial set of search results is available. This triggers one final time before the\n // search completes. Properties appended to the event object: .partialSearchResults\n var partialSearchResultHandler = function (ev) {\n\n // append the partial results to the results collection\n searchResults.push.apply(searchResults, ev.partialSearchResults);\n\n buildPartialResultsView(ev.partialSearchResults);\n\n // Update the filter UI if results were added\n if (ev.partialSearchResults && ev.partialSearchResults.length) {\n buildSearchTermUI();\n }\n };\n\n // Triggered when search has completed due to failure, abort, or when the full set of search results is available.\n var searchCompletedHandler = function (ev) {\n unHookSearchResultEvents();\n\n var resultsVerbiage = (searchResultsCount === 0) ? PCCViewer.Language.data.nothingFound : '',\n pagesWithoutTextMsg = '',\n countPagesWithoutText, pagesWithoutTextWarning = '';\n\n updateStatusUi(resultsVerbiage, false, 100);\n\n viewer.viewerNodes.$searchCancel.addClass('pcc-hide');\n viewer.viewerNodes.$searchInput.removeAttr('disabled');\n viewer.viewerNodes.$searchClear.removeAttr('disabled');\n viewer.viewerNodes.$searchSubmit.removeClass('pcc-hide');\n viewer.viewerNodes.$searchStatus.addClass('pcc-done');\n\n if (searchResults.length) {\n viewer.viewerNodes.$searchQuickActionRedact.removeAttr('disabled');\n }\n\n viewer.viewerNodes.$searchResultsContainer.addClass('pcc-show-lg');\n\n countPagesWithoutText = searchRequest.getPagesWithoutText ? searchRequest.getPagesWithoutText().length : 0;\n\n if (viewer.pageCount === countPagesWithoutText) {\n var currentSearchStatusWording = viewer.viewerNodes.$searchResultCount.html();\n\n pagesWithoutTextWarning = currentSearchStatusWording + ''\n .replace('{{MSG}}', PCCViewer.Language.data.noSearchableText);\n } else if (countPagesWithoutText > 0) {\n var currentSearchStatusWording = viewer.viewerNodes.$searchResultCount.html();\n\n pagesWithoutTextMsg = countPagesWithoutText + ' ' + PCCViewer.Language.data.cannotSearch;\n\n pagesWithoutTextWarning = currentSearchStatusWording + ''\n .replace('{{MSG}}', pagesWithoutTextMsg);\n }\n\n if (pagesWithoutTextWarning.length) {\n updateStatusUi(pagesWithoutTextWarning, false, 100);\n }\n };\n\n // Triggered when the search has completed due to failure.\n var searchFailedHandler = function (ev) {\n var msg = PCCViewer.Language.data.searchError + searchRequest.getErrorMessage();\n\n unHookSearchResultEvents();\n updateStatusUi(PCCViewer.Language.data.searchCancelled, false, 100);\n\n viewer.viewerNodes.$searchCancel.addClass('pcc-hide');\n viewer.viewerNodes.$searchInput.removeAttr('disabled');\n viewer.viewerNodes.$searchClear.removeAttr('disabled');\n viewer.viewerNodes.$searchInput.removeAttr('disabled');\n viewer.viewerNodes.$searchClear.removeAttr('disabled');\n viewer.viewerNodes.$searchSubmit.removeClass('pcc-hide');\n\n viewer.notify({\n message: msg\n });\n };\n\n // Triggered when the search has completed due to a call to cancel.\n var searchCancelledHandler = function (ev) {\n unHookSearchResultEvents();\n updateStatusUi(PCCViewer.Language.data.searchCancelled, false, 100);\n\n viewer.viewerNodes.$searchCancel.addClass('pcc-hide');\n viewer.viewerNodes.$searchSubmit.removeClass('pcc-hide');\n };\n\n // Triggered when the search has completed because the full set of search results is available.\n var searchResultsAvailableHandler = function () {\n updateStatusUi('', false, 100);\n };\n\n // Detaches all event associated with executing a search.\n var unHookSearchResultEvents = function () {\n if (searchRequest instanceof PCCViewer.SearchRequest) {\n searchRequest.off('PartialSearchResultsAvailable', partialSearchResultHandler);\n searchRequest.off('SearchCompleted', searchCompletedHandler);\n searchRequest.off('SearchFailed', searchFailedHandler);\n searchRequest.off('SearchCancelled', searchCancelledHandler);\n searchRequest.off('SearchResultsAvailable', searchResultsAvailableHandler);\n }\n };\n\n // Resets the module's properties used to track search results.\n var resetSearchParams = function () {\n searchResultsCount = 0;\n activeSearchResultId = undefined;\n $(allResultsFragment).children().off();\n while (allResultsFragment.firstChild) {\n allResultsFragment.removeChild(allResultsFragment.firstChild);\n }\n redactionMarks = [];\n };\n\n // If the viewer's searchOnInit options is set to true, then this function will cause a search to be executed.\n var initialSearchHandler = function () {\n if (viewer.presetSearch.searchOnInit === true) {\n viewer.presetSearch.searchOnInit = false; // only fire once\n setTimeout(function () {\n viewer.viewerNodes.$searchSubmit.click();\n }, 1200);\n }\n };\n\n var populateSearchTerms = function(searchQuery, results, $container, clickAction, classFragment, terms, includeUnfixed, includeFixed, hideNotInUse) {\n if (_.size(terms) === 0) {\n return;\n }\n\n var fragment = document.createDocumentFragment();\n\n $container.empty();\n\n // get count of results by term\n var resultsByTerm = _.reduce(results, function(seed, res){\n // filter out marks search from filters view\n if (res.getSearchTerm) {\n var termOptions = res.getSearchTerm(),\n term = '',\n prettyName = '';\n\n term = termOptions.searchTerm;\n\n if ((termOptions.fixed && !includeFixed) || (!termOptions.fixed && !includeUnfixed)) {\n return seed;\n }\n\n prettyName = terms[term].prettyName;\n\n seed[term] = seed[term] || {\n count: 0,\n color: res.getHighlightColor(),\n prettyName: prettyName,\n originalTerm: term\n };\n\n seed[term].count += 1;\n }\n\n return seed;\n }, {});\n\n // Display the processed terms and counts in the filters view\n _.forEach(terms, function(globalResultElem, termName) {\n var localResultElem = resultsByTerm[termName],\n localColor = '#ffffff',\n localCount = 0,\n persistColor = true;\n\n if (localResultElem) {\n // This term has hits in the current search\n localCount = localResultElem.count;\n localColor = localResultElem.color || localColor;\n } else if (!globalResultElem.isInUse) {\n // This term was not used, so we need to keep its previous data\n localCount = globalResultElem.prevCount;\n localColor = globalResultElem.searchOption.highlightColor || localColor;\n } else {\n // This term has no hits in this\n localCount = 0;\n localColor = globalResultElem.searchOption.highlightColor || localColor;\n\n // do not persist colors in this case, since the color has not been assigned yet\n persistColor = false;\n }\n\n // If the term is not in use, zero out the count\n if (!globalResultElem.isInUse) {\n localCount = 0;\n }\n\n // Persist new count and auto-assigned colors in the global search term objects\n globalResultElem.prevCount = localCount;\n if (persistColor) {\n globalResultElem.searchOption.highlightColor = localColor;\n }\n\n // If the element should be hidden when not in use, continue to the next element\n if (hideNotInUse && !globalResultElem.isInUse) {\n return;\n }\n\n // If the element should not be included because it is not a fixed search term, continue to the next element\n if (!includeUnfixed && !globalResultElem.searchOption.fixed) {\n return;\n }\n\n // If the element should not be included because it is a fixed search term, continue to the next element\n if (!includeFixed && globalResultElem.searchOption.fixed) {\n return;\n }\n\n var checkboxClassName = globalResultElem.isInUse ?\n 'pcc-checkbox pcc-checked' :\n 'pcc-checkbox',\n div = resultView.elem('div', { className: 'pcc-search-' + classFragment + ' pcc-' + classFragment + '-term pcc-row' }),\n count = resultView.elem('span', { className: 'pcc-term-count pcc-col-1', text: localCount }),\n checkbox = resultView.elem('div', { className: checkboxClassName }),\n icon = resultView.elem('span', { className: 'pcc-icon pcc-icon-check' }),\n text = resultView.elem('span', { className: 'pcc-' + classFragment + '-search-term pcc-col-9', text: globalResultElem.prettyName }),\n backgroundColor = PCCViewer.Util.layerColors({ color: localColor, opacity: 100 }, '#ffffff');\n\n count.style.backgroundColor = backgroundColor;\n\n checkbox.setAttribute('data-pcc-checkbox', '');\n checkbox.appendChild(icon);\n div.appendChild(checkbox);\n div.appendChild(text);\n div.appendChild(count);\n\n div.setAttribute('data-pcc-' + classFragment + '-term', termName);\n div.setAttribute('data-pcc-' + classFragment + '-count', globalResultElem.prevCount);\n\n var $div = $(div).on('click', clickAction);\n\n parseIcons($div);\n\n fragment.appendChild(div);\n });\n\n $container.append(fragment);\n\n // Sort the hit filters based on count\n // Highest count will appear toward the top\n sortDOM($container.children(), function(a, b){\n var aData = $(a).data('pcc-' + classFragment + '-count'),\n bData = $(b).data('pcc-' + classFragment + '-count');\n\n return bData - aData;\n });\n };\n\n // Causes a user initiated search to be executed.\n var executeSearch = function (isRerun, retainUI, excludePresetTerms) {\n if (isRerun !== true) {\n // this is a new search, so we should not preserve anything\n // previously selected\n activeSearchResultId = undefined;\n activeSearchResultRestoreId = null;\n } else if (activeSearchResultId !== undefined) {\n // if this is a rerun, like maybe from a filter, make\n // sure to save the state of the selected result so that\n // we can restore it later\n activeSearchResultRestoreId = activeSearchResultId;\n }\n $event.off('deselectPreviousResult');\n\n searchResultsCount = 0;\n\n // clear quick action panel\n resetQuickActionMenu();\n\n // reset advanced search DOM nodes\n $advancedSearchToggle.removeClass('pcc-active');\n $advancedSearchPanel.removeClass('pcc-open');\n\n // blur the search input box\n viewer.viewerNodes.$searchInput.blur();\n\n // clear results DOM\n viewer.viewerNodes.$searchResults.empty();\n resetSearchParams();\n // clear the search from the viewer\n viewer.viewerControl.clearSearch();\n // reset the results throttle variables\n delayCount = 0;\n // delete the previous search request object\n if (searchRequest instanceof PCCViewer.SearchRequest) {\n // Setting this explicitly before reassigning will explicitly release the previous\n // request, and anything it may have in scope, to GC.\n searchRequest = undefined;\n searchRequest = {};\n }\n // clear the onFilterDismiss function, as it is no longer valid\n onFilterDismissFunction = undefined;\n // clear active search result\n activeSearchResultId = undefined;\n // clear comment highlights\n clearAllCommentResults(searchResults);\n // clear mark highlights\n clearAllMarkResults();\n\n // reset previous search results\n searchResults = [];\n\n // reset previous set of search results to resort\n searchResultsToResort = [];\n\n // unless this is a filtered search, reset the global search cache\n if (!isRerun) {\n globalSearchTerms = {};\n globalUnfixedSearchTerms = {};\n }\n\n currentResultPageStartIndex = 0;\n\n // get areas to search in from the UI buttons\n var searchIn = _.reduce( $('[data-pcc-search-in].pcc-active'), function(seed, el){\n var location = el.getAttribute('data-pcc-search-in');\n seed[location] = true;\n seed.filterCount += 1;\n\n return seed;\n }, { filterCount: 0 });\n\n // Track within the module, whether or not we are searching the document text.\n searchingInDocument = searchIn.document ? true : false;\n\n if (!advancedSearchIsOn) {\n // advanced search is disabled, so we should only search in the document\n searchIn.document = true;\n searchIn.filterCount = 1;\n }\n\n // check if searching in any content was requested\n if (!searchIn.filterCount) {\n // execute a search complete and exit this method\n searchCompletedHandler();\n return;\n }\n\n var searchQuery = getSearchQuery(!!isRerun, excludePresetTerms),\n serverValid = viewer.viewerControl.validateSearch(searchQuery),\n errorMsg = [];\n\n // Save the search query to be used for search area filters\n prevSearchQuery = searchQuery;\n\n // reset the search terms views\n buildSearchTermUI();\n\n viewer.viewerNodes.$searchNextResult.attr('disabled', 'disabled');\n viewer.viewerNodes.$searchPrevResult.attr('disabled', 'disabled');\n viewer.viewerNodes.$searchNextResultsPage.attr('disabled', 'disabled');\n viewer.viewerNodes.$searchPrevResultsPage.attr('disabled', 'disabled');\n\n // Check to see if all terms were unchecked in the UI\n if (searchQuery.searchTerms.length === 0) {\n // Open results panel and update state\n if (retainUI !== true) {\n showSearchBar();\n }\n\n // Attempt to only show marks.\n // Do not search in mark text, as there are no text queries\n searchIn.markText = false;\n executeMarksSearch(searchQuery, searchIn);\n\n // There are no search terms to look for\n searchCompletedHandler();\n\n return;\n }\n\n // Validate proximity search\n var proximityTerm = _.find(searchQuery.searchTerms, function(searchTerm){\n return searchTerm.type === 'proximity';\n });\n if(proximityTerm){\n if(!proximityTerm.distance){\n viewer.notify({\n message: PCCViewer.Language.data.proximitySearchMissingDistanceError || 'Incorrect syntax. Use ~n format to specify the distance of the proximity search. \\n\\n Example: term1 term2 ~3',\n sticky: true\n });\n updateStatusUi(PCCViewer.Language.data.nothingFound, false, 100);\n return;\n }\n\n if(proximityTerm.terms.length !== 2) {\n viewer.notify({\n message: proximityTerm.terms.length > 2 ?\n PCCViewer.Language.data.proximitySearchTooManyTermsError || 'You can only specify two search terms in a proximity search':\n PCCViewer.Language.data.proximitySearchNotEnoughTermsError || 'You must specify at least two search terms in a proximity search',\n sticky: true\n });\n updateStatusUi(PCCViewer.Language.data.nothingFound, false, 100);\n return;\n }\n }\n\n if (serverValid.errorsExist) {\n if (typeof serverValid.summaryMsg !== 'undefined') {\n errorMsg.push(serverValid.summaryMsg);\n } else {\n for (var i = 0; i < serverValid.searchTerms.length; i++) {\n var termObj = serverValid.searchTerms[i];\n\n if (!termObj.isValid) {\n errorMsg.push(termObj.message);\n }\n }\n }\n\n viewer.notify({\n message: _.uniq(errorMsg, true).join(' ')\n });\n\n return;\n }\n\n updateStatusUi(PCCViewer.Language.data.searching, true, 100);\n\n viewer.viewerNodes.$searchSubmit.addClass('pcc-hide');\n viewer.viewerNodes.$searchCancel.removeClass('pcc-hide');\n viewer.viewerNodes.$searchInput.attr('disabled', 'disabled');\n viewer.viewerNodes.$searchClear.attr('disabled', 'disabled');\n\n viewer.$dom.find('.pcc-dropdown').removeClass('pcc-open');\n\n if (retainUI !== true) {\n showSearchBar();\n }\n\n // Queue search in document first, since it is asynchronous and takes time\n if (searchIn.document) {\n searchRequest = viewer.viewerControl.search(searchQuery);\n\n searchRequest.on('PartialSearchResultsAvailable', partialSearchResultHandler);\n searchRequest.on('SearchCompleted', searchCompletedHandler);\n searchRequest.on('SearchFailed', searchFailedHandler);\n searchRequest.on('SearchCancelled', searchCancelledHandler);\n searchRequest.on('SearchResultsAvailable', searchResultsAvailableHandler);\n }\n\n // Search marks if requested\n // This is synchronous and relatively fast\n if (searchIn.annotations || searchIn.redactions || searchIn.signatures) {\n executeMarksSearch(searchQuery, searchIn);\n }\n\n // Search comments if requested\n // This is synchronous and relatively fast\n if (searchIn.comments) {\n executeCommentsSearch(searchQuery);\n }\n\n // Show the results panel, so user can see results start to come in\n viewer.viewerNodes.$searchResultsContainer.addClass('pcc-show-lg');\n\n // If not searching in document, then the search is now done at this point\n if (!searchIn.document) {\n searchCompletedHandler();\n }\n\n viewer.viewerNodes.$searchQuickActionRedact.attr('disabled', true);\n resetQuickActionMenu();\n };\n\n var executeMarksSearch = function(searchQuery, searchIn){\n // augment searchIn object with mark specific options\n searchIn = _.reduce( $('[data-pcc-search-in-marks]'), function(seed, el) {\n\n // Ignore this filter if it's not checked\n if (!$(el).find('.pcc-checked')[0]) {\n return seed;\n }\n\n var location = el.getAttribute('data-pcc-search-in-marks');\n seed[location] = true;\n seed.filterCount += 1;\n\n return seed;\n }, searchIn);\n\n if (searchQuery.searchTerms.length === 0) {\n // do not search in mark text if there are no terms to search\n searchIn.markText = false;\n }\n\n var allTextMarks = [],\n allDrawingMarks = [],\n redactionReasons = [],\n results = [];\n\n // Filter all marks into local collections based on type and whether the user requested them.\n _.forEach(viewer.viewerControl.getAllMarks(), function(mark){\n var category = (mark.getType().match(/redaction/i)) ? 'redactions' :\n (mark.getType().match(/signature/i)) ? 'signatures' : 'annotations';\n\n if (!searchIn[category]) {\n // this mark was not requested\n return;\n }\n\n // filter redactions with reasons at this point, which will be searched separately\n if (mark.getReason) {\n redactionReasons.push(mark);\n return;\n }\n\n if (mark.getText && searchIn.markText && category !== 'signatures') {\n allTextMarks.push(mark);\n } else if (searchIn.showAllTypes) {\n allDrawingMarks.push(mark);\n }\n });\n\n // normalize all marks results\n function pushResults(mark, resultArray){\n results.push.apply(results, _.map(resultArray, function(res){\n res.source = mark;\n res.index = viewer.viewerControl.getCharacterIndex(mark);\n res.getPageNumber = function(){ return mark.getPageNumber(); };\n res.getBoundingRectangle = function(){ return mark.getBoundingRectangle(); };\n\n return res;\n }));\n }\n\n // Search inside all text-based marks that were added to local collections\n if (allTextMarks.length && searchIn.markText) {\n var searchTask = new PCCViewer.SearchTask(searchQuery);\n\n _.forEach(allTextMarks, function(mark){\n var res = searchTask.search(mark.getText());\n pushResults(mark, res);\n });\n }\n\n // Search through all redactions with reasons added to local collections\n if (redactionReasons.length) {\n // find all reasons that the user requested to see\n var reasonsToShow = [];\n _.chain(searchIn).keys().forEach(function(name){\n if (name.match('reason:')) {\n reasonsToShow.push( name.replace('reason:', '') );\n }\n });\n\n // check if each redaction has a requested reason\n _.forEach(redactionReasons, function(mark){\n var thisReasons;\n if (options.enableMultipleRedactionReasons) {\n var thisReasons = mark.getReasons();\n if (thisReasons.length === 0) {\n thisReasons = [PCCViewer.Language.data.searchFilters.reasonUndefined];\n }\n } else {\n thisReasons = [mark.getReason() || PCCViewer.Language.data.searchFilters.reasonUndefined];\n }\n if (_.intersection(reasonsToShow, thisReasons).length > 0) {\n pushResults(mark, [{}]);\n }\n });\n }\n\n // Display all drawing-based marks added to local collections\n if (allDrawingMarks.length) {\n _.forEach(allDrawingMarks, function(mark){\n // It's okay to add an empty object as the result, since the normalizer will add\n // all of the required data from a plain drawing mark.\n pushResults(mark, [{}]);\n });\n }\n\n\n // handle all marks results as partial results\n partialSearchResultHandler({ partialSearchResults: results });\n\n // highlight the text in mark results\n highlightMatchingTextInMarkResults(results);\n };\n\n var executeCommentsSearch = function(searchQuery){\n var searchTask = new PCCViewer.SearchTask(searchQuery),\n results = [],\n commentIndex = 0;\n\n function searchComments(comments) {\n _.each(comments, function(c) {\n var resultsInComment = searchTask.search(c.getText()),\n markIndex = viewer.viewerControl.getCharacterIndex(c.getConversation().getMark());\n\n if (resultsInComment.length) {\n\n _.forEach(resultsInComment, function(result){\n // augment the properties of the result object\n result.source = c;\n result.index = markIndex;\n result.commentIndex = commentIndex;\n result.getPageNumber = function(){ return c.getConversation().getMark().getPageNumber(); };\n result.getBoundingRectangle = function(){ return c.getConversation().getMark().getBoundingRectangle(); };\n\n });\n\n results = results.concat( resultsInComment );\n commentIndex++;\n }\n });\n }\n\n var allCoversationsWithComments = _.chain(viewer.viewerControl.getAllMarks()).filter(function(mark){\n return mark.getConversation().getComments().length;\n }).each(function(mark){\n searchComments( mark.getConversation().getComments() );\n });\n\n partialSearchResultHandler({ partialSearchResults: results });\n\n showAllCommentResults(results);\n };\n\n // When a the 'wild card' button is selected, this function will manage the toggle state of other buttons\n // that are logically affected by the change in this button's toggle state.\n var wildcardClickHandler = function (wildcard) {\n if (checkDisabled($(wildcard))) {\n return false;\n }\n\n $(wildcard).toggleClass('pcc-active');\n\n if ($(wildcard).hasClass('pcc-active')) {\n viewer.viewerNodes.$searchMatchWholeWord.removeClass('pcc-active').addClass('pcc-disabled');\n viewer.viewerNodes.$searchBeginsWith.removeClass('pcc-active').addClass('pcc-disabled');\n viewer.viewerNodes.$searchEndsWith.removeClass('pcc-active').addClass('pcc-disabled');\n viewer.viewerNodes.$searchExactPhrase.removeClass('pcc-active').addClass('pcc-disabled');\n } else {\n viewer.viewerNodes.$searchMatchWholeWord.removeClass('pcc-disabled');\n viewer.viewerNodes.$searchBeginsWith.removeClass('pcc-disabled');\n viewer.viewerNodes.$searchEndsWith.removeClass('pcc-disabled');\n viewer.viewerNodes.$searchExactPhrase.removeClass('pcc-disabled');\n }\n\n return true;\n };\n\n // When beginsWith is selected endsWith should not be\n var beginsWithClickHandler = function (beginsWith) {\n if (checkDisabled($(beginsWith))) {\n return false;\n }\n\n $(beginsWith).toggleClass('pcc-active');\n\n if ($(beginsWith).hasClass('pcc-active')) {\n viewer.viewerNodes.$searchEndsWith.removeClass('pcc-active')\n }\n\n return true;\n };\n\n // When endsWith is selected beginsWith should not be\n var endsWithClickHandler = function (endsWith) {\n if (checkDisabled($(endsWith))) {\n return false;\n }\n\n $(endsWith).toggleClass('pcc-active');\n\n if ($(endsWith).hasClass('pcc-active')) {\n viewer.viewerNodes.$searchBeginsWith.removeClass('pcc-active')\n }\n\n return true;\n };\n\n // When a search button is selected, this function will manage the toggle state of itself\n // if additional buttons should be affected than the button needs its own click handler\n var genericSearchButtonClickHandler = function(btnElement) {\n var $btnElement = $(btnElement);\n if(checkDisabled($btnElement)) {\n return false;\n }\n $btnElement.toggleClass('pcc-active');\n return true;\n };\n\n var checkDisabled = function ($btnElement) {\n return $btnElement.hasClass('pcc-disabled');\n };\n\n // When the 'proximity' button is selected, this function will manage the toggle state of other buttons\n // that are logically affected by the change in this button's toggle state.\n var proximityClickHandler = function(proximitySearchButton) {\n if(checkDisabled($(proximitySearchButton))) {\n return false;\n }\n $(proximitySearchButton).toggleClass('pcc-active');\n\n // Create array of affected buttons\n var affectedButtons = $.map([\n viewer.viewerNodes.$searchExactPhrase,\n viewer.viewerNodes.$searchMatchCase,\n viewer.viewerNodes.$searchMatchWholeWord,\n viewer.viewerNodes.$searchBeginsWith,\n viewer.viewerNodes.$searchEndsWith,\n viewer.viewerNodes.$searchWildcard\n ], function(element){\n return element[0];\n });\n\n if ($(proximitySearchButton).hasClass('pcc-active')) {\n viewer.viewerNodes.$searchInput.attr('placeholder', PCCViewer.Language.data.proximitySearchPlaceholder);\n $(affectedButtons).removeClass('pcc-active').addClass('pcc-disabled');\n } else{\n viewer.viewerNodes.$searchInput.attr('placeholder', PCCViewer.Language.data.searchDocument);\n $(affectedButtons).removeClass('pcc-disabled');\n }\n\n return true;\n };\n\n // Selecting the Next button in the search result list causes the following search result to be selected and\n // displayed.\n var nextResultClickHandler = function (nextResultBtn) {\n if (searchResultsCount === 0 || $(nextResultBtn).attr('disabled')) {\n return false;\n }\n\n var results = viewer.viewerNodes.$searchResults;\n var $activeSearchResult;\n\n if (activeSearchResultId === undefined) {\n $activeSearchResult = results.children(\":first\");\n $activeSearchResult.click();\n } else {\n if (activeResultPageStartIndex !== currentResultPageStartIndex) {\n // Navigate to the page containing the active search result.\n showResultsSubset(activeResultPageStartIndex);\n }\n\n $activeSearchResult = results.find('[data-pcc-active-toggle=\"active\"]').next();\n\n if ($activeSearchResult.length) {\n activeSearchResultId = $activeSearchResult.attr('data-pcc-search-result-id');\n $activeSearchResult.click();\n results.scrollTop(results.scrollTop() + $activeSearchResult.position().top - 200);\n }\n else {\n showResultsSubset(currentResultPageStartIndex + resultsPageLength);\n $activeSearchResult = $(results.children()[0]);\n activeSearchResultId = $activeSearchResult.attr('data-pcc-search-result-id');\n $activeSearchResult.click();\n }\n }\n\n updatePrevNextButtons();\n };\n\n // Selecting the Previous button in the search result list causes the previous search result to be selected and\n // displayed.\n var previousResultClickHandler = function (previousResultBtn) {\n if (searchResultsCount === 0 || $(previousResultBtn).attr('disabled')) {\n return false;\n }\n\n var results = viewer.viewerNodes.$searchResults;\n var $activeSearchResult;\n\n if (activeSearchResultId === undefined) {\n $activeSearchResult = results.children(\":last\");\n $activeSearchResult.click();\n } else {\n if (activeResultPageStartIndex !== currentResultPageStartIndex) {\n // Navigate to the page containing the active search result.\n showResultsSubset(activeResultPageStartIndex);\n }\n\n $activeSearchResult = results.find('[data-pcc-active-toggle=\"active\"]').prev();\n\n if ($activeSearchResult.length) {\n activeSearchResultId = $activeSearchResult.attr('data-pcc-search-result-id');\n $activeSearchResult.click();\n results.scrollTop(results.scrollTop() + $activeSearchResult.position().top - 200);\n }\n else {\n showResultsSubset(currentResultPageStartIndex - resultsPageLength);\n results.scrollTop(results.prop('scrollHeight'));\n $activeSearchResult = $(results.children()[resultsPageLength - 1]);\n activeSearchResultId = $activeSearchResult.attr('data-pcc-search-result-id');\n $activeSearchResult.click();\n }\n }\n\n updatePrevNextButtons();\n };\n\n // This function manages the state of the Previous and Next navigation buttons in the search results list.\n var updatePrevNextButtons = function () {\n var $activeSearchResult = viewer.viewerNodes.$searchResults.find('[data-pcc-active-toggle=\"active\"]');\n var hasNextResult = $activeSearchResult.next().length > 0 || allResultsFragment.childNodes.length > activeResultPageStartIndex + resultsPageLength;\n var hasPrevResult = $activeSearchResult.prev().length > 0 || activeResultPageStartIndex > 0;\n\n if (hasNextResult) {\n viewer.viewerNodes.$searchNextResult.removeAttr('disabled');\n }\n else {\n viewer.viewerNodes.$searchNextResult.attr('disabled', 'disabled');\n }\n\n if (hasPrevResult) {\n viewer.viewerNodes.$searchPrevResult.removeAttr('disabled');\n }\n else {\n viewer.viewerNodes.$searchPrevResult.attr('disabled', 'disabled');\n }\n };\n\n // This function updates the search results list after session change\n var refresh = function() {\n if (viewer.viewerControl.searchRequest) {\n searchRequest = viewer.viewerControl.searchRequest;\n searchResults = searchRequest.results;\n\n if (viewer.viewerControl.selectedSearchResult) {\n activeSearchResultId = viewer.viewerControl.selectedSearchResult.id;\n }\n\n globalUnfixedSearchTerms = {};\n globalSearchTerms = {};\n fillGlobalSearchTerms(searchRequest.searchQuery.searchTerms);\n\n // Show the results panel, so user can see results start to come in\n viewer.viewerNodes.$searchResultsContainer.addClass('pcc-show-lg');\n\n buildPartialResultsView(searchResults);\n if (searchResults && searchResults.length) {\n buildSearchTermUI();\n }\n\n if (searchRequest.errorMessage) {\n searchFailedHandler();\n }\n if (searchRequest.isComplete) {\n searchCompletedHandler();\n }\n }\n };\n\n var cancelAndClearSearchResults = function() {\n unHookSearchResultEvents();\n cancelSearch();\n\n searchRequest = {};\n searchResults = [];\n resetSearchParams();\n\n viewer.viewerNodes.$searchResults.empty();\n viewer.viewerNodes.$searchResultCount.html(PCCViewer.Language.data.searchResultsNone);\n\n viewer.viewerNodes.$searchResultsContainer.removeClass('pcc-loading');\n viewer.viewerNodes.$searchStatus.hide();\n\n // clear quick action panel\n resetQuickActionMenu();\n // clear the filter terms list\n resetFilterTermsList();\n };\n\n // When the user chooses to clear the current search, this function cleans up the UI and associated data\n // structures.\n var clearSearch = function (ev) {\n var elDialog = viewer.$dom.find('.pcc-dialog-search');\n\n searchRequest = {};\n\n viewer.viewerNodes.$searchInput.val('');\n // disable the previous and next buttons\n elDialog.find('button[data-pcc-search]').prop('disabled', true);\n\n // If there are fixed search terms, execute a search for those instead of clearing all results.\n if (presetFixedSearchTerms.length > 0) {\n\n executeSearch(false, false, true);\n setSearchButtons({\n \"matchCase\": false,\n \"endsWith\": false,\n \"beginsWith\": false,\n \"matchWholeWord\": false,\n \"exactPhrase\": false\n });\n return;\n }\n\n searchResultsToResort = [];\n\n viewer.viewerNodes.$searchResults.empty();\n viewer.viewerNodes.$searchResultCount.html(PCCViewer.Language.data.searchResultsNone);\n\n viewer.$dom.find('.pcc-row-results-status').addClass('pcc-hide');\n\n viewer.$dom.find('[data-pcc-toggle-id=dropdown-search-patterns] input').prop('checked', false);\n\n resetSearchParams();\n // clear the search in viewer control\n if (viewer.viewerReady) {\n viewer.viewerControl.clearSearch();\n }\n // clear comment highlights\n clearAllCommentResults(searchResults);\n // clear mark highlights\n clearAllMarkResults();\n // clear quick action panel\n resetQuickActionMenu();\n // clear the filter terms list\n resetFilterTermsList();\n\n setSearchButtons({\n \"matchCase\": false,\n \"endsWith\": false,\n \"beginsWith\": false,\n \"matchWholeWord\": false,\n \"exactPhrase\": false\n });\n };\n\n // When user cancels a running search, this function updates the UI and also informs the API of\n // cancellation.\n var cancelSearch = function () {\n viewer.viewerNodes.$searchSubmit.removeClass('pcc-hide');\n viewer.viewerNodes.$searchCancel.addClass('pcc-hide');\n viewer.viewerNodes.$searchInput.removeAttr('disabled');\n viewer.viewerNodes.$searchClear.removeAttr('disabled');\n\n if (searchRequest instanceof PCCViewer.SearchRequest) {\n searchRequest.cancel();\n }\n };\n\n var setUIElementsSearch = function(){\n if(advancedSearchIsOn){\n // show the advanced search elements\n $searchContainerToggles.removeClass('pcc-hide');\n $searchContainerToggles.addClass('pcc-show');\n $advancedSearchColumnHeader.eq(1).removeClass('pcc-col-10');\n $advancedSearchColumnHeader.eq(1).addClass('pcc-col-8');\n $advancedSearchColumnHeader.eq(2).removeClass('pcc-hide');\n $advancedSearchColumnHeader.eq(2).addClass('pcc-show');\n } else {\n // advanced search is off\n viewer.viewerNodes.$searchFilterContainer.empty();\n }\n };\n\n $searchContainerToggles.on('click', function(ev){\n var $this = $(this),\n which = $this.data('pccSearchContainerToggle'),\n wasActive = $this.hasClass('pcc-active'),\n hideAllClass = 'pcc-hide pcc-hide-lg';\n\n if (wasActive) {\n // turn off this toggle\n $this.removeClass('pcc-active');\n\n viewer.viewerNodes.$searchDialog.removeClass('pcc-expand');\n } else {\n // turn on this toggle\n $searchContainerToggles.removeClass('pcc-active');\n $this.addClass('pcc-active');\n\n viewer.viewerNodes.$searchDialog.addClass('pcc-expand');\n }\n\n // toggle was flipped, so flip the bool\n var isActive = !wasActive;\n\n if (isActive) {\n\n // Hide all containers\n $searchContainers.addClass(hideAllClass);\n\n // Show current container\n $searchContainers.filter('[data-pcc-search-container=\"' + which + '\"]').removeClass(hideAllClass);\n\n // Hide the search results navigation\n if (which !== 'results') {\n viewer.viewerNodes.$searchDialog.find('.pcc-search-nav').addClass('pcc-hide');\n }\n\n // If opening a container other than filters, call the onDismiss function\n if (which !== 'filter' && onFilterDismissFunction && typeof onFilterDismissFunction === 'function') {\n onFilterDismissFunction();\n }\n } else {\n\n // Hide current container\n $searchContainers.filter('[data-pcc-search-container=\"' + which + '\"]').addClass(hideAllClass);\n\n // Show the default search results panel\n if (which !== 'results') {\n viewer.viewerNodes.$searchResultsContainer.removeClass(hideAllClass);\n viewer.viewerNodes.$searchDialog.find('.pcc-search-nav').removeClass('pcc-hide');\n }\n\n // If closing filters, call the onDismiss function\n if (which === 'filter' && onFilterDismissFunction && typeof onFilterDismissFunction === 'function') {\n onFilterDismissFunction();\n }\n }\n });\n\n // Request page text for a page only when text is not loaded in the viewer\n // and only if it has not previosly been requested for this page.\n var pageTextRequested = [];\n var ensurePageTextIsRequested = function(pageNumber, cb) {\n pageTextRequested[pageNumber] = pageTextRequested[pageNumber] ||\n viewer.viewerControl.isPageTextReady(pageNumber);\n if (pageTextRequested[pageNumber] !== true) {\n viewer.viewerControl.requestPageText(pageNumber).then(function() {\n cb();\n }, function(err) {\n cb(err);\n });\n } else {\n cb();\n }\n\n\n };\n\n // When page text is ready, re-sort any mark or comment search results that need\n // to be sorted based on position relative to text.\n var resortOnPageTextReady = function(ev) {\n if (searchResultsToResort && searchResultsToResort.length !== 0) {\n // We can re-sort search results for the page where text is ready\n var resultsForPage = _.filter(searchResultsToResort, function(result) {\n return result.searchResult.getPageNumber() === ev.pageNumber;\n });\n\n if (resultsForPage && resultsForPage.length !== 0) {\n // Remove results that we are re-sorting from the list of results to re-sort\n searchResultsToResort = _.difference(searchResultsToResort, resultsForPage);\n\n _.each(resultsForPage, function (result) {\n var newSortIndex = -2;\n if (result.searchResult.source instanceof PCCViewer.Comment) {\n newSortIndex = viewer.viewerControl.getCharacterIndex(result.searchResult.source.getConversation().getMark());\n } else {\n newSortIndex = viewer.viewerControl.getCharacterIndex(result.searchResult.source);\n }\n result.domElement.setAttribute('data-pcc-sort-index', newSortIndex);\n });\n\n sortAndColorCorrectResultsView();\n }\n }\n };\n\n // Perform any changes that need to occur when text is ready for a page.\n var pageTextReadyHandler = function(ev) {\n resortOnPageTextReady(ev);\n };\n\n // Restores search highlight after text selection based mark created.\n function bindRestoringSearchHighlight() {\n var textSelection;\n viewer.viewerControl.on(PCCViewer.EventType.TextSelected, function(ev) {\n textSelection = ev.textSelection;\n });\n\n viewer.viewerControl.on(PCCViewer.EventType.MarkCreated, function(ev) {\n // Ensure there is text selection, mark was created with mouse\n if (textSelection && ev.clientX && ev.clientY)\n // Ensure mark has text selection based type\n if (ev.mark.getType() === PCCViewer.Mark.Type.HighlightAnnotation ||\n ev.mark.getType() === PCCViewer.Mark.Type.TextSelectionRedaction ||\n ev.mark.getType() === PCCViewer.Mark.Type.StrikethroughAnnotation ||\n ev.mark.getType() === PCCViewer.Mark.Type.TextHyperlinkAnnotation) {\n viewer.viewerControl.clearMouseSelectedText(textSelection)\n textSelection = null;\n }\n });\n };\n\n // Initialize the module.\n init();\n\n // Show and hide filter sections when the titles are clicked on\n $searchFilterSections.on('click', '.pcc-section-title', function(){\n var $section = $(this).parent('.pcc-section');\n\n $section.toggleClass('pcc-expand');\n });\n\n $('[data-pcc-search-in]').on('click', function(ev){\n // change the state of this toggle\n $(this).toggleClass('pcc-active');\n\n // some GC cleanup magic\n onFilterDismissFunction = undefined;\n onFilterDismissFunction = function() {\n // run a new search with the new settings\n executeSearch(true);\n };\n });\n\n // Rerun search whenever one of the search areas is turned on or off\n $('[data-pcc-search-in-marks]').on('click', function(ev){\n var checkedClass = 'pcc-checked',\n $this = $(this),\n which = $this.attr('data-pcc-search-in-marks');\n\n $this.find('[data-pcc-checkbox]').toggleClass(checkedClass);\n\n // some GC cleanup magic\n onFilterDismissFunction = undefined;\n onFilterDismissFunction = function() {\n executeSearch(true);\n };\n });\n\n // The publicly accessible members of this module.\n return {\n initialSearchHandler: initialSearchHandler,\n executeSearch: executeSearch,\n wildcardClickHandler: wildcardClickHandler,\n matchWholeWordClickHandler: genericSearchButtonClickHandler,\n beginsWithClickHandler: beginsWithClickHandler,\n endsWithClickHandler: endsWithClickHandler,\n exactPhraseClickHandler: genericSearchButtonClickHandler,\n matchCaseClickHandler: genericSearchButtonClickHandler,\n proximityClickHandler: proximityClickHandler,\n nextResultClickHandler: nextResultClickHandler,\n previousResultClickHandler: previousResultClickHandler,\n clearSearch: clearSearch,\n cancelSearch: cancelSearch,\n refresh: refresh,\n cancelAndClearSearchResults: cancelAndClearSearchResults,\n pageTextReadyHandler: pageTextReadyHandler,\n bindRestoringSearchHighlight: bindRestoringSearchHighlight,\n on: function(name, func) {\n $event.on(name, func);\n },\n off: function(name, func) {\n $event.off(name, func);\n }\n };\n })();\n\n // The annotationIo module manages the loading and saving of annotations between the\n // viewer and the web tier.\n this.annotationIo = (function () {\n\n // Contains the current state of annotations in regards to whether they are saved or not to the web tier.\n var annotationDirty = false,\n\n // Clone the generic view generator to allow us to make results in annotations\n resultView = _.clone(genericView),\n\n // The name of the currently loaded annotation record.\n currentlyLoadedAnnotation,\n\n // The jQuery selector for the dialog window warning of an existing annotation record with the same name.\n $overwriteOverlay,\n\n // The jQuery selector for the dialog window warning of unsaved annotation changes.\n $unSavedChangesOverlay,\n\n // The jQuery selector for the generic overlay background.\n $overlayFade,\n\n // This is a container object that maps annotation record ids (as keys) to annotation record objects (as values)\n markupRecords = {},\n\n modes = {\n loadClassic: \"load\",\n saveClassic: \"save\",\n loadMarkupLayers: \"loadMarkupLayers\",\n saveMarkupLayers: \"saveMarkupLayers\"\n },\n loadedReviewMarkupLayers = {},\n loadedReviewMarkupXml = {},\n loadedEditMarkupLayer,\n toggleAllReviewLayers,\n recordsLoadPending = 0;\n\n function getLayerComments(layer) {\n var marks = viewer.viewerControl.getAllMarks(),\n comments = [];\n\n _.each(marks, function(mark) {\n comments = comments.concat(mark.getConversation().getComments());\n });\n\n comments = _.filter(comments, function(comment) {\n return comment.getMarkupLayer() && comment.getMarkupLayer().getId() === layer.getId();\n });\n\n return comments;\n }\n\n function setLayerCommentsOwner(layer) {\n var layerComments = getLayerComments(layer);\n\n _.each(layerComments, function(comment) {\n if (typeof comment.getData('Accusoft-owner') === 'undefined') {\n comment.setData('Accusoft-owner', layer.getName());\n }\n });\n\n viewer.viewerControl.refreshConversations();\n }\n\n // Initialize the module by attaching UI event handlers and by attaching listeners for events that\n // modify annotations.\n var init = function () {\n\n loadedEditMarkupLayer = viewer.viewerControl.getActiveMarkupLayer();\n\n var updateReviewLayerLoadUi = function(recordId, operation, operationSuccessful) {\n\n var disabled = false;\n\n var $recordEl = viewer.viewerNodes.$annotationLayersList.find('[data-pcc-annotation-layer-record-id=\"' + recordId + '\"]');\n\n if (!$recordEl.length) {\n $recordEl = viewer.viewerNodes.$annotationLayersList.find('[data-pcc-annotation-xml-record-id=\"' + recordId + '\"]');\n }\n\n if ( (operation === 'loadReviewXmlRecord' || operation === 'loadReviewLayerRecord') && operationSuccessful) {\n $recordEl.addClass('pcc-checked');\n recordsLoadPending--;\n } else if ( (operation === 'loadReviewXmlRecord' || operation === 'loadReviewLayerRecord') && !operationSuccessful) {\n $recordEl.removeClass('pcc-checked');\n recordsLoadPending--;\n } else {\n $recordEl.removeClass('pcc-checked');\n }\n\n $recordEl.data('pcc-loading', 'false');\n $recordEl.find('.pcc-load').hide();\n $recordEl.find('.pcc-checkbox').show();\n\n // The following elements should only be updated if there are no pending records to load\n if (recordsLoadPending === 0) {\n $(toggleAllReviewLayers).find('.pcc-load').hide();\n $(toggleAllReviewLayers).find('.pcc-checkbox').show();\n $(toggleAllReviewLayers).data('pcc-loading', 'false');\n\n if ($.isEmptyObject(loadedReviewMarkupLayers) && $.isEmptyObject(loadedReviewMarkupXml) && !loadedEditMarkupLayer) {\n disabled = true;\n }\n\n viewer.viewerNodes.$annotationLayersDone.html(PCCViewer.Language.data.doneButton);\n viewer.viewerNodes.$annotationLayersDone.prop('disabled', disabled);\n viewer.viewerNodes.$annotationLayersBack.prop('disabled', false);\n }\n\n parseIcons($recordEl);\n\n };\n\n annotationModificationListeners();\n\n viewer.viewerNodes.$annotateSaveDialog.find('input').on('keydown', function (event) {\n return handleFilenameInput(this, event);\n });\n\n viewer.viewerNodes.$annotateSaveDialog.find('button').on('click', function () {\n\n var fieldVal = viewer.viewerNodes.$annotateSaveDialog.find('input').val();\n safeSave(fieldVal);\n });\n\n viewer.viewerNodes.$annotationList.on('click', '.pcc-row', function () {\n\n handleLoadSelection(this);\n\n });\n\n // Handle selection of layer record in the 'for editing' dropdown\n viewer.viewerNodes.$annotationLayersDropdown.on('click', '.pcc-annotation-layer-record', function (ev) {\n\n var recordId = $(this).attr('data-pcc-annotation-layer-record-id');\n\n // If there is no layer record ID, the marks are stored in XML.\n // Get the XML record ID instead, and load the marks from XML.\n if (recordId === undefined) {\n\n // If the record is already loaded, notify the user and do not load again\n if (loadedReviewMarkupXml[viewer.viewerControl.getActiveMarkupLayer().getOriginalXmlName()] ) {\n viewer.notify({\n message: PCCViewer.Language.data.annotationLayerAlreadyLoaded\n });\n\n return;\n }\n\n // If an editable layer is previously loaded, then clear it away first\n if (viewer.viewerControl.getActiveMarkupLayer()) {\n unloadLayerRecord(viewer.viewerControl.getActiveMarkupLayer().getRecordId(), function(){});\n }\n\n loadEditXmlRecord($(this).attr('data-pcc-annotation-xml-record-id'));\n return;\n }\n\n // If the record is already loaded, notify the user and do not load again\n if (loadedReviewMarkupLayers[recordId] ) {\n viewer.notify({\n message: PCCViewer.Language.data.annotationLayerAlreadyLoaded\n });\n\n return;\n }\n\n // If an editable layer is previously loaded, then clear it away first\n if (viewer.viewerControl.getActiveMarkupLayer()) {\n unloadLayerRecord(viewer.viewerControl.getActiveMarkupLayer().getRecordId(), function(){});\n }\n\n // Load the record and track it as the layer loaded for editing\n loadEditLayerRecord(recordId);\n\n });\n\n // Handle selection of layer record in the 'for review' list\n viewer.viewerNodes.$annotationLayersList.on('click', '.pcc-annotation-layer-record', function (ev) {\n\n if ($(this).data('pcc-loading') === 'true' ) {\n return;\n }\n\n $(this).data('pcc-loading', 'true');\n $(this).find('.pcc-checkbox').hide();\n var $loader = $(this).find('.pcc-load').show().addClass('pcc-icon pcc-icon-loader');\n updateIcon($loader);\n\n var recordId = $(this).attr('data-pcc-annotation-layer-record-id');\n\n // If there is no layer record ID, the marks are stored in XML.\n // Get the XML record ID instead, and load the marks from XML.\n if (recordId === undefined) {\n\n var xmlLayerName = $(this).attr('data-pcc-annotation-xml-record-id');\n\n // If the record is already loaded, notify the user and do not load again\n if (viewer.viewerControl.getActiveMarkupLayer() && xmlLayerName === viewer.viewerControl.getActiveMarkupLayer().getOriginalXmlName()) {\n viewer.notify({\n message: PCCViewer.Language.data.annotationLayerAlreadyLoaded\n });\n\n return;\n }\n\n // Load the record and track it as a layer loaded for review\n if (!$(this).hasClass('pcc-checked')) {\n recordsLoadPending++;\n loadReviewXmlRecord(xmlLayerName, updateReviewLayerLoadUi);\n } else {\n var xmlLayer = loadedReviewMarkupXml[xmlLayerName];\n viewer.viewerControl.deleteMarks(xmlLayer.getMarks());\n delete loadedReviewMarkupXml[xmlLayerName];\n xmlLayer.destroy();\n updateReviewLayerLoadUi(xmlLayerName, 'unloadXmlLayer', true);\n }\n\n return;\n }\n\n // If the record is already loaded, notify the user and do not load again\n if (viewer.viewerControl.getActiveMarkupLayer() && recordId === viewer.viewerControl.getActiveMarkupLayer().getRecordId()) {\n viewer.notify({\n message: PCCViewer.Language.data.annotationLayerAlreadyLoaded\n });\n\n return;\n }\n\n // Load the record and track it as a layer loaded for review\n if (!$(this).hasClass('pcc-checked')) {\n recordsLoadPending++;\n loadReviewLayerRecord(recordId, updateReviewLayerLoadUi);\n } else {\n unloadLayerRecord(recordId, updateReviewLayerLoadUi);\n }\n });\n\n if (options.annotationsMode === viewer.annotationsModeEnum.LegacyAnnotations &&\n options.autoLoadAnnotation === true &&\n typeof options.annotationID === 'string') {\n\n loadMarkupRecord({name: options.annotationID});\n viewer.viewerControl.setPageNumber(1);\n }\n\n viewer.viewerNodes.$annotationLayersDone.on('click', function(ev){\n var otherMarkupLayers = $.map($.extend({}, loadedReviewMarkupLayers, loadedReviewMarkupXml), function(value) {\n\n if (value.getSessionData('Accusoft-state') !== 'merged') {\n return value;\n }\n\n });\n\n var currentMarkupLayer = viewer.viewerControl.getActiveMarkupLayer();\n\n viewer.annotationLayerReview.onOpenDialog(currentMarkupLayer, otherMarkupLayers);\n openDialog({ toggleID: 'dialog-annotation-layer-review' });\n });\n\n };\n\n var refresh = function() {\n loadedEditMarkupLayer = viewer.viewerControl.getActiveMarkupLayer();\n $('.pcc-select-load-annotation-layers .pcc-label').text(PCCViewer.Language.data.annotationLayersLoad);\n\n loadedReviewMarkupLayers = {};\n loadedReviewMarkupXml = {};\n\n if (loadDialogIsOpen()) {\n if (options.annotationsMode === viewer.annotationsModeEnum.LayeredAnnotations) {\n loadAllRecords();\n } else {\n loadMarkupList();\n\n if (currentlyLoadedAnnotation) {\n updateLoadStatusMsg(PCCViewer.Language.data.annotations.load.status + currentlyLoadedAnnotation);\n } else {\n updateLoadStatusMsg('');\n }\n }\n }\n };\n\n var loadReviewXmlRecord = function (xmlRecordName, done) {\n\n viewer.viewerNodes.$annotationLayersDone.html(PCCViewer.Language.data.annotationLayerLoading);\n viewer.viewerNodes.$annotationLayersDone.prop('disabled', true);\n viewer.viewerNodes.$annotationLayersBack.prop('disabled', true);\n\n // Create a new layer to add the mark (loaded from XML) to\n var markupLayerCollection = viewer.viewerControl.getMarkupLayerCollection();\n var xmlLayer = new PCCViewer.MarkupLayer(viewer.viewerControl);\n markupLayerCollection.addItem(xmlLayer);\n xmlLayer.setName(xmlRecordName);\n xmlLayer.setOriginalXmlName(xmlRecordName);\n\n viewer.viewerControl.loadMarkup(xmlRecordName, {\n retainExistingMarks: true,\n markupLayer: xmlLayer\n }).then(\n\n function onResolve(){\n loadedReviewMarkupXml[xmlRecordName] = xmlLayer;\n\n disableAllLayerMarks(xmlLayer);\n\n // Loop through comments and set the owner\n setLayerCommentsOwner(xmlLayer);\n\n done(xmlRecordName, 'loadReviewXmlRecord', true);\n },\n\n function onReject(reason) {\n xmlLayer.destroy();\n viewer.notify({message: PCCViewer.Language.data.annotationLayerLoadFailed});\n done(xmlRecordName, 'loadReviewXmlRecord', false);\n }\n\n );\n };\n\n var loadReviewLayerRecord = function (layerRecordId, done) {\n\n viewer.viewerNodes.$annotationLayersDone.html(PCCViewer.Language.data.annotationLayerLoading);\n viewer.viewerNodes.$annotationLayersDone.prop('disabled', true);\n viewer.viewerNodes.$annotationLayersBack.prop('disabled', true);\n\n viewer.viewerControl.loadMarkupLayers(layerRecordId).then(\n\n function onResolve(annotationLayers) {\n loadedReviewMarkupLayers[annotationLayers[0].getRecordId()] = annotationLayers[0];\n\n disableAllLayerMarks(annotationLayers[0]);\n\n // open the comments panel if comments are detected\n commentUIManager.openIfVisibleMarks();\n\n done(layerRecordId, 'loadReviewLayerRecord', true);\n },\n\n function onReject(reason) {\n viewer.viewerNodes.$annotationLayersDone.html(PCCViewer.Language.data.doneButton);\n viewer.notify({message: PCCViewer.Language.data.annotationLayerLoadFailed});\n done(layerRecordId, 'loadReviewLayerRecord', false);\n }\n\n );\n };\n\n var loadEditXmlRecord = function (xmlRecordName) {\n\n viewer.viewerNodes.$annotationLayersDone.html(PCCViewer.Language.data.annotationLayerLoading);\n viewer.viewerNodes.$annotationLayersDone.prop('disabled', true);\n viewer.viewerNodes.$annotationLayersBack.prop('disabled', true);\n\n // Create a new layer to add the mark (loaded from XML) to\n var markupLayerCollection = viewer.viewerControl.getMarkupLayerCollection();\n var xmlLayer = new PCCViewer.MarkupLayer(viewer.viewerControl);\n markupLayerCollection.addItem(xmlLayer);\n var previousActiveMarkupLayer = viewer.viewerControl.getActiveMarkupLayer();\n viewer.viewerControl.setActiveMarkupLayer(xmlLayer);\n xmlLayer.setName(xmlRecordName);\n xmlLayer.setOriginalXmlName(xmlRecordName);\n\n viewer.viewerControl.loadMarkup(xmlRecordName, {\n retainExistingMarks: true\n }).then(\n\n function onResolve() {\n viewer.viewerNodes.$annotationLayersDone.html(PCCViewer.Language.data.doneButton);\n viewer.viewerNodes.$annotationLayersDone.prop('disabled', false);\n viewer.viewerNodes.$annotationLayersBack.prop('disabled', false);\n viewer.viewerNodes.$annotationLayersDone.click();\n loadedEditMarkupLayer = xmlLayer;\n loadedEditMarkupLayer.setSessionData('Accusoft-savedLayerName', loadedEditMarkupLayer.getName());\n\n // Loop through comments and set the owner\n setLayerCommentsOwner(xmlLayer);\n },\n\n function onReject(reason) {\n viewer.viewerControl.setActiveMarkupLayer(previousActiveMarkupLayer);\n xmlLayer.destroy();\n viewer.viewerNodes.$annotationLayersDone.html(PCCViewer.Language.data.doneButton);\n viewer.notify({message: PCCViewer.Language.data.annotationLayerLoadFailed});\n }\n\n );\n };\n\n var loadEditLayerRecord = function (layerRecordId) {\n\n viewer.viewerNodes.$annotationLayersDone.html(PCCViewer.Language.data.annotationLayerLoading);\n viewer.viewerNodes.$annotationLayersDone.prop('disabled', true);\n viewer.viewerNodes.$annotationLayersBack.prop('disabled', true);\n\n var markupLayerCollection = viewer.viewerControl.getMarkupLayerCollection();\n var previousActiveMarkupLayer = viewer.viewerControl.getActiveMarkupLayer();\n\n var onMarkupLayerAdded = function (ev) {\n var addedMarkupLayer = markupLayerCollection.getItem(ev.layerId);\n viewer.viewerControl.setActiveMarkupLayer(addedMarkupLayer);\n };\n\n markupLayerCollection.on(PCCViewer.MarkupLayerCollection.EventType.MarkupLayerAdded, onMarkupLayerAdded);\n\n viewer.viewerControl.loadMarkupLayers(layerRecordId).then(\n\n function onResolve(annotationLayers) {\n markupLayerCollection.off(PCCViewer.MarkupLayerCollection.EventType.MarkupLayerAdded, onMarkupLayerAdded);\n viewer.viewerNodes.$annotationLayersDone.html(PCCViewer.Language.data.doneButton);\n viewer.viewerNodes.$annotationLayersDone.prop('disabled', false);\n viewer.viewerNodes.$annotationLayersBack.prop('disabled', false);\n viewer.viewerNodes.$annotationLayersDone.click();\n loadedEditMarkupLayer = annotationLayers[0];\n loadedEditMarkupLayer.setSessionData('Accusoft-savedLayerName', loadedEditMarkupLayer.getName());\n\n commentUIManager.openIfVisibleMarks();\n },\n\n function onReject(reason) {\n viewer.viewerControl.setActiveMarkupLayer(previousActiveMarkupLayer);\n markupLayerCollection.off(PCCViewer.MarkupLayerCollection.EventType.MarkupLayerAdded, onMarkupLayerAdded);\n viewer.viewerNodes.$annotationLayersDone.html(PCCViewer.Language.data.doneButton);\n viewer.notify({message: PCCViewer.Language.data.annotationLayerLoadFailed});\n }\n\n );\n };\n\n var unloadLayerRecord = function (layerRecordId, done) {\n\n var layer;\n\n if (layerRecordId === undefined) {\n // This layer was loaded from XML and has not been saved.\n layer = viewer.viewerControl.getActiveMarkupLayer();\n viewer.viewerControl.deleteMarks(layer.getMarks());\n delete loadedReviewMarkupXml[layer.getName()];\n layer.destroy();\n done(layerRecordId, 'unloadLayerRecord', true);\n return;\n }\n else if (loadedReviewMarkupLayers[layerRecordId]) {\n layer = loadedReviewMarkupLayers[layerRecordId];\n } else if (layerRecordId === viewer.viewerControl.getActiveMarkupLayer().getRecordId()) {\n layer = viewer.viewerControl.getActiveMarkupLayer();\n }\n\n if (!layer) {\n return;\n }\n\n viewer.viewerControl.deleteMarks(layer.getMarks());\n delete loadedReviewMarkupLayers[layerRecordId];\n layer.destroy();\n done(layerRecordId, 'unloadLayerRecord', true);\n };\n\n // Determines what needs to happen when either the annotation save or load dialogs are displayed.\n var onOpenDialog = function (newIoMode, dialogMode) {\n\n removeAllOverlays();\n\n if (newIoMode === this.modes.saveClassic && !saveDialogIsOpen()) {\n onOpenSaveDialog();\n } else if (newIoMode === this.modes.loadClassic && !loadDialogIsOpen()) {\n loadMarkupList();\n\n if (currentlyLoadedAnnotation) {\n updateLoadStatusMsg(PCCViewer.Language.data.annotations.load.status + currentlyLoadedAnnotation);\n } else {\n updateLoadStatusMsg('');\n }\n } else if (newIoMode === this.modes.loadMarkupLayers && !loadDialogIsOpen()) {\n loadAllRecords(dialogMode);\n }\n\n return true;\n };\n\n // Attaches listeners for events that cause the displayed annotations to differ from the saved annotation\n // record.\n var annotationModificationListeners = function () {\n\n var i = 0, modifyingEvents = ['MarkCreated', 'MarkRemoved', 'MarkChanged', 'MarkReordered', 'CommentCreated', 'CommentChanged', 'CommentRemoved'],\n modHandler = function () {\n annotationDirty = true;\n\n if (saveDialogIsOpen()) {\n updateSaveMsg();\n enableSaveForm();\n }\n };\n\n for (i; i < modifyingEvents.length; i++) {\n viewer.viewerControl.on(modifyingEvents[i], modHandler);\n }\n };\n\n // After the user inputted file name is validated, the API is called with a request to save the\n // displayed annotations.\n var safeSave = function (filename) {\n\n filename = filename.replace(/^\\s+|\\s+$/g, '');\n\n if (filename.length > 30) {\n viewer.notify({\n message: PCCViewer.Language.data.annotations.save.filenameMax\n });\n\n return;\n }\n\n if (!filename.length) {\n viewer.notify({\n message: PCCViewer.Language.data.annotations.save.filenameEmpty\n });\n\n return;\n }\n\n if (filename === currentlyLoadedAnnotation) {\n save(filename);\n return;\n }\n\n updateSaveMsg(PCCViewer.Language.data.annotations.save.waiting); // language to json\n disableSaveForm();\n\n viewer.viewerControl.getSavedMarkupNames().then(\n // success:\n function (markupRecords) {\n\n var duplicate = false, i = 0;\n\n for (i; i < markupRecords.length; i++) {\n\n if (filename === markupRecords[i].name) {\n duplicate = true;\n break;\n }\n }\n\n if (duplicate) {\n showOverwriteOverlay();\n } else {\n save(filename);\n }\n },\n // failure:\n function (reason) {\n viewer.notify({\n message: PCCViewer.Language.data.annotations.save.failure\n });\n });\n\n };\n\n // With no validation of the file name, the API is called with a request to save the\n // displayed annotations.\n var save = function (filename) {\n\n viewer.viewerControl.saveMarkup(filename).then(onSuccessfulSave, onFailedSave);\n\n currentlyLoadedAnnotation = filename;\n\n disableSaveForm();\n\n };\n\n // This function is called when an annotation is successfully saved to the web tier. It displays a\n // message to the user and also cleans up the UI and resets the annotationDirty flag.\n var onSuccessfulSave = function (filename) {\n\n viewer.notify({\n message: PCCViewer.Language.data.annotations.save.success + filename,\n type: 'success'\n });\n\n if (saveDialogIsOpen()) {\n closeSaveDialog();\n }\n\n removeAllOverlays();\n\n annotationDirty = false;\n\n };\n\n // If an annotation fails to save to the web tier, this function will display a message to the user with\n // associated details.\n var onFailedSave = function (reason) {\n updateSaveMsg(PCCViewer.Language.data.annotations.save.current);\n enableSaveForm();\n\n viewer.notify({\n message: PCCViewer.Language.data.annotations.save.failure + PCCViewer.Language.getValue(\"error.\" + reason.code)\n });\n };\n\n // This function will display a dialog to the user warning that a annotation record already exists\n // with the same name as the one being saved. The user will be presented with options and will need\n // to select one to proceed.\n var showOverwriteOverlay = function () {\n\n if (typeof $overwriteOverlay === 'undefined') {\n\n viewer.$dom.append(renderTemplate(options.template.overwriteOverlay, PCCViewer.Language.data.annotations.save.overwriteOverlay));\n\n $overwriteOverlay = viewer.$dom.find('.pcc-annotation-overwrite-dlg');\n $overlayFade = viewer.$dom.find('.pcc-overlay-fade');\n\n $overwriteOverlay.find('.pcc-overlay-closer').on('click', function () {\n $overwriteOverlay.close();\n closeSaveDialog();\n });\n\n $overwriteOverlay.close = function () {\n $overwriteOverlay.hide();\n $overlayFade.hide();\n };\n\n $overwriteOverlay.mask = function (msg) {\n\n if (typeof msg === 'undefined') {\n $overwriteOverlay.find('.pcc-overlay-mask').show();\n } else {\n $overwriteOverlay.find('.pcc-overlay-mask').html(msg).show();\n }\n };\n\n $overwriteOverlay.unmask = function (msg) {\n $overwriteOverlay.find('.pcc-overlay-mask').hide();\n };\n\n $overwriteOverlay.on('click', 'li', function (event) {\n\n var action = $(this).attr('data-action');\n\n overwriteDialogActionsHandler(action);\n });\n\n }\n\n $overwriteOverlay.show();\n $overlayFade.show();\n\n };\n\n // The overwrite overlay is a dialog warning that an annotation record already exists\n // with the same name as the one being saved. Once the user selects an action from the dialog,\n // this function will execute the action.\n var overwriteDialogActionsHandler = function (action) {\n\n switch (action) {\n\n case 'save':\n $overwriteOverlay.mask();\n save(viewer.viewerNodes.$annotateSaveDialog.find('input').val());\n break;\n\n case 'saveAs':\n enableSaveForm();\n $overwriteOverlay.close();\n var $field = viewer.viewerNodes.$annotateSaveDialog.find('input');\n $field[0].selectionStart = 0;\n $field[0].selectionEnd = $field.val().length;\n $field.focus();\n updateSaveMsg(PCCViewer.Language.data.annotations.save.as);\n break;\n\n case 'noSave':\n closeSaveDialog();\n break;\n\n default:\n break;\n\n }\n\n };\n\n // This function will display a dialog to the user warning that the changes to the displayed annotations\n // have not been saved and might be lost. The user will be presented with options and will need\n // to select one to proceed.\n var showUnsavedChangesOverlay = function () {\n\n if (typeof $unSavedChangesOverlay === 'undefined') {\n\n viewer.$dom.append(renderTemplate(options.template.unsavedChangesOverlay, PCCViewer.Language.data.annotations.save.unsavedOverlay));\n\n $unSavedChangesOverlay = viewer.$dom.find('.pcc-annotation-unsaved-dlg');\n\n $overlayFade = viewer.$dom.find('.pcc-overlay-fade');\n\n $unSavedChangesOverlay.find('.pcc-overlay-closer').on('click', function () {\n $unSavedChangesOverlay.close();\n closeSaveDialog();\n });\n\n $unSavedChangesOverlay.close = function () {\n $unSavedChangesOverlay.hide();\n $overlayFade.hide();\n };\n\n $unSavedChangesOverlay.mask = function (msg) {\n\n if (typeof msg === 'undefined') {\n $unSavedChangesOverlay.find('.pcc-overlay-mask').show();\n } else {\n $unSavedChangesOverlay.find('.pcc-overlay-mask').html(msg).show();\n }\n };\n\n $unSavedChangesOverlay.unmask = function (msg) {\n $unSavedChangesOverlay.find('.pcc-overlay-mask').hide();\n };\n\n $unSavedChangesOverlay.on('click', 'li', function (ev) {\n\n var action = $(this).attr('data-action');\n\n unsavedChangesActionsHandler(action);\n });\n\n }\n\n $unSavedChangesOverlay.show();\n\n $overlayFade.show();\n\n };\n\n // The unsaved changes overlay is a dialog warning that the changes to the displayed annotations\n // have not been saved and might be lost. Once the user selects an action from the dialog,\n // this function will execute the action.\n var unsavedChangesActionsHandler = function (action) {\n if (typeof currentlyLoadedAnnotation === 'undefined' && action === 'save') {\n action = 'saveAs';\n }\n\n switch (action) {\n case 'save':\n $unSavedChangesOverlay.mask();\n save(currentlyLoadedAnnotation);\n $unSavedChangesOverlay.trigger('saveSelected');\n break;\n case 'saveAs':\n openSaveDialog();\n $unSavedChangesOverlay.close();\n var $field = viewer.viewerNodes.$annotateSaveDialog.find('input');\n $field[0].selectionStart = 0;\n $field[0].selectionEnd = $field.val().length;\n $field.focus();\n updateSaveMsg(PCCViewer.Language.data.annotations.save.as);\n $unSavedChangesOverlay.trigger('saveAsSelected');\n break;\n case 'noSave':\n $unSavedChangesOverlay.trigger('noSaveSelected');\n break;\n default:\n break;\n }\n\n };\n\n // The annotation save dialog's message can be updated using this function.\n var updateSaveMsg = function (msg) {\n\n if (typeof msg === 'undefined') {\n if (annotationDirty) {\n viewer.viewerNodes.$annotateSaveDialog.find('input').val(currentlyLoadedAnnotation);\n\n if (currentlyLoadedAnnotation) {\n msg = PCCViewer.Language.data.annotations.save.current;\n } else {\n msg = PCCViewer.Language.data.annotations.save.as;\n }\n\n } else {\n msg = PCCViewer.Language.data.annotations.save.nomods;\n }\n }\n\n viewer.viewerNodes.$annotateSaveDialog.find('.pcc-annotation-save-msg').html(msg).show();\n };\n\n // A function to determine if the annotation save dialog is open or not.\n var saveDialogIsOpen = function () {\n return viewer.$dom.find('.pcc-icon-save').hasClass('pcc-active');\n };\n\n // A function that causes the annotation save dialog to open.\n var openSaveDialog = function () {\n if (!saveDialogIsOpen()) {\n viewer.$dom.find('.pcc-icon-save').first().trigger('click');\n }\n\n onOpenSaveDialog();\n };\n\n // Resolve save dialog asynchronously so that any events they depend on are executed first\n var onOpenSaveDialog = function () {\n setTimeout(onOpenSaveDialogAsync, 0);\n };\n\n // Updates the save dialog when it's first opened.\n var onOpenSaveDialogAsync = function () {\n if (!annotationDirty) {\n viewer.notify({\n message: PCCViewer.Language.data.annotations.save.nomods\n });\n } else {\n setTimeout(function () {\n viewer.viewerNodes.$annotateSaveDialog.find('input').focus();\n }, 100);\n\n enableSaveForm();\n }\n\n updateSaveMsg();\n };\n\n // A function that causes the annotation save dialog to close.\n var closeSaveDialog = function () {\n\n viewer.viewerNodes.$annotateSaveDialog.find('input').val('');\n\n if (saveDialogIsOpen()) {\n viewer.$dom.find('.pcc-icon-save.pcc-active').first().trigger('click');\n }\n\n removeAllOverlays();\n\n };\n\n // The annotation load dialog's message can be updated using this function.\n var updateLoadMsg = function (msg) {\n\n viewer.viewerNodes.$annotateLoadDialog.find('.pcc-annotation-load-msg').html(msg).show();\n };\n\n // The annotation save dialog's status message can be updated using this function.\n var updateLoadStatusMsg = function (msg) {\n\n viewer.viewerNodes.$annotateLoadDialog.find('.pcc-annotation-load-status-msg').html(msg).show();\n };\n\n // A function to determine if the annotation load dialog is open or not.\n var loadDialogIsOpen = function () {\n return viewer.$dom.find('.pcc-icon-load').hasClass('pcc-active');\n };\n\n // Causes all annotation related overlays to be removed.\n var removeAllOverlays = function () {\n if (typeof $overwriteOverlay !== 'undefined' && $overwriteOverlay.is(\":visible\")) {\n $overwriteOverlay.unmask();\n $overwriteOverlay.close();\n }\n\n if (typeof $unSavedChangesOverlay !== 'undefined' && $unSavedChangesOverlay.is(\":visible\")) {\n $unSavedChangesOverlay.unmask();\n $unSavedChangesOverlay.close();\n }\n\n };\n\n // This function disables the annotation save form so the user can't input anything in to it.\n var disableSaveForm = function () {\n viewer.viewerNodes.$annotateSaveDialog.find('input, textarea, button, select').attr('disabled', 'disabled');\n };\n\n // This function enables the annotation save form so the user can use it.\n var enableSaveForm = function () {\n viewer.viewerNodes.$annotateSaveDialog.find('input, textarea, button, select').removeAttr('disabled');\n };\n\n // A function that causes the annotation load dialog to close.\n var closeLoadDialog = function () {\n\n if (loadDialogIsOpen()) {\n viewer.$dom.find('.pcc-icon-load.pcc-active').first().trigger('click');\n }\n\n };\n\n // This function causes the annotation list for loading to be unmasked and user selectable.\n var enableLoadSelect = function () {\n unmaskEl(viewer.viewerNodes.$annotateLoadDropdown);\n };\n\n // This function causes the annotation list for loading to be masked and unselectable.\n var disableLoadSelect = function (msg) {\n\n unmaskEl(viewer.viewerNodes.$annotateLoadDropdown);\n\n if (typeof msg === 'undefined') {\n msg = PCCViewer.Language.data.annotations.load.waiting;\n }\n\n maskEl(viewer.viewerNodes.$annotateLoadDropdown, msg);\n };\n\n // Causes an HTML element to be covered with a mask thus disabling it's functionality for the user.\n var maskEl = function (el, msg) {\n var $parent = $(el).parent();\n var mask = document.createElement('div');\n mask.innerHTML = msg || '';\n mask.className = 'pcc-overlay-mask';\n $parent.append(mask);\n $(mask).show();\n };\n\n // Causes an HTML element to have it's mask removed thus re-enabling it's functionality for the user.\n var unmaskEl = function (el) {\n var $parent = $(el).parent();\n $parent.find('.pcc-overlay-mask').remove();\n };\n\n // This function validates user input to the annotation save file name field.\n var handleFilenameInput = function (field, event) {\n var keycode = (event.keyCode ? event.keyCode : event.which),\n retval = true;\n\n if (event.shiftKey === true && ( keycode === 189 || keycode === 188 || keycode === 190)) {\n // don't allow _, <, >\n retval = false;\n } else if (keycode === 13 || keycode === 9) {\n\n viewer.viewerNodes.$annotateSaveDialog.find('button').focus().trigger('click');\n\n } else {\n var regex = /[\\-a-zA-Z0-9 ]+$/;\n\n var input = String.fromCharCode(!event.charCode ? event.which : event.charCode);\n var numbersOnly = /[0-9]+$/;\n\n if (numbersOnly.test(input) && event.shiftKey) {\n return false;\n }\n else if (regex.test(input) || event.keyCode === 8 || event.keyCode === 46 || event.keyCode === 39 || event.keyCode === 37 || (event.which >= 96 && event.which <= 105) || event.keyCode === 173 || event.keyCode === 188 || event.keyCode === 189 || event.keyCode === 109) {\n return true;\n }\n else {\n return false;\n }\n }\n\n return retval;\n };\n\n function showRecordLoading($container) {\n $container.empty().addClass('pcc-loading-container pcc-icon pcc-icon-loader');\n updateIcon($container);\n }\n\n function hideRecordLoading($container) {\n $container.empty();\n $container.removeClass('pcc-loading-container pcc-icon pcc-icon-loader');\n }\n\n var loadAllRecords = function (dialogMode) {\n if (dialogMode === 'review') {\n viewer.viewerNodes.$annotationLayersDropdown.closest('.pcc-annotation-layer-load-section').addClass('pcc-hide');\n viewer.viewerNodes.$annotationLayersList.closest('.pcc-annotation-layer-load-section').removeClass('pcc-hide');\n viewer.viewerNodes.$annotationLayersDone.removeClass('pcc-hide');\n\n showRecordLoading( viewer.viewerNodes.$annotationLayersList );\n } else {\n viewer.viewerNodes.$annotationLayersDropdown.closest('.pcc-annotation-layer-load-section').removeClass('pcc-hide');\n viewer.viewerNodes.$annotationLayersList.closest('.pcc-annotation-layer-load-section').addClass('pcc-hide');\n viewer.viewerNodes.$annotationLayersDone.addClass('pcc-hide');\n\n showRecordLoading( viewer.viewerNodes.$annotationLayersDropdown );\n\n if (loadedEditMarkupLayer) {\n $('.pcc-select-load-annotation-layers .pcc-label').text(loadedEditMarkupLayer.getName());\n }\n }\n\n // Request the XML markup names and then request the markup layer names.\n viewer.viewerControl.getSavedMarkupNames().then(\n // success:\n function (markups) {\n loadMarkupLayerRecords(dialogMode, markups);\n },\n // failure:\n function (reason) {\n if (dialogMode === 'review') {\n hideRecordLoading(viewer.viewerNodes.$annotationLayersList);\n } else {\n hideRecordLoading(viewer.viewerNodes.$annotationLayersDropdown);\n }\n\n //skip notify dialog if the license error occurs\n if (reason && reason.code === \"LicenseCouldNotBeVerified\")\n return;\n\n //closeLoadDialog();\n viewer.notify({\n message: PCCViewer.Language.data.annotations.load.listFailure\n });\n });\n };\n\n // This function executes an API request to fetch the list of annotation records associated with the\n // loaded document.\n var loadMarkupList = function () {\n updateLoadMsg(PCCViewer.Language.data.annotations.load.waiting);\n disableLoadSelect('');\n\n viewer.viewerNodes.$annotationList.empty();\n\n viewer.viewerControl.getSavedMarkupNames().then(\n // success:\n function (markups) {\n\n var markupRecordTpl, markupRecord, record, domStrings = [], i = 0;\n\n markupRecordTpl = '
    {{NAME}}
    ';\n\n for (i; i < markups.length; i++) {\n\n record = markups[i];\n\n markupRecords[record.name] = record;\n\n markupRecord = markupRecordTpl.replace('{{ID}}', record.name)\n .replace('{{NAME}}', record.name);\n\n domStrings.push(markupRecord);\n }\n\n if (domStrings.length) {\n viewer.viewerNodes.$annotationList.append(domStrings.join('\\n'))\n .find('.pcc-row:odd').addClass('pcc-odd');\n\n updateLoadMsg(PCCViewer.Language.data.annotations.load.instructions);\n enableLoadSelect();\n\n } else {\n\n viewer.notify({\n message: PCCViewer.Language.data.annotations.load.emptyList\n });\n\n updateLoadMsg(PCCViewer.Language.data.annotations.load.emptyList);\n disableLoadSelect('');\n\n }\n\n },\n // failure:\n function (reason) {\n closeLoadDialog();\n viewer.notify({\n message: PCCViewer.Language.data.annotations.load.listFailure\n });\n });\n };\n\n var loadMarkupLayerRecords = function (dialogMode, xmlRecords) {\n viewer.viewerControl.requestMarkupLayerNames().then(\n\n function onResolve(annotationLayerRecords){\n\n var $loadMsg = viewer.viewerNodes.$annotationLayersLoadDialog.find('.pcc-annotation-layers-load-msg');\n\n if (annotationLayerRecords.length || xmlRecords.length) {\n $loadMsg.html('');\n\n } else {\n viewer.notify({message: PCCViewer.Language.data.annotationLayersEmptyList});\n $loadMsg.html(PCCViewer.Language.data.annotationLayersEmptyList);\n }\n\n if (dialogMode === 'review') {\n hideRecordLoading(viewer.viewerNodes.$annotationLayersList);\n populateLayerRecordsList(annotationLayerRecords, viewer.viewerNodes.$annotationLayersList, xmlRecords);\n } else {\n hideRecordLoading(viewer.viewerNodes.$annotationLayersDropdown);\n populateLayerRecordsDropdown(annotationLayerRecords, viewer.viewerNodes.$annotationLayersDropdown, xmlRecords);\n }\n },\n\n function onReject(reason) {\n if (dialogMode === 'review') {\n hideRecordLoading(viewer.viewerNodes.$annotationLayersList);\n } else {\n hideRecordLoading(viewer.viewerNodes.$annotationLayersDropdown);\n }\n\n viewer.notify({message: PCCViewer.Language.data.annotationLayersListLoadFailed});\n }\n );\n };\n\n var populateLayerRecordsList = function (annotationLayerRecords, $container, xmlRecords) {\n var fragment = document.createDocumentFragment();\n\n $container.empty();\n\n var allRecordDivs = [];\n\n _.forEach(annotationLayerRecords, function(annotationLayerRecord, index) {\n\n // Do not include an XML record name in the list if any markup layer's original XML name is set to the XML record name\n xmlRecords = $.grep(xmlRecords, function(xmlRecord) {\n return xmlRecord.name !== annotationLayerRecord.originalXmlName;\n });\n\n // Don't show already loaded layers\n if (loadedEditMarkupLayer && loadedEditMarkupLayer.getRecordId() === annotationLayerRecord.layerRecordId) {\n return;\n }\n\n var divClassName = 'pcc-annotation-layer-record pcc-row',\n div = resultView.elem('div', { className: divClassName }),\n checkbox = resultView.elem('span', { className: 'pcc-checkbox pcc-col-2' }),\n icon = resultView.elem('span', { className: 'pcc-icon pcc-icon-check' }),\n loading = resultView.elem('span', { className: 'pcc-load pcc-hide pcc-col-2' }),\n text = resultView.elem('span', { className: 'pcc-annotation-layer-name pcc-col-10', text: annotationLayerRecord.name });\n\n $(div).attr('data-pcc-annotation-layer-record-id', annotationLayerRecord.layerRecordId);\n checkbox.appendChild(icon);\n div.appendChild(checkbox);\n div.appendChild(loading);\n div.appendChild(text);\n\n if (loadedReviewMarkupLayers[annotationLayerRecord.layerRecordId] && loadedReviewMarkupLayers[annotationLayerRecord.layerRecordId].getSessionData('Accusoft-state') !== 'merged') {\n $(div).addClass('pcc-checked');\n }\n\n parseIcons($(div));\n\n allRecordDivs.push({name: annotationLayerRecord.name, div: div});\n });\n\n _.forEach(xmlRecords, function(xmlRecord, index) {\n // Don't show already loaded layers\n if (loadedEditMarkupLayer && loadedEditMarkupLayer.getOriginalXmlName() === xmlRecord.name) {\n return;\n }\n\n var divClassName = 'pcc-annotation-layer-record pcc-row',\n div = resultView.elem('div', { className: divClassName }),\n checkbox = resultView.elem('span', { className: 'pcc-checkbox pcc-col-2' }),\n loading = resultView.elem('span', { className: 'pcc-load pcc-hide pcc-col-2' }),\n text = resultView.elem('span', { className: 'pcc-annotation-layer-name pcc-col-10', text: xmlRecord.name });\n\n $(div).attr('data-pcc-annotation-xml-record-id', xmlRecord.name);\n div.appendChild(checkbox);\n div.appendChild(loading);\n div.appendChild(text);\n\n if (loadedReviewMarkupXml[xmlRecord.name] && loadedReviewMarkupXml[xmlRecord.name].getSessionData('Accusoft-state') !== 'merged') {\n $(div).addClass('pcc-checked');\n }\n\n allRecordDivs.push({ name: xmlRecord.name, div: div });\n });\n\n // Sort the layers by name.\n allRecordDivs = allRecordDivs.sort(function (a, b) {\n var aName = a.name.toLowerCase();\n var bName = b.name.toLowerCase();\n return aName === bName ? 0 : aName > bName ? 1 : -1;\n });\n\n _.forEach(allRecordDivs, function(recordDiv, index) {\n fragment.appendChild(recordDiv.div);\n });\n\n if (allRecordDivs.length) {\n // only add a \"toggle all\" option if there are layers\n toggleAllReviewLayers = ToggleAllControl('pcc-toggle-all pcc-row', function(state){\n\n if ($(toggleAllReviewLayers).data('pcc-loading') === 'true') {\n return;\n }\n\n var $node;\n $container.find('.pcc-annotation-layer-record').each(function(idx, node){\n\n $node = $(node);\n\n if (state === 'checked' && !$node.hasClass('pcc-checked')) {\n $(toggleAllReviewLayers).data('pcc-loading', 'true');\n\n var $loader = $(toggleAllReviewLayers).find('.pcc-load');\n\n if (!$loader.length) {\n var loaderEl = document.createElement('span');\n loaderEl.className = 'pcc-load pcc-col-2';\n $loader = $(toggleAllReviewLayers).prepend(loaderEl);\n }\n\n $(toggleAllReviewLayers).find('.pcc-checkbox').hide();\n $loader.show();\n\n $node.click();\n } else if (state === 'unchecked' && $node.hasClass('pcc-checked')){\n\n\n $node.click();\n }\n\n $node = undefined;\n });\n });\n\n $container.append(toggleAllReviewLayers);\n\n }\n\n $container.append(fragment);\n };\n\n var populateLayerRecordsDropdown = function (annotationLayerRecords, $container, xmlRecords) {\n var fragment = document.createDocumentFragment(),\n allRecordDivs = [];\n\n $container.empty();\n\n // Include annotation markup layer records in the dropdown\n _.forEach(annotationLayerRecords, function(annotationLayerRecord, index) {\n // Do not include an XML record name in the dropdown if any markup layer's original XML name is set to the XML record name\n xmlRecords = $.grep(xmlRecords, function(xmlRecord) {\n return xmlRecord.name !== annotationLayerRecord.originalXmlName;\n });\n\n // Don't show already loaded layers\n if (typeof loadedReviewMarkupLayers[annotationLayerRecord.layerRecordId] !== 'undefined') {\n return;\n }\n\n var divClassName = 'pcc-annotation-layer-record pcc-row',\n div = resultView.elem('div', { className: divClassName }),\n text = resultView.elem('span', { className: 'pcc-annotation-layer-name pcc-row', text: annotationLayerRecord.name });\n\n div.appendChild(text);\n $(div).attr('data-pcc-annotation-layer-record-id', annotationLayerRecord.layerRecordId).find('.pcc-row:odd').addClass('pcc-odd');\n\n allRecordDivs.push({name: annotationLayerRecord.name, div: div});\n });\n\n // Include XML markup records in the dropdown\n _.forEach(xmlRecords, function(xmlRecord, index) {\n // Don't show already loaded layers\n if (typeof loadedReviewMarkupXml[xmlRecord.name] !== 'undefined') {\n return;\n }\n\n var divClassName = 'pcc-annotation-layer-record pcc-row',\n div = resultView.elem('div', { className: divClassName }),\n text = resultView.elem('span', { className: 'pcc-annotation-layer-name pcc-row', text: xmlRecord.name });\n\n div.appendChild(text);\n $(div).attr('data-pcc-annotation-xml-record-id', xmlRecord.name).find('.pcc-row:odd').addClass('pcc-odd');\n\n allRecordDivs.push({name: xmlRecord.name, div: div});\n });\n\n // Sort the layers by name.\n allRecordDivs = allRecordDivs.sort(function (a, b) {\n var aName = a.name.toLowerCase();\n var bName = b.name.toLowerCase();\n return aName === bName ? 0 : aName > bName ? 1 : -1;\n });\n\n _.forEach(allRecordDivs, function(recordDiv, index) {\n fragment.appendChild(recordDiv.div);\n });\n\n $container.append(fragment);\n\n };\n\n // This function executes an API request to load a specific annotation record.\n var loadMarkupRecord = function (record) {\n\n updateLoadMsg(PCCViewer.Language.data.annotations.load.waiting);\n disableLoadSelect('');\n\n viewer.viewerControl.loadMarkup(record.name).then(\n // success:\n function (markupRecord) {\n closeLoadDialog();\n viewer.setMouseTool({ mouseToolName: 'AccusoftPanAndEdit' });\n currentlyLoadedAnnotation = markupRecord;\n annotationDirty = false;\n if (viewer.isFitTypeActive === true) { viewer.viewerControl.fitContent(viewer.currentFitType); }\n\n if (typeof markupRecord.getData('Accusoft-owner') === 'undefined') {\n markupRecord.setData('Accusoft-owner', markupRecord.getName());\n }\n },\n // failure:\n function (reason) {\n closeLoadDialog();\n viewer.notify({\n message: PCCViewer.Language.data.annotations.load.recordFailure\n });\n }\n );\n };\n\n // This function listens for user selection of an annotation record from a displayed list. It then attempts\n // to load that record.\n var handleLoadSelection = function (resultRow) {\n\n var record = markupRecords[resultRow.getAttribute('data-pcc-markup-record-id')];\n\n if (annotationDirty) {\n\n showUnsavedChangesOverlay();\n\n $unSavedChangesOverlay.one('noSaveSelected', function () {\n loadMarkupRecord(record);\n });\n\n if (currentlyLoadedAnnotation) {\n $unSavedChangesOverlay.one('saveSelected', function () {\n closeLoadDialog();\n });\n }\n\n return false;\n }\n\n loadMarkupRecord(record);\n\n };\n\n function disableAllLayerMarks(layer) {\n _.forEach(layer.getMarks(), function(mark) {\n // Store the original interaction mode in the mark's data so it can be restored later if the layer is merged to the current layer.\n // Note that it is necessary to use the setData method here instead of the setSessionData method because the copyLayers method\n // might be used later and it does not copy session data. It is okay to use the setData method in this case since the viewer\n // never saves marks that are loaded for review.\n var originalInteractionMode = mark.getInteractionMode();\n mark.setData('Accusoft-originalInteractionMode', originalInteractionMode);\n mark.setInteractionMode(PCCViewer.Mark.InteractionMode.SelectionDisabled);\n });\n }\n\n function autoLoadAllLayers(done) {\n var viewerControl = viewer.viewerControl;\n var loadWithErrors = false;\n\n function resolveLoad() {\n if (loadWithErrors) {\n viewer.notify({\n message: PCCViewer.Language.data.annotationLayerAutoLoadError\n });\n }\n }\n\n PCCViewer.Promise.all([\n viewerControl.requestMarkupLayerNames(),\n viewerControl.getSavedMarkupNames()\n ]).then(function(args) {\n var layerNames = args[0];\n var xmlNames = args[1];\n var editableLayerLoaded = false;\n\n // create a list of promises to resolve\n var layerLoadPromises = [];\n\n // find all layerRecordIds that we need to load\n var layerIds = _.map(layerNames, function(layer){\n return layer.layerRecordId;\n });\n\n if (layerIds.length) {\n // load all layer records\n var jsonLayerPromise = viewerControl.loadMarkupLayers(layerIds, {\n loadAsHidden: true\n });\n layerLoadPromises.push( jsonLayerPromise );\n\n // when loaded, keep track of them\n jsonLayerPromise.then(function(loadedLayers){\n _.forEach(loadedLayers, function(loadedLayer) {\n // If the editable layer source is XML, check the original XML name of the layer.\n var loadOriginalXmlLayerFromJson = typeof viewer.viewerControlOptions.editableMarkupLayerSource === 'string' && viewer.viewerControlOptions.editableMarkupLayerSource.toLowerCase() === 'xmlname' && typeof viewer.viewerControlOptions.editableMarkupLayerValue === 'string' && viewer.viewerControlOptions.editableMarkupLayerValue === loadedLayer.getOriginalXmlName();\n\n // store each layer in the loaded layers object\n var loadEditableLayer = typeof viewer.viewerControlOptions.editableMarkupLayerSource === 'string' && viewer.viewerControlOptions.editableMarkupLayerSource.toLowerCase() === 'layerrecordid';\n if (loadOriginalXmlLayerFromJson !== true && (loadEditableLayer !== true || loadedLayer.getRecordId() !== viewer.viewerControlOptions.editableMarkupLayerValue)) {\n loadedReviewMarkupLayers[loadedLayer.getRecordId()] = loadedLayer;\n loadedLayer.hide();\n loadedLayer.setSessionData('Accusoft-visibility', 'hidden');\n disableAllLayerMarks(loadedLayer);\n }\n else {\n // Set this layer as the editable layer\n editableLayerLoaded = true;\n loadedEditMarkupLayer = loadedLayer;\n viewerControl.getActiveMarkupLayer().destroy();\n viewerControl.setActiveMarkupLayer(loadedLayer);\n loadedLayer.show();\n loadedEditMarkupLayer.setSessionData('Accusoft-savedLayerName', loadedEditMarkupLayer.getName());\n }\n });\n }, function(reason) {\n loadWithErrors = true;\n });\n }\n\n // get all of the XML layer names that we need to load\n var filteredXmlNames = _.chain(xmlNames).map(function(xml){\n return xml.name;\n }).filter(function(xmlName){\n // remove XML names that already exist as JSON layers\n return !_.find(layerNames, function(layer) {\n return layer.originalXmlName === xmlName;\n });\n }).value();\n\n _.forEach(filteredXmlNames, function(xmlName){\n // create a layer to store each XML record\n var xmlLayer = new PCCViewer.MarkupLayer(viewerControl);\n viewerControl.getMarkupLayerCollection().addItem(xmlLayer);\n xmlLayer.setName(xmlName);\n xmlLayer.setOriginalXmlName(xmlName);\n\n // create a wrapper promise\n var deferred = PCCViewer.Deferred();\n var promise = deferred.getPromise();\n\n // load the XML record\n viewerControl.loadMarkup(xmlName, {\n retainExistingMarks: true,\n markupLayer: xmlLayer,\n loadAsHidden: true\n }).then(function() {\n // store layer in the loaded layers object\n var loadEditableLayerFromXml = typeof viewer.viewerControlOptions.editableMarkupLayerSource === 'string' && viewer.viewerControlOptions.editableMarkupLayerSource.toLowerCase() === 'xmlname';\n if (loadEditableLayerFromXml !== true || xmlLayer.getName() !== viewer.viewerControlOptions.editableMarkupLayerValue) {\n loadedReviewMarkupXml[xmlName] = xmlLayer;\n xmlLayer.hide();\n xmlLayer.setSessionData('Accusoft-visibility', 'hidden');\n disableAllLayerMarks(xmlLayer);\n }\n else {\n // Set this layer as the editable layer\n editableLayerLoaded = true;\n loadedEditMarkupLayer = xmlLayer;\n viewerControl.getActiveMarkupLayer().destroy();\n viewerControl.setActiveMarkupLayer(xmlLayer);\n xmlLayer.show();\n loadedEditMarkupLayer.setSessionData('Accusoft-savedLayerName', loadedEditMarkupLayer.getName());\n }\n\n // Loop through comments and set the owner\n setLayerCommentsOwner(xmlLayer);\n\n deferred.resolve();\n }, function() {\n loadWithErrors = true;\n // do some cleanup\n viewerControl.getMarkupLayerCollection().removeItem(xmlLayer.getId());\n deferred.resolve();\n });\n\n // add the parent promise to the group of promises to resolve\n layerLoadPromises.push( promise );\n });\n\n // resolve all promises together, so we know when we are done loading\n PCCViewer.Promise.all(layerLoadPromises).then(function(){\n\n // check if we need to set a layer as editable\n var editableLayerSource = viewer.viewerControlOptions.editableMarkupLayerSource.toString().toLowerCase();\n var editableLayerValue = viewer.viewerControlOptions.editableMarkupLayerValue;\n\n var stillNeedToLoadEditableLayer = (editableLayerSource && editableLayerValue) && !editableLayerLoaded;\n\n function onDone(err) {\n resolveLoad();\n done(err);\n }\n\n if (stillNeedToLoadEditableLayer) {\n // The layer that was configured to be loaded was not loaded\n // above. This likely means that it was not part of the abailable\n // list, likely because the list was overloaded on the server to\n // return an interesting subset instead of all available layers.\n // We should attempt to load the requested layer anyway.\n if (editableLayerSource === 'layerrecordid') {\n autoLoadEditableLayer(editableLayerValue, onDone);\n } else if (editableLayerSource === 'xmlname') {\n autoLoadEditableXml(editableLayerValue, onDone);\n } else {\n onDone();\n }\n } else {\n onDone();\n }\n }, function(reason) {\n loadWithErrors = true;\n resolveLoad();\n done(reason);\n });\n }, function(reason) {\n loadWithErrors = true;\n resolveLoad();\n done(reason);\n });\n }\n\n function autoLoadEditableLayer(layerRecordId, done) {\n done = (typeof done === 'function') ? done : function noop() {};\n\n // Load the JSON markup layer\n viewer.viewerControl.loadMarkupLayers(layerRecordId).then(function onResolve(annotationLayers) {\n // Set this layer as the editable layer\n loadedEditMarkupLayer = annotationLayers[0];\n viewer.viewerControl.getActiveMarkupLayer().destroy();\n viewer.viewerControl.setActiveMarkupLayer(loadedEditMarkupLayer);\n loadedEditMarkupLayer.setSessionData('Accusoft-savedLayerName', loadedEditMarkupLayer.getName());\n\n done();\n }, function onErrored(reason) {\n done(reason);\n });\n }\n\n function autoLoadEditableXml(xmlName, done) {\n done = (typeof done === 'function') ? done : function noop() {};\n\n // Check the original XML name of the layer\n var loadFromXml = true;\n\n viewer.viewerControl.requestMarkupLayerNames().then(function(layerNames) {\n _.forEach(layerNames, function (layerName) {\n if (xmlName === layerName.originalXmlName) {\n // Load this layer as the editable layer\n viewer.viewerControl.loadMarkupLayers(layerName.layerRecordId).then(function onResolve(annotationLayers) {\n // Set this layer as the editable layer\n loadedEditMarkupLayer = annotationLayers[0];\n viewer.viewerControl.getActiveMarkupLayer().destroy();\n viewer.viewerControl.setActiveMarkupLayer(loadedEditMarkupLayer);\n loadedEditMarkupLayer.setSessionData('Accusoft-savedLayerName', loadedEditMarkupLayer.getName());\n });\n loadFromXml = false;\n }\n });\n\n if (loadFromXml === false) {\n return done();\n }\n\n // Load the XML layer from XML\n viewer.viewerControl.loadMarkup(xmlName).then(function() {\n var xmlLayer = viewer.viewerControl.getActiveMarkupLayer();\n xmlLayer.setName(xmlName);\n xmlLayer.setOriginalXmlName(xmlName);\n\n loadedEditMarkupLayer = xmlLayer;\n loadedEditMarkupLayer.setSessionData('Accusoft-savedLayerName', loadedEditMarkupLayer.getName());\n\n // Loop through comments and set the owner\n setLayerCommentsOwner(xmlLayer);\n\n done();\n }, function onErrored(reason) {\n done(reason);\n });\n }, function onErrored(reason) {\n done(reason);\n });\n }\n\n // The publicly accessible members of this module.\n return {\n init: init,\n refresh: refresh,\n onOpenDialog: onOpenDialog,\n modes: modes,\n autoLoadAllLayers: autoLoadAllLayers,\n autoLoadEditableLayer: autoLoadEditableLayer,\n autoLoadEditableXml: autoLoadEditableXml\n };\n\n })();\n\n // The annotationLayerReview module manages the annotation layers in the viewer, such as setting which\n // layers are visible or merging layers.\n this.annotationLayerReview = (function () {\n\n // The editable layer for the current user.\n var currentLayer;\n\n // Initialize the module by attaching UI event handlers and by attaching listeners for events that\n // modify annotation layers.\n var init = function () {\n bindAnnotationLayerReviewDOM();\n };\n\n var mergeMode = function (mode) {\n var $reviewLayers = $('[data-pcc-annotation-layer-review-section=other] .pcc-annotation-layer-review-section-content .pcc-row');\n\n $reviewLayers.removeClass('pcc-checked');\n viewer.viewerNodes.$annotationLayerMerge.attr('disabled', true);\n\n if ($reviewLayers.length === 0) {\n viewer.viewerNodes.$annotationLayerShowAll.attr('disabled', true);\n viewer.viewerNodes.$annotationLayerHideAll.attr('disabled', true);\n viewer.viewerNodes.$annotationLayerMergeAll.attr('disabled', true);\n viewer.viewerNodes.$annotationLayerMergeMode.attr('disabled', true);\n } else {\n viewer.viewerNodes.$annotationLayerShowAll.attr('disabled', false);\n viewer.viewerNodes.$annotationLayerHideAll.attr('disabled', false);\n viewer.viewerNodes.$annotationLayerMergeAll.attr('disabled', false);\n viewer.viewerNodes.$annotationLayerMergeMode.attr('disabled', false);\n }\n\n if (mode === 'off' || $reviewLayers.length === 0) {\n $reviewLayers.filter('.pcc-toggle-all').addClass('pcc-hide');\n $reviewLayers.not('.pcc-toggle-all').find('.pcc-checkbox').addClass('pcc-hide');\n viewer.viewerNodes.$annotationLayerMergeActions.addClass('pcc-hide');\n } else if (mode === 'on') {\n $reviewLayers.filter('.pcc-toggle-all').removeClass('pcc-hide');\n $reviewLayers.not('.pcc-toggle-all').find('.pcc-checkbox').removeClass('pcc-hide');\n viewer.viewerNodes.$annotationLayerMergeActions.removeClass('pcc-hide');\n } else {\n $reviewLayers.filter('.pcc-toggle-all').toggleClass('pcc-hide');\n $reviewLayers.not('.pcc-toggle-all').find('.pcc-checkbox').toggleClass('pcc-hide');\n viewer.viewerNodes.$annotationLayerMergeActions.toggleClass('pcc-hide');\n }\n\n edgeForceRepaintWorkaround(viewer.viewerNodes.$annotationLayerMergeActions);\n };\n\n var bindAnnotationLayerReviewDOM = function () {\n\n // Toggle merge mode on or off\n viewer.viewerNodes.$annotationLayerMergeMode.on('click', function() {\n mergeMode();\n });\n\n // Cancel merging\n viewer.viewerNodes.$annotationLayerMergeCancel.on('click', function() {\n mergeMode('off');\n });\n\n function mergeMarkupLayers(markupLayers, onMerged, onError) {\n var $annotationLayerElements = $('.pcc-annotation-layer-review-other');\n\n mergeMode('off');\n\n var uniquePages = _.chain(markupLayers)\n .map(function (layer) { return layer.getMarks(); })\n .flatten()\n .map(function (mark) { return mark.getPageNumber(); })\n .uniq()\n .value();\n var pageAttributePromises = _.map(uniquePages, viewer.viewerControl.requestPageAttributes, viewer.viewerControl);\n PCCViewer.Promise.all(pageAttributePromises).then(\n function onFulfilled() {\n currentLayer.copyLayers(markupLayers);\n\n // Loop through the marks on the current layer and restore their interaction mode\n // to unlock the copied marks that were originally unlocked.\n _.forEach(currentLayer.getMarks(), function (mark) {\n var originalInteractionMode = mark.getData('Accusoft-originalInteractionMode');\n\n if (originalInteractionMode !== undefined) {\n mark.setInteractionMode(originalInteractionMode);\n mark.setData('Accusoft-originalInteractionMode', undefined);\n }\n });\n\n _.forEach(markupLayers, function (markupLayer) {\n\n // Remove the item from the review panel\n $annotationLayerElements.filter('[data-pcc-other-layer=\"' + markupLayer.getId() + '\"]').remove();\n\n viewer.viewerControl.deleteMarks(markupLayer.getMarks());\n markupLayer.destroy();\n markupLayer.setSessionData('Accusoft-state', 'merged');\n });\n\n $annotationLayerElements = $('.pcc-annotation-layer-review-other');\n if ($annotationLayerElements.length === 0) {\n var text = createElem('div', 'pcc-annotation-layer-review-other');\n text.appendChild(document.createTextNode(PCCViewer.Language.data.annotationLayerReview.noAnnotationsForReview));\n $('[data-pcc-annotation-layer-review-section=other] .pcc-annotation-layer-review-section-content').append(text);\n\n viewer.viewerNodes.$annotationLayerShowAll.attr('disabled', true);\n viewer.viewerNodes.$annotationLayerHideAll.attr('disabled', true);\n viewer.viewerNodes.$annotationLayerMergeMode.attr('disabled', true);\n viewer.viewerNodes.$annotationLayerMergeAll.attr('disabled', true);\n }\n\n onMerged();\n },\n onError);\n }\n\n // Merge selected layers onto the currently editable layer\n viewer.viewerNodes.$annotationLayerMerge.on('click', function() {\n\n // Loop through the the list of layer DOM elements and get the layer IDs that are stored on each DOM element, for any checked items.\n var annotationLayerElements = $('.pcc-annotation-layer-review-other.pcc-checked');\n\n var checkedMarkupLayers = _.map(annotationLayerElements, function(el) {\n var layer = el.getAttribute('data-pcc-other-layer');\n return viewer.viewerControl.getMarkupLayerCollection().getItem(layer);\n });\n\n mergeMarkupLayers(checkedMarkupLayers,\n function onMerged() {\n viewer.notify({\n message: PCCViewer.Language.data.annotationLayerReview.mergeLayerSuccess,\n type: 'success'\n });\n },\n function onError() {\n viewer.notify({\n message: PCCViewer.Language.data.annotationLayerReview.mergeLayerError\n });\n });\n });\n\n // Merge all layers onto the currently editable layer\n viewer.viewerNodes.$annotationLayerMergeAll.on('click', function() {\n\n // Loop through the the list of layer DOM elements and get the layer IDs that are stored on each DOM element.\n var annotationLayerElements = $('.pcc-annotation-layer-review-other');\n\n var markupLayers = _.map(annotationLayerElements, function(el) {\n var layer = el.getAttribute('data-pcc-other-layer');\n return viewer.viewerControl.getMarkupLayerCollection().getItem(layer);\n });\n\n mergeMarkupLayers(markupLayers);\n\n viewer.notify({\n message: PCCViewer.Language.data.annotationLayerReview.mergeAllLayerSuccess,\n type: 'success'\n });\n });\n\n viewer.viewerNodes.$annotationLayerShowAll.on('click', function() {\n var annotationLayerElements = $('.pcc-annotation-layer-review-other');\n\n _.forEach(annotationLayerElements, function(annotationLayerElement) {\n var layerId = annotationLayerElement.getAttribute('data-pcc-other-layer');\n var target = $(annotationLayerElement).find('.pcc-icon-eye-closed');\n showClickGeneric(layerId, target);\n });\n });\n\n viewer.viewerNodes.$annotationLayerHideAll.on('click', function() {\n var annotationLayerElements = $('.pcc-annotation-layer-review-other');\n\n _.forEach(annotationLayerElements, function(annotationLayerElement) {\n var layerId = annotationLayerElement.getAttribute('data-pcc-other-layer');\n var target = $(annotationLayerElement).find('.pcc-icon-eye');\n hideClickGeneric(layerId, target);\n });\n });\n\n };\n\n var refresh = function() {\n var allMarkupLayers = viewer.viewerControl.getMarkupLayerCollection().getAll();\n var currentMarkupLayer = viewer.viewerControl.getActiveMarkupLayer();\n var otherMarkupLayers = _.filter(allMarkupLayers, function(markupLayer) {\n return (markupLayer.getId() !== currentMarkupLayer.getId()) && (markupLayer.getSessionData('Accusoft-state') !== 'merged');\n });\n onOpenDialog(currentMarkupLayer, otherMarkupLayers);\n };\n\n // Determines what needs to happen when the annotation layer controller dialog is opened.\n var onOpenDialog = function (currentMarkupLayer, otherMarkupLayers) {\n currentLayer = currentMarkupLayer;\n\n populateCurrentMarkupLayer(currentLayer, $('[data-pcc-annotation-layer-review-section=current] .pcc-annotation-layer-review-section-content'), 'current');\n\n var $container = $('[data-pcc-annotation-layer-review-section=other] .pcc-annotation-layer-review-section-content');\n\n if (otherMarkupLayers.length === 0) {\n $container.empty();\n var text = createElem('div', 'pcc-annotation-layer-review-other');\n text.appendChild(document.createTextNode(PCCViewer.Language.data.annotationLayerReview.noAnnotationsForReview));\n $container.append(text);\n } else {\n populateMarkupLayers(otherMarkupLayers, $container, 'other');\n }\n mergeMode('off');\n };\n\n var showClickAction = function(event) {\n var layerId = event.data.layerId;\n showClickGeneric(layerId, $(this));\n };\n\n var hideClickAction = function(event) {\n var layerId = event.data.layerId;\n hideClickGeneric(layerId, $(this));\n $(this).off('click', hideClickAction);\n };\n\n var showClickGeneric = function(layerId, $target) {\n var layer = viewer.viewerControl.getMarkupLayerCollection().getItem(layerId);\n layer.show();\n layer.setSessionData('Accusoft-visibility', 'visible');\n\n var replacement = createElem('span', 'pcc-icon pcc-icon-eye pcc-pull-right');\n replacement.setAttribute('title', PCCViewer.Language.data.annotationLayerReview.hide);\n $target.replaceWith(replacement);\n $(replacement).on('click', {layerId: layerId}, hideClickAction);\n updateIcon($(replacement));\n fileDownloadManager.enableAvailableMarkOptions();\n };\n\n var hideClickGeneric = function(layerId, $target) {\n var layer = viewer.viewerControl.getMarkupLayerCollection().getItem(layerId);\n layer.hide();\n layer.setSessionData('Accusoft-visibility', 'hidden');\n\n var replacement = createElem('span', 'pcc-icon pcc-icon-eye-closed pcc-pull-right');\n replacement.setAttribute('title', PCCViewer.Language.data.annotationLayerReview.show);\n $target.replaceWith(replacement);\n $(replacement).on('click', {layerId: layerId}, showClickAction);\n updateIcon($(replacement));\n fileDownloadManager.enableAvailableMarkOptions();\n };\n\n var editClickAction = function(event) {\n var layerId = event.data.layerId,\n layer = viewer.viewerControl.getMarkupLayerCollection().getItem(layerId),\n layerNameClass = 'pcc-current-layer-name',\n $layerName = viewer.$dom.find('.' + layerNameClass),\n elem;\n\n if ($layerName[0].nodeName.toLowerCase() === 'input') {\n elem = createElem('span', layerNameClass + ' pcc-pull-left');\n elem.appendChild(document.createTextNode(layer.getName() || PCCViewer.Language.data.annotationLayerReview.unnamed));\n } else {\n elem = createElem('input', layerNameClass + ' pcc-pull-left');\n elem.setAttribute('value', $layerName.text());\n elem.setAttribute('placeholder', PCCViewer.Language.data.annotationLayerReview.unnamed);\n\n $(elem).on('keypress', function(e) {\n\n if (e.keyCode === 13) {\n // Necessary to avoid IE10 issue where pressing enter causes a button to be clicked\n e.preventDefault();\n\n $(this).blur();\n }\n });\n\n $(elem).on('blur', function(e) {\n var value = $(this).val();\n\n if (value) {\n layer.setName(value);\n }\n\n // Toggle this method with the original event\n editClickAction(event);\n });\n }\n\n $(elem).replaceAll($layerName).focus().select();\n };\n\n var populateCurrentMarkupLayer = function(annotationLayer, $container, classFragment) {\n $container.empty();\n\n // Create the container\n var divClassName = 'pcc-annotation-layer-review-' + classFragment + ' pcc-' + classFragment + '-layer pcc-checked pcc-row',\n div = createElem('div', divClassName),\n text = createElem('span', 'pcc-' + classFragment + '-layer-name pcc-pull-left');\n\n text.appendChild(document.createTextNode(annotationLayer.getName() || PCCViewer.Language.data.annotationLayerReview.unnamed));\n div.setAttribute('data-pcc-' + classFragment + '-layer', annotationLayer.getId());\n div.appendChild(text);\n\n // Display the markup layer.\n var isHidden = annotationLayer.getSessionData('Accusoft-visibility') === 'hidden';\n var visibilityIcon;\n var visibilityTooltip;\n var visibilityAction;\n if (isHidden) {\n visibilityIcon = 'pcc-icon-eye-closed';\n visibilityTooltip = PCCViewer.Language.data.annotationLayerReview.show;\n visibilityAction = showClickAction;\n }\n else {\n visibilityIcon = 'pcc-icon-eye';\n visibilityTooltip = PCCViewer.Language.data.annotationLayerReview.hide;\n visibilityAction = hideClickAction;\n }\n\n // Toggle visibility\n var visibilityToggle = createElem('span', 'pcc-icon ' + visibilityIcon + ' pcc-pull-right');\n\n updateIcon($(visibilityToggle));\n visibilityToggle.setAttribute('title', visibilityTooltip);\n $(visibilityToggle).on('click', { layerId: annotationLayer.getId()}, visibilityAction);\n div.appendChild(visibilityToggle);\n\n // Activate the edit button\n $('[data-pcc-annotation-layer-edit=\"current\"]').off().on('click', { layerId: annotationLayer.getId() }, editClickAction);\n\n $container.append(div);\n };\n\n var populateMarkupLayers = function(annotationLayers, $container, classFragment) {\n var checkboxClickAction = function(div){\n $(div).toggleClass('pcc-checked');\n // Disable the merge button if no layers are selected.\n var checkedMarkupLayers = $('[data-pcc-annotation-layer-review-section=other] .pcc-annotation-layer-review-section-content').find('.pcc-checked');\n viewer.viewerNodes.$annotationLayerMerge.attr('disabled', checkedMarkupLayers.length === 0);\n };\n\n var fragment = document.createDocumentFragment();\n\n $container.empty();\n\n annotationLayers.sort(function (a, b) {\n var aName = (a.getName() || '').toLowerCase();\n var bName = (b.getName() || '').toLowerCase();\n return aName === bName ? 0 : aName > bName ? 1 : -1;\n });\n\n var layerDivs = [];\n\n // Display the markup layers.\n _.forEach(annotationLayers, function(annotationLayer) {\n var isHidden = annotationLayer.getSessionData('Accusoft-visibility') === 'hidden';\n var visibilityIcon;\n var visibilityTooltip;\n var visibilityAction;\n\n if (isHidden) {\n visibilityIcon = 'pcc-icon-eye-closed';\n visibilityTooltip = PCCViewer.Language.data.annotationLayerReview.show;\n visibilityAction = showClickAction;\n } else {\n visibilityIcon = 'pcc-icon-eye';\n visibilityTooltip = PCCViewer.Language.data.annotationLayerReview.hide;\n visibilityAction = hideClickAction;\n }\n\n var divClassName = 'pcc-annotation-layer-review-' + classFragment + ' pcc-' + classFragment + '-layer pcc-row',\n div = createElem('div', divClassName),\n checkbox = createElem('span', 'pcc-checkbox pcc-hide'),\n icon = createElem('span', 'pcc-icon pcc-icon-check'),\n text = createElem('span'),\n visibilityToggle = createElem('span', 'pcc-icon ' + visibilityIcon + ' pcc-pull-right');\n\n visibilityToggle.setAttribute('title', visibilityTooltip);\n updateIcon($(visibilityToggle));\n\n text.appendChild(document.createTextNode(annotationLayer.getName() || ''));\n\n checkbox.appendChild(icon);\n div.appendChild(checkbox);\n div.appendChild(text);\n div.appendChild(visibilityToggle);\n parseIcons($(div));\n\n div.setAttribute('data-pcc-' + classFragment + '-layer', annotationLayer.getId());\n\n $(checkbox).on('click', function() { checkboxClickAction(div); });\n\n $(visibilityToggle).on('click', { layerId: annotationLayer.getId() }, visibilityAction);\n\n fragment.appendChild(div);\n layerDivs.push(div);\n });\n\n var toggler = ToggleAllControl('pcc-toggle-all pcc-row pcc-hide', function(state){\n _.forEach(layerDivs, function(layerDiv) {\n var isChecked = $(layerDiv).hasClass('pcc-checked');\n var needToCheck = state === 'checked' && !isChecked;\n var needToUncheck = state === 'unchecked' && isChecked;\n\n if (needToCheck || needToUncheck) {\n checkboxClickAction(layerDiv);\n }\n });\n });\n\n $container.append(toggler).append(fragment);\n };\n\n var createElem = function(type, className){\n var elem = document.createElement(type || 'div');\n if (typeof className === 'string') {\n elem.className = className;\n }\n return elem;\n };\n\n // The publicly accessible members of this module.\n return {\n init: init,\n onOpenDialog: onOpenDialog,\n refresh: refresh\n };\n })();\n\n this.annotationLayerSave = (function(){\n var control, language, $parentDom, notify;\n\n function getLayerComments(layer) {\n var marks = control.getAllMarks(),\n comments = [];\n\n _.each(marks, function(mark) {\n comments = comments.concat(mark.getConversation().getComments());\n });\n\n comments = _.filter(comments, function(comment) {\n return comment.getMarkupLayer() && comment.getMarkupLayer().getId() === layer.getId();\n });\n\n return comments;\n }\n\n function updateLayerComments(currentLayer) {\n var layerComments = getLayerComments(currentLayer);\n\n _.each(layerComments, function(comment) {\n if (comment.getData('Accusoft-owner') === currentLayer.getSessionData('Accusoft-savedLayerName')) {\n comment.setData('Accusoft-owner', currentLayer.getName());\n }\n });\n\n currentLayer.setSessionData('Accusoft-savedLayerName', currentLayer.getName());\n }\n\n function onSuccessGen(currentLayer) {\n return function onSaveSuccess(recordInfo) {\n $('.pcc-select-load-annotation-layers .pcc-label').text(currentLayer.getName());\n\n control.refreshConversations();\n\n notify({\n message: language.annotations.save.success + currentLayer.getName(),\n type: 'success'\n });\n };\n }\n\n function onSaveFailure(reason) {\n //skip notify dialog if a license error occurs\n if (reason && reason.code === \"LicenseCouldNotBeVerified\")\n return;\n notify({ message: language.annotations.save.failure + (language.error[reason.code] || '') });\n }\n\n function attachEvents(currentLayer) {\n viewer.viewerNodes.$annotationLayerSave.on('click', function() {\n if (viewer.viewerNodes.$annotationLayerSave.hasClass('pcc-disabled')) {\n return;\n }\n\n currentLayer.setName($parentDom.find('input[type=text]').val());\n\n updateLayerComments(currentLayer);\n\n control.saveMarkupLayer(currentLayer.getId()).then(onSuccessGen(currentLayer), onSaveFailure);\n\n // Hide the save dialog.\n var toggleID = 'dialog-annotation-layer-save';\n $('[data-pcc-toggle=\"' + toggleID + '\"]').toggleClass('pcc-active');\n var $elBeingToggled = viewer.$dom.find('[data-pcc-toggle-id=\"' + toggleID + '\"]');\n toggleDialogs({\n $elem: $elBeingToggled,\n $target: $parentDom,\n toggleID: toggleID,\n $contextMenu: viewer.viewerNodes.$contextMenu\n });\n });\n\n $parentDom.find('input[type=text]')\n .on('keyup change', function(){\n if (this.value !== \"\") {\n viewer.viewerNodes.$annotationLayerSave.removeClass('pcc-disabled');\n }\n else {\n viewer.viewerNodes.$annotationLayerSave.addClass('pcc-disabled');\n }\n });\n }\n\n function detachEvents() {\n $parentDom.off();\n viewer.viewerNodes.$annotationLayerSave.off();\n }\n\n function onOpenDialog(currentMarkupLayer) {\n // Clear the layer name text box\n $parentDom.find('input[type=text]').val('');\n\n detachEvents();\n attachEvents(currentMarkupLayer);\n }\n\n function onSave(currentMarkupLayer) {\n updateLayerComments(currentMarkupLayer);\n control.saveMarkupLayer(currentMarkupLayer.getId()).then(onSuccessGen(currentMarkupLayer), onSaveFailure);\n }\n\n function init(viewerControl, languageData, domElem, notifierFunc) {\n control = viewerControl;\n language = languageData;\n $parentDom = $(domElem);\n notify = notifierFunc;\n }\n\n return {\n init: init,\n onOpenDialog: onOpenDialog,\n onSave: onSave\n };\n })();\n\n var ToggleAllControl = (function() {\n function generateDom(classNames) {\n var toggler = document.createElement('div');\n toggler.className = classNames;\n\n var checkbox = document.createElement('span');\n checkbox.className = 'pcc-checkbox';\n\n var label = document.createElement('span');\n label.appendChild(document.createTextNode(PCCViewer.Language.data.toggleAll));\n\n var icon = document.createElement('span');\n icon.className = 'pcc-icon pcc-icon-check';\n checkbox.appendChild(icon);\n\n toggler.appendChild(checkbox);\n toggler.appendChild(label);\n\n\n parseIcons($(toggler));\n return toggler;\n }\n\n function construct(classNames, onToggle) {\n var checkedClass = 'pcc-checked';\n\n classNames = typeof classNames === 'string' ? classNames : '';\n onToggle = typeof onToggle === 'function' ? onToggle : function() {};\n\n var dom = generateDom(classNames || '');\n var $dom = $(dom);\n\n $dom.click(function(){\n if ($dom.hasClass(checkedClass)) {\n $dom.removeClass(checkedClass);\n onToggle('unchecked');\n } else {\n $dom.addClass(checkedClass);\n onToggle('checked');\n }\n });\n\n return dom;\n }\n\n return construct;\n })();\n\n // create the eSignature UI module\n this.eSignature = (function () {\n\n var placeSignatureTool = PCCViewer.MouseTools.getMouseTool('AccusoftPlaceSignature');\n\n var $esignOverlay;\n var $esignPlace;\n\n var init = function () {\n $esignOverlay = viewer.viewerNodes.$esignOverlay;\n $esignPlace = viewer.viewerNodes.$esignPlace;\n\n // Find if we know which signature was used last\n _.forEach(PCCViewer.Signatures.toArray(), function(el) {\n // Check if this signature was left selected during a previous session.\n if (el.lastSelected) {\n changeMouseToolSignature(el, true);\n // Use `true` so that the mouse tool is not switched on.\n }\n });\n\n attachListeners();\n updateSignatureButtons();\n };\n\n var refresh = function() {\n placeSignatureTool = PCCViewer.MouseTools.getMouseTool('AccusoftPlaceSignature');\n PCCViewer.MouseTools.createMouseTool(\"AccusoftPlaceDateSignature\", PCCViewer.MouseTool.Type.PlaceSignature);\n }\n\n var destroy = function () {\n PCCViewer.Signatures.off('ItemAdded', signatureAdded);\n PCCViewer.Signatures.off('ItemRemoved', signatureRemoved);\n\n placeSignatureTool = undefined;\n };\n\n var attachListeners = function () {\n PCCViewer.Signatures.on('ItemAdded', signatureAdded);\n PCCViewer.Signatures.on('ItemRemoved', signatureRemoved);\n\n $esignOverlay.on('click', '.pcc-icon-delete', function(ev) {\n localSignatureManager.clearAll();\n });\n };\n\n var updateSignatureButtons = function () {\n if (PCCViewer.Signatures.toArray().length > 0) {\n $esignPlace.removeClass('pcc-disabled');\n $esignPlace.removeAttr('disabled');\n } else {\n $esignPlace.addClass('pcc-disabled');\n $esignPlace.attr('disabled', '');\n }\n };\n\n // a signature was added to the PCCViewer.Signatures collection\n var signatureAdded = function (ev) {\n if (typeof ev.item === 'undefined') {\n viewer.notify({message: PCCViewer.Language.data.noSignatures});\n return;\n }\n\n // Enable the buttons if they were disabled\n updateSignatureButtons();\n };\n\n // a signature was removed from the PCCViewer.Signatures collection\n var signatureRemoved = function (ev) {\n var signatureArr = PCCViewer.Signatures.toArray();\n\n // unassociate the removed signature from the mouse tool if needed\n var accusoftPlaceSignature = PCCViewer.MouseTools.getMouseTool(\"AccusoftPlaceSignature\");\n if (ev.item === accusoftPlaceSignature.getTemplateMark().getSignature()) {\n accusoftPlaceSignature.getTemplateMark().setSignature(undefined);\n }\n\n // Disable the place button if there are no signatures\n updateSignatureButtons();\n };\n\n // This is used to keep track of the resized signature on the document.\n // We will use this size to insert the same signature with the same size next time.\n function updateSignatureSizeOnDocument(mark) {\n var signatureObj, compareIterator, sizeChanged = false;\n\n // Find the mark type and get references to the comparable properties\n switch (mark.getType()) {\n case PCCViewer.Mark.Type.FreehandSignature:\n compareIterator = function(sig){\n return sig.path === mark.getPath();\n };\n break;\n case PCCViewer.Mark.Type.TextSignature:\n compareIterator = function(sig){\n return sig.text === mark.getText() && sig.fontName === mark.getFontName();\n };\n break;\n }\n\n // Find the correct signature\n PCCViewer.Signatures.forEach(function(el){\n if (compareIterator(el)) {\n signatureObj = el;\n }\n });\n\n if (signatureObj) {\n // Save the width and height of the rectangle.\n var rectangle = mark.getRectangle();\n\n // Check if the size has changed and only update if necessary\n if (signatureObj.documentHeight !== rectangle.width) {\n signatureObj.documentWidth = rectangle.width;\n sizeChanged = true;\n }\n if (signatureObj.documentHeight !== rectangle.height) {\n signatureObj.documentHeight = rectangle.height;\n sizeChanged = true;\n }\n\n // Save the signatures for use after psge refresh\n // Let's avoid local storage if we don't have to\n if (sizeChanged) {\n localSignatureManager.setStored(PCCViewer.Signatures.toArray());\n }\n }\n }\n\n function changeLastSelectedSignature(signature) {\n PCCViewer.Signatures.forEach(function(el){\n el.lastSelected = (el === signature);\n });\n }\n\n function changeMouseToolRectangle(signature) {\n var templateMark = placeSignatureTool.getTemplateMark();\n\n templateMark.setRectangle({\n x: 0, y: 0,\n width: signature.documentWidth || 0,\n height: signature.documentHeight || 0\n });\n }\n\n function changeMouseToolSignature(signature, skipMouseToolChange, apiTrigger) {\n var templateMark = placeSignatureTool.getTemplateMark();\n\n // Default to the first signature if one is not passed in\n // Just in case, check that a `path` or `text` is defined\n if (!signature || !(signature.path || signature.text)) {\n signature = PCCViewer.Signatures.toArray().shift();\n }\n\n // Set the signature as the default to use with the PlaceSignature mouse tool\n templateMark.setSignature(signature);\n\n // Set the default size of this signature\n changeMouseToolRectangle(signature);\n\n // Mark this signature as the one currently selected\n changeLastSelectedSignature(signature);\n\n if (!skipMouseToolChange) {\n viewer.setMouseTool({\n mouseToolName: 'AccusoftPlaceSignature',\n // API triggers will not change the locked/unlocked state of a mouse tool.\n apiTrigger: !!apiTrigger\n });\n }\n }\n\n // Updates the context menu if the PlaceSignature mouse tool is in use,\n // since the menu will already be open. If the menu is not open, a change from this\n // module is not necessary, as it will be initialized correctly when the\n // MouseToolChanged event fires.\n function contextMenuUpdater(signature){\n if (signature && viewer.viewerControl.getCurrentMouseTool() === placeSignatureTool.getName()){\n // the context menu needs to be updated only if the mouse tool was already selected\n updateContextMenu({\n showContextMenu: true,\n showAllEditControls: false,\n mouseToolType: placeSignatureTool.getType()\n });\n } else if (signature === undefined) {\n // the context menu needs to be updated only if the mouse tool was already selected\n updateContextMenu({\n showContextMenu: false,\n showAllEditControls: false,\n mouseToolType: placeSignatureTool.getType()\n });\n }\n }\n\n // generate a signature view for the manager utility\n // also generates generic view to use elsewhere\n function insertSignatureView (signature, domElem, clickHandler, includeButtons) {\n // create dom elements\n var wrapper = document.createElement('div'),\n container = document.createElement('div'),\n preview = document.createElement('div'),\n buttons = document.createElement('div'),\n name = document.createElement('span'),\n deleteButton = document.createElement('button'),\n downloadButton = document.createElement('button'),\n useButton = document.createElement('button'),\n useButtonIcon = document.createElement('span'),\n useButtonText = document.createTextNode(PCCViewer.Language.data.esignUseSignature || 'Use signature'),\n showButtons = (includeButtons === false) ? false : true;\n\n // add class names\n wrapper.className = 'pcc-esign-display';\n container.className = 'pcc-esign-preview-container' + ((signature.lastSelected) ? ' pcc-esign-active' : '');\n preview.className = 'pcc-esign-preview';\n deleteButton.className = 'pcc-icon pcc-icon-delete';\n deleteButton.title = PCCViewer.Language.data.esignDelete || '';\n downloadButton.className = 'pcc-icon pcc-icon-download';\n downloadButton.title = PCCViewer.Language.data.esignDownload || '';\n\n useButtonIcon.className = 'pcc-icon pcc-icon-place';\n useButton.appendChild(useButtonIcon);\n useButton.appendChild(useButtonText);\n\n buttons.className = 'pcc-margin-top';\n\n // make sure SVG does not zoom in (only zoom out)\n if (signature.width && signature.height) {\n preview.style['max-width'] = signature.width + 'px';\n preview.style['max-height'] = signature.height + 'px';\n }\n // create custom delete button\n deleteButton.onclick = function(){\n // remove signature from collection\n PCCViewer.Signatures.remove(signature);\n\n // the currently selected signature was deleted\n if (signature.lastSelected) {\n // default to the first available signature in the collection\n var newSignature = PCCViewer.Signatures.toArray().shift();\n\n // If there's a new signature, update the UI to use it\n if (newSignature) {\n newSignature.lastSelected = true;\n placeSignatureTool.getTemplateMark().setSignature(newSignature);\n\n // re-init the Manager UI\n viewer.launchESignManage();\n\n // update the context menu if necessary\n contextMenuUpdater(newSignature);\n } else if (viewer.viewerControl.getCurrentMouseTool() === placeSignatureTool.getName()) {\n // There are no signatures in the collection.\n // If the PlaceSignature tool is selected, switch away from the it\n viewer.setMouseTool({ mouseToolName: 'AccusoftPanAndEdit' });\n }\n }\n\n // Remove UI elements as well\n if (wrapper.parentElement) {\n wrapper.parentElement.removeChild(wrapper);\n }\n\n // If there are no signatures left, re-initialize the Manager UI\n // in order to display the 'no signatures' message.\n if (PCCViewer.Signatures.toArray().length === 0){\n viewer.launchESignManage();\n }\n };\n\n // create custom download button\n downloadButton.onclick = function(){\n // trigger a JSON file download\n // let's also pretty-print the string\n PCCViewer.Util.save('signature.json', JSON.stringify(signature, undefined, 2));\n };\n\n // create custom place signature button\n $(useButton).on('click', function(ev){\n changeMouseToolSignature(signature, false, true);\n viewer.closeEsignModal();\n\n // update the context menu if necessary\n contextMenuUpdater(signature);\n });\n\n $(container).on('click', (typeof clickHandler === 'function') ? clickHandler : function() {\n $esignOverlay.find('.pcc-esign-preview-container').removeClass('pcc-esign-active');\n $(this).addClass('pcc-esign-active');\n\n // assign the signature to the mouse tool\n changeMouseToolSignature(signature, true);\n\n // update the context menu if necessary\n contextMenuUpdater(signature);\n });\n\n // insert signature name if one was available\n if (signature.category) {\n // let's escape unsafe characters\n var textNode = document.createTextNode(signature.category);\n name.appendChild(textNode);\n name.className = 'pcc-pull-right pcc-icon-height';\n }\n\n // populate the DOM if the signature is rendered successfully\n function placeSuccessfulSignature() {\n // add everything to the DOM\n buttons.appendChild(name);\n buttons.appendChild(deleteButton);\n buttons.appendChild(downloadButton);\n buttons.appendChild(useButton);\n\n container.appendChild(preview);\n wrapper.appendChild(container);\n\n if (showButtons) {\n wrapper.appendChild(buttons);\n }\n\n parseIcons($(wrapper));\n domElem.appendChild(wrapper);\n }\n\n // populate the DOM if the signature data is unknown or invalid\n function placeCorruptSignature() {\n // construct error DOM\n var errorTextNode = document.createTextNode(PCCViewer.Language.data.esignCorruptData);\n container.className = container.className + ' pccError pcc-text-center';\n\n // build partial DOM\n buttons.appendChild(deleteButton);\n container.appendChild(errorTextNode);\n wrapper.appendChild(container);\n wrapper.appendChild(buttons);\n\n parseIcons($(wrapper));\n domElem.appendChild(wrapper);\n }\n\n // generate signature SVG\n try {\n // this will include signature object validation\n PCCViewer.SignatureDisplay(preview, signature);\n // if successfull, we can display the signature\n placeSuccessfulSignature();\n } catch (err) {\n // any error probably means the signature object is incorrect\n placeCorruptSignature();\n }\n }\n\n // puts dom elements into columns\n function placeIntoColumns (parentElement, childrenArray) {\n var Column = function(){\n var col = document.createElement('div');\n // makes 2 columns\n col.className = 'pcc-col-6';\n return col;\n };\n\n var columns = [ Column(), Column() ];\n var columnsClone = [].concat(columns);\n\n _.forEach(childrenArray, function(child){\n // take first column\n var col = columnsClone.shift();\n // place child inside it\n col.appendChild(child);\n // put back in as last column\n columnsClone.push(col);\n });\n\n _.forEach(columns, function(col){\n parentElement.appendChild(col);\n });\n }\n\n // create a new SignatureControl drawing context\n function getFreehandContext (domElem) {\n return PCCViewer.SignatureControl(domElem);\n }\n\n // create a custom text signature context\n function getTextContext ($previews, $textInput) {\n var fonts = fontLoader.names(),\n previewsArray = [],\n selectedFont = 'Times New Roman';\n // set default selected font\n if (fonts.length > 0) {\n selectedFont = fonts[0];\n }\n\n function generatePreview(fontName, text){\n var div = document.createElement('div');\n\n div.className = 'pcc-button pcc-esign-text-preview';\n // Note: IE8 requires that the font have a fallback\n div.style.fontFamily = '\"' + fontName + '\", cursive';\n div.setAttribute('data-pcc-font-name', fontName);\n\n // make sure to escape all text\n var textNode = document.createTextNode(text);\n div.appendChild(textNode);\n\n return div;\n }\n\n $previews = $previews || viewer.viewerNodes.$esignOverlay.find('[data-pcc-signature-previews]');\n\n $textInput = $textInput || (function() {\n var $ti = viewer.viewerNodes.$esignOverlay.find('[data-pcc-esign=\"textInput\"]'),\n // find the correct event name based on the browser\n eventName = ('oninput' in $ti.get(0)) ? 'input' : 'propertychange';\n\n $ti.on(eventName, function(ev) {\n if (ev.originalEvent.propertyName && ev.originalEvent.propertyName !== 'value') {\n // if this is an old IE propertyChange event for anything other than 'value', ignore it\n return;\n }\n\n // reset the html\n $previews.html('');\n\n var value = $ti.val();\n\n previewsArray = _.map(fonts, function(fontName){\n return generatePreview(fontName, value);\n });\n\n placeIntoColumns($previews.get(0), previewsArray);\n });\n\n return $ti;\n })();\n\n $previews.on('click', '.pcc-esign-text-preview', function(ev){\n _.forEach(previewsArray, function(el){\n $(el).removeClass('pcc-esign-text-active');\n });\n $(this).addClass('pcc-esign-text-active');\n selectedFont = this.getAttribute('data-pcc-font-name');\n });\n\n // return an object similar to PCCViewer.SignatureControl\n return {\n done: function(){\n return {\n type: 'text',\n text: $textInput.val(),\n fontName: selectedFont\n };\n },\n clear: function(){\n $textInput.val('');\n $previews.html('');\n $textInput.focus();\n }\n };\n }\n\n function getManageContext (domElem) {\n // create non-blocking queue\n var queue = new Queue();\n\n // Populate DOM with known signatures.\n PCCViewer.Signatures.forEach(function(el) {\n // Let's place each signature rendering in its own iteration of the event loop\n // so that the UI is not blocked for too long in older browsers and mobile.\n queue.push(function(){\n insertSignatureView(el, domElem);\n });\n });\n\n // execute the queue\n queue.run();\n }\n\n return {\n init: init,\n refresh: refresh,\n destroy: destroy,\n mouseTool: placeSignatureTool,\n getFreehandContext: getFreehandContext,\n getTextContext: getTextContext,\n getManageContext: getManageContext,\n insertSignatureView: insertSignatureView,\n changeMouseToolSignature: changeMouseToolSignature,\n changeMouseToolRectangle: changeMouseToolRectangle,\n updateSignatureSizeOnDocument: updateSignatureSizeOnDocument\n };\n })();\n\n // This module manages the hyperlink proximity menu and UI\n var hyperlinkMenu = (function(){\n var control,\n language,\n template,\n globalDom,\n globalDismiss,\n // get a new proximityDismiss object to use for this menu\n proximityDismiss = ProximityDismiss(viewer.$dom);\n\n function createDOM(opts) {\n var div = document.createElement('div'),\n hrefType = 'url',\n hyperlinkType = 'textHyperlink';\n div.className = 'pcc-hyperlink-menu';\n\n if (opts.mark instanceof PCCViewer.DocumentHyperlink) {\n hyperlinkType = 'documentHyperlink';\n\n // if href contains only a number, then it is an intra-document page link\n if (!isNaN(opts.href)) {\n hrefType = 'page';\n }\n\n }\n\n $(div).html(renderTemplate(template, {\n mode: opts.mode,\n link: opts.href,\n language: language,\n hrefType: hrefType,\n hyperlinkType: hyperlinkType\n }));\n\n return div;\n }\n\n function dismissHandler(ev){\n ev = ev || {};\n\n if (ev.target && $.contains(globalDom, ev.target)){\n // this is a click inside the hyperlink menu, so we will not dismiss\n // add another handler for the next click\n return;\n }\n\n globalDismiss(ev.type === 'scroll');\n }\n\n function bindDOM(opts) {\n var useScrollDismiss = true,\n usingTouch = false,\n inputIsFocused = false;\n\n var $input = $(opts.dom).find('input').val(opts.href).on('input propertychange', function(ev){\n // check if it is a propertychange event, and check the property\n var event = ev.originalEvent ? ev.originalEvent : ev;\n\n if (event.type === 'propertychange' && event.propertyName !== 'value'){\n // this is a legacy IE event not related to the input value\n return;\n }\n\n if (ev.target.value && ev.target.value.length) {\n $done.removeAttr('disabled');\n } else {\n $done.attr('disabled', 'disabled');\n }\n }).on('keypress', function(ev){\n // submit the value with the enter key\n if (ev.which === 13) {\n dismissHandler();\n }\n }).on('touchstart click', function(ev){\n // keep any click or touch in the input field from bubbling up and causing other events\n ev.preventDefault();\n\n if (ev.type === 'touchstart') {\n usingTouch = true;\n\n // We know that the user is using touch, and they have tapped on the input box to focus it.\n // We can be pretty sure that the toch keyboard is about to open, causing scroll events to occus,\n // especially on iOS. We need to ignore these scroll events in terms of dismissing the menu, so that\n // users can type in their link.\n useScrollDismiss = false;\n }\n\n return false;\n }).on('focus', function(){\n inputIsFocused = true;\n\n // As long as the user is using touch, and the input is in focus, we should not dismiss for scroll events.\n // The user is more likely to be dismissing the touch keyboard or trying to move the input box into a\n // visible location.\n useScrollDismiss = usingTouch ? false : useScrollDismiss;\n }).on('blur', function(){\n inputIsFocused = false;\n\n // The input has lost focus, so it is safe to dismiss on scroll now.\n useScrollDismiss = true;\n });\n\n var dismissed = false;\n function dismiss(isScroll){\n if (!useScrollDismiss && isScroll) {\n // do not dismiss if this scroll is due to the touch keyboard opening\n return;\n }\n\n // make sure the menu is dismissed only once\n if (dismissed) {\n return;\n } else {\n dismissed = true;\n }\n\n if (opts.mode === 'edit' && $input.val()) {\n // there is a value, so save it\n setHref(opts.mark, $input.val());\n } else if (!opts.mark.getHref() && control.getMarkById(opts.mark.getId())) {\n // this is a cancel and there was no previous value\n control.deleteMarks([opts.mark]);\n }\n\n clearDOM();\n $(document.body).off('mousedown touchstart', dismissHandler);\n proximityDismiss.remove();\n\n // if the mark is already selected, use mark selection to refresh the context menu\n if (opts.mode === 'edit' && _.contains(control.getSelectedMarks(), opts.mark)){\n control.deselectMarks([opts.mark]);\n control.selectMarks([opts.mark]);\n }\n }\n\n var $done = $(opts.dom).find('[data-pcc-hyperlink=\"done\"]').click(function(){\n setHref(opts.mark, $input.val());\n dismiss();\n });\n\n var $delete = $(opts.dom).find('[data-pcc-hyperlink=\"delete\"]').click(function(){\n control.deleteMarks([opts.mark]);\n dismiss();\n });\n\n var $clear = $(opts.dom).find('[data-pcc-hyperlink=\"clear\"]').click(function(){\n $input.val('').focus();\n $done.attr('disabled', 'disabled');\n });\n\n var $link = $(opts.dom).find('[data-pcc-link-navigate]').on('click', function(ev){\n\n if (this.getAttribute('data-href-type') === 'page') {\n ev.preventDefault();\n control.setPageNumber(this.getAttribute('href'));\n }\n\n dismiss();\n });\n\n var $edit = $(opts.dom).find('[data-pcc-hyperlink=\"edit\"]').click(function(){\n // create a new menu in edit mode\n dismiss();\n createMenu(opts.mark, 'edit', opts.clientX, opts.clientY);\n });\n\n setTimeout(function(){\n // delay subscription, since triggering a menu as a result of a click will also trigger this event\n $(document.body).on('mousedown touchstart', dismissHandler);\n // do not dismiss the menu if the user moves away when in edit mode\n opts.useMoveTrigger = opts.mode !== 'edit';\n proximityDismiss.add(opts, dismissHandler);\n\n // delay so that focus occurs after the menu is displayed\n $input.focus();\n\n // if there is no content, disable the done button\n if (!$input.val()) {\n $done.attr('disabled', 'disabled');\n }\n }, 0);\n\n return dismiss;\n }\n\n function clearDOM() {\n if (globalDismiss && typeof globalDismiss === 'function') {\n globalDismiss();\n globalDismiss = undefined;\n }\n\n if (globalDom && $.contains(document.body, globalDom)){\n $(globalDom).empty();\n globalDom.parentElement.removeChild(globalDom);\n globalDom = undefined;\n }\n }\n\n function positionDOM(opts) {\n var clientYscroll = opts.clientY + (window.scrollY || document.body.scrollTop || document.documentElement.scrollTop || 0),\n clientXscroll = opts.clientX + (window.scrollX || document.body.scrollLeft || document.documentElement.scrollLeft || 0),\n domBB = opts.dom.getBoundingClientRect(),\n width = domBB.width || domBB.right - domBB.left,\n height = domBB.height || domBB.bottom - domBB.top,\n offset = 10,\n windowHeight = $(window).height(),\n windowWidth = $(window).width(),\n top = Math.min(clientYscroll + offset, (windowHeight - height - offset)),\n left = Math.min(clientXscroll + offset, (windowWidth - width - offset)),\n style = { top: top + 'px', left: left + 'px'};\n\n if (!!opts.href) {\n // center every menu except the creation one\n left = Math.max(offset, clientXscroll - (width / 2));\n style.left = left + 'px';\n }\n\n if (clientYscroll + height + offset > windowHeight) {\n // menu will display past the bottom edge\n style.bottom = (windowHeight - clientYscroll - offset) + 'px';\n style.top = 'auto';\n }\n\n if (clientXscroll + width + offset > windowWidth) {\n // menu will display past the right edge\n style.right = offset + 'px';\n style.left = 'auto';\n }\n\n var styleString = _.map(style, function(val, name){ return name + ':' + val; }).join(';');\n opts.dom.setAttribute('style', styleString);\n }\n\n function createMenu(mark, mode, clientX, clientY) {\n var opts = {\n mark: mark,\n mode: mode,\n href: mark.getHref(),\n clientX: clientX,\n clientY: clientY\n },\n dom = createDOM(opts);\n\n parseIcons($(dom));\n\n opts.dom = dom;\n\n globalDismiss = bindDOM(opts);\n document.body.appendChild(dom);\n positionDOM(opts);\n globalDom = dom;\n\n }\n\n function hyperlinkMenuHandler(ev, mode) {\n clearDOM();\n\n if (ev.clientX && ev.clientY) {\n createMenu(ev.mark || ev.hyperlink, mode, ev.clientX, ev.clientY);\n }\n }\n\n function setHref(mark, linkText){\n // if no protocol is specified, add the default \"http://\"\n if (!linkText.match(/^([a-zA-Z]+\\:)?\\/\\//)){\n linkText = 'http://' + linkText;\n }\n\n mark.setHref(linkText);\n }\n\n function markCreatedHandler(ev){\n if (ev.mark.getType() === PCCViewer.Mark.Type.TextHyperlinkAnnotation && ev.clientX && ev.clientY) {\n hyperlinkMenuHandler(ev, \"edit\");\n }\n }\n\n function init(viewerControl, languageOptions, hyperlinkMenuTemplate, getCurrentMouseToolType){\n control = viewerControl;\n language = languageOptions;\n template = hyperlinkMenuTemplate;\n\n control.on(PCCViewer.EventType.Click, function(ev){\n var mouseToolType = getCurrentMouseToolType();\n if (mouseToolType !== \"PanAndEdit\" && mouseToolType !== \"EditMarks\") {\n // user is using a non-edit tool, so we should ignore the click\n return;\n }\n\n if (ev.targetType === \"mark\" && (ev.mark && ev.mark.getType && ev.mark.getType() === PCCViewer.Mark.Type.TextHyperlinkAnnotation)) {\n var selectedMarks = control.getSelectedMarks();\n if (ev.originalEvent.shiftKey) {\n // Return if the user did not click to select a single hyperlink.\n return;\n }\n\n if (ev.clientX && ev.clientY) {\n // trigger the menu when clicking on a hyperlink mark with x and y coordinates\n hyperlinkMenuHandler(ev, \"view\");\n }\n } else if (ev.targetType === \"documentHyperlink\") {\n hyperlinkMenuHandler(ev, \"view\");\n }\n });\n\n control.on(PCCViewer.EventType.MarkCreated, markCreatedHandler);\n }\n\n return {\n init: init,\n setHref: setHref,\n triggerMenu: markCreatedHandler\n };\n })();\n\n // This module manages the redaction reason proximity menu and UI\n var redactionReasonMenu = (function(){\n var control,\n language,\n template,\n maxFreeformReasonLength,\n preloadedRedactionReasons = {},\n globalDom,\n globalDismiss;\n\n function menuHandler(ev, mode) {\n clearDOM();\n\n if (ev.clientX && ev.clientY) {\n // On some devices, setTimeout prevents the dismissal of menu when immediate action menu closes\n setTimeout(function() {\n createMenu(ev.mark || ev.hyperlink, mode, ev.clientX, ev.clientY);\n },0);\n }\n }\n\n function createMenu(mark, mode, clientX, clientY) {\n var opts = {\n mark: mark,\n mode: mode,\n clientX: clientX,\n clientY: clientY\n },\n dom = createDOM(opts);\n\n parseIcons($(dom));\n\n opts.dom = dom;\n\n globalDismiss = bindDOM(opts);\n document.body.appendChild(dom);\n positionDOM(opts);\n globalDom = dom;\n }\n\n function createDOM (opts) {\n var div = document.createElement('div');\n div.className = 'pcc-redaction-reason-menu';\n\n var customRedactionReason;\n if (options.enableMultipleRedactionReasons) {\n customRedactionReason = getMultipleRedactionReasonsText(opts.mark.getReasons());\n } else {\n customRedactionReason = opts.mark.getReason();\n }\n\n $(div).html(renderTemplate(template, {\n language: language,\n mark: opts.mark,\n customRedactionReason: customRedactionReason\n }));\n\n return div;\n }\n\n function bindDOM(opts) {\n var useScrollDismiss = true,\n usingTouch = false,\n inputIsFocused = false;\n\n var $input = $(opts.dom).find('input').on('input propertychange', function(ev){\n // check if it is a propertychange event, and check the property\n var event = ev.originalEvent ? ev.originalEvent : ev;\n\n if (event.type === 'propertychange' && event.propertyName !== 'value'){\n // this is a legacy IE event not related to the input value\n return;\n }\n\n if (ev.target.value && ev.target.value.length) {\n $done.removeAttr('disabled');\n } else {\n $done.attr('disabled', 'disabled');\n }\n }).on('touchstart click', function(ev){\n // keep any click or touch in the input field from bubbling up and causing other events\n ev.preventDefault();\n\n if (ev.type === 'touchstart') {\n usingTouch = true;\n\n // We know that the user is using touch, and they have tapped on the input box to focus it.\n // We can be pretty sure that the touch keyboard is about to open, causing scroll events to occur,\n // especially on iOS. We need to ignore these scroll events in terms of dismissing the menu, so that\n // users can type in their link.\n useScrollDismiss = false;\n }\n\n return false;\n }).on('focus', function(){\n inputIsFocused = true;\n\n // As long as the user is using touch, and the input is in focus, we should not dismiss for scroll events.\n // The user is more likely to be dismissing the touch keyboard or trying to move the input box into a\n // visible location.\n useScrollDismiss = usingTouch ? false : useScrollDismiss;\n }).on('blur', function(){\n inputIsFocused = false;\n\n // The input has lost focus, so it is safe to dismiss on scroll now.\n useScrollDismiss = true;\n }).on('input', function(ev) {\n var val = $(this).val();\n if (viewer.redactionReasons.maxLengthFreeformRedactionReasons && val.length > viewer.redactionReasons.maxLengthFreeformRedactionReasons){\n viewer.notify({message: PCCViewer.Language.data.redactionReasonFreeforMaxLengthOver});\n $(this).val(val.substring(0, viewer.redactionReasons.maxLengthFreeformRedactionReasons));\n }\n if (options.enableMultipleRedactionReasons) {\n opts.mark.setReasons([$(this).val()]);\n } else {\n opts.mark.setReason($(this).val());\n }\n });\n\n var dismissed = false;\n function dismiss(){\n // make sure the menu is dismissed only once\n if (dismissed) {\n return;\n } else {\n dismissed = true;\n }\n\n clearDOM();\n $(document.body).off('mousedown touchstart', dismissHandler);\n\n // if the mark is already selected, use mark selection to refresh the context menu\n if (_.contains(control.getSelectedMarks(), opts.mark)){\n control.deselectMarks([opts.mark]);\n control.selectMarks([opts.mark]);\n }\n }\n\n var $done = $(opts.dom).find('[data-pcc-redaction-reason=\"done\"]').click(dismiss);\n\n var $clear = $(opts.dom).find('[data-pcc-redaction-reason=\"clear\"]').click(function(){\n $input.val('').focus();\n if (options.enableMultipleRedactionReasons) {\n opts.mark.setReasons([]);\n } else {\n opts.mark.setReason('');\n }\n $done.attr('disabled', 'disabled');\n });\n\n function dismissHandler(ev){\n ev = ev || {};\n\n if (ev.target && $.contains(opts.dom, ev.target)){\n // this is a click inside the hyperlink menu, so we will not dismiss\n // add another handler for the next click\n return;\n }\n\n if (!useScrollDismiss && ev.type === \"scroll\") {\n // do not dismiss if this scroll is due to the touch keyboard opening\n return;\n }\n\n dismiss();\n }\n\n setTimeout(function(){\n // delay subscription, since triggering a menu as a result of a click will also trigger this event\n $(document.body).on('mousedown touchstart', dismissHandler);\n // do not dismiss the menu if the user moves away when in edit mode\n opts.useMoveTrigger = opts.mode !== 'edit';\n\n // delay so that focus occurs after the menu is displayed\n $input.focus();\n\n // if there is no content, disable the done button\n if (!$input.val()) {\n $done.attr('disabled', 'disabled');\n }\n }, 0);\n\n return dismiss;\n }\n\n\n function positionDOM(opts) {\n var clientYscroll = opts.clientY + (window.scrollY || document.body.scrollTop || document.documentElement.scrollTop || 0),\n clientXscroll = opts.clientX + (window.scrollX || document.body.scrollLeft || document.documentElement.scrollLeft || 0),\n domBB = opts.dom.getBoundingClientRect(),\n width = domBB.width || domBB.right - domBB.left,\n height = domBB.height || domBB.bottom - domBB.top,\n offset = 10,\n windowHeight = $(window).height(),\n windowWidth = $(window).width(),\n top = Math.min(clientYscroll + offset, (windowHeight - height - offset)),\n left = Math.min(clientXscroll + offset, (windowWidth - width - offset)),\n style = { top: top + 'px', left: left + 'px'};\n\n if (clientYscroll + height + offset > windowHeight) {\n // menu will display past the bottom edge\n style.bottom = (windowHeight - clientYscroll - offset) + 'px';\n style.top = 'auto';\n }\n\n if (clientXscroll + width + offset > windowWidth) {\n // menu will display past the right edge\n style.right = offset + 'px';\n style.left = 'auto';\n }\n\n var styleString = _.map(style, function(val, name){ return name + ':' + val; }).join(';');\n opts.dom.setAttribute('style', styleString);\n }\n\n function clearDOM() {\n if (globalDismiss && typeof globalDismiss === 'function') {\n globalDismiss();\n globalDismiss = undefined;\n }\n\n if (globalDom && $.contains(document.body, globalDom)){\n globalDom.parentElement.removeChild(globalDom);\n globalDom = undefined;\n }\n }\n\n function isPreloadedRedactionReason(reason) {\n if(Array.isArray(reason)){\n for (var i=0;i');\n if (!reason.selectable) {\n $span.text(reason.reason);\n } else {\n $span.append(\n $('').addClass('pcc-select-multiple-redaction-reason').text(reason.reason)\n );\n if (reason.description) {\n $span\n .append(': ')\n .append(\n $('')\n .addClass('pcc-select-multiple-redaction-description')\n .text(reason.description)\n );\n }\n }\n var $div = $('
    ')\n .attr('title', reason.reason + (reason.description ? ': ' + reason.description : ''))\n .append($span);\n\n // Add checkbox\n if (options.enableMultipleRedactionReasons && reason.selectable) {\n $div\n .addClass('pcc-checkbox')\n .attr('data-pcc-checkbox', 'redaction-reasons')\n .prepend(\n $('').addClass('pcc-icon').addClass('pcc-icon-check')\n );\n\n if (mark && mark.reasons.indexOf(reason.reason) >= 0) {\n $div.addClass('pcc-checked');\n }\n parseIcons($div);\n }\n\n return $div[0];\n },\n action: function(ev, mark, domElement) {\n var closeMenu = true;\n if (reason.reason === language.redactionReasonClear) {\n if (options.enableMultipleRedactionReasons) {\n mark.setReasons([]);\n // Unselect all the reasons\n $(domElement).parents('.pcc-immediate-action-menu').find('[data-pcc-checkbox=\"redaction-reasons\"].pcc-checked').removeClass('pcc-checked');\n closeMenu = false;\n } else {\n mark.setReason('');\n }\n } else if (reason.reason === PCCViewer.Language.data.redactionReasonFreeform) {\n redactionReasonMenuTrigger(ev);\n } else {\n if (options.enableMultipleRedactionReasons) {\n var $parent = $(domElement).parents('.pcc-immediate-action-menu');\n var $div = $(domElement).find('[data-pcc-checkbox]');\n\n // check/uncheck clicked item\n $div.toggleClass('pcc-checked');\n\n // collect all checked reasons\n var $checkedReasons = $parent.find('[data-pcc-checkbox=\"redaction-reasons\"].pcc-checked');\n var reasons = [];\n $checkedReasons.each(function(){\n reasons.push($(this).find('.pcc-select-multiple-redaction-reason').text());\n });\n mark.setReasons(reasons);\n closeMenu = false;\n } else {\n mark.setReason(reason.reason);\n }\n }\n return closeMenu;\n },\n valid: function(event, type, elem) {\n return (type === 'RectangleRedaction' || type === \"TextSelectionRedaction\") && event.toLowerCase() !== PCCViewer.EventType.Click.toLowerCase();\n }\n });\n });\n\n // Add the cancel button back to the end\n actions.push(cancelButton);\n }\n\n function createDOM(elem, ev, mark) {\n if (fileDownloadManager.isInPreviewMode() !== true) {\n var eventType = ev.getType().toLowerCase(),\n list = document.createElement('ul'),\n // RAPIDREVIEW and DOC_PAGE_VIEWER\n // removing + ' pccv' fixes style for immediateActionMenu\n newClassName = elem.className + ' ' + menuClass;\n // END RAPIDREVIEW and DOC_PAGE_VIEWER\n\n elem.className = newClassName;\n\n _.forEach(actions, function (item) {\n // RAPIDREVIEW\n // This Add Comment option should only appear if a mark is not mine\n // and if it is the first comment on the mark.\n var validItem = options.nextRequest.rapidReview ? item.name === 'Add Comment' : item.valid(eventType, mark && mark.getType(), elem)\n if (validItem) {\n var li = document.createElement('li');\n var itemDom = \"\"\n if (options.nextRequest.rapidReview) {\n // escape any possible unsafe characters in the name\n var itemDom = document.createTextNode(language[item.languageKey] || item.name)\n } else {\n var itemDom = item.dom ? item.dom(mark) : document.createTextNode( language[item.languageKey] || item.name)\n }\n li.appendChild(itemDom);\n li.className = itemClass;\n\n // add event handler - Note that when using PointerEvent.preventDefault,\n // it cancels further mouse events, but will still fire the click. If we\n // use a click event here, the menu will not usable on a Windows Touch device.\n // Instead, we will use 'mouseup touchend' to detect a click.\n $(li).on('mouseup touchend', function ($ev) {\n if ($ev.cancelable) {\n $ev.preventDefault();\n }\n if (preventSelect) {\n return;\n }\n\n var retValue = item.action(ev, mark, this);\n\n // destroy the menu after any item is clicked\n if (retValue !== false) {\n destroyFunction();\n }\n });\n // Prevent selecting item on touch devices when you just want to scroll\n // the immediate menu\n var preventSelect;\n $(li).on('touchstart', function($ev) {\n preventSelect = false;\n });\n $(li).on('touchmove', function($ev) {\n preventSelect = true;\n });\n\n list.appendChild(li);\n\n }\n // END RAPIDREVIEW\n });\n\n elem.appendChild(list);\n }\n }\n\n function positionMenuDOM(clientX, clientY, handleClientX, handleClientY) {\n if (handleClientX === undefined || handleClientY === undefined) {\n handleClientX = clientX;\n handleClientY = clientY;\n }\n\n var handleClientYscroll = handleClientY + (window.scrollY || document.body.scrollTop || document.documentElement.scrollTop || 0),\n handleClientXscroll = handleClientX + (window.scrollX || document.body.scrollLeft || document.documentElement.scrollLeft || 0),\n domBB = dom.getBoundingClientRect(),\n width = domBB.width || domBB.right - domBB.left,\n height = domBB.height || domBB.bottom - domBB.top,\n offset = 10,\n windowHeight = $(window).height(),\n windowWidth = $(window).width(),\n top = Math.min(handleClientYscroll + offset, (windowHeight - height - offset)),\n left = Math.min(handleClientXscroll + offset, (windowWidth - width - offset)),\n triggerDomBB = domBB,\n triggerHeight = height,\n triggerWidth = width,\n style = { top: top + 'px', left: left + 'px'};\n\n if (useHoverEnter) {\n // apply the hover trigger class here if requested\n dom.className += ' ' + hoverTriggerClass;\n triggerDomBB = dom.getBoundingClientRect();\n triggerHeight = triggerDomBB.height || triggerDomBB.bottom - triggerDomBB.top;\n triggerWidth = triggerDomBB.width || triggerDomBB.right - triggerDomBB.left;\n }\n\n if (handleClientX !== clientX || handleClientY !== clientY) {\n var clientYscroll = clientY + (window.scrollY || document.body.scrollTop || document.documentElement.scrollTop || 0),\n clientXscroll = clientX + (window.scrollX || document.body.scrollLeft || document.documentElement.scrollLeft || 0);\n\n if (clientXscroll > left && clientXscroll < left + triggerWidth && clientYscroll > top && clientYscroll < top + triggerHeight) {\n // using the handle position the menu would appear under the mouse, so use the mouse position instead\n positionMenuDOM(clientX, clientY);\n return;\n }\n }\n\n if (handleClientYscroll + height + offset > windowHeight) {\n // menu will display past the bottom edge\n if (useHoverEnter && (clientY + triggerHeight + offset > windowHeight)) {\n style.bottom = offset + 'px';\n } else {\n style.bottom = (windowHeight - handleClientYscroll - offset) + 'px';\n }\n\n style.top = 'auto';\n }\n\n if (handleClientXscroll + width + offset > windowWidth) {\n // menu will display past the right edge\n if (useHoverEnter && (clientX + triggerWidth + offset > windowWidth)) {\n style.right = offset + 'px';\n } else {\n style.right = (windowWidth - handleClientXscroll - offset) + 'px';\n }\n\n style.left = 'auto';\n }\n\n var styleString = _.map(style, function(val, name){ return name + ':' + val; }).join(';');\n dom.setAttribute('style', styleString);\n }\n\n function replaceMenu(ev) {\n if (ev.clientX !== undefined && ev.clientY !== undefined) {\n var newDom = document.createElement('ul');\n if (ev.mark) {\n // create a menu for the specific mark type\n createDOM(newDom, ev, ev.mark);\n } else if (ev.textSelection) {\n // create a menu for the selected text\n createDOM(newDom, ev);\n } else {\n // this event is not interesting, exit now\n return;\n }\n\n // Destroy the menu if the replacement is empty\n if (newDom.children.length === 0) {\n destroyFunction();\n return;\n }\n\n $(dom).removeAttr('style').children('ul').replaceWith(newDom.children);\n positionMenuDOM(ev.clientX, ev.clientY, ev.handleClientX, ev.handleClientY);\n }\n }\n\n function menuClickHandler(ev) {\n // RAPIDREVIEW add comments variable to check for conversation length before opening the action menu\n var comments = ev.mark && (ev.mark.getConversation().getComments().length === 0)\n if (ev.mark && ev.mark.getInteractionMode() === PCCViewer.Mark.InteractionMode.SelectionDisabled && comments) {\n // END RAPIDREVIEW\n menuHandler(ev);\n }\n }\n\n function menuHandler(ev) {\n if (ev.mark && ev.mark.getType() === PCCViewer.Mark.Type.TextHyperlinkAnnotation) {\n // close a menu if it already exists, but do not create a new one\n // hyperlink oncreate action is handled by the hyperlink menu\n if (dom) {\n destroyFunction();\n }\n return;\n }\n\n if (ev.clientX !== undefined && ev.clientY !== undefined) {\n // Just to make sure we never have multiple menus, reuse the DOM container created previously when possible.\n if (dom) {\n destroyFunction();\n }\n\n dom = document.createElement('div');\n var $icon = $('');\n\n updateIcon($icon);\n\n dom.appendChild($icon[0]);\n\n if (ev.mark) {\n // create a menu for the specific mark type\n createDOM(dom, ev, ev.mark);\n } else if (ev.textSelection) {\n // create a menu for the selected text\n createDOM(dom, ev);\n } else {\n // this event is not interesting, exit now\n return;\n }\n\n // check if any actions are available\n if (dom.children.length === 0) {\n // there are no actions available for this event\n // exit without showing a menu\n return;\n }\n\n // insert the DOM into the document body\n document.body.appendChild(dom);\n\n // set position after the element is in the DOM\n positionMenuDOM(ev.clientX, ev.clientY, ev.handleClientX, ev.handleClientY);\n\n // make sure trigger doesn't auto-click the first item if using a touchscreen\n if (useHoverEnter) {\n var $dom = $(dom);\n\n touchstartHandler = function(ev) {\n if (/pointer/i.test(ev.type) && ev.originalEvent.pointerType === 'touch') {\n // Do not cancel events if the viewport is already mobile\n if (viewer.latestBreakpoint === viewer.breakpointEnum.mobile) {\n return;\n }\n\n // This is an IE pointer event, which cancels gover states. We will need to\n // use a manual class here.\n if (!$dom.hasClass('pcc-expanded')) {\n $dom.addClass('pcc-expanded');\n ev.preventDefault();\n ev.stopPropagation();\n return false;\n }\n } else if (!$(ev.target).hasClass('pcc-immediate-action-menu-item') && !$(ev.target).parents().hasClass('pcc-immediate-action-menu-item')) {\n // In all other touch events, if the target is not an li, stop this\n // event from continuing to a click -- this is used to expand a hover menu.\n ev.preventDefault();\n ev.stopPropagation();\n return false;\n }\n };\n\n // fix for touch screens and the hover menu\n $dom.on('pointerdown', touchstartHandler);\n }\n\n // destroy the menu if anything other than the menu is clicked\n $(document.body).on('mousedown touchstart', destroyFunction);\n\n // expand the menu if it is hovered\n $(dom).on('mouseenter touchstart', function(){\n $(this).addClass('pcc-expanded');\n var rect = dom.getBoundingClientRect();\n if(rect.top < 0){\n // NEXTREQUEST\n // Fixes $dom being undefined. This was reported to Accusoft.\n $(dom).css({\n // END NEXTREQUEST\n top: dom.offsetTop - rect.top,\n bottom: 'auto'\n });\n } else if(rect.bottom > window.innerHeight) {\n $(dom).css({\n top: dom.offsetTop - (rect.bottom - window.innerHeight),\n bottom: 'auto',\n });\n }\n });\n\n // add a proximity desctory, to remove the menu if the user moves away from it\n proximityDismiss.add({\n clientX: ev.clientX,\n clientY: ev.clientY,\n dom: dom,\n useDistanceToDomRect: true,\n mouseMoveCallback: mouseMoveCallback,\n distanceTolerance: 200\n }, destroyFunction);\n }\n }\n\n function mouseMoveCallback(opts) {\n var opacityTreshhold = 0.75;\n var opacity = 1;\n\n var opacityTreshholdDistance = opts.distanceTolerance * opacityTreshhold;\n if (opts.currentDistance > opacityTreshholdDistance) {\n opacity = Math.max(0, 1 - (opts.currentDistance - opacityTreshholdDistance) / (opts.distanceTolerance - opacityTreshholdDistance));\n }\n opts.dom.style.opacity = opacity;\n }\n\n function initCopy(text){\n var templateOptions = {\n language: language\n };\n\n var $textArea;\n\n function showModal() {\n $overlay.html(copyTemplate)\n .addClass('pcc-open')\n .on('click', '.pcc-overlay-closer', function(ev) {\n closeCopyOverlay($overlay, $overlayFade);\n })\n .on('click', closeCopyOverlayOnInteraction);\n\n var textNode = document.createTextNode(text),\n child = document.createElement('div');\n\n var cleanText = text.replace(/\\n/g, ' ').replace(/[\\s]{2,}/g, ' ');\n $textArea = $overlay.find('.pcc-copy-textarea').val(cleanText).select();\n }\n\n try {\n if (document.queryCommandSupported && document.queryCommandSupported(\"cut\")) {\n var accessToClipboardGranted = true;\n // IE8 - 10 will prompt the user for access\n if (document.documentMode && document.documentMode >= 8 && document.documentMode <= 10) {\n accessToClipboardGranted = document.execCommand(\"cut\");\n }\n\n // Now we can show the modal for a brief moment and copy the contents to the clipboard\n // This will/should happen so fast that the user will never get to see the modal\n showModal();\n\n // Let's check if the cut command worked by checking if the text area has not text in it\n if (accessToClipboardGranted && document.execCommand(\"cut\") && !$textArea.val().length) {\n closeCopyOverlay();\n return;\n }\n }\n } catch (e) {\n\n }\n\n showModal();\n $overlayFade.show();\n return $overlay;\n }\n\n function closeCopyOverlayOnInteraction(ev){\n if ($overlay.is(ev.target)) {\n $overlay.on('click', closeCopyOverlayOnInteraction);\n closeCopyOverlay();\n\n // clear the selection, if still selected\n // this is needed mostly for iOS\n if (window.getSelection) {\n var selection = window.getSelection();\n selection.removeAllRanges();\n }\n }\n }\n\n function closeCopyOverlay(){\n $overlay.off('click', closeCopyOverlayOnInteraction);\n $overlay.removeClass('pcc-open');\n\n // Remove the dark overlay\n $overlayFade.hide();\n\n $overlay.empty();\n }\n\n function init(opts) {\n actionsFilter = opts.actions;\n\n redactionReasons = _.clone(opts.redactionReasons);\n if (opts.redactionReasons.reasons) {\n redactionReasons.reasons = opts.redactionReasons.reasons.map(function(reason) {\n return _.clone(reason);\n });\n }\n\n redactionReasonMenuTrigger = opts.redactionReasonMenuTrigger;\n control = opts.viewerControl;\n language = PCCViewer.Language.data;\n useHoverEnter = (opts.mode === 'hover');\n $overlay = opts.$overlay;\n $overlayFade = opts.$overlayFade;\n copyTemplate = renderTemplate(opts.copyOverlay, { options: { language: language } });\n\n // add viewer event listeners\n // RAPIDREVIEW\n // These event listeners are no longer needed in rapid review since we\n // do not need to open any menu when user creates a mark or selects a text redaction.\n if (!options.nextRequest.rapidReview) {\n control.on(PCCViewer.EventType.MarkCreated, menuHandler);\n control.on(PCCViewer.EventType.TextSelected, menuHandler);\n }\n // END RAPIDREVIEW\n control.on(PCCViewer.EventType.Click, menuClickHandler);\n\n addRedactionReasonActions();\n }\n\n return {\n init: init\n };\n })();\n\n // This module manages the comments interface and interacting with the comments.\n var commentUIManager = (function(){\n var editModeKey = 'Accusoft-isInEditMode',\n prevTextKey = 'Accusoft-previousText',\n selectedStateKey = 'Accusoft-selectedState',\n highlightKey = 'Accusoft-highlight',\n skinnyClass = 'pcc-skinny-comments',\n expandedClass = 'pcc-expanded',\n control,\n template,\n language,\n dateFormat,\n $toggleButton,\n $commentsPanel,\n $pageList,\n panelMode,\n // Steal jQuery to use its event framework.\n $event = $({}),\n dismissEvent = 'dismissPending';\n\n $event.store = {};\n\n function dismissCommentEdit(comment, opts) {\n // Clear the dismiss event listener on the body.\n if (opts.bodyClickDismiss && typeof opts.bodyClickDismiss === 'function') {\n $(document.body).off('touchstart click', opts.bodyClickDismiss);\n }\n\n if (opts.cancel && opts.editMode === 'create') {\n opts.conversation.deleteComments(comment);\n } else if (opts.cancel && opts.editMode === 'edit') {\n comment.setData(editModeKey, undefined);\n if (control.getMarkById(opts.conversation.getMark().getId())) {\n control.refreshConversations(opts.conversation);\n }\n } else if (opts.save) {\n var val = $(opts.textarea).val(),\n prevText = comment.getText();\n\n if (val === prevText) {\n // if text didn't change, treat this as a cancel\n opts.cancel = true;\n opts.save = false;\n dismissCommentEdit(comment, opts);\n } else if (val !== undefined) {\n comment.setData(editModeKey, undefined);\n // RAPIDREVIEW\n // Set author username and id for comment\n if (options.nextRequest.rapidReview) {\n comment.setData('userId', options.nextRequest.userId)\n comment.setData('author', options.nextRequest.userName)\n }\n // END RAPIDREVIEW\n comment.setText(val);\n }\n }\n }\n\n function parseHighlightString(str) {\n var parts = str.split('|');\n var selections = _.map(parts, function(part){\n return (function(){\n var query = {},\n temp = part.split('&');\n for (var i = temp.length; i--;) {\n var q = temp[i].split('='),\n key = q.shift(),\n value = q.join('=');\n /* jshint -W116 */\n // we want to take advantage of type coercion here\n query[key] = (+value == value) ? +value : value;\n /* jshint +W116 */\n }\n return query;\n })();\n });\n\n return PCCViewer.Util.calculateNonOverlappingSelections(selections, '#ffffff');\n }\n\n function cleanupConversationEvents(markId, existingDom){\n // Clean up events on the old DOM\n if (existingDom) {\n $(existingDom).off().find('*').off();\n }\n\n // Delete any old triggers from the event store\n if ($event.store[markId + 'triggers']) {\n // remove old trigger events from event storage\n _.forEach($event.store[markId + 'triggers'], function(val, name) {\n if (typeof val === 'function') {\n $event.off(name, val);\n }\n });\n $event.store[markId + 'triggers'] = undefined;\n }\n }\n\n function conversationDOMFactory(conversation, state, existingDOM){\n var comments = conversation.getComments();\n if (comments.length === 0) {\n return;\n }\n\n // Get the mark ID\n var markId = conversation.getMark().getId();\n\n // Check if this is a selection state change\n var selectedState = conversation.getData(selectedStateKey),\n $existingDOM;\n\n if (selectedState === 'in' && existingDOM) {\n $(existingDOM).addClass('pcc-conversation-selected');\n\n // Show the reply box under the selected conversation if the last comment is not currently being added\n // (if it is being added, it has no text yet).\n if (comments.length > 0 && comments[comments.length - 1].getText().length > 0) {\n $(existingDOM).find('.pcc-comment-reply').removeClass('pcc-comment-hide');\n }\n\n conversation.setData(selectedStateKey, undefined);\n return existingDOM;\n } else if (selectedState === 'out' && existingDOM) {\n $existingDOM = $(existingDOM);\n $existingDOM.removeClass('pcc-conversation-selected');\n $existingDOM.find('.pcc-conversation-container').removeClass('pcc-expanded');\n updateIcon($existingDOM.find('.pcc-comment-trigger').removeClass('pcc-icon-x').addClass('pcc-icon-comment'));\n $existingDOM.find('.pcc-comment-reply').addClass('pcc-comment-hide');\n\n conversation.setData(selectedStateKey, undefined);\n return existingDOM;\n }\n\n // Clean up any old events\n cleanupConversationEvents(markId, existingDOM);\n\n // Just in case this factory gets called with state hints and no DOM\n if (selectedState) {\n conversation.setData(selectedStateKey, undefined);\n }\n\n var dom = document.createElement('div'),\n $dom = $(dom);\n dom.className = 'pcc-conversation';\n\n var trigger = document.createElement('div'),\n $trigger = $(trigger);\n $trigger.addClass('pcc-comment-trigger pcc-icon pcc-icon-comment');\n\n updateIcon($trigger);\n\n var container = document.createElement('div'),\n $container = $(container);\n $container.addClass('pcc-conversation-container');\n\n dom.appendChild(trigger);\n dom.appendChild(container);\n\n _.forEach(comments, function(el, i, arr){\n var fragment = document.createElement('div'),\n editMode = el.getData(editModeKey),\n highlight = el.getSessionData(highlightKey),\n date = formatDate(el.getCreationTime(), dateFormat.toString()),\n commentId = markId.toString() + 'c' + i;\n\n // Create the DOM for each comment\n var $comment = $(renderTemplate(template, {\n comment: el,\n editMode: editMode,\n prevText: el.getText(),\n date: date,\n language: language,\n first: (i === 0),\n last: (i === arr.length - 1),\n // RAPIDREVIEW\n // Checks if the current user is the author of the comment\n // original code:\n // isMine: el.getMarkupLayer() === control.getActiveMarkupLayer(),\n // owner: el.getData('Accusoft-owner')\n isMine: options.nextRequest.rapidReview ? options.nextRequest.userId === el.getData('userId') : el.getMarkupLayer() === control.getActiveMarkupLayer(),\n owner: options.nextRequest.rapidReview ? el.getData('author') : el.getData('Accusoft-owner')\n // END RAPIDREVIEW\n })).appendTo(fragment);\n\n parseIcons($comment);\n\n var $textarea = $(fragment).find('textarea');\n\n // A highlight was requested by the advanced search module\n if (highlight) {\n // Get parsed values\n var highlightValues = parseHighlightString(highlight);\n\n // We will need to build the highlighted text DOM manually\n var $div = $(fragment).find('.pcc-comment-text'),\n textFragment = document.createDocumentFragment(),\n // get the comment text\n text = el.getText(),\n textPart = '',\n span;\n\n _.forEach(highlightValues, function(val, i, arr){\n if (i === 0) {\n // this is text before any selections begin\n // get the string from 0 to the start index\n textPart = text.substring(0, val.startIndex);\n textFragment.appendChild( document.createTextNode(textPart) );\n }\n\n span = null;\n span = document.createElement('span');\n // get the string from the start index with the correct length\n textPart = text.substr(val.startIndex, val.length);\n span.style.background = val.color;\n\n span.appendChild( document.createTextNode(textPart) );\n textFragment.appendChild(span);\n\n if (arr[i + 1] && val.endIndex + 1 < arr[i + 1].startIndex) {\n // there is text between this selection and the next\n textPart = text.substring(val.endIndex + 1, arr[i + 1].startIndex);\n textFragment.appendChild( document.createTextNode(textPart) );\n }\n\n if (i === arr.length - 1) {\n // this is text after all the selections\n // get the string from the end of the last selection to the end of the string\n textPart = text.substr(val.startIndex + val.length);\n textFragment.appendChild( document.createTextNode(textPart) );\n }\n });\n\n\n $div.empty();\n\n $div.append(textFragment);\n }\n\n // Create a dismiss function to use to dismiss this comment.\n // All dismiss processes should call this function, so cleanup is performed.\n function dismissFunction(){\n // Remove comment dismiss and body dismiss event listeers.\n $event.off(dismissEvent, dismissFunction);\n $(document.body).off('click', bodyClickDismiss);\n $textarea.off();\n\n // Try to get the dismiss function for this comment\n var dismissFunc = $event.store[commentId + 'dismiss'];\n\n if (dismissFunc && typeof dismissFunc === 'function') {\n dismissFunc();\n }\n }\n\n function bodyClickDismiss(ev) {\n // Check for a .pcc-comment parent\n var $parent = $(ev.target).hasClass('pcc-comment') ? $(ev.target) : $(ev.target).parent('.pcc-comment');\n\n // Check if the move context menu or context menu options is clicked\n // Do not dismiss if one of these options are clicked\n var contextMenuClick = $(ev.target).data();\n if (contextMenuClick.pccMoveContextMenu !== undefined || contextMenuClick.pccToggle === \"context-menu-options\") {\n return;\n }\n\n // Check if the textarea for this comment is inside the clicked parent.\n // Dismiss only if clicking outside of the comment currently in edit mode.\n if (!($parent.length && $textarea.length && $.contains($parent.get(0), $textarea.get(0)))) {\n if ($textarea.val() === '' && editMode === 'edit') {\n // Do not allow the user to dismiss a comment from Edit mode if the text is empty.\n return;\n }\n\n // Trigger a dismiss, to automatically dismiss all comments and clean up.\n $event.trigger(dismissEvent);\n }\n }\n\n // Partial options object for dismissing comment edits.\n var dismissOpts = {\n editMode: editMode,\n commentId: commentId,\n bodyClickDismiss: bodyClickDismiss,\n dismissFunction: dismissFunction,\n textarea: $textarea,\n conversation: conversation\n };\n\n if (editMode) {\n // Store only one dismiss function for each comment.\n $event.store[commentId + 'dismiss'] = function dismissComment(){\n // Remove self when executing\n delete $event.store[commentId + 'dismiss'];\n\n dismissOpts.save = true;\n dismissCommentEdit(el, dismissOpts);\n };\n\n // Listen to dismiss events and dismiss this comment.\n $event.one(dismissEvent, dismissFunction);\n\n // Clicking anywhere outside the comment will save it, or cancel if no edits were done.\n $(document.body).on('click', bodyClickDismiss);\n }\n\n // Add click handlers\n $(fragment).children()\n // listen to clicks on the Done button for comment editing\n .on('click', '[data-pcc-comment=\"done\"]', function(){\n dismissOpts.save = true;\n dismissFunction();\n })\n // listen to clicks on the Cancel button for comment editing\n .on('click', '[data-pcc-comment=\"cancel\"]', function(){\n dismissOpts.cancel = true;\n dismissFunction();\n })\n // listen to overflow menu trigger on touch screens\n .on('touchend', '.pcc-comment-menu-trigger', function(ev){\n ev.preventDefault();\n $(this).parent('[data-pcc-comment-menu]').toggleClass('pcc-expanded');\n })\n .on('click', '[data-pcc-comment-delete]', function(ev){\n // Keep this event from registering on the bodyClickDismiss handler\n ev.stopPropagation();\n\n // Make sure this button dismisses any other comment that is being edited.\n // This includes comments that may belong to a different conversation.\n $event.trigger(dismissEvent);\n\n conversation.deleteComments(el);\n })\n .on('click', '[data-pcc-comment-edit]', function(ev){\n // Keep this event from registering on the bodyClickDismiss handler.\n ev.stopPropagation();\n\n // Make sure this button dismisses any other comment that is being edited.\n // This includes comments that may belong to a different conversation.\n $event.trigger(dismissEvent);\n\n el.setData(editModeKey, 'edit');\n control.refreshConversations(conversation);\n })\n .appendTo(container);\n\n // Check if there is a textarea.\n if ($textarea.length) {\n // Select the comment automatically\n $dom.addClass('pcc-conversation-selected');\n $container.addClass('pcc-expanded');\n $trigger.addClass('pcc-icon-x').removeClass('pcc-icon-comment');\n\n updateIcon($trigger);\n\n var $doneButton = $dom.find('[data-pcc-comment=\"done\"]');\n\n var disableDone = function(){\n if ($doneButton.attr('disabled') !== 'disabled') {\n $doneButton.attr('disabled', 'disabled');\n }\n };\n\n var enableDone = function(){\n if ($doneButton.attr('disabled')) {\n $doneButton.removeAttr('disabled');\n }\n };\n\n // Listen to key events on the textarea\n $textarea.on('keyup', function(){\n if (this.value === \"\") {\n disableDone();\n } else {\n enableDone();\n }\n }).on('touchstart click', function(ev){\n // keep any click or touch in the input field from bubbling up and causing other events\n ev.preventDefault();\n $textarea.focus();\n });\n\n // Disable the Done button by default.\n disableDone();\n\n // Focus the textarea so that the user can start typing.\n // Do this on the next event loop.\n _.defer(function(){\n $textarea.focus();\n });\n }\n });\n\n // Append text input to conversation, and show it if the conversation is selected and the last comment is not\n // currently being added (in which case it has no text yet).\n var selectedConversationInputWrapper = document.createElement('div');\n var inputClasses = (state.isSelected === true && (comments.length > 0 && comments[comments.length - 1].getText().length > 0)) ? 'pcc-comment-reply' : 'pcc-comment-reply pcc-comment-hide';\n selectedConversationInputWrapper.className = inputClasses;\n var selectedConversationInput = document.createElement('textarea');\n selectedConversationInput.className = 'pcc-comment-reply-input';\n $(selectedConversationInput).val(PCCViewer.Language.data.reply);\n selectedConversationInputWrapper.appendChild(selectedConversationInput);\n $container.append(selectedConversationInputWrapper);\n\n $(selectedConversationInputWrapper).on('click', function(ev){\n // Keep this event from registering on the bodyClickDismiss handler.\n ev.stopPropagation();\n\n // Make sure this button dismisses any other comment that is being edited.\n // This includes comments that may belong to a different conversation.\n $event.trigger(dismissEvent);\n\n addComment(conversation);\n });\n\n // Expand the comment\n function onExpandRequested(ev, params) {\n if (params.mark === conversation.getMark()) {\n // trigger a shrink for any already-expanded comments\n $event.trigger('shrink');\n // expand this comment\n expand();\n }\n }\n\n function onShrinkRequested(ev, params) {\n if ($container.hasClass(expandedClass)) {\n shrink();\n }\n }\n\n function toggleSkinnyCommentState() {\n if ($container.hasClass(expandedClass)) {\n shrink();\n } else {\n expand();\n }\n }\n\n function expand() {\n $container.addClass(expandedClass);\n $trigger.addClass('pcc-icon-x').removeClass('pcc-icon-comment');\n\n updateIcon($trigger);\n }\n\n function shrink() {\n $container.removeClass(expandedClass);\n $trigger.removeClass('pcc-icon-x').addClass('pcc-icon-comment');\n\n updateIcon($trigger);\n }\n\n // Clicking anywhere on the dom selects the comment\n $dom.on('click', function(ev) {\n\n if (control.getSelectedConversation() !== conversation) {\n\n // Deselect any previous marks\n control.deselectAllMarks();\n\n var mark = conversation.getMark();\n if (mark.getInteractionMode() === PCCViewer.Mark.InteractionMode.Full) {\n // Select the mark associated to the conversation that was clicked on\n control.selectMarks(mark);\n }\n else {\n\n // Prevent the body click handler from being called\n ev.stopPropagation();\n\n var bodyClickDismissSelection = function (ev) {\n // Check for a .pcc-comment parent\n var $parent = $(ev.target).hasClass('pcc-comment') ? $(ev.target) : $(ev.target).parent('.pcc-comment');\n\n if ($parent.length) {\n return;\n }\n\n // An area other than the conversation was selected, so deselect the conversation\n $(document.body).off('click', bodyClickDismissSelection);\n\n // Check if there was a selected conversation that needs to be transitioned out\n var prevSelected = control.getSelectedConversation();\n if (prevSelected === mark.getConversation()) {\n prevSelected.setData(selectedStateKey, 'out');\n control.setSelectedConversation(null);\n }\n };\n\n // If the mark is not interactive, just select the conversation\n onSingleMarkSelected(mark);\n\n // Since the mark can not be deselected, need to dismiss when clicking off of the comment\n $(document.body).on('click', bodyClickDismissSelection);\n }\n }\n });\n\n // Clicking on the trigger will expand the comment\n $trigger.on('click', toggleSkinnyCommentState);\n\n // Save events in the event store, so they can be cleaned up later\n $event.store[markId + 'triggers'] = {\n expand: onExpandRequested,\n shrink: onShrinkRequested,\n markId: markId\n };\n // Register events listeners from the store\n _.forEach($event.store[markId + 'triggers'], function(func, name) {\n if (typeof func === 'function') {\n $event.on(name, func);\n }\n });\n\n if (state && state.isSelected) {\n dom.className += ' pcc-conversation-selected';\n }\n\n // add JS hover handlers for legacy IE, which will not handle CSS hovers\n if (dom.attachEvent) {\n var $hoverMenu = $dom.find('[data-pcc-comment-menu]')\n .on('mouseenter', function(ev){\n $(this).parent('[data-pcc-comment-menu]').addClass('pcc-expanded');\n })\n .on('mouseleave', function(ev){\n $(this).parent('[data-pcc-comment-menu]').removeClass('pcc-expanded');\n });\n }\n\n return dom;\n }\n\n function onSingleMarkSelected(mark) {\n var conversation = mark.getConversation();\n\n if (conversation.getComments().length) {\n // get the current selected conversation\n var prevConversation = control.getSelectedConversation();\n\n // check if this is the same one as on this mark\n if (prevConversation === conversation) {\n // it is already selected, so do nothing\n return;\n }\n\n // check if there was a selected conversation that needs to be transitioned out\n if (prevConversation) {\n prevConversation.setData(selectedStateKey, 'out');\n }\n\n // transition the new conversation in\n conversation.setData(selectedStateKey, 'in');\n\n control.setSelectedConversation(conversation);\n }\n }\n\n function onMarkSelected(ev) {\n var selectedMarks = control.getSelectedMarks();\n\n var singleMark = true, previousMarkId;\n\n if (selectedMarks.length === 0) {\n singleMark = false;\n } else if (selectedMarks.length > 1) {\n _.forEach(selectedMarks, function(mark, key){\n if (previousMarkId) {\n singleMark = (previousMarkId === mark.id) && singleMark;\n }\n previousMarkId = mark.id;\n });\n }\n\n if (singleMark && selectedMarks[0].getConversation().getComments().length) {\n // If there is only one mark, and it has comments, select the conversation view\n onSingleMarkSelected(selectedMarks[0]);\n } else {\n // Check if there was a selected conversation that needs to be transitioned out\n // Deselect previous conversation, but only if the mark is interactive\n var prevSelected = control.getSelectedConversation();\n if (prevSelected && prevSelected.getMark().getInteractionMode() !== PCCViewer.Mark.InteractionMode.SelectionDisabled) {\n prevSelected.setData(selectedStateKey, 'out');\n control.setSelectedConversation(null);\n }\n }\n }\n\n function onReviewLayerClick(ev) {\n if (ev.targetType === 'mark' && ev.mark.getInteractionMode() === PCCViewer.Mark.InteractionMode.SelectionDisabled ) {\n onSingleMarkSelected(ev.mark);\n } else if (ev.targetType !== 'mark') {\n var prevSelected = control.getSelectedConversation();\n if (prevSelected) {\n prevSelected.setData(selectedStateKey, 'out');\n control.setSelectedConversation(null);\n }\n }\n }\n\n function updatePanel(params) {\n if (panelMode !== 'auto') { return; }\n\n var size = $pageList.children().first().width();\n\n // This adjustment is done based on the size of the page list,\n // which can change for various reasons. Therefore, we will check\n // its size and determine whether to apply the skinny class.\n if (size < 600 && !$commentsPanel.hasClass(skinnyClass)) {\n $commentsPanel.addClass(skinnyClass);\n } else if (size >= 600 && $commentsPanel.hasClass(skinnyClass)){\n $commentsPanel.removeClass(skinnyClass);\n }\n }\n\n function openIfVisibleMarks() {\n if (!control) { return; }\n\n // Markup was loaded, so we need to check if there are any comments\n var commentsFound = false;\n _.forEach(control.getAllMarks(), function(mark) {\n\n // Remove search highlights from comments\n _.forEach(mark.getConversation().getComments(), function(comment) {\n comment.setData('Accusoft-highlight', undefined);\n });\n\n if (mark.getConversation().getComments().length && mark.getVisible()) {\n commentsFound = true;\n }\n });\n\n // If there were comments in the Markup, open the comments panel\n if (commentsFound) {\n $toggleButton.addClass('pcc-active');\n control.openCommentsPanel();\n if (viewer.isFitTypeActive === true) { viewer.viewerControl.fitContent(viewer.currentFitType); }\n viewer.viewerNodes.$pageList.find('.pccPageListContainerWrapper').scrollLeft(viewer.viewerNodes.$pageList.find('.pccPageListContainerWrapper > div:first-child').width());\n }\n }\n\n function initPanelMode(mode){\n if (mode === 'auto') {\n updatePanel({ size: $pageList.width() });\n } else if (mode === 'skinny') {\n $commentsPanel.addClass(skinnyClass);\n }\n }\n\n function init(opts, commentsPanelViewerNode){\n control = opts.viewerControl;\n language = opts.language;\n template = opts.template;\n dateFormat = opts.commentDateFormat || 'MM/DD/YYYY h:mma';\n $toggleButton = $(opts.button);\n $commentsPanel = $(opts.panel);\n $pageList = $(opts.pageList);\n panelMode = opts.mode || 'auto';\n\n initPanelMode(panelMode);\n\n control.setConversationDOMFactory(conversationDOMFactory);\n control.on(PCCViewer.EventType.MarkSelectionChanged, onMarkSelected);\n control.on(PCCViewer.EventType.Click, onReviewLayerClick);\n\n control.on(PCCViewer.EventType.MarkupLoaded, openIfVisibleMarks);\n\n control.on(PCCViewer.EventType.MarkRemoved, function(ev) {\n // Clean up any old events that exist for comments on this mark\n cleanupConversationEvents(ev.mark.getId());\n });\n }\n\n function refresh() {\n control.setConversationDOMFactory(conversationDOMFactory);\n if (control.getIsCommentsPanelOpen()) {\n $toggleButton.addClass('pcc-active');\n } else {\n $toggleButton.removeClass('pcc-active');\n }\n }\n\n function destroy() {\n if ($commentsPanel) {\n $commentsPanel.off().find('*').off();\n }\n }\n\n function externalCommentEvent(eventName) {\n return function commentEvent(id) {\n var mark = control.getMarkById(id);\n\n if (mark) {\n $event.trigger(eventName, {\n id: id,\n mark: mark\n });\n }\n };\n }\n\n function addComment(conversation){\n // Dismiss all comments that are currently in edit mode\n $event.trigger(dismissEvent);\n\n if (!control.getIsCommentsPanelOpen()){\n $toggleButton.addClass('pcc-active');\n control.openCommentsPanel();\n if (viewer.isFitTypeActive === true) { viewer.viewerControl.fitContent(viewer.currentFitType); }\n }\n\n var comment = conversation.addComment(\"\");\n comment.setData('Accusoft-owner', viewer.viewerControl.getActiveMarkupLayer().getName());\n comment.setData(editModeKey, 'create');\n }\n\n return {\n init: init,\n refresh: refresh,\n addComment: addComment,\n expandComment: externalCommentEvent('expand'),\n updatePanel: updatePanel,\n openIfVisibleMarks: openIfVisibleMarks,\n destroy: destroy\n };\n })();\n\n // This module is for the imageTools dropdown menu\n this.imageToolsDropdownUI = (function() {\n var defaultValue = {\n sharpening: 0,\n gamma: 0.5,\n strokeWidth: 0\n };\n var hasBeenInitialized = false;\n var lineSharpeningSlider;\n var svgStrokeWidthSlider;\n var gammaSlider;\n var $event = $({});\n var isRefreshing = false;\n\n function init() {\n viewer.viewerControl.getClientRestrictions().then(restrictions => {\n viewer.viewerNodes.$imageTools.one('click', function () {\n var disabledTools = {\n sharpening: restrictions.sharpening === \"disabled\",\n gamma: restrictions.gamma === \"disabled\",\n svgLineWidthMultiplier: restrictions.svgLineWidthMultiplier === \"disabled\",\n };\n\n showPanel();\n embedOnce(disabledTools);\n hasBeenInitialized = true;\n });\n viewer.viewerNodes.$imageTools.on('click', showPanel);\n });\n }\n\n function refresh() {\n if (hasBeenInitialized) {\n isRefreshing = true;\n\n lineSharpeningSlider.setValue(viewer.viewerControl.getSharpening() / 100);\n svgStrokeWidthSlider.setValue(viewer.viewerControl.getSvgLineWidthMultiplier() / 100);\n\n var gammaValue = viewer.viewerControl.getGamma();\n if (gammaValue <= 1) {\n gammaValue = gammaValue / 2;\n } else {\n gammaValue = (gammaValue * 10 + 90) / 2 / 100;\n }\n gammaSlider.setValue(gammaValue);\n\n isRefreshing = false;\n }\n }\n\n function showPanel(e) {\n viewer.viewerNodes.$imageTools.addClass('pcc-active');\n var $imageToolsPanel = viewer.$dom.find('[data-pcc-image-tools-panel]');\n if ($imageToolsPanel.length > 0) {\n $imageToolsPanel.css(\"display\",\"block\");\n $(document).mouseup(hidePanel);\n }\n }\n\n function hidePanel(e) {\n var $imageToolsPanel = viewer.$dom.find('[data-pcc-image-tools-panel]');\n // if the target of the click isn't the image tools panel nor a descendant of the image tools panel\n if (!$imageToolsPanel.is(e.target) && $imageToolsPanel.has(e.target).length === 0) {\n viewer.viewerNodes.$imageTools.removeClass('pcc-active');\n $imageToolsPanel.css(\"display\",\"none\");\n $(document).unbind('mouseup', hidePanel);\n }\n }\n\n function attachEvents() {\n var debouncedSharpening = _.debounce(viewer.viewerControl.setSharpening.bind(viewer.viewerControl), 30);\n lineSharpeningSlider.on('update', function(e, v) {\n var roundedValue = Math.floor(v.value * 100);\n viewer.$dom.find('[data-pcc-image-tools-slider-sharpening-value]').text(roundedValue);\n if (!isRefreshing) {\n debouncedSharpening(roundedValue);\n }\n });\n\n var debouncedSvgStrokeWidthMultiplier = _.debounce(viewer.viewerControl.setSvgLineWidthMultiplier.bind(viewer.viewerControl), 30);\n svgStrokeWidthSlider.on('update', function(e, v) {\n var roundedValue = Math.ceil(v.value * 100);\n if (roundedValue < 1) {\n roundedValue = 1;\n }\n viewer.$dom.find('[data-pcc-image-tools-slider-svg-stroke-value]').text(roundedValue);\n if (!isRefreshing) {\n debouncedSvgStrokeWidthMultiplier(roundedValue);\n }\n });\n\n var debouncedGamma = _.debounce(viewer.viewerControl.setGamma.bind(viewer.viewerControl), 30);\n gammaSlider.on('update', function(e, v) {\n var value = v.value * 100;\n if (value <= 50) {\n value = (value/10) * 2;\n } else {\n value = 2 * value - 90;\n }\n if (value > 100) {\n value = 100;\n }\n value = value / 10;\n var roundedValue = parseFloat(value.toFixed(1));\n viewer.$dom.find('[data-pcc-image-tools-slider-gamma-value]').text(roundedValue);\n if (!isRefreshing) {\n debouncedGamma(roundedValue);\n }\n });\n }\n\n function embedOnce(disabledTools) {\n lineSharpeningSlider = new Slider($(\"[data-pcc-slider=sharpening]\")[0], { disabled: disabledTools.sharpening });\n svgStrokeWidthSlider = new Slider($(\"[data-pcc-slider=svgStrokeWidth]\")[0], { disabled: disabledTools.svgLineWidthMultiplier });\n gammaSlider = new Slider($(\"[data-pcc-slider=gamma]\")[0], { disabled: disabledTools.gamma });\n gammaSlider.move(defaultValue.gamma);\n $(\"#pcc-imageTools-slider-darkening-value\").text('1');\n attachEvents();\n }\n\n function destroy() {\n if (!hasBeenInitialized) {\n return;\n }\n viewer.viewerNodes.$imageTools.unbind('click', showPanel);\n lineSharpeningSlider.off('update');\n svgStrokeWidthSlider.off('update');\n gammaSlider.off('update');\n lineSharpeningSlider.destroy();\n svgStrokeWidthSlider.destroy();\n gammaSlider.destroy();\n\n hasBeenInitialized = false;\n }\n\n return {\n embedOnce: embedOnce,\n init: init,\n refresh: refresh,\n destroy: destroy,\n on: function(name, func){\n $event.on(name, func);\n },\n off: function(name, func){\n $event.off(name, func);\n }\n };\n\n })();\n\n // This module manages downloading the original file, as well as burning in redactions and signatures.\n var fileDownloadManager = (function(){\n var control, template, language,\n documentDisplayName = options.documentDisplayName || '',\n inPreviewMode = false,\n textSelection,\n currentViewerState = {},\n enableOptionsTimeout,\n // Retrieve the document name from the viewer initialization parameter\n originalName = options.documentDisplayName ? options.documentDisplayName.replace(/\\..+$/, '') : 'file';\n\n function onTextSelected (ev) {\n textSelection = ev.textSelection;\n }\n\n function enableMarkOption(downloadOptions, availableMarkTypes, enable, otherOptionsAreEnabled, $el) {\n if (enable !== true) {\n $el.addClass('pcc-disabled');\n if (!otherOptionsAreEnabled) {\n viewer.viewerNodes.$downloadAsDropdown.removeClass('pcc-disabled');\n }\n }\n else {\n $el.removeClass('pcc-disabled');\n }\n }\n\n function enableAvailableMarkOptions() {\n if (enableOptionsTimeout) {\n clearTimeout(enableOptionsTimeout);\n enableOptionsTimeout = undefined;\n }\n\n enableOptionsTimeout = setTimeout(function () {\n // Disable the dropdowns if no marks of the type exist.\n var downloadOptions = getOptions(viewer.viewerNodes.$downloadDialog);\n var availableMarkTypes = getAvailableMarkTypes();\n enableMarkOption(downloadOptions, availableMarkTypes, availableMarkTypes.annotation, downloadOptions.burnRedactions || downloadOptions.burnSignatures, viewer.viewerNodes.$downloadAnnotationsAsDropdown);\n enableMarkOption(downloadOptions, availableMarkTypes, availableMarkTypes.redaction, downloadOptions.burnAnnotations || downloadOptions.burnSignatures, viewer.viewerNodes.$downloadRedactionsAsDropdown);\n enableMarkOption(downloadOptions, availableMarkTypes, availableMarkTypes.signature, downloadOptions.burnRedactions || downloadOptions.burnAnnotations, viewer.viewerNodes.$downloadESignaturesAsDropdown);\n }, 100);\n }\n\n function init(viewerControl, downloadTemplate, languageOptions) {\n control = viewerControl;\n template = downloadTemplate;\n language = languageOptions;\n\n control.on(PCCViewer.EventType.TextSelected, onTextSelected);\n control.on(PCCViewer.EventType.MarkCreated, enableAvailableMarkOptions);\n control.on(PCCViewer.EventType.MarkRemoved, enableAvailableMarkOptions);\n\n bindFileDownloadManagerDOM();\n }\n\n function refresh() {\n viewer.viewerNodes.$downloadAsDropdown.find('.pcc-label').text(PCCViewer.Language.data.fileDownloadOriginalDocument);\n\n viewer.viewerNodes.$downloadAnnotationsAsDropdown.find('.pcc-label').text(PCCViewer.Language.data.fileDownloadAnnotationsNone);\n viewer.viewerNodes.$downloadRedactionsAsDropdown.find('.pcc-label').text(PCCViewer.Language.data.fileDownloadRedactionsNone);\n viewer.viewerNodes.$downloadESignaturesAsDropdown.find('.pcc-label').text(PCCViewer.Language.data.fileDownloadESignaturesNone);\n\n var options = getOptions(viewer.viewerNodes.$downloadDialog);\n updateUIState(options);\n enableAvailableMarkOptions();\n }\n\n function onSuccessDownloadURL(url, $overlay, $overlayFade) {\n // RAPIDREVIEW and DOC_PAGE_VIEWER\n // Iterates over marks to get redaction reasons, sends post request to create redacted\n // document and redaction log, resets viewer (rr) or redirects to request page.\n // TODO: remove this code after draft redaction is integrated into DOC_PAGE_VIEWER\n // since we can get the redaction reasons data from the mark_data on the RedactionLayer\n var allRedactionReasons = {}\n if (!options.nextRequest.rapidReview) {\n var allMarks = viewer.viewerControl.getAllMarks()\n var marksWithoutReasons = false\n $.each(allMarks, function(index, item) {\n if (typeof item.getReason === 'function') {\n var reason = item.getReason() || 'no reason'\n if (reason === 'no reason' && !!options.nextRequest.rapidReview) {\n marksWithoutReasons = true\n }\n if (Object.keys(allRedactionReasons).indexOf(reason) === -1) {\n allRedactionReasons[reason] = { pages: {} }\n allRedactionReasons[reason]['pages'][item.pageNumber] = {\n count: 1\n }\n } else if (\n Object.keys(allRedactionReasons[reason]['pages']).indexOf(\n item.pageNumber.toString()\n ) === -1\n ) {\n allRedactionReasons[reason]['pages'][item.pageNumber] = {\n count: 1\n }\n } else {\n allRedactionReasons[reason]['pages'][item.pageNumber][\n 'count'\n ] += 1\n }\n }\n })\n }\n // END RAPIDREVIEW and DOC_PAGE_VIEWER\n\n showOverlay($overlay, $overlayFade, { mode: 'complete',\n fileToBeOverwritten: options.nextRequest.redactedDocumentName, // RAPIDREVIEW and DOC_PAGE_VIEWER\n marksWithoutReasons: marksWithoutReasons // RAPIDREVIEW and DOC_PAGE_VIEWER\n })\n .on('click', '.pcc-overlay-download', function(){\n // RAPIDREVIEW and DOC_PAGE_VIEWER\n window.open(\n url.replace(\n /ContentDispositionFilename=.+/,\n 'ContentDispositionFilename=' + options.nextRequest.redactedDocumentName\n )\n );\n // END RAPIDREVIEW and DOC_PAGE_VIEWER\n hideOverlay($overlay, $overlayFade);\n })\n .on('click', '.pcc-overlay-cancel', function(ev) {\n hideOverlay($overlay, $overlayFade);\n })\n\n // BEGIN RAPIDREVIEW and DOC_PAGE_VIEWER\n .on('click', '.pcc-overlay-save-to-request', function() {\n this.disabled = true\n $(this).append(\"\")\n\n if (!options.nextRequest.rapidReview) {\n $('.complete-text').html('Saving and redirecting to request...')\n }\n\n $.ajax({\n beforeSend: function(xhr) {\n var token = $(\"meta[name='csrf-token']\").attr('content')\n if (options.nextRequest.rapidReview) {\n token = window.parent.$(\"meta[name='csrf-token']\").attr('content')\n }\n xhr.setRequestHeader('X-CSRF-Token', token)\n },\n data: {\n document_id: options.nextRequest.documentId,\n document_name: options.documentDisplayName,\n url: url.replace(\n /ContentDispositionFilename=([^&]*)/,\n 'ContentDispositionFilename=' + options.nextRequest.documentId\n ),\n reasons: options.nextRequest.rapidReview\n ? undefined\n : JSON.stringify(allRedactionReasons)\n },\n type: 'post',\n url: options.nextRequest.redactedDocumentsPath\n })\n .done(function(response) {\n if (response.jobs.length > 0) {\n $('#reset-viewer').data('job', response.jobs[0].jobId)\n $('#reset-viewer').data('prettyId', response.jobs[0].prettyId)\n $('#reset-viewer').data('docIds', [response.jobs[0].docId])\n }\n if (options.nextRequest.rapidReview) {\n $('#reset-viewer').trigger('click')\n } else {\n window.location.href = options.nextRequest.returnUrl\n }\n })\n .fail(function(request) {\n NrSentry.captureError(new Error(`Request to create redacted document failed with status ${request.status}`))\n alert(\n 'Oops! Your redaction was not saved. Please try again. If this continues to be an issue, please contact us at nextrequest@civicplus.help'\n )\n })\n .always(function() {\n hideOverlay($overlay, $overlayFade)\n })\n })\n // END RAPIDREVIEW and DOC_PAGE_VIEWER\n }\n\n function onFailure(reason, originalOptions, $overlay, $overlayFade, retryFunction) {\n showOverlay($overlay, $overlayFade, { mode: 'error' })\n .on('click', '.pcc-overlay-retry', function(){\n retryFunction(originalOptions, $overlay, $overlayFade);\n });\n }\n\n function burnMarkup(options, $overlay, $overlayFade) {\n var burnRequest, complete = false;\n\n showOverlay($overlay, $overlayFade, { mode: 'pending' })\n .on('click', '.pcc-overlay-cancel', function(ev) {\n hideOverlay($overlay, $overlayFade);\n if (burnRequest && burnRequest.cancel && !complete) {\n burnRequest.cancel();\n }\n });\n\n burnRequest = control.burnMarkup(options);\n burnRequest.then(function success(url){\n complete = true;\n onSuccessDownloadURL(url, $overlay, $overlayFade);\n }, function failure(reason){\n complete = true;\n // Check if the Promise was rejected due to a user cancel\n if (reason.code !== \"UserCancelled\") {\n onFailure(PCCViewer.Language.getValue(\"error.\" + reason.code), options, $overlay, $overlayFade, burnMarkup);\n }\n });\n }\n\n function getAvailableMarkTypes() {\n var allMarks = control.getAllMarks(),\n availableTypes = {},\n type;\n\n _.forEach(allMarks, function(mark){\n type = mark.getType();\n\n if (type.match(/annotation/i) && mark.getVisible()) {\n availableTypes.annotation = true;\n } else if (type.match(/redaction/i) && mark.getVisible()) {\n availableTypes.redaction = true;\n } else if (type.match(/signature/i) && mark.getVisible()) {\n availableTypes.signature = true;\n }\n });\n\n return availableTypes;\n }\n\n function getMarksToBurn(options) {\n var marks = [];\n\n // Get marks to burn based on the options passed\n marks = _.filter(control.getAllMarks(), function(mark) {\n\n if (mark.getType().match(/annotation/i)) {\n\n if (options.burnAnnotations !== PCCViewer.Language.data.fileDownloadAnnotationsNone) {\n\n // Filter annotations based on the data attribute\n if (options.burnAnnotations === PCCViewer.Language.data.fileDownloadAnnotationsSelected) {\n return mark.getData('Accusoft-burnAnnotation') === '1';\n }\n\n return true;\n }\n\n return false;\n }\n\n if (mark.getType().match(/redaction/i)) {\n return options.burnRedactions !== PCCViewer.Language.data.fileDownloadRedactionsNone;\n }\n\n if (mark.getType().match(/signature/i)) {\n return options.burnSignatures !== PCCViewer.Language.data.fileDownloadESignaturesNone;\n }\n });\n\n return marks;\n }\n\n function hideOverlay($overlay, $overlayFade) {\n $overlay.html('').removeClass('pcc-open');\n $overlayFade.hide();\n\n // remove all event listeners\n $overlay.off();\n }\n\n function showOverlay($overlay, $overlayFade, templateOptions){\n templateOptions = templateOptions || {};\n templateOptions.mode = templateOptions.mode || 'select';\n templateOptions.language = language;\n\n $overlayFade.show();\n $overlay.html(renderTemplate(template, {\n options: templateOptions\n })).addClass('pcc-open')\n .on('click', '.pcc-overlay-closer', function(ev) {\n hideOverlay($overlay, $overlayFade);\n });\n\n return $overlay;\n }\n\n function updateUIStateAndPreview() {\n if (inPreviewMode === true) {\n var options = getOptions(viewer.viewerNodes.$downloadDialog);\n updateMarksPreview(options);\n updateImageToolsPreview(options);\n } else {\n enableAvailableMarkOptions();\n }\n }\n\n function bindFileDownloadManagerDOM() {\n viewer.viewerNodes.$downloadDialog\n .on('click', '[data-pcc-toggle-id=\"dropdown-download\"]', function(ev) {\n $(ev.target).parents('.pcc-select').find('.pcc-label').html($(ev.target).html());\n\n if (viewer.viewerNodes.$downloadAsDropdown.find('.pcc-label').html() === PCCViewer.Language.data.fileDownloadOriginalDocument) {\n viewer.viewerNodes.$downloadAnnotationsAsDropdown.find('.pcc-label').text(PCCViewer.Language.data.fileDownloadAnnotationsNone);\n viewer.viewerNodes.$downloadRedactionsAsDropdown.find('.pcc-label').text(PCCViewer.Language.data.fileDownloadRedactionsNone);\n viewer.viewerNodes.$downloadESignaturesAsDropdown.find('.pcc-label').text(PCCViewer.Language.data.fileDownloadESignaturesNone);\n }\n updateUIStateAndPreview();\n })\n .on('click', '[data-pcc-toggle-id=\"dropdown-download-annotations\"]', function(ev) {\n $(ev.target).parents('.pcc-select').find('.pcc-label').html($(ev.target).html());\n\n if (viewer.viewerNodes.$downloadAnnotationsAsDropdown.find('.pcc-label').html() !== PCCViewer.Language.data.fileDownloadAnnotationsNone) {\n viewer.viewerNodes.$downloadAsDropdown.find('.pcc-label').text(PCCViewer.Language.data.fileDownloadPdfFormat);\n }\n updateUIStateAndPreview();\n })\n .on('click', '[data-pcc-toggle-id=\"dropdown-download-redactions\"]', function(ev) {\n $(ev.target).parents('.pcc-select').find('.pcc-label').html($(ev.target).html());\n\n if (viewer.viewerNodes.$downloadRedactionsAsDropdown.find('.pcc-label').html() !== PCCViewer.Language.data.fileDownloadRedactionsNone) {\n viewer.viewerNodes.$downloadAsDropdown.find('.pcc-label').text(PCCViewer.Language.data.fileDownloadPdfFormat);\n }\n updateUIStateAndPreview();\n })\n .on('click', '[data-pcc-toggle-id=\"dropdown-download-esignatures\"]', function(ev) {\n $(ev.target).parents('.pcc-select').find('.pcc-label').html($(ev.target).html());\n\n if (viewer.viewerNodes.$downloadESignaturesAsDropdown.find('.pcc-label').html() !== PCCViewer.Language.data.fileDownloadESignaturesNone) {\n viewer.viewerNodes.$downloadAsDropdown.find('.pcc-label').text(PCCViewer.Language.data.fileDownloadPdfFormat);\n }\n updateUIStateAndPreview();\n });\n\n viewer.viewerNodes.$downloadDocumentPreview.on('click', function (ev) {\n // Toggle preview mode.\n var $this = $(this);\n\n if (inPreviewMode === true) {\n endPreview();\n }\n else {\n inPreviewMode = !inPreviewMode;\n $this.text(language.previewEnd);\n viewer.$dom.addClass('pcc-preview-mode');\n viewer.$dom.find('.pcc-tab-pane').hide();\n viewer.$dom.find('.pcc-tab-preview').show();\n viewer.viewerNodes.$selectText.addClass('pcc-disabled');\n var options = getOptions(viewer.viewerNodes.$downloadDialog);\n if (options.redactionOptions) {\n var redactionViewMode = viewer.viewerControl.getRedactionViewMode();\n if (options.redactionOptions.mode && options.redactionOptions.mode === 'draft'\n && redactionViewMode === PCCViewer.RedactionViewMode.Normal) {\n viewer.viewerControl.setRedactionViewMode(PCCViewer.RedactionViewMode.Draft);\n viewer.viewerNodes.$redactionViewMode.addClass('pcc-active');\n }\n }\n // Store viewer state.\n storeViewerState(options);\n updateImageToolsPreview(options);\n viewer.setMouseTool({ mouseToolName: 'AccusoftPanAndEdit' });\n\n if (textSelection) {\n control.clearMouseSelectedText(textSelection);\n }\n\n control.clearSearch();\n }\n });\n\n viewer.viewerNodes.$downloadDocument.on('click', function (ev) {\n var options = getOptions(viewer.viewerNodes.$downloadDialog),\n originalIsPdf = documentDisplayName.match(/.pdf$/i) !== null,\n downloadOptions = {\n marks: getMarksToBurn(options),\n filename: originalName,\n redactionOptions: options.redactionOptions\n },\n fileNameSuffixes = [];\n \n // Add a suffix to the filename based on what we're adding to the burned document\n _.each(options, function(val, opt) {\n if (val) {\n if (opt === 'burnAnnotations') {\n if (val !== PCCViewer.Language.data.fileDownloadAnnotationsNone) {\n fileNameSuffixes.push('annotated');\n }\n } else if (opt === 'burnRedactions') {\n if (val !== PCCViewer.Language.data.fileDownloadRedactionsNone) {\n fileNameSuffixes.push('redacted');\n }\n } else if (opt === 'burnSignatures') {\n if (val !== PCCViewer.Language.data.fileDownloadESignaturesNone) {\n fileNameSuffixes.push('signed');\n }\n }\n }\n });\n\n // Append the suffixes to the file name\n if (fileNameSuffixes.length === 1) {\n downloadOptions.filename = originalName + '-' + fileNameSuffixes[0];\n } else if (fileNameSuffixes.length === 2) {\n downloadOptions.filename = originalName + '-' + fileNameSuffixes.join('-and-');\n } else if (fileNameSuffixes.length > 2) {\n var lastSuffix = fileNameSuffixes.pop();\n downloadOptions.filename = originalName + '-' + fileNameSuffixes.join('-') + '-and-' + lastSuffix;\n }\n\n if (fileNameSuffixes.length > 0) {\n burnMarkup(downloadOptions, viewer.viewerNodes.$overlay, viewer.viewerNodes.$overlayFade);\n } else if (options.downloadFormat === language.fileDownloadPdfFormat && !originalIsPdf) { // can't convert a PDF to a PDF\n downloadOptions.targetExtension = 'pdf';\n convert(downloadOptions, viewer.viewerNodes.$overlay, viewer.viewerNodes.$overlayFade);\n } else if (options.downloadFormat === language.fileDownloadOriginalDocument || originalIsPdf) {\n onSuccessDownloadURL(control.getDownloadDocumentURL(), viewer.viewerNodes.$overlay, viewer.viewerNodes.$overlayFade);\n }\n });\n }\n\n var updateUIState = function (options) {\n if (options.burnAnnotations !== PCCViewer.Language.data.fileDownloadAnnotationsNone ||\n options.burnRedactions !== PCCViewer.Language.data.fileDownloadRedactionsNone ||\n options.burnSignatures !== PCCViewer.Language.data.fileDownloadESignaturesNone) {\n viewer.viewerNodes.$downloadAsDropdown.find('.pcc-label').html(language.fileDownloadPdfFormat);\n viewer.viewerNodes.$downloadAsDropdown.addClass('pcc-disabled');\n\n options.downloadFormat = PCCViewer.Language.fileDownloadPdfFormat;\n } else if (\n !(options.burnAnnotations !== PCCViewer.Language.data.fileDownloadAnnotationsNone ||\n options.burnRedactions !== PCCViewer.Language.data.fileDownloadRedactionsNone ||\n options.burnSignatures !== PCCViewer.Language.data.fileDownloadESignaturesNone)) {\n\n viewer.viewerNodes.$downloadAsDropdown.removeClass('pcc-disabled');\n }\n };\n\n var getOptions = function($overlay) {\n\n var currentAnnotationDownloadMode = viewer.viewerNodes.$downloadAnnotationsAsDropdown.find('.pcc-label').html();\n var currentRedactionDownloadMode = viewer.viewerNodes.$downloadRedactionsAsDropdown.find('.pcc-label').html();\n var currentESignatureDownloadMode = viewer.viewerNodes.$downloadESignaturesAsDropdown.find('.pcc-label').html();\n\n var options = {\n downloadFormat: viewer.viewerNodes.$downloadAsDropdown.find('.pcc-label').html(),\n burnAnnotations: currentAnnotationDownloadMode,\n burnRedactions: currentRedactionDownloadMode,\n burnSignatures: currentESignatureDownloadMode,\n redactionOptions: undefined\n };\n\n if (currentRedactionDownloadMode && currentRedactionDownloadMode === PCCViewer.Language.data.fileDownloadRedactionsDraft ) {\n options.redactionOptions = { mode: 'draft' };\n }\n return options;\n };\n\n var convert = function(options, $overlay, $overlayFade) {\n\n var conversionRequest, complete = false;\n\n showOverlay($overlay, $overlayFade, { mode: 'pending' })\n .on('click', '.pcc-overlay-cancel', function(ev) {\n hideOverlay($overlay, $overlayFade);\n if (conversionRequest && conversionRequest.cancel && !complete) {\n conversionRequest.cancel();\n }\n });\n\n conversionRequest = control.requestDocumentConversion(options);\n\n conversionRequest.then(\n\n function onResolve(urls){\n complete = true;\n // The options are set so that only a single file is output during the conversion, so request the first URL when saving the converted file.\n onSuccessDownloadURL(urls[0], $overlay, $overlayFade);\n },\n\n function onReject(reason){\n complete = true;\n if (reason.code !== \"UserCancelled\") {\n onFailure(PCCViewer.Language.getValue(\"error.\" + reason.code), options, $overlay, $overlayFade, convert);\n }\n }\n );\n };\n\n function endPreview() {\n var redactionViewMode = viewer.viewerControl.getRedactionViewMode();\n if (redactionViewMode === PCCViewer.RedactionViewMode.Draft) {\n viewer.viewerControl.setRedactionViewMode(PCCViewer.RedactionViewMode.Normal);\n viewer.viewerNodes.$redactionViewMode.removeClass('pcc-active');\n }\n\n viewer.viewerNodes.$downloadDialog.removeClass('pcc-download-preview');\n viewer.viewerNodes.$pageList.removeClass('pcc-download-preview');\n\n // Restore viewer state.\n restoreViewerState();\n\n inPreviewMode = !inPreviewMode;\n viewer.viewerNodes.$downloadDocumentPreview.text(language.preview);\n viewer.$dom.removeClass('pcc-preview-mode');\n viewer.$dom.find('.pcc-tab-preview').hide();\n viewer.$dom.find('.pcc-tab-pane').show();\n if (viewer.documentHasText) {\n // Enable text selection tools\n viewer.viewerNodes.$selectText.removeClass('pcc-disabled');\n viewer.viewerNodes.$highlightAnnotation.removeClass('pcc-disabled');\n viewer.viewerNodes.$strikethroughAnnotation.removeClass('pcc-disabled');\n viewer.viewerNodes.$hyperlinkAnnotation.removeClass('pcc-disabled');\n viewer.viewerNodes.$textSelectionRedaction.removeClass('pcc-disabled');\n }\n }\n\n function storeViewerState(options) {\n currentViewerState['mouseTool'] = control.getCurrentMouseTool();\n currentViewerState['marksState'] = previewMarks(options);\n currentViewerState['sharpening'] = control.getSharpening();\n currentViewerState['gamma'] = control.getGamma();\n currentViewerState['svgLineWidthMultiplier'] = control.getSvgLineWidthMultiplier();\n }\n\n function previewMarks(options) {\n var burnRedactions = PCCViewer.Language.data.fileDownloadRedactionsNone,\n burnSignatures = PCCViewer.Language.data.fileDownloadESignaturesNone,\n burnAnnotations = PCCViewer.Language.data.fileDownloadAnnotationsNone,\n burnOnlyChosenAnnotations = false;\n\n viewer.viewerNodes.$downloadDialog.addClass('pcc-download-preview');\n viewer.viewerNodes.$pageList.addClass('pcc-download-preview');\n\n if (options.downloadFormat === 'PDF') {\n burnRedactions = options.burnRedactions;\n burnSignatures = options.burnSignatures;\n burnAnnotations = options.burnAnnotations;\n burnOnlyChosenAnnotations = options.burnAnnotations && (options.burnAnnotations === PCCViewer.Language.data.fileDownloadAnnotationsSelected);\n }\n\n // Loop through all marks and set their interaction mode to disable selection and hide them based on the\n // burn options specified by the user.\n var marksStateBeforePreview = {};\n var allMarks = control.getAllMarks();\n _.each(allMarks, function(mark) {\n marksStateBeforePreview[mark.getId()] = { 'interactionMode': mark.getInteractionMode(), 'visible': mark.getVisible() };\n mark.setInteractionMode(PCCViewer.Mark.InteractionMode.SelectionDisabled);\n\n var category = (mark.getType().match(/redaction/i)) ? 'redactions' :\n (mark.getType().match(/signature/i)) ? 'signatures' : 'annotations';\n switch (category) {\n case 'redactions':\n if (burnRedactions === PCCViewer.Language.data.fileDownloadRedactionsNone) {\n mark.setVisible(false);\n } else {\n mark.setVisible(true);\n }\n break;\n case 'signatures':\n if (burnSignatures === PCCViewer.Language.data.fileDownloadESignaturesNone) {\n mark.setVisible(false);\n } else {\n mark.setVisible(true);\n }\n break;\n case 'annotations':\n if (burnAnnotations === PCCViewer.Language.data.fileDownloadAnnotationsNone) {\n mark.setVisible(false);\n } else {\n if (burnOnlyChosenAnnotations === true) {\n if (mark.getData('Accusoft-burnAnnotation') !== '1') {\n mark.setVisible(false);\n }\n }\n }\n break;\n }\n });\n\n // Return the previous state of the marks, so the interaction mode and visibility can be restored later.\n return marksStateBeforePreview;\n }\n\n function updateImageToolsPreview(options) {\n var burnSharpening = false;\n var burnSvgLineWidthMultiplier = false;\n var burnGamma = false;\n // Currently the following options will always be false, however, if we choose to support\n // burning in the Image Tools operations in the future, we'll need to selectively choose\n // which options to show during the download preview\n if (options.downloadFormat === 'PDF') {\n burnSharpening = options.burnSharpening;\n burnSvgLineWidthMultiplier = options.burnSvgLineWidthMultiplier;\n burnGamma = options.burnGamma;\n }\n\n if (burnSharpening !== true) {\n viewer.viewerControl.setSharpening(0);\n }\n\n if (burnGamma !== true) {\n viewer.viewerControl.setGamma(1);\n }\n\n if (burnSvgLineWidthMultiplier !== true) {\n viewer.viewerControl.setSvgLineWidthMultiplier(1);\n }\n }\n\n function updateMarksPreview(options) {\n var burnRedactions = PCCViewer.Language.data.fileDownloadRedactionsNone,\n burnSignatures = PCCViewer.Language.data.fileDownloadESignaturesNone,\n burnAnnotations = PCCViewer.Language.data.fileDownloadAnnotationsNone,\n burnOnlyChosenAnnotations = false;\n\n if (options.downloadFormat === 'PDF') {\n burnRedactions = options.burnRedactions;\n burnSignatures = options.burnSignatures;\n burnAnnotations = options.burnAnnotations;\n burnOnlyChosenAnnotations = options.burnAnnotations && (options.burnAnnotations === PCCViewer.Language.data.fileDownloadAnnotationsSelected);\n }\n\n // Loop through all marks and hide or show them based on the burn options specified by the user and the current state\n // (marks that were hidden before entering preview mode should not be made visible).\n var marksStateBeforePreview = currentViewerState['marksState'];\n var allMarks = control.getAllMarks();\n _.each(allMarks, function(mark) {\n var category = (mark.getType().match(/redaction/i)) ? 'redactions' :\n (mark.getType().match(/signature/i)) ? 'signatures' : 'annotations';\n switch (category) {\n case 'redactions':\n if (burnRedactions === PCCViewer.Language.data.fileDownloadRedactionsNone) {\n mark.setVisible(false);\n }\n else if (marksStateBeforePreview[mark.getId()].visible === true) {\n if (burnRedactions === PCCViewer.Language.data.fileDownloadRedactionsNormal) {\n viewer.viewerControl.setRedactionViewMode(PCCViewer.RedactionViewMode.Normal);\n } else if (burnRedactions === PCCViewer.Language.data.fileDownloadRedactionsDraft) {\n viewer.viewerControl.setRedactionViewMode(PCCViewer.RedactionViewMode.Draft);\n }\n mark.setVisible(true);\n }\n break;\n case 'signatures':\n if (burnSignatures === PCCViewer.Language.data.fileDownloadESignaturesNone) {\n mark.setVisible(false);\n }\n else if (marksStateBeforePreview[mark.getId()].visible === true) {\n mark.setVisible(true);\n }\n break;\n case 'annotations':\n if (burnAnnotations !== PCCViewer.Language.data.fileDownloadAnnotationsNone) {\n if (burnOnlyChosenAnnotations === true) {\n if (mark.getData('Accusoft-burnAnnotation') !== '1') {\n mark.setVisible(false);\n }\n else if (marksStateBeforePreview[mark.getId()].visible === true) {\n mark.setVisible(true);\n }\n }\n else if (marksStateBeforePreview[mark.getId()].visible === true) {\n mark.setVisible(true);\n }\n }\n else {\n mark.setVisible(false);\n }\n break;\n }\n });\n }\n\n function restoreViewerState() {\n // Restore mouse tool state.\n viewer.setMouseTool({ mouseToolName: currentViewerState['mouseTool'] });\n\n // Restore mark interaction mode and visibility.\n var marksState = currentViewerState['marksState'];\n _.each(marksState, function(markState, markId){\n var mark = control.getMarkById(markId);\n mark.setInteractionMode(markState.interactionMode);\n mark.setVisible(markState.visible);\n });\n\n // Execute search again to redraw highlights.\n viewer.search.executeSearch(true, true);\n control.setSharpening(currentViewerState['sharpening']);\n control.setGamma(currentViewerState['gamma']);\n control.setSvgLineWidthMultiplier(currentViewerState['svgLineWidthMultiplier']);\n currentViewerState = {};\n }\n\n function isInPreviewMode() {\n return inPreviewMode;\n }\n\n return {\n init: init,\n refresh: refresh,\n enableAvailableMarkOptions: enableAvailableMarkOptions,\n endPreview: endPreview,\n isInPreviewMode: isInPreviewMode\n };\n })();\n\n // This module manages displaying and navigating attachments.\n var attachmentManager = (function(){\n var control, language, initialized;\n var $attachmentsPanel, $currentDocument, $returnToPrevDocument, $attachmentList, $attachmentsBadge;\n var emailsStack = [];\n var currentDocument = { viewingSessionId: options.documentID };\n\n function init(viewerControl, languageOptions) {\n control = viewerControl;\n language = languageOptions;\n $attachmentsPanel = viewer.$dom.find('[data-pcc-attachments-panel]');\n $currentDocument = $attachmentsPanel.find('.pcc-attachments-current-document');\n $returnToPrevDocument = $attachmentsPanel.find('.pcc-attachments-to-prev-document');\n $attachmentList = $attachmentsPanel.find('[data-pcc-attachments-panel-list]');\n $attachmentsBadge = viewer.viewerNodes.$attachments.find('.pcc-icon-badge');\n updateIcon($returnToPrevDocument.find('.pcc-icon'));\n\n $currentDocument.on('click', function() {\n changeCurrentDocument(getCurrentEmail());\n });\n $returnToPrevDocument.on('click', function() {\n if (emailsStack.length > 1) {\n emailsStack.pop();\n changeCurrentDocument(getCurrentEmail());\n }\n });\n\n control.on(PCCViewer.EventType.PageCountReady, loadAttachmentList);\n viewer.viewerNodes.$attachments.on('click', showPanel);\n\n if (options.attachmentViewingMode !== viewer.attachmentViewingModeEnum.ThisViewer) {\n $attachmentsPanel.find('.pcc-attachments-section-current-document').addClass('pcc-hide');\n }\n };\n\n // This function executes an API request to fetch the list of attachments of the current document.\n var loadAttachmentList = function () {\n viewer.viewerControl.loadAttachments().then(\n // success:\n function (attachments) {\n if (!initialized) {\n initialized = true;\n changeCurrentDocument(currentDocument);\n if (attachments.length) {\n viewer.viewerNodes.$attachments.removeClass('pcc-hide');\n }\n }\n if (attachments.length || documentIsEmail(currentDocument)) {\n updateAttachmentsList(attachments);\n }\n },\n // failure:\n function (reason) {\n viewer.notify({\n message: language.attachments.failedToLoad\n });\n });\n };\n\n var updateAttachmentsList = function(attachments) {\n // update list title with attachments count\n var attachmentsListTitle = viewer.$dom.find('[data-pcc-attachments-panel-list-title]');\n attachmentsListTitle.text(language.attachments.title + ' (' + attachments.length + ')');\n $attachmentList.empty();\n if(attachments.length) {\n\n $attachmentsBadge.text(attachments.length);\n if (attachments.length > 9) {\n $attachmentsBadge.addClass('pcc-icon-badge-wide');\n } else {\n if ($attachmentsBadge.hasClass('pcc-icon-badge-wide'))\n $attachmentsBadge.removeClass('pcc-icon-badge-wide');\n }\n $attachmentsBadge.removeClass('pcc-hide');\n\n var markupRecordTpl, markupRecord, domStrings = [];\n\n if (options.attachmentViewingMode === viewer.attachmentViewingModeEnum.ThisViewer) {\n markupRecordTpl = '';\n } else {\n markupRecordTpl = '';\n }\n\n _.each(attachments, function(attachment, index){\n markupRecord = markupRecordTpl.replace('{{ID}}', index)\n .replace('{{VIEWINGSESSIONID}}', attachment.viewingSessionId)\n .replace('{{DISPLAYNAME}}', attachment.displayName);\n\n domStrings.push(markupRecord);\n });\n\n if (domStrings.length) {\n $attachmentList.append(domStrings.join('\\n'));\n $attachmentList.find('.pcc-row').click(function(ev) {\n hidePanel();\n if (options.attachmentViewingMode === viewer.attachmentViewingModeEnum.ThisViewer) {\n var attachmentSessionId = ev.delegateTarget.getAttribute('data-pcc-session-id');\n var attachmentName = ev.delegateTarget.textContent;\n changeCurrentDocument({\n viewingSessionId: attachmentSessionId,\n name: attachmentName\n });\n }\n });\n } else {\n viewer.notify({\n message: language.attachments.failedToLoad\n });\n }\n } else {\n if (!$attachmentsBadge.hasClass('pcc-hide')) {\n $attachmentsBadge.addClass('pcc-hide');\n }\n }\n parseIcons($attachmentList);\n };\n\n var getCurrentEmail = function() {\n return emailsStack[emailsStack.length - 1];\n };\n\n var documentIsEmail = function(document) {\n return document.name\n ? document.name.slice(-4).toLowerCase() === '.eml'\n : /*primary email*/ true;\n };\n\n var changeCurrentDocument = function(document) {\n if (documentIsEmail(document)) {\n if (getCurrentEmail() !== document) {\n emailsStack.push(document);\n }\n\n var currentEmailName = document.name || language.attachments.primaryDocument;\n $currentDocument\n .find('.pcc-attachments-current-document-name')\n .text(currentEmailName);\n $currentDocument.addClass('pcc-active');\n updateReturnToPrecEmailState();\n }\n\n currentDocument = document;\n var viewingSessionId = document.viewingSessionId;\n viewer.viewerControl.changeViewingSession(viewingSessionId, true);\n\n // Highlight current document\n $attachmentList.find('.pcc-row').removeClass('pcc-active');\n if (getCurrentEmail().viewingSessionId === viewingSessionId) {\n $currentDocument.addClass('pcc-active');\n } else {\n $currentDocument.removeClass('pcc-active');\n $attachmentList\n .children('.pcc-row[data-pcc-session-id=\"' + viewingSessionId + '\"]')\n .addClass('pcc-active');\n }\n $attachmentsBadge.addClass('pcc-hide');\n hidePanel();\n };\n\n var updateReturnToPrecEmailState = function() {\n // Update return to previous document status\n if (emailsStack.length > 1) {\n $returnToPrevDocument.removeClass('pcc-disabled');\n } else {\n $returnToPrevDocument.addClass('pcc-disabled');\n }\n };\n\n function showPanel() {\n viewer.viewerNodes.$attachments.addClass('pcc-active');\n if ($attachmentsPanel.length > 0) {\n $attachmentsPanel.css(\"display\",\"block\");\n const desirableLeftOffset = 185;\n const overflow = $(window).width() - (desirableLeftOffset + $attachmentsPanel[0].offsetWidth);\n if (overflow < 0) {\n $attachmentsPanel.css('left', desirableLeftOffset + overflow + 'px');\n } else {\n $attachmentsPanel.css('left', desirableLeftOffset + 'px');\n }\n $(document).mouseup(hidePanel);\n }\n }\n\n function hidePanel(e) {\n // if the target of the click isn't the attachments panel nor a descendant of the attachments panel\n if (!e || (!$attachmentsPanel.is(e.target) && $attachmentsPanel.has(e.target).length === 0)) {\n viewer.viewerNodes.$attachments.removeClass('pcc-active');\n $attachmentsPanel.css(\"display\",\"none\");\n $(document).unbind('mouseup', hidePanel);\n }\n }\n\n return {\n init: init\n };\n })();\n\n // Image Stamp module\n this.imageStamp = (function () {\n var stampApi,\n imageStampList,\n imageStampListTimestamp = 0,\n imageStampListTtl = 10 * 60, // 10 minutes\n imageStampMruTime = 0,\n sortByOptions = [PCCViewer.Language.data.imageStampSortByRecentlyUsed, PCCViewer.Language.data.imageStampSortByFileName],\n sortKey = 'recentlyUsedTime',\n sortName = sortByOptions[0],\n sortOrder = 'desc',\n annotationTool,\n redactionTool,\n noop = function(){},\n imageStampDataMap = {},\n $event = $({}),\n $overlay,\n $toolButtons;\n\n var init = function (viewerNodes) {\n stampApi = new PCCViewer.ImageStamps(options);\n\n annotationTool = PCCViewer.MouseTools.getMouseTool('AccusoftImageStampAnnotation');\n redactionTool = PCCViewer.MouseTools.getMouseTool('AccusoftImageStampRedaction');\n $toolButtons = $('[data-pcc-mouse-tool=\"AccusoftImageStampAnnotation\"], [data-pcc-mouse-tool=\"AccusoftImageStampRedaction\"]');\n\n $overlay = viewerNodes.$imageStampOverlay;\n\n attachListeners();\n\n // this will initialize the image list and the mouse tools\n initImageStampMouseTools();\n };\n\n var refresh = function () {\n annotationTool = PCCViewer.MouseTools.getMouseTool('AccusoftImageStampAnnotation');\n redactionTool = PCCViewer.MouseTools.getMouseTool('AccusoftImageStampRedaction');\n initImageStampMouseTools();\n };\n\n var initImageStampMouseTools = function(){\n loadStampList(function(list){\n var mostRecentImage,\n mostRecentTime = Number.NEGATIVE_INFINITY;\n\n // transform the stored list into a lookup object\n var storedList = _.reduce(storageGetImageStampList().imageStampList.imageStamps, function(seed, el){\n seed[el.id] = el;\n return seed;\n }, {});\n\n _.forEach(list.imageStamps, function(el) {\n // overwrite most recently used time with the time from the previously stored list if necessary\n var localObj = storedList[el.id];\n if (localObj && localObj.recentlyUsedTime > el.recentlyUsedTime) {\n el.recentlyUsedTime = localObj.recentlyUsedTime;\n }\n\n // find the most recently used image\n if (el.recentlyUsedTime > mostRecentTime) {\n mostRecentTime = el.recentlyUsedTime;\n mostRecentImage = el;\n }\n });\n\n if (mostRecentImage) {\n requestImageData(mostRecentImage, function(err, response){\n if (err) {\n $toolButtons.attr('disabled', 'disabled');\n return;\n }\n\n setToolsImage({\n dataUrl: response.dataUrl,\n id: response.dataHash\n });\n\n $toolButtons.removeAttr('disabled');\n });\n } else {\n $toolButtons.attr('disabled', 'disabled');\n }\n\n storeImageStampList();\n });\n };\n\n var requestImageData = function(image, done){\n done = (typeof done === 'function') ? done : noop;\n\n if (imageStampDataMap[image.id]) {\n // this image exists, so use the same data\n done(undefined, imageStampDataMap[image.id].data);\n return;\n }\n\n // we did not find existing image data, so request it\n stampApi.requestImageSourceBase64(image.id).then(function(response){\n // save this image in the hash of known images\n imageStampDataMap[image.id] = {\n data: response,\n image: image\n };\n\n done(undefined, response);\n }, function fail(reason){\n done(PCCViewer.Language.getValue(\"error.\" + reason.code));\n });\n };\n\n var setToolsImage = function(newImage){\n // set both mouse tools to use the same image\n annotationTool.getTemplateMark().setImage(newImage);\n redactionTool.getTemplateMark().setImage(newImage);\n };\n\n var attachListeners = function () {\n $overlay.on('click', '.pcc-image-stamp-list-item', function (ev) {\n ev.stopPropagation();\n ev.preventDefault();\n\n itemSelectionHandler(this);\n });\n\n $overlay.on('click', '[data-pcc-image-stamp=closer]', function (ev) {\n ev.stopPropagation();\n ev.preventDefault();\n hideOverlay();\n });\n\n $overlay.on('click', '[data-image-stamp-sort-item]', function (ev) {\n ev.stopPropagation();\n ev.preventDefault();\n sortSelectionHandler(this);\n });\n };\n\n // Launch image stamp selection modal\n var showOverlay = function () {\n // show the overlay immediately in \"loading\" mode\n drawOverlay({\n waiting: true\n });\n\n loadStampList(function done(list){\n sortList();\n // update the overlay to show the new data\n drawOverlay({\n waiting: false\n });\n });\n\n $overlay.addClass('pcc-open');\n\n // Show the dark overlay\n viewer.viewerNodes.$overlayFade.show();\n };\n\n var drawOverlay = function (params) {\n $overlay.html(renderTemplate(options.template.imageStampOverlay, _.extend({\n waiting: params.waiting,\n imageStampList: imageStampList,\n sortBy: sortByOptions,\n sortKey: sortKey,\n sortName: sortName,\n sortOrder: sortOrder\n }, PCCViewer.Language.data)));\n };\n\n var hideOverlay = function () {\n $overlay.removeClass('pcc-open');\n\n $event.off('imageSelect');\n\n // Remove the dark overlay\n viewer.viewerNodes.$overlayFade.hide();\n };\n\n var storeImageStampList = function () {\n if (localStorage && imageStampList && imageStampListTimestamp) {\n var storageObj = {\n imageStampList: imageStampList,\n imageStampListTimestamp: imageStampListTimestamp\n };\n\n localStorage.setItem('pccvImageStampList', JSON.stringify(storageObj));\n }\n };\n\n var storageGetImageStampList = function () {\n if (localStorage) {\n var storageObj = JSON.parse(localStorage.getItem('pccvImageStampList'));\n\n if (storageObj) {\n _.each(storageObj.imageStampList.imageStamps, function (imageStamp) {\n if (imageStamp.recentlyUsedTime > imageStampMruTime) {\n imageStampMruTime = imageStamp.recentlyUsedTime;\n }\n });\n\n return storageObj;\n }\n }\n\n // return an empty list if nothing was found in local storage\n return {\n imageStampList: { imageStamps: [] },\n imageStampListTimestamp: 0\n };\n };\n\n var itemSelectionHandler = function (itemEl) {\n var stampId = $(itemEl).attr('data-image-stamp-id');\n\n var imageObj = _.find(imageStampList.imageStamps, function (imageStamp) {\n return imageStamp.id === stampId;\n });\n\n imageObj.recentlyUsedTime = imageStampMruTime = Math.round((new Date()).getTime() / 1000);\n storeImageStampList();\n\n requestImageData(imageObj, function(err, response){\n if (err) {\n viewer.notify({\n message: PCCViewer.Language.data.imageStampUnableToLoadImage\n });\n\n hideOverlay();\n return;\n }\n\n // trigger and imageSelect event\n $event.trigger('imageSelect', {\n dataUrl: response.dataUrl,\n id: response.dataHash\n });\n\n hideOverlay();\n });\n };\n\n var sortSelectionHandler = function (sortEl) {\n sortName = $(sortEl).data('image-stamp-sort-item');\n\n switch (sortName) {\n case PCCViewer.Language.data.imageStampSortByRecentlyUsed:\n if (sortKey === 'recentlyUsedTime') {\n sortOrder = (sortOrder === 'desc') ? 'asc' : 'desc';\n } else {\n sortOrder = 'desc';\n }\n sortKey = 'recentlyUsedTime';\n break;\n\n case PCCViewer.Language.data.imageStampSortByFileName:\n if (sortKey === 'displayName') {\n sortOrder = (sortOrder === 'desc') ? 'asc' : 'desc';\n }\n sortKey = 'displayName';\n break;\n }\n\n sortList();\n\n drawOverlay({\n waiting: false\n });\n };\n\n var sortList = function () {\n if ((sortKey === 'recentlyUsedTime' && imageStampMruTime === 0) ||\n typeof sortName === 'undefined' ||\n typeof sortOrder === 'undefined') {\n return;\n }\n\n if (sortKey) {\n imageStampList.imageStamps = _.sortBy(imageStampList.imageStamps, sortKey);\n }\n\n if (sortOrder === 'desc') {\n imageStampList.imageStamps = imageStampList.imageStamps.reverse();\n }\n };\n\n var loadStampList = function (done) {\n done = (typeof done === 'function') ? done : noop;\n\n var now = Math.round((new Date()).getTime() / 1000);\n\n // check to see if cached list has expired\n if (imageStampListTimestamp + imageStampListTtl > now) {\n done(imageStampList);\n $toolButtons.removeAttr('disabled');\n } else {\n stampApi.requestImageStampList().then(\n //success\n function (listResponse) {\n imageStampList = listResponse;\n\n if (imageStampList.imageStamps.length === 0) {\n $toolButtons.attr('disabled', 'disabled');\n return;\n }\n\n imageStampListTimestamp = Math.round((new Date()).getTime() / 1000);\n\n _.each(imageStampList.imageStamps, function (imageStampObj, index) {\n imageStampList.imageStamps[index].url = stampApi.getImageSourceURL(imageStampObj.id);\n imageStampList.imageStamps[index].recentlyUsedTime = 0;\n });\n\n done(imageStampList);\n $toolButtons.removeAttr('disabled');\n },\n //failure\n function (reason) {\n viewer.notify({\n message: PCCViewer.Language.data.imageStampUnableToLoad\n });\n $toolButtons.attr('disabled', 'disabled');\n }\n );\n }\n };\n\n var getImageUrl = function(imageObject){\n return imageObject.dataUrl;\n };\n\n var selectToolImage = function(done){\n done = (typeof done === 'function') ? done : noop;\n\n $event.one('imageSelect', function(ev, data){\n setToolsImage(data);\n done(data);\n });\n\n showOverlay();\n };\n\n var selectMarkImage = function(done){\n done = (typeof done === 'function') ? done : noop;\n\n $event.one('imageSelect', function(ev, data){\n done(data);\n });\n\n showOverlay();\n };\n\n return {\n init: init,\n refresh: refresh,\n getImageUrl: getImageUrl,\n selectToolImage: selectToolImage,\n selectMarkImage: selectMarkImage\n };\n })();\n\n this.thumbnailManager = (function(){\n var control, thumbControl,\n $dom, $handle, $container, $viewer, $slider,\n isInitialized = false,\n isEmbedded = false,\n pageChangeTimeout,\n debouncedResize,\n minContainerWidth,\n marginOffset = 0,\n lastWidth,\n $event = $({}),\n latestKnownBreakpoint = viewer.latestBreakpoint,\n sizeClasses = ['pcc-thumbnails-small', 'pcc-thumbnails-medium', 'pcc-thumbnails-large'];\n\n onWindowResize(function(){\n if (!isEmbedded || viewer.latestBreakpoint === latestKnownBreakpoint) { return; }\n\n // The viewport has changed states, so we need some DOM cleanup.\n // Update the breakpoint tracker and reset the drag to resize handlers.\n latestKnownBreakpoint = viewer.latestBreakpoint;\n resetResizeHandler();\n\n if (viewer.latestBreakpoint !== viewer.breakpointEnum.mobile) {\n // We need to re-enable dragging to resize in this case.\n minContainerWidth = calculateMinContainerSize();\n initResizeHandler();\n }\n });\n\n function getDOMRect($elem) {\n var rect = $elem.get(0).getBoundingClientRect();\n return {\n left: rect.left,\n right: rect.right,\n top: rect.top,\n bottom: rect.bottom,\n width: rect.width || rect.right - rect.left,\n height: rect.height || rect.bottom - rect.top\n };\n }\n\n function getDOMWidth($elem) {\n // We cannot trust jQuery width when using a border-box box model.\n // Instead, we will use the bounding rectangle of the DOM element.\n return getDOMRect($elem).width;\n }\n\n function setDOMWidth($elem, width) {\n // We cannot trust jQuery to set width either, because it accounts\n // for offsets that we do not want it accounting for.\n var elem = $elem.get(0);\n elem.style.width = width + 'px';\n }\n\n function getPageToFocus(){\n var currentlyVisible = thumbControl.getVisiblePages(),\n currentlySelected = thumbControl.getSelectedPages(),\n pageToFocus;\n\n _.forEach(currentlyVisible, function(val){\n if (!pageToFocus && _.contains(currentlySelected, val)) {\n pageToFocus = val;\n }\n });\n\n if (!pageToFocus) {\n pageToFocus = currentlyVisible[0];\n }\n\n return pageToFocus || undefined;\n }\n\n function maintainVisibleState(updateFunc){\n var pageToFocus = getPageToFocus();\n\n updateFunc();\n\n if (pageToFocus) {\n thumbControl.scrollTo(pageToFocus, { forceAlignTop: true });\n }\n }\n\n function onThumbnailSelectionChanged(ev) {\n if (ev.pageNumbers && ev.pageNumbers.length === 1) {\n // go to the selected page if there is only one selected\n control.setPageNumber(ev.pageNumbers[0]);\n }\n }\n\n function onSetSelectedPages(ev) {\n var pageNum = ev.pageNumber,\n func = function () {\n thumbControl.setSelectedPages(pageNum);\n };\n if (ev.pageNumber) {\n if (pageChangeTimeout) {\n clearTimeout(pageChangeTimeout);\n pageChangeTimeout = undefined;\n }\n pageChangeTimeout = setTimeout(func, 300);\n }\n }\n\n function onViewingSessionChanged() {\n thumbControl.setSelectedPages(control.pageNumber);\n }\n\n function calculateMinContainerSize(){\n // Figure out the minimum size based on the first thumbnail size,\n // and allow for extra room to handle the scroll bar nad drag handle.\n return getDOMWidth( $dom.children().first() ) + marginOffset;\n }\n\n function resizeContainerTo(width, fireEvent) {\n fireEvent = !!fireEvent;\n\n setDOMWidth($container, width);\n lastWidth = width;\n\n // We changed the container size, so also resize the slider. This is\n // reazonably cheap, so we can do it in every resize for a better\n // animation.\n $slider.api.resize();\n\n if (fireEvent) {\n $event.trigger('resize', {\n width: lastWidth\n });\n }\n }\n\n function initResizeHandler(){\n var containerRect,\n viewerRect,\n startClient = { x: 0, y: 0 },\n pageToFocus, scrollHeight;\n\n var onStart = function(ev, params){\n containerRect = getDOMRect($container);\n viewerRect = getDOMRect($viewer);\n startClient.x = params.clientX;\n startClient.y = params.clientY;\n pageToFocus = getPageToFocus();\n scrollHeight = $dom.prop('scrollHeight');\n };\n var onMove = function(ev, params){\n var deltaX = params.clientX - startClient.x;\n var newWidth = Math.max(containerRect.width + deltaX, minContainerWidth),\n newScrollHeight = $dom.prop('scrollHeight');\n\n if (params.clientX > viewerRect.right) {\n // Do not go beyond the viewer boundaries.\n newWidth = viewerRect.right - containerRect.left;\n }\n\n if (newWidth !== lastWidth) {\n resizeContainerTo(newWidth);\n }\n\n if (scrollHeight !== newScrollHeight) {\n thumbControl.scrollTo(pageToFocus, { forceAlignTop: true });\n scrollHeight = newScrollHeight;\n }\n };\n var onEnd = function(ev, params){\n thumbControl.reflow();\n\n $event.trigger('resize', {\n width: lastWidth\n });\n };\n\n var destroyDrag = Drag($handle)\n .init()\n .on('start', onStart)\n .on('move', onMove)\n .on('end', onEnd)\n .destroy;\n\n $event.one('reset', function(){\n destroyDrag();\n });\n }\n\n function resetResizeHandler(){\n // remove any width that was set\n $container.width('');\n $event.trigger('reset');\n }\n\n function resizeSliderChange(ev, params){\n if (!$dom.hasClass(params.value)) {\n maintainVisibleState(function(){\n\n $dom.removeClass(sizeClasses.join(' ')).addClass(params.value);\n thumbControl.reflow();\n minContainerWidth = calculateMinContainerSize();\n\n if (minContainerWidth > getDOMWidth($container)) {\n resizeContainerTo(minContainerWidth, true);\n }\n });\n }\n }\n\n function attachEvents(){\n thumbControl.on(PCCViewer.ThumbnailControl.EventType.PageSelectionChanged, onThumbnailSelectionChanged);\n control.on(PCCViewer.EventType.PageChanged, onSetSelectedPages);\n control.on(PCCViewer.EventType.ViewingSessionChanged, onViewingSessionChanged);\n\n debouncedResize = onWindowResize(function(){\n if (!isEmbedded) { return; }\n\n thumbControl.reflow();\n });\n\n $slider.api.move(1).on('change', resizeSliderChange);\n\n initResizeHandler();\n }\n\n function detachEvents(){\n thumbControl.off(PCCViewer.ThumbnailControl.EventType.PageSelectionChanged, onThumbnailSelectionChanged);\n control.off(PCCViewer.EventType.PageChanged, onSetSelectedPages);\n control.off(PCCViewer.EventType.ViewingSessionChanged, onViewingSessionChanged);\n\n $(window).off('resize', debouncedResize);\n\n $slider.api.off('change', resizeSliderChange);\n $slider.api.destroy();\n\n resetResizeHandler();\n }\n\n function embedThumbnailControl(){\n thumbControl = new PCCViewer.ThumbnailControl($dom.get(0), control, viewer.viewerControlOptions);\n\n // attach events to interface between ViewerControl and ThumbnailControl\n attachEvents();\n }\n\n function destroy(){\n if (!isEmbedded) { return; }\n\n isEmbedded = false;\n detachEvents();\n thumbControl.destroy();\n }\n\n return {\n init: function(opts) {\n control = opts.viewerControl;\n $dom = $(opts.dom);\n $container = $(opts.container);\n $viewer = $(opts.viewer);\n $handle = $container.find('[data-pcc-drag-handle]');\n $slider = $container.find('[data-pcc-slider=thumb-size]');\n\n if ($slider.length) {\n $slider.api = Slider($slider.get(0), {\n breaks: sizeClasses\n });\n }\n\n isInitialized = true;\n },\n embedOnce: function() {\n if (isEmbedded) { return; }\n isEmbedded = true;\n\n // embed the thumbnails\n embedThumbnailControl();\n\n // set the selection to the current page\n thumbControl.setSelectedPages( control.getPageNumber() );\n\n // this first call returns the size of the first thumbnail\n minContainerWidth = calculateMinContainerSize();\n // use the actual container width to figure out the size of the extra chrome\n // we only need to calculate this once\n marginOffset = getDOMWidth($container) - minContainerWidth;\n // calculate the real minimum, now that we know the size of the extra space\n minContainerWidth = calculateMinContainerSize();\n },\n destroy: destroy,\n on: function(name, func){\n $event.on(name, func);\n },\n off: function(name, func){\n $event.off(name, func);\n }\n };\n })();\n\n // Initialize the viewer\n viewer.initializeViewer();\n\n // Defines the public members returned by the Viewer\n var publicViewer = {\n // The main ViewerControl API for this Viewer instance\n viewerControl: viewer.viewerControl,\n\n // A method allowing the Viewer to be destroyed\n destroy: function () {\n viewer.search.clearSearch();\n viewer.search = undefined;\n\n // Destroy the ThumbnailControl\n viewer.thumbnailManager.destroy();\n viewer.thumbnailManager = undefined;\n\n viewer.destroy();\n\n // Destroy the eSignature module\n viewer.eSignature.destroy();\n viewer.eSignature = undefined;\n\n // destory the image tools dropdown module\n viewer.imageToolsDropdownUI.destroy();\n viewer.imageToolsDropdownUI = undefined;\n\n commentUIManager.destroy();\n commentUIManager = undefined;\n viewer.imageStamp = undefined;\n viewer.annotationIo = undefined;\n hyperlinkMenu = undefined;\n redactionReasonMenu = undefined;\n attachmentManager = undefined;\n immediateActionMenu = undefined;\n fileDownloadManager = undefined;\n viewer.annotationLayerSave = undefined;\n\n viewer = undefined;\n }\n };\n\n // Store the publicViewer object associated with the element. The same object can be accessed\n // later, so that the viewer can be destroyed.\n this.$dom.data(DATAKEY, publicViewer);\n this.$dom.trigger('ViewerReady', publicViewer);\n\n // Return the publicViewer object, so that the caller can access the ViewerControl and destroy() method..\n return publicViewer;\n }\n\n var animation = (function(){\n var list = {},\n frame,\n raf = window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame;\n\n var onNextFrame = function(){\n frame = undefined;\n\n _.forEach(list, function(func, key){\n if (func && typeof func === 'function') {\n func();\n }\n list[key] = undefined;\n });\n };\n\n return {\n onUpdate: function(key, func) {\n // execute immediately in browsers that do not support requestAnimationFrame\n if (!raf) {\n func();\n return;\n }\n\n // assing the function to the queue object\n list[key] = func;\n\n // request a frame is there isn't one pending\n if (!frame) {\n frame = raf(onNextFrame);\n }\n }\n };\n })();\n\n var Drag = function(elem){\n var $elem = $(elem),\n $document = $(document),\n $event = $({}),\n startEvent = 'touchstart',\n moveEvent = 'touchmove',\n endEvent = 'touchend';\n\n if (window.navigator.pointerEnabled) {\n startEvent += ' pointerdown';\n moveEvent += ' pointermove';\n endEvent += ' pointerup';\n // this is required for the move events to be picked up correctly in IE using touch\n $elem.css('touch-action', 'none');\n } else if (window.navigator.msPointerEnabled) {\n startEvent += ' MSPointerDown';\n moveEvent += ' MSPointerMove';\n endEvent += ' MSPointerUp';\n $elem.css('touch-action', 'none');\n } else {\n startEvent += ' mousedown';\n moveEvent += ' mousemove';\n endEvent += ' mouseup';\n }\n\n function normalizeEvent(ev){\n if (ev.clientX && ev.clientY) {\n return ev;\n }\n\n if (ev.originalEvent.changedTouches) {\n ev.clientX = ev.originalEvent.changedTouches[0].clientX;\n ev.clientY = ev.originalEvent.changedTouches[0].clientY;\n } else if (/pointer/i.test(ev.type)) {\n ev.clientX = ev.originalEvent.clientX;\n ev.clientY = ev.originalEvent.clientY;\n }\n\n return ev;\n }\n\n function start(ev){\n ev = normalizeEvent(ev);\n ev.preventDefault();\n\n $document.on(moveEvent, move);\n $document.on(endEvent, end);\n\n $event.trigger('start', ev);\n }\n function move(ev){\n ev = normalizeEvent(ev);\n ev.preventDefault();\n\n animation.onUpdate('drag-move', function(){\n $event.trigger('move', ev);\n });\n }\n function end(ev){\n ev = normalizeEvent(ev);\n ev.preventDefault();\n\n $document.off(moveEvent, move);\n $document.off(endEvent, end);\n\n animation.onUpdate('drag-end', function(){\n $event.trigger('end', ev);\n });\n }\n\n function init(){\n $elem.on(startEvent, start);\n return retValue;\n }\n function destroy(){\n $elem.off(startEvent, start);\n }\n\n var retValue = {\n on: function(name, func){\n $event.on(name, func);\n return retValue;\n },\n off: function(name, func){\n $event.off(name, func);\n return retValue;\n },\n init: init,\n destroy: destroy\n };\n\n return retValue;\n };\n\n var Slider = function(elem, opts){\n opts = opts || {};\n\n function getDOMRect(elem) {\n var rect = elem.getBoundingClientRect();\n return {\n left: rect.left,\n right: rect.right,\n top: rect.top,\n bottom: rect.bottom,\n width: rect.width || rect.right - rect.left,\n height: rect.height || rect.bottom - rect.top\n };\n }\n\n var track = elem.querySelector('.pcc-slider-track'),\n thumb = elem.querySelector('.pcc-slider-thumb'),\n trackRect = getDOMRect(track),\n length = trackRect.width || trackRect.right - trackRect.left,\n value = 0, valueName,\n $document = $(document),\n moveType = 'transform' in thumb.style ? 'transform' :\n 'webkitTransform' in thumb.style ? '-webkit-transform' :\n 'mozTransform' in thumb.style ? '-moz-transform' :\n 'msTransform' in thumb.style ? '-ms-transform' :\n 'oTransform' in thumb.style ? '-o-transform' : 'left',\n $event = $({}),\n destroyDrag = function(){},\n breaks;\n\n if (opts.breaks) {\n var boundInterval = 100 / opts.breaks.length,\n snapInterval = 100 / (opts.breaks.length - 1),\n fragment = document.createDocumentFragment(),\n snapPercent;\n\n breaks = _.map(opts.breaks, function(name, i){\n snapPercent = Math.ceil(snapInterval * i);\n\n fragment.appendChild( generateBreakElement(snapPercent) );\n\n return {\n snapTo: snapPercent,\n lowerBound: Math.ceil(boundInterval * i),\n upperBound: Math.floor(boundInterval * (i+1)),\n name: name\n };\n });\n\n track.appendChild(fragment);\n }\n\n function generateBreakElement(percent){\n var span = document.createElement('span');\n span.style.left = percent + '%';\n span.className = 'pcc-slider-break';\n return span;\n }\n\n function moveTo(percent) {\n value = percent;\n\n if (breaks) {\n var key = parseInt(percent * 100, 10),\n breakObj = _.find(breaks, function(val){\n return key >= val.lowerBound && key <= val.upperBound;\n });\n\n percent = breakObj.snapTo / 100;\n valueName = breakObj.name;\n }\n\n var pixels = percent * length;\n\n if (moveType !== 'left') {\n thumb.style[moveType] = 'translateX(' + pixels + 'px)';\n } else {\n thumb.style.left = (pixels - 9) + 'px';\n }\n\n $event.trigger('update', { value: getValue() });\n\n return retValue;\n }\n\n function onStart(ev, params){\n trackRect = getDOMRect(track);\n length = trackRect.width;\n }\n function onMove(ev, params){\n var x = params.clientX,\n percent;\n\n if (x < trackRect.left) { percent = 0; }\n else if (x > trackRect.right) { percent = 1; }\n else {\n percent = (x - trackRect.left) / trackRect.width;\n }\n\n if (percent !== value) {\n moveTo(percent);\n }\n }\n function onEnd(ev, params){\n $event.trigger('change', { value: getValue() });\n }\n\n function click(ev){\n if ($(ev.target).is(thumb)) { return; }\n\n onStart(ev, ev);\n onMove(ev, ev);\n onEnd(ev, ev);\n }\n\n function init() {\n if (opts.disabled !== true) {\n destroyDrag = Drag(thumb)\n .init()\n .on('start', onStart)\n .on('move', onMove)\n .on('end', onEnd)\n .destroy;\n\n $(elem).on('click', click);\n\n moveTo(0);\n } else {\n thumb.style.opacity = \"0.6\";\n track.style.opacity = \"0.6\";\n }\n }\n\n function destroy(){\n destroyDrag();\n destroyDrag = undefined;\n destroyDrag = function(){};\n\n $(elem).off('click', click);\n\n moveTo(0);\n }\n\n function getValue() {\n return valueName || value;\n }\n function setValue(val) {\n // if there are breaks, try to set based on break values\n if (breaks) {\n var breakObj = _.find(breaks, function(obj){\n return obj.name === val;\n });\n\n if (breakObj) {\n moveTo(breakObj.snapTo / 100);\n }\n }\n\n // try to set the value as a number\n if (typeof val === 'number') {\n moveTo(val);\n }\n\n $event.trigger('change', { value: getValue() });\n }\n\n function resize() {\n trackRect = getDOMRect(track);\n var newLength = trackRect.width;\n\n if (newLength !== length) {\n length = newLength;\n moveTo(value);\n }\n }\n\n var retValue = {\n move: moveTo,\n getValue: getValue,\n setValue: setValue,\n resize: resize,\n on: function(name, func){\n $event.on(name, func);\n return retValue;\n },\n off: function(name, func){\n $event.off(name, func);\n return retValue;\n },\n destroy: destroy\n };\n\n // initialize the slider\n init();\n\n return retValue;\n };\n\n var Queue = function(){\n var deferArray = [],\n running = false;\n\n function recursiveExecute(done) {\n // maintain scope\n (function recurse(){\n if (running && deferArray.length) {\n var func = deferArray.shift();\n\n // continue on the next event loop iteration\n setTimeout(function(){\n func(recurse);\n }, 0);\n } else {\n if (done && (typeof done === 'function')) {\n done();\n }\n }\n })();\n }\n\n this.push = function(func) {\n deferArray.push(function(cb){\n func();\n cb();\n });\n };\n\n this.run = function(done){\n running = true;\n recursiveExecute(done);\n };\n\n this.stop = function(){\n running = false;\n return deferArray;\n };\n\n this.isRunning = function(){\n return running;\n };\n };\n\n var ProximityDismiss = function(viewerDom){\n // generate a new instance every time this function is called\n // it needs access to the dom element in which the viewer is embedded\n return (function (){\n var globalOpts = {},\n onDismiss,\n proximityEnabled = false,\n firstMoveRecorded = false,\n noop = function(){};\n\n function distance(x0, y0, x1, y1) {\n var xs = x0 - x1,\n ys = y0 - y1;\n\n return Math.sqrt((xs * xs) + (ys * ys));\n }\n\n function distanceToDom(x, y) {\n var rect = globalOpts.dom.getBoundingClientRect();\n var distX = 0,\n distY = 0;\n\n // calc X offset\n if (x < rect.left) {\n distX = rect.left - x;\n } else if(x > rect.left + rect.width) {\n distX = x - (rect.left + rect.width);\n }\n\n // calc Y offset\n if (y < rect.top) {\n distY = rect.top - y;\n } else if(y > rect.top + rect.height) {\n distY = y - (rect.top + rect.height);\n }\n\n return Math.sqrt((distX * distX) + (distY * distY));\n }\n\n function trackMouse(ev){\n if (!globalOpts.dom) {\n // the dom was already destroyed, so trigger a dismiss\n onDismiss();\n return;\n }\n\n if (!firstMoveRecorded) {\n firstMoveRecorded = true;\n\n // find the actual location of the menu, as it could be different on mobile\n var rect = globalOpts.dom.getBoundingClientRect();\n\n // if the menu is far away on the first move, we will track the actual menu point instead of the options control point\n if (distance(ev.clientX, ev.clientY, rect.left, rect.top) > globalOpts.distanceTolerance) {\n // The menu is far away from the mouse, so we will wait to enable proximity tracking. We will also use the\n // actual menu location, and dismiss based on that.\n globalOpts.controlX = rect.left;\n globalOpts.controlY = rect.top;\n } else {\n // We are already close to the menu, so enable tracking by default. Use the original options point for tracking.\n proximityEnabled = true;\n globalOpts.controlX = globalOpts.clientX;\n globalOpts.controlY = globalOpts.clientY;\n }\n }\n\n if (ev.target === globalOpts.dom || $.contains(globalOpts.dom, ev.target)) {\n // never destroy if the user is hovering over the menu itself\n return;\n }\n\n var currentDistance;\n if (globalOpts.useDistanceToDomRect) {\n currentDistance = distanceToDom(ev.clientX, ev.clientY);\n } else {\n currentDistance = distance(ev.clientX, ev.clientY, globalOpts.controlX, globalOpts.controlY);\n }\n\n var isFarAway = currentDistance > globalOpts.distanceTolerance;\n\n // Send callback\n globalOpts.mouseMoveCallback({\n currentDistance: currentDistance,\n distanceTolerance: globalOpts.distanceTolerance,\n dom: globalOpts.dom\n });\n\n // Set to true once the mouse moves close to the menu. Once set to true, it will never reset.\n // This way we start tracking only after they have moved close enough.\n proximityEnabled = proximityEnabled || !isFarAway;\n\n if (firstMoveRecorded && proximityEnabled && isFarAway) {\n onDismiss({ type: 'move' });\n }\n }\n\n // keep track of window resizing and scrolling, so they can be trottled a bit\n var scrollTimeout,\n resizeTimeout,\n onScrollDismiss = function(){\n onDismiss({ type: 'scroll' });\n };\n\n function trackScroll(){\n if (scrollTimeout) {\n // don't register a new timeout if there is already one\n return;\n }\n\n // dismiss in a short amount of time\n scrollTimeout = setTimeout(function(){\n scrollTimeout = undefined;\n onScrollDismiss();\n }, 100);\n }\n function trackResize(){\n if (scrollTimeout) {\n clearTimeout(scrollTimeout);\n scrollTimeout = undefined;\n }\n\n if (resizeTimeout) {\n clearTimeout(resizeTimeout);\n resizeTimeout = undefined;\n }\n\n // Overload the dismiss function. On mobile devices, opening the keyboard will trigger\n // a scroll and page resize -- note, this happens on Android but not iOS. When scroll happens\n // together with a page resize, do not dismiss. It is most likely due to the touch keboard opening\n // on the device.\n var origOnScrollDismiss = onScrollDismiss;\n onScrollDismiss = noop;\n resizeTimeout = setTimeout(function(){\n onScrollDismiss = origOnScrollDismiss;\n }, 800);\n }\n\n // keep track of the DOM element that will scroll, so we don't query for it multiple times\n // this will be the list of pages div\n var $scrollDom;\n\n function removeActiveListeners() {\n $(window).off('mousemove', trackMouse);\n $scrollDom.off('scroll', trackScroll);\n $(window).off('resize', trackResize);\n $(window).off('scroll', trackScroll);\n globalOpts = {};\n proximityEnabled = firstMoveRecorded = false;\n scrollTimeout = resizeTimeout = undefined;\n $scrollDom = undefined;\n onDismiss = undefined;\n }\n\n return {\n add: function(opts, dismissFunc){\n $scrollDom = $(viewerDom).find('.pccPageListContainerWrapper');\n globalOpts = _.extend({\n // default is to use both triggers\n useScrollTrigger: true,\n useMoveTrigger: true,\n useDistanceToDomRect: false,\n mouseMoveCallback: noop,\n distanceTolerance: 300\n }, opts);\n onDismiss = function(ev) {\n dismissFunc(ev);\n };\n\n if (globalOpts.useDistanceToDomRect && !globalOpts.dom) {\n throw Error('When useDistanceToDomRect is true, dom must be specified.');\n }\n\n // add events that will dismiss the menu\n if (globalOpts.useMoveTrigger) {\n $(window).on('mousemove', trackMouse);\n }\n if (globalOpts.useScrollTrigger) {\n $scrollDom.on('scroll', trackScroll);\n $(window).scroll(trackScroll);\n $(window).on('resize', trackResize);\n }\n },\n remove: function(){\n removeActiveListeners();\n }\n };\n })();\n };\n\n function formatDate(date, template) {\n var hours = date.getHours(),\n period = (hours >= 12) ? 'pm' : 'am',\n adjustedHours = (hours > 12) ? hours - 12 : (hours === 0) ? 12 : hours,\n year = date.getFullYear().toString(),\n yearLength = year.length,\n shortYear = year.slice(yearLength - 2, yearLength);\n\n function padNumber(val) {\n val = val.toString();\n while(val.length < 2) {\n val = '0' + val;\n }\n return val;\n }\n\n return template.replace(/MM/, padNumber( date.getMonth() + 1 ))\n .replace(/M/, date.getMonth() + 1)\n .replace(/DD/, padNumber(date.getDate()))\n .replace(/D/, date.getDate())\n .replace(/YYYY/, year )\n .replace(/YY/, shortYear)\n .replace(/HH/, padNumber(hours))\n .replace(/H/, hours)\n .replace(/hh/, padNumber(adjustedHours))\n .replace(/h/, adjustedHours)\n .replace(/mm/, padNumber(date.getMinutes()))\n .replace(/m/, date.getMinutes())\n .replace(/a/, period)\n .replace(/A/, period.toUpperCase());\n }\n\n var fontLoader = (function(){\n var isLegacyBrowser = document.documentMode && document.documentMode === 8,\n fonts = {\n // Safe serif and sans-serif fonts\n 'Times New Roman': { useInLegacy: true },\n 'Arial': { useInLegacy: true },\n\n // Web fonts\n 'Cedarville Cursive': { useInLegacy: false },\n 'Dancing Script': { useInLegacy: true },\n\n 'La Belle Aurore': { useInLegacy: false },\n 'Sacramento': { useInLegacy: true },\n\n 'Pacifico': { useInLegacy: true },\n 'Italianno': { useInLegacy: true },\n\n 'Grand Hotel': { useInLegacy: true },\n 'Great Vibes': { useInLegacy: true }\n };\n\n function load(){\n // Create a preloader div\n var preloader = document.createElement('div'),\n style = preloader.style,\n div;\n\n // Make sure the preloader is reasonably hidden\n style.position = 'absolute';\n style.top = style.left = '0';\n style.width = style.height = '0px';\n // Note: do not set zIndex to 0, as that would cause some browsers not to preload\n\n _.each(returnNames(), function(name){\n // create a temporary div\n div = document.createElement('div');\n div.style.fontFamily = '\"' + name + '\"';\n\n // add it to the preloader\n preloader.appendChild(div);\n });\n\n // Append the preloader to the body\n document.body.appendChild(preloader);\n\n // Remove the preloader on the next event loop\n setTimeout(function(){\n document.body.removeChild(preloader);\n }, 0);\n }\n\n // Gets a list of all the fonts.\n function returnNames() {\n // filter out non-legacy fonts in legacy browsers\n return _.filter(_.keys(fonts), function(el){\n return !isLegacyBrowser || fonts[el].useInLegacy;\n });\n }\n\n return {\n preLoad: load,\n names: returnNames,\n isLegacyBrowser: isLegacyBrowser\n };\n })();\n\n // This module manages the localStorage for signatures.\n // It populates the global, shared PCCViewer.Signatures collection\n var localSignatureManager = (function () {\n var hasLocalStorage = (window.localStorage &&\n window.localStorage.getItem &&\n window.localStorage.setItem &&\n window.localStorage.removeItem);\n\n // the key to use in local storage\n var signatureStorageKey = 'pccvSignatures';\n // create a new non-blocking queue to load saved signatures\n var loadQueue = new Queue();\n\n function signatureAdded(){\n // overwrite signatures with PCCViewer.Signatures collection\n setStoredSignatures(PCCViewer.Signatures.toArray());\n }\n\n function signatureRemoved(){\n // overwrite signatures with PCCViewer.Signatures collection\n var signatureArr = PCCViewer.Signatures.toArray();\n setStoredSignatures(signatureArr);\n }\n\n var destroy = function() {\n if (loadQueue && loadQueue.isRunning()) {\n loadQueue.stop();\n }\n };\n\n var loadStoredSignatures = function () {\n var signatures = getStoredSignatures();\n\n var tempCount = signatures.length;\n\n while(tempCount--) {\n // Make sure this loop does not block the UI if there are a lot of signatures,\n // just in case. Also, ignore possible errors of generating functions inside a loop,\n // we need to queue up individual functions.\n /* jshint -W083 */\n loadQueue.push(function(){\n if (signatures.length) {\n var value = signatures.shift();\n\n PCCViewer.Signatures.add(value);\n }\n });\n /* jshint +W083 */\n }\n\n // execute the non-blocking queue\n loadQueue.run(function(){\n // this code will execute if the queue is done or is stopped\n if (signatures.length) {\n saveSignaturesSync(signatures);\n }\n });\n };\n\n function getSignatureStorageTemplate() {\n return { values: [] };\n }\n\n function saveSignaturesSync(signatureArray) {\n // get the current stores signatures\n var signatures = PCCViewer.Signatures.toArray();\n\n // overwrite the saved signatures collection with the current and appended signatures\n setStoredSignatures(signatures.concat(signatureArray));\n }\n\n\n var getStoredSignatures = function () {\n var signatures = localStorage.getItem(signatureStorageKey);\n\n if (typeof signatures === 'undefined' || signatures === null) {\n // create empty signatures object\n signatures = getSignatureStorageTemplate();\n } else {\n // return current signatures object\n signatures = JSON.parse(signatures);\n }\n\n return signatures.values;\n };\n\n var setStoredSignatures = function (signaturesArray) {\n if (!hasLocalStorage) { return; }\n\n var sigTemplate = getSignatureStorageTemplate();\n\n // filter out signatures the user did not want to save\n sigTemplate.values = _.filter(signaturesArray, function(el){\n return el.localSave;\n });\n\n window.localStorage.setItem(signatureStorageKey, JSON.stringify(sigTemplate));\n };\n\n var clearAllStoredSignatures = function () {\n if (!hasLocalStorage) { return; }\n\n window.localStorage.removeItem(signatureStorageKey);\n };\n\n // Initialize the local storage manager\n PCCViewer.Signatures.on('ItemAdded', signatureAdded);\n PCCViewer.Signatures.on('ItemRemoved', signatureRemoved);\n\n // make sure this module is disposed if the user navigates away from the page\n $(window).on('beforeunload', function(){\n destroy();\n });\n\n if (hasLocalStorage) {\n loadStoredSignatures();\n }\n\n return {\n getStored: getStoredSignatures,\n setStored: setStoredSignatures,\n clearAll: clearAllStoredSignatures\n };\n })();\n\n function parallelSync(funcs, workers, done) {\n if (typeof workers === 'function') {\n done = workers;\n workers = 1;\n }\n var counter = funcs.length;\n var idx = 0;\n var queue = [].concat(funcs);\n var results = [];\n var errCount = 0;\n\n var next = function() {\n queue.shift()(nextGenerator(idx++));\n };\n\n var nextGenerator = function(idx) {\n return function(err) {\n if (err) {\n errCount++;\n }\n\n results[idx] = [].slice.call(arguments);\n\n if (--counter === 0) {\n done(errCount ? true : undefined, results);\n } else if (queue.length) {\n next();\n }\n };\n };\n\n while (workers-- && queue.length) {\n next();\n }\n }\n\n // Expose the Viewer through a jQuery plugin\n $.fn.pccViewer = function (options) {\n if (typeof options === 'undefined') {\n // If we are not given an options argument, return any existing viewer object associated with the\n // selected element.\n return this.data(DATAKEY);\n }\n else {\n\n // set the language data\n PCCViewer.Language.initializeData(options.language);\n\n // Create a new viewer\n return new Viewer(this, options);\n }\n };\n})(jQuery);\n","import '@fortawesome/fontawesome-pro/css/all.css'\nimport * as _ from 'underscore'\n\nimport './prizmdoc/normalize.min.css'\nimport './prizmdoc/viewer.scss'\nimport './prizmdoc/nextrequest.scss'\nimport '../../../../public/viewer-assets/css/viewercontrol.css'\n\nimport 'script-loader!./prizmdoc/jquery.hotkeys.min.js' // eslint-disable-line\nimport 'script-loader!../../../../public/viewer-assets/js/viewercontrol.js' // eslint-disable-line\nimport 'script-loader!../../../../public/viewer-assets/js/html5shiv.js' // eslint-disable-line\n// Note: If there's an error with use-strict and numeric escapes, you likely need to\n// re-escape things like \\74 because import forces loading in strict mode. The instances\n// of this seem to be unused anyway\nimport 'script-loader!./prizmdoc/viewerCustomizations.js' // eslint-disable-line\nimport './prizmdoc/viewer.js' // eslint-disable-line\n\nwindow._ = _\n","import '../src/utils/prizmdoc-assets.ts'\nimport PrizmdocViewer from '../src/utils/viewer'\nimport API from '../src/vue_shared/api'\n\ndocument.addEventListener('DOMContentLoaded', async () => {\n if (!document.querySelector('[data-prizmdoc-viewer]')) return\n\n const prizmdocViewer = await PrizmdocViewer()\n\n async function createPrizmdocViewer(el: HTMLElement): Promise {\n const {\n returnUrl,\n documentId,\n documentUrl,\n documentFileExt,\n documentName,\n prettyId,\n redaction,\n prizmdocProxyUrl\n } = el.dataset\n\n // Setting this global so that it can be read from the viewer and API functions.\n ;(window as typeof globalThis).prizmdoc_proxy_url = prizmdocProxyUrl\n\n const {\n data: { viewingSessionId }\n } = await API.newViewingSession(\n documentId,\n documentUrl,\n documentFileExt.slice(1)\n )\n // TODO: include more differences in arguments\n const redactionArgs = redaction\n ? {\n redactedDocumentName: `${documentName}-redacted.pdf`,\n redactedDocumentsPath: `/client/requests/${prettyId}/redacted_documents`\n }\n : {}\n await prizmdocViewer(\n `#${el.id}`,\n viewingSessionId,\n documentName,\n redaction,\n null,\n {\n rapidReview: false,\n prettyId,\n documentId,\n returnUrl,\n ...redactionArgs\n }\n )\n }\n\n document\n .querySelectorAll('[data-prizmdoc-viewer]')\n .forEach(createPrizmdocViewer)\n})\n","export default {\n account: (state) => state.account,\n currentUser: (state) => state.currentUser,\n rules: (state) => state.rules\n}\n","import API from '../vue_shared/api' // eslint-disable-line import/no-useless-path-segments\n\nexport default {\n async fetchAbility({ commit }) {\n return API.fetchAbilityRequests().then((response) => {\n commit('setAbility', response.data.rules)\n\n if (response.data.preview_user) {\n commit('setPreviewUser', response.data.preview_user)\n }\n\n if (response.data.preview_user_id) {\n commit('setPreviewUserId', response.data.preview_user_id)\n }\n\n if (response.data.current_user) {\n commit('setCurrentUser', response.data.current_user)\n }\n })\n },\n\n async fetchAccount({ commit }) {\n return API.account().then((response) => {\n commit('setAccount', response.data)\n })\n }\n}\n","import getters from './getters'\nimport actions from './actions'\nimport mutations from './mutations'\nimport api from '../vue_shared/api.js'\n\nexport const REQUEST_VISIBILITY = {\n staff_visible: 'Staff',\n embargoed: 'Embargoed',\n published: 'Published',\n department_visible: 'Department',\n department_published: 'Published - department only',\n restricted: 'Restricted'\n} as const\n\nexport interface RequestVisibility {\n value: keyof typeof REQUEST_VISIBILITY\n name: (typeof REQUEST_VISIBILITY)[keyof typeof REQUEST_VISIBILITY]\n}\n\nexport type RequestVisibilityValue = keyof typeof REQUEST_VISIBILITY\n\nexport type RequestVisibilityLabel =\n (typeof REQUEST_VISIBILITY)[keyof typeof REQUEST_VISIBILITY]\n\nexport interface AccountState {\n prizmdoc_proxy_url: string // eslint-disable-line camelcase\n accept_terms: boolean // eslint-disable-line camelcase\n all_requests_page_subheader: string // eslint-disable-line camelcase\n anticipated_fulfillment_date: boolean // eslint-disable-line camelcase\n background_image_file_name: string | null // eslint-disable-line camelcase\n bucket_limit: number // eslint-disable-line camelcase\n active_doc_size_in_bytes: number // eslint-disable-line camelcase\n custom_fields_feature_flag: boolean // eslint-disable-line camelcase\n cybersource_activated: boolean // eslint-disable-line camelcase\n departments: { id: number; name: string }[]\n document_review: boolean // eslint-disable-line camelcase\n embargo_hours: number // eslint-disable-line camelcase\n embargoing_available: boolean // eslint-disable-line camelcase\n faq_header: string // eslint-disable-line camelcase\n front_page_header: string // eslint-disable-line camelcase\n front_page_text: string // eslint-disable-line camelcase\n id: number\n legacy_request_show_enabled: boolean // eslint-disable-line camelcase\n link_text: null // eslint-disable-line camelcase\n link_url: null // eslint-disable-line camelcase\n logo_file_name: null // eslint-disable-line camelcase\n name: string\n payments: boolean\n payment_processor_activated: boolean // eslint-disable-line camelcase\n pii_scan_feature_flag: boolean // eslint-disable-line camelcase\n redaction: boolean\n request_page_subheader: string // eslint-disable-line camelcase\n require_department: boolean // eslint-disable-line camelcase\n required_fields: boolean // eslint-disable-line camelcase\n restricted_visibilities_feature_flag: boolean // eslint-disable-line camelcase\n retention: boolean\n show_cost_publicly: boolean // eslint-disable-line camelcase\n show_dept_select: boolean // eslint-disable-line camelcase\n show_due_date: boolean // eslint-disable-line camelcase\n show_requester: boolean // eslint-disable-line camelcase\n sidebar_request_text: string // eslint-disable-line camelcase\n state: string\n stripe_activated: boolean // eslint-disable-line camelcase\n subdomain: string\n subscribe: boolean\n terms_and_conditions: string // eslint-disable-line camelcase\n uploaders_feature_flag: boolean // eslint-disable-line camelcase\n visibility_default: RequestVisibilityValue // eslint-disable-line camelcase\n notify_requesters_of_office_closures: boolean // eslint-disable-line camelcase\n civicplus_pay_activated: boolean // eslint-disable-line camelcase\n custom_field2_feature_flag: boolean // eslint-disable-line camelcase\n invoicing_feature_flag: boolean // eslint-disable-line camelcase\n}\n\nexport interface UserState {\n email: string\n email_or_name: string // eslint-disable-line camelcase\n id: number\n name_with_email: string // eslint-disable-line camelcase\n request_show_beta: boolean // eslint-disable-line camelcase\n user_role: 'admin' | 'publisher' | 'guest' | 'staff' | 'department_admin' // eslint-disable-line camelcase\n}\n\nexport interface RuleState {\n actions: string[]\n subject: string[]\n}\n\nexport interface State {\n account: AccountState | null\n currentUser: UserState | null\n previewUser: string | null\n previewUserId: string | null\n rules: RuleState[]\n}\n\nexport function accountRequestVisibilities(\n account: AccountState\n): RequestVisibility[] {\n return Object.entries(REQUEST_VISIBILITY)\n .map(\n ([value, name]: [\n RequestVisibilityValue,\n RequestVisibilityLabel\n ]): RequestVisibility => ({\n value,\n name\n })\n )\n .filter(({ value }: { value: RequestVisibilityValue }) => {\n if (value === 'department_published') {\n return account.restricted_visibilities_feature_flag\n } else if (value === 'embargoed') {\n return account.embargoing_available\n }\n return true\n })\n}\n\nconst globalModule: { state: State; [key: string]: any } = {\n state: {\n account: null,\n currentUser: null,\n previewUser: null,\n previewUserId: null,\n rules: []\n }, // data\n getters, // computed properties\n actions, // methods to retrieve data and call mutations\n mutations, // setting and updating state\n api // axios endpoints\n}\n\nexport { globalModule }\n","/* eslint-disable no-param-reassign */\nexport default {\n setAbility: (state, val) => {\n state.rules = val\n },\n\n setAccount: (state, obj) => {\n state.account = obj\n },\n\n setCurrentUser: (state, val) => {\n state.currentUser = val\n },\n\n setPreviewUser: (state, val) => {\n state.previewUser = val\n },\n\n setPreviewUserId: (state, val) => {\n state.previewUserId = val\n }\n}\n","import * as qs from 'qs'\n\ninterface QueryParam {\n [key: string]: any\n}\n\nexport const stringify = (param: QueryParam = {}): string => {\n return qs.stringify(param, { arrayFormat: 'brackets' })\n}\n\nexport const parse = (paramString: string): QueryParam => {\n return qs.parse(paramString, { plainObjects: true, parseArrays: true })\n}\n","import { captureException } from '@sentry/browser'\n\nconst NrSentry = {\n captureError: captureException\n}\nexport default NrSentry\n","import * as http from '../../../../vue_shared/http'\n\ninterface User {\n id: number\n email?: string\n name_with_email?: string // eslint-disable-line camelcase\n name_or_email?: string // eslint-disable-line camelcase\n undeliverable_email?: boolean // eslint-disable-line camelcase\n}\n\ntype UserType = 'requesters' | 'pocs' | 'staff'\n\ninterface BaseOptions {\n search_text?: string // eslint-disable-line camelcase\n page_number?: number // eslint-disable-line camelcase\n}\n\ntype OptionType = 'departments' | 'tags' | 'closure_responses'\n\ninterface FetchOptions extends BaseOptions {\n type: OptionType\n}\n\ninterface FetchUserOptions extends BaseOptions {\n type: UserType\n}\n\nexport function fetchUsersByType(options: FetchUserOptions): Promise {\n const { type, ...params } = Object.assign(\n {\n search_text: '',\n page_number: 1\n },\n options\n )\n\n return http.get(`/client/requests/${type}`, params)\n}\n\nexport function fetchUserByType(id: number, type: UserType): Promise {\n return http.get(`/client/requests/${type}/${id}`)\n}\n\ninterface Option {\n id: number\n name: string\n}\n\nexport function fetchOptionsByType(options: FetchOptions): Promise {\n const { type, ...params } = options\n return http.get(`/client/requests/${type}/`, params)\n}\n\nexport function fetchOptionByType(\n id: number,\n type: OptionType\n): Promise