1function convertTeamIDToSlug(e) { 2 if ("undefined" == typeof teamHelper || null === teamHelper || !teamHelper["T_" + e]) return e; 3 return `${teamHelper["T_" + e][1 + lang].toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, "")}-${e}` 4} 5 6function utTeam(e, t) { 7 return _databaseDomain + "/" + toThaiUri("team") + "/{0}/{1}".format(t ? toThaiUri("teamsche") : toThaiUri("summary"), e) 8} 9 10function utLea(e) { 11 return _databaseDomain + "/" + toThaiUri("leagueinfo") + "/{0}".format(e) 12} 13 14function changeGif(e) { 15 return e 16} 17 18function _$(e) { 19 return document.getElementById(e) 20} 21 22function _$$(e) { 23 return document.getElementsByName(e) 24} 25 26function writeCookie(e, t, o) { 27 if ("undefined" == typeof _appModule || "Ind" != _appModule && "Bola" != _appModule) { 28 var n = o; 29 null == n && (n = new Date((new Date).getTime() + 1314e6)), n = ";path=/;expires=" + n.toGMTString(), document.cookie = e + "=" + escape(t) + n 30 } else writeShareCookie(e, t, o) 31} 32 33function clearCookie(e) { 34 writeCookie(e, "", new Date) 35} 36 37function getDoMain() { 38 var e = location.href.split("/")[2].split("."); 39 return "www" === e[0] ? e.slice(1).join(".") : e.map(((t, o) => o === e.length - 1 ? t.split(":")[0] : t)).join(".") 40} 41 42function writeShareCookie(e, t, o) { 43 var n = o; 44 null == n && (n = new Date((new Date).getTime() + 1314e6)), n = ";path=/;expires=" + n.toGMTString() + ";domain=" + getDoMain(), document.cookie = e + "=" + escape(t) + n 45} 46 47function WriteTmpCookie(e, t) { 48 document.cookie = e + "=" + escape(t) + ";path=/;expires=-1" 49} 50 51function WriteSession(e, t) { 52 window.sessionStorage.setItem(e, t) 53} 54 55function GetSession(e) { 56 return window.sessionStorage.getItem(e) 57} 58 59function MM_findObj(e, t) { 60 var o, n, a; 61 for (t || (t = document), (o = e.indexOf("?")) > 0 && parent.frames.length && (t = parent.frames[e.substring(o + 1)].document, e = e.substring(0, o)), (a = t[e]) || !t.all || (a = t.all[e]), n = 0; !a && n < t.forms.length; n++) a = t.forms[n][e]; 62 for (n = 0; !a && t.layers && n < t.layers.length; n++) a = MM_findObj(e, t.layers[n].document); 63 return !a && t.getElementById && (a = t.getElementById(e)), a 64} 65 66function MM_showHideLayers() { 67 var e, t, o, n = MM_showHideLayers.arguments; 68 for (e = 0; e < n.length - 2; e += 3) null != (o = MM_findObj(n[e])) && (t = n[e + 2], o.style && (o = o.style, t = "show" == t ? "visible" : "hide" == t ? "hidden" : t), o.visibility = t) 69} 70 71function getIENumber() { 72 var e = 0; 73 try { 74 return document.all && void 0 !== document.documentMode && (e = document.documentMode), e 75 } catch (e) { 76 return 0 77 } 78} 79 80function getNodeContent(e) { 81 try { 82 if (!e) return null; 83 var t = e.textContent; 84 return t || e.text 85 } catch (e) { 86 console.log("getNodeContent", e) 87 } 88} 89 90function ShowCHWindow(e) { 91 imagewidth = 460, imageheight = 55, x = 280, x = (screen.width - imagewidth) / 2, y = 1, oPopupBody = oPopup.document.body, oPopupBody.innerHTML = e, oPopupBody.style.cursor = "pointer", oPopupBody.title = "Hit to close", oPopupBody.onclick = dismisspopup, oPopupBody.oncontextmenu = dismisspopup, pop_TC = 40, pop() 92} 93 94function pop() { 95 try { 96 oPopup.show(x, y, imagewidth, imageheight), startani_A = setTimeout("pop()", 300), pop_TC < 0 && dismisspopup(), pop_TC -= 1 97 } catch (e) { 98 } 99} 100 101function dismisspopup() { 102 clearTimeout(startani_A), oPopup.hide() 103} 104 105function ShowCHWindow123(e) { 106 document.getElementById("div_goal").innerHTML = e, document.getElementById("div_goal").style.display = "", document.getElementById("div_goal").style.left = document.body.parentElement.offsetWidth / 2 - 230 + "px", goal = 20, window.clearTimeout(goalTime), showTime() 107} 108 109function showTime(e) { 110 if (1 == e && (goal = -1), goal < 0) return document.getElementById("div_goal").innerHTML = "", document.getElementById("div_goal").style.display = "none", void window.clearTimeout(goalTime); 111 goal -= 1, goalTime = window.setTimeout("showTime()", 1e3) 112} 113 114function convertIntToTimeText(e, o, n, a, i, r, s) { 115 var l, c = new Date(e, o, n, a, i, r); 116 t = ToLocalTime(c), l = "<span name='timeData' data-t='" + c + "' data-tf='14'>" + timeToText(ToLocalTime(c), 14) + "</span>", 1 == s ? l = "<span name='timeData' data-t='" + c + "' data-tf='6'>" + timeToText(ToLocalTime(c), 6) + "</span>" : 2 == s ? l = "<span name='timeData' data-t='" + c + "' data-tf='16'>" + timeToText(ToLocalTime(c), 16) + "</span>" : 3 == s ? l = "<span name='timeData' data-t='" + c + "' data-tf='19'>" + timeToText(ToLocalTime(c), 21) + "</span>" : 4 == s && (l = "<span name='timeData' data-t='" + c + "' data-tf='19'>" + timeToText(ToLocalTime(c), 19) + "</span>"), document.write(l) 117} 118 119function skipHtmlTagBoth(e) { 120 return null != e && (e = e.replace(/<.*>.*<\/.*>/gi, "")), e 121} 122 123function skipHtmlTag(e) { 124 return null != e && (e = e.replace(/<[^>]+>/g, "")), e 125} 126 127function isTouch() { 128 return /(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent) || /Android/i.test(navigator.userAgent) 129} 130 131function OpenMobile() { 132 CheckEmpty(_touchWebDomain) || ("Nir" == _appModule || "Pt" == _appModule || "World" == _appModule || "Kor" == _appModule ? window.open(_touchWebDomain + "?from=pc") : window.open(_touchWebDomain)) 133} 134 135function OpenFreeApp() { 136 CheckEmpty(_freeAppDomain) || window.open(_freeAppDomain) 137} 138 139function OpenFbSclass(e) { 140 if (null == e || "" == e || 0 == e) return !1; 141 window.open(_databaseDomain + "/" + toThaiUri("football") + "/" + toThaiUri("leagueinfo-pop-up") + "/" + e) 142} 143 144function goFbInfoRank(e, t = "") { 145 if (null == (e = toThaiSlug(e))) return !1; 146 window.open(_databaseDomain + "/" + toThaiUri("football") + "/" + toThaiUri("leastanding") + "/" + e) 147} 148 149function goBkInfoRank(e) { 150 if (null == e) return !1; 151 window.open(_basketballWebDomain + toThaiUri("leastanding") + "/" + e) 152} 153 154function zXmlHttp() { 155} 156 157function GetLocalTime(e) { 158 var t = e.split(","), o = new Date(t[0], t[1], t[2], t[3], t[4], t[5]); 159 return new Date(Date.UTC(o.getFullYear(), o.getMonth(), o.getDate(), o.getHours(), o.getMinutes(), o.getSeconds())) 160} 161 162function formatDate(n, t) { 163 var u = "", r = n.split(","), i = new Date(r[0], eval(r[1]), r[2], r[3], r[4], r[5]); 164 i = new Date(Date.UTC(i.getFullYear(), i.getMonth(), i.getDate(), i.getHours(), i.getMinutes(), i.getSeconds())), u = timeToText(i, 1 == t ? 13 : 2 == t ? 18 : 3 == t ? 2 : 4 == t ? 4 : 6 == t ? 6 : 7 == t ? 7 : 20 == t ? 20 : 1), document.write(u) 165} 166 167function formatTime2(e) { 168 var t = e.getHours(), o = e.getMinutes(); 169 return t < 10 && (t = "0" + t), o < 10 && (o = "0" + o), t + ":" + o 170} 171 172function convertTime(n, t) { 173 var i = 1 == t ? 1 : 0, n; 174 return -1 != n.indexOf(":") && (n = n.replace(/-/g, ",").replace(/\ /g, ",").replace(/:/g, ","), i = 1), n = n.split(","), n[1] = eval(n[1]) - i, new Date(n[0], n[1], n[2], n[3], n[4]) 175} 176 177function ParseTime(e, t) { 178 var o = new Date(e.substr(0, 4), parseInt(e.substr(4, 2).replace(/0(\d)/, "$1")) - 1, e.substr(6, 2), e.substr(8, 2), e.substr(10, 2)), 179 n = new Date(o.getTime() + 36e5 * _timeZone - 288e5); 180 return t && (n = new Date(o.getTime() + 36e5 * _timeZone)), n || e 181} 182 183function dateToTime(e) { 184 return /(\d{2})-(\d{1,2})-(\d{1,2})([\s\d\:]*)/.test(e) ? (e = ("20" + e).replaceAll("-", "/"), timeToText(new Date(e), 2)) : e 185} 186 187function timeToText(e, t) { 188 var o = ["dd-MM-yyyy hh:mm:ss", "dd-MM-yyyy hh:mm:ss", "dd-MM-yyyy", "dd-MM", "hh:mm", "t2 dd", "dd-MM hh:mm", "dd-MM-yy", "yyyy", "dd.MM.yyyy", "t2 dd hh:mm", "hh:mm,ww,dd-MM-yyyy", "dd-MM-yyyy(w)", "dd-MM-yyyy hh:mm w", "dd-MM hh:mm", "dd-MM hh:mm", "dd-MM-yy", "dd-MM-yyyy", "dd-MM-yyyy hh:mm", "d-M-yyyy hh:mm", "yyyy.MM.dd hh:mm", "M-d hh:mm", "dd t2 yyyy,hh:mm", "dd/MM/yyyy hh:mm"]; 189 return dateFtt(o[t = t || 0] || o[0], e) 190} 191 192function setTimeByFormat() { 193 for (var e, t, o = document.querySelectorAll("[data-time]"), n = 0; n < o.length; n++) t = getTimeByUtcStr((e = o[n]).getAttribute("data-time")), e.innerHTML = timeToText(t, e.getAttribute("data-fmt")) 194} 195 196function setPublishTime() { 197 $("[data-pubtime]").each((function () { 198 var e = this.getAttribute("data-pubtime"); 199 this.innerHTML = publishTimeDesc(e, this.getAttribute("data-fmt")) 200 })) 201} 202 203function publishTimeDesc(e, t) { 204 var o, n, a; 205 o = e instanceof Date ? e : getTimeByUtcStr(e), n = -(new Date).getTimezoneOffset() / 60, null != (a = getCookie("Time_Zone")) && "" != a && (n = a); 206 var i = new Date, 207 r = new Date(i.getUTCFullYear(), i.getUTCMonth(), i.getUTCDate(), i.getUTCHours(), i.getUTCMinutes(), i.getUTCSeconds()), 208 s = new Date(r.getTime() + 36e5 * n), l = _locModel.T.T_JustBefore || "Just now", 209 c = _locModel.T.T_FM_HoursBefore || "{0} Hours Ago", d = _locModel.T.T_FM_MinutesBefore || "{0} Minutes Ago", 210 u = (s - o) / 36e5; 211 return u < .1 ? l : u < 1 ? d.replace("{0}", (60 * parseFloat(u).toFixed(2)).toFixed(0)) : u < 24 ? c.replace("{0}", parseInt(u)) : timeToText(o, t) 212} 213 214function getTimeByUtcStr(e) { 215 var t, o = splitTime(e), n = -(new Date).getTimezoneOffset() / 60, a = getCookie("Time_Zone"); 216 return null != a && "" != a && (n = a), t = new Date(o[0], o[1], o[2], o[3], o[4], o[5]), t = new Date(t.getFullYear(), t.getMonth(), t.getDate(), t.getHours(), t.getMinutes(), t.getSeconds()), new Date(t.getTime() + 36e5 * n) 217} 218 219function splitTime(n) { 220 var t = 0, n; 221 return -1 != n.indexOf(":") && (n = n.replace(/(-|\s|:)/g, ","), t = 1), n = n.split(","), n[1] = eval(n[1]) - t, n 222} 223 224function dateFtt(e, t) { 225 var o, n; 226 for (n in 0 == _hasInitDateFormat && (_months2 = "undefined" != typeof _locModel && void 0 !== _locModel.T.T_S_Jan ? [_locModel.T.T_S_Jan, _locModel.T.T_S_Feb, _locModel.T.T_S_Mar, _locModel.T.T_S_Apr, _locModel.T.T_S_May, _locModel.T.T_S_Jun, _locModel.T.T_S_Jul, _locModel.T.T_S_Aug, _locModel.T.T_S_Sep, _locModel.T.T_S_Oct, _locModel.T.T_S_Nov, _locModel.T.T_S_Dec] : ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], _weeks = "undefined" != typeof _locModel && void 0 !== _locModel.T.T_Sunday ? [_locModel.T.T_Sunday, _locModel.T.T_Monday, _locModel.T.T_Tuesday, _locModel.T.T_Wednesday, _locModel.T.T_Thursday, _locModel.T.T_Friday, _locModel.T.T_Saturday] : ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], _weeks2 = "undefined" != typeof _locModel && void 0 !== _locModel.T.T_S_Sunday ? [_locModel.T.T_S_Sunday, _locModel.T.T_S_Monday, _locModel.T.T_S_Tuesday, _locModel.T.T_S_Wednesday, _locModel.T.T_S_Thursday, _locModel.T.T_S_Friday, _locModel.T.T_S_Saturday] : ["Sun.", "Mon.", "Tue.", "Wed.", "Thu.", "Fri.", "Sat."], _hasInitDateFormat = 1), o = { 227 "M+": t.getMonth() + 1, 228 "d+": t.getDate(), 229 "h+": t.getHours(), 230 "m+": t.getMinutes(), 231 "s+": t.getSeconds(), 232 t1: _months[t.getMonth()], 233 t2: _months2[t.getMonth()], 234 "w+": _weeks[t.getDay()] 235 }, /(y+)/.test(e) && (e = e.replace(RegExp.$1, (t.getFullYear() + "").substr(4 - RegExp.$1.length))), o) new RegExp("(" + n + ")").test(e) && (e = e.replace(RegExp.$1, 1 == RegExp.$1.length || /[tw]/.test(n) ? o[n] : ("00" + o[n]).substr(("" + o[n]).length))); 236 return e 237} 238 239function ToLocalTime(e) { 240 return e = "string" != typeof e ? new Date(e) : new Date(e.replace(/-/g, "/")), new Date(e.getTime() + 36e5 * _timeZone) 241} 242 243function ServiceTimeToLocal(e) { 244 return localT = new Date(1e3 * e - 288e5 + 36e5 * _timeZone) 245} 246 247function checkExlink(e) { 248 var t; 249 return -1 != e.indexOf("$") ? 3 == (t = e.split("$")).length ? t[0] + t[2] : t[0] : e 250} 251 252function showExplain(e, t, o) { 253 var n, a, i; 254 return t = t.replace(/<[^>].*?>/g, ""), o = o.replace(/<[^>].*?>/g, ""), t = t.replace("(N)", ""), o = o.replace("(N)", ""), n = "", "" != e && e.indexOf("|") > -1 && ("" != (a = e.split("|"))[1].split(";")[0] && (n += _locModel.T.T_KickOff + "(", "1" == a[1].split(";")[0] ? n += t + ")" : "2" == a[1].split(";")[0] && (n += o + ")")), "" != a[1].split(";")[1] && -1 == window.location.href.toLowerCase().indexOf("asianbookie") && -1 == window.location.href.toLowerCase().indexOf("free") && ("3" == a[1].split(";")[1] || "4" == a[1].split(";")[1] || "5" == a[1].split(";")[1]) && ("" != n && (n += "<br />"), n += "<a href=http://tv.nowgoal.com/ target=_blank><font class=blue>[Live TV]</font></a>"), "" != a[2].split(";")[0] && ("" != n && (n += "<br />"), n += _locModel.T.T_Corner + "(" + a[2].split(";")[0] + ") | ", n += _locModel.T.T_Corner + "(" + a[2].split(";
254")[1] + ")"), "" != (i = a[3].split(";"))[0] && ("" != n && (n += "<br />"), n += i[0].split(",")[0] + _locModel.T.T_S_Minutes + "[" + i[0].split(",")[1] + "], ", "" != i[1] && (n += _locModel.T.T_TwoRounds + "[" + i[1] + "], "), "" != i[2] && (n += "1" == i[2].split(",")[0] ? "120" + _locModel.T.T_S_Minutes + "[" + i[2].split(",")[1] + "], " : _locModel.T.T_ST_Ot + "[" + i[2].split(",")[1] + "], "), "" != i[3] && (n += _locModel.T.T_Explain_Pen + "[" + i[3] + "], "), "" != i[4] && ("1" == i[4] ? n += t + " " + _locModel.T.T_Win : "2" == i[4] && (n += o + " " + _locModel.T.T_Win)))), n 255} 256 257function getTopHeight() { 258 return document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body ? document.body.scrollTop : window.pageYOffset 259} 260 261function getPageHeight() { 262 var e = window.innerHeight; 263 return "number" != typeof pageWindth && (e = "CSS1Compat" == document.compatMode ? document.documentElement.clientHeight : document.body.clientHeight), e 264} 265 266function getElementPos(e, t) { 267 var o, n, a, i, r, s, l, c = navigator.userAgent.toLowerCase(), d = -1 != c.indexOf("opera"), 268 u = (c.indexOf("msie"), document.getElementById(e)); 269 if (u) { 270 if (u && (t && (u = t), null === u.parentNode || "none" == u.style.display)) return !1; 271 if (u && (o = null, n = [], u.getBoundingClientRect)) return a = u.getBoundingClientRect(), i = Math.max(document.documentElement.scrollTop, document.body.scrollTop), r = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft), { 272 x: a.left + r, 273 y: a.top + i 274 }; 275 if (document.getBoxObjectFor) a = document.getBoxObjectFor(u), s = u.style.borderLeftWidth ? parseInt(u.style.borderLeftWidth) : 0, l = u.style.borderTopWidth ? parseInt(u.style.borderTopWidth) : 0, n = [a.x - s, a.y - l]; else { 276 if (n = [u.offsetLeft, u.offsetTop], (o = u.offsetParent) != u) for (; o;) n[0] += o.offsetLeft, n[1] += o.offsetTop, o = o.offsetParent; 277 (-1 != c.indexOf("opera") || -1 != c.indexOf("safari") && "absolute" == u.style.position) && (n[0] -= document.body.offsetLeft, n[1] -= document.body.offsetTop) 278 } 279 for (o = u.parentNode ? u.parentNode : null;
279 o && "BODY" != o.tagName && "HTML" != o.tagName;) n[0] -= o.scrollLeft, n[1] -= o.scrollTop, o = o.parentNode ? o.parentNode : null; 280 return {x: n[0], y: n[1]} 281 } 282} 283 284function returnTop() { 285 var e = getTopHeight(), 286 t = (document.documentElement.scrollHeight || document.body.scrollHeight) - e - (document.documentElement.clientHeight || document.body.clientHeight), 287 o = document.getElementById("backTop"), n = document.getElementById("toBottom"); 288 o && (o.style.display = e > 150 ? "" : "none", 0 == t && n ? n.style.display = "none" : n && (n.style.display = ""), setTimeout("returnTop();", 100)) 289} 290 291function GetHandicapType() { 292 var e = 1, t = getCookie("Handicap_Type"); 293 return t && (e = parseInt(t)), e 294} 295 296function initHandicap() { 297 (_handicapType = GetHandicapType()) <= _handicapTypeArray.length && (_handicapGive = _handicapTypeArray[_handicapType - 1].split("/")[0], _handicapAccept = _handicapTypeArray[_handicapType - 1].split("/")[1]) 298} 299 300function Goal2GoalCn(e) { 301 if (!e && "0" != e || isNaN(e)) return ""; 302 if (e > 14) return _handicapGive + Math.abs(e); 303 if (e < -14) return _handicapAccept + Math.abs(e); 304 var t = Math.abs(parseInt(4 * e)); 305 return e >= 0 ? GoalCn[t].replace("{0}", _handicapGive) : GoalCn[t].replace("{0}", _handicapAccept) 306} 307 308function Goal2GoalCn2(e) { 309 return Goal2GoalCn(e) 310} 311 312function Goal2CnOU(e) { 313 return !e && "0" != e || isNaN(e) ? "" : e > 14 || e < -14 ? _ouTrimEndZero ? parseFloat(e).toString() : e : GoalCnOU[Math.abs(parseInt(4 * e))] 314} 315 316function Goal2Num(e) { 317 var t, o; 318 return void 0 === e ? "" : isNaN(e) && -1 != e.indexOf("/") ? (t = !1, e.indexOf("-") > -1 && (t = !0), o = (e = e.replace("+", "").replace("-", "")).split("/"), e = (parseFloat(o[0]) + parseFloat(o[1])) / 2, t ? 0 - e : e) : parseFloat(e) 319} 320 321function insertAfter(e, t) { 322 var o = t.parentNode; 323 o.lastChild == t ? o.appendChild(e) : o.insertBefore(e, t.nextSibling) 324} 325 326function IsMobile() { 327 return -1 != navigator.userAgent.toLowerCase().indexOf("android") || -1 != navigator.userAgent.toLowerCase().indexOf("iphone") || -1 != navigator.userAgent.toLowerCase().indexOf("mobile") 328} 329 330function showCountDefer() { 331 var e, t; 332 if (!_cnzzLoaded) { 333 for ((e = document.getElementById("allCnzz")).removeChild(e.firstChild), t = 0; t < _cnzzUrls.length; t++) addScript(e, _cnzzUrls[t]); 334 _cnzzLoaded = !0 335 } 336} 337 338function addScript(e, t) { 339 var o = document.createElement("script"); 340 o.src = t, e.appendChild(o, "script") 341} 342 343function GetBasketState(e, t) { 344 var o; 345 switch (e) { 346 case-5: 347 o = _locModel.T.T_ST_Postp; 348 break; 349 case-4: 350 o = _locModel.T.T_ST_Cancel; 351 break; 352 case-3: 353 o = "<font class=blue>" + _locModel.T.T_ST_Interrupt + "</font>"; 354 break; 355 case-2: 356 o = "<font class=blue>" + _locModel.T.T_ST_Pend + "</font>"; 357 break; 358 case-1: 359 o = "<strong class=red>" + _locModel.T.T_ST_Finish + "</strong>"; 360 break; 361 case 0: 362 o = " "; 363 break; 364 case 1: 365 o = _locModel.T.T_ST_Qtr1; 366 break; 367 case 2: 368 o = _locModel.T.T_ST_Qtr2; 369 break; 370 case 3: 371 o = 2 == t ? _locModel.T.T_ST_Qtr1 : _locModel.T.T_ST_Qtr3; 372 break; 373 case 4: 374 o = _locModel.T.T_ST_Qtr4; 375 break; 376 case 5: 377 case 6: 378 case 7: 379 o = _locModel.T.T_ST_Ot; 380 break; 381 case 50: 382 o = _locModel.T.T_ST_Halftime 383 } 384 return o 385} 386 387function OpenBkSclass(e) { 388 if (null == e || "" == e || 0 == e) return !1; 389 window.open(`${_databaseDomain}/${toThaiUri("basketball")}/${toThaiUri("leagueinfo")}/${e}`) 390} 391 392function getQueryVariable(e) { 393 for (var t, o = window.location.search.substring(1).split("&"), n = 0; n < o.length; n++) if ((t = o[n].split("="))[0] == e) return t[1]; 394 return !1 395} 396 397function HashMap() { 398 var e = 0, t = {}; 399 this.isEmpty = function () { 400 return 0 == e 401 }, this.containsKey = function (e) { 402 return e in t 403 }, this.containsValue = function (e) { 404 for (var o in t) if (t[o] == e) return !0; 405 return !1 406 }, this.put = function (o, n) { 407 this.containsKey(o) || e++, t[o] = n 408 }, this.get = function (e) { 409 return this.containsKey(e) ? t[e] : null 410 }, this.remove = function (o) { 411 this.containsKey(o) && delete t[o] && e-- 412 }, this.values = function () { 413 var e = []; 414 for (var o in t) e.push(t[o]); 415 return e 416 }, this.keySet = function () { 417 var e = []; 418 for (var o in t) e.push(o); 419 return e 420 }, this.size = function () { 421 return e 422 }, this.clear = function () { 423 e = 0, t = {} 424 } 425} 426 427function MonitorError() { 428 var e, t; 429 "debug" == getQueryVariable("mode") && (e = getQueryVariable("report"), window.onerror = function (t) { 430 1 == e && alert("è¿è¡å¼å¸¸" + t) 431 }, window.addEventListener("error", (function (t) { 432 var o = t.target.src || t.target.href; 433 o && 1 == e && alert("èµæºå è½½å¼å¸¸:" + o) 434 }), !0), t = 0, 0, window.addEventListener("ajaxReadyStateChange", (function (o) { 435 var n = o.detail, a = n.status, i = n.readyState; 436 1 === i && (t = (new Date).getTime()), 4 === i && (new Date).getTime() - t, 4 === i && (200 === a || 1 == e && alert("å¼å¸¸æ¥å£ï¼" + n.responseURL)) 437 }
437))) 438} 439 440function addLoadEvent(e) { 441 var t = window.onload; 442 window.onload = "function" != typeof onload ? e : function () { 443 t(), e() 444 } 445} 446 447function NoDataHtml(e) { 448 return 2 == e ? "<div class='DataTips'>" + _locModel.T.T_Tip_NoMatch + "</div>" : "<div class='DataTips'>" + _locModel.T.T_Tip_NoData + "</div>" 449} 450 451function LoadDark() { 452 var e = null == getCookie("dark_mode") ? dark_mode : getCookie("dark_mode"); 453 null != GetSession("dark_mode") && "" != GetSession("dark_mode") && (e = GetSession("dark_mode")), document.getElementsByTagName("body").length > 0 ? null != e && 1 == e ? (document.getElementsByTagName("body")[0].classList.add("dark"), null != document.getElementById("flash") && window.frames.flash.contentWindow.document.body.classList.add("dark")) : (document.getElementsByTagName("body")[0].classList.remove("dark"), null != document.getElementById("flash") && window.frames.flash.contentWindow.document.body.classList.remove("dark")) : addLoadEvent(LoadDark) 454} 455 456function SwithcDark(e = "") { 457 document.getElementById("DarkModeCheck" + e).checked ? (dark_mode = 1, writeShareCookie("dark_mode", 1)) : (dark_mode = 0, writeShareCookie("dark_mode", 0)), LoadDark() 458} 459 460function SyncDarkCheck() { 461 var e = getCookie("dark_mode"); 462 null == e && (e = dark_mode), 1 == e && document.getElementById("DarkModeCheck") && (document.getElementById("DarkModeCheck").checked = !0), document.getElementById("DarkModeCheck") && (document.getElementById("DarkModeCheck").style.display = "") 463} 464 465function setGoalCnFormat(e) { 466 var t, o, n; 467 if (null != e && (null != (t = document.querySelectorAll("#" + e + " [data-o]")) && 0 != t.length)) for (o = 0; o < t.length; o++) (!(n = t[o]).innerHTML.trim() || n.getAttribute("data-o")) && (t2 = Goal2GoalCn(n.getAttribute("data-o")), n.innerHTML = t2) 468} 469 470function CheckEmpty(e) { 471 return void 0 === e || "undefined" == e || !e || !/[^\s]/.test(e) 472} 473 474function BomHelper() { 475 this.ie = "", this.firefox = "", this.chrome = "", this.opera = "", this.safari = "", this.operaMini = "", this.uc = "", this.ios = "", this.android = {}, this.pc = "", this.kv = function (e, t, o) { 476 return {key: e, value: t, opt: o || 1} 477 } 478} 479 480function GetAvatar(e) { 481} 482 483function LoginSuccess() { 484 RefreshIcon() 485} 486 487function RefreshIcon() { 488 window.ssoContent && document.getElementById("login_icon") && (document.getElementById("login_icon").innerHTML = ssoContent) 489} 490 491function escapeChar(e = "") { 492 return e.replace(/\'/g, "´") 493} 494 495function createXml(e) { 496 if (document.all) { 497 var t = new ActiveXObject("Microsoft.XMLDOM"); 498 return t.loadXML(e), t 499 } 500 return (new DOMParser).parseFromString(e, "text/xml") 501} 502 503function oddsCompare(e, t) { 504 e = e ? e.toString() : "", t = t ? t.toString() : ""; 505 var o = parseFloat(e), n = parseFloat(t); 506 return e && -1 != e.indexOf("/") && (o = (-1 == e.indexOf("-") ? 1 : -1) * (parseFloat(e.replace("-", "").split("/")[0]) + parseFloat(e.replace("-").split("/")[1])) / 2), e && -1 != e.indexOf("/") && (n = (-1 == t.indexOf("-") ? 1 : -1) * (parseFloat(t.replace("-", "").split("/")[0]) + parseFloat(t.replace("-").split("/")[1])) / 2), n > o ? 1 : n == o ? 0 : -1 507} 508 509function showDate(e, t, o, n, a, i) { 510 var r = new Date(e, t, o, n, a, i), s = timeToText(ToLocalTime(r), 6); 511 document.write("<span name='timeData' data-t='" + r + "' data-tf='6'>" + s + "</span>") 512} 513 514function getDate(n) { 515 var t = n.split(","), i = new Date(t[0], eval(t[1]), t[2], t[3], t[4], t[5]); 516 return timeToText(ToLocalTime(i), 6) 517} 518 519function openLqEuroDetail(e, t, o) { 520 var n = "/nba/oddsdetail/" + e + "?cid=" + t + "&company=" + o; 521 window.open(n, "", "width=470,height=280,top=40,left=100,resizable=yes,scrollbars=yes") 522} 523 524function switchSlide(e) { 525 $(e).hasClass("on") ? $(e).removeClass("on") : $(e).addClass("on") 526} 527 528function loadCnzz(e, t) { 529 return !1 530} 531 532function loadIndexCnzz(e) { 533 return !1 534} 535 536function cancelBubble(e) { 537 var t = e || window.event; 538 t && (window.event ? t.cancelBubble = !0 : t.stopPropagation()) 539} 540 541function handleBackFromBf2(e) { 542 var t = location.href; 543 -1 === t.indexOf("?returnurl=") && (location.href = e + "?returnurl=" + t) 544} 545 546function settingDiff() { 547} 548 549function departmentDiff() { 550 switch (_appModule) { 551 case"Ng": 552 case"Vn": 553 case"Kor": 554 case"Ida": 555 return !0; 556 case"Go": 557 case"Thai": 558 case"Ind": 559 return !1 560 } 561 return !0 562} 563 564function loadStatsCode() { 565} 566 567function buildTags(e, t) { 568 return e.replace(/\{\$(\w+)\}/g, (function (e, o) { 569 return o in t ? t[o] : "" 570 })) 571} 572 573function countFavMatch() { 574 try { 575 var e = $("#favCount")[0], t = $(".favCount-mobile")[0]; 576 (e || t) && (CheckEmpty(Config.getFavMatchIds()) ? (e && ($("#favCount").html(""), $("#favCount").removeClass("fav_count")), t && ($(".favCount-mobile").html(""), $(".favCount-mobile").removeClass("fav_count"))) : $.ajax({
577 url: "/ajax/FavAjax?type=4", 578 method: "post", 579 success: function (o) { 580 var n = JSON.parse(o); 581 if (-1 != n.ErrCode && !CheckEmpty(n.Data)) { 582 n.Data.id.split(","); 583 n.Data.hid.split(","), n.Data.gid.split(","); 584 let o = s = Config.getFavMatchIds(); 585 f = Config.getFavLeagueIds(); 586 Config.getFavTeamIds(); 587 const a = o.length; 588 0 == a ? (e && ($("#favCount").html(""), $("#favCount").removeClass("fav_count")), t && ($(".favCount-mobile").html(""), $(".favCount-mobile").removeClass("fav_count"))) : a > 99 ? (e && ($("#favCount").html("99+"), $("#favCount").addClass("fav_count")), t && ($(".favCount-mobile").html("99+"), $(".favCount-mobile").addClass("fav_count"))) : (e && ($("#favCount").html(a), $("#favCount").addClass("fav_count")), t && ($(".favCount-mobile").html(a), $(".favCount-mobile").addClass("fav_count"))) 589 } 590 } 591 }), clearTimeout(_counFavMatchTimmer), _counFavMatchTimmer = window.setTimeout("countFavMatch()", 3e4)) 592 } catch (e) { 593 } 594} 595 596function mathOdds(e) { 597 return e 598} 599 600function countLqFavMatch() { 601 _$("favCount") && (CheckEmpty(LqConfig.getFavMatchIds() + LqConfig.getFavTeamIds()) ? ($("#favCount").html(""), $("#favCount").removeClass("fav_count")) : $.ajax({ 602 url: "/ajax/FavAjax?type=14", 603 method: "post", 604 success: function (e) { 605 var t, o = JSON.parse(e); 606 if (-1 != o.ErrCode && !CheckEmpty(o.Data)) { 607 var n = o.Data.id.split(","), a = o.Data.hid.split(","), i = o.Data.gid.split(","), r = 0, 608 s = LqConfig.getFavMatchIds(), l = LqConfig.getFavTeamIds(); 609 if (null != n && n.length > 0) for (t = 0; t < n.length; t++) (s.contains(n[t]) || l.contains(a[t]) || l.contains(i[t])) && r++; 610 0 == r ? ($("#favCount").html(""), $("#favCount").removeClass("fav_count")) : r > 99 ? ($("#favCount").html("99+"), $("#favCount").addClass("fav_count")) : ($("#favCount").html(r), $("#favCount").addClass("fav_count")) 611 } 612 } 613 }), clearTimeout(_counFavMatchTimmer), _counFavMatchTimmer = window.setTimeout("countLqFavMatch()", 3e4)) 614} 615 616function getUTCTime() { 617 const e = new Date; 618 return new Date(e.getTime() + 6e4 * e.getTimezoneOffset()) 619} 620 621function handleCutZero(e) { 622 var t = e.toString(); 623 let o = t, n = t.length - t.indexOf(".") - 1; 624 if (t.indexOf(".") > -1) for (let e = n; e > 0; e--) { 625 if (!(o.lastIndexOf("0") > -1 && 0 == o.substr(o.length - 1, 1))) return o; 626 { 627 let e = o.lastIndexOf("0"); 628 if ("." == o.charAt(e - 1)) return o.substring(0, e - 1); 629 o = o.substring(0, e) 630 } 631 } 632 return t 633} 634 635function switchShowHide(e) { 636 if (_$(e)) { 637 var t = $("#" + e); 638 t.is(":hidden") ? t.show() : t.hide() 639 } 640} 641 642function appendUrlParameter(e, t, o) { 643 var n, a = document.createElement("a"); 644 return a.href = e, a.search.length > 0 ? ((n = new URLSearchParams(a.search)).set(t, o), a.search = n.toString()) : a.search = "?" + t + "=" + o, a.href 645} 646 647function appOpenBrowserUrl(e) { 648 return appendUrlParameter(e, "openbrowser", "1") 649} 650 651function SetOddType(e) { 652 writeShareCookie("Odds_Type", e) 653} 654 655function GetOddType() { 656 var e = _defaultOddsType, t = getCookie("Odds_Type"); 657 return null == !t || "" == t || null == t || isNaN(t) || (e = parseInt(t)), e 658} 659 660function SetTimeZone(e) { 661 writeShareCookie("Time_Zone", e), writeShareCookie("Default_TimeZone", e) 662} 663 664function GetTimeZone() { 665 var e = 0 - (new Date).getTimezoneOffset() / 60, t = getCookie("Time_Zone"); 666 return null == t || "" == t || null == t || isNaN(t) || (e = parseFloat(t)), writeCookie("Default_TimeZone", e), e 667} 668 669function showHideLocale(e) { 670 var t = document.getElementById("ddLocale"), o = "none" == t.style.display; 671 t.style.display = o ? "" : "none" 672} 673 674function initSetting() { 675 var e, t, o, n = document.getElementById("selectedOddsType"), a = document.getElementById("oddsType_" + _oddsType); 676 n && a && (n.innerText = a.innerText), e = document.getElementById("selectedTimeZone"), t = getCookie("Time_Zone"), !e || null != t && "" != t ? (o = document.getElementById("timeZone_" + _timeZone), e && e && o && (e.innerText = o.innerText)) : e.innerText = document.getElementById("timeZone_7").innerText 677} 678 679function overDropDownBG(e) { 680 e.style.backgroundColor = "#226204" 681} 682 683function leaveDropDownBG(e) { 684 e.style.backgroundColor = "" 685} 686 687function changeTopTimeZone(e) { 688 var t, o; 689 (_timeZone !== e || document.getElementById("selectedTimeZone").innerText == document.getElementById("timeZone_auto").innerText) && ((t = "" === e) && (SetTimeZone(""), e = GetTimeZone()), o = t ? "timeZone_auto" : "timeZone_" + e, document.getElementById("selectedTimeZone").innerText = document.getElementById(o).innerText, _timeZone = parseFloat(e), t || SetTimeZone(e), changeTimeZone(), setTimeByFormat(), setPublishTime()), window.triggerHandleFetchGMT && window.triggerHandleFetchGMT(), window.handleGetData && window.handleGetData(), void 0 !== typeof window.callApiAgain && window.callApiAgain() 690} 691 692function changeTopOddsType(e) { 693 _oddsType != e && (document.getElementById("selectedOddsType").innerText = document.getElementById("oddsType_" + e).innerText, _oddsType = parseInt(e), SetOddType(e), changeOddsType(), window.triggerHandleFetchData()) 694} 695 696function changeTimeZone() { 697 for (var e, t, o, n = document.getElementsByName("timeData"), a = 0; a < n.length; a++) (t = (e = n[a]).getAttribute("data-t")) && ((o = e.getAttribute("data-tf")) || (o = "0"), e.innerText = timeToText(ToLocalTime(t), parseInt(o))) 698} 699 700function changeOddsType() { 701 for (var e, t, o, n = document.getElementsByName("oddsData"), a = 0; a < n.length; a++) (t = (e = n[a]).getAttribute("data-o")) && (o = 1 == e.getAttribute("data-e"), e.
701innerText = oTool.changePL(_oddsType, t, o)) 702} 703 704function showHideTimeZone(e, t = "chooseTimeZone1") { 705 var o = document.getElementById("ddlTimeZone"), n = "none" == o.style.display; 706 n ? (null != document.getElementById("chooseOddsType") && (document.getElementById("chooseOddsType").className = "Choose-tool"), null != document.getElementById("ddlOddsType") && (document.getElementById("ddlOddsType").style.display = "none"), e.className = "Choose-tool on " + t, o.style.display = "") : (e.className = "Choose-tool " + t, o.style.display = "none"), n && null !== document.getElementById("ddLocale") && (document.getElementById("ddLocale").style.display = "none") 707} 708 709function showHideOddsType(e) { 710 var t = document.getElementById("ddlOddsType"), o = "none" == t.style.display; 711 o ? (document.getElementById("chooseTimeZone").className = "Choose-tool", document.getElementById("ddlTimeZone").style.display = "none", e.className = "Choose-tool on", t.style.display = "") : (e.className = "Choose-tool", t.style.display = "none"), o && null !== document.getElementById("ddLocale") && (document.getElementById("ddLocale").style.display = "none") 712} 713 714function showHideLangueWebSite(e) { 715 var t = document.getElementById("ddlBolaWebSite"); 716 "none" == t.style.display ? (document.getElementById("chooseTimeZone").className = "Choose-tool", document.getElementById("ddlTimeZone").style.display = "none", document.getElementById("chooseOddsType").className = "Choose-tool", document.getElementById("ddlOddsType").style.display = "none", document.getElementById("chooseBolaWebSite") && (document.getElementById("chooseBolaWebSite").className = "Choose-tool", document.getElementById("ddlBolaWebSite").style.display = "none"), e.className = "Choose-tool on", t.style.display = "") : (e.className = "Choose-tool", t.style.display = "none") 717} 718 719function GotoLangueWebSite(e, t, o) { 720 writeShareCookie("bolaValInt", e), window.location.href = t + o 721} 722 723function checkHide(e) { 724 var t, o = document.getElementById("selectedOddsType"), n = document.getElementById("selectedTimeZone"), 725 a = document.getElementById("selectedBolaWebSite"), i = document.getElementById("countryImg"), 726 r = document.getElementById("ddlOddsType"), s = document.getElementById("ddlTimeZone"), 727 l = document.getElementById("ddlBolaWebSite"), c = document.getElementById("chooseOddsType"), 728 d = document.getElementById("chooseTimeZone"), u = document.getElementById("chooseBolaWebSite"), 729 h = $("#switchLeagueBlock").find(".pop")[0], m = $("#switchLeagueBlock").find(".btn")[0], 730 f = $("#switchVersion").find(".pop")[0], p = $("#switchVersion").find(".btn")[0], 731 g = null != r ? "none" == r.style.display : "", _ = null != s ? "none" == s.style.display : "", 732 T = null != l ? "none" == l.style.display : "", y = null != h ? "none" == h.style.display : ""; 733 g && _ && T && y || (t = e.srcElement) != o && t != n && t != a && t != i && t != c && t != d && t != c && t != u && t != h && t != m && t != f && t != p && t == t.tagName != "I" && (r && (r.style.display = "none"), s && (s.style.display = "none"), l && (l.style.display = "none"), h && (h.style.display = "none", writeCookie(_leagueBlock.tipCookie, 1, new Date((new Date).getTime() + 864e5))), f && (f.style.display = "none", writeShareCookie(_soccerInpageTipCookie, 1, new Date((new Date).getTime() + 31536e6))), c && (c.className = "Choose-tool"), d && (d.className = "Choose-tool"), u && (u.className = "Choose-tool")) 734} 735 736function getBkHdpDetailUrl(e, t, o, n) { 737 return _basketballWebDomain + "team/handicapdetail?sclassid=" + e + "&teamid=" + t + "&matchseason=" + o + "&halforall=" + n 738} 739 740function getBkOuDetailUrl(e, t, o, n) { 741 return _basketballWebDomain + "team/ouhandicapdetail?sclassid=" + e + "&teamid=" + t + "&matchseason=" + o + "&halforall=" + n 742} 743 744function getBkTeamUrl(e) { 745 return _basketballWebDomain + `${toThaiUri("team")}/${toThaiUri("summary")}/` + e 746} 747 748function openBkTeam(e) { 749 window.open(getBkTeamUrl(e)) 750} 751 752function getFbTeamUrl(e) { 753 return console.log("ð ~ getFbTeamUrl ~ n:", e), _footballWebDomain + toThaiUri("team") + "/" + toThaiUri("summary") + "/" + e 754} 755 756function openFbTeam(e) { 757 console.log("ð ~ getFbTeamUrl ~ n:", e) 758} 759 760function getFbPanluUrl(e, t) { 761 var o = "/soccer/oddsstats/" + e; 762 return void 0 !== t && "" != t && (o += "?cid=" + t), o 763} 764 765function openFbPanlu(e, t) { 766 window.open(getFbPanluUrl(e, t), "", "scrollbars=yes,resizable=yes,width=662, height=650,left=50,top=100") 767} 768 769function getHistoryCornerUrl(e) { 770 return "/history/corner/" + e 771} 772 773function openHistoryCornerUrl(e) { 774 window.open(getHistoryCornerUrl(e)) 775} 776 777function getBk2in1OddsUrl(e, t, o) { 778 var n = "/2in1odds/" + e + "?t=" + t; 779 return o && (n += "&cid=" + o), n 780} 781 782function getBkOddsDetail(e, t, o) {
783 var n = "/nba/oddsdetail/" + e + "?cid=" + t; 784 return o && (n += "&flag=" + o), n 785} 786 787function getFb1x2OddsHistory(e, t, o, n, a) { 788 return "/ty-le-1x2/" + e + "?cid=" + t + "&company=" + o.replaceAll(" ", "").toLowerCase() + "&r1=" + n.replaceAll(" ", "").toLowerCase() + "&r2=" + a.replaceAll(" ", "").toLowerCase() 789} 790 791function getEuroOddsUrl(e, t) { 792 return "/football/1x2/?id=" + e + "&company" + t.replace("Mansion88.com", "M88") 793} 794 795function openTreeMix() { 796} 797 798function getLeaUrl(e) { 799 return _footballWebDomain + toThaiUri("leagueinfo") + "/" + e 800} 801 802function openLeaUrl(e, t) { 803 window.open(getLeaUrl(e, t)) 804} 805 806function getMatchTipsUrl(e) { 807 return _cmsWebDomain + toThaiUri("football") + "/" + toThaiUri("match") + "/" + match + e 808} 809 810function openMatchTipsUrl(e) { 811 window.open(getMatchTipsUrl(e)) 812} 813 814function getBkLeaUrl(e) { 815 return _basketballWebDomain + toThaiUri("leagueinfo") + "/" + e 816} 817 818function openBkLeaUrl(e) { 819 window.open(getBkLeaUrl(e)) 820} 821 822function convertToSlug(e) { 823 return e.toLowerCase().trim().replace(/[\s_]+/g, "-").replace(/[^\w\-]+/g, "").replace(/\-\-+/g, "-") 824} 825 826const tlt = "undefined" != typeof _locModel && void 0 !== _locModel.T.T_TIL_DataComparison ? _locModel.T.T_TIL_DataComparison : "So sánh sá» liá»u"; 827var _mainWebDomain = "/", _livescoreWebDomain = "/", _dataWebDomain = "/data/", _basketballWebDomain = "/basketball/", 828 _footballWebDomain = "/" + toThaiUri("football") + "/", _cmsWebDomain = "/tips/", 829 _infoWebDomain = "/" + toThaiUri("football") + "/", _touchWebDomain = "/mobi/", _freeWebDomain = "/free/", 830 _freeAppDomain = "/app/", _domain = "thscore", _tail = "vip", _defaultOddsType = "1", _defaultTimeZone = "8", 831 _leagueNameIdx = "8", _isNewOddsTxt = "1", _upDownColorType = "1", _oddsOrder = "1-2-3", _moduleKey = "Thai", 832 _websocket = !0, _wsUrl = "27i5rws9u0.execute-api.ap-southeast-1.amazonaws.com", 833 _cdnWebDomain = "//img_cms.thscore.fun/", _substationType = 0, _isForApp = !1, ICONFONT = { 834 DETAIL: "<i class='icon iconfont icon-icon-detail'></i>", 835 LINEUP: "<i class='icon iconfont icon-font-lineup'></i>", 836 ANALYSIS: "<i class='icon iconfont icon-analysis'></i>", 837 ODDS: `<i title='${tlt}' class='icon iconfont icon-odds '></i>`, 838 FLASH: "<i class='icon iconfont icon-matchdata'></i>", 839 FLASH_V2: "<img src='/images/football-vn/btn-live-v2.svg' alt='btn-live-v2.svg' />", 840 FLASHON: "<i class='icon iconfont icon-matchdata on'></i>", 841 BASKETBALL: "<i class='icon iconfont icon-font-basketballclass'></i>", 842 HIGHLIGHT: "<i class='icon iconfont icon-icon-live1'></i>", 843 FLASH_LQ: "<i class='icon iconfont icon-b-ant-on'></i>", 844 FLASHON_LQ: "<i class='icon iconfont icon-b-ant-on on'></i>", 845 FAV_MATCH: "<i id='favM_{$MatchID}' mid='{$MatchID}' class='icon iconfont icon-font-collect-off add-info favM'></i>", 846 FAV_LEAGUE: "<i id='favL_{$LeagueID}' lid='{$LeagueID}' class='icon iconfont icon-font-collect-off add-info-l l0 favL'></i>" 847 }, ODDSTYPE = {NONE: 0, AH: 1, OP: 2, OU: 3, CORNEROU: 4, BODAN: 5, EUROAH: 6, DOUBLECHANCE: 7}, LQHANDICAP, headtime, 848 timeZone, startani_C, startani_A, startani_B, pop_TC, oPopup, goal, goalTime, zXml, X2, _cnzzLoaded, _cnzzUrls, 849 dark_mode, bomHelper, ssoAvataUrl, _share, _counFavMatchTimmer, Storage, _oddsType, _timeZone, wsUtil; 850Object.freeze(ODDSTYPE), LQHANDICAP = { 851 FIRST: 1, 852 SECOND: 2, 853 HALF: 3, 854 THREE: 4, 855 FOUR: 5, 856 FULL: 6, 857 RUNNING: 7 858}, Object.freeze(LQHANDICAP), headtime = new Date, timeZone = (new Date).getTimezoneOffset() / -60; 859try { 860 oPopup = window.createPopup() 861} catch (e) { 862} 863goal = 0, zXml = { 864 useActiveX: "undefined" != typeof ActiveXObject, 865 useXmlHttp: "undefined" != typeof XMLHttpRequest 866}, zXml.ARR_XMLHTTP_VERS = ["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"], zXmlHttp.createRequest = function () { 867 if (zXml.useXmlHttp) return new XMLHttpRequest; 868 if (zXml.useActiveX) { 869 if (!zXml.XMLHTTP_VER) for (var e = 0; e < zXml.ARR_XMLHTTP_VERS.length; e++) try { 870 new ActiveXObject(zXml.ARR_XMLHTTP_VERS[e]), zXml.XMLHTTP_VER = zXml.ARR_XMLHTTP_VERS[e]; 871 break 872 } catch (e) { 873 } 874 if (zXml.XMLHTTP_VER) return new ActiveXObject(zXml.XMLHTTP_VER) 875 } 876 alert("Sorryï¼XML object unsupported by your computer,please setup XML object or change explorer.") 877}; 878var _months2 = "undefined" != typeof _locModel && void 0 !== _locModel.T.T_S_Jan ? [_locModel.T.T_S_Jan, _locModel.T.T_S_Feb, _locModel.T.T_S_Mar, _locModel.T.T_S_Apr, _locModel.T.T_S_May, _locModel.T.T_S_Jun, _locModel.T.T_S_Jul, _locModel.T.T_S_Aug, _locModel.T.T_S_Sep, _locModel.T.T_S_Oct, _locModel.T.T_S_Nov, _locModel.T.T_S_Dec] : ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], 879 _months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
879November", "December"], 880 _weeks = "undefined" != typeof _locModel && void 0 !== _locModel.T.T_Sunday ? [_locModel.T.T_Sunday, _locModel.T.T_Monday, _locModel.T.T_Tuesday, _locModel.T.T_Wednesday, _locModel.T.T_Thursday, _locModel.T.T_Friday, _locModel.T.T_Saturday] : ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], 881 _weeks2 = "undefined" != typeof _locModel && void 0 !== _locModel.T.T_S_Sunday ? [_locModel.T.T_S_Sunday, _locModel.T.T_S_Monday, _locModel.T.T_S_Tuesday, _locModel.T.T_S_Wednesday, _locModel.T.T_S_Thursday, _locModel.T.T_S_Friday, _locModel.T.T_S_Saturday] : ["Sun.", "Mon.", "Tue.", "Wed.", "Thu.", "Fri.", "Sat."], 882 _hasInitDateFormat = 0; 883Array.prototype.contains = function (e) { 884 for (var t = this.length; t--;) if (this[t] == e) return !0; 885 return !1 886}, window.ActiveXObject || (HTMLElement.prototype.insertAdjacentElement = function (e, t) { 887 if (t) switch (e) { 888 case"beforeBegin": 889 this.parentNode.insertBefore(t, this); 890 break; 891 case"afterBegin": 892 this.insertBefore(t, this.firstChild); 893 break; 894 case"beforeEnd": 895 this.appendChild(t); 896 break; 897 case"afterEnd": 898 this.nextSibling ? this.parentNode.insertBefore(t, this.nextSibling) : this.parentNode.appendChild(t) 899 } 900}), X2 = {}, X2.Eval = function (e) { 901 window.attachEvent && !window.opera ? execScript(e) : window.eval(e) 902}; 903var FloatHelper = { 904 DecimalLength: function (e) { 905 var t = e.toString().split(/[eE]/), o = (t[0].split(".")[1] || "").length - Number(t[1] || 0); 906 return o > 0 ? o : 0 907 }, Operator: function (e, t, o) { 908 var n = this.DecimalLength(e), a = this.DecimalLength(t), i = Math.max(n, a), r = Math.pow(10, i); 909 switch (o) { 910 case"*": 911 case 2: 912 i = n + a, rv = e * Math.pow(10, n) * t * Math.pow(10, a) / Math.pow(10, i); 913 break; 914 case"/": 915 case 3: 916 i < 3 && (i = 3), rv = e * r / (t * r); 917 break; 918 case"%": 919 case 4: 920 rv = e * r % (t * r) / r; 921 break; 922 case"-": 923 case 1: 924 rv = (e * r - t * r) / r; 925 break; 926 default: 927 rv = (e * r + t * r) / r 928 } 929 return parseFloat(rv.toFixed(i)) 930 } 931 }, oTool = { 932 USJson: { 933 .22: -450, 934 .28: -350, 935 .33: -300, 936 .36: -275, 937 .38: -267, 938 .44: -225, 939 .47: -212.5, 940 .53: -187.5, 941 .57: -175, 942 .62: -162.5, 943 .63: -160, 944 .66: -150, 945 .72: -137.5, 946 .83: -120, 947 .88: -114, 948 .91: -110, 949 .95: -105 950 }, 951 fractionJson: { 952 .22: "2/9", 953 .28: "2/7", 954 .33: "1/3", 955 .36: "4/11", 956 .38: "3/8", 957 .44: "4/9", 958 .47: "40/85", 959 .53: "8/15", 960 .57: "4/7", 961 .62: "8/13", 962 .63: "5/8", 963 .66: "4/6", 964 .72: "8/11", 965 .83: "5/6", 966 .88: "7/8", 967 .91: "10/11", 968 .95: "20/21" 969 }, 970 getPL: function (e, t, o, n, a) { 971 if (a && 3 != e && "3" != e && 6 != e && "6" != e) return [this.toFixZero(t), this.toFixZero(o), this.toFixZero(n)]; 972 switch (a || (t = mathOdds(t), n = mathOdds(n)), e) { 973 case 1: 974 case"1": 975 return [t, o, n]; 976 case 2: 977 case"2": 978 return a ? [t, o, n] : [this.toIN(t), o, this.toIN(n)]; 979 case 3: 980 case"3": 981 return a ? [this.toUSEu(t), this.toUSEu(o), this.toUSEu(n)] : [this.toUS(t), o, this.toUS(n)]; 982 case 4: 983 case"4": 984 return [this.toEU(t), o, this.toEU(n)]; 985 case 5: 986 case"5": 987 return a ? [t, o, n] : [this.toML(t), o, this.toML(n)]; 988 case 6: 989 case"6": 990 return a ? [this.toFractionEu(t), this.toFractionEu(o
990), this.toFractionEu(n)] : [this.toFraction(t), o, this.toFraction(n)] 991 } 992 }, 993 changePL: function (e, t, o) { 994 if (!parseFloat(t)) return t; 995 if (o && 3 != e && "3" != e && 6 != e && "6" != e) return this.toFixZero(t); 996 switch (e) { 997 case 1: 998 case"1": 999 return this.toFixZero(t); 1000 case 2: 1001 case"2": 1002 return this.toIN(t); 1003 case 3: 1004 case"3": 1005 return o ? this.toUSEu(t) : this.toUS(t); 1006 case 4: 1007 case"4": 1008 return this.toEU(t); 1009 case 5: 1010 case"5": 1011 return this.toML(t); 1012 case 6: 1013 case"6": 1014 return o ? this.toFractionEu(t) : this.toFraction(t) 1015 } 1016 }, 1017 toIN: function (e) { 1018 if (0 == t) return t; 1019 if (!e) return ""; 1020 var t = parseFloat(e), o = this.countDecimal(t) > 2 ? 3 : 2; 1021 return 0 === t ? t : t < 1 ? (0 - 1 / t).toFixed(o) : this.toFixZero(e) 1022 }, 1023 toML: function (e) { 1024 if (!e) return ""; 1025 var t = parseFloat(e), o = this.countDecimal(t) > 2 ? 3 : 2; 1026 return t > 1 ? (0 - 1 / t).toFixed(o) : this.toFixZero(e) 1027 }, 1028 toEU: function (e) { 1029 if (!e) return ""; 1030 var t = parseFloat(e), o = this.countDecimal(t) > 2 ? 3 : 2; 1031 return (t + 1).toFixed(o) 1032 }, 1033 toUS: function (e) { 1034 var t; 1035 if (!e) return ""; 1036 var o = parseFloat(e), n = this.countDecimal(o) > 2 ? 3 : 2, a = oTool.USJson; 1037 return o in a ? a[o] : (0, (t = o <= 0 ? 0 : o < 1 ? Math.round(0 - 100 * (1 / o).toFixed(n)) : Math.round(100 * o)) > 0 ? "+" + t : t) 1038 }, 1039 toUSEu: function (e) { 1040 var t, o, n, a; 1041 return e ? (t = parseFloat(e), o = this.countDecimal(t) > 2 ? 3 : 2, !t || isNaN(t) ? "" : (t = FloatHelper.Operator(t, 1, "-")) in (n = oTool.USJson) ? n[t] : 0 == t ? "0" : (0, (a = t < 1 ? Math.round(0 - 100 * (1 / t).toFixed(o)) : Math.round(100 * t)) > 0 ? "+" + a : a)) : "" 1042 }, 1043 toFraction: function (e) { 1044 var t, o, n, a, i, r = parseFloat(e); 1045 if ("NaN" == r.toString()) return ""; 1046 if ((t = r < 0) && (r = Math.abs(r)), o = { 1047 n: 0, 1048 m: 1 1049 }, n = 0, r > 1 && (r = FloatHelper.Operator(r, n = 0 | r, "-")), r in (a = oTool.fractionJson)) i = a[r].split("/"), o.n = parseInt(i[0]), o.m = parseInt(i[1]); else if (r > 0) { 1050 var s = function (e, t) { 1051 return 0 == t ? e : s(t, e % t) 1052 }, l = Math.pow(10, FloatHelper.DecimalLength(r)), c = parseInt(r * l), d = s(l, c); 1053 o.n = c / d, o.m = l / d 1054 } 1055 return (t ? "-" : "") + (n * o.m + o.n) + "/" + o.m 1056 }, 1057 toFractionEu: function (e) { 1058 var t, o, n, a, i, r = parseFloat(e); 1059 if ("NaN" == r.toString()) return ""; 1060 if ((t = (r = FloatHelper.Operator(r, 1, "-")) < 0) && (r = Math.abs(r)), o = { 1061 n: 0, 1062 m: 1 1063 }, n = 0, r > 1 && (r = FloatHelper.Operator(r, n = 0 | r, "-")), r in (a = oTool.fractionJson)) i = a[r].split("/"), o.n = parseInt(i[0]), o.m = parseInt(i[1]); else if (r > 0) { 1064 var s = function (e, t) { 1065 return 0 == t ? e : s(t, e % t) 1066 }, l = Math.pow(10, FloatHelper.DecimalLength(r)), c = parseInt(r * l), d = s(l, c); 1067 o.n = c / d, o.m = l / d 1068 } 1069 return (t ? "-" : "") + (n * o.m + o.n) + "/" + o.m 1070 }, 1071 toFixZero: function (e, t) { 1072 t || (t = this.countDecimal(e) > 2 ? 3 : 2); 1073 var o = parseFloat(e); 1074 return "NaN" == o.toString() ? e : o.toFixed(t) 1075 },
1076 countDecimal: function (e) { 1077 var t = ("" + e).match(/\.(\d+)$/); 1078 return null === t ? 0 : t[1].length 1079 } 1080 }, _handicapTypeArray = ["/-", "+/-", "/*", "让/å让"], _handicapType = 1, _handicapAccept = "-", _handicapGive = "", 1081 _ouTrimEndZero = !0, 1082 GoalCn = ["0", "0/{0}0.5", "{0}0.5", "{0}0.5/1", "{0}1", "{0}1/1.5", "{0}1.5", "{0}1.5/2", "{0}2", "{0}2/2.5", "{0}2.5", "{0}2.5/3", "{0}3", "{0}3/3.5", "{0}3.5", "{0}3.5/4", "{0}4", "{0}4/4.5", "{0}4.5", "{0}4.5/5", "{0}5", "{0}5/5.5", "{0}5.5", "{0}5.5/6", "{0}6", "{0}6/6.5", "{0}6.5", "{0}6.5/7", "{0}7", "{0}7/7.5", "{0}7.5", "{0}7.5/8", "{0}8", "{0}8/8.5", "{0}8.5", "{0}8.5/9", "{0}9", "{0}9/9.5", "{0}9.5", "{0}9.5/10", "{0}10", "{0}10/10.5", "{0}10.5", "{0}10.5/11", "{0}11", "{0}11/11.5", "{0}11.5", "{0}11.5/12", "{0}12", "{0}12/12.5", "{0}12.5", "{0}12.5/13", "{0}13", "{0}13/13.5", "{0}13.5", "{0}13.5/14", "{0}14"], 1083 GoalCnOU = ["0", "0/0.5", "0.5", "0.5/1", "1", "1/1.5", "1.5", "1.5/2", "2", "2/2.5", "2.5", "2.5/3", "3", "3/3.5", "3.5", "3.5/4", "4", "4/4.5", "4.5", "4.5/5", "5", "5/5.5", "5.5", "5.5/6", "6", "6/6.5", "6.5", "6.5/7", "7", "7/7.5", "7.5", "7.5/8", "8", "8/8.5", "8.5", "8.5/9", "9", "9/9.5", "9.5", "9.5/10", "10", "10/10.5", "10.5", "10.5/11", "11", "11/11.5", "11.5", "11.5/12", "12", "12/12.5", "12.5", "12.5/13", "13", "13/13.5", "13.5", "13.5/14", "14"]; 1084 1085function getTvLinkTxtUrl(e) { 1086 var t = "/gf/tvlive/tvlive_fn_fb.txt?"; 1087 switch (e) { 1088 case"Vn": 1089 t = "/gf/tvlive/tvlive_vn_fb.txt?"; 1090 break; 1091 case"Thai": 1092 t = "/gf/tvlive/tvlive_th_fb.txt?"; 1093 break; 1094 case"Ng": 1095 case"Bola": 1096 t = "/gf/tvlive/tvlive_en_fb.txt?"; 1097 break; 1098 case"Kor": 1099 t = "/gf/tvlive/tvlive_kr_fb.txt?" 1100 } 1101 return t 1102} 1103 1104initHandicap(), _cnzzLoaded = !1, _cnzzUrls = [], dark_mode = 0 != getQueryVariable("darkmode") ? getQueryVariable("darkmode") : 0, BomHelper.prototype.checkBrowerType = function () { 1105 for (var e, t, o = navigator.userAgent.toLowerCase(), n = [this.kv("ie", /msie ([\d.]+)/), this.kv("qq", /qq\/([\d.]+)/i), this.kv("firefox", /firefox\/([\d.]+)/i), this.kv("uc", /ucbrowser\/([\d.]+)/i), this.kv("operaMini", /opera[\s]mini.([\d.]+)/i), this.kv("opera", /opera[\s]mini.([\d.]+)/i), this.kv("chrome", /chrome\/([\d.]+)/i), this.kv("crios", /crios\/([\d.]+)/i), this.kv("safari", /version\/([\d.]+).*safari/i)], a = 0; a < n.length; a++) if (t = n[a], e = o.match(t.value)) { 1106 this[t.key] = e[1]; 1107 break 1108 } 1109}, BomHelper.prototype.checkPlatform = function (e) { 1110 var t, o, n, a = navigator.userAgent.toLowerCase(); 1111 if (/(iphone|ipad|ipod|ios)/i.test(a)) this.ios = (e = a.match(/(?:iphone|ipad|itouch).* os (\d+)_[\d]/)) ? e[1] : "1"; else if (/android/i.test(a)) { 1112 for (this.android.version = (e = a.match(/(?:android) ([\d\.]+);/)) ? e[1] : "1", o = [this.kv("huawei", /(huawei|honorbln)/i), this.kv("oppo", /oppo/i), this.kv("vivo", /vivo/i), this.kv("xiaomi", /(miui|xiaomi)/i), this.kv("meizu", /;[\s]+mz-/i), this.kv("original", /android/)], n = 0; n < o.length; n++) if (t = o[n], e = a.match(t.value)) { 1113 this.android[t.key] = 1; 1114 break 1115 } 1116 } else this.pc = "pc" 1117}, BomHelper.prototype.ajaxObj = function () { 1118 var e = null; 1119 if ("" != this.ie) { 1120 if ("undefined" != typeof ActiveXObject) return new XMLHttpRequest; 1121 try { 1122 e = new ActiveXObject("Msxml2.XMLHTTP") 1123 } catch (t) { 1124 try { 1125 e = new ActiveXObject("Microsoft.XMLHTTP") 1126 } catch (t) { 1127 try { 1128 e = new XMLHttpRequest 1129 } catch (e) { 1130 alert("å建ajax对象失败,æ¬ç½ç«åªæ¯æie6以ä¸çæ¬æµè§å¨,è¯·å·æ°é¡µé¢éè¯") 1131 } 1132 } 1133 } 1134 } else try { 1135 e = new XMLHttpRequest 1136 } catch (e) { 1137 alert("å建ajax对象失败,è¯·å·æ°é¡µé¢éè¯") 1138 } 1139 return e 1140}, BomHelper.prototype.ajaxGet = function (e, t, o) { 1141 null == o && (o = !0);
1142 var n = this.ajaxObj(); 1143 n.onreadystatechange = function () { 1144 4 == n.readyState && t(n.responseText) 1145 }, e = -1 == e.indexOf("?") ? e + "?flesh=" + Math.random() : e + "&flesh=" + Math.random(), n.open("GET", e, o), n.send(null) 1146}, BomHelper.prototype.ajaxPost = function (e, t, o) { 1147 var n = this.ajaxObj(); 1148 n.onreadystatechange = function () { 1149 4 == n.readyState && o(n.responseText) 1150 }, t = "" == t ? t + "flesh=" + Math.random() : t + "&flesh=" + Math.random(), n.open("POST", e, !0), n.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"), n.send(t) 1151}, BomHelper.prototype.ajaxXml = function (e, t, o) { 1152 var n = this.ajaxObj(); 1153 n.onreadystatechange = function () { 1154 4 == n.readyState && o(n.responseXML, n.responseText) 1155 }, e = -1 == e.indexOf("?") ? e + "?flesh=" + Math.random() : e + "&flesh=" + Math.random(), n.open("GET", e, t), n.send(null) 1156}, BomHelper.prototype.useIE7 = function () { 1157 document.write('<meta content="IE=EmulateIE7" http-equiv="X-UA-Compatible">') 1158}, bomHelper = new BomHelper, bomHelper.checkBrowerType(), bomHelper.checkPlatform(), String.prototype.Trim = function () { 1159 return this.replace(/(^\s*)|(\s*$)/g, "") 1160}, ssoAvataUrl = "/sso/ssologinpcjs/", _share = { 1161 facebook: function (e, t) { 1162 var o = e || location.href, n = t || ""; 1163 window.open("https://www.facebook.com/sharer.php?u=" + encodeURIComponent(o) + "&t=" + encodeURIComponent(n)) 1164 }, twitter: function (e, t) { 1165 var o = e || location.href, n = t || ""; 1166 window.open("https://twitter.com/share/?text=" + encodeURIComponent(n) + "&url=" + _share.encodeUrlWithUnicode(o)) 1167 }, telegram: function (e, t) { 1168 var o = e || location.href, n = t || ""; 1169 window.open("https://t.me/share/url?url=" + _share.encodeUrlWithUnicode(o) + "&text=" + encodeURIComponent(n)) 1170 }, blogger: function (e, t) { 1171 var o = e || location.href; 1172 window.open("https://share.naver.com/web/shareView.nhn?url=" + encodeURIComponent(o) + "&title=" + encodeURIComponent(_share.trim(t, location.host))) 1173 }, encodeUrlWithUnicode: function (e) { 1174 for (var t = /([\u0100-\uFFFF]+)/g, o = e.split(t), n = "", a = 0; a < o.length; a++) n += t.test(o[a]) ? encodeURIComponent(encodeURIComponent(o[a])) : encodeURIComponent(o[a]); 1175 return n 1176 }, trim: function (e) { 1177 var t = arguments[arguments.length - 1]; 1178 return e && e.replace(/^\s+|\s+$/gm, "") || t 1179 } 1180}; 1181var soccerInPage = { 1182 prefix: `/${toThaiUri("football")}/`, isSummary: function (e, t, o, n) { 1183 return "function" == typeof checkInpageVersion && 1 == checkInpageVersion(e, t, o, n) 1184 }, gethost: function () { 1185 return _databaseDomain 1186 }, customDetail: function (e, t, o, n = "", a = "", i = "live") { 1187 window.open(`${a}/${toThaiUri("match")}/${toThaiUri(i)}-${toThaiSlug(t)}-${toThaiSlug(o)}-${e}`, n ? "_self" : "") 1188 }, detail: function (e, t, o, n, a) { 1189 if (window.match_detail_url) { 1190 let slugDt = `${toThaiSlug(t)}-${toThaiSlug(o)}-${e}`; 1191 return window.open(window.match_detail_url + "/" + slugDt); 1192 } 1193 }, detailUrl: function (e, t, o, n, a) { 1194 return `${this.gethost()}/${toThaiUri("match")}/${toThaiUri("live")}-${toThaiSlug(t)}-${toThaiSlug(o)}-${e}` 1195 }, gameratelUrl: function (e, t, o, n, a) { 1196 return `/${toThaiUri("gamerate")}/${e}?leagueindex=${a || 0}` 1197 }, analysis: function (e, t, o, n, a) { 1198 if (window.match_analysis_url) { 1199 let slugDt = `${toThaiUri("h2h")}-${toThaiSlug(t)}-${toThaiSlug(o)}-${e}`; 1200 return window.open(window.match_analysis_url + "/" + slugDt); 1201 } 1202 }, analysisUrl: function (e, t, o, n, a) { 1203 return `${this.gethost()}/${toThaiUri("match")}/${toThaiUri("h2h")}-${toThaiSlug(t)}${toThaiSlug(o)}-${e}` 1204 }, gamerate: function (e, t, o, n, a) { 1205 _iframe && window.open(`${this.gethost()}/${toThaiUri("gamerate")}/${e}?leagueindex=${a || 0}`, "_blank"), window.location.href = `${this.gethost()}/${toThaiUri("gamerate")}/${e}?leagueindex=${a || 0}` 1206 }, oddscomp: function (e, t, o, n, a, i, r) { 1207 if (window.match_detail_url) { 1208 let slugDt = `${toThaiSlug(o)}-${toThaiSlug(n)}-${e}`; 1209 return window.open(window.match_detail_url + "/" + slugDt); 1210 } 1211 }, euroodds: function (e, t, o, n, a) { 1212 this.isSummary(e, t, o, a) || window.open(this.gethost() + "/" + toThaiUri("1x2-odds") + "/" + e, a ? "_self" : "") 1213 }, ouodds: function (e, t, o, n, a) { 1214 this.isSummary(e, t, o, a) || window.open(this.gethost() + "/" + toThaiUri("over-under-odds") + "/" + e, a ? "_self" : "") 1215 }
1215, ahodds: function (e, t, o, n, a) { 1216 this.isSummary(e, t, o, a) || window.open(this.gethost() + "/" + toThaiUri("asian-handicap-odds") + "/" + e, a ? "_self" : "") 1217 }, threemix: function (e, t, o, n, a, i, r) { 1218 if (!this.isSummary(e, n, a, r)) { 1219 var s = this.gethost() + `/${toThaiUri("match")}/${toThaiUri("live")}-` + e; 1220 o && (s += "?half=1"), window.open(s, r ? "_self" : "") 1221 } 1222 }, textlive: function (e, t, o, n, a) { 1223 this.isSummary(e, t, o, a) || window.open(this.gethost() + "/" + toThaiUri("textlive") + "/" + e, a ? "_self" : "") 1224 }, playertech: function (e, t, o, n, a) { 1225 this.isSummary(e, t, o, a) || window.open(this.gethost() + "/" + toThaiUri("playertech") + "/" + e, a ? "_self" : "") 1226 }, tipsmatch: function (e, t, o, n, a) { 1227 this.isSummary(e, t, o, a) || window.open(_cmsWebDomain + toThaiUri("football") + "/" + toThaiUri("match") + "/" + e, a ? "_self" : "") 1228 } 1229}, basketInPage = { 1230 gethost: function () { 1231 return _mainWebDomain.substr(0, _mainWebDomain.length - 1) 1232 }, analysis: function (e) { 1233 window.open(_databaseDomain + `/${translateUri("basketball")}/${translateUri("match")}/${translateUri("analysis")}/` + e) 1234 }, oddscomp: function (e) { 1235 window.open(_databaseDomain + `/${translateUri("basketball")}/${translateUri("match")}/${translateUri("oddscompbasket")}/` + e) 1236 }, euroodds: function (e) { 1237 window.open(_databaseDomain + NaN + e) 1238 }, playertech: function (e) { 1239 window.open(_databaseDomain + `/${translateUri("basketball")}/${translateUri("match")}/${translateUri("statistics")}/` + e) 1240 }, textlive: function (e) { 1241 window.open(_databaseDomain + NaN + e + "?showtxt=1") 1242 } 1243}, soccerDbPage = { 1244 domain: void 0 === _footballWebDomain ? "" : _footballWebDomain += _footballWebDomain.endsWith("/") ? "" : "/", 1245 player: function (e) { 1246 window.open("/" + toThaiUri("team") + "/" + toThaiUri("player") + "/" + e) 1247 }, 1248 team: function (e) { 1249 window.open(`${toThaiUri("team")}/${toThaiUri("summary")}/` + e) 1250 }, 1251 league: function (e) { 1252 window.open(this.domain + toThaiUri("leagueinfo-pop-up") + "/" + e) 1253 } 1254}, basketballDbPage = { 1255 domain: void 0 === _basketballWebDomain ? "" : _basketballWebDomain += _basketballWebDomain.endsWith("/") ? "" : "/", 1256 player: function (e) { 1257 window.open(_databaseDomain + "/" + toThaiUri("basketball") + "/" + toThaiUri("team") + "/" + toThaiUri("player") + "/" + e) 1258 }, 1259 team: function (e) { 1260 window.open(_databaseDomain + "/" + toThaiUri("basketball") + "/" + `${toThaiUri("team")}/${toThaiUri("summary")}/` + e) 1261 }, 1262 league: function (e) { 1263 window.open(_databaseDomain + "/" + toThaiUri("basketball") + "/" + toThaiUri("leagueinfo") + "/" + e) 1264 } 1265}; 1266_counFavMatchTimmer = null, Storage = { 1267 enableStorage: function (e) { 1268 try { 1269 e.setItem("_test", "1"); 1270 var t = "1" == e.getItem("_test"); 1271 return e.removeItem("_test"), t 1272 } catch (e) { 1273 return !1 1274 } 1275 }, enableLocal: function () { 1276 return "undefined" != typeof localStorage && this.enableStorage(localStorage) 1277 }, enableSession: function () { 1278 return "undefined" != typeof sessionStorage && this.enableStorage(sessionStorage) 1279 }, getLocal: function (e) { 1280 return this.enableLocal() ? localStorage.getItem(e) : unescape(findCookie(e)) 1281 }, setLocal: function (e, t) { 1282 this.enableLocal() ? localStorage.setItem(e, t) : writeCookie(e, t) 1283 }, getSession: function (e) { 1284 return this.enableSession() ? sessionStorage.getItem(e) : this.getLocal(e) 1285 }, setSession: function (e, t) { 1286 this.enableSession() ? sessionStorage.setItem(e, t) : this.setLocal(e, t) 1287 }, setLocalWithExpire: function (e, t, o) { 1288 "undefined" == typeof second || CheckEmpty(second); 1289 var n = {value: t, expire: (new Date).getTime() + 6e4 * o}; 1290 localStorage.setItem(e, JSON.stringify(n)) 1291 }, getLocalWithExpire: function (e) { 1292 var t, o = localStorage.getItem(e); 1293 return o ? (t = JSON.parse(o)).expire && (new Date).getTime() > t.expire ? (localStorage.removeItem(e), null) : t.value : null 1294 } 1295}, MonitorError(), LoadDark(), document.addEventListener("DOMContentLoaded", LoadDark), _oddsType = GetOddType(), _timeZone = GetTimeZone(), $((function () { 1296 document.onclick = checkHide, initSetting() 1297})), function () { 1298 var e, t, o, n, a, i, r, s = getCookie("MyGames_LeagueID"); 1299 s && -1 != s.indexOf("_") && (e = s.split("_"), t = [], e.forEach((e => { 1300 e && t.push(e) 1301 })), document.cookie = "MyGames_LeagueID=;path=/;expires=" + new Date((new Date).getTime() + -36e6).toGMTString(), o = getCookie("MyGames_LeagueID") ? "," + getCookie("MyGames_LeagueID") : "", writeShareCookie("MyGames_LeagueID", t.join(",") + o + new Date((new Date).getTime() + 6048e5))), (n = getCookie("MyGames_MatchID")) && -1 != n.indexOf("_") && (a = n.split("_"), i = [], a.forEach((e => { 1302 e && i.push(e) 1303 })), document.cookie = "MyGames_MatchID=;path=/;expires=" + new Date((new Date).getTime() + -36e6).toGMTString(), r = getCookie("MyGames_MatchID") ? "," + getCookie("MyGames_MatchID") : "", writeShareCookie("MyGames_MatchID", i.join(",") + r, new Date((new Date).getTime() + 6048e5))), (n = getCookie("MyNBA_MatchID")) && -1 != n.indexOf("_") && (a = n.split("_"), i = [], a.forEach((e => { 1304 e && i.push(e) 1305 })), document.cookie = "MyNBA_MatchID=;path=/;expires=" + new Date((new Date).getTime() + -36e6).toGMTString(), r = getCookie("MyGames_LQ_MatchID") ? "," + getCookie("MyGames_LQ_MatchID") : "", writeShareCookie("MyGames_LQ_MatchID", i.join(",") + r, new Date((new Date).getTime() + 6048e5))) 1306}(), function (e, t) { 1307 "object" == typeof exports && "undefined" != typeof module ? t(exports) : "function" == typeof define && define.amd ? define(["exports"], t) : t((e = "undefined" != typeof globalThis ? globalThis : e || self).pako = {}) 1308}(this, (function (e) { 1309 "use strict"; 1310 1311 function t() { 1312 this.strm = null, this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new Uint16Array(320), this.work = new Uint16Array(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0 1313 } 1314 1315 function o(e) { 1316 this.options = c({chunkSize: 65536, windowBits: 15, to: ""}, e || {}); 1317 const t = this.options; 1318 t.raw && t.windowBits >= 0 && t.windowBits < 16 && (t.windowBits = -t.windowBits, 0 === t.windowBits && (t.windowBits = -15
vendor: 9,630 bytes, lines 1318-1492
1318)), !(t.windowBits >= 0 && t.windowBits < 16) || e && e.windowBits || (t.windowBits += 32), t.windowBits > 15 && t.windowBits < 48 && 0 == (15 & t.windowBits) && (t.windowBits |= 15), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new oe, this.strm.avail_out = 0; 1319 let o = l.inflateInit2(this.strm, t.windowBits); 1320 if (o !== se) throw new Error(te[o]); 1321 if (this.header = new ne, l.inflateGetHeader(this.strm, this.header), t.dictionary && ("string" == typeof t.dictionary ? t.dictionary = Q(t.dictionary) : "[object ArrayBuffer]" === ae.call(t.dictionary) && (t.dictionary = new Uint8Array(t.dictionary)), t.raw && (o = l.inflateSetDictionary(this.strm, t.dictionary), o !== se))) throw new Error(te[o]) 1322 } 1323 1324 function n(e, t) { 1325 const n = new o(t); 1326 if (n.push(e), n.err) throw n.msg || te[n.err]; 1327 return n.result 1328 } 1329 1330 var a, i, r, s, l, c, d, u = (e, t, o, n) => { 1331 let a = 65535 & e | 0, i = e >>> 16 & 65535 | 0, r = 0; 1332 for (; 0 !== o;) { 1333 r = o > 2e3 ? 2e3 : o, o -= r; 1334 do { 1335 a = a + t[n++] | 0, i = i + a | 0 1336 } while (--r); 1337 a %= 65521, i %= 65521 1338 } 1339 return a | i << 16 | 0 1340 }; 1341 const h = new Uint32Array((() => { 1342 var e, t; 1343 let o, n = []; 1344 for (e = 0; e < 256; e++) { 1345 for (o = e, t = 0; t < 8; t++) o = 1 & o ? 3988292384 ^ o >>> 1 : o >>> 1; 1346 n[e] = o 1347 } 1348 return n 1349 })()); 1350 a = (e, t, o, n) => { 1351 const a = h, i = n + o; 1352 e ^= -1; 1353 for (let o = n; o < i; o++) e = e >>> 8 ^ a[255 & (e ^ t[o])]; 1354 return -1 ^ e 1355 }; 1356 const m = 16209; 1357 i = function (e, t) { 1358 let o, n, a, i, r, s, l, c, d, u, h, f, p, g, _, T, y, w, b, v, k, M, S, x; 1359 const C = e.state; 1360 o = e.next_in, S = e.input, n = o + (e.avail_in - 5), a = e.next_out, x = e.output, i = a - (t - e.avail_out), r = a + (e.avail_out - 257), s = C.dmax, l = C.wsize, c = C.whave, d = C.wnext, u = C.window, h = C.hold, f = C.bits, p = C.lencode, g = C.distcode, _ = (1 << C.lenbits) - 1, T = (1 << C.distbits) - 1; 1361 e:do { 1362 f < 15 && (h += S[o++] << f, f += 8, h += S[o++] << f, f += 8), y = p[h & _]; 1363 t:for (; ;) { 1364 if (w = y >>> 24, h >>>= w, f -= w, w = y >>> 16 & 255, 0 === w) x[a++] = 65535 & y; else { 1365 if (!(16 & w)) { 1366 if (0 == (64 & w)) { 1367 y = p[(65535 & y) + (h & (1 << w) - 1)]; 1368 continue t 1369 } 1370 if (32 & w) { 1371 C.mode = 16191; 1372 break e 1373 } 1374 e.msg = "invalid literal/length code", C.mode = m; 1375 break e 1376 } 1377 b = 65535 & y, w &= 15, w && (f < w && (h += S[o++] << f, f += 8), b += h & (1 << w) - 1, h >>>= w, f -= w), f < 15 && (h += S[o++] << f, f += 8, h += S[o++] << f, f += 8), y = g[h & T]; 1378 o:for (; ;) { 1379 if (w = y >>> 24, h >>>= w, f -= w, w = y >>> 16 & 255, !(16 & w)) { 1380 if (0 == (64 & w)) { 1381 y = g[(65535 & y) + (h & (1 << w) - 1)]; 1382 continue o 1383 } 1384 e.msg = "invalid distance code", C.mode = m; 1385 break e 1386 } 1387 if (v = 65535 & y, w &= 15, f < w && (h += S[o++] << f, f += 8, f < w && (h += S[o++] << f, f += 8)), v += h & (1 << w) - 1, v > s) { 1388 e.msg = "invalid distance too far back", C.mode = m; 1389 break e 1390 } 1391 if (h >>>= w, f -= w, w = a - i, v > w) { 1392 if (w = v - w, w > c && C.sane) { 1393 e.msg = "invalid distance too far back", C.mode = m; 1394 break e 1395 } 1396 if (k = 0, M = u, 0 === d) { 1397 if (k += l - w, w < b) { 1398 b -= w; 1399 do { 1400 x[a++] = u[k++] 1401 } while (--w); 1402 k = a - v, M = x 1403 } 1404 } else if (d < w) { 1405 if (k += l + d - w, w -= d, w < b) { 1406 b -= w; 1407 do { 1408 x[a++] = u[k++] 1409 } while (--w); 1410 if (k = 0, d < b) { 1411 w = d, b -= w; 1412 do { 1413 x[a++] = u[k++] 1414 } while (--w); 1415 k = a - v, M = x 1416 } 1417 } 1418 } else if (k += d - w, w < b) { 1419 b -= w; 1420 do { 1421 x[a++] = u[k++] 1422 } while (--w); 1423 k = a - v, M = x 1424 } 1425 for (; b > 2;) x[a++] = M[k++], x[a++] = M[k++], x[a++] = M[k++], b -= 3; 1426 b && (x[a++] = M[k++], b > 1 && (x[a++] = M[k++])) 1427 } else { 1428 k = a - v; 1429 do { 1430 x[a++] = x[k++], x[a++] = x[k++], x[a++] = x[k++], b -= 3 1431 } while (b > 2); 1432 b && (x[a++] = x[k++], b > 1 && (x[a++] = x[k++])) 1433 } 1434 break 1435 } 1436 } 1437 break 1438 } 1439 } while (o < n && a < r); 1440 b = f >> 3, o -= b, f -= b << 3, h &= (1 << f) - 1, e.next_in = o, e.next_out = a, e.avail_in = o < n ? n - o + 5 : 5 - (o - n), e.avail_out = a < r ? r - a + 257 : 257 - (a - r), C.hold = h, C.bits = f 1441 }; 1442 const f = new Uint16Array([3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0]), 1443 p = new Uint8Array([16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78]), 1444 g = new Uint16Array([1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0]), 1445 _ = new Uint8Array([16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64]); 1446 r = (e, t, o, n, a, i, r, s) => { 1447 const l = s.bits; 1448 let c, d, u, h, m, T, y = 0, w = 0, b = 0, v = 0, k = 0, M = 0, S = 0, x = 0, C = 0, D = 0, E = null; 1449 const I = new Uint16Array(16), L = new Uint16Array(16); 1450 let U, B, O, A = null; 1451 for (y = 0; y <= 15; y++) I[y] = 0; 1452 for (w = 0; w < n; w++) I[t[o + w]]++; 1453 for (k = l, v = 15; v >= 1 && 0 === I[v]; v--) ; 1454 if (k > v && (k = v), 0 === v) return a[i++] = 20971520, a[i++] = 20971520, s.bits = 1, 0; 1455 for (b = 1; b < v && 0 === I[b]; b++) ; 1456 for (k < b && (k = b), x = 1, y = 1; y <= 15; y++) if (x <<= 1, x -= I[y], x < 0) return -1; 1457 if (x > 0 && (0 === e || 1 !== v)) return -1; 1458 for (L[1] = 0, y = 1; y < 15; y++) L[y + 1] = L[y] + I[y]; 1459 for (w = 0; w < n; w++) 0 !== t[o + w] && (r[L[t[o + w]]++] = w); 1460 if (0 === e ? (E = A = r, T = 20) : 1 === e ? (E = f, A = p, T = 257) : (E = g, A = _, T = 0), D = 0, w = 0, y = b, m = i, M = k, S = 0, u = -1, C = 1 << k, h = C - 1, 1 === e && C > 852 || 2 === e && C > 592) return 1; 1461 for (; ;) { 1462 U = y - S, r[w] + 1 < T ? (B = 0, O = r[w]) : r[w] >= T ? (B = A[r[w] - T], O = E[r[w] - T]) : (B = 96, O = 0), c = 1 << y - S, d = 1 << M, b = d; 1463 do { 1464 d -= c, a[m + (D >> S) + d] = U << 24 | B << 16 | O | 0 1465 } while (0 !== d); 1466 for (c = 1 << y - 1; D & c;) c >>= 1; 1467 if (0 !== c ? (D &= c - 1, D += c) : D = 0, w++, 0 == --I[y]) { 1468 if (y === v) break; 1469 y = t[o + r[w]] 1470 } 1471 if (y > k && (D & h) !== u) { 1472 for (0 === S && (S = k), m += b, M = y - S, x = 1 << M; M + S < v && (x -= I[M + S], !(x <= 0));) M++, x <<= 1; 1473 if (C += 1 << M, 1 === e && C > 852 || 2 === e && C > 592) return 1; 1474 u = D & h, a[u] = k << 24 | M << 16 | m - i | 0 1475 } 1476 } 1477 return 0 !== D && (a[m + D] = y - S << 24 | 4194304), s.bits = k, 0 1478 }, s = { 1479 Z_NO_FLUSH: 0, 1480 Z_PARTIAL_FLUSH: 1, 1481 Z_SYNC_FLUSH: 2, 1482 Z_FULL_FLUSH: 3, 1483 Z_FINISH: 4, 1484 Z_BLOCK: 5, 1485 Z_TREES: 6, 1486 Z_OK: 0, 1487 Z_STREAM_END: 1, 1488 Z_NEED_DICT: 2, 1489 Z_ERRNO: -1, 1490 Z_STREAM_ERROR: -2, 1491 Z_DATA_ERROR: -3, 1492 Z_MEM_ERROR: -4,
vendor: 5,240 bytes, lines 1493-1598
1493 Z_BUF_ERROR: -5, 1494 Z_NO_COMPRESSION: 0, 1495 Z_BEST_SPEED: 1, 1496 Z_BEST_COMPRESSION: 9, 1497 Z_DEFAULT_COMPRESSION: -1, 1498 Z_FILTERED: 1, 1499 Z_HUFFMAN_ONLY: 2, 1500 Z_RLE: 3, 1501 Z_FIXED: 4, 1502 Z_DEFAULT_STRATEGY: 0, 1503 Z_BINARY: 0, 1504 Z_TEXT: 1, 1505 Z_UNKNOWN: 2, 1506 Z_DEFLATED: 8 1507 }; 1508 const { 1509 Z_FINISH: T, 1510 Z_BLOCK: y, 1511 Z_TREES: w, 1512 Z_OK: b, 1513 Z_STREAM_END: v, 1514 Z_NEED_DICT: k, 1515 Z_STREAM_ERROR: M, 1516 Z_DATA_ERROR: S, 1517 Z_MEM_ERROR: x, 1518 Z_BUF_ERROR: C, 1519 Z_DEFLATED: D 1520 } = s, E = 16180, I = 16190, L = 16191, U = 16192, B = 16194, O = 16199, A = 16200, F = 16206, $ = 16209, 1521 N = e => (e >>> 24 & 255) + (e >>> 8 & 65280) + ((65280 & e) << 8) + ((255 & e) << 24), H = e => { 1522 if (!e) return 1; 1523 const t = e.state; 1524 return !t || t.strm !== e || t.mode < E || t.mode > 16211 ? 1 : 0 1525 }, R = e => { 1526 if (H(e)) return M; 1527 const t = e.state; 1528 return e.total_in = e.total_out = t.total = 0, e.msg = "", t.wrap && (e.adler = 1 & t.wrap), t.mode = E, t.last = 0, t.havedict = 0, t.flags = -1, t.dmax = 32768, t.head = null, t.hold = 0, t.bits = 0, t.lencode = t.lendyn = new Int32Array(852), t.distcode = t.distdyn = new Int32Array(592), t.sane = 1, t.back = -1, b 1529 }, Z = e => { 1530 if (H(e)) return M; 1531 const t = e.state; 1532 return t.wsize = 0, t.whave = 0, t.wnext = 0, R(e) 1533 }, W = (e, t) => { 1534 let o; 1535 if (H(e)) return M; 1536 const n = e.state; 1537 return t < 0 ? (o = 0, t = -t) : (o = 5 + (t >> 4), t < 48 && (t &= 15)), t && (t < 8 || t > 15) ? M : (null !== n.window && n.wbits !== t && (n.window = null), n.wrap = o, n.wbits = t, Z(e)) 1538 }, P = (e, o) => { 1539 if (!e) return M; 1540 const n = new t; 1541 e.state = n, n.strm = e, n.window = null, n.mode = E; 1542 const a = W(e, o); 1543 return a !== b && (e.state = null), a 1544 }; 1545 let G, z, X = !0; 1546 const j = e => { 1547 if (X) { 1548 G = new Int32Array(512), z = new Int32Array(32); 1549 let t = 0; 1550 for (; t < 144;) e.lens[t++] = 8; 1551 for (; t < 256;) e.lens[t++] = 9; 1552 for (; t < 280;) e.lens[t++] = 7; 1553 for (; t < 288;) e.lens[t++] = 8; 1554 for (r(1, e.lens, 0, 288, G, 0, e.work, {bits: 9}), t = 0; t < 32;) e.lens[t++] = 5; 1555 r(2, e.lens, 0, 32, z, 0, e.work, {bits: 5}), X = !1 1556 } 1557 e.lencode = G, e.lenbits = 9, e.distcode = z, e.distbits = 5 1558 }, J = (e, t, o, n) => { 1559 let a; 1560 const i = e.state; 1561 return null === i.window && (i.wsize = 1 << i.wbits, i.wnext = 0, i.whave = 0, i.window = new Uint8Array(i.wsize)), n >= i.wsize ? (i.window.set(t.subarray(o - i.wsize, o), 0), i.wnext = 0, i.whave = i.wsize) : (a = i.wsize - i.wnext, a > n && (a = n), i.window.set(t.subarray(o - n, o - n + a), i.wnext), (n -= a) ? (i.window.set(t.subarray(o - n, o), 0), i.wnext = n, i.whave = i.wsize) : (i.wnext += a, i.wnext === i.wsize && (i.wnext = 0), i.whave < i.wsize && (i.whave += a))), 0 1562 }; 1563 l = { 1564 inflateReset: Z, 1565 inflateReset2: W, 1566 inflateResetKeep: R, 1567 inflateInit: e => P(e, 15), 1568 inflateInit2: P, 1569 inflate: (e, t) => { 1570 let o, n, s, l, c, d, h, m, f, p, g, _, R, Z, W, P, G, z, X, V, q, K, Q = 0; 1571 const Y = new Uint8Array(4); 1572 let ee, te; 1573 const oe = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]); 1574 if (H(e) || !e.output || !e.input && 0 !== e.avail_in) return M; 1575 o = e.state, o.mode === L && (o.mode = U), c = e.next_out, s = e.output, h = e.avail_out, l = e.next_in, n = e.input, d = e.avail_in, m = o.hold, f = o.bits, p = d, g = h, K = b; 1576 e:for (; ;) switch (o.mode) { 1577 case E: 1578 if (0 === o.wrap) { 1579 o.mode = U; 1580 break 1581 } 1582 for (; f < 16;) { 1583 if (0 === d) break e; 1584 d--, m += n[l++] << f, f += 8 1585 } 1586 if (2 & o.wrap && 35615 === m) { 1587 0 === o.wbits && (o.wbits = 15), o.check = 0, Y[0] = 255 & m, Y[1] = m >>> 8 & 255, o.check = a(o.check, Y, 2, 0), m = 0, f = 0, o.mode = 16181; 1588 break 1589 } 1590 if (o.head && (o.head.done = !1), !(1 & o.wrap) || (((255 & m) << 8) + (m >> 8)) % 31) { 1591 e.msg = "incorrect header check", o.mode = $; 1592 break 1593 } 1594 if ((15 & m) !== D) { 1595 e.msg = "unknown compression method", o.mode = $; 1596 break 1597 } 1598 if (m >>>= 4, f -= 4, q = 8 + (15 & m), 0 === o.wbits && (o.wbits = q), q > 15 || q > o.wbits) {
vendor: 10,287 bytes, lines 1599-1786
1599 e.msg = "invalid window size", o.mode = $; 1600 break 1601 } 1602 o.dmax = 1 << o.wbits, o.flags = 0, e.adler = o.check = 1, o.mode = 512 & m ? 16189 : L, m = 0, f = 0; 1603 break; 1604 case 16181: 1605 for (; f < 16;) { 1606 if (0 === d) break e; 1607 d--, m += n[l++] << f, f += 8 1608 } 1609 if (o.flags = m, (255 & o.flags) !== D) { 1610 e.msg = "unknown compression method", o.mode = $; 1611 break 1612 } 1613 if (57344 & o.flags) { 1614 e.msg = "unknown header flags set", o.mode = $; 1615 break 1616 } 1617 o.head && (o.head.text = m >> 8 & 1), 512 & o.flags && 4 & o.wrap && (Y[0] = 255 & m, Y[1] = m >>> 8 & 255, o.check = a(o.check, Y, 2, 0)), m = 0, f = 0, o.mode = 16182; 1618 case 16182: 1619 for (; f < 32;) { 1620 if (0 === d) break e; 1621 d--, m += n[l++] << f, f += 8 1622 } 1623 o.head && (o.head.time = m), 512 & o.flags && 4 & o.wrap && (Y[0] = 255 & m, Y[1] = m >>> 8 & 255, Y[2] = m >>> 16 & 255, Y[3] = m >>> 24 & 255, o.check = a(o.check, Y, 4, 0)), m = 0, f = 0, o.mode = 16183; 1624 case 16183: 1625 for (; f < 16;) { 1626 if (0 === d) break e; 1627 d--, m += n[l++] << f, f += 8 1628 } 1629 o.head && (o.head.xflags = 255 & m, o.head.os = m >> 8), 512 & o.flags && 4 & o.wrap && (Y[0] = 255 & m, Y[1] = m >>> 8 & 255, o.check = a(o.check, Y, 2, 0)), m = 0, f = 0, o.mode = 16184; 1630 case 16184: 1631 if (1024 & o.flags) { 1632 for (; f < 16;) { 1633 if (0 === d) break e; 1634 d--, m += n[l++] << f, f += 8 1635 } 1636 o.length = m, o.head && (o.head.extra_len = m), 512 & o.flags && 4 & o.wrap && (Y[0] = 255 & m, Y[1] = m >>> 8 & 255, o.check = a(o.check, Y, 2, 0)), m = 0, f = 0 1637 } else o.head && (o.head.extra = null); 1638 o.mode = 16185; 1639 case 16185: 1640 if (1024 & o.flags && (_ = o.length, _ > d && (_ = d), _ && (o.head && (q = o.head.extra_len - o.length, o.head.extra || (o.head.extra = new Uint8Array(o.head.extra_len)), o.head.extra.set(n.subarray(l, l + _), q)), 512 & o.flags && 4 & o.wrap && (o.check = a(o.check, n, _, l)), d -= _, l += _, o.length -= _), o.length)) break e; 1641 o.length = 0, o.mode = 16186; 1642 case 16186: 1643 if (2048 & o.flags) { 1644 if (0 === d) break e; 1645 _ = 0; 1646 do { 1647 q = n[l + _++], o.head && q && o.length < 65536 && (o.head.name += String.fromCharCode(q)) 1648 } while (q && _ < d); 1649 if (512 & o.flags && 4 & o.wrap && (o.check = a(o.check, n, _, l)), d -= _, l += _, q) break e 1650 } else o.head && (o.head.name = null); 1651 o.length = 0, o.mode = 16187; 1652 case 16187: 1653 if (4096 & o.flags) { 1654 if (0 === d) break e; 1655 _ = 0; 1656 do { 1657 q = n[l + _++], o.head && q && o.length < 65536 && (o.head.comment += String.fromCharCode(q)) 1658 } while (q && _ < d); 1659 if (512 & o.flags && 4 & o.wrap && (o.check = a(o.check, n, _, l)), d -= _, l += _, q) break e 1660 } else o.head && (o.head.comment = null); 1661 o.mode = 16188; 1662 case 16188: 1663 if (512 & o.flags) { 1664 for (; f < 16;) { 1665 if (0 === d) break e; 1666 d--, m += n[l++] << f, f += 8 1667 } 1668 if (4 & o.wrap && m !== (65535 & o.check)) { 1669 e.msg = "header crc mismatch", o.mode = $; 1670 break 1671 } 1672 m = 0, f = 0 1673 } 1674 o.head && (o.head.hcrc = o.flags >> 9 & 1, o.head.done = !0), e.adler = o.check = 0, o.mode = L; 1675 break; 1676 case 16189: 1677 for (; f < 32;) { 1678 if (0 === d) break e; 1679 d--, m += n[l++] << f, f += 8 1680 } 1681 e.adler = o.check = N(m), m = 0, f = 0, o.mode = I; 1682 case I: 1683 if (0 === o.havedict) return e.next_out = c, e.avail_out = h, e.next_in = l, e.avail_in = d, o.hold = m, o.bits = f, k; 1684 e.adler = o.check = 1, o.mode = L; 1685 case L: 1686 if (t === y || t === w) break e; 1687 case U: 1688 if (o.last) { 1689 m >>>= 7 & f, f -= 7 & f, o.mode = F; 1690 break 1691 } 1692 for (; f < 3;) { 1693 if (0 === d) break e; 1694 d--, m += n[l++] << f, f += 8 1695 } 1696 switch (o.last = 1 & m, m >>>= 1, f -= 1, 3 & m) { 1697 case 0: 1698 o.mode = 16193; 1699 break; 1700 case 1: 1701 if (j(o), o.mode = O, t === w) { 1702 m >>>= 2, f -= 2; 1703 break e 1704 } 1705 break; 1706 case 2: 1707 o.mode = 16196; 1708 break; 1709 case 3: 1710 e.msg = "invalid block type", o.mode = $ 1711 } 1712 m >>>= 2, f -= 2; 1713 break; 1714 case 16193: 1715 for (m >>>= 7 & f, f -= 7 & f; f < 32;) { 1716 if (0 === d) break e; 1717 d--, m += n[l++] << f, f += 8 1718 } 1719 if ((65535 & m) != (m >>> 16 ^ 65535)) { 1720 e.msg = "invalid stored block lengths", o.mode = $; 1721 break 1722 } 1723 if (o.length = 65535 & m, m = 0, f = 0, o.mode = B, t === w) break e; 1724 case B: 1725 o.mode = 16195; 1726 case 16195: 1727 if (_ = o.length, _) { 1728 if (_ > d && (_ = d), _ > h && (_ = h), 0 === _) break e; 1729 s.set(n.subarray(l, l + _), c), d -= _, l += _, h -= _, c += _, o.length -= _; 1730 break 1731 } 1732 o.mode = L; 1733 break; 1734 case 16196: 1735 for (; f < 14;) { 1736 if (0 === d) break e; 1737 d--, m += n[l++] << f, f += 8 1738 } 1739 if (o.nlen = 257 + (31 & m), m >>>= 5, f -= 5, o.ndist = 1 + (31 & m), m >>>= 5, f -= 5, o.ncode = 4 + (15 & m), m >>>= 4, f -= 4, o.nlen > 286 || o.ndist > 30) { 1740 e.msg = "too many length or distance symbols", o.mode = $; 1741 break 1742 } 1743 o.have = 0, o.mode = 16197; 1744 case 16197: 1745 for (; o.have < o.ncode;) { 1746 for (; f < 3;) { 1747 if (0 === d) break e; 1748 d--, m += n[l++] << f, f += 8 1749 } 1750 o.lens[oe[o.have++]] = 7 & m, m >>>= 3, f -= 3 1751 } 1752 for (; o.have < 19;) o.lens[oe[o.have++]] = 0; 1753 if (o.lencode = o.lendyn, o.lenbits = 7, ee = {bits: o.lenbits}, K = r(0, o.lens, 0, 19, o.lencode, 0, o.work, ee), o.lenbits = ee.bits, K) { 1754 e.msg = "invalid code lengths set", o.mode = $; 1755 break 1756 } 1757 o.have = 0, o.mode = 16198; 1758 case 16198: 1759 for (; o.have < o.nlen + o.ndist;) { 1760 for (; Q = o.lencode[m & (1 << o.lenbits) - 1], W = Q >>> 24, P = Q >>> 16 & 255, G = 65535 & Q, !(W <= f);) { 1761 if (0 === d) break e; 1762 d--, m += n[l++] << f, f += 8 1763 } 1764 if (G < 16) m >>>= W, f -= W, o.lens[o.have++] = G; else { 1765 if (16 === G) { 1766 for (te = W + 2; f < te;) { 1767 if (0 === d) break e; 1768 d--, m += n[l++] << f, f += 8 1769 } 1770 if (m >>>= W, f -= W, 0 === o.have) { 1771 e.msg = "invalid bit length repeat", o.mode = $; 1772 break 1773 } 1774 q = o.lens[o.have - 1], _ = 3 + (3 & m), m >>>= 2, f -= 2 1775 } else if (17 === G) { 1776 for (te = W + 3; f < te;) { 1777 if (0 === d) break e; 1778 d--, m += n[l++] << f, f += 8 1779 } 1780 m >>>= W, f -= W, q = 0, _ = 3 + (7 & m), m >>>= 3, f -= 3 1781 } else { 1782 for (te = W + 7; f < te;) { 1783 if (0 === d) break e; 1784 d--, m += n[l++] << f, f += 8 1785 } 1786 m >>>= W, f -= W, q = 0, _ = 11 + (127 & m), m >>
vendor: 4,150 bytes, lines 1786-1861
1786>= 7, f -= 7 1787 } 1788 if (o.have + _ > o.nlen + o.ndist) { 1789 e.msg = "invalid bit length repeat", o.mode = $; 1790 break 1791 } 1792 for (; _--;) o.lens[o.have++] = q 1793 } 1794 } 1795 if (o.mode === $) break; 1796 if (0 === o.lens[256]) { 1797 e.msg = "invalid code -- missing end-of-block", o.mode = $; 1798 break 1799 } 1800 if (o.lenbits = 9, ee = {bits: o.lenbits}, K = r(1, o.lens, 0, o.nlen, o.lencode, 0, o.work, ee), o.lenbits = ee.bits, K) { 1801 e.msg = "invalid literal/lengths set", o.mode = $; 1802 break 1803 } 1804 if (o.distbits = 6, o.distcode = o.distdyn, ee = {bits: o.distbits}, K = r(2, o.lens, o.nlen, o.ndist, o.distcode, 0, o.work, ee), o.distbits = ee.bits, K) { 1805 e.msg = "invalid distances set", o.mode = $; 1806 break 1807 } 1808 if (o.mode = O, t === w) break e; 1809 case O: 1810 o.mode = A; 1811 case A: 1812 if (d >= 6 && h >= 258) { 1813 e.next_out = c, e.avail_out = h, e.next_in = l, e.avail_in = d, o.hold = m, o.bits = f, i(e, g), c = e.next_out, s = e.output, h = e.avail_out, l = e.next_in, n = e.input, d = e.avail_in, m = o.hold, f = o.bits, o.mode === L && (o.back = -1); 1814 break 1815 } 1816 for (o.back = 0; Q = o.lencode[m & (1 << o.lenbits) - 1], W = Q >>> 24, P = Q >>> 16 & 255, G = 65535 & Q, !(W <= f);) { 1817 if (0 === d) break e; 1818 d--, m += n[l++] << f, f += 8 1819 } 1820 if (P && 0 == (240 & P)) { 1821 for (z = W, X = P, V = G; Q = o.lencode[V + ((m & (1 << z + X) - 1) >> z)], W = Q >>> 24, P = Q >>> 16 & 255, G = 65535 & Q, !(z + W <= f);) { 1822 if (0 === d) break e; 1823 d--, m += n[l++] << f, f += 8 1824 } 1825 m >>>= z, f -= z, o.back += z 1826 } 1827 if (m >>>= W, f -= W, o.back += W, o.length = G, 0 === P) { 1828 o.mode = 16205; 1829 break 1830 } 1831 if (32 & P) { 1832 o.back = -1, o.mode = L; 1833 break 1834 } 1835 if (64 & P) { 1836 e.msg = "invalid literal/length code", o.mode = $; 1837 break 1838 } 1839 o.extra = 15 & P, o.mode = 16201; 1840 case 16201: 1841 if (o.extra) { 1842 for (te = o.extra; f < te;) { 1843 if (0 === d) break e; 1844 d--, m += n[l++] << f, f += 8 1845 } 1846 o.length += m & (1 << o.extra) - 1, m >>>= o.extra, f -= o.extra, o.back += o.extra 1847 } 1848 o.was = o.length, o.mode = 16202; 1849 case 16202: 1850 for (; Q = o.distcode[m & (1 << o.distbits) - 1], W = Q >>> 24, P = Q >>> 16 & 255, G = 65535 & Q, !(W <= f);) { 1851 if (0 === d) break e; 1852 d--, m += n[l++] << f, f += 8 1853 } 1854 if (0 == (240 & P)) { 1855 for (z = W, X = P, V = G; Q = o.distcode[V + ((m & (1 << z + X) - 1) >> z)], W = Q >>> 24, P = Q >>> 16 & 255, G = 65535 & Q, !(z + W <= f);) { 1856 if (0 === d) break e; 1857 d--, m += n[l++] << f, f += 8 1858 } 1859 m >>>= z, f -= z, o.back += z 1860 } 1861 if (m >>>= W, f -= W, o.back += W, 64 & P) {
vendor: 6,878 bytes, lines 1862-1992
1862 e.msg = "invalid distance code", o.mode = $; 1863 break 1864 } 1865 o.offset = G, o.extra = 15 & P, o.mode = 16203; 1866 case 16203: 1867 if (o.extra) { 1868 for (te = o.extra; f < te;) { 1869 if (0 === d) break e; 1870 d--, m += n[l++] << f, f += 8 1871 } 1872 o.offset += m & (1 << o.extra) - 1, m >>>= o.extra, f -= o.extra, o.back += o.extra 1873 } 1874 if (o.offset > o.dmax) { 1875 e.msg = "invalid distance too far back", o.mode = $; 1876 break 1877 } 1878 o.mode = 16204; 1879 case 16204: 1880 if (0 === h) break e; 1881 if (_ = g - h, o.offset > _) { 1882 if (_ = o.offset - _, _ > o.whave && o.sane) { 1883 e.msg = "invalid distance too far back", o.mode = $; 1884 break 1885 } 1886 _ > o.wnext ? (_ -= o.wnext, R = o.wsize - _) : R = o.wnext - _, _ > o.length && (_ = o.length), Z = o.window 1887 } else Z = s, R = c - o.offset, _ = o.length; 1888 _ > h && (_ = h), h -= _, o.length -= _; 1889 do { 1890 s[c++] = Z[R++] 1891 } while (--_); 1892 0 === o.length && (o.mode = A); 1893 break; 1894 case 16205: 1895 if (0 === h) break e; 1896 s[c++] = o.length, h--, o.mode = A; 1897 break; 1898 case F: 1899 if (o.wrap) { 1900 for (; f < 32;) { 1901 if (0 === d) break e; 1902 d--, m |= n[l++] << f, f += 8 1903 } 1904 if (g -= h, e.total_out += g, o.total += g, 4 & o.wrap && g && (e.adler = o.check = o.flags ? a(o.check, s, g, c - g) : u(o.check, s, g, c - g)), g = h, 4 & o.wrap && (o.flags ? m : N(m)) !== o.check) { 1905 e.msg = "incorrect data check", o.mode = $; 1906 break 1907 } 1908 m = 0, f = 0 1909 } 1910 o.mode = 16207; 1911 case 16207: 1912 if (o.wrap && o.flags) { 1913 for (; f < 32;) { 1914 if (0 === d) break e; 1915 d--, m += n[l++] << f, f += 8 1916 } 1917 if (4 & o.wrap && m !== (4294967295 & o.total)) { 1918 e.msg = "incorrect length check", o.mode = $; 1919 break 1920 } 1921 m = 0, f = 0 1922 } 1923 o.mode = 16208; 1924 case 16208: 1925 K = v; 1926 break e; 1927 case $: 1928 K = S; 1929 break e; 1930 case 16210: 1931 return x; 1932 default: 1933 return M 1934 } 1935 return e.next_out = c, e.avail_out = h, e.next_in = l, e.avail_in = d, o.hold = m, o.bits = f, (o.wsize || g !== e.avail_out && o.mode < $ && (o.mode < F || t !== T)) && J(e, e.output, e.next_out, g - e.avail_out), p -= e.avail_in, g -= e.avail_out, e.total_in += p, e.total_out += g, o.total += g, 4 & o.wrap && g && (e.adler = o.check = o.flags ? a(o.check, s, g, e.next_out - g) : u(o.check, s, g, e.next_out - g)), e.data_type = o.bits + (o.last ? 64 : 0) + (o.mode === L ? 128 : 0) + (o.mode === O || o.mode === B ? 256 : 0), (0 === p && 0 === g || t === T) && K === b && (K = C), K 1936 }, 1937 inflateEnd: e => { 1938 if (H(e)) return M; 1939 let t = e.state; 1940 return t.window && (t.window = null), e.state = null, b 1941 }, 1942 inflateGetHeader: (e, t) => { 1943 if (H(e)) return M; 1944 const o = e.state; 1945 return 0 == (2 & o.wrap) ? M : (o.head = t, t.done = !1, b) 1946 }, 1947 inflateSetDictionary: (e, t) => { 1948 const o = t.length; 1949 let n, a, i; 1950 return H(e) ? M : (n = e.state, 0 !== n.wrap && n.mode !== I ? M : n.mode === I && (a = 1, a = u(a, t, o, 0), a !== n.check) ? S : (i = J(e, t, o, o), i ? (n.mode = 16210, x) : (n.havedict = 1, b))) 1951 }, 1952 inflateInfo: "pako inflate (from Nodeca project)" 1953 }; 1954 const V = (e, t) => Object.prototype.hasOwnProperty.call(e, t); 1955 c = function (e) { 1956 const t = Array.prototype.slice.call(arguments, 1); 1957 for (; t.length;) { 1958 const o = t.shift(); 1959 if (o) { 1960 if ("object" != typeof o) throw new TypeError(o + "must be non-object"); 1961 for (const t in o) V(o, t) && (e[t] = o[t]) 1962 } 1963 } 1964 return e 1965 }, d = e => { 1966 let t = 0; 1967 for (let o = 0, n = e.length; o < n; o++) t += e[o].length; 1968 const o = new Uint8Array(t); 1969 for (let t = 0, n = 0, a = e.length; t < a; t++) { 1970 let a = e[t]; 1971 o.set(a, n), n += a.length 1972 } 1973 return o 1974 }; 1975 let q = !0; 1976 try { 1977 String.fromCharCode.apply(null, new Uint8Array(1)) 1978 } catch (e) { 1979 q = !1 1980 } 1981 const K = new Uint8Array(256); 1982 for (let e = 0; e < 256; e++) K[e] = e >= 252 ? 6 : e >= 248 ? 5 : e >= 240 ? 4 : e >= 224 ? 3 : e >= 192 ? 2 : 1; 1983 K[254] = K[254] = 1; 1984 var Q = e => { 1985 if ("function" == typeof TextEncoder && TextEncoder.prototype.encode) return (new TextEncoder).encode(e); 1986 let t, o, n, a, i, r = e.length, s = 0; 1987 for (a = 0; a < r; a++) o = e.charCodeAt(a), 55296 == (64512 & o) && a + 1 < r && (n = e.charCodeAt(a + 1), 56320 == (64512 & n) && (o = 65536 + (o - 55296 << 10) + (n - 56320), a++)), s += o < 128 ? 1 : o < 2048 ? 2 : o < 65536 ? 3 : 4; 1988 for (t = new Uint8Array(s), i = 0, a = 0; i < s; a++) o = e.charCodeAt(a), 55296 == (64512 & o) && a + 1 < r && (n = e.charCodeAt(a + 1), 56320 == (64512 & n) && (o = 65536 + (o - 55296 << 10) + (n - 56320), a++)), o < 128 ? t[i++] = o : o < 2048 ? (t[i++] = 192 | o >>> 6, t[i++] = 128 | 63 & o) : o < 65536 ? (t[i++] = 224 | o >>> 12, t[i++] = 128 | o >>> 6 & 63, t[i++] = 128 | 63 & o) : (t[i++] = 240 | o >>> 18, t[i++] = 128 | o >>> 12 & 63, t[i++] = 128 | o >>> 6 & 63, t[i++] = 128 | 63 & o); 1989 return t 1990 }, Y = (e, t) => { 1991 const o = t || e.length; 1992 if ("function" == typeof TextDecoder && TextDecoder.prototype.decode) return (new TextDecoder).decode(e.subarray(0, t));
1993 let n, a; 1994 const i = new Array(2 * o); 1995 for (a = 0, n = 0; n < o;) { 1996 let t = e[n++]; 1997 if (t < 128) { 1998 i[a++] = t; 1999 continue 2000 } 2001 let r = K[t]; 2002 if (r > 4) i[a++] = 65533, n += r - 1; else { 2003 for (t &= 2 === r ? 31 : 3 === r ? 15 : 7; r > 1 && n < o;) t = t << 6 | 63 & e[n++], r--; 2004 r > 1 ? i[a++] = 65533 : t < 65536 ? i[a++] = t : (t -= 65536, i[a++] = 55296 | t >> 10 & 1023, i[a++] = 56320 | 1023 & t) 2005 } 2006 } 2007 return ((e, t) => { 2008 if (t < 65534 && e.subarray && q) return String.fromCharCode.apply(null, e.length === t ? e : e.subarray(0, t)); 2009 let o = ""; 2010 for (let n = 0; n < t; n++) o += String.fromCharCode(e[n]); 2011 return o 2012 })(i, a) 2013 }, ee = (e, t) => { 2014 (t = t || e.length) > e.length && (t = e.length); 2015 let o = t - 1; 2016 for (; o >= 0 && 128 == (192 & e[o]);) o--; 2017 return o < 0 || 0 === o ? t : o + K[e[o]] > t ? o : t 2018 }, te = { 2019 2: "need dictionary", 2020 1: "stream end", 2021 0: "", 2022 "-1": "file error", 2023 "-2": "stream error", 2024 "-3": "data error", 2025 "-4": "insufficient memory", 2026 "-5": "buffer error", 2027 "-6": "incompatible version" 2028 }, oe = function () { 2029 this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0 2030 }, ne = function () { 2031 this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = !1 2032 }; 2033 const ae = Object.prototype.toString, { 2034 Z_NO_FLUSH: ie, 2035 Z_FINISH: re, 2036 Z_OK: se, 2037 Z_STREAM_END: le, 2038 Z_NEED_DICT: ce, 2039 Z_STREAM_ERROR: de, 2040 Z_DATA_ERROR: ue, 2041 Z_MEM_ERROR: he 2042 } = s; 2043 o.prototype.push = function (e, t) { 2044 const o = this.strm, n = this.options.chunkSize, a = this.options.dictionary; 2045 let i, r, s; 2046 if (this.ended) return !1; 2047 for (r = t === ~~t ? t : !0 === t ? re : ie, o.input = "[object ArrayBuffer]" === ae.call(e) ? new Uint8Array(e) : e, o.next_in = 0, o.avail_in = o.input.length; ;) { 2048 for (0 === o.avail_out && (o.output = new Uint8Array(n), o.next_out = 0, o.avail_out = n), i = l.inflate(o, r), i === ce && a && (i = l.inflateSetDictionary(o, a), i === se ? i = l.inflate(o, r) : i === ue && (i = ce)); o.avail_in > 0 && i === le && o.state.wrap > 0 && 0 !== e[o.next_in];) l.inflateReset(o), i = l.inflate(o, r); 2049 switch (i) { 2050 case de: 2051 case ue: 2052 case ce: 2053 case he: 2054 return this.onEnd(i), this.ended = !0, !1 2055 } 2056 if (s = o.avail_out, o.next_out && (0 === o.avail_out || i === le)) if ("string" === this.options.to) { 2057 let e = ee(o.output, o.next_out), t = o.next_out - e, a = Y(o.output, e); 2058 o.next_out = t, o.avail_out = n - t, t && o.output.set(o.output.subarray(e, e + t), 0), this.onData(a) 2059 } else this.onData(o.output.length === o.next_out ? o.output : o.output.subarray(0, o.next_out)); 2060 if (i !== se || 0 !== s) { 2061 if (i === le) return i = l.inflateEnd(this.strm), this.onEnd(i), this.ended = !0, !0; 2062 if (0 === o.avail_in) break 2063 } 2064 } 2065 return !0 2066 }, o.prototype.onData = function (e) { 2067 this.chunks.push(e) 2068 }, o.prototype.onEnd = function (e) { 2069 e === se && (this.result = "string" === this.options.to ? this.chunks.join("") : d(this.chunks)), this.chunks = [], this.err = e, this.msg = this.strm.msg 2070 }; 2071 var me = o, fe = n, pe = function (e, t) { 2072 return (t = t || {}).raw = !0, n(e, t) 2073 }, ge = n, _e = s, Te = {Inflate: me, inflate: fe, inflateRaw: pe, ungzip: ge, constants: _e}; 2074 e.Inflate = me, e.constants = _e, e.default = Te, e.inflate = fe, e.inflateRaw = pe, e.ungzip = ge, Object.defineProperty(e, "__esModule", {value: !0}) 2075})), wsUtil = { 2076 wsUrl: `wss://${_wsUrl}/production?channels={0}`, 2077 token: "", 2078 socket: null, 2079 wsIntervalId: null, 2080 wstimeout: 5e3, 2081 wstimer: null, 2082 tokenCacheKey: "WebSocketToken", 2083 channels: null, 2084 wsHandler: function () { 2085 }, 2086 startHandler: function () { 2087 }, 2088 stopHandler: function () { 2089 }, 2090 getToken: function () { 2091 return new Promise(((e, t) => { 2092 })) 2093 }, 2094 connectWs: function (e, t, o, n) { 2095 console.log("connectWs"), e && (this.channels = e), t && (this.wsHandler = t), o && (this.startHandler = o), n && (this.stopHandler = n), this.createWs() 2096 }, 2097 createWs: function () {return; 2098 var e, t = this; 2099 (null == this.socket || this.socket.readyState != WebSocket.OPEN || this.socket.readyState != WebSocket.CONNECTING) && (e = this.wsUrl.replace("{0}", encodeURIComponent(this.channels.join(","))).replace("{1}", this.token), this.socket = new WebSocket(e), this.wstimer = setTimeout((() => { 2100 t.socket.close(), console.log("ws timeout") 2101 }), this.wstimeout), this.socket.onmessage = function (e) { 2102 var o = e.data; 2103 if ("ok" != o) { 2104 new FileReader; 2105 let n = JSON.parse(o); 2106 null != (e = JSON.parse(pako.inflate(n, {to: "string"}))) && t.wsHandler(e) 2107 } 2108 }, this.socket.onopen = function () { 2109 t.wstimer && clearTimeout(t.wstimer), console.log("ws open"), t.updateState() 2110 }, this.socket.onclose = function () { 2111 t.wstimer && clearTimeout(t.wstimer), console.log("ws close"), t.token = "", t.updateState() 2112 }, this.socket.onerror = function () { 2113 t.wstimer && clearTimeout(t.wstimer), console.log("ws error") 2114 }) 2115 }, 2116 updateState: function () { 2117 function e() { 2118 t.startHandler(), t.wsIntervalId || (t.wsIntervalId = setInterval((() => { 2119 t.connectWs() 2120 }), 3e4)) 2121 } 2122 2123 var t = this; 2124 if (this.socket) switch (this.socket.readyState) { 2125 case WebSocket.CLOSED: 2126 case WebSocket.CLOSING: 2127 case WebSocket.CONNECTING: 2128 e(); 2129 break; 2130 case WebSocket.OPEN: 2131 t.stopHandler(), t.wsIntervalId && (clearInterval(t.wsIntervalId), t.wsIntervalId = null); 2132 break; 2133 default: 2134 e() 2135 } else e() 2136 }, 2137 changeChannel: function (e) { 2138 if (this.channels = e, this.socket && this.socket.readyState === WebSocket.OPEN) { 2139 var t = {type: 0, channels: e}; 2140 this.socket.send(JSON.stringify(t)) 2141 } 2142 }, 2143 closeWs: function () { 2144 this.socket.close() 2145 } 2146}; 2147const getMobileDetect = e => { 2148 const t = () => Boolean(e.match(/Android/i)), o = () => Boolean(e.match(/iPhone|iPad|iPod/i)), 2149 n = () => Boolean(e.match(/SSR/i)), 2150 a = () => Boolean(t() || o() || Boolean(e.match(/Opera Mini/i)) || Boolean(e.match(/IEMobile/i))); 2151 return {isMobile: a, isDesktop: () => Boolean(!a() && !n()), isAndroid: t, isIos: o, isSSR: n} 2152}, useMobileDetect = () => { 2153 const e = "undefined" == typeof navigator ? "SSR" : navigator.userAgent; 2154 return getMobileDetect(e) 2155}; 2156 2157function addMaskForTable(e) { 2158 $(e).each((function () { 2159 $(this).on("scroll", (function () { 2160 $(this).scrollLeft() > 18 ? $(this).addClass("d-after-none") : $(this).removeClass("d-after-none") 2161 })) 2162 })) 2163} 2164 2165function scrollToActiveMenu(e, t) { 2166 let o = $(e), n = $(t); 2167 if (n.length) { 2168 let e = o.width(), t = n.offset().left - e / 2 + n.outerWidth() / 2; 2169 o.animate({scrollLeft: t}, 500) 2170 } 2171} 2172 2173function changeMenuText(e) { 2174 let t = $(e); 2175 t.find('a[name="4"]').text(t.find('a[name="4"]').text().replace("châu Ã", "Châu Ã")), t.find('a[name="5"]').text(t.find('a[name="5"]').text().replace("châu Ã", "Châu Ã")), t.find('a[name="6"]').text(t.find('a[name="6"]').text().replace("T/X", "Tà i Xá»u")) 2176} 2177 2178var getUrlParameter = function (e) { 2179 var t, o, n = window.location.search.substring(1).split("&"); 2180 for (o = 0; o < n.length; o++) if ((t = n[o].split("="))[0] === e) return void 0 === t[1] || decodeURIComponent(t[1]); 2181 return !1 2182}; 2183 2184function updateDropdownSelection(e, {handleClickOption: t} = { 2185 handleClickOption: () => { 2186 } 2187}) { 2188 const o = document.getElementById(e); 2189 if (!o) return; 2190 const n = o.querySelector(".custom-select"), a = o.querySelectorAll(".custom-option"); 2191 let i = n.textContent.trim().toLowerCase(); 2192 a.forEach((e => { 2193 e.classList.toggle("selected", e.textContent.trim().toLowerCase() === i) 2194 })), o.addEventListener("click", (e => { 2195 const o = e.target.closest(".custom-option"); 2196 o && (n.textContent = o.textContent, i = o.textContent.trim().toLowerCase(), a.forEach((e => e.classList.remove("selected"))), o.classList.add("selected"), t({ 2197 value: o.getAttribute("value"), 2198 text: o.textContent 2199 })) 2200 })), o.addEventListener("mouseover", (e => { 2201 e.target.closest(".custom-option") && a.forEach((e => e.classList.remove("selected"))) 2202 })), o.addEventListener("mouseout", (e => { 2203 e.target.closest(".custom-option") && a.forEach((e => { 2204 e.classList.toggle("selected", e.textContent.trim().toLowerCase() === i) 2205 })) 2206 })) 2207} 2208 2209function parseSelection(e, t, o = "") { 2210 var n = document.getElementById(e); 2211 if (!n || !n.length) return; 2212 const a = $("#" + e).parent(); 2213 var i = []; 2214 let r = "", 2215 s = `<div class="custom-select">${n.options[t] ? n.options[t].text.trim() : n.options[0].text.trim()}</div>`; 2216 for (var l = 0; l < n.options.length; l++) { 2217 var c = n.options[l], d = {value: c.value, text: c.text.trim()}; 2218 i.push(d), r += `<div value="${c.value}" onclick="changeSelectValue(${e}, ${c.value})" class="custom-option ${t == l ? "selected" : ""}"> ${c.text.trim()} </div>` 2219 } 2220 let u = `\n <div class="custom-select-02">\n ${s}\n <div class="custom-options scroll-custom">\n ${r}\n </div>\n </div>\n `; 2221 const h = a.find(".box-flex-select"); 2222 0 !== h.length ? h.append(u) : a.append(`\n <div class="box-flex-select d-flex ${o} ">\n ${u}\n </div>\n `), a.find("select").hide() 2223} 2224 2225function changeSelectValue(e, t) { 2226 $(e).val(t).trigger("change") 2227} 2228 2229function addMatchToFavouriteList() { 2230 try { 2231 let e = Config.getFavMatchIds(), t = $(this), o = parseInt(t.attr("mid")), n = e.indexOf(o.toString()); 2232 n <= -1 ? e.push(o.toString()) : e.splice(n, 1), Config.setFavMatchIds(e) 2233 } catch (e) { 2234 } 2235} 2236 2237function addLeagueToFavouriteList() { 2238 try { 2239 let e = Config.getFavLeagueIds(), t = $(this), o = parseInt(t.attr("lid")), n = e.indexOf(o.toString()); 2240 n <= -1 ? e.push(o.toString()) : e.splice(n, 1), Config.setFavLeagueIds(e) 2241 } catch (e) { 2242 console.log(e) 2243 } 2244} 2245 2246function getCurrentTimeZone() { 2247 const e = getCookie("Time_Zone") || getCookie("Default_TimeZone") || 7; 2248 return Number.parseFloat(e) 2249} 2250 2251$(document).ready((function () { 2252 function e(e) { 2253 const t = document.querySelectorAll(e); 2254 0 !== t.length && t.forEach((e => { 2255 const t = e.getElementsByClassName("home"), o = e.getElementsByClassName("guest"); 2256 2257 function n(e, t) { 2258 for (let o = 0; o < e.length; o++) { 2259 const n = e[o].getElementsByTagName("img"); 2260 for (let e = 0; e < n.length; e++) n[e].src.includes("football1.") && (n[e].src = t) 2261 } 2262 } 2263 2264 n(t, "/assets/images/home_1.svg"), n(o, "/assets/images/away_1.svg") 2265 })) 2266 } 2267 2268 function t() { 2269 var e = document.getElementById("homepage"); 2270 return e && "true" === e.getAttribute("data-home") 2271 } 2272 2273 e(".fbheader.desk"), e(".fbheader.mobile"), e("#porletP1"), e("#porletP2"), e("#porletP5"), e("#porletP6"), e(".table-charts"), e("#fbheader"), e(".event-football-detail-right-content"), function () { 2274 const e = document.getElementById("navigation-home"), o = document.getElementById("navigation-hot"), 2275 n = document.getElementById("navigation-new"); 2276 e && (e.addEventListener("click", (function () { 2277 o.classList.remove("active-sp"), n.classList.remove("active-sp"), e.classList.add("active-sp"), window.location.href = "/?ishot=0", t() || (localStorage.setItem("filterApplied", "home"), window.location.href = "?is_host") 2278 })), o.addEventListener("click", (function () { 2279 e.classList.remove("active-sp"), n.classList.remove("active-sp"), o.classList.add("active-sp"), window.location.href = "/?ishot=1", t() || (localStorage.setItem("filterApplied", "hot"), window.location.href = "/") 2280 })), n.addEventListener("click", (function () { 2281 e.classList.remove("active-sp"), o.classList.remove("active-sp"), n.classList.add("active-sp") 2282 })), window.addEventListener("load", (function () { 2283 const t = localStorage.getItem("filterApplied"); 2284 "home" === t ? (e.classList.add("active-sp"), o.classList.remove("active-sp"), localStorage.removeItem("filterApplied")) : "hot" === t && (o.classList.add("active-sp"), e.classList.remove("active-sp"), localStorage.removeItem("filterApplied")) 2285 }))) 2286 }() 2287}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.