@sgrsoft/vpe-core-sdk 0.24.0 → 0.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vpe-core-sdk.cjs.js +1 -1
- package/dist/vpe-core-sdk.es.js +822 -823
- package/package.json +1 -1
package/dist/vpe-core-sdk.es.js
CHANGED
|
@@ -1,117 +1,116 @@
|
|
|
1
|
+
var h = D0;
|
|
2
|
+
(function(x, t) {
|
|
3
|
+
for (var e = D0, i = x(); ; )
|
|
4
|
+
try {
|
|
5
|
+
var a = -parseInt(e(121)) / 1 + -parseInt(e(145)) / 2 * (parseInt(e(188)) / 3) + -parseInt(e(153)) / 4 + -parseInt(e(134)) / 5 * (parseInt(e(152)) / 6) + -parseInt(e(160)) / 7 + -parseInt(e(189)) / 8 + parseInt(e(130)) / 9 * (parseInt(e(148)) / 10);
|
|
6
|
+
if (a === t) break;
|
|
7
|
+
i.push(i.shift());
|
|
8
|
+
} catch {
|
|
9
|
+
i.push(i.shift());
|
|
10
|
+
}
|
|
11
|
+
})(_e, 192667);
|
|
12
|
+
function D0(x, t) {
|
|
13
|
+
x = x - 112;
|
|
14
|
+
var e = _e(), i = e[x];
|
|
15
|
+
return i;
|
|
16
|
+
}
|
|
17
|
+
const J0 = { common: { cancel: "Cancel", auto: h(139), normal: h(155), notUse: h(119), prev: h(168), next: "Next video", delayText: h(149), license: h(131), play: h(190), pause: h(196), replay: h(114), fullOn: h(157), fullOff: "Exit fullscreen", muteOn: h(169), muteOff: h(183), captionOff: h(184), captionOn: h(112), setting: h(125), live: h(186), miniPlayer: h(178), isMute: h(143), subtitle: h(120), subtitleNot: h(158) }, settings: { autoplay: h(136), playbackRate: h(156), captions: h(120), quality: "Quality" }, skip: { introSkip: "Skip Intro", openingSkip: "Skip Opening", endingSkip: h(123), autoSkipIntro: h(198), autoSkipOpening: h(170), autoSkipEnding: "Auto Skip Ending", autoSkipOpeningEnding: h(137) }, ageRating: { noticeAll: h(126), notice12: h(162), notice15: h(122), notice19: h(147) }, contentWarning: { sexuality: h(146), violence: "Violence", language: h(194), drugs: h(187), horror: h(175), imitation: "Imitation risk", provocative: "Provocative content" }, error: { "01": { title: "Cannot play video", desc: h(116) }, "02": { title: h(167), desc: h(176) }, "03": { title: h(165), desc: h(200) }, "04": { title: "Cannot play video", desc: h(163) }, "05": { title: "Cannot play video", desc: h(173) }, "06": { title: h(167), desc: h(164) }, "07": { title: h(167), desc: "Unsupported format." }, "08": { title: h(167), desc: h(181) }, "09": { title: h(167), desc: "The live stream is OFFLINE." }, 10: { title: "Cannot play video", desc: "Cannot play DASH video on iOS." }, 11: { title: "Cannot play video", desc: h(179) }, 12: { title: h(167), desc: h(161) }, 13: { title: h(167), desc: h(124) }, 14: { title: h(167), desc: h(141) }, 15: { title: h(202), desc: h(118) }, 16: { title: "Player Execution Failed", desc: h(127) }, 17: { title: h(166), desc: "This feature requires the Standard plan." } }, tv: { default: h(133), quality: h(191), subtitleStyle: h(180), subtitleStyleDesc: h(132), applyDefaultStyle: h(151), fontColor: h(154), fontSize: "Font Size", textOpacity: h(182), edgeStyle: h(142), bgColor: h(193), bgOpacity: h(192), windowColor: h(177), windowOpacity: h(197), fontWeight: h(172), weight: { thin: h(185), normal: h(155), semiBold: "Semi Bold", bold: h(129), extraBold: "Extra Bold" }, color: { white: h(201), black: h(128), red: h(115), green: h(138), blue: h(150), yellow: "Yellow", magenta: h(171), cyan: h(159) }, edge: { none: "None", dropShadow: h(203), raised: h(117), depressed: h(144), uniform: h(195) } }, alternative: { hour: "hour(s)", minute: h(140), second: h(113), after: h(174), afterMin: "min", afterHour: h(199), afterDay: "day", startPlay: "Video will start in {timeTxt}.", nextPlay: h(135), afterPlay: "Scheduled" } };
|
|
1
18
|
function _e() {
|
|
2
|
-
var x = ["
|
|
19
|
+
var x = ["Previous video", "Mute", "Auto Skip Opening", "Magenta", "Font Weight", "The license is not valid.", "In a moment", "Horror", "You do not have permission to play this video.", "Window Color", "Mini player", "Invalid DRM token.", "Subtitle Style", "Invalid URL format.", "Text Opacity", "Unmute", "Turn off captions", "Thin", "LIVE", "Drugs", "1701nYNLTc", "1107552qOPHGh", "Play", "Quality", "Background Opacity", "Background Color", "Language", "Uniform", "Pause", "Window Opacity", "Auto Skip Intro", "hour", "The network connection is unstable.", "White", "Player Execution Failed", "Drop Shadow", "Turn on captions", "second(s)", "Replay", "Red", "Invalid access. Please check your access_key.", "Raised", "Required module was not loaded. (hls.js)", "Not used", "Subtitles", "148584zHWrcI", "This video may be inappropriate for children under 15 and requires parental guidance.", "Skip Ending", "FairPlay certificate validation failed.", "Settings", "This video is rated for all audiences.", "Required module was not loaded. (dash.js)", "Black", "Bold", "12706164xacQan", "License", "Change text, color, and background styles", "Default", "5LVIxsn", "Next video will play in {timeTxt} seconds.", "Autoplay", "Auto Skip Opening/Ending", "Green", "Auto", "minute(s)", "Screen capture / screen recording has been detected.", "Text Edge Style", "You are muted.", "Depressed", "996jFKkWv", "Sexuality", "This video may be inappropriate for minors.", "10RQFRZh", "seconds until auto-play", "Blue", "Apply Default Style", "1680114ZwtBdt", "1047528swXUBs", "Font Color", "Normal", "Playback speed", "Fullscreen", "Subtitles not available", "Cyan", "754838hcbbpD", "Failed to communicate with the DRM license server.", "This video may be inappropriate for children under 12 and requires parental guidance.", "The video could not be played.", "Monthly basic API calls exceeded. Please switch to a paid version.", "Authentication Failed", "Player Startup Failed", "Cannot play video"];
|
|
3
20
|
return _e = function() {
|
|
4
21
|
return x;
|
|
5
22
|
}, _e();
|
|
6
23
|
}
|
|
7
|
-
var
|
|
8
|
-
function
|
|
9
|
-
x =
|
|
10
|
-
|
|
11
|
-
|
|
24
|
+
var g = R0;
|
|
25
|
+
function Te() {
|
|
26
|
+
var x = ["DRM 토큰이 잘못되었습니다.", "오프닝/엔딩 자동 스킵", "잠시 ", "해상도", "필수 모듈이 로드되지 않았습니다. (hls.js)", "전체화면", "시간 ", "엔딩 건너뛰기", "7384680YAucRR", "1702806BfuiSz", "글자 굵기", "{timeTxt} 후 영상이 시작됩니다.", "Standard 요금제가 필요한 기능입니다.", "1154106hXWhKn", "인트로 건너뛰기", "이 영상은 15세 미만의 청소년이 시청하기에 부적절하므로 보호자의 시청지도가 필요한 영상입니다.", "검정색", "1643885Tzrlua", "동영상을 재생할 수 없음", "초록색", "엔딩 자동 스킵", "1217772eHeUTC", "FairPlay 인증서 검증에 실패하였습니다.", "초 뒤 자동재생", "창 불투명도", "이 영상은 12세 미만의 청소년이 시청하기에 부적절하므로 보호자의 시청지도가 필요한 영상입니다.", "8542866fFoPQf", "플레이어 실행 실패", "자막 사용 불가", "음소거 상태입니다.", "일시정지", "창 색상", "동영상을 재생할 수 없습니다.", "자동재생", "그림자", "이 영상은 전체 관람가 영상입니다.", "글꼴 색상", "오프닝 자동 스킵", "DRM 라이선스 서버와 통신에 실패하였습니다.", "글자 테두리 스타일", "URL 형식이 잘못되었습니다.", "자막켜기", "글꼴 크기", "다시보기", "텍스트 불투명도", "빨간색", "플레이어 구동 실패", "모방위험", "청록색", "라이브스트림이 OFFLINE 입니다.", "{timeTxt}초 후 다음 영상이 재생됩니다.", "필수 모듈이 로드되지 않았습니다. (dash.js)", "인증 실패", "이전 동영상", "지원하지 않는 형식입니다.", "화면 캡쳐 / 화면 녹화가 감지되었습니다.", "라이선스", "월 기본 제공 호출 건수를 초과하였습니다. 유료 버전으로 전환 후 사용 부탁 드립니다.", "미니플레이어", "인트로 자동 스킵", "1524483qGVFow", "네트워크 연결이 원활하지 않습니다.", "배경 색상", "다음 동영상", "동영상을 재생할 권한이 없습니다.", "라이선스가 유효하지 않습니다.", "iOS에서 Dash 비디오를 재생할 수 없습니다.", "음소거", "2QVvmtm", "매우 굵게", "전체화면 해제", "자홍색", "자극적 장면"];
|
|
27
|
+
return Te = function() {
|
|
28
|
+
return x;
|
|
29
|
+
}, Te();
|
|
12
30
|
}
|
|
13
31
|
(function(x, t) {
|
|
14
|
-
for (var e =
|
|
32
|
+
for (var e = R0, i = x(); ; )
|
|
15
33
|
try {
|
|
16
|
-
var
|
|
17
|
-
if (
|
|
34
|
+
var a = -parseInt(e(420)) / 1 * (parseInt(e(402)) / 2) + -parseInt(e(394)) / 3 + parseInt(e(428)) / 4 + -parseInt(e(424)) / 5 + parseInt(e(433)) / 6 + parseInt(e(416)) / 7 + parseInt(e(415)) / 8;
|
|
35
|
+
if (a === t) break;
|
|
18
36
|
i.push(i.shift());
|
|
19
37
|
} catch {
|
|
20
38
|
i.push(i.shift());
|
|
21
39
|
}
|
|
22
|
-
})(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
40
|
+
})(Te, 903553);
|
|
41
|
+
function R0(x, t) {
|
|
42
|
+
x = x - 390;
|
|
43
|
+
var e = Te(), i = e[x];
|
|
44
|
+
return i;
|
|
45
|
+
}
|
|
46
|
+
const X0 = { common: { cancel: "취소", auto: "자동", normal: "보통", notUse: "사용안함", prev: g(460), next: g(397), delayText: g(430), license: g(390), play: "재생", pause: g(437), replay: g(450), fullOn: g(412), fullOff: g(404), muteOn: g(401), muteOff: "음소거 해제", captionOff: "자막끄기", captionOn: g(448), setting: "설정", live: "실시간", miniPlayer: g(392), isMute: g(436), subtitle: "자막", subtitleNot: g(435) }, settings: { autoplay: g(440), playbackRate: "재생 속도", captions: "자막", quality: g(410) }, skip: { introSkip: g(421), openingSkip: "오프닝 건너뛰기", endingSkip: g(414), autoSkipIntro: g(393), autoSkipOpening: g(444), autoSkipEnding: g(427), autoSkipOpeningEnding: g(408) }, ageRating: { noticeAll: g(442), notice12: g(432), notice15: g(422), notice19: "이 영상은 청소년이 시청하기에 부적절한 영상입니다." }, contentWarning: { sexuality: "성적 표현", violence: "폭력", language: "욕설", drugs: "약물", horror: "공포", imitation: g(454), provocative: g(406) }, error: { "01": { title: "동영상을 재생할 수 없음", desc: "잘못된 접근입니다. access_key를 확인해주세요." }, "02": { title: g(425), desc: g(398) }, "03": { title: g(459), desc: g(395) }, "04": { title: g(425), desc: g(439) }, "05": { title: g(425), desc: g(399) }, "06": { title: "동영상을 재생할 수 없음", desc: g(391) }, "07": { title: g(425), desc: g(461) }, "08": { title: "동영상을 재생할 수 없음", desc: g(447) }, "09": { title: "동영상을 재생할 수 없음", desc: g(456) }, 10: { title: g(425), desc: g(400) }, 11: { title: g(425), desc: g(407) }, 12: { title: g(425), desc: g(445) }, 13: { title: g(425), desc: g(429) }, 14: { title: g(425), desc: g(462) }, 15: { title: g(434), desc: g(411) }, 16: { title: "플레이어 실행 실패", desc: g(458) }, 17: { title: g(453), desc: g(419) } }, tv: { default: "기본", quality: "화질", subtitleStyle: "자막 스타일", subtitleStyleDesc: "텍스트, 색상, 배경 스타일 변경", applyDefaultStyle: "기본 스타일 적용", fontColor: g(443), fontSize: g(449), textOpacity: g(451), edgeStyle: g(446), bgColor: g(396), bgOpacity: "배경 불투명도", windowColor: g(438), windowOpacity: g(431), fontWeight: g(417), weight: { thin: "얇게", normal: "보통", semiBold: "약간 굵게", bold: "굵게", extraBold: g(403) }, color: { white: "흰색", black: g(423), red: g(452), green: g(426), blue: "파란색", yellow: "노란색", magenta: g(405), cyan: g(455) }, edge: { none: "없음", dropShadow: g(441), raised: "양각", depressed: "음각", uniform: "균일" } }, alternative: { hour: "시", minute: "분", second: "초", after: g(409), afterMin: "분 ", afterHour: g(413), afterDay: "일 ", startPlay: g(418), nextPlay: g(457), afterPlay: "예정" } };
|
|
47
|
+
function M0(x, t) {
|
|
48
|
+
x = x - 217;
|
|
27
49
|
var e = Ee(), i = e[x];
|
|
28
50
|
return i;
|
|
29
51
|
}
|
|
52
|
+
var w = M0;
|
|
30
53
|
(function(x, t) {
|
|
31
|
-
for (var e =
|
|
54
|
+
for (var e = M0, i = x(); ; )
|
|
32
55
|
try {
|
|
33
|
-
var
|
|
34
|
-
if (
|
|
56
|
+
var a = -parseInt(e(249)) / 1 + parseInt(e(262)) / 2 + -parseInt(e(237)) / 3 * (parseInt(e(253)) / 4) + -parseInt(e(274)) / 5 + -parseInt(e(241)) / 6 + -parseInt(e(280)) / 7 + parseInt(e(255)) / 8;
|
|
57
|
+
if (a === t) break;
|
|
35
58
|
i.push(i.shift());
|
|
36
59
|
} catch {
|
|
37
60
|
i.push(i.shift());
|
|
38
61
|
}
|
|
39
|
-
})(Ee,
|
|
40
|
-
const Xt = { common: { cancel: "취소", auto: "자동", normal: "보통", notUse: w(517), prev: w(510), next: "다음 동영상", delayText: "초 뒤 자동재생", license: w(532), play: "재생", pause: w(519), replay: "다시보기", fullOn: "전체화면", fullOff: w(513), muteOn: "음소거", muteOff: w(507), captionOff: w(525), captionOn: w(537), setting: "설정", live: w(526), miniPlayer: w(524), isMute: w(528), subtitle: "자막", subtitleNot: w(514) }, settings: { autoplay: w(551), playbackRate: w(505), captions: "자막", quality: "해상도" }, skip: { introSkip: w(512), openingSkip: w(502), endingSkip: w(545), autoSkipIntro: w(521), autoSkipOpening: w(555), autoSkipEnding: w(547), autoSkipOpeningEnding: "오프닝/엔딩 자동 스킵" }, ageRating: { noticeAll: "이 영상은 전체 관람가 영상입니다.", notice12: w(557), notice15: "이 영상은 15세 미만의 청소년이 시청하기에 부적절하므로 보호자의 시청지도가 필요한 영상입니다.", notice19: w(506) }, contentWarning: { sexuality: w(503), violence: "폭력", language: "욕설", drugs: "약물", horror: "공포", imitation: "모방위험", provocative: "자극적 장면" }, error: { "01": { title: w(554), desc: "잘못된 접근입니다. access_key를 확인해주세요." }, "02": { title: "동영상을 재생할 수 없음", desc: "동영상을 재생할 권한이 없습니다." }, "03": { title: w(549), desc: "네트워크 연결이 원활하지 않습니다." }, "04": { title: w(554), desc: "동영상을 재생할 수 없습니다." }, "05": { title: w(554), desc: w(543) }, "06": { title: w(554), desc: w(560) }, "07": { title: "동영상을 재생할 수 없음", desc: w(522) }, "08": { title: w(554), desc: w(504) }, "09": { title: "동영상을 재생할 수 없음", desc: w(527) }, 10: { title: w(554), desc: w(540) }, 11: { title: w(554), desc: w(556) }, 12: { title: w(554), desc: w(515) }, 13: { title: w(554), desc: w(561) }, 14: { title: w(554), desc: "화면 캡쳐 / 화면 녹화가 감지되었습니다." }, 15: { title: w(553), desc: w(508) }, 16: { title: w(553), desc: w(548) }, 17: { title: w(499), desc: w(500) } }, tv: { default: "기본", quality: "화질", subtitleStyle: w(531), subtitleStyleDesc: w(523), applyDefaultStyle: w(496), fontColor: w(552), fontSize: w(541), textOpacity: w(495), edgeStyle: "글자 테두리 스타일", bgColor: "배경 색상", bgOpacity: w(498), windowColor: w(546), windowOpacity: w(536), fontWeight: "글자 굵기", weight: { thin: "얇게", normal: "보통", semiBold: w(511), bold: "굵게", extraBold: "매우 굵게" }, color: { white: "흰색", black: w(530), red: w(535), green: w(538), blue: w(534), yellow: w(542), magenta: "자홍색", cyan: "청록색" }, edge: { none: "없음", dropShadow: w(501), raised: "양각", depressed: "음각", uniform: "균일" } }, alternative: { hour: "시", minute: "분", second: "초", after: w(539), afterMin: "분 ", afterHour: w(529), afterDay: "일 ", startPlay: w(516), nextPlay: w(509), afterPlay: "예정" } };
|
|
62
|
+
})(Ee, 194292);
|
|
41
63
|
function Ee() {
|
|
42
|
-
var x = ["{timeTxt}
|
|
64
|
+
var x = ["ミニプレーヤー", "{timeTxt}後に動画が始まります。", "自動再生", "背景色", "不正なアクセスです。access_keyを確認してください。", "前の動画", "871053MwPmEl", "イントロをスキップ", "全画面表示", "必須モジュールが読み込まれていません。(dash.js)", "236484TzsieW", "字幕スタイル", "必須モジュールが読み込まれていません。(hls.js)", "ライブストリームはオフラインです。", "マゼンタ", "画面キャプチャ/画面録画が検出されました。", "この映像は未成年者の視聴には不適切な内容を含みます。", "キャンセル", "261589UHQnRb", "デフォルトスタイルを適用", "テキスト、色、背景スタイルを変更", "OP/ED自動スキップ", "4RbQhyi", "字幕は利用できません", "7124304GaJVKd", "エンディングをスキップ", "エンディング自動スキップ", "DRMライセンスサーバーとの通信に失敗しました。", "浮き出し", "iOSではDASHビデオを再生できません。", "ライセンスが無効です。", "586848JLhgXh", "秒後に自動再生", "ライセンス", "字幕をオフにする", "ウィンドウ色", "フォント色", "再生速度", "動画を再生できませんでした。", "この映像は全年齢対象です。", "文字の太さ", "全画面表示を終了", "{timeTxt}秒後に次の動画が再生されます。", "1294305QTDJuW", "オープニングをスキップ", "URLの形式が正しくありません。", "ライブ", "プレーヤーの起動に失敗しました", "認証に失敗しました", "976185lUGBbD", "刺激的な場面", "この映像は12歳未満の視聴には不適切な内容を含むため、保護者の指導が必要です。", "字幕をオンにする", "シアン", "文字エッジスタイル", "ミュート", "しばらくして", "使用しない", "リプレイ", "DRMトークンが無効です。", "オープニング自動スキップ", "模倣危険", "フォントサイズ", "ドロップシャドウ", "デフォルト", "動画を再生できません", "ミュート状態です。", "この動画を再生する権限がありません。", "月間の基本提供呼び出し回数を超過しました。有料版に切り替えてご利用ください。", "ミュート解除", "やや太い", "ネットワーク接続が不安定です。"];
|
|
43
65
|
return Ee = function() {
|
|
44
66
|
return x;
|
|
45
67
|
}, Ee();
|
|
46
68
|
}
|
|
47
|
-
|
|
48
|
-
x = x - 421;
|
|
49
|
-
var e = Te(), i = e[x];
|
|
50
|
-
return i;
|
|
51
|
-
}
|
|
52
|
-
var g = Ot;
|
|
53
|
-
(function(x, t) {
|
|
54
|
-
for (var e = Ot, i = x(); ; )
|
|
55
|
-
try {
|
|
56
|
-
var n = -parseInt(e(484)) / 1 + parseInt(e(454)) / 2 * (parseInt(e(465)) / 3) + parseInt(e(477)) / 4 * (parseInt(e(431)) / 5) + parseInt(e(434)) / 6 * (-parseInt(e(425)) / 7) + -parseInt(e(459)) / 8 + -parseInt(e(460)) / 9 * (-parseInt(e(466)) / 10) + parseInt(e(453)) / 11;
|
|
57
|
-
if (n === t) break;
|
|
58
|
-
i.push(i.shift());
|
|
59
|
-
} catch {
|
|
60
|
-
i.push(i.shift());
|
|
61
|
-
}
|
|
62
|
-
})(Te, 921790);
|
|
63
|
-
function Te() {
|
|
64
|
-
var x = ["不正なアクセスです。access_keyを確認してください。", "ライセンスが無効です。", "全画面表示", "ドロップシャドウ", "刺激的な場面", "デフォルト", "2992099UjLHPS", "2OdImyN", "ミュート状態です。", "沈み込み", "字幕スタイル", "模倣危険", "7235008qzgGwa", "9sQstHb", "自動再生", "時間後", "エンディングをスキップ", "シアン", "5214099NsHfLZ", "15000890HPrUOQ", "動画を再生できませんでした。", "オープニング自動スキップ", "iOSではDASHビデオを再生できません。", "イントロ自動スキップ", "ライブストリームはオフラインです。", "テキスト不透明度", "リプレイ", "字幕は利用できません", "ミュート", "しばらくして", "60bQizeW", "ライセンス", "やや太い", "前の動画", "フォント色", "ライブ", "DRMライセンスサーバーとの通信に失敗しました。", "725357tBuvfC", "ウィンドウ不透明度", "字幕をオンにする", "月間の基本提供呼び出し回数を超過しました。有料版に切り替えてご利用ください。", "全画面表示を終了", "この機能にはStandardプランが必要です。", "フォントサイズ", "文字エッジスタイル", "212583iXUzXy", "デフォルトスタイルを適用", "一時停止", "背景色", "ミニプレーヤー", "プレーヤーの起動に失敗しました", "55015EWOtVt", "ネットワーク接続が不安定です。", "この映像は全年齢対象です。", "222dxPcSV", "次の動画", "文字の太さ", "この映像は未成年者の視聴には不適切な内容を含みます。", "動画を再生できません", "性的表現", "認証に失敗しました", "背景不透明度", "サポートされていない形式です。", "イントロをスキップ", "必須モジュールが読み込まれていません。(hls.js)", "{timeTxt}秒後に次の動画が再生されます。", "オープニングをスキップ"];
|
|
65
|
-
return Te = function() {
|
|
66
|
-
return x;
|
|
67
|
-
}, Te();
|
|
68
|
-
}
|
|
69
|
-
const Zt = { common: { cancel: "キャンセル", auto: "自動", normal: "標準", notUse: "使用しない", prev: g(480), next: g(435), delayText: "秒後に自動再生", license: g(478), play: "再生", pause: g(427), replay: g(473), fullOn: g(449), fullOff: g(421), muteOn: g(475), muteOff: "ミュート解除", captionOff: "字幕をオフにする", captionOn: g(486), setting: "設定", live: g(482), miniPlayer: g(429), isMute: g(455), subtitle: "字幕", subtitleNot: g(474) }, settings: { autoplay: g(461), playbackRate: "再生速度", captions: "字幕", quality: "画質" }, skip: { introSkip: g(443), openingSkip: g(446), endingSkip: g(463), autoSkipIntro: g(470), autoSkipOpening: g(468), autoSkipEnding: "エンディング自動スキップ", autoSkipOpeningEnding: "OP/ED自動スキップ" }, ageRating: { noticeAll: g(433), notice12: "この映像は12歳未満の視聴には不適切な内容を含むため、保護者の指導が必要です。", notice15: "この映像は15歳未満の視聴には不適切な内容を含むため、保護者の指導が必要です。", notice19: g(437) }, contentWarning: { sexuality: g(439), violence: "暴力", language: "暴言", drugs: "薬物", horror: "恐怖", imitation: g(458), provocative: g(451) }, error: { "01": { title: g(438), desc: g(447) }, "02": { title: g(438), desc: "この動画を再生する権限がありません。" }, "03": { title: g(440), desc: g(432) }, "04": { title: g(438), desc: g(467) }, "05": { title: g(438), desc: g(448) }, "06": { title: "動画を再生できません", desc: g(487) }, "07": { title: g(438), desc: g(442) }, "08": { title: g(438), desc: "URLの形式が正しくありません。" }, "09": { title: g(438), desc: g(471) }, 10: { title: g(438), desc: g(469) }, 11: { title: g(438), desc: "DRMトークンが無効です。" }, 12: { title: g(438), desc: g(483) }, 13: { title: g(438), desc: "FairPlay証明書の検証に失敗しました。" }, 14: { title: g(438), desc: "画面キャプチャ/画面録画が検出されました。" }, 15: { title: g(430), desc: g(444) }, 16: { title: "プレーヤーの起動に失敗しました", desc: "必須モジュールが読み込まれていません。(dash.js)" }, 17: { title: g(430), desc: g(422) } }, tv: { default: g(452), quality: "画質", subtitleStyle: g(457), subtitleStyleDesc: "テキスト、色、背景スタイルを変更", applyDefaultStyle: g(426), fontColor: g(481), fontSize: g(423), textOpacity: g(472), edgeStyle: g(424), bgColor: g(428), bgOpacity: g(441), windowColor: "ウィンドウ色", windowOpacity: g(485), fontWeight: g(436), weight: { thin: "細い", normal: "標準", semiBold: g(479), bold: "太い", extraBold: "極太" }, color: { white: "白", black: "黒", red: "赤", green: "緑", blue: "青", yellow: "黄", magenta: "マゼンタ", cyan: g(464) }, edge: { none: "なし", dropShadow: g(450), raised: "浮き出し", depressed: g(456), uniform: "均一" } }, alternative: { hour: "時間", minute: "分", second: "秒", after: g(476), afterMin: "分後", afterHour: g(462), afterDay: "日後", startPlay: "{timeTxt}後に動画が始まります。", nextPlay: g(445), afterPlay: "予定" } }, Xe = Nt;
|
|
69
|
+
const Z0 = { common: { cancel: w(248), auto: "自動", normal: "標準", notUse: w(288), prev: w(236), next: "次の動画", delayText: w(263), license: w(264), play: "再生", pause: "一時停止", replay: w(217), fullOn: w(239), fullOff: w(272), muteOn: w(286), muteOff: w(228), captionOff: w(265), captionOn: w(283), setting: "設定", live: w(277), miniPlayer: w(231), isMute: w(225), subtitle: "字幕", subtitleNot: w(254) }, settings: { autoplay: w(233), playbackRate: w(268), captions: "字幕", quality: "画質" }, skip: { introSkip: w(238), openingSkip: w(275), endingSkip: w(256), autoSkipIntro: "イントロ自動スキップ", autoSkipOpening: w(219), autoSkipEnding: w(257), autoSkipOpeningEnding: w(252) }, ageRating: { noticeAll: w(270), notice12: w(282), notice15: "この映像は15歳未満の視聴には不適切な内容を含むため、保護者の指導が必要です。", notice19: w(247) }, contentWarning: { sexuality: "性的表現", violence: "暴力", language: "暴言", drugs: "薬物", horror: "恐怖", imitation: w(220), provocative: w(281) }, error: { "01": { title: w(224), desc: w(235) }, "02": { title: w(224), desc: w(226) }, "03": { title: w(279), desc: w(230) }, "04": { title: w(224), desc: w(269) }, "05": { title: w(224), desc: w(261) }, "06": { title: "動画を再生できません", desc: w(227) }, "07": { title: w(224), desc: "サポートされていない形式です。" }, "08": { title: w(224), desc: w(276) }, "09": { title: w(224), desc: w(244) }, 10: { title: w(224), desc: w(260) }, 11: { title: w(224), desc: w(218) }, 12: { title: w(224), desc: w(258) }, 13: { title: w(224), desc: "FairPlay証明書の検証に失敗しました。" }, 14: { title: w(224), desc: w(246) }, 15: { title: w(278), desc: w(243) }, 16: { title: "プレーヤーの起動に失敗しました", desc: w(240) }, 17: { title: w(278), desc: "この機能にはStandardプランが必要です。" } }, tv: { default: w(223), quality: "画質", subtitleStyle: w(242), subtitleStyleDesc: w(251), applyDefaultStyle: w(250), fontColor: w(267), fontSize: w(221), textOpacity: "テキスト不透明度", edgeStyle: w(285), bgColor: w(234), bgOpacity: "背景不透明度", windowColor: w(266), windowOpacity: "ウィンドウ不透明度", fontWeight: w(271), weight: { thin: "細い", normal: "標準", semiBold: w(229), bold: "太い", extraBold: "極太" }, color: { white: "白", black: "黒", red: "赤", green: "緑", blue: "青", yellow: "黄", magenta: w(245), cyan: w(284) }, edge: { none: "なし", dropShadow: w(222), raised: w(259), depressed: "沈み込み", uniform: "均一" } }, alternative: { hour: "時間", minute: "分", second: "秒", after: w(287), afterMin: "分後", afterHour: "時間後", afterDay: "日後", startPlay: w(232), nextPlay: w(273), afterPlay: "予定" } }, Xe = P0;
|
|
70
70
|
(function(x, t) {
|
|
71
|
-
const e =
|
|
71
|
+
const e = P0, i = x();
|
|
72
72
|
for (; ; )
|
|
73
73
|
try {
|
|
74
|
-
if (parseInt(e(
|
|
74
|
+
if (parseInt(e(431)) / 1 * (parseInt(e(428)) / 2) + -parseInt(e(424)) / 3 * (-parseInt(e(434)) / 4) + -parseInt(e(435)) / 5 * (-parseInt(e(425)) / 6) + parseInt(e(423)) / 7 * (-parseInt(e(430)) / 8) + -parseInt(e(421)) / 9 + parseInt(e(432)) / 10 * (-parseInt(e(422)) / 11) + -parseInt(e(429)) / 12 * (-parseInt(e(426)) / 13) === t) break;
|
|
75
75
|
i.push(i.shift());
|
|
76
76
|
} catch {
|
|
77
77
|
i.push(i.shift());
|
|
78
78
|
}
|
|
79
|
-
})(Ce,
|
|
80
|
-
const Pt = { en: Jt, ko: Xt, ja: Zt };
|
|
79
|
+
})(Ce, 884403);
|
|
81
80
|
function Ce() {
|
|
82
|
-
const x = ["
|
|
81
|
+
const x = ["18726838RokxDH", "undefined", "146HAnXsG", "24sUdAxD", "8dTAfeh", "647TwSeWj", "410PXmejP", "language", "8bjoeJN", "900xpEiqc", "12112560dwyGoi", "468303EHnPZg", "7819007eZadtH", "1179561pZQpQI", "45936dYTbXf"];
|
|
83
82
|
return Ce = function() {
|
|
84
83
|
return x;
|
|
85
84
|
}, Ce();
|
|
86
85
|
}
|
|
87
|
-
const
|
|
88
|
-
function $
|
|
86
|
+
const O0 = { en: J0, ko: X0, ja: Z0 }, Q0 = () => typeof navigator !== Xe(427) && typeof navigator[Xe(433)] < "u";
|
|
87
|
+
function $0(x) {
|
|
89
88
|
const t = x.split("-")[0];
|
|
90
|
-
return t in
|
|
89
|
+
return t in O0 ? t : "en";
|
|
91
90
|
}
|
|
92
91
|
function Ze(x) {
|
|
93
92
|
const t = Xe;
|
|
94
93
|
let e = "en";
|
|
95
|
-
x ? e = x :
|
|
96
|
-
const i = $
|
|
97
|
-
return
|
|
94
|
+
x ? e = x : Q0() && (e = navigator[t(433)]);
|
|
95
|
+
const i = $0(e);
|
|
96
|
+
return O0[i];
|
|
98
97
|
}
|
|
99
|
-
function
|
|
100
|
-
return x = x -
|
|
98
|
+
function P0(x, t) {
|
|
99
|
+
return x = x - 421, Ce()[x];
|
|
101
100
|
}
|
|
102
101
|
Ze();
|
|
103
|
-
var
|
|
102
|
+
var et = "2.0.9", tt = 500, c0 = "user-agent", re = "", l0 = "?", T = {
|
|
104
103
|
FUNCTION: "function",
|
|
105
104
|
OBJECT: "object",
|
|
106
105
|
STRING: "string",
|
|
107
106
|
UNDEFINED: "undefined"
|
|
108
|
-
}, P = "browser",
|
|
107
|
+
}, P = "browser", W = "cpu", G = "device", L = "engine", N = "os", oe = "result", l = "name", s = "type", u = "vendor", d = "version", M = "architecture", he = "major", c = "model", Ie = "console", I = "mobile", k = "tablet", E = "smarttv", H = "wearable", ge = "xr", fe = "embedded", it = "fetcher", te = "inapp", i0 = "brands", Q = "formFactors", x0 = "fullVersionList", se = "platform", a0 = "platformVersion", Le = "bitness", X = "sec-ch-ua", xt = X + "-full-version-list", at = X + "-arch", nt = X + "-" + Le, rt = X + "-form-factors", ot = X + "-" + I, st = X + "-" + c, N0 = X + "-" + se, ct = N0 + "-version", U0 = [i0, x0, I, c, se, a0, M, Q, Le], me = "Amazon", ie = "Apple", d0 = "ASUS", u0 = "BlackBerry", Z = "Google", p0 = "Huawei", Ge = "Lenovo", f0 = "Honor", ye = "LG", Ve = "Microsoft", Ye = "Motorola", h0 = "Nvidia", b0 = "OnePlus", ze = "OPPO", le = "Samsung", w0 = "Sharp", de = "Sony", We = "Xiaomi", qe = "Zebra", g0 = "Chrome", m0 = "Chromium", K = "Chromecast", ke = "Edge", ue = "Firefox", xe = "Opera", Ke = "Facebook", y0 = "Sogou", ae = "Mobile ", ne = " Browser", Qe = "Windows", lt = typeof window !== T.UNDEFINED, O = lt && window.navigator ? window.navigator : void 0, $ = O && O.userAgentData ? O.userAgentData : void 0, dt = function(x, t) {
|
|
109
108
|
var e = {}, i = t;
|
|
110
109
|
if (!Ae(t)) {
|
|
111
110
|
i = {};
|
|
112
|
-
for (var
|
|
113
|
-
for (var r in t[
|
|
114
|
-
i[r] = t[
|
|
111
|
+
for (var a in t)
|
|
112
|
+
for (var r in t[a])
|
|
113
|
+
i[r] = t[a][r].concat(i[r] ? i[r] : []);
|
|
115
114
|
}
|
|
116
115
|
for (var o in x)
|
|
117
116
|
e[o] = i[o] && i[o].length % 2 === 0 ? i[o].concat(x[o]) : x[o];
|
|
@@ -121,64 +120,64 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
121
120
|
t[x[e].toUpperCase()] = x[e];
|
|
122
121
|
return t;
|
|
123
122
|
}, $e = function(x, t) {
|
|
124
|
-
if (typeof x ===
|
|
123
|
+
if (typeof x === T.OBJECT && x.length > 0) {
|
|
125
124
|
for (var e in x)
|
|
126
|
-
if (
|
|
125
|
+
if (j(t) == j(x[e])) return !0;
|
|
127
126
|
return !1;
|
|
128
127
|
}
|
|
129
|
-
return be(x) ?
|
|
128
|
+
return be(x) ? j(t) == j(x) : !1;
|
|
130
129
|
}, Ae = function(x, t) {
|
|
131
130
|
for (var e in x)
|
|
132
131
|
return /^(browser|cpu|device|engine|os)$/.test(e) || (t ? Ae(x[e]) : !1);
|
|
133
132
|
}, be = function(x) {
|
|
134
|
-
return typeof x ===
|
|
133
|
+
return typeof x === T.STRING;
|
|
135
134
|
}, je = function(x) {
|
|
136
135
|
if (x) {
|
|
137
136
|
for (var t = [], e = ce(/\\?\"/g, x).split(","), i = 0; i < e.length; i++)
|
|
138
137
|
if (e[i].indexOf(";") > -1) {
|
|
139
|
-
var
|
|
140
|
-
t[i] = { brand:
|
|
138
|
+
var a = De(e[i]).split(";v=");
|
|
139
|
+
t[i] = { brand: a[0], version: a[1] };
|
|
141
140
|
} else
|
|
142
141
|
t[i] = De(e[i]);
|
|
143
142
|
return t;
|
|
144
143
|
}
|
|
145
|
-
},
|
|
144
|
+
}, j = function(x) {
|
|
146
145
|
return be(x) ? x.toLowerCase() : x;
|
|
147
|
-
},
|
|
146
|
+
}, e0 = function(x) {
|
|
148
147
|
return be(x) ? ce(/[^\d\.]/g, x).split(".")[0] : void 0;
|
|
149
148
|
}, z = function(x) {
|
|
150
149
|
for (var t in x)
|
|
151
150
|
if (x.hasOwnProperty(t)) {
|
|
152
151
|
var e = x[t];
|
|
153
|
-
typeof e ==
|
|
152
|
+
typeof e == T.OBJECT && e.length == 2 ? this[e[0]] = e[1] : this[e] = void 0;
|
|
154
153
|
}
|
|
155
154
|
return this;
|
|
156
155
|
}, ce = function(x, t) {
|
|
157
156
|
return be(t) ? t.replace(x, re) : t;
|
|
158
|
-
},
|
|
157
|
+
}, pe = function(x) {
|
|
159
158
|
return ce(/\\?\"/g, x);
|
|
160
159
|
}, De = function(x, t) {
|
|
161
|
-
return x = ce(/^\s\s*/, String(x)), typeof t ===
|
|
162
|
-
},
|
|
160
|
+
return x = ce(/^\s\s*/, String(x)), typeof t === T.UNDEFINED ? x : x.substring(0, t);
|
|
161
|
+
}, t0 = function(x, t) {
|
|
163
162
|
if (!(!x || !t))
|
|
164
|
-
for (var e = 0, i,
|
|
165
|
-
var
|
|
166
|
-
for (i =
|
|
167
|
-
if (
|
|
168
|
-
for (r = 0; r <
|
|
169
|
-
|
|
163
|
+
for (var e = 0, i, a, r, o, f, p; e < t.length && !f; ) {
|
|
164
|
+
var y = t[e], v = t[e + 1];
|
|
165
|
+
for (i = a = 0; i < y.length && !f && y[i]; )
|
|
166
|
+
if (f = y[i++].exec(x), f)
|
|
167
|
+
for (r = 0; r < v.length; r++)
|
|
168
|
+
p = f[++a], o = v[r], typeof o === T.OBJECT && o.length > 0 ? o.length === 2 ? typeof o[1] == T.FUNCTION ? this[o[0]] = o[1].call(this, p) : this[o[0]] = o[1] : o.length >= 3 && (typeof o[1] === T.FUNCTION && !(o[1].exec && o[1].test) ? o.length > 3 ? this[o[0]] = p ? o[1].apply(this, o.slice(2)) : void 0 : this[o[0]] = p ? o[1].call(this, p, o[2]) : void 0 : o.length == 3 ? this[o[0]] = p ? p.replace(o[1], o[2]) : void 0 : o.length == 4 ? this[o[0]] = p ? o[3].call(this, p.replace(o[1], o[2])) : void 0 : o.length > 4 && (this[o[0]] = p ? o[3].apply(this, [p.replace(o[1], o[2])].concat(o.slice(4))) : void 0)) : this[o] = p || void 0;
|
|
170
169
|
e += 2;
|
|
171
170
|
}
|
|
172
171
|
}, U = function(x, t) {
|
|
173
172
|
for (var e in t)
|
|
174
|
-
if (typeof t[e] ===
|
|
173
|
+
if (typeof t[e] === T.OBJECT && t[e].length > 0) {
|
|
175
174
|
for (var i = 0; i < t[e].length; i++)
|
|
176
175
|
if ($e(t[e][i], x))
|
|
177
|
-
return e ===
|
|
176
|
+
return e === l0 ? void 0 : e;
|
|
178
177
|
} else if ($e(t[e], x))
|
|
179
|
-
return e ===
|
|
178
|
+
return e === l0 ? void 0 : e;
|
|
180
179
|
return t.hasOwnProperty("*") ? t["*"] : x;
|
|
181
|
-
},
|
|
180
|
+
}, v0 = {
|
|
182
181
|
ME: "4.90",
|
|
183
182
|
"NT 3.51": "3.51",
|
|
184
183
|
"NT 4.0": "4.0",
|
|
@@ -190,7 +189,7 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
190
189
|
"8.1": "6.3",
|
|
191
190
|
10: ["6.4", "10.0"],
|
|
192
191
|
NT: ""
|
|
193
|
-
},
|
|
192
|
+
}, S0 = {
|
|
194
193
|
embedded: "Automotive",
|
|
195
194
|
mobile: "Mobile",
|
|
196
195
|
tablet: ["Tablet", "EInk"],
|
|
@@ -199,7 +198,7 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
199
198
|
xr: ["VR", "XR"],
|
|
200
199
|
"?": ["Desktop", "Unknown"],
|
|
201
200
|
"*": void 0
|
|
202
|
-
},
|
|
201
|
+
}, ut = {
|
|
203
202
|
Chrome: "Google Chrome",
|
|
204
203
|
Edge: "Microsoft Edge",
|
|
205
204
|
"Edge WebView2": "Microsoft Edge WebView2",
|
|
@@ -209,23 +208,23 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
209
208
|
"MIUI Browser": "Miui Browser",
|
|
210
209
|
"Opera Mobi": "OperaMobile",
|
|
211
210
|
Yandex: "YaBrowser"
|
|
212
|
-
},
|
|
211
|
+
}, I0 = {
|
|
213
212
|
browser: [
|
|
214
213
|
[
|
|
215
214
|
// Most common regardless engine
|
|
216
215
|
/\b(?:crmo|crios)\/([\w\.]+)/i
|
|
217
216
|
// Chrome for Android/iOS
|
|
218
217
|
],
|
|
219
|
-
[
|
|
218
|
+
[d, [l, ae + "Chrome"]],
|
|
220
219
|
[
|
|
221
220
|
/webview.+edge\/([\w\.]+)/i
|
|
222
221
|
// Microsoft Edge
|
|
223
222
|
],
|
|
224
|
-
[
|
|
223
|
+
[d, [l, ke + " WebView"]],
|
|
225
224
|
[
|
|
226
225
|
/edg(?:e|ios|a)?\/([\w\.]+)/i
|
|
227
226
|
],
|
|
228
|
-
[
|
|
227
|
+
[d, [l, "Edge"]],
|
|
229
228
|
[
|
|
230
229
|
// Presto based
|
|
231
230
|
/(opera mini)\/([-\w\.]+)/i,
|
|
@@ -235,33 +234,33 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
235
234
|
/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
|
|
236
235
|
// Opera
|
|
237
236
|
],
|
|
238
|
-
[
|
|
237
|
+
[l, d],
|
|
239
238
|
[
|
|
240
239
|
/opios[\/ ]+([\w\.]+)/i
|
|
241
240
|
// Opera mini on iphone >= 8.0
|
|
242
241
|
],
|
|
243
|
-
[
|
|
242
|
+
[d, [l, xe + " Mini"]],
|
|
244
243
|
[
|
|
245
244
|
/\bop(?:rg)?x\/([\w\.]+)/i
|
|
246
245
|
// Opera GX
|
|
247
246
|
],
|
|
248
|
-
[
|
|
247
|
+
[d, [l, xe + " GX"]],
|
|
249
248
|
[
|
|
250
249
|
/\bopr\/([\w\.]+)/i
|
|
251
250
|
// Opera Webkit
|
|
252
251
|
],
|
|
253
|
-
[
|
|
252
|
+
[d, [l, xe]],
|
|
254
253
|
[
|
|
255
254
|
// Mixed
|
|
256
255
|
/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i
|
|
257
256
|
// Baidu
|
|
258
257
|
],
|
|
259
|
-
[
|
|
258
|
+
[d, [l, "Baidu"]],
|
|
260
259
|
[
|
|
261
260
|
/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i
|
|
262
261
|
// Maxthon
|
|
263
262
|
],
|
|
264
|
-
[
|
|
263
|
+
[d, [l, "Maxthon"]],
|
|
265
264
|
[
|
|
266
265
|
/(kindle)\/([\w\.]+)/i,
|
|
267
266
|
// Kindle
|
|
@@ -284,22 +283,22 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
284
283
|
/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i
|
|
285
284
|
// Ecosia/Weibo
|
|
286
285
|
],
|
|
287
|
-
[
|
|
286
|
+
[l, d],
|
|
288
287
|
[
|
|
289
288
|
/quark(?:pc)?\/([-\w\.]+)/i
|
|
290
289
|
// Quark
|
|
291
290
|
],
|
|
292
|
-
[
|
|
291
|
+
[d, [l, "Quark"]],
|
|
293
292
|
[
|
|
294
293
|
/\bddg\/([\w\.]+)/i
|
|
295
294
|
// DuckDuckGo
|
|
296
295
|
],
|
|
297
|
-
[
|
|
296
|
+
[d, [l, "DuckDuckGo"]],
|
|
298
297
|
[
|
|
299
298
|
/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
|
|
300
299
|
// UCBrowser
|
|
301
300
|
],
|
|
302
|
-
[
|
|
301
|
+
[d, [l, "UCBrowser"]],
|
|
303
302
|
[
|
|
304
303
|
/microm.+\bqbcore\/([\w\.]+)/i,
|
|
305
304
|
// WeChat Desktop for Windows Built-in Browser
|
|
@@ -307,107 +306,107 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
307
306
|
/micromessenger\/([\w\.]+)/i
|
|
308
307
|
// WeChat
|
|
309
308
|
],
|
|
310
|
-
[
|
|
309
|
+
[d, [l, "WeChat"]],
|
|
311
310
|
[
|
|
312
311
|
/konqueror\/([\w\.]+)/i
|
|
313
312
|
// Konqueror
|
|
314
313
|
],
|
|
315
|
-
[
|
|
314
|
+
[d, [l, "Konqueror"]],
|
|
316
315
|
[
|
|
317
316
|
/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i
|
|
318
317
|
// IE11
|
|
319
318
|
],
|
|
320
|
-
[
|
|
319
|
+
[d, [l, "IE"]],
|
|
321
320
|
[
|
|
322
321
|
/ya(?:search)?browser\/([\w\.]+)/i
|
|
323
322
|
// Yandex
|
|
324
323
|
],
|
|
325
|
-
[
|
|
324
|
+
[d, [l, "Yandex"]],
|
|
326
325
|
[
|
|
327
326
|
/slbrowser\/([\w\.]+)/i
|
|
328
327
|
// Smart Lenovo Browser
|
|
329
328
|
],
|
|
330
|
-
[
|
|
329
|
+
[d, [l, "Smart " + Ge + ne]],
|
|
331
330
|
[
|
|
332
331
|
/(av(?:ast|g|ira))\/([\w\.]+)/i
|
|
333
332
|
// Avast/AVG/Avira Secure Browser
|
|
334
333
|
],
|
|
335
|
-
[[
|
|
334
|
+
[[l, /(.+)/, "$1 Secure" + ne], d],
|
|
336
335
|
[
|
|
337
336
|
/norton\/([\w\.]+)/i
|
|
338
337
|
// Norton Private Browser
|
|
339
338
|
],
|
|
340
|
-
[
|
|
339
|
+
[d, [l, "Norton Private" + ne]],
|
|
341
340
|
[
|
|
342
341
|
/\bfocus\/([\w\.]+)/i
|
|
343
342
|
// Firefox Focus
|
|
344
343
|
],
|
|
345
|
-
[
|
|
344
|
+
[d, [l, ue + " Focus"]],
|
|
346
345
|
[
|
|
347
346
|
/ mms\/([\w\.]+)$/i
|
|
348
347
|
// Opera Neon
|
|
349
348
|
],
|
|
350
|
-
[
|
|
349
|
+
[d, [l, xe + " Neon"]],
|
|
351
350
|
[
|
|
352
351
|
/ opt\/([\w\.]+)$/i
|
|
353
352
|
// Opera Touch
|
|
354
353
|
],
|
|
355
|
-
[
|
|
354
|
+
[d, [l, xe + " Touch"]],
|
|
356
355
|
[
|
|
357
356
|
/coc_coc\w+\/([\w\.]+)/i
|
|
358
357
|
// Coc Coc Browser
|
|
359
358
|
],
|
|
360
|
-
[
|
|
359
|
+
[d, [l, "Coc Coc"]],
|
|
361
360
|
[
|
|
362
361
|
/dolfin\/([\w\.]+)/i
|
|
363
362
|
// Dolphin
|
|
364
363
|
],
|
|
365
|
-
[
|
|
364
|
+
[d, [l, "Dolphin"]],
|
|
366
365
|
[
|
|
367
366
|
/coast\/([\w\.]+)/i
|
|
368
367
|
// Opera Coast
|
|
369
368
|
],
|
|
370
|
-
[
|
|
369
|
+
[d, [l, xe + " Coast"]],
|
|
371
370
|
[
|
|
372
371
|
/miuibrowser\/([\w\.]+)/i
|
|
373
372
|
// MIUI Browser
|
|
374
373
|
],
|
|
375
|
-
[
|
|
374
|
+
[d, [l, "MIUI" + ne]],
|
|
376
375
|
[
|
|
377
376
|
/fxios\/([\w\.-]+)/i
|
|
378
377
|
// Firefox for iOS
|
|
379
378
|
],
|
|
380
|
-
[
|
|
379
|
+
[d, [l, ae + ue]],
|
|
381
380
|
[
|
|
382
381
|
/\bqihoobrowser\/?([\w\.]*)/i
|
|
383
382
|
// 360
|
|
384
383
|
],
|
|
385
|
-
[
|
|
384
|
+
[d, [l, "360"]],
|
|
386
385
|
[
|
|
387
386
|
/\b(qq)\/([\w\.]+)/i
|
|
388
387
|
// QQ
|
|
389
388
|
],
|
|
390
|
-
[[
|
|
389
|
+
[[l, /(.+)/, "$1Browser"], d],
|
|
391
390
|
[
|
|
392
391
|
/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i
|
|
393
392
|
],
|
|
394
|
-
[[
|
|
393
|
+
[[l, /(.+)/, "$1" + ne], d],
|
|
395
394
|
[
|
|
396
395
|
// Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser
|
|
397
396
|
/samsungbrowser\/([\w\.]+)/i
|
|
398
397
|
// Samsung Internet
|
|
399
398
|
],
|
|
400
|
-
[
|
|
399
|
+
[d, [l, le + " Internet"]],
|
|
401
400
|
[
|
|
402
401
|
/metasr[\/ ]?([\d\.]+)/i
|
|
403
402
|
// Sogou Explorer
|
|
404
403
|
],
|
|
405
|
-
[
|
|
404
|
+
[d, [l, y0 + " Explorer"]],
|
|
406
405
|
[
|
|
407
406
|
/(sogou)mo\w+\/([\d\.]+)/i
|
|
408
407
|
// Sogou Mobile
|
|
409
408
|
],
|
|
410
|
-
[[
|
|
409
|
+
[[l, y0 + " Mobile"], d],
|
|
411
410
|
[
|
|
412
411
|
/(electron)\/([\w\.]+) safari/i,
|
|
413
412
|
// Electron-based App
|
|
@@ -416,23 +415,23 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
416
415
|
/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i
|
|
417
416
|
// QQ/2345
|
|
418
417
|
],
|
|
419
|
-
[
|
|
418
|
+
[l, d],
|
|
420
419
|
[
|
|
421
420
|
/(lbbrowser|luakit|rekonq|steam(?= (clie|tenf|gameo)))/i
|
|
422
421
|
// LieBao Browser/Luakit/Rekonq/Steam
|
|
423
422
|
],
|
|
424
|
-
[
|
|
423
|
+
[l],
|
|
425
424
|
[
|
|
426
425
|
/ome\/([\w\.]+).+(iron(?= saf)|360(?=[es]e$))/i
|
|
427
426
|
// Iron / 360
|
|
428
427
|
],
|
|
429
|
-
[
|
|
428
|
+
[d, l],
|
|
430
429
|
[
|
|
431
430
|
// WebView
|
|
432
431
|
/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
|
|
433
432
|
// Facebook App for iOS & Android
|
|
434
433
|
],
|
|
435
|
-
[[
|
|
434
|
+
[[l, Ke], d, [s, te]],
|
|
436
435
|
[
|
|
437
436
|
/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
|
|
438
437
|
// Kakao App
|
|
@@ -453,111 +452,111 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
453
452
|
/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i
|
|
454
453
|
// Instagram/Snapchat/Klarna
|
|
455
454
|
],
|
|
456
|
-
[
|
|
455
|
+
[l, d, [s, te]],
|
|
457
456
|
[
|
|
458
457
|
/\bgsa\/([\w\.]+) .*safari\//i
|
|
459
458
|
// Google Search Appliance on iOS
|
|
460
459
|
],
|
|
461
|
-
[
|
|
460
|
+
[d, [l, "GSA"], [s, te]],
|
|
462
461
|
[
|
|
463
462
|
/(?:musical_ly|trill)(?:.+app_?version\/|_)([\w\.]+)/i
|
|
464
463
|
// TikTok
|
|
465
464
|
],
|
|
466
|
-
[
|
|
465
|
+
[d, [l, "TikTok"], [s, te]],
|
|
467
466
|
[
|
|
468
467
|
/\[(linkedin)app\]/i
|
|
469
468
|
// LinkedIn App for iOS & Android
|
|
470
469
|
],
|
|
471
|
-
[
|
|
470
|
+
[l, [s, te]],
|
|
472
471
|
[
|
|
473
472
|
/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i
|
|
474
473
|
// Zalo
|
|
475
474
|
],
|
|
476
|
-
[[
|
|
475
|
+
[[l, /(.+)/, "Zalo"], d, [s, te]],
|
|
477
476
|
[
|
|
478
477
|
/(chromium)[\/ ]([-\w\.]+)/i
|
|
479
478
|
// Chromium
|
|
480
479
|
],
|
|
481
|
-
[
|
|
480
|
+
[l, d],
|
|
482
481
|
[
|
|
483
482
|
/ome-(lighthouse)$/i
|
|
484
483
|
// Chrome Lighthouse
|
|
485
484
|
],
|
|
486
|
-
[
|
|
485
|
+
[l, [s, it]],
|
|
487
486
|
[
|
|
488
487
|
/headlesschrome(?:\/([\w\.]+)| )/i
|
|
489
488
|
// Chrome Headless
|
|
490
489
|
],
|
|
491
|
-
[
|
|
490
|
+
[d, [l, g0 + " Headless"]],
|
|
492
491
|
[
|
|
493
492
|
/wv\).+chrome\/([\w\.]+).+edgw\//i
|
|
494
493
|
// Edge WebView2
|
|
495
494
|
],
|
|
496
|
-
[
|
|
495
|
+
[d, [l, ke + " WebView2"]],
|
|
497
496
|
[
|
|
498
497
|
/ wv\).+(chrome)\/([\w\.]+)/i
|
|
499
498
|
// Chrome WebView
|
|
500
499
|
],
|
|
501
|
-
[[
|
|
500
|
+
[[l, g0 + " WebView"], d],
|
|
502
501
|
[
|
|
503
502
|
/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i
|
|
504
503
|
// Android Browser
|
|
505
504
|
],
|
|
506
|
-
[
|
|
505
|
+
[d, [l, "Android" + ne]],
|
|
507
506
|
[
|
|
508
507
|
/chrome\/([\w\.]+) mobile/i
|
|
509
508
|
// Chrome Mobile
|
|
510
509
|
],
|
|
511
|
-
[
|
|
510
|
+
[d, [l, ae + "Chrome"]],
|
|
512
511
|
[
|
|
513
512
|
/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
|
|
514
513
|
// Chrome/OmniWeb/Arora/Tizen/Nokia
|
|
515
514
|
],
|
|
516
|
-
[
|
|
515
|
+
[l, d],
|
|
517
516
|
[
|
|
518
517
|
/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i
|
|
519
518
|
// Safari Mobile
|
|
520
519
|
],
|
|
521
|
-
[
|
|
520
|
+
[d, [l, ae + "Safari"]],
|
|
522
521
|
[
|
|
523
522
|
/iphone .*mobile(?:\/\w+ | ?)safari/i
|
|
524
523
|
],
|
|
525
|
-
[[
|
|
524
|
+
[[l, ae + "Safari"]],
|
|
526
525
|
[
|
|
527
526
|
/version\/([\w\.\,]+) .*(safari)/i
|
|
528
527
|
// Safari
|
|
529
528
|
],
|
|
530
|
-
[
|
|
529
|
+
[d, l],
|
|
531
530
|
[
|
|
532
531
|
/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i
|
|
533
532
|
// Safari < 3.0
|
|
534
533
|
],
|
|
535
|
-
[
|
|
534
|
+
[l, [d, "1"]],
|
|
536
535
|
[
|
|
537
536
|
/(webkit|khtml)\/([\w\.]+)/i
|
|
538
537
|
],
|
|
539
|
-
[
|
|
538
|
+
[l, d],
|
|
540
539
|
[
|
|
541
540
|
// Gecko based
|
|
542
541
|
/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i
|
|
543
542
|
// Firefox Mobile
|
|
544
543
|
],
|
|
545
|
-
[[
|
|
544
|
+
[[l, ae + ue], d],
|
|
546
545
|
[
|
|
547
546
|
/(navigator|netscape\d?)\/([-\w\.]+)/i
|
|
548
547
|
// Netscape
|
|
549
548
|
],
|
|
550
|
-
[[
|
|
549
|
+
[[l, "Netscape"], d],
|
|
551
550
|
[
|
|
552
551
|
/(wolvic|librewolf)\/([\w\.]+)/i
|
|
553
552
|
// Wolvic/LibreWolf
|
|
554
553
|
],
|
|
555
|
-
[
|
|
554
|
+
[l, d],
|
|
556
555
|
[
|
|
557
556
|
/mobile vr; rv:([\w\.]+)\).+firefox/i
|
|
558
557
|
// Firefox Reality
|
|
559
558
|
],
|
|
560
|
-
[
|
|
559
|
+
[d, [l, ue + " Reality"]],
|
|
561
560
|
[
|
|
562
561
|
/ekiohf.+(flow)\/([\w\.]+)/i,
|
|
563
562
|
// Flow
|
|
@@ -577,12 +576,12 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
577
576
|
/\b(links) \(([\w\.]+)/i
|
|
578
577
|
// Links
|
|
579
578
|
],
|
|
580
|
-
[
|
|
579
|
+
[l, [d, /_/g, "."]],
|
|
581
580
|
[
|
|
582
581
|
/(cobalt)\/([\w\.]+)/i
|
|
583
582
|
// Cobalt
|
|
584
583
|
],
|
|
585
|
-
[
|
|
584
|
+
[l, [d, /[^\d\.]+./, re]]
|
|
586
585
|
],
|
|
587
586
|
cpu: [
|
|
588
587
|
[
|
|
@@ -625,7 +624,7 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
625
624
|
/(?:osf1|[freopnt]{3,4}bsd) (alpha)/i
|
|
626
625
|
// Alpha
|
|
627
626
|
],
|
|
628
|
-
[[M, /ower/, re,
|
|
627
|
+
[[M, /ower/, re, j]],
|
|
629
628
|
[
|
|
630
629
|
/mc680.0/i
|
|
631
630
|
],
|
|
@@ -643,19 +642,19 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
643
642
|
// Samsung
|
|
644
643
|
/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
|
|
645
644
|
],
|
|
646
|
-
[c, [u,
|
|
645
|
+
[c, [u, le], [s, k]],
|
|
647
646
|
[
|
|
648
647
|
/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
|
|
649
648
|
/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,
|
|
650
649
|
/sec-(sgh\w+)/i
|
|
651
650
|
],
|
|
652
|
-
[c, [u,
|
|
651
|
+
[c, [u, le], [s, I]],
|
|
653
652
|
[
|
|
654
653
|
// Apple
|
|
655
654
|
/(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i
|
|
656
655
|
// iPod/iPhone
|
|
657
656
|
],
|
|
658
|
-
[c, [u, ie], [s,
|
|
657
|
+
[c, [u, ie], [s, I]],
|
|
659
658
|
[
|
|
660
659
|
/\b(?:ios|apple\w+)\/.+[\(\/](ipad)/i,
|
|
661
660
|
// iPad
|
|
@@ -670,33 +669,33 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
670
669
|
// Sharp
|
|
671
670
|
/\b(sh-?[altvz]?\d\d[a-ekm]?)/i
|
|
672
671
|
],
|
|
673
|
-
[c, [u,
|
|
672
|
+
[c, [u, w0], [s, I]],
|
|
674
673
|
[
|
|
675
674
|
// Honor
|
|
676
675
|
/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i
|
|
677
676
|
],
|
|
678
|
-
[c, [u,
|
|
677
|
+
[c, [u, f0], [s, k]],
|
|
679
678
|
[
|
|
680
679
|
/honor([-\w ]+)[;\)]/i
|
|
681
680
|
],
|
|
682
|
-
[c, [u,
|
|
681
|
+
[c, [u, f0], [s, I]],
|
|
683
682
|
[
|
|
684
683
|
// Huawei
|
|
685
684
|
/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i
|
|
686
685
|
],
|
|
687
|
-
[c, [u,
|
|
686
|
+
[c, [u, p0], [s, k]],
|
|
688
687
|
[
|
|
689
688
|
/(?:huawei) ?([-\w ]+)[;\)]/i,
|
|
690
689
|
/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i
|
|
691
690
|
],
|
|
692
|
-
[c, [u,
|
|
691
|
+
[c, [u, p0], [s, I]],
|
|
693
692
|
[
|
|
694
693
|
// Xiaomi
|
|
695
694
|
/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,
|
|
696
695
|
/\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i
|
|
697
696
|
// Mi Pad tablets
|
|
698
697
|
],
|
|
699
|
-
[[c, /_/g, " "], [u,
|
|
698
|
+
[[c, /_/g, " "], [u, We], [s, k]],
|
|
700
699
|
[
|
|
701
700
|
/\b; (\w+) build\/hm\1/i,
|
|
702
701
|
// Xiaomi Hongmi 'numeric' models
|
|
@@ -708,40 +707,40 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
708
707
|
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,
|
|
709
708
|
/ ([\w ]+) miui\/v?\d/i
|
|
710
709
|
],
|
|
711
|
-
[[c, /_/g, " "], [u,
|
|
710
|
+
[[c, /_/g, " "], [u, We], [s, I]],
|
|
712
711
|
[
|
|
713
712
|
// OnePlus
|
|
714
713
|
/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-l]\w[1m]10)\b/i,
|
|
715
714
|
/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
|
|
716
715
|
],
|
|
717
|
-
[c, [u,
|
|
716
|
+
[c, [u, b0], [s, I]],
|
|
718
717
|
[
|
|
719
718
|
// OPPO
|
|
720
719
|
/; (\w+) bui.+ oppo/i,
|
|
721
720
|
/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
|
|
722
721
|
],
|
|
723
|
-
[c, [u,
|
|
722
|
+
[c, [u, ze], [s, I]],
|
|
724
723
|
[
|
|
725
724
|
/\b(opd2(\d{3}a?))(?: bui|\))/i
|
|
726
725
|
],
|
|
727
|
-
[c, [u, U, { OnePlus: ["203", "304", "403", "404", "413", "415"], "*":
|
|
726
|
+
[c, [u, U, { OnePlus: ["203", "304", "403", "404", "413", "415"], "*": ze }], [s, k]],
|
|
728
727
|
[
|
|
729
728
|
// BLU
|
|
730
729
|
/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i
|
|
731
730
|
// Vivo series
|
|
732
731
|
],
|
|
733
|
-
[c, [u, "BLU"], [s,
|
|
732
|
+
[c, [u, "BLU"], [s, I]],
|
|
734
733
|
[
|
|
735
734
|
// Vivo
|
|
736
735
|
/; vivo (\w+)(?: bui|\))/i,
|
|
737
736
|
/\b(v[12]\d{3}\w?[at])(?: bui|;)/i
|
|
738
737
|
],
|
|
739
|
-
[c, [u, "Vivo"], [s,
|
|
738
|
+
[c, [u, "Vivo"], [s, I]],
|
|
740
739
|
[
|
|
741
740
|
// Realme
|
|
742
741
|
/\b(rmx[1-3]\d{3})(?: bui|;|\))/i
|
|
743
742
|
],
|
|
744
|
-
[c, [u, "Realme"], [s,
|
|
743
|
+
[c, [u, "Realme"], [s, I]],
|
|
745
744
|
[
|
|
746
745
|
// Lenovo
|
|
747
746
|
/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,
|
|
@@ -751,18 +750,18 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
751
750
|
[
|
|
752
751
|
/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i
|
|
753
752
|
],
|
|
754
|
-
[c, [u, Ge], [s,
|
|
753
|
+
[c, [u, Ge], [s, I]],
|
|
755
754
|
[
|
|
756
755
|
// Motorola
|
|
757
756
|
/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
|
|
758
757
|
/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,
|
|
759
758
|
/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i
|
|
760
759
|
],
|
|
761
|
-
[c, [u,
|
|
760
|
+
[c, [u, Ye], [s, I]],
|
|
762
761
|
[
|
|
763
762
|
/\b(mz60\d|xoom[2 ]{0,2}) build\//i
|
|
764
763
|
],
|
|
765
|
-
[c, [u,
|
|
764
|
+
[c, [u, Ye], [s, k]],
|
|
766
765
|
[
|
|
767
766
|
// LG
|
|
768
767
|
/\b(?:lg)?([vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
|
|
@@ -773,7 +772,7 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
773
772
|
/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,
|
|
774
773
|
/\blg-?([\d\w]+) bui/i
|
|
775
774
|
],
|
|
776
|
-
[c, [u, ye], [s,
|
|
775
|
+
[c, [u, ye], [s, I]],
|
|
777
776
|
[
|
|
778
777
|
// Nokia
|
|
779
778
|
/(nokia) (t[12][01])/i
|
|
@@ -783,7 +782,7 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
783
782
|
/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,
|
|
784
783
|
/nokia[-_ ]?(([-\w\. ]*?))( bui|\)|;|\/)/i
|
|
785
784
|
],
|
|
786
|
-
[[c, /_/g, " "], [s,
|
|
785
|
+
[[c, /_/g, " "], [s, I], [u, "Nokia"]],
|
|
787
786
|
[
|
|
788
787
|
// Google
|
|
789
788
|
/(pixel (c|tablet))\b/i
|
|
@@ -794,7 +793,7 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
794
793
|
// Google Pixel
|
|
795
794
|
/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i
|
|
796
795
|
],
|
|
797
|
-
[c, [u, Z], [s,
|
|
796
|
+
[c, [u, Z], [s, I]],
|
|
798
797
|
[
|
|
799
798
|
/(google) (pixelbook( go)?)/i
|
|
800
799
|
],
|
|
@@ -803,12 +802,12 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
803
802
|
// Sony
|
|
804
803
|
/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
|
|
805
804
|
],
|
|
806
|
-
[c, [u,
|
|
805
|
+
[c, [u, de], [s, I]],
|
|
807
806
|
[
|
|
808
807
|
/sony tablet [ps]/i,
|
|
809
808
|
/\b(?:sony)?sgp\w+(?: bui|\))/i
|
|
810
809
|
],
|
|
811
|
-
[[c, "Xperia Tablet"], [u,
|
|
810
|
+
[[c, "Xperia Tablet"], [u, de], [s, k]],
|
|
812
811
|
[
|
|
813
812
|
// Amazon
|
|
814
813
|
/(alexa)webm/i,
|
|
@@ -822,7 +821,7 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
822
821
|
/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
|
|
823
822
|
// Fire Phone
|
|
824
823
|
],
|
|
825
|
-
[[c, /(.+)/g, "Fire Phone $1"], [u, me], [s,
|
|
824
|
+
[[c, /(.+)/g, "Fire Phone $1"], [u, me], [s, I]],
|
|
826
825
|
[
|
|
827
826
|
// BlackBerry
|
|
828
827
|
/(playbook);[-\w\),; ]+(rim)/i
|
|
@@ -833,16 +832,16 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
833
832
|
/\b((?:bb[a-f]|st[hv])100-\d)/i,
|
|
834
833
|
/(?:blackberry|\(bb10;) (\w+)/i
|
|
835
834
|
],
|
|
836
|
-
[c, [u,
|
|
835
|
+
[c, [u, u0], [s, I]],
|
|
837
836
|
[
|
|
838
837
|
// Asus
|
|
839
838
|
/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
|
|
840
839
|
],
|
|
841
|
-
[c, [u,
|
|
840
|
+
[c, [u, d0], [s, k]],
|
|
842
841
|
[
|
|
843
842
|
/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
|
|
844
843
|
],
|
|
845
|
-
[c, [u,
|
|
844
|
+
[c, [u, d0], [s, I]],
|
|
846
845
|
[
|
|
847
846
|
// HTC
|
|
848
847
|
/(nexus 9)/i
|
|
@@ -857,7 +856,7 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
857
856
|
/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
|
|
858
857
|
// Alcatel/GeeksPhone/Nexian/Panasonic/Sony
|
|
859
858
|
],
|
|
860
|
-
[u, [c, /_/g, " "], [s,
|
|
859
|
+
[u, [c, /_/g, " "], [s, I]],
|
|
861
860
|
[
|
|
862
861
|
// TCL
|
|
863
862
|
/tcl (xess p17aa)/i,
|
|
@@ -867,12 +866,12 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
867
866
|
[
|
|
868
867
|
/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i
|
|
869
868
|
],
|
|
870
|
-
[c, [u, "TCL"], [s,
|
|
869
|
+
[c, [u, "TCL"], [s, I]],
|
|
871
870
|
[
|
|
872
871
|
// itel
|
|
873
872
|
/(itel) ((\w+))/i
|
|
874
873
|
],
|
|
875
|
-
[[u,
|
|
874
|
+
[[u, j], c, [s, U, { tablet: ["p10001l", "w7001"], "*": "mobile" }]],
|
|
876
875
|
[
|
|
877
876
|
// Acer
|
|
878
877
|
/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
|
|
@@ -883,34 +882,34 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
883
882
|
/droid.+; (m[1-5] note) bui/i,
|
|
884
883
|
/\bmz-([-\w]{2,})/i
|
|
885
884
|
],
|
|
886
|
-
[c, [u, "Meizu"], [s,
|
|
885
|
+
[c, [u, "Meizu"], [s, I]],
|
|
887
886
|
[
|
|
888
887
|
// Ulefone
|
|
889
888
|
/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i
|
|
890
889
|
],
|
|
891
|
-
[c, [u, "Ulefone"], [s,
|
|
890
|
+
[c, [u, "Ulefone"], [s, I]],
|
|
892
891
|
[
|
|
893
892
|
// Energizer
|
|
894
893
|
/; (energy ?\w+)(?: bui|\))/i,
|
|
895
894
|
/; energizer ([\w ]+)(?: bui|\))/i
|
|
896
895
|
],
|
|
897
|
-
[c, [u, "Energizer"], [s,
|
|
896
|
+
[c, [u, "Energizer"], [s, I]],
|
|
898
897
|
[
|
|
899
898
|
// Cat
|
|
900
899
|
/; cat (b35);/i,
|
|
901
900
|
/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i
|
|
902
901
|
],
|
|
903
|
-
[c, [u, "Cat"], [s,
|
|
902
|
+
[c, [u, "Cat"], [s, I]],
|
|
904
903
|
[
|
|
905
904
|
// Smartfren
|
|
906
905
|
/((?:new )?andromax[\w- ]+)(?: bui|\))/i
|
|
907
906
|
],
|
|
908
|
-
[c, [u, "Smartfren"], [s,
|
|
907
|
+
[c, [u, "Smartfren"], [s, I]],
|
|
909
908
|
[
|
|
910
909
|
// Nothing
|
|
911
910
|
/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i
|
|
912
911
|
],
|
|
913
|
-
[c, [u, "Nothing"], [s,
|
|
912
|
+
[c, [u, "Nothing"], [s, I]],
|
|
914
913
|
[
|
|
915
914
|
// Archos
|
|
916
915
|
/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,
|
|
@@ -921,12 +920,12 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
921
920
|
/archos ([\w ]+)( b|\))/i,
|
|
922
921
|
/; (ac[3-6]\d\w{2,8})( b|\))/i
|
|
923
922
|
],
|
|
924
|
-
[c, [u, "Archos"], [s,
|
|
923
|
+
[c, [u, "Archos"], [s, I]],
|
|
925
924
|
[
|
|
926
925
|
// HMD
|
|
927
926
|
/; (n159v)/i
|
|
928
927
|
],
|
|
929
|
-
[c, [u, "HMD"], [s,
|
|
928
|
+
[c, [u, "HMD"], [s, I]],
|
|
930
929
|
[
|
|
931
930
|
// MIXED
|
|
932
931
|
/(imo) (tab \w+)/i,
|
|
@@ -951,7 +950,7 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
951
950
|
/droid[^;]+; (philips)[_ ]([sv-x][\d]{3,4}[xz]?)/i
|
|
952
951
|
// Philips
|
|
953
952
|
],
|
|
954
|
-
[u, c, [s,
|
|
953
|
+
[u, c, [s, I]],
|
|
955
954
|
[
|
|
956
955
|
/(kobo)\s(ereader|touch)/i,
|
|
957
956
|
// Kobo
|
|
@@ -970,31 +969,31 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
970
969
|
/droid [\d\.]+; (fp\du?)(?: b|\))/i
|
|
971
970
|
// Fairphone
|
|
972
971
|
],
|
|
973
|
-
[c, [u, "Fairphone"], [s,
|
|
972
|
+
[c, [u, "Fairphone"], [s, I]],
|
|
974
973
|
[
|
|
975
974
|
/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i
|
|
976
975
|
// Nvidia Tablets
|
|
977
976
|
],
|
|
978
|
-
[c, [u,
|
|
977
|
+
[c, [u, h0], [s, k]],
|
|
979
978
|
[
|
|
980
979
|
/(sprint) (\w+)/i
|
|
981
980
|
// Sprint Phones
|
|
982
981
|
],
|
|
983
|
-
[u, c, [s,
|
|
982
|
+
[u, c, [s, I]],
|
|
984
983
|
[
|
|
985
984
|
/(kin\.[onetw]{3})/i
|
|
986
985
|
// Microsoft Kin
|
|
987
986
|
],
|
|
988
|
-
[[c, /\./g, " "], [u, Ve], [s,
|
|
987
|
+
[[c, /\./g, " "], [u, Ve], [s, I]],
|
|
989
988
|
[
|
|
990
989
|
/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
|
|
991
990
|
// Zebra
|
|
992
991
|
],
|
|
993
|
-
[c, [u,
|
|
992
|
+
[c, [u, qe], [s, k]],
|
|
994
993
|
[
|
|
995
994
|
/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
|
|
996
995
|
],
|
|
997
|
-
[c, [u,
|
|
996
|
+
[c, [u, qe], [s, I]],
|
|
998
997
|
[
|
|
999
998
|
///////////////////
|
|
1000
999
|
// SMARTTVS
|
|
@@ -1004,90 +1003,90 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
1004
1003
|
/smart-tv.+(samsung)/i
|
|
1005
1004
|
// Samsung
|
|
1006
1005
|
],
|
|
1007
|
-
[u, [s,
|
|
1006
|
+
[u, [s, E]],
|
|
1008
1007
|
[
|
|
1009
1008
|
/hbbtv.+maple;(\d+)/i
|
|
1010
1009
|
],
|
|
1011
|
-
[[c, /^/, "SmartTV"], [u,
|
|
1010
|
+
[[c, /^/, "SmartTV"], [u, le], [s, E]],
|
|
1012
1011
|
[
|
|
1013
1012
|
/(vizio)(?: |.+model\/)(\w+-\w+)/i,
|
|
1014
1013
|
// Vizio
|
|
1015
1014
|
/tcast.+(lg)e?. ([-\w]+)/i
|
|
1016
1015
|
// LG SmartTV
|
|
1017
1016
|
],
|
|
1018
|
-
[u, c, [s,
|
|
1017
|
+
[u, c, [s, E]],
|
|
1019
1018
|
[
|
|
1020
1019
|
/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
|
|
1021
1020
|
],
|
|
1022
|
-
[[u, ye], [s,
|
|
1021
|
+
[[u, ye], [s, E]],
|
|
1023
1022
|
[
|
|
1024
1023
|
/(apple) ?tv/i
|
|
1025
1024
|
// Apple TV
|
|
1026
1025
|
],
|
|
1027
|
-
[u, [c, ie + " TV"], [s,
|
|
1026
|
+
[u, [c, ie + " TV"], [s, E]],
|
|
1028
1027
|
[
|
|
1029
1028
|
/crkey.*devicetype\/chromecast/i
|
|
1030
1029
|
// Google Chromecast Third Generation
|
|
1031
1030
|
],
|
|
1032
|
-
[[c, K + " Third Generation"], [u, Z], [s,
|
|
1031
|
+
[[c, K + " Third Generation"], [u, Z], [s, E]],
|
|
1033
1032
|
[
|
|
1034
1033
|
/crkey.*devicetype\/([^/]*)/i
|
|
1035
1034
|
// Google Chromecast with specific device type
|
|
1036
1035
|
],
|
|
1037
|
-
[[c, /^/, "Chromecast "], [u, Z], [s,
|
|
1036
|
+
[[c, /^/, "Chromecast "], [u, Z], [s, E]],
|
|
1038
1037
|
[
|
|
1039
1038
|
/fuchsia.*crkey/i
|
|
1040
1039
|
// Google Chromecast Nest Hub
|
|
1041
1040
|
],
|
|
1042
|
-
[[c, K + " Nest Hub"], [u, Z], [s,
|
|
1041
|
+
[[c, K + " Nest Hub"], [u, Z], [s, E]],
|
|
1043
1042
|
[
|
|
1044
1043
|
/crkey/i
|
|
1045
1044
|
// Google Chromecast, Linux-based or unknown
|
|
1046
1045
|
],
|
|
1047
|
-
[[c, K], [u, Z], [s,
|
|
1046
|
+
[[c, K], [u, Z], [s, E]],
|
|
1048
1047
|
[
|
|
1049
1048
|
/(portaltv)/i
|
|
1050
1049
|
// Facebook Portal TV
|
|
1051
1050
|
],
|
|
1052
|
-
[c, [u,
|
|
1051
|
+
[c, [u, Ke], [s, E]],
|
|
1053
1052
|
[
|
|
1054
1053
|
/droid.+aft(\w+)( bui|\))/i
|
|
1055
1054
|
// Fire TV
|
|
1056
1055
|
],
|
|
1057
|
-
[c, [u, me], [s,
|
|
1056
|
+
[c, [u, me], [s, E]],
|
|
1058
1057
|
[
|
|
1059
1058
|
/(shield \w+ tv)/i
|
|
1060
1059
|
// Nvidia Shield TV
|
|
1061
1060
|
],
|
|
1062
|
-
[c, [u,
|
|
1061
|
+
[c, [u, h0], [s, E]],
|
|
1063
1062
|
[
|
|
1064
1063
|
/\(dtv[\);].+(aquos)/i,
|
|
1065
1064
|
/(aquos-tv[\w ]+)\)/i
|
|
1066
1065
|
// Sharp
|
|
1067
1066
|
],
|
|
1068
|
-
[c, [u,
|
|
1067
|
+
[c, [u, w0], [s, E]],
|
|
1069
1068
|
[
|
|
1070
1069
|
/(bravia[\w ]+)( bui|\))/i
|
|
1071
1070
|
// Sony
|
|
1072
1071
|
],
|
|
1073
|
-
[c, [u,
|
|
1072
|
+
[c, [u, de], [s, E]],
|
|
1074
1073
|
[
|
|
1075
1074
|
/(mi(tv|box)-?\w+) bui/i
|
|
1076
1075
|
// Xiaomi
|
|
1077
1076
|
],
|
|
1078
|
-
[c, [u,
|
|
1077
|
+
[c, [u, We], [s, E]],
|
|
1079
1078
|
[
|
|
1080
1079
|
/Hbbtv.*(technisat) (.*);/i
|
|
1081
1080
|
// TechniSAT
|
|
1082
1081
|
],
|
|
1083
|
-
[u, c, [s,
|
|
1082
|
+
[u, c, [s, E]],
|
|
1084
1083
|
[
|
|
1085
1084
|
/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,
|
|
1086
1085
|
// Roku
|
|
1087
1086
|
/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i
|
|
1088
1087
|
// HbbTV devices
|
|
1089
1088
|
],
|
|
1090
|
-
[[u, /.+\/(\w+)/, "$1", U, { LG: "lge" }], [c, De], [s,
|
|
1089
|
+
[[u, /.+\/(\w+)/, "$1", U, { LG: "lge" }], [c, De], [s, E]],
|
|
1091
1090
|
[
|
|
1092
1091
|
///////////////////
|
|
1093
1092
|
// CONSOLES
|
|
@@ -1095,7 +1094,7 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
1095
1094
|
/(playstation \w+)/i
|
|
1096
1095
|
// Playstation
|
|
1097
1096
|
],
|
|
1098
|
-
[c, [u,
|
|
1097
|
+
[c, [u, de], [s, Ie]],
|
|
1099
1098
|
[
|
|
1100
1099
|
/\b(xbox(?: one)?(?!; xbox))[\); ]/i
|
|
1101
1100
|
// Microsoft Xbox
|
|
@@ -1120,48 +1119,48 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
1120
1119
|
/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i
|
|
1121
1120
|
// Samsung Galaxy Watch
|
|
1122
1121
|
],
|
|
1123
|
-
[c, [u,
|
|
1122
|
+
[c, [u, le], [s, H]],
|
|
1124
1123
|
[
|
|
1125
1124
|
/((pebble))app/i,
|
|
1126
1125
|
// Pebble
|
|
1127
1126
|
/(asus|google|lg|oppo|xiaomi) ((pixel |zen)?watch[\w ]*)( bui|\))/i
|
|
1128
1127
|
// Asus ZenWatch / LG Watch / Pixel Watch / Xiaomi Watch
|
|
1129
1128
|
],
|
|
1130
|
-
[u, c, [s,
|
|
1129
|
+
[u, c, [s, H]],
|
|
1131
1130
|
[
|
|
1132
1131
|
/(ow(?:19|20)?we?[1-3]{1,3})/i
|
|
1133
1132
|
// Oppo Watch
|
|
1134
1133
|
],
|
|
1135
|
-
[c, [u,
|
|
1134
|
+
[c, [u, ze], [s, H]],
|
|
1136
1135
|
[
|
|
1137
1136
|
/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
|
|
1138
1137
|
// Apple Watch
|
|
1139
1138
|
],
|
|
1140
|
-
[c, [u, ie], [s,
|
|
1139
|
+
[c, [u, ie], [s, H]],
|
|
1141
1140
|
[
|
|
1142
1141
|
/(opwwe\d{3})/i
|
|
1143
1142
|
// OnePlus Watch
|
|
1144
1143
|
],
|
|
1145
|
-
[c, [u,
|
|
1144
|
+
[c, [u, b0], [s, H]],
|
|
1146
1145
|
[
|
|
1147
1146
|
/(moto 360)/i
|
|
1148
1147
|
// Motorola 360
|
|
1149
1148
|
],
|
|
1150
|
-
[c, [u,
|
|
1149
|
+
[c, [u, Ye], [s, H]],
|
|
1151
1150
|
[
|
|
1152
1151
|
/(smartwatch 3)/i
|
|
1153
1152
|
// Sony SmartWatch
|
|
1154
1153
|
],
|
|
1155
|
-
[c, [u,
|
|
1154
|
+
[c, [u, de], [s, H]],
|
|
1156
1155
|
[
|
|
1157
1156
|
/(g watch r)/i
|
|
1158
1157
|
// LG G Watch R
|
|
1159
1158
|
],
|
|
1160
|
-
[c, [u, ye], [s,
|
|
1159
|
+
[c, [u, ye], [s, H]],
|
|
1161
1160
|
[
|
|
1162
1161
|
/droid.+; (wt63?0{2,3})\)/i
|
|
1163
1162
|
],
|
|
1164
|
-
[c, [u,
|
|
1163
|
+
[c, [u, qe], [s, H]],
|
|
1165
1164
|
[
|
|
1166
1165
|
///////////////////
|
|
1167
1166
|
// XR
|
|
@@ -1179,7 +1178,7 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
1179
1178
|
/(quest( \d| pro)?s?).+vr/i
|
|
1180
1179
|
// Meta Quest
|
|
1181
1180
|
],
|
|
1182
|
-
[c, [u,
|
|
1181
|
+
[c, [u, Ke], [s, ge]],
|
|
1183
1182
|
[
|
|
1184
1183
|
/mobile vr; rv.+firefox/i
|
|
1185
1184
|
// Unidentifiable VR device using Firefox Reality / Wolvic
|
|
@@ -1192,22 +1191,22 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
1192
1191
|
/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i
|
|
1193
1192
|
// Tesla
|
|
1194
1193
|
],
|
|
1195
|
-
[u, [s,
|
|
1194
|
+
[u, [s, fe]],
|
|
1196
1195
|
[
|
|
1197
1196
|
/(aeobc)\b/i
|
|
1198
1197
|
// Echo Dot
|
|
1199
1198
|
],
|
|
1200
|
-
[c, [u, me], [s,
|
|
1199
|
+
[c, [u, me], [s, fe]],
|
|
1201
1200
|
[
|
|
1202
1201
|
/(homepod).+mac os/i
|
|
1203
1202
|
// Apple HomePod
|
|
1204
1203
|
],
|
|
1205
|
-
[c, [u, ie], [s,
|
|
1204
|
+
[c, [u, ie], [s, fe]],
|
|
1206
1205
|
[
|
|
1207
1206
|
/windows iot/i
|
|
1208
1207
|
// Unidentifiable embedded device using Windows IoT
|
|
1209
1208
|
],
|
|
1210
|
-
[[s,
|
|
1209
|
+
[[s, fe]],
|
|
1211
1210
|
[
|
|
1212
1211
|
////////////////////
|
|
1213
1212
|
// MIXED (GENERIC)
|
|
@@ -1215,11 +1214,11 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
1215
1214
|
/droid.+; ([\w- ]+) (4k|android|smart|google)[- ]?tv/i
|
|
1216
1215
|
// Unidentifiable SmartTV
|
|
1217
1216
|
],
|
|
1218
|
-
[c, [s,
|
|
1217
|
+
[c, [s, E]],
|
|
1219
1218
|
[
|
|
1220
1219
|
/\b((4k|android|smart|opera)[- ]?tv|tv; rv:|large screen[\w ]+safari)\b/i
|
|
1221
1220
|
],
|
|
1222
|
-
[[s,
|
|
1221
|
+
[[s, E]],
|
|
1223
1222
|
[
|
|
1224
1223
|
/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i
|
|
1225
1224
|
],
|
|
@@ -1233,7 +1232,7 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
1233
1232
|
/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i
|
|
1234
1233
|
// Unidentifiable Mobile
|
|
1235
1234
|
],
|
|
1236
|
-
[[s,
|
|
1235
|
+
[[s, I]],
|
|
1237
1236
|
[
|
|
1238
1237
|
/droid .+?; ([\w\. -]+)( bui|\))/i
|
|
1239
1238
|
// Generic Android Device
|
|
@@ -1245,17 +1244,17 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
1245
1244
|
/windows.+ edge\/([\w\.]+)/i
|
|
1246
1245
|
// EdgeHTML
|
|
1247
1246
|
],
|
|
1248
|
-
[
|
|
1247
|
+
[d, [l, ke + "HTML"]],
|
|
1249
1248
|
[
|
|
1250
1249
|
/(arkweb)\/([\w\.]+)/i
|
|
1251
1250
|
// ArkWeb
|
|
1252
1251
|
],
|
|
1253
|
-
[
|
|
1252
|
+
[l, d],
|
|
1254
1253
|
[
|
|
1255
1254
|
/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
|
|
1256
1255
|
// Blink
|
|
1257
1256
|
],
|
|
1258
|
-
[
|
|
1257
|
+
[d, [l, "Blink"]],
|
|
1259
1258
|
[
|
|
1260
1259
|
/(presto)\/([\w\.]+)/i,
|
|
1261
1260
|
// Presto
|
|
@@ -1270,16 +1269,16 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
1270
1269
|
/\b(libweb)/i
|
|
1271
1270
|
// LibWeb
|
|
1272
1271
|
],
|
|
1273
|
-
[
|
|
1272
|
+
[l, d],
|
|
1274
1273
|
[
|
|
1275
1274
|
/ladybird\//i
|
|
1276
1275
|
],
|
|
1277
|
-
[[
|
|
1276
|
+
[[l, "LibWeb"]],
|
|
1278
1277
|
[
|
|
1279
1278
|
/rv\:([\w\.]{1,9})\b.+(gecko)/i
|
|
1280
1279
|
// Gecko
|
|
1281
1280
|
],
|
|
1282
|
-
[
|
|
1281
|
+
[d, l]
|
|
1283
1282
|
],
|
|
1284
1283
|
os: [
|
|
1285
1284
|
[
|
|
@@ -1287,24 +1286,24 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
1287
1286
|
/(windows nt) (6\.[23]); arm/i
|
|
1288
1287
|
// Windows RT
|
|
1289
1288
|
],
|
|
1290
|
-
[[
|
|
1289
|
+
[[l, /N/, "R"], [d, U, v0]],
|
|
1291
1290
|
[
|
|
1292
1291
|
/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,
|
|
1293
1292
|
// Windows IoT/Mobile/Phone
|
|
1294
1293
|
// Windows NT/3.1/95/98/ME/2000/XP/Vista/7/8/8.1/10/11
|
|
1295
1294
|
/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i
|
|
1296
1295
|
],
|
|
1297
|
-
[
|
|
1296
|
+
[l, d],
|
|
1298
1297
|
[
|
|
1299
1298
|
/windows nt ?([\d\.\)]*)(?!.+xbox)/i,
|
|
1300
1299
|
/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i
|
|
1301
1300
|
],
|
|
1302
|
-
[[
|
|
1301
|
+
[[d, /(;|\))/g, "", U, v0], [l, Qe]],
|
|
1303
1302
|
[
|
|
1304
1303
|
/(windows ce)\/?([\d\.]*)/i
|
|
1305
1304
|
// Windows CE
|
|
1306
1305
|
],
|
|
1307
|
-
[
|
|
1306
|
+
[l, d],
|
|
1308
1307
|
[
|
|
1309
1308
|
// iOS/macOS
|
|
1310
1309
|
/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,
|
|
@@ -1313,100 +1312,100 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
1313
1312
|
/\btvos ?([\w\.]+)/i,
|
|
1314
1313
|
/cfnetwork\/.+darwin/i
|
|
1315
1314
|
],
|
|
1316
|
-
[[
|
|
1315
|
+
[[d, /_/g, "."], [l, "iOS"]],
|
|
1317
1316
|
[
|
|
1318
1317
|
/(mac os x) ?([\w\. ]*)/i,
|
|
1319
1318
|
/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i
|
|
1320
1319
|
// Mac OS
|
|
1321
1320
|
],
|
|
1322
|
-
[[
|
|
1321
|
+
[[l, "macOS"], [d, /_/g, "."]],
|
|
1323
1322
|
[
|
|
1324
1323
|
// Google Chromecast
|
|
1325
1324
|
/android ([\d\.]+).*crkey/i
|
|
1326
1325
|
// Google Chromecast, Android-based
|
|
1327
1326
|
],
|
|
1328
|
-
[
|
|
1327
|
+
[d, [l, K + " Android"]],
|
|
1329
1328
|
[
|
|
1330
1329
|
/fuchsia.*crkey\/([\d\.]+)/i
|
|
1331
1330
|
// Google Chromecast, Fuchsia-based
|
|
1332
1331
|
],
|
|
1333
|
-
[
|
|
1332
|
+
[d, [l, K + " Fuchsia"]],
|
|
1334
1333
|
[
|
|
1335
1334
|
/crkey\/([\d\.]+).*devicetype\/smartspeaker/i
|
|
1336
1335
|
// Google Chromecast, Linux-based Smart Speaker
|
|
1337
1336
|
],
|
|
1338
|
-
[
|
|
1337
|
+
[d, [l, K + " SmartSpeaker"]],
|
|
1339
1338
|
[
|
|
1340
1339
|
/linux.*crkey\/([\d\.]+)/i
|
|
1341
1340
|
// Google Chromecast, Legacy Linux-based
|
|
1342
1341
|
],
|
|
1343
|
-
[
|
|
1342
|
+
[d, [l, K + " Linux"]],
|
|
1344
1343
|
[
|
|
1345
1344
|
/crkey\/([\d\.]+)/i
|
|
1346
1345
|
// Google Chromecast, unknown
|
|
1347
1346
|
],
|
|
1348
|
-
[
|
|
1347
|
+
[d, [l, K]],
|
|
1349
1348
|
[
|
|
1350
1349
|
// Mobile OSes
|
|
1351
1350
|
/droid ([\w\.]+)\b.+(android[- ]x86)/i
|
|
1352
1351
|
// Android-x86
|
|
1353
1352
|
],
|
|
1354
|
-
[
|
|
1353
|
+
[d, l],
|
|
1355
1354
|
[
|
|
1356
1355
|
/(ubuntu) ([\w\.]+) like android/i
|
|
1357
1356
|
// Ubuntu Touch
|
|
1358
1357
|
],
|
|
1359
|
-
[[
|
|
1358
|
+
[[l, /(.+)/, "$1 Touch"], d],
|
|
1360
1359
|
[
|
|
1361
1360
|
/(harmonyos)[\/ ]?([\d\.]*)/i,
|
|
1362
1361
|
// HarmonyOS
|
|
1363
1362
|
// Android/Blackberry/WebOS/QNX/Bada/RIM/KaiOS/Maemo/MeeGo/S40/Sailfish OS/OpenHarmony/Tizen
|
|
1364
1363
|
/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i
|
|
1365
1364
|
],
|
|
1366
|
-
[
|
|
1365
|
+
[l, d],
|
|
1367
1366
|
[
|
|
1368
1367
|
/\(bb(10);/i
|
|
1369
1368
|
// BlackBerry 10
|
|
1370
1369
|
],
|
|
1371
|
-
[
|
|
1370
|
+
[d, [l, u0]],
|
|
1372
1371
|
[
|
|
1373
1372
|
/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i
|
|
1374
1373
|
// Symbian
|
|
1375
1374
|
],
|
|
1376
|
-
[
|
|
1375
|
+
[d, [l, "Symbian"]],
|
|
1377
1376
|
[
|
|
1378
1377
|
/mozilla\/[\d\.]+ \((?:mobile[;\w ]*|tablet|tv|[^\)]*(?:viera|lg(?:l25|-d300)|alcatel ?o.+|y300-f1)); rv:([\w\.]+)\).+gecko\//i
|
|
1379
1378
|
// Firefox OS
|
|
1380
1379
|
],
|
|
1381
|
-
[
|
|
1380
|
+
[d, [l, ue + " OS"]],
|
|
1382
1381
|
[
|
|
1383
1382
|
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,
|
|
1384
1383
|
// WebOS
|
|
1385
1384
|
/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i
|
|
1386
1385
|
],
|
|
1387
|
-
[
|
|
1386
|
+
[d, [l, "webOS"]],
|
|
1388
1387
|
[
|
|
1389
1388
|
/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i
|
|
1390
1389
|
// https://webostv.developer.lge.com/develop/specifications/web-api-and-web-engine
|
|
1391
1390
|
],
|
|
1392
|
-
[[
|
|
1391
|
+
[[d, U, { 25: "120", 24: "108", 23: "94", 22: "87", 6: "79", 5: "68", 4: "53", 3: "38", 2: "538", 1: "537", "*": "TV" }], [l, "webOS"]],
|
|
1393
1392
|
[
|
|
1394
1393
|
/watch(?: ?os[,\/ ]|\d,\d\/)([\d\.]+)/i
|
|
1395
1394
|
// watchOS
|
|
1396
1395
|
],
|
|
1397
|
-
[
|
|
1396
|
+
[d, [l, "watchOS"]],
|
|
1398
1397
|
[
|
|
1399
1398
|
// Google ChromeOS
|
|
1400
1399
|
/cros [\w]+(?:\)| ([\w\.]+)\b)/i
|
|
1401
1400
|
// Chromium OS
|
|
1402
1401
|
],
|
|
1403
|
-
[
|
|
1402
|
+
[d, [l, "Chrome OS"]],
|
|
1404
1403
|
[
|
|
1405
1404
|
// Smart TVs
|
|
1406
1405
|
/kepler ([\w\.]+); (aft|aeo)/i
|
|
1407
1406
|
// Vega OS
|
|
1408
1407
|
],
|
|
1409
|
-
[
|
|
1408
|
+
[d, [l, "Vega OS"]],
|
|
1410
1409
|
[
|
|
1411
1410
|
/(netrange)mmh/i,
|
|
1412
1411
|
// Netrange
|
|
@@ -1441,947 +1440,947 @@ var e0 = "2.0.9", t0 = 500, dt = "user-agent", re = "", lt = "?", E = {
|
|
|
1441
1440
|
/(haiku) ?(r\d)?/i
|
|
1442
1441
|
// Haiku
|
|
1443
1442
|
],
|
|
1444
|
-
[
|
|
1443
|
+
[l, d],
|
|
1445
1444
|
[
|
|
1446
1445
|
/(sunos) ?([\d\.]*)/i
|
|
1447
1446
|
// Solaris
|
|
1448
1447
|
],
|
|
1449
|
-
[[
|
|
1448
|
+
[[l, "Solaris"], d],
|
|
1450
1449
|
[
|
|
1451
1450
|
/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,
|
|
1452
1451
|
// BeOS/OS2/AmigaOS/OpenVMS/HP-UX/SerenityOS
|
|
1453
1452
|
/(unix) ?([\w\.]*)/i
|
|
1454
1453
|
// UNIX
|
|
1455
1454
|
],
|
|
1456
|
-
[
|
|
1455
|
+
[l, d]
|
|
1457
1456
|
]
|
|
1458
1457
|
}, ve = (function() {
|
|
1459
1458
|
var x = { init: {}, isIgnore: {}, isIgnoreRgx: {}, toString: {} };
|
|
1460
1459
|
return z.call(x.init, [
|
|
1461
|
-
[P, [
|
|
1462
|
-
[
|
|
1463
|
-
[
|
|
1464
|
-
[L, [
|
|
1465
|
-
[N, [
|
|
1460
|
+
[P, [l, d, he, s]],
|
|
1461
|
+
[W, [M]],
|
|
1462
|
+
[G, [s, c, u]],
|
|
1463
|
+
[L, [l, d]],
|
|
1464
|
+
[N, [l, d]]
|
|
1466
1465
|
]), z.call(x.isIgnore, [
|
|
1467
|
-
[P, [
|
|
1468
|
-
[L, [
|
|
1469
|
-
[N, [
|
|
1466
|
+
[P, [d, he]],
|
|
1467
|
+
[L, [d]],
|
|
1468
|
+
[N, [d]]
|
|
1470
1469
|
]), z.call(x.isIgnoreRgx, [
|
|
1471
1470
|
[P, / ?browser$/i],
|
|
1472
1471
|
[N, / ?os$/i]
|
|
1473
1472
|
]), z.call(x.toString, [
|
|
1474
|
-
[P, [
|
|
1475
|
-
[
|
|
1476
|
-
[
|
|
1477
|
-
[L, [
|
|
1478
|
-
[N, [
|
|
1473
|
+
[P, [l, d]],
|
|
1474
|
+
[W, [M]],
|
|
1475
|
+
[G, [u, c]],
|
|
1476
|
+
[L, [l, d]],
|
|
1477
|
+
[N, [l, d]]
|
|
1479
1478
|
]), x;
|
|
1480
|
-
})(),
|
|
1481
|
-
var e = ve.init[t], i = ve.isIgnore[t] || 0,
|
|
1479
|
+
})(), pt = function(x, t) {
|
|
1480
|
+
var e = ve.init[t], i = ve.isIgnore[t] || 0, a = ve.isIgnoreRgx[t] || 0, r = ve.toString[t] || 0;
|
|
1482
1481
|
function o() {
|
|
1483
1482
|
z.call(this, e);
|
|
1484
1483
|
}
|
|
1485
1484
|
return o.prototype.getItem = function() {
|
|
1486
1485
|
return x;
|
|
1487
1486
|
}, o.prototype.withClientHints = function() {
|
|
1488
|
-
return $ ? $.getHighEntropyValues(
|
|
1489
|
-
return x.setCH(new
|
|
1487
|
+
return $ ? $.getHighEntropyValues(U0).then(function(f) {
|
|
1488
|
+
return x.setCH(new L0(f, !1)).parseCH().get();
|
|
1490
1489
|
}) : x.parseCH().get();
|
|
1491
1490
|
}, o.prototype.withFeatureCheck = function() {
|
|
1492
1491
|
return x.detectFeature().get();
|
|
1493
|
-
}, t != oe && (o.prototype.is = function(
|
|
1494
|
-
var
|
|
1495
|
-
for (var
|
|
1496
|
-
if (this.hasOwnProperty(
|
|
1497
|
-
if (
|
|
1498
|
-
} else if (
|
|
1499
|
-
|
|
1492
|
+
}, t != oe && (o.prototype.is = function(f) {
|
|
1493
|
+
var p = !1;
|
|
1494
|
+
for (var y in this)
|
|
1495
|
+
if (this.hasOwnProperty(y) && !$e(i, y) && j(a ? ce(a, this[y]) : this[y]) == j(a ? ce(a, f) : f)) {
|
|
1496
|
+
if (p = !0, f != T.UNDEFINED) break;
|
|
1497
|
+
} else if (f == T.UNDEFINED && p) {
|
|
1498
|
+
p = !p;
|
|
1500
1499
|
break;
|
|
1501
1500
|
}
|
|
1502
|
-
return
|
|
1501
|
+
return p;
|
|
1503
1502
|
}, o.prototype.toString = function() {
|
|
1504
|
-
var
|
|
1505
|
-
for (var
|
|
1506
|
-
typeof this[r[
|
|
1507
|
-
return
|
|
1508
|
-
}), o.prototype.then = function(
|
|
1509
|
-
var
|
|
1510
|
-
for (var
|
|
1511
|
-
|
|
1503
|
+
var f = re;
|
|
1504
|
+
for (var p in r)
|
|
1505
|
+
typeof this[r[p]] !== T.UNDEFINED && (f += (f ? " " : re) + this[r[p]]);
|
|
1506
|
+
return f || T.UNDEFINED;
|
|
1507
|
+
}), o.prototype.then = function(f) {
|
|
1508
|
+
var p = this, y = function() {
|
|
1509
|
+
for (var _ in p)
|
|
1510
|
+
p.hasOwnProperty(_) && (this[_] = p[_]);
|
|
1512
1511
|
};
|
|
1513
|
-
|
|
1512
|
+
y.prototype = {
|
|
1514
1513
|
is: o.prototype.is,
|
|
1515
1514
|
toString: o.prototype.toString,
|
|
1516
1515
|
withClientHints: o.prototype.withClientHints,
|
|
1517
1516
|
withFeatureCheck: o.prototype.withFeatureCheck
|
|
1518
1517
|
};
|
|
1519
|
-
var
|
|
1520
|
-
return
|
|
1518
|
+
var v = new y();
|
|
1519
|
+
return f(v), v;
|
|
1521
1520
|
}, new o();
|
|
1522
1521
|
};
|
|
1523
|
-
function
|
|
1524
|
-
if (x = x || {}, z.call(this,
|
|
1522
|
+
function L0(x, t) {
|
|
1523
|
+
if (x = x || {}, z.call(this, U0), t)
|
|
1525
1524
|
z.call(this, [
|
|
1526
|
-
[
|
|
1527
|
-
[
|
|
1528
|
-
[
|
|
1529
|
-
[c,
|
|
1530
|
-
[se,
|
|
1531
|
-
[
|
|
1532
|
-
[M,
|
|
1533
|
-
[Q, je(x[
|
|
1534
|
-
[Le,
|
|
1525
|
+
[i0, je(x[X])],
|
|
1526
|
+
[x0, je(x[xt])],
|
|
1527
|
+
[I, /\?1/.test(x[ot])],
|
|
1528
|
+
[c, pe(x[st])],
|
|
1529
|
+
[se, pe(x[N0])],
|
|
1530
|
+
[a0, pe(x[ct])],
|
|
1531
|
+
[M, pe(x[at])],
|
|
1532
|
+
[Q, je(x[rt])],
|
|
1533
|
+
[Le, pe(x[nt])]
|
|
1535
1534
|
]);
|
|
1536
1535
|
else
|
|
1537
1536
|
for (var e in x)
|
|
1538
|
-
this.hasOwnProperty(e) && typeof x[e] !==
|
|
1537
|
+
this.hasOwnProperty(e) && typeof x[e] !== T.UNDEFINED && (this[e] = x[e]);
|
|
1539
1538
|
}
|
|
1540
|
-
function
|
|
1539
|
+
function J(x, t, e, i) {
|
|
1541
1540
|
return z.call(this, [
|
|
1542
1541
|
["itemType", x],
|
|
1543
1542
|
["ua", t],
|
|
1544
1543
|
["uaCH", i],
|
|
1545
1544
|
["rgxMap", e],
|
|
1546
|
-
["data",
|
|
1545
|
+
["data", pt(this, x)]
|
|
1547
1546
|
]), this;
|
|
1548
1547
|
}
|
|
1549
|
-
|
|
1548
|
+
J.prototype.get = function(x) {
|
|
1550
1549
|
return x ? this.data.hasOwnProperty(x) ? this.data[x] : void 0 : this.data;
|
|
1551
1550
|
};
|
|
1552
|
-
|
|
1551
|
+
J.prototype.set = function(x, t) {
|
|
1553
1552
|
return this.data[x] = t, this;
|
|
1554
1553
|
};
|
|
1555
|
-
|
|
1554
|
+
J.prototype.setCH = function(x) {
|
|
1556
1555
|
return this.uaCH = x, this;
|
|
1557
1556
|
};
|
|
1558
|
-
|
|
1557
|
+
J.prototype.detectFeature = function() {
|
|
1559
1558
|
if (O && O.userAgent == this.ua)
|
|
1560
1559
|
switch (this.itemType) {
|
|
1561
1560
|
case P:
|
|
1562
|
-
O.brave && typeof O.brave.isBrave ==
|
|
1561
|
+
O.brave && typeof O.brave.isBrave == T.FUNCTION && this.set(l, "Brave");
|
|
1563
1562
|
break;
|
|
1564
|
-
case
|
|
1565
|
-
!this.get(s) && $ && $[
|
|
1563
|
+
case G:
|
|
1564
|
+
!this.get(s) && $ && $[I] && this.set(s, I), this.get(c) == "Macintosh" && O && typeof O.standalone !== T.UNDEFINED && O.maxTouchPoints && O.maxTouchPoints > 2 && this.set(c, "iPad").set(s, k);
|
|
1566
1565
|
break;
|
|
1567
1566
|
case N:
|
|
1568
|
-
!this.get(
|
|
1567
|
+
!this.get(l) && $ && $[se] && this.set(l, $[se]);
|
|
1569
1568
|
break;
|
|
1570
1569
|
case oe:
|
|
1571
1570
|
var x = this.data, t = function(e) {
|
|
1572
1571
|
return x[e].getItem().detectFeature().get();
|
|
1573
1572
|
};
|
|
1574
|
-
this.set(P, t(P)).set(
|
|
1573
|
+
this.set(P, t(P)).set(W, t(W)).set(G, t(G)).set(L, t(L)).set(N, t(N));
|
|
1575
1574
|
}
|
|
1576
1575
|
return this;
|
|
1577
1576
|
};
|
|
1578
|
-
|
|
1579
|
-
switch (this.itemType != oe &&
|
|
1577
|
+
J.prototype.parseUA = function() {
|
|
1578
|
+
switch (this.itemType != oe && t0.call(this.data, this.ua, this.rgxMap), this.itemType) {
|
|
1580
1579
|
case P:
|
|
1581
|
-
this.set(he,
|
|
1580
|
+
this.set(he, e0(this.get(d)));
|
|
1582
1581
|
break;
|
|
1583
1582
|
case N:
|
|
1584
|
-
if (this.get(
|
|
1583
|
+
if (this.get(l) == "iOS" && this.get(d) == "18.6") {
|
|
1585
1584
|
var x = /\) Version\/([\d\.]+)/.exec(this.ua);
|
|
1586
|
-
x && parseInt(x[1].substring(0, 2), 10) >= 26 && this.set(
|
|
1585
|
+
x && parseInt(x[1].substring(0, 2), 10) >= 26 && this.set(d, x[1]);
|
|
1587
1586
|
}
|
|
1588
1587
|
break;
|
|
1589
1588
|
}
|
|
1590
1589
|
return this;
|
|
1591
1590
|
};
|
|
1592
|
-
|
|
1591
|
+
J.prototype.parseCH = function() {
|
|
1593
1592
|
var x = this.uaCH, t = this.rgxMap;
|
|
1594
1593
|
switch (this.itemType) {
|
|
1595
1594
|
case P:
|
|
1596
1595
|
case L:
|
|
1597
|
-
var e = x[
|
|
1596
|
+
var e = x[x0] || x[i0], i;
|
|
1598
1597
|
if (e)
|
|
1599
|
-
for (var
|
|
1600
|
-
var r = e[
|
|
1601
|
-
this.itemType == P && !/not.a.brand/i.test(r) && (!i || /Chrom/.test(i) && r !=
|
|
1598
|
+
for (var a = 0; a < e.length; a++) {
|
|
1599
|
+
var r = e[a].brand || e[a], o = e[a].version;
|
|
1600
|
+
this.itemType == P && !/not.a.brand/i.test(r) && (!i || /Chrom/.test(i) && r != m0 || i == ke && /WebView2/.test(r)) && (r = U(r, ut), i = this.get(l), i && !/Chrom/.test(i) && /Chrom/.test(r) || this.set(l, r).set(d, o).set(he, e0(o)), i = r), this.itemType == L && r == m0 && this.set(d, o);
|
|
1602
1601
|
}
|
|
1603
1602
|
break;
|
|
1604
|
-
case
|
|
1605
|
-
var
|
|
1606
|
-
|
|
1603
|
+
case W:
|
|
1604
|
+
var f = x[M];
|
|
1605
|
+
f && (f && x[Le] == "64" && (f += "64"), t0.call(this.data, f + ";", t));
|
|
1607
1606
|
break;
|
|
1608
|
-
case
|
|
1609
|
-
if (x[
|
|
1610
|
-
var
|
|
1611
|
-
|
|
1607
|
+
case G:
|
|
1608
|
+
if (x[I] && this.set(s, I), x[c] && (this.set(c, x[c]), !this.get(s) || !this.get(u))) {
|
|
1609
|
+
var p = {};
|
|
1610
|
+
t0.call(p, "droid 9; " + x[c] + ")", t), !this.get(s) && p.type && this.set(s, p.type), !this.get(u) && p.vendor && this.set(u, p.vendor);
|
|
1612
1611
|
}
|
|
1613
1612
|
if (x[Q]) {
|
|
1614
|
-
var
|
|
1613
|
+
var y;
|
|
1615
1614
|
if (typeof x[Q] != "string")
|
|
1616
|
-
for (var
|
|
1617
|
-
|
|
1615
|
+
for (var v = 0; !y && v < x[Q].length; )
|
|
1616
|
+
y = U(x[Q][v++], S0);
|
|
1618
1617
|
else
|
|
1619
|
-
|
|
1620
|
-
this.set(s,
|
|
1618
|
+
y = U(x[Q], S0);
|
|
1619
|
+
this.set(s, y);
|
|
1621
1620
|
}
|
|
1622
1621
|
break;
|
|
1623
1622
|
case N:
|
|
1624
|
-
var
|
|
1625
|
-
if (
|
|
1626
|
-
var R = x[
|
|
1627
|
-
|
|
1623
|
+
var _ = x[se];
|
|
1624
|
+
if (_) {
|
|
1625
|
+
var R = x[a0];
|
|
1626
|
+
_ == Qe && (R = parseInt(e0(R), 10) >= 13 ? "11" : "10"), this.set(l, _).set(d, R);
|
|
1628
1627
|
}
|
|
1629
|
-
this.get(
|
|
1628
|
+
this.get(l) == Qe && x[c] == "Xbox" && this.set(l, "Xbox").set(d, void 0);
|
|
1630
1629
|
break;
|
|
1631
1630
|
case oe:
|
|
1632
|
-
var
|
|
1633
|
-
return
|
|
1631
|
+
var F = this.data, V = function(Y) {
|
|
1632
|
+
return F[Y].getItem().setCH(x).parseCH().get();
|
|
1634
1633
|
};
|
|
1635
|
-
this.set(P,
|
|
1634
|
+
this.set(P, V(P)).set(W, V(W)).set(G, V(G)).set(L, V(L)).set(N, V(N));
|
|
1636
1635
|
}
|
|
1637
1636
|
return this;
|
|
1638
1637
|
};
|
|
1639
1638
|
function q(x, t, e) {
|
|
1640
|
-
if (typeof x ===
|
|
1641
|
-
if (typeof e.append ===
|
|
1639
|
+
if (typeof x === T.OBJECT ? (Ae(x, !0) ? (typeof t === T.OBJECT && (e = t), t = x) : (e = x, t = void 0), x = void 0) : typeof x === T.STRING && !Ae(t, !0) && (e = t, t = void 0), e)
|
|
1640
|
+
if (typeof e.append === T.FUNCTION) {
|
|
1642
1641
|
var i = {};
|
|
1643
|
-
e.forEach(function(
|
|
1644
|
-
i[String(
|
|
1642
|
+
e.forEach(function(v, _) {
|
|
1643
|
+
i[String(_).toLowerCase()] = v;
|
|
1645
1644
|
}), e = i;
|
|
1646
1645
|
} else {
|
|
1647
|
-
var
|
|
1646
|
+
var a = {};
|
|
1648
1647
|
for (var r in e)
|
|
1649
|
-
e.hasOwnProperty(r) && (
|
|
1650
|
-
e =
|
|
1648
|
+
e.hasOwnProperty(r) && (a[String(r).toLowerCase()] = e[r]);
|
|
1649
|
+
e = a;
|
|
1651
1650
|
}
|
|
1652
1651
|
if (!(this instanceof q))
|
|
1653
1652
|
return new q(x, t, e).getResult();
|
|
1654
|
-
var o = typeof x ===
|
|
1653
|
+
var o = typeof x === T.STRING ? x : (
|
|
1655
1654
|
// Passed user-agent string
|
|
1656
|
-
e && e[
|
|
1655
|
+
e && e[c0] ? e[c0] : (
|
|
1657
1656
|
// User-Agent from passed headers
|
|
1658
1657
|
O && O.userAgent ? O.userAgent : (
|
|
1659
1658
|
// navigator.userAgent
|
|
1660
1659
|
re
|
|
1661
1660
|
)
|
|
1662
1661
|
)
|
|
1663
|
-
),
|
|
1664
|
-
return
|
|
1665
|
-
return new
|
|
1662
|
+
), f = new L0(e, !0), p = t ? dt(I0, t) : I0, y = function(v) {
|
|
1663
|
+
return v == oe ? function() {
|
|
1664
|
+
return new J(v, o, p, f).set("ua", o).set(P, this.getBrowser()).set(W, this.getCPU()).set(G, this.getDevice()).set(L, this.getEngine()).set(N, this.getOS()).get();
|
|
1666
1665
|
} : function() {
|
|
1667
|
-
return new
|
|
1666
|
+
return new J(v, o, p[v], f).parseUA().get();
|
|
1668
1667
|
};
|
|
1669
1668
|
};
|
|
1670
1669
|
return z.call(this, [
|
|
1671
|
-
["getBrowser",
|
|
1672
|
-
["getCPU",
|
|
1673
|
-
["getDevice",
|
|
1674
|
-
["getEngine",
|
|
1675
|
-
["getOS",
|
|
1676
|
-
["getResult",
|
|
1670
|
+
["getBrowser", y(P)],
|
|
1671
|
+
["getCPU", y(W)],
|
|
1672
|
+
["getDevice", y(G)],
|
|
1673
|
+
["getEngine", y(L)],
|
|
1674
|
+
["getOS", y(N)],
|
|
1675
|
+
["getResult", y(oe)],
|
|
1677
1676
|
["getUA", function() {
|
|
1678
1677
|
return o;
|
|
1679
1678
|
}],
|
|
1680
|
-
["setUA", function(
|
|
1681
|
-
return be(
|
|
1679
|
+
["setUA", function(v) {
|
|
1680
|
+
return be(v) && (o = De(v, tt)), this;
|
|
1682
1681
|
}]
|
|
1683
1682
|
]).setUA(o), this;
|
|
1684
1683
|
}
|
|
1685
|
-
q.VERSION =
|
|
1686
|
-
q.BROWSER = Be([
|
|
1684
|
+
q.VERSION = et;
|
|
1685
|
+
q.BROWSER = Be([l, d, he, s]);
|
|
1687
1686
|
q.CPU = Be([M]);
|
|
1688
|
-
q.DEVICE = Be([c, u, s, Ie,
|
|
1689
|
-
q.ENGINE = q.OS = Be([
|
|
1690
|
-
const
|
|
1687
|
+
q.DEVICE = Be([c, u, s, Ie, I, E, k, H, fe]);
|
|
1688
|
+
q.ENGINE = q.OS = Be([l, d]);
|
|
1689
|
+
const k0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1691
1690
|
__proto__: null,
|
|
1692
1691
|
UAParser: q
|
|
1693
1692
|
}, Symbol.toStringTag, { value: "Module" })), D = [];
|
|
1694
1693
|
for (let x = 0; x < 256; ++x)
|
|
1695
1694
|
D.push((x + 256).toString(16).slice(1));
|
|
1696
|
-
function
|
|
1695
|
+
function ft(x, t = 0) {
|
|
1697
1696
|
return (D[x[t + 0]] + D[x[t + 1]] + D[x[t + 2]] + D[x[t + 3]] + "-" + D[x[t + 4]] + D[x[t + 5]] + "-" + D[x[t + 6]] + D[x[t + 7]] + "-" + D[x[t + 8]] + D[x[t + 9]] + "-" + D[x[t + 10]] + D[x[t + 11]] + D[x[t + 12]] + D[x[t + 13]] + D[x[t + 14]] + D[x[t + 15]]).toLowerCase();
|
|
1698
1697
|
}
|
|
1699
1698
|
let Je;
|
|
1700
|
-
const
|
|
1701
|
-
function
|
|
1699
|
+
const ht = new Uint8Array(16);
|
|
1700
|
+
function bt() {
|
|
1702
1701
|
if (!Je) {
|
|
1703
1702
|
if (typeof crypto > "u" || !crypto.getRandomValues)
|
|
1704
1703
|
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
1705
1704
|
Je = crypto.getRandomValues.bind(crypto);
|
|
1706
1705
|
}
|
|
1707
|
-
return Je(
|
|
1706
|
+
return Je(ht);
|
|
1708
1707
|
}
|
|
1709
|
-
const
|
|
1710
|
-
function
|
|
1708
|
+
const wt = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), _0 = { randomUUID: wt };
|
|
1709
|
+
function gt(x, t, e) {
|
|
1711
1710
|
x = x || {};
|
|
1712
|
-
const i = x.random ?? x.rng?.() ??
|
|
1711
|
+
const i = x.random ?? x.rng?.() ?? bt();
|
|
1713
1712
|
if (i.length < 16)
|
|
1714
1713
|
throw new Error("Random bytes length must be >= 16");
|
|
1715
|
-
return i[6] = i[6] & 15 | 64, i[8] = i[8] & 63 | 128,
|
|
1714
|
+
return i[6] = i[6] & 15 | 64, i[8] = i[8] & 63 | 128, ft(i);
|
|
1716
1715
|
}
|
|
1717
|
-
function
|
|
1718
|
-
return
|
|
1716
|
+
function B0(x, t, e) {
|
|
1717
|
+
return _0.randomUUID && !x ? _0.randomUUID() : gt(x);
|
|
1719
1718
|
}
|
|
1720
|
-
function
|
|
1721
|
-
|
|
1722
|
-
|
|
1719
|
+
function F0(x, t) {
|
|
1720
|
+
return x = x - 125, Re()[x];
|
|
1721
|
+
}
|
|
1722
|
+
const n = F0;
|
|
1723
|
+
function Re() {
|
|
1724
|
+
const x = ["Kyrgyzstan", "Dominican Republic", "Norfolk Island", "Luxembourg", "Guinea-Bissau", "Burkina Faso", "Eritrea", "Russian Federation", "Guatemala", "Fiji", "Iran (Islamic Republic of)", "Guyana", "Niger", "Bermuda", "Réunion", "Sao Tome and Principe", "Cambodia", "447319EOTiFy", "French Guiana", "Puerto Rico", "New Zealand", "Gambia", "Greenland", "Andorra", "Montenegro", "Cyprus", "India", "Croatia", "South Sudan", "Korea (Democratic People's Republic of)", "Venezuela (Bolivarian Republic of)", "Chile", "Congo", "Cuba", "Saint Martin (French part)", "Samoa", "Suriname", "Turkey", "South Africa", "Seychelles", "Czech Republic", "Afghanistan", "Italy", "Togo", "Angola", "Liechtenstein", "Belarus", "Tokelau", "Niue", "Lithuania", "United Arab Emirates", "Slovenia", "7126400htyQlW", "Brazil", "Morocco", "Jamaica", "Sri Lanka", "Georgia", "United States of America", "Bahamas", "Macedonia (the former Yugoslav Republic of)", "Australia", "Uzbekistan", "Cabo Verde", "Antarctica", "Somalia", "2454615AiOIjG", "Nepal", "Ireland", "40pPFVbL", "Falkland Islands (Malvinas)", "Nauru", "Bolivia (Plurinational State of)", "South Georgia and the South Sandwich Islands", "Tajikistan", "Pakistan", "Cameroon", "Serbia", "Yemen", "Djibouti", "Costa Rica", "17209192DFurUJ", "Madagascar", "Sierra Leone", "Saint Pierre and Miquelon", "Libya", "Tuvalu", "Comoros", "Swaziland", "Ecuador", "1771698LyHdpt", "Palestine, State of", "Åland Islands", "Saint Barthélemy", "Philippines", "Bulgaria", "Korea, Republic of", "Ghana", "Oman", "Cayman Islands", "Zambia", "Finland", "Nicaragua", "808NJFHxT", "Aruba", "Portugal", "Azerbaijan", "Sint Maarten (Dutch part)", "Romania", "Indonesia", "Lesotho", "United States Minor Outlying Islands", "Tunisia", "Myanmar", "Slovakia", "Burundi", "Mauritania", "Tanzania, United Republic of", "Heard Island and McDonald Islands", "265esAwGz", "Gabon", "Holy See", "Curaçao", "Saint Lucia", "El Salvador", "1263DungaO", "Turkmenistan", "Spain", "Guinea", "Liberia", "Trinidad and Tobago", "Rwanda", "Pitcairn", "Zimbabwe", "Uganda", "Martinique", "Taiwan", "Bonaire, Sint Eustatius and Saba", "Malta", "Peru", "Central African Republic", "Dominica", "Viet Nam", "Iceland", "Israel", "Cook Islands", "Panama", "Svalbard and Jan Mayen", "Senegal", "Estonia", "Christmas Island", "Isle of Man", "Wallis and Futuna", "Austria", "Switzerland", "Uruguay", "Canada", "Haiti", "Thailand", "Guernsey", "American Samoa", "Marshall Islands", "Botswana", "28256qayoso", "Malawi", "Moldova (Republic of)", "Denmark", "Guam", "Belgium", "Iraq", "Qatar", "Virgin Islands (U.S.)", "Solomon Islands", "Lebanon", "Germany", "Ethiopia", "Colombia", "Micronesia (Federated States of)", "Barbados", "San Marino", "Bouvet Island", "Nigeria", "Grenada", "Mali", "Equatorial Guinea", "14efONyr", "Macao", "Mayotte", "Mongolia", "Brunei Darussalam", "Honduras", "Albania", "Chad"];
|
|
1725
|
+
return Re = function() {
|
|
1723
1726
|
return x;
|
|
1724
|
-
},
|
|
1727
|
+
}, Re();
|
|
1725
1728
|
}
|
|
1726
|
-
const a = Ht;
|
|
1727
1729
|
(function(x, t) {
|
|
1728
|
-
const e =
|
|
1730
|
+
const e = F0, i = x();
|
|
1729
1731
|
for (; ; )
|
|
1730
1732
|
try {
|
|
1731
|
-
if (parseInt(e(
|
|
1733
|
+
if (parseInt(e(257)) / 1 + parseInt(e(150)) / 2 * (-parseInt(e(172)) / 3) + parseInt(e(210)) / 4 * (parseInt(e(166)) / 5) + -parseInt(e(137)) / 6 * (-parseInt(e(232)) / 7) + -parseInt(e(309)) / 8 * (parseInt(e(306)) / 9) + -parseInt(e(292)) / 10 + parseInt(e(128)) / 11 === t) break;
|
|
1732
1734
|
i.push(i.shift());
|
|
1733
1735
|
} catch {
|
|
1734
1736
|
i.push(i.shift());
|
|
1735
1737
|
}
|
|
1736
|
-
})(
|
|
1737
|
-
|
|
1738
|
-
return x = x - 311, Me()[x];
|
|
1739
|
-
}
|
|
1740
|
-
const Gt = { AF: "Afghanistan", AX: "Åland Islands", AL: a(328), DZ: "Algeria", AS: "American Samoa", AD: "Andorra", AO: "Angola", AI: a(514), AQ: a(474), AG: a(449), AR: a(392), AM: a(387), AW: a(491), AU: "Australia", AT: a(331), AZ: a(356), BS: "Bahamas", BH: a(333), BD: a(495), BB: a(498), BY: a(496), BE: a(504), BZ: "Belize", BJ: a(485), BM: a(423), BT: a(419), BO: a(334), BQ: a(406), BA: a(511), BW: a(454), BV: a(322), BR: a(397), IO: a(460), BN: a(348), BG: "Bulgaria", BF: a(432), BI: "Burundi", CV: a(487), KH: a(450), CM: a(375), CA: a(455), KY: a(409), CF: a(325), TD: a(316), CL: a(374), CN: a(344), CX: a(359), CC: "Cocos (Keeling) Islands", CO: a(513), KM: a(476), CG: "Congo", CD: a(408), CK: a(433), CR: a(436), CI: "Côte d'Ivoire", HR: a(412), CU: "Cuba", CW: a(488), CY: a(506), CZ: a(516), DK: a(414), DJ: "Djibouti", DM: a(431), DO: a(512), EC: a(451), EG: a(311), SV: "El Salvador", GQ: "Equatorial Guinea", ER: "Eritrea", EE: a(338), ET: a(477), FK: a(493), FO: a(469), FJ: a(312), FI: a(345), FR: a(510), GF: a(324), PF: a(492), TF: a(320), GA: a(386), GM: a(456), GE: a(343), DE: a(336), GH: a(430), GI: a(443), GR: a(376), GL: a(483), GD: "Grenada", GP: a(458), GU: "Guam", GT: a(478), GG: a(342), GN: a(358), GW: a(380), GY: a(394), HT: a(347), HM: a(475), VA: "Holy See", HN: a(351), HK: a(438), HU: a(426), IS: a(440), IN: a(413), ID: a(410), IR: a(490), IQ: a(464), IE: a(357), IM: a(366), IL: a(502), IT: a(418), JM: "Jamaica", JP: "Japan", JE: a(373), JO: a(472), KZ: "Kazakhstan", KE: a(503), KI: a(390), KP: a(466), KR: a(341), KW: "Kuwait", KG: a(370), LA: a(326), LV: a(339), LB: a(313), LS: "Lesotho", LR: a(340), LY: a(403), LI: a(473), LT: a(399), LU: a(371), MO: a(385), MK: a(505), MG: a(405), MW: "Malawi", MY: "Malaysia", MV: a(391), ML: "Mali", MT: a(404), MH: a(363), MQ: "Martinique", MR: a(361), MU: a(417), YT: a(337), MX: "Mexico", FM: a(382), MD: a(349), MC: a(441), MN: a(507), ME: a(435), MS: a(442), MA: a(497), MZ: a(471), MM: a(400), NA: a(389), NR: a(330), NP: "Nepal", NL: a(318), NC: a(459), NZ: a(489), NI: "Nicaragua", NE: a(323), NG: a(481), NU: a(319), NF: a(428), MP: a(321), NO: a(332), OM: "Oman", PK: "Pakistan", PW: a(354), PS: a(415), PA: a(439), PG: a(327), PY: "Paraguay", PE: a(421), PH: "Philippines", PN: a(453), PL: a(446), PT: a(401), PR: a(402), QA: a(467), RE: "Réunion", RO: a(346), RU: a(396), RW: "Rwanda", BL: a(365), SH: a(377), KN: "Saint Kitts and Nevis", LC: "Saint Lucia", MF: a(367), PM: a(424), VC: a(434), WS: a(353), SM: a(515), ST: a(379), SA: "Saudi Arabia", SN: "Senegal", RS: a(494), SC: a(314), SL: a(452), SG: a(445), SX: a(381), SK: a(416), SI: "Slovenia", SB: a(479), SO: a(329), ZA: a(509), GS: a(407), SS: a(364), ES: a(480), LK: a(499), SD: "Sudan", SR: a(462), SJ: a(501), SZ: a(425), SE: a(360), CH: a(463), SY: a(427), TW: a(355), TJ: a(448), TZ: a(484), TH: a(468), TL: a(461), TG: a(482), TK: a(457), TO: a(350), TT: a(315), TN: "Tunisia", TR: a(362), TM: a(388), TC: a(335), TV: a(384), UG: "Uganda", UA: a(444), AE: a(508), GB: a(420), US: a(486), UM: a(395), UY: a(378), UZ: a(500), VU: a(429), VE: a(470), VN: "Viet Nam", VG: "Virgin Islands (British)", VI: "Virgin Islands (U.S.)", WF: a(437), EH: a(372), YE: a(383), ZM: "Zambia", ZW: "Zimbabwe" }, _ = ot;
|
|
1738
|
+
})(Re, 730350);
|
|
1739
|
+
const H0 = { AF: n(281), AX: n(139), AL: n(238), DZ: "Algeria", AS: n(207), AD: n(263), AO: n(284), AI: "Anguilla", AQ: n(304), AG: "Antigua and Barbuda", AR: "Argentina", AM: "Armenia", AW: n(151), AU: n(301), AT: n(200), AZ: n(153), BS: n(299), BH: "Bahrain", BD: "Bangladesh", BB: n(225), BY: n(286), BE: n(215), BZ: "Belize", BJ: "Benin", BM: n(253), BT: "Bhutan", BO: n(312), BQ: n(184), BA: "Bosnia and Herzegovina", BW: n(209), BV: n(227), BR: n(293), IO: "British Indian Ocean Territory", BN: n(236), BG: n(142), BF: n(245), BI: n(162), CV: n(303), KH: n(256), CM: n(316), CA: n(203), KY: n(146), CF: n(187), TD: n(239), CL: n(271), CN: "China", CX: n(197), CC: "Cocos (Keeling) Islands", CO: n(223), KM: n(134), CG: n(272), CD: "Congo (Democratic Republic of the)", CK: n(192), CR: n(127), CI: "Côte d'Ivoire", HR: n(267), CU: n(273), CW: n(169), CY: n(265), CZ: n(280), DK: n(213), DJ: n(126), DM: n(188), DO: n(241), EC: n(136), EG: "Egypt", SV: n(171), GQ: n(231), ER: n(246), EE: n(196), ET: n(222), FK: n(310), FO: "Faroe Islands", FJ: n(249), FI: n(148), FR: "France", GF: n(258), PF: "French Polynesia", TF: "French Southern Territories", GA: n(167), GM: n(261), GE: n(297), DE: n(221), GH: n(144), GI: "Gibraltar", GR: "Greece", GL: n(262), GD: n(229), GP: "Guadeloupe", GU: n(214), GT: n(248), GG: n(206), GN: n(175), GW: n(244), GY: n(251), HT: n(204), HM: n(165), VA: n(168), HN: n(237), HK: "Hong Kong", HU: "Hungary", IS: n(190), IN: n(266), ID: n(156), IR: n(250), IQ: n(216), IE: n(308), IM: n(198), IL: n(191), IT: n(282), JM: n(295), JP: "Japan", JE: "Jersey", JO: "Jordan", KZ: "Kazakhstan", KE: "Kenya", KI: "Kiribati", KP: n(269), KR: n(143), KW: "Kuwait", KG: n(240), LA: "Lao People's Democratic Republic", LV: "Latvia", LB: n(220), LS: n(157), LR: n(176), LY: n(132), LI: n(285), LT: n(289), LU: n(243), MO: n(233), MK: n(300), MG: n(129), MW: n(211), MY: "Malaysia", MV: "Maldives", ML: n(230), MT: n(185), MH: n(208), MQ: n(182), MR: n(163), MU: "Mauritius", YT: n(234), MX: "Mexico", FM: n(224), MD: n(212), MC: "Monaco", MN: n(235), ME: n(264), MS: "Montserrat", MA: n(294), MZ: "Mozambique", MM: n(160), NA: "Namibia", NR: n(311), NP: n(307), NL: "Netherlands", NC: "New Caledonia", NZ: n(260), NI: n(149), NE: n(252), NG: n(228), NU: n(288), NF: n(242), MP: "Northern Mariana Islands", NO: "Norway", OM: n(145), PK: n(315), PW: "Palau", PS: n(138), PA: n(193), PG: "Papua New Guinea", PY: "Paraguay", PE: n(186), PH: n(141), PN: n(179), PL: "Poland", PT: n(152), PR: n(259), QA: n(217), RE: n(254), RO: n(155), RU: n(247), RW: n(178), BL: n(140), SH: "Saint Helena, Ascension and Tristan da Cunha", KN: "Saint Kitts and Nevis", LC: n(170), MF: n(274), PM: n(131), VC: "Saint Vincent and the Grenadines", WS: n(275), SM: n(226), ST: n(255), SA: "Saudi Arabia", SN: n(195), RS: n(317), SC: n(279), SL: n(130), SG: "Singapore", SX: n(154), SK: n(161), SI: n(291), SB: n(219), SO: n(305), ZA: n(278), GS: n(313), SS: n(268), ES: n(174), LK: n(296), SD: "Sudan", SR: n(276), SJ: n(194), SZ: n(135), SE: "Sweden", CH: n(201), SY: "Syrian Arab Republic", TW: n(183), TJ: n(314), TZ: n(164), TH: n(205), TL: "Timor-Leste", TG: n(283), TK: n(287), TO: "Tonga", TT: n(177), TN: n(159), TR: n(277), TM: n(173), TC: "Turks and Caicos Islands", TV: n(133), UG: n(181), UA: "Ukraine", AE: n(290), GB: "United Kingdom", US: n(298), UM: n(158), UY: n(202), UZ: n(302), VU: "Vanuatu", VE: n(270), VN: n(189), VG: "Virgin Islands (British)", VI: n(218), WF: n(199), EH: "Western Sahara", YE: n(125), ZM: n(147), ZW: n(180) }, A = G0;
|
|
1741
1740
|
(function(x, t) {
|
|
1742
|
-
const e =
|
|
1741
|
+
const e = G0, i = x();
|
|
1743
1742
|
for (; ; )
|
|
1744
1743
|
try {
|
|
1745
|
-
if (parseInt(e(
|
|
1744
|
+
if (parseInt(e(267)) / 1 * (-parseInt(e(268)) / 2) + parseInt(e(291)) / 3 * (-parseInt(e(258)) / 4) + parseInt(e(256)) / 5 * (-parseInt(e(272)) / 6) + parseInt(e(248)) / 7 + -parseInt(e(247)) / 8 + parseInt(e(225)) / 9 + parseInt(e(264)) / 10 * (parseInt(e(289)) / 11) === t) break;
|
|
1746
1745
|
i.push(i.shift());
|
|
1747
1746
|
} catch {
|
|
1748
1747
|
i.push(i.shift());
|
|
1749
1748
|
}
|
|
1750
|
-
})(
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1749
|
+
})(Me, 849506);
|
|
1750
|
+
function G0(x, t) {
|
|
1751
|
+
return x = x - 220, Me()[x];
|
|
1752
|
+
}
|
|
1753
|
+
const Fe = { gov: { prod: { log: "https://papi.vpe.gov-ntruss.com/player/maSync", report: A(249) }, beta: { log: A(293), report: A(227) } }, pub: { prod: { log: A(288), report: "https://log.vpe.naverncp.com/stats" }, beta: { log: "https://papi.beta-vpe.naverncp.com/player/maSync", report: "https://log.beta-vpe.naverncp.com/stats" } } };
|
|
1754
|
+
let C = { video: {}, browser: {}, device: {}, connection: {}, screen: {}, player_version: A(294), extra: { sessionId: null, playerType: "VPE React Native" }, log_type: "vpe", privacy: { cookie_enabled: !0 } }, B = { platform: "pub", stage: "prod", sync: !1, syncResult: {} };
|
|
1755
|
+
const mt = (/* @__PURE__ */ new Date()).getTime(), V0 = (x) => x;
|
|
1754
1756
|
function Se() {
|
|
1755
|
-
return
|
|
1757
|
+
return B0();
|
|
1756
1758
|
}
|
|
1757
|
-
function
|
|
1758
|
-
return
|
|
1759
|
+
function T0() {
|
|
1760
|
+
return B0();
|
|
1759
1761
|
}
|
|
1760
|
-
const
|
|
1761
|
-
const x =
|
|
1762
|
-
return { logDate: i, logDateUnix:
|
|
1762
|
+
const Y0 = () => {
|
|
1763
|
+
const x = A, t = /* @__PURE__ */ new Date(), e = (o) => String(o).padStart(2, "0"), i = t.getFullYear() + "-" + e(t[x(287)]() + 1) + "-" + e(t[x(274)]()) + " " + e(t.getHours()) + ":" + e(t.getMinutes()) + ":" + e(t.getSeconds()), a = Math[x(271)](t[x(223)]() / 1e3), r = (/* @__PURE__ */ new Date()).getTime() - mt;
|
|
1764
|
+
return { logDate: i, logDateUnix: a, thisSec: r };
|
|
1763
1765
|
};
|
|
1764
|
-
function
|
|
1765
|
-
|
|
1766
|
-
return typeof x === t(203) && x !== null && !Array[t(227)](x);
|
|
1766
|
+
function yt(x) {
|
|
1767
|
+
return typeof x === A(236) && x !== null && !Array.isArray(x);
|
|
1767
1768
|
}
|
|
1768
|
-
function
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1769
|
+
function n0(x, t) {
|
|
1770
|
+
const e = A;
|
|
1771
|
+
Object[e(222)](t)[e(280)](([i, a]) => {
|
|
1772
|
+
const r = e;
|
|
1773
|
+
yt(a) ? (!x[i] && (x[i] = {}), Object[r(222)](a)[r(280)](([o, f]) => {
|
|
1774
|
+
f != null && (x[i][o] = f);
|
|
1775
|
+
})) : a != null && (x[i] = a);
|
|
1774
1776
|
});
|
|
1775
1777
|
}
|
|
1776
|
-
function
|
|
1777
|
-
const t =
|
|
1778
|
-
return x[t(
|
|
1778
|
+
function vt(x) {
|
|
1779
|
+
const t = A;
|
|
1780
|
+
return x[t(295)](t(279)) > -1 ? t(269) : x[t(295)](t(290)) > -1 ? t(233) : t(235);
|
|
1779
1781
|
}
|
|
1780
|
-
function
|
|
1781
|
-
const t =
|
|
1782
|
-
return x?.r1 && e[t(
|
|
1782
|
+
function St(x) {
|
|
1783
|
+
const t = A, e = [];
|
|
1784
|
+
return x?.r1 && e[t(266)](x.r1), x?.r2 && e[t(266)](x.r2), x?.r3 && e[t(266)](x.r3), e[t(259)](" ");
|
|
1783
1785
|
}
|
|
1784
|
-
function
|
|
1785
|
-
const t =
|
|
1786
|
-
if (!x || typeof x
|
|
1787
|
-
const e = String(x[t(
|
|
1788
|
-
if (!(e === "v2" || /^2(?:\.|$)
|
|
1789
|
-
(!x
|
|
1790
|
-
const
|
|
1791
|
-
r(x[t(
|
|
1792
|
-
const o = r(x[t(
|
|
1793
|
-
x[t(
|
|
1786
|
+
function r0(x) {
|
|
1787
|
+
const t = A;
|
|
1788
|
+
if (!x || typeof x != "object") return;
|
|
1789
|
+
const e = String(x[t(300)] ?? "");
|
|
1790
|
+
if (!(e === "v2" || /^2(?:\.|$)/.test(e))) return;
|
|
1791
|
+
(!x.video || typeof x[t(250)] !== t(236)) && (x[t(250)] = {});
|
|
1792
|
+
const a = x[t(257)] && typeof x[t(257)] === t(236) ? x[t(257)] : {}, r = (p) => p == null || p === "" || p === "0p";
|
|
1793
|
+
r(x[t(250)][t(262)]) && (x.video[t(262)] = r(a[t(262)]) ? t(301) : a.quality);
|
|
1794
|
+
const o = r(x[t(250)].type) ? r(a[t(270)]) ? r(a[t(239)]) ? t(286) : a[t(239)] : a[t(270)] : x[t(250)].type, f = String(o)[t(261)]();
|
|
1795
|
+
x[t(250)][t(270)] = f === "live" ? "live" : t(286), r(x[t(250)][t(229)]) && !r(a[t(229)]) && (x.video.url = a[t(229)]);
|
|
1794
1796
|
}
|
|
1795
|
-
function
|
|
1796
|
-
const t =
|
|
1797
|
-
x.actionDuration ===
|
|
1797
|
+
function z0(x) {
|
|
1798
|
+
const t = A;
|
|
1799
|
+
x.actionDuration === "1.0" && (x[t(297)] = 0), x[t(297)] === void 0 && (x[t(297)] = 0), [t(273), t(243), t(277), t(228)].forEach((i) => {
|
|
1798
1800
|
x[i] === void 0 && (x[i] = 0);
|
|
1799
|
-
}), x
|
|
1801
|
+
}), x[t(270)] === void 0 && C.video?.[t(270)] && (x.type = C[t(250)][t(270)]), x[t(229)] === void 0 && C.video?.url && (x[t(229)] = C[t(250)][t(229)], x.videoFormat = vt(x[t(229)]));
|
|
1800
1802
|
}
|
|
1801
|
-
function
|
|
1802
|
-
const t =
|
|
1803
|
-
return !!(x[t(
|
|
1803
|
+
function W0(x) {
|
|
1804
|
+
const t = A;
|
|
1805
|
+
return !!(x[t(253)] && x.TID && x[t(240)]);
|
|
1804
1806
|
}
|
|
1805
1807
|
function He(x) {
|
|
1806
|
-
const t =
|
|
1808
|
+
const t = A;
|
|
1807
1809
|
try {
|
|
1808
|
-
const e = B[t(
|
|
1809
|
-
e && (x.address =
|
|
1810
|
+
const e = B[t(281)]?.[t(278)];
|
|
1811
|
+
e && (x.address = St(e), x.isp = e[t(255)] || "", x.ip = B[t(281)]?.ip || "", x.nation = e.country || "");
|
|
1810
1812
|
} catch {
|
|
1811
1813
|
}
|
|
1812
1814
|
}
|
|
1813
|
-
|
|
1814
|
-
const
|
|
1815
|
+
function Me() {
|
|
1816
|
+
const x = ["push", "271661QfjRFI", "4HkVcfT", "hls", "type", "floor", "90wDofHz", "playerStartTime", "getDate", "TID", "POST", "totalStartTime", "geoLocation", "m3u8", "forEach", "syncResult", "vpePackageId", "sync", "stringify", "result", "vod", "getMonth", "https://papi.vpe.naverncp.com/player/maSync", "1373768NryLPV", "mpd", "16446pqTfgz", "nation", "https://papi.beta-vpe.gov-ntruss.com/player/maSync", "latest", "indexOf", "browser", "actionDuration", "json", "log_type", "player_version", "unknown", "created_at", "parse", "entries", "getTime", "sendBeacon", "9038673vddNrc", "MA report failed:", "https://log.beta-vpe.gov-ntruss.com/stats", "seekedTime", "url", "application/json", "report", "platform", "dash", "logDateUnix", "mp4", "object", "MA vpe init", "logDate", "video_type", "host", "MA report actionType ->", "country", "videoStartTime", "stage", "vpeKey", "------------------------------------------------", "190528YbrLqQ", "1689198lsDbMv", "https://log.vpe.gov-ntruss.com/stats", "video", "vpe", "MA config initialization failed:", "UUID", "log", "net", "159135dszQzA", "extra", "1076WwssIr", "join", "error", "toLowerCase", "quality", "actionType", "170gfxKha", "sessionId"];
|
|
1817
|
+
return Me = function() {
|
|
1818
|
+
return x;
|
|
1819
|
+
}, Me();
|
|
1820
|
+
}
|
|
1821
|
+
const It = async (x) => {
|
|
1822
|
+
const t = A;
|
|
1815
1823
|
if (!x) return;
|
|
1816
|
-
const { platform: e, stage: i } = B,
|
|
1824
|
+
const { platform: e, stage: i } = B, a = Fe[e][i][t(254)];
|
|
1817
1825
|
try {
|
|
1818
|
-
const r = await fetch(
|
|
1819
|
-
B
|
|
1820
|
-
const { logDate:
|
|
1821
|
-
return
|
|
1826
|
+
const r = await fetch(a, { method: t(276), headers: { "Content-Type": "application/json" }, body: JSON[t(284)]({ access_key: x }) }), o = await r[t(298)]();
|
|
1827
|
+
B[t(283)] = o[t(285)]?.sync || !1, B[t(281)] = o.result || {};
|
|
1828
|
+
const { logDate: f, logDateUnix: p } = Y0();
|
|
1829
|
+
return C[t(257)].logDate = f, C.extra[t(234)] = p, B[t(281)]?.geoLocation && He(C.extra), o;
|
|
1822
1830
|
} catch (r) {
|
|
1823
|
-
return console
|
|
1831
|
+
return console[t(260)](t(252), r), null;
|
|
1824
1832
|
}
|
|
1825
|
-
},
|
|
1826
|
-
const t =
|
|
1827
|
-
r
|
|
1833
|
+
}, kt = async (x) => {
|
|
1834
|
+
const t = A, { platform: e, stage: i } = B, a = V0(Fe[e][i][t(231)]), r = { ...x };
|
|
1835
|
+
r.log_type = t(251), He(r[t(257)]), r0(r);
|
|
1828
1836
|
try {
|
|
1829
|
-
await fetch(
|
|
1837
|
+
await fetch(a, { method: t(276), headers: { "Content-Type": "application/json" }, body: JSON[t(284)](r) });
|
|
1830
1838
|
} catch (o) {
|
|
1831
|
-
console
|
|
1839
|
+
console.error("MA init report failed:", o);
|
|
1832
1840
|
}
|
|
1833
|
-
}
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
}
|
|
1837
|
-
function Re() {
|
|
1838
|
-
const x = ["hls", "11sMXeZC", "getSeconds", "browser", "error", "isp", "getHours", "host", "https://log.vpe.naverncp.com/stats", "MA vpe init", "m3u8", "vod", "playerStartTime", "type", "latest", "test", "675783wamEHA", "nation", "timeupdate", "getDate", "mpd", "prod", "mp4", "live", "join", "https://papi.beta-vpe.gov-ntruss.com/player/maSync", "parse", "https://log.beta-vpe.naverncp.com/stats", "indexOf", "video", "object", "geoLocation", "MA report failed:", "dash", "toLowerCase", "extra", "logDateUnix", "Korea, Republic of", "https://papi.vpe.naverncp.com/player/maSync", "player_version", "getMonth", "2764494TZSYbv", "videoStartTime", "unknown", "POST", "vpe", "70853czAefr", "result", "syncResult", "application/json", "TID", "log_type", "2219735dCBgGY", "report", "isArray", "padStart", "38717uZXuoT", "328AJkDMk", "https://papi.beta-vpe.naverncp.com/player/maSync", "stringify", "log", "3UvMisE", "getTime", "logDate", "floor", "12Iehaaz", "entries", "1.0", "sessionId", "video_type", "videoFormat", "created_at", "vpePackageId", "push", "sync", "VPE React Native", "actionDuration", "2461330hXDWnw", "totalStartTime", "quality", "actionType", "https://log.beta-vpe.gov-ntruss.com/stats", "924152BQMyGn", "platform", "url", "country", "MA report actionType ->", "pub", "https://log.vpe.gov-ntruss.com/stats", "UUID", "forEach", "------------------------------------------------"];
|
|
1839
|
-
return Re = function() {
|
|
1840
|
-
return x;
|
|
1841
|
-
}, Re();
|
|
1842
|
-
}
|
|
1843
|
-
const _0 = async (x) => {
|
|
1844
|
-
const t = _, { platform: e, stage: i } = B, n = Vt(Fe[e][i][t(226)]), r = JSON.parse(JSON[t(232)](A));
|
|
1845
|
-
if (nt(r, x), r[t(224)] = "MA", He(r.extra), Yt(r[t(208)]), rt(r), !!qt(r[t(208)]))
|
|
1841
|
+
}, _t = async (x) => {
|
|
1842
|
+
const t = A, { platform: e, stage: i } = B, a = V0(Fe[e][i][t(231)]), r = JSON[t(221)](JSON.stringify(C));
|
|
1843
|
+
if (n0(r, x), r[t(299)] = "MA", He(r[t(257)]), z0(r.extra), r0(r), !!W0(r.extra))
|
|
1846
1844
|
try {
|
|
1847
|
-
r[t(
|
|
1845
|
+
r[t(270)] != "timeupdate", await fetch(a, { method: t(276), headers: { "Content-Type": t(230) }, body: JSON[t(284)](r) });
|
|
1848
1846
|
} catch (o) {
|
|
1849
|
-
console[t(
|
|
1847
|
+
console[t(254)](t(226), o);
|
|
1850
1848
|
}
|
|
1851
1849
|
};
|
|
1852
|
-
async function
|
|
1853
|
-
const r =
|
|
1854
|
-
B[r(
|
|
1855
|
-
const { logDate: o, logDateUnix:
|
|
1856
|
-
|
|
1850
|
+
async function Tt(x, t, e, i, a) {
|
|
1851
|
+
const r = A;
|
|
1852
|
+
B[r(232)] = x, B[r(244)] = t, n0(C, e), i && (C[r(257)][r(282)] = i), a && (C[r(257)][r(245)] = a), C[r(257)][r(292)] ? C[r(296)][r(242)] = H0[C.extra[r(292)]] || "Korea, Republic of" : C[r(296)][r(242)] = "Korea, Republic of";
|
|
1853
|
+
const { logDate: o, logDateUnix: f } = Y0();
|
|
1854
|
+
C.extra.logDate = o, C[r(257)].logDateUnix = f, C[r(257)][r(220)] = f;
|
|
1857
1855
|
}
|
|
1858
|
-
function
|
|
1859
|
-
const t =
|
|
1860
|
-
if (!
|
|
1861
|
-
const r = JSON[t(
|
|
1862
|
-
if (
|
|
1856
|
+
function Et(x) {
|
|
1857
|
+
const t = A, { platform: e, stage: i } = B, a = Fe[e]?.[i]?.[t(231)];
|
|
1858
|
+
if (!a) return !1;
|
|
1859
|
+
const r = JSON[t(221)](JSON[t(284)](C));
|
|
1860
|
+
if (n0(r, x), r[t(299)] = "MA", He(r.extra), z0(r.extra), r0(r), !W0(r[t(257)])) return !1;
|
|
1863
1861
|
try {
|
|
1864
|
-
const o = new Blob([JSON[t(
|
|
1865
|
-
return navigator
|
|
1862
|
+
const o = new Blob([JSON[t(284)](r)], { type: t(230) });
|
|
1863
|
+
return navigator[t(224)](a, o);
|
|
1866
1864
|
} catch {
|
|
1867
1865
|
return !1;
|
|
1868
1866
|
}
|
|
1869
1867
|
}
|
|
1870
|
-
const
|
|
1868
|
+
const E0 = o0;
|
|
1871
1869
|
(function(x, t) {
|
|
1872
|
-
const e =
|
|
1870
|
+
const e = o0, i = x();
|
|
1873
1871
|
for (; ; )
|
|
1874
1872
|
try {
|
|
1875
|
-
if (-parseInt(e(
|
|
1873
|
+
if (-parseInt(e(201)) / 1 + -parseInt(e(193)) / 2 + parseInt(e(199)) / 3 * (-parseInt(e(195)) / 4) + parseInt(e(196)) / 5 * (-parseInt(e(186)) / 6) + parseInt(e(208)) / 7 * (parseInt(e(192)) / 8) + -parseInt(e(205)) / 9 * (parseInt(e(204)) / 10) + -parseInt(e(189)) / 11 * (-parseInt(e(190)) / 12) === t) break;
|
|
1876
1874
|
i.push(i.shift());
|
|
1877
1875
|
} catch {
|
|
1878
1876
|
i.push(i.shift());
|
|
1879
1877
|
}
|
|
1880
|
-
})(Oe,
|
|
1878
|
+
})(Oe, 693e3);
|
|
1879
|
+
const Ct = (x = {}, t) => {
|
|
1880
|
+
const e = o0, i = { autostart: !0, muted: !1, aspectRatio: e(200), objectFit: "contain", controls: !0, keyboardShortcut: !0, startMutedInfoNotVisible: !1, allowsPictureInPicture: !1, staysActiveInBackground: !1, screenRecordingPrevention: !1, modalFullscreen: !1, seekingPreview: !0, lang: "ko", ui: "all", controlBtn: { play: !0, fullscreen: !0, progressBar: !0, volume: !1, times: !0, pictureInPicture: !0, setting: !0, subtitle: !0 }, progressBarColor: e(194), controlActiveTime: 3e3, playRateSetting: [0.5, 0.75, 1, 1.5, 2], autoPause: !1, repeat: !1, setStartTime: void 0, playIndex: 0, lowLatencyMode: !0, touchGestures: !0, descriptionNotVisible: !1, devTestAppId: void 0, token: "", visibleWatermark: !1, iosFullscreenNativeMode: !0, watermarkText: e(198), watermarkConfig: { randPosition: !0, randPositionInterVal: 3e3, x: 10, y: 10, opacity: 0.5 }, captionStyle: { fontSize: 12, color: "#ffffff", backgroundColor: e(203), edgeStyle: e(197) }, override: null };
|
|
1881
|
+
if (t !== e(191)) return { ...i, ...At };
|
|
1882
|
+
const a = { ...i, ...x };
|
|
1883
|
+
return x.controlBtn && (a[e(202)] = { ...i[e(202)], ...x[e(202)] }), x[e(207)] && (a[e(207)] = { ...i[e(207)], ...x[e(207)] }), x[e(187)] && (a[e(187)] = { ...i[e(187)], ...x[e(187)] }), a[e(202)]?.[e(188)] === void 0 && (a[e(202)][e(188)] = !0), a;
|
|
1884
|
+
};
|
|
1885
|
+
function o0(x, t) {
|
|
1886
|
+
return x = x - 185, Oe()[x];
|
|
1887
|
+
}
|
|
1888
|
+
const At = { free: !0, startMutedInfoNotVisible: !1, lowLatencyMode: !1, progressBarColor: E0(206), playRateSetting: [0.5, 0.75, 1, 1.5, 2], descriptionNotVisible: !0, seekingPreview: !1, controlActiveTime: 1500, ui: E0(185), token: "", setStartTime: null, controlBtn: { play: !0, fullscreen: !0, volume: !0, times: !0, setting: !1, pictureInPicture: !1, progressBar: !0 } };
|
|
1881
1889
|
function Oe() {
|
|
1882
|
-
const x = ["
|
|
1890
|
+
const x = ["16/9", "825791lmfDMi", "controlBtn", "rgba(0, 0, 0, 0.4)", "10LXBQkc", "9611883djvVVW", "#009dff", "watermarkConfig", "322LvnzID", "all", "7210926WEXPTJ", "captionStyle", "progressBar", "47902019WvhGZT", "12YWXDQz", "pay", "228504ZaVMql", "1694600ToIVAz", "#4299f5", "2672HZjnXe", "5RfzDov", "dropshadow", "NAVER CLOUD PLATFORM", "4638LLXPaV"];
|
|
1883
1891
|
return Oe = function() {
|
|
1884
1892
|
return x;
|
|
1885
1893
|
}, Oe();
|
|
1886
1894
|
}
|
|
1887
|
-
const
|
|
1888
|
-
const e = st, i = { autostart: !0, muted: !1, aspectRatio: e(161), objectFit: e(167), controls: !0, keyboardShortcut: !0, startMutedInfoNotVisible: !1, allowsPictureInPicture: !1, staysActiveInBackground: !1, screenRecordingPrevention: !1, modalFullscreen: !1, seekingPreview: !0, lang: "ko", ui: e(172), controlBtn: { play: !0, fullscreen: !0, progressBar: !0, volume: !1, times: !0, pictureInPicture: !0, setting: !0, subtitle: !0 }, progressBarColor: e(160), controlActiveTime: 3e3, playRateSetting: [0.5, 0.75, 1, 1.5, 2], autoPause: !1, repeat: !1, setStartTime: void 0, playIndex: 0, lowLatencyMode: !0, touchGestures: !0, descriptionNotVisible: !1, devTestAppId: void 0, token: "", visibleWatermark: !1, iosFullscreenNativeMode: !0, watermarkText: "NAVER CLOUD PLATFORM", watermarkConfig: { randPosition: !0, randPositionInterVal: 3e3, x: 10, y: 10, opacity: 0.5 }, captionStyle: { fontSize: 12, color: e(179), backgroundColor: e(176), edgeStyle: e(165) }, override: null };
|
|
1889
|
-
if (t !== e(174)) return { ...i, ...A0 };
|
|
1890
|
-
const n = { ...i, ...x };
|
|
1891
|
-
return x[e(175)] && (n[e(175)] = { ...i[e(175)], ...x.controlBtn }), x.watermarkConfig && (n[e(168)] = { ...i[e(168)], ...x[e(168)] }), x[e(166)] && (n[e(166)] = { ...i[e(166)], ...x.captionStyle }), n[e(175)]?.[e(170)] === void 0 && (n.controlBtn[e(170)] = !0), n;
|
|
1892
|
-
};
|
|
1893
|
-
function st(x, t) {
|
|
1894
|
-
return x = x - 158, Oe()[x];
|
|
1895
|
-
}
|
|
1896
|
-
const A0 = { free: !0, startMutedInfoNotVisible: !1, lowLatencyMode: !1, progressBarColor: Ct(169), playRateSetting: [0.5, 0.75, 1, 1.5, 2], descriptionNotVisible: !0, seekingPreview: !1, controlActiveTime: 1500, ui: Ct(172), token: "", setStartTime: null, controlBtn: { play: !0, fullscreen: !0, volume: !0, times: !0, setting: !1, pictureInPicture: !1, progressBar: !0 } };
|
|
1897
|
-
function Pe() {
|
|
1898
|
-
const x = ["prevTrack", "playbackRate", "handleFullscreenChange", "data", "reportData", "boundBeforeUnload", "playing", "nation", "ratechange", "sendSessionBeacon", "RATE_CHANGE", "CANPLAY", "getSeconds", "vpeReportScheduled", "getFullYear", "PLAYER_START", "contentId", "NEXT_TRACK", "VPE", "prevTime", "ERROR", "next", "hidden", "seekedTime", "errorMessage", "introSkip", "isSeeking", "handlePause", "handleSeeking", "WAITING_END", "watch_percent", "report", "catch", "url", "22305fGTqpv", "startup", "logDate", "object", "round", "forEach", "handleSeeked", "extra", "FULLSCREEN_CHANGE", "visibilitychange", "QUALITY_CHANGE", "handleStartup", "handleEnded", "handleTimeUpdateFocus", "getMonth", "percent", "handleWaiting", "UUID", "removeEventListener", "toFixed", "actionType", "Korea, Republic of", "isBuffering", "getHours", "handleCanplay", "isPlaying", "errorCode", "ENDED", "now", "opening_skip", "handlePlayerStart", "handleTimeUpdate", "getMinutes", "stageData", "maInit", "contentDuration", "seekCnt", "ended", "nextTrack", "then", "seeked", "isEnded", "timeupdateFocus", "fullscreenDuration", "scheduleVpeReport", "isCompleted", "VPE_REPORT_DELAY_MS", "vpe", "ENDING_SKIP", "633420QCchQT", "39426PKKfpB", "entries", "firstPlaying", "prevAction", "handleAutoSkip", "TIMEUPDATE", "handleError", "PLAY", "player_start", "bufferingEnd", "beaconSent", "fullscreenEnterTime", "floor", "handleTrackChange", "assign", "WAITING", "PAUSED", "quality", "initializeReportData", "7502sMrFfR", "OPENING_SKIP", "TIMEUPDATE_FOCUS", "getTime", "code", "browser", "handlePlay", "PLAYING", "initTimeupdate", "buildSessionMetrics", "prevQuality", "seekStartTime", "fullscreenYn", "pause", "video", "destroy", "INTRO_SKIP", "PREV_TRACK", "firstError", "sessionId", "132xuezhH", "isBounce", "openingSkip", "REBUFFERING", "message", "suppressNextSeek", "21rFmEgo", "parse", "rebuffering", "speedChangeCnt", "handleVisibilityChange", "isPlainObject", "logDateUnix", "Unknown Error", "state", "E0000", "8230FdLvkG", "country", "110392HveFQV", "maSync", "lastPlaybackSpeed", "playAttempt", "handleQualityChange", "STARTUP", "104624RPCbeL", "watchPercent", "loadingEnd", "playedTime", "addEventListener", "timeupdate", "prevUrl", "pauseCnt", "seeking", "handleBeforeUnload", "SEEKING", "quality_change", "startTime", "resetStateForNewTrack", "intro_skip", "handleRateChange", "isArray", "boundVisibilityChange", "endingSkip", "99dWdXbJ", "currentTime", "beforeunload", "273777gWENpm", "vpeReportTimerId", "firstPlay", "duration", "bufferingStart", "getDate", "TID", "isFullscreen"];
|
|
1899
|
-
return Pe = function() {
|
|
1900
|
-
return x;
|
|
1901
|
-
}, Pe();
|
|
1902
|
-
}
|
|
1903
|
-
const b = Kt;
|
|
1895
|
+
const b = q0;
|
|
1904
1896
|
(function(x, t) {
|
|
1905
|
-
const e =
|
|
1897
|
+
const e = q0, i = x();
|
|
1906
1898
|
for (; ; )
|
|
1907
1899
|
try {
|
|
1908
|
-
if (
|
|
1900
|
+
if (parseInt(e(469)) / 1 + -parseInt(e(352)) / 2 + parseInt(e(517)) / 3 + parseInt(e(347)) / 4 + parseInt(e(446)) / 5 * (-parseInt(e(433)) / 6) + -parseInt(e(343)) / 7 + parseInt(e(460)) / 8 === t) break;
|
|
1909
1901
|
i.push(i.shift());
|
|
1910
1902
|
} catch {
|
|
1911
1903
|
i.push(i.shift());
|
|
1912
1904
|
}
|
|
1913
|
-
})(Pe,
|
|
1914
|
-
function
|
|
1915
|
-
return x = x -
|
|
1905
|
+
})(Pe, 939430);
|
|
1906
|
+
function q0(x, t) {
|
|
1907
|
+
return x = x - 340, Pe()[x];
|
|
1916
1908
|
}
|
|
1917
|
-
const
|
|
1918
|
-
|
|
1919
|
-
[
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
[b(
|
|
1927
|
-
[b(
|
|
1909
|
+
const C0 = "0p", Dt = 6e4, Rt = 1, m = { PLAYER_START: b(442), STARTUP: b(376), PLAY: b(416), PAUSE: b(396), PLAYING: b(454), PAUSED: b(396), SEEKING: b(364), SEEKED: b(380), WAITING: "waiting", WAITING_END: b(361), CANPLAY: "canplay", ENDED: "ended", NEXT_TRACK: b(498), PREV_TRACK: b(374), ERROR: "error", QUALITY_CHANGE: b(388), REBUFFERING: b(403), TIMEUPDATE: b(512), TIMEUPDATE_FOCUS: b(410), RATE_CHANGE: b(393), FULLSCREEN_CHANGE: b(368), INTRO_SKIP: b(405), OPENING_SKIP: "opening_skip", ENDING_SKIP: b(399) };
|
|
1910
|
+
function Pe() {
|
|
1911
|
+
const x = ["sessionId", "play", "assign", "INTRO_SKIP", "maSync", "getMonth", "bufferingStart", "endingSkip", "watchPercent", "then", "beforeunload", "beaconSent", "getMinutes", "prevTime", "ended", "buildSessionMetrics", "firstError", "PLAYING", "644640BqAphP", "round", "getTime", "playAttempt", "contentId", "dropOffPosition", "video", "TIMEUPDATE_FOCUS", "scheduleVpeReport", "player_start", "ERROR", "currentTime", "handleTimeUpdate", "40DZObKb", "parse", "addEventListener", "vpeReportTimerId", "playbackRate", "speedChangeCnt", "handleWaiting", "PLAYER_START", "playing", "SEEKING", "getFullYear", "openingSkip", "FULLSCREEN_CHANGE", "latest", "18608976PSyWYx", "prevQuality", "duration", "loadingEnd", "removeEventListener", "logDateUnix", "handleSeeked", "boundVisibilityChange", "introSkip", "231035ZQZvNU", "CANPLAY", "visibilitychange", "handleQualityChange", "handleBeforeUnload", "PAUSE", "handleEnded", "type", "SEEKED", "isSeeking", "playedTime", "getHours", "handleTimeUpdateFocus", "entries", "handlePlayerStart", "VPE", "pauseCnt", "object", "initTimeupdate", "handleSeeking", "reportData", "VPE_REPORT_DELAY_MS", "NEXT_TRACK", "nation", "handleStartup", "bind", "isBuffering", "browser", "PLAY", "next_track", "isPlaying", "firstPlaying", "stageData", "fullscreenYn", "prevAction", "Unknown Error", "handlePause", "firstPlay", "padStart", "STARTUP", "errorMessage", "prevTrack", "percent", "timeupdate", "bufferingEnd", "destroy", "isEnded", "isPlainObject", "3105780zOxMfe", "watch_percent", "prev", "maInit", "resetStateForNewTrack", "11440072JLPOIZ", "url", "now", "forEach", "4492028jxYxoF", "errorCode", "handleError", "getDate", "vpeReportScheduled", "2564356akOcLL", "handleCanplay", "handleAutoSkip", "handleVisibilityChange", "Korea, Republic of", "UUID", "getSeconds", "vpe", "sendSessionBeacon", "waitingEnd", "quality", "initializeReportData", "seeking", "handleTrackChange", "country", "fullscreenDuration", "fullscreenchange", "isBounce", "TID", "dispatchEvent", "state", "startTime", "prev_track", "visibilityState", "startup", "PAUSED", "report", "logDate", "seeked", "handlePlay", "PREV_TRACK", "seekedTime", "handleRateChange", "isArray", "hidden", "suppressNextSeek", "quality_change", "ENDING_SKIP", "lastPlaybackSpeed", "actionType", "extra", "ratechange", "contentDuration", "floor", "pause", "seekCnt", "seekStartTime", "ending_skip", "boundBeforeUnload", "message", "next", "rebuffering", "toFixed", "intro_skip", "handleFullscreenChange", "fullscreenEnterTime", "REBUFFERING", "code", "timeupdateFocus", "data", "ENDED", "WAITING_END", "stringify"];
|
|
1912
|
+
return Pe = function() {
|
|
1913
|
+
return x;
|
|
1914
|
+
}, Pe();
|
|
1915
|
+
}
|
|
1916
|
+
class Mt {
|
|
1917
|
+
[b(489)];
|
|
1918
|
+
[b(501)];
|
|
1919
|
+
[b(372)];
|
|
1920
|
+
[b(426)] = !1;
|
|
1921
|
+
[b(400)];
|
|
1922
|
+
[b(467)];
|
|
1923
|
+
[b(351)] = !1;
|
|
1924
|
+
[b(449)] = null;
|
|
1925
|
+
VPE_REPORT_DELAY_MS = 3e3;
|
|
1928
1926
|
constructor(t, e, i) {
|
|
1929
|
-
const
|
|
1930
|
-
this[
|
|
1927
|
+
const a = b;
|
|
1928
|
+
this[a(501)] = { platform: t, stage: e, sync: !1, syncResult: {} }, this[a(489)] = { video: {}, browser: {}, device: {}, connection: {}, screen: {}, player_version: a(459), extra: { UUID: null, TID: null, sessionId: null, playerType: a(484), playAttempt: !1 }, log_type: a(359), privacy: { cookie_enabled: !0 } }, this[a(372)] = { prevAction: null, isPlaying: !1, isSeeking: !1, initTimeupdate: !1, isBuffering: !1, firstError: !1, isEnded: !1, firstPlay: !0, firstPlaying: !0, startTime: 0, prevTime: 0, startUpDuration: 0, prevUrl: "", prevQuality: C0, pauseCnt: 0, seekCnt: 0, speedChangeCnt: 0, lastPlaybackSpeed: 1, fullscreenYn: !1, fullscreenEnterTime: 0, fullscreenDuration: 0, contentId: null, contentDuration: 0, seekStartTime: 0, suppressNextSeek: !1 }, this[a(363)](i), this[a(501)], this.boundBeforeUnload = this[a(473)].bind(this), this[a(467)] = this[a(355)][a(494)](this), window[a(448)]("beforeunload", this[a(400)]), document[a(448)](a(471), this.boundVisibilityChange);
|
|
1931
1929
|
}
|
|
1932
|
-
|
|
1930
|
+
[b(363)](t) {
|
|
1933
1931
|
const e = b;
|
|
1934
|
-
this[e(
|
|
1932
|
+
this[e(489)] = { ...this[e(489)], ...t }, this.reportData.extra[e(492)] ? this[e(489)][e(496)].country = H0[this.reportData[e(392)].nation] || e(356) : this[e(489)][e(496)][e(366)] = e(356);
|
|
1935
1933
|
}
|
|
1936
|
-
|
|
1937
|
-
const t = b, e = /* @__PURE__ */ new Date(), i = (o) => String(o)
|
|
1938
|
-
return { logDate:
|
|
1934
|
+
[b(435)]() {
|
|
1935
|
+
const t = b, e = /* @__PURE__ */ new Date(), i = (o) => String(o)[t(507)](2, "0"), a = e[t(456)]() + "-" + i(e[t(420)]() + 1) + "-" + i(e[t(350)]()) + " " + i(e[t(480)]()) + ":" + i(e[t(427)]()) + ":" + i(e[t(358)]()), r = Math[t(395)](e[t(435)]() / 1e3);
|
|
1936
|
+
return { logDate: a, logDateUnix: r };
|
|
1939
1937
|
}
|
|
1940
|
-
[b(
|
|
1938
|
+
[b(516)](t) {
|
|
1941
1939
|
const e = b;
|
|
1942
|
-
return typeof t === e(
|
|
1940
|
+
return typeof t === e(486) && t !== null && !Array[e(385)](t);
|
|
1943
1941
|
}
|
|
1944
|
-
async [b(
|
|
1942
|
+
async [b(378)](t, e) {
|
|
1945
1943
|
const i = b;
|
|
1946
|
-
if (this.
|
|
1947
|
-
const { logDate:
|
|
1948
|
-
for (const ee of
|
|
1949
|
-
|
|
1950
|
-
const R = this[i(
|
|
1951
|
-
this[i(
|
|
1944
|
+
if (this[i(372)].firstError) return;
|
|
1945
|
+
const { logDate: a, logDateUnix: r } = this.getTime(), o = Date.now(), f = this[i(372)][i(428)] > 0 ? o - this[i(372)][i(428)] : 0, p = f, y = e && typeof e === i(486) && e[i(411)] ? e[i(411)] : {}, v = [i(437), "contentDuration", i(511), i(518), i(423), "isCompleted", i(369), i(485), i(397), i(451), i(390), i(502), "fullscreenDuration", i(438), i(383), i(348), "errorMessage", "code", i(401)], _ = {};
|
|
1946
|
+
for (const ee of v)
|
|
1947
|
+
y[ee] !== void 0 && (_[ee] = y[ee]);
|
|
1948
|
+
const R = this[i(372)][i(394)], F = R > 0 ? Math[i(395)](R / 1e3) : this[i(489)][i(392)][i(462)] || 0, V = this[i(489)][i(392)][i(444)] || 0, Y = F > 0 ? Math.round(V / F * 1e4) / 100 : 0, we = { ...this.reportData, video: this.reportData[i(439)], percent: Y, extra: { ...this[i(489)][i(392)], actionType: t, actionDuration: p ? p.toFixed(2) : 0, duration: F, contentDuration: R, percent: Y, watch_percent: Y, logDate: a, logDateUnix: r, ..._ } };
|
|
1949
|
+
this[i(372)][i(428)] = o, await _t(we);
|
|
1952
1950
|
}
|
|
1953
|
-
async [b(
|
|
1951
|
+
async [b(341)](t) {
|
|
1954
1952
|
const e = b;
|
|
1955
|
-
!this.reportData[e(
|
|
1953
|
+
!this.reportData[e(392)][e(415)] && (this[e(489)][e(392)][e(415)] = T0(), this[e(489)][e(392)].TID = Se(), this[e(489)][e(392)].UUID = Se()), t?.extra && typeof t[e(392)] === e(486) && (t[e(392)][e(415)] = this[e(489)].extra[e(415)], Object[e(417)](this[e(489)][e(392)], t[e(392)])), t?.[e(439)] && typeof t[e(439)] === e(486) && (this[e(489)][e(439)] = { ...this.reportData[e(439)], ...t[e(439)] });
|
|
1956
1954
|
}
|
|
1957
|
-
[b(
|
|
1955
|
+
[b(441)]() {
|
|
1958
1956
|
const t = b;
|
|
1959
|
-
this.vpeReportScheduled || (this[t(
|
|
1957
|
+
this.vpeReportScheduled || (this[t(351)] = !0, this.vpeReportTimerId = setTimeout(() => {
|
|
1960
1958
|
const e = t;
|
|
1961
|
-
this
|
|
1962
|
-
const i = JSON[e(
|
|
1963
|
-
i.log_type = e(
|
|
1964
|
-
const { logDate:
|
|
1965
|
-
i[e(
|
|
1959
|
+
this.vpeReportTimerId = null;
|
|
1960
|
+
const i = JSON[e(447)](JSON[e(414)](this[e(489)]));
|
|
1961
|
+
i.log_type = e(359);
|
|
1962
|
+
const { logDate: a, logDateUnix: r } = this.getTime();
|
|
1963
|
+
i[e(392)] = i[e(392)] || {}, i[e(392)][e(379)] = a, i[e(392)][e(465)] = r, i[e(392)][e(391)] = i.extra.actionType || "vpe_init", kt(i).catch(() => {
|
|
1966
1964
|
});
|
|
1967
|
-
}, this[t(
|
|
1965
|
+
}, this[t(490)]));
|
|
1968
1966
|
}
|
|
1969
|
-
async [b(
|
|
1967
|
+
async [b(419)](t) {
|
|
1970
1968
|
const e = b;
|
|
1971
|
-
!t || typeof t
|
|
1969
|
+
!t || typeof t !== e(486) || Object.entries(t)[e(346)](([i, a]) => {
|
|
1972
1970
|
const r = e;
|
|
1973
|
-
this[r(
|
|
1974
|
-
const
|
|
1975
|
-
|
|
1976
|
-
}) :
|
|
1971
|
+
this[r(516)](a) ? Object[r(482)](a)[r(346)](([o, f]) => {
|
|
1972
|
+
const p = r;
|
|
1973
|
+
f != null && (this[p(489)][i][o] = f);
|
|
1974
|
+
}) : a != null && (this[r(489)][i] = a);
|
|
1977
1975
|
});
|
|
1978
1976
|
}
|
|
1979
|
-
|
|
1980
|
-
const e = b, { type: i, data:
|
|
1981
|
-
switch (o && o > 0 && (this
|
|
1982
|
-
case
|
|
1983
|
-
this
|
|
1977
|
+
[b(371)](t) {
|
|
1978
|
+
const e = b, { type: i, data: a } = t, r = { url: a?.[e(344)] || this[e(372)].prevUrl, type: a?.[e(476)], quality: a?.quality || this[e(372)].prevQuality, data: a }, o = a?.[e(392)]?.duration;
|
|
1979
|
+
switch (o && o > 0 && (this[e(372)][e(394)] = Math[e(434)](o * 1e3)), i) {
|
|
1980
|
+
case m[e(453)]:
|
|
1981
|
+
this.handlePlayerStart(r, a);
|
|
1984
1982
|
break;
|
|
1985
|
-
case
|
|
1986
|
-
this
|
|
1983
|
+
case m[e(508)]:
|
|
1984
|
+
this.handleStartup(r, a);
|
|
1987
1985
|
break;
|
|
1988
|
-
case
|
|
1989
|
-
this
|
|
1986
|
+
case m[e(497)]:
|
|
1987
|
+
this[e(381)](r, a);
|
|
1990
1988
|
break;
|
|
1991
|
-
case
|
|
1992
|
-
this[e(
|
|
1989
|
+
case m[e(474)]:
|
|
1990
|
+
this[e(505)](r, a);
|
|
1993
1991
|
break;
|
|
1994
|
-
case
|
|
1995
|
-
this[e(
|
|
1992
|
+
case m.TIMEUPDATE:
|
|
1993
|
+
this[e(445)](r, a);
|
|
1996
1994
|
break;
|
|
1997
|
-
case
|
|
1998
|
-
this
|
|
1995
|
+
case m[e(440)]:
|
|
1996
|
+
this.handleTimeUpdateFocus(r, a);
|
|
1999
1997
|
break;
|
|
2000
|
-
case
|
|
2001
|
-
this
|
|
1998
|
+
case m[e(455)]:
|
|
1999
|
+
this.handleSeeking(r, a);
|
|
2002
2000
|
break;
|
|
2003
|
-
case
|
|
2004
|
-
this[e(
|
|
2001
|
+
case m[e(477)]:
|
|
2002
|
+
this[e(466)](r, a);
|
|
2005
2003
|
break;
|
|
2006
|
-
case
|
|
2007
|
-
case e(
|
|
2008
|
-
this[e(
|
|
2004
|
+
case m.WAITING:
|
|
2005
|
+
case e(421):
|
|
2006
|
+
this[e(452)](r, a);
|
|
2009
2007
|
break;
|
|
2010
|
-
case
|
|
2011
|
-
case e(
|
|
2012
|
-
case e(
|
|
2013
|
-
this[e(
|
|
2008
|
+
case m[e(413)]:
|
|
2009
|
+
case e(513):
|
|
2010
|
+
case e(463):
|
|
2011
|
+
this[e(353)](r, a);
|
|
2014
2012
|
break;
|
|
2015
|
-
case
|
|
2016
|
-
this[e(
|
|
2013
|
+
case m[e(470)]:
|
|
2014
|
+
this[e(353)](r, a);
|
|
2017
2015
|
break;
|
|
2018
|
-
case
|
|
2019
|
-
this
|
|
2016
|
+
case m[e(412)]:
|
|
2017
|
+
this[e(475)](r, a);
|
|
2020
2018
|
break;
|
|
2021
|
-
case
|
|
2022
|
-
case e(
|
|
2023
|
-
this
|
|
2019
|
+
case "nextTrack":
|
|
2020
|
+
case e(402):
|
|
2021
|
+
this.handleTrackChange(m[e(491)], r, a);
|
|
2024
2022
|
break;
|
|
2025
|
-
case e(
|
|
2026
|
-
case
|
|
2027
|
-
this[e(
|
|
2023
|
+
case e(510):
|
|
2024
|
+
case e(340):
|
|
2025
|
+
this[e(365)](m[e(382)], r, a);
|
|
2028
2026
|
break;
|
|
2029
|
-
case
|
|
2030
|
-
this[e(
|
|
2027
|
+
case m[e(443)]:
|
|
2028
|
+
this[e(349)](r, a);
|
|
2031
2029
|
break;
|
|
2032
|
-
case
|
|
2033
|
-
this
|
|
2030
|
+
case m.QUALITY_CHANGE:
|
|
2031
|
+
this[e(472)](r, a);
|
|
2034
2032
|
break;
|
|
2035
|
-
case
|
|
2036
|
-
this[e(
|
|
2033
|
+
case m.RATE_CHANGE:
|
|
2034
|
+
this[e(384)](r, a);
|
|
2037
2035
|
break;
|
|
2038
|
-
case
|
|
2039
|
-
this[e(
|
|
2036
|
+
case m[e(458)]:
|
|
2037
|
+
this[e(406)](r, a);
|
|
2040
2038
|
break;
|
|
2041
|
-
case e(
|
|
2042
|
-
this[e(
|
|
2039
|
+
case e(468):
|
|
2040
|
+
this[e(354)](m[e(418)], r, a);
|
|
2043
2041
|
break;
|
|
2044
|
-
case e(
|
|
2045
|
-
this
|
|
2042
|
+
case e(457):
|
|
2043
|
+
this[e(354)](m.OPENING_SKIP, r, a);
|
|
2046
2044
|
break;
|
|
2047
|
-
case e(
|
|
2048
|
-
this
|
|
2045
|
+
case e(422):
|
|
2046
|
+
this[e(354)](m[e(389)], r, a);
|
|
2049
2047
|
break;
|
|
2050
2048
|
}
|
|
2051
2049
|
}
|
|
2052
|
-
[b(
|
|
2053
|
-
const
|
|
2054
|
-
this[
|
|
2050
|
+
[b(354)](t, e, i) {
|
|
2051
|
+
const a = b;
|
|
2052
|
+
this[a(372)][a(387)] = !0, this[a(378)](t, { ...e, data: i });
|
|
2055
2053
|
}
|
|
2056
|
-
|
|
2054
|
+
[b(483)](t, e) {
|
|
2057
2055
|
const i = b;
|
|
2058
|
-
!this[i(
|
|
2056
|
+
!this[i(489)][i(392)][i(415)] && (this.reportData[i(392)][i(415)] = T0(), this[i(489)][i(392)][i(370)] = Se(), this[i(489)][i(392)][i(357)] = Se()), this.state.startTime = Date[i(345)](), this[i(372)][i(428)] = this[i(372)][i(373)], this.report(m[i(453)], { ...t, data: e });
|
|
2059
2057
|
}
|
|
2060
|
-
[b(
|
|
2058
|
+
[b(493)](t, e) {
|
|
2061
2059
|
const i = b;
|
|
2062
|
-
if (this[i(
|
|
2063
|
-
const
|
|
2064
|
-
|
|
2060
|
+
if (this[i(372)][i(500)]) {
|
|
2061
|
+
const a = e?.[i(392)] || e || {};
|
|
2062
|
+
a?.[i(437)] && (this[i(372)][i(437)] = a.contentId), this[i(372)][i(499)] = !0, this[i(378)](m.STARTUP, { ...t, data: { ...e, contentId: this[i(372)][i(437)], contentDuration: this[i(372)][i(394)] } }), this.state[i(500)] = !1, this[i(441)]();
|
|
2065
2063
|
}
|
|
2066
2064
|
}
|
|
2067
|
-
|
|
2065
|
+
handlePlay(t, e) {
|
|
2068
2066
|
const i = b;
|
|
2069
|
-
this[i(
|
|
2067
|
+
this.state[i(499)] || (this[i(489)].extra.playedTime = e?.[i(479)], this[i(489)][i(392)].percent = e?.percent, this[i(372)][i(499)] = !0, this.reportData[i(392)][i(436)] = !0, this[i(372)].firstPlay && (this[i(372)][i(506)] = !1), this[i(441)](), this[i(372)][i(503)] === m[i(377)] && this[i(378)](m[i(432)], { ...t, data: e }), this[i(372)][i(503)] = m[i(432)]);
|
|
2070
2068
|
}
|
|
2071
|
-
|
|
2069
|
+
handlePause(t, e) {
|
|
2072
2070
|
const i = b;
|
|
2073
|
-
this[i(
|
|
2071
|
+
this[i(372)].isSeeking || this[i(372)].isBuffering || !this.state[i(499)] || (this.state[i(485)]++, this[i(372)][i(499)] = !1, this[i(378)](m[i(377)], { ...t, data: { ...e, pauseCnt: this[i(372)][i(485)] } }), this.state[i(503)] = m[i(377)]);
|
|
2074
2072
|
}
|
|
2075
|
-
|
|
2073
|
+
[b(445)](t, e) {
|
|
2076
2074
|
const i = b;
|
|
2077
|
-
this[i(
|
|
2075
|
+
this[i(372)][i(499)] = !0, this[i(489)][i(392)][i(436)] = !0, !(this.reportData.extra[i(444)] < Rt) && (this[i(372)][i(499)] && Date.now() - this[i(372)].prevTime > Dt && this[i(378)](m[i(432)], { ...t, data: e }), this[i(372)].prevUrl = t[i(344)] || "", this[i(372)][i(461)] = t[i(362)] || C0);
|
|
2078
2076
|
}
|
|
2079
|
-
[b(
|
|
2077
|
+
[b(481)](t, e) {
|
|
2080
2078
|
const i = b;
|
|
2081
|
-
this[i(
|
|
2079
|
+
this.reportData[i(392)].currentTime > 0 && (this[i(378)](m[i(432)], { ...t, data: e }), this[i(372)][i(487)] = !0);
|
|
2082
2080
|
}
|
|
2083
|
-
[b(
|
|
2081
|
+
[b(488)](t, e) {
|
|
2084
2082
|
const i = b;
|
|
2085
|
-
this[i(
|
|
2083
|
+
this[i(372)][i(387)] || this[i(372)].isSeeking || (this.state[i(397)]++, this[i(372)][i(478)] = !0, this.state[i(398)] = Date[i(345)](), this[i(372)][i(499)] ? this.report(m[i(432)], { ...t, data: e }) : this[i(372)][i(503)] === m[i(377)] && this.report(m[i(377)], { ...t, data: e }), this[i(372)][i(503)] = m[i(455)]);
|
|
2086
2084
|
}
|
|
2087
|
-
[b(
|
|
2085
|
+
[b(466)](t, e) {
|
|
2088
2086
|
const i = b;
|
|
2089
|
-
if (this.
|
|
2090
|
-
this[i(
|
|
2087
|
+
if (this[i(372)].suppressNextSeek) {
|
|
2088
|
+
this[i(372)][i(387)] = !1;
|
|
2091
2089
|
return;
|
|
2092
2090
|
}
|
|
2093
|
-
if (!this[i(
|
|
2094
|
-
const
|
|
2095
|
-
this[i(
|
|
2091
|
+
if (!this[i(372)][i(478)]) return;
|
|
2092
|
+
const a = this[i(372)][i(398)] > 0 ? Date[i(345)]() - this[i(372)][i(398)] : 0;
|
|
2093
|
+
this[i(372)].seekStartTime = 0, this[i(372)].isSeeking = !1, this[i(378)](m.SEEKING, { ...t, data: { ...e || {}, seekedTime: a } }), this[i(372)].prevAction = this[i(372)][i(499)] ? m[i(432)] : m.PAUSED;
|
|
2096
2094
|
}
|
|
2097
|
-
|
|
2095
|
+
handleWaiting(t, e) {
|
|
2098
2096
|
const i = b;
|
|
2099
|
-
this[i(
|
|
2097
|
+
this.state[i(478)] || this.state[i(495)] || (this.state[i(495)] = !0, this[i(372)].isPlaying && this[i(378)](m[i(432)], { ...t, data: e }), this[i(372)].prevAction = m.REBUFFERING);
|
|
2100
2098
|
}
|
|
2101
|
-
[b(
|
|
2099
|
+
[b(353)](t, e) {
|
|
2102
2100
|
const i = b;
|
|
2103
|
-
this
|
|
2101
|
+
this[i(372)][i(495)] && (this[i(372)][i(495)] = !1, this[i(378)](m[i(408)], { ...t, data: e }), this.state[i(503)] = this[i(372)][i(499)] ? m[i(432)] : m[i(377)]);
|
|
2104
2102
|
}
|
|
2105
|
-
|
|
2103
|
+
[b(360)]() {
|
|
2106
2104
|
const t = b;
|
|
2107
|
-
if (this[t(
|
|
2108
|
-
this[t(
|
|
2109
|
-
const { logDate: e, logDateUnix: i } = this.getTime(),
|
|
2110
|
-
|
|
2105
|
+
if (this[t(426)] || this[t(372)][t(515)] || this[t(372)][t(431)] || !this[t(489)][t(392)].UUID || !this[t(489)].extra.TID) return;
|
|
2106
|
+
this[t(426)] = !0;
|
|
2107
|
+
const { logDate: e, logDateUnix: i } = this.getTime(), a = Date[t(345)](), r = this[t(372)][t(428)] > 0 ? a - this[t(372)][t(428)] : 0, o = (this[t(489)][t(392)].currentTime || 0) * 1e3, f = this[t(372)][t(394)], p = f > 0 ? Math.round(o / f * 1e4) / 100 : 0, y = this[t(489)][t(392)][t(479)] || 0, v = { ...this[t(489)], video: this[t(489)][t(439)], percent: p, extra: { ...this.reportData[t(392)], actionType: t(429), actionDuration: r ? r[t(404)](2) : 0, duration: f > 0 ? Math[t(395)](f / 1e3) : this[t(489)][t(392)][t(462)] || 0, logDate: e, logDateUnix: i, contentId: this.state[t(437)], contentDuration: f, percent: p, watch_percent: p, watchPercent: p, isCompleted: p >= 95, isBounce: y < 1e4, pauseCnt: this[t(372)][t(485)], seekCnt: this.state[t(397)], speedChangeCnt: this[t(372)][t(451)], lastPlaybackSpeed: this[t(372)][t(390)], fullscreenYn: this[t(372)][t(502)], fullscreenDuration: this[t(372)][t(367)] + (this[t(372)][t(407)] > 0 ? Date[t(345)]() - this[t(372)][t(407)] : 0), dropOffPosition: Math[t(434)](o) } };
|
|
2108
|
+
Et(v);
|
|
2111
2109
|
}
|
|
2112
|
-
[b(
|
|
2113
|
-
this
|
|
2110
|
+
[b(473)]() {
|
|
2111
|
+
this[b(360)]();
|
|
2114
2112
|
}
|
|
2115
|
-
|
|
2113
|
+
[b(355)]() {
|
|
2116
2114
|
const t = b;
|
|
2117
|
-
document
|
|
2115
|
+
document[t(375)] === t(386) && this[t(360)]();
|
|
2118
2116
|
}
|
|
2119
|
-
[b(
|
|
2117
|
+
[b(514)]() {
|
|
2120
2118
|
const t = b;
|
|
2121
|
-
window.removeEventListener(t(
|
|
2119
|
+
window.removeEventListener(t(425), this[t(400)]), document[t(464)](t(471), this[t(467)]), this[t(449)] !== null && (clearTimeout(this[t(449)]), this[t(449)] = null);
|
|
2122
2120
|
}
|
|
2123
|
-
[b(
|
|
2124
|
-
const i = b,
|
|
2125
|
-
let
|
|
2126
|
-
return this[i(
|
|
2121
|
+
[b(430)](t, e) {
|
|
2122
|
+
const i = b, a = e?.[i(392)] || e || {}, r = (a?.[i(444)] || 0) * 1e3, o = this[i(372)].contentDuration, f = o > 0 ? Math[i(434)](r / o * 1e4) / 100 : 0, p = this.reportData.extra[i(479)] || 0;
|
|
2123
|
+
let y = this[i(372)][i(367)];
|
|
2124
|
+
return this.state[i(407)] > 0 && (y += Date[i(345)]() - this[i(372)][i(407)]), { ...t, data: { ...e, contentId: this[i(372)].contentId, duration: o > 0 ? Math[i(395)](o / 1e3) : a?.[i(462)] || 0, contentDuration: o, percent: f, watch_percent: f, watchPercent: f, isCompleted: f >= 95, isBounce: p < 1e4, pauseCnt: this.state[i(485)], seekCnt: this.state[i(397)], speedChangeCnt: this[i(372)].speedChangeCnt, lastPlaybackSpeed: this.state[i(390)], fullscreenYn: this[i(372)][i(502)], fullscreenDuration: y, dropOffPosition: Math.round(r) } };
|
|
2127
2125
|
}
|
|
2128
|
-
[b(
|
|
2126
|
+
[b(475)](t, e) {
|
|
2129
2127
|
const i = b;
|
|
2130
|
-
this[i(
|
|
2128
|
+
this[i(372)][i(515)] || (this.state[i(515)] = !0, this.state[i(499)] = !1, this.beaconSent = !0, this[i(372)][i(503)] !== m[i(377)] && this[i(378)](this[i(372)][i(503)] || m[i(432)], { ...t, data: e }), this[i(378)](m[i(412)], this.buildSessionMetrics(t, e)));
|
|
2131
2129
|
}
|
|
2132
|
-
|
|
2133
|
-
const
|
|
2134
|
-
this[
|
|
2135
|
-
const r =
|
|
2136
|
-
this[r(
|
|
2130
|
+
[b(365)](t, e, i) {
|
|
2131
|
+
const a = b;
|
|
2132
|
+
this[a(378)](this[a(372)][a(503)] || m[a(432)], this.buildSessionMetrics(e, i))[a(424)](() => {
|
|
2133
|
+
const r = a;
|
|
2134
|
+
this[r(378)](t, { ...e, data: i })[r(424)](() => {
|
|
2137
2135
|
this[r(342)]();
|
|
2138
2136
|
});
|
|
2139
2137
|
});
|
|
2140
2138
|
}
|
|
2141
|
-
|
|
2139
|
+
[b(349)](t, e) {
|
|
2142
2140
|
const i = b;
|
|
2143
|
-
this[i(
|
|
2144
|
-
const
|
|
2145
|
-
this[i(
|
|
2141
|
+
this[i(372)][i(503)] && !this.state[i(500)] && this[i(378)](this[i(372)].prevAction, this[i(430)](t, e));
|
|
2142
|
+
const a = { errorCode: e?.errorCode || e?.extra?.errorCode || e?.[i(409)] || "E0000", errorMessage: e?.[i(509)] || e?.[i(392)]?.[i(509)] || e?.[i(401)] || i(504) };
|
|
2143
|
+
this[i(378)](m[i(443)], { ...t, data: { ...e, ...a } }), this[i(372)].firstError = !0;
|
|
2146
2144
|
}
|
|
2147
|
-
[b(
|
|
2145
|
+
[b(472)](t, e) {
|
|
2148
2146
|
const i = b;
|
|
2149
|
-
this[i(
|
|
2147
|
+
this[i(372)].prevAction && !this[i(372)][i(478)] && !this[i(372)].isBuffering && !this.state[i(500)] && (this[i(372)][i(478)] = !0, this[i(378)](this[i(372)][i(503)], { ...t, data: e }), this[i(372)][i(503)] = m.SEEKING);
|
|
2150
2148
|
}
|
|
2151
|
-
|
|
2152
|
-
const i = b,
|
|
2153
|
-
|
|
2149
|
+
[b(384)](t, e) {
|
|
2150
|
+
const i = b, a = e?.[i(450)] || e?.[i(392)]?.playbackRate || 1;
|
|
2151
|
+
a !== this[i(372)][i(390)] && (this[i(372)][i(451)]++, this[i(372)][i(390)] = a, this[i(378)](m.RATE_CHANGE, { ...t, data: { ...e, speedChangeCnt: this[i(372)][i(451)], lastPlaybackSpeed: a } }));
|
|
2154
2152
|
}
|
|
2155
|
-
[b(
|
|
2153
|
+
[b(406)](t, e) {
|
|
2156
2154
|
const i = b;
|
|
2157
|
-
e?.isFullscreen || e?.[i(
|
|
2155
|
+
e?.isFullscreen || e?.[i(392)]?.isFullscreen ? (this[i(372)][i(502)] = !0, this[i(372)][i(407)] = Date[i(345)]()) : this.state.fullscreenEnterTime > 0 && (this[i(372)][i(367)] += Date[i(345)]() - this[i(372)].fullscreenEnterTime, this[i(372)][i(407)] = 0), this[i(378)](m[i(458)], { ...t, data: { ...e, fullscreenYn: this[i(372)].fullscreenYn, fullscreenDuration: this[i(372)].fullscreenDuration } });
|
|
2158
2156
|
}
|
|
2159
|
-
|
|
2157
|
+
resetStateForNewTrack() {
|
|
2160
2158
|
const t = b;
|
|
2161
|
-
this[t(
|
|
2159
|
+
this[t(372)][t(503)] = null, this[t(372)][t(499)] = !1, this[t(372)][t(428)] = 0, this.state[t(500)] = !0, this[t(372)][t(487)] = !1, this[t(372)][t(485)] = 0, this[t(372)][t(397)] = 0, this[t(372)][t(451)] = 0, this.state.lastPlaybackSpeed = 1, this[t(372)][t(502)] = !1, this[t(372)][t(407)] = 0, this[t(372)][t(367)] = 0, this[t(372)].contentId = null, this[t(372)].contentDuration = 0;
|
|
2162
2160
|
}
|
|
2163
2161
|
}
|
|
2164
|
-
const
|
|
2162
|
+
const S = K0;
|
|
2165
2163
|
(function(x, t) {
|
|
2166
|
-
const e =
|
|
2164
|
+
const e = K0, i = x();
|
|
2167
2165
|
for (; ; )
|
|
2168
2166
|
try {
|
|
2169
|
-
if (parseInt(e(
|
|
2167
|
+
if (parseInt(e(631)) / 1 * (parseInt(e(455)) / 2) + -parseInt(e(506)) / 3 * (-parseInt(e(481)) / 4) + parseInt(e(624)) / 5 * (parseInt(e(550)) / 6) + -parseInt(e(610)) / 7 * (parseInt(e(606)) / 8) + parseInt(e(520)) / 9 * (-parseInt(e(531)) / 10) + parseInt(e(543)) / 11 * (parseInt(e(480)) / 12) + -parseInt(e(497)) / 13 * (-parseInt(e(528)) / 14) === t) break;
|
|
2170
2168
|
i.push(i.shift());
|
|
2171
2169
|
} catch {
|
|
2172
2170
|
i.push(i.shift());
|
|
2173
2171
|
}
|
|
2174
|
-
})(Ne,
|
|
2175
|
-
|
|
2172
|
+
})(Ne, 256596);
|
|
2173
|
+
function K0(x, t) {
|
|
2174
|
+
return x = x - 447, Ne()[x];
|
|
2175
|
+
}
|
|
2176
|
+
const Ot = { gov: { prod: { config: S(633), report: S(547) }, beta: { config: S(498), report: S(508) } }, pub: { prod: { config: "aHR0cHM6Ly9wYXBpLnZwZS5uYXZlcm5jcC5jb20vcGxheWVyL2NvbmZpZw==", report: "aHR0cHM6Ly9sb2cudnBlLm5hdmVybmNwLmNvbS9zdGF0cw==" }, beta: { config: S(613), report: S(541) } } };
|
|
2177
|
+
let A0 = [];
|
|
2176
2178
|
function Ne() {
|
|
2177
|
-
const x = ["
|
|
2179
|
+
const x = ["match", "Chrome", "length", "Safari", "createPlayerInfo", "aHR0cHM6Ly9sb2cuYmV0YS12cGUubmF2ZXJuY3AuY29tL3N0YXRz", "API", "1652442qYBiYx", "kakaotalk", "width", "Edge", "aHR0cHM6Ly9sb2cudnBlLmdvdi1udHJ1c3MuY29tL3N0YXRz", "hls", "protocol", "1196898oqrAVs", "url", "naver", "downlink", "Other", ".mpd", "version", "screen", "name", "E0003", "auto", "access_key", "location", "errorCode", "warn", "slice", "data", "device", "Whale", "filter", "updateTranslator", "state", "tablet", "?preview=true", "config", "ready", "isDev", "player_name", "startsWith", "status", "getPlaylist", "duration", "playerInfo", "vendor", "map", "language", "Base64 decoding failed:", "now", "Naver webview", "test", "VPE Player: accessKey 또는 appId가 없어 키 인증을 건너뜁니다.", "join", "vpe", "model", "startup", "href", "VOD", "quality", "rtt", "report", "mobile", "poster", "object", "height", "split", "#EXT-X-STREAM-INF", "24JCsexC", "isPaidTier", "Firefox", "watermarkConfig", "1105923dQyOVm", "maUse", "saveData", "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLm5hdmVybmNwLmNvbS9wbGF5ZXIvY29uZmln", "connection", "title", "ratechange", "userAgent", "accessKey", "fullscreenchange", "indexOf", "unknown", "lang", "errorMessage", "5lwFUeR", "performKeyCheck", "playerName", "E0002", "json", "dash", "maxTouchPoints", "6727RJMjab", "incomingType", "aHR0cHM6Ly9wYXBpLnZwZS5nb3YtbnRydXNzLmNvbS9wbGF5ZXIvY29uZmln", "POST", "maInit", " / ", "VPE SDK Initialization failed:", "platform", "kakao", "videoHeight", "effectiveType", "playerVersion", "floor", "isFullscreen", "E0001", "maSync", "20LFnYnN", "Kakao webview", "errorInfo", "cid", "player_version", "errorState", "startTimeAt", "HLS 파싱 실패:", "UAParser", "type", "translator", "code", "mp4", "toString", ".m3u8", "getTime", "controlBtn", "undefined", "stage", "maManager", "LIVE", "toLowerCase", "getErrorState", "Content-Type", "Error:", "12SHYBAl", "780nEOFiR", "video", "origin", "getElapsedMilliseconds", "kbps", "trim", "pricing", "getResult", "dispatchEvent", "mpd", "player_start", "meta", "prevTrack", "Unknown", "navigator", "setErrorRun", "6620289KRtdDU", "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLmdvdi1udHJ1c3MuY29tL3BsYXllci9jb25maWc=", "isArray", "host", "round", "mozConnection", "appId", "prev", "playlist", "807IMDRmb", "webkitConnection", "aHR0cHM6Ly9sb2cuYmV0YS12cGUuZ292LW50cnVzcy5jb20vc3RhdHM=", "serverConfig", "stringify", "domain", "playerStartTimeMs", "play", "contentId", "naverncp.com/live/video/ls-", "statusText", "getVideoProtocol", "push", "result", "446616YiwAKe", "getBrowserInfo", "volumechange", "videoWidth", "playbackRate", "Edg", "port", "error", "14hLWsuc", "options", "hasFirstPlayReported", "50yikHWd", "Auto", "getValidatedOptions", "browser", "includes"];
|
|
2178
2180
|
return Ne = function() {
|
|
2179
2181
|
return x;
|
|
2180
2182
|
}, Ne();
|
|
2181
2183
|
}
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
}
|
|
2185
|
-
let Dt = [];
|
|
2186
|
-
const P0 = (x) => {
|
|
2187
|
-
const t = m;
|
|
2184
|
+
const Pt = (x) => {
|
|
2185
|
+
const t = S;
|
|
2188
2186
|
try {
|
|
2189
2187
|
return atob(x);
|
|
2190
2188
|
} catch (e) {
|
|
2191
|
-
return console[t(
|
|
2189
|
+
return console[t(527)](t(586), e), "";
|
|
2192
2190
|
}
|
|
2193
2191
|
};
|
|
2194
|
-
class
|
|
2195
|
-
[
|
|
2196
|
-
[
|
|
2197
|
-
[
|
|
2198
|
-
[
|
|
2199
|
-
|
|
2200
|
-
[
|
|
2201
|
-
|
|
2202
|
-
[
|
|
2203
|
-
[
|
|
2204
|
-
[
|
|
2205
|
-
|
|
2206
|
-
[
|
|
2207
|
-
|
|
2208
|
-
[
|
|
2209
|
-
constructor({ accessKey: t, appId: e, platform: i, stage:
|
|
2210
|
-
const
|
|
2211
|
-
this[
|
|
2192
|
+
class Ut {
|
|
2193
|
+
[S(509)] = {};
|
|
2194
|
+
[S(582)] = null;
|
|
2195
|
+
[S(618)];
|
|
2196
|
+
[S(503)];
|
|
2197
|
+
[S(638)];
|
|
2198
|
+
[S(473)];
|
|
2199
|
+
isDev;
|
|
2200
|
+
[S(465)] = Ze();
|
|
2201
|
+
[S(460)];
|
|
2202
|
+
[S(474)] = null;
|
|
2203
|
+
startTimeAt = null;
|
|
2204
|
+
[S(632)] = null;
|
|
2205
|
+
hasFirstPlayReported = !1;
|
|
2206
|
+
[S(512)] = 0;
|
|
2207
|
+
constructor({ accessKey: t, appId: e, platform: i, stage: a, isDev: r = !1, language: o }) {
|
|
2208
|
+
const f = S;
|
|
2209
|
+
this[f(618)] = t, this[f(503)] = e || location[f(483)], this[f(638)] = i, this[f(473)] = a, this[f(576)] = r, this[f(570)](o), this.errorState = { errorCode: null, errorMessage: null };
|
|
2212
2210
|
}
|
|
2213
|
-
async
|
|
2214
|
-
const t =
|
|
2215
|
-
if ([this[e[0]], this[e[1]]]
|
|
2211
|
+
async initialize() {
|
|
2212
|
+
const t = S, e = ["accessKey", t(503), t(627), t(453), t(559)], i = t(590);
|
|
2213
|
+
if ([this[e[0]], this[e[1]]].some((o) => !o)) return console[t(564)](i), { error: this[t(496)](e[2]) };
|
|
2216
2214
|
const r = (o) => {
|
|
2217
|
-
const
|
|
2218
|
-
return this
|
|
2215
|
+
const f = t;
|
|
2216
|
+
return this[f(509)] = o, this.playerInfo = this[f(540)](o), this[f(582)];
|
|
2219
2217
|
};
|
|
2220
2218
|
try {
|
|
2221
|
-
const o = await this
|
|
2222
|
-
if (o[t(
|
|
2223
|
-
const
|
|
2224
|
-
if (window[t(
|
|
2225
|
-
await
|
|
2226
|
-
const
|
|
2227
|
-
this[t(
|
|
2219
|
+
const o = await this[t(625)]();
|
|
2220
|
+
if (o[t(466)] !== 200) return { error: this.setErrorRun(e[3]) };
|
|
2221
|
+
const f = r(o);
|
|
2222
|
+
if (window[t(592)] && (window[t(592)][t(626)] = f?.[t(577)], window[t(592)][t(450)] = window.vpe[t(450)] || f?.[t(459)], window[t(592)][t(577)] = f[t(577)] + "|" + window[t(592)][t(450)], window[t(592)][t(571)] = this[t(473)]), f?.[t(611)] === "Y") {
|
|
2223
|
+
await Tt(this[t(638)], this[t(473)], f, this.appId, this[t(618)]);
|
|
2224
|
+
const p = await It(this[t(618)]);
|
|
2225
|
+
this[t(474)] = new Mt(this[t(638)], this[t(473)], f), this[t(461)] = Date[t(587)](), p?.[t(519)]?.sync && await this.maManager[t(635)]({ video: f[t(482)] || {}, extra: { ...f.extra } });
|
|
2228
2226
|
}
|
|
2229
|
-
return { options: this[t(
|
|
2227
|
+
return { options: this[t(509)][t(519)]?.[t(529)], playerInfo: f };
|
|
2230
2228
|
} catch (o) {
|
|
2231
|
-
return console[t(
|
|
2229
|
+
return console[t(527)](t(637), o), { error: this.setErrorRun(e[4]) };
|
|
2232
2230
|
}
|
|
2233
2231
|
}
|
|
2234
|
-
async [
|
|
2235
|
-
const t =
|
|
2236
|
-
const
|
|
2237
|
-
return
|
|
2238
|
-
}, {})),
|
|
2239
|
-
if (!
|
|
2240
|
-
return
|
|
2232
|
+
async [S(625)]() {
|
|
2233
|
+
const t = S, e = [t(573), t(574), t(478), "application/json", t(561), t(511), t(634)], i = this[t(576)] ? e[0] : "", a = Pt(Ot[this.platform][this[t(473)]][e[1]]) + i, r = this[t(503)], o = JSON[t(510)]([e[4], e[5]].reduce((p, y, v) => {
|
|
2234
|
+
const _ = t;
|
|
2235
|
+
return p[y] = [this[_(618)], r][v], p;
|
|
2236
|
+
}, {})), f = await fetch(a, { method: e[6], headers: { [e[2]]: e[3] }, body: o });
|
|
2237
|
+
if (!f.ok) throw new Error([t(542), t(479), f[t(579)], f[t(516)]][t(591)](" "));
|
|
2238
|
+
return f[t(628)]();
|
|
2241
2239
|
}
|
|
2242
|
-
[
|
|
2243
|
-
const t =
|
|
2244
|
-
return /Edg\/(\d+\.\d+)
|
|
2240
|
+
[S(521)]() {
|
|
2241
|
+
const t = S, e = navigator[t(617)];
|
|
2242
|
+
return /Edg\/(\d+\.\d+)/[t(589)](e) ? { origin: t(546), version: RegExp.$1 } : /Chrome\/(\d+\.\d+)/[t(589)](e) && !e[t(535)](t(525)) ? { origin: t(537), version: RegExp.$1 } : /Firefox\/(\d+\.\d+)/[t(589)](e) ? { origin: t(608), version: RegExp.$1 } : /Version\/(\d+\.\d+)/[t(589)](e) && e.includes(t(539)) ? { origin: t(539), version: RegExp.$1 } : { origin: t(494), version: t(494) };
|
|
2245
2243
|
}
|
|
2246
|
-
[
|
|
2247
|
-
const e =
|
|
2248
|
-
window[e(
|
|
2249
|
-
const v = typeof window !== e(
|
|
2250
|
-
return { cid: t[e(
|
|
2244
|
+
[S(540)](t) {
|
|
2245
|
+
const e = S, [i, a] = t[e(519)][e(558)][e(604)]("|"), r = navigator[e(614)] || navigator[e(502)] || navigator[e(507)], o = this[e(521)](), f = navigator.userAgentData, p = new k0[e(463)](window[e(495)].userAgent)[e(488)]();
|
|
2246
|
+
window.navigator[e(617)][e(476)]()[e(535)]("whale") ? p.browser.name = e(568) : window.navigator[e(617)][e(476)]()[e(535)](e(544)) ? p[e(534)][e(558)] = e(456) : window[e(495)].userAgent[e(476)]()[e(535)](e(552)) ? p[e(534)][e(558)] = "Naver webview" : window[e(495)].userAgent.toLowerCase()[e(535)](e(447)) ? p[e(534)].name = e(456) : window[e(495)][e(617)][e(476)]().includes("naver") && (p[e(534)][e(558)] = e(588));
|
|
2247
|
+
const y = p[e(567)].type, v = /Macintosh/[e(589)](window[e(495)][e(617)]) && (navigator[e(630)] ?? 0) > 1, _ = y === e(600) || y === e(572) || v || (f?.[e(600)] ?? !1), R = p.os.name || f?.platform || "Unknown", F = typeof window !== e(472) && window[e(592)]?.[e(450)] || a;
|
|
2248
|
+
return { cid: t[e(519)][e(458)], player_name: i, player_version: F, pricing: t[e(519)][e(487)], maUse: t[e(519)][e(529)]?.maUse === "Y" ? "Y" : "N", browser: { lang: navigator[e(585)], ua: navigator[e(617)] }, screen: { width: window[e(557)][e(545)], height: window[e(557)][e(603)] }, connection: { network: r?.[e(449)] ?? e(621), downlink: r?.[e(553)] ?? null, rtt: r?.[e(598)] ?? null, save_data: r?.[e(612)] ?? !1 }, device: { platform: R, mobile: _, memory: navigator.deviceMemory ?? null, processor: navigator.hardwareConcurrency ?? null }, video: { url: "" }, extra: { vpeKey: this[e(618)], playerType: "VPE", playerVersion: F, os: (p.os[e(558)] || e(494)) + e(636) + (p.os[e(556)] || ""), osOrigin: p.os[e(558)] || "Unknown", osVersion: p.os[e(556)], vpePackageId: null, actionDuration: this[e(484)](), actionType: e(575), browser: o[e(483)], browserOrigin: o[e(483)], browserVersion: o[e(556)], quality: e(554), qualityOrigin: e(532), device: p[e(567)][e(583)] + " " + p[e(567)].model, location: window[e(562)].href, host: window[e(562)][e(500)], port: window[e(562)][e(526)], protocol: window[e(562)][e(549)], title: "" } };
|
|
2251
2249
|
}
|
|
2252
|
-
[
|
|
2253
|
-
const e =
|
|
2254
|
-
return this
|
|
2250
|
+
[S(496)](t) {
|
|
2251
|
+
const e = S, i = t[e(565)](-2), a = this[e(465)].error[i] || this[e(465)].error["01"], r = { errorCode: t, errorMessage: a };
|
|
2252
|
+
return this[e(460)] = r, console.error("ncplayer : ", r), r;
|
|
2255
2253
|
}
|
|
2256
|
-
|
|
2257
|
-
|
|
2254
|
+
updateTranslator(t) {
|
|
2255
|
+
const e = S;
|
|
2256
|
+
this[e(465)] = Ze(t);
|
|
2258
2257
|
}
|
|
2259
|
-
[
|
|
2260
|
-
return this
|
|
2258
|
+
[S(477)]() {
|
|
2259
|
+
return this[S(460)];
|
|
2261
2260
|
}
|
|
2262
|
-
[
|
|
2263
|
-
const t =
|
|
2264
|
-
return this
|
|
2261
|
+
[S(607)]() {
|
|
2262
|
+
const t = S;
|
|
2263
|
+
return this[t(509)][t(519)]?.[t(487)] === "pay";
|
|
2265
2264
|
}
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
return !!this[t(199)][t(107)];
|
|
2265
|
+
isInitialized() {
|
|
2266
|
+
return !!this[S(509)].result;
|
|
2269
2267
|
}
|
|
2270
|
-
[
|
|
2271
|
-
const e =
|
|
2272
|
-
this[e(
|
|
2273
|
-
const
|
|
2274
|
-
return
|
|
2268
|
+
[S(533)](t) {
|
|
2269
|
+
const e = S, i = Ct(this[e(509)].result?.options, this[e(509)][e(519)]?.[e(487)]);
|
|
2270
|
+
this[e(509)].result?.[e(487)] !== "pay" && (t = { ...t, ...i });
|
|
2271
|
+
const a = { ...i, ...t ?? {} };
|
|
2272
|
+
return a?.lang && (a?.lang == e(560) || this.updateTranslator(a[e(622)])), t?.[e(471)] && (a[e(471)] = { ...i[e(471)], ...t.controlBtn }), t?.[e(609)] && (a.watermarkConfig = { ...i.watermarkConfig, ...t[e(609)] }), a[e(505)] && !Array[e(499)](a[e(505)]) && (a[e(505)] = [{ file: a[e(505)] }]), A0 = a[e(505)] || [], a;
|
|
2275
2273
|
}
|
|
2276
|
-
[
|
|
2277
|
-
return
|
|
2274
|
+
[S(580)]() {
|
|
2275
|
+
return A0 || [];
|
|
2278
2276
|
}
|
|
2279
2277
|
$t(t) {
|
|
2280
|
-
const e =
|
|
2281
|
-
let
|
|
2278
|
+
const e = S, i = t[e(604)](".");
|
|
2279
|
+
let a = this[e(465)];
|
|
2282
2280
|
for (const r of i)
|
|
2283
|
-
if (
|
|
2281
|
+
if (a && typeof a === e(602) && r in a) a = a[r];
|
|
2284
2282
|
else return t;
|
|
2285
|
-
return typeof
|
|
2283
|
+
return typeof a == "string" ? a : t;
|
|
2286
2284
|
}
|
|
2287
|
-
async
|
|
2288
|
-
const e =
|
|
2289
|
-
if (!t || t[e(
|
|
2290
|
-
const
|
|
2285
|
+
async hlsPaser(t) {
|
|
2286
|
+
const e = S, i = [];
|
|
2287
|
+
if (!t || t[e(620)](e(469)) === -1) return i;
|
|
2288
|
+
const a = (f, p) => {
|
|
2289
|
+
const y = e;
|
|
2291
2290
|
try {
|
|
2292
|
-
return new URL(
|
|
2291
|
+
return new URL(p, f)[y(468)]();
|
|
2293
2292
|
} catch {
|
|
2294
|
-
return
|
|
2293
|
+
return p;
|
|
2295
2294
|
}
|
|
2296
|
-
}, r = (
|
|
2297
|
-
const
|
|
2298
|
-
if (
|
|
2299
|
-
const
|
|
2300
|
-
return
|
|
2301
|
-
}, o = (
|
|
2302
|
-
const
|
|
2303
|
-
for (let
|
|
2304
|
-
const
|
|
2305
|
-
if (
|
|
2306
|
-
const R = v
|
|
2307
|
-
R && !R[
|
|
2295
|
+
}, r = (f) => {
|
|
2296
|
+
const p = e, y = f[p(536)](/RESOLUTION=(\d+)x(\d+)/);
|
|
2297
|
+
if (y) return y[2] + "p";
|
|
2298
|
+
const v = f[p(536)](/BANDWIDTH=(\d+)/);
|
|
2299
|
+
return v ? Math[p(501)](Number(v[1]) / 1e3) + p(485) : p(560);
|
|
2300
|
+
}, o = (f) => {
|
|
2301
|
+
const p = e, y = f[p(604)](/\r?\n/)[p(584)]((v) => v[p(486)]())[p(569)]((v) => v[p(538)] > 0);
|
|
2302
|
+
for (let v = 0; v < y[p(538)]; v += 1) {
|
|
2303
|
+
const _ = y[v];
|
|
2304
|
+
if (_[p(578)](p(605))) {
|
|
2305
|
+
const R = y[v + 1];
|
|
2306
|
+
R && !R[p(578)]("#") && (i[p(518)]({ quality: r(_), url: a(t, R), levelIndex: i.length }), v += 1);
|
|
2308
2307
|
}
|
|
2309
2308
|
}
|
|
2310
2309
|
};
|
|
2311
2310
|
try {
|
|
2312
|
-
const
|
|
2313
|
-
if (!
|
|
2314
|
-
const
|
|
2315
|
-
return
|
|
2316
|
-
} catch (
|
|
2317
|
-
return console
|
|
2311
|
+
const f = await fetch(t);
|
|
2312
|
+
if (!f.ok) return i;
|
|
2313
|
+
const p = await f.text();
|
|
2314
|
+
return p && o(p), i;
|
|
2315
|
+
} catch (f) {
|
|
2316
|
+
return console[e(527)](e(462), f), i;
|
|
2318
2317
|
}
|
|
2319
2318
|
}
|
|
2320
|
-
async
|
|
2321
|
-
const e =
|
|
2322
|
-
if (!t?.[e(
|
|
2323
|
-
const i = new
|
|
2324
|
-
if (t[e(
|
|
2325
|
-
if (t[e(
|
|
2326
|
-
await this[e(
|
|
2319
|
+
async playerStateReport(t) {
|
|
2320
|
+
const e = S;
|
|
2321
|
+
if (!t?.[e(464)] || !this[e(474)] || this[e(582)]?.[e(611)] !== "Y") return;
|
|
2322
|
+
const i = new k0[e(463)](window[e(495)][e(617)]).getResult();
|
|
2323
|
+
if (t[e(464)] == e(522) || t[e(464)] == "stateChange") return;
|
|
2324
|
+
if (t[e(464)] == e(616)) {
|
|
2325
|
+
await this[e(599)]("ratechange", { extra: { playbackRate: t?.[e(566)]?.[e(524)] || t?.[e(482)]?.[e(566)]?.playbackRate || 1 } }, t.type);
|
|
2327
2326
|
return;
|
|
2328
2327
|
}
|
|
2329
|
-
if (t
|
|
2330
|
-
await this[e(
|
|
2328
|
+
if (t.type == e(619)) {
|
|
2329
|
+
await this[e(599)](e(619), { extra: { isFullscreen: t?.[e(566)]?.[e(452)] || !1 } }, t[e(464)]);
|
|
2331
2330
|
return;
|
|
2332
2331
|
}
|
|
2333
|
-
const
|
|
2334
|
-
t[e(
|
|
2335
|
-
const r = t?.[e(
|
|
2336
|
-
this[e(
|
|
2337
|
-
const
|
|
2338
|
-
|
|
2339
|
-
const
|
|
2340
|
-
let
|
|
2341
|
-
if (
|
|
2342
|
-
const
|
|
2343
|
-
we =
|
|
2332
|
+
const a = t[e(464)];
|
|
2333
|
+
t[e(464)] == e(575) && (t[e(464)] = e(491)), (t[e(464)] === "next" || t[e(464)] === e(504) || t[e(464)] === "nextTrack" || t[e(464)] === e(493)) && (this.hasFirstPlayReported = !1);
|
|
2334
|
+
const r = t?.[e(482)]?.[e(551)] ?? "", o = /\.mp4(?:[?#]|$)/i[e(589)](r) && !r[e(535)](e(469)) && !r.includes(e(555)), f = !o && (t?.video?.[e(464)] == "live" || r[e(535)](e(515))), p = navigator[e(614)] || navigator[e(502)] || navigator[e(507)] || null;
|
|
2335
|
+
this[e(632)] = t?.[e(464)] || null;
|
|
2336
|
+
const y = this.incomingType === e(513) && !this[e(530)], v = y ? e(594) : this[e(632)];
|
|
2337
|
+
y && (this.hasFirstPlayReported = !0);
|
|
2338
|
+
const _ = t?.[e(482)]?.[e(566)]?.[e(581)] || 0, R = t?.[e(482)]?.[e(566)]?.currentTime || 0, F = t?.[e(482)]?.[e(523)] || 0, V = t?.[e(482)]?.[e(448)] || 0;
|
|
2339
|
+
let Y = 0, we = 0, ee = 0;
|
|
2340
|
+
if (v == e(491) && (Y = this.getElapsedMilliseconds(), this.playerStartTimeMs = Y), v == "startup") {
|
|
2341
|
+
const s0 = this[e(484)]();
|
|
2342
|
+
we = s0 - this[e(512)], ee = s0;
|
|
2344
2343
|
}
|
|
2345
|
-
const
|
|
2346
|
-
await this.report(
|
|
2344
|
+
const j0 = { type: v, video: { type: e(f ? 475 : 596), quality: t?.[e(482)]?.[e(597)] ? t?.[e(482)]?.[e(597)] : e(560), url: t?.video?.url }, connection: p ? { network: p[e(449)], downlink: p.downlink, rtt: p.rtt, save_data: p[e(612)] } : void 0, extra: { actionType: v, url: t?.[e(482)]?.[e(551)], type: f ? "LIVE" : e(596), videoFormat: this[e(517)](t?.video?.[e(551)]), ...t?.video?.[e(601)] ? { poster: t[e(482)][e(601)] } : {}, video_type: e(f ? 475 : 596), title: t?.[e(492)]?.[e(615)], contentId: t?.[e(482)]?.[e(514)] || t?.[e(492)]?.contentId || null, metaData: t?.[e(492)], videoWidth: Math[e(501)](F), videoHeight: Math[e(501)](V), video_protocols: this[e(517)](t?.[e(482)]?.[e(551)]), duration: Math[e(451)](_), currentTime: Math[e(451)](R), playedTime: this[e(484)](), viewingTime: Math[e(501)](this[e(484)]() / 1e3), playerStartTime: Y, videoStartTime: we, totalStartTime: ee, percent: Math[e(501)](R / _ * 100), quality: t?.[e(482)]?.quality ? t?.video?.[e(597)] : e(560), errorCode: t?.[e(566)]?.errorCode ?? t?.[e(457)]?.[e(563)], errorMessage: t?.[e(566)]?.[e(623)] ?? t?.[e(457)]?.[e(623)], actionDuration: this[e(484)]() / 1e3, device: i[e(567)][e(583)] + " " + i.device[e(593)], location: window.location[e(595)], host: window[e(562)][e(500)], port: window[e(562)][e(526)], protocol: window[e(562)][e(549)] }, browser: { lang: navigator[e(585)], ua: navigator[e(617)] }, screen: { width: window[e(557)].width, height: window[e(557)][e(603)] } };
|
|
2345
|
+
await this.report(v, j0, a);
|
|
2347
2346
|
}
|
|
2348
|
-
async
|
|
2349
|
-
const
|
|
2350
|
-
if (!this
|
|
2351
|
-
const r = e && typeof e
|
|
2352
|
-
await this[
|
|
2347
|
+
async [S(599)](t, e, i) {
|
|
2348
|
+
const a = S;
|
|
2349
|
+
if (!this.maManager) return;
|
|
2350
|
+
const r = e && typeof e === a(602) ? e : { extra: { actionDuration: this.getElapsedMilliseconds() } };
|
|
2351
|
+
await this.maManager[a(454)](r), await this.maManager[a(489)]({ type: t, data: r });
|
|
2353
2352
|
}
|
|
2354
|
-
[
|
|
2355
|
-
const e =
|
|
2356
|
-
return t
|
|
2353
|
+
[S(517)](t) {
|
|
2354
|
+
const e = S;
|
|
2355
|
+
return t.indexOf("m3u8") > -1 ? e(548) : t.indexOf(e(490)) > -1 ? e(629) : e(467);
|
|
2357
2356
|
}
|
|
2358
|
-
[
|
|
2359
|
-
const t =
|
|
2360
|
-
return this
|
|
2357
|
+
[S(484)]() {
|
|
2358
|
+
const t = S;
|
|
2359
|
+
return this.startTimeAt ? (/* @__PURE__ */ new Date())[t(470)]() - this.startTimeAt : 0;
|
|
2361
2360
|
}
|
|
2362
2361
|
}
|
|
2362
|
+
function Ue() {
|
|
2363
|
+
var x = ["481329vFmvna", "6SLstRK", "20985444OyreRD", "72408RztMoP", "371yVgllZ", "2222550lURdXR", "1930424ImiHAD", "1556765YrGtAO", "181211RrXYkc"];
|
|
2364
|
+
return Ue = function() {
|
|
2365
|
+
return x;
|
|
2366
|
+
}, Ue();
|
|
2367
|
+
}
|
|
2363
2368
|
(function(x, t) {
|
|
2364
|
-
for (var e =
|
|
2369
|
+
for (var e = Nt, i = x(); ; )
|
|
2365
2370
|
try {
|
|
2366
|
-
var
|
|
2367
|
-
if (
|
|
2371
|
+
var a = -parseInt(e(272)) / 1 * (parseInt(e(274)) / 2) + parseInt(e(273)) / 3 + -parseInt(e(270)) / 4 + -parseInt(e(271)) / 5 + -parseInt(e(269)) / 6 + parseInt(e(277)) / 7 * (-parseInt(e(276)) / 8) + parseInt(e(275)) / 9;
|
|
2372
|
+
if (a === t) break;
|
|
2368
2373
|
i.push(i.shift());
|
|
2369
2374
|
} catch {
|
|
2370
2375
|
i.push(i.shift());
|
|
2371
2376
|
}
|
|
2372
|
-
})(Ue,
|
|
2373
|
-
function
|
|
2374
|
-
x = x -
|
|
2377
|
+
})(Ue, 304439);
|
|
2378
|
+
function Nt(x, t) {
|
|
2379
|
+
x = x - 269;
|
|
2375
2380
|
var e = Ue(), i = e[x];
|
|
2376
2381
|
return i;
|
|
2377
2382
|
}
|
|
2378
|
-
function Ue() {
|
|
2379
|
-
var x = ["62223aUDMfB", "39268gZyoxh", "16VHToId", "1342287gkiLsp", "1018503AlargQ", "123978HsEudH", "4HBXsZR", "3471061OKMwzq", "133mrUuFO", "648070eIiwXe", "36RhEUnB", "240HotBYx"];
|
|
2380
|
-
return Ue = function() {
|
|
2381
|
-
return x;
|
|
2382
|
-
}, Ue();
|
|
2383
|
-
}
|
|
2384
2383
|
export {
|
|
2385
|
-
|
|
2384
|
+
Ut as default,
|
|
2386
2385
|
Ze as getTranslator
|
|
2387
2386
|
};
|