{ "version": 3, "sources": ["src/docuK-prepare-2.3.ts"], "sourcesContent": ["import type {\r\n\tDecomposedURI,\r\n\tDescR,\r\n\tFSToRs,\r\n\tFuzzySearch,\r\n\tFuzzySearchResult,\r\n\tPatternURI,\r\n\tRenderResult,\r\n\tSearchVars,\r\n\tSplitHangul,\r\n\tStrToJSON,\r\n\tYTiframeConfig,\r\n\tYTiframeResult,\r\n} from \"./types/types\";\r\n\r\nwindow.m = window.k = window.k || {}; // window.m can be asigned another JSON or number/string and so on. But window.k must be kept.\r\n(function (m, $) {\r\n\tm.version0 = \"3.1\";\r\n\tm.$window = $(window);\r\n\tm.$document = $(document);\r\n\tm.$html = $(\"html\");\r\n\tm.$title = $(\"title\");\r\n\tconst fsToRs: FSToRs = (m.fsToRs = {\r\n\t\tfixed: false,\r\n\t});\r\n\r\n\t$.fn.exists = function (): boolean {\r\n\t\treturn Boolean(this.length);\r\n\t};\r\n\tm.browserWidth = window.innerWidth;\r\n\tm.$docuK = $(\".docuK\");\r\n\r\n\tm.getUTF8Length = function (s: string): number {\r\n\t\tlet len = 0;\r\n\t\tfor (let i = 0; i < s.length; i++) {\r\n\t\t\tlet code = s.charCodeAt(i);\r\n\t\t\tif (code <= 0x7f) {\r\n\t\t\t\tlen += 1;\r\n\t\t\t} else if (code <= 0x7ff) {\r\n\t\t\t\tlen += 2;\r\n\t\t\t} else if (code >= 0xd800 && code <= 0xdfff) {\r\n\t\t\t\t// Surrogate pair: These take 4 bytes in UTF-8 and 2 chars in UCS-2\r\n\t\t\t\t// (Assume next char is the other [valid] half and just skip it)\r\n\t\t\t\tlen += 4;\r\n\t\t\t\ti++;\r\n\t\t\t} else if (code < 0xffff) {\r\n\t\t\t\tlen += 3;\r\n\t\t\t} else {\r\n\t\t\t\tlen += 4;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn len;\r\n\t};\r\n\tm.getSearchVars = function (searchStr: string | null | undefined): SearchVars {\r\n\t\tlet vars: SearchVars = [];\r\n\t\tif (searchStr !== null && searchStr !== undefined && searchStr.length) {\r\n\t\t\tif (searchStr.startsWith(\"?\")) {\r\n\t\t\t\tsearchStr = searchStr.substring(1);\r\n\t\t\t}\r\n\t\t\tlet j = searchStr.indexOf(\"#\");\r\n\t\t\tif (j !== -1) {\r\n\t\t\t\tsearchStr = searchStr.substring(0, j);\r\n\t\t\t}\r\n\t\t\tlet splits = searchStr.replace(/&/gi, \"&\").split(\"&\");\r\n\t\t\tfor (let i = 0; i < splits.length; i++) {\r\n\t\t\t\tlet key = splits[i];\r\n\t\t\t\tlet value = \"\";\r\n\t\t\t\tlet k = key.indexOf(\"=\");\r\n\t\t\t\tif (k !== -1) {\r\n\t\t\t\t\tvalue = decodeURIComponent(key.substring(k + 1));\r\n\t\t\t\t\tkey = key.substring(0, k);\r\n\t\t\t\t}\r\n\t\t\t\tkey = decodeURIComponent(key);\r\n\t\t\t\tvars[i] = vars[key] = { key: key, val: value };\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn vars;\r\n\t};\r\n\r\n\t////////////////////////////////////////////////////\r\n\t// Heap sort.\r\n\t////////////////////////////////////////////////////\r\n\tm.heapify = function (arr: any[], key: string, sorted: number[], n: number, i: number): void {\r\n\t\tlet largest = i;\r\n\t\tlet l = 2 * i + 1;\r\n\t\tlet r = 2 * i + 2;\r\n\t\tif (l < n && arr[sorted[l]][key] > arr[sorted[largest]][key]) {\r\n\t\t\tlargest = l;\r\n\t\t}\r\n\t\tif (r < n && arr[sorted[r]][key] > arr[sorted[largest]][key]) {\r\n\t\t\tlargest = r;\r\n\t\t}\r\n\t\tif (largest != i) {\r\n\t\t\t[sorted[i], sorted[largest]] = [sorted[largest], sorted[i]];\r\n\t\t\tm.heapify(arr, key, sorted, n, largest);\r\n\t\t}\r\n\t};\r\n\tm.heapsort = function (arr: any[], key: string, sorted: number[], upto: number): number {\r\n\t\tlet n = arr.length;\r\n\t\tfor (let i = Math.floor(n / 2) - 1; i >= 0; i--) {\r\n\t\t\tm.heapify(arr, key, sorted, n, i);\r\n\t\t}\r\n\t\tif (upto) {\r\n\t\t\tupto = upto > n ? n : upto;\r\n\t\t} else {\r\n\t\t\tupto = n;\r\n\t\t}\r\n\t\tlet until = n - upto;\r\n\t\tfor (let i = n - 1; i >= until; i--) {\r\n\t\t\t[sorted[0], sorted[i]] = [sorted[i], sorted[0]];\r\n\t\t\tm.heapify(arr, key, sorted, i, 0);\r\n\t\t}\r\n\t\treturn until;\r\n\t};\r\n\tm.heapsortRest = function (arr: any[], key: string, sorted: number[], upto: number, n: number): number {\r\n\t\tupto = upto > n ? n : upto;\r\n\t\tlet until = n - upto;\r\n\t\tfor (let i = n - 1; i >= until; i--) {\r\n\t\t\t[sorted[0], sorted[i]] = [sorted[i], sorted[0]];\r\n\t\t\tm.heapify(arr, key, sorted, i, 0);\r\n\t\t}\r\n\t\treturn until;\r\n\t};\r\n\r\n\t////////////////////////////////////////////////////\r\n\t// Escape and Unescape HTML string.\r\n\t////////////////////////////////////////////////////\r\n\tm.escapeHTML = function (str: string): string {\r\n\t\tif (!str || typeof str !== \"string\") {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\treturn str.replace(/&/g, \"&\").replace(//g, \">\");\r\n\t};\r\n\tm.escapeOnlyTag = function (str: string): string {\r\n\t\tif (!str || typeof str !== \"string\") {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\treturn str.replace(//g, \">\");\r\n\t};\r\n\tm.unescapeHTML = function (str: string): string {\r\n\t\tif (!str || typeof str !== \"string\") {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\treturn str.replace(/>/g, \">\").replace(/</g, \"<\").replace(/&/g, \"&\");\r\n\t};\r\n\tm.escapeAMP = function (str: string): string {\r\n\t\tif (!str || typeof str !== \"string\") {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\treturn str.replace(/%/g, \"%25\").replace(/&/g, \"%26\").replace(/#/g, \"%23\");\r\n\t};\r\n\tm.unescapeAMP = function (str: string): string {\r\n\t\tif (!str || typeof str !== \"string\") {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\treturn str.replace(/%23/g, \"#\").replace(/%26/g, \"&\").replace(/%25/g, \"%\");\r\n\t};\r\n\tm.escapeEncodePctg = function (str: string): string {\r\n\t\tif (!str || typeof str !== \"string\") {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\treturn str.replace(/([\\!\\@\\#\\$\\%\\^\\&\\*\\[\\]\\{\\}\\_\\<\\>\\,\\.\\/\\?\\~])/g, \"\\\\$1\");\r\n\t};\r\n\r\n\t////////////////////////////////////////////////////\r\n\t// URI rendering :: http link itself, videos, images, maps.\r\n\t////////////////////////////////////////////////////\r\n\tm.ptnURI = {};\r\n\tm.ptnURL = /^https?:\\/\\/[^\\s\\t\\n\\r\\\"\\'\\`\\<\\>\\{\\}\\[\\]]+/i;\r\n\tm.ptnFILE = /^file:\\/\\/\\/[^\\s\\t\\n\\r\\\"\\'\\`\\<\\>\\{\\}\\[\\]]+/i;\r\n\tm.ptnTag = /^<\\w+[\\s\\S]+>/i;\r\n\tm.ptnVal = /^([0-9]+(?:\\.[0-9]+)?)\\/([0-9]+(?:\\.[0-9]+)?)$/;\r\n\r\n\tm.uriToA = function (uri: string | null | undefined): string {\r\n\t\tif (!uri || typeof uri !== \"string\") {\r\n\t\t\turi = String(uri);\r\n\t\t}\r\n\t\tlet exec = m.ptnURL.exec(uri);\r\n\t\tif (exec !== null) {\r\n\t\t\treturn `${m.escapeOnlyTag(decodeURIComponent(uri).replace(/[\\n\\s\\t\\r]/g, \" \"))}`;\r\n\t\t} else {\r\n\t\t\texec = m.ptnFILE.exec(uri);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\treturn `${m.escapeOnlyTag(decodeURIComponent(uri).replace(/[\\n\\s\\t\\r]/g, \" \"))}`;\r\n\t\t\t} else {\r\n\t\t\t\treturn m.escapeOnlyTag(uri);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tm.videoZIndex = 10000;\r\n\tm.togglePosition = function (elem: HTMLElement): void {\r\n\t\tlet $elem = $(elem);\r\n\t\tlet $parent = $elem.closest(\".rC\");\r\n\t\tif ($parent.hasClass(\"fixed\")) {\r\n\t\t\t$parent.removeClass(\"fixed\");\r\n\t\t\t$parent.css(\"z-index\", 0);\r\n\t\t\twindow.scrollTo(0, $parent.offset().top);\r\n\t\t\t$elem.text(\"\u25B2 [--stick to the left top--]\");\r\n\t\t\tm.fsToRs.fixed = false;\r\n\t\t} else {\r\n\t\t\twindow.scrollBy({ left: 0, top: -$parent.height(), behavior: \"smooth\" });\r\n\t\t\t$parent.addClass(\"fixed\");\r\n\t\t\tlet $z = $parent.find(\".z-index\");\r\n\t\t\tlet zIndex = m.videoZIndex;\r\n\t\t\tif ($z.length) {\r\n\t\t\t\tzIndex = parseInt($z.html());\r\n\t\t\t} else {\r\n\t\t\t\t$elem.before(`${m.videoZIndex}`);\r\n\t\t\t\tm.videoZIndex--;\r\n\t\t\t}\r\n\t\t\t$parent.css(\"z-index\", zIndex);\r\n\t\t\t$elem.text(\"\u25B2 [--return to the original position--]\");\r\n\t\t\tm.fsToRs.fixed = true;\r\n\t\t}\r\n\t};\r\n\tm.rC = function (elemStr: string, option?: string | null, id?: string | null, noPc?: boolean): string {\r\n\t\treturn `
${elemStr}
${noPc ? \"\" : `
\u25B2 [--stick to the left top--]
`}
`;\r\n\t};\r\n\tm.YTiframe = function (v: string, inListPlay: boolean, config: YTiframeConfig, list?: string): string {\r\n\t\tif (list && list.constructor === String) {\r\n\t\t\treturn m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : null);\r\n\t\t}\r\n\t\treturn m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : null);\r\n\t};\r\n\tm.timeToSeconds = function (time: string): number {\r\n\t\tlet secondToSeek = 0;\r\n\t\tlet exec = /(?:([0-9]{1,2})\\:)?(?:([0-9]{1,2})\\:)([0-9]{1,})/.exec(time);\r\n\t\tif (exec !== null) {\r\n\t\t\tlet hour = exec[1];\r\n\t\t\tlet minute = exec[2];\r\n\t\t\tlet second = exec[3];\r\n\t\t\tif (hour && !isNaN(Number(hour))) {\r\n\t\t\t\tsecondToSeek += Number(hour) * 3600;\r\n\t\t\t}\r\n\t\t\tif (minute && !isNaN(Number(minute))) {\r\n\t\t\t\tsecondToSeek += Number(minute) * 60;\r\n\t\t\t}\r\n\t\t\tif (second && !isNaN(Number(second))) {\r\n\t\t\t\tsecondToSeek += Number(second);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn secondToSeek;\r\n\t};\r\n\r\n\tlet ptnURI;\r\n\tptnURI = m.ptnURI[\"www.youtube.com\"] = m.ptnURI[\"youtube.com\"] = m.ptnURI[\"youtu.be\"] = m.ptnURI[\"m.youtube.com\"] = [] as any;\r\n\tptnURI.regEx = /^(?:watch|embed|live|shorts|playlist)\\/?([\\w\\-\\_]+)?(\\?[^\\\"\\'\\`\\<\\>\\[\\]\\s\\t\\n\\r]+)?/i;\r\n\tptnURI.regEx0 = /^([\\w\\-\\_]+)\\/?(\\?[^\\\"\\'\\`\\<\\>\\[\\]\\s\\t\\n\\r]+)?/i;\r\n\tptnURI.regEx1 = /^(@?[^\\\"\\'\\`\\<\\>\\[\\]\\s\\t\\n\\r]+)?/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean, descR: DescR): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet config: YTiframeConfig = {};\r\n\t\t\tif (descR) {\r\n\t\t\t\tif (descR[\"#start\"]?.val) {\r\n\t\t\t\t\tconfig.startSeconds = config.start = m.timeToSeconds(descR[\"#start\"].val.trim());\r\n\t\t\t\t}\r\n\t\t\t\tif (descR[\"#end\"]?.val) {\r\n\t\t\t\t\tconfig.endSeconds = config.end = m.timeToSeconds(descR[\"#end\"].val.trim());\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlet exec = m.ptnURI[\"www.youtube.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tlet vars = null;\r\n\t\t\t\tif (exec[2]) {\r\n\t\t\t\t\tvars = m.getSearchVars(exec[2]);\r\n\t\t\t\t}\r\n\t\t\t\tlet v = null;\r\n\t\t\t\tlet list = null;\r\n\t\t\t\tif (exec[1]) {\r\n\t\t\t\t\tv = exec[1];\r\n\t\t\t\t}\r\n\t\t\t\tif (vars?.v?.val) {\r\n\t\t\t\t\tv = vars.v.val;\r\n\t\t\t\t}\r\n\t\t\t\tif (vars?.list?.val) {\r\n\t\t\t\t\tlist = vars?.list?.val;\r\n\t\t\t\t}\r\n\t\t\t\tif (list) {\r\n\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\thtml: (toA ? `https://www.youtube.com/watch?list=${list}
` : \"\") + m.YTiframe(v, inListPlay, config, list),\r\n\t\t\t\t\t\tfrom: \"youtube-list\",\r\n\t\t\t\t\t\tlist,\r\n\t\t\t\t\t\tconfig,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif (v) {\r\n\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\thtml: (toA ? `https://www.youtube.com/watch?v=${v}${config.start ? `&start=${config.start}` : \"\"}${config.end ? `&end=${config.end}` : \"\"}${list ? `&list=${list}` : \"\"}
` : \"\") + m.YTiframe(v, inListPlay, config),\r\n\t\t\t\t\t\tfrom: \"youtube\",\r\n\t\t\t\t\t\tvideoId: v,\r\n\t\t\t\t\t\tlist,\r\n\t\t\t\t\t\tconfig,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\texec = m.ptnURI[\"youtu.be\"].regEx0.exec(uriRest);\r\n\t\t\t\tif (exec !== null) {\r\n\t\t\t\t\tlet vars = null;\r\n\t\t\t\t\tif (exec[2]) {\r\n\t\t\t\t\t\tvars = m.getSearchVars(exec[2]);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet v = null;\r\n\t\t\t\t\tlet list = null;\r\n\t\t\t\t\tif (exec[1]) {\r\n\t\t\t\t\t\tv = exec[1];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (vars?.v?.val) {\r\n\t\t\t\t\t\tv = vars.v.val;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (vars?.list?.val) {\r\n\t\t\t\t\t\tlist = vars.list.val;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (list) {\r\n\t\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\t\thtml: (toA ? `https://www.youtube.com/watch?list=${list}
` : \"\") + m.YTiframe(v, inListPlay, config, list),\r\n\t\t\t\t\t\t\tfrom: \"youtube-list\",\r\n\t\t\t\t\t\t\tlist,\r\n\t\t\t\t\t\t\tconfig,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\thtml: (toA ? `https://www.youtube.com/watch?v=${v}${config.start ? `&start=${config.start}` : \"\"}${config.end ? `&end=${config.end}` : \"\"}${list ? `&list=${list}` : \"\"}
` : \"\") + m.YTiframe(v, inListPlay, config),\r\n\t\t\t\t\t\tfrom: \"youtube\",\r\n\t\t\t\t\t\tvideoId: v,\r\n\t\t\t\t\t\tlist,\r\n\t\t\t\t\t\tconfig,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\texec = m.ptnURI[\"www.youtube.com\"].regEx1.exec(uriRest);\r\n\t\t\t\t\tif (exec !== null) {\r\n\t\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\t\thtml: toA ? `https://www.youtube.com/${exec[0]}` : ``,\r\n\t\t\t\t\t\t\tfrom: \"-youtube-link\",\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treject(false);\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"docs.google.com\"] = [] as any;\r\n\tptnURI.regEx = /^spreadsheets\\/d\\/e\\/([\\w\\-\\_]+)/i;\r\n\tptnURI.regEx1 = /^spreadsheets\\/d\\/([\\w\\-\\_]+)/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"docs.google.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\treturn resolve({\r\n\t\t\t\t\thtml: (toA ? `https://docs.google.com/spreadsheets/d/e/${exec[1]}/pubhtml
` : \"\") + m.rC(``),\r\n\t\t\t\t\tfrom: \"docs-google\",\r\n\t\t\t\t\tdocId: exec[1],\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tlet exec = m.ptnURI[\"docs.google.com\"].regEx1.exec(uriRest);\r\n\t\t\t\tif (exec !== null) {\r\n\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\thtml: toA ? `https://docs.google.com/${uriRest}` : ``,\r\n\t\t\t\t\t\tfrom: \"-docs-google\",\r\n\t\t\t\t\t\tdocId: exec[1],\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"instagram.com\"] = m.ptnURI[\"www.instagram.com\"] = [] as any;\r\n\tptnURI.regEx = /^(?:p|tv|reel)\\/([\\w\\-\\_]+)/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"instagram.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tresolve({\r\n\t\t\t\t\thtml: (toA ? `https://www.instagram.com/p/${exec[1]}/
` : \"\") + m.rC(`
`, \"instagram\", null, true),\r\n\t\t\t\t\tfrom: \"instagram\",\r\n\t\t\t\t\timgId: exec[1],\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"imgur.com\"] = m.ptnURI[\"www.imgur.com\"] = [] as any;\r\n\tptnURI.regEx = /^a\\/([\\w\\-\\_]+)/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"imgur.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tresolve({\r\n\t\t\t\t\thtml: (toA ? `https://imgur.com/a/${exec[1]}
` : \"\") + m.rC(`
`, \"imgur\", null, true),\r\n\t\t\t\t\tfrom: \"imgur\",\r\n\t\t\t\t\timgId: exec[1],\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"www.tiktok.com\"] = [] as any;\r\n\tptnURI.regEx = /^@(\\S+)\\/video\\/([0-9]+)/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"www.tiktok.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tresolve({\r\n\t\t\t\t\thtml: (toA ? `https://www.tiktok.com/@${exec[1]}/video/${exec[2]}
` : \"\") + m.rC(`
`, \"tiktok\", null, true),\r\n\t\t\t\t\tfrom: \"tiktok\",\r\n\t\t\t\t\tuserId: exec[1],\r\n\t\t\t\t\tvideoId: exec[2],\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"vt.tiktok.com\"] = [] as any;\r\n\tptnURI.regEx = /^(\\w+)\\//i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"vt.tiktok.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tlet shortURI = `https://vt.tiktok.com/${exec[1]}/`;\r\n\t\t\t\t$.ajax({\r\n\t\t\t\t\ttype: \"POST\",\r\n\t\t\t\t\turl: \"https://recoeve.net/BlogStat/getFullURI\",\r\n\t\t\t\t\tdata: shortURI,\r\n\t\t\t\t\tdataType: \"text\",\r\n\t\t\t\t})\r\n\t\t\t\t\t.fail(function (resp) {\r\n\t\t\t\t\t\tresolve(resp);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.done(async function (resp) {\r\n\t\t\t\t\t\tlet decomposedURI: DecomposedURI = m.decomposeURI(resp);\r\n\t\t\t\t\t\tif (decomposedURI.uriHost === \"www.tiktok.com\") {\r\n\t\t\t\t\t\t\tlet uriRendered: RenderResult & { newURI?: string } = await m.uriRendering(resp, toA, inListPlay);\r\n\t\t\t\t\t\t\t// * (uri, toA, inListPlay, descR)\r\n\t\t\t\t\t\t\turiRendered.newURI = resp;\r\n\t\t\t\t\t\t\tresolve({ ...uriRendered, ...decomposedURI });\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\t\thtml: toA ? `${shortURI}` : \"\",\r\n\t\t\t\t\t\t\t\tfrom: \"-tiktok-link\",\r\n\t\t\t\t\t\t\t\t...decomposedURI,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"serviceapi.rmcnmv.naver.com\"] = [] as any;\r\n\tptnURI.regEx = /^\\S+/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"serviceapi.rmcnmv.naver.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tresolve({\r\n\t\t\t\t\thtml: (toA ? `https://serviceapi.rmcnmv.naver.com/${exec[0]}
` : \"\") + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : null),\r\n\t\t\t\t\tfrom: \"naver\",\r\n\t\t\t\t\tvideoId: exec[0],\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"tv.naver.com\"] = [] as any;\r\n\tptnURI.regEx = /^(?:v|embed)\\/([0-9]+)/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"tv.naver.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tresolve({\r\n\t\t\t\t\thtml: (toA ? `https://tv.naver.com/v/${exec[1]}
` : \"\") + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : null),\r\n\t\t\t\t\tfrom: \"naver\",\r\n\t\t\t\t\tvideoId: exec[1],\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"weverse.io\"] = [] as any;\r\n\tptnURI.regEx = /^(\\S+)\\/artist\\/([0-9\\-]+)/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"weverse.io\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tresolve({\r\n\t\t\t\t\thtml: (toA ? `https://weverse.io/${exec[1]}/artist/${exec[2]}
` : \"\") + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : null),\r\n\t\t\t\t\tfrom: \"weverse\",\r\n\t\t\t\t\tsinger: exec[1],\r\n\t\t\t\t\tvideoId: exec[2],\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"tv.kakao.com\"] = m.ptnURI[\"entertain.daum.net\"] = [] as any;\r\n\tptnURI.regEx = /(?:v|cliplink)\\/([0-9]+)/i;\r\n\tptnURI.regEx1 = /video\\/([0-9]+)/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"tv.kakao.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\treturn resolve({\r\n\t\t\t\t\thtml: (toA ? `https://tv.kakao.com/v/${exec[1]}
` : \"\") + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : null),\r\n\t\t\t\t\tfrom: \"kakao\",\r\n\t\t\t\t\tvideoId: exec[1],\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\texec = m.ptnURI[\"entertain.daum.net\"].regEx1.exec(uriRest);\r\n\t\t\t\tif (exec !== null) {\r\n\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\thtml: (toA ? `https://tv.kakao.com/v/${exec[1]}
` : \"\") + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : null),\r\n\t\t\t\t\t\tfrom: \"kakao\",\r\n\t\t\t\t\t\tvideoId: exec[1],\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\treject(false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"tvpot.daum.net\"] = [] as any;\r\n\tptnURI.regEx = /^v\\/([\\w\\-\\_]+)/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"tvpot.daum.net\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\treturn resolve({\r\n\t\t\t\t\thtml: (toA ? `https://tvpot.daum.net/v/${exec[1]}
` : \"\") + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : null),\r\n\t\t\t\t\tfrom: \"daum\",\r\n\t\t\t\t\tvideoId: exec[1],\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"vimeo.com\"] = [] as any;\r\n\tptnURI.regEx = /^([0-9]+)/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"vimeo.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tresolve({\r\n\t\t\t\t\thtml: (toA ? `https://vimeo.com/${exec[1]}
` : \"\") + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : null),\r\n\t\t\t\t\tfrom: \"vimeo\",\r\n\t\t\t\t\tvideoId: exec[1],\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"www.dailymotion.com\"] = [] as any;\r\n\tptnURI.regEx = /video\\/(\\w+)/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"www.dailymotion.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tresolve({\r\n\t\t\t\t\thtml: (toA ? `https://www.dailymotion.com/video/${exec[1]}
` : \"\") + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : null),\r\n\t\t\t\t\tfrom: \"dailymotion\",\r\n\t\t\t\t\tvideoId: exec[1],\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"namu.wiki\"] = [] as any;\r\n\tptnURI.regEx = /w\\/(.*)/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"namu.wiki\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tlet pathname = exec[1].replace(/\\+/g, \"%20\").replace(/%2B/g, \"%20\");\r\n\t\t\t\tresolve({\r\n\t\t\t\t\thtml: `https://namu.wiki/w/${m.escapeOnlyTag(decodeURIComponent(pathname))}`,\r\n\t\t\t\t\tfrom: \"namu.wiki\",\r\n\t\t\t\t\tpathname,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"www.ted.com\"] = m.ptnURI[\"embed.ted.com\"] = [] as any;\r\n\tptnURI.regEx = /^talks\\/(\\S+)/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"www.ted.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\turiRest = uriRest.substring(6);\r\n\t\t\t\tlet k = uriRest.indexOf(\"?\");\r\n\t\t\t\tlet vars = null;\r\n\t\t\t\tif (k !== -1) {\r\n\t\t\t\t\tvars = m.getSearchVars(uriRest.substring(k));\r\n\t\t\t\t\turiRest = uriRest.substring(0, k);\r\n\t\t\t\t}\r\n\t\t\t\tlet v = uriRest;\r\n\t\t\t\tif (vars?.language) {\r\n\t\t\t\t\turiRest = \"lang/\" + vars.language.val + \"/\" + uriRest;\r\n\t\t\t\t}\r\n\t\t\t\tresolve({\r\n\t\t\t\t\thtml: (toA ? `https://www.ted.com/${exec[1]}
` : \"\") + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : null),\r\n\t\t\t\t\tfrom: \"ted\",\r\n\t\t\t\t\tvideoId: v,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"w.soundcloud.com\"] = [] as any;\r\n\tptnURI.regEx = /^player\\/(\\?\\S+)/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"w.soundcloud.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tlet vars = m.getSearchVars(exec[1]);\r\n\t\t\t\tlet lastPath = \"player/?\";\r\n\t\t\t\tfor (let i = 0; i < vars.length; i++) {\r\n\t\t\t\t\tif (vars[i].key === \"auto_play\") {\r\n\t\t\t\t\t\tlastPath += \"auto_play=false&\";\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlastPath += vars[i].key + \"=\" + vars[i].val + \"&\";\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn resolve({\r\n\t\t\t\t\thtml: (toA ? `https://w.soundcloud.com/${exec[1]}
` : \"\") + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed soundcloud\" : \"soundcloud\"),\r\n\t\t\t\t\tfrom: \"soundcloud\",\r\n\t\t\t\t\tvideoId: vars?.url?.val,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"gall.dcinside.com\"] = [] as any;\r\n\tptnURI.regEx = /\\/movie\\/share_movie(\\?\\S+)/i;\r\n\tptnURI.regEx1 = /\\/poll\\/vote(\\?\\S+)/i;\r\n\t// https://gall.dcinside.com/board/poll/vote?no=710233\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"gall.dcinside.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tlet vars = m.getSearchVars(exec[1]);\r\n\t\t\t\tlet v = vars.no?.val;\r\n\t\t\t\tif (v) {\r\n\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\thtml: (toA ? `https://gall.dcinside.com/board/movie/share_movie?no=${v}
` : \"\") + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : \"\"),\r\n\t\t\t\t\t\tfrom: \"dcinside\",\r\n\t\t\t\t\t\tvideoId: v,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\thtml: `https://gall.dcinside.com/${m.escapeOnlyTag(decodeURIComponent(uriRest))}`,\r\n\t\t\t\t\t\tfrom: \"dcinside\",\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\texec = m.ptnURI[\"gall.dcinside.com\"].regEx1.exec(uriRest);\r\n\t\t\t\tif (exec !== null) {\r\n\t\t\t\t\tlet vars = m.getSearchVars(exec[1]);\r\n\t\t\t\t\tlet no = vars.no?.val;\r\n\t\t\t\t\tif (no) {\r\n\t\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\t\thtml: (toA ? `https://gall.dcinside.com/board/poll/vote?no=${no}
` : \"\") + m.rC(``),\r\n\t\t\t\t\t\t\tfrom: \"dcinside\",\r\n\t\t\t\t\t\t\tvoteId: no,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treject(false);\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[\"v.qq.com\"] = [] as any;\r\n\tptnURI.regEx = /([\\w\\d]+)\\/([\\w\\d]+).html$/i;\r\n\tptnURI.toIframe = function (uriRest: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[\"v.qq.com\"].regEx.exec(uriRest);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tlet v = exec[2];\r\n\t\t\t\tif (v) {\r\n\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\thtml: (toA ? `https://v.qq.com/${uriRest}
` : \"\") + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : \"\"),\r\n\t\t\t\t\t\tfrom: \"qq\",\r\n\t\t\t\t\t\tvideoId: v,\r\n\t\t\t\t\t\tnewURI: `https://v.qq.com/${uriRest}`,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treject(false);\r\n\t\t});\r\n\t};\r\n\r\n\tm.ptnURI = [];\r\n\tptnURI = m.ptnURI[0] = [] as any;\r\n\tptnURI.regEx = /^(https?:\\/\\/[^\\s\\t\\n\\r\\\"\\'\\`\\<\\>\\{\\}\\[\\]]+\\.(?:jpg|jpeg|bmp|gif|png|webp|svg|tif))(?=$|\\?|\\s)/i;\r\n\tptnURI.toIframe = function (uri: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[0].regEx.exec(uri);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tresolve({\r\n\t\t\t\t\thtml: (toA ? `${m.escapeOnlyTag(decodeURIComponent(uri))}
` : \"\") + `
`,\r\n\t\t\t\t\tfrom: \"image\",\r\n\t\t\t\t\tsrc: exec[1],\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[1] = [] as any;\r\n\tptnURI.regEx = /^https?:\\/\\/[^\\s\\t\\n\\r\\\"\\'\\`\\<\\>\\{\\}\\[\\]]+\\.(?:mp4|ogg|webm|avif|avi)(?=$|\\?|\\s)/i;\r\n\tptnURI.toIframe = function (uri: string, inListPlay: boolean, toA: boolean, descR: DescR): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet config: YTiframeConfig = {};\r\n\t\t\tif (descR) {\r\n\t\t\t\tif (descR[\"#start\"]?.val) {\r\n\t\t\t\t\tconfig.start = m.timeToSeconds(descR[\"#start\"].val.trim());\r\n\t\t\t\t}\r\n\t\t\t\tif (descR[\"#end\"]?.val) {\r\n\t\t\t\t\tconfig.end = m.timeToSeconds(descR[\"#end\"].val.trim());\r\n\t\t\t\t}\r\n\t\t\t\tif (config.start || config.end) {\r\n\t\t\t\t\tconfig.hash = `${config.start ? `#t=${config.start}` : \"#t=0\"}${config.end ? `,${config.end}` : \"\"}`;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlet exec = m.ptnURI[1].regEx.exec(uri);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\treturn resolve({\r\n\t\t\t\t\thtml: (toA ? `${m.escapeOnlyTag(decodeURIComponent(`${uri}${config.hash ? config.hash : \"\"}`))}
` : \"\") + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : null),\r\n\t\t\t\t\tfrom: \"video\",\r\n\t\t\t\t\tsrc: exec[0],\r\n\t\t\t\t\tconfig,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[2] = [] as any;\r\n\tptnURI.regEx = /^https?:\\/\\/kr[\\d]+\\.sogirl\\.so(\\/[^\\s\\t\\n\\r\\\"\\'\\`\\<\\>\\{\\}\\[\\]]*)?/i;\r\n\tptnURI.regEx1 = /^https?:\\/\\/kr[\\d]+\\.sogirl\\.co(\\/[^\\s\\t\\n\\r\\\"\\'\\`\\<\\>\\{\\}\\[\\]]*)?/i;\r\n\tptnURI.toIframe = function (uri: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[2].regEx.exec(uri);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\treturn resolve({\r\n\t\t\t\t\thtml: `${m.escapeOnlyTag(decodeURIComponent(`https://kr78.sogirl.so${exec[1] ? exec[1] : \"\"}`))}`,\r\n\t\t\t\t\tnewURI: `https://kr78.sogirl.so${exec[1] ? exec[1] : \"\"}`,\r\n\t\t\t\t\tfrom: \"sogirl\",\r\n\t\t\t\t\tsrc: exec[1],\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\texec = m.ptnURI[2].regEx1.exec(uri);\r\n\t\t\t\tif (exec !== null) {\r\n\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\thtml: `${m.escapeOnlyTag(decodeURIComponent(`https://kr78.sogirl.so${exec[1] ? exec[1] : \"\"}`))}`,\r\n\t\t\t\t\t\tnewURI: `https://kr78.sogirl.so${exec[1] ? exec[1] : \"\"}`,\r\n\t\t\t\t\t\tfrom: \"sogirl\",\r\n\t\t\t\t\t\tsrc: exec[1],\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\treject(false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[3] = [] as any;\r\n\tptnURI.regEx = /^https?:\\/\\/kr[\\d]+\\.topgirl\\.co(\\/[^\\s\\t\\n\\r\\\"\\'\\`\\<\\>\\{\\}\\[\\]]*)?/i;\r\n\tptnURI.toIframe = function (uri: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[3].regEx.exec(uri);\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\tresolve({\r\n\t\t\t\t\thtml: `${m.escapeOnlyTag(decodeURIComponent(`https://kr37.topgirl.co${exec[1] ? exec[1] : \"\"}`))}`,\r\n\t\t\t\t\tnewURI: `https://kr37.topgirl.co${exec[1] ? exec[1] : \"\"}`,\r\n\t\t\t\t\tfrom: \"topgirl\",\r\n\t\t\t\t\tsrc: exec[1],\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\treject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tptnURI = m.ptnURI[4] = [] as any;\r\n\tptnURI.regEx = /^file:\\/\\/\\/([^\\s\\t\\n\\r\\\"\\'\\`\\<\\>\\{\\}\\[\\]]+\\.(?:jpg|jpeg|bmp|gif|png|webp|svg|tif))(?=$|\\?|\\s)/i;\r\n\tptnURI.regEx1 = /^file:\\/\\/\\/([^\\s\\t\\n\\r\\\"\\'\\`\\<\\>\\{\\}\\[\\]]+\\.(?:mp4|ogg|webm|avi))(?=$|\\?|\\s)/i;\r\n\tptnURI.regEx2 = /^file:\\/\\/\\/([^\\s\\t\\n\\r\\\"\\'\\`\\<\\>\\{\\}\\[\\]]+\\.(?:pdf|html|htm))(?=$|\\?|\\s)/i;\r\n\tptnURI.toIframe = function (uri: string, inListPlay: boolean, toA: boolean): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\tlet exec = m.ptnURI[4].regEx.exec(uri);\r\n\t\t\tlet href = null;\r\n\t\t\tif (exec !== null) {\r\n\t\t\t\thref = exec[1].replace(/\\+/g, \"%20\").replace(/%2B/g, \"%20\");\r\n\t\t\t\turi = uri.replace(/\\+/g, \"%20\").replace(/%2B/g, \"%20\");\r\n\t\t\t\treturn resolve({\r\n\t\t\t\t\thtml: `${m.escapeOnlyTag(decodeURIComponent(uri))}` + m.rC(`
`, inListPlay && m.fsToRs.fixed ? \"fixed eveElse\" : \"eveElse\"),\r\n\t\t\t\t\tfrom: \"file-image\",\r\n\t\t\t\t\tsrc: href,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\texec = m.ptnURI[4].regEx1.exec(uri);\r\n\t\t\t\tif (exec !== null) {\r\n\t\t\t\t\thref = exec[1].replace(/\\+/g, \"%20\").replace(/%2B/g, \"%20\");\r\n\t\t\t\t\turi = uri.replace(/\\+/g, \"%20\").replace(/%2B/g, \"%20\");\r\n\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\thtml: `${m.escapeOnlyTag(decodeURIComponent(uri))}
` + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : null),\r\n\t\t\t\t\t\tfrom: \"file-video\",\r\n\t\t\t\t\t\tsrc: href,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\texec = m.ptnURI[4].regEx2.exec(uri);\r\n\t\t\t\t\tif (exec !== null) {\r\n\t\t\t\t\t\thref = exec[1].replace(/\\+/g, \"%20\").replace(/%2B/g, \"%20\");\r\n\t\t\t\t\t\turi = uri.replace(/\\+/g, \"%20\").replace(/%2B/g, \"%20\");\r\n\t\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\t\thtml: `${m.escapeOnlyTag(decodeURIComponent(uri))}
` + m.rC(``, inListPlay && m.fsToRs.fixed ? \"fixed\" : null),\r\n\t\t\t\t\t\t\tfrom: \"file-pdf\",\r\n\t\t\t\t\t\t\tsrc: href,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn reject(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tm.getConciseURI = function (uri: string): Promise {\r\n\t\treturn new Promise(function (resolve, reject): void {\r\n\t\t\t$.ajax({\r\n\t\t\t\ttype: \"POST\",\r\n\t\t\t\turl: \"https://recoeve.net/reco/getConciseURI\",\r\n\t\t\t\tdata: uri.trim(),\r\n\t\t\t\tdataType: \"text\",\r\n\t\t\t})\r\n\t\t\t\t.fail(function (resp) {\r\n\t\t\t\t\treject(resp);\r\n\t\t\t\t})\r\n\t\t\t\t.done(function (resp) {\r\n\t\t\t\t\tresolve(resp);\r\n\t\t\t\t});\r\n\t\t});\r\n\t};\r\n\tm.ptnPureNumber = /^\\d+$/;\r\n\tm.formatURI = async function (uri: string, keepOriginal: boolean): Promise {\r\n\t\treturn new Promise(async function (resolve, reject): Promise {\r\n\t\t\tif (uri && uri.constructor === String) {\r\n\t\t\t\turi = uri.trim().replace(/[\\s\\t\\n]+/g, \" \");\r\n\t\t\t\tlet exec = m.ptnTag.exec(uri);\r\n\t\t\t\tif (exec !== null) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tlet $uri = $(uri);\r\n\t\t\t\t\t\tlet src = $uri.attr(\"src\");\r\n\t\t\t\t\t\tif (src) {\r\n\t\t\t\t\t\t\turi = src;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tsrc = $uri.find(\"[src]\").attr(\"src\");\r\n\t\t\t\t\t\t\tif (src) {\r\n\t\t\t\t\t\t\t\turi = src;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {\r\n\t\t\t\t\t\tconsole.log(err);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\texec = m.ptnPureNumber.exec(uri);\r\n\t\t\t\tif (exec !== null) {\r\n\t\t\t\t\turi = \"Number: \" + uri;\r\n\t\t\t\t}\r\n\t\t\t\tif (!keepOriginal && m.getUTF8Length(uri) > 255) {\r\n\t\t\t\t\treturn m.getConciseURI(uri).then((conciseURI: string) => resolve(m.unescapeHTML(conciseURI)));\r\n\t\t\t\t}\r\n\t\t\t\treturn resolve(m.unescapeHTML(uri).trim());\r\n\t\t\t}\r\n\t\t\treturn resolve(\"\");\r\n\t\t});\r\n\t};\r\n\tm.decomposeURI = function (uri: string): DecomposedURI {\r\n\t\turi = String(uri);\r\n\t\turi = uri.split(/[\\s\\t\\n\\r]+/)[0];\r\n\t\tconst res: DecomposedURI = {\r\n\t\t\turi,\r\n\t\t\tprotocol: null,\r\n\t\t\turiHost: null,\r\n\t\t\tpathname: null,\r\n\t\t\tsearch: null,\r\n\t\t\thash: null,\r\n\t\t}; // uriHost, pathname, search, hash\r\n\t\tif (uri.length > 4 && uri.substring(0, 4).toLowerCase() === \"http\") {\r\n\t\t\tlet k = 4;\r\n\t\t\tres.protocol = \"http:\";\r\n\t\t\tif (uri.charAt(k) == \"s\" || uri.charAt(k) == \"S\") {\r\n\t\t\t\tk++;\r\n\t\t\t\tres.protocol = \"https:\";\r\n\t\t\t}\r\n\t\t\tif (uri.startsWith(\"://\", k)) {\r\n\t\t\t\tk += 3;\r\n\t\t\t\tlet l = uri.indexOf(\"/\", k);\r\n\t\t\t\tif (l > 0) {\r\n\t\t\t\t\tres.uriHost = uri.substring(k, l);\r\n\t\t\t\t\tlet m = uri.indexOf(\"?\", l);\r\n\t\t\t\t\tif (m > 0) {\r\n\t\t\t\t\t\tres.pathname = uri.substring(l, m);\r\n\t\t\t\t\t\tlet n = uri.indexOf(\"#\", m);\r\n\t\t\t\t\t\tif (n > 0) {\r\n\t\t\t\t\t\t\tres.search = uri.substring(m, n);\r\n\t\t\t\t\t\t\tres.hash = uri.substring(n);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tres.search = uri.substring(m);\r\n\t\t\t\t\t\t\tres.hash = \"\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tres.search = \"\";\r\n\t\t\t\t\t\tlet n = uri.indexOf(\"#\", l);\r\n\t\t\t\t\t\tif (n > 0) {\r\n\t\t\t\t\t\t\tres.pathname = uri.substring(l, n);\r\n\t\t\t\t\t\t\tres.hash = uri.substring(n);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tres.pathname = uri.substring(l);\r\n\t\t\t\t\t\t\tres.hash = \"\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tres.pathname = \"\";\r\n\t\t\t\t\tlet m = uri.indexOf(\"?\", k);\r\n\t\t\t\t\tif (m > 0) {\r\n\t\t\t\t\t\tres.uriHost = uri.substring(k, m);\r\n\t\t\t\t\t\tlet n = uri.indexOf(\"#\", m);\r\n\t\t\t\t\t\tif (n > 0) {\r\n\t\t\t\t\t\t\tres.search = uri.substring(m, n);\r\n\t\t\t\t\t\t\tres.hash = uri.substring(n);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tres.search = uri.substring(m);\r\n\t\t\t\t\t\t\tres.hash = \"\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tres.search = \"\";\r\n\t\t\t\t\t\tlet n = uri.indexOf(\"#\", k);\r\n\t\t\t\t\t\tif (n > 0) {\r\n\t\t\t\t\t\t\tres.uriHost = uri.substring(k, n);\r\n\t\t\t\t\t\t\tres.hash = uri.substring(n);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tres.uriHost = uri.substring(k);\r\n\t\t\t\t\t\t\tres.hash = \"\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (res.uriHost) {\r\n\t\t\tres.uriHost = res.uriHost.toLowerCase();\r\n\t\t\tres.uriWithoutHash = res.protocol + \"//\" + res.uriHost + res.pathname + res.search;\r\n\t\t}\r\n\t\treturn res;\r\n\t};\r\n\tm.uriRendering = function (uri: string, toA: boolean, inListPlay: boolean, descR?: DescR): Promise {\r\n\t\treturn new Promise(async function (resolve, reject): Promise {\r\n\t\t\turi = uri.trim();\r\n\t\t\tlet decomposedURI: DecomposedURI;\r\n\t\t\tlet result: RenderResult;\r\n\t\t\tconst { uriHost, pathname, search, hash } = (decomposedURI = m.decomposeURI(uri));\r\n\t\t\tconst uriRest = (pathname ? pathname.substring(1) : \"\") + search;\r\n\t\t\tif (uriHost) {\r\n\t\t\t\tif (m.ptnURI[uriHost]) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tresult = await m.ptnURI[uriHost]?.toIframe(uriRest, inListPlay, toA, descR);\r\n\t\t\t\t\t\tif (result) {\r\n\t\t\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\t\t\t...result,\r\n\t\t\t\t\t\t\t\t...decomposedURI,\r\n\t\t\t\t\t\t\t\turi,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {}\r\n\t\t\t\t}\r\n\t\t\t\tfor (let i = 0; i < m.ptnURI.length; i += 1) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tresult = await m.ptnURI[i]?.toIframe(uri, inListPlay, toA, descR);\r\n\t\t\t\t\t\tif (Boolean(result)) {\r\n\t\t\t\t\t\t\treturn resolve({ ...result, ...decomposedURI, uri });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {}\r\n\t\t\t\t}\r\n\t\t\t\tif (toA) {\r\n\t\t\t\t\treturn resolve({\r\n\t\t\t\t\t\thtml: m.uriToA(uri),\r\n\t\t\t\t\t\tfrom: \"uriToA\",\r\n\t\t\t\t\t\t...decomposedURI,\r\n\t\t\t\t\t\turi,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn resolve({\r\n\t\t\t\thtml: m.escapeOnlyTag(decodeURIComponent(uri)),\r\n\t\t\t\tfrom: \"uri\",\r\n\t\t\t\t...decomposedURI,\r\n\t\t\t\turi,\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\tm.relatedRendering = function (str: string): Promise {\r\n\t\treturn new Promise(async function (resolve, reject): Promise {\r\n\t\t\tif (!str || typeof str !== \"string\") {\r\n\t\t\t\treturn resolve(\"\");\r\n\t\t\t}\r\n\t\t\tconst ptnURL = /https?:\\/\\/[^\\s\\t\\n\\r\\\"\\'\\`\\<\\>\\{\\}\\[\\]]+/gi;\r\n\t\t\tptnURL.lastIndex = 0;\r\n\t\t\tlet exec = ptnURL.exec(str);\r\n\t\t\tlet start = 0;\r\n\t\t\tlet res = \"\";\r\n\t\t\twhile (exec !== null) {\r\n\t\t\t\tres += m.escapeOnlyTag(str.substring(start, exec.index));\r\n\t\t\t\tlet uriRendered = await m.uriRendering(exec[0], true, false, {});\r\n\t\t\t\t// * (uri, toA, inListPlay, descR)\r\n\t\t\t\tres += uriRendered.html;\r\n\t\t\t\tstart = ptnURL.lastIndex;\r\n\t\t\t\tif (start <= 0 || start >= str.length) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\texec = ptnURL.exec(str);\r\n\t\t\t}\r\n\t\t\tif (exec === null && start >= 0 && start < str.length) {\r\n\t\t\t\tres += m.escapeOnlyTag(str.substring(start));\r\n\t\t\t}\r\n\t\t\tresolve(res);\r\n\t\t});\r\n\t};\r\n\r\n\t/*\t:: cookies.js :: Slightly edited by kipid at 2023-10-25.\r\n|*|\r\n|*|\tA complete cookies reader/writer framework with full unicode support.\r\n|*|\r\n|*|\thttps://developer.mozilla.org/en-US/docs/DOM/document.cookie\r\n|*|\r\n|*|\tThis framework is released under the GNU Public License, version 3 or later.\r\n|*|\thttps://www.gnu.org/licenses/gpl-3.0-standalone.html\r\n|*|\r\n|*|\tSyntaxes:\r\n|*|\t* docCookies.setItem(name, value[, end[, path[, domain[, secure]]]]) // end :: Number: max-age in seconds\r\n|*|\t* docCookies.getItem(name)\r\n|*|\t* docCookies.removeItem(name[, path], domain)\r\n|*|\t* docCookies.hasItem(name)\r\n|*|\t* docCookies.keys()\r\n*/\r\n\tm.expire = 365 * 24 * 60 * 60; // max-age in seconds.\r\n\tm.docCookies = {\r\n\t\thasItem: function (sKey: string): boolean {\r\n\t\t\treturn new RegExp(\"(?:^|;\\\\s*)\" + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") + \"\\\\s*\\\\=\").test(document.cookie);\r\n\t\t},\r\n\t\tgetItem: function (sKey: string): string | null {\r\n\t\t\treturn decodeURIComponent(document.cookie.replace(new RegExp(\"(?:(?:^|.*;)\\\\s*\" + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") + \"\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$\"), \"$1\")) || null;\r\n\t\t},\r\n\t\tremoveItem: function (sKey: string, sPath?: string | false, sDomain?: string | false, bSecure?: boolean): boolean {\r\n\t\t\tif (!sKey || /^(?:expires|max\\-age|path|domain|secure)$/i.test(sKey)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tdocument.cookie = encodeURIComponent(sKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 GMT\" + (sDomain ? \"; domain=\" + sDomain : \"\") + (sPath ? \"; path=\" + sPath : \"\") + (bSecure ? \"; secure\" : \"\");\r\n\t\t\treturn true;\r\n\t\t},\r\n\t\tsetItem: function (sKey: string, sValue: string, vEnd?: number | string | Date, sPath?: string | false, sDomain?: string | false, bSecure?: boolean): boolean {\r\n\t\t\tif (!sKey || /^(?:expires|max\\-age|path|domain|secure)$/i.test(sKey)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tlet sExpires = \"\";\r\n\t\t\tif (vEnd) {\r\n\t\t\t\tswitch (vEnd.constructor) {\r\n\t\t\t\t\tcase Number: {\r\n\t\t\t\t\t\tsExpires = vEnd === Infinity ? \"; expires=Fri, 31 Dec 9999 23:59:59 GMT\" : \"; max-age=\" + vEnd;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase String: {\r\n\t\t\t\t\t\tsExpires = \"; expires=\" + vEnd;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase Date: {\r\n\t\t\t\t\t\tsExpires = \"; expires=\" + (vEnd as Date).toUTCString();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tdocument.cookie = encodeURIComponent(sKey) + \"=\" + encodeURIComponent(sValue) + sExpires + (sDomain ? \"; domain=\" + sDomain : \"\") + (sPath ? \"; path=\" + sPath : \"\") + (bSecure ? \"; secure\" : \"\");\r\n\t\t\treturn true;\r\n\t\t},\r\n\t\tkeys: function (): string[] {\r\n\t\t\tlet aKeys = document.cookie.replace(/((?:^|\\s*;)[^\\=]+)(?=;|$)|^\\s*|\\s*(?:\\=[^;]*)?(?:\\1|$)/g, \"\").split(/\\s*(?:\\=[^;]*)?;\\s*/);\r\n\t\t\t// for (let nIdx=0;nIdxToggle a mess\r\n
\r\n
\r\n
* \uD64D\uBCF4/Promoting Recoeve.net (3S | Slow/Sexy/Sincere SNS)
\r\n
\r\n\uC720\uD29C\uBE0C \uC74C\uC545 MV \uB4E4\uC744 \uAD11\uACE0\uC5C6\uC774 \uBAA9\uB85D\uC7AC\uC0DD \uD574\uBCF4\uC138\uC694.
\r\n\uC811\uC18D\uD558\uC154\uC11C \uBCC4\uC810\uB9CC \uB4DC\uB808\uADF8 \uD558\uC2DC\uBA74 \uC790\uC2E0\uC758 \uD398\uC774\uC9C0\uC5D0 \uC800\uC7A5 \uB429\uB2C8\uB2E4.
\r\n\uADF8\uB9AC\uACE0 \uC790\uC2E0\uC758 \uD398\uC774\uC9C0\uB85C \uC774\uB3D9\uD55C \uB4A4 \uCD94\uCC9C \uBC1B\uAE30 (\uB2E8\uCD95\uD0A4 R) \uB97C \uB204\uB974\uC2DC\uBA74 \uC790\uC2E0\uC774 \uC810\uC218 \uBA54\uAE34\uAC83\uB4E4\uB85C \uC774\uC6C3 (\uC774\uC6C3\uBCF4\uAE30 \uB2E8\uCD95\uD0A4 B) \uC744 \uC790\uB3D9\uC73C\uB85C \uCC3E\uC544\uC8FC\uACE0 \uADF8 \uC774\uC6C3\uB4E4\uB85C\uBD80\uD130 \uCD94\uCC9C\uC744 \uBC1B\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
\r\n
\r\nCome here ([Music/Break]--Pop of kipid's Recoeve.net) and just drag stars/points.
\r\nBased on your points on URIs (musics), you will be connected to your neighbors (See neighbors: shortkey 'B') of your kind. And you will get recoms (recommendations: shortkey 'R') from them, and also give recoms to them.\r\n
\r\n
\r\n\uD3C9\uAC00\uC640 \uAE30\uB85D: \uC6F9\uC0AC\uC774\uD2B8\uC5D0\uC11C \uBCF8 \uAE30\uC0AC, \uB274\uC2A4, \uC601\uC0C1, \uC74C\uC545 \uB4F1\uC744 \uAE30\uB85D\uD558\uACE0 \uD3C9\uAC00\uD558\uC138\uC694. \uC774 \uC815\uBCF4\uB294 \uCD94\uCC9C \uC54C\uACE0\uB9AC\uC998\uC744 \uD1B5\uD574 \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uB9DE\uCDA4\uD615 \uCD94\uCC9C\uC744 \uC81C\uACF5\uD558\uB294 \uB370 \uC0AC\uC6A9\uB429\uB2C8\uB2E4. \uC989, \uB2F9\uC2E0\uC774 \uC88B\uC544\uD558\uB294 \uC720\uD615\uC758 \uCF58\uD150\uCE20\uB97C \uB354 \uB9CE\uC774 \uBC1C\uACAC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
\r\n
\r\nEvaluate and Rate Content: As you explore content on the platform, you can evaluate and rate it based on your preferences and interests. This could involve liking, rating, or commenting on articles, posts, or other types of content.
\r\n
\r\nConnect with Like-Minded Users: The platform likely has features for connecting with other users who share your interests. You might follow or connect with these users to build your network.\r\n
\r\n\r\n
Recoeve.net Manual collection | \uC0AC\uC6A9\uBC29\uBC95 \uBAA8\uC74C\uC9D1: [Recoeve]--Manual/\uC124\uBA85\uC11C of kipid's Recoeve.net
\r\n\r\n
\r\n
Toggle a mess
\r\n
`;\r\n\t};\r\n\r\n\t// logPrint function.\r\n\tm.$log = $(\"#docuK-log\");\r\n\tm.$log.addClass(\"fixed\");\r\n\tm.$log.before(`
\u2716
`);\r\n\tm.$logAll = $(\"#docuK-log, .docuK-log.exit\");\r\n\tm.logPrint = function (str: string): void {\r\n\t\tm.$log.append(str);\r\n\t\tm.$log.scrollTop(m.$log[0].scrollHeight);\r\n\t};\r\n\tm.logPrint(`m.logPrint() is working!`);\r\n\tm.$log.after(`
\r\n
Go: Fuzzy search
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\u2716
\r\n
\r\nout focus`);\r\n\r\n\twindow.$out_focus = $(\"#out-focus\");\r\n\twindow.$fuzzy_search_container = $(\"#fuzzy-search-container\");\r\n\twindow.$fuzzy_search_container_move = $(\"#fuzzy-search-container>.move\");\r\n\twindow.$fuzzy_search = $(\"#fuzzy-search\");\r\n\twindow.$fuzzy_search_list = $(\"#fuzzy-search-list\");\r\n\r\n\twindow.$fuzzy_search_container_move.on(\"mousedown.move touchstart.move\", function (e) {\r\n\t\tlet touch0 = e.type === \"touchstart\" ? (e as any).originalEvent.touches[0] : e;\r\n\t\tlet relativeX = touch0.clientX - Math.round(window.$fuzzy_search_container_move.offset().left) + m.$window.scrollLeft();\r\n\t\tlet relativeY = touch0.clientY - Math.round(window.$fuzzy_search_container_move.offset().top) + m.$window.scrollTop();\r\n\t\tm.$html.on(\"mousemove.move touchmove.move\", function (e) {\r\n\t\t\twindow.getSelection().removeAllRanges();\r\n\t\t\te.preventDefault();\r\n\t\t\te.stopPropagation();\r\n\t\t\tlet touch0 = e.type === \"touchmove\" ? (e as any).originalEvent.touches[0] : e;\r\n\t\t\twindow.$fuzzy_search_container.css({\r\n\t\t\t\tleft: touch0.clientX - relativeX,\r\n\t\t\t\ttop: touch0.clientY - relativeY,\r\n\t\t\t});\r\n\t\t\tm.$html.on(\"mouseup.move touchend.move\", function () {\r\n\t\t\t\tm.$html.off(\"mouseup.move touchend.move mousemove.move touchmove.move\");\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\r\n\t$(\"#fuzzy-search-container>.reset\").on(\"click.reset\", function (e) {\r\n\t\t(window.$fuzzy_search as JQuery)[0].value = \"\";\r\n\t\t(window.$fuzzy_search as JQuery).focus();\r\n\t\t(window.$fuzzy_search as JQuery).trigger(\"keyup.fs\");\r\n\t});\r\n\r\n\t// Fuzzy Search\r\n\t////////////////////////////////////////////////////\r\n\t// Hangul (Korean) split and map to English\r\n\t// KE : Korean Expanded\r\n\t////////////////////////////////////////////////////\r\n\tm.jamoKE = [\"\u3131\", \"\u3131\u3131\", \"\u3131\u3145\", \"\u3134\", \"\u3134\u3148\", \"\u3134\u314E\", \"\u3137\", \"\u3137\u3137\", \"\u3139\", \"\u3139\u3131\", \"\u3139\u3141\", \"\u3139\u3142\", \"\u3139\u3145\", \"\u3139\u314C\", \"\u3139\u314D\", \"\u3139\u314E\", \"\u3141\", \"\u3142\", \"\u3142\u3142\", \"\u3142\u3145\", \"\u3145\", \"\u3145\u3145\", \"\u3147\", \"\u3148\", \"\u3148\u3148\", \"\u314A\", \"\u314B\", \"\u314C\", \"\u314D\", \"\u314E\", \"\u314F\", \"\u3150\", \"\u3151\", \"\u3152\", \"\u3153\", \"\u3154\", \"\u3155\", \"\u3156\", \"\u3157\", \"\u3157\u314F\", \"\u3157\u3150\", \"\u3157\u3163\", \"\u315B\", \"\u315C\", \"\u315C\u3153\", \"\u315C\u3154\", \"\u315C\u3163\", \"\u3160\", \"\u3161\", \"\u3161\u3163\", \"\u3163\"];\r\n\tm.jamo = [\"\u3131\", \"\u3132\", \"\u3133\", \"\u3134\", \"\u3135\", \"\u3136\", \"\u3137\", \"\u3138\", \"\u3139\", \"\u313A\", \"\u313B\", \"\u313C\", \"\u313D\", \"\u313E\", \"\u313F\", \"\u3140\", \"\u3141\", \"\u3142\", \"\u3143\", \"\u3144\", \"\u3145\", \"\u3146\", \"\u3147\", \"\u3148\", \"\u3149\", \"\u314A\", \"\u314B\", \"\u314C\", \"\u314D\", \"\u314E\", \"\u314F\", \"\u3150\", \"\u3151\", \"\u3152\", \"\u3153\", \"\u3154\", \"\u3155\", \"\u3156\", \"\u3157\", \"\u3158\", \"\u3159\", \"\u315A\", \"\u315B\", \"\u315C\", \"\u315D\", \"\u315E\", \"\u315F\", \"\u3160\", \"\u3161\", \"\u3162\", \"\u3163\"];\r\n\r\n\tm.mapKE = {\r\n\t\tq: \"\u3142\",\r\n\t\tQ: \"\u3143\",\r\n\t\tw: \"\u3148\",\r\n\t\tW: \"\u3149\",\r\n\t\te: \"\u3137\",\r\n\t\tE: \"\u3138\",\r\n\t\tr: \"\u3131\",\r\n\t\tR: \"\u3132\",\r\n\t\tt: \"\u3145\",\r\n\t\tT: \"\u3146\",\r\n\t\ty: \"\u315B\",\r\n\t\tY: \"\u315B\",\r\n\t\tu: \"\u3155\",\r\n\t\tU: \"\u3155\",\r\n\t\ti: \"\u3151\",\r\n\t\tI: \"\u3151\",\r\n\t\to: \"\u3150\",\r\n\t\tO: \"\u3152\",\r\n\t\tp: \"\u3154\",\r\n\t\tP: \"\u3156\",\r\n\t\ta: \"\u3141\",\r\n\t\tA: \"\u3141\",\r\n\t\ts: \"\u3134\",\r\n\t\tS: \"\u3134\",\r\n\t\td: \"\u3147\",\r\n\t\tD: \"\u3147\",\r\n\t\tf: \"\u3139\",\r\n\t\tF: \"\u3139\",\r\n\t\tg: \"\u314E\",\r\n\t\tG: \"\u314E\",\r\n\t\th: \"\u3157\",\r\n\t\tH: \"\u3157\",\r\n\t\tj: \"\u3153\",\r\n\t\tJ: \"\u3153\",\r\n\t\tk: \"\u314F\",\r\n\t\tK: \"\u314F\",\r\n\t\tl: \"\u3163\",\r\n\t\tL: \"\u3163\",\r\n\t\tz: \"\u314B\",\r\n\t\tZ: \"\u314B\",\r\n\t\tx: \"\u314C\",\r\n\t\tX: \"\u314C\",\r\n\t\tc: \"\u314A\",\r\n\t\tC: \"\u314A\",\r\n\t\tv: \"\u314D\",\r\n\t\tV: \"\u314D\",\r\n\t\tb: \"\u3160\",\r\n\t\tB: \"\u3160\",\r\n\t\tn: \"\u315C\",\r\n\t\tN: \"\u315C\",\r\n\t\tm: \"\u3161\",\r\n\t\tM: \"\u3161\",\r\n\t};\r\n\tfor (let p in m.mapKE) {\r\n\t\tm.mapKE[m.mapKE[p]] = p; // Add reversed mapping.\r\n\t}\r\n\r\n\tm.rChoKE = [\"\u3131\", \"\u3131\u3131\", \"\u3134\", \"\u3137\", \"\u3137\u3137\", \"\u3139\", \"\u3141\", \"\u3142\", \"\u3142\u3142\", \"\u3145\", \"\u3145\u3145\", \"\u3147\", \"\u3148\", \"\u3148\u3148\", \"\u314A\", \"\u314B\", \"\u314C\", \"\u314D\", \"\u314E\"];\r\n\tm.rCho = [\"\u3131\", \"\u3132\", \"\u3134\", \"\u3137\", \"\u3138\", \"\u3139\", \"\u3141\", \"\u3142\", \"\u3143\", \"\u3145\", \"\u3146\", \"\u3147\", \"\u3148\", \"\u3149\", \"\u314A\", \"\u314B\", \"\u314C\", \"\u314D\", \"\u314E\"];\r\n\r\n\tm.rJungKE = [\"\u314F\", \"\u3150\", \"\u3151\", \"\u3152\", \"\u3153\", \"\u3154\", \"\u3155\", \"\u3156\", \"\u3157\", \"\u3157\u314F\", \"\u3157\u3150\", \"\u3157\u3163\", \"\u315B\", \"\u315C\", \"\u315C\u3153\", \"\u315C\u3154\", \"\u315C\u3163\", \"\u3160\", \"\u3161\", \"\u3161\u3163\", \"\u3163\"];\r\n\tm.rJung = [\"\u314F\", \"\u3150\", \"\u3151\", \"\u3152\", \"\u3153\", \"\u3154\", \"\u3155\", \"\u3156\", \"\u3157\", \"\u3158\", \"\u3159\", \"\u315A\", \"\u315B\", \"\u315C\", \"\u315D\", \"\u315E\", \"\u315F\", \"\u3160\", \"\u3161\", \"\u3162\", \"\u3163\"];\r\n\r\n\tm.rJongKE = [\"\", \"\u3131\", \"\u3131\u3131\", \"\u3131\u3145\", \"\u3134\", \"\u3134\u3148\", \"\u3134\u314E\", \"\u3137\", \"\u3139\", \"\u3139\u3131\", \"\u3139\u3141\", \"\u3139\u3142\", \"\u3139\u3145\", \"\u3139\u314C\", \"\u3139\u314D\", \"\u3139\u314E\", \"\u3141\", \"\u3142\", \"\u3142\u3145\", \"\u3145\", \"\u3145\u3145\", \"\u3147\", \"\u3148\", \"\u314A\", \"\u314B\", \"\u314C\", \"\u314D\", \"\u314E\"];\r\n\tm.rJong = [\"\", \"\u3131\", \"\u3132\", \"\u3133\", \"\u3134\", \"\u3135\", \"\u3136\", \"\u3137\", \"\u3139\", \"\u313A\", \"\u313B\", \"\u313C\", \"\u313D\", \"\u313E\", \"\u313F\", \"\u3140\", \"\u3141\", \"\u3142\", \"\u3144\", \"\u3145\", \"\u3146\", \"\u3147\", \"\u3148\", \"\u314A\", \"\u314B\", \"\u314C\", \"\u314D\", \"\u314E\"];\r\n\r\n\tm.splitHangul = function (str: string): SplitHangul {\r\n\t\tlet res: SplitHangul = {\r\n\t\t\tarray: [],\r\n\t\t\toriginalStr: str,\r\n\t\t\tsplitted3: \"\",\r\n\t\t\tsplitted: \"\",\r\n\t\t\tpCho: [], // position of word-start or \uCD08\uC131\r\n\t\t};\r\n\t\tlet p = 0;\r\n\t\tres.pCho[p] = true;\r\n\t\tlet cho: number, jung: number, jong: number;\r\n\t\tfor (let i = 0; i < str.length; i++) {\r\n\t\t\tlet c: string = str.charAt(i);\r\n\t\t\tlet n: number = str.charCodeAt(i);\r\n\t\t\tif (n >= 0x3131 && n <= 0x3163) {\r\n\t\t\t\tn -= 0x3131;\r\n\t\t\t\tres.array[i] = { char: c, splitted3: c, splitted: m.jamoKE[n] };\r\n\t\t\t\tres.pCho[p] = true;\r\n\t\t\t} else if (n >= 0xac00 && n <= 0xd7a3) {\r\n\t\t\t\tn -= 0xac00;\r\n\t\t\t\tjong = n % 28;\r\n\t\t\t\tjung = ((n - jong) / 28) % 21;\r\n\t\t\t\tcho = ((n - jong) / 28 - jung) / 21;\r\n\t\t\t\tres.array[i] = {\r\n\t\t\t\t\tchar: c,\r\n\t\t\t\t\tsplitted3: m.rCho[cho] + m.rJung[jung] + m.rJong[jong],\r\n\t\t\t\t\tsplitted: m.rChoKE[cho] + m.rJungKE[jung] + m.rJongKE[jong],\r\n\t\t\t\t};\r\n\t\t\t\tres.pCho[p] = true;\r\n\t\t\t} else {\r\n\t\t\t\tres.array[i] = { char: c, splitted3: c, splitted: c };\r\n\t\t\t\tif (i > 0 && /[^a-zA-Z0-9]$/.test(res.array[i - 1].splitted) && /[a-zA-Z0-9]/.test(c)) {\r\n\t\t\t\t\tres.pCho[p] = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tp += res.array[i].splitted.length;\r\n\t\t\tres.splitted3 += res.array[i].splitted3;\r\n\t\t\tres.splitted += res.array[i].splitted;\r\n\t\t}\r\n\t\treturn res;\r\n\t};\r\n\r\n\t////////////////////////////////////////////////////\r\n\t// Fuzzy search prepare\r\n\t////////////////////////////////////////////////////\r\n\tm.fsLength = 300;\r\n\tm.fsGo = {\r\n\t\tarray: [{ ptnSH: m.splitHangul(\"$!@#\") }, { ptnSH: m.splitHangul(\"$!@#\") }],\r\n\t\tfullList: [],\r\n\t\t$fs: window.$fuzzy_search as JQuery,\r\n\t\t$fsl: window.$fuzzy_search_list,\r\n\t\t$fsLis: window.$fuzzy_search_list.find(\".list-item\"),\r\n\t\tshuffled: false,\r\n\t};\r\n\tm.quote = function (str: string): string {\r\n\t\treturn str.replace(/[.?*+^$[\\]\\\\{}()|-]/g, \"\\\\$&\").replace(/\\s/g, \"[\\\\s\\\\S]\");\r\n\t};\r\n\tm.spaceRegExpStr = new RegExp(m.quote(\" \"), \"ig\").toString();\r\n\tm.arrayRegExs = function (ptnSH: SplitHangul): RegExp[] {\r\n\t\tlet str = ptnSH.splitted;\r\n\t\tlet res: RegExp[] = [];\r\n\t\tfor (let i = 0; i < str.length; i++) {\r\n\t\t\tlet c: string = str.charAt(i);\r\n\t\t\tlet mapKE: string | undefined = m.mapKE[c];\r\n\t\t\tif (mapKE) {\r\n\t\t\t\tres.push(new RegExp(\"[\" + c + mapKE + \"]\", \"ig\"));\r\n\t\t\t} else {\r\n\t\t\t\tres.push(new RegExp(m.quote(c), \"ig\"));\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn res;\r\n\t};\r\n\tm.highlightStrFromIndices = function (strSplitted: SplitHangul, indices: { start: number; end: number }[]): string {\r\n\t\tlet res = \"\";\r\n\t\tfor (let i = 0, j = 1, k = 0, p1 = 0, p2 = 0; j <= indices.length; i = j, j++) {\r\n\t\t\twhile (j < indices.length && indices[j - 1].end === indices[j].start) {\r\n\t\t\t\tj++;\r\n\t\t\t}\r\n\t\t\tfor (; k < strSplitted.array.length; k++) {\r\n\t\t\t\tp1 = p2;\r\n\t\t\t\tp2 = p1 + strSplitted.array[k].splitted.length;\r\n\t\t\t\tif (p2 <= indices[i].start) {\r\n\t\t\t\t\tstrSplitted.array[k].matched = false;\r\n\t\t\t\t} else if (p1 < indices[j - 1].end) {\r\n\t\t\t\t\tstrSplitted.array[k].matched = true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (j === indices.length) {\r\n\t\t\t\t\t\tfor (; k < strSplitted.array.length; k++) {\r\n\t\t\t\t\t\t\tstrSplitted.array[k].matched = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tp2 = p1;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tfor (let i = 0; i < strSplitted.array.length; ) {\r\n\t\t\tif (strSplitted.array[i].matched) {\r\n\t\t\t\tres += '';\r\n\t\t\t\twhile (i < strSplitted.array.length && strSplitted.array[i].matched) {\r\n\t\t\t\t\tres += m.escapeOnlyTag(strSplitted.array[i].char);\r\n\t\t\t\t\ti++;\r\n\t\t\t\t}\r\n\t\t\t\tres += \"\";\r\n\t\t\t} else {\r\n\t\t\t\twhile (i < strSplitted.array.length && !strSplitted.array[i].matched) {\r\n\t\t\t\t\tres += m.escapeOnlyTag(strSplitted.array[i].char);\r\n\t\t\t\t\ti++;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn res;\r\n\t};\r\n\tm.matchScoreFromIndices = function (strSH: SplitHangul, ptnSH: SplitHangul, indices: { start: number; end: number }[]): number {\r\n\t\tlet res = 0;\r\n\t\tfor (let i = 0; i < indices.length; i++) {\r\n\t\t\tif (strSH.pCho[indices[i].start]) res += 15;\r\n\t\t}\r\n\t\tfor (let i = 1; i < indices.length; i++) {\r\n\t\t\tlet diff = indices[i].start - indices[i - 1].start;\r\n\t\t\tif (diff < 5) res += 8 * (5 - diff);\r\n\t\t}\r\n\t\treturn res;\r\n\t};\r\n\tm.fuzzySearch = function (ptnSH: SplitHangul, fs: FuzzySearch): FuzzySearchResult {\r\n\t\tif (ptnSH.splitted === fs.array[0].ptnSH.splitted) {\r\n\t\t\treturn fs.array[0];\r\n\t\t}\r\n\t\tif (ptnSH.splitted.indexOf(fs.array[0].ptnSH.splitted) >= 0) {\r\n\t\t\tfs.array[1] = fs.array[0];\r\n\t\t} else if (fs.array[1] && ptnSH.splitted.indexOf(fs.array[1].ptnSH.splitted) >= 0) {\r\n\t\t\tif (ptnSH.splitted === fs.array[1].ptnSH.splitted) {\r\n\t\t\t\treturn fs.array[1];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfs.array[1] = null;\r\n\t\t}\r\n\t\tlet list = [];\r\n\t\tif (fs.array[1] && fs.array[1].sorted) {\r\n\t\t\tlet sorted = fs.array[1].sorted;\r\n\t\t\tfor (let i = 0; i < sorted.length; i++) {\r\n\t\t\t\tlist.push(fs.fullList[fs.array[1].array[sorted[i]].i]);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (fs.shuffled) {\r\n\t\t\t\tlet shuffled = fs.shuffled;\r\n\t\t\t\tfor (let i = 0; i < shuffled.length; i++) {\r\n\t\t\t\t\tlist.push(fs.fullList[shuffled[i].i]);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tlet l = fs.fullList.length;\r\n\t\t\t\tfor (let i = 0; i < l; i++) {\r\n\t\t\t\t\tlist.push(fs.fullList[l - 1 - i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tfs.array[0] = { ptnSH, array: [] };\r\n\t\tlet regExs = m.arrayRegExs(ptnSH);\r\n\t\tlet regExsReversed = [];\r\n\t\tfor (let i = 0; i < regExs.length; i++) {\r\n\t\t\tregExsReversed[i] = regExs[regExs.length - 1 - i];\r\n\t\t}\r\n\t\tfor (let i = 0; i < list.length; i++) {\r\n\t\t\tlet listI = list[i];\r\n\t\t\tif (regExs.length > 0) {\r\n\t\t\t\tlet txt = listI.txt;\r\n\t\t\t\tlet txtS = txt.splitted;\r\n\t\t\t\tlet txtSReversed = txtS.split(\"\").reverse().join(\"\");\r\n\t\t\t\tregExs[0].lastIndex = 0;\r\n\t\t\t\tlet exec = regExs[0].exec(txtS);\r\n\t\t\t\tlet matched = exec !== null;\r\n\t\t\t\tlet indices = [];\r\n\t\t\t\tif (matched) {\r\n\t\t\t\t\tindices[0] = { start: exec.index, end: regExs[0].lastIndex };\r\n\t\t\t\t}\r\n\t\t\t\tfor (let j = 1; matched && j < regExs.length; j++) {\r\n\t\t\t\t\tregExs[j].lastIndex = regExs[j - 1].lastIndex;\r\n\t\t\t\t\texec = regExs[j].exec(txtS);\r\n\t\t\t\t\tmatched = exec !== null;\r\n\t\t\t\t\tif (matched) {\r\n\t\t\t\t\t\tindices[j] = { start: exec.index, end: regExs[j].lastIndex };\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tlet maxMatchScore = 0;\r\n\t\t\t\tif (matched) {\r\n\t\t\t\t\tmaxMatchScore = m.matchScoreFromIndices(txt, ptnSH, indices);\r\n\t\t\t\t\tlet indicesMMS = []; // indices of max match score\r\n\t\t\t\t\tfor (let p = 0; p < indices.length; p++) {\r\n\t\t\t\t\t\tindicesMMS[p] = indices[p]; // hard copy of indices\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (txt.array.length < m.fsLength) {\r\n\t\t\t\t\t\tfor (let k = indices.length - 1; k >= 0; ) {\r\n\t\t\t\t\t\t\tif (regExs[k].toString() === m.spaceRegExpStr) {\r\n\t\t\t\t\t\t\t\tk--;\r\n\t\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tregExs[k].lastIndex = indices[k].start + 1;\r\n\t\t\t\t\t\t\texec = regExs[k].exec(txtS);\r\n\t\t\t\t\t\t\tmatched = exec !== null;\r\n\t\t\t\t\t\t\tif (matched) {\r\n\t\t\t\t\t\t\t\tindices[k] = { start: exec.index, end: regExs[k].lastIndex };\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tfor (let j = k + 1; matched && j < regExs.length; j++) {\r\n\t\t\t\t\t\t\t\tregExs[j].lastIndex = regExs[j - 1].lastIndex;\r\n\t\t\t\t\t\t\t\texec = regExs[j].exec(txtS);\r\n\t\t\t\t\t\t\t\tmatched = exec !== null;\r\n\t\t\t\t\t\t\t\tif (matched) {\r\n\t\t\t\t\t\t\t\t\tindices[j] = { start: exec.index, end: regExs[j].lastIndex };\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (matched) {\r\n\t\t\t\t\t\t\t\tlet matchScore = m.matchScoreFromIndices(txt, ptnSH, indices);\r\n\t\t\t\t\t\t\t\tif (matchScore > maxMatchScore) {\r\n\t\t\t\t\t\t\t\t\tmaxMatchScore = matchScore;\r\n\t\t\t\t\t\t\t\t\tindicesMMS = [];\r\n\t\t\t\t\t\t\t\t\tfor (let p = 0; p < indices.length; p++) {\r\n\t\t\t\t\t\t\t\t\t\tindicesMMS[p] = indices[p]; // hard copy of indices\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tk = indices.length - 2;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tk--;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// Reverse match and compare only two results.\r\n\t\t\t\t\t\tregExsReversed[0].lastIndex = 0;\r\n\t\t\t\t\t\texec = regExsReversed[0].exec(txtSReversed);\r\n\t\t\t\t\t\tmatched = exec !== null;\r\n\t\t\t\t\t\tlet indicesReversed = [];\r\n\t\t\t\t\t\tif (matched) {\r\n\t\t\t\t\t\t\tindicesReversed[0] = {\r\n\t\t\t\t\t\t\t\tstart: exec.index,\r\n\t\t\t\t\t\t\t\tend: regExsReversed[0].lastIndex,\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfor (let j = 1; matched && j < regExsReversed.length; j++) {\r\n\t\t\t\t\t\t\tregExsReversed[j].lastIndex = regExsReversed[j - 1].lastIndex;\r\n\t\t\t\t\t\t\texec = regExsReversed[j].exec(txtSReversed);\r\n\t\t\t\t\t\t\tmatched = exec !== null;\r\n\t\t\t\t\t\t\tif (matched) {\r\n\t\t\t\t\t\t\t\tindicesReversed[j] = {\r\n\t\t\t\t\t\t\t\t\tstart: exec.index,\r\n\t\t\t\t\t\t\t\t\tend: regExsReversed[j].lastIndex,\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (matched) {\r\n\t\t\t\t\t\t\tindices = [];\r\n\t\t\t\t\t\t\tfor (let j = 0; j < indicesReversed.length; j++) {\r\n\t\t\t\t\t\t\t\tlet iR = indicesReversed[indicesReversed.length - 1 - j];\r\n\t\t\t\t\t\t\t\tindices[j] = {\r\n\t\t\t\t\t\t\t\t\tstart: txtSReversed.length - iR.end,\r\n\t\t\t\t\t\t\t\t\tend: txtSReversed.length - iR.start,\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlet matchScore = m.matchScoreFromIndices(txt, ptnSH, indices);\r\n\t\t\t\t\t\t\tif (matchScore > maxMatchScore) {\r\n\t\t\t\t\t\t\t\tmaxMatchScore = matchScore;\r\n\t\t\t\t\t\t\t\tindicesMMS = indices;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfs.array[0].array.push({\r\n\t\t\t\t\t\ti: listI.i,\r\n\t\t\t\t\t\tmaxMatchScore: maxMatchScore,\r\n\t\t\t\t\t\thighlight: m.highlightStrFromIndices(txt, indicesMMS),\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfs.array[0].array.push({ i: listI.i, maxMatchScore: 0 });\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet sorted: number[] = (fs.array[0].sorted = []);\r\n\t\tfor (let i = 0; i < fs.array[0].array.length; i++) {\r\n\t\t\t// sorted[i]=fs[0].length-1-i;\r\n\t\t\t// sorted[i]=i;\r\n\t\t\tsorted.push(i);\r\n\t\t}\r\n\t\tfor (let i = 1; i < sorted.length; i++) {\r\n\t\t\tlet temp = sorted[i];\r\n\t\t\tlet j = i;\r\n\t\t\tfor (; j > 0 && fs.array[0].array[sorted[j - 1]].maxMatchScore < fs.array[0].array[temp].maxMatchScore; j--) {\r\n\t\t\t\tsorted[j] = sorted[j - 1];\r\n\t\t\t}\r\n\t\t\tsorted[j] = temp;\r\n\t\t}\r\n\t\treturn fs.array[0];\r\n\t};\r\n\r\n\t(window.$fuzzy_search as JQuery).on(\"keydown.fs-move-exit\", function (e: any) {\r\n\t\te.stopPropagation();\r\n\t\tswitch (e.code) {\r\n\t\t\tcase \"Escape\": // ESC=27\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tm.$window.trigger({ type: \"keydown\", code: \"KeyG\" } as any); // G=71\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"ArrowUp\": // up=38\r\n\t\t\tcase \"ArrowDown\": // down=40\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tlet $fsl = window.$fuzzy_search_list;\r\n\t\t\t\tlet $lis = $fsl.find(\".list-item\");\r\n\t\t\t\tlet $liSelected = $fsl.find(\".list-item.selected\").eq(0);\r\n\t\t\t\tlet $liTo = null;\r\n\t\t\t\tif ($liSelected.length) {\r\n\t\t\t\t\tif (e.code === \"ArrowUp\") {\r\n\t\t\t\t\t\t$liTo = $liSelected.prev();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$liTo = $liSelected.next();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ($liTo.length) {\r\n\t\t\t\t\t\t$liTo.eq(0).trigger(\"click\");\r\n\t\t\t\t\t\tif ($liTo.offset().top < $fsl.offset().top + 2) {\r\n\t\t\t\t\t\t\t// $liTo at upside of scroll.\r\n\t\t\t\t\t\t\t$fsl.scrollTop($fsl.scrollTop() + $liTo.offset().top - $fsl.offset().top - 2);\r\n\t\t\t\t\t\t} else if ($liTo.offset().top + $liTo.outerHeight() > $fsl.offset().top + $fsl.height() + 2) {\r\n\t\t\t\t\t\t\t// $liTo at downside of scroll.\r\n\t\t\t\t\t\t\t$fsl.scrollTop($fsl.scrollTop() + $liTo.offset().top + $liTo.outerHeight() - $fsl.offset().top - $fsl.height() - 2);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif ($lis.length) {\r\n\t\t\t\t\t\tif (e.code === \"ArrowUp\") {\r\n\t\t\t\t\t\t\t$liTo = $lis.last();\r\n\t\t\t\t\t\t\t$fsl.scrollTop($fsl[0].scrollHeight);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t$liTo = $lis.first();\r\n\t\t\t\t\t\t\t$fsl.scrollTop(0);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$liTo.eq(0).trigger(\"click\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t});\r\n\tm.gotoLi = function (e: any, elem: HTMLElement, k: number, fs: FuzzySearch): void {\r\n\t\tif (e && e.srcElement && e.srcElement.nodeName == \"A\") {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet $elem = $(elem);\r\n\t\t$elem = $elem.closest(\".list-item\");\r\n\t\tif ($elem.hasClass(\"selected\")) {\r\n\t\t\t(fs.$fs as JQuery).trigger({\r\n\t\t\t\ttype: \"keydown\",\r\n\t\t\t\tcode: \"Escape\",\r\n\t\t\t} as any);\r\n\t\t} else {\r\n\t\t\tfs.$fsLis.removeClass(\"selected\");\r\n\t\t\t$elem.addClass(\"selected\");\r\n\t\t}\r\n\t\tlet $listI = fs.fullList[k].$listI;\r\n\t\tif ($listI) {\r\n\t\t\tif (!$listI.is(\":visible\")) {\r\n\t\t\t\t$listI.parents(\"*\").show();\r\n\t\t\t}\r\n\t\t\tm.$window.scrollTop($listI.offset().top);\r\n\t\t}\r\n\t};\r\n\tm.doFSGo = function (fs: FuzzySearch): void {\r\n\t\tlet fsPtnSH = m.splitHangul(fs.$fs[0].value);\r\n\t\tif (fs.array[0].ptnSH.splitted !== fsPtnSH.splitted) {\r\n\t\t\tlet res = m.fuzzySearch(fsPtnSH, fs);\r\n\t\t\tlet sorted = res.sorted;\r\n\t\t\tlet str = \"\";\r\n\t\t\tfor (let i = 0; i < sorted.length; i++) {\r\n\t\t\t\tlet k = res.array[sorted[i]].i;\r\n\t\t\t\tlet fsFLk = fs.fullList[k];\r\n\t\t\t\tstr += `
${fsFLk.html}${res.array[sorted[i]].highlight !== undefined ? `
${res.array[sorted[i]].maxMatchScore} :: ${res.array[sorted[i]].highlight}
` : \"\"}
`;\r\n\t\t\t}\r\n\t\t\tfs.$fsl.html(str);\r\n\t\t\tfs.$fsLis = fs.$fsl.find(\".list-item\");\r\n\t\t}\r\n\t};\r\n\tm.fsGoOn = function (): void {\r\n\t\tlet now = Date.now();\r\n\t\tlet passed = now - m.previous;\r\n\t\tif (passed > m.wait) {\r\n\t\t\tm.previous = now;\r\n\t\t\tm.doFSGo(m.fsGo);\r\n\t\t} else {\r\n\t\t\t(window.$fuzzy_search as JQuery).off(\"keyup.fs cut.fs paste.fs\");\r\n\t\t\tsetTimeout(\r\n\t\t\t\tfunction () {\r\n\t\t\t\t\t(window.$fuzzy_search as JQuery).on(\"keyup.fs cut.fs paste.fs\", m.fsGoOn);\r\n\t\t\t\t\tm.previous = Date.now();\r\n\t\t\t\t\tm.doFSGo(m.fsGo);\r\n\t\t\t\t},\r\n\t\t\t\tm.wait * 1.5 - passed,\r\n\t\t\t);\r\n\t\t}\r\n\t};\r\n\t(window.$fuzzy_search as JQuery).on(\"keyup.fs cut.fs paste.fs\", m.fsGoOn);\r\n\r\n\t// String to Array\r\n\tm.encloseStr = function (str: string): string {\r\n\t\tif (!str || typeof str !== \"string\") {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\tif (str.charAt(0) === '\"' || /[\\n\\t]/.test(str)) {\r\n\t\t\treturn `\"${str.replace(/\"/g, '\"\"')}\"`;\r\n\t\t}\r\n\t\treturn str;\r\n\t};\r\n\r\n\tm.strToJSON = function (str: string, colMap = true, rowMap = false): Promise {\r\n\t\tif (!str || typeof str !== \"string\") {\r\n\t\t\treturn Promise.reject(str);\r\n\t\t}\r\n\t\tif (str.charAt(str.length - 1) !== \"\\n\") {\r\n\t\t\tstr += \"\\n\";\r\n\t\t}\r\n\t\tconst ret: StrToJSON = [];\r\n\t\tconst delimiter = /([^\\t\\n]*)([\\t\\n])/g;\r\n\t\tconst lastQuote = /[^\"](?:\"\")*\"([\\t\\n])/g;\r\n\t\tlet exec: ReturnType;\r\n\t\tlet start = 0;\r\n\t\tlet row = -1,\r\n\t\t\tcol = -1,\r\n\t\t\tdelim = \"\\n\";\r\n\t\tlet strElem = \"\";\r\n\t\tfunction increaseRC(delim: string): boolean {\r\n\t\t\tif (delim === \"\\t\") {\r\n\t\t\t\tcol++;\r\n\t\t\t\treturn true;\r\n\t\t\t} else if (delim === \"\\n\") {\r\n\t\t\t\trow++;\r\n\t\t\t\tcol = 0;\r\n\t\t\t\tret.push([]);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\twhile (start < str.length && increaseRC(delim)) {\r\n\t\t\tif (str.substring(start, start + 1) === '\"') {\r\n\t\t\t\tlastQuote.lastIndex = start + 1;\r\n\t\t\t\tif ((exec = lastQuote.exec(str)) !== null) {\r\n\t\t\t\t\tstrElem = str.substring(start + 1, lastQuote.lastIndex - 2);\r\n\t\t\t\t\tdelim = exec[1];\r\n\t\t\t\t\tstart = delimiter.lastIndex = lastQuote.lastIndex;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tstrElem = str.substring(start + 1);\r\n\t\t\t\t\tdelim = \"\";\r\n\t\t\t\t\tstart = str.length;\r\n\t\t\t\t}\r\n\t\t\t\tstrElem = strElem.replace(/\"\"/g, '\"');\r\n\t\t\t} else {\r\n\t\t\t\tif ((exec = delimiter.exec(str)) !== null) {\r\n\t\t\t\t\tstrElem = exec[1];\r\n\t\t\t\t\tdelim = exec[2];\r\n\t\t\t\t\tstart = delimiter.lastIndex;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tstrElem = str.substring(start);\r\n\t\t\t\t\tdelim = \"\";\r\n\t\t\t\t\tstart = str.length;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tret[row][col] = strElem;\r\n\t\t}\r\n\t\tif (colMap) {\r\n\t\t\tconst firstColSize = ret[0].length;\r\n\t\t\tfor (let i = 0; i < ret.length; i++) {\r\n\t\t\t\tlet jMax = ret[i].length > firstColSize ? firstColSize : ret[i].length;\r\n\t\t\t\tfor (let j = 0; j < firstColSize; j++) {\r\n\t\t\t\t\tlet key = ret[0][j];\r\n\t\t\t\t\tif (j < jMax) {\r\n\t\t\t\t\t\tret[i][key] = ret[i][j];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tret[i][key] = \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (rowMap) {\r\n\t\t\tfor (let i = 0; i < ret.length; i++) {\r\n\t\t\t\tlet key = ret[i][0];\r\n\t\t\t\tret[key] = ret[i];\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn Promise.resolve(ret);\r\n\t};\r\n\tm.csvToJSON = function (str: string, colMap = true, rowMap = false): Promise {\r\n\t\tif (!str || typeof str !== \"string\") {\r\n\t\t\treturn Promise.reject(str);\r\n\t\t}\r\n\t\tlet rows: any = str.split(\"\\n\");\r\n\t\tfor (let i = 0; i < rows.length; i++) {\r\n\t\t\tif (rows[i].substring(0, 1) === '\"' && rows[i].substring(rows[i].length - 1) === '\"') {\r\n\t\t\t\trows[i] = rows[i].substring(1, rows[i].length - 1).split('\",\"');\r\n\t\t\t} else {\r\n\t\t\t\trows[i] = rows[i].split(\",\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (colMap) {\r\n\t\t\tconst firstColSize = rows[0].length;\r\n\t\t\tfor (let i = 0; i < rows.length; i++) {\r\n\t\t\t\tlet jMax = rows[i].length > firstColSize ? firstColSize : rows[i].length;\r\n\t\t\t\tfor (let j = 0; j < jMax; j++) {\r\n\t\t\t\t\tlet key = rows[0][j];\r\n\t\t\t\t\trows[i][key] = rows[i][j];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (rowMap) {\r\n\t\t\tfor (let i = 0; i < rows.length; i++) {\r\n\t\t\t\tlet key = rows[i][0];\r\n\t\t\t\trows[key] = rows[i];\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn Promise.resolve(rows);\r\n\t};\r\n\tm.arrayToTableHTML = function (txtArray: StrToJSON): string {\r\n\t\tlet tableStr = \"\";\r\n\t\tfor (let row = 0; row < txtArray.length; row++) {\r\n\t\t\ttableStr += \"\";\r\n\t\t\tfor (let col = 0; col < txtArray[row].length; col++) {\r\n\t\t\t\ttableStr += ``;\r\n\t\t\t}\r\n\t\t\ttableStr += \"\";\r\n\t\t}\r\n\t\ttableStr += \"
${m.escapeOnlyTag(txtArray[row][col]).replace(/\\n/g, \"
\")}
\";\r\n\t\treturn tableStr;\r\n\t};\r\n\r\n\t// SEE (Super Easy Edit).\r\n\tm.SEEToArray = function (SEE: string): string[] {\r\n\t\tSEE = SEE.trim();\r\n\t\tconst dE = /\\s*\\n\\n+\\s*/g; // split by double enter.\r\n\t\tlet start = 0;\r\n\t\tlet end = 0;\r\n\t\tlet subStr: string;\r\n\t\tconst ps: string[] = []; // paragraphs\r\n\t\twhile (dE.exec(SEE) !== null) {\r\n\t\t\tend = dE.lastIndex;\r\n\t\t\tsubStr = SEE.substring(start, end).trim();\r\n\t\t\tif (/^]*>/i.test(subStr)) {\r\n\t\t\t\twhile (!/<\\/pre>$/i.test(subStr)) {\r\n\t\t\t\t\tdE.exec(SEE);\r\n\t\t\t\t\tend = dE.lastIndex;\r\n\t\t\t\t\tsubStr = SEE.substring(start, end).trim();\r\n\t\t\t\t}\r\n\t\t\t} else if (/^```/.test(subStr)) {\r\n\t\t\t\twhile (!/```\\/$/.test(subStr)) {\r\n\t\t\t\t\tdE.exec(SEE);\r\n\t\t\t\t\tend = dE.lastIndex;\r\n\t\t\t\t\tsubStr = SEE.substring(start, end).trim();\r\n\t\t\t\t}\r\n\t\t\t} else if (/^]*>/i.test(subStr)) {\r\n\t\t\t\twhile (!/<\\/script>$/i.test(subStr)) {\r\n\t\t\t\t\tdE.exec(SEE);\r\n\t\t\t\t\tend = dE.lastIndex;\r\n\t\t\t\t\tsubStr = SEE.substring(start, end).trim();\r\n\t\t\t\t}\r\n\t\t\t} else if (/^]*>/i.test(subStr)) {\r\n\t\t\t\twhile (!/<\\/textarea>$/i.test(subStr)) {\r\n\t\t\t\t\tdE.exec(SEE);\r\n\t\t\t\t\tend = dE.lastIndex;\r\n\t\t\t\t\tsubStr = SEE.substring(start, end).trim();\r\n\t\t\t\t}\r\n\t\t\t} else if (/^]*>/i.test(subStr)) {\r\n\t\t\t\twhile (!/<\\/data>$/i.test(subStr)) {\r\n\t\t\t\t\tdE.exec(SEE);\r\n\t\t\t\t\tend = dE.lastIndex;\r\n\t\t\t\t\tsubStr = SEE.substring(start, end).trim();\r\n\t\t\t\t}\r\n\t\t\t} else if (/^]*>/i.test(subStr)) {\r\n\t\t\t\twhile (!/<\\/eqq>$/i.test(subStr)) {\r\n\t\t\t\t\tdE.exec(SEE);\r\n\t\t\t\t\tend = dE.lastIndex;\r\n\t\t\t\t\tsubStr = SEE.substring(start, end).trim();\r\n\t\t\t\t}\r\n\t\t\t} else if (/^$/i.test(subStr)) {\r\n\t\t\t\t\tdE.exec(SEE);\r\n\t\t\t\t\tend = dE.lastIndex;\r\n\t\t\t\t\tsubStr = SEE.substring(start, end).trim();\r\n\t\t\t\t}\r\n\t\t\t\tsubStr = \"\";\r\n\t\t\t}\r\n\t\t\tif (subStr) {\r\n\t\t\t\tps.push(subStr);\r\n\t\t\t}\r\n\t\t\tstart = end;\r\n\t\t}\r\n\t\tsubStr = SEE.substring(start).trim();\r\n\t\tif (subStr) {\r\n\t\t\tps.push(subStr);\r\n\t\t}\r\n\t\treturn ps;\r\n\t};\r\n\r\n\tm.getEmmetFromHead = function (head: string): string {\r\n\t\tconst exec = /^\\[([^\\s\\t\\n\\]]+?)\\]/.exec(head);\r\n\t\tif (exec) {\r\n\t\t\treturn exec[1];\r\n\t\t}\r\n\t\treturn \"\";\r\n\t};\r\n\tm.getClassesFromEmmet = function (str: string): string {\r\n\t\tconst rexClasses = /\\.([\\w\\:\\-\\%]+)/g;\r\n\t\tlet classes = \"\";\r\n\t\tlet res: ReturnType;\r\n\t\twhile ((res = rexClasses.exec(str))) {\r\n\t\t\tclasses += res[1] + \" \";\r\n\t\t}\r\n\t\treturn classes.trim();\r\n\t};\r\n\tm.getIdFromEmmet = function (str: string): string {\r\n\t\tlet res = /#([\\w\\:\\-\\%]+)/.exec(str);\r\n\t\tif (res) {\r\n\t\t\treturn res[1];\r\n\t\t}\r\n\t\treturn \"\";\r\n\t};\r\n\r\n\tm.renderToDocuK = function (toBeRendered: string, SEEi: number): string {\r\n\t\tconst ps = m.SEEToArray(toBeRendered);\r\n\r\n\t\tconst TOC = \"Table of Contents\";\r\n\t\tconst PH = \"Posting History\";\r\n\t\tconst COTD = \"Categories of this document\";\r\n\t\tconst RRA = \"References and Related Articles\";\r\n\r\n\t\tconst untilEnter = /[^\\n]+/g; // until enter.\r\n\t\tlet head: string, hN: number; // #*hN\r\n\t\tlet emmet = \"\",\r\n\t\t\tclasses = \"\",\r\n\t\t\telemId = \"\";\r\n\r\n\t\tlet docuOn = false,\r\n\t\t\tsecOn = false,\r\n\t\t\tsubsecOn = false,\r\n\t\t\tsubsubsecOn = false;\r\n\t\tlet str = \"\";\r\n\r\n\t\tlet countTOC = 1;\r\n\t\tlet countCOTD = 1;\r\n\t\tlet countPH = 1;\r\n\t\tlet countRRA = 1;\r\n\t\tlet h1Count = 1;\r\n\t\tlet h2Count = 1;\r\n\t\tlet h3Count = 1;\r\n\t\tlet h4Count = 1;\r\n\t\tlet hNCount = 1;\r\n\r\n\t\tfunction closeSec(hN: number) {\r\n\t\t\tswitch (hN) {\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\tif (docuOn) {\r\n\t\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\t\tdocuOn = false;\r\n\t\t\t\t\t}\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\tif (secOn) {\r\n\t\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\t\tsecOn = false;\r\n\t\t\t\t\t}\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\tif (subsecOn) {\r\n\t\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\t\tsubsecOn = false;\r\n\t\t\t\t\t}\r\n\t\t\t\tcase 4:\r\n\t\t\t\t\tif (subsubsecOn) {\r\n\t\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\t\tsubsubsecOn = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak; // \uB9C8\uC9C0\uB9C9 case\uC5D0 break \uCD94\uAC00\r\n\t\t\t\tdefault:\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfor (let i = 0; i < ps.length; i++) {\r\n\t\t\tps[i] = ps[i].trim();\r\n\t\t\tlet hNExec: ReturnType;\r\n\t\t\tif ((hNExec = /^#+(?![#\\/])/.exec(ps[i]))) {\r\n\t\t\t\tuntilEnter.lastIndex = hN = hNExec[0].length;\r\n\t\t\t\tcloseSec(hN);\r\n\t\t\t\tlet headTotal: ReturnType;\r\n\t\t\t\theadTotal = untilEnter.exec(ps[i]);\r\n\t\t\t\temmet = m.getEmmetFromHead(headTotal[0]);\r\n\t\t\t\thead = headTotal[0].trim();\r\n\t\t\t\tclasses = elemId = \"\";\r\n\t\t\t\tif (emmet) {\r\n\t\t\t\t\thead = headTotal[0].substring(emmet.length + 2).trim();\r\n\t\t\t\t\tclasses = m.getClassesFromEmmet(emmet);\r\n\t\t\t\t\telemId = m.getIdFromEmmet(emmet);\r\n\t\t\t\t\tif (classes) {\r\n\t\t\t\t\t\tclasses = ` ${classes}`;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tswitch (hN) {\r\n\t\t\t\t\tcase 1:\r\n\t\t\t\t\t\tstr += `

${head}

`;\r\n\t\t\t\t\t\tdocuOn = secOn = true;\r\n\t\t\t\t\t\th2Count = 1;\r\n\t\t\t\t\t\th3Count = 1;\r\n\t\t\t\t\t\th4Count = 1;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\tswitch (head) {\r\n\t\t\t\t\t\t\tcase \"TOC\":\r\n\t\t\t\t\t\t\t\tstr += `
`;\r\n\t\t\t\t\t\t\t\thead = TOC;\r\n\t\t\t\t\t\t\t\tstr += `

${head}

`; // self closing.\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase \"COTD\":\r\n\t\t\t\t\t\t\t\tstr += `
`;\r\n\t\t\t\t\t\t\t\thead = COTD;\r\n\t\t\t\t\t\t\t\tstr += `

${head}

`;\r\n\t\t\t\t\t\t\t\tsecOn = true;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase \"PH\":\r\n\t\t\t\t\t\t\t\tstr += `
`;\r\n\t\t\t\t\t\t\t\thead = PH;\r\n\t\t\t\t\t\t\t\tstr += `

${head}

`;\r\n\t\t\t\t\t\t\t\tsecOn = true;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase \"RRA\":\r\n\t\t\t\t\t\t\t\tstr += `
`;\r\n\t\t\t\t\t\t\t\thead = RRA;\r\n\t\t\t\t\t\t\t\tstr += `

${head}

`;\r\n\t\t\t\t\t\t\t\tsecOn = true;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\tstr += `
`;\r\n\t\t\t\t\t\t\t\tstr += `

${head}

`;\r\n\t\t\t\t\t\t\t\th3Count = 1;\r\n\t\t\t\t\t\t\t\th4Count = 1;\r\n\t\t\t\t\t\t\t\tsecOn = true;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\tstr += `
`;\r\n\t\t\t\t\t\tstr += `

${head}

`;\r\n\t\t\t\t\t\th4Count = 1;\r\n\t\t\t\t\t\tsubsecOn = true;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 4:\r\n\t\t\t\t\t\tstr += `
`;\r\n\t\t\t\t\t\tstr += `

${head}

`;\r\n\t\t\t\t\t\tsubsubsecOn = true;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tstr += `${head}`;\r\n\t\t\t\t}\r\n\t\t\t\tps[i] = ps[i].substring(untilEnter.lastIndex).trim();\r\n\t\t\t} else if ((hNExec = /^#+(?=\\/)/.exec(ps[i]))) {\r\n\t\t\t\thN = hNExec[0].length;\r\n\t\t\t\tcloseSec(hN);\r\n\t\t\t\tcontinue; // Text after '#/' is ignored. Use '#####/' for comment.\r\n\t\t\t}\r\n\r\n\t\t\tif (ps[i].length) {\r\n\t\t\t\tif (/^<\\/?\\w/.test(ps[i])) {\r\n\t\t\t\t\tstr += ps[i];\r\n\t\t\t\t} else if (/^```/.test(ps[i])) {\r\n\t\t\t\t\tps[i] = ps[i].replace(/^```/, \"\").replace(/```\\/$/, \"\");\r\n\t\t\t\t\temmet = m.getEmmetFromHead(ps[i]);\r\n\t\t\t\t\tclasses = elemId = \"\";\r\n\t\t\t\t\tif (emmet) {\r\n\t\t\t\t\t\tps[i] = ps[i].substring(emmet.length + 2).trim();\r\n\t\t\t\t\t\tclasses = m.getClassesFromEmmet(emmet);\r\n\t\t\t\t\t\telemId = m.getIdFromEmmet(emmet);\r\n\t\t\t\t\t\tif (classes) {\r\n\t\t\t\t\t\t\tclasses = ` ${classes}`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (elemId) {\r\n\t\t\t\t\t\t\telemId = ` id=\"${elemId}\"`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tstr += `
${m.escapeOnlyTag(ps[i])}
`;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tstr += `
${ps[i]}
`;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tcloseSec(1);\r\n\r\n\t\treturn str;\r\n\t};\r\n\r\n\tm.getContentsJoinedWithEnter = function ($elem: JQuery): string {\r\n\t\tconst $contents = $elem.contents();\r\n\t\tconst contentsL = $contents.length;\r\n\t\tconst strArray: string[] = [];\r\n\t\tfor (let i = 0; i < contentsL; i++) {\r\n\t\t\tconst $contentI = $contents.eq(i);\r\n\t\t\tif ($contentI.is(\"ol\")) {\r\n\t\t\t\tconst $lis = $contentI.contents();\r\n\t\t\t\tfor (let j = 0; j < $lis.length; j++) {\r\n\t\t\t\t\tstrArray.push($lis.eq(j).text().trim());\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tstrArray.push($contentI.text().trim());\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn strArray.join(\"\\n\");\r\n\t};\r\n\r\n\t// Functions for printing codes into 'pre.prettyprint'.\r\n\tm.indentsRemove = function (str: string): string {\r\n\t\tlet firstIndent = str.match(/^\\n\\t+/),\r\n\t\t\tindentRegExp;\r\n\t\tif (firstIndent !== null) {\r\n\t\t\t// if match (first indent) is found\r\n\t\t\tindentRegExp = new RegExp(\"\\\\n\\\\t{1,\" + (firstIndent[0].length - 1) + \"}\", \"g\"); // /\\n\\t{1,n}/g: global greedy matching\r\n\t\t} else {\r\n\t\t\tindentRegExp = /^\\n/; // just for minimum match\r\n\t\t}\r\n\t\treturn str.replace(indentRegExp, \"\\n\");\r\n\t};\r\n\r\n\tm.printCode = function (codeId: string): void {\r\n\t\tconst $pre = $(\"pre#pre-\" + codeId);\r\n\t\tconst $code = $(\"#\" + codeId);\r\n\t\tif ($pre.length) {\r\n\t\t\tlet html = m.indentsRemove($code.html()).trim();\r\n\t\t\tif (!$code.is(\".noEscapeHTML\")) {\r\n\t\t\t\thtml = m.escapeOnlyTag(html);\r\n\t\t\t}\r\n\t\t\t$pre.html(html);\r\n\t\t}\r\n\t};\r\n\r\n\t// Function for toggling height, i.e. switching scrollability with conserving view.\r\n\tm.toggleHeight = function (obj: HTMLElement): void {\r\n\t\tlet next = $(obj).next();\r\n\t\tlet toBeScrolledBy = 0;\r\n\t\tlet windowScrollTop = m.$window.scrollTop();\r\n\t\tlet nOffsetTop = next.offset().top;\r\n\t\tlet nHeight = next.height();\r\n\r\n\t\tif (next.is(\".scrollable\")) {\r\n\t\t\t// becomes expanded.\r\n\t\t\ttoBeScrolledBy = next.scrollTop();\r\n\t\t\tnext.removeClass(\"scrollable\");\r\n\t\t\twindow.scrollTo(0, windowScrollTop + toBeScrolledBy);\r\n\t\t} else {\r\n\t\t\t// becomes scrollable.\r\n\t\t\tif (windowScrollTop < nOffsetTop) {\r\n\t\t\t\t// case0: no scroll\r\n\t\t\t\tnext.addClass(\"scrollable\");\r\n\t\t\t} else {\r\n\t\t\t\t// case1: scroll both\r\n\t\t\t\ttoBeScrolledBy = windowScrollTop - nOffsetTop;\r\n\t\t\t\tlet tailHeight = nHeight - toBeScrolledBy;\r\n\t\t\t\tnext.addClass(\"scrollable\");\r\n\t\t\t\tnHeight = next.height();\r\n\t\t\t\twindow.scrollTo(0, nHeight > tailHeight ? nOffsetTop + nHeight - tailHeight : nOffsetTop);\r\n\t\t\t\tnext[0].scrollTop = toBeScrolledBy;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// section's show/hide functions\r\n\tm.ShowHide = function (elem: HTMLElement): void {\r\n\t\t$(elem).next().toggle();\r\n\t\tif ($(elem).next().is(\":visible\")) {\r\n\t\t\t$(elem).html(\"\u25BC Hide\");\r\n\t\t} else {\r\n\t\t\t$(elem).html(\"\u25BC Show\");\r\n\t\t}\r\n\t\tsetTimeout(function () {\r\n\t\t\tm.$window.trigger(\"scroll.delayedLoad\");\r\n\t\t}, 1000);\r\n\t};\r\n\tm.Hide = function (elem: HTMLElement): void {\r\n\t\tlet $elem = $(elem).parent();\r\n\t\twindow.scrollBy(0, -$elem.outerHeight());\r\n\t\t$elem.hide();\r\n\t\t$elem.parent().find(\".ShowHide\").html(\"\u25BC Show\");\r\n\t};\r\n\r\n\t// bubbleRef's show/hide functions\r\n\tm.ShowBR = function (elem: HTMLElement): void {\r\n\t\tclearTimeout(m.timerHideBRQueue);\r\n\t\tm.$bubbleRefs.hide();\r\n\t\t$(elem).find(\">.bubbleRef\").show();\r\n\t};\r\n\tm.timerHideBR = function (elem: HTMLElement): void {\r\n\t\tm.timerHideBRQueue = setTimeout(function () {\r\n\t\t\t$(elem).find(\">.bubbleRef\").hide();\r\n\t\t}, 1000);\r\n\t};\r\n\tm.HideBR = function (elem: HTMLElement): void {\r\n\t\t$(elem).parents(\".bubbleRef\").hide();\r\n\t};\r\n\r\n\t// Changing Styles of docuK\r\n\tm.mode = \"Bright\";\r\n\tm.fontFamily = \"Noto Sans KR\";\r\n\tm.fontSize = 10;\r\n\tm.lineHeight10 = 16;\r\n\tm.defaultStyles = {\r\n\t\tmode: m.mode,\r\n\t\tfontFamily: m.fontFamily,\r\n\t\tfontSize: m.fontSize,\r\n\t\tlineHeight10: m.lineHeight10,\r\n\t};\r\n\r\n\tm.printDeviceInfo = function (): void {\r\n\t\tif (m.$deviceInfo) {\r\n\t\t\tlet referrer = document.referrer;\r\n\t\t\tlet referrerHTML = referrer ? `${m.escapeOnlyTag(decodeURIComponent(referrer))}` : `Empty`;\r\n\t\t\tm.$deviceInfo.html(\r\n\t\t\t\t`Mode: ${m.mode}; Font: ${m.fontFamily}; font-size: ${(m.fontSize * 1.8).toFixed(1)}px (${m.fontSize.toFixed(1)}); line-height: ${(m.lineHeight10 / 10).toFixed(1)};
\r\nwidth: ${m.browserWidth}, height: ${window.innerHeight}, version: ${m.version0}${m.version1}
\r\n${m.canonicalURI ? `Canonical URI: ${m.escapeOnlyTag(decodeURIComponent(m.canonicalURI))}
` : \"\"}\r\n${m.plink ? `dg:plink (Document Global Permanent Link): ${m.plink}
` : \"\"}\r\ndocument.referrer: ${referrerHTML}`,\r\n\t\t\t);\r\n\t\t}\r\n\t};\r\n\r\n\tm.resetStyle = function (): void {\r\n\t\tm.Cmode(m.defaultStyles.mode);\r\n\t\tm.CfontFamily(m.defaultStyles.fontFamily);\r\n\t\tm.CfontSize(m.defaultStyles.fontSize - m.fontSize);\r\n\t\tm.ClineHeight(m.defaultStyles.lineHeight10 - m.lineHeight10);\r\n\t\tif (!m.$floating_key.is(\":visible\")) {\r\n\t\t\tm.toggleFK();\r\n\t\t}\r\n\t};\r\n\tm.Cmode = function (modeI: string): boolean {\r\n\t\tif (modeI === \"Dark\") {\r\n\t\t\tm.$docuK.removeClass(\"bright\");\r\n\t\t} else if (modeI === \"Bright\") {\r\n\t\t\tm.$docuK.addClass(\"bright\");\r\n\t\t} else {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tm.mode = modeI;\r\n\t\tm.printDeviceInfo();\r\n\t\tif (m.mode === m.defaultStyles.mode) {\r\n\t\t\tm.docCookies.removeItem(\"m.mode\", \"/\");\r\n\t\t} else {\r\n\t\t\tm.docCookies.setItem(\"m.mode\", m.mode, m.expire, \"/\");\r\n\t\t}\r\n\t\treturn true;\r\n\t};\r\n\tm.CfontFamily = function (font: string): boolean {\r\n\t\tm.$docuK.css({ fontFamily: font });\r\n\t\tm.fontFamily = font;\r\n\t\tm.printDeviceInfo();\r\n\t\tif (m.fontFamily === m.defaultStyles.fontFamily) {\r\n\t\t\tm.docCookies.removeItem(\"m.fontFamily\", \"/\");\r\n\t\t} else {\r\n\t\t\tm.docCookies.setItem(\"m.fontFamily\", m.fontFamily, m.expire, \"/\");\r\n\t\t}\r\n\t\treturn true;\r\n\t};\r\n\tm.CfontSize = function (increment: number): boolean {\r\n\t\tif (increment.constructor === Number && !isNaN(Number(increment))) {\r\n\t\t\tm.fontSize += increment;\r\n\t\t\tif (m.fontSize < 5) {\r\n\t\t\t\tm.fontSize = 5;\r\n\t\t\t} else if (m.fontSize > 33) {\r\n\t\t\t\tm.fontSize = 33;\r\n\t\t\t}\r\n\t\t\tm.$docuK.css({ \"font-size\": m.fontSize.toFixed(1) + \"px\" });\r\n\t\t\tm.printDeviceInfo();\r\n\t\t\tif (m.fontSize === m.defaultStyles.fontSize) {\r\n\t\t\t\tm.docCookies.removeItem(\"m.fontSize\", \"/\");\r\n\t\t\t} else {\r\n\t\t\t\tm.docCookies.setItem(\"m.fontSize\", m.fontSize.toFixed(1), m.expire, \"/\");\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\tm.ClineHeight = function (increment: number): boolean {\r\n\t\tif (increment.constructor === Number && !isNaN(Number(increment))) {\r\n\t\t\tm.lineHeight10 += increment;\r\n\t\t\tif (m.lineHeight10 < 10) {\r\n\t\t\t\tm.lineHeight10 = 10;\r\n\t\t\t\treturn false;\r\n\t\t\t} else if (m.lineHeight10 > 25) {\r\n\t\t\t\tm.lineHeight10 = 25;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tm.$docuK.attr(\"style\", `line-height:${(m.lineHeight10 / 10).toFixed(1)} !important`);\r\n\t\t\tm.printDeviceInfo();\r\n\t\t\tif (m.lineHeight10 === m.defaultStyles.lineHeight10) {\r\n\t\t\t\tm.docCookies.removeItem(\"m.lineHeight10\", \"/\");\r\n\t\t\t} else {\r\n\t\t\t\tm.docCookies.setItem(\"m.lineHeight10\", m.lineHeight10.toString(), m.expire, \"/\");\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\tm.$window.on(\"resize.deviceInfo\", function () {\r\n\t\tif (window.innerWidth !== m.browserWidth) {\r\n\t\t\tm.browserWidth = window.innerWidth;\r\n\t\t\tm.fontSize = parseInt(m.$docuK.css(\"font-size\")); // font-size in px. (Default: 10px)\r\n\t\t\tm.printDeviceInfo();\r\n\t\t}\r\n\t});\r\n\r\n\t$(`#docuK-style`).after(`
\r\n
\r\n
[--The following is copied!--]
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\u2716\r\n\r\n
`);\r\n\t$(\"#notify-copied, #notify-copied-exit\").hide();\r\n\tm.$textarea_copied = $(`#textarea-copied`);\r\n\r\n\t// Share a link through SNS\r\n\tm.shareSNS = function (service: string): boolean {\r\n\t\tconst title = m.$title.html();\r\n\t\tconst url = window.location.href;\r\n\t\tconst decodedURL = m.escapeOnlyTag(decodeURIComponent(url));\r\n\t\tlet open = \"\";\r\n\t\tswitch (service) {\r\n\t\t\tcase \"link\":\r\n\t\t\t\tlet written = `${title}\\n${url}${url !== decodedURL ? `\\n${decodedURL}` : ``}`;\r\n\t\t\t\tnavigator.clipboard.writeText(written).then(\r\n\t\t\t\t\tfunction () {\r\n\t\t\t\t\t\tm.$textarea_copied[0].value = written;\r\n\t\t\t\t\t\t$(\"#notify-copied, #notify-copied-exit\").show();\r\n\t\t\t\t\t},\r\n\t\t\t\t\tfunction (err) {\r\n\t\t\t\t\t\tm.$textarea_copied[0].value = `Could not copy text: ${err}`;\r\n\t\t\t\t\t\t$(\"#notify-copied, #notify-copied-exit\").show();\r\n\t\t\t\t\t},\r\n\t\t\t\t);\r\n\t\t\t\treturn false;\r\n\t\t\tcase \"tag\":\r\n\t\t\t\tlet written1 = `${title}:
\\n${decodedURL}`;\r\n\t\t\t\tnavigator.clipboard.writeText(written1).then(\r\n\t\t\t\t\tfunction () {\r\n\t\t\t\t\t\tm.$textarea_copied[0].value = written1;\r\n\t\t\t\t\t\t$(\"#notify-copied, #notify-copied-exit\").show();\r\n\t\t\t\t\t},\r\n\t\t\t\t\tfunction (err) {\r\n\t\t\t\t\t\tm.$textarea_copied[0].value = `Could not copy text: ${err}`;\r\n\t\t\t\t\t\t$(\"#notify-copied, #notify-copied-exit\").show();\r\n\t\t\t\t\t},\r\n\t\t\t\t);\r\n\t\t\t\treturn false;\r\n\t\t\tcase \"X\":\r\n\t\t\t\topen = \"https://X.com/intent/tweet?via=kipacti&text=\" + encodeURIComponent(title) + \"&url=\" + encodeURIComponent(url);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"facebook\":\r\n\t\t\t\topen = \"https://www.facebook.com/sharer/sharer.php?u=\" + encodeURIComponent(url);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"recoeve\":\r\n\t\t\t\topen = `https://recoeve.net/reco?uri=${encodeURIComponent(url)}&title=${encodeURIComponent(title)}${m.recoCats ? `&cats=${encodeURIComponent(m.recoCats)}` : \"\"}`;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"kakao\":\r\n\t\t\t\tm.popUpKakao();\r\n\t\t\t\treturn;\r\n\t\t\tcase \"Whatsapp\":\r\n\t\t\t\topen = `https://wa.me/?text=${encodeURIComponent(title)}%0A${encodeURIComponent(url)}`;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\treturn;\r\n\t\t}\r\n\t\twindow.open(open);\r\n\t};\r\n\r\n\t// Delayed Loading. (Copied from user-page.html)\r\n\tm.delayPad = m.delayPad || 0;\r\n\tm.wait = m.wait || 1024;\r\n\tm.$delayedElems = $(\"#nothing\");\r\n\tm.previous = Date.now();\r\n\t$.fn.inView = function (): boolean {\r\n\t\tif (this.is(\":visible\")) {\r\n\t\t\tlet viewportHeight = window.innerHeight;\r\n\t\t\tlet scrollTop = m.$window.scrollTop();\r\n\t\t\tlet elemTop = this.offset().top - m.delayPad;\r\n\t\t\tlet elemBottom = elemTop + this.height() + m.delayPad;\r\n\t\t\treturn scrollTop + viewportHeight > elemTop && scrollTop < elemBottom;\r\n\t\t} else {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t};\r\n\t$.fn.delayedLoad = function (): boolean {\r\n\t\tlet done = false;\r\n\t\tif (this.inView()) {\r\n\t\t\tif (this.hasClass(\"to-be-executed\")) {\r\n\t\t\t\tthis.removeClass(\"to-be-executed\");\r\n\t\t\t\tthis.trigger(\"click\");\r\n\t\t\t\tdone = true;\r\n\t\t\t}\r\n\t\t\t// divs with background-image\r\n\t\t\tif (this.attr(\"delayed-bgimage\")) {\r\n\t\t\t\tthis.css(\"background-image\", \"url(\" + this.attr(\"delayed-bgimage\") + \")\");\r\n\t\t\t\tthis.removeAttr(\"delayed-bgimage\");\r\n\t\t\t\tdone = true;\r\n\t\t\t}\r\n\t\t\t// iframes or images\r\n\t\t\tif (this.attr(\"delayed-src\")) {\r\n\t\t\t\tthis.attr(\"src\", this.attr(\"delayed-src\"));\r\n\t\t\t\tthis.removeAttr(\"delayed-src\");\r\n\t\t\t\tdone = true;\r\n\t\t\t}\r\n\t\t\t// MathJax Process\r\n\t\t\tif (typeof window.MathJax !== \"undefined\" && this.is(\".MathJax_Preview\")) {\r\n\t\t\t\tif (this.next()?.[0]) {\r\n\t\t\t\t\twindow.MathJax.typesetPromise([this.next()[0]]);\r\n\t\t\t\t}\r\n\t\t\t\tdone = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn done;\r\n\t};\r\n\tm.delayedLoadAll = function (): Promise {\r\n\t\treturn new Promise(async function (resolve, reject): Promise {\r\n\t\t\tm.logPrint(`
Doing delayed-load. : ${m.$delayedElems.length}`);\r\n\t\t\tif (m.$delayedElems.length > 0) {\r\n\t\t\t\tm.$delayedElems.each(function () {\r\n\t\t\t\t\tif ($(this).delayedLoad()) {\r\n\t\t\t\t\t\tm.$delayedElems = m.$delayedElems.not(this);\r\n\t\t\t\t\t\tm.logPrint(`
${this} at vertical position of ${((100.0 * $(this).offset().top) / m.$document.height()).toPrecision(3)}% of document is delayed-loaded.
${m.$delayedElems.length} of $delayedElems are remained.
`);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tm.$window.on(\"scroll.delayedLoad\", m.delayedLoadByScroll);\r\n\t\t\t} else {\r\n\t\t\t\tm.logPrint(`

All delayedElem are loaded.`);\r\n\t\t\t\tm.$window.off(\"scroll.delayedLoad\");\r\n\t\t\t}\r\n\t\t\tm.previous = Date.now();\r\n\t\t\tresolve();\r\n\t\t});\r\n\t};\r\n\tm.delayedLoadByScroll = function (): Promise {\r\n\t\treturn new Promise(async function (resolve, reject): Promise {\r\n\t\t\tm.$window.off(\"scroll.delayedLoad\");\r\n\t\t\tlet now = Date.now();\r\n\t\t\tlet passed = now - m.previous;\r\n\t\t\tif (passed > m.wait) {\r\n\t\t\t\tawait m.delayedLoadAll();\r\n\t\t\t\tresolve();\r\n\t\t\t} else {\r\n\t\t\t\tclearTimeout(m.setTimeoutDelayedLoad);\r\n\t\t\t\tm.setTimeoutDelayedLoad = setTimeout(\r\n\t\t\t\t\tasync function () {\r\n\t\t\t\t\t\tawait m.delayedLoadAll();\r\n\t\t\t\t\t\tresolve();\r\n\t\t\t\t\t},\r\n\t\t\t\t\tm.wait * 1.5 - passed,\r\n\t\t\t\t);\r\n\t\t\t\tm.logPrint(`
wait ${(m.wait * 1.5 - passed).toFixed(0)}ms.`);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\tm.$window.on(\"scroll.delayedLoad\", m.delayedLoadByScroll);\r\n\r\n\tm.toggleAMess = function (elem: HTMLElement): void {\r\n\t\tlet $elem = $(elem);\r\n\t\tlet wSTBefore = m.$window.scrollTop();\r\n\t\tm.$window.on(\"scroll.stopDF\", function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\te.stopPropagation();\r\n\t\t});\r\n\t\tlet orderElem = $elem.index(\".order\");\r\n\t\tlet orderLastElem = $(\".order\").last().index(\".order\");\r\n\t\tlet $collection = $(\".copyright, .shortkey, .promoting\");\r\n\t\tif ($collection.is(\":visible\")) {\r\n\t\t\tif (orderElem === orderLastElem) {\r\n\t\t\t\tlet sHBefore = document.documentElement.scrollHeight;\r\n\t\t\t\t$collection.hide();\r\n\t\t\t\tlet sHAfter = document.documentElement.scrollHeight;\r\n\t\t\t\tm.$window.scrollTop(wSTBefore - sHBefore + sHAfter);\r\n\t\t\t} else {\r\n\t\t\t\tlet outerHeightBefore = 0;\r\n\t\t\t\t$collection.each(function () {\r\n\t\t\t\t\tif ($(this).index(\".order\") < orderElem) {\r\n\t\t\t\t\t\touterHeightBefore += $(this).outerHeight(true);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t$collection.hide();\r\n\t\t\t\tm.$window.scrollTop(wSTBefore - outerHeightBefore);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (orderElem === orderLastElem) {\r\n\t\t\t\tlet sHBefore = document.documentElement.scrollHeight;\r\n\t\t\t\t$collection.show();\r\n\t\t\t\tlet sHAfter = document.documentElement.scrollHeight;\r\n\t\t\t\tm.$window.scrollTop(wSTBefore - sHBefore + sHAfter);\r\n\t\t\t} else {\r\n\t\t\t\tlet outerHeightBefore = 0;\r\n\t\t\t\t$collection.each(function () {\r\n\t\t\t\t\tif ($(this).index(\".order\") < orderElem) {\r\n\t\t\t\t\t\touterHeightBefore += $(this).outerHeight(true);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t$collection.show();\r\n\t\t\t\tm.$window.scrollTop(wSTBefore + outerHeightBefore);\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetTimeout(function () {\r\n\t\t\tm.$window.off(\"scroll.stopDF\");\r\n\t\t}, 32);\r\n\t};\r\n\r\n\t// docuK Process\r\n\tm.docuKProcess = function docuK(docuKI: number): void {\r\n\t\t// Possible duplicate id is handled.\r\n\t\tdocuKI = isNaN(docuKI) ? 1 : parseInt(String(docuKI));\r\n\t\tm.logPrint(`

docuK${docuKI} scripts started!
If this log is not closed automatically, there must be an error somewhere in your document or scripts.`);\r\n\t\tconst $docuKI: JQuery = m.$docuK.eq(docuKI);\r\n\t\tif ($docuKI.is(\".rendered\")) {\r\n\t\t\tm.logPrint(`

docuK${docuKI} is already rendered.`);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlet postId = \"-in-docuK\" + docuKI;\r\n\t\tconst postIdRegEx = new RegExp(postId + \"$\");\r\n\t\tif ($docuKI.is(\".noDIdHandle\") || docuKI <= 1) {\r\n\t\t\tpostId = \"\";\r\n\t\t} else {\r\n\t\t\t$docuKI.find(\"[id]\").each((index: number, elem: HTMLElement) => {\r\n\t\t\t\tconst $this: JQuery = this as JQuery;\r\n\t\t\t\t$this.attr(\"id\", $this.attr(\"id\") + postId);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (!m.printMode) {\r\n\t\t\t// Copyright and Short Keys announcement.\r\n\t\t\t$docuKI.before(`
Toggle a mess
\r\n
\r\n
    \r\n
  • Creative Commons
  • \r\n
  • \uC800\uC791\uC790\uD45C\uC2DC - \uC801\uC808\uD55C \uCD9C\uCC98\uC640, \uD574\uB2F9 \uB77C\uC774\uC13C\uC2A4 \uB9C1\uD06C\uB97C \uD45C\uC2DC\uD558\uACE0, \uBCC0\uACBD\uC774 \uC788\uB294 \uACBD\uC6B0 \uACF5\uC9C0\uD574\uC57C \uD569\uB2C8\uB2E4. \uD569\uB9AC\uC801\uC778 \uBC29\uC2DD\uC73C\uB85C \uC774\uB807\uAC8C \uD558\uBA74 \uB418\uC9C0\uB9CC, \uC774\uC6A9 \uD5C8\uB77D\uAD8C\uC790\uAC00 \uADC0\uD558\uC5D0\uAC8C \uAD8C\uB9AC\uB97C \uBD80\uC5EC\uD55C\uB2E4\uAC70\uB098 \uADC0\uD558\uC758 \uC0AC\uC6A9\uC744 \uD5C8\uAC00\uD55C\uB2E4\uB294 \uB0B4\uC6A9\uC744 \uB098\uD0C0\uB0B4\uC11C\uB294 \uC548 \uB429\uB2C8\uB2E4.
  • \r\n
  • \uBE44\uC601\uB9AC - \uC774 \uC800\uC791\uBB3C\uC740 \uC601\uB9AC \uBAA9\uC801\uC73C\uB85C \uC774\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
  • \r\n
  • \uBCC0\uACBD\uAE08\uC9C0 - \uC774 \uC800\uC791\uBB3C\uC744 \uB9AC\uBBF9\uC2A4, \uBCC0\uD615\uD558\uAC70\uB098 2\uCC28\uC801 \uC800\uC791\uBB3C\uC744 \uC791\uC131\uD558\uC600\uC744 \uACBD\uC6B0 \uADF8 \uACB0\uACFC\uBB3C\uC744 \uACF5\uC720\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
  • \r\n
\r\n
\r\nShort Keys\r\n
    \r\n
  • Toggle a mess
  • \r\n
  • G: Go (Fuzzy Search).
  • \r\n
  • T: Table of Contents.
  • \r\n
  • K: DocuK Log.
  • \r\n
  • F: Forward Section.
  • \r\n
  • D: Backward Section.
  • \r\n
  • R: References.
  • \r\n
\r\n
    \r\n
  • L: To \uC804\uCCB4\uBAA9\uB85D/[Lists].
  • \r\n
  • Z: Tistory comments.
  • \r\n
  • X: DISQUS comments.
  • \r\n
  • N: Handle URI links in Tistory comments.
  • \r\n
\r\n
    \r\n
  • I: Log in to Tistory.
  • \r\n
  • O: Log out from Tistory.
  • \r\n
\r\n
`);\r\n\t\t\t$docuKI.after(`
    \r\n
  • Creative Commons
  • \r\n
  • \uC800\uC791\uC790\uD45C\uC2DC - \uC801\uC808\uD55C \uCD9C\uCC98\uC640, \uD574\uB2F9 \uB77C\uC774\uC13C\uC2A4 \uB9C1\uD06C\uB97C \uD45C\uC2DC\uD558\uACE0, \uBCC0\uACBD\uC774 \uC788\uB294 \uACBD\uC6B0 \uACF5\uC9C0\uD574\uC57C \uD569\uB2C8\uB2E4. \uD569\uB9AC\uC801\uC778 \uBC29\uC2DD\uC73C\uB85C \uC774\uB807\uAC8C \uD558\uBA74 \uB418\uC9C0\uB9CC, \uC774\uC6A9 \uD5C8\uB77D\uAD8C\uC790\uAC00 \uADC0\uD558\uC5D0\uAC8C \uAD8C\uB9AC\uB97C \uBD80\uC5EC\uD55C\uB2E4\uAC70\uB098 \uADC0\uD558\uC758 \uC0AC\uC6A9\uC744 \uD5C8\uAC00\uD55C\uB2E4\uB294 \uB0B4\uC6A9\uC744 \uB098\uD0C0\uB0B4\uC11C\uB294 \uC548 \uB429\uB2C8\uB2E4.
  • \r\n
  • \uBE44\uC601\uB9AC - \uC774 \uC800\uC791\uBB3C\uC740 \uC601\uB9AC \uBAA9\uC801\uC73C\uB85C \uC774\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
  • \r\n
  • \uBCC0\uACBD\uAE08\uC9C0 - \uC774 \uC800\uC791\uBB3C\uC744 \uB9AC\uBBF9\uC2A4, \uBCC0\uD615\uD558\uAC70\uB098 2\uCC28\uC801 \uC800\uC791\uBB3C\uC744 \uC791\uC131\uD558\uC600\uC744 \uACBD\uC6B0 \uADF8 \uACB0\uACFC\uBB3C\uC744 \uACF5\uC720\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
  • \r\n
\r\n
Toggle a mess
\r\n
`);\r\n\t\t}\r\n\r\n\t\t// Style change widget, and SNS widget.\r\n\t\t$docuKI.prepend(`
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
This document is rendered by docuK (See also SEE (Super Easy Edit) of docuK and pure SEE).
\r\n
\r\n
`);\r\n\t\t$docuKI.append(`
`);\r\n\r\n\t\t// Numbering section, making table of contents, and numbering eqq (formatting to MathJax also) and figure tags\r\n\t\tlet $secs: JQuery = $docuKI.find(\">.sec\");\r\n\t\tlet $subSecs: JQuery;\r\n\t\tlet $subSubSecs: JQuery;\r\n\t\tlet secContentsId = \"\";\r\n\t\tlet $secI: JQuery;\r\n\t\tlet $secIH2: JQuery;\r\n\t\tlet $subsecJH3: JQuery;\r\n\t\tlet $subsubsecKH4: JQuery;\r\n\t\tlet secN = 0;\r\n\t\tlet secITxt = \"\";\r\n\t\tlet subsecI = 0;\r\n\t\tlet subsubsecI = 0;\r\n\t\tlet tocHtml = \"\";\r\n\t\tlet txt = \"\";\r\n\t\tlet secId = \"\";\r\n\t\tlet secPreTxt = \"\";\r\n\t\tlet $eqqs: JQuery;\r\n\t\tlet eqN = \"\";\r\n\t\tlet eqC = \"\";\r\n\t\tlet $figs: JQuery;\r\n\t\tlet hN = 2;\r\n\t\tfunction fTocHtml(numbering?: boolean): string {\r\n\t\t\tlet secN = numbering === undefined || numbering ? \"secN\" : \"none\";\r\n\t\t\treturn `${secPreTxt}.${txt}`;\r\n\t\t}\r\n\t\tfunction fSecHtml(numbering?: boolean): string {\r\n\t\t\tlet secN = \"none\",\r\n\t\t\t\tendA0 = \"\",\r\n\t\t\t\tendA1 = \"\";\r\n\t\t\tif (numbering === undefined || numbering) {\r\n\t\t\t\tsecN = \"secN\";\r\n\t\t\t\tendA0 = \"\";\r\n\t\t\t\tendA1 = \"\";\r\n\t\t\t}\r\n\t\t\treturn `T${secPreTxt}.${endA0}${txt}${endA1}`;\r\n\t\t}\r\n\t\tfunction fEqqHtml(): string {\r\n\t\t\treturn `
(${eqN})
${eqC}
`;\r\n\t\t}\r\n\t\tfor (let i = 0; i < $secs.length; i++) {\r\n\t\t\t$secI = $secs.eq(i);\r\n\t\t\t$secIH2 = $secI.find(\"h2:first-child\");\r\n\t\t\tif ($secIH2 && $secIH2.length && !$secIH2.is(\".notSec\")) {\r\n\t\t\t\t// exclude \".sec>h1\" and \".sec>h2.notSec\" in ToC\r\n\t\t\t\thN = 2;\r\n\t\t\t\ttxt = $secIH2.html();\r\n\t\t\t\tif ($secIH2.is(\".no-sec-N\") || $secI.is(\".no-sec-N\")) {\r\n\t\t\t\t\tsecPreTxt =\r\n\t\t\t\t\t\tsecId =\r\n\t\t\t\t\t\tsecITxt =\r\n\t\t\t\t\t\t\t$secIH2.is(\"[id]\")\r\n\t\t\t\t\t\t\t\t? $secIH2\r\n\t\t\t\t\t\t\t\t\t\t.attr(\"id\")\r\n\t\t\t\t\t\t\t\t\t\t?.replace(/^SEEi\\d+\\-/, \"\")\r\n\t\t\t\t\t\t\t\t\t\t?.replace(/^sec\\-/i, \"\")\r\n\t\t\t\t\t\t\t\t\t\t.replace(postIdRegEx, \"\")\r\n\t\t\t\t\t\t\t\t: `secPreTxt${docuKI}-${i}`;\r\n\t\t\t\t\ttocHtml += fTocHtml(false);\r\n\t\t\t\t\t$secIH2.html(fSecHtml(false));\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsecN++;\r\n\t\t\t\t\tsecPreTxt = secId = secITxt = secN.toString();\r\n\t\t\t\t\ttocHtml += fTocHtml();\r\n\t\t\t\t\t$secIH2.html(fSecHtml());\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsecContentsId = `sec${docuKI}-${secITxt}-contents`;\r\n\t\t\t\t$secI.append(`
\u25B2 Hide
`);\r\n\t\t\t\t$secI.contents().slice(1).wrapAll(`
`);\r\n\t\t\t\t$secIH2.after(`
\u25BC Show/Hide
`);\r\n\t\t\t\t$secI.append(`
`);\r\n\r\n\t\t\t\t$subSecs = $secI.find(\".subsec\");\r\n\t\t\t\tsubsecI = 0;\r\n\t\t\t\tfor (let j = 0; j < $subSecs.length; j++) {\r\n\t\t\t\t\t$subsecJH3 = $subSecs.eq(j).find(\"h3:first-child\");\r\n\t\t\t\t\thN = 3;\r\n\t\t\t\t\tsubsecI++;\r\n\t\t\t\t\tsecId = secITxt + \"-\" + subsecI;\r\n\t\t\t\t\tsecPreTxt = secITxt + \".\" + subsecI;\r\n\t\t\t\t\ttxt = $subsecJH3.html();\r\n\t\t\t\t\ttocHtml += fTocHtml();\r\n\t\t\t\t\t$subsecJH3.html(fSecHtml());\r\n\r\n\t\t\t\t\t$subSubSecs = $subSecs.eq(j).find(\".subsubsec\");\r\n\t\t\t\t\tsubsubsecI = 0;\r\n\t\t\t\t\tfor (let k = 0; k < $subSubSecs.length; k++) {\r\n\t\t\t\t\t\t$subsubsecKH4 = $subSubSecs.eq(k).find(\"h4:first-child\");\r\n\t\t\t\t\t\thN = 4;\r\n\t\t\t\t\t\tsubsubsecI++;\r\n\t\t\t\t\t\tsecId = secITxt + \"-\" + subsecI + \"-\" + subsubsecI;\r\n\t\t\t\t\t\tsecPreTxt = secITxt + \".\" + subsecI + \".\" + subsubsecI;\r\n\t\t\t\t\t\ttxt = $subsubsecKH4.html();\r\n\t\t\t\t\t\ttocHtml += fTocHtml();\r\n\t\t\t\t\t\t$subsubsecKH4.html(fSecHtml());\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tsecITxt = \"x\";\r\n\t\t\t}\r\n\t\t\t$eqqs = $secI.find(\"eqq\");\r\n\t\t\tfor (let j = 0; j < $eqqs.length; j++) {\r\n\t\t\t\teqN = secITxt + \"-\" + (j + 1).toString();\r\n\t\t\t\teqC = $eqqs.eq(j).html().trim();\r\n\t\t\t\t$eqqs.eq(j).html(fEqqHtml());\r\n\t\t\t}\r\n\t\t\t$figs = $secI.find(\"figure\");\r\n\t\t\tfor (let j = 0; j < $figs.length; j++) {\r\n\t\t\t\tconst figN = secITxt + \"-\" + (j + 1).toString();\r\n\t\t\t\t$figs\r\n\t\t\t\t\t.eq(j)\r\n\t\t\t\t\t.find(\".caption\")\r\n\t\t\t\t\t.html(function (ith, orgTxt) {\r\n\t\t\t\t\t\treturn `Fig. (${figN}): ${orgTxt.trim()}`;\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\t$secs.find(\".toc\").html(tocHtml);\r\n\t\tm.logPrint(`

Table of Contents is filled out.

Auto numberings of sections (div.sec>h2, div.subsec>h3, div.subsubsec>h4), <eqq> tags, and <figure> tags are done.`);\r\n\r\n\t\t// Make 'cite' tags bubble-refer references in \".docuK ol.refs>li\".\r\n\t\t// Make 'refer' tags bubble-refer equations (eqq tag) or figures (figure tag). Any tag with id can be bubble-refered with refer tag.\r\n\t\tfunction pad(str: string, max: number) {\r\n\t\t\tstr = str.toString();\r\n\t\t\treturn str.padStart(max, \"0\");\r\n\t\t}\r\n\t\tlet refN = \"\",\r\n\t\t\tpreRefHtml = \"\",\r\n\t\t\trefHtml = \"\",\r\n\t\t\tciteN = \"\";\r\n\t\tfunction fCiteHtml() {\r\n\t\t\tlet str = `
${refN}
${preRefHtml}${refHtml}
\u2716
`;\r\n\t\t\treturn str;\r\n\t\t}\r\n\t\tlet $olRefs: JQuery = $docuKI.find(\"ol.refs\");\r\n\t\t$olRefs = $olRefs.eq($olRefs.length - 1);\r\n\t\tlet $refs: JQuery = $docuKI.find(\"ol.refs>li\");\r\n\t\tlet refsN = $refs.length;\r\n\t\tfor (let i = 0; i < refsN; i++) {\r\n\t\t\t// ref [i+1] with id\r\n\t\t\t$refs.eq(i).prepend(`Ref. [${pad((i + 1).toString(), 2)}] `);\r\n\t\t}\r\n\t\tlet $cites: JQuery = $docuKI.find(\"cite\"),\r\n\t\t\t$citeI: JQuery,\r\n\t\t\t$refered: JQuery;\r\n\t\tfor (let i = 0; i < $cites.length; i++) {\r\n\t\t\t$citeI = $cites.eq(i);\r\n\t\t\tif ($citeI.is(\"[class]\")) {\r\n\t\t\t\tif ($citeI.html() !== \"\") {\r\n\t\t\t\t\t$refered = $docuKI.find(\"#\" + $citeI.attr(\"class\") + postId);\r\n\t\t\t\t\tif ($refered.length) {\r\n\t\t\t\t\t\tlet refNHtml = $refered.find(\".refN\").html();\r\n\t\t\t\t\t\t$refered.html(`${refNHtml}${$citeI.html()}`);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\trefsN += 1;\r\n\t\t\t\t\t\t$olRefs.append(`
  • Ref. [${pad(refsN.toString(), 2)}] ${$citeI.html()}
  • `);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t$refered = $docuKI.find(\"#\" + $citeI.attr(\"class\") + postId);\r\n\t\t\t\tif ($refered.length) {\r\n\t\t\t\t\tciteN = (i + 1).toString() + \"-\" + $citeI.attr(\"class\") + postId;\r\n\t\t\t\t\trefHtml = $refered\r\n\t\t\t\t\t\t.html()\r\n\t\t\t\t\t\t.trim()\r\n\t\t\t\t\t\t.replace(/\\bid\\s*=/gi, \"psudoId=\");\r\n\t\t\t\t\trefN = $refered.find(\".number\").html();\r\n\t\t\t\t\t$citeI.html(fCiteHtml());\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$citeI.html(`( No refer. )`);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet $refers: JQuery = $docuKI.find(\"refer\"),\r\n\t\t\t$referI: JQuery;\r\n\t\t$refers.html(`( No refer. )`);\r\n\t\tfor (let i = 0; i < $refers.length; i++) {\r\n\t\t\t$referI = $refers.eq(i);\r\n\t\t\tif ($referI.is(\"[class]\")) {\r\n\t\t\t\t$refered = $docuKI.find(`#${$referI.attr(\"class\")}${postId}`);\r\n\t\t\t\tif ($refered.length) {\r\n\t\t\t\t\tciteN = (i + 1).toString() + \"-\" + $referI.attr(\"class\") + postId;\r\n\t\t\t\t\trefHtml = $refered\r\n\t\t\t\t\t\t.html()\r\n\t\t\t\t\t\t.trim()\r\n\t\t\t\t\t\t.replace(/\\bid\\s*=/gi, \"psudoId=\");\r\n\t\t\t\t\trefN = $refered.find(\".number\").html();\r\n\t\t\t\t\t$referI.html(fCiteHtml());\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tm.logPrint(`

    <cite> and <refer> tags are rendered to show bubble reference.`);\r\n\r\n\t\t$docuKI.addClass(\"rendered\");\r\n\t};\r\n})(window.k, jQuery);\r\n"], "mappings": "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", "names": ["m", "$", "fsToRs", "s", "len", "i", "code", "searchStr", "vars", "j", "splits", "key", "value", "k", "arr", "sorted", "n", "largest", "r", "upto", "until", "str", "uri", "exec", "elem", "$elem", "$parent", "$z", "zIndex", "elemStr", "option", "id", "noPc", "v", "inListPlay", "config", "list", "time", "secondToSeek", "hour", "minute", "second", "ptnURI", "uriRest", "toA", "descR", "resolve", "reject", "shortURI", "resp", "decomposedURI", "uriRendered", "pathname", "lastPath", "no", "href", "keepOriginal", "$uri", "src", "err", "conciseURI", "res", "l", "result", "uriHost", "search", "hash", "ptnURL", "start", "sKey", "sPath", "sDomain", "bSecure", "sValue", "vEnd", "sExpires", "val", "e", "touch0", "relativeX", "relativeY", "p", "cho", "jung", "jong", "c", "ptnSH", "mapKE", "strSplitted", "indices", "p1", "p2", "strSH", "diff", "fs", "shuffled", "regExs", "regExsReversed", "listI", "txt", "txtS", "txtSReversed", "matched", "maxMatchScore", "indicesMMS", "matchScore", "indicesReversed", "iR", "temp", "$fsl", "$lis", "$liSelected", "$liTo", "$listI", "fsPtnSH", "fsFLk", "now", "passed", "colMap", "rowMap", "ret", "delimiter", "lastQuote", "row", "col", "delim", "strElem", "increaseRC", "firstColSize", "jMax", "rows", "txtArray", "tableStr", "SEE", "dE", "end", "subStr", "ps", "head", "rexClasses", "classes", "toBeRendered", "SEEi", "TOC", "PH", "COTD", "RRA", "untilEnter", "hN", "emmet", "elemId", "docuOn", "secOn", "subsecOn", "subsubsecOn", "countTOC", "countCOTD", "countPH", "countRRA", "h1Count", "h2Count", "h3Count", "h4Count", "hNCount", "closeSec", "hNExec", "headTotal", "$contents", "contentsL", "strArray", "$contentI", "firstIndent", "indentRegExp", "codeId", "$pre", "$code", "html", "obj", "next", "toBeScrolledBy", "windowScrollTop", "nOffsetTop", "nHeight", "tailHeight", "referrer", "referrerHTML", "modeI", "font", "increment", "service", "title", "url", "decodedURL", "open", "written", "written1", "viewportHeight", "scrollTop", "elemTop", "elemBottom", "done", "wSTBefore", "orderElem", "orderLastElem", "$collection", "sHBefore", "sHAfter", "outerHeightBefore", "docuKI", "$docuKI", "postId", "postIdRegEx", "index", "$this", "$secs", "$subSecs", "$subSubSecs", "secContentsId", "$secI", "$secIH2", "$subsecJH3", "$subsubsecKH4", "secN", "secITxt", "subsecI", "subsubsecI", "tocHtml", "secId", "secPreTxt", "$eqqs", "eqN", "eqC", "$figs", "fTocHtml", "numbering", "fSecHtml", "endA0", "endA1", "fEqqHtml", "figN", "ith", "orgTxt", "pad", "max", "refN", "preRefHtml", "refHtml", "citeN", "fCiteHtml", "$olRefs", "$refs", "refsN", "$cites", "$citeI", "$refered", "refNHtml", "$refers", "$referI"] }