Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/embedpre.../assets/pdf/web
File: viewer.js
this._onMouseMove = this.#onMouseMove.bind(this);
[8000] Fix | Delete
this._endPan = this.#endPan.bind(this);
[8001] Fix | Delete
const overlay = this.overlay = document.createElement("div");
[8002] Fix | Delete
overlay.className = "grab-to-pan-grabbing";
[8003] Fix | Delete
}
[8004] Fix | Delete
activate() {
[8005] Fix | Delete
if (!this.active) {
[8006] Fix | Delete
this.active = true;
[8007] Fix | Delete
this.element.addEventListener("mousedown", this._onMouseDown, true);
[8008] Fix | Delete
this.element.classList.add(CSS_CLASS_GRAB);
[8009] Fix | Delete
}
[8010] Fix | Delete
}
[8011] Fix | Delete
deactivate() {
[8012] Fix | Delete
if (this.active) {
[8013] Fix | Delete
this.active = false;
[8014] Fix | Delete
this.element.removeEventListener("mousedown", this._onMouseDown, true);
[8015] Fix | Delete
this._endPan();
[8016] Fix | Delete
this.element.classList.remove(CSS_CLASS_GRAB);
[8017] Fix | Delete
}
[8018] Fix | Delete
}
[8019] Fix | Delete
toggle() {
[8020] Fix | Delete
if (this.active) {
[8021] Fix | Delete
this.deactivate();
[8022] Fix | Delete
} else {
[8023] Fix | Delete
this.activate();
[8024] Fix | Delete
}
[8025] Fix | Delete
}
[8026] Fix | Delete
ignoreTarget(node) {
[8027] Fix | Delete
return node.matches("a[href], a[href] *, input, textarea, button, button *, select, option");
[8028] Fix | Delete
}
[8029] Fix | Delete
#onMouseDown(event) {
[8030] Fix | Delete
if (event.button !== 0 || this.ignoreTarget(event.target)) {
[8031] Fix | Delete
return;
[8032] Fix | Delete
}
[8033] Fix | Delete
if (event.originalTarget) {
[8034] Fix | Delete
try {
[8035] Fix | Delete
event.originalTarget.tagName;
[8036] Fix | Delete
} catch {
[8037] Fix | Delete
return;
[8038] Fix | Delete
}
[8039] Fix | Delete
}
[8040] Fix | Delete
this.scrollLeftStart = this.element.scrollLeft;
[8041] Fix | Delete
this.scrollTopStart = this.element.scrollTop;
[8042] Fix | Delete
this.clientXStart = event.clientX;
[8043] Fix | Delete
this.clientYStart = event.clientY;
[8044] Fix | Delete
this.document.addEventListener("mousemove", this._onMouseMove, true);
[8045] Fix | Delete
this.document.addEventListener("mouseup", this._endPan, true);
[8046] Fix | Delete
this.element.addEventListener("scroll", this._endPan, true);
[8047] Fix | Delete
event.preventDefault();
[8048] Fix | Delete
event.stopPropagation();
[8049] Fix | Delete
const focusedElement = document.activeElement;
[8050] Fix | Delete
if (focusedElement && !focusedElement.contains(event.target)) {
[8051] Fix | Delete
focusedElement.blur();
[8052] Fix | Delete
}
[8053] Fix | Delete
}
[8054] Fix | Delete
#onMouseMove(event) {
[8055] Fix | Delete
this.element.removeEventListener("scroll", this._endPan, true);
[8056] Fix | Delete
if (!(event.buttons & 1)) {
[8057] Fix | Delete
this._endPan();
[8058] Fix | Delete
return;
[8059] Fix | Delete
}
[8060] Fix | Delete
const xDiff = event.clientX - this.clientXStart;
[8061] Fix | Delete
const yDiff = event.clientY - this.clientYStart;
[8062] Fix | Delete
this.element.scrollTo({
[8063] Fix | Delete
top: this.scrollTopStart - yDiff,
[8064] Fix | Delete
left: this.scrollLeftStart - xDiff,
[8065] Fix | Delete
behavior: "instant"
[8066] Fix | Delete
});
[8067] Fix | Delete
if (!this.overlay.parentNode) {
[8068] Fix | Delete
document.body.append(this.overlay);
[8069] Fix | Delete
}
[8070] Fix | Delete
}
[8071] Fix | Delete
#endPan() {
[8072] Fix | Delete
this.element.removeEventListener("scroll", this._endPan, true);
[8073] Fix | Delete
this.document.removeEventListener("mousemove", this._onMouseMove, true);
[8074] Fix | Delete
this.document.removeEventListener("mouseup", this._endPan, true);
[8075] Fix | Delete
this.overlay.remove();
[8076] Fix | Delete
}
[8077] Fix | Delete
}
[8078] Fix | Delete
[8079] Fix | Delete
;// CONCATENATED MODULE: ./web/pdf_cursor_tools.js
[8080] Fix | Delete
[8081] Fix | Delete
[8082] Fix | Delete
[8083] Fix | Delete
class PDFCursorTools {
[8084] Fix | Delete
#active = CursorTool.SELECT;
[8085] Fix | Delete
#prevActive = null;
[8086] Fix | Delete
constructor({
[8087] Fix | Delete
container,
[8088] Fix | Delete
eventBus,
[8089] Fix | Delete
cursorToolOnLoad = CursorTool.SELECT
[8090] Fix | Delete
}) {
[8091] Fix | Delete
this.container = container;
[8092] Fix | Delete
this.eventBus = eventBus;
[8093] Fix | Delete
this.#addEventListeners();
[8094] Fix | Delete
Promise.resolve().then(() => {
[8095] Fix | Delete
this.switchTool(cursorToolOnLoad);
[8096] Fix | Delete
});
[8097] Fix | Delete
}
[8098] Fix | Delete
get activeTool() {
[8099] Fix | Delete
return this.#active;
[8100] Fix | Delete
}
[8101] Fix | Delete
switchTool(tool) {
[8102] Fix | Delete
if (this.#prevActive !== null) {
[8103] Fix | Delete
return;
[8104] Fix | Delete
}
[8105] Fix | Delete
if (tool === this.#active) {
[8106] Fix | Delete
return;
[8107] Fix | Delete
}
[8108] Fix | Delete
const disableActiveTool = () => {
[8109] Fix | Delete
switch (this.#active) {
[8110] Fix | Delete
case CursorTool.SELECT:
[8111] Fix | Delete
break;
[8112] Fix | Delete
case CursorTool.HAND:
[8113] Fix | Delete
this._handTool.deactivate();
[8114] Fix | Delete
break;
[8115] Fix | Delete
case CursorTool.ZOOM:
[8116] Fix | Delete
}
[8117] Fix | Delete
};
[8118] Fix | Delete
switch (tool) {
[8119] Fix | Delete
case CursorTool.SELECT:
[8120] Fix | Delete
disableActiveTool();
[8121] Fix | Delete
break;
[8122] Fix | Delete
case CursorTool.HAND:
[8123] Fix | Delete
disableActiveTool();
[8124] Fix | Delete
this._handTool.activate();
[8125] Fix | Delete
break;
[8126] Fix | Delete
case CursorTool.ZOOM:
[8127] Fix | Delete
default:
[8128] Fix | Delete
console.error(`switchTool: "${tool}" is an unsupported value.`);
[8129] Fix | Delete
return;
[8130] Fix | Delete
}
[8131] Fix | Delete
this.#active = tool;
[8132] Fix | Delete
this.eventBus.dispatch("cursortoolchanged", {
[8133] Fix | Delete
source: this,
[8134] Fix | Delete
tool
[8135] Fix | Delete
});
[8136] Fix | Delete
}
[8137] Fix | Delete
#addEventListeners() {
[8138] Fix | Delete
this.eventBus._on("switchcursortool", evt => {
[8139] Fix | Delete
if (!evt.reset) {
[8140] Fix | Delete
this.switchTool(evt.tool);
[8141] Fix | Delete
} else if (this.#prevActive !== null) {
[8142] Fix | Delete
annotationEditorMode = AnnotationEditorType.NONE;
[8143] Fix | Delete
presentationModeState = PresentationModeState.NORMAL;
[8144] Fix | Delete
enableActive();
[8145] Fix | Delete
}
[8146] Fix | Delete
});
[8147] Fix | Delete
let annotationEditorMode = AnnotationEditorType.NONE,
[8148] Fix | Delete
presentationModeState = PresentationModeState.NORMAL;
[8149] Fix | Delete
const disableActive = () => {
[8150] Fix | Delete
const prevActive = this.#active;
[8151] Fix | Delete
this.switchTool(CursorTool.SELECT);
[8152] Fix | Delete
this.#prevActive ??= prevActive;
[8153] Fix | Delete
};
[8154] Fix | Delete
const enableActive = () => {
[8155] Fix | Delete
const prevActive = this.#prevActive;
[8156] Fix | Delete
if (prevActive !== null && annotationEditorMode === AnnotationEditorType.NONE && presentationModeState === PresentationModeState.NORMAL) {
[8157] Fix | Delete
this.#prevActive = null;
[8158] Fix | Delete
this.switchTool(prevActive);
[8159] Fix | Delete
}
[8160] Fix | Delete
};
[8161] Fix | Delete
this.eventBus._on("annotationeditormodechanged", ({
[8162] Fix | Delete
mode
[8163] Fix | Delete
}) => {
[8164] Fix | Delete
annotationEditorMode = mode;
[8165] Fix | Delete
if (mode === AnnotationEditorType.NONE) {
[8166] Fix | Delete
enableActive();
[8167] Fix | Delete
} else {
[8168] Fix | Delete
disableActive();
[8169] Fix | Delete
}
[8170] Fix | Delete
});
[8171] Fix | Delete
this.eventBus._on("presentationmodechanged", ({
[8172] Fix | Delete
state
[8173] Fix | Delete
}) => {
[8174] Fix | Delete
presentationModeState = state;
[8175] Fix | Delete
if (state === PresentationModeState.NORMAL) {
[8176] Fix | Delete
enableActive();
[8177] Fix | Delete
} else if (state === PresentationModeState.FULLSCREEN) {
[8178] Fix | Delete
disableActive();
[8179] Fix | Delete
}
[8180] Fix | Delete
});
[8181] Fix | Delete
}
[8182] Fix | Delete
get _handTool() {
[8183] Fix | Delete
return shadow(this, "_handTool", new GrabToPan({
[8184] Fix | Delete
element: this.container
[8185] Fix | Delete
}));
[8186] Fix | Delete
}
[8187] Fix | Delete
}
[8188] Fix | Delete
[8189] Fix | Delete
;// CONCATENATED MODULE: ./web/pdf_document_properties.js
[8190] Fix | Delete
[8191] Fix | Delete
[8192] Fix | Delete
[8193] Fix | Delete
const DEFAULT_FIELD_CONTENT = "-";
[8194] Fix | Delete
const NON_METRIC_LOCALES = ["en-us", "en-lr", "my"];
[8195] Fix | Delete
const US_PAGE_NAMES = {
[8196] Fix | Delete
"8.5x11": "letter",
[8197] Fix | Delete
"8.5x14": "legal"
[8198] Fix | Delete
};
[8199] Fix | Delete
const METRIC_PAGE_NAMES = {
[8200] Fix | Delete
"297x420": "a-three",
[8201] Fix | Delete
"210x297": "a-four"
[8202] Fix | Delete
};
[8203] Fix | Delete
function getPageName(size, isPortrait, pageNames) {
[8204] Fix | Delete
const width = isPortrait ? size.width : size.height;
[8205] Fix | Delete
const height = isPortrait ? size.height : size.width;
[8206] Fix | Delete
return pageNames[`${width}x${height}`];
[8207] Fix | Delete
}
[8208] Fix | Delete
class PDFDocumentProperties {
[8209] Fix | Delete
#fieldData = null;
[8210] Fix | Delete
constructor({
[8211] Fix | Delete
dialog,
[8212] Fix | Delete
fields,
[8213] Fix | Delete
closeButton
[8214] Fix | Delete
}, overlayManager, eventBus, l10n, fileNameLookup) {
[8215] Fix | Delete
this.dialog = dialog;
[8216] Fix | Delete
this.fields = fields;
[8217] Fix | Delete
this.overlayManager = overlayManager;
[8218] Fix | Delete
this.l10n = l10n;
[8219] Fix | Delete
this._fileNameLookup = fileNameLookup;
[8220] Fix | Delete
this.#reset();
[8221] Fix | Delete
closeButton.addEventListener("click", this.close.bind(this));
[8222] Fix | Delete
this.overlayManager.register(this.dialog);
[8223] Fix | Delete
eventBus._on("pagechanging", evt => {
[8224] Fix | Delete
this._currentPageNumber = evt.pageNumber;
[8225] Fix | Delete
});
[8226] Fix | Delete
eventBus._on("rotationchanging", evt => {
[8227] Fix | Delete
this._pagesRotation = evt.pagesRotation;
[8228] Fix | Delete
});
[8229] Fix | Delete
this._isNonMetricLocale = NON_METRIC_LOCALES.includes(l10n.getLanguage());
[8230] Fix | Delete
}
[8231] Fix | Delete
async open() {
[8232] Fix | Delete
await Promise.all([this.overlayManager.open(this.dialog), this._dataAvailableCapability.promise]);
[8233] Fix | Delete
const currentPageNumber = this._currentPageNumber;
[8234] Fix | Delete
const pagesRotation = this._pagesRotation;
[8235] Fix | Delete
if (this.#fieldData && currentPageNumber === this.#fieldData._currentPageNumber && pagesRotation === this.#fieldData._pagesRotation) {
[8236] Fix | Delete
this.#updateUI();
[8237] Fix | Delete
return;
[8238] Fix | Delete
}
[8239] Fix | Delete
const {
[8240] Fix | Delete
info,
[8241] Fix | Delete
contentLength
[8242] Fix | Delete
} = await this.pdfDocument.getMetadata();
[8243] Fix | Delete
const [fileName, fileSize, creationDate, modificationDate, pageSize, isLinearized] = await Promise.all([this._fileNameLookup(), this.#parseFileSize(contentLength), this.#parseDate(info.CreationDate), this.#parseDate(info.ModDate), this.pdfDocument.getPage(currentPageNumber).then(pdfPage => {
[8244] Fix | Delete
return this.#parsePageSize(getPageSizeInches(pdfPage), pagesRotation);
[8245] Fix | Delete
}), this.#parseLinearization(info.IsLinearized)]);
[8246] Fix | Delete
this.#fieldData = Object.freeze({
[8247] Fix | Delete
fileName,
[8248] Fix | Delete
fileSize,
[8249] Fix | Delete
title: info.Title,
[8250] Fix | Delete
author: info.Author,
[8251] Fix | Delete
subject: info.Subject,
[8252] Fix | Delete
keywords: info.Keywords,
[8253] Fix | Delete
creationDate,
[8254] Fix | Delete
modificationDate,
[8255] Fix | Delete
creator: info.Creator,
[8256] Fix | Delete
producer: info.Producer,
[8257] Fix | Delete
version: info.PDFFormatVersion,
[8258] Fix | Delete
pageCount: this.pdfDocument.numPages,
[8259] Fix | Delete
pageSize,
[8260] Fix | Delete
linearized: isLinearized,
[8261] Fix | Delete
_currentPageNumber: currentPageNumber,
[8262] Fix | Delete
_pagesRotation: pagesRotation
[8263] Fix | Delete
});
[8264] Fix | Delete
this.#updateUI();
[8265] Fix | Delete
const {
[8266] Fix | Delete
length
[8267] Fix | Delete
} = await this.pdfDocument.getDownloadInfo();
[8268] Fix | Delete
if (contentLength === length) {
[8269] Fix | Delete
return;
[8270] Fix | Delete
}
[8271] Fix | Delete
const data = Object.assign(Object.create(null), this.#fieldData);
[8272] Fix | Delete
data.fileSize = await this.#parseFileSize(length);
[8273] Fix | Delete
this.#fieldData = Object.freeze(data);
[8274] Fix | Delete
this.#updateUI();
[8275] Fix | Delete
}
[8276] Fix | Delete
async close() {
[8277] Fix | Delete
this.overlayManager.close(this.dialog);
[8278] Fix | Delete
}
[8279] Fix | Delete
setDocument(pdfDocument) {
[8280] Fix | Delete
if (this.pdfDocument) {
[8281] Fix | Delete
this.#reset();
[8282] Fix | Delete
this.#updateUI(true);
[8283] Fix | Delete
}
[8284] Fix | Delete
if (!pdfDocument) {
[8285] Fix | Delete
return;
[8286] Fix | Delete
}
[8287] Fix | Delete
this.pdfDocument = pdfDocument;
[8288] Fix | Delete
this._dataAvailableCapability.resolve();
[8289] Fix | Delete
}
[8290] Fix | Delete
#reset() {
[8291] Fix | Delete
this.pdfDocument = null;
[8292] Fix | Delete
this.#fieldData = null;
[8293] Fix | Delete
this._dataAvailableCapability = Promise.withResolvers();
[8294] Fix | Delete
this._currentPageNumber = 1;
[8295] Fix | Delete
this._pagesRotation = 0;
[8296] Fix | Delete
}
[8297] Fix | Delete
#updateUI(reset = false) {
[8298] Fix | Delete
if (reset || !this.#fieldData) {
[8299] Fix | Delete
for (const id in this.fields) {
[8300] Fix | Delete
this.fields[id].textContent = DEFAULT_FIELD_CONTENT;
[8301] Fix | Delete
}
[8302] Fix | Delete
return;
[8303] Fix | Delete
}
[8304] Fix | Delete
if (this.overlayManager.active !== this.dialog) {
[8305] Fix | Delete
return;
[8306] Fix | Delete
}
[8307] Fix | Delete
for (const id in this.fields) {
[8308] Fix | Delete
const content = this.#fieldData[id];
[8309] Fix | Delete
this.fields[id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT;
[8310] Fix | Delete
}
[8311] Fix | Delete
}
[8312] Fix | Delete
async #parseFileSize(fileSize = 0) {
[8313] Fix | Delete
const kb = fileSize / 1024,
[8314] Fix | Delete
mb = kb / 1024;
[8315] Fix | Delete
if (!kb) {
[8316] Fix | Delete
return undefined;
[8317] Fix | Delete
}
[8318] Fix | Delete
return this.l10n.get(`pdfjs-document-properties-${mb >= 1 ? "mb" : "kb"}`, {
[8319] Fix | Delete
size_mb: mb >= 1 && (+mb.toPrecision(3)).toLocaleString(),
[8320] Fix | Delete
size_kb: mb < 1 && (+kb.toPrecision(3)).toLocaleString(),
[8321] Fix | Delete
size_b: fileSize.toLocaleString()
[8322] Fix | Delete
});
[8323] Fix | Delete
}
[8324] Fix | Delete
async #parsePageSize(pageSizeInches, pagesRotation) {
[8325] Fix | Delete
if (!pageSizeInches) {
[8326] Fix | Delete
return undefined;
[8327] Fix | Delete
}
[8328] Fix | Delete
if (pagesRotation % 180 !== 0) {
[8329] Fix | Delete
pageSizeInches = {
[8330] Fix | Delete
width: pageSizeInches.height,
[8331] Fix | Delete
height: pageSizeInches.width
[8332] Fix | Delete
};
[8333] Fix | Delete
}
[8334] Fix | Delete
const isPortrait = isPortraitOrientation(pageSizeInches);
[8335] Fix | Delete
let sizeInches = {
[8336] Fix | Delete
width: Math.round(pageSizeInches.width * 100) / 100,
[8337] Fix | Delete
height: Math.round(pageSizeInches.height * 100) / 100
[8338] Fix | Delete
};
[8339] Fix | Delete
let sizeMillimeters = {
[8340] Fix | Delete
width: Math.round(pageSizeInches.width * 25.4 * 10) / 10,
[8341] Fix | Delete
height: Math.round(pageSizeInches.height * 25.4 * 10) / 10
[8342] Fix | Delete
};
[8343] Fix | Delete
let rawName = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES);
[8344] Fix | Delete
if (!rawName && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) {
[8345] Fix | Delete
const exactMillimeters = {
[8346] Fix | Delete
width: pageSizeInches.width * 25.4,
[8347] Fix | Delete
height: pageSizeInches.height * 25.4
[8348] Fix | Delete
};
[8349] Fix | Delete
const intMillimeters = {
[8350] Fix | Delete
width: Math.round(sizeMillimeters.width),
[8351] Fix | Delete
height: Math.round(sizeMillimeters.height)
[8352] Fix | Delete
};
[8353] Fix | Delete
if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) {
[8354] Fix | Delete
rawName = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES);
[8355] Fix | Delete
if (rawName) {
[8356] Fix | Delete
sizeInches = {
[8357] Fix | Delete
width: Math.round(intMillimeters.width / 25.4 * 100) / 100,
[8358] Fix | Delete
height: Math.round(intMillimeters.height / 25.4 * 100) / 100
[8359] Fix | Delete
};
[8360] Fix | Delete
sizeMillimeters = intMillimeters;
[8361] Fix | Delete
}
[8362] Fix | Delete
}
[8363] Fix | Delete
}
[8364] Fix | Delete
const [{
[8365] Fix | Delete
width,
[8366] Fix | Delete
height
[8367] Fix | Delete
}, unit, name, orientation] = await Promise.all([this._isNonMetricLocale ? sizeInches : sizeMillimeters, this.l10n.get(`pdfjs-document-properties-page-size-unit-${this._isNonMetricLocale ? "inches" : "millimeters"}`), rawName && this.l10n.get(`pdfjs-document-properties-page-size-name-${rawName}`), this.l10n.get(`pdfjs-document-properties-page-size-orientation-${isPortrait ? "portrait" : "landscape"}`)]);
[8368] Fix | Delete
return this.l10n.get(`pdfjs-document-properties-page-size-dimension-${name ? "name-" : ""}string`, {
[8369] Fix | Delete
width: width.toLocaleString(),
[8370] Fix | Delete
height: height.toLocaleString(),
[8371] Fix | Delete
unit,
[8372] Fix | Delete
name,
[8373] Fix | Delete
orientation
[8374] Fix | Delete
});
[8375] Fix | Delete
}
[8376] Fix | Delete
async #parseDate(inputDate) {
[8377] Fix | Delete
const dateObject = PDFDateString.toDateObject(inputDate);
[8378] Fix | Delete
if (!dateObject) {
[8379] Fix | Delete
return undefined;
[8380] Fix | Delete
}
[8381] Fix | Delete
return this.l10n.get("pdfjs-document-properties-date-string", {
[8382] Fix | Delete
date: dateObject.toLocaleDateString(),
[8383] Fix | Delete
time: dateObject.toLocaleTimeString()
[8384] Fix | Delete
});
[8385] Fix | Delete
}
[8386] Fix | Delete
#parseLinearization(isLinearized) {
[8387] Fix | Delete
return this.l10n.get(`pdfjs-document-properties-linearized-${isLinearized ? "yes" : "no"}`);
[8388] Fix | Delete
}
[8389] Fix | Delete
}
[8390] Fix | Delete
[8391] Fix | Delete
;// CONCATENATED MODULE: ./web/pdf_find_utils.js
[8392] Fix | Delete
[8393] Fix | Delete
const CharacterType = {
[8394] Fix | Delete
SPACE: 0,
[8395] Fix | Delete
ALPHA_LETTER: 1,
[8396] Fix | Delete
PUNCT: 2,
[8397] Fix | Delete
HAN_LETTER: 3,
[8398] Fix | Delete
KATAKANA_LETTER: 4,
[8399] Fix | Delete
HIRAGANA_LETTER: 5,
[8400] Fix | Delete
HALFWIDTH_KATAKANA_LETTER: 6,
[8401] Fix | Delete
THAI_LETTER: 7
[8402] Fix | Delete
};
[8403] Fix | Delete
function isAlphabeticalScript(charCode) {
[8404] Fix | Delete
return charCode < 0x2e80;
[8405] Fix | Delete
}
[8406] Fix | Delete
function isAscii(charCode) {
[8407] Fix | Delete
return (charCode & 0xff80) === 0;
[8408] Fix | Delete
}
[8409] Fix | Delete
function isAsciiAlpha(charCode) {
[8410] Fix | Delete
return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;
[8411] Fix | Delete
}
[8412] Fix | Delete
function isAsciiDigit(charCode) {
[8413] Fix | Delete
return charCode >= 0x30 && charCode <= 0x39;
[8414] Fix | Delete
}
[8415] Fix | Delete
function isAsciiSpace(charCode) {
[8416] Fix | Delete
return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;
[8417] Fix | Delete
}
[8418] Fix | Delete
function isHan(charCode) {
[8419] Fix | Delete
return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;
[8420] Fix | Delete
}
[8421] Fix | Delete
function isKatakana(charCode) {
[8422] Fix | Delete
return charCode >= 0x30a0 && charCode <= 0x30ff;
[8423] Fix | Delete
}
[8424] Fix | Delete
function isHiragana(charCode) {
[8425] Fix | Delete
return charCode >= 0x3040 && charCode <= 0x309f;
[8426] Fix | Delete
}
[8427] Fix | Delete
function isHalfwidthKatakana(charCode) {
[8428] Fix | Delete
return charCode >= 0xff60 && charCode <= 0xff9f;
[8429] Fix | Delete
}
[8430] Fix | Delete
function isThai(charCode) {
[8431] Fix | Delete
return (charCode & 0xff80) === 0x0e00;
[8432] Fix | Delete
}
[8433] Fix | Delete
function getCharacterType(charCode) {
[8434] Fix | Delete
if (isAlphabeticalScript(charCode)) {
[8435] Fix | Delete
if (isAscii(charCode)) {
[8436] Fix | Delete
if (isAsciiSpace(charCode)) {
[8437] Fix | Delete
return CharacterType.SPACE;
[8438] Fix | Delete
} else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {
[8439] Fix | Delete
return CharacterType.ALPHA_LETTER;
[8440] Fix | Delete
}
[8441] Fix | Delete
return CharacterType.PUNCT;
[8442] Fix | Delete
} else if (isThai(charCode)) {
[8443] Fix | Delete
return CharacterType.THAI_LETTER;
[8444] Fix | Delete
} else if (charCode === 0xa0) {
[8445] Fix | Delete
return CharacterType.SPACE;
[8446] Fix | Delete
}
[8447] Fix | Delete
return CharacterType.ALPHA_LETTER;
[8448] Fix | Delete
}
[8449] Fix | Delete
if (isHan(charCode)) {
[8450] Fix | Delete
return CharacterType.HAN_LETTER;
[8451] Fix | Delete
} else if (isKatakana(charCode)) {
[8452] Fix | Delete
return CharacterType.KATAKANA_LETTER;
[8453] Fix | Delete
} else if (isHiragana(charCode)) {
[8454] Fix | Delete
return CharacterType.HIRAGANA_LETTER;
[8455] Fix | Delete
} else if (isHalfwidthKatakana(charCode)) {
[8456] Fix | Delete
return CharacterType.HALFWIDTH_KATAKANA_LETTER;
[8457] Fix | Delete
}
[8458] Fix | Delete
return CharacterType.ALPHA_LETTER;
[8459] Fix | Delete
}
[8460] Fix | Delete
let NormalizeWithNFKC;
[8461] Fix | Delete
function getNormalizeWithNFKC() {
[8462] Fix | Delete
NormalizeWithNFKC ||= ` ¨ª¯²-µ¸-º¼-¾IJ-ijĿ-ŀʼnſDŽ-njDZ-dzʰ-ʸ˘-˝ˠ-ˤʹͺ;΄-΅·ϐ-ϖϰ-ϲϴ-ϵϹևٵ-ٸक़-य़ড়-ঢ়য়ਲ਼ਸ਼ਖ਼-ਜ਼ਫ਼ଡ଼-ଢ଼ำຳໜ-ໝ༌གྷཌྷདྷབྷཛྷཀྵჼᴬ-ᴮᴰ-ᴺᴼ-ᵍᵏ-ᵪᵸᶛ-ᶿẚ-ẛάέήίόύώΆ᾽-῁ΈΉ῍-῏ΐΊ῝-῟ΰΎ῭-`ΌΏ´-῾ - ‑‗․-… ″-‴‶-‷‼‾⁇-⁉⁗ ⁰-ⁱ⁴-₎ₐ-ₜ₨℀-℃℅-ℇ℉-ℓℕ-№ℙ-ℝ℠-™ℤΩℨK-ℭℯ-ℱℳ-ℹ℻-⅀ⅅ-ⅉ⅐-ⅿ↉∬-∭∯-∰〈-〉①-⓪⨌⩴-⩶⫝̸ⱼ-ⱽⵯ⺟⻳⼀-⿕ 〶〸-〺゛-゜ゟヿㄱ-ㆎ㆒-㆟㈀-㈞㈠-㉇㉐-㉾㊀-㏿ꚜ-ꚝꝰꟲ-ꟴꟸ-ꟹꭜ-ꭟꭩ豈-嗀塚晴凞-羽蘒諸逸-都飯-舘並-龎ff-stﬓ-ﬗיִײַ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-﷼︐-︙︰-﹄﹇-﹒﹔-﹦﹨-﹫ﹰ-ﹲﹴﹶ-ﻼ!-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ¢-₩`;
[8463] Fix | Delete
return NormalizeWithNFKC;
[8464] Fix | Delete
}
[8465] Fix | Delete
[8466] Fix | Delete
;// CONCATENATED MODULE: ./web/pdf_find_controller.js
[8467] Fix | Delete
[8468] Fix | Delete
[8469] Fix | Delete
[8470] Fix | Delete
[8471] Fix | Delete
[8472] Fix | Delete
[8473] Fix | Delete
[8474] Fix | Delete
[8475] Fix | Delete
[8476] Fix | Delete
[8477] Fix | Delete
[8478] Fix | Delete
[8479] Fix | Delete
[8480] Fix | Delete
[8481] Fix | Delete
const FindState = {
[8482] Fix | Delete
FOUND: 0,
[8483] Fix | Delete
NOT_FOUND: 1,
[8484] Fix | Delete
WRAPPED: 2,
[8485] Fix | Delete
PENDING: 3
[8486] Fix | Delete
};
[8487] Fix | Delete
const FIND_TIMEOUT = 250;
[8488] Fix | Delete
const MATCH_SCROLL_OFFSET_TOP = -50;
[8489] Fix | Delete
const MATCH_SCROLL_OFFSET_LEFT = -400;
[8490] Fix | Delete
const CHARACTERS_TO_NORMALIZE = {
[8491] Fix | Delete
"\u2010": "-",
[8492] Fix | Delete
"\u2018": "'",
[8493] Fix | Delete
"\u2019": "'",
[8494] Fix | Delete
"\u201A": "'",
[8495] Fix | Delete
"\u201B": "'",
[8496] Fix | Delete
"\u201C": '"',
[8497] Fix | Delete
"\u201D": '"',
[8498] Fix | Delete
"\u201E": '"',
[8499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function