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