@kalamba/sdk 0.1.2 → 0.2.0
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/index.cjs +1 -1
- package/dist/index.d.ts +17 -8
- package/dist/index.js +45 -45
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.d.ts +19 -10
- package/dist/plugins.js +240 -250
- package/dist/wrapper.d.ts +16 -7
- package/package.json +3 -2
package/dist/plugins.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* BSD 3-Clause License
|
|
3
3
|
* Copyright (c) 2024, Kalamba Games Limited
|
|
4
4
|
*/
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var w = (i, t, e) => (
|
|
5
|
+
var Gt = Object.defineProperty;
|
|
6
|
+
var Nt = (i, t, e) => t in i ? Gt(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
|
|
7
|
+
var w = (i, t, e) => (Nt(i, typeof t != "symbol" ? t + "" : t, e), e), at = (i, t, e) => {
|
|
8
8
|
if (!t.has(i))
|
|
9
9
|
throw TypeError("Cannot " + e);
|
|
10
10
|
};
|
|
@@ -14,11 +14,14 @@ var y = (i, t, e) => (at(i, t, "read from private field"), e ? e.call(i) : t.get
|
|
|
14
14
|
t instanceof WeakSet ? t.add(i) : t.set(i, e);
|
|
15
15
|
}, E = (i, t, e, s) => (at(i, t, "write to private field"), s ? s.call(i, e) : t.set(i, e), e);
|
|
16
16
|
import { a as ot } from "./noop-3336849b.js";
|
|
17
|
-
function
|
|
17
|
+
function x(i, t) {
|
|
18
18
|
return (e, ...s) => {
|
|
19
19
|
console.log(`[%c${i}\x1B[m] %s`, t, e, ...s);
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
+
function xt(i, t) {
|
|
23
|
+
return Math.round(i * 100 / t);
|
|
24
|
+
}
|
|
22
25
|
class $ {
|
|
23
26
|
constructor(t) {
|
|
24
27
|
w(this, "config");
|
|
@@ -37,13 +40,10 @@ class $ {
|
|
|
37
40
|
});
|
|
38
41
|
}
|
|
39
42
|
}
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
return Math.round(i * 100 / t);
|
|
43
|
-
}
|
|
44
|
-
class Ui extends $ {
|
|
43
|
+
const Ht = x("BasicPlugin", "color:#000000;font-weight:bold;");
|
|
44
|
+
class Pi extends $ {
|
|
45
45
|
constructor(...t) {
|
|
46
|
-
super(...t), this.registerToSdkEvents(), this.registerFromSdkEvents(),
|
|
46
|
+
super(...t), this.registerToSdkEvents(), this.registerFromSdkEvents(), Ht("configured");
|
|
47
47
|
}
|
|
48
48
|
registerToSdkEvents() {
|
|
49
49
|
window.addEventListener("message", (t) => {
|
|
@@ -54,8 +54,8 @@ class Ui extends $ {
|
|
|
54
54
|
this.send("settings", { music: s == null ? void 0 : s.musicEnabled, sounds: s == null ? void 0 : s.soundEnabled });
|
|
55
55
|
return;
|
|
56
56
|
case "doBalanceUpdate":
|
|
57
|
-
const { currency: n, coinValueInCents:
|
|
58
|
-
s.currency === n && typeof s.balanceInCurrency == "number" ? this.send("balance", { balance:
|
|
57
|
+
const { currency: n, coinValueInCents: c } = this.config.api;
|
|
58
|
+
s.currency === n && typeof s.balanceInCurrency == "number" ? this.send("balance", { balance: xt(s.balanceInCurrency, c) }) : (s.balanceInCoins, this.send("balance", { balance: s.balanceInCoins }));
|
|
59
59
|
return;
|
|
60
60
|
case "doGamePause":
|
|
61
61
|
this.send("freeze");
|
|
@@ -90,7 +90,7 @@ class Ui extends $ {
|
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
const k =
|
|
93
|
+
const k = x("▼ DebuggingPlugin IN ▼", "color:#444444;font-weight:bold;"), zt = x("▲ DebuggingPlugin OUT ▲", "color:#444444;font-weight:bold;");
|
|
94
94
|
class xi extends $ {
|
|
95
95
|
constructor(...t) {
|
|
96
96
|
super(...t), this.registerDebugToSdkEvents(), this.registerSdkToDebugEvents();
|
|
@@ -118,8 +118,8 @@ class xi extends $ {
|
|
|
118
118
|
zt(...t), this.send(...t);
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
-
const Vt =
|
|
122
|
-
class
|
|
121
|
+
const Vt = x("GigPlugin", "color:#000000;font-weight:bold;");
|
|
122
|
+
class Ui extends $ {
|
|
123
123
|
constructor(...t) {
|
|
124
124
|
super(...t), this.registerToSdkEvents(), this.registerFromSdkEvents(), Vt("configured");
|
|
125
125
|
}
|
|
@@ -169,8 +169,8 @@ class Oi extends $ {
|
|
|
169
169
|
});
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
|
-
const qt =
|
|
173
|
-
class
|
|
172
|
+
const qt = x("OryxPlugin", "color:#000000;font-weight:bold;");
|
|
173
|
+
class Oi extends $ {
|
|
174
174
|
constructor(...t) {
|
|
175
175
|
super(...t), this.registerToSdkEvents(), this.registerFromSdkEvents(), qt("configured");
|
|
176
176
|
}
|
|
@@ -224,7 +224,7 @@ class Li extends $ {
|
|
|
224
224
|
});
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
|
-
const rt =
|
|
227
|
+
const rt = x("PariplayPlugin", "color:#000000;font-weight:bold;");
|
|
228
228
|
function Ge(i) {
|
|
229
229
|
try {
|
|
230
230
|
window.top.location = i;
|
|
@@ -234,10 +234,10 @@ function Ge(i) {
|
|
|
234
234
|
}
|
|
235
235
|
function Ne(i, t) {
|
|
236
236
|
return new Promise(function(s, n) {
|
|
237
|
-
const
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
},
|
|
237
|
+
const c = new XMLHttpRequest();
|
|
238
|
+
c.onload = function() {
|
|
239
|
+
c.status >= 200 && c.status < 300 ? s(c.responseText) : n(c.responseText);
|
|
240
|
+
}, c.open(i, t), c.send();
|
|
241
241
|
});
|
|
242
242
|
}
|
|
243
243
|
function He() {
|
|
@@ -269,7 +269,7 @@ function jt(i) {
|
|
|
269
269
|
return e.TotalBet != null && e.TotalWin != null;
|
|
270
270
|
}) || {};
|
|
271
271
|
}
|
|
272
|
-
class
|
|
272
|
+
class Li extends $ {
|
|
273
273
|
constructor(...t) {
|
|
274
274
|
super(...t), this.registerToSdkEvents(), this.registerFromSdkEvents(), rt("configured");
|
|
275
275
|
}
|
|
@@ -323,10 +323,10 @@ class _i extends $ {
|
|
|
323
323
|
processInfoUiMessages(t) {
|
|
324
324
|
return t.reduce((e, s) => e.then(() => new Promise((n) => {
|
|
325
325
|
Object.assign({}, s, {
|
|
326
|
-
buttons: s.buttons.filter((
|
|
326
|
+
buttons: s.buttons.filter((c) => c.action.toUpperCase() === "CASHIER" ? !!this.config.api.cashierUrl : !0).map((c) => Object.assign({}, c, {
|
|
327
327
|
onRelease: () => {
|
|
328
|
-
const a = s.messageType.toUpperCase() === "POPUP" ? He : n, h = this.buttonActions[
|
|
329
|
-
h ? h(
|
|
328
|
+
const a = s.messageType.toUpperCase() === "POPUP" ? He : n, h = this.buttonActions[c.action.toUpperCase()];
|
|
329
|
+
h ? h(c, a) : a();
|
|
330
330
|
}
|
|
331
331
|
}))
|
|
332
332
|
});
|
|
@@ -363,12 +363,12 @@ class _i extends $ {
|
|
|
363
363
|
try {
|
|
364
364
|
const n = JSON.parse(
|
|
365
365
|
JSON.parse(atob(this.config.api.integrationData.token.split(".")[1])).token
|
|
366
|
-
),
|
|
366
|
+
), c = JSON.parse(n.integrationSpecificAttributes.sessionData || "{}");
|
|
367
367
|
s = {
|
|
368
368
|
ClientToken: n.integrationSpecificAttributes.clientToken,
|
|
369
369
|
CurrencyCode: n.currency,
|
|
370
370
|
PlayerTokenId: n.user,
|
|
371
|
-
SessionData:
|
|
371
|
+
SessionData: c
|
|
372
372
|
};
|
|
373
373
|
} catch {
|
|
374
374
|
s = void 0;
|
|
@@ -418,13 +418,13 @@ class _i extends $ {
|
|
|
418
418
|
this.postMessage("roundStarted", {
|
|
419
419
|
balanceBefore: this.coinsToCurrency(e.balance + e.data.gameState.totalBetFromCurrentGameCycle)
|
|
420
420
|
});
|
|
421
|
-
const s = e.data.gameState.stateTypeThisRound === "BaseGame", n = Wt(e.data.uiMessages),
|
|
421
|
+
const s = e.data.gameState.stateTypeThisRound === "BaseGame", n = Wt(e.data.uiMessages), c = ze(e.data.uiMessages), a = $t(n), h = jt(n);
|
|
422
422
|
this.postMessage("ticketReceived", {
|
|
423
423
|
Balance: this.coinsToCurrency(e.balance),
|
|
424
424
|
BetAmount: s ? this.coinsToCurrency(e.data.gameState.totalBetFromCurrentGameCycle) : 0,
|
|
425
425
|
CreditTransactionId: a.betId,
|
|
426
426
|
DebitTransactionId: a.winId,
|
|
427
|
-
Message:
|
|
427
|
+
Message: c,
|
|
428
428
|
SessionData: h,
|
|
429
429
|
Status: {
|
|
430
430
|
ErrCode: 0
|
|
@@ -432,7 +432,7 @@ class _i extends $ {
|
|
|
432
432
|
WinAmount: this.coinsToCurrency(e.data.gameRoundResult.win)
|
|
433
433
|
});
|
|
434
434
|
}), this.on("playStart", (e) => {
|
|
435
|
-
|
|
435
|
+
e.bet && this.postMessage("roundStart", {
|
|
436
436
|
totalBet: this.coinsToCurrency(e.bet.base * e.bet.multiplier)
|
|
437
437
|
});
|
|
438
438
|
}), this.on("loadEnd", () => {
|
|
@@ -444,8 +444,8 @@ class _i extends $ {
|
|
|
444
444
|
});
|
|
445
445
|
}
|
|
446
446
|
}
|
|
447
|
-
const he =
|
|
448
|
-
class
|
|
447
|
+
const he = x("RelaxFEIMPlugin", "color:#000000;font-weight:bold;");
|
|
448
|
+
class _i extends $ {
|
|
449
449
|
constructor(...e) {
|
|
450
450
|
super(...e);
|
|
451
451
|
w(this, "VERSION", "1.15.0");
|
|
@@ -521,11 +521,8 @@ class Fi extends $ {
|
|
|
521
521
|
});
|
|
522
522
|
}
|
|
523
523
|
}
|
|
524
|
-
const Ve =
|
|
525
|
-
|
|
526
|
-
return Math.round(i * 100 / t);
|
|
527
|
-
}
|
|
528
|
-
class Di extends $ {
|
|
524
|
+
const Ve = x("TukoPlugin", "color:#000000;font-weight:bold;");
|
|
525
|
+
class Fi extends $ {
|
|
529
526
|
constructor(...e) {
|
|
530
527
|
super(...e);
|
|
531
528
|
w(this, "PING_INTERVAL", 1e4);
|
|
@@ -549,8 +546,8 @@ class Di extends $ {
|
|
|
549
546
|
this.send("settings", { music: n == null ? void 0 : n.musicEnabled, sounds: n == null ? void 0 : n.soundEnabled });
|
|
550
547
|
return;
|
|
551
548
|
case "doBalanceUpdate":
|
|
552
|
-
const { currency:
|
|
553
|
-
n.currency ===
|
|
549
|
+
const { currency: c, coinValueInCents: a } = this.config.api;
|
|
550
|
+
n.currency === c && typeof n.balanceInCurrency == "number" ? this.send("balance", { balance: xt(n.balanceInCurrency, a) }) : (n.balanceInCoins, this.send("balance", { balance: n.balanceInCoins }));
|
|
554
551
|
return;
|
|
555
552
|
case "doGamePause":
|
|
556
553
|
this.send("freeze");
|
|
@@ -585,7 +582,7 @@ class Di extends $ {
|
|
|
585
582
|
});
|
|
586
583
|
}
|
|
587
584
|
}
|
|
588
|
-
class
|
|
585
|
+
class Qt {
|
|
589
586
|
constructor(t) {
|
|
590
587
|
w(this, "socket", null);
|
|
591
588
|
w(this, "webSocketUrl");
|
|
@@ -654,23 +651,23 @@ function oe(i) {
|
|
|
654
651
|
var t;
|
|
655
652
|
return ((t = i == null ? void 0 : i.header) == null ? void 0 : t.name) === "GameEvent";
|
|
656
653
|
}
|
|
657
|
-
function
|
|
654
|
+
function Xt(i) {
|
|
658
655
|
return oe(i) && i.body.event === "OPEN_GAME";
|
|
659
656
|
}
|
|
660
|
-
function
|
|
657
|
+
function Kt(i) {
|
|
661
658
|
return oe(i) && i.body.event === "SPIN_ERROR";
|
|
662
659
|
}
|
|
663
|
-
function
|
|
660
|
+
function Jt(i) {
|
|
664
661
|
return oe(i) && i.body.event === "SPIN_RESULT";
|
|
665
662
|
}
|
|
666
|
-
function
|
|
663
|
+
function Yt(i) {
|
|
667
664
|
return oe(i) && i.body.event === "BG_RESULT";
|
|
668
665
|
}
|
|
669
|
-
function
|
|
666
|
+
function Zt(i) {
|
|
670
667
|
var t;
|
|
671
668
|
return ((t = i == null ? void 0 : i.header) == null ? void 0 : t.name) === "OpenGame";
|
|
672
669
|
}
|
|
673
|
-
function
|
|
670
|
+
function ei(i) {
|
|
674
671
|
var t;
|
|
675
672
|
return ((t = i == null ? void 0 : i.header) == null ? void 0 : t.name) === "Ping";
|
|
676
673
|
}
|
|
@@ -679,7 +676,7 @@ function ct(i) {
|
|
|
679
676
|
return ((t = i == null ? void 0 : i.header) == null ? void 0 : t.name) === "RealityCheck";
|
|
680
677
|
}
|
|
681
678
|
var Z, ye;
|
|
682
|
-
class
|
|
679
|
+
class ti extends Qt {
|
|
683
680
|
constructor(e, s) {
|
|
684
681
|
const n = new URL(e.apiUrl);
|
|
685
682
|
n.searchParams.set("cageCode", e.cageCode), n.searchParams.set("gameCode", e.gameCode), n.searchParams.set("operatorCode", e.operatorCode), n.searchParams.set("playMode", e.playMode), n.searchParams.set("token", e.token), n.searchParams.set("username", e.username);
|
|
@@ -717,7 +714,7 @@ class ii extends Xt {
|
|
|
717
714
|
v(this, ye, void 0);
|
|
718
715
|
w(this, "onMessage", (e) => {
|
|
719
716
|
const s = Me(e);
|
|
720
|
-
(oe(s) ||
|
|
717
|
+
(oe(s) || ei(s) || ct(s)) && this.sendAcknowledgement(s), ct(s) && this.handleRealityCheck(s);
|
|
721
718
|
});
|
|
722
719
|
this.eventListeners.realityCheck = [], this.gameCode = e.gameCode, E(this, Z, s.requestTimeoutMs), E(this, ye, s.gameVersion ?? "unknown"), this.addEventListener("message", this.onMessage);
|
|
723
720
|
}
|
|
@@ -756,12 +753,12 @@ class ii extends Xt {
|
|
|
756
753
|
}
|
|
757
754
|
request(e, s) {
|
|
758
755
|
const n = this.buildPayload(e, s);
|
|
759
|
-
return new Promise((
|
|
756
|
+
return new Promise((c, a) => {
|
|
760
757
|
setTimeout(() => a({ request: { body: s, header: e }, type: "timeout" }), y(this, Z));
|
|
761
758
|
const h = (p) => {
|
|
762
759
|
const g = Me(p);
|
|
763
760
|
try {
|
|
764
|
-
e.cId === (g == null ? void 0 : g.header.cId) && (this.removeEventListener("message", h), g.header.code === 1 ?
|
|
761
|
+
e.cId === (g == null ? void 0 : g.header.cId) && (this.removeEventListener("message", h), g.header.code === 1 ? c(g) : a({ response: g, type: "response" }));
|
|
765
762
|
} catch {
|
|
766
763
|
a({ response: g, type: "error" });
|
|
767
764
|
}
|
|
@@ -785,55 +782,49 @@ class ii extends Xt {
|
|
|
785
782
|
return this.request(
|
|
786
783
|
s,
|
|
787
784
|
n
|
|
788
|
-
).then((
|
|
785
|
+
).then((c) => c.body);
|
|
789
786
|
}
|
|
790
787
|
openGame() {
|
|
791
788
|
const e = this.buildHeader("OpenGame"), s = {
|
|
792
789
|
gameCode: this.gameCode
|
|
793
790
|
};
|
|
794
|
-
return new Promise((n,
|
|
791
|
+
return new Promise((n, c) => {
|
|
795
792
|
const a = (h) => {
|
|
796
793
|
const p = Me(h);
|
|
797
|
-
|
|
794
|
+
Xt(p) && (this.removeEventListener("message", a), n(p.body));
|
|
798
795
|
};
|
|
799
796
|
this.addEventListener("message", a), this.request(e, s).catch((h) => {
|
|
800
|
-
|
|
797
|
+
Zt(h.response) && c(h), c(h);
|
|
801
798
|
});
|
|
802
799
|
});
|
|
803
800
|
}
|
|
804
801
|
sendAcknowledgement(e) {
|
|
805
|
-
const { name: s, cId: n } = e.header,
|
|
802
|
+
const { name: s, cId: n } = e.header, c = this.buildHeader(s, n), a = this.buildPayload(c, {});
|
|
806
803
|
this.send(a);
|
|
807
804
|
}
|
|
808
805
|
sendAction(e, s) {
|
|
809
|
-
const n = this.buildHeader("GameAction"),
|
|
806
|
+
const n = this.buildHeader("GameAction"), c = {
|
|
810
807
|
...this.getBodyExtras(e),
|
|
811
808
|
data: s
|
|
812
809
|
};
|
|
813
810
|
return new Promise((a, h) => {
|
|
814
811
|
const p = (g) => {
|
|
815
812
|
const f = Me(g);
|
|
816
|
-
oe(f) &&
|
|
813
|
+
oe(f) && c.seqId === f.body.correlationSeqId && (this.removeEventListener("message", p), Jt(f) || Yt(f) ? a(f.body) : Kt(f) && h(f.body));
|
|
817
814
|
};
|
|
818
|
-
this.addEventListener("message", p), this.request(n,
|
|
815
|
+
this.addEventListener("message", p), this.request(n, c).catch(
|
|
819
816
|
(g) => {
|
|
820
817
|
h(g);
|
|
821
818
|
}
|
|
822
819
|
);
|
|
823
820
|
});
|
|
824
821
|
}
|
|
825
|
-
spin(e) {
|
|
826
|
-
return this.sendAction("SPIN", e);
|
|
827
|
-
}
|
|
828
|
-
bgAction(e) {
|
|
829
|
-
return this.sendAction("BG_ACTION", e);
|
|
830
|
-
}
|
|
831
822
|
setRequestTimeoutMs(e) {
|
|
832
823
|
E(this, Z, e);
|
|
833
824
|
}
|
|
834
825
|
}
|
|
835
826
|
Z = new WeakMap(), ye = new WeakMap();
|
|
836
|
-
class
|
|
827
|
+
class ii {
|
|
837
828
|
constructor(t) {
|
|
838
829
|
w(this, "config");
|
|
839
830
|
this.config = t;
|
|
@@ -851,7 +842,7 @@ class si {
|
|
|
851
842
|
});
|
|
852
843
|
}
|
|
853
844
|
}
|
|
854
|
-
const
|
|
845
|
+
const si = {
|
|
855
846
|
bul: "bg",
|
|
856
847
|
chi: "zh",
|
|
857
848
|
zho: "zh",
|
|
@@ -883,9 +874,9 @@ const ni = {
|
|
|
883
874
|
tur: "tr",
|
|
884
875
|
ukr: "uk",
|
|
885
876
|
vie: "vi"
|
|
886
|
-
},
|
|
877
|
+
}, ni = x("KalambaBullseyePlugin", "color:#000000;font-weight:bold;");
|
|
887
878
|
var Ee;
|
|
888
|
-
class
|
|
879
|
+
class Di extends ii {
|
|
889
880
|
constructor(...e) {
|
|
890
881
|
super(...e);
|
|
891
882
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -913,14 +904,14 @@ class Bi extends si {
|
|
|
913
904
|
}), this.registerFromSdkEvents();
|
|
914
905
|
}
|
|
915
906
|
initialize(e) {
|
|
916
|
-
this.socket = new
|
|
907
|
+
this.socket = new ti(e, {
|
|
917
908
|
gameVersion: y(this, Ee),
|
|
918
909
|
requestTimeoutMs: this.config.ui.requestTimeoutMs
|
|
919
910
|
}), this.socket.addEventListener("close", (s) => {
|
|
920
911
|
s.code === 1006 && this.reconnect(e);
|
|
921
912
|
}), document.addEventListener("visibilitychange", () => {
|
|
922
913
|
document.visibilityState === "visible" && this.socket.socket && this.socket.socket.readyState !== WebSocket.OPEN && this.reconnect(e);
|
|
923
|
-
}), this.socket.addEventListener("error", (s) =>
|
|
914
|
+
}), this.socket.addEventListener("error", (s) => ni("error", s)), this.socket.addEventListener("realityCheck", (s) => {
|
|
924
915
|
this.send("realityCheck", s);
|
|
925
916
|
});
|
|
926
917
|
}
|
|
@@ -928,12 +919,12 @@ class Bi extends si {
|
|
|
928
919
|
this.initialize(e), await this.socket.connect(), await this.socket.authenticate(!0), await this.socket.openGame();
|
|
929
920
|
}
|
|
930
921
|
async openGame() {
|
|
931
|
-
const e = new URLSearchParams(window.location.search), s = e.get("apiUrl"), n = e.get("cageCode"),
|
|
932
|
-
this.initialize({ apiUrl: s, cageCode: n, gameCode:
|
|
922
|
+
const e = new URLSearchParams(window.location.search), s = e.get("apiUrl"), n = e.get("cageCode"), c = e.get("gameCode"), a = e.get("operatorCode"), h = e.get("playMode"), p = e.get("token"), g = e.get("username"), f = e.get("gameHistoryUrl"), A = e.get("homeUrl") ?? void 0, D = e.get("cashierUrl") ?? void 0;
|
|
923
|
+
this.initialize({ apiUrl: s, cageCode: n, gameCode: c, operatorCode: a, playMode: h, token: p, username: g }), await this.socket.connect();
|
|
933
924
|
const B = await this.socket.authenticate(), le = await this.socket.openGame();
|
|
934
925
|
this.config.api = {
|
|
935
926
|
brand: n,
|
|
936
|
-
game:
|
|
927
|
+
game: c,
|
|
937
928
|
integration: a,
|
|
938
929
|
jurisdiction: B.jurisdictionCode,
|
|
939
930
|
playMode: h,
|
|
@@ -948,35 +939,34 @@ class Bi extends si {
|
|
|
948
939
|
homeUrl: A,
|
|
949
940
|
cashierUrl: D
|
|
950
941
|
};
|
|
951
|
-
const
|
|
952
|
-
return
|
|
942
|
+
const U = e.get("languageCode");
|
|
943
|
+
return U && (this.config.ui.language = U.length === 3 ? si[U] ?? U : U), le;
|
|
953
944
|
}
|
|
954
945
|
// TODO: redefine PlayResponse type
|
|
955
946
|
play(e) {
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
}
|
|
947
|
+
const {
|
|
948
|
+
contract: { bet: s, ...n },
|
|
949
|
+
extra: c,
|
|
950
|
+
actionType: a
|
|
951
|
+
} = e;
|
|
952
|
+
return this.socket.sendAction(a, {
|
|
953
|
+
bet: s ? { baseBet: s.base, betMultiplier: s.multiplier } : void 0,
|
|
954
|
+
...n,
|
|
955
|
+
...c
|
|
956
|
+
});
|
|
967
957
|
}
|
|
968
958
|
registerFromSdkEvents() {
|
|
969
959
|
this.on("history", () => {
|
|
970
960
|
const {
|
|
971
|
-
api: { game: e, integration: s, integrationData: n, jurisdiction:
|
|
961
|
+
api: { game: e, integration: s, integrationData: n, jurisdiction: c, user: a, gameHistoryUrl: h },
|
|
972
962
|
ui: { language: p }
|
|
973
963
|
} = this.config, g = a.replace(/^user_/, "").replace(new RegExp(`_${s}$`), ""), f = new URL(h);
|
|
974
|
-
f.searchParams.set("gameCode", e), f.searchParams.set("jurisdiction",
|
|
964
|
+
f.searchParams.set("gameCode", e), f.searchParams.set("jurisdiction", c), f.searchParams.set("operatorCode", s), f.searchParams.set("token", n.token), f.searchParams.set("username", g), f.searchParams.set("languageCode", p), window.open(f.toString(), "_blank");
|
|
975
965
|
});
|
|
976
966
|
}
|
|
977
967
|
}
|
|
978
968
|
Ee = new WeakMap();
|
|
979
|
-
var
|
|
969
|
+
var ai = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce = "object", Je = "string", fe = "major", d = "model", o = "name", l = "type", u = "vendor", r = "version", M = "architecture", K = "console", m = "mobile", b = "tablet", I = "smarttv", X = "wearable", Ye = "embedded", lt = "user-agent", Ze = 500, it = "brands", q = "formFactor", st = "fullVersionList", J = "platform", nt = "platformVersion", De = "bitness", V = "sec-ch-ua", oi = V + "-full-version-list", ri = V + "-arch", ci = V + "-" + De, di = V + "-form-factor", li = V + "-" + m, ui = V + "-" + d, Ot = V + "-" + J, hi = Ot + "-version", Lt = [it, st, m, d, J, nt, M, q, De], T = "browser", O = "cpu", P = "device", L = "engine", R = "os", Y = "result", Ce = "Amazon", pe = "Apple", ut = "ASUS", ht = "BlackBerry", Ie = "Google", pt = "Huawei", gt = "Lenovo", qe = "LG", Ue = "Microsoft", wt = "Motorola", Te = "Samsung", mt = "Sharp", Ae = "Sony", We = "Xiaomi", $e = "Zebra", j = "Mobile ", Q = " Browser", Re = "Chrome", pi = "Edge", ge = "Firefox", we = "Opera", ft = "Facebook", bt = "Sogou", et = "Windows", gi = typeof window !== H, C = gi && window.navigator ? window.navigator : void 0, G = C && C.userAgentData ? C.userAgentData : void 0, wi = function(i, t) {
|
|
980
970
|
var e = {};
|
|
981
971
|
for (var s in i)
|
|
982
972
|
e[s] = t[s] && t[s].length % 2 === 0 ? t[s].concat(i[s]) : i[s];
|
|
@@ -1027,12 +1017,12 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
1027
1017
|
return i = W(/^\s\s*/, i), typeof t === H ? i : i.substring(0, Ze);
|
|
1028
1018
|
}, Et = function(i, t) {
|
|
1029
1019
|
if (!(!i || !t))
|
|
1030
|
-
for (var e = 0, s, n,
|
|
1020
|
+
for (var e = 0, s, n, c, a, h, p; e < t.length && !h; ) {
|
|
1031
1021
|
var g = t[e], f = t[e + 1];
|
|
1032
1022
|
for (s = n = 0; s < g.length && !h && g[s]; )
|
|
1033
1023
|
if (h = g[s++].exec(i), h)
|
|
1034
|
-
for (
|
|
1035
|
-
p = h[++n], a = f[
|
|
1024
|
+
for (c = 0; c < f.length; c++)
|
|
1025
|
+
p = h[++n], a = f[c], typeof a === ce && a.length > 0 ? a.length === 2 ? typeof a[1] == Ke ? this[a[0]] = a[1].call(this, p) : this[a[0]] = a[1] : a.length === 3 ? typeof a[1] === Ke && !(a[1].exec && a[1].test) ? this[a[0]] = p ? a[1].call(this, p, a[2]) : void 0 : this[a[0]] = p ? p.replace(a[1], a[2]) : void 0 : a.length === 4 && (this[a[0]] = p ? a[3].call(this, p.replace(a[1], a[2])) : void 0) : this[a] = p || void 0;
|
|
1036
1026
|
e += 2;
|
|
1037
1027
|
}
|
|
1038
1028
|
}, Oe = function(i, t) {
|
|
@@ -1423,45 +1413,45 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
1423
1413
|
// Samsung
|
|
1424
1414
|
/\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
|
|
1425
1415
|
],
|
|
1426
|
-
[
|
|
1416
|
+
[d, [u, Te], [l, b]],
|
|
1427
1417
|
[
|
|
1428
1418
|
/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
|
|
1429
1419
|
/samsung[- ]([-\w]+)/i,
|
|
1430
1420
|
/sec-(sgh\w+)/i
|
|
1431
1421
|
],
|
|
1432
|
-
[
|
|
1422
|
+
[d, [u, Te], [l, m]],
|
|
1433
1423
|
[
|
|
1434
1424
|
// Apple
|
|
1435
1425
|
/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i
|
|
1436
1426
|
// iPod/iPhone
|
|
1437
1427
|
],
|
|
1438
|
-
[
|
|
1428
|
+
[d, [u, pe], [l, m]],
|
|
1439
1429
|
[
|
|
1440
1430
|
/\((ipad);[-\w\),; ]+apple/i,
|
|
1441
1431
|
// iPad
|
|
1442
1432
|
/applecoremedia\/[\w\.]+ \((ipad)/i,
|
|
1443
1433
|
/\b(ipad)\d\d?,\d\d?[;\]].+ios/i
|
|
1444
1434
|
],
|
|
1445
|
-
[
|
|
1435
|
+
[d, [u, pe], [l, b]],
|
|
1446
1436
|
[
|
|
1447
1437
|
/(macintosh);/i
|
|
1448
1438
|
],
|
|
1449
|
-
[
|
|
1439
|
+
[d, [u, pe]],
|
|
1450
1440
|
[
|
|
1451
1441
|
// Sharp
|
|
1452
1442
|
/\b(sh-?[altvz]?\d\d[a-ekm]?)/i
|
|
1453
1443
|
],
|
|
1454
|
-
[
|
|
1444
|
+
[d, [u, mt], [l, m]],
|
|
1455
1445
|
[
|
|
1456
1446
|
// Huawei
|
|
1457
1447
|
/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i
|
|
1458
1448
|
],
|
|
1459
|
-
[
|
|
1449
|
+
[d, [u, pt], [l, b]],
|
|
1460
1450
|
[
|
|
1461
1451
|
/(?:huawei|honor)([-\w ]+)[;\)]/i,
|
|
1462
1452
|
/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i
|
|
1463
1453
|
],
|
|
1464
|
-
[
|
|
1454
|
+
[d, [u, pt], [l, m]],
|
|
1465
1455
|
[
|
|
1466
1456
|
// Xiaomi
|
|
1467
1457
|
/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,
|
|
@@ -1477,92 +1467,92 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
1477
1467
|
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i
|
|
1478
1468
|
// Xiaomi Mi
|
|
1479
1469
|
],
|
|
1480
|
-
[[
|
|
1470
|
+
[[d, /_/g, " "], [u, We], [l, m]],
|
|
1481
1471
|
[
|
|
1482
1472
|
/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,
|
|
1483
1473
|
// Redmi Pad
|
|
1484
1474
|
/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i
|
|
1485
1475
|
// Mi Pad tablets
|
|
1486
1476
|
],
|
|
1487
|
-
[[
|
|
1477
|
+
[[d, /_/g, " "], [u, We], [l, b]],
|
|
1488
1478
|
[
|
|
1489
1479
|
// OPPO
|
|
1490
1480
|
/; (\w+) bui.+ oppo/i,
|
|
1491
1481
|
/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
|
|
1492
1482
|
],
|
|
1493
|
-
[
|
|
1483
|
+
[d, [u, "OPPO"], [l, m]],
|
|
1494
1484
|
[
|
|
1495
1485
|
// Vivo
|
|
1496
1486
|
/vivo (\w+)(?: bui|\))/i,
|
|
1497
1487
|
/\b(v[12]\d{3}\w?[at])(?: bui|;)/i
|
|
1498
1488
|
],
|
|
1499
|
-
[
|
|
1489
|
+
[d, [u, "Vivo"], [l, m]],
|
|
1500
1490
|
[
|
|
1501
1491
|
// Realme
|
|
1502
1492
|
/\b(rmx[1-3]\d{3})(?: bui|;|\))/i
|
|
1503
1493
|
],
|
|
1504
|
-
[
|
|
1494
|
+
[d, [u, "Realme"], [l, m]],
|
|
1505
1495
|
[
|
|
1506
1496
|
// Motorola
|
|
1507
1497
|
/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
|
|
1508
1498
|
/\bmot(?:orola)?[- ](\w*)/i,
|
|
1509
1499
|
/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i
|
|
1510
1500
|
],
|
|
1511
|
-
[
|
|
1501
|
+
[d, [u, wt], [l, m]],
|
|
1512
1502
|
[
|
|
1513
1503
|
/\b(mz60\d|xoom[2 ]{0,2}) build\//i
|
|
1514
1504
|
],
|
|
1515
|
-
[
|
|
1505
|
+
[d, [u, wt], [l, b]],
|
|
1516
1506
|
[
|
|
1517
1507
|
// LG
|
|
1518
1508
|
/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
|
|
1519
1509
|
],
|
|
1520
|
-
[
|
|
1510
|
+
[d, [u, qe], [l, b]],
|
|
1521
1511
|
[
|
|
1522
1512
|
/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
|
|
1523
1513
|
/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,
|
|
1524
1514
|
/\blg-?([\d\w]+) bui/i
|
|
1525
1515
|
],
|
|
1526
|
-
[
|
|
1516
|
+
[d, [u, qe], [l, m]],
|
|
1527
1517
|
[
|
|
1528
1518
|
// Lenovo
|
|
1529
1519
|
/(ideatab[-\w ]+)/i,
|
|
1530
1520
|
/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i
|
|
1531
1521
|
],
|
|
1532
|
-
[
|
|
1522
|
+
[d, [u, gt], [l, b]],
|
|
1533
1523
|
[
|
|
1534
1524
|
// Nokia
|
|
1535
1525
|
/(?:maemo|nokia).*(n900|lumia \d+)/i,
|
|
1536
1526
|
/nokia[-_ ]?([-\w\.]*)/i
|
|
1537
1527
|
],
|
|
1538
|
-
[[
|
|
1528
|
+
[[d, /_/g, " "], [u, "Nokia"], [l, m]],
|
|
1539
1529
|
[
|
|
1540
1530
|
// Google
|
|
1541
1531
|
/(pixel c)\b/i
|
|
1542
1532
|
// Google Pixel C
|
|
1543
1533
|
],
|
|
1544
|
-
[
|
|
1534
|
+
[d, [u, Ie], [l, b]],
|
|
1545
1535
|
[
|
|
1546
1536
|
/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i
|
|
1547
1537
|
// Google Pixel
|
|
1548
1538
|
],
|
|
1549
|
-
[
|
|
1539
|
+
[d, [u, Ie], [l, m]],
|
|
1550
1540
|
[
|
|
1551
1541
|
// Sony
|
|
1552
1542
|
/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
|
|
1553
1543
|
],
|
|
1554
|
-
[
|
|
1544
|
+
[d, [u, Ae], [l, m]],
|
|
1555
1545
|
[
|
|
1556
1546
|
/sony tablet [ps]/i,
|
|
1557
1547
|
/\b(?:sony)?sgp\w+(?: bui|\))/i
|
|
1558
1548
|
],
|
|
1559
|
-
[[
|
|
1549
|
+
[[d, "Xperia Tablet"], [u, Ae], [l, b]],
|
|
1560
1550
|
[
|
|
1561
1551
|
// OnePlus
|
|
1562
1552
|
/ (kb2005|in20[12]5|be20[12][59])\b/i,
|
|
1563
1553
|
/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
|
|
1564
1554
|
],
|
|
1565
|
-
[
|
|
1555
|
+
[d, [u, "OnePlus"], [l, m]],
|
|
1566
1556
|
[
|
|
1567
1557
|
// Amazon
|
|
1568
1558
|
/(alexa)webm/i,
|
|
@@ -1571,39 +1561,39 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
1571
1561
|
/(kf[a-z]+)( bui|\)).+silk\//i
|
|
1572
1562
|
// Kindle Fire HD
|
|
1573
1563
|
],
|
|
1574
|
-
[
|
|
1564
|
+
[d, [u, Ce], [l, b]],
|
|
1575
1565
|
[
|
|
1576
1566
|
/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
|
|
1577
1567
|
// Fire Phone
|
|
1578
1568
|
],
|
|
1579
|
-
[[
|
|
1569
|
+
[[d, /(.+)/g, "Fire Phone $1"], [u, Ce], [l, m]],
|
|
1580
1570
|
[
|
|
1581
1571
|
// BlackBerry
|
|
1582
1572
|
/(playbook);[-\w\),; ]+(rim)/i
|
|
1583
1573
|
// BlackBerry PlayBook
|
|
1584
1574
|
],
|
|
1585
|
-
[
|
|
1575
|
+
[d, u, [l, b]],
|
|
1586
1576
|
[
|
|
1587
1577
|
/\b((?:bb[a-f]|st[hv])100-\d)/i,
|
|
1588
1578
|
/\(bb10; (\w+)/i
|
|
1589
1579
|
// BlackBerry 10
|
|
1590
1580
|
],
|
|
1591
|
-
[
|
|
1581
|
+
[d, [u, ht], [l, m]],
|
|
1592
1582
|
[
|
|
1593
1583
|
// Asus
|
|
1594
1584
|
/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
|
|
1595
1585
|
],
|
|
1596
|
-
[
|
|
1586
|
+
[d, [u, ut], [l, b]],
|
|
1597
1587
|
[
|
|
1598
1588
|
/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
|
|
1599
1589
|
],
|
|
1600
|
-
[
|
|
1590
|
+
[d, [u, ut], [l, m]],
|
|
1601
1591
|
[
|
|
1602
1592
|
// HTC
|
|
1603
1593
|
/(nexus 9)/i
|
|
1604
1594
|
// HTC Nexus 9
|
|
1605
1595
|
],
|
|
1606
|
-
[
|
|
1596
|
+
[d, [u, "HTC"], [l, b]],
|
|
1607
1597
|
[
|
|
1608
1598
|
/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,
|
|
1609
1599
|
// HTC
|
|
@@ -1612,23 +1602,23 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
1612
1602
|
/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
|
|
1613
1603
|
// Alcatel/GeeksPhone/Nexian/Panasonic/Sony
|
|
1614
1604
|
],
|
|
1615
|
-
[u, [
|
|
1605
|
+
[u, [d, /_/g, " "], [l, m]],
|
|
1616
1606
|
[
|
|
1617
1607
|
// Acer
|
|
1618
1608
|
/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
|
|
1619
1609
|
],
|
|
1620
|
-
[
|
|
1610
|
+
[d, [u, "Acer"], [l, b]],
|
|
1621
1611
|
[
|
|
1622
1612
|
// Meizu
|
|
1623
1613
|
/droid.+; (m[1-5] note) bui/i,
|
|
1624
1614
|
/\bmz-([-\w]{2,})/i
|
|
1625
1615
|
],
|
|
1626
|
-
[
|
|
1616
|
+
[d, [u, "Meizu"], [l, m]],
|
|
1627
1617
|
[
|
|
1628
1618
|
// Ulefone
|
|
1629
1619
|
/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i
|
|
1630
1620
|
],
|
|
1631
|
-
[
|
|
1621
|
+
[d, [u, "Ulefone"], [l, m]],
|
|
1632
1622
|
[
|
|
1633
1623
|
// MIXED
|
|
1634
1624
|
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,
|
|
@@ -1646,7 +1636,7 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
1646
1636
|
/(oppo) ?([\w ]+) bui/i
|
|
1647
1637
|
// OPPO
|
|
1648
1638
|
],
|
|
1649
|
-
[u,
|
|
1639
|
+
[u, d, [l, m]],
|
|
1650
1640
|
[
|
|
1651
1641
|
/(kobo)\s(ereader|touch)/i,
|
|
1652
1642
|
// Kobo
|
|
@@ -1657,41 +1647,41 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
1657
1647
|
/(kindle)\/([\w\.]+)/i
|
|
1658
1648
|
// Kindle
|
|
1659
1649
|
],
|
|
1660
|
-
[u,
|
|
1650
|
+
[u, d, [l, b]],
|
|
1661
1651
|
[
|
|
1662
1652
|
/(surface duo)/i
|
|
1663
1653
|
// Surface Duo
|
|
1664
1654
|
],
|
|
1665
|
-
[
|
|
1655
|
+
[d, [u, Ue], [l, b]],
|
|
1666
1656
|
[
|
|
1667
1657
|
/droid [\d\.]+; (fp\du?)(?: b|\))/i
|
|
1668
1658
|
// Fairphone
|
|
1669
1659
|
],
|
|
1670
|
-
[
|
|
1660
|
+
[d, [u, "Fairphone"], [l, m]],
|
|
1671
1661
|
[
|
|
1672
1662
|
/(shield[\w ]+) b/i
|
|
1673
1663
|
// Nvidia Shield Tablets
|
|
1674
1664
|
],
|
|
1675
|
-
[
|
|
1665
|
+
[d, [u, "Nvidia"], [l, b]],
|
|
1676
1666
|
[
|
|
1677
1667
|
/(sprint) (\w+)/i
|
|
1678
1668
|
// Sprint Phones
|
|
1679
1669
|
],
|
|
1680
|
-
[u,
|
|
1670
|
+
[u, d, [l, m]],
|
|
1681
1671
|
[
|
|
1682
1672
|
/(kin\.[onetw]{3})/i
|
|
1683
1673
|
// Microsoft Kin
|
|
1684
1674
|
],
|
|
1685
|
-
[[
|
|
1675
|
+
[[d, /\./g, " "], [u, Ue], [l, m]],
|
|
1686
1676
|
[
|
|
1687
1677
|
/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
|
|
1688
1678
|
// Zebra
|
|
1689
1679
|
],
|
|
1690
|
-
[
|
|
1680
|
+
[d, [u, $e], [l, b]],
|
|
1691
1681
|
[
|
|
1692
1682
|
/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
|
|
1693
1683
|
],
|
|
1694
|
-
[
|
|
1684
|
+
[d, [u, $e], [l, m]],
|
|
1695
1685
|
[
|
|
1696
1686
|
///////////////////
|
|
1697
1687
|
// SMARTTVS
|
|
@@ -1699,64 +1689,64 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
1699
1689
|
/smart-tv.+(samsung)/i
|
|
1700
1690
|
// Samsung
|
|
1701
1691
|
],
|
|
1702
|
-
[u, [
|
|
1692
|
+
[u, [l, I]],
|
|
1703
1693
|
[
|
|
1704
1694
|
/hbbtv.+maple;(\d+)/i
|
|
1705
1695
|
],
|
|
1706
|
-
[[
|
|
1696
|
+
[[d, /^/, "SmartTV"], [u, Te], [l, I]],
|
|
1707
1697
|
[
|
|
1708
1698
|
/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
|
|
1709
1699
|
// LG SmartTV
|
|
1710
1700
|
],
|
|
1711
|
-
[[u, qe], [
|
|
1701
|
+
[[u, qe], [l, I]],
|
|
1712
1702
|
[
|
|
1713
1703
|
/(apple) ?tv/i
|
|
1714
1704
|
// Apple TV
|
|
1715
1705
|
],
|
|
1716
|
-
[u, [
|
|
1706
|
+
[u, [d, pe + " TV"], [l, I]],
|
|
1717
1707
|
[
|
|
1718
1708
|
/crkey/i
|
|
1719
1709
|
// Google Chromecast
|
|
1720
1710
|
],
|
|
1721
|
-
[[
|
|
1711
|
+
[[d, Re + "cast"], [u, Ie], [l, I]],
|
|
1722
1712
|
[
|
|
1723
1713
|
/droid.+aft(\w+)( bui|\))/i
|
|
1724
1714
|
// Fire TV
|
|
1725
1715
|
],
|
|
1726
|
-
[
|
|
1716
|
+
[d, [u, Ce], [l, I]],
|
|
1727
1717
|
[
|
|
1728
1718
|
/\(dtv[\);].+(aquos)/i,
|
|
1729
1719
|
/(aquos-tv[\w ]+)\)/i
|
|
1730
1720
|
// Sharp
|
|
1731
1721
|
],
|
|
1732
|
-
[
|
|
1722
|
+
[d, [u, mt], [l, I]],
|
|
1733
1723
|
[
|
|
1734
1724
|
/(bravia[\w ]+)( bui|\))/i
|
|
1735
1725
|
// Sony
|
|
1736
1726
|
],
|
|
1737
|
-
[
|
|
1727
|
+
[d, [u, Ae], [l, I]],
|
|
1738
1728
|
[
|
|
1739
1729
|
/(mitv-\w{5}) bui/i
|
|
1740
1730
|
// Xiaomi
|
|
1741
1731
|
],
|
|
1742
|
-
[
|
|
1732
|
+
[d, [u, We], [l, I]],
|
|
1743
1733
|
[
|
|
1744
1734
|
/Hbbtv.*(technisat) (.*);/i
|
|
1745
1735
|
// TechniSAT
|
|
1746
1736
|
],
|
|
1747
|
-
[u,
|
|
1737
|
+
[u, d, [l, I]],
|
|
1748
1738
|
[
|
|
1749
1739
|
/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,
|
|
1750
1740
|
// Roku
|
|
1751
1741
|
/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i
|
|
1752
1742
|
// HbbTV devices
|
|
1753
1743
|
],
|
|
1754
|
-
[[u, be], [
|
|
1744
|
+
[[u, be], [d, be], [l, I]],
|
|
1755
1745
|
[
|
|
1756
1746
|
/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i
|
|
1757
1747
|
// SmartTV from Unidentified Vendors
|
|
1758
1748
|
],
|
|
1759
|
-
[[
|
|
1749
|
+
[[l, I]],
|
|
1760
1750
|
[
|
|
1761
1751
|
///////////////////
|
|
1762
1752
|
// CONSOLES
|
|
@@ -1766,22 +1756,22 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
1766
1756
|
/(nintendo) (\w+)/i
|
|
1767
1757
|
// Nintendo
|
|
1768
1758
|
],
|
|
1769
|
-
[u,
|
|
1759
|
+
[u, d, [l, K]],
|
|
1770
1760
|
[
|
|
1771
1761
|
/droid.+; (shield) bui/i
|
|
1772
1762
|
// Nvidia
|
|
1773
1763
|
],
|
|
1774
|
-
[
|
|
1764
|
+
[d, [u, "Nvidia"], [l, K]],
|
|
1775
1765
|
[
|
|
1776
1766
|
/(playstation \w+)/i
|
|
1777
1767
|
// Playstation
|
|
1778
1768
|
],
|
|
1779
|
-
[
|
|
1769
|
+
[d, [u, Ae], [l, K]],
|
|
1780
1770
|
[
|
|
1781
1771
|
/\b(xbox(?: one)?(?!; xbox))[\); ]/i
|
|
1782
1772
|
// Microsoft Xbox
|
|
1783
1773
|
],
|
|
1784
|
-
[
|
|
1774
|
+
[d, [u, Ue], [l, K]],
|
|
1785
1775
|
[
|
|
1786
1776
|
///////////////////
|
|
1787
1777
|
// WEARABLES
|
|
@@ -1789,26 +1779,26 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
1789
1779
|
/((pebble))app/i
|
|
1790
1780
|
// Pebble
|
|
1791
1781
|
],
|
|
1792
|
-
[u,
|
|
1782
|
+
[u, d, [l, X]],
|
|
1793
1783
|
[
|
|
1794
1784
|
/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
|
|
1795
1785
|
// Apple Watch
|
|
1796
1786
|
],
|
|
1797
|
-
[
|
|
1787
|
+
[d, [u, pe], [l, X]],
|
|
1798
1788
|
[
|
|
1799
1789
|
/droid.+; (glass) \d/i
|
|
1800
1790
|
// Google Glass
|
|
1801
1791
|
],
|
|
1802
|
-
[
|
|
1792
|
+
[d, [u, Ie], [l, X]],
|
|
1803
1793
|
[
|
|
1804
1794
|
/droid.+; (wt63?0{2,3})\)/i
|
|
1805
1795
|
],
|
|
1806
|
-
[
|
|
1796
|
+
[d, [u, $e], [l, X]],
|
|
1807
1797
|
[
|
|
1808
1798
|
/(quest( 2| pro)?)/i
|
|
1809
1799
|
// Oculus Quest
|
|
1810
1800
|
],
|
|
1811
|
-
[
|
|
1801
|
+
[d, [u, ft], [l, X]],
|
|
1812
1802
|
[
|
|
1813
1803
|
///////////////////
|
|
1814
1804
|
// EMBEDDED
|
|
@@ -1816,12 +1806,12 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
1816
1806
|
/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i
|
|
1817
1807
|
// Tesla
|
|
1818
1808
|
],
|
|
1819
|
-
[u, [
|
|
1809
|
+
[u, [l, Ye]],
|
|
1820
1810
|
[
|
|
1821
1811
|
/(aeobc)\b/i
|
|
1822
1812
|
// Echo Dot
|
|
1823
1813
|
],
|
|
1824
|
-
[
|
|
1814
|
+
[d, [u, Ce], [l, Ye]],
|
|
1825
1815
|
[
|
|
1826
1816
|
////////////////////
|
|
1827
1817
|
// MIXED (GENERIC)
|
|
@@ -1829,34 +1819,34 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
1829
1819
|
/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i
|
|
1830
1820
|
// Android Phones from Unidentified Vendors
|
|
1831
1821
|
],
|
|
1832
|
-
[
|
|
1822
|
+
[d, [l, m]],
|
|
1833
1823
|
[
|
|
1834
1824
|
/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i
|
|
1835
1825
|
// Android Tablets from Unidentified Vendors
|
|
1836
1826
|
],
|
|
1837
|
-
[
|
|
1827
|
+
[d, [l, b]],
|
|
1838
1828
|
[
|
|
1839
1829
|
/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i
|
|
1840
1830
|
// Unidentifiable Tablet
|
|
1841
1831
|
],
|
|
1842
|
-
[[
|
|
1832
|
+
[[l, b]],
|
|
1843
1833
|
[
|
|
1844
1834
|
/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i
|
|
1845
1835
|
// Unidentifiable Mobile
|
|
1846
1836
|
],
|
|
1847
|
-
[[
|
|
1837
|
+
[[l, m]],
|
|
1848
1838
|
[
|
|
1849
1839
|
/(android[-\w\. ]{0,9});.+buil/i
|
|
1850
1840
|
// Generic Android Device
|
|
1851
1841
|
],
|
|
1852
|
-
[
|
|
1842
|
+
[d, [u, "Generic"]]
|
|
1853
1843
|
],
|
|
1854
1844
|
engine: [
|
|
1855
1845
|
[
|
|
1856
1846
|
/windows.+ edge\/([\w\.]+)/i
|
|
1857
1847
|
// EdgeHTML
|
|
1858
1848
|
],
|
|
1859
|
-
[r, [o,
|
|
1849
|
+
[r, [o, pi + "HTML"]],
|
|
1860
1850
|
[
|
|
1861
1851
|
/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
|
|
1862
1852
|
// Blink
|
|
@@ -2023,7 +2013,7 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
2023
2013
|
return _.call(i.init, [
|
|
2024
2014
|
[T, [o, r, fe]],
|
|
2025
2015
|
[O, [M]],
|
|
2026
|
-
[P, [
|
|
2016
|
+
[P, [l, d, u]],
|
|
2027
2017
|
[L, [o, r]],
|
|
2028
2018
|
[R, [o, r]]
|
|
2029
2019
|
]), _.call(i.isIgnore, [
|
|
@@ -2036,20 +2026,20 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
2036
2026
|
]), _.call(i.toString, [
|
|
2037
2027
|
[T, [o, r]],
|
|
2038
2028
|
[O, [M]],
|
|
2039
|
-
[P, [u,
|
|
2029
|
+
[P, [u, d]],
|
|
2040
2030
|
[L, [o, r]],
|
|
2041
2031
|
[R, [o, r]]
|
|
2042
2032
|
]), i;
|
|
2043
|
-
}(),
|
|
2044
|
-
var e = Pe.init[t], s = Pe.isIgnore[t] || 0, n = Pe.isIgnoreRgx[t] || 0,
|
|
2033
|
+
}(), mi = function(i, t) {
|
|
2034
|
+
var e = Pe.init[t], s = Pe.isIgnore[t] || 0, n = Pe.isIgnoreRgx[t] || 0, c = Pe.toString[t] || 0;
|
|
2045
2035
|
function a() {
|
|
2046
2036
|
_.call(this, e);
|
|
2047
2037
|
}
|
|
2048
2038
|
return a.prototype.getItem = function() {
|
|
2049
2039
|
return i;
|
|
2050
2040
|
}, a.prototype.withClientHints = function() {
|
|
2051
|
-
return G ? G.getHighEntropyValues(
|
|
2052
|
-
return i.setCH(new
|
|
2041
|
+
return G ? G.getHighEntropyValues(Lt).then(function(h) {
|
|
2042
|
+
return i.setCH(new _t(h, !1)).parseCH().get();
|
|
2053
2043
|
}) : i.parseCH().get();
|
|
2054
2044
|
}, a.prototype.withFeatureCheck = function() {
|
|
2055
2045
|
return i.detectFeature().get();
|
|
@@ -2066,8 +2056,8 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
2066
2056
|
return p;
|
|
2067
2057
|
}, a.prototype.toString = function() {
|
|
2068
2058
|
var h = re;
|
|
2069
|
-
for (var p in
|
|
2070
|
-
typeof this[
|
|
2059
|
+
for (var p in c)
|
|
2060
|
+
typeof this[c[p]] !== H && (h += (h ? " " : re) + this[c[p]]);
|
|
2071
2061
|
return h || H;
|
|
2072
2062
|
}), G || (a.prototype.then = function(h) {
|
|
2073
2063
|
var p = this, g = function() {
|
|
@@ -2082,18 +2072,18 @@ var oi = "2.0.0-beta.2", re = "", dt = "?", Ke = "function", H = "undefined", ce
|
|
|
2082
2072
|
return h(f), f;
|
|
2083
2073
|
}), new a();
|
|
2084
2074
|
};
|
|
2085
|
-
function
|
|
2086
|
-
if (i = i || {}, _.call(this,
|
|
2075
|
+
function _t(i, t) {
|
|
2076
|
+
if (i = i || {}, _.call(this, Lt), t)
|
|
2087
2077
|
_.call(this, [
|
|
2088
2078
|
[it, je(i[V])],
|
|
2089
|
-
[st, je(i[
|
|
2090
|
-
[m, /\?1/.test(i[
|
|
2091
|
-
[
|
|
2092
|
-
[J, me(i[
|
|
2093
|
-
[nt, me(i[
|
|
2094
|
-
[M, me(i[
|
|
2095
|
-
[q, je(i[
|
|
2096
|
-
[De, me(i[
|
|
2079
|
+
[st, je(i[oi])],
|
|
2080
|
+
[m, /\?1/.test(i[li])],
|
|
2081
|
+
[d, me(i[ui])],
|
|
2082
|
+
[J, me(i[Ot])],
|
|
2083
|
+
[nt, me(i[hi])],
|
|
2084
|
+
[M, me(i[ri])],
|
|
2085
|
+
[q, je(i[di])],
|
|
2086
|
+
[De, me(i[ci])]
|
|
2097
2087
|
]);
|
|
2098
2088
|
else
|
|
2099
2089
|
for (var e in i)
|
|
@@ -2102,8 +2092,8 @@ function Lt(i, t) {
|
|
|
2102
2092
|
function Mt(i, t, e, s) {
|
|
2103
2093
|
return this.get = function(n) {
|
|
2104
2094
|
return n ? this.data.hasOwnProperty(n) ? this.data[n] : void 0 : this.data;
|
|
2105
|
-
}, this.set = function(n,
|
|
2106
|
-
return this.data[n] =
|
|
2095
|
+
}, this.set = function(n, c) {
|
|
2096
|
+
return this.data[n] = c, this;
|
|
2107
2097
|
}, this.setCH = function(n) {
|
|
2108
2098
|
return this.uaCH = n, this;
|
|
2109
2099
|
}, this.detectFeature = function() {
|
|
@@ -2113,22 +2103,22 @@ function Mt(i, t, e, s) {
|
|
|
2113
2103
|
C.brave && typeof C.brave.isBrave == Ke && this.set(o, "Brave");
|
|
2114
2104
|
break;
|
|
2115
2105
|
case P:
|
|
2116
|
-
!this.get(
|
|
2106
|
+
!this.get(l) && G && G[m] && this.set(l, m), this.get(d) == "Macintosh" && C && typeof C.standalone !== H && C.maxTouchPoints && C.maxTouchPoints > 2 && this.set(d, "iPad").set(l, b);
|
|
2117
2107
|
break;
|
|
2118
2108
|
case R:
|
|
2119
2109
|
!this.get(o) && G && G[J] && this.set(o, G[J]);
|
|
2120
2110
|
break;
|
|
2121
2111
|
case Y:
|
|
2122
|
-
var n = this.data,
|
|
2112
|
+
var n = this.data, c = function(a) {
|
|
2123
2113
|
return n[a].getItem().detectFeature().get();
|
|
2124
2114
|
};
|
|
2125
|
-
this.set(T,
|
|
2115
|
+
this.set(T, c(T)).set(O, c(O)).set(P, c(P)).set(L, c(L)).set(R, c(R));
|
|
2126
2116
|
}
|
|
2127
2117
|
return this;
|
|
2128
2118
|
}, this.parseUA = function() {
|
|
2129
2119
|
return this.itemType != Y && Et.call(this.data, this.ua, this.rgxMap), this.itemType == T && this.set(fe, Qe(this.get(r))), this;
|
|
2130
2120
|
}, this.parseCH = function() {
|
|
2131
|
-
var n = this.uaCH,
|
|
2121
|
+
var n = this.uaCH, c = this.rgxMap;
|
|
2132
2122
|
switch (this.itemType) {
|
|
2133
2123
|
case T:
|
|
2134
2124
|
var a = n[st] || n[it], h;
|
|
@@ -2140,30 +2130,30 @@ function Mt(i, t, e, s) {
|
|
|
2140
2130
|
break;
|
|
2141
2131
|
case O:
|
|
2142
2132
|
var A = n[M];
|
|
2143
|
-
A && (A && n[De] == "64" && (A += "64"), Et.call(this.data, A + ";",
|
|
2133
|
+
A && (A && n[De] == "64" && (A += "64"), Et.call(this.data, A + ";", c));
|
|
2144
2134
|
break;
|
|
2145
2135
|
case P:
|
|
2146
|
-
if (n[m] && this.set(
|
|
2136
|
+
if (n[m] && this.set(l, m), n[d] && this.set(d, n[d]), n[d] == "Xbox" && this.set(l, K).set(u, Ue), n[q]) {
|
|
2147
2137
|
var D;
|
|
2148
2138
|
if (typeof n[q] != "string")
|
|
2149
2139
|
for (var B = 0; !D && B < n[q].length; )
|
|
2150
2140
|
D = Oe(n[q][B++], kt);
|
|
2151
2141
|
else
|
|
2152
2142
|
D = Oe(n[q], kt);
|
|
2153
|
-
this.set(
|
|
2143
|
+
this.set(l, D);
|
|
2154
2144
|
}
|
|
2155
2145
|
break;
|
|
2156
2146
|
case R:
|
|
2157
2147
|
var le = n[J];
|
|
2158
2148
|
if (le) {
|
|
2159
|
-
var
|
|
2160
|
-
le == et && (
|
|
2149
|
+
var U = n[nt];
|
|
2150
|
+
le == et && (U = parseInt(Qe(U), 10) >= 13 ? "11" : "10"), this.set(o, le).set(r, U);
|
|
2161
2151
|
}
|
|
2162
|
-
this.get(o) == et && n[
|
|
2152
|
+
this.get(o) == et && n[d] == "Xbox" && this.set(o, "Xbox").set(r, void 0);
|
|
2163
2153
|
break;
|
|
2164
2154
|
case Y:
|
|
2165
|
-
var
|
|
2166
|
-
return
|
|
2155
|
+
var Dt = this.data, ue = function(Bt) {
|
|
2156
|
+
return Dt[Bt].getItem().setCH(n).parseCH().get();
|
|
2167
2157
|
};
|
|
2168
2158
|
this.set(T, ue(T)).set(O, ue(O)).set(P, ue(P)).set(L, ue(L)).set(R, ue(R));
|
|
2169
2159
|
}
|
|
@@ -2173,7 +2163,7 @@ function Mt(i, t, e, s) {
|
|
|
2173
2163
|
["ua", t],
|
|
2174
2164
|
["uaCH", s],
|
|
2175
2165
|
["rgxMap", e],
|
|
2176
|
-
["data",
|
|
2166
|
+
["data", mi(this, i)]
|
|
2177
2167
|
]), this;
|
|
2178
2168
|
}
|
|
2179
2169
|
function F(i, t, e) {
|
|
@@ -2188,11 +2178,11 @@ function F(i, t, e) {
|
|
|
2188
2178
|
re
|
|
2189
2179
|
)
|
|
2190
2180
|
)
|
|
2191
|
-
), n = new
|
|
2181
|
+
), n = new _t(e, !0), c = t ? wi(St, t) : St, a = function(h) {
|
|
2192
2182
|
return h == Y ? function() {
|
|
2193
|
-
return new Mt(h, s,
|
|
2183
|
+
return new Mt(h, s, c, n).set("ua", s).set(T, this.getBrowser()).set(O, this.getCPU()).set(P, this.getDevice()).set(L, this.getEngine()).set(R, this.getOS()).get();
|
|
2194
2184
|
} : function() {
|
|
2195
|
-
return new Mt(h, s,
|
|
2185
|
+
return new Mt(h, s, c[h], n).parseUA().get();
|
|
2196
2186
|
};
|
|
2197
2187
|
};
|
|
2198
2188
|
return _.call(this, [
|
|
@@ -2210,12 +2200,12 @@ function F(i, t, e) {
|
|
|
2210
2200
|
}]
|
|
2211
2201
|
]).setUA(s), this;
|
|
2212
2202
|
}
|
|
2213
|
-
F.VERSION =
|
|
2203
|
+
F.VERSION = ai;
|
|
2214
2204
|
F.BROWSER = Be([o, r, fe]);
|
|
2215
2205
|
F.CPU = Be([M]);
|
|
2216
|
-
F.DEVICE = Be([
|
|
2206
|
+
F.DEVICE = Be([d, u, l, K, m, I, b, X, Ye]);
|
|
2217
2207
|
F.ENGINE = F.OS = Be([o, r]);
|
|
2218
|
-
class
|
|
2208
|
+
class fi {
|
|
2219
2209
|
constructor(t, e) {
|
|
2220
2210
|
w(this, "trackers");
|
|
2221
2211
|
w(this, "config");
|
|
@@ -2234,8 +2224,8 @@ class bi {
|
|
|
2234
2224
|
function Ct(i) {
|
|
2235
2225
|
return i.reduce((t, e) => t + e, 0);
|
|
2236
2226
|
}
|
|
2237
|
-
function
|
|
2238
|
-
const t = i.length, e = Ct(i) / t, s = i.map((
|
|
2227
|
+
function bi(i) {
|
|
2228
|
+
const t = i.length, e = Ct(i) / t, s = i.map((c) => Math.pow(c - e, 2)), n = Ct(s) / t;
|
|
2239
2229
|
return Math.sqrt(n);
|
|
2240
2230
|
}
|
|
2241
2231
|
class It {
|
|
@@ -2246,11 +2236,11 @@ class It {
|
|
|
2246
2236
|
w(this, "frames", []);
|
|
2247
2237
|
w(this, "calculateFPS", () => {
|
|
2248
2238
|
const t = Math.floor((this.stopTime - this.startTime) / 1e3);
|
|
2249
|
-
return this.frames.map((e) => Math.floor((e - this.startTime) / 1e3)).reduce((e, s, n,
|
|
2239
|
+
return this.frames.map((e) => Math.floor((e - this.startTime) / 1e3)).reduce((e, s, n, c) => (c[n] !== c[n - 1] ? e.push(1) : e[e.length - 1]++, e), []).slice(0, t);
|
|
2250
2240
|
});
|
|
2251
2241
|
w(this, "getReport", () => {
|
|
2252
|
-
const t = this.calculateFPS(), e = Math.floor(this.frames.length / ((this.stopTime - this.startTime) / 1e3)), s = t.length > 0 ? Math.max(...t) : e, n = t.length > 0 ? Math.min(...t) : e,
|
|
2253
|
-
return { fpsAvg: e, fpsMax: s, fpsMin: n, fpsStdDev:
|
|
2242
|
+
const t = this.calculateFPS(), e = Math.floor(this.frames.length / ((this.stopTime - this.startTime) / 1e3)), s = t.length > 0 ? Math.max(...t) : e, n = t.length > 0 ? Math.min(...t) : e, c = t.length > 0 ? bi(t) : 0;
|
|
2243
|
+
return { fpsAvg: e, fpsMax: s, fpsMin: n, fpsStdDev: c };
|
|
2254
2244
|
});
|
|
2255
2245
|
w(this, "start", () => {
|
|
2256
2246
|
this.startTime = Date.now(), this.trackFrames();
|
|
@@ -2263,8 +2253,8 @@ class It {
|
|
|
2263
2253
|
});
|
|
2264
2254
|
}
|
|
2265
2255
|
}
|
|
2266
|
-
const
|
|
2267
|
-
function
|
|
2256
|
+
const yi = "landscape", Ei = "portrait";
|
|
2257
|
+
function vi() {
|
|
2268
2258
|
try {
|
|
2269
2259
|
const i = document.createElement("canvas");
|
|
2270
2260
|
return !!window.WebGLRenderingContext && (i.getContext("webgl") || i.getContext("experimental-webgl")) instanceof WebGLRenderingContext;
|
|
@@ -2272,7 +2262,7 @@ function ki() {
|
|
|
2272
2262
|
return !1;
|
|
2273
2263
|
}
|
|
2274
2264
|
}
|
|
2275
|
-
async function
|
|
2265
|
+
async function ki() {
|
|
2276
2266
|
if (!window.createImageBitmap)
|
|
2277
2267
|
return !1;
|
|
2278
2268
|
const e = await (await fetch("data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAEAAQAcJaQAA3AA/v3AgAA=")).blob();
|
|
@@ -2283,10 +2273,10 @@ async function Si() {
|
|
|
2283
2273
|
}
|
|
2284
2274
|
}
|
|
2285
2275
|
function Xe() {
|
|
2286
|
-
return window.innerWidth >= window.innerHeight ?
|
|
2276
|
+
return window.innerWidth >= window.innerHeight ? yi : Ei;
|
|
2287
2277
|
}
|
|
2288
2278
|
var Le, ee, te, ie, ve, _e, ke, Fe;
|
|
2289
|
-
class
|
|
2279
|
+
class Bi extends fi {
|
|
2290
2280
|
constructor(...e) {
|
|
2291
2281
|
super(...e);
|
|
2292
2282
|
w(this, "FPS_SAMPLE_INTERVAL", 1e4);
|
|
@@ -2348,13 +2338,13 @@ class Gi extends bi {
|
|
|
2348
2338
|
// testVariants: '',
|
|
2349
2339
|
}), this.track("Game Open", y(this, te));
|
|
2350
2340
|
}), this.on("playCycleEnd", async (e) => {
|
|
2351
|
-
const s = await y(this, ie), { baseBet: n, betMultiplier:
|
|
2341
|
+
const s = await y(this, ie), { baseBet: n, betMultiplier: c, specialAction: a } = e.data.gameState.lastPlacedMainGameBet ?? {}, h = e.balance, p = e.data.gameState.totalBetFromCurrentGameCycle, g = e.data.gameState.totalWinFromCurrentGameCycle, f = g - p, A = a || "spin", D = e.data.gameState.cycleId;
|
|
2352
2342
|
this.track("Betting Activity", {
|
|
2353
2343
|
balance: h - f,
|
|
2354
2344
|
balanceAfter: h,
|
|
2355
2345
|
baseBet: n,
|
|
2356
2346
|
// baseBetIndex,
|
|
2357
|
-
betMultiplier:
|
|
2347
|
+
betMultiplier: c,
|
|
2358
2348
|
betType: A,
|
|
2359
2349
|
gameVersion: y(this, ee),
|
|
2360
2350
|
coinValueInCents: this.config.api.coinValueInCents,
|
|
@@ -2394,8 +2384,8 @@ class Gi extends bi {
|
|
|
2394
2384
|
reportFpsSample() {
|
|
2395
2385
|
const e = new It(), s = () => {
|
|
2396
2386
|
e.stop();
|
|
2397
|
-
const
|
|
2398
|
-
this.track("FPS Performance", { ...
|
|
2387
|
+
const c = e.getReport();
|
|
2388
|
+
this.track("FPS Performance", { ...c, fpsType: "sample" }), n();
|
|
2399
2389
|
}, n = async () => {
|
|
2400
2390
|
e.start(), setTimeout(s, this.FPS_SAMPLE_INTERVAL);
|
|
2401
2391
|
};
|
|
@@ -2419,10 +2409,10 @@ class Gi extends bi {
|
|
|
2419
2409
|
}
|
|
2420
2410
|
async deviceInfo() {
|
|
2421
2411
|
var p;
|
|
2422
|
-
const e = new F(navigator.userAgent), s =
|
|
2412
|
+
const e = new F(navigator.userAgent), s = vi(), n = await ki(), c = e.getBrowser(), a = e.getDevice(), h = e.getOS();
|
|
2423
2413
|
return {
|
|
2424
|
-
browserName:
|
|
2425
|
-
browserVersion:
|
|
2414
|
+
browserName: c.name,
|
|
2415
|
+
browserVersion: c.version,
|
|
2426
2416
|
connection: (p = navigator.connection) == null ? void 0 : p.effectiveType,
|
|
2427
2417
|
deviceName: a.model,
|
|
2428
2418
|
deviceType: a.type,
|
|
@@ -2445,36 +2435,36 @@ class Gi extends bi {
|
|
|
2445
2435
|
}
|
|
2446
2436
|
}
|
|
2447
2437
|
Le = new WeakMap(), ee = new WeakMap(), te = new WeakMap(), ie = new WeakMap(), ve = new WeakMap(), _e = new WeakMap(), ke = new WeakMap(), Fe = new WeakMap();
|
|
2448
|
-
let
|
|
2449
|
-
const
|
|
2450
|
-
function
|
|
2451
|
-
if (!
|
|
2438
|
+
let xe;
|
|
2439
|
+
const Si = new Uint8Array(16);
|
|
2440
|
+
function Mi() {
|
|
2441
|
+
if (!xe && (xe = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !xe))
|
|
2452
2442
|
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
2453
|
-
return
|
|
2443
|
+
return xe(Si);
|
|
2454
2444
|
}
|
|
2455
2445
|
const S = [];
|
|
2456
2446
|
for (let i = 0; i < 256; ++i)
|
|
2457
2447
|
S.push((i + 256).toString(16).slice(1));
|
|
2458
|
-
function
|
|
2448
|
+
function Ci(i, t = 0) {
|
|
2459
2449
|
return S[i[t + 0]] + S[i[t + 1]] + S[i[t + 2]] + S[i[t + 3]] + "-" + S[i[t + 4]] + S[i[t + 5]] + "-" + S[i[t + 6]] + S[i[t + 7]] + "-" + S[i[t + 8]] + S[i[t + 9]] + "-" + S[i[t + 10]] + S[i[t + 11]] + S[i[t + 12]] + S[i[t + 13]] + S[i[t + 14]] + S[i[t + 15]];
|
|
2460
2450
|
}
|
|
2461
|
-
const
|
|
2462
|
-
randomUUID:
|
|
2451
|
+
const Ii = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), Tt = {
|
|
2452
|
+
randomUUID: Ii
|
|
2463
2453
|
};
|
|
2464
2454
|
function At(i, t, e) {
|
|
2465
2455
|
if (Tt.randomUUID && !t && !i)
|
|
2466
2456
|
return Tt.randomUUID();
|
|
2467
2457
|
i = i || {};
|
|
2468
|
-
const s = i.random || (i.rng ||
|
|
2458
|
+
const s = i.random || (i.rng || Mi)();
|
|
2469
2459
|
if (s[6] = s[6] & 15 | 64, s[8] = s[8] & 63 | 128, t) {
|
|
2470
2460
|
e = e || 0;
|
|
2471
2461
|
for (let n = 0; n < 16; ++n)
|
|
2472
2462
|
t[e + n] = s[n];
|
|
2473
2463
|
return t;
|
|
2474
2464
|
}
|
|
2475
|
-
return
|
|
2465
|
+
return Ci(s);
|
|
2476
2466
|
}
|
|
2477
|
-
class
|
|
2467
|
+
class Ft {
|
|
2478
2468
|
constructor(t) {
|
|
2479
2469
|
w(this, "config");
|
|
2480
2470
|
this.config = t;
|
|
@@ -2482,7 +2472,7 @@ class _t {
|
|
|
2482
2472
|
}
|
|
2483
2473
|
const Rt = 25, Pt = 1e4;
|
|
2484
2474
|
var se, ne, ae, N, Se;
|
|
2485
|
-
class
|
|
2475
|
+
class Gi extends Ft {
|
|
2486
2476
|
constructor(...e) {
|
|
2487
2477
|
super(...e);
|
|
2488
2478
|
v(this, se, "https://europe-west3-stargazer-328808.cloudfunctions.net/collect-events");
|
|
@@ -2541,26 +2531,26 @@ class Ni extends _t {
|
|
|
2541
2531
|
}
|
|
2542
2532
|
}
|
|
2543
2533
|
se = new WeakMap(), ne = new WeakMap(), ae = new WeakMap(), N = new WeakMap(), Se = new WeakMap();
|
|
2544
|
-
const
|
|
2545
|
-
class
|
|
2534
|
+
const Ti = x("LoggingTracker", "color:#000000;font-weight:bold;");
|
|
2535
|
+
class Ni extends Ft {
|
|
2546
2536
|
track(t, e) {
|
|
2547
|
-
|
|
2537
|
+
Ti(`@${this.config.api.user}`, `[${t}]`, e);
|
|
2548
2538
|
}
|
|
2549
2539
|
}
|
|
2550
2540
|
export {
|
|
2551
|
-
|
|
2541
|
+
Pi as BasicPlugin,
|
|
2552
2542
|
$ as CasinoPlugin,
|
|
2553
2543
|
xi as DebuggingPlugin,
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2544
|
+
Ui as GigPlugin,
|
|
2545
|
+
Di as KalambaBullseyePlugin,
|
|
2546
|
+
Bi as KalambaStargazerPlugin,
|
|
2547
|
+
Gi as KalambaStargazerTracker,
|
|
2548
|
+
Ni as LoggingTracker,
|
|
2549
|
+
Oi as OryxPlugin,
|
|
2550
|
+
Li as PariplayPlugin,
|
|
2551
|
+
_i as RelaxFEIMPlugin,
|
|
2552
|
+
ii as RgsPlygin,
|
|
2553
|
+
fi as TelemetryPlugin,
|
|
2554
|
+
Ft as Tracker,
|
|
2555
|
+
Fi as TukoPlugin
|
|
2566
2556
|
};
|