1import { a as Ib, b as Re, d as At, f as Zi, g as Oe, n as J, p as er, t as C, y as Q$ } from "./chunk-i2pl4wu9.js"; 2import { $i as de, Ai as Dt, At as qe, Bi as pt, Bn as Ln, Ci as Bn, Cn as Ma, Co as ge, Cr as Ob, Ct as Bu, Di as Z$, Dn as Pb, Do as $b, Dt as eA, E as Gt, Ei as R, Er as Du, Et as ht, F as Dn, Fi as Ab, Fo as Ce, G as ce, Ga as fr, Gi as Ra, Gn as _b, Ha as le, Hi as bl, Ho as tA, Hr as Fu, I as Fn, In as gr, It as iA, Ji as rA, Kn as ei, Kt as ys, L as La, Ln as sA, Lt as Mb, Ma as vr, Mo as It, Na as Ws, Nr as Pe, On as Vt, Pi as js, Pr as nA, Pt as aA, Qi as Rb, Ri as oA, Rn as lA, Ro as We, S as cA, St as dA, T as Vr, Ti as $i, Tt as Lb, Ua as Ba, Ui as Fe, Un as ci, Ut as Bb, V as Db, Vr as Gi, W as f, Wa as yl, Wi as be, Wt as Ys, Xi as yt, Xr as uA, Xt as wl, Y as je, Ya as zu, Yn as pA, Z as Xe, _ as tr, _i as Fb, _o as zb, _r as Je, _t as di, a as Gu, ao as N, ba as Ye, bn as $, bo as Vu, bt as Ne, do as ir, ei as hA, en as Gb, eo as ne, et as pe, fi as mt, fn as mA, fr as U, g as ze, ga as Vi, gn as Hr, gr as Hu, gt as fA, h as gA, hi as Ot, hn as Uu, ht as W, in as Te, jn as $e, jo as ui, jt as zn, kn as Vb, kt as Ks, l as vA, mo as Hb, mt as Ie, n as Sr, na as br, ni as Ub, oi as ve, or as SA, ot as Wb, pi as bA, po as ws, q as ft, qi as Ge, qn as Wu, ro as te, rr as jb, rt as P, si as ot, sn as yA, ta as
2ju, ti as Nt, tn as vi, to as Yu, tr as xe, tt as Yb, ui as Gn, un as Le, ut as Kb, va as Si, vi as _t, vr as qs, vt as bi, wa as qb, wi as Xs, xa as Vn, xo as Xb, xr as rr, xt as ti, yi as wA, yn as Da, za as Es, zi as ie, zt as Qe } from "./chunk-ql746sly.js"; 3import { K as EA, S as CA, U as Hn, V as Js, _ as Ku, j as sr, l as Hi, t as Jb, x as Qb } from "./chunk-hcheit1f.js"; 4import { a as qu, l as Zb, m as NA, p as El, t as Xu, v as ey } from "./chunk-b11o3szq.js"; 5import { D as vt, Dt as Qs, F as ty, Ft as iy, H as Fa, K as Cl, Mt as ry, Pt as TA, R as kA, St as Ju, Tt as xA, d as Ai, dt as IA, gt as sy, j as it, kt as Nl, l as OA, mt as Ur, o as Qu, p as PA, ut as Ke, v as $A, vt as ny, wt as AA } from "./chunk-fz42rx6r.js"; 6import { r as Zu, t as ep } from "./chunk-icjzvqcx.js"; 7import { n as Wr, t as Cs } from "./chunk-jbaamz4y.js"; 8import { a as tp, c as ay, i as Ns, o as Un, s as oy, t as ly } from "./chunk-bc0fsc6d.js"; 9import { $ as _i, B as cy, C as Ae, D as _A, K as MA, L as Tl, M as yr, N as RA, S as LA, Y as st, a as dy, at as Ui, c as BA, d as Wi, f as DA, ft as lt, gt as uy, h as Zs, ht as py, i as FA, j as kl, l as za, m as zA, nt as GA, o as VA, ot as xl, pt as HA, r as hy, t as UA, v as WA, y as Il, z as jr } from "./chunk-ot109np3.js"; 10import { o as my, t as fy } from "./chunk-jaxwt8s1.js"; 11import { M as Wn, c as Ol, f as jA, g as YA, h as KA, i as qA, u as XA, y as gy } from "./chunk-hxqgo4lj.js"; 12import { i as wr, n as vy, o as wt, r as Pl, t as he } from "./chunk-br9ckdzm.js"; 13import { C as jn, D as JA, S as QA, c as Ga, f as ZA, l as e_, m as t_, n as Ts, p as i_, r as Ht, t as ii, v as r_ } from "./chunk-l43lwjlr.js"; 14import { a as s_, c as ip, d as ri, g as n_, h as Va, i as a_, l as Sy, m as o_, p as yi, r as Ha, t as l_, u as c_ } from "./chunk-bl09vhvv.js"; 15import { a as Yr, c as ks, r as d_, s as $l, t as u_ } from "./chunk-oats8yse.js"; 16import { $ as p_, $t as h_, Ar as by, B as yy, Bn as m_, Dn as wy, Et as f_, Gn as g_, Kn as Ey, L as v_, M as Cy, Mn as Kr, Mr as Er, Mt as Ny, N as S_, Nt as b_, Sn as Ut, Tt as Ty, Yt as ky, _t as xy, ar as y_, bn as rp, bt as Iy, d as sp, dt as Al, en as Oy, fn as Py, gn as $y, gr as Ay, hr as _y, ht as w_, jn as My, jr as Ry, jt as E_, kr as np, m as C_, mr as N_, nt as T_, ot as ap, pr as k_, pt as x_, qn as I_, tn as O_, tr as Ly, u as P_, un as $_, ur as By, vt as A_, z as op } from "./chunk-ozbfhgko.js"; 17import { i as __, n as Cr, r as nr } from "./chunk-fla2anea.js"; 18import { n as Wt, t as xs } from "./chunk-lf77xnpz.js"; 19import { c as M_, d as Dy, f as Fy, i as Is, p as Ua, t as Nr } from "./chunk-bnt36dw9.js"; 20import { n as zy, r as lp } from "./chunk-d6iooz3w.js"; 21import { n as R_, t as L_ } from "./chunk-c8btpjog.js"; 22import { At as B_, F as D_, ht as F_, k as z_, mt as G_, pt as V_, tt as cp, ut as Gy, vt as H_ } from "./chunk-dkzazc5t.js"; 23import { a as Wa, i as ee } from "./chunk-kanq2829.js"; 24import { c as U_, i as Yn, o as _l, s as qr } from "./chunk-hv7vgf8e.js"; 25import { n as Vy, t as Hy } from "./chunk-dkx45pze.js"; 26import { Dn as Uy, F as Wy, Hn as W_, Jn as j_, Kn as jy, L as Y_, Pt as K_, Qn as q_, Yn as X_, b as J_, c as Q_, f as Z_, h as Yy, ht as eM, mn as Kn, rt as tM, tr as iM, vn as rM } from "./chunk-gilcgdod.js"; 27import { a as sM, t as nM } from "./chunk-bh8ut9ee.js"; 28import { c as aM, l as oM } from "./chunk-oqfdwkhk.js"; 29import { r as Ml, t as ji } from "./chunk-ngak4zlf.js"; 30import { r as lM, t as cM } from "./chunk-ggzcwtgt.js"; 31import { n as dp, t as up } from "./chunk-i471vw4l.js"; 32import { n as Ky, t as pp } from "./chunk-gd9lkrcj.js"; 33import { i as dM, o as uM } from "./chunk-d0ckdczq.js"; 34import { N as qy, P as Rl, i as pM, r as hM } from "./chunk-f74tx1a3.js"; 35import { n as Xy, t as mM } from "./chunk-nhq7wupa.js"; 36import { n as Jy, t as Qy } from "./chunk-hh163lda.js"; 37import { t as Z } from "./chunk-o4f8w5yc.js"; 38var Zy; 39function e1() { 40 return (e1 = Z((() => { 41 de(), Zy = (() => { 42 class e { 43 _allPaymentsBlocked = le(!1); 44 allPaymentsBlocked = this._allPaymentsBlocked.asReadonly(); 45 _interactionActive = le(null); 46 interactionActive = ne(() => !!this._interactionActive()); 47 _continueAction = le(null); 48 continueAction = this._continueAction.asReadonly(); 49 isBlocked = ne(() => this._allPaymentsBlocked() || this.interactionActive()); 50 setAllPaymentsBlocked(t) { 51 this._allPaymentsBlocked.set(t); 52 } 53 setInteractionActive(t) { 54 this._interactionActive.set(t); 55 } 56 confirmContinue() { 57 let t = this._interactionActive(); 58 t && (this._continueAction.set(t), this._interactionActive.set(null)); 59 } 60 consumeContinueAction() { 61 this._continueAction.set(null); 62 } 63 resetInteraction() { 64 this._interactionActive.set(null), this._continueAction.set(null); 65 } 66 reset() { 67 this._allPaymentsBlocked.set(!1), this._interactionActive.set(null), this._continueAction.set(null); 68 } 69 static ɵfac = function(t) { 70 return new (t || e)(); 71 }; 72 static ɵprov = R({ 73 token: e, 74 factory: e.ɵfac, 75 providedIn: "root" 76 }); 77 } 78 return e; 79 })(); 80 })))(); 81} 82function fM(e) { 83 return e.get(en); 84} 85function gM(e) { 86 let i = e.get(gp); 87 return f(yy).addStyle("payments-image-variables", i.imageVariablesCSS), i; 88} 89function vM(e) { 90 return e.get(Ka); 91} 92function SM(e) { 93 return e.get(Bl); 94} 95function bM(e) { 96 return e.createForProduct(tn, { 97 product: it.PAYMENTS, 98 area: "payments", 99 forwardProductApiRequestHeader: !0 100 }); 101} 102function yM(e) { 103 return e.get(qa); 104} 105function wM(e) { 106 return e.get(qn); 107} 108function EM(e) { 109 return e.get(vp); 110} 111function CM(e) { 112 return e.get(Sp); 113} 114function ja(e, i) { 115 if (!e) return; 116 let t = e[i ? "mobile" : "desktop"] ?? e.default; 117 if (t === void 0) return e; 118 try { 119 return JSON.parse(t); 120 } catch { 121 return; 122 } 123} 124function NM(e, i) { 125 let t = e.family !== "CC" && !!e.instrument, r = ""; 126 return t && (r = e.paymentAccountDetails?.paymentAccountId ?? ""), r || (r = i || e.instrument || ""), r; 127} 128function TM(e, i, t) { 129 let r = e.family !== "CC", s = i || ""; 130 return !s && r && (s = e.instrumentId || t || ""), s; 131} 132function t1(e) { 133 return e.instrument ?? e.instrumentId ?? e.name; 134} 135function i1(e) { 136 let i = e?.name?.toLowerCase() ?? "";
137 return e?.family === "CC" || e?.name === rn.TRUELAYER || yp.includes(i); 138} 139function kM(e) { 140 let i = e?.name, t = i?.toLowerCase() ?? ""; 141 return (i === rn.TRUELAYER || yp.includes(t)) && !e?.popularOption ? e?.bankName ?? "" : e?.contentMetadata?.displayName || i || ""; 142} 143function r1(e) { 144 if (!i1(e) || !e?.instrumentId) return ""; 145 let i = String(e.instrumentId); 146 return i.length > 4 ? ` \u2022 ${i.slice(-4)}` : ` \u2022 ${i}`; 147} 148function xM() { 149 return new Cp("MainCashier"); 150} 151function IM() { 152 return new Cp("BetSlipQD"); 153} 154function OM(e) { 155 return e.get(Xa); 156} 157function PM(e) { 158 return e.get(Ja); 159} 160function $M(e) { 161 return e.get(Np); 162} 163function AM(e) { 164 return e.get(kp); 165} 166function _M(e) { 167 return e.get(xp); 168} 169function MM(e) { 170 return e.get(Ip); 171} 172function RM(e) { 173 return e.get(Op); 174} 175function LM(e, i, t) { 176 return new Promise((r) => { 177 let s = e.createElement("iframe"), n = `nocache=${Date.now()}`; 178 s.src = t.includes("?") ? `${t}&${n}` : `${t}?${n}`, s.style.display = "none"; 179 let a = !1, o, l = () => { 180 a || (a = !0, i.clearTimeout(o), s.remove(), r()); 181 }; 182 s.onload = l, o = i.setTimeout(l, 2e3), e.body.appendChild(s); 183 }); 184} 185var hp, mp, Ll, s1, en, fp, Ya, gp, Ka, Bl, tn, Dl, qa, n1, Fl, qn, vp, Sp, zl, rn, sn, bp, a1, o1, yp, l1, c1, d1, u1, p1, Xr, Gl, wp, h1, Ep, Cp, Xa, Ja, Np, Tp, kp, xp, Ip, Op, m1, f1, g1, v1, S1, Pp, $p, b1, y1; 186function Os() { 187 return (Os = Z((() => { 188 Re(), de(), El(), Ke(), Zu(), Ns(), wt(), yi(), st(), xs(), Ts(), Ut(), hp = (function(e) { 189 return e.MainCashier = "MainCashier", e.BetSlipQd = "BetSlipQd", e.QdOverlay = "QdOverlay", e; 190 })(hp || {}), mp = (() => { 191 class e { 192 _authDetails = le({ 193 authCode: "", 194 authFlag: !1, 195 cashierType: void 0 196 }); 197 initialize() { 198 this.updateAuthDetails({ 199 authCode: "", 200 authFlag: !1, 201 cashierType: void 0 202 }); 203 } 204 getAuthDetails() { 205 return this._authDetails(); 206 } 207 updateAuthDetails(t) { 208 this._authDetails.set(t); 209 } 210 static ɵfac = function(t) { 211 return new (t || e)(); 212 }; 213 static ɵprov = R({ 214 token: e, 215 factory: e.ɵfac, 216 providedIn: "root" 217 }); 218 } 219 return e; 220 })(), Ll = (() => { 221 class e { 222 httpBackend = f(ey); 223 http; 224 initialize(t) { 225 let r = this.createInterceptorChain(this.httpBackend, t); 226 this.http = new qu(r); 227 } 228 get httpClient() { 229 return this.http ? this.http : (this.initialize([]), this.http); 230 } 231 createInterceptorChain(t, r) { 232 let s = t; 233 return [...r].reverse().forEach((n) => { 234 s = new s1(s, n); 235 }), s; 236 } 237 static ɵfac = function(t) { 238 return new (t || e)(); 239 }; 240 static ɵprov = R({ 241 token: e, 242 factory: e.ɵfac, 243 providedIn: "root" 244 }); 245 } 246 return e; 247 })(), s1 = class { 248 next; 249 interceptor; 250 constructor(e, i) { 251 this.next = e, this.interceptor = i; 252 } 253 handle(e) { 254 return this.interceptor.intercept(e, this.next); 255 } 256 }, pt(), en = (() => { 257 let e = class vb { 258 host; 259 useV2DepositApis; 260 paymentMethodUrlAliases; 261 static ɵfac = function(t) { 262 return new (t || vb)(); 263 }; 264 static ɵprov = R({ 265 token: vb, 266 factory: function(t) { 267 let r = null; 268 return t ? r = new t() : r = fM(ve(Ai)), r; 269 }, 270 providedIn: "root" 271 }); 272 }; 273 return e = ht([Qs({ 274 key: "paCashier", 275 product: it.PAYMENTS 276 })], e), e; 277 })(), fp = (() => { 278 class e { 279 customHttpClientService = f(Ll); 280 injector = f(ui); 281 authenticateUser(t, r) { 282 let s = this.injector.get(Ai).get(en).host, n = { 283 userId: t.userId ?? "", 284 labelInfo: { 285 brandId: t.brandId ?? "", 286 productId: t.productId ?? "", 287 channelId: t.channelId ?? "" 288 } 289 }; 290 t.LANG_ID && (n.languageCode = t.LANG_ID); 291 let a = { 292 headers: new Xu({ 293 "Content-Type": "application/json", 294 Accept: "application/json", 295 "sso-key": t.sessionKey || "" 296 }), 297 observe: "response", 298 withCredentials: !0 299 }; 300 return this.customHttpClientService.httpClient.post(s + r, n, a); 301 } 302 static ɵfac = function(t) { 303 return new (t || e)(); 304 }; 305 static ɵprov = R({ 306 token: e, 307 factory: e.ɵfac, 308 providedIn: "root" 309 }); 310 } 311 return e; 312 })(), Ya = (() => { 313 class e { 314 customHttpClientService = f(Ll); 315 authService = f(fp); 316 injector = f(ui);
317 authDetailsStore = f(mp); 318 get host() { 319 return this.injector.get(Ai).get(en).host; 320 } 321 getHttpHeaders(t) { 322 let r = { Accept: "application/json" }; 323 return this.authDetailsStore.getAuthDetails().authCode && (r["auth-code"] = this.authDetailsStore.getAuthDetails().authCode), t !== "GET" && (r["Content-Type"] = "application/json"), new Xu(r); 324 } 325 getHttpOptions(t) { 326 return { 327 headers: this.getHttpHeaders(t), 328 observe: "response", 329 withCredentials: !0 330 }; 331 } 332 post(t, r) { 333 let s = this.host; 334 return this.customHttpClientService.httpClient.post(s + t, r, this.getHttpOptions()).pipe(xe((n) => n.body)); 335 } 336 put(t, r) { 337 let s = this.host; 338 return this.customHttpClientService.httpClient.put(s + t, r, this.getHttpOptions()).pipe(xe((n) => n.body)); 339 } 340 get(t) { 341 let r = this.host; 342 return this.customHttpClientService.httpClient.get(r + t, this.getHttpOptions("GET")).pipe(xe((s) => s.body)); 343 } 344 postPgwRequest(t, r, s) { 345 let n = { 346 "Content-Type": "application/json; charset=utf-8", 347 Accept: "application/json", 348 token: s || "" 349 }; 350 return this.customHttpClientService.httpClient.post(t, r, { headers: n }).pipe(xe((a) => a.body)); 351 } 352 static ɵfac = function(t) { 353 return new (t || e)(); 354 }; 355 static ɵprov = R({ 356 token: e, 357 factory: e.ɵfac, 358 providedIn: "root" 359 }); 360 } 361 return e; 362 })(), pt(), gp = (() => { 363 let e = class Sb { 364 imageVariablesCSS; 365 assets; 366 static ɵfac = function(t) { 367 return new (t || Sb)(); 368 }; 369 static ɵprov = R({ 370 token: Sb, 371 factory: function(t) { 372 let r = null; 373 return t ? r = new t() : r = gM(ve(Ai)), r; 374 }, 375 providedIn: "root" 376 }); 377 }; 378 return e = ht([Qs({ 379 key: "paAssets", 380 product: it.PAYMENTS 381 })], e), e; 382 })(), pt(), Ka = (() => { 383 let e = class Cu extends ii { 384 links; 385 static ɵfac = (() => { 386 let t; 387 return function(r) { 388 return (t || (t = Fe(Cu)))(r || Cu); 389 }; 390 })(); 391 static ɵprov = R({ 392 token: Cu, 393 factory: function(t) { 394 let r = null; 395 return t ? r = new t() : r = vM(ve(Ht)), r; 396 }, 397 providedIn: "root" 398 }); 399 }; 400 return e = ht([Wt({ 401 key: "paLinks", 402 product: it.PAYMENTS 403 })], e), e; 404 })(), pt(), Bl = (() => { 405 let e = class bb { 406 loadCookieUpdate; 407 host; 408 enableIFrameV2; 409 renderNameOnCard; 410 static ɵfac = function(t) { 411 return new (t || bb)(); 412 }; 413 static ɵprov = R({ 414 token: bb, 415 factory: function(t) { 416 let r = null; 417 return t ? r = new t() : r = SM(ve(Ai)), r; 418 }, 419 providedIn: "root" 420 }); 421 }; 422 return e = ht([Qs({ 423 key: "paNGPG", 424 product: it.PAYMENTS 425 })], e), e; 426 })(), tn = (() => { 427 class e extends oy { 428 static ɵfac = (() => { 429 let t; 430 return function(r) { 431 return (t || (t = Fe(e)))(r || e); 432 }; 433 })(); 434 static ɵprov = R({ 435 token: e, 436 factory: function(t) { 437 let r = null; 438 return t ? r = new t() : r = bM(ve(tp), ve(ep)), r; 439 }, 440 providedIn: "root" 441 }); 442 } 443 return e; 444 })(), Dl = (() => { 445 class e { 446 api = f(tn); 447 cache = le(/* @__PURE__ */ new Map()); 448 cacheKey(t, r) { 449 return `${t}:${r}`; 450 } 451 load(t, r) { 452 let s = r.filter((n) => !this.cache().has(this.cacheKey(t, n))); 453 return s.length === 0 ? je({ content: {} }) : this.api.get("PaymentContent/content/items", { 454 type: t, 455 itemNames: s 456 }).pipe(Vr((n) => { 457 n?.content && this.cache.update((a) => { 458 let o = new Map(a); 459 for (let [l, c] of Object.entries(n.content)) o.set(this.cacheKey(t, l), c); 460 return o; 461 }); 462 })); 463 } 464 page(t, r) { 465 return this.cache().get(this.cacheKey(t, r))?.keyValueList ?? {}; 466 } 467 pageTracking(t, r) { 468 return this.cache().get(this.cacheKey(t, r))?.trackingData ?? null; 469 } 470 message(t, r, s) { 471 return this.cache().get(this.cacheKey(t, r))?.keyValueList[s] ?? s; 472 } 473 static ɵfac = function(t) { 474 return new (t || e)(); 475 }; 476 static ɵprov = R({ 477 token: e, 478 factory: e.ɵfac, 479 providedIn: "root" 480 }); 481 } 482 return e; 483 })(), pt(), qa = (() => { 484 let e = class Nu extends ii { 485 content; 486 static ɵfac = (() => { 487 let t; 488 return function(r) { 489 return (t || (t = Fe(Nu)))(r || Nu); 490 }; 491 })(); 492 static ɵprov = R({ 493 token: Nu, 494 factory: function(t) { 495 let r = null; 496 return t ? r = new t() : r = yM(ve(Ht)), r; 497 }, 498 providedIn: "root" 499 }); 500 }; 501 return e = ht([Wt({ 502 key: "paPaymentMethodContent", 503 product: it.PAYMENTS 504 })], e), e; 505 })(), n1 = (() => { 506 class e { 507 paymentMethodContent = f(qa); 508 getPaymentMethodName(t) { 509 if (!t || !this.paymentMethodContent.isConfigReady) return ""; 510 let r = t.toLowerCase(), s = r.replace(/^pay_/, ""), n = this.paymentMethodContent.content; 511 return n?.[r]?.value ?? n?.[s]?.value ?? ""; 512 } 513 static ɵfac = function(t) { 514 return new (t || e)(); 515 }; 516 static ɵprov = R({ 517 token: e, 518 factory: e.ɵfac, 519 providedIn: "root" 520 }); 521 } 522 return e; 523 })(), Fl = (() => { 524 class e { 525 config = f(en); 526 forwardMap; 527 reverseMap; 528 get forward() { 529 return this.forwardMap ??= this.buildMaps().forward; 530 } 531 get reverse() { 532 return this.reverseMap ??= this.buildMaps().reverse; 533 } 534 buildMaps() { 535 let t = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), s = this.config.paymentMethodUrlAliases; 536 if (s) for (let [n, a] of Object.entries(s)) { 537 t.set(n.toUpperCase(), a); 538 let o = a.toLowerCase(); 539 r.has(o) || r.set(o, n); 540 } 541 return this.forwardMap = t, this.reverseMap = r, { 542 forward: t, 543 reverse: r 544 }; 545 } 546 toSlug(t) { 547 if (!t) return ""; 548 let r = t.toUpperCase(); 549 return this.forward.get(r) ?? (r.startsWith("PAY_") ? r.slice(4) : t); 550 } 551 fromSlug(t) { 552 return t ? this.reverse.get(t.toLowerCase()) ?? t : ""; 553 } 554 matchesSlug(t, r) { 555 return !t || !r ? !1 : this.toSlug(t).toLowerCase() === r.toLowerCase(); 556 } 557 static ɵfac = function(t) { 558 return new (t || e)(); 559 }; 560 static ɵprov = R({ 561 token: e, 562 factory: e.ɵfac, 563 providedIn: "root" 564 }); 565 } 566 return e; 567 })(), pt(), qn = (() => { 568 let e = class yb { 569 sprinklrEnabled; 570 siftEnabled; 571 singleCurrencyEnabled; 572 bizumInstrumentDeleteEnabled; 573 scriptsInjectionData; 574 redesignVersion; 575 mobileNumberLengthCountryWise; 576 iframeRedirectPaymentMethods; 577 disableAmountPrefillMethods; 578 tokenizationPhase2Enabled;
579 isRewardTncEnabled; 580 qdDarkModeEnabled; 581 redirectFormTimeout; 582 redirectPage; 583 routeTrackingMappings; 584 enableWithdrawalTrackerV2; 585 nameCheckConsentMethods; 586 skipWithdrawalConfirmForNameCheck; 587 coinMissionsEnabled; 588 enableLugasLimitBanners; 589 static ɵfac = function(t) { 590 return new (t || yb)(); 591 }; 592 static ɵprov = R({ 593 token: yb, 594 factory: function(t) { 595 let r = null; 596 return t ? r = new t() : r = wM(ve(Ai)), r; 597 }, 598 providedIn: "root" 599 }); 600 }; 601 return e = ht([Qs({ 602 key: "paCommon", 603 product: it.PAYMENTS 604 })], e), e; 605 })(), pt(), vp = (() => { 606 let e = class wb { 607 bankAccountsFacialEnabled; 608 nonFtdFacialEnabled; 609 ftdFacialEnabled; 610 facialConsentTimeout; 611 facialSharedLibEnabled; 612 static ɵfac = function(t) { 613 return new (t || wb)(); 614 }; 615 static ɵprov = R({ 616 token: wb, 617 factory: function(t) { 618 let r = null; 619 return t ? r = new t() : r = EM(ve(Ai)), r; 620 }, 621 providedIn: "root" 622 }); 623 }; 624 return e = ht([Qs({ 625 key: "paKyx", 626 product: it.PAYMENTS 627 })], e), e; 628 })(), pt(), Sp = (() => { 629 let e = class Tu extends ii { 630 applepayEnabled; 631 googlePayEnabled; 632 applePayEnabledOnCasinoGames; 633 googlePayEnabledOnCasinoGames; 634 googlePayEnabledOnBetslip; 635 usePaymentMethodContent; 636 successPageTimeout; 637 static ɵfac = (() => { 638 let t; 639 return function(r) { 640 return (t || (t = Fe(Tu)))(r || Tu); 641 }; 642 })(); 643 static ɵprov = R({ 644 token: Tu, 645 factory: function(t) { 646 let r = null; 647 return t ? r = new t() : r = CM(ve(Ht)), r; 648 }, 649 providedIn: "root" 650 }); 651 }; 652 return e = ht([Wt({ 653 key: "paQuickDeposit", 654 product: it.PAYMENTS 655 })], e), e; 656 })(), zl = (function(e) { 657 return e.REAL = "real", e.PLAY = "play", e; 658 })(zl || {}), rn = { 659 TAPPP: "TAPPP", 660 TRUELAYER: "TRUELAYER", 661 MISTERCASH: "MISTERCASH", 662 INSTANTBANK: "INSTANTBANK", 663 MBWAY: "MBWAY", 664 PAYPALDIRECT: "PAYPALDIRECT", 665 PAYPAL: "PAYPAL", 666 PAYWITHMYBANK: "PAYWITHMYBANK", 667 ECHECKSELECT: "ECHECKSELECT", 668 INSTANTECHECKS: "INSTANTECHECKS", 669 AIRCASH_ABON: "AIRCASH_ABON", 670 APPLEPAYDIRECT: "APPLEPAYDIRECT", 671 GOOGLEPAY: "GOOGLEPAY" 672 }, sn = { 673 DEPOSIT: "/payments/deposit/input", 674 DEPOSIT_OPTIONS: "/payments/deposit/options", 675 DEPOSIT_PAYMENT_METHODS: "/payments/deposit/payment-methods", 676 DEPOSIT_SUCCESS: "/payments/deposit/success", 677 depositSuccess: (e) => `/payments/deposit/success/${e}`, 678 DEPOSIT_PROVIDER_IFRAME: "/payments/deposit/provider-iframe", 679 depositInput: (e) => `/payments/deposit/input/${e}`, 680 depositInputEdit: (e) => `/payments/deposit/input/${e}/edit`, 681 myPaymentsEdit: (e) => `/payments/deposit/payment-methods/${e}/edit`, 682 depositMyPaymentMethods: (e) => `/payments/deposit/payment-methods/${e}` 683 }, bp = { 684 CARD_CANT_DELETED: "555", 685 MAX_FAIL_DEP_ENHANCEMENT_CASHIER: "1118" 686 }, a1 = { MAX_FAIL_DEP_ENHANCEMENT: "max_fail_dep_enhancement_message" }, o1 = { 687 PER_INSTRUMENT: "maxFailDepEnhancementEnabled", 688 AGNOSTIC: "nj_mfde_agnostic_block_enabled" 689 }, C(C({}, bp), { DELETE_SUCCESS: "DELETE_SUCCESS" }), yp = [ 690 "pay_truelayer", 691 "pay_googlepay", 692 "pay_applepay", 693 "pay_applepaydirect" 694 ], l1 = { 695 EWALLET: "EWALLET", 696 CARD: "CC", 697 VOUCHER: "VOUCHER", 698 BANKTRANSFER: "BANKTRANSFER", 699 ECHECK: "ECHECK", 700 CAGE: "CAGE", 701 CRYPTO: "CRYPTO", 702 RETAIL: "RETAIL" 703 }, c1 = { 704 BANK_TRANSFER: "pay_banktransfer", 705 WIRE: "pay_wire", 706 TRUELAYER: "pay_truelayer", 707 GOOGLE_PAY: "pay_googlepay", 708 APPLE_PAY: "pay_applepay", 709 APPLE_PAY_DIRECT: "pay_applepaydirect", 710 PAYPAL_DIRECT: "pay_paypaldirect", 711 PAYPAL: "pay_paypal" 712 }, d1 = 8e3, u1 = [ 713 "JAN", 714 "FEB", 715 "MAR", 716 "APR", 717 "MAY", 718 "JUN", 719 "JUL", 720 "AUG", 721 "SEP", 722 "OCT", 723 "NOV", 724 "DEC" 725 ], p1 = (e) => e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'").replace(/`/g, "`"), Xr = (e) => { 726 let i = sessionStorage.getItem("sessionInfo"); 727 if (!i) return ""; 728 try { 729 return JSON.parse(i)[e]; 730 } catch { 731 return ""; 732 } 733 }, Gl = (() => { 734 class e { 735 api = f(Ya); 736 logger = f(lt); 737 data = le(null); 738 set(t) { 739 this.data.set(t); 740 } 741 refresh() {
742 this.api.get("/commonservice/user-data/config").pipe(Ot(1)).subscribe({ 743 next: (t) => this.data.set(t), 744 error: (t) => this.logger.error("Failed to refresh user data config", t) 745 }); 746 } 747 get merchantGroup() { 748 return this.data()?.userInfo?.merchantGroup; 749 } 750 get contactUsUrl() { 751 return this.data()?.configParams?.contactUsUrl; 752 } 753 get country() { 754 return this.data()?.userInfo?.addressInfo?.country; 755 } 756 get timeZoneId() { 757 return this.data()?.userInfo?.timeZoneId; 758 } 759 get isUsaMerchantGroup() { 760 return this.merchantGroup === "usa"; 761 } 762 get isFtdUser() { 763 let t = this.data()?.userInfo?.playerStatus, r = this.data()?.configParams?.first_deposit_done; 764 return t === zl.PLAY || t === zl.REAL && r === "Y"; 765 } 766 static ɵfac = function(t) { 767 return new (t || e)(); 768 }; 769 static ɵprov = R({ 770 token: e, 771 factory: e.ɵfac, 772 providedIn: "root" 773 }); 774 } 775 return e; 776 })(), wp = "payments.block", h1 = class { 777 session; 778 navigation; 779 constructor(e, i) { 780 this.session = e, this.navigation = i; 781 } 782 intercept(e, i) { 783 return i.handle(e).pipe(Vr((t) => { 784 t instanceof NA && this.dispatch(t.body); 785 })); 786 } 787 dispatch(e) { 788 if (!e) return; 789 if (e.kYCCheckResponse?.kycRedirectionUrlInfo && e.errorResponse?.errorTemplate?.toLowerCase() === "redirect_to_url") { 790 let n = e.kYCCheckResponse.kycRedirectionUrlInfo; 791 n?.url && this.navigation.goTo(n.url); 792 return; 793 } 794 if (e.errorCode === "1004" && e.errorMessage === "deny") { 795 this.storeAndNavigate(e, "sanctioned", "/payments/acs-block"); 796 return; 797 } 798 let i = e.errorTemplate?.toLowerCase(), t = e.errorResponse?.errorTemplate?.toLowerCase(), r = i ?? t, s = i ? e : e.errorResponse; 799 switch (r) { 800 case "access_block": 801 case "cashout_blocked": 802 this.storeAndNavigate(e, "acs", "/payments/acs-block"); 803 break; 804 case "service_closure": 805 this.storeAndNavigate(e, "service-closure", "/payments/service-closure"); 806 break; 807 case "regulatoryverificationblock": 808 this.storeAndNavigate(e, "regulatory-block", "/payments/service-closure"); 809 break; 810 case "redirecttomerchant": { 811 let n = s?.additionalData; 812 n?.redirectUrl && this.navigation.goTo(n.redirectUrl); 813 break; 814 } 815 case "redirect_to_url": s?.redirectURL && this.navigation.goTo(s?.redirectURL); 816 } 817 } 818 storeAndNavigate(e, i, t) { 819 let r = e.errorResponse ?? e, s = { 820 kind: i, 821 errorCode: e.errorCode, 822 errorTemplate: r.errorTemplate, 823 errorMessage: e.errorMessage, 824 additionalData: r.additionalData, 825 redirectUrl: r.redirectUrl 826 }; 827 this.session.set(wp, s), this.navigation.goTo(t); 828 } 829 }, Ep = (() => { 830 class e { 831 navigation = f(_i); 832 loginNavigation = f(E_); 833 window = f(vt); 834 closeMainCashier() { 835 let t = Xr("parent"); 836 t ? this.navigation.goTo(t) : this.loginNavigation.goToStoredReturnUrl(), this.postCloseMessages(); 837 } 838 postCloseMessages() { 839 this.window.parent.postMessage(encodeURIComponent("action=close"), "*"), this.window.top?.postMessage({ 840 action: "closePortalOverlay", 841 isUserAuthenticated: !0 842 }, "*"); 843 } 844 static ɵfac = function(t) { 845 return new (t || e)(); 846 }; 847 static ɵprov = R({ 848 token: e, 849 factory: e.ɵfac, 850 providedIn: "root" 851 }); 852 } 853 return e; 854 })(), Cp = class { 855 cashierType = ""; 856 paymentsApiService = f(tn); 857 constructor(e) { 858 this.cashierType = e; 859 } 860 getTranslation(e) { 861 return this.getContent(); 862 } 863 getContent() { 864 return this.paymentsApiService.get(`PaymentsApi/content?cashierType=${this.cashierType}`); 865 } 866 }, pt(), Xa = (() => { 867 let e = class ku extends ii { 868 composition; 869 storedPaymentComposition; 870 depositSubmitRules; 871 depositSuccessRules; 872 enableBizumPhoneInput; 873 binRules; 874 static ɵfac = (() => { 875 let t; 876 return function(r) { 877 return (t || (t = Fe(ku)))(r || ku); 878 }; 879 })(); 880 static ɵprov = R({ 881 token: ku, 882 factory: function(t) { 883 let r = null; 884 return t ? r = new t() : r = OM(ve(Ht)), r; 885 }, 886 providedIn: "root" 887 }); 888 }; 889 return e = ht([Wt({ 890 key: "paDepositConfig", 891 product: it.PAYMENTS 892 })], e), e; 893 })(), pt(), Ja = (() => { 894 let e = class Eb { 895 environment; 896 isEnabled; 897 isWebIntegrationEnabled; 898 merchantId; 899 merchantName; 900 publicKey; 901 allowedAuthMethods; 902 allowedCardNetworks; 903 static ɵfac = function(t) { 904 return new (t || Eb)(); 905 }; 906 static ɵprov = R({ 907 token: Eb, 908 factory: function(t) { 909 let r = null; 910 return t ? r = new t() : r = PM(ve(Ai)), r; 911 }, 912 providedIn: "root" 913 }); 914 }; 915 return e = ht([Qs({ 916 key: "paGooglepay", 917 product: it.PAYMENTS 918 })], e), e; 919 })(), pt(), Np = (() => { 920 let e = class Cb { 921 content; 922 static ɵfac = function(t) { 923 return new (t || Cb)(); 924 }; 925 static ɵprov = R({ 926 token: Cb, 927 factory: function(t) { 928 let r = null; 929 return t ? r = new t() : r = $M(ve(Ht)), r; 930 }, 931 providedIn: "root" 932 }); 933 }; 934 return e = ht([Wt({ 935 key: "paNoInternetContent", 936 product: it.PAYMENTS 937 })], e), e; 938 })(), Tp = (() => { 939 class e { 940 api = f(tn); 941 destroyRef = f(ze); 942 _names = le({}); 943 loaded = !1; 944 names = this._names.asReadonly(); 945 load() { 946 this.loaded || (this.loaded = !0, this.api.get("IssuerBankNames/GetNames").pipe(Ot(1), he(this.destroyRef)).subscribe({ next: (t) => this._names.set(t ?? {}) })); 947 } 948 resolve(t) { 949 return t ? this._names()[t.toUpperCase()] ?? t : ""; 950 } 951 static ɵfac = function(t) { 952 return new (t || e)(); 953 }; 954 static ɵprov = R({ 955 token: e, 956 factory: e.ɵfac, 957 providedIn: "root" 958 }); 959 } 960 return e; 961 })(), pt(), kp = (() => { 962 let e = class xu extends ii { 963 isEnabled; 964 environment; 965 clientName; 966 siteName; 967 buttonRenderMode; 968 billingPreference; 969 acceptedPaymentCardNetworks; 970 kountDisabled; 971 style; 972 static ɵfac = (() => { 973 let t; 974 return function(r) { 975 return (t || (t = Fe(xu)))(r || xu); 976 }; 977 })(); 978 static ɵprov = R({ 979 token: xu, 980 factory: function(t) { 981 let r = null; 982 return t ? r = new t() : r = AM(ve(Ht)), r; 983 }, 984 providedIn: "root" 985 }); 986 }; 987 return e = ht([Wt({ 988 key: "paPaze", 989 product: it.PAYMENTS 990 })], e), e; 991 })(), pt(), xp = (() => { 992 let e = class Iu extends ii { 993 environment; 994 publicToken; 995 static ɵfac = (() => { 996 let t; 997 return function(r) { 998 return (t || (t = Fe(Iu)))(r || Iu); 999 }; 1000 })(); 1001 static ɵprov = R({ 1002 token: Iu, 1003 factory: function(t) { 1004 let r = null; 1005 return t ? r = new t() : r = _M(ve(Ht)), r; 1006 }, 1007 providedIn: "root" 1008 }); 1009 }; 1010 return e = ht([Wt({ 1011 key: "paRevolutpay", 1012 product: it.PAYMENTS 1013 })], e), e; 1014 })(), pt(), Ip = (() => { 1015 let e = class Ou extends ii { 1016 data; 1017 static ɵfac = (() => { 1018 let t; 1019 return function(r) { 1020 return (t || (t = Fe(Ou)))(r || Ou); 1021 }; 1022 })(); 1023 static ɵprov = R({ 1024 token: Ou, 1025 factory: function(t) { 1026 let r = null; 1027 return t ? r = new t() : r = MM(ve(Ht)), r; 1028 }, 1029 providedIn: "root" 1030 }); 1031 }; 1032 return e = ht([Wt({ 1033 key: "paWithdrawalSLA", 1034 product: it.PAYMENTS 1035 })], e), e; 1036 })(), pt(), Op = (() => { 1037 let e = class Pu extends ii { 1038 composition; 1039 storedPaymentComposition; 1040 static ɵfac = (() => { 1041 let t; 1042 return function(r) { 1043 return (t || (t = Fe(Pu)))(r || Pu); 1044 }; 1045 })(); 1046 static ɵprov = R({ 1047 token: Pu, 1048 factory: function(t) { 1049 let r = null; 1050 return t ? r = new t() : r = RM(ve(Ht)), r; 1051 }, 1052 providedIn: "root" 1053 }); 1054 }; 1055 return e = ht([Wt({ 1056 key: "paWithdrawalConfig", 1057 product: it.PAYMENTS 1058 })], e), e; 1059 })(), m1 = (() => { 1060 class e { 1061 document = f(vi); 1062 logger = f(lt); 1063 paymentsCommonConfig = f(qn); 1064 inject(t, r = "") { 1065 if (this.document.getElementById(`${t}-script`)) return Promise.resolve(); 1066 let s = this.paymentsCommonConfig.scriptsInjectionData[t]; 1067 if (!s?.url) return this.logger.infoRemote(`Missing script config for key: ${t}`), Promise.resolve(); 1068 let n = s?.url, a = r ? n + (n?.includes("?") ? "&" : "?") + r : n, o = this.document.createElement("script"); 1069 o.setAttribute("src", a), this.setCustomAttributes(o, s?.customAttributes); 1070 let l = new Promise((c, d) => { 1071 o.addEventListener("load", () => { 1072 this.logger.infoRemote(`${t} SDK loaded from CDN: ${a}`), c(); 1073 }), o.onerror = () => { 1074 d(/* @__PURE__ */ new Error(`Failed to load external script to populate with key${t}`)); 1075 }; 1076 }); 1077 return this.document.body.append(o), l; 1078 } 1079 StyleSheetInject(t, r = "") { 1080 if (this.document.getElementById(`${t}-stylesheet`)) return Promise.resolve(); 1081 let s = this.paymentsCommonConfig.scriptsInjectionData[t]; 1082 if (!s?.styleSheetUrl) return this.logger.infoRemote(`Missing stylesheet config for key: ${t}`), Promise.resolve(); 1083 let n = s?.styleSheetUrl, a = r ? n + (n?.includes("?") ? "&" : "?") + r : n, o = this.document.createElement("link"); 1084 a && o.setAttribute("href", a), this.setCustomAttributes(o, s?.customAttributes); 1085 let l = new Promise((c, d) => { 1086 o.addEventListener("load", () => { 1087 c(); 1088 }), o.onerror = () => { 1089 let u = /* @__PURE__ */ new Error(`Failed to load external stylesheet to populate with key${t}`); 1090 d(u), this.logger.errorRemote(`Failed to load external stylesheet to populate with key${t}`, u); 1091 }; 1092 }); 1093 return this.document.head.append(o), l; 1094 } 1095 setCustomAttributes(t, r) { 1096 r && Object.entries(r).forEach(([s, n]) => { 1097 n !== void 0 && t.setAttribute(s, n); 1098 }); 1099 } 1100 static ɵfac = function(t) { 1101 return new (t || e)(); 1102 }; 1103 static ɵprov = R({ 1104 token: e, 1105 factory: e.ɵfac, 1106 providedIn: "root" 1107 }); 1108 } 1109 return e; 1110 })(), f1 = () => Oe(null, null, function* () { 1111 let e = f(Bl), i = f(vi), t = f(Wi); 1112 return e.loadCookieUpdate && (yield LM(i, t, `${e.host}/cardIframe/cookieUpdate.html`)), !0; 1113 }), g1 = () => Oe(null, null, function* () { 1114 return f(Xa).isConfigReady || (yield f(Ai).load("", [Xa])), !0; 1115 }), v1 = () => Oe(null, null, function* () { 1116 let e = f(Ai); 1117 return yield f(Ka).isConfigReady ? null : e.load("", [Ka]), !0; 1118 }), S1 = () => Oe(null, null, function* () { 1119 if (f(qn).redesignVersion?.app === 1) return !0; 1120 let e = f(Dl); 1121 return yield Vt(e.load("deposit", [ 1122 "options", 1123 "input", 1124 "helpLinks", 1125 "titles" 1126 ])), yield Vt(e.load("shared", [ 1127 "balance", 1128 "titles", 1129 "paymentcard", 1130 "header" 1131 ])), !0; 1132 }), Pp = (() => { 1133 class e { 1134 closeQdWindow = le(!1); 1135 static ɵfac = function(t) { 1136 return new (t || e)(); 1137 }; 1138 static ɵprov = R({ 1139 token: e, 1140 factory: e.ɵfac, 1141 providedIn: "root" 1142 }); 1143 } 1144 return e; 1145 })(), $p = (() => { 1146 class e { 1147 navigation = f(_i); 1148 window = f(vt); 1149 closeService = f(Ep); 1150 closeEventService = f(Pp); 1151 dispatch(t) { 1152 if (!t) return !1; 1153 if (t.action === "redirection" && t.actionValue) { 1154 if (t.actionData?.target === "_blank") return this.window.open(t.actionValue, "_blank", "noopener"), !0; 1155 let r = this.window.self !== this.window.top ? { 1156 forceReload: !0, 1157 forceReloadTarget: "top" 1158 } : {}; 1159 return this.closeEventService.closeQdWindow.set(!0), this.navigation.goTo(t.actionValue, r), !0; 1160 } 1161 if (t.action === "emit" && t.actionValue === "triggerLiveChat") { 1162 let r = t.actionData?.webSiteUrl ?? ""; 1163 return this.window?.gvczendesk?.initLiveChat?.("", r), !0; 1164 } 1165 return t.action === "emit" && t.actionValue === "redirectToParent" ? (this.closeService.closeMainCashier(), !0) : !1; 1166 } 1167 static ɵfac = function(t) { 1168 return new (t || e)(); 1169 }; 1170 static ɵprov = R({ 1171 token: e, 1172 factory: e.ɵfac, 1173 providedIn: "root" 1174 }); 1175 } 1176 return e; 1177 })(), b1 = (() => { 1178 class e { 1179 window = f(vt); 1180 logger = f(lt); 1181 nativeApp = f(jr); 1182 userService = f(ri); 1183 appConfig = f(Py); 1184 userDataConfig = f(Gl); 1185 rendererFactory = f(Bb); 1186 raiseDepositSuccessEvent(t, r, s) { 1187 let n = this.appConfig.channel, a = this.userDataConfig.data()?.userInfo?.labelInfo?.productId, o = s.toString(), l = Xr("sessionKey"), c = Xr("clientAppPath"), d = this.nativeApp.isNativeWrapper; 1188 this.nativeApp.isNativeWrapperTwa ? this.sendViaTwa(t, r, o, l) : this.nativeApp.htcmdSchemeEnabled ? this.sendViaPlaytech(o, t) : this.window.NativeBridge ? this.sendViaNativeBridge(t, o) : this.window.messageToNative && !d ? this.sendViaCcb(t, r, o, n, a) : (c === "1" || c === "2") && this.sendViaDeepLink(t, r, o, l, n), this.updateBalance(); 1189 } 1190 sendViaTwa(t, r, s, n) { 1191 let a = this.buildDepositEvent(t, r, s), o = this.buildDeepLinkUrl(a, n); 1192 this.nativeApp.sendToNative({ 1193 eventName: "DEPOSIT", 1194 parameters: { URL: o } 1195 }); 1196 } 1197 sendViaPlaytech(t, r) { 1198 this.nativeApp.sendToPlaytech(this.buildAFEvent(this.userService.username ?? "", t, r)); 1199 } 1200 sendViaNativeBridge(t, r) { 1201 let s = this.userService.currency ?? ""; 1202 t === "Y" && (this.window.NativeBridge?.deposit?.(s, r), this.logger.infoRemote("[Payments]: FTD success event sent to NativeBridge")); 1203 } 1204 sendViaCcb(t, r, s, n, a) { 1205 let o = this.buildDepositEvent(t, r, s); 1206 this.nativeApp.sendToNative(o), this.logger.infoRemote(`[Payments]: Deposit success event (firstTime=${t}) sent to native wrapper`), n === "IN" && a === "POKER" && (this.window.webkit?.messageHandlers?.handleDepositEvent?.postMessage?.(o), this.logger.infoRemote(`[Payments]: Deposit success event (firstTime=${t}) sent to webkit native`)); 1207 } 1208 sendViaDeepLink(t, r, s, n, a) { 1209 let o = this.buildDepositEvent(t, r, s), l = this.buildDeepLinkUrl(o, n), c = this.rendererFactory.createRenderer(null, null), d = c.createElement("iframe"); 1210 c.setAttribute(d, "src", l), c.setAttribute(d, "width", "0"), c.setAttribute(d, "height", "0"), c.setAttribute(d, "style", "display:none"), c.appendChild(this.window.document.body, d); 1211 let u = Xr("clientScheme"); 1212 if (u && (a === "IW" || a === "IN")) { 1213 let h = `${u}://?cashierEvent=${o.eventName}&event=${o.eventName}&type=${o.parameters.depositMethod}¤cy=${o.parameters.currency}&amount=${o.parameters.depositAmount}&sso=${n}`; 1214 this.window.location.href = h, this.logger.infoRemote(`[Payments]: Deposit success event (firstTime=${t}) sent via scheme redirect`); 1215 } 1216 } 1217 buildDepositEvent(t, r, s) { 1218 return { 1219 eventName: t === "Y" ? "first_deposit" : "deposit", 1220 parameters: { 1221 currency: this.userDataConfig.data()?.userInfo?.accountCurrency ?? "", 1222 depositAmount: s, 1223 depositMethod: r 1224 } 1225 }; 1226 } 1227 buildAFEvent(t, r, s) { 1228 let n = { 1229 eventName: "AF_EVENT", 1230 message: "AF_EVENT", 1231 data: { 1232 event: s === "Y" ? "first_time_deposit" : "af_all_deposits", 1233 values: { 1234 userid: t, 1235 deposit_amount: r, 1236 af_revenue: r 1237 } 1238 } 1239 }; 1240 return this.logger.infoRemote(`[Payments]: Deposit AF Event: ${JSON.stringify(n)}`), n; 1241 } 1242 buildDeepLinkUrl(t, r) { 1243 return `bwinex://?event=${t.eventName}&type=${t.parameters.depositMethod}¤cy=${t.parameters.currency}&amount=${t.parameters.depositAmount}&sso=${r}`; 1244 } 1245 updateBalance() { 1246 this.appConfig.channel === "WC" && this.window.parent.postMessage(encodeURIComponent("action=updateBalance"), "*"); 1247 } 1248 static ɵfac = function(t) { 1249 return new (t || e)(); 1250 }; 1251 static ɵprov = R({ 1252 token: e, 1253 factory: e.ɵfac, 1254 providedIn: "root" 1255 }); 1256 } 1257 return e; 1258 })(), y1 = (() => { 1259 class e { 1260 campaign = Xr("coinMissionsCampaign") || ""; 1261 subEventId = Xr("coinMissionsSubEventId") || "";
1262 hasSession = !!this.campaign; 1263 static ɵfac = function(t) { 1264 return new (t || e)(); 1265 }; 1266 static ɵprov = R({ 1267 token: e, 1268 factory: e.ɵfac, 1269 providedIn: "root" 1270 }); 1271 } 1272 return e; 1273 })(); 1274 })))(); 1275} 1276var w1; 1277function E1() { 1278 return (E1 = Z((() => { 1279 de(), wt(), st(), Os(), w1 = (() => { 1280 class e { 1281 navigationService = f(_i); 1282 config = f(qn); 1283 destroyRef = f(ze); 1284 defaultLabel = "cashier"; 1285 defaultLocation = "cashier"; 1286 mappings = (this.config.routeTrackingMappings ?? []).map((t) => ({ 1287 regex: new RegExp(t.pattern, "i"), 1288 labelEvent: t.labelEvent, 1289 locationEvent: t.locationEvent 1290 })); 1291 labelEvent = le(this.defaultLabel); 1292 locationEvent = le(this.defaultLocation); 1293 active = null; 1294 constructor() { 1295 this.navigationService.locationChange.pipe(xe((t) => t.nextUrl), Hu(this.navigationService.location.absUrl()), he(this.destroyRef)).subscribe((t) => this.resolveFromUrl(t)); 1296 } 1297 resolveFromUrl(t) { 1298 if (this.mappings.length === 0) return; 1299 let r = t.toLowerCase(); 1300 if (this.active?.regex.test(r)) return; 1301 let s = this.mappings.find((n) => n.regex.test(r)) ?? null; 1302 this.active = s, this.labelEvent.set(s?.labelEvent ?? this.defaultLabel), this.locationEvent.set(s?.locationEvent ?? this.defaultLocation); 1303 } 1304 static ɵfac = function(t) { 1305 return new (t || e)(); 1306 }; 1307 static ɵprov = R({ 1308 token: e, 1309 factory: e.ɵfac, 1310 providedIn: "root" 1311 }); 1312 } 1313 return e; 1314 })(); 1315 })))(); 1316} 1317var Ap, _p, Mp; 1318function Rp() { 1319 return (Rp = Z((() => { 1320 de(), st(), Cr(), Os(), Ap = (() => { 1321 class e { 1322 navigationService = f(_i); 1323 device = f(nr); 1324 goToUrl(t) { 1325 this.navigationService.goTo(t); 1326 } 1327 goToDepositOptions() { 1328 this.device.isMobile ? this.navigationService.goTo(sn.DEPOSIT_OPTIONS) : this.navigationService.goTo(`${sn.DEPOSIT}?showOptions=true`); 1329 } 1330 static ɵfac = function(t) { 1331 return new (t || e)(); 1332 }; 1333 static ɵprov = R({ 1334 token: e, 1335 factory: e.ɵfac, 1336 providedIn: "root" 1337 }); 1338 } 1339 return e; 1340 })(), _p = 1e3, Mp = (() => { 1341 class e { 1342 timerService = f(Wi); 1343 destroyRef = f(ze); 1344 _blocks = le(/* @__PURE__ */ new Map()); 1345 expiryTimers = /* @__PURE__ */ new Map(); 1346 _agnostic = le(null); 1347 agnosticTimerId = null; 1348 blocks = this._blocks.asReadonly(); 1349 isAgnosticBlocked = ne(() => this._agnostic()?.blocked === !0); 1350 constructor() { 1351 this.destroyRef.onDestroy(() => this.reset()); 1352 } 1353 applyBlock(t, r) { 1354 if (!t || !r?.blocked || !r.expiryTime || r.expiryTime <= 0) return null; 1355 this.clearInstrumentTimer(t); 1356 let s = this.toBlockStatus(r), n = new Map(this._blocks()); 1357 return n.set(t, s), this._blocks.set(n), this.scheduleExpiry(t, s.expiryTime), s; 1358 } 1359 applyBlocksFromOptions(t) { 1360 if (t?.length) for (let r of t) this.applyBlock(r?.instrumentNumber, r?.details?.userMaxFailDepStatus); 1361 } 1362 _blockForCache = /* @__PURE__ */ new Map(); 1363 _isBlockedCache = /* @__PURE__ */ new Map(); 1364 blockFor(t) { 1365 if (!t) return this._nullBlockSignal; 1366 let r = this._blockForCache.get(t); 1367 return r || (r = ne(() => this._blocks().get(t) ?? null), this._blockForCache.set(t, r)), r; 1368 } 1369 isBlocked(t) { 1370 if (!t) return this._agnosticOnlySignal; 1371 let r = this._isBlockedCache.get(t); 1372 return r || (r = ne(() => this.isAgnosticBlocked() || !!this._blocks().get(t)?.blocked), this._isBlockedCache.set(t, r)), r; 1373 } 1374 _agnosticOnlySignal = ne(() => this.isAgnosticBlocked()); 1375 _nullBlockSignal = ne(() => null); 1376 checkBlocked(t) { 1377 return this.isAgnosticBlocked() ? !0 : !!(t && this._blocks().get(t)?.blocked); 1378 } 1379 clearBlock(t) { 1380 if (t && (this.clearInstrumentTimer(t), this._blockForCache.delete(t), this._isBlockedCache.delete(t), this._blocks().has(t))) { 1381 let r = new Map(this._blocks()); 1382 r.delete(t), this._blocks.set(r); 1383 } 1384 } 1385 setAgnosticBlock(t) { 1386 if (!t?.blocked || !t.expiryTime || t.expiryTime <= 0) return null;
1387 this.clearAgnosticTimer(); 1388 let r = this.toBlockStatus(t); 1389 return this._agnostic.set(r), this.agnosticTimerId = this.timerService.setTimeout(() => this.clearAgnosticBlock(), r.expiryTime * _p), r; 1390 } 1391 clearAgnosticBlock() { 1392 this.clearAgnosticTimer(), this._agnostic.set(null); 1393 } 1394 reset() { 1395 for (let t of [...this.expiryTimers.keys()]) this.clearInstrumentTimer(t); 1396 this._blocks.set(/* @__PURE__ */ new Map()), this._blockForCache.clear(), this._isBlockedCache.clear(), this.clearAgnosticBlock(); 1397 } 1398 toBlockStatus(t) { 1399 let r = { 1400 blocked: !0, 1401 expiryTime: t.expiryTime ?? 0 1402 }; 1403 return t.blockEndDate && (r.blockEndDate = t.blockEndDate), t.blockEndTime && (r.blockEndTime = t.blockEndTime), r; 1404 } 1405 scheduleExpiry(t, r) { 1406 let s = this.timerService.setTimeout(() => this.clearBlock(t), r * _p); 1407 this.expiryTimers.set(t, s); 1408 } 1409 clearInstrumentTimer(t) { 1410 let r = this.expiryTimers.get(t); 1411 r != null && (this.timerService.clearTimeout(r), this.expiryTimers.delete(t)); 1412 } 1413 clearAgnosticTimer() { 1414 this.agnosticTimerId !== null && (this.timerService.clearTimeout(this.agnosticTimerId), this.agnosticTimerId = null); 1415 } 1416 static ɵfac = function(t) { 1417 return new (t || e)(); 1418 }; 1419 static ɵprov = R({ 1420 token: e, 1421 factory: e.ɵfac, 1422 providedIn: "root" 1423 }); 1424 } 1425 return e; 1426 })(); 1427 })))(); 1428} 1429var Lp; 1430function Bp() { 1431 return (Bp = Z((() => { 1432 de(), Lp = (() => { 1433 class e { 1434 selectedPayment = le(void 0); 1435 inputDetails = le(void 0); 1436 minLimit = le(void 0); 1437 maxLimit = le(void 0); 1438 limitType = le("txn_limit"); 1439 presetAmountList = le([]); 1440 isStoredPayment = le(!1); 1441 savedCardClicked = le(0); 1442 initData = le(null); 1443 showNumpad = le(!1); 1444 enteredAmount = le(0); 1445 applePayResult = le(null); 1446 googlePayResult = le(null); 1447 fundingSource = le(void 0); 1448 depositResult = le(void 0); 1449 truelayerInstrumentCount = le(0); 1450 setDepositResult(t) { 1451 this.depositResult.set(t); 1452 } 1453 clearDepositResult() { 1454 this.depositResult.set(void 0); 1455 } 1456 reset() { 1457 this.selectedPayment.set(void 0), this.inputDetails.set(void 0), this.minLimit.set(void 0), this.maxLimit.set(void 0), this.limitType.set("txn_limit"), this.presetAmountList.set([]), this.isStoredPayment.set(!1), this.showNumpad.set(!1), this.enteredAmount.set(0), this.applePayResult.set(null), this.googlePayResult.set(null), this.fundingSource.set(void 0); 1458 } 1459 static ɵfac = function(t) { 1460 return new (t || e)(); 1461 }; 1462 static ɵprov = R({ 1463 token: e, 1464 factory: e.ɵfac, 1465 providedIn: "root" 1466 }); 1467 } 1468 return e; 1469 })(); 1470 })))(); 1471} 1472var Tt, Vl, nn; 1473function Dp() { 1474 return (Dp = Z((() => { 1475 Tt = "/depositservice/deposit/", Vl = "/depositservice/deposit/v2/", nn = { 1476 deposit: { 1477 allOptions: `${Tt}allOptions`, 1478 usedOptions: `${Tt}usedOptions`, 1479 inputDetails: `${Tt}input-details`, 1480 allOptionsV2: `${Vl}allOptions`, 1481 usedOptionsV2: `${Vl}usedOptions`, 1482 inputDetailsV2: `${Vl}input-details`, 1483 deleteCard: `${Tt}card-delete`, 1484 updateCard: `${Tt}cc-expdate-update`, 1485 depositSubmit: `${Tt}submit`, 1486 tappDepositSubmit: `${Tt}tappp-submit`, 1487 binDetails: `${Tt}bin-details`, 1488 raiseAlertCcBlock: `${Tt}block-commercial-card-alert`, 1489 closeInstrument: `${Tt}closeInstrument`, 1490 threedsMethodStatus: `${Tt}threeds-data`, 1491 redirectUrl: `${Tt}creditcard-get-redirect-url`, 1492 status: `${Tt}status`, 1493 applePaySession: `${Tt}getApplepaySession`, 1494 depositLimits: `${Tt}deposit-limits?paymentMethod=%25&lang=`, 1495 braintreeProcessDeposit: `${Tt}braintree-process-deposit`, 1496 paypalToken: `${Tt}getPaypalToken`, 1497 paymentMethodBlock: `${Tt}payment-method-block`, 1498 depositCurfew: `${Tt}deposit-curfew`, 1499 toggleInterceptor: `${Tt}toggle-interceptor` 1500 }, 1501 withdrawal: { 1502 allOptions: "/cashoutservice/cashout/allOptions", 1503 submit: "/cashoutservice/cashout/submit", 1504 proposalSubmit: "/cashoutservice/cashout/proposalPageSubmit",
1505 fieldDetails: "/cashoutservice/cashout/fieldDetails", 1506 bonusForfeit: "/cashoutservice/cashout/forfeit-info" 1507 }, 1508 transactions: {} 1509 }; 1510 })))(); 1511} 1512var C1, N1, Fp, zp, Gp, Vp, T1, k1, Qa, x1, I1, Hp, O1, P1, $1, A1; 1513function Up() { 1514 return (Up = Z((() => { 1515 Re(), de(), El(), Ke(), st(), Cr(), Ut(), C1 = (() => { 1516 class e { 1517 navigationService = f(_i); 1518 link = {}; 1519 doNothing = !1; 1520 onClick(t) { 1521 return Oe(this, null, function* () { 1522 if (!this.doNothing && this.link.url) { 1523 let r = {}; 1524 this.link.target && (r = { forceReloadTarget: this.link.target.replace("_", "") }), yield this.navigationService.goTo(this.link.url, r); 1525 } 1526 }); 1527 } 1528 static ɵfac = function(t) { 1529 return new (t || e)(); 1530 }; 1531 static ɵdir = ci({ 1532 type: e, 1533 selectors: [[ 1534 "", 1535 "paOpenLink", 1536 "" 1537 ]], 1538 hostBindings: function(t, r) { 1539 t & 1 && Ce("click", function(s) { 1540 return r.onClick(s); 1541 }); 1542 }, 1543 inputs: { 1544 link: [ 1545 0, 1546 "paOpenLink", 1547 "link" 1548 ], 1549 doNothing: [ 1550 0, 1551 "url", 1552 "doNothing" 1553 ] 1554 } 1555 }); 1556 } 1557 return e; 1558 })(), N1 = (() => { 1559 class e { 1560 transform(t) { 1561 let r = (t ?? "").toString(); 1562 return r === "" ? "" : r.length <= 1 ? r : `${r.slice(0, -1)}-${r.at(-1)}`; 1563 } 1564 static ɵfac = function(t) { 1565 return new (t || e)(); 1566 }; 1567 static ɵpipe = wl({ 1568 name: "accountFormat", 1569 type: e, 1570 pure: !0 1571 }); 1572 } 1573 return e; 1574 })(), Fp = 11, zp = 3, Gp = 6, Vp = 9, T1 = (() => { 1575 class e { 1576 transform(t) { 1577 let r = (t ?? "").toString(); 1578 return r === "" ? "" : r.length === Fp ? `${r.slice(0, zp)}.${r.slice(zp, Gp)}.${r.slice(Gp, Vp)}-${r.slice(Vp, Fp)}` : r; 1579 } 1580 static ɵfac = function(t) { 1581 return new (t || e)(); 1582 }; 1583 static ɵpipe = wl({ 1584 name: "cpfFormat", 1585 type: e, 1586 pure: !0 1587 }); 1588 } 1589 return e; 1590 })(), k1 = (() => { 1591 class e { 1592 _userData; 1593 setData(t) { 1594 this._userData = t; 1595 } 1596 get userData() { 1597 return this._userData; 1598 } 1599 static ɵfac = function(t) { 1600 return new (t || e)(); 1601 }; 1602 static ɵprov = R({ 1603 token: e, 1604 factory: e.ɵfac, 1605 providedIn: "root" 1606 }); 1607 } 1608 return e; 1609 })(), Qa = (function(e) { 1610 return e.EventName = "TRIGGER_GEO_LOCATION", e.Action = "fetchLocation", e; 1611 })(Qa || {}), x1 = /* @__PURE__ */ new Set([ 1612 "AH", 1613 "AW", 1614 "AN", 1615 "IH", 1616 "IW", 1617 "IN" 1618 ]), I1 = (() => { 1619 class e { 1620 deviceService = f(nr); 1621 nativeApp = f(jr); 1622 logger = f(lt); 1623 window = f(vt); 1624 getPLCIdentifier(t) { 1625 return ["MW"].includes(t) ? this.deviceService.isiOS ? "oobeeiOS" : "oobeeAndroid" : "geocomply"; 1626 } 1627 getGeoComplyInitializeInput(t, r, s) { 1628 let n = t.channelId || ""; 1629 if (x1.has(n)) { 1630 let a = { 1631 eventName: Qa.EventName, 1632 parameters: { 1633 action: Qa.Action, 1634 geolocationReason: r 1635 } 1636 }; 1637 this.nativeApp.isNative ? (this.nativeApp.sendToNative(a), this.logger.info("Geocomply Message sent to Native App", a)) : s ? s(`action=${Qa.Action}&geolocationReason=${r}`) : this.window.parent.postMessage({ 1638 eventName: "MESSAGE_TO_NATIVE", 1639 eventData: a 1640 }, "*"); 1641 } else if (this.window.geolocationCoordinator) { 1642 let a = { 1643 session: t.sessionKey, 1644 channelId: n, 1645 plcIdentifier: this.getPLCIdentifier(n), 1646 showPLCPopup: !1, 1647 productId: t.productId || "CASINO", 1648 geolocationReason: r 1649 }; 1650 this.window.geolocationCoordinator.triggerFetchLocation(a); 1651 } 1652 } 1653 static ɵfac = function(t) { 1654 return new (t || e)(); 1655 }; 1656 static ɵprov = R({ 1657 token: e, 1658 factory: e.ɵfac, 1659 providedIn: "root" 1660 }); 1661 } 1662 return e; 1663 })(), Hp = (() => { 1664 class e { 1665 httpBackend = f(ey); 1666 http; 1667 constructor() { 1668 this.http = new qu(this.httpBackend); 1669 } 1670 registerCardDetails(t, r, s) { 1671 if (!this.isNullOrEmpty(t) && t !== "token") { 1672 let n = new Xu({ "Content-Type": "application/json" }); 1673 return s && (n = n.append("token", s)), Vt(this.http.post(t, r, { 1674 headers: n, 1675 observe: "response" 1676 })); 1677 } 1678 return Promise.resolve(null); 1679 } 1680 isNullOrEmpty(t) { 1681 return !t || t.trim() === ""; 1682 } 1683 static ɵfac = function(t) { 1684 return new (t || e)(); 1685 }; 1686 static ɵprov = R({ 1687 token: e, 1688 factory: e.ɵfac, 1689 providedIn: "root" 1690 }); 1691 } 1692 return e; 1693 })(), O1 = (() => { 1694 class e { 1695 navigationService = f(_i); 1696 lastKnownProductService = f(_A); 1697 appConfig = f(Py); 1698 platformProductMapConfig = f(C_); 1699 cookieService = f(yr); 1700 getProduct() { 1701 return Oe(this, null, function* () { 1702 let t = this.lastKnownProductService.get(), r = t.name === "unknown" ? "" : t.name; 1703 yield Vt(this.platformProductMapConfig.whenReady); 1704 let s = this.platformProductMapConfig.platformProductMap?.[r]; 1705 return (this.navigationService.location.search.get("forCashierProductId") || this.navigationService.location.search.get("productId") || s || this.cookieService.get("registrationProduct") || this.appConfig.product).toUpperCase(); 1706 }); 1707 } 1708 static ɵfac = function(t) { 1709 return new (t || e)(); 1710 }; 1711 static ɵprov = R({ 1712 token: e, 1713 factory: e.ɵfac, 1714 providedIn: "root" 1715 }); 1716 } 1717 return e; 1718 })(), P1 = (() => { 1719 class e { 1720 window = f(vt); 1721 pushSiftData(t) { 1722 let r = t?.userInfo?.singleAccountInfo?.masterAccount ?? t?.userInfo?.userId, s = t?.clientInfo?.sessionKey, n = t?.configParams?.siftJSBeaconKey; 1723 this.window._sift = this.window._sift || [], this.window._sift?.push(["_setAccount", n], ["_setUserId", r], ["_setSessionId", s], ["_trackPageview"]); 1724 } 1725 static ɵfac = function(t) { 1726 return new (t || e)(); 1727 }; 1728 static ɵprov = R({ 1729 token: e, 1730 factory: e.ɵfac, 1731 providedIn: "root" 1732 }); 1733 } 1734 return e; 1735 })(), $1 = (() => { 1736 class e { 1737 windowRef = f(vt); 1738 sprinklrInitialized = !1; 1739 logger = f(lt); 1740 openLiveChat(t) { 1741 this.windowRef?.entainsprinklr?.openChat(t); 1742 } 1743 initializeSprinklrChat(t, r = "") { 1744 let s = this.windowRef.entainsprinklr; 1745 if (s?.setInitData) { 1746 let n = ["qd-app", "betslip-app"].includes(r), a = J(C({}, t), {
1747 isCashier: !0, 1748 action: "initiatesprinklr", 1749 isFromQD: n, 1750 pageUrl: this.windowRef.location.href 1751 }); 1752 s.defaultDataSetup(a), this.sprinklrInitialized = !0, this.logger.info("Sprinklr chat initialized."); 1753 } else this.logger.warn("Sprinklr SDK not available after script load."); 1754 } 1755 isSprinklrInitialized() { 1756 return this.sprinklrInitialized; 1757 } 1758 static ɵfac = function(t) { 1759 return new (t || e)(); 1760 }; 1761 static ɵprov = R({ 1762 token: e, 1763 factory: e.ɵfac, 1764 providedIn: "root" 1765 }); 1766 } 1767 return e; 1768 })(), A1 = class { 1769 ttlMs; 1770 store = /* @__PURE__ */ new Map(); 1771 constructor(e) { 1772 this.ttlMs = e; 1773 } 1774 get(e) { 1775 let i = this.store.get(e); 1776 if (i) { 1777 if (Date.now() >= i.expiresAt) { 1778 this.store.delete(e); 1779 return; 1780 } 1781 return i.value; 1782 } 1783 } 1784 set(e, i) { 1785 this.store.set(e, { 1786 value: i, 1787 expiresAt: Date.now() + this.ttlMs 1788 }); 1789 } 1790 delete(e) { 1791 this.store.delete(e); 1792 } 1793 clear() { 1794 this.store.clear(); 1795 } 1796 }; 1797 })))(); 1798} 1799function BM(e) { 1800 return jp.includes((e ?? "").toLowerCase()) ? "game_cashier" : "main_cashier"; 1801} 1802function DM(e) { 1803 return jp.includes((e ?? "").toLowerCase()) ? "game_qd" : "regular_qd"; 1804} 1805function FM(e, i) { 1806 return e && e[i] === 2 ? "redesign" : "legacy"; 1807} 1808var Hl, Jr, Wp, _1, jp; 1809function Yp() { 1810 return (Yp = Z((() => { 1811 de(), st(), Hl = { 1812 Deposit: "journey.deposit", 1813 QuickDeposit: "journey.quick_deposit", 1814 Withdrawal: "journey.withdrawal" 1815 }, Jr = { 1816 DepositOptionsLoaded: "deposit.options_loaded", 1817 DepositMethodSelected: "deposit.method_selected", 1818 DepositSubmitted: "deposit.submitted", 1819 DepositPending: "deposit.pending", 1820 WithdrawalMethodSelected: "withdrawal.method_selected", 1821 WithdrawalSubmitted: "withdrawal.submitted" 1822 }, Wp = (() => { 1823 class e { 1824 #e = f(hy); 1825 #t = Hl.Deposit; 1826 #i = !1; 1827 start(t) { 1828 this.#i = !1, this.#e.startJourney(this.#t, t); 1829 } 1830 optionsLoaded(t) { 1831 this.#e.step(this.#t, Jr.DepositOptionsLoaded, t); 1832 } 1833 methodSelected(t) { 1834 this.#e.step(this.#t, Jr.DepositMethodSelected, t); 1835 } 1836 submitted(t) { 1837 this.#e.step(this.#t, Jr.DepositSubmitted, t); 1838 } 1839 pending(t) { 1840 this.#e.step(this.#t, Jr.DepositPending, t); 1841 } 1842 succeeded(t) { 1843 this.#i = !1, this.#e.completeJourney(this.#t, t); 1844 } 1845 failed(t) { 1846 this.#i = !1, this.#e.failJourney(this.#t, { 1847 error_code: t.error_template, 1848 error_source: t.error_template, 1849 method: t.method, 1850 error_code_raw: t.error_code 1851 }); 1852 } 1853 markPendingProviderRedirect() { 1854 this.#i = !0, this.#e.persistForNavigation(this.#t); 1855 } 1856 abandoned() { 1857 this.#i || this.#e.abandonJourney(this.#t); 1858 } 1859 static ɵfac = function(t) { 1860 return new (t || e)(); 1861 }; 1862 static ɵprov = R({ 1863 token: e, 1864 factory: e.ɵfac, 1865 providedIn: "root" 1866 }); 1867 } 1868 return e; 1869 })(), _1 = (() => { 1870 class e { 1871 #e = f(hy); 1872 #t = Hl.QuickDeposit; 1873 start(t) { 1874 this.#e.startJourney(this.#t, t); 1875 } 1876 optionsLoaded(t) { 1877 this.#e.step(this.#t, Jr.DepositOptionsLoaded, t); 1878 } 1879 methodSelected(t) { 1880 this.#e.step(this.#t, Jr.DepositMethodSelected, t); 1881 } 1882 submitted(t) { 1883 this.#e.step(this.#t, Jr.DepositSubmitted, t); 1884 } 1885 succeeded(t) { 1886 this.#e.completeJourney(this.#t, t); 1887 } 1888 failed(t) { 1889 this.#e.failJourney(this.#t, { 1890 error_code: t.error_template, 1891 error_source: t.error_template, 1892 method: t.method, 1893 error_code_raw: t.error_code 1894 }); 1895 } 1896 abandoned() { 1897 this.#e.abandonJourney(this.#t); 1898 } 1899 static ɵfac = function(t) { 1900 return new (t || e)(); 1901 }; 1902 static ɵprov = R({ 1903 token: e, 1904 factory: e.ɵfac, 1905 providedIn: "root" 1906 }); 1907 } 1908 return e; 1909 })(), jp = ["games", "bingo"]; 1910 })))(); 1911} 1912var Kp, M1, qp, Xp; 1913function Jp() { 1914 return (Jp = Z((() => { 1915 de(), st(), Ut(), Kp = "paymentsTracking.v1.", M1 = 7776e6, qp = /^\d{17}$/, Xp = (() => { 1916 class e { 1917 store = f(ap); 1918 logger = f(lt); 1919 buildEventId(t, r) { 1920 return !r || !qp.test(r) ? null : `payments:${t}:${r}`; 1921 } 1922 tryReserve(t, r) { 1923 if (!r) return this.logger.infoRemote(`[Payments]: tracking event ${t} has no transactionId, dedup skipped`), !0; 1924 if (!qp.test(r)) return this.logger.infoRemote(`[Payments]: tracking event ${t} has malformed transactionId '${r}'`), !0; 1925 let s = Kp + this.buildEventId(t, r); 1926 return this.store.get(s) ? !1 : (this.store.set(s, { at: Date.now() }), this.pruneExpired(), !0); 1927 } 1928 pruneExpired() { 1929 let t = Date.now() - M1; 1930 this.store.keys().filter((r) => r.startsWith(Kp)).filter((r) => { 1931 let s = this.store.get(r); 1932 return !s || s.at < t; 1933 }
1933).forEach((r) => this.store.remove(r)); 1934 } 1935 static ɵfac = function(t) { 1936 return new (t || e)(); 1937 }; 1938 static ɵprov = R({ 1939 token: e, 1940 factory: e.ɵfac, 1941 providedIn: "root" 1942 }); 1943 } 1944 return e; 1945 })(); 1946 })))(); 1947} 1948var an, R1, L1, Za; 1949function eo() { 1950 return (eo = Z((() => { 1951 Re(), de(), yi(), st(), ks(), Os(), Jp(), an = { 1952 Tracking: "Event.Tracking", 1953 Value: "Event.Value", 1954 PageView: "pageView", 1955 Deposit: "deposit", 1956 FirstDeposit: "firstDeposit", 1957 PaymentError: "paymentError", 1958 PaymentInlineError: "paymentInlineError", 1959 DepositInteraction: "depositInteraction", 1960 DepositView: "depositView", 1961 DepositSubmit: "depositSubmit", 1962 PaymentFailure: "paymentFailure" 1963 }, R1 = [ 1964 "categoryEvent", 1965 "labelEvent", 1966 "actionEvent", 1967 "positionEvent", 1968 "locationEvent", 1969 "eventDetails", 1970 "urlClicked", 1971 "value", 1972 "contentPosition", 1973 "flowName" 1974 ], L1 = [ 1975 "method", 1976 "source", 1977 "product", 1978 "amountType", 1979 "txnAmount", 1980 "txnCurrency", 1981 "baseAmount", 1982 "baseCurrency", 1983 "lifeTimeDeposits", 1984 "depositMethod", 1985 "depositTransactionID", 1986 "depositEventSource", 1987 "bonusStatus", 1988 "bonusType", 1989 "bonusAmount", 1990 "bonusID", 1991 "bonusName", 1992 "error", 1993 "errorCode", 1994 "fasterdeposit" 1995 ], Za = (() => { 1996 class e { 1997 trackingService = f(Yr); 1998 contentStore = f(Dl); 1999 urlAlias = f(Fl); 2000 navigationService = f(_i); 2001 logger = f(lt); 2002 userService = f(ri); 2003 idempotency = f(Xp); 2004 method = le(""); 2005 _product = ""; 2006 _productResolved = !1; 2007 get product() { 2008 if (!this._productResolved) { 2009 this._productResolved = !0; 2010 try { 2011 this._product = (Xr("productId") ?? "").toLowerCase(); 2012 } catch { 2013 this._product = ""; 2014 } 2015 } 2016 return this._product; 2017 } 2018 source = le("main cashier"); 2019 amountType = le(""); 2020 errorCode = le(""); 2021 pushPaymentContext(t) { 2022 let r = C({ 2023 method: this.method() ?? "not applicable", 2024 product: this.product, 2025 source: this.source(), 2026 txnCurrency: this.userService.currency.toLowerCase() 2027 }, t); 2028 this.trackingService.updateDataLayer({ payment: r }); 2029 } 2030 triggerDepositSuccess(t, r, s, n = "false") { 2031 let a = s === "first deposit", o = a ? an.FirstDeposit : an.Deposit; 2032 if (!this.idempotency.tryReserve(o, t.transactionId)) return this.logger.infoRemote(`[Payments]: Suppressed duplicate ${o} for txn-id: ${t.transactionId}`), !1; 2033 let l = r?.bonusCode ? "applied" : "no bonus applied", c = t.paymentMethod?.toLowerCase() || this.method() || ""; 2034 return c && !this.method() && this.method.set(c), this.pushPaymentContext({ 2035 method: c, 2036 txnAmount: t.amount.value, 2037 txnCurrency: t.amount.currencyCode, 2038 baseAmount: t.baseAmount?.value ?? "", 2039 lifeTimeDeposits: t.totalDepositCount, 2040 depositTransactionID: t.transactionId, 2041 amountType: this.amountType(), 2042 BonusStatus: l, 2043 bonusType: r?.rewardType ?? "", 2044 bonusAmount: r?.bonusAmount?.value ?? "", 2045 bonusID: r?.bonusId ?? "", 2046 bonusName: r?.bonusCode ?? "", 2047 fasterdeposit: n 2048 }), this.trackingService.triggerEvent(o, { event_name: a ? "ftd_success" : "deposit_success" }), a ? this.logger.infoRemote(`[Payments]: Triggering FTD success event for txn-id: ${t.transactionId}`) : this.logger.infoRemote(`[Payments]: Triggering deposit success event for txn-id: ${t.transactionId}`), !0; 2049 } 2050 reset() { 2051 this.method.set(""), this.amountType.set(""), this.errorCode.set(""), this.pushPaymentContext(); 2052 } 2053 triggerPaymentError(t) { 2054 this.pushPaymentContext(C(C(C(C({ error: t.error }, t.errorCode && { errorCode: t.errorCode }), t.depositMethod && { depositMethod: t.depositMethod }), t.method && { method: t.method.toLowerCase() }), t.lifeTimeDeposits && { lifeTimeDeposits: t.lifeTimeDeposits })), this.trackingService.updateDataLayer({ 2055 event: an.PaymentError, 2056 "component.CategoryEvent": "deposit error", 2057 "component.EventDetails": "not applicable", 2058 event_name: "payment_error" 2059 }), this.clearErrorContext(); 2060 } 2061 triggerInlineError(t) { 2062 this.pushPaymentContext(C({ error: t.error }, t.method && { method: t.method.toLowerCase() })), this.trackingService.updateDataLayer({ 2063 event: an.PaymentInlineError, 2064 "component.CategoryEvent": "deposit inline error", 2065 "component.EventDetails": "not applicable", 2066 event_name: "payment_inline_error" 2067 }), this.clearErrorContext(); 2068 } 2069 clearErrorContext() { 2070 this.pushPaymentContext({ 2071 error: "", 2072 errorCode: "" 2073 }); 2074 } 2075 trackEvent(t, r = an.Tracking) { 2076 let s = this.buildComponentPayload(t); 2077 Object.keys(s).length !== 0 && this.trackingService.triggerEvent(r, s); 2078 } 2079 trackPaymentEvent(t, r = an.Tracking) { 2080 let s = C(C({}, this.buildComponentPayload(t)), this.buildPaymentPayload(t)); 2081 t.depositType && (s["deposit.Type"] = t.depositType), Object.keys(s).length !== 0 && this.trackingService.triggerEvent(r, s); 2082 } 2083 trackRaw(t, r) { 2084 if (!t) return; 2085 let s = r ? C(C({}, t), r) : t, { eventName: n, declineError: a } = s, o = Ib(s, ["eventName", "declineError"]); 2086 if (n) { 2087 if (a) { 2088 let l = this.errorCode(); 2089 this.pushPaymentContext(C({ error: a }, l && { errorCode: l })), this.trackingService.updateDataLayer(C({ event: n }, o)); 2090 return; 2091 } 2092 this.trackingService.triggerEvent(n, o); 2093 } 2094 } 2095 trackFromSitecore(t, r) { 2096 if (t) try { 2097 this.trackRaw(JSON.parse(t), r); 2098 } catch { 2099 this.logger.warn("[Payments Tracking]: Failed to parse Sitecore tracking JSON"); 2100 } 2101 } 2102 trackMethodSwap(t, r) { 2103 let s = t?.name?.toLowerCase() ?? "not applicable", n = r.name?.toLowerCase() ?? "not applicable", a = this.contentStore.pageTracking("deposit", "input"); 2104 this.trackFromSitecore(a?.changePaymentMethod, { 2105 "component.PositionEvent": `${this.resolveMethodType(t)} - ${this.resolveMethodType(r)}`, 2106 "component.EventDetails": `${s} - ${n}`, 2107 "component.URLClicked": this.resolveMethodUrl(r) 2108 }); 2109 } 2110 resolveMethodUrl(t) { 2111 let r = this.urlAlias.toSlug(t.name); 2112 if (!r) return "not applicable"; 2113 let s = this.navigationService.location, n = s.culture ? `/${s.culture}` : ""; 2114 return `${s.baseUrl()}${n}${sn.depositInput(r)}`.toLowerCase(); 2115 } 2116 resolveMethodType(t) { 2117 return t ? t.popularOption ? "popular payment method" : t.bonusTargetted ? "bonus eligible payment method" : "regular payment method" : "not applicable"; 2118 } 2119 buildComponentPayload(t) { 2120 return this.mapWithPrefix(t, R1, "component."); 2121 } 2122 buildPaymentPayload(t) { 2123 return this.mapWithPrefix(t, L1, "payment."); 2124 } 2125 mapWithPrefix(t, r, s) { 2126 let n = {}; 2127 for (let a of r) { 2128 let o = t[a]; 2129 o != null && o !== "" && (n[s + String(a)] = o); 2130 } 2131 return n; 2132 } 2133 static ɵfac = function(t) { 2134 return new (t || e)(); 2135 }; 2136 static ɵprov = R({ 2137 token: e, 2138 factory: e.ɵfac, 2139 providedIn: "root" 2140 }); 2141 } 2142 return e; 2143 })(); 2144 })))(); 2145} 2146function B1(e, i) { 2147 if (!e) return !1; 2148 let t = e[i]; 2149 return typeof t == "string" && t.toUpperCase() === "Y"; 2150} 2151function zM(e, i, t) { 2152 return new Promise((r, s) => { 2153 if (e.getElementById(t)) { 2154 r(); 2155 return; 2156 } 2157 let n = e.createElement("script"); 2158 n.id = t, n.src = i, n.async = !1, n.defer = !0, n.onload = () => r(), n.onerror = () => s(/* @__PURE__ */ new Error(`Failed to load script: ${i}`)), e.head.appendChild(n); 2159 }); 2160} 2161var Qp, D1, F1, z1, G1, V1, H1, U1, W1, j1, Y1, K1, q1, Zp, eh, th, X1, J1; 2162function Q1() { 2163 return (Q1 = Z((() => {
2164 Re(), de(), Ke(), Wn(), wt(), st(), Os(), Rp(), Bp(), Dp(), Up(), Yp(), eo(), Qp = (() => { 2165 class e { 2166 triggerRegisterCard$ = new Xe(); 2167 triggerCvvSubmit$ = new Xe(); 2168 triggerApplePaySubmit$ = new Xe(); 2169 triggerGooglePaySubmit$ = new Xe(); 2170 triggerPayPalDirectSubmit$ = new Xe(); 2171 triggerCardSubmit$ = new Xe(); 2172 disableSubmitButton = le(!1); 2173 isFormSubmitting = le(!1); 2174 billingDescriptor = le("N"); 2175 static ɵfac = function(t) { 2176 return new (t || e)(); 2177 }; 2178 static ɵprov = R({ 2179 token: e, 2180 factory: e.ɵfac, 2181 providedIn: "root" 2182 }); 2183 } 2184 return e; 2185 })(), D1 = "706", F1 = "sg_payment_method_limit_block", z1 = (() => { 2186 class e { 2187 api = f(Ya); 2188 logger = f(lt); 2189 _paymentLimitBlockData = le(null); 2190 paymentLimitBlockData = this._paymentLimitBlockData.asReadonly(); 2191 resetPaymentLimitBlock() { 2192 this._paymentLimitBlockData.set(null); 2193 } 2194 setPaymentLimitBlock(t) { 2195 this._paymentLimitBlockData.set(t); 2196 } 2197 getPaymentMethodBlockStatus() { 2198 let t = this.paymentLimitBlockData(); 2199 return t ? je(t) : this.api.get(nn.deposit.paymentMethodBlock).pipe(xe((r) => r ?? null), Vr((r) => this.applyBlockState(r)), ei((r) => (this.logger.error("[PaymentLimitBlock] Failed to fetch block status", r), this.applyBlockState(null), je(null)))); 2200 } 2201 applyBlockState(t) { 2202 let r = this.isBlockResult(t); 2203 this._paymentLimitBlockData.set(r ? t : null); 2204 } 2205 isBlockResult(t) { 2206 return !!t && t.errorCode === D1 && t.errorTemplate === F1; 2207 } 2208 static ɵfac = function(t) { 2209 return new (t || e)(); 2210 }; 2211 static ɵprov = R({ 2212 token: e, 2213 factory: e.ɵfac, 2214 providedIn: "root" 2215 }); 2216 } 2217 return e; 2218 })(), G1 = "gPayAvailability", V1 = "gPayAvailabilityStatus", H1 = "initiategPay", U1 = "gPayPaymentResponse", W1 = 5e3, j1 = (() => { 2219 class e { 2220 window = f(vt); 2221 logger = f(lt); 2222 nativeAppService = f(jr); 2223 destroyRef = f(ze); 2224 bridgeReady = !1; 2225 checkNativeAvailability(t) { 2226 return Oe(this, null, function* () { 2227 this.setupBridge(); 2228 let r = Vt(this.nativeAppService.liveEventsFromNative.pipe(We((s) => s.eventName === V1), Ot(1), yA(W1), he(this.destroyRef))); 2229 this.sendToNative({ 2230 eventName: G1, 2231 parameters: t 2232 }), this.logger.info("[GPay Native] Availability request sent"); 2233 try { 2234 let s = (yield r).parameters?.gpayAllowed === !0; 2235 return this.logger.info("[GPay Native] Availability status received:", s), s; 2236 } catch (s) { 2237 return this.logger.errorRemote("[GPay Native] Timeout waiting for gPayAvailabilityStatus", s), !1; 2238 } 2239 }); 2240 } 2241 requestPaymentData(t) { 2242 this.setupBridge(); 2243 let r = this.waitForPaymentResponse(); 2244 return this.sendToNative({ 2245 eventName: H1, 2246 parameters: t 2247 }), this.logger.info("[GPay Native] Load payment data request sent"), r; 2248 } 2249 setupBridge() { 2250 if (this.bridgeReady || !this.window) return; 2251 let t = this.window; 2252 t.messageToCashier = (r) => { 2253 this.nativeAppService.onReceivedEventFromNative(r); 2254 }, this.bridgeReady = !0; 2255 } 2256 sendToNative(t) { 2257 let r = JSON.stringify(t); 2258 this.window.NativeBridge?.gpayEvents ? (this.window.NativeBridge.gpayEvents(r), this.logger.info("[GPay Native] Sent via NativeBridge.gpayEvents")) : (this.nativeAppService.sendToNative(t), this.logger.info("[GPay Native] Sent via NativeAppService.sendToNative")); 2259 } 2260 waitForPaymentResponse() { 2261 return Oe(this, null, function* () { 2262 let t = (yield Vt(this.nativeAppService.liveEventsFromNative.pipe(We((r) => r.eventName === U1), Ot(1), he(this.destroyRef)))).parameters?.paymentData; 2263 if (typeof t != "string" || t.length === 0) throw new Error("[GPay Native] gPayPaymentResponse missing paymentData"); 2264 return JSON.parse(t); 2265 }); 2266 } 2267 static ɵfac = function(t) { 2268 return new (t || e)(); 2269 }; 2270 static ɵprov = R({ 2271 token: e, 2272 factory: e.ɵfac, 2273 providedIn: "root" 2274 }); 2275 } 2276 return e; 2277 })(), Y1 = "https://pay.google.com/gp/p/js/pay.js", K1 = "google-pay-sdk", q1 = (() => { 2278 class e { 2279 config = f(Ja); 2280 window = f(vt); 2281 document = f(vi); 2282 logger = f(lt); 2283 userDataConfig = f(Gl); 2284 client = null; 2285 loadSdk() { 2286 return Oe(this, null, function* () { 2287 if (this.client) return this.client; 2288 try { 2289 yield this.injectScript(Y1, K1); 2290 let t = this.window.google?.payments?.api?.PaymentsClient; 2291 if (!t) throw new Error("Google Pay SDK not loaded"); 2292 return this.client = new t({ environment: this.config.environment }), this.client; 2293 } catch (t) { 2294 return this.logger.errorRemote("[GPay SDK] SDK load failed", t), null; 2295 } 2296 }); 2297 } 2298 checkWebAvailability() { 2299 return Oe(this, null, function* () { 2300 let t = yield this.loadSdk(); 2301 if (!t) return !1; 2302 let r = this.buildIsReadyToPayRequest(), s = yield t.isReadyToPay(r); 2303 return this.logger.info("[GPay SDK] Web availability:", s.result), s.result; 2304 }); 2305 } 2306 loadPaymentData(t) { 2307 return Oe(this, null, function* () { 2308 if (!this.client) { 2309 let r = /* @__PURE__ */ new Error("Google Pay client not available. Ensure loadSdk/checkWebAvailability is called first."); 2310 throw this.logger.errorRemote("[GPay SDK] Web client not initialized.", r), r; 2311 } 2312 return this.client.loadPaymentData(t); 2313 }); 2314 } 2315 getClient() { 2316 return this.client; 2317 } 2318 buildIsReadyToPayRequest() { 2319 let t = this.userDataConfig.data()?.configParams, r = B1(t, "creditCardBanEnabled"), s = t ? [ 2320 "AMEX", 2321 "DISCOVER", 2322 "INTERAC", 2323 "JCB", 2324 "MASTERCARD", 2325 "VISA" 2326 ] : ["MASTERCARD", "VISA"], n = this.config.allowedCardNetworks || s; 2327 t || this.logger.warnRemote("[GPay SDK] userDataConfig not yet available â using safe fallback card networks"); 2328 let a = t?.supportedNetworks; 2329 if (typeof a == "string" && a.length > 0) { 2330 let o = a.split(",").map((l) => l.trim().toUpperCase()); 2331 o.length > 0 && (n = o); 2332 } 2333 return r && (n = n.filter((o) => o !== "AMEX")), { 2334 apiVersion: 2, 2335 apiVersionMinor: 0, 2336 allowedPaymentMethods: [{ 2337 type: "CARD", 2338 parameters: { 2339 allowedAuthMethods: this.config.allowedAuthMethods || ["CRYPTOGRAM_3DS"], 2340 allowedCardNetworks: n, 2341 allowCreditCards: !r 2342 }, 2343 tokenizationSpecification: { 2344 type: "DIRECT", 2345 parameters: { 2346 protocolVersion: "ECv2", 2347 publicKey: this.config.publicKey 2348 } 2349 } 2350 }] 2351 }; 2352 } 2353 buildPaymentDataRequest(t, r) { 2354 return J(C({}, this.buildIsReadyToPayRequest()), { 2355 merchantInfo: { 2356 merchantId: this.config.merchantId, 2357 merchantName: this.config.merchantName 2358 }, 2359 transactionInfo: { 2360 totalPriceStatus: "FINAL", 2361 totalPrice: t, 2362 currencyCode: r 2363 } 2364 }); 2365 } 2366 injectScript(t, r) { 2367 return zM(this.document, t, r); 2368 } 2369 static ɵfac = function(t) { 2370 return new (t || e)(); 2371 }; 2372 static ɵprov = R({ 2373 token: e, 2374 factory: e.ɵfac, 2375 providedIn: "root" 2376 }); 2377 } 2378 return e; 2379 })(), Zp = (() => { 2380 class e { 2381 config = f(Ja); 2382 logger = f(lt); 2383 paymentEwalletToken = f(Hp); 2384 sdkService = f(q1); 2385 nativeBridge = f(j1); 2386 depositFlowStore = f(Lp); 2387 flowActions = f(Qp); 2388 _available = le(!1); 2389 available = this._available.asReadonly(); 2390 isAvailable() { 2391 return this._available(); 2392 } 2393 loadSdk() { 2394 return this.sdkService.loadSdk(); 2395 } 2396 initAvailability() { 2397 return Oe(this, null, function* () { 2398 if (!this.config.isEnabled) { 2399 this.logger.info("[GPay] Google Pay is disabled"); 2400 return; 2401 } 2402 try { 2403 if (this.config.isWebIntegrationEnabled) { 2404 let t = yield this.sdkService.checkWebAvailability(); 2405 this._available.set(t); 2406 } else { 2407 let t = this.sdkService.buildIsReadyToPayRequest(), r = yield this.nativeBridge.checkNativeAvailability(t); 2408 this._available.set(r); 2409 } 2410 } catch (t) { 2411 this.logger.errorRemote("[GPay] Availability check failed", t), this._available.set(!1); 2412 } 2413 }); 2414 } 2415 loadPaymentData(t) { 2416 return Oe(this, null, function* () { 2417 try { 2418 this.config.isWebIntegrationEnabled ? yield this.loadPaymentDataWeb(t) : yield this.loadPaymentDataNative(t); 2419 } catch (r) { 2420 throw this.logger.errorRemote("[GPay] Load payment data failed", r), r; 2421 } 2422 }); 2423 } 2424 loadPaymentDataWeb(t) { 2425 return Oe(this, null, function* () { 2426 let r = this.sdkService.buildPaymentDataRequest(t.amount, t.currency), s = yield this.sdkService.loadPaymentData(r); 2427 yield this.processPaymentData(s, t), this.logger.info("[GPay] Card registered, deposit submission triggered via DepositSubmitService"); 2428 }); 2429 } 2430 loadPaymentDataNative(t) { 2431 return Oe(this, null, function* () { 2432 let r = this.sdkService.buildPaymentDataRequest(t.amount, t.currency), s = yield this.nativeBridge.requestPaymentData(r); 2433 yield this.processPaymentData(s, t); 2434 }); 2435 } 2436 processPaymentData(t, r) { 2437 return Oe(this, null, function* () { 2438 if (!r.tokenUrl) throw new Error("[GPay] tokenUrl is missing from input details. Cannot register card."); 2439 let s = t?.paymentMethodData?.tokenizationData, n = t?.paymentMethodData?.info;
2440 if (!s?.token || !n?.cardNetwork || !n?.cardDetails) throw new Error("[GPay] Payment data missing required fields (token, cardNetwork, or cardDetails)"); 2441 let a = s.token, o = n.cardNetwork, l = n.cardDetails, c = t.shippingAddress?.name || "", d = yield this.register(a, l, o, r.tokenUrl, c); 2442 return this.depositFlowStore.googlePayResult.set({ 2443 paymentAccountId: d, 2444 cardType: o, 2445 fundingSource: "", 2446 lastDigits: l 2447 }), this.flowActions.triggerGooglePaySubmit$.next(), d; 2448 }); 2449 } 2450 register(t, r, s, n, a) { 2451 return Oe(this, null, function* () { 2452 try { 2453 let o = n.lastIndexOf("?token"), l = a || "", c; 2454 o !== -1 ? c = `${n.substring(0, o)}/gPayDecryptAndRegister?endDigits=${encodeURIComponent(r)}&cardHolderName=${encodeURIComponent(l)}&cardType=${encodeURIComponent(s)}&${n.substring(o + 1)}` : c = `${n}/gPayDecryptAndRegister?endDigits=${encodeURIComponent(r)}&cardHolderName=${encodeURIComponent(l)}&cardType=${encodeURIComponent(s)}`; 2455 let d = { gpayToken: t }; 2456 this.logger.info("[GPay] Registering card with URL:", c); 2457 let u = (yield this.paymentEwalletToken.registerCardDetails(c, d))?.body?.accounts?.[0]?.id ?? ""; 2458 return this.logger.info("[GPay] Card registered, accountId:", u), u; 2459 } catch (o) { 2460 throw this.logger.errorRemote("[GPay] Card registration failed", o), o; 2461 } 2462 }); 2463 } 2464 static ɵfac = function(t) { 2465 return new (t || e)(); 2466 }; 2467 static ɵprov = R({ 2468 token: e, 2469 factory: e.ɵfac, 2470 providedIn: "root" 2471 }); 2472 } 2473 return e; 2474 })(), eh = (() => { 2475 class e { 2476 api = f(Ya); 2477 window = f(vt); 2478 googlePay = f(Zp); 2479 cashierConfig = f(en); 2480 issuerBankNames = f(Tp); 2481 static POPULAR_ID_OFFSET = 1e5; 2482 static BANK_DISPLAY_NAMES = { 2483 "HSBC BANK PLC": "HSBC", 2484 "BARCLAYS BANK PLC": "Barclays", 2485 "LLOYDS BANK PLC": "Lloyds", 2486 NATWEST: "NatWest", 2487 "NATIONAL WESTMINSTER BANK PLC": "NatWest", 2488 "ROYAL BANK OF SCOTLAND PLC": "RBS", 2489 "SANTANDER UK PLC": "Santander", 2490 HALIFAX: "Halifax", 2491 "NATIONWIDE BUILDING SOCIETY": "Nationwide", 2492 "TSB BANK PLC": "TSB", 2493 "MOCK-PAYMENTS-GB-REDIRECT": "Monzo" 2494 }; 2495 get allOptionsUrl() { 2496 return this.cashierConfig.useV2DepositApis ? nn.deposit.allOptionsV2 : nn.deposit.allOptions; 2497 } 2498 get usedOptionsUrl() { 2499 return this.cashierConfig.useV2DepositApis ? nn.deposit.usedOptionsV2 : nn.deposit.usedOptions; 2500 } 2501 popularOptions$ = this.api.get(this.allOptionsUrl).pipe(xe((t) => J(C({}, t), { paymentMethods: J(C({}, t?.paymentMethods), { paymentMethods: this.filterPaymentMethods(t?.paymentMethods?.paymentMethods ?? []).map((r, s) => J(C({}, r), { 2502 badge: null, 2503 id: e.POPULAR_ID_OFFSET + s, 2504 isSelected: !1 2505 })) }) }))); 2506 usedOptions$ = this.api.get(this.usedOptionsUrl).pipe(xe((t) => { 2507 let r = t?.usedPaymentMethods?.usedPaymentMethods ?? [], s = this.filterPaymentMethods(this.expandTruelayerMethods(r)); 2508 return J(C({}, t), { usedPaymentMethods: J(C({}, t?.usedPaymentMethods), { usedPaymentMethods: s.map((n, a) => this.mapUsedMethod(n, a)) }) }); 2509 })); 2510 mapUsedMethod(t, r) { 2511 return J(C({}, t), { 2512 isSelected: !1, 2513 title: this.resolveTitle(t), 2514 subTitle: this.resolveSubTitle(t), 2515 isEditable: t.family === "CC", 2516 canDelete: t.family === "CC", 2517 id: r + 1, 2518 instrumentId: this.resolveInstrumentId(t), 2519 paymentAccountDetails: t.paymentAccountDetails, 2520 issuingBank: t.issuingBank, 2521 bankName: this.resolveBankDisplayName(t?.paymentAccountDetails?.bankName ?? "") 2522 }); 2523 } 2524 resolveTitle(t) { 2525 return t.name === rn.TRUELAYER ? t.paymentAccountDetails.provider_name : t.name; 2526 } 2527 resolveSubTitle(t) { 2528 return t.family === "CC" ? this.resolveBankDisplayName(t.paymentAccountDetails?.issuingBank ?? "") : t.name === rn.TRUELAYER ? "Pay by bank" : ""; 2529 } 2530 resolveBankDisplayName(t) { 2531 if (!t) return ""; 2532 let r = this.issuerBankNames.resolve(t); 2533 return r !== t ? r : e.BANK_DISPLAY_NAMES[t.toUpperCase()] ?? t; 2534 } 2535 resolveInstrumentId(t) { 2536 return t.family === "CC" ? t.instrumentId?.slice(-4) ?? "" : t.name === rn.TRUELAYER ? t.paymentAccountDetails.iban?.slice(-4) ?? "" : t.instrumentId ?? ""; 2537 } 2538 filterPaymentMethods(t) { 2539 return t.filter((r) => r.name === "APPLEPAY" || r.name === "APPLEPAYDIRECT" ? typeof this.window.ApplePaySession < "u" : r.name === "GOOGLEPAY" ? this.googlePay.isAvailable() : !0); 2540 } 2541 expandTruelayerMethods(t) { 2542 let r = t.findIndex((a) => a.name === "TRUELAYER" && !a.popularOption); 2543 if (r === -1) return t; 2544 let s = t[r]; 2545 if (!s?.instrumentInfoList?.length) return t; 2546 let n = s.instrumentInfoList.map((a, o) => J(C({}, s), { 2547 id: s.id + o, 2548 instrumentId: a.instrumentId, 2549 instrument: a.instrument, 2550 bankName: a.bankName, 2551 paymentAccountDetails: a.paymentAccountDetails 2552 })); 2553 return [ 2554 ...t.slice(0, r), 2555 ...n, 2556 ...t.slice(r + 1) 2557 ]; 2558 } 2559 static ɵfac = function(t) { 2560 return new (t || e)(); 2561 }; 2562 static ɵprov = R({ 2563 token: e, 2564 factory: e.ɵfac, 2565 providedIn: "root" 2566 }); 2567 } 2568 return e; 2569 })(), th = (() => { 2570 class e { 2571 _badges = le({}); 2572 badges = this._badges.asReadonly(); 2573 setBadges(t) { 2574 this._badges.set(t); 2575 } 2576 applyBadges(t) { 2577 let r = this._badges(); 2578 return !t || !Object.keys(r).length ? t : t.map((s) => J(C({}, s), { badge: this.getBadge(s.name, r) })); 2579 } 2580 getBadge(t, r) { 2581 if (!t) return; 2582 let s = t.trim().toLowerCase(), n = Object.values(r).find((a) => a.text && a.variant && a.paymentMethods?.some((o) => o.trim().toLowerCase() === s)); 2583 if (!(!n?.text || !n.variant)) return { 2584 type: n.variant, 2585 title: n.text 2586 }; 2587 } 2588 static ɵfac = function(t) { 2589 return new (t || e)(); 2590 }; 2591 static ɵprov = R({ 2592 token: e, 2593 factory: e.ɵfac, 2594 providedIn: "root" 2595 }); 2596 } 2597 return e; 2598 })(), X1 = (() => { 2599 class e { 2600 badgeStore = f(th); 2601 paymentMethodContent = f(qa); 2602 static ON_HOLD_BADGE_KEY = "onhold"; 2603 static BONUS_INELIGIBLE_BADGE_KEY = "bonusineligible"; 2604 enrich(t, r) { 2605 if (t.length === 0) return t; 2606 let s = this.buildContentMap(), n = this.buildBadgeMap(), a = this.resolveKeyedBadge(e.ON_HOLD_BADGE_KEY), o = this.resolveKeyedBadge(e.BONUS_INELIGIBLE_BADGE_KEY), l = s.size > 0, c = r?.isSavedMethods; 2607 return t.map((d) => { 2608 let u = d.name.toLowerCase(), h = l ? this.resolveContentMetadata(s, u) : void 0, g = this.resolveBadge(d, u, n, a, o), p = c && !d.isOnHold ? void 0 : g, m = r1(d); 2609 return !h && !p && !m ? d : C(C(C(C({}, d), h && { contentMetadata: h }), p && { badge: p }), m && { displayInstrumentId: m }); 2610 }); 2611 } 2612 resolveBadge(t, r, s, n, a) { 2613 if (t.isOnHold) return n?.info; 2614 let o = [], l = s.get(r); 2615 if (l && o.push(l), t.bonusTargetted !== !0 && a && o.push(a), o.length !== 0) return o.reduce((c, d) => d.priority < c.priority ? d : c).info; 2616 } 2617 resolveKeyedBadge(t) { 2618 let r = this.badgeStore.badges()[t]; 2619 if (!(!r?.text || !r.variant || r.priority <= 0)) return { 2620 info: { 2621 type: r.variant, 2622 title: r.text 2623 }, 2624 priority: r.priority 2625 }; 2626 } 2627 resolveContentMetadata(t, r) { 2628 return t.get(r) ?? (r.startsWith("pay_") ? t.get(r.slice(4)) : void 0); 2629 } 2630 buildContentMap() { 2631 let t = this.paymentMethodContent.content; 2632 if (!t) return /* @__PURE__ */ new Map(); 2633 let r = /* @__PURE__ */ new Map(); 2634 for (let [s, n] of Object.entries(t)) r.set(s.toLowerCase(), { 2635 displayName: n.value, 2636 logoSrc: n.logo?.src, 2637 logoWidth: n.logo?.width, 2638 logoHeight: n.logo?.height, 2639 logoAlt: n.logo?.alt || n.value 2640 }); 2641 return r; 2642 } 2643 buildBadgeMap() { 2644 let t = this.badgeStore.badges(), r = /* @__PURE__ */ new Map(); 2645 for (let s of Object.values(t)) { 2646 if (!s.text || !s.variant || !s.paymentMethods?.length || s.priority <= 0) continue; 2647 let n = { 2648 info: { 2649 type: s.variant, 2650 title: s.text 2651 }, 2652 priority: s.priority 2653 }; 2654 for (let a of s.paymentMethods) { 2655 let o = a.trim().toLowerCase(), l = r.get(o); 2656 (!l || n.priority < l.priority) && r.set(o, n); 2657 } 2658 } 2659 return r; 2660 } 2661 static ɵfac = function(t) { 2662 return new (t || e)(); 2663 }; 2664 static ɵprov = R({ 2665 token: e, 2666 factory: e.ɵfac, 2667 providedIn: "root" 2668 }); 2669 } 2670 return e; 2671 })(), J1 = (() => { 2672 class e { 2673 paymentOptions = f(eh); 2674 mapper = f(X1); 2675 destroyRef = f(ze); 2676 paymentsNav = f(Ap); 2677 journey = f(Wp); 2678 router = f(Ol); 2679 tracking = f(Za); 2680 mfdeBlockState = f(Mp); 2681 issuerBankNames = f(Tp); 2682 urlAlias = f(Fl); 2683 _selectedPayment = le(null); 2684 _selectedPaymentId = le(null); 2685 _usedOptionsData = le(null); 2686 _popularOptionsData = le(null); 2687 _loadError = le(null); 2688 loadError = this._loadError.asReadonly(); 2689 _loading = !1; 2690 _isStoredPayment = le(!1); 2691 refreshUsed$ = new Xe(); 2692 load() { 2693 this._loading || (this._loading = !0, this.issuerBankNames.load(), this.initUsedOptionsStream(), this.initPopularOptionsStream(), this.destroyRef.onDestroy(() => this.refreshUsed$.complete())); 2694 } 2695 usedMethods = ne(() => { 2696 let t = this._usedOptionsData()?.usedPaymentMethods?.usedPaymentMethods ?? [], r = this._selectedPaymentId(); 2697 return this.mapper.enrich(t.map((s) => J(C({}, s), { isSelected: s.id === r })), { isSavedMethods: !0 }); 2698 }); 2699 popularMethods = ne(() => { 2700 let t = this._popularOptionsData()?.paymentMethods?.paymentMethods ?? [], r = this._selectedPaymentId(); 2701 return this.mapper.enrich(t.map((s) => J(C({}, s), { isSelected: s.id === r }))); 2702 }); 2703 hasUsedMethods = ne(() => this.usedMethods().length > 0); 2704 hasPopularMethods = ne(() => this.popularMethods().length > 0); 2705 isOptionsReady = ne(() => this._usedOptionsData() !== null && this._popularOptionsData() !== null); 2706 selectedPayment = this._selectedPayment.asReadonly(); 2707 isStoredPayment = this._isStoredPayment.asReadonly(); 2708 cardInputDetails = le(null);
2709 binDetails = le(null); 2710 defaultSelected = ne(() => (this.hasUsedMethods() ? this.usedMethods()[0] : this.popularMethods()[0]) ?? null); 2711 resolveFromRoute(t, r) { 2712 if (!t) return; 2713 let s = this.usedMethods(), n = this.popularMethods(); 2714 if (s.length === 0 && n.length === 0) return; 2715 let a = r ? s.find((l) => this.urlAlias.matchesSlug(l.name, t) && (l.instrument === r || l.instrumentId === r)) : n.find((l) => this.urlAlias.matchesSlug(l.name, t)) ?? s.find((l) => this.urlAlias.matchesSlug(l.name, t)); 2716 if (!a) return; 2717 let o = this._selectedPayment(); 2718 o && o.id === a.id || this.selectPayment(a, !!a.instrument); 2719 } 2720 selectPayment(t, r = !1) { 2721 this._selectedPaymentId.set(t.id), this._selectedPayment.set(t), this._isStoredPayment.set(r), this.tracking.method.set(t.name?.toLowerCase() ?? ""), this.tracking.pushPaymentContext(), this.journey.methodSelected({ 2722 method: t.name, 2723 is_saved: r 2724 }); 2725 } 2726 updatePayments(t, r = !1, s = !1) { 2727 this._selectedPaymentId.set(r ? null : t.id), this._selectedPayment.set(t), this._isStoredPayment.set(s), r || (this.tracking.method.set(t.name?.toLowerCase() ?? ""), this.tracking.pushPaymentContext(), this.journey.methodSelected({ 2728 method: t.name, 2729 is_saved: s 2730 })); 2731 } 2732 clearSelection() { 2733 this._selectedPayment.set(null), this._selectedPaymentId.set(null); 2734 } 2735 selectId(t) { 2736 this._selectedPaymentId.set(t); 2737 } 2738 selectAndNavigate(t, r = !1, s = !1) { 2739 let n = this.urlAlias.toSlug(t.name), a = s ? sn.depositMyPaymentMethods(n) : sn.depositInput(n); 2740 if (this._selectedPayment()?.id === t.id && this.router.url.split("?")[0]?.endsWith(a)) return; 2741 this.selectPayment(t, r); 2742 let o = r && t.instrument ? `?instrumentId=${t.instrument}` : ""; 2743 this.paymentsNav.goToUrl(`${a}${o}`); 2744 } 2745 refreshUsedOptions() { 2746 this.refreshUsed$.next(); 2747 } 2748 initUsedOptionsStream() { 2749 this.refreshUsed$.pipe(Si(() => this.paymentOptions.usedOptions$), he(this.destroyRef)).subscribe((t) => { 2750 let r = t?.usedPaymentMethods?.usedPaymentMethods; 2751 this._usedOptionsData.set(r ? J(C({}, t), { usedPaymentMethods: J(C({}, t.usedPaymentMethods), { usedPaymentMethods: this.applyMfdeStatus(r) }) }) : t); 2752 }), this.refreshUsed$.next(); 2753 } 2754 initPopularOptionsStream() { 2755 this.paymentOptions.popularOptions$.pipe(he(this.destroyRef)).subscribe((t) => { 2756 let r = t?.paymentMethods?.paymentMethods; 2757 this._popularOptionsData.set(r ? J(C({}, t), { paymentMethods: J(C({}, t.paymentMethods), { paymentMethods: this.applyMfdeStatus(r) }) }) : t); 2758 }); 2759 } 2760 applyMfdeStatus(t) { 2761 return t.map((r) => { 2762 let s = r?.details?.userMaxFailDepStatus, n = s?.expiryTime ?? 0, a = !!s?.blocked && n > 0; 2763 return a && this.mfdeBlockState.applyBlock(t1(r), C(C({ 2764 blocked: !0, 2765 expiryTime: n 2766 }, s?.blockEndDate && { blockEndDate: s.blockEndDate }), s?.blockEndTime && { blockEndTime: s.blockEndTime })), C(C(J(C({}, r), { 2767 isOnHold: a, 2768 holdExpirySeconds: a ? n : 0 2769 }), a && s?.blockEndDate && { blockEndDate: s.blockEndDate }), a && s?.blockEndTime && { blockEndTime: s.blockEndTime }); 2770 }); 2771 } 2772 static ɵfac = function(t) { 2773 return new (t || e)(); 2774 }; 2775 static ɵprov = R({ 2776 token: e, 2777 factory: e.ɵfac, 2778 providedIn: "root" 2779 }); 2780 } 2781 return e; 2782 })(); 2783 })))(); 2784} 2785var Z1; 2786function ew() { 2787 return (ew = Z((() => { 2788 de(), Cr(), Os(), eo(), Z1 = (() => { 2789 class e { 2790 registry = /* @__PURE__ */ new Map(); 2791 dispatcher = f($p); 2792 tracking = f(Za); 2793 device = f(nr); 2794 registerAction(t, r, s) { 2795 let n = this.registry.get(t) ?? /* @__PURE__ */ new Map(); 2796 n.set(r, s), this.registry.set(t, n); 2797 } 2798 execute(t, r, s, n, a = !1) { 2799 let o = r === "primary" ? n?.primaryButton : r === "secondary" ? n?.secondaryButton : null; 2800 if (a || (r === "close" ? this.tracking.trackRaw(ja(n?.closeTrackingData, this.device.isMobile)) : this.tracking.trackRaw(ja(o?.trackingData, this.device.isMobile))), this.dispatcher.dispatch(o ?? void 0)) return !0; 2801 let l = o?.action === "emit" && o.actionValue ? o.actionValue : null, c = l && this.registry.get(s)?.get(l)?.[r] || this.registry.get(s)?.get(t)?.[r]; 2802 return c ? (c(t, n), !0) : !1; 2803 } 2804 clearActions(t) { 2805 this.registry.delete(t); 2806 } 2807 static ɵfac = function(t) { 2808 return new (t || e)(); 2809 }; 2810 static ɵprov = R({ 2811 token: e, 2812 factory: e.ɵfac, 2813 providedIn: "root" 2814 }); 2815 } 2816 return e; 2817 })(); 2818 })))(); 2819} 2820var tw, iw, ih, rh; 2821function sh() { 2822 return (sh = Z((() => { 2823 Re(), de(), Ke(), st(), tw = "0", iw = "1", ih = "2", rh = (() => { 2824 var e; 2825 let i = class { 2826 constructor() { 2827 Zi(this, e), this.cookieService = f(yr), this._isEnabled = this.getIsEnabled(), er(this, e, f(vt)); 2828 } 2829 get isEnabled() { 2830 return this._isEnabled; 2831 } 2832 toggle() { 2833 this.writeCookie(this._isEnabled ? tw : ih), this._isEnabled = this.getIsEnabled(), At(this, e).location.reload(); 2834 } 2835 writeCookie(r) { 2836 this.cookieService.putRaw(Ae.DarkMode, r, { expires: BA }); 2837 } 2838 getIsEnabled() { 2839 let r = this.cookieService.get(Ae.DarkMode); 2840 return r === ih || r === iw; 2841 } 2842 }; 2843 return e = /* @__PURE__ */ new WeakMap(), i.ɵfac = function(t) { 2844 return new (t || i)(); 2845 }, i.ɵprov = R({ 2846 token: i, 2847 factory: i.ɵfac, 2848 providedIn: "root" 2849 }), i; 2850 })(); 2851 })))(); 2852} 2853function GM(e) { 2854 return e.get(Xn); 2855}
2856function VM() { 2857 return [b_(rw)]; 2858} 2859var Xn, nh, rw; 2860function ah() { 2861 return (ah = Z((() => { 2862 Re(), de(), Ke(), wt(), yi(), st(), xs(), Ts(), Ut(), sh(), pt(), Xn = (() => { 2863 var e = class extends ii {}; 2864 let i = (e.ɵfac = (() => { 2865 let t; 2866 return function(r) { 2867 return (t || (t = Fe(e)))(r || e); 2868 }; 2869 })(), e.ɵprov = R({ 2870 token: e, 2871 factory: function(t) { 2872 let r = null; 2873 return t ? r = new t() : r = GM(ve(Ht)), r; 2874 }, 2875 providedIn: "root" 2876 }), e); 2877 return i = ht([Wt({ 2878 key: "vnGoogleAnalytics", 2879 product: it.HOST 2880 })], i), i; 2881 })(), nh = (() => { 2882 let e = class Fi { 2883 get googleAnalyticsApiEndpoint() { 2884 return `${this.navigationService.location.baseUrl()}/${this.navigationService.location.culture}/api/googleanalytics/track`; 2885 } 2886 get cookiesExpiryDate() { 2887 return this.dateTimeService.getFutureDate(1); 2888 } 2889 constructor() { 2890 this.claimsService = f(s_), this.config = f(Xn), this.cookieService = f(yr), this.darkModeService = f(rh), this.dateTimeService = f(ky), this.destroyRef = f(ze), this.frontendHelperService = f(O_), this.hostApiService = f(g_), this.localStoreService = f(ap), this.log = f(lt), this.nativeAppService = f(jr), this.navigationService = f(_i), this.rememberMeService = f(VA), this.userService = f(ri), this.webWorkerService = f(_y), this.window = f(vt), this.ga4EventsAuth = [], this.ga4EventsUnauth = [], this.isDraining = !1, this.hasPersistedQueues = !1, this.hasLoggedConsentDenial = !1, this.handleBeforeUnload = () => { 2891 this.ga4EventsUnauth.length === 0 && this.ga4EventsAuth.length === 0 || (this.persistClientId(), this.flushQueueWithBeacon(this.ga4EventsUnauth, () => this.unauthMeasurement), this.flushQueueWithBeacon(this.ga4EventsAuth, () => this.measurement), this.persistQueues()); 2892 }, this.window.addEventListener(Kr.BeforeUnload, this.handleBeforeUnload, !1), this.restoreQueues(); 2893 } 2894 ngOnDestroy() { 2895 this.window.removeEventListener(Kr.BeforeUnload, this.handleBeforeUnload, !1); 2896 } 2897 flushQueueWithBeacon(t, r) { 2898 if (t.length === 0) return; 2899 this.dropExpiredEvents(t); 2900 let s = r(); 2901 if (!this.hasClientId(s, t)) return; 2902 let n = this.takeAttributableEvents(t); 2903 for (; n.length > 0;) { 2904 let a = n.splice(0, Fi.MaxEventsPerRequest), o = new Blob([JSON.stringify(J(C({}, s), { events: a }))], { type: "application/json" }); 2905 this.window.navigator.sendBeacon(this.googleAnalyticsApiEndpoint, o); 2906 } 2907 } 2908 hasClientId(t, r) { 2909 return t.client_id ? !0 : (this.log.infoRemote(`GOOGLE_ANALYTICS: Retained ${r.length} GA4 event(s) until a client_id is available: ${this.eventNames(r)}`), !1); 2910 } 2911 takeAttributableEvents(t) { 2912 let r = this.resolveSession(); 2913 if (!r) return this.log.infoRemote(`GOOGLE_ANALYTICS: Retained ${t.length} GA4 event(s) until a GA4 session is active: ${this.eventNames(t)}`), []; 2914 let s = [], n = []; 2915 return t.forEach((a) => (this.belongsToSession(a, r) ? s : n).push(a)), t.splice(0), n.length > 0 && this.log.infoRemote(`GOOGLE_ANALYTICS: Discarded ${n.length} GA4 event(s) that predate the active session: ${this.eventNames(n)}`), this.applySessionId(s, r.id), s; 2916 } 2917 belongsToSession(t, r) { 2918 return t.timestamp_micros ? t.timestamp_micros / 1e3 >= r.startedAtMs - Fi.SessionInactivityWindowInMilliseconds : !0; 2919 } 2920 dropExpiredEvents(t) {
2921 let r = this.dateTimeService.now().getTime(), s = []; 2922 for (let n = t.length - 1; n >= 0; n--) { 2923 let a = t[n]?.timestamp_micros; 2924 a && r - a / 1e3 > Fi.MaxEventAgeInMilliseconds && s.push(...t.splice(n, 1)); 2925 } 2926 return s.length === 0 ? 0 : (this.log.infoRemote(`GOOGLE_ANALYTICS: Discarded ${s.length} GA4 event(s) too old to attribute: ${this.eventNames(s)}`), s.length); 2927 } 2928 eventNames(t) { 2929 return t.map((r) => r.name).join(", "); 2930 } 2931 applySessionId(t, r) { 2932 t.forEach((s) => { 2933 s.params && (s.params = J(C({}, s.params), { session_id: r })); 2934 }); 2935 } 2936 get isAuthenticatedOrHasWorkflow() { 2937 return !!this.claimsService.get(n_.WorkflowType); 2938 } 2939 get measurement() { 2940 return { 2941 client_id: this.cookieService.get(Ae.VnGoogleAnalyticsClientId), 2942 user_id: this.userService.accountId ?? void 0, 2943 timestamp_micros: this.getCurrentTimestampMicros(), 2944 user_properties: C(C({}, this.getCommonUserProperties("logged_in")), this.authUserProperties), 2945 events: [] 2946 }; 2947 } 2948 get unauthMeasurement() { 2949 return { 2950 client_id: this.cookieService.get(Ae.VnGoogleAnalyticsClientId), 2951 user_id: void 0, 2952 timestamp_micros: this.getCurrentTimestampMicros(), 2953 user_properties: this.getCommonUserProperties("not_logged_in"), 2954 events: [] 2955 }; 2956 } 2957 getCommonUserProperties(t) { 2958 return { 2959 appinfo: { value: this.nativeAppService.isNative ? "app traffic" : "web traffic" }, 2960 device_native: { value: this.nativeAppService.nativeMode.toLowerCase() }, 2961 page_fe: { value: this.frontendHelperService.getFrontendDescription() }, 2962 prof_country: { value: this.userService.country?.toLowerCase() }, 2963 prof_loggedin: { value: t }, 2964 remember_me: { value: this.rememberMeService.tokenExists() ? "remember me cookie - enabled" : "remember me cookie - disabled" } 2965 }; 2966 } 2967 get authUserProperties() { 2968 return { prof_customerid: { value: this.userService.accountId ?? void 0 } }; 2969 } 2970 get consentState() { 2971 let t = this.cookieService.get(Ae.GoogleTrackingConsent); 2972 if (!t) return "unresolved"; 2973 let r = new URLSearchParams(t).get("groups")?.split(",").map((s) => s.trim()).find((s) => s.startsWith(`${Fi.AnalyticsConsentGroup}:`)); 2974 return r ? r.endsWith(":1") ? "granted" : "denied" : t.includes(`${Fi.AnalyticsConsentGroup}:0`) ? "denied" : "unresolved"; 2975 } 2976 get isConsentGiven() { 2977 return this.consentState !== "denied"; 2978 } 2979 getCurrentTimestampMicros() {
2980 return this.dateTimeService.now().getTime() * 1e3; 2981 } 2982 get gaSessionCookieName() { 2983 let t = this.config.measurementId.replace("G-", ""); 2984 return `${Ae.GoogleAnalytics}_${t}`; 2985 } 2986 track(t) { 2987 if (!this.config.skipConsentCheck && !this.isConsentGiven) { 2988 this.hasLoggedConsentDenial || (this.log.infoRemote("GOOGLE_ANALYTICS: Tracking consent not given, events will be skipped"), this.hasLoggedConsentDenial = !0); 2989 return; 2990 } 2991 let r = this.cookieService.get(Ae.VnGoogleAnalyticsClientId); 2992 r || this.cookieService.get(Ae.GoogleAnalytics) && (r = this.updateClientIdCookie()); 2993 let s = this.buildEventData(t); 2994 if (!r) { 2995 this.queueEvent(s); 2996 return; 2997 } 2998 if (!this.resolveSessionId()) { 2999 this.queueEvent(s), this.scheduleEventBatch(); 3000 return; 3001 } 3002 if (this.config.measurementEndpoint) { 3003 let n = [s]; 3004 this.enrichTrackingParams(n); 3005 let a = this.isAuthenticatedOrHasWorkflow ? this.measurement : this.unauthMeasurement; 3006 if (!this.hasClientId(a, n) || !s.params?.session_id) { 3007 this.queueEvent(s), this.scheduleEventBatch(); 3008 return; 3009 } 3010 this.sendWithRetry(J(C({}, a), { events: n })); 3011 } else this.queueEvent(s), this.scheduleEventBatch(); 3012 } 3013 updateCookies() { 3014 this.updateClientIdCookie(), this.updateSessionIdCookie(); 3015 } 3016 buildEventData(t) { 3017 return { 3018 name: t.name, 3019 timestamp_micros: t.timestamp_micros ?? this.getCurrentTimestampMicros(), 3020 params: C({ 3021 clean_page_URL: this.navigationService.location.baseUrl() + this.navigationService.location.path(), 3022 consent_analytics_event: this.consentState, 3023 custom_timestamp: this.getCurrentTimestampMicros().toString(), 3024 page_hostname: this.navigationService.location.host(), 3025 page_location: this.navigationService.location.absUrl(), 3026 page_name: this.navigationService.location.path(), 3027 page_nightmode: this.darkModeService.isEnabled ? "night mode on" : "night mode off", 3028 page_referrer: this.navigationService.previousUrl, 3029 page_trackerid: this.cookieService.get(Ae.TrackerId), 3030 prof_customerid_event: this.userService.accountId || void 0, 3031 prof_loggedin_event: this.isAuthenticatedOrHasWorkflow ? "logged_in" : "not_logged_in", 3032 session_id: void 0, 3033 vn_client_id: this.cookieService.get(Ae.VnClientId) || void 0, 3034 vn_session_id: this.cookieService.get(Ae.VnSessionId) || void 0 3035 }, t.params) 3036 }; 3037 } 3038 queueEvent(t) { 3039 let r = this.isAuthenticatedOrHasWorkflow ? this.ga4EventsAuth : this.ga4EventsUnauth; 3040 if (r.length >= Fi.MaxQueueSize && (this.log.infoRemote(`GOOGLE_ANALYTICS: GA4 event queue exceeded ${Fi.MaxQueueSize} events. Flushing immediately.`), this.processBatchedEvents()), r.length >= Fi.MaxQueueSize) { 3041 let [s] = r.splice(0, 1); 3042 this.log.infoRemote(`GOOGLE_ANALYTICS: GA4 event queue is full, dropped the oldest event: ${s?.name}`); 3043 } 3044 r.push(t), this.persistQueues(); 3045 } 3046 scheduleEventBatch() { 3047 this.webWorkerService.createWorker(Cy.TrackEventsTimeout, { timeout: this.config.isConfigReady ? this.config.trackEventsTimeoutInMilliseconds : 5e3 }, () => { 3048 this.processBatchedEvents(), this.webWorkerService.removeWorker(Cy.TrackEventsTimeout); 3049 }); 3050 } 3051 processBatchedEvents() { 3052 if (!this.isDraining) { 3053 this.isDraining = !0; 3054 try { 3055 this.processBatchForQueue(this.ga4EventsUnauth, this.unauthMeasurement), this.processBatchForQueue(this.ga4EventsAuth, this.measurement), this.persistQueues(); 3056 } finally { 3057 this.isDraining = !1; 3058 } 3059 } 3060 } 3061 processBatchForQueue(t, r) { 3062 if (t.length === 0 || (this.dropExpiredEvents(t), t.length === 0 || !this.hasClientId(r, t))) return; 3063 let s = this.takeAttributableEvents(t); 3064 for (; s.length > 0;) { 3065 let n = s.splice(0, Fi.MaxEventsPerRequest), a = J(C({}, r), { events: n }); 3066 this.config.measurementEndpoint ? this.sendWithRetry(a) : this.sendEvents(a); 3067 } 3068 } 3069 updateClientIdCookie() {
3070 let t = this.persistClientId(); 3071 return t && (this.previousClientId || (this.log.infoRemote(`GOOGLE_ANALYTICS: Client ID is now available (${t}), flushing queued events`), this.processBatchedEvents()), this.previousClientId = t), t; 3072 } 3073 persistClientId() { 3074 let t = this.cookieService.get(Ae.GoogleAnalytics)?.match(this.config.gaCookieClientIdRegex)?.[1]; 3075 return t && this.cookieService.put(Ae.VnGoogleAnalyticsClientId, t, { expires: this.cookiesExpiryDate }), t; 3076 } 3077 updateSessionIdCookie() { 3078 let t = this.cookieService.get(this.gaSessionCookieName)?.match(this.config.gaCookieSessionIdRegex)?.[1]; 3079 if (t) { 3080 this.cookieService.put(Ae.VnGoogleAnalyticsSessionId, t, { expires: this.cookiesExpiryDate }); 3081 let r = !this.previousSessionId; 3082 this.previousSessionId = t, r && (this.log.infoRemote(`GOOGLE_ANALYTICS: GA4 session is now available (${t}), flushing queued events`), this.processBatchedEvents()); 3083 } 3084 } 3085 sendEvents(t) { 3086 this.enrichTrackingParams(t.events), this.hostApiService.post("googleanalytics/track", t, { 3087 keepalive: !0, 3088 showSpinner: !1 3089 }).pipe(ei((r) => (this.log.errorRemote(`GOOGLE_ANALYTICS: Failed to track GA4 ${t.user_properties.prof_loggedin.value} events (backend API): ${JSON.stringify(t)}`, r), je(null))), he(this.destroyRef)).subscribe(); 3090 } 3091 sendWithRetry(t, r = 0) { 3092 if (!this.config.measurementEndpoint) return; 3093 let s = t.user_properties.prof_loggedin.value, n = `GOOGLE_ANALYTICS: Failed to track GA4 ${s} events after ${this.config.retryCount} retries (frontend API): ${JSON.stringify(t)}`; 3094 this.window.fetch(this.config.measurementEndpoint, { 3095 method: "POST", 3096 body: JSON.stringify(t), 3097 keepalive: !0 3098 }).then((a) => { 3099 a.ok ? this.log.infoRemote(`GOOGLE_ANALYTICS: Successfully tracked GA4 ${s} event (frontend API): ${JSON.stringify(t)}`) : r < this.config.retryCount ? this.sendWithRetry(t, r + 1) : this.log.errorRemote(n, a); 3100 }, (a) => { 3101 a instanceof TypeError ? this.log.infoRemote(`GOOGLE_ANALYTICS: Frontend GA4 request failed; falling back to backend API (${a.name}: ${a.message}): ${JSON.stringify(t)}`) : this.log.errorRemote(n, a), this.sendEvents(t); 3102 }); 3103 } 3104 syncGaCookies() { 3105 let t = this.cookieService.get(this.gaSessionCookieName), r = this.cookieService.get(Ae.VnGoogleAnalyticsSessionId), s = this.cookieService.get(Ae.GoogleAnalytics), n = this.cookieService.get(Ae.VnGoogleAnalyticsClientId), a = !r || t && !t.includes(r), o = !n || s && !s.includes(n); 3106 return a || o ? (this.updateCookies(), !0) : !1; 3107 } 3108 enrichTrackingParams(t) { 3109 this.syncGaCookies(); 3110 let r = this.resolveSessionId(); 3111 r && this.applySessionId(t, r); 3112 } 3113 persistQueues() { 3114 if (this.ga4EventsAuth.length === 0 && this.ga4EventsUnauth.length === 0) { 3115 this.hasPersistedQueues && (this.localStoreService.remove(kl.GoogleAnalyticsEventQueue), this.hasPersistedQueues = !1); 3116 return; 3117 } 3118 this.localStoreService.set(kl.GoogleAnalyticsEventQueue, { 3119 auth: this.ga4EventsAuth, 3120 unauth: this.ga4EventsUnauth 3121 }), this.hasPersistedQueues = !0; 3122 } 3123 readStoredQueues() { 3124 try { 3125 return this.localStoreService.get(kl.GoogleAnalyticsEventQueue); 3126 } catch (t) { 3127 return this.log.infoRemote(`GOOGLE_ANALYTICS: Could not restore the GA4 event queue, discarding it: ${t}`), this.localStoreService.remove(kl.GoogleAnalyticsEventQueue), null; 3128 } 3129 } 3130 restoreQueues() { 3131 let t = this.readStoredQueues(); 3132 t && (this.hasPersistedQueues = !0, Array.isArray(t.auth) && this.ga4EventsAuth.push(...t.auth), Array.isArray(t.unauth) && this.ga4EventsUnauth.push(...t.unauth), this.dropExpiredEvents(this.ga4EventsAuth) + this.dropExpiredEvents(this.ga4EventsUnauth) > 0 && this.persistQueues(), (this.ga4EventsAuth.length > 0 || this.ga4EventsUnauth.length > 0) && this.scheduleEventBatch()); 3133 } 3134 resolveSessionId() { 3135 return this.resolveSession()?.id; 3136 } 3137 resolveSession() { 3138 let t = this.cookieService.get(this.gaSessionCookieName); 3139 if (!t) return; 3140 let r = t.match(this.config.gaCookieSessionIdRegex)?.[1]; 3141 if (!r || !this.isSessionActive(t)) return; 3142 let s = parseInt(r, 10); 3143 return { 3144 id: r, 3145 startedAtMs: isNaN(s) ? 0 : s * 1e3 3146 }; 3147 } 3148 isSessionActive(t) {
3149 let r = t.match(Fi.GaCookieLastActivityRegex)?.[1]; 3150 if (!r) return !0; 3151 let s = parseInt(r, 10); 3152 if (isNaN(s) || s <= 0) return !1; 3153 let n = this.dateTimeService.now().getTime() - s * 1e3; 3154 return n >= -Fi.MaxClockSkewInMilliseconds && n <= Fi.SessionInactivityWindowInMilliseconds; 3155 } 3156 }; 3157 return e.MaxEventsPerRequest = 25, e.MaxQueueSize = 25, e.SessionInactivityWindowInMilliseconds = 18e5, e.MaxClockSkewInMilliseconds = 3e5, e.MaxEventAgeInMilliseconds = 1728e5, e.GaCookieLastActivityRegex = /\$t(\d+)/, e.AnalyticsConsentGroup = "C0002", e.ɵfac = function(i) { 3158 return new (i || e)(); 3159 }, e.ɵprov = R({ 3160 token: e, 3161 factory: e.ɵfac, 3162 providedIn: "root" 3163 }), e; 3164 })(), rw = (() => { 3165 let e = class { 3166 constructor() { 3167 this.config = f(Xn), this.googleAnalyticsService = f(nh), this.googleAnalyticsCoreService = f(My); 3168 } 3169 onFeatureInit() { 3170 return Oe(this, null, function* () { 3171 yield Vt(this.config.whenReady), this.googleAnalyticsCoreService.set(this.googleAnalyticsService); 3172 }); 3173 } 3174 }; 3175 return e.ɵfac = function(i) { 3176 return new (i || e)(); 3177 }, e.ɵprov = R({ 3178 token: e, 3179 factory: e.ɵfac 3180 }), e; 3181 })(); 3182 })))(); 3183} 3184var sw; 3185function nw() { 3186 return (nw = Z((() => { 3187 de(), st(), ah(), sw = (() => { 3188 class e { 3189 cookieService = f(yr); 3190 gaConfig = f(Xn); 3191 nativeAppService = f(jr); 3192 get gaSessionId() { 3193 let t = this.gaConfig.measurementId?.replace("G-", ""); 3194 if (!t) return; 3195 let r = this.cookieService.get(`${Ae.GoogleAnalytics}_${t}`); 3196 if (r) return r.match(this.gaConfig.gaCookieSessionIdRegex)?.[1] || void 0; 3197 } 3198 get gaClientId() { 3199 let t = this.cookieService.get(Ae.GoogleAnalytics); 3200 if (t) return t.match(this.gaConfig.gaCookieClientIdRegex)?.[1] || void 0; 3201 }
3202 get entryUrl() { 3203 return this.cookieService.get(Ae.EntryUrl) || void 0; 3204 } 3205 get nativeApp() { 3206 let t = this.nativeAppService.applicationName; 3207 return t && t.toLowerCase() !== "unknown" ? t : void 0; 3208 } 3209 static ɵfac = function(t) { 3210 return new (t || e)(); 3211 }; 3212 static ɵprov = R({ 3213 token: e, 3214 factory: e.ɵfac, 3215 providedIn: "root" 3216 }); 3217 } 3218 return e; 3219 })(); 3220 })))(); 3221} 3222var aw, ow, lw, cw, dw, uw, pw, hw, mw, fw, gw; 3223function vw() { 3224 return (vw = Z((() => { 3225 aw = { 3226 DEPOSIT_OPTIONS: "DEPOSIT_OPTIONS", 3227 DEPOSIT_OPTIONS_BELOW_SAVED: "DEPOSIT_OPTIONS_BELOW_SAVED", 3228 DEPOSIT_OPTIONS_MODAL_ABOVE_TITLE: "DEPOSIT_OPTIONS_MODAL_ABOVE_TITLE", 3229 DEPOSIT_INPUT: "DEPOSIT_INPUT", 3230 DEPOSIT_FORM_TOP: "DEPOSIT_FORM_TOP", 3231 DEPOSIT_PAYMENT_FORM_ABOVE_TITLE: "DEPOSIT_PAYMENT_FORM_ABOVE_TITLE", 3232 DEPOSIT_PAYMENT_FORM_BELOW_TITLE: "DEPOSIT_PAYMENT_FORM_BELOW_TITLE", 3233 DEPOSIT_SUCCESS: "DEPOSIT_SUCCESS", 3234 DEPOSIT_ERRORS: "DEPOSIT_ERRORS", 3235 DEPOSIT_INLINE: "DEPOSIT_INLINE", 3236 DEPOSIT_IT_PROTOCOL: "DEPOSIT_IT_PROTOCOL", 3237 IRELAND_WALLET_INFO: "IRELAND_WALLET_INFO", 3238 WITHDRAWAL: "WITHDRAWAL", 3239 WITHDRAWAL_TOP: "WITHDRAWAL_TOP", 3240 WITHDRAWAL_IT_PROTOCOL: "WITHDRAWAL_IT_PROTOCOL", 3241 WITHDRAWAL_ABOVE_SUBMIT: "WITHDRAWAL_ABOVE_SUBMIT", 3242 WITHDRAWAL_PAYMENT_FORM_ABOVE_TITLE: "WITHDRAWAL_PAYMENT_FORM_ABOVE_TITLE", 3243 WITHDRAWAL_PAYMENT_FORM_BELOW_TITLE: "WITHDRAWAL_PAYMENT_FORM_BELOW_TITLE", 3244 WITHDRAWAL_SUCCESS: "WITHDRAWAL_SUCCESS", 3245 QD_IRELAND_WALLET_MESSAGES: "QD_IRELAND_WALLET_MESSAGES", 3246 QD_IRELAND_GAMING_LIMIT: "QD_IRELAND_GAMING_LIMIT", 3247 QD_IT_PROTOCOL: "QD_IT_PROTOCOL", 3248 IREALAND_GAMING_LIMIT: "IREALAND_GAMING_LIMIT", 3249 IRELAND_WALLET_TOASTERS: "IRELAND_WALLET_TOASTERS", 3250 EDIT_CARD: "EDIT_CARD", 3251 UK_LCCP_DEPOSIT_LIMIT_MESSAGES: "UK_LCCP_DEPOSIT_LIMIT_MESSAGES", 3252 CO_DEPOSIT_LIMIT_MESSAGES: "CO_DEPOSIT_LIMIT_MESSAGES", 3253 GDL_FRA_LTM: "GDL_FRA_LTM", 3254 DEPOSIT_DECLINED: "DEPOSIT_DECLINED", 3255 POPUP: "POPUP" 3256 }, ow = { 3257 CARD_UPDATE: "editcard/card-update",
3258 CARD_DELETE: "editcard/card-delete", 3259 CARD_ERROR: "editcard/card-error", 3260 PAYMENT_LIMIT_BLOCK: "deposit/payment_limit_block", 3261 DEPOSIT_CURFEW: "deposit/deposit_curfew", 3262 PLAY_BREAK: "deposit/play_break", 3263 COMMON_ERROR: "common-error", 3264 POP_UP_BLOCKED: "deposit/popup_blocked_message", 3265 TRUELAYER_DELETE: "deposit/truelayer/delete-instrument", 3266 TRUELAYER_DELETE_ON_LIMIT: "deposit/truelayer/delete-instrument-on-limit", 3267 ARC_INTERVENTION: "Arc/intervention_message", 3268 ADA_BLOCKED: "Ada/blocked", 3269 ADA_SUCCESS_LIMIT: "Ada/success-limit", 3270 RG_SUCCESS_THRESHOLD: "success/rg-success/success-threshold", 3271 RG_SUCCESS_THRESHOLD_KYC: "success/rg-success/success-threshold-kyc", 3272 DPAN_BIN_EXCLUDED: "success/DPAN/dpan-bonus", 3273 RG_LIMIT_PARTIAL: "RG-limit/rg-limit-partial", 3274 RG_LIMIT_EXCEEDED: "RG-limit/rg-limit-exceeded", 3275 SESSION_LIMIT_BREACHED: "SessionLimit/session-limit-breached", 3276 SESSION_TIME_LIMIT_REACHED: "SessionLimit/session-time-limit-reached", 3277 BV_RISK_REJECT_BANNER: "Deposit/Decline/bv_risk_rejected_", 3278 WITHDRAWAL_NO_ELIGIBLE_METHODS: "Withdrawal/no-eligible-methods", 3279 NOT_ELIGIBLE_FOR_WITHDRAWALS: "Withdrawal/not-eligible-for-withdrawals", 3280 PAZE_ERROR_SESSION: "Deposit/Decline/paze/session", 3281 PAZE_ERROR_CONNECTION: "Deposit/Decline/paze/connection", 3282 PAZE_ERROR_GENERIC: "Deposit/Decline/paze/generic" 3283 }, lw = { 3284 BLOCKED: "withdrawal/ireland-msgs/ireland-wallet-blocked", 3285 KYC_PENDING: "withdrawal/ireland-msgs/ireland-wallet-kyc-pending", 3286 SPORTS_KYC_PENDING_INFO: "withdrawal/ireland-msgs/ireland-sports-kyc-pending-info", 3287 WALLET_PRIORITY: "withdrawal/ireland-msgs/ireland-wallet-priority" 3288 }, cw = { 3289 SPORTS_KYC_PENDING: "deposit/ireland/sports-kyc-pending", 3290 GAMING_UNVERF_EXHAUSTED: "deposit/ireland/gaming-unverf-exhausted", 3291 GAMING_PENDING: "deposit/ireland/gaming-pending", 3292 GAMING_PENDING_EXHAUSTED: "deposit/ireland/gaming-pending-exhausted", 3293 GAMING_MIN_LIMIT: "deposit/ireland/gaming-limit-lessthan-minlimit", 3294 GAMING_PENDING_LIMIT_AVAILABLE: "deposit/ireland/gaming-pending-limit-available", 3295 GAMING_UNVERF_LIMIT_AVAILABLE: "deposit/ireland/gaming-unver-limit-available", 3296 GAMING_PENDING_MINLIMIT: "deposit/ireland/gaming-pending-minlimit", 3297 WALLET_SELECTION: "deposit/ireland/wallet-selection" 3298 }, dw = { 3299 FULLY_BLOCKED: "deposit/qd/ireland-msgs/fully-blocked", 3300 VERIFICATION_IN_PROGRESS: "deposit/qd/ireland-msgs/verification-in-progress", 3301 PENDING_LIMIT_AVAILABLE: "deposit/qd/ireland-msgs/pending-limit-available", 3302 SPORTS_UNVERIFIED: "deposit/qd/ireland-msgs/sports-unverified", 3303 SPORTS_KYC_PENDING: "deposit/qd/ireland-msgs/sports-kyc-pending", 3304 SPORTS_KYC_PENDING_DISMISSED: "deposit/qd/ireland-msgs/sports-kyc-pending-dismissed", 3305 GAMING_MIN_LIMIT: "deposit/qd/ireland-msgs/gaming-limit-lessthan-minlimit", 3306 GAMING_PENDING_MIN_LIMIT: "deposit/qd/ireland-msgs/gaming-pending-minlimit", 3307 GAMING_UNVERF_LIMIT_AVAILABLE: "deposit/qd/ireland-msgs/gaming-unver-limit-available", 3308 GAMING_KYC_PENDING_LIMIT_AVAILABLE: "deposit/qd/ireland-msgs/gaming-kyc-pending-limit-available" 3309 }, uw = { 3310 GROSS_LIMIT_ADJUSTABLE_STATE: "deposit/uk/lccp/gross-limit-available", 3311 NET_LIMIT_ADJUSTABLE_STATE: "deposit/uk/lccp/net-limit-available", 3312 GROSS_LIMIT_BLOCKING_STATE: "deposit/uk/lccp/gross-limit-blocked", 3313 NET_LIMIT_BLOCKING_STATE: "deposit/uk/lccp/net-limit-blocked" 3314 }, pw = { 3315 AGENT_GROSS_LIMIT_ADJUSTABLE_STATE: "deposit/uk/lccp/agent-gross-limit-available", 3316 AGENT_NET_LIMIT_ADJUSTABLE_STATE: "deposit/uk/lccp/agent-net-limit-available", 3317 AGENT_GROSS_LIMIT_BLOCKING_STATE: "deposit/uk/lccp/agent-gross-limit-blocked", 3318 AGENT_NET_LIMIT_BLOCKING_STATE: "deposit/uk/lccp/agent-net-limit-blocked" 3319 }, hw = { 3320 GDL_FRA_LIMIT_EXCEEDED: "deposit/Uk/gdl-fra/gdl-fra-limit-exceeded", 3321 GDL_FRA_LIMIT_TO_BE_EXCEEDED: "deposit/Uk/gdl-fra/gdl-fra-limit-to-be-exceeded" 3322 }, mw = { APPLEPAY_FUNDS_BLOCK: "deposit/BlockCommercialFunds/applepay-funds-block" }, fw = { 3323 REMINDER: "deposit/Colorado/deposits-limit-reminder", 3324 EXHAUSTED: "deposit/Colorado/deposits-limit-exhausted" 3325 }, gw = { 3326 DEPOSIT: "deposit/italy/it_protocol_error", 3327 WITHDRAWAL: "withdrawal/italy/it_protocol_error", 3328 QD: "deposit/qd/italy/it_protocol_error" 3329 }; 3330 })))(); 3331} 3332function Sw(e, i, t) { 3333 let r = (s) => s && t(s, ...i); 3334 return J(C({}, e), { 3335 title: r(e.title), 3336 text: r(e.text) ?? e.text, 3337 loadTrackingData: oh(e.loadTrackingData, i, t), 3338 closeTrackingData: oh(e.closeTrackingData, i, t), 3339 primaryButton: e.primaryButton ? bw(e.primaryButton, r, i, t) : e.primaryButton, 3340 secondaryButton: e.secondaryButton ? bw(e.secondaryButton, r, i, t) : e.secondaryButton 3341 }); 3342} 3343function bw(e, i, t, r) { 3344 return J(C({}, e), { 3345 text: i(e.text), 3346 actionValue: i(e.actionValue), 3347 trackingData: oh(e.trackingData, t, r), 3348 actionData: e.actionData ? HM(e.actionData, i) : e.actionData 3349 }); 3350} 3351function oh(e, i, t) { 3352 if (!e) return e; 3353 let r = i.map((n) => n?.toLowerCase() ?? ""), s = {}; 3354 for (let [n, a] of Object.entries(e)) s[n] = t(a, ...r); 3355 return s; 3356} 3357function HM(e, i) { 3358 let t = {}; 3359 for (let [r, s] of Object.entries(e)) t[r] = i(s) ?? s; 3360 return t; 3361} 3362var lh, ch, yw; 3363function ww() { 3364 return (ww = Z((() => {
3365 Re(), de(), uy(), wt(), st(), Cr(), Os(), eo(), lh = (() => { 3366 class e { 3367 api = f(tn); 3368 logger = f(lt); 3369 cachedContent = le(/* @__PURE__ */ new Map()); 3370 getBannerContent(t) { 3371 let r = this.cachedContent(), s = [], n = []; 3372 if (t.forEach((o) => { 3373 let l = r.get(o.toLowerCase()); 3374 l ? s.push(l) : n.push(o); 3375 }), n.length === 0) return je(s); 3376 let a = { messageNames: n }; 3377 return this.api.get("MessageContent/content", a).pipe(xe((o) => { 3378 if (!o || !o.messages || typeof o.messages != "object") return this.logger.error("MessageContent API returned invalid response", o), s; 3379 let l = Object.entries(o.messages).map(([c, d]) => ({ 3380 id: c, 3381 title: d.title ?? "", 3382 text: d.text ?? "", 3383 messageType: d.messageType ?? "info", 3384 displayType: d.displayType ?? "inline", 3385 showCloseButton: d.showCloseButton ?? !0, 3386 itemType: d.itemType ?? void 0, 3387 position: d.position ?? void 0, 3388 inverse: d.inverse ?? !1, 3389 primaryButton: d.primaryButton ?? {}, 3390 secondaryButton: d.secondaryButton ?? {}, 3391 loadTrackingData: d.loadTrackingData ?? {}, 3392 closeTrackingData: d.closeTrackingData ?? {} 3393 })); 3394 return this.cachedContent.update((c) => { 3395 let d = new Map(c); 3396 return l.forEach((u) => d.set(u.id.toLowerCase(), u)), d; 3397 }), [...s, ...l]; 3398 })); 3399 } 3400 clearCache(t) { 3401 t ? this.cachedContent.update((r) => { 3402 let s = new Map(r); 3403 return t.forEach((n) => s.delete(n.toLowerCase())), s; 3404 }) : this.cachedContent.set(/* @__PURE__ */ new Map()); 3405 } 3406 static ɵfac = function(t) { 3407 return new (t || e)(); 3408 }; 3409 static ɵprov = R({ 3410 token: e, 3411 factory: e.ɵfac, 3412 providedIn: "root" 3413 }); 3414 } 3415 return e; 3416 })(), ch = new Te("BannerPopupOpener"), yw = (() => { 3417 class e { 3418 bannerContentService = f(lh); 3419 destroyRef = f(ze); 3420 logger = f(lt); 3421 device = f(nr); 3422 utils = f(py); 3423 tracking = f(Za); 3424 queue = le(/* @__PURE__ */ new Map()); 3425 idCounter = 0; 3426 openPopups = /* @__PURE__ */ new Set(); 3427 positionedBannersCache = /* @__PURE__ */ new Map(); 3428 popupOpener = f(ch, { optional: !0 }); 3429 getBannersForPosition(t) { 3430 let r = this.positionedBannersCache.get(t); 3431 return r || (r = ne(() => this.queue().get(t) || []), this.positionedBannersCache.set(t, r)), r; 3432 } 3433 fetch(t) { 3434 return this.bannerContentService.getBannerContent(t); 3435 } 3436 loadBanner(t, r, s, n) { 3437 let a = Array.isArray(t) ? t : [t]; 3438 this.loadBanners(a, r, s, n); 3439 } 3440 showTemporaryBanner(t, r, s, n = d1) { 3441 this.loadBanner(t, r, s), setTimeout(() => this.clear(r), n); 3442 } 3443 loadBanners(t, r, s, n) { 3444 this.fetch(t).pipe(he(this.destroyRef)).subscribe({ 3445 next: (a) => a.forEach((o, l) => { 3446 let c = s ? Sw(o, s, this.utils.format.bind(this.utils)) : o; 3447 n && (c = this.applyActionDataOverride(c, n)); 3448 let d = c.id || t[l] || this.generateId(); 3449 this.shouldShowAsPopup(c.displayType) ? this.openModal(J(C({}, c), { id: d })) : this.add(J(C({}, c), { id: d }), r); 3450 }), 3451 error: (a) => this.logger.error("Failed to load banner content", a) 3452 }); 3453 } 3454 shouldShowAsPopup(t) { 3455 switch (t) { 3456 case "popup": return !0; 3457 case "inline-popup": return this.device.isMobile; 3458 case "popup-inline": return !this.device.isMobile; 3459 default: return !1; 3460 } 3461 } 3462 openPopup(t) { 3463 this.fetch([t]).pipe(he(this.destroyRef)).subscribe({ 3464 next: (r) => { 3465 let s = r[0]; 3466 s && this.openModal(J(C({}, s), { id: s.id || this.generateId() })); 3467 }, 3468 error: (r) => this.logger.error("Failed to load popup content", r) 3469 }); 3470 } 3471 add(t, r = "default") { 3472 if (!t) { 3473 this.logger.error("Attempted to add invalid banner config"); 3474 return; 3475 } 3476 let s = t.id || this.generateId(), n = J(C({}, t), { id: s }); 3477 this.queue.update((a) => { 3478 let o = new Map(a), l = (o.get(r) ?? []).filter((c) => c.id !== s); 3479 return o.set(r, [...l, n]), o; 3480 }), this.tracking.trackRaw(ja(t.loadTrackingData, this.device.isMobile)); 3481 } 3482 remove(t, r = "default") { 3483 this.queue.update((s) => { 3484 let n = new Map(s), a = n.get(r) ?? []; 3485 return n.set(r, a.filter((o) => o.id !== t)), n; 3486 }); 3487 } 3488 clear(t) { 3489 t ? this.queue.update((r) => { 3490 let s = new Map(r); 3491 return s.delete(t), s; 3492 }) : this.queue.set(/* @__PURE__ */ new Map()); 3493 } 3494 openModal(t) { 3495 let r = t.id; 3496 !r || this.openPopups.has(r) || (this.openPopups.add(r), this.popupOpener ? (this.popupOpener(t).subscribe(() => this.openPopups.delete(r)), this.tracking.trackRaw(ja(t.loadTrackingData, this.device.isMobile))) : (this.logger.warn("[BannerQueue] No popup opener registered â provide BANNER_POPUP_OPENER token"), this.openPopups.delete(r))); 3497 } 3498 generateId() { 3499 return `banner-${Date.now()}-${++this.idCounter}`; 3500 } 3501 applyActionDataOverride(t, r) { 3502 return J(C({}, t), {
3503 primaryButton: t.primaryButton ? J(C({}, t.primaryButton), { actionData: C(C({}, t.primaryButton.actionData), r) }) : t.primaryButton, 3504 secondaryButton: t.secondaryButton ? J(C({}, t.secondaryButton), { actionData: C(C({}, t.secondaryButton.actionData), r) }) : t.secondaryButton 3505 }); 3506 } 3507 static ɵfac = function(t) { 3508 return new (t || e)(); 3509 }; 3510 static ɵprov = R({ 3511 token: e, 3512 factory: e.ɵfac, 3513 providedIn: "root" 3514 }); 3515 } 3516 return e; 3517 })(); 3518 })))(); 3519} 3520function UM(e) { 3521 return e.get(Ul); 3522} 3523function WM() { 3524 return [Al(Ew), FA(Cw)]; 3525} 3526var Ul, Wl, Ew, Cw, dh; 3527function Nw() { 3528 return (Nw = Z((() => { 3529 Re(), de(), Ke(), wt(), yi(), st(), ks(), xs(), Ts(), R_(), Ut(), pt(), Ul = (() => { 3530 var e = class extends ii {}; 3531 let i = (e.ɵfac = (() => { 3532 let t; 3533 return function(r) { 3534 return (t || (t = Fe(e)))(r || e); 3535 }; 3536 })(), e.ɵprov = R({ 3537 token: e, 3538 factory: function(t) { 3539 let r = null; 3540 return t ? r = new t() : r = UM(ve(Ht)), r; 3541 }, 3542 providedIn: "root" 3543 }), e); 3544 return i = ht([Wt({ 3545 key: "vnBalanceProperties", 3546 product: it.SF 3547 })], i), i; 3548 })(), Wl = (() => { 3549 let e = class { 3550 get balanceProperties() { 3551 return this.balancePropertiesEvents; 3552 } 3553 constructor() { 3554 this.userService = f(ri), this.apiService = f(Il), this.balanceSettingsConfig = f(p_), this.balanceInfo = le(null), this.balancePropertiesEvents = new Gt(null), this.refresh$ = new Xe(), this.propagateAccumulator = !1, this.refresh$.pipe(Vr((t) => { 3555 this.propagateAccumulator = this.propagateAccumulator || t; 3556 }), vA(1e3, hA, { 3557 leading: !0, 3558 trailing: !0 3559 }), Si(() => { 3560 let t = this.propagateAccumulator; 3561 return this.propagateAccumulator = !1, this.apiService.get("balance", void 0, { showSpinner: !1 }).pipe(xe((r) => ({ 3562 response: r, 3563 propagate: t 3564 }))); 3565 })).subscribe(({ response: t, propagate: r }) => { 3566 this.balanceInfo.set(J(C({}, t.balance), { propagateRefresh: r })), this.balancePropertiesEvents.next(J(C({}, t.balance), { propagateRefresh: r })); 3567 }); 3568 } 3569 refresh(t = !0) { 3570 this.userService.isAuthenticated && this.refresh$.next(t); 3571 } 3572 update(t) { 3573 this.balanceInfo.set(t), this.balancePropertiesEvents.next(t); 3574 } 3575 transfer(t) { 3576 return this.apiService.post("balance/transfer", t); 3577 } 3578 isLow(t) { 3579 let r = this.balanceSettingsConfig.lowThresholds[this.userService.currency] || this.balanceSettingsConfig.lowThresholds["*"]; 3580 return r == null ? !1 : t <= r; 3581 } 3582 }; 3583 return e.ɵfac = function(i) { 3584 return new (i || e)(); 3585 }, e.ɵprov = R({ 3586 token: e, 3587 factory: e.ɵfac, 3588 providedIn: "root" 3589 }), e; 3590 })(), Ew = (() => { 3591 var e; 3592 let i = class { 3593 constructor() { 3594 Zi(this, e), this.balancePropertiesService = f(Wl), this.balancePropertiesConfig = f(Ul), this.userService = f(ri), this.nativeAppService = f(jr), this.zone = f(qs), this.trackingService = f(Yr), this.balancePropertiesCoreService = f(LA), er(this, e, f(vt)); 3595 } 3596 onFeatureInit() { 3597 return Oe(this, null, function* () { 3598 yield Vt(this.balancePropertiesConfig.whenReady), this.balancePropertiesService.update(this.balancePropertiesConfig.balanceProperties), this.balancePropertiesCoreService.set(this.balancePropertiesService), this.userService.events.pipe(We((r) => r instanceof ip)).subscribe(() => { 3599 this.balancePropertiesService.refresh(); 3600 }), this.zone.runOutsideAngular(() => { 3601 At(this, e).addEventListener(Kr.Focus, () => { 3602 this.userService.isAuthenticated && this.balancePropertiesService.refresh(!1); 3603 }); 3604 }), this.nativeAppService.eventsFromNative.subscribe((r) => { 3605 let s = r.eventName.toUpperCase(); 3606 s === za.GETBALANCE ? this.nativeAppService.sendToNative({ 3607 eventName: za.USERBALANCE, 3608 parameters: { 3609 amount: this.balancePropertiesConfig.balanceProperties.accountBalance, 3610 currencyCode: this.userService.currency 3611 } 3612 }) : s === za.UPDATEBALANCE && this.balancePropertiesService.refresh(); 3613 }), this.balancePropertiesService.balanceProperties.pipe(We(Boolean)).subscribe((r) => { 3614 this.userService.triggerEvent(new Sy(/* @__PURE__ */ new Map([["balanceProperties", r]]))), this.trackingService.triggerEvent($l.BalanceRefresh, { 3615 "user.profile.bal": r.accountBalance, 3616 "user.profile.previousBal": this.balancePropertiesConfig.balanceProperties.accountBalance 3617 }); 3618 }); 3619 }); 3620 } 3621 }; 3622 return e = /* @__PURE__ */ new WeakMap(), i.ɵfac = function(t) { 3623 return new (t || i)(); 3624 }, i.ɵprov = R({ 3625 token: i, 3626 factory: i.ɵfac 3627 }), i; 3628 })(), Cw = (() => { 3629 let e = class { 3630 constructor() { 3631 this.dslRecorderService = f(RA), this.intlService = f(L_), this.balancePropertiesService = f(Wl), this.dslCacheService = f(HA); 3632 let t = this.balancePropertiesService, r = this.dslCacheService; 3633 t.balanceProperties.pipe(he()).subscribe((s) => { 3634 this.balanceProperties = s, r.invalidate(["balance"]); 3635 }); 3636 } 3637 getProviders() { 3638 let t = this.dslRecorderService.createRecordable("balance"), r = (s, n) => { 3639 t.createProperty({ 3640 name: s, 3641 get: () => this.balanceProperties ? n(this.balanceProperties) : GA, 3642 deps: ["balance"] 3643 }); 3644 }; 3645 return r("AccountBalance", (s) => s.accountBalance), r("PayPalBalance", (s) => s.payPalBalance), r("PayPalRestrictedBalance", (s) => s.payPalRestrictedBalance), r("PayPalCashoutableBalance", (s) => s.payPalCashoutableBalance), r("BalanceForGameType", (s) => s.balanceForGameType), r("BonusWinningsRestrictedBalance", (s) => s.bonusWinningsRestrictedBalance), r("CashoutRestrictedBalance", (s) => s.cashoutRestrictedBalance), r("CashoutableBalance", (s) => s.cashoutableBalance), r("CashoutableBalanceReal", (s) => s.cashoutableBalanceReal), r("AvailableBalance", (s) => s.availableBalance), r("DepositRestrictedBalance", (s) => s.depositRestrictedBalance), r("InPlayAmount", (s) => s.inPlayAmount), r("ReleaseRestrictedBalance", (s) => s.releaseRestrictedBalance), r("PlayMoneyBalance", (s) => s.playMoneyBalance), r("PlayMoneyInPlayAmount", (s) => s.playMoneyInPlayAmount), r("OwedAmount", (s) => s.owedAmount), r("TaxWithheldAmount", (s) => s.taxWithheldAmount), r("PokerWinningsRestrictedBalance", (s) => s.pokerWinningsRestrictedBalance), r("CashoutRestrictedCashBalance", (s) => s.cashoutRestrictedCashBalance), r("WinningsRestrictedCashBalance", (s) => s.winningsRestrictedCashBalance), r("CashoutableBalanceAtOnline", (s) => s.cashoutableBalanceAtOnline), r("CashoutableBalanceAtRetail", (s) => s.cashoutableBalanceAtRetail), r("CreditCardDepositBalance", (s) => s.creditCardDepositBalance), r("CorporateCreditCardDepositBalance", (s) => s.corporateCreditCardDepositBalance), r("CreditCardWinningsBalance", (s) => s.creditCardWinningsBalance), r("DebitCardDepositBalance", (s) => s.debitCardDepositBalance), r("MainRealBalance", (s) => s.mainRealBalance), r("CorporateMainRealBalance", (s) => s.corporateMainRealBalance), r("UncollectedFunds", (s) => s.uncollectedFunds), r("SportsDepositBalance", (s) => s.sportsDepositBalance), r("SportsExclusiveBalance", (s) => s.sportsExclusiveBalance), r("GamesDepositBalance", (s) => s.gamesDepositBalance), r("SportsWinningsBalance", (s) => s.sportsWinningsBalance), r("PokerWinningsBalance", (s) => s.pokerWinningsBalance), r("SlotsWinningsBalance", (s) => s.slotsWinningsBalance), r("SportsRestrictedBalance", (s) => s.sportsRestrictedBalance), r("PokerRestrictedBalance", (s) => s.pokerRestrictedBalance), r("SlotsRestrictedBalance", (s) => s.slotsRestrictedBalance), r("AllWinningsBalance", (s) => s.allWinningsBalance), r("MaxLimitExceededBalance", (s) => s.maxLimitExceededBalance), r("PrepaidCardDepositBalance", (s) => s.prepaidCardDepositBalance), r("CorporatePrepaidCardDepositBalance", (s) => s.corporatePrepaidCardDepositBalance), r("PrepaidCardLockedBalance", (s) => s.prepaidCardLockedBalance), r("AllDepositBalance", (s) => s.allDepositBalance), r("PokerAvailableBalance", (s) => s.pokerAvailableBalance), r("SlotsAvailableBalance", (s) => s.slotsAvailableBalance), r("SportsAvailableBalance", (s) => s.sportsAvailableBalance), r("PokerBonusRestricted", (s) => s.pokerBonusRestricted), r("GiftCardDepositBalance", (s) => s.giftCardDepositBalance), t.createFunction({ 3646 name: "IsLow", 3647 get: (s) => this.balancePropertiesService.isLow(s), 3648 deps: [] 3649 }), t.createFunction({ 3650 name: "Format", 3651 get: (s) => this.intlService.formatCurrency(s), 3652 deps: [] 3653 }), { Balance: t }; 3654 } 3655 }; 3656 return e.ɵfac = function(i) { 3657 return new (i || e)(); 3658 }, e.ɵprov = R({ 3659 token: e, 3660 factory: e.ɵfac 3661 }), e; 3662 })(), dh = (function(e) { 3663 return e.PayPalBal = "PAYPAL_BAL", e.MainRealBal = "MAIN_REAL_BAL", e; 3664 })(dh || {}); 3665 })))(); 3666} 3667var V; 3668function jl() { 3669 return (jl = Z((() => { 3670 V = (function(e) { 3671 return e.Single = "SINGLE", e.Combo = "COMBO", e.Teaser = "TEASER", e.System = "SYSTEM", e.EditBet = "EDIT_MY_BET", e.BetBuilder = "BET_BUILDER", e; 3672 })(V || {}); 3673 })))(); 3674}
3675var uh, Yl, ph, hh, mh, fh, wi, gh, vh, Sh, bh, yh; 3676function wh() { 3677 return (wh = Z((() => { 3678 uh = (function(e) { 3679 return e.FreeBet = "freebets", e.RiskFreeBet = "riskfreebet", e.OddsBoost = "oddboost", e.BetAndGet = "betandget", e.DepositAndGet = "depositandget", e; 3680 })(uh || {}), Yl = (function(e) { 3681 return e.Bonus = "Bonus", e.BonusNoWager = "BonusNoWager", e.FreeBet = "FreeBet", e.Cash = "Cash", e.OddsBoostToken = "OddsBoostToken", e.RiskFreeToken = "RiskFreeToken", e; 3682 })(Yl || {}), ph = (function(e) { 3683 return e.Bonus = "BONUS", e.BonusNoWager = "BONUSNOWAGER", e.FreeBet = "FREEBET", e.Cash = "CASH", e.OddsBoostToken = "ODDS_BOOST", e.RiskFreeToken = "RISK_FREE_BET", e; 3684 })(ph || {}), hh = (function(e) { 3685 return e.RewardTokenBlackReceived = "RewardTokenBlackReceived", e.RewardTokenTimer = "RewardTokenTimer", e.RewardTokenTimerDark = "RewardTokenTimerDark", e.FreeBet = "FreeBet", e.RiskFreeBet = "RiskFreeBet", e.OddsBoost = "OddsBoost", e.BetAndGet = "BetAndGet", e.FreeBetDark = "FreeBetDark", e.RiskFreeBetDark = "RiskFreeBetDark", e.OddsBoostDark = "OddsBoostDark", e.BetAndGetDark = "BetAndGetDark", e.RewardErrorInfo = "RewardErrorInfo", e.RewardTokenTimerThemeDark = "RewardTokenTimerThemeDark", e.RewardTokenTimerBlack = "RewardTokenTimerBlack", e.DepositAndGet = "DepositAndGet", e.DepositAndGetDark = "DepositAndGetDark", e.Vip = "Vip", e.VipBadge = "VipBadge", e.ZeroActivePromotion = "ZeroActivePromotion", e; 3686 })(hh || {}), mh = (function(e) { 3687 return e.BetPlacement = "BetPlacement", e.BetSettlement = "BetSettlement", e; 3688 })(mh || {}), fh = (function(e) { 3689 return e.Any = "Any", e.Win = "Win", e.Loss = "Loss", e; 3690 })(fh || {}), wi = (function(e) { 3691 return e.FreeBet = "FreeBet", e.RiskFreeBet = "RiskFreeBet", e.OddsBoost = "OddsBoost", e.AccaBoost = "AccaBoost", e.AccaInsurance = "AccaInsurance", e.BetStationFreebet = "BetStationFreebet", e.BestOddsGuaranteed = "BestOddsGuaranteed", e.Eds = "Eds", e.BetAndGet = "BetAndGet", e.DepositAndGet = "DepositAndGet", e; 3692 })(wi || {}), gh = (function(e) { 3693 return e.BetAndGet = "BET_AND_GET", e.BetMainGetLive = "BET_MAIN_GET_LIVE", e.MatchedStake = "MATCHED_STAKE", e.CustomToken = "CUSTOM_TOKEN", e; 3694 })(gh || {}), vh = (function(e) { 3695 return e.Deposit = "Deposit", e; 3696 })(vh || {}), Sh = (function(e) { 3697 return e.Eds = "EDS", e.Promo = "PROMO", e.BetAndGet = "BET_AND_GET", e.RiskFree = "RISK_FREE", e; 3698 })(Sh || {}), bh = (function(e) { 3699 return e.ActivePromoDrawer = "activePromoDrawer", e.EventDetailPage = "eventDetailPage", e; 3700 })(bh || {}), yh = (function(e) { 3701 return e.V1 = "V1", e.V2 = "V2", e; 3702 })(yh || {}); 3703 })))(); 3704} 3705function jt(e) { 3706 var i, t, r, s = e.length - 1, n = "", a = e[0]; 3707 if (s > 0) { 3708 for (n += a, i = 1; i < s; i++) r = e[i] + "", t = fe - r.length, t && (n += Ps(t)), n += r; 3709 a = e[i], r = a + "", t = fe - r.length, t && (n += Ps(t)); 3710 } else if (a === 0) return "0"; 3711 for (; a % 10 === 0;) a /= 10; 3712 return n + a; 3713} 3714function Ei(e, i, t) { 3715 if (e !== ~~e || e < i || e > t) throw Error(es + e); 3716} 3717function to(e, i, t, r) { 3718 for (var s, n = e[0], a, o; n >= 10; n /= 10) --i; 3719 return --i < 0 ? (i += fe, s = 0) : (s = Math.ceil((i + 1) / fe), i %= fe), n = Pt(10, fe - i), o = e[s] % n | 0, r == null ? i < 3 ? (i == 0 ? o = o / 100 | 0 : i == 1 && (o = o / 10 | 0), a = t < 4 && o == 99999 || t > 3 && o == 49999 || o == 5e4 || o == 0) : a = (t < 4 && o + 1 == n || t > 3 && o + 1 == n / 2) && (e[s + 1] / n / 100 | 0) == Pt(10, i - 2) - 1 || (o == n / 2 || o == 0) && (e[s + 1] / n / 100 | 0) == 0 : i < 4 ? (i == 0 ? o = o / 1e3 | 0 : i == 1 ? o = o / 100 | 0 : i == 2 && (o = o / 10 | 0), a = (r || t < 4) && o == 9999 || !r && t > 3 && o == 4999) : a = ((r || t < 4) && o + 1 == n || !r && t > 3 && o + 1 == n / 2) && (e[s + 1] / n / 1e3 | 0) == Pt(10, i - 3) - 1, a; 3720} 3721function Kl(e, i, t) { 3722 for (var r, s = [0], n, a = 0, o = e.length; a < o;) { 3723 for (n = s.length; n--;) s[n] *= i; 3724 for (s[0] += Zl.indexOf(e.charAt(a++)), r = 0; r < s.length; r++) s[r] > t - 1 && (s[r + 1] === void 0 && (s[r + 1] = 0), s[r + 1] += s[r] / t | 0, s[r] %= t); 3725 } 3726 return s.reverse(); 3727} 3728function jM(e, i) { 3729 var t, r, s; 3730 if (i.isZero()) return i;
3731 r = i.d.length, r < 32 ? (t = Math.ceil(r / 3), s = (1 / Ql(4, t)).toString()) : (t = 16, s = "2.3283064365386962890625e-10"), e.precision += t, i = Jn(e, 1, i.times(s), new e(1)); 3732 for (var n = t; n--;) { 3733 var a = i.times(i); 3734 i = a.times(a).minus(a).times(8).plus(1); 3735 } 3736 return e.precision -= t, i; 3737} 3738function me(e, i, t, r) { 3739 var s, n, a, o, l, c, d, u, h, g = e.constructor; 3740 e: if (i != null) { 3741 if (u = e.d, !u) return e; 3742 for (s = 1, o = u[0]; o >= 10; o /= 10) s++; 3743 if (n = i - s, n < 0) n += fe, a = i, d = u[h = 0], l = d / Pt(10, s - a - 1) % 10 | 0; 3744 else if (h = Math.ceil((n + 1) / fe), o = u.length, h >= o) if (r) { 3745 for (; o++ <= h;) u.push(0); 3746 d = l = 0, s = 1, n %= fe, a = n - fe + 1; 3747 } else break e; 3748 else { 3749 for (d = o = u[h], s = 1; o >= 10; o /= 10) s++; 3750 n %= fe, a = n - fe + s, l = a < 0 ? 0 : d / Pt(10, s - a - 1) % 10 | 0; 3751 } 3752 if (r = r || i < 0 || u[h + 1] !== void 0 || (a < 0 ? d : d % Pt(10, s - a - 1)), c = t < 4 ? (l || r) && (t == 0 || t == (e.s < 0 ? 3 : 2)) : l > 5 || l == 5 && (t == 4 || r || t == 6 && (n > 0 ? a > 0 ? d / Pt(10, s - a) : 0 : u[h - 1]) % 10 & 1 || t == (e.s < 0 ? 8 : 7)), i < 1 || !u[0]) return u.length = 0, c ? (i -= e.e + 1, u[0] = Pt(10, (fe - i % fe) % fe), e.e = -i || 0) : u[0] = e.e = 0, e; 3753 if (n == 0 ? (u.length = h, o = 1, h--) : (u.length = h + 1, o = Pt(10, fe - n), u[h] = a > 0 ? (d / Pt(10, s - a) % Pt(10, a) | 0) * o : 0), c) for (;;) if (h == 0) { 3754 for (n = 1, a = u[0]; a >= 10; a /= 10) n++; 3755 for (a = u[0] += o, o = 1; a >= 10; a /= 10) o++; 3756 n != o && (e.e++, u[0] == Yi && (u[0] = 1)); 3757 break; 3758 } else { 3759 if (u[h] += o, u[h] != Yi) break; 3760 u[h--] = 0, o = 1; 3761 } 3762 for (n = u.length; u[--n] === 0;) u.pop(); 3763 } 3764 return we && (e.e > g.maxE ? (e.d = null, e.e = NaN) : e.e < g.minE && (e.e = 0, e.d = [0])), e; 3765} 3766function Tr(e, i, t) { 3767 if (!e.isFinite()) return Ow(e); 3768 var r, s = e.e, n = jt(e.d), a = n.length; 3769 return i ? (t && (r = t - a) > 0 ? n = n.charAt(0) + "." + n.slice(1) + Ps(r) : a > 1 && (n = n.charAt(0) + "." + n.slice(1)), n = n + (e.e < 0 ? "e" : "e+") + e.e) : s < 0 ? (n = "0." + Ps(-s - 1) + n, t && (r = t - a) > 0 && (n += Ps(r))) : s >= a ? (n += Ps(s + 1 - a), t && (r = t - s - 1) > 0 && (n = n + "." + Ps(r))) : ((r = s + 1) < a && (n = n.slice(0, r) + "." + n.slice(r)), t && (r = t - a) > 0 && (s + 1 === a && (n += "."), n += Ps(r))), n; 3770} 3771function ql(e, i) { 3772 var t = e[0]; 3773 for (i *= fe; t >= 10; t /= 10) i++; 3774 return i; 3775} 3776function Xl(e, i, t) { 3777 if (i > Fw) throw we = !0, t && (e.precision = t), Error(Nh); 3778 return me(new e(io), i, 1, !0); 3779} 3780function kr(e, i, t) { 3781 if (i > tc) throw Error(Nh); 3782 return me(new e(ro), i, t, !0); 3783} 3784function Tw(e) { 3785 var i = e.length - 1, t = i * fe + 1; 3786 if (i = e[i], i) { 3787 for (; i % 10 == 0; i /= 10) t--; 3788 for (i = e[0]; i >= 10; i /= 10) t++; 3789 } 3790 return t; 3791} 3792function Ps(e) { 3793 for (var i = ""; e--;) i += "0"; 3794 return i; 3795} 3796function kw(e, i, t, r) { 3797 var s, n = new e(1), a = Math.ceil(r / fe + 4); 3798 for (we = !1;;) { 3799 if (t % 2 && (n = n.times(i), $w(n.d, a) && (s = !0)), t = Yt(t / 2), t === 0) { 3800 t = n.d.length - 1, s && n.d[t] === 0 && ++n.d[t]; 3801 break; 3802 } 3803 i = i.times(i), $w(i.d, a); 3804 } 3805 return we = !0, n; 3806} 3807function xw(e) { 3808 return e.d[e.d.length - 1] & 1; 3809} 3810function Iw(e, i, t) { 3811 for (var r, s, n = new e(i[0]), a = 0; ++a < i.length;) { 3812 if (s = new e(i[a]), !s.s) { 3813 n = s; 3814 break; 3815 } 3816 r = n.cmp(s), (r === t || r === 0 && n.s === t) && (n = s); 3817 } 3818 return n; 3819} 3820function Eh(e, i) { 3821 var t, r, s, n, a, o, l, c = 0, d = 0, u = 0, h = e.constructor, g = h.rounding, p = h.precision; 3822 if (!e.d || !e.d[0] || e.e > 17) return new h(e.d ? e.d[0] ? e.s < 0 ? 0 : 1 / 0 : 1 : e.s ? e.s < 0 ? 0 : e : NaN); 3823 for (i == null ? (we = !1, l = p) : l = i, o = new h(.03125); e.e > -2;) e = e.times(o), u += 5; 3824 for (r = Math.log(Pt(2, u)) / Math.LN10 * 2 + 5 | 0, l += r, t = n = a = new h(1), h.precision = l;;) { 3825 if (n = me(n.times(e), l, 1), t = t.times(++d), o = a.plus(rt(n, t, l, 1)), jt(o.d).slice(0, l) === jt(a.d).slice(0, l)) { 3826 for (s = u; s--;) a = me(a.times(a), l, 1); 3827 if (i == null) if (c < 3 && to(a.d, l - r, g, c)) h.precision = l += 10, t = n = o = new h(1), d = 0, c++; 3828 else return me(a, h.precision = p, g, we = !0); 3829 else return h.precision = p, a; 3830 } 3831 a = o; 3832 } 3833} 3834function $s(e, i) { 3835 var t, r, s, n, a, o, l, c, d, u, h, g = 1, p = 10, m = e, S = m.d, b = m.constructor, v = b.rounding, y = b.precision; 3836 if (m.s < 0 || !S || !S[0] || !m.e && S[0] == 1 && S.length == 1) return new b(S && !S[0] ? -1 / 0 : m.s != 1 ? NaN : S ? 0 : m); 3837 if (i == null ? (we = !1, d = y) : d = i, b.precision = d += p, t = jt(S), r = t.charAt(0), Math.abs(n = m.e) < 0x5543df729c000) { 3838 for (; r < 7 && r != 1 || r == 1 && t.charAt(1) > 3;) m = m.times(e), t = jt(m.d), r = t.charAt(0), g++; 3839 n = m.e, r > 1 ? (m = new b("0." + t), n++) : m = new b(r + "." + t.slice(1)); 3840 } else return c = Xl(b, d + 2, y).times(n + ""), m = $s(new b(r + "." + t.slice(1)), d - p).plus(c), b.precision = y, i == null ? me(m, y, v, we = !0) : m;
vendor: 5,995 bytes, lines 3841-3966
3841 for (u = m, l = a = m = rt(m.minus(1), m.plus(1), d, 1), h = me(m.times(m), d, 1), s = 3;;) { 3842 if (a = me(a.times(h), d, 1), c = l.plus(rt(a, new b(s), d, 1)), jt(c.d).slice(0, d) === jt(l.d).slice(0, d)) if (l = l.times(2), n !== 0 && (l = l.plus(Xl(b, d + 2, y).times(n + ""))), l = rt(l, new b(g), d, 1), i == null) if (to(l.d, d - p, v, o)) b.precision = d += p, c = a = m = rt(u.minus(1), u.plus(1), d, 1), h = me(m.times(m), d, 1), s = o = 1; 3843 else return me(l, b.precision = y, v, we = !0); 3844 else return b.precision = y, l; 3845 l = c, s += 2; 3846 } 3847} 3848function Ow(e) { 3849 return String(e.s * e.s / 0); 3850} 3851function Jl(e, i) { 3852 var t, r, s; 3853 for ((t = i.indexOf(".")) > -1 && (i = i.replace(".", "")), (r = i.search(/e/i)) > 0 ? (t < 0 && (t = r), t += +i.slice(r + 1), i = i.substring(0, r)) : t < 0 && (t = i.length), r = 0; i.charCodeAt(r) === 48; r++); 3854 for (s = i.length; i.charCodeAt(s - 1) === 48; --s); 3855 if (i = i.slice(r, s), i) { 3856 if (s -= r, e.e = t = t - r - 1, e.d = [], r = (t + 1) % fe, t < 0 && (r += fe), r < s) { 3857 for (r && e.d.push(+i.slice(0, r)), s -= fe; r < s;) e.d.push(+i.slice(r, r += fe)); 3858 i = i.slice(r), r = fe - i.length; 3859 } else r -= s; 3860 for (; r--;) i += "0"; 3861 e.d.push(+i), we && (e.e > e.constructor.maxE ? (e.d = null, e.e = NaN) : e.e < e.constructor.minE && (e.e = 0, e.d = [0])); 3862 } else e.e = 0, e.d = [0]; 3863 return e; 3864} 3865function YM(e, i) { 3866 var t, r, s, n, a, o, l, c, d; 3867 if (i.indexOf("_") > -1) { 3868 if (i = i.replace(/(\d)_(?=\d)/g, "$1"), xh.test(i)) return Jl(e, i); 3869 } else if (i === "Infinity" || i === "NaN") return +i || (e.s = NaN), e.e = NaN, e.d = null, e; 3870 if (Lw.test(i)) t = 16, i = i.toLowerCase(); 3871 else if (Rw.test(i)) t = 2; 3872 else if (Bw.test(i)) t = 8; 3873 else throw Error(es + i); 3874 for (n = i.search(/p/i), n > 0 ? (l = +i.slice(n + 1), i = i.substring(2, n)) : i = i.slice(2), n = i.indexOf("."), a = n >= 0, r = e.constructor, a && (i = i.replace(".", ""), o = i.length, n = o - n, s = kw(r, new r(t), n, n * 2)), c = Kl(i, t, Yi), d = c.length - 1, n = d; c[n] === 0; --n) c.pop(); 3875 return n < 0 ? new r(e.s * 0) : (e.e = ql(c, d), e.d = c, we = !1, a && (e = rt(e, s, o * 4)), l && (e = e.times(Math.abs(l) < 54 ? Pt(2, l) : _e.pow(2, l))), we = !0, e); 3876} 3877function KM(e, i) { 3878 var t, r = i.d.length; 3879 if (r < 3) return i.isZero() ? i : Jn(e, 2, i, i); 3880 t = 1.4 * Math.sqrt(r), t = t > 16 ? 16 : t | 0, i = i.times(1 / Ql(5, t)), i = Jn(e, 2, i, i); 3881 for (var s, n = new e(5), a = new e(16), o = new e(20); t--;) s = i.times(i), i = i.times(n.plus(s.times(a.times(s).minus(o)))); 3882 return i; 3883} 3884function Jn(e, i, t, r, s) { 3885 var n, a, o, l, c = 1, d = e.precision, u = Math.ceil(d / fe); 3886 for (we = !1, l = t.times(t), o = new e(r);;) { 3887 if (a = rt(o.times(l), new e(i++ * i++), d, 1), o = s ? r.plus(a) : r.minus(a), r = rt(a.times(l), new e(i++ * i++), d, 1), a = o.plus(r), a.d[u] !== void 0) { 3888 for (n = u; a.d[n] === o.d[n] && n--;); 3889 if (n == -1) break; 3890 } 3891 n = o, o = r, r = a, a = n, c++; 3892 } 3893 return we = !0, a.d.length = u + 1, a; 3894} 3895function Ql(e, i) { 3896 for (var t = e; --i;) t *= e; 3897 return t; 3898} 3899function Pw(e, i) { 3900 var t, r = i.s < 0, s = kr(e, e.precision, 1), n = s.times(.5); 3901 if (i = i.abs(), i.lte(n)) return Zr = r ? 4 : 1, i; 3902 if (t = i.divToInt(s), t.isZero()) Zr = r ? 3 : 2; 3903 else { 3904 if (i = i.minus(t.times(s)), i.lte(n)) return Zr = xw(t) ? r ? 2 : 3 : r ? 4 : 1, i; 3905 Zr = xw(t) ? r ? 1 : 4 : r ? 3 : 2; 3906 } 3907 return i.minus(s).abs(); 3908} 3909function Ch(e, i, t, r) { 3910 var s, n, a, o, l, c, d, u, h, g = e.constructor, p = t !== void 0; 3911 if (p ? (Ei(t, 1, Qr), r === void 0 ? r = g.rounding : Ei(r, 0, 8)) : (t = g.precision, r = g.rounding), !e.isFinite()) d = Ow(e); 3912 else { 3913 for (d = Tr(e), a = d.indexOf("."), p ? (s = 2, i == 16 ? t = t * 4 - 3 : i == 8 && (t = t * 3 - 2)) : s = i, a >= 0 && (d = d.replace(".", ""), h = new g(1), h.e = d.length - a, h.d = Kl(Tr(h), 10, s), h.e = h.d.length), u = Kl(d, 10, s), n = l = u.length; u[--l] == 0;) u.pop(); 3914 if (!u[0]) d = p ? "0p+0" : "0"; 3915 else { 3916 if (a < 0 ? n-- : (e = new g(e), e.d = u, e.e = n, e = rt(e, h, t, r, 0, s), u = e.d, n = e.e, c = Mw), a = u[t], o = s / 2, c = c || u[t + 1] !== void 0, c = r < 4 ? (a !== void 0 || c) && (r === 0 || r === (e.s < 0 ? 3 : 2)) : a > o || a === o && (r === 4 || c || r === 6 && u[t - 1] & 1 || r === (e.s < 0 ? 8 : 7)), u.length = t, c) for (; ++u[--t] > s - 1;) u[t] = 0, t || (++n, u.unshift(1)); 3917 for (l = u.length; !u[l - 1]; --l); 3918 for (a = 0, d = ""; a < l; a++) d += Zl.charAt(u[a]); 3919 if (p) { 3920 if (l > 1) if (i == 16 || i == 8) { 3921 for (a = i == 16 ? 4 : 3, --l; l % a; l++) d += "0"; 3922 for (u = Kl(d, s, i), l = u.length; !u[l - 1]; --l); 3923 for (a = 1, d = "1."; a < l; a++) d += Zl.charAt(u[a]); 3924 } else d = d.charAt(0) + "." + d.slice(1); 3925 d = d + (n < 0 ? "p" : "p+") + n; 3926 } else if (n < 0) { 3927 for (; ++n;) d = "0" + d; 3928 d = "0." + d; 3929 } else if (++n > l) for (n -= l; n--;) d += "0"; 3930 else n < l && (d = d.slice(0, n) + "." + d.slice(n)); 3931 } 3932 d = (i == 16 ? "0x" : i == 2 ? "0b" : i == 8 ? "0o" : "") + d; 3933 } 3934 return e.s < 0 ? "-" + d : d; 3935} 3936function $w(e, i) { 3937 if (e.length > i) return e.length = i, !0; 3938} 3939function qM(e) { 3940 return new this(e).abs(); 3941} 3942function XM(e) { 3943 return new this(e).acos(); 3944} 3945function JM(e) { 3946 return new this(e).acosh(); 3947} 3948function QM(e, i) { 3949 return new this(e).plus(i); 3950} 3951function ZM(e) { 3952 return new this(e).asin(); 3953} 3954function eR(e) { 3955 return new this(e).asinh(); 3956} 3957function tR(e) { 3958 return new this(e).atan(); 3959} 3960function iR(e) { 3961 return new this(e).atanh(); 3962} 3963function rR(e, i) { 3964 e = new this(e), i = new this(i); 3965 var t, r = this.precision, s = this.rounding, n = r + 4; 3966 return !e.s || !i.s ? t = new this(NaN) : !e.d && !i.d ? (t = kr(this, n, 1).times(i.s > 0 ? .25 : .75), t.s = e.s) : !i.d || e.isZero() ? (t = i.s < 0 ? kr(this, r, s) : new this(0), t.s = e.s) : !e.d || i.isZero() ? (t = kr(this, n, 1).times(.5), t.s = e.s) : i.s < 0 ? (this.precision = n, this.rounding = 1, t = this.atan(rt(e, i, n, 1
3966)), i = kr(this, n, 1), this.precision = r, this.rounding = s, t = e.s < 0 ? t.minus(i) : t.plus(i)) : t = this.atan(rt(e, i, n, 1)), t; 3967} 3968function sR(e) { 3969 return new this(e).cbrt(); 3970} 3971function nR(e) { 3972 return me(e = new this(e), e.e + 1, 2); 3973} 3974function aR(e, i, t) { 3975 return new this(e).clamp(i, t); 3976} 3977function oR(e) { 3978 if (!e || typeof e != "object") throw Error(so + "Object expected"); 3979 var i, t, r, s = e.defaults === !0, n = [ 3980 "precision", 3981 1, 3982 Qr, 3983 "rounding", 3984 0, 3985 8, 3986 "toExpNeg", 3987 -on, 3988 0, 3989 "toExpPos", 3990 0, 3991 on, 3992 "maxE", 3993 0, 3994 on, 3995 "minE", 3996 -on, 3997 0, 3998 "modulo", 3999 0, 4000 9 4001 ]; 4002 for (i = 0; i < n.length; i += 3) if (t = n[i], s && (this[t] = ec[t]), (r = e[t]) !== void 0) if (Yt(r) === r && r >= n[i + 1] && r <= n[i + 2]) this[t] = r; 4003 else throw Error(es + t + ": " + r); 4004 if (t = "crypto", s && (this[t] = ec[t]), (r = e[t]) !== void 0) if (r === !0 || r === !1 || r === 0 || r === 1) if (r) if (typeof crypto < "u" && crypto && (crypto.getRandomValues || crypto.randomBytes)) this[t] = !0; 4005 else throw Error(Th); 4006 else this[t] = !1; 4007 else throw Error(es + t + ": " + r); 4008 return this; 4009} 4010function lR(e) { 4011 return new this(e).cos(); 4012} 4013function cR(e) { 4014 return new this(e).cosh(); 4015} 4016function Aw(e) { 4017 var i, t, r; 4018 function s(n) { 4019 var a, o, l, c = this; 4020 if (!(c instanceof s)) return new s(n); 4021 if (c.constructor = s, _w(n)) { 4022 c.s = n.s, we ? !n.d || n.e > s.maxE ? (c.e = NaN, c.d = null) : n.e < s.minE ? (c.e = 0, c.d = [0]) : (c.e = n.e, c.d = n.d.slice()) : (c.e = n.e, c.d = n.d ? n.d.slice() : n.d); 4023 return; 4024 } 4025 if (l = typeof n, l === "number") { 4026 if (n === 0) { 4027 c.s = 1 / n < 0 ? -1 : 1, c.e = 0, c.d = [0]; 4028 return; 4029 }
4030 if (n < 0 ? (n = -n, c.s = -1) : c.s = 1, n === ~~n && n < 1e7) { 4031 for (a = 0, o = n; o >= 10; o /= 10) a++; 4032 we ? a > s.maxE ? (c.e = NaN, c.d = null) : a < s.minE ? (c.e = 0, c.d = [0]) : (c.e = a, c.d = [n]) : (c.e = a, c.d = [n]); 4033 return; 4034 } 4035 if (n * 0 !== 0) { 4036 n || (c.s = NaN), c.e = NaN, c.d = null; 4037 return; 4038 } 4039 return Jl(c, n.toString()); 4040 } 4041 if (l === "string") return (o = n.charCodeAt(0)) === 45 ? (n = n.slice(1), c.s = -1) : (o === 43 && (n = n.slice(1)), c.s = 1), xh.test(n) ? Jl(c, n) : YM(c, n); 4042 if (l === "bigint") return n < 0 ? (n = -n, c.s = -1) : c.s = 1, Jl(c, n.toString()); 4043 throw Error(es + n); 4044 } 4045 if (s.prototype = j, s.ROUND_UP = 0, s.ROUND_DOWN = 1, s.ROUND_CEIL = 2, s.ROUND_FLOOR = 3, s.ROUND_HALF_UP = 4, s.ROUND_HALF_DOWN = 5, s.ROUND_HALF_EVEN = 6, s.ROUND_HALF_CEIL = 7, s.ROUND_HALF_FLOOR = 8, s.EUCLID = 9, s.config = s.set = oR, s.clone = Aw, s.isDecimal = _w, s.abs = qM, s.acos = XM, s.acosh = JM, s.add = QM, s.asin = ZM, s.asinh = eR, s.atan = tR, s.atanh = iR, s.atan2 = rR, s.cbrt = sR, s.ceil = nR, s.clamp = aR, s.cos = lR, s.cosh = cR, s.div = dR, s.exp = uR, s.floor = pR, s.hypot = hR, s.ln = mR, s.log = fR, s.log10 = vR, s.log2 = gR, s.max = SR, s.min = bR, s.mod = yR, s.mul = wR, s.pow = ER, s.random = CR, s.round = NR, s.sign = TR, s.sin = kR, s.sinh = xR, s.sqrt = IR, s.sub = OR, s.sum = PR, s.tan = $R, s.tanh = AR, s.trunc = _R, e === void 0 && (e = {}), e && e.defaults !== !0) for (r = [ 4046 "precision", 4047 "rounding", 4048 "toExpNeg", 4049 "toExpPos", 4050 "maxE", 4051 "minE", 4052 "modulo", 4053 "crypto" 4054 ], i = 0; i < r.length;) e.hasOwnProperty(t = r[i++]) || (e[t] = this[t]); 4055 return s.config(e), s; 4056} 4057function dR(e, i) { 4058 return new this(e).div(i); 4059} 4060function uR(e) { 4061 return new this(e).exp(); 4062} 4063function pR(e) { 4064 return me(e = new this(e), e.e + 1, 3); 4065} 4066function hR() { 4067 var e, i, t = new this(0); 4068 for (we = !1, e = 0; e < arguments.length;) if (i = new this(arguments[e++]), i.d) t.d && (t = t.plus(i.times(i))); 4069 else { 4070 if (i.s) return we = !0, new this(1 / 0); 4071 t = i; 4072 } 4073 return we = !0, t.sqrt(); 4074} 4075function _w(e) { 4076 return e instanceof _e || e && e.toStringTag === kh || !1; 4077} 4078function mR(e) { 4079 return new this(e).ln(); 4080} 4081function fR(e, i) { 4082 return new this(e).log(i); 4083} 4084function gR(e) { 4085 return new this(e).log(2); 4086} 4087function vR(e) { 4088 return new this(e).log(10); 4089} 4090function SR() { 4091 return Iw(this, arguments, -1); 4092} 4093function bR() { 4094 return Iw(this, arguments, 1); 4095} 4096function yR(e, i) { 4097 return new this(e).mod(i); 4098} 4099function wR(e, i) { 4100 return new this(e).mul(i); 4101} 4102function ER(e, i) { 4103 return new this(e).pow(i); 4104} 4105function CR(e) { 4106 var i, t, r, s, n = 0, a = new this(1), o = []; 4107 if (e === void 0 ? e = this.precision : Ei(e, 1, Qr), r = Math.
4107ceil(e / fe), this.crypto) if (crypto.getRandomValues) for (i = crypto.getRandomValues(new Uint32Array(r)); n < r;) s = i[n], s >= 429e7 ? i[n] = crypto.getRandomValues(/* @__PURE__ */ new Uint32Array(1))[0] : o[n++] = s % 1e7; 4108 else if (crypto.randomBytes) { 4109 for (i = crypto.randomBytes(r *= 4); n < r;) s = i[n] + (i[n + 1] << 8) + (i[n + 2] << 16) + ((i[n + 3] & 127) << 24), s >= 214e7 ? crypto.randomBytes(4).copy(i, n) : (o.push(s % 1e7), n += 4); 4110 n = r / 4; 4111 } else throw Error(Th); 4112 else for (; n < r;) o[n++] = Math.random() * 1e7 | 0; 4113 for (r = o[--n], e %= fe, r && e && (s = Pt(10, fe - e), o[n] = (r / s | 0) * s); o[n] === 0; n--) o.pop(); 4114 if (n < 0) t = 0, o = [0]; 4115 else { 4116 for (t = -1; o[0] === 0; t -= fe) o.shift(); 4117 for (r = 1, s = o[0]; s >= 10; s /= 10) r++; 4118 r < fe && (t -= fe - r); 4119 } 4120 return a.e = t, a.d = o, a; 4121} 4122function NR(e) { 4123 return me(e = new this(e), e.e + 1, this.rounding); 4124} 4125function TR(e) { 4126 return e = new this(e), e.d ? e.d[0] ? e.s : 0 * e.s : e.s || NaN; 4127} 4128function kR(e) { 4129 return new this(e).sin(); 4130} 4131function xR(e) { 4132 return new this(e).sinh(); 4133} 4134function IR(e) { 4135 return new this(e).sqrt(); 4136} 4137function OR(e, i) { 4138 return new this(e).sub(i); 4139} 4140function PR() { 4141 var e = 0, i = arguments, t = new this(i[e]); 4142 for (we = !1; t.s && ++e < i.length;) t = t.plus(i[e]); 4143 return we = !0, me(t, this.precision, this.rounding); 4144} 4145function $R(e) { 4146 return new this(e).tan(); 4147} 4148function AR(e) { 4149 return new this(e).tanh(); 4150} 4151function _R(e) { 4152 return me(e = new this(e), e.e + 1, 1); 4153} 4154var on, Qr, Zl, io, ro, ec, Mw, Zr, we, so, es, Nh, Th, kh, Yt, Pt, Rw, Lw, Bw, xh, Yi, fe, Dw, Fw, tc, j, rt, _e, zw; 4155function ic() { 4156 return (ic = Z((() => { 4157 on = 9e15, Qr = 1e9, Zl = "0123456789abcdef", io = "2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058", ro = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789", ec = { 4158 precision: 20, 4159 rounding: 4, 4160 modulo: 1, 4161 toExpNeg: -7, 4162 toExpPos: 21, 4163 minE: -on, 4164 maxE: on, 4165 crypto: !1 4166 }, we = !0, so = "[DecimalError] ", es = so + "Invalid argument: ", Nh = so + "Precision limit exceeded", Th = so + "crypto unavailable", kh = "[object Decimal]", Yt = Math.floor, Pt = Math.pow, Rw = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i, Lw = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i, Bw = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i, xh = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i, Yi = 1e7, fe = 7, Dw = 9007199254740991, Fw = io.length - 1, tc = ro.length - 1, j = { toStringTag: kh }, j.absoluteValue = j.abs = function() { 4167 var e = new this.constructor(this); 4168 return e.s < 0 && (e.s = 1), me(e); 4169 }, j.ceil = function() { 4170 return me(new this.constructor(this), this.e + 1, 2); 4171 }, j.clampedTo = j.clamp = function(e, i) { 4172 var t, r = this, s = r.constructor; 4173 if (e = new s(e), i = new s(i), !e.s || !i.s) return new s(NaN); 4174 if (e.gt(i)) throw Error(es + i); 4175 return t = r.cmp(e), t < 0 ? e : r.cmp(i) > 0 ? i : new s(r); 4176 }, j.comparedTo = j.cmp = function(e) { 4177 var i, t, r, s, n = this, a = n.d, o = (e = new n.constructor(e)).d, l = n.s, c = e.s; 4178 if (!a || !o) return !l || !c ? NaN : l !== c ? l : a === o ? 0 : !a ^ l < 0 ? 1 : -1; 4179 if (!a[0] || !o[0]) return a[0] ? l : o[0] ? -c : 0; 4180 if (l !== c) return l; 4181 if (n.e !== e.e) return n.e > e.e ^ l < 0 ? 1 : -1; 4182 for (r = a.length, s = o.length, i = 0, t = r < s ? r : s; i < t; ++i) if (a[i] !== o[i]) return a[i] > o[i] ^ l < 0 ? 1 : -1; 4183 return r === s ? 0 : r > s ^ l < 0 ? 1 : -1; 4184 }, j.cosine = j.cos = function() { 4185 var e, i, t = this, r = t.constructor; 4186 return t.d ? t.d[0] ? (e = r.precision, i = r.rounding, r.precision = e + Math.max(t.e, t.sd()) + fe, r.rounding = 1, t = jM(r, Pw(r, t)), r.precision = e, r.rounding = i, me(Zr == 2 || Zr == 3 ? t.neg() : t, e, i, !0)) : new r(1) : new r(NaN); 4187 }, j.cubeRoot = j.cbrt = function() { 4188 var e, i, t, r, s, n, a, o, l, c, d = this, u = d.constructor; 4189 if (!d.isFinite() || d.isZero()) return new u(d); 4190 for (we = !1, n = d.s * Pt(d.s * d, 1 / 3), !n || Math.abs(n) == 1 / 0 ? (t = jt(d.d), e = d.e, (n = (e - t.length + 1) % 3) && (t += n == 1 || n == -2 ? "0" : "00"), n = Pt(t, 1 / 3), e = Yt((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2)), n == 1 / 0 ? t = "5e" + e : (t = n.toExponential(), t = t.slice(0, t.indexOf("e") + 1) + e), r = new u(t), r.s = d.s) : r = new u(n.toString()), a = (e = u.precision) + 3;;) if (o = r, l = o.times(o).times(o), c = l.plus(d), r = rt(c.plus(d).times(o), c.plus(l), a + 2, 1), jt(o.d).slice(0, a) === (t = jt(r.d)).slice(0, a)) if (t = t.slice(a - 3, a + 1), t == "9999" || !s && t == "4999") {
4191 if (!s && (me(o, e + 1, 0), o.times(o).times(o).eq(d))) { 4192 r = o; 4193 break; 4194 } 4195 a += 4, s = 1; 4196 } else { 4197 (!+t || !+t.slice(1) && t.charAt(0) == "5") && (me(r, e + 1, 1), i = !r.times(r).times(r).eq(d)); 4198 break; 4199 } 4200 return we = !0, me(r, e, u.rounding, i); 4201 }, j.decimalPlaces = j.dp = function() { 4202 var e, i = this.d, t = NaN; 4203 if (i) { 4204 if (e = i.length - 1, t = (e - Yt(this.e / fe)) * fe, e = i[e], e) for (; e % 10 == 0; e /= 10) t--; 4205 t < 0 && (t = 0); 4206 } 4207 return t; 4208 }, j.dividedBy = j.div = function(e) { 4209 return rt(this, new this.constructor(e)); 4210 }, j.dividedToIntegerBy = j.divToInt = function(e) { 4211 var i = this, t = i.constructor; 4212 return me(rt(i, new t(e), 0, 1, 1), t.precision, t.rounding); 4213 }, j.equals = j.eq = function(e) { 4214 return this.cmp(e) === 0; 4215 }, j.floor = function() { 4216 return me(new this.constructor(this), this.e + 1, 3); 4217 }, j.greaterThan = j.gt = function(e) { 4218 return this.cmp(e) > 0; 4219 }, j.greaterThanOrEqualTo = j.gte = function(e) { 4220 var i = this.cmp(e); 4221 return i == 1 || i === 0; 4222 }, j.hyperbolicCosine = j.cosh = function() { 4223 var e, i, t, r, s, n = this, a = n.constructor, o = new a(1); 4224 if (!n.isFinite()) return new a(n.s ? 1 / 0 : NaN); 4225 if (n.isZero()) return o; 4226 t = a.precision, r = a.rounding, a.precision = t + Math.max(n.e, n.sd()) + 4, a.rounding = 1, s = n.d.length, s < 32 ? (e = Math.ceil(s / 3), i = (1 / Ql(4, e)).toString()) : (e = 16, i = "2.3283064365386962890625e-10"), n = Jn(a, 1, n.times(i), new a(1), !0); 4227 for (var l, c = e, d = new a(8); c--;) l = n.times(n), n = o.minus(l.times(d.minus(l.times(d)))); 4228 return me(n, a.precision = t, a.rounding = r, !0); 4229 }, j.hyperbolicSine = j.sinh = function() { 4230 var e, i, t, r, s = this, n = s.constructor; 4231 if (!s.isFinite() || s.isZero()) return new n(s); 4232 if (i = n.precision, t = n.rounding, n.precision = i + Math.max(s.e, s.sd()) + 4, n.rounding = 1, r = s.d.length, r < 3) s = Jn(n, 2, s, s, !0); 4233 else { 4234 e = 1.4 * Math.sqrt(r), e = e > 16 ? 16 : e | 0, s = s.times(1 / Ql(5, e)), s = Jn(n, 2, s, s, !0); 4235 for (var a, o = new n(5), l = new n(16), c = new n(20); e--;) a = s.times(s), s = s.times(o.plus(a.times(l.times(a).plus(c)))); 4236 } 4237 return n.precision = i, n.rounding = t, me(s, i, t, !0); 4238 }, j.hyperbolicTangent = j.tanh = function() { 4239 var e, i, t = this, r = t.constructor; 4240 return t.isFinite() ? t.isZero() ? new r(t) : (e = r.precision, i = r.rounding, r.precision = e + 7, r.rounding = 1, rt(t.sinh(), t.cosh(), r.precision = e, r.rounding = i)) : new r(t.s); 4241 }, j.inverseCosine = j.acos = function() { 4242 var e = this, i = e.constructor, t = e.abs().cmp(1), r = i.precision, s = i.rounding; 4243 return t !== -1 ? t === 0 ? e.isNeg() ? kr(i, r, s) : new i(0) : new i(NaN) : e.isZero() ? kr(i, r + 4, s).times(.5) : (i.precision = r + 6, i.rounding = 1, e = new i(1).minus(e).div(e.plus(1)).sqrt().atan(), i.precision = r, i.rounding = s, e.times(2)); 4244 }, j.inverseHyperbolicCosine = j.acosh = function() { 4245 var e, i, t = this, r = t.constructor; 4246 return t.lte(1) ? new r(t.eq(1) ? 0 : NaN) : t.isFinite() ? (e = r.precision, i = r.rounding, r.precision = e + Math.max(Math.abs(t.e), t.sd()) + 4, r.rounding = 1, we = !1, t = t.times(t).minus(1).sqrt().plus(t), we = !0, r.precision = e, r.rounding = i, t.ln()) : new r(t); 4247 }, j.inverseHyperbolicSine = j.asinh = function() { 4248 var e, i, t = this, r = t.constructor; 4249 return !t.isFinite() || t.isZero() ? new r(t) : (e = r.precision, i = r.rounding, r.precision = e + 2 * Math.max(Math.abs(t.e), t.sd()) + 6, r.rounding = 1, we = !1, t = t.times(t).plus(1).sqrt().plus(t), we = !0, r.precision = e, r.rounding = i, t.ln()); 4250 }, j.inverseHyperbolicTangent = j.atanh = function() { 4251 var e, i, t, r, s = this, n = s.constructor; 4252 return s.isFinite() ? s.e >= 0 ? new n(s.abs().eq(1) ? s.s / 0 : s.isZero() ? s : NaN) : (e = n.precision, i = n.rounding, r = s.sd(), Math.max(r, e) < 2 * -s.e - 1 ? me(new n(s), e, i, !0) : (n.precision = t = r - s.e, s = rt(s.plus(1), new n(1).minus(s), t + e, 1), n.precision = e + 4, n.roun
4252ding = 1, s = s.ln(), n.precision = e, n.rounding = i, s.times(.5))) : new n(NaN); 4253 }, j.inverseSine = j.asin = function() { 4254 var e, i, t, r, s = this, n = s.constructor; 4255 return s.isZero() ? new n(s) : (i = s.abs().cmp(1), t = n.precision, r = n.rounding, i !== -1 ? i === 0 ? (e = kr(n, t + 4, r).times(.5), e.s = s.s, e) : new n(NaN) : (n.precision = t + 6, n.rounding = 1, s = s.div(new n(1).minus(s.times(s)).sqrt().plus(1)).atan(), n.precision = t, n.rounding = r, s.times(2))); 4256 }, j.inverseTangent = j.atan = function() { 4257 var e, i, t, r, s, n, a, o, l, c = this, d = c.constructor, u = d.precision, h = d.rounding; 4258 if (c.isFinite()) { 4259 if (c.isZero()) return new d(c); 4260 if (c.abs().eq(1) && u + 4 <= tc) return a = kr(d, u + 4, h).times(.25), a.s = c.s, a; 4261 } else { 4262 if (!c.s) return new d(NaN); 4263 if (u + 4 <= tc) return a = kr(d, u + 4, h).times(.5), a.s = c.s, a; 4264 } 4265 for (d.precision = o = u + 10, d.rounding = 1, t = Math.min(28, o / fe + 2 | 0), e = t; e; --e) c = c.div(c.times(c).plus(1).sqrt().plus(1)); 4266 for (we = !1, i = Math.ceil(o / fe), r = 1, l = c.times(c), a = new d(c), s = c; e !== -1;) if (s = s.times(l), n = a.minus(s.div(r += 2)), s = s.times(l), a = n.plus(s.div(r += 2)), a.d[i] !== void 0) for (e = i; a.d[e] === n.d[e] && e--;); 4267 return t && (a = a.times(2 << t - 1)), we = !0, me(a, d.precision = u, d.rounding = h, !0); 4268 }, j.isFinite = function() { 4269 return !!this.d; 4270 }, j.isInteger = j.isInt = function() { 4271 return !!this.d && Yt(this.e / fe) > this.d.length - 2; 4272 }, j.isNaN = function() { 4273 return !this.s; 4274 }, j.isNegative = j.isNeg = function() { 4275 return this.s < 0; 4276 }, j.isPositive = j.isPos = function() { 4277 return this.s > 0; 4278 }, j.isZero = function() { 4279 return !!this.d && this.d[0] === 0; 4280 }, j.lessThan = j.lt = function(e) { 4281 return this.cmp(e) < 0; 4282 }, j.lessThanOrEqualTo = j.lte = function(e) { 4283 return this.cmp(e) < 1; 4284 }, j.logarithm = j.log = function(e) { 4285 var i, t, r, s, n, a, o, l, c = this, d = c.constructor, u = d.precision, h = d.rounding, g = 5; 4286 if (e == null) e = new d(10), i = !0; 4287 else { 4288 if (e = new d(e), t = e.d, e.s < 0 || !t || !t[0] || e.eq(1)) return new d(NaN); 4289 i = e.eq(10); 4290 } 4291 if (t = c.d, c.s < 0 || !t || !t[0] || c.eq(1)) return new d(t && !t[0] ? -1 / 0 : c.s != 1 ? NaN : t ? 0 : 1 / 0); 4292 if (i) if (t.length > 1) n = !0; 4293 else { 4294 for (s = t[0]; s % 10 === 0;) s /= 10; 4295 n = s !== 1; 4296 } 4297 if (we = !1, o = u + g, a = $s(c, o), r = i ? Xl(d, o + 10) : $s(e, o), l = rt(a, r, o, 1), to(l.d, s = u, h)) do 4298 if (o += 10, a = $s(c, o), r = i ? Xl(d, o + 10) : $s(e, o), l = rt(a, r, o, 1), !n) { 4299 +jt(l.d).slice(s + 1, s + 15) + 1 == 0x5af3107a4000 && (l = me(l, u + 1, 0)); 4300 break; 4301 } 4302 while (to(l.d, s += 10, h)); 4303 return we = !0, me(l, u, h); 4304 }, j.minus = j.sub = function(e) { 4305 var i, t, r, s, n, a, o, l, c, d, u, h, g = this, p = g.constructor; 4306 if (e = new p(e), !g.d || !e.d) return !g.s || !e.s ? e = new p(NaN) : g.d ? e.s = -e.s : e = new p(e.d || g.s !== e.s ? g : NaN), e; 4307 if (g.s != e.s) return e.s = -e.s, g.plus(e); 4308 if (c = g.d, h = e.d, o = p.precision, l = p.rounding, !c[0] || !h[0]) { 4309 if (h[0]) e.s = -e.s; 4310 else if (c[0]) e = new p(g); 4311 else return new p(l === 3 ? -0 : 0); 4312 return we ? me(e, o, l) : e; 4313 } 4314 if (t = Yt(e.e / fe), d = Yt(g.e / fe), c = c.slice(), n = d - t, n) { 4315 for (u = n < 0, u ? (i = c, n = -n, a = h.length) : (i = h, t = d, a = c.length), r = Math.max(Math.ceil(o / fe), a) + 2, n > r && (n = r, i.length = 1), i.reverse(), r = n; r--;) i.push(0); 4316 i.reverse(); 4317 } else { 4318 for (r = c.length, a = h.length, u = r < a, u && (a = r), r = 0; r < a; r++) if (c[r] != h[r]) { 4319 u = c[r] < h[r]; 4320 break; 4321 } 4322 n = 0; 4323 } 4324 for (u && (i = c, c = h, h = i, e.s = -e.s), a = c.length, r = h.length - a; r > 0; --r) c[a++] = 0; 4325 for (r = h.length; r > n;) { 4326 if (c[--r] < h[r]) { 4327 for (s = r; s && c[--s] === 0;) c[s] = Yi - 1; 4328 --c[s], c[r] += Yi; 4329 } 4330 c[r] -= h[r]; 4331 } 4332 for (; c[--a] === 0;) c.pop(); 4333 for (; c[0] === 0; c.shift()) --t; 4334 return c[0] ? (e.d = c, e.e = ql(c, t), we ? me(e, o, l) : e) : new p(l === 3 ? -0 : 0); 4335 }, j.modulo = j.mod = function(e) { 4336 var i, t = this, r = t.constructor; 4337 return e = new r(e), !t.d || !e.s || e.d && !e.d[0] ? new r(NaN) : !e.d || t.d && !t.d[0] ? me(new r(t), r.precision, r.rounding) : (we = !1, r.modulo == 9 ? (i = rt(t, e.abs(), 0, 3, 1), i.s *= e.s) : i = rt(t, e, 0, r.modulo, 1), i = i.times(e), we = !0, t.minu
vendor: 7,350 bytes, lines 4337-4441
4337s(i)); 4338 }, j.naturalExponential = j.exp = function() { 4339 return Eh(this); 4340 }, j.naturalLogarithm = j.ln = function() { 4341 return $s(this); 4342 }, j.negated = j.neg = function() { 4343 var e = new this.constructor(this); 4344 return e.s = -e.s, me(e); 4345 }, j.plus = j.add = function(e) { 4346 var i, t, r, s, n, a, o, l, c, d, u = this, h = u.constructor; 4347 if (e = new h(e), !u.d || !e.d) return !u.s || !e.s ? e = new h(NaN) : u.d || (e = new h(e.d || u.s === e.s ? u : NaN)), e; 4348 if (u.s != e.s) return e.s = -e.s, u.minus(e); 4349 if (c = u.d, d = e.d, o = h.precision, l = h.rounding, !c[0] || !d[0]) return d[0] || (e = new h(u)), we ? me(e, o, l) : e; 4350 if (n = Yt(u.e / fe), r = Yt(e.e / fe), c = c.slice(), s = n - r, s) { 4351 for (s < 0 ? (t = c, s = -s, a = d.length) : (t = d, r = n, a = c.length), n = Math.ceil(o / fe), a = n > a ? n + 1 : a + 1, s > a && (s = a, t.length = 1), t.reverse(); s--;) t.push(0); 4352 t.reverse(); 4353 } 4354 for (a = c.length, s = d.length, a - s < 0 && (s = a, t = d, d = c, c = t), i = 0; s;) i = (c[--s] = c[s] + d[s] + i) / Yi | 0, c[s] %= Yi; 4355 for (i && (c.unshift(i), ++r), a = c.length; c[--a] == 0;) c.pop(); 4356 return e.d = c, e.e = ql(c, r), we ? me(e, o, l) : e; 4357 }, j.precision = j.sd = function(e) { 4358 var i, t = this; 4359 if (e !== void 0 && e !== !!e && e !== 1 && e !== 0) throw Error(es + e); 4360 return t.d ? (i = Tw(t.d), e && t.e + 1 > i && (i = t.e + 1)) : i = NaN, i; 4361 }, j.round = function() { 4362 var e = this, i = e.constructor; 4363 return me(new i(e), e.e + 1, i.rounding); 4364 }, j.sine = j.sin = function() { 4365 var e, i, t = this, r = t.constructor; 4366 return t.isFinite() ? t.isZero() ? new r(t) : (e = r.precision, i = r.rounding, r.precision = e + Math.max(t.e, t.sd()) + fe, r.rounding = 1, t = KM(r, Pw(r, t)), r.precision = e, r.rounding = i, me(Zr > 2 ? t.neg() : t, e, i, !0)) : new r(NaN); 4367 }, j.squareRoot = j.sqrt = function() { 4368 var e, i, t, r, s, n, a = this, o = a.d, l = a.e, c = a.s, d = a.constructor; 4369 if (c !== 1 || !o || !o[0]) return new d(!c || c < 0 && (!o || o[0]) ? NaN : o ? a : 1 / 0); 4370 for (we = !1, c = Math.sqrt(+a), c == 0 || c == 1 / 0 ? (i = jt(o), (i.length + l) % 2 == 0 && (i += "0"), c = Math.sqrt(i), l = Yt((l + 1) / 2) - (l < 0 || l % 2), c == 1 / 0 ? i = "5e" + l : (i = c.toExponential(), i = i.slice(0, i.indexOf("e") + 1) + l), r = new d(i)) : r = new d(c.toString()), t = (l = d.precision) + 3;;) if (n = r, r = n.plus(rt(a, n, t + 2, 1)).times(.5), jt(n.d).slice(0, t) === (i = jt(r.d)).slice(0, t)) if (i = i.slice(t - 3, t + 1), i == "9999" || !s && i == "4999") { 4371 if (!s && (me(n, l + 1, 0), n.times(n).eq(a))) { 4372 r = n; 4373 break; 4374 } 4375 t += 4, s = 1; 4376 } else { 4377 (!+i || !+i.slice(1) && i.charAt(0) == "5") && (me(r, l + 1, 1), e = !r.times(r).eq(a)); 4378 break; 4379 } 4380 return we = !0, me(r, l, d.rounding, e); 4381 }, j.tangent = j.tan = function() { 4382 var e, i, t = this, r = t.constructor; 4383 return t.isFinite() ? t.isZero() ? new r(t) : (e = r.precision, i = r.rounding, r.precision = e + 10, r.rounding = 1, t = t.sin(), t.s = 1, t = rt(t, new r(1).minus(t.times(t)).sqrt(), e + 10, 0), r.precision = e, r.rounding = i, me(Zr == 2 || Zr == 4 ? t.neg() : t, e, i, !0)) : new r(NaN); 4384 }, j.times = j.mul = function(e) { 4385 var i, t, r, s, n, a, o, l, c, d = this, u = d.constructor, h = d.d, g = (e = new u(e)).d; 4386 if (e.s *= d.s, !h || !h[0] || !g || !g[0]) return new u(!e.s || h && !h[0] && !g || g && !g[0] && !h ? NaN : !h || !g ? e.s / 0 : e.s * 0); 4387 for (t = Yt(d.e / fe) + Yt(e.e / fe), l = h.length, c = g.length, l < c && (n = h, h = g, g = n, a = l, l = c, c = a), n = [], a = l + c, r = a; r--;) n.push(0); 4388 for (r = c; --r >= 0;) { 4389 for (i = 0, s = l + r; s > r;) o = n[s] + g[r] * h[s - r - 1] + i, n[s--] = o % Yi | 0, i = o / Yi | 0; 4390 n[s] = (n[s] + i) % Yi | 0; 4391 } 4392 for (; !n[--a];) n.pop(); 4393 return i ? ++t : n.shift(), e.d = n, e.e = ql(n, t), we ? me(e, u.precision, u.rounding) : e; 4394 }, j.toBinary = function(e, i) { 4395 return Ch(this, 2, e, i); 4396 }, j.toDecimalPlaces = j.toDP = function(e, i) { 4397 var t = this, r = t.constructor; 4398 return t = new r(t), e === void 0 ? t : (Ei(e, 0, Qr), i === void 0 ? i = r.rounding : Ei(i, 0, 8), me(t, e + t.e + 1, i)); 4399 }, j.toExponential = function(e, i) { 4400 var t, r = this, s = r.constructor; 4401 return e === void 0 ? t = Tr(r, !0) : (Ei(e, 0, Qr), i === void 0 ? i = s.rounding : Ei(i, 0, 8), r = me(new s(r), e + 1, i), t = Tr(r, !0, e + 1)), r.isNeg() && !r.isZero() ? "-" + t : t; 4402 }, j.toFixed = function(e, i) { 4403 var t, r, s = this, n = s.constructor; 4404 return e === void 0 ? t = Tr(s) : (Ei(e, 0, Qr), i === void 0 ? i = n.rounding : Ei(i, 0, 8), r = me(new n(s), e + s.e + 1, i), t = Tr(r, !1, e + r.e + 1)), s.isNeg() && !s.isZero() ? "-" + t : t; 4405 }, j.toFraction = function(e) { 4406 var i, t, r, s, n, a, o, l, c, d, u, h, g = this, p = g.d, m = g.constructor; 4407 if (!p) return new m(g); 4408 if (c = t = new m(1), r = l = new m(0), i = new m(r), n = i.e = Tw(p) - g.e - 1, a = n % fe, i.d[0] = Pt(10, a < 0 ? fe + a : a), e == null) e = n > 0 ? i : c; 4409 else { 4410 if (o = new m(e), !o.isInt() || o.lt(c)) throw Error(es + o); 4411 e = o.gt(i) ? n > 0 ? i : c : o; 4412 } 4413 for (we = !1, o = new m(jt(p)), d = m.precision, m.precision = n = p.length * fe * 2; u = rt(o, i, 0, 1, 1), s = t.plus(u.times(r)), s.cmp(e) != 1;) t = r, r = s, s = c, c = l.plus(u.times(s)), l = s, s = i, i = o.minus(u.times(s)), o = s; 4414 return s = rt(e.minus(t), r, 0, 1, 1), l = l.plus(s.times(c)), t = t.plus(s.times(r)), l.s = c.s = g.s, h = rt(c, r, n, 1).minus(g).abs().cmp(rt(l, t, n, 1).minus(g).abs()) < 1 ? [c, r] : [l, t], m.precision = d, we = !0, h; 4415 }, j.toHexadecimal = j.toHex = function(e, i) { 4416 return Ch(this, 16, e, i); 4417 }, j.toNearest = function(e, i) { 4418 var t = this, r = t.constructor; 4419 if (t = new r(t), e == null) { 4420 if (!t.d) return t; 4421 e = new r(1), i = r.rounding; 4422 } else { 4423 if (e = new r(e), i === void 0 ? i = r.rounding : Ei(i, 0, 8), !t.d) return e.s ? t : e; 4424 if (!e.d) return e.s && (e.s = t.s), e; 4425 } 4426 return e.d[0] ? (we = !1, t = rt(t, e, 0, i, 1).times(e), we = !0, me(t)) : (e.s = t.s, t = e), t; 4427 }, j.toNumber = function() { 4428 return +this; 4429 }, j.toOctal = function(e, i) { 4430 return Ch(this, 8, e, i); 4431 }, j.toPower = j.pow = function(e) { 4432 var i, t, r, s, n, a, o = this, l = o.constructor, c = +(e = new l(e)); 4433 if (!o.d || !e.d || !o.d[0] || !e.d[0]) return new l(Pt(+o, c)); 4434 if (o = new l(o), o.eq(1)) return o; 4435 if (r = l.precision, n = l.rounding, e.eq(1)) return me(o, r, n); 4436 if (i = Yt(e.e / fe), i >= e.d.length - 1 && (t = c < 0 ? -c : c) <= Dw) return s = kw(l, o, t, r), e.s < 0 ? new l(1).div(s) : me(s, r, n); 4437 if (a = o.s, a < 0) { 4438 if (i < e.d.length - 1) return new l(NaN); 4439 if (!(e.d[i] & 1) && (a = 1), o.e == 0 && o.d[0] == 1 && o.d.length == 1) return o.s = a, o; 4440 } 4441 return t = Pt(+o, c), i = t == 0 || !isFinite(t) ? Yt(c * (Math.log("0." + jt(o.d)) / Math.LN10 + o.e + 1)) : new l(t + "").e, i > l.maxE + 1 || i < l.minE - 1 ? new l(i > 0 ? a / 0 : 0) : (we = !1, l.rounding = o.s = 1, t = Math.min(12, (i + "").length), s = Eh(e.times($s(o, r + t)), r), s.d && (s = me(s, r + 5, 1), to(s.d, r, n) && (i = r + 10, s = me(Eh(e.times($s(o, i + t)), i), i + 5, 1), +jt(s.d).slice(r + 1, r + 15) + 1 == 0x5af310
44417a4000 && (s = me(s, r + 1, 0)))), s.s = a, we = !0, l.rounding = n, me(s, r, n)); 4442 }, j.toPrecision = function(e, i) { 4443 var t, r = this, s = r.constructor; 4444 return e === void 0 ? t = Tr(r, r.e <= s.toExpNeg || r.e >= s.toExpPos) : (Ei(e, 1, Qr), i === void 0 ? i = s.rounding : Ei(i, 0, 8), r = me(new s(r), e, i), t = Tr(r, e <= r.e || r.e <= s.toExpNeg, e)), r.isNeg() && !r.isZero() ? "-" + t : t; 4445 }, j.toSignificantDigits = j.toSD = function(e, i) { 4446 var t = this, r = t.constructor; 4447 return e === void 0 ? (e = r.precision, i = r.rounding) : (Ei(e, 1, Qr), i === void 0 ? i = r.rounding : Ei(i, 0, 8)), me(new r(t), e, i); 4448 }, j.toString = function() { 4449 var e = this, i = e.constructor, t = Tr(e, e.e <= i.toExpNeg || e.e >= i.toExpPos); 4450 return e.isNeg() && !e.isZero() ? "-" + t : t; 4451 }, j.truncated = j.trunc = function() { 4452 return me(new this.constructor(this), this.e + 1, 1); 4453 }, j.valueOf = j.toJSON = function() { 4454 var e = this, i = e.constructor, t = Tr(e, e.e <= i.toExpNeg || e.e >= i.toExpPos); 4455 return e.isNeg() ? "-" + t : t; 4456 }, rt = (function() { 4457 function e(r, s, n) { 4458 var a, o = 0, l = r.length; 4459 for (r = r.slice(); l--;) a = r[l] * s + o, r[l] = a % n | 0, o = a / n | 0; 4460 return o && r.unshift(o), r; 4461 } 4462 function i(r, s, n, a) { 4463 var o, l; 4464 if (n != a) l = n > a ? 1 : -1; 4465 else for (o = l = 0; o < n; o++) if (r[o] != s[o]) { 4466 l = r[o] > s[o] ? 1 : -1; 4467 break; 4468 } 4469 return l; 4470 } 4471 function t(r, s, n, a) { 4472 for (var o = 0; n--;) r[n] -= o, o = r[n] < s[n] ? 1 : 0, r[n] = o * a + r[n] - s[n]; 4473 for (; !r[0] && r.length > 1;) r.shift(); 4474 } 4475 return function(r, s, n, a, o, l) { 4476 var c, d, u, h, g, p, m, S, b, v, y, w, T, O, _, z, G, x, A, I, D = r.constructor, H = r.s == s.s ? 1 : -1, F = r.d, K = s.d; 4477 if (!F || !F[0] || !K || !K[0]) return new D(!r.s || !s.s || (F ? K && F[0] == K[0] : !K) ? NaN : F && F[0] == 0 || !K ? H * 0 : H / 0); 4478 for (l ? (g = 1, d = r.e - s.e) : (l = Yi, g = fe, d = Yt(r.e / g) - Yt(s.e / g)), A = K.length, G = F.length, b = new D(H), v = b.d = [], u = 0; K[u] == (F[u] || 0); u++); 4479 if (K[u] > (F[u] || 0) && d--, n == null ? (O = n = D.precision, a = D.rounding) : o ? O = n + (r.e - s.e) + 1 : O = n, O < 0) v.push(1), p = !0; 4480 else { 4481 if (O = O / g + 2 | 0, u = 0, A == 1) { 4482 for (h = 0, K = K[0], O++; (u < G || h) && O--; u++) _ = h * l + (F[u] || 0), v[u] = _ / K | 0, h = _ % K | 0; 4483 p = h || u < G; 4484 } else { 4485 for (h = l / (K[0] + 1) | 0, h > 1 && (K = e(K, h, l), F = e(F, h, l), A = K.length, G = F.length), z = A, y = F.slice(0, A), w = y.length; w < A;) y[w++] = 0; 4486 I = K.slice(), I.unshift(0), x = K[0], K[1] >= l / 2 && ++x; 4487 do 4488 h = 0, c = i(K, y, A, w), c < 0 ? (T = y[0], A != w && (T = T * l + (y[1] || 0)), h = T / x | 0, h > 1 ? (h >= l && (h = l - 1), m = e(K, h, l), S = m.length, w = y.length, c = i(m, y, S, w), c == 1 && (h--, t(m, A < S ? I : K, S, l))) : (h == 0 && (c = h = 1), m = K.slice()), S = m.length, S < w && m.unshift(0), t(y, m, w, l), c == -1 && (w = y.length, c = i(K, y, A, w), c < 1 && (h++, t(y, A < w ? I : K, w, l))), w = y.length) : c === 0 && (h++, y = [0]), v[u++] = h, c && y[0] ? y[w++] = F[z] || 0 : (y = [F[z]], w = 1); 4489 while ((z++ < G || y[0] !== void 0) && O--); 4490 p = y[0] !== void 0; 4491 } 4492 v[0] || v.shift(); 4493 } 4494 if (g == 1) b.e = d, Mw = p; 4495 else { 4496 for (u = 1, h = v[0]; h >= 10; h /= 10) u++; 4497 b.e = u + d * g - 1, me(b, o ? n + b.e + 1 : n, a, p); 4498 } 4499 return b; 4500 }; 4501 })(), j[Symbol.for("nodejs.util.inspect.custom")] = j.toString, j[Symbol.toStringTag] = "Decimal", _e = j.constructor = Aw(ec), io = new _e(io), ro = new _e(ro), zw = _e; 4502 })))(); 4503} 4504function MR(e) { 4505 return new _e(Ju((Ju(e.toNumber(), 10) >= 2 ? e.minus(1).times(100) : new _e(-100).dividedBy(e.minus(1))).toNumber(), 10)); 4506} 4507function RR(e, i = !1) { 4508 return i ? e.toNearest(5).toNumber() : e.floor().toNumber(); 4509} 4510var $t, Mi, Ci, Ni, rc, St; 4511function sc() { 4512 return (sc = Z((() => { 4513 Ke(), ic(), $t = (() => { 4514 let e = class ye { 4515 constructor(t, r = 1, s = !1) { 4516 this.isSimplified = !1, this.numerator = new _e(t), this.denominator = new _e(r), this.isSimplified = this.denominator.equals(1) || s; 4517 } 4518 static create(t) { 4519 return t instanceof ye ? t.copy() : ye.fromJSON(t); 4520 } 4521 static fromJSON(t) { 4522 return new ye(t.numerator, t.denominator); 4523 } 4524 static toCommonDenominator(t, r) { 4525 return t.denominator.equals(r.denominator) ? { 4526 firstNumerator: t.numerator, 4527 secondNumerator: r.numerator, 4528 denominator: t.denominator 4529 } : { 4530 firstNumerator: t.numerator.times(r.denominator), 4531 secondNumerator: r.numerator.times(t.denominator), 4532 denominator: t.denominator.times(r.denominator) 4533 }; 4534 } 4535 static isNumber(t) { 4536 return typeof t == "number"; 4537 } 4538 static toInt(t) { 4539 return Math.ceil(t) - t < ye.numberEps ? Math.ceil(t) : t - Math.floor(t) < ye.numberEps ? Math.floor(t) : NaN; 4540 } 4541 static numberToFraction(t) { 4542 let r = ye.toInt(t); 4543 if (!isNaN(r)) return new ye(r); 4544 let s = t.toString(10), n = s.indexOf("."), a = s.substring(n + 1).length, o = Math.pow(10, a), l = +s.replace(".", ""); 4545 return new ye(l, o).simplify(); 4546 } 4547 static getCommonDivisor(t, r) { 4548 let s; 4549 for (; !r.equals(0);) s = r, r = t.modulo(r), t = s; 4550 return t; 4551 } 4552 static empty() { 4553 return new ye(0, 0, !0); 4554 } 4555 static toFraction(t) { 4556 if (t == null) return ye.empty(); 4557 if (ye.isNumber(t)) return ye.numberToFraction(t); 4558 if (t.lessThanOrEqualTo(0)) return ye.empty(); 4559 let r = t.decimalPlaces(), s = Math.pow(10, r); 4560 return new ye(t.times(s), s).simplify(); 4561 } 4562 static fromString(t) { 4563 if (t.indexOf("/") === -1) return ye.empty(); 4564 let r = t.split("/"), s = new _e(r[0]), n = new _e(r[1]); 4565 return new ye(s, n); 4566 } 4567 add(t) { 4568 if (this.isEmpty()) return ye.empty(); 4569 if (ye.isNumber(t)) { 4570 let s = ye.toInt(t); 4571 if (!isNaN(s)) return new ye(this.numerator.add(this.denominator.times(s)), this.denominator); 4572 t = ye.numberToFraction(t); 4573 } 4574 if (t.isEmpty()) return ye.empty(); 4575 let r = ye.toCommonDenominator(this, t); 4576 return new ye(r.firstNumerator.plus(r.secondNumerator), r.denominator); 4577 } 4578 subtract(t) { 4579 if (this.isEmpty()) return ye.empty(); 4580 if (ye.isNumber(t)) { 4581 let s = ye.toInt(t); 4582 if (!isNaN(s)) return new ye(this.numerator.minus(this.denominator.times(s)), this.denominator); 4583 t = ye.numberToFraction(t); 4584 } 4585 if (t.isEmpty()) return ye.empty(); 4586 let r = ye.toCommonDenominator(this, t);
4587 return new ye(r.firstNumerator.minus(r.secondNumerator), r.denominator); 4588 } 4589 multiply(t) { 4590 return this.isEmpty() || (ye.isNumber(t) && (t = ye.numberToFraction(t)), t.isEmpty()) ? ye.empty() : new ye(this.numerator.times(t.numerator), this.denominator.times(t.denominator)); 4591 } 4592 divide(t) { 4593 return this.isEmpty() || (ye.isNumber(t) && (t = ye.numberToFraction(t)), t.isEmpty()) ? ye.empty() : new ye(this.numerator.times(t.denominator), this.denominator.times(t.numerator)); 4594 } 4595 getValue() { 4596 if (this.isEmpty()) return new _e(0); 4597 let t = new _e(this.numerator), r = new _e(this.denominator); 4598 return t.dividedBy(r); 4599 } 4600 toString() { 4601 return `${this.numerator}/${this.denominator}`; 4602 } 4603 simplify() { 4604 if (this.isSimplified) return this; 4605 let t = ye.getCommonDivisor(this.numerator, this.denominator); 4606 return new ye(this.numerator.dividedBy(t), this.denominator.dividedBy(t), !0); 4607 } 4608 compare(t) { 4609 let r = ye.isNumber(t) ? ye.toFraction(t) : t, s = ye.toCommonDenominator(this, r); 4610 return s.firstNumerator.lessThan(s.secondNumerator) ? -1 : s.firstNumerator.greaterThan(s.secondNumerator) ? 1 : 0; 4611 } 4612 lessThan(t) { 4613 return this.compare(t) === -1; 4614 } 4615 greaterThan(t) { 4616 return this.compare(t) === 1; 4617 } 4618 lessOrEqualThan(t) { 4619 return this.compare(t) <= 0; 4620 } 4621 greaterOrEqualThan(t) { 4622 return this.compare(t) >= 0; 4623 } 4624 equal(t) { 4625 return ye.isNumber(t) ? this.compare(t) === 0 : this.isEmpty() || t.isEmpty() ? this.isEmpty() && t.isEmpty() : this.compare(t) === 0; 4626 } 4627 isEmpty() { 4628 return this.denominator.equals(0); 4629 } 4630 toJSON() { 4631 return { 4632 numerator: this.numerator.toNumber(), 4633 denominator: this.denominator.toNumber() 4634 }; 4635 } 4636 copy() { 4637 return new ye(this.numerator, this.denominator, this.isSimplified); 4638 } 4639 }; 4640 return e.numberEps = 1e-7, e; 4641 })(), Mi = Object.freeze({ 4642 decimals: 0, 4643 fractional: { 4644 numerator: 0, 4645 denominator: 0 4646 }, 4647 moneyline: 0 4648 }), Ci = Object.freeze({ 4649 decimals: new _e(0), 4650 fractional: $t.empty(), 4651 moneyline: new _e(0) 4652 }), Ni = class Dr { 4653 static decimalToFraction(i) { 4654 return $t.toFraction(i.minus(1)).simplify(); 4655 } 4656 static decimalToUS(i, t = 10) { 4657 return MR(i.toDecimalPlaces(t)); 4658 } 4659 static fractionToDecimal(i) { 4660 return i.add(1).getValue(); 4661 } 4662 static fractionToUS(i, t = 2) { 4663 return (i.greaterOrEqualThan(1) ? i.multiply(100).getValue() : new $t(100, 1).divide(i).multiply(-1).getValue()).toDecimalPlaces(t); 4664 } 4665 static usToDecimal(i, t = 2) { 4666 return i.lessThan(0) ? new _e(1).minus(new _e(100).dividedBy(i).toDecimalPlaces(t)) : i.dividedBy(100).add(1); 4667 } 4668 static usToFraction(i, t = 2) { 4669 return i.lessThan(0) ? $t.toFraction(new _e(-100).dividedBy(i).toDecimalPlaces(t)) : $t.toFraction(i.dividedBy(100)); 4670 } 4671 static decimalToEachWay(i, t) { 4672 return Dr.decimalToFraction(i).multiply(t).add(1).getValue(); 4673 } 4674 static fractionToEachWay(i, t) { 4675 return i.multiply(t).simplify(); 4676 } 4677 static usToEachWay(i, t) { 4678 let r = Dr.usToFraction(i, 7).multiply(t).simplify(); 4679 return Dr.fractionToUS(r); 4680 } 4681 static convertOdds(i, t, r) { 4682 if (i === t) return r; 4683 switch (i) { 4684 case "EU": 4685 if (t === "UK") return { decimals: Dr.fractionToDecimal($t.create(r.fractional)).toNumber() }; 4686 if (t === "US") return { decimals: Dr.usToDecimal(new _e(r.moneyline)).toNumber() }; 4687 break; 4688 case "UK": 4689 if (t === "EU") return { fractional: Dr.decimalToFraction(new _e(r.decimals)).simplify().toJSON() }; 4690 if (t === "US") return { fractional: Dr.usToFraction(new _e(r.moneyline)).simplify().toJSON() }; 4691 break; 4692 case "US": 4693 if (t === "EU") return { moneyline: Dr.decimalToUS(new _e(r.decimals)).toNumber() }; 4694 if (t === "UK") return { moneyline: Dr.fractionToUS($t.create(r.fractional)).toNumber() }; 4695 } 4696 throw new Error("Invalid odds formats"); 4697 } 4698 }, rc = class zt { 4699 static create(i) { 4700 return !i.odds && !i.numerator && !i.denominator && !i.americanOdds ? Mi : { 4701 decimals: i.odds || 0, 4702 fractional: i.numerator != null && i.denominator != null ? { 4703 numerator: i.numerator, 4704 denominator: i.denominator 4705 } : { 4706 numerator: 0, 4707 denominator: 0 4708 }, 4709 moneyline: i.americanOdds || 0 4710 }; 4711 } 4712 static createFromBpos(i, t) { 4713 switch (t) { 4714 case "European": return zt.create({ odds: i.european }); 4715 case "British": return zt.create({ 4716 numerator: i.british.numerator, 4717 denominator: i.british.denominator 4718 }); 4719 case "American": return zt.create({ americanOdds: i.american }); 4720 default: return Mi; 4721 } 4722 } 4723 static isEmpty(i) { 4724 return i === Mi || i === Ci; 4725 } 4726 static isValid(i) { 4727 return zt.isEmpty(i) ? !1 : zt.isDecimalOddsValid(i.decimals) || zt.isFractionalOddsValid(i.fractional) || zt.isMoneyLineOddsValid(i.moneyline); 4728 } 4729 static isDecimalOddsValid(i) { 4730 return typeof i == "number" ? i > 1 : i.greaterThan(1); 4731 } 4732 static isFractionalOddsValid(i) { 4733 return Ni.fractionToDecimal($t.create(i)).greaterThan(1); 4734 } 4735 static isMoneyLineOddsValid(i) { 4736 return typeof i == "number" ? i >= 100 || i < -100 && i >= -1e5 : i.greaterThanOrEqualTo(100) || i.lessThan(-100) && i.greaterThan(-1e5); 4737 } 4738 static sum(i) { 4739 if (i.length === 1) return zt.isEmpty(i[0]) ? Ci : i[0]; 4740 let t = new _e(0), r = new $t(0, 1), s = r, n = new _e(0); 4741 for (let a of i) { 4742 if (zt.isEmpty(a)) return Ci; 4743 t = t.add(a.decimals), s = s === r ? a.fractional : s.add(1).add(a.fractional.add(1)).subtract(1), n = n.add(Ni.usToDecimal(a.moneyline, 10)); 4744 } 4745 return { 4746 decimals: t, 4747 fractional: s, 4748 moneyline: Ni.decimalToUS(n) 4749 }; 4750 } 4751 static merge(i, t) { 4752 return zt.multiply(Array.isArray(i) ? i : [i, this.OddsOne], t); 4753 } 4754 static multiply(i, t) { 4755 if (i.length === 1) return zt.isEmpty(i[0]) ? Ci : i[0]; 4756 let r = new _e(1), s = new $t(0, 1), n = new _e(1); 4757 for (let a of i) { 4758 if (zt.isEmpty(a)) return Ci; 4759 r = r.times(a.decimals), s = s.add(1).multiply(a.fractional.add(1)).subtract(1), n = n.times(Ni.usToDecimal(a.moneyline, 10)); 4760 } 4761 return { 4762 decimals: t ? r.toDecimalPlaces(2, _e.ROUND_HALF_UP) : r, 4763 fractional: s, 4764 moneyline: Ni.decimalToUS(n) 4765 }; 4766 } 4767 static equal(i, t, r = "None") { 4768 switch (r) { 4769 case "British": return $t.fromJSON(i.fractional).equal($t.fromJSON(t.fractional)); 4770 case "European": return i.decimals === t.decimals; 4771 case "American": return i.moneyline === t.moneyline; 4772 default: return i.decimals === t.decimals && $t.fromJSON(i.fractional).equal($t.fromJSON(t.fractional)) && i.moneyline === t.moneyline; 4773 } 4774 } 4775 static equal2(i, t) { 4776 return i.decimals.equals(t.decimals) && i.fractional.equal(t.fractional) && i.moneyline.equals(t.moneyline); 4777 } 4778 static toCalculatedOdds(i) { 4779 if (!i) return Ci; 4780 let t = { 4781 decimals: i.decimals ? new _e(i.decimals) : new _e(0), 4782 fractional: i.fractional ? $t.fromJSON(i.fractional) : $t.empty(), 4783 moneyline: i.moneyline ? new _e(i.moneyline) : new _e(0) 4784 }; 4785 return this.equal2(t, Ci) ? Ci : t; 4786 } 4787 static toDecimal(i, t) { 4788 switch (t) { 4789 case "UK": return Ni.fractionToDecimal(i.fractional); 4790 case "US": return Ni.usToDecimal(i.moneyline, 10); 4791 default: return i.decimals; 4792 } 4793 } 4794 static fromDecimal(i) { 4795 return { 4796 decimals: i, 4797 fractional: Ni.decimalToFraction(i), 4798 moneyline: Ni.decimalToUS(i) 4799 }; 4800 } 4801 static createCalculatedOdds(i) { 4802 return !i.odds && !i.numerator && !i.denominator && !i.americanOdds ? Ci : zt.toCalculatedOdds(zt.create(i)); 4803 } 4804 static fromDecimalsToCalculatedOdds(i) { 4805 return i ? zt.toCalculatedOdds(zt.fromDecimalsToOdds(i)) : Ci; 4806 } 4807 static fromDecimalsToOdds(i) { 4808 return zt.create({ 4809 odds: i, 4810 numerator: new _e(i).minus(1).toNumber(), 4811 denominator: 1 4812 }); 4813 } 4814 static fromBposFormat(i) { 4815 switch (i) { 4816 case "American": return "US"; 4817 case "British": return "UK";
4818 case "European": return "EU"; 4819 case "None": return "EU"; 4820 } 4821 } 4822 static toBposFormat(i = "EU") { 4823 switch (i) { 4824 case "EU": return "European"; 4825 case "UK": return "British"; 4826 case "US": return "American"; 4827 } 4828 } 4829 static toOdds(i) { 4830 return { 4831 decimals: i.decimals ? i.decimals.toNumber() : 0, 4832 fractional: i.fractional ? { 4833 numerator: i.fractional.numerator.toNumber(), 4834 denominator: i.fractional.denominator.toNumber() 4835 } : { 4836 numerator: 0, 4837 denominator: 0 4838 }, 4839 moneyline: i.moneyline ? i.moneyline.toNumber() : 0 4840 }; 4841 } 4842 static lessThan(i, t, r) { 4843 switch (r) { 4844 case "UK": return i.fractional.lessThan(t.fractional); 4845 case "US": return i.moneyline.lessThan(t.moneyline); 4846 default: return i.decimals.lessThan(t.decimals); 4847 } 4848 } 4849 static greaterThan(i, t, r) { 4850 switch (r) { 4851 case "UK": return i.fractional.greaterThan(t.fractional); 4852 case "US": return i.moneyline.greaterThan(t.moneyline); 4853 default: return i.decimals.greaterThan(t.decimals); 4854 } 4855 } 4856 static clone(i) { 4857 return { 4858 decimals: i.decimals, 4859 fractional: i.fractional.copy(), 4860 moneyline: i.moneyline 4861 }; 4862 } 4863 }, rc.OddsOne = rc.fromDecimal(new _e(1)), St = rc; 4864 })))(); 4865} 4866function Gw(e) { 4867 return e.split(":")[1] || e; 4868} 4869function Vw(e) { 4870 return Uw.test(e); 4871} 4872function LR(e) { 4873 return e.replace(":", "-"); 4874} 4875function Hw(e) { 4876 if (e.indexOf(":") > -1) return +e.split(":")[0]; 4877} 4878var Uw; 4879function no() { 4880 return (no = Z((() => { 4881 Uw = /(?!1:)\d+:(\d+)$/; 4882 })))(); 4883} 4884function Ww(e) { 4885 switch (e) { 4886 case "AllCombo": return pi.AllCombo; 4887 case "AllLiveEvents": return pi.OnlyLiveEvents; 4888 case "NoCombo": return pi.NoCombo; 4889 case "NoEventCombo": return pi.NoEventCombo; 4890 case "NoFixtureCombo": return pi.NoFixtureCombo; 4891 case "NoEventSameLeagueCombo": return pi.OnlySameLeagueDifferentEvent; 4892 case "NoCompetitionCombo": return pi.NoCompetitionCombo; 4893 case "NoLeagueCombo": return pi.NoLeagueCombo; 4894 case "NoSportCombo": return pi.NoSportCombo; 4895 case "OtherLiveEvents": return pi.OnlyDifferentLiveEvents; 4896 case "NoGroupCombo": return pi.NoGroupCombo; 4897 default: return pi.Default; 4898 } 4899} 4900function BR() { 4901 return { 4902 clientLegId: "", 4903 isNoncombinable: !1, 4904 isClosed: !1, 4905 isVisible: !0, 4906 redundantState: "NotRedundantLeg" 4907 }; 4908} 4909function jw(e) { 4910 switch (e) { 4911 case "Combo2": return si.Combo2; 4912 case "Combo3": return si.Combo3; 4913 case "Combo4": return si.Combo4; 4914 case "Combo5": return si.Combo5; 4915 case "Combo6": return si.Combo6; 4916 } 4917 return si.Single; 4918} 4919function DR(e) { 4920 if (!e) return si.Single; 4921 switch (e) { 4922 case 2: return si.Combo2; 4923 case 3: return si.Combo3; 4924 case 4: return si.Combo4; 4925 case 5: return si.Combo5; 4926 case 6: return si.Combo6; 4927 } 4928 return si.Single; 4929} 4930function FR(e) { 4931 return e.messageType === "GameDelete"; 4932} 4933function zR(e) { 4934 return !!(e.messageType === "GameUpdate" && e.payload.game); 4935} 4936function Yw(e) { 4937 return { 4938 id: e.price.id, 4939 isVisible: e.participantPriceStatus === "Visible" && (e.priceType !== "Fixed" || St.isValid(St.create(e.price))), 4940 marketId: e.marketId, 4941 nativeOdds: e.priceType === "Fixed" ? St.create(e.price) : Mi, 4942 type: xt[e.priceType] 4943 }; 4944} 4945function GR(e, i) { 4946 let t = e.options?.filter((r) => r.price.id === i.id)[0]; 4947 return { 4948 id: i.id, 4949 isVisible: !0, 4950 marketId: e.id, 4951 nativeOdds: St.create(i), 4952 type: t?.participantPriceType ? xt[t.participantPriceType] : xt.Fixed 4953 }; 4954} 4955function Kw(e) { 4956 return e.flatMap((i) => Kt.isPick(i) || ac(i) ? i.getLegs() : i).length; 4957} 4958function qw(e) { 4959 return ar.isPick(e) || Kt.isPick(e); 4960} 4961function VR(e) { 4962 return ar.isPick(e) ? !!e.sportcastOptions?.length : Kt.isPick(e) && ss.isId(e.id) ? e.id.groupInfo.provider === "Default" : !1; 4963} 4964function HR(e) { 4965 return Kt.isPick(e); 4966} 4967function UR(e) { 4968 return ar.isPick(e); 4969} 4970function WR(e) { 4971 return Kt.isPick(e) && e.isRacingGroupPick; 4972} 4973function jR(e) { 4974 return rs.isId(e) || ss.isId(e); 4975} 4976function YR(e) { 4977 return e.marketName.name + " - " + e.optionName.name; 4978} 4979function nc(e) { 4980 return Nl(Ih(e), (i) => i.id.toString()).reduce((i, t) => ar.isPick(t) ? i + t.getLegCount() : i + 1, 0); 4981} 4982function KR(e) { 4983 return Nl(e, (i) => i.id.toString()).reduce((i, t) => ar.isPick(t) ? i + t.getLegCount() : Kt.isPick(t) ? i + t.filterLegsByRedundantState("NotRedundantLeg").length : i + 1, 0); 4984} 4985function qR(e) { 4986 return Nl(e, (i) => i.id.toString()).reduce((i, t) => Kt.isPick(t) ? i + t.filterNoncombinableLegs().length : i, 0); 4987} 4988function XR(e, i) { 4989 let t = nc(e), r = i.uncombinable ? qR(e) : 0, s = i.redundant ? t - KR(e) : 0; 4990 return t - r - s; 4991} 4992function Ih(e) { 4993 return e.flatMap((i) => Kt.isPick(i) || ac(i) ? i.getLegs() : i); 4994} 4995function ln(e) { 4996 return Nl(e.flatMap((i) => Kt.isPick(i) || ac(i) ? [i, ...i.getLegs()] : i), (i) => i.id.toString()); 4997} 4998function ac(e) { 4999 return cc.isPick(e) && e.legs.length > 0; 5000} 5001function JR(e) { 5002 return e instanceof Ti ? e.option.isDraw : void 0; 5003} 5004function ao(e) { 5005 switch (e.pickSubType) { 5006 case kt.V1Pick: return ns.fromJSON(e); 5007 case kt.HorseWinPick: return mo.fromJSON(e); 5008 case kt.HorseXCastPick: return ra.fromJSON(e);
5009 case kt.HorseOptionMarketPick: return sa.fromJSON(e); 5010 case kt.GolfWinPick: return _h.fromJSON(e); 5011 case kt.BetBuilderPick: return ar.fromJSON(e); 5012 case kt.StandardV2Pick: return dc.fromJSON(e); 5013 case kt.GroupedPicks: return Rh.fromJSON(e); 5014 case kt.HorseOptionMarketXCastRacePick: return lc.fromJSON(e); 5015 default: throw new Error("Unknown pick sub type"); 5016 } 5017} 5018function QR(e) { 5019 return e.boostedPriceDetails?.boostType ? !0 : Kt.isPick(e) ? e.getLegs().some((i) => !!i.boostedPriceDetails?.boostType) : !1; 5020} 5021var pi, si, ts, kt, Ue, Qn, oo, xt, Oh, Et, Ph, xr, lo, cn, co, Zn, is, $h, Ah, uo, dn, un, ea, po, rs, ho, ss, Xw, ta, Jw, ia, As, Ti, oc, ns, ar, pn, hn, or, mo, ra, sa, lc, cc, dc, _h, Qw, Zw, Mh, uc, pc, hc, eE, Kt, Rh, tE, mn; 5022function fo() { 5023 return (fo = Z((() => { 5024 Re(), Ke(), no(), sc(), pi = (function(e) { 5025 return e[e.Default = 0] = "Default", e[e.AllCombo = 1] = "AllCombo", e[e.NoCombo = 2] = "NoCombo", e[e.NoSportCombo = 3] = "NoSportCombo", e[e.NoLeagueCombo = 4] = "NoLeagueCombo", e[e.NoEventCombo = 6] = "NoEventCombo", e[e.OnlySameLeagueDifferentEvent = 7] = "OnlySameLeagueDifferentEvent", e[e.OnlyLiveEvents = 8] = "OnlyLiveEvents", e[e.OnlyDifferentLiveEvents = 9] = "OnlyDifferentLiveEvents", e[e.NoCompetitionCombo = 10] = "NoCompetitionCombo", e[e.NoFixtureCombo = 11] = "NoFixtureCombo", e[e.NoGroupCombo = 12] = "NoGroupCombo", e; 5026 })(pi || {}), si = (function(e) { 5027 return e[e.Default = 0] = "Default", e[e.Single = 1] = "Single", e[e.Combo2 = 2] = "Combo2", e[e.Combo3 = 3] = "Combo3", e[e.Combo4 = 4] = "Combo4", e[e.Combo5 = 5] = "Combo5", e[e.Combo6 = 6] = "Combo6", e; 5028 })(si || {}), ts = (function(e) { 5029 return e[e.V1Pick = 0] = "V1Pick", e[e.V2ParticipantPick = 1] = "V2ParticipantPick", e[e.V2OptionMarketPick = 2] = "V2OptionMarketPick", e[e.BetBuilderPick = 3] = "BetBuilderPick", e[e.GroupedPicks = 4] = "GroupedPicks", e[e.V2OptionMarketXcastPick = 5] = "V2OptionMarketXcastPick", e; 5030 })(ts || {}), kt = (function(e) { 5031 return e[e.None = 0] = "None", e[e.V1Pick = 1] = "V1Pick", e[e.HorseWinPick = 2] = "HorseWinPick", e[e.HorseXCastPick = 3] = "HorseXCastPick", e[e.HorseOptionMarketPick = 4] = "HorseOptionMarketPick", e[e.GolfWinPick = 5] = "GolfWinPick", e[e.BetBuilderPick = 6] = "BetBuilderPick", e[e.StandardV2Pick = 7] = "StandardV2Pick", e[e.UnknownPick = 8] = "UnknownPick", e[e.HorseOptionMarketXCastRacePick = 9] = "HorseOptionMarketXCastRacePick", e[e.GroupedPicks = 10] = "GroupedPicks", e; 5032 })(kt || {}), Ue = (function(e) { 5033 return e[e.Win = 1] = "Win", e[e.Forecast = 2] = "Forecast", e[e.CombinationForecast = 3] = "CombinationForecast", e[e.Tricast = 4] = "Tricast", e[e.CombinationTricast = 5] = "CombinationTricast", e[e.Freeform = 6] = "Freeform", e[e.Derived = 7] = "Derived", e[e.None = 8] = "None", e; 5034 })(Ue || {}), Qn = (function(e) { 5035 return e.Win = "win", e.Forecast = "fc", e.CombinationForecast = "cfc", e.Tricast = "tc", e.CombinationTricast = "ctc", e; 5036 })(Qn || {}), oo = (function(e) { 5037 return e[e.Open = 1] = "Open", e[e.Lost = 2] = "Lost", e[e.Won = 3] = "Won", e[e.Canceled = 5] = "Canceled", e[e.Unknown = 0] = "Unknown", e; 5038 })(oo || {}), xt = (function(e) { 5039 return e[e.Fixed = 1] = "Fixed", e[e.StartingPrice = 2] = "StartingPrice", e[e.NoPrice = 3] = "NoPrice", e; 5040 })(xt || {}), Oh = (function(e) { 5041 return e[e.SinglePick = 0] = "SinglePick", e[e.ComboPicks = 1] = "ComboPicks", e[e.BetBuilderPicks = 2] = "BetBuilderPicks", e[e.BetBuilderPlusPicks = 3] = "BetBuilderPlusPicks", e; 5042 })(Oh || {}), Et = (function(e) { 5043 return e[e.Open = 0] = "Open", e[e.Locked = 1] = "Locked", e[e.Closed = 2] = "Closed", e; 5044 })(Et || {}), Ph = (function(e) { 5045 return e[e.None = 0] = "None", e[e.Unknown = 1] = "Unknown", e[e.MarketVisibility = 2] = "MarketVisibility", e[e.PriceVisibility = 4] = "PriceVisibility", e[e.Odds = 8] = "Odds", e; 5046 })(Ph || {}), xr = class F$ { 5047 constructor(i) { 5048 this.id = i, this.subscriptionContext = []; 5049 } 5050 static isEmpty(i) { 5051 return typeof i == "string" ? !i : i.isEmpty(); 5052 } 5053 static Empty() { 5054 class i extends F$ { 5055 constructor() { 5056 super(""), this.fixtureId = ""; 5057 } 5058 getPickType() { 5059 throw Error("Empty Pick Id"); 5060 } 5061 copy() { 5062 return new i(); 5063 } 5064 } 5065 return new i(); 5066 } 5067 isEmpty() { 5068 return !this.id; 5069 } 5070 isEqual(i) { 5071 return i ? typeof i == "string" ? this.id === i : this.id === i.id : !1; 5072 } 5073 toString() { 5074 return this.id; 5075 } 5076 }, lo = class $n extends xr { 5077 static asString(i, t, r) { 5078 return `${$n.ID_PREFIX}-e:${i}/m:${t}/o:${r}`; 5079 } 5080 static isId(i) { 5081 let t = typeof i == "string" ? i : i.toString(); 5082 return $n.PICK_REG_EX.test(t); 5083 } 5084 static fromString(i) { 5085 let t = i.match($n.PICK_REG_EX); 5086 return new $n(t[1], +t[2], +t[3]); 5087 } 5088 constructor(i, t, r) { 5089 super($n.asString(i, t, r)), this.eventId = i, this.marketId = t, this.optionId = r, this.fixtureId = i.toString(); 5090 } 5091 getPickType() { 5092 return ts.V1Pick; 5093 } 5094 copy() { 5095 return new $n(this.eventId, this.marketId, this.optionId); 5096 } 5097 }, lo.ID_PREFIX = "v1", lo.PICK_REG_EX = new RegExp(`${lo.ID_PREFIX}-e:(\\d+)/m:(\\d+)/o:(-?\\d+)`), cn = lo, co = class z$ extends xr { 5098 static isId(i) { 5099 return i instanceof z$; 5100 } 5101 constructor(i, t) { 5102 super(i), this.fixtureId = t; 5103 } 5104 }, Zn = class Fr extends co { 5105 static getPrefix(i) { 5106 switch (i) { 5107 case Ue.Win: return "win";
5108 case Ue.Forecast: return "fc"; 5109 case Ue.CombinationForecast: return "cfc"; 5110 case Ue.Tricast: return "tc"; 5111 case Ue.CombinationTricast: return "ctc"; 5112 } 5113 return ""; 5114 } 5115 static asString(i, t, r, s) { 5116 let n = `${Fr.ID_PREFIX}-${Fr.getPrefix(s)}-f:${i}/m:${t}/`, a = Object.entries(r).sort((l, c) => +l[0] - +c[0]), o = []; 5117 for (let [l, c] of a) o.push(`p:${l}:${c}`); 5118 return n + o.join("/"); 5119 } 5120 static isId(i) { 5121 let t = typeof i == "string" ? i : i.toString(); 5122 return Fr.PICK_REG_EX.test(t); 5123 } 5124 static fromString(i) { 5125 let t = i.match(Fr.PICK_REG_EX), r = t[1], s; 5126 switch (r) { 5127 case "win": 5128 s = Ue.Win; 5129 break; 5130 case "fc": 5131 s = Ue.Forecast; 5132 break; 5133 case "cfc": 5134 s = Ue.CombinationForecast; 5135 break; 5136 case "tc": 5137 s = Ue.Tricast; 5138 break; 5139 case "ctc": 5140 s = Ue.CombinationTricast; 5141 break; 5142 default: throw new Error("Unknown participant pick type"); 5143 } 5144 let n = t[2], a = +t[3], o = {}, l = t[4]; 5145 for (; l.length > 0;) { 5146 let c = l.match(Fr.PICK_PARTICIPANT_REG_EX); 5147 o[+c[1]] = +c[2], l = l.replace(Fr.PICK_PARTICIPANT_REG_EX, ""); 5148 } 5149 return s === Ue.Win ? new Ah(n, a, +Object.keys(o)[0]) : new Fr(n, a, o, s); 5150 } 5151 constructor(i, t, r, s) { 5152 super(Fr.asString(i, t, r, s), i), this.marketId = t, this.participantIds = r, this.pickType = s; 5153 } 5154 getPickType() { 5155 return ts.V2ParticipantPick; 5156 } 5157 copy() { 5158 return new Fr(this.fixtureId, this.marketId, this.participantIds, this.pickType); 5159 } 5160 get participants() { 5161 return Object.keys(this.participantIds).map((i) => +i); 5162 } 5163 }, Zn.ID_PREFIX = "v2-p", Zn.PICK_REG_EX = new RegExp(`${Zn.ID_PREFIX}-(win|fc|cfc|tc|ctc)-f:([\\d:]+)/m:(\\d+)((/p:(\\d+):(\\d+))+)`), Zn.PICK_PARTICIPANT_REG_EX = /* @__PURE__ */ new RegExp("/p:(\\d+):(\\d+)"), is = Zn, $h = class Nb extends is { 5164 constructor(i, t, r) { 5165 super(i, t, { [r]: 1 }, Ue.Win), this.fixtureId = i, this.marketId = t, this.participantId = r; 5166 } 5167 static isId(i) { 5168 let t = typeof i == "string" ? i : i.toString(); 5169 return Nb.V2WIN_PICK_REG_EX.test(t); 5170 } 5171 copy() { 5172 return new Nb(this.fixtureId, this.marketId, this.participantId); 5173 } 5174 }, $h.V2WIN_PICK_REG_EX = new RegExp(`${is.ID_PREFIX}-win-f:([\\d:]+)/m:(\\d+)((/p:(\\d+):(\\d+))+)`), Ah = $h, uo = class An extends co { 5175 static asString(i, t, r, s) { 5176 return `${An.ID_PREFIX}-f:${i}/om:${t}/o:${r}/p:${s}`; 5177 } 5178 static fromString(i) { 5179 let t = i.match(An.PICK_REG_EX); 5180 return new An(t[1], +t[2], +t[3], +t[4]); 5181 } 5182 constructor(i, t, r, s) { 5183 super(An.asString(i, t, r, s), i), this.fixtureId = i, this.optionMarketId = t, this.optionId = r, this.priceId = s; 5184 } 5185 static isId(i) { 5186 let t = typeof i == "string" ? i : i.toString(); 5187 return An.PICK_REG_EX.test(t); 5188 } 5189 copy() { 5190 return new An(this.fixtureId, this.optionMarketId, this.optionId, this.priceId); 5191 } 5192 getPickType() { 5193 return ts.V2OptionMarketPick; 5194 } 5195 }, uo.ID_PREFIX = "v2-om", uo.PICK_REG_EX = new RegExp(`${uo.ID_PREFIX}-f:([\\d:]+)/om:(\\d+)/o:(\\d+)/p:(\\d+)`), dn = uo, un = class Ji extends co { 5196 static asString(i, t, r, s, n) { 5197 let a = `${Ji.ID_PREFIX}-${Ji.getPrefix(n)}-f:${i}/om:${t}/`, o = Object.entries(r).sort((u, h) => +u[0] - +h[0]), l = []; 5198 for (let [u, h] of o) l.push(`o:${u}:${h}`); 5199 let c = Object.entries(s).sort((u, h) => +u[0] - +h[0]), d = []; 5200 for (let [u, h] of c) d.push(`p:${u}:${h}`); 5201 return a + l.join("/") + "/" + d.join("/"); 5202 } 5203 static fromString(i) { 5204 let t = i.match(Ji.PICK_REG_EX), r = t[1], s; 5205 switch (r) { 5206 case Qn.Forecast: 5207 s = Ue.Forecast; 5208 break; 5209 case Qn.CombinationForecast: 5210 s = Ue.CombinationForecast; 5211 break; 5212 case Qn.Tricast: 5213 s = Ue.Tricast; 5214 break; 5215 case Qn.CombinationTricast: 5216 s = Ue.CombinationTricast; 5217 break; 5218 default: throw new Error("Unknown option market pick type"); 5219 } 5220 let n = t[2], a = +t[3], o = {}, l = {}, c = t[4]; 5221 for (; c.length > 0;) { 5222 let u = c.match(Ji.PICK_OPTION_REG_EX); 5223 o[+u[1]] = +u[2], c = c.replace(Ji.PICK_OPTION_REG_EX, ""); 5224 } 5225 let d = t[8]; 5226 for (; d.length > 0;) { 5227 let u = d.match(Ji.PICK_PRICE_REG_EX); 5228 l[+u[1]] = +u[2], d = d.replace(Ji.PICK_PRICE_REG_EX, ""); 5229 } 5230 return new Ji(n, a, o, l, s); 5231 } 5232 constructor(i, t, r, s, n) { 5233 super(Ji.asString(i, t, r, s, n), i), this.fixtureId = i, this.optionMarketId = t, this.optionIds = r, this.priceIds = s, this.pickType = n; 5234 } 5235 static isId(i) { 5236 let t = typeof i == "string" ? i : i.toString(); 5237 return Ji.PICK_REG_EX.test(t); 5238 } 5239 copy() { 5240 return new Ji(this.fixtureId, this.optionMarketId, this.optionIds, this.priceIds, this.pickType); 5241 } 5242 getPickType() { 5243 return ts.V2OptionMarketXcastPick; 5244 } 5245 static getPrefix(i) { 5246 switch (i) {
5247 case Ue.Forecast: return "fc"; 5248 case Ue.CombinationForecast: return "cfc"; 5249 case Ue.Tricast: return "tc"; 5250 case Ue.CombinationTricast: return "ctc"; 5251 } 5252 return ""; 5253 } 5254 }, un.ID_PREFIX = "v2-om", un.PICK_REG_EX = new RegExp(`${un.ID_PREFIX}-?(fc|cfc|tc|ctc)?-f:([\\d:]+)/om:(\\d+)((/o:(\\d+):?(\\d+)?)*)((/p:(\\d+):?(\\d+)?)*)`), un.PICK_OPTION_REG_EX = /* @__PURE__ */ new RegExp("/o:(\\d+):(\\d+)"), un.PICK_PRICE_REG_EX = /* @__PURE__ */ new RegExp("/p:(\\d+):(\\d+)"), ea = un, po = class _n extends co { 5255 static asString(i, t, r, s, n) { 5256 let a = i.indexOf(":") !== -1 ? i.split(":").pop() : i; 5257 return `${_n.ID_PREFIX}-e:${a}/f:${t}/om:${r}/o:${s}/p:${n}`; 5258 } 5259 static isId(i) { 5260 let t = typeof i == "string" ? i : i.toString(); 5261 return _n.PICK_REG_EX.test(t); 5262 } 5263 static fromString(i) { 5264 let t = i.match(_n.PICK_REG_EX); 5265 return new _n(t[1], t[2], +t[3], +t[4], +t[5]); 5266 } 5267 constructor(i, t, r, s, n) { 5268 super(_n.asString(i, t, r, s, n), t), this.eventId = i, this.optionMarketId = r, this.optionId = s, this.priceId = n; 5269 } 5270 getPickType() { 5271 return ts.BetBuilderPick; 5272 } 5273 copy() { 5274 return new _n(this.eventId, this.fixtureId, this.optionMarketId, this.optionId, this.priceId); 5275 } 5276 }, po.ID_PREFIX = "bb", po.PICK_REG_EX = new RegExp(`${po.ID_PREFIX}-e:([\\d:]+)/f:([\\d:]+)/om:(\\d+)/o:(\\d+)/p:(\\d+)`), rs = po, ho = class Mn extends xr { 5277 static asString(i) { 5278 return `${Mn.ID_PREFIX}-e:${i.groupId}/${i.provider}`; 5279 } 5280 static isId(i) { 5281 let t = typeof i == "string" ? i : i.toString(); 5282 return Mn.PICK_REG_EX.test(t); 5283 } 5284 static fromString(i) { 5285 let t = i.match(Mn.PICK_REG_EX); 5286 return new Mn({ 5287 groupId: t[1], 5288 provider: t[2] ? t[2] : "Angstrom" 5289 }); 5290 } 5291 constructor(i) { 5292 super(Mn.asString(i)), this.groupInfo = i, this.fixtureId = i.groupId; 5293 } 5294 getPickType() { 5295 return ts.GroupedPicks; 5296 } 5297 copy() { 5298 return new Mn(this.groupInfo); 5299 } 5300 }, ho.ID_PREFIX = "GROUP", ho.PICK_REG_EX = new RegExp(`${ho.ID_PREFIX}-e:([^/]+)(?:/(.+))?`), ss = ho, Xw = (e) => cn.isId(e) || dn.isId(e) || is.isId(e), ta = function(e) { 5301 if (cn.isId(e)) return cn.fromString(e); 5302 if (is.isId(e)) return is.fromString(e); 5303 if (dn.isId(e)) return dn.fromString(e); 5304 if (ea.isId(e)) return ea.fromString(e); 5305 if (rs.isId(e)) return rs.fromString(e); 5306 if (xr.isEmpty(e)) return xr.Empty(); 5307 if (ss.isId(e)) return ss.fromString(e); 5308 throw new Error("Unknown pick id string"); 5309 }, Jw = function(e) { 5310 return cn.isId(e) ? cn.fromString(e) : is.isId(e) ? is.fromString(e) : dn.isId(e) ? dn.fromString(e) : ea.isId(e) ? ea.fromString(e) : rs.isId(e) ? rs.fromString(e) : xr.isEmpty(e) ? xr.Empty() : ss.isId(e) ? ss.fromString(e) : null; 5311 }, ia = class { 5312 get groupInfo() { 5313 return this._groupInfo; 5314 } 5315 constructor() { 5316 this.isAvailable = !0, this.resultStatus = oo.Open, this.subscriptionContext = [], this.priceHistory = []; 5317 } 5318 isVisible() { 5319 return this.isAvailable && this.isPriceVisible() && this.isMarketVisible(); 5320 } 5321 isOpen() { 5322 return this.resultStatus === oo.Open; 5323 } 5324 get currentPrice() { 5325 return this.prices[0]; 5326 } 5327 get oddsState() { 5328 return this.isOpen() ? this.isVisible() ? Et.Open : Et.Locked : Et.Closed; 5329 } 5330 betCount() { 5331 return 1; 5332 } 5333 toJSON() { 5334 return { 5335 id: this.id.toString(), 5336 priceHistory: this.priceHistory, 5337 priceType: this.priceType, 5338 acceptedPrice: this.acceptedPrice, 5339 isNewCustomerOffer: this.isNewCustomerOfferPick, 5340 market: this.market ? { 5341 id: this.market.id, 5342 isVisible: this.market.isVisible, 5343 isBetBuilderEnabled: this.market.isBetBuilderEnabled 5344 } : null, 5345 subscriptionContext: this.subscriptionContext, 5346 pickSubType: kt.None, 5347 tracking: this.tracking, 5348 boostedPriceDetails: this.boostedPriceDetails, 5349 liveAlert: this.liveAlert, 5350 groupInfo: this.groupInfo, 5351 parentLinkedEventId: this.parentLinkedEventId ?? this.id.parentLinkedEventId, 5352 totalsPrefix: this.totalsPrefix, 5353 fromHybridFixture: this.fromHybridFixture, 5354 pickUpdateMetadata: this.pickUpdateMetadata ? Fa(this.pickUpdateMetadata) : void 0, 5355 optionParticipantId: this.optionParticipantId, 5356 optionParticipantParentId: this.optionParticipantParentId, 5357 marketGrouping: this.marketGrouping 5358 }; 5359 } 5360 initPropertiesFromJSON(e) { 5361 this.id = ta(e.id), this.priceHistory = e.priceHistory, this.priceType = e.priceType, this.acceptedPrice = e.acceptedPrice, this.isNewCustomerOfferPick = e.isNewCustomerOffer, this.subscriptionContext = e.subscriptionContext, e.market && (this.market = { 5362 id: e.market.id, 5363 isVisible: e.market.isVisible, 5364 isBetBuilderEnabled: e.market.isBetBuilderEnabled 5365 }), this.tracking = e.tracking ?? {}, this.boostedPriceDetails = e.boostedPriceDetails, this.liveAlert = e.liveAlert, this._groupInfo = e.groupInfo, this.parentLinkedEventId = e.parentLinkedEventId, this.totalsPrefix = e.totalsPrefix, this.fromHybridFixture = e.fromHybridFixture, this.pickUpdateMetadata = e.pickUpdateMetadata ? Fa(e.pickUpdateMetadata) : void 0, this.optionParticipantId = e.optionParticipantId, this.optionParticipantParentId = e.optionParticipantParentId, this.marketGrouping = e.marketGrouping; 5366 } 5367 getOddsAcceptance() { 5368 return this.currentPrice?.nativeOdds === this.acceptedPrice.price?.
5368nativeOdds ? !0 : !this.currentPrice?.nativeOdds || !this.acceptedPrice.price?.nativeOdds ? !1 : St.equal(this.currentPrice?.nativeOdds, this.acceptedPrice.price?.nativeOdds); 5369 } 5370 setGroupInfo(e) { 5371 this._groupInfo = e; 5372 } 5373 }, As = class G$ extends ia { 5374 static isPick(i) { 5375 return i instanceof G$; 5376 } 5377 constructor() { 5378 super(), this.priceType = xt.Fixed; 5379 } 5380 isMarketVisible() { 5381 return this.market.isVisible; 5382 } 5383 isPriceVisible() { 5384 return !0; 5385 } 5386 initPropertiesFromJSON(i) { 5387 super.initPropertiesFromJSON(i), this.fixture = J(C({}, i.fixture), { 5388 eventDate: new Date(i.fixture.eventDate), 5389 cutOffDate: new Date(i.fixture.cutOffDate), 5390 league: i.fixture.league, 5391 region: i.fixture.region 5392 }); 5393 } 5394 get leagueId() { 5395 return this.fixture.league !== null ? this.fixture.league.id : 0; 5396 } 5397 get leagueName() { 5398 return this.fixture.league?.name || { 5399 name: "", 5400 signature: "" 5401 }; 5402 } 5403 get regionId() { 5404 return this.fixture.region !== null ? this.fixture.region.id : 0; 5405 } 5406 get regionName() { 5407 return this.fixture.region?.name || { 5408 name: "", 5409 signature: "" 5410 }; 5411 } 5412 isOpen() { 5413 return super.isOpen() ? this.fixture.cutOffDate > /* @__PURE__ */ new Date() : !1; 5414 } 5415 get eventName() { 5416 return this.fixture.name; 5417 } 5418 get sportId() { 5419 return this.fixture.sportId; 5420 } 5421 get partitionId() { 5422 return Hw(this.fixture.fixtureId); 5423 } 5424 get sportName() { 5425 return this.fixture.sportName; 5426 } 5427 get eventDate() { 5428 return this.fixture.eventDate; 5429 } 5430 get competitionName() { 5431 return this.leagueName; 5432 } 5433 get competitionId() { 5434 return this.leagueId; 5435 } 5436 get isVirtual() { 5437 return this.fixture.virtual; 5438 } 5439 toJSON() { 5440 return J(C({}, super.toJSON()), { fixture: J(C({}, this.fixture), { 5441 eventDate: this.fixture.eventDate.toISOString(), 5442 cutOffDate: this.fixture.cutOffDate.toISOString(), 5443 league: this.fixture.league && { 5444 id: this.fixture.league.id, 5445 name: C({}, this.fixture.league.name), 5446 realCompetitionId: this.fixture.league.realCompetitionId 5447 }, 5448 region: this.fixture.region && { 5449 id: this.fixture.region.id, 5450 name: C({}, this.fixture.region.name) 5451 } 5452 }) }); 5453 } 5454 setMarketInvisible() { 5455 this.market.isVisible = !1; 5456 } 5457 }, Ti = class V$ extends As { 5458 get eventParticipants() { 5459 return this.fixture.participants; 5460 } 5461 get eventViewType() { 5462 return this.fixture.viewType; 5463 } 5464 static isPick(i) { 5465 return i instanceof V$; 5466 } 5467 initPropertiesFromJSON(i) { 5468 super.initPropertiesFromJSON(i), this.market = i.market, this.isFavouritePick = i.isFavouritePick, this.isFromNewCustomerOffer = i.isFromNewCustomerOffer || !1, this.option = J(C({}, i.option), { 5469 prices: Fa(i.option.prices), 5470 isDraw: i.option.isDraw 5471 }), this.pickType = i.pickType, this.siblingOption = i.siblingOption; 5472 } 5473 get optionId() { 5474 return this.option.id; 5475 } 5476 get optionName() { 5477 return this.option.name; 5478 } 5479 get optionShortName() { 5480 return this.option.short; 5481 } 5482 get marketName() { 5483 return this.market.name; 5484 } 5485 get isLive() { 5486 return this.fixture.stage === "Live"; 5487 } 5488 get isEachWay() { 5489 return this.market.isEachWay; 5490 } 5491 get placeTerms() { 5492 return this.market.placeTerms; 5493 } 5494 get realCompetitionId() { 5495 return this.fixture.league?.realCompetitionId; 5496 } 5497 isPriceVisible() { 5498 return this.option.isVisible && !!this.currentPrice && this.currentPrice.isVisible; 5499 } 5500 isMarketVisible() { 5501 return this.market.isVisible; 5502 } 5503 isOpen() { 5504 return !super.isOpen() || this.market.isClosed ? !1 : this.fixture.cutOffDate > /* @__PURE__ */ new Date(); 5505 } 5506 toJSON() { 5507 return J(C({}, super.toJSON()), { 5508 id: this.id.toString(), 5509 isFromNewCustomerOffer: this.isFromNewCustomerOffer, 5510 market: C({}, this.market), 5511 isFavouritePick: this.isFavouritePick, 5512 option: C({}, this.option), 5513 pickType: this.pickType, 5514 siblingOption: this.siblingOption 5515 }); 5516 } 5517 get prices() { 5518 return this.option.prices.filter((i) => i.marketId === this.market.id); 5519 } 5520 }, oc = (function(e) { 5521 return e[e.OddsChange = 0] = "OddsChange", e[e.VisibilityChange = 1] = "VisibilityChange", e[e.LockChange = 2] = "LockChange", e; 5522 })(oc || {}), ns = class $u extends ia { 5523 get eventParticipants() { 5524 return this.event.participants; 5525 } 5526 get eventViewType() { 5527 return this.event.viewType; 5528 } 5529 static fromJSON(i) { 5530 let t = new $u(); 5531 return t.initPropertiesFromJSON(i), t;
5532 } 5533 static isPick(i) { 5534 return i instanceof $u; 5535 } 5536 constructor() { 5537 super(), this.priceType = xt.Fixed; 5538 } 5539 initPropertiesFromJSON(i) { 5540 super.initPropertiesFromJSON(i), this.event = J(C({}, i.event), { 5541 eventDate: new Date(i.event.eventDate), 5542 cutOffDate: new Date(i.event.cutOffDate), 5543 sequence: i.event.sequence, 5544 latestSequence: i.event.latestSequence 5545 }), this.league = i.league, this.region = i.region, this.sport = i.sport, this.market = C({}, i.market), this.option = C({}, i.option), this.teaser = C({}, i.teaser); 5546 } 5547 get eventName() { 5548 return this.event.name; 5549 } 5550 get marketName() { 5551 return this.market.name; 5552 } 5553 get optionName() { 5554 return this.option.name; 5555 } 5556 get optionShortName() { 5557 return this.option.short; 5558 } 5559 get optionId() { 5560 return this.option.id; 5561 } 5562 get sportId() { 5563 return this.sport.id; 5564 } 5565 get partitionId() {} 5566 get isVirtual() { 5567 return !1; 5568 } 5569 get eventDate() { 5570 return this.event.eventDate; 5571 } 5572 get regionName() { 5573 return this.region.name; 5574 } 5575 get competitionName() { 5576 return this.league.name; 5577 } 5578 get competitionId() { 5579 return this.league.id; 5580 } 5581 get sportName() { 5582 return this.sport.name; 5583 } 5584 get leagueName() { 5585 return this.league.name; 5586 } 5587 isPriceVisible() { 5588 return !!this.currentPrice && this.currentPrice.isVisible; 5589 } 5590 isMarketVisible() { 5591 return this.market.isVisible; 5592 } 5593 setMarketInvisible() { 5594 this.market.isVisible = !1; 5595 } 5596 isOpen() { 5597 return !super.isOpen() || this.market.isClosed ? !1 : this.event.cutOffDate > /* @__PURE__ */ new Date(); 5598 } 5599 toJSON() { 5600 return J(C({}, super.toJSON()), { 5601 id: this.id.toString(), 5602 pickSubType: kt.V1Pick, 5603 event: { 5604 id: this.event.id, 5605 name: C({}, this.event.name), 5606 groupId: this.event.groupId, 5607 isLive: this.event.isLive, 5608 isPublished: this.event.isPublished, 5609 eventDate: this.event.eventDate.toISOString(), 5610 cutOffDate: this.event.cutOffDate.toISOString(), 5611 participants: this.event.participants, 5612 viewType: this.event.viewType, 5613 sequence: this.event.sequence, 5614 latestSequence: this.event.latestSequence 5615 }, 5616 league: C({}, this.league), 5617 region: C({}, this.region), 5618 sport: C({}, this.sport), 5619 market: C({}, this.market), 5620 option: C({}, this.option), 5621 teaser: C({}, this.teaser) 5622 }); 5623 } 5624 copy() { 5625 let i = this.toJSON(); 5626 return $u.fromJSON(i); 5627 } 5628 updateFromMessage(i) { 5629 let t = {}; 5630 if (FR(i) && i.payload.gameId === this.market.id) return this.market = J(C({}, this.market), { 5631 isVisible: !1, 5632 isClosed: !0 5633 }), t; 5634 if (zR(i) && i.payload.game.id === this.market.id && i.payload.game.results.some((r) => r.id === this.option.id)) { 5635 let r = i.payload.game; 5636 this.market = J(C({}, this.market), { 5637 isVisible: r.visibility === "Visible", 5638 isClosed: r.visibility === "Hidden", 5639 comboPrevention: Ww(r.combo1), 5640 minimumCombo: jw(r.combo2) 5641 }); 5642 let s = r.results.find((a) => a.id === this.option.id), n = J(C({}, this.currentPrice), { 5643 nativeOdds: St.create(s), 5644 isVisible: s.visibility === "Visible" && s.odds > 1 5645 }); 5646 (!St.equal(n.nativeOdds, this.currentPrice.nativeOdds) || n.isVisible !== this.currentPrice.isVisible) && (this.priceHistory.push(C({}, this.currentPrice)), St.equal(n.nativeOdds, this.currentPrice.nativeOdds) ? n.isVisible !== this.currentPrice.isVisible && (t.changeType = oc.VisibilityChange) : t.changeType = oc.OddsChange), this.option.price = n; 5647 } 5648 return t; 5649 } 5650 get isLive() { 5651 return this.event.isLive; 5652 } 5653 get prices() { 5654 return [this.option.price]; 5655 } 5656 }, ar = class gl extends Ti { 5657 get eventParticipants() { 5658 return this.event.event.participants; 5659 } 5660 get eventViewType() { 5661 return this.event.event.viewType; 5662 } 5663 constructor() { 5664 super(), this.pendingPrice = !1; 5665 } 5666 static isPick(i) { 5667 return i instanceof gl; 5668 } 5669 static isEntainUiBetBuilderPick(i) { 5670 return i instanceof gl && !!i.sportcastOptions?.length; 5671 } 5672 getLegCount() { 5673 return this.sportcastOptions?.length ? this.sportcastOptions.length : this.market.name.name.split(";").length; 5674 } 5675 static fromJSON(i) { 5676 let t = new gl(); 5677 return t.initPropertiesFromJSON(i), t;
5678 } 5679 initPropertiesFromJSON(i) { 5680 super.initPropertiesFromJSON(i), this.eventId = i.eventId, this.event = i.event && J(C({}, i.event), { event: J(C({}, i.event.event), { date: new Date(i.event.event.date) }) }), this.sportcastOptions = i.sportcastOptions, this.betgeniusId = i.betgeniusId, this.sportcastId = i.sportcastId, this.betSlipUid = i.betSlipUid, this.useV2Key = i.useV2key, this.longIds = i.longIds; 5681 } 5682 getLegs() { 5683 return this.market.name.name.split(";"); 5684 } 5685 betCount() { 5686 return 1; 5687 } 5688 toJSON() { 5689 return J(C({}, super.toJSON()), { 5690 eventId: this.eventId, 5691 event: this.event, 5692 pickSubType: kt.BetBuilderPick, 5693 sportcastOptions: this.sportcastOptions, 5694 betgeniusId: this.betgeniusId, 5695 sportcastId: this.sportcastId, 5696 betSlipUid: this.betSlipUid, 5697 useV2key: this.useV2Key, 5698 longIds: this.longIds 5699 }); 5700 } 5701 copy() { 5702 let i = this.toJSON(), t = gl.fromJSON(i); 5703 return t.pendingPrice = this.pendingPrice, t; 5704 } 5705 get regionName() { 5706 return this.event.region.name; 5707 } 5708 get leagueName() { 5709 return this.event.league.name; 5710 } 5711 get eventDate() { 5712 return this.event.event.date; 5713 } 5714 }, pn = class H$ extends As { 5715 static isPick(i) { 5716 return i instanceof H$; 5717 } 5718 initPropertiesFromJSON(i) { 5719 super.initPropertiesFromJSON(i), this.market = i.market, this.participants = i.participants.map((t) => J(C({}, t), { prices: t.prices.map((r) => C({}, r)) })), this.betType = i.betType, this.betTypeAltTranslation = i.betTypeAltTranslation; 5720 } 5721 updateFromPrice(i, t) { 5722 if (!t) this.priceHistory.push(C({}, i)), i.isVisible = !1; 5723 else { 5724 let r = { 5725 isVisible: t.marketStatus === "Visible" && t.participantPriceStatus === "Visible", 5726 nativeOdds: Mi 5727 }; 5728 t.priceType === "Fixed" && (r.nativeOdds = St.create(t.price), r.isVisible = r.isVisible && St.isValid(r.nativeOdds)), (!St.equal(r.nativeOdds, i.nativeOdds) || i.isVisible !== r.isVisible) && this.priceHistory.push(C({}, i)), i.isVisible = r.isVisible, i.nativeOdds = r.nativeOdds; 5729 } 5730 } 5731 addPriceFromOption(i, t) { 5732 let r = Yw(t); 5733 i.prices.push(r); 5734 } 5735 updateFromParticipantOptions(i) { 5736 let t = i.filter((r) => r.marketType === this.market.marketType); 5737 this.market.isVisible = !!t.length && t.every((r) => r.marketStatus === "Visible"); 5738 } 5739 isPriceVisible() { 5740 return !this.participants.some((i) => i.status === "Hidden") && !!this.currentPrice && this.currentPrice.isVisible; 5741 } 5742 isMarketVisible() { 5743 return this.market.isVisible; 5744 } 5745 get isLive() { 5746 return !1; 5747 } 5748 toJSON() { 5749 return J(C({}, super.toJSON()), { 5750 id: this.id.toString(), 5751 market: { 5752 id: this.market.id, 5753 isVisible: this.market.isVisible, 5754 marketType: this.market.marketType, 5755 isBetBuilderEnabled: !1 5756 }, 5757 participants: this.participants.map((i) => C({}, i)), 5758 betType: this.betType, 5759 betTypeAltTranslation: this.betTypeAltTranslation 5760 }); 5761 } 5762 get optionName() { 5763 return { 5764 name: this.participants.sort((i, t) => i.position - t.position).map((i) => i.name.name).join(", "), 5765 signature: "" 5766 }; 5767 } 5768 get prices() { 5769 return this.participants.flatMap((i) => i.prices.filter((t) => t.marketId === this.market.id)); 5770 } 5771 }, hn = class U$ extends pn { 5772 constructor() { 5773 super(); 5774 } 5775 static isPick(i) { 5776 return i instanceof U$; 5777 } 5778 initPropertiesFromJSON(i) { 5779 super.initPropertiesFromJSON(i), this.market = i.market; 5780 } 5781 updateFromParticipantOptions(i) { 5782 if (super.updateFromParticipantOptions(i), i.length) { 5783 let t = i.find((s) => s.priceType === "Fixed"), r = i.find((s) => s.priceType === "StartingPrice"); 5784 this.market.isStartingPriceAvailable = !!(r && r.marketStatus === "Visible"), this.market.isVisible = !!(t && t.marketStatus === "Visible"), this.market.isEachWay = t?.properties.isEachWay || !1, this.market.placeTerms = t?.properties.placeTerms || null; 5785 } 5786 } 5787 isMarketVisible() { 5788 if (!this.currentPrice) return !1; 5789 switch (this.currentPrice.type) { 5790 case xt.Fixed: return this.market.isVisible; 5791 case xt.StartingPrice: return this.market.isStartingPriceAvailable; 5792 default: return !1; 5793 } 5794 } 5795 isStartingPriceAvailable() { 5796 return this.market.isStartingPriceAvailable && this.prices.some((i) => i.type === xt.StartingPrice && i.isVisible); 5797 } 5798 isFixedPriceAvailable() { 5799 return this.market.isVisible && this.prices.some((i) => i.type === xt.Fixed && i.isVisible); 5800 } 5801 toJSON() { 5802 return J(C({}, super.toJSON()), { market: { 5803 id: this.market.id, 5804 isVisible: this.market.isVisible, 5805 isStartingPriceAvailable: this.market.isStartingPriceAvailable, 5806 isEachWay: this.market.isEachWay, 5807 marketType: this.market.marketType, 5808 placeTerms: this.market.placeTerms && C({}, this.market.placeTerms), 5809 isBetBuilderEnabled: !1 5810 } }); 5811 } 5812 get participant() { 5813 return this.participants[0]; 5814 } 5815 get isEachWay() { 5816 return this.market.isEachWay && this.participant.type !== "Favourite"; 5817 } 5818 get optionName() { 5819 return this.participant.name; 5820 } 5821 get prices() { 5822 return this.participant.prices.filter((i) => i.marketId === this.market.id); 5823 } 5824 get currentPrice() { 5825 return this.prices.find((i) => i.type === this.priceType); 5826 } 5827 }, or = class { 5828 static toJSON(e, i) { 5829 return { fixture: J(C({}, i), { 5830 bestOddsGuarantee: e.fixture.bestOddsGuarantee, 5831 isRaceOff: e.fixture.isRaceOff, 5832 isInPlay: e.fixture.isInPlay, 5833 isPlannedInPlay: e.fixture.isPlannedInPlay 5834 }) }; 5835 } 5836 static fromJSON(e, i, t) { 5837 e.fixture = J(C({}, i), { 5838 bestOddsGuarantee: t.fixture.bestOddsGuarantee, 5839 isRaceOff: t.fixture.isRaceOff, 5840 isInPlay: t.fixture.isInPlay, 5841 isPlannedInPlay: e.fixture.isPlannedInPlay 5842 }); 5843 } 5844 static eventName(e) { 5845 return e.fixture.fixtureType === "DayOfRace" ? e.leagueName : e.fixture.name; 5846 } 5847 }, mo = class Au extends hn { 5848 get eventParticipants() {} 5849 get eventViewType() {} 5850 static fromJSON(i) { 5851 let t = new Au(); 5852 return t.initPropertiesFromJSON(i), t;
5853 } 5854 static isPick(i) { 5855 return i instanceof Au; 5856 } 5857 initPropertiesFromJSON(i) { 5858 super.initPropertiesFromJSON(i), or.fromJSON(this, this.fixture, i), this.fromJSON(this, i); 5859 } 5860 setMarketName(i, t) { 5861 this._marketName = i, t && (this._marketNameAltTranslation = t); 5862 } 5863 toJSON() { 5864 let i = super.toJSON(); 5865 return J(C(C(C({}, i), or.toJSON(this, i.fixture)), this.toParticipantsJSON(this)), { pickSubType: kt.HorseWinPick }); 5866 } 5867 fromJSON(i, t) { 5868 this._marketName = t._marketName, i.participants = t.participants.map((r) => J(C({}, r), { prices: r.prices })), t._marketNameAltTranslation && (this._marketNameAltTranslation = t._marketNameAltTranslation); 5869 } 5870 toParticipantsJSON(i) { 5871 return C({ 5872 participants: i.participants.map((t) => J(C({}, t), { prices: t.prices })), 5873 _marketName: this._marketName 5874 }, this._marketNameAltTranslation && { _marketNameAltTranslation: this._marketNameAltTranslation }); 5875 } 5876 setMarketInvisible() { 5877 super.setMarketInvisible(), this.market.isStartingPriceAvailable = !1; 5878 } 5879 copy() { 5880 let i = this.toJSON(); 5881 return Au.fromJSON(i); 5882 } 5883 get participant() { 5884 return this.participants[0]; 5885 } 5886 get eventName() { 5887 return or.eventName(this); 5888 } 5889 get marketName() { 5890 return { 5891 name: this._marketName, 5892 signature: "", 5893 nameAlternate: this._marketNameAltTranslation 5894 }; 5895 } 5896 get isLive() { 5897 return this.fixture.isInPlay; 5898 } 5899 }, ra = class _u extends pn { 5900 get eventParticipants() {} 5901 get eventViewType() {} 5902 static isPick(i) { 5903 return i instanceof _u; 5904 } 5905 static fromJSON(i) { 5906 let t = new _u(); 5907 return t.initPropertiesFromJSON(i), t; 5908 } 5909 constructor() { 5910 super(), this.priceType = xt.NoPrice; 5911 } 5912 initPropertiesFromJSON(i) { 5913 super.initPropertiesFromJSON(i), or.fromJSON(this, this.fixture, i), this.fromJSON(this, i); 5914 } 5915 getPermutations(i) { 5916 let t = 1; 5917 for (let r = this.participants.length; r > this.participants.length - i; r--) t *= r; 5918 return t; 5919 } 5920 betCount() { 5921 switch (this.id.pickType) { 5922 case Ue.CombinationForecast: return this.getPermutations(2); 5923 case Ue.CombinationTricast: return this.getPermutations(3); 5924 case Ue.Forecast: 5925 case Ue.Tricast: return 1; 5926 default: return 1; 5927 } 5928 } 5929 setMarketName(i, t) { 5930 this._marketName = i, t && (this._marketNameAltTranslation = t); 5931 } 5932 toJSON() { 5933 let i = super.toJSON(); 5934 return J(C(C(C({}, i), or.toJSON(this, i.fixture)), this.toParticipantsJSON(this)), { pickSubType: kt.HorseXCastPick }); 5935 } 5936 copy() { 5937 let i = this.toJSON(); 5938 return _u.fromJSON(i); 5939 } 5940 get eventName() { 5941 return or.eventName(this); 5942 } 5943 get marketName() { 5944 return { 5945 name: this._marketName, 5946 signature: "", 5947 nameAlternate: this._marketNameAltTranslation 5948 }; 5949 } 5950 fromJSON(i, t) { 5951 this._marketName = t._marketName, i.participants = t.participants.map((r) => J(C({}, r), { prices: r.prices })), t._marketNameAltTranslation && (this._marketNameAltTranslation = t._marketNameAltTranslation); 5952 } 5953 toParticipantsJSON(i) { 5954 return C({ 5955 participants: i.participants.map((t) => J(C({}, t), { prices: t.prices })), 5956 _marketName: this._marketName 5957 }, this._marketNameAltTranslation && { _marketNameAltTranslation: this._marketNameAltTranslation }); 5958 } 5959 }, sa = class Mu extends Ti { 5960 constructor() { 5961 super(); 5962 } 5963 static fromJSON(i) { 5964 let t = new Mu(); 5965 return t.initPropertiesFromJSON(i), t; 5966 } 5967 initPropertiesFromJSON(i) { 5968 super.initPropertiesFromJSON(i), or.fromJSON(this, this.fixture, i), this.betType = i.betType, this.betTypeAltTranslation = i.betTypeAltTranslation; 5969 } 5970 toJSON() { 5971 let i = super.toJSON(); 5972 return J(C(C({}, i), or.toJSON(this, i.fixture)), { 5973 pickSubType: kt.HorseOptionMarketPick, 5974 betType: this.betType, 5975 betTypeAltTranslation: this.betTypeAltTranslation 5976 }); 5977 } 5978 copy() { 5979 let i = this.toJSON(); 5980 return Mu.fromJSON(i); 5981 } 5982 get eventName() { 5983 return this.leagueName; 5984 } 5985 get competitionName() { 5986 return this.leagueName; 5987 } 5988 static isPick(i) { 5989 return i instanceof Mu; 5990 } 5991 get isLive() { 5992 return this.fixture.isInPlay; 5993 } 5994 isStartingPriceAvailable() { 5995 return this.market.isStartingPriceAvailable && !this.fixture.isRaceOff; 5996 } 5997 isFixedPriceAvailable() { 5998 return this.market.isVisible && this.market.isFixedPriceAvailable; 5999 } 6000 }, lc = class Ru extends As { 6001 get eventParticipants() {} 6002 get eventViewType() {} 6003 get marketName() { 6004 return this.market.name; 6005 } 6006 get isLive() { 6007 return this.fixture.stage === "Live"; 6008 } 6009 get optionName() { 6010 return { 6011 name: this.options.sort((i, t) => i.position - t.position).map((i) => i.name.name).join(", "), 6012 signature: "" 6013 }; 6014 } 6015 getPermutations(i) { 6016 let t = 1; 6017 for (let r = this.options.length; r > this.options.length - i; r--) t *= r; 6018 return t; 6019 } 6020 betCount() { 6021 switch (this.id.pickType) { 6022 case Ue.CombinationForecast: return this.getPermutations(2); 6023 case Ue.CombinationTricast: return this.getPermutations(3);
6024 case Ue.Forecast: 6025 case Ue.Tricast: return 1; 6026 default: return 1; 6027 } 6028 } 6029 get selectedOptions() { 6030 return this.options; 6031 } 6032 static isPick(i) { 6033 return i instanceof Ru; 6034 } 6035 static fromJSON(i) { 6036 let t = new Ru(); 6037 return t.initPropertiesFromJSON(i), t; 6038 } 6039 constructor() { 6040 super(), this.priceType = xt.NoPrice; 6041 } 6042 initPropertiesFromJSON(i) { 6043 super.initPropertiesFromJSON(i), or.fromJSON(this, this.fixture, i), this.market = i.market, this.betType = i.betType, this.betTypeAltTranslation = i.betTypeAltTranslation, this.options = i.options.map((t) => J(C({}, t), { prices: Fa(t.prices) })); 6044 } 6045 toJSON() { 6046 let i = super.toJSON(); 6047 return J(C(C({}, i), or.toJSON(this, i.fixture)), { 6048 pickSubType: kt.HorseOptionMarketXCastRacePick, 6049 options: this.options, 6050 market: this.market, 6051 betType: this.betType, 6052 betTypeAltTranslation: this.betTypeAltTranslation 6053 }); 6054 } 6055 copy() { 6056 let i = this.toJSON(); 6057 return Ru.fromJSON(i); 6058 } 6059 get eventName() { 6060 return this.leagueName; 6061 } 6062 get competitionName() { 6063 return this.leagueName; 6064 } 6065 get prices() { 6066 return this.options[0].prices.filter((i) => i.marketId === this.market.id); 6067 } 6068 }, cc = class Tb extends ia { 6069 static isPick(i) { 6070 return i instanceof Tb; 6071 } 6072 constructor(i, t, r, s) { 6073 super(), this.id = i, this.market = { 6074 id: 0, 6075 isVisible: !1, 6076 isBetBuilderEnabled: !1 6077 }, this.priceType = xt.NoPrice, this.acceptedPrice = { 6078 price: null, 6079 isManuallyAccepted: !1 6080 }, this.isAvailable = !1, this.tracking = t || { source: "" }, this.legs = r ?? [], this.subscriptionContext = s ?? []; 6081 } 6082 getLegs() { 6083 return this.legs; 6084 } 6085 copy() { 6086 let i = super.toJSON(), t = new Tb(xr.Empty(), void 0, this.legs); 6087 return t.initPropertiesFromJSON(i), t; 6088 } 6089 get eventParticipants() {} 6090 get eventViewType() {} 6091 get eventName() { 6092 return { 6093 name: "", 6094 signature: "" 6095 }; 6096 } 6097 get isLive() { 6098 return !1; 6099 } 6100 isMarketVisible() { 6101 return !1; 6102 } 6103 isPriceVisible() { 6104 return !1; 6105 } 6106 get isVirtual() { 6107 return !1; 6108 } 6109 get marketName() { 6110 return { 6111 name: "", 6112 signature: "" 6113 }; 6114 } 6115 get eventDate() { 6116 return /* @__PURE__ */ new Date(); 6117 } 6118 get regionName() { 6119 return { 6120 name: "", 6121 signature: "" 6122 }; 6123 } 6124 get competitionName() { 6125 return { 6126 name: "", 6127 signature: "" 6128 }; 6129 } 6130 get competitionId() { 6131 return 0; 6132 } 6133 get leagueName() { 6134 return { 6135 name: "", 6136 signature: "" 6137 }; 6138 } 6139 get optionName() { 6140 return { 6141 name: "", 6142 signature: "" 6143 }; 6144 } 6145 get prices() { 6146 return []; 6147 } 6148 get sportName() { 6149 return { 6150 name: "", 6151 signature: "" 6152 }; 6153 } 6154 get partitionId() {} 6155 get sportId() { 6156 return 0; 6157 } 6158 }, dc = class kb extends Ti { 6159 constructor() { 6160 super(); 6161 } 6162 static fromJSON(i) { 6163 let t = new kb(); 6164 return t.initPropertiesFromJSON(i), t; 6165 } 6166 toJSON() { 6167 return J(C({}, super.toJSON()), { pickSubType: kt.StandardV2Pick }); 6168 } 6169 copy() { 6170 let i = this.toJSON(); 6171 return kb.fromJSON(i); 6172 } 6173 }, _h = class Lu extends hn { 6174 get eventParticipants() {} 6175 get eventViewType() {} 6176 static isPick(i) { 6177 return i instanceof Lu; 6178 } 6179 static fromJSON(i) { 6180 let t = new Lu(); 6181 return t.initPropertiesFromJSON(i), t; 6182 } 6183 initPropertiesFromJSON(i) { 6184 super.initPropertiesFromJSON(i), this.fixture = J(C({}, this.fixture), { fixtureGroup: i.fixture.fixtureGroup }); 6185 } 6186 toJSON() { 6187 let i = super.toJSON(); 6188 return J(C({}, i), { 6189 fixture: J(C({}, i.fixture), { fixtureGroup: { 6190 id: this.fixture.fixtureGroup.id, 6191 name: { 6192 name: this.fixture.fixtureGroup.name.name, 6193 signature: this.fixture.fixtureGroup.name.signature 6194 } 6195 } }), 6196 pickSubType: kt.GolfWinPick 6197 }); 6198 } 6199 copy() { 6200 let i = this.toJSON(); 6201 return Lu.fromJSON(i); 6202 } 6203 get eventName() { 6204 return this.fixture.fixtureGroup.name; 6205 } 6206 get marketName() { 6207 return this.fixture.name; 6208 } 6209 }, Qw = (e) => e?.map((i) =>
6209 Zw(i)) ?? [], Zw = (e) => ({ 6210 isVisible: !Mh(e.suspensionState), 6211 isClosed: e.resultState !== "Open", 6212 clientLegId: e.clientLegId, 6213 redundantState: e?.redundantState 6214 }), Mh = (e) => e !== "MarketUnsuspended", uc = (e) => { 6215 try { 6216 return { 6217 nativeOdds: St.create(e), 6218 type: xt.Fixed, 6219 id: 1, 6220 isVisible: !0, 6221 marketId: 1 6222 }; 6223 } catch { 6224 return uc(pc()); 6225 } 6226 }, pc = () => ({ 6227 americanOdds: Mi.moneyline, 6228 odds: Mi.decimals, 6229 denominator: Mi.fractional.denominator, 6230 numerator: Mi.fractional.numerator 6231 }), hc = uc(pc()), eE = (e) => ns.isPick(e) ? `1:${e.event.id}:${e.market.id}:${e.optionId}` : Ti.isPick(e) ? `${e.fixture.fixtureId}:${e.market.id}:${e.optionId}` : "", Kt = class W$ extends ia { 6232 constructor() { 6233 super(...arguments), this._legsState = {}, this._isRacingGroupPick = !1, this.pendingPrice = !1; 6234 } 6235 get groupInfo() { 6236 return this._groupInfo; 6237 } 6238 static isPick(i) { 6239 return i instanceof W$; 6240 } 6241 get sgpId() { 6242 return this._sgpId; 6243 } 6244 get isRacingGroupPick() { 6245 return this._isRacingGroupPick; 6246 } 6247 getLegs() { 6248 return this.legs; 6249 } 6250 get legsState() { 6251 return this._legsState; 6252 } 6253 get eventParticipants() { 6254 return this.legs[0]?.eventParticipants; 6255 } 6256 get eventViewType() { 6257 return this.legs[0]?.eventViewType; 6258 } 6259 hasPick(i) { 6260 return this.legs.some((t) => t.id.toString() === i.toString()); 6261 } 6262 legIsNoncombinable(i) { 6263 return !!this._legsState[i.toString()]?.isNoncombinable; 6264 } 6265 getOddsStateForLegId(i) { 6266 let t = this.legs.find((r) => r.id === i); 6267 return t ? this.getOddsStateForLeg(t) : Et.Closed; 6268 } 6269 getOddsStateForLeg(i) { 6270 let t = i.oddsState, { isClosed: r, isVisible: s } = this._legsState[i.id.toString()]; 6271 return r || t === Et.Closed ? Et.Closed : !s || t === Et.Locked ? Et.Locked : Et.Open; 6272 } 6273 hasNonOpenLegs() { 6274 return this.legs.some((i) => this.getOddsStateForLeg(i) !== Et.Open); 6275 } 6276 groupHasUncombinableLeg() { 6277 return Object.values(this._legsState).some((i) => i.isNoncombinable); 6278 } 6279 isPriceVisible() { 6280 return !0; 6281 } 6282 isMarketVisible() { 6283 return !0; 6284 } 6285 get isLive() { 6286 return this.legs.some((i) => i.isLive); 6287 } 6288 get prices() { 6289 return [this.price]; 6290 } 6291 get currentPrice() { 6292 return this.hasEmptyPrice ? hc : this.prices[0]; 6293 } 6294 getPriceForNonExcludedLegs(i) { 6295 return !i.redundant && !i.uncombinable ? this.currentPrice : this.legs.some((t) => { 6296 let r = t.id.toString(); 6297 return !(i.redundant && this.isLegInRedundantState(r, "RedundantLeg") || i.uncombinable && this.legIsNoncombinable(r)) && this.getOddsStateForLeg(t) !== Et.Open; 6298 }) ? hc : this.prices[0]; 6299 } 6300 get actualGroupPrice() { 6301 return this.prices[0]; 6302 } 6303 get eventName() { 6304 return this.legs[0]?.eventName; 6305 } 6306 get marketName() { 6307 throw new Error("Grouped picks market name getter shouldn't be invoked!"); 6308 } 6309 get optionName() { 6310 throw new Error("Grouped picks option name getter shouldn't be invoked!"); 6311 } 6312 get sportId() { 6313 return this.legs[0]?.sportId; 6314 } 6315 get partitionId() { 6316 throw new Error("Method not implemented."); 6317 } 6318 get isVirtual() { 6319 return this.legs.reduce((i, t) => i && t.isVirtual, !0); 6320 } 6321 get eventDate() { 6322 return this.legs[0]?.eventDate; 6323 } 6324 get regionName() { 6325 return this.legs[0]?.regionName; 6326 } 6327 get competitionName() { 6328 return this.legs[0]?.competitionName; 6329 } 6330 get competitionId() { 6331 return this.legs[0]?.competitionId; 6332 } 6333 get sportName() { 6334 return this.legs[0]?.sportName; 6335 } 6336 get leagueName() { 6337 return this.legs[0]?.leagueName; 6338 } 6339 get leagueId() { 6340 let i = this.legs[0]; 6341 return As.isPick(i) ? i.leagueId : ns.isPick(i) ? i.league.id : 0; 6342 } 6343 get tryGetEventId() { 6344 let i = this.legs.find((t) => t instanceof ns); 6345 return i ? i.event.id : ""; 6346 } 6347 get tryGetFixtureId() { 6348 let i = this.legs.find((t) => t instanceof As); 6349 return i ? i.fixture.fixtureId : ""; 6350 } 6351 get eventId() { 6352 return this.tryGetEventId || this.tryGetFixtureId; 6353 } 6354 initPropertiesFromJSON(i) { 6355 super.initPropertiesFromJSON(i), this.price = i.price, this._sgpId = i.SGPId, this._legsState = i.legsState, this.pendingPrice = i.pendingPrice ?? !1; 6356 } 6357 initLegState(i) { 6358 this._legsState = this.legs.reduce((t, r) => { 6359 let s = eE(r), n = i.find((a) => a.clientLegId === s) ?? BR(); 6360 return t[r.id.toString()] = { 6361 clientLegId: s, 6362 isVisible: n.isVisible, 6363 isClosed: n.isClosed, 6364 isNoncombinable: !r.market.isBetBuilderEnabled, 6365 redundantState: n.redundantState 6366 }, t; 6367 }, {}); 6368 } 6369 legExist(i) { 6370 return !!this.legs.find((t) => t.id.toString() === i.toString()); 6371 } 6372 filterLegsByRedundantState(i) { 6373 return this.legs.filter((t) => this.isLegInRedundantState(t.id.toString(), i)); 6374 } 6375 filterNoncombinableLegs() { 6376 return this.legs.filter((i) => this.legIsNoncombinable(i.id)); 6377 } 6378 filterExcludedLegs(i) { 6379 return !i.redundant && !i.uncombinable ? this.getLegs() : this.legs.filter((t) => { 6380 let r = t.id.toString(); 6381 return !(i.redundant && this.isLegInRedundantState(r, "RedundantLeg") || i.uncombinable && this.legIsNoncombinable(r)); 6382 }); 6383 } 6384 isLegInRedundantState(i, t) { 6385 return this._legsState[i]?.redundantState === t; 6386 } 6387 setPrice(i) { 6388 this.price = i; 6389 } 6390 isOpen() { 6391 return super.isOpen(); 6392 } 6393 }, Rh = class Rn extends Kt { 6394 constructor(i) { 6395 if (super(), !i.groupInfo?.groupId) throw new Error("Can't init a group with empty group info!"); 6396 this.priceType = xt.Fixed, this.id = new ss(i.groupInfo), this.setGroupInfo(i.groupInfo), this._sgpId = i.sgpId, this.legs = i.picks, i.price && (this.price = i.price), this.acceptedPrice = { 6397 price: i.acceptedPrice ?? i.price, 6398 isManuallyAccepted: !1 6399 }, this.initLegState(i.legsInfo), this.subscriptionContext = i.sgpId ? [i.sgpId] : [], this.isSuspended = i.isSuspended, this.hasEmptyPrice = this.hasNonOpenLegs(), this.priceHistory = i.priceHistory ?? [], this._isRacingGroupPick = sa.isPick(i.picks[0]), this.pendingPrice = i.pendingPrice ?? !1; 6400 } 6401 addPick(i) { 6402 if (i.pick.groupInfo && i.pick.groupInfo.groupId !== this.groupInfo.groupId) throw new Error("Adding pick to a group failed, can't add a pick to a group with different groupId"); 6403 if (this.legExist(i.pick.id)) throw new Error("Leg already exists in the group"); 6404 let t = this.toJSON(), { sgpId: r, price: s, isSuspended: n, legsInfo: a } = i; 6405 return new Rn({ 6406 groupInfo: this._groupInfo, 6407 sgpId: r, 6408 price: s, 6409 isSuspended: n, 6410 legsInfo: a, 6411 picks: [...t.picks.map((o) => ao(o)), i.pick], 6412 pendingPrice: this.pendingPrice 6413 }); 6414 } 6415 addPicks(i) { 6416 if (i.picks[0].groupInfo && i.picks[0].groupInfo.groupId !== this.groupInfo.groupId) throw new Error("Adding pick to a group failed, can't add a pick to a group with different group fixture"); 6417 if (i.picks.some((o) => this.legExist(o.id))) throw new Error("Leg already exists in the group"); 6418 let t = this.toJSON(), { sgpId: r, price: s, isSuspended: n, legsInfo: a } = i; 6419 return new Rn({ 6420 groupInfo: this._groupInfo, 6421 picks: [...t.picks.map((o) => ao(o)), ...i.picks], 6422 sgpId: r, 6423 price: s, 6424 legsInfo: a, 6425 isSuspended: n, 6426 pendingPrice: this.pendingPrice 6427 }); 6428 } 6429 removePicks(i) { 6430 if (!i.ids.every((o) => this.legs.find((l) => l.id.toString() === o.toString()))) throw new Error("Removing picks failed, at least one pick doesn't belong to the specified group"); 6431 if (!i.persistGroupPick && this.legs.length === i.ids.length + 1) { 6432 let o = this.legs.find((l) => !i.ids.map((c) => c.toString()).includes(l.id.toString())); 6433 if (!o) throw new Error("Removing picks failed, remaining leg was not found"); 6434 return o; 6435 } 6436 let t = this.toJSON(); 6437 t.picks = t.picks.filter((o) => !i.ids.some((l) => o.id.toString() === l.toString())); 6438 let { sgpId: r, price: s, isSuspended: n, legsInfo: a } = i; 6439 return new Rn({ 6440 groupInfo: t.groupInfo, 6441 picks: t.picks.map((o) => ao(o)), 6442 sgpId: r, 6443 price: s, 6444 legsInfo: a, 6445 isSuspended: n, 6446 pendingPrice: this.pendingPrice 6447 }); 6448 } 6449 updatePicks(i) { 6450 return new Rn({ 6451 groupInfo: this._groupInfo, 6452 sgpId: this._sgpId, 6453 picks: i, 6454 price: this.price, 6455 legsInfo: Object.values(this._legsState), 6456 isSuspended: this.isSuspended, 6457 acceptedPrice: this.acceptedPrice?.price ?? void 0, 6458 priceHistory: this.priceHistory, 6459 pendingPrice: this.pendingPrice 6460 }); 6461 } 6462 copy() { 6463 let i = this.toJSON(); 6464 return Rn.fromJSON(i); 6465 } 6466 static fromJSON(i) { 6467 if (!i.groupInfo) throw new Error("Failed instantiating group from storage value, missing group info!"); 6468 let t = new Rn({ 6469 groupInfo: i.groupInfo, 6470 sgpId: i.SGPId, 6471 picks: i.picks.map((r) => ao(r)), 6472 price: i.price, 6473 legsInfo: Object.values(i.legsState).map((r) => ({ 6474 clientLegId: r.clientLegId, 6475 isVisible: r.isVisible, 6476 isClosed: r.isClosed, 6477 redundantState: r.redundantState 6478 })), 6479 isSuspended: i.isSuspended 6480 }); 6481 return t.initPropertiesFromJSON(i), t;
6482 } 6483 toJSON() { 6484 return J(C({}, super.toJSON()), { 6485 picks: this.legs.map((i) => i.toJSON()), 6486 price: this.price, 6487 SGPId: this._sgpId ?? "", 6488 legsState: this._legsState, 6489 pickSubType: kt.GroupedPicks, 6490 isSuspended: this.isSuspended, 6491 pendingPrice: this.pendingPrice 6492 }); 6493 } 6494 }, tE = (e, i) => e.length === 1 && (Kt.isPick(e[0]) || i && ar.isPick(e[0])), mn = (function(e) { 6495 return e.Local = "local", e.Remote = "remote", e; 6496 })(mn || {}); 6497 })))(); 6498} 6499function ae(e, i) { 6500 if (fc[e] = (fc[e] || 0) + 1, typeof i == "function") return Lh(e, (...t) => J(C({}, i(...t)), { type: e })); 6501 switch (i ? i._as : "empty") { 6502 case "empty": return Lh(e, () => ({ type: e })); 6503 case "props": return Lh(e, (t) => J(C({}, t), { type: e })); 6504 default: throw new Error("Unexpected config."); 6505 } 6506} 6507function dt() { 6508 return { 6509 _as: "props", 6510 _p: void 0 6511 }; 6512} 6513function Lh(e, i) { 6514 return Object.defineProperty(i, "type", { 6515 value: e, 6516 writable: !1 6517 }); 6518} 6519function ZR(e, i) { 6520 if (e == null) throw new Error(`${i} must be defined.`); 6521} 6522function mc(e, i = {}) { 6523 let t = Object.keys(e), r = {}; 6524 for (let n = 0; n < t.length; n++) { 6525 let a = t[n]; 6526 typeof e[a] == "function" && (r[a] = e[a]); 6527 } 6528 let s = Object.keys(r); 6529 return function(n, a) { 6530 n = n === void 0 ? i : n; 6531 let o = !1, l = {}; 6532 for (let c = 0; c < s.length; c++) { 6533 let d = s[c], u = r[d], h = n[d], g = u(h, a); 6534 l[d] = g, o = o || g !== h; 6535 } 6536 return o ? l : n; 6537 }; 6538} 6539function eL(e, i) { 6540 return Object.keys(e).filter((t) => t !== i).reduce((t, r) => Object.assign(t, { [r]: e[r] }), {}); 6541} 6542function iE(...e) { 6543 return function(i) { 6544 if (e.length === 0) return i; 6545 let t = e[e.length - 1]; 6546 return e.slice(0, -1).reduceRight((r, s) => s(r), t(i)); 6547 }; 6548} 6549function rE(e, i) { 6550 return Array.isArray(i) && i.length > 0 && (e = iE.apply(null, [...i, e])), (t, r) => { 6551 let s = e(t); 6552 return (n, a) => (n = n === void 0 ? r : n, s(n, a)); 6553 }; 6554} 6555function tL(e) { 6556 let i = Array.isArray(e) && e.length > 0 ? iE(...e) : (t) => t; 6557 return (t, r) => (t = i(t), (s, n) => (s = s === void 0 ? r : s, t(s, n))); 6558} 6559function iL(e = { state: void 0 }, [i, t]) { 6560 let { state: r } = e; 6561 return { 6562 state: t(r, i), 6563 action: i 6564 }; 6565} 6566function rL(e, i, ...t) { 6567 return function(r) { 6568 let s; 6569 if (typeof e == "string") { 6570 let n = [i, ...t].filter(Boolean); 6571 s = r.pipe(fA(e, ...n)); 6572 } else if (typeof e == "function") s = r.pipe(xe((n) => e(n, i))); 6573 else throw new TypeError(`Unexpected type '${typeof e}' in select operator, expected 'string' or 'function'`); 6574 return s.pipe(tr()); 6575 }; 6576} 6577function sL() { 6578 try { 6579 return f(ui); 6580 } catch { 6581 return; 6582 } 6583} 6584function sE(e) { 6585 return e === void 0; 6586} 6587function nE(e) { 6588 return e === null; 6589} 6590function aE(e) { 6591 return Array.isArray(e); 6592} 6593function nL(e) { 6594 return typeof e == "string"; 6595} 6596function aL(e) { 6597 return typeof e == "boolean"; 6598} 6599function oL(e) { 6600 return typeof e == "number"; 6601} 6602function oE(e) { 6603 return typeof e == "object" && e !== null; 6604} 6605function lL(e) { 6606 return oE(e) && !aE(e); 6607} 6608function cL(e) { 6609 if (!lL(e)) return !1; 6610 let i = Object.getPrototypeOf(e); 6611 return i === Object.prototype || i === null; 6612} 6613function Bh(e) { 6614 return typeof e == "function"; 6615} 6616function dL(e) { 6617 return Bh(e) && e.hasOwnProperty("ɵcmp"); 6618} 6619function uL(e, i) { 6620 return Object.prototype.hasOwnProperty.call(e, i); 6621} 6622function pL() { 6623 return bE; 6624} 6625function lE(e, i) { 6626 return e === i; 6627} 6628function hL(e, i, t) { 6629 for (let r = 0; r < e.length; r++) if (!t(e[r], i[r])) return !0; 6630 return !1; 6631} 6632function cE(e, i = lE, t = lE) { 6633 let r = null, s = null, n; 6634 function a() { 6635 r = null, s = null; 6636 } 6637 function o(d = void 0) { 6638 n = { result: d }; 6639 } 6640 function l() { 6641 n = void 0; 6642 } 6643 function c() { 6644 if (n !== void 0) return n.result; 6645 if (!r) return s = e.apply(null, arguments), r = arguments, s; 6646 if (!hL(arguments, r, i)) return s; 6647 let d = e.apply(null, arguments); 6648 return r = arguments, t(s, d) ? s : (s = d, d); 6649 } 6650 return { 6651 memoized: c, 6652 reset: a, 6653 setResult: o, 6654 clearResult: l 6655 }; 6656} 6657function k(...e) { 6658 return fL(cE)(...e); 6659} 6660function mL(e, i, t, r) { 6661 if (t === void 0) { 6662 let n = i.map((a) => a(e)); 6663 return r.memoized.apply(null, n); 6664 } 6665 let s = i.map((n) => n(e, t)); 6666 return r.memoized.apply(null, [...s, t]); 6667} 6668function fL(e, i = { stateFn: mL }) { 6669 return function(...t) { 6670 let r = t; 6671 if (Array.isArray(r[0])) { 6672 let [d, ...u] = r; 6673 r = [...d, ...u]; 6674 } else r.length === 1 && gL(r[0]) && (r = vL(r[0])); 6675 let s = r.slice(0, r.length - 1), n = r[r.length - 1], a = s.filter((d) => d.release && typeof d.release == "function"), o = e(function(...d) { 6676 return n.apply(null, d); 6677 }), l = cE(function(d, u) { 6678 return i.stateFn.apply(null, [ 6679 d, 6680 s, 6681 u, 6682 o 6683 ]); 6684 }); 6685 function c() { 6686 l.reset(), o.reset(), a.forEach((d) =>
6686 d.release()); 6687 } 6688 return Object.assign(l.memoized, { 6689 release: c, 6690 projector: o.memoized, 6691 setResult: l.setResult, 6692 clearResult: l.clearResult 6693 }); 6694 }; 6695} 6696function _s(e) { 6697 return k((i) => { 6698 let t = i[e]; 6699 return !pL() && ju() && !(e in i) && console.warn(`@ngrx/store: The feature name "${e}" does not exist in the state, therefore createFeatureSelector cannot access it. Be sure it is imported in a loaded module using StoreModule.forRoot('${e}', ...) or StoreModule.forFeature('${e}', ...). If the default state is intended to be undefined, as is the case with router state, this development-only warning message can be ignored.`), t; 6700 }, (i) => i); 6701} 6702function gL(e) { 6703 return !!e && typeof e == "object" && Object.values(e).every((i) => typeof i == "function"); 6704} 6705function vL(e) { 6706 let i = Object.values(e), t = Object.keys(e), r = (...s) => t.reduce((n, a, o) => J(C({}, n), { [a]: s[o] }), {}); 6707 return [...i, r]; 6708} 6709function SL(e) { 6710 return e instanceof Te ? f(e) : e; 6711} 6712function bL(e, i) { 6713 return i.map((t, r) => { 6714 if (e[r] instanceof Te) { 6715 let s = f(e[r]); 6716 return { 6717 key: t.key, 6718 reducerFactory: s.reducerFactory ? s.reducerFactory : mc, 6719 metaReducers: s.metaReducers ? s.metaReducers : [], 6720 initialState: s.initialState 6721 }; 6722 } 6723 return t; 6724 }); 6725} 6726function yL(e) { 6727 return e.map((i) => i instanceof Te ? f(i) : i); 6728} 6729function Dh(e) { 6730 return typeof e == "function" ? e() : e; 6731} 6732function wL(e, i) { 6733 return e.concat(i); 6734} 6735function EL() { 6736 if (f(da, { 6737 optional: !0, 6738 skipSelf: !0 6739 })) throw new TypeError("The root Store has been provided more than once. Feature modules should provide feature states instead."); 6740 return "guarded"; 6741} 6742function CL(e, i) { 6743 return function(t, r) { 6744 let s = e(t, i.action(r) ? Fh(r) : r); 6745 return i.state() ? Fh(s) : s; 6746 }; 6747} 6748function Fh(e) { 6749 Object.freeze(e); 6750 let i = Bh(e); 6751 return Object.getOwnPropertyNames(e).forEach((t) => { 6752 if (!t.startsWith("ɵ") && uL(e, t) && (!i || t !== "caller" && t !== "callee" && t !== "arguments")) { 6753 let r = e[t]; 6754 (oE(r) || Bh(r)) && !Object.isFrozen(r) && Fh(r); 6755 } 6756 }), e; 6757} 6758function NL(e, i) { 6759 return function(t, r) { 6760 i.action(r) && dE(zh(r), "action"); 6761 let s = e(t, r); 6762 return i.state() && dE(zh(s), "state"), s; 6763 }; 6764} 6765function zh(e, i = []) { 6766 return (sE(e) || nE(e)) && i.length === 0 ? { 6767 path: ["root"], 6768 value: e 6769 } : Object.keys(e).reduce((t, r) => { 6770 if (t) return t; 6771 let s = e[r]; 6772 return dL(s) ? t : sE(s) || nE(s) || oL(s) || aL(s) || nL(s) || aE(s) ? !1 : cL(s) ? zh(s, [...i, r]) : { 6773 path: [...i, r], 6774 value: s 6775 }; 6776 }, !1); 6777} 6778function dE(e, i) { 6779 if (e === !1) return; 6780 let t = e.path.join("."), r = /* @__PURE__ */ new Error(`Detected unserializable ${i} at "${t}". ${Tc}#strict${i}serializability`); 6781 throw r.value = e.value, r.unserializablePath = t, r; 6782} 6783function TL(e, i) { 6784 return function(t, r) { 6785 if (i.action(r) && !qs.isInAngularZone()) throw new Error(`Action '${r.type}' running outside NgZone. ${Tc}#strictactionwithinngzone`); 6786 return e(t, r); 6787 }; 6788} 6789function kL(e) { 6790 return ju() ? C({ 6791 strictStateSerializability: !1, 6792 strictActionSerializability: !1, 6793 strictStateImmutability: !0, 6794 strictActionImmutability: !0, 6795 strictActionWithinNgZone: !1, 6796 strictActionTypeUniqueness: !1 6797 }, e) : { 6798 strictStateSerializability: !1, 6799 strictActionSerializability: !1, 6800 strictStateImmutability: !1, 6801 strictActionImmutability: !1, 6802 strictActionWithinNgZone: !1, 6803 strictActionTypeUniqueness: !1 6804 }; 6805} 6806function xL({ strictActionSerializability: e, strictStateSerializability: i }) { 6807 return (t) => e || i ? NL(t, { 6808 action: (r) => e && !Gh(r), 6809 state: () => i 6810 }) : t; 6811} 6812function IL({ strictActionImmutability: e, strictStateImmutability: i }) { 6813 return (t) => e || i ? CL(t, { 6814 action: (r) => e && !Gh(r), 6815 state: () => i 6816 }) : t; 6817} 6818function Gh(e) { 6819 return e.type.startsWith("@ngrx"); 6820} 6821function OL({ strictActionWithinNgZone: e }) { 6822 return (i) => e ? TL(i, { action: (t) => e && !Gh(t) }) : i; 6823} 6824function PL(e) { 6825 return [ 6826 { 6827 provide: Zh, 6828 useValue: e 6829 }, 6830 { 6831 provide: Qh, 6832 useFactory: $L, 6833 deps: [Zh] 6834 }, 6835 { 6836 provide: na, 6837 deps: [Qh], 6838 useFactory: kL 6839 }, 6840 { 6841 provide: vo, 6842 multi: !0, 6843 deps: [na], 6844 useFactory: IL 6845 }, 6846 { 6847 provide: vo, 6848 multi: !0, 6849 deps: [na], 6850 useFactory: xL 6851 }, 6852 { 6853 provide: vo, 6854 multi: !0, 6855 deps: [na], 6856 useFactory: OL 6857 } 6858 ]; 6859} 6860function uE() { 6861 return [{ 6862 provide: aa, 6863 multi: !0, 6864 deps: [na], 6865 useFactory: AL 6866 }]; 6867} 6868function $L(e) { 6869 return e; 6870} 6871function AL(e) { 6872 if (!e.strictActionTypeUniqueness) return; 6873 let i = Object.entries(fc).filter(([, t]) => t > 1).map(([t]) => t); 6874 if (i.length) throw new Error(`Action types are registered more than once, ${i.map((t) => `"${t}"`).join(", ")}. ${Tc}#strictactiontypeuniqueness`); 6875} 6876function _L(e, i, t = {}) { 6877 return Hb([...hE(e, i, t), wE]); 6878} 6879function pE(e = {}, i = {}) { 6880 return [ 6881 { 6882 provide: vc, 6883 useFactory: EL 6884 }, 6885 { 6886 provide: Vh, 6887 useValue: i.initialState 6888 }, 6889 { 6890 provide: go, 6891 useFactory: Dh, 6892 deps: [Vh] 6893 }, 6894 { 6895 provide: Sc, 6896 useValue: e 6897 }, 6898 { 6899 provide: Yh, 6900 useExisting: e instanceof Te ? e : Sc 6901 }, 6902 { 6903 provide: Wh, 6904 deps: [Sc, [new jb(Yh)]], 6905 useFactory: SL 6906 }, 6907 { 6908 provide: Xh, 6909 useValue: i.metaReducers ? i.metaReducers : [] 6910 }, 6911 { 6912 provide: Jh, 6913 deps: [vo, Xh], 6914 useFactory: wL 6915 }, 6916 { 6917 provide: Uh, 6918 useValue: i.reducerFactory ? i.reducerFactory : mc 6919 }, 6920 { 6921 provide: Hh, 6922 deps: [Uh, Jh], 6923 useFactory: rE 6924 }, 6925 mE, 6926 fE, 6927 gE, 6928 vE, 6929 SE, 6930 PL(i.runtimeChecks), 6931 uE() 6932 ]; 6933} 6934function ML() { 6935 f(as), f(oa), f(ca), f(da), f(vc, { optional: !0 }), f(aa, { optional: !0 }); 6936} 6937function RL(e, i) { 6938 return Hb([...pE(e, i), yE]); 6939} 6940function LL() { 6941 f(So); 6942 let e = f(yc), i = f(wc), t = f(la); 6943 f(aa, { optional: !0 }); 6944 let r = e.map((s, n) => { 6945 let a = i.shift()[n]; 6946 return J(C({}, s), { 6947 reducers: a, 6948 initialState: Dh(s.initialState) 6949 }); 6950 }); 6951 t.addFeatures(r); 6952} 6953function hE(e, i, t = {}) { 6954 return [ 6955 { 6956 provide: Kh, 6957 multi: !0, 6958 useValue: e instanceof Object ? {} : t 6959 }, 6960 { 6961 provide: jh, 6962 multi: !0, 6963 useValue: { 6964 key: e instanceof Object ? e.name : e, 6965 reducerFactory: !(t instanceof Te) && t.reducerFactory ? t.reducerFactory : mc, 6966 metaReducers: !(t instanceof Te) && t.metaReducers ? t.metaReducers : [], 6967 initialState: !(t instanceof Te) && t.initialState ? t.initialState : void 0 6968 } 6969 }, 6970 { 6971 provide: yc, 6972 deps: [Kh, jh], 6973 useFactory: bL 6974 }, 6975 { 6976 provide: bc, 6977 multi: !0, 6978 useValue: e instanceof Object ? e.reducer : i 6979 }, 6980 { 6981 provide: qh, 6982 multi: !0, 6983 useExisting: i instanceof Te ? i : bc 6984 }, 6985 { 6986 provide: wc, 6987 multi: !0, 6988 deps: [bc, [new jb(qh)]], 6989 useFactory: yL 6990 }, 6991 uE() 6992 ]; 6993} 6994function BL(...e) { 6995 return { 6996 reducer: e.pop(),
6997 types: e.map((i) => i.type) 6998 }; 6999} 7000function DL(e, ...i) { 7001 let t = /* @__PURE__ */ new Map(); 7002 for (let r of i) for (let s of r.types) { 7003 let n = t.get(s); 7004 if (n) { 7005 let a = (o, l) => r.reducer(n(o, l), l); 7006 t.set(s, a); 7007 } else t.set(s, r.reducer); 7008 } 7009 return function(r = e, s) { 7010 let n = t.get(s.type); 7011 return n ? n(r, s) : r; 7012 }; 7013} 7014var fc, gc, as, mE, vc, Vh, go, Hh, Uh, Wh, Sc, jh, Yh, bc, Kh, yc, qh, wc, Xh, vo, Jh, Qh, Zh, na, aa, So, Ec, oa, Cc, em, la, fE, ca, gE, Nc, tm, vE, da, SE, Tc, bE, yE, wE, kc, im, EE; 7015function os() { 7016 return (os = Z((() => { 7017 Re(), de(), wt(), fc = {}, gc = "@ngrx/store/init", as = (() => { 7018 let e = class extends Gt { 7019 constructor() { 7020 super({ type: gc }); 7021 } 7022 next(t) { 7023 if (typeof t == "function") throw new TypeError(` 7024 Dispatch expected an object, instead it received a function. 7025 If you're using the createAction function, make sure to invoke the function 7026 before dispatching the action. For example, someAction should be someAction().`); 7027 if (typeof t > "u") throw new TypeError("Actions must be objects"); 7028 if (typeof t.type > "u") throw new TypeError("Actions must have a type property"); 7029 super.next(t); 7030 } 7031 complete() {} 7032 ngOnDestroy() { 7033 super.complete(); 7034 } 7035 }; 7036 return e.ɵfac = function(i) { 7037 return new (i || e)(); 7038 }, e.ɵprov = R({ 7039 token: e, 7040 factory: e.ɵfac 7041 }), e; 7042 })(), mE = [as], vc = new Te("@ngrx/store Internal Root Guard"), Vh = new Te("@ngrx/store Internal Initial State"), go = new Te("@ngrx/store Initial State"), Hh = new Te("@ngrx/store Reducer Factory"), Uh = new Te("@ngrx/store Internal Reducer Factory Provider"), Wh = new Te("@ngrx/store Initial Reducers"), Sc = new Te("@ngrx/store Internal Initial Reducers"), jh = new Te("@ngrx/store Store Features"), Yh = new Te("@ngrx/store Internal Store Reducers"), bc = new Te("@ngrx/store Internal Feature Reducers"), Kh = new Te("@ngrx/store Internal Feature Configs"), yc = new Te("@ngrx/store Internal Store Features"), qh = new Te("@ngrx/store Internal Feature Reducers Token"), wc = new Te("@ngrx/store Feature Reducers"), Xh = new Te("@ngrx/store User Provided Meta Reducers"), vo = new Te("@ngrx/store Meta Reducers"), Jh = new Te("@ngrx/store Internal Resolved Meta Reducers"), Qh = new Te("@ngrx/store User Runtime Checks Config"), Zh = new Te("@ngrx/store Internal User Runtime Checks Config"), na = new Te("@ngrx/store Internal Runtime Checks"), aa = new Te("@ngrx/store Check if Action types are unique"), So = new Te("@ngrx/store Root Store Provider"), Ec = new Te("@ngrx/store Feature State Provider"), oa = class extends Ln {}, Cc = class extends as {}, em = "@ngrx/store/update-reducers", la = (() => { 7043 let e = class extends Gt { 7044 get currentReducers() { 7045 return this.reducers; 7046 } 7047 constructor(t, r, s, n) { 7048 super(n(s, r)), this.dispatcher = t, this.initialState = r, this.reducers = s, this.reducerFactory = n; 7049 } 7050 addFeature(t) { 7051 this.addFeatures([t]); 7052 } 7053 addFeatures(t) { 7054 let r = t.reduce((s, { reducers: n, reducerFactory: a, metaReducers: o, initialState: l, key: c }) => (s[c] = typeof n == "function" ? tL(o)(n, l) : rE(a, o)(n, l), s), {}); 7055 this.addReducers(r); 7056 } 7057 removeFeature(t) { 7058 this.removeFeatures([t]); 7059 } 7060 removeFeatures(t) { 7061 this.removeReducers(t.map((r) => r.key)); 7062 } 7063 addReducer(t, r) { 7064 this.addReducers({ [t]: r }); 7065 } 7066 addReducers(t) { 7067 this.reducers = C(C({}, this.reducers), t), this.updateReducers(Object.keys(t)); 7068 } 7069 removeReducer(t) { 7070 this.removeReducers([t]); 7071 } 7072 removeReducers(t) { 7073 t.forEach((r) => { 7074 this.reducers = eL(this.reducers, r); 7075 }), this.updateReducers(t); 7076 } 7077 updateReducers(t) { 7078 this.next(this.reducerFactory(this.reducers, this.initialState)), this.dispatcher.next({ 7079 type: em, 7080 features: t 7081 }); 7082 } 7083 ngOnDestroy() { 7084 this.complete(); 7085 } 7086 }; 7087 return e.ɵfac = function(i) { 7088 return new (i || e)(ve(Cc), ve(go), ve(Wh), ve(Hh)); 7089 }, e.ɵprov = R({ 7090 token: e, 7091 factory: e.ɵfac 7092 }), e; 7093 })(), fE = [ 7094 la, 7095 { 7096 provide: oa, 7097 useExisting: la 7098 }, 7099 { 7100 provide: Cc, 7101 useExisting: as 7102 } 7103 ], ca = (() => { 7104 let e = class extends Xe { 7105 ngOnDestroy() { 7106 this.complete(); 7107 } 7108 }; 7109 return e.ɵfac = (() => { 7110 let i; 7111 return function(t) { 7112 return (i || (i = Fe(e)))(t || e); 7113 }; 7114 })(), e.ɵprov = R({ 7115 token: e, 7116 factory: e.ɵfac 7117 }), e; 7118 })(), gE = [ca], Nc = class extends Ln {}, tm = (() => { 7119 let e = class extends Gt { 7120 constructor(t, r, s, n) { 7121 super(n); 7122 let a = t.pipe(aA(oA)).pipe(zu(r)), o = { state: n }, l = a.pipe(Ub(iL, o)); 7123 this.stateSubscription = l.subscribe(({ state: c, action: d }) => { 7124 this.next(c), s.next(d); 7125 }), this.state = wr(this, { 7126 manualCleanup: !0, 7127 requireSync: !0 7128 }); 7129 } 7130 ngOnDestroy() { 7131 this.stateSubscription.unsubscribe(), this.complete(); 7132 } 7133 }; 7134 return e.INIT = gc, e.ɵfac = function(i) { 7135 return new (i || e)(ve(as), ve(oa), ve(ca), ve(go)); 7136 }, e.ɵprov = R({ 7137 token: e, 7138 factory: e.ɵfac 7139 }), e; 7140 })(), vE = [tm, { 7141 provide: Nc, 7142 useExisting: tm 7143 }], da = (() => {
7144 let e = class j$ extends Ln { 7145 constructor(t, r, s, n) { 7146 super(), this.actionsObserver = r, this.reducerManager = s, this.injector = n, this.source = t, this.state = t.state; 7147 } 7148 select(t, ...r) { 7149 return rL.call(null, t, ...r)(this); 7150 } 7151 selectSignal(t, r) { 7152 return ne(() => t(this.state()), r); 7153 } 7154 lift(t) { 7155 let r = new j$(this, this.actionsObserver, this.reducerManager); 7156 return r.operator = t, r; 7157 } 7158 dispatch(t, r) { 7159 if (typeof t == "function") return this.processDispatchFn(t, r); 7160 this.actionsObserver.next(t); 7161 } 7162 next(t) { 7163 this.actionsObserver.next(t); 7164 } 7165 error(t) { 7166 this.actionsObserver.error(t); 7167 } 7168 complete() { 7169 this.actionsObserver.complete(); 7170 } 7171 addReducer(t, r) { 7172 this.reducerManager.addReducer(t, r); 7173 } 7174 removeReducer(t) { 7175 this.reducerManager.removeReducer(t); 7176 } 7177 processDispatchFn(t, r) { 7178 return ZR(this.injector, "Store Injector"), Gi(() => { 7179 let s = t(); 7180 Wu(() => this.dispatch(s)); 7181 }, { injector: r?.injector ?? sL() ?? this.injector }); 7182 } 7183 }; 7184 return e.ɵfac = function(i) { 7185 return new (i || e)(ve(Nc), ve(as), ve(la), ve(ui)); 7186 }, e.ɵprov = R({ 7187 token: e, 7188 factory: e.ɵfac 7189 }), e; 7190 })(), SE = [da], Tc = "https://ngrx.io/guide/store/configuration/runtime-checks", bE = !1, yE = [{ 7191 provide: So, 7192 useFactory: ML 7193 }, qb(() => f(So))], wE = [{ 7194 provide: Ec, 7195 useFactory: LL 7196 }, qb(() => f(Ec))], kc = (() => { 7197 let e = class { 7198 constructor(t, r, s, n, a, o) {} 7199 }; 7200 return e.ɵfac = function(i) { 7201 return new (i || e)(ve(as), ve(oa), ve(ca), ve(da), ve(vc, 8), ve(aa, 8)); 7202 }, e.ɵmod = Gn({ type: e }), e.ɵinj = Bn({}), e; 7203 })(), im = (() => { 7204 let e = class { 7205 constructor(t, r, s, n, a) { 7206 this.features = t, this.featureReducers = r, this.reducerManager = s; 7207 let o = t.map((l, c) => { 7208 let d = r.shift()[c]; 7209 return J(C({}, l), { 7210 reducers: d, 7211 initialState: Dh(l.initialState) 7212 }); 7213 }); 7214 s.addFeatures(o); 7215 } 7216 ngOnDestroy() { 7217 this.reducerManager.removeFeatures(this.features); 7218 } 7219 }; 7220 return e.ɵfac = function(i) { 7221 return new (i || e)(ve(yc), ve(wc), ve(la), ve(kc), ve(aa, 8)); 7222 }, e.ɵmod = Gn({ type: e }), e.ɵinj = Bn({}), e; 7223 })(), EE = (() => { 7224 let e = class { 7225 static forRoot(t, r) { 7226 return { 7227 ngModule: kc, 7228 providers: [...pE(t, r)] 7229 }; 7230 } 7231 static forFeature(t, r, s = {}) { 7232 return { 7233 ngModule: im, 7234 providers: [...hE(t, r, s)] 7235 }; 7236 } 7237 }; 7238 return e.ɵfac = function(i) { 7239 return new (i || e)(); 7240 }, e.ɵmod = Gn({ type: e }), e.ɵinj = Bn({}), e; 7241 })(); 7242 })))(); 7243} 7244function CE(e, i, t = !0) { 7245 return rm(e, i, { 7246 placeholderStyle: Ms.DoubleCurlyBraces, 7247 caseSensitive: t 7248 }); 7249} 7250function FL(e, i, t = !0) { 7251 return rm(e, i, { 7252 placeholderStyle: Ms.SingleCurlyBraces, 7253 caseSensitive: t 7254 }); 7255} 7256function zL(e, ...i) { 7257 return rm(e, i, { placeholderStyle: Ms.SingleCurlyBraces }); 7258} 7259function rm(e, i, t = nm) { 7260 if (!e) return ""; 7261 let r = Object.assign(nm, t), s = r.caseSensitive ? "gm" : "gmi", n = (l) => l; 7262 switch (r.placeholderStyle) { 7263 case Ms.SingleCurlyBraces: 7264 n = (l) => `\\{${l}\\}`; 7265 break; 7266 case Ms.DoubleCurlyBraces: 7267 n = (l) => `\\{\\{${l}\\}\\}`; 7268 break; 7269 default: r.placeholderStyle; 7270 } 7271 let a = e, o = Object.keys(i); 7272 for (let l of o) a = a.replace(new RegExp(n(l), s), i[l]); 7273 return a; 7274} 7275function GL(e) { 7276 return e ? e.replace(/^{|}$/g, "") : ""; 7277} 7278function VL(e) { 7279 let i = 0, t, r; 7280 if (e.length === 0) return i; 7281 for (t = 0; t < e.length; t++) r = e.charCodeAt(t), i = (i << 5) - i + r, i |= 0; 7282 return i; 7283} 7284var sm, Ms, nm, NE, TE; 7285function am() { 7286 return (am = Z((() => { 7287 sm = (function(e) { 7288 return e.Slash = "/", e; 7289 })(sm || {}), Ms = (function(e) { 7290 return e[e.SingleCurlyBraces = 1] = "SingleCurlyBraces", e[e.DoubleCurlyBraces = 2] = "DoubleCurlyBraces", e; 7291 })(Ms || {}), nm = { 7292 caseSensitive: !0, 7293 placeholderStyle: Ms.SingleCurlyBraces 7294 }, NE = () => { 7295 let e = Date.now(); 7296 return typeof performance < "u" && typeof performance.now == "function" && (e += performance.now()), "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (i) => { 7297 let t = (e + Math.random() * 16) % 16 | 0; 7298 return e = Math.floor(e / 16), (i === "x" ? t : t & 3 | 8).toString(16); 7299 }); 7300 }, TE = () => { 7301 if (typeof crypto < "u" && typeof crypto.randomUUID == "function") return crypto.randomUUID(); 7302 let e = /* @__PURE__ */ new Uint8Array(16); 7303 crypto.getRandomValues(e), e[6] = e[6] & 15 | 64, e[8] = e[8] & 63 | 128; 7304 let i = Array.from(e, (t) => t.toString(16).padStart(2, "0")).join(""); 7305 return `${i.slice(0, 8)}-${i.slice(8, 12)}-${i.slice(12, 16)}-${i.slice(16, 20)}-${i.slice(20)}`; 7306 }; 7307 })))(); 7308} 7309function kE(e) { 7310 return e ? St.create({ 7311 odds: e.european, 7312 numerator: e.britishNumerator, 7313 denominator: e.britishDenominator, 7314 americanOdds: e.american 7315 }) : Mi; 7316} 7317function HL(e, i) { 7318 if (e.type === xt.Fixed && St.isValid(e.nativeOdds)) { 7319 let t = new $t(i.numerator, i.denominator); 7320 return { 7321 decimals: Ni.decimalToEachWay(new _e(e.nativeOdds.decimals), t), 7322 fractional: Ni.fractionToEachWay($t.fromJSON(e.nativeOdds.fractional), t), 7323 moneyline: Ni.usToEachWay(new _e(e.nativeOdds.moneyline), t) 7324 }; 7325 } 7326 return Ci; 7327} 7328function UL(e) { 7329 let i = b0(e); 7330 return i ? { placeTerms: i } : null; 7331} 7332function WL(e) { 7333 if (e.oddsState !== Et.Open) return null; 7334 let i = e.currentPrice; 7335 if (i) { 7336 let { type: t, nativeOdds: r } = i; 7337 return { 7338 type: t, 7339 nativeOdds: C({}, r) 7340 }; 7341 } 7342 return null; 7343} 7344function jL(e, i) { 7345 if (e.oddsState !== Et.Open) return null; 7346 let t = Kt.isPick(e) ? e.getPriceForNonExcludedLegs(i) : e.currentPrice; 7347 if (t) { 7348 let { type: r, nativeOdds: s } = t; 7349 return { 7350 type: r, 7351 nativeOdds: C({}, s) 7352 }; 7353 } 7354 return null; 7355} 7356function YL(e) { 7357 if (pn.isPick(e) && e.participants.length > 1) return e.prices.map((t) => t.id); 7358 let i = e.currentPrice; 7359 return i ? [i.id] : []; 7360} 7361function KL(e) { 7362 if (e instanceof dc) { 7363 let i = e; 7364 return [ 7365 i.sportId, 7366 i.leagueId, 7367 i.fixture.fixtureId, 7368 i.option.id 7369 ].join("-"); 7370 } 7371 if (e instanceof ns) { 7372 let i = e; 7373 return [ 7374 i.sportId, 7375 i.league.id, 7376 i.event.id, 7377 i.option.id 7378 ].join("-"); 7379 } 7380 if (e instanceof ar) { 7381 let i = e; 7382 return [ 7383 i.sportId, 7384 i.leagueId, 7385 i.eventId, 7386 i.option.id 7387 ].join("-"); 7388 } 7389 if (e instanceof pn) { 7390 let i = e; 7391 return [ 7392 i.sportId, 7393 i.fixture.league ? i.leagueId : 0, 7394 i.fixture.fixtureId, 7395 i.participants && i.participants.map((t) => t.fixtureParticipantId).join("_") || i.id 7396 ].join("-"); 7397 } 7398 return "-"; 7399} 7400function qL(e) { 7401 return ar.isPick(e) ? !1 : As.isPick(e) ? !xE(e) : !0; 7402} 7403function xE(e) { 7404 return e.fixture.sportId === ee.Horses || e.fixture.sportId === ee.Greyhounds; 7405} 7406function XL(e) { 7407 return e.fixture.sportId === ee.Horses && e instanceof pn || e instanceof sa && e.pickType === Ue.Win && (e.isStartingPriceAvailable() || e.isFixedPriceAvailable()) || e.fixture.sportId === ee.Greyhounds; 7408} 7409function JL(e) { 7410 return ra.isPick(e) || lc.isPick(e); 7411} 7412function QL(e) { 7413 return (e instanceof mo || e instanceof Ti) && e.currentPrice?.type === xt.StartingPrice; 7414} 7415function IE(e, i) { 7416 return ns.isPick(e) ? i.marketTemplateIds.some((t) => t === e.market?.templateId) : i.marketTypes.some((t) => t === e.market?.marketType); 7417} 7418function OE(e, i) { 7419 return i ? e.replace(`(${i})`, "").replace(i, "").trim() : e; 7420} 7421function ZL(e, i, t) { 7422 return IE(e, t) && e.optionShortName?.name || i; 7423} 7424function eB(e, i, t) {
7425 let r = t ?? e.optionName.name; 7426 if (!(ns.isPick(e) || Ti.isPick(e)) || !IE(e, i)) return r; 7427 let s = e.option.attr ?? "", n = e.optionShortName?.name; 7428 if (n && s) { 7429 let a = OE(e.optionName.name, s); 7430 return r.replace(a, n); 7431 } 7432 return r; 7433} 7434function om(e) { 7435 let i = e.match(/[-+]?\d+(?:[.,]\d+)?/g); 7436 return i?.[i.length - 1] ?? ""; 7437} 7438function tB(e, i, t) { 7439 return e && om(t) || i; 7440} 7441function iB(e) { 7442 let i = om(e); 7443 return i ? e.replace(i, "").trim() : e; 7444} 7445function PE(e, i, t) { 7446 return i.filter((r) => { 7447 let s = e[r.id.toString()]; 7448 if (!s) return !1; 7449 let n = t.isLocked == null ? !0 : s.isLocked === t.isLocked, a = t.isSelected == null ? !0 : s.isSelected === t.isSelected; 7450 return n && a; 7451 }); 7452} 7453function rB(e) { 7454 let i = Object.values(e).filter((t) => t.isSelected).map((t) => t.stake); 7455 return new Set(i).size === 1; 7456} 7457function Rs(e) { 7458 return !!e && e.rewardTokenType === wi.AccaInsurance; 7459} 7460function ua(e) { 7461 return !!e && e.rewardTokenType === wi.FreeBet; 7462} 7463function lm(e) { 7464 return !!e && e.rewardTokenType === wi.OddsBoost; 7465} 7466function $E(e) { 7467 return !!e && e.rewardTokenType === wi.RiskFreeBet; 7468} 7469function AE(e) { 7470 return !!e && e.rewardTokenType === wi.BetAndGet; 7471} 7472function Ir(e) { 7473 return !!e && e.rewardTokenType === wi.AccaBoost; 7474} 7475function _E(e) { 7476 return !!e && e.rewardTokenType === wi.DepositAndGet; 7477} 7478function ME(e) { 7479 return !!e && e.rewardTokenType === wi.AccaInsurance; 7480} 7481function bo(e) { 7482 return e.find((i) => af(i)); 7483} 7484function sB(e) { 7485 if (!e.payoutExpiry) return "1"; 7486 let i = e.payoutExpiry / 24; 7487 return (i <= 1 ? 1 : Math.round(i)).toString(); 7488} 7489function RE(e) { 7490 return e.every((i) => ua(i)) ? lr.FreeBet : e.every((i) => lm(i)) ? lr.OddsBoost : e.every((i) => $E(i)) ? lr.RiskFreeBet : e.every((i) => Ir(i)) ? lr.AccaBoost : e.every((i) => ME(i)) ? lr.AccaInsurance : e.every((i) => AE(i)) ? lr.BetAndGet : e.every((i) => _E(i)) ? lr.DepositAndGet : lr.MultipleRewards; 7491} 7492function nB(e) { 7493 return RE(e); 7494} 7495function xc(e) { 7496 return e.filter((i) => !Ir(i) && !ME(i)); 7497} 7498function aB(e, i) { 7499 return Qu(xc(e), [ 7500 (t) => t.rewardTargetType !== "WelcomeOffer", 7501 (t) => i ? !t.isVipExclusive && t.expiryDate : !1, 7502 (t) => t.expiryDate 7503 ]); 7504} 7505function oB(e) { 7506 return Qu(xc(e), (i) => af(i), "desc"); 7507} 7508function lB(e, i) { 7509 return e.boostLadder.reduce((t, r) => r.numberOfLegs <= i ? r : t); 7510} 7511function cB(e, i) { 7512 return new _e(lB(e, i).ratio); 7513} 7514function dB(e, i) { 7515 return Object.values(i).filter(Ir).sort(ko).filter((t) => { 7516 let r = e.comboBet.find((s) => s.tokenId === t.userTokenId); 7517 return !!r && r.invalidHardCriteria === ai.MinimumLegs; 7518 }); 7519} 7520function uB(e, i) { 7521 return Object.values(i).filter(Ir).sort(ko).find((t) => { 7522 let r = e.comboBet.find((s) => s.tokenId === t.userTokenId); 7523 return !!r && r.invalidHardCriteria === ai.MinOdds; 7524 }); 7525} 7526function pB(e, i = !1) { 7527 return e.reduce((t, r) => (St.isEmpty(t), !r.currentPrice || r.priceType !== xt.Fixed || St.isEmpty(r.currentPrice.nativeOdds) ? t = Ci : t = St.multiply([t, St.toCalculatedOdds(r.currentPrice.nativeOdds)], i), t), St.fromDecimal(new _e(1))); 7528} 7529function hB(e, i = !1) { 7530 let t = e.filter((r) => r.currentPrice?.nativeOdds).map((r) => St.toCalculatedOdds(r.currentPrice.nativeOdds)); 7531 return St.multiply(t, i); 7532} 7533function mB(e) { 7534 let i = e.rewardTokenModifications?.oddsBoost?.boostedWinnings, t = e.possibleWinnings; 7535 return i && t ? i.minus(t) : new _e(0); 7536} 7537function fB(e, i) { 7538 let t = []; 7539 return Object.values(e.singleBet).flatMap((r) => r).forEach((r) => { 7540 !r.isEligible || t.includes(r.tokenId) || t.push(r.tokenId); 7541 }), Object.values(e.betBuilder).flatMap((r) => r).forEach((r) => { 7542 !r.isEligible || t.includes(r.tokenId) || t.push(r.tokenId); 7543 }), e.comboBet.forEach((r) => { 7544 !r.isEligible || t.includes(r.tokenId) || t.push(r.tokenId); 7545 }), e.teaserBet.forEach((r) => { 7546 !r.isEligible || t.includes(r.tokenId) || t.push(r.tokenId); 7547 }), t.map((r) => i[r]).filter(qr); 7548} 7549function gB(e) { 7550 return e.isBetBuilder && !e.filter.betSlipType && !e.isSingleAndComboSelected || "buildABet" in e && e.buildABet === "Yes"; 7551} 7552function vB(e) { 7553 return e.isBetBuilder || "buildABet" in e && e?.buildABet !== "No"; 7554} 7555function SB(e) { 7556 return kE(e); 7557} 7558function bB(e) { 7559 return e.customMarketTypes ? e.customMarketTypes.split(",") ?? [] : e.filter.marketParameters.map((i) => i.marketType); 7560} 7561function LE(e, i) { 7562 return e.payoutType === Yl.FreeBet && !!e.isIncrementalPayout && (!!e.incrementalBetAmount || e.incrementalBetAmount === 0) && !!e.incrementalPayoutNoOfTimes && !!i && i >= e.incrementalBetAmount && e.incrementalPayoutNoOfTimes > 1; 7563} 7564function yB(e) { 7565 return e?.length === 1 && e[0].tokenType === "BetAndGet"; 7566} 7567function BE(e, i) { 7568 return e.isEligible && !!Object.values(e.softCriteriasValidity).every(Boolean) && i === e.tokenId; 7569} 7570function wB(e, i, t) { 7571 if (!(i <= 0 || !LE(e, t))) return { 7572 slabAmount: Ju(i / e.incrementalPayoutNoOfTimes, 2), 7573 noOfSlabs: e.incrementalPayoutNoOfTimes 7574 }; 7575} 7576function EB(e, i, t) { 7577 return !i || !e ? t : CE(e, { boost: i.toString() }); 7578} 7579function fn(e) { 7580 return e === ai.TotalOdds || e === ai.MinimumStake || e === ai.MaximumStake; 7581} 7582function gn(e, i) { 7583 return i?.rewardTokenId ? e[i.rewardTokenId] ?? null : null; 7584} 7585function Ic(e, i) { 7586 return i?.accaInsuranceId ? e[i.accaInsuranceId] ?? null : null; 7587} 7588function CB(e, i, t) { 7589 if (!t) return null; 7590 let r = i?.picks[t]; 7591 return r?.accaInsuranceId ? e[r.accaInsuranceId] ?? null : null; 7592} 7593function yo(e, i, t) { 7594 switch (e.betslipType) { 7595 case V.Single: return UE(e.pickId, i, t.singleBet.picks); 7596 case V.Combo: return gn(i, t.comboBet); 7597 case V.Teaser: return gn(i, t.teaserBet); 7598 case V.BetBuilder: return UE(e.pickId, i, t.betBuilder.picks); 7599 default: return null; 7600 } 7601} 7602function NB(e, i, t) { 7603 return e.betslipType === V.Combo ? Ic(i, t.comboBet) : e.betslipType === V.BetBuilder ? CB(i, t.betBuilder, e.pickId?.toString()) : null; 7604} 7605function DE(e, i, t, r) { 7606 switch (e.betslipType) { 7607 case V.Single: return WE(e.pickId, t, r.singleBet.picks, i.singleBet); 7608 case V.Combo: return dm(t, r.comboBet, i.comboBet); 7609 case V.Teaser: return dm(t, r.teaserBet, i.teaserBet); 7610 case V.BetBuilder: return WE(e.pickId, t, r.betBuilder.picks, i.betBuilder); 7611 default: return [null, null]; 7612 } 7613} 7614function FE(e, i) { 7615 return jE(e, i, !1); 7616} 7617function zE(e, i) { 7618 return jE(e, i, !0); 7619} 7620function GE(e, i) { 7621 if (i.comboBet.rewardTokenId === e) return { betslipType: V.Combo }; 7622 if (i.teaserBet.rewardTokenId === e) return { betslipType: V.Teaser }; 7623 let t = YE(e, i.singleBet.picks); 7624 if (t) return { 7625 pickId: t, 7626 betslipType: V.Single 7627 }; 7628 let r = YE(e, i.betBuilder.picks); 7629 if (r) return { 7630 pickId: r, 7631 betslipType: V.BetBuilder 7632 }; 7633} 7634function TB(e, i, t) { 7635 return { 7636 tokenId: e, 7637 token: i[e] ?? null, 7638 tokenEligibility: (t ?? []).find((r) => e && r.tokenId === e) ?? null 7639 }; 7640} 7641function cm(e, i) { 7642 switch (e.betslipType) { 7643 case V.Single: return e.pickId ? i.singleBet[e.pickId.toString()] ?? [] : []; 7644 case V.Combo: return i.comboBet; 7645 case V.Teaser: return i.teaserBet; 7646 case V.BetBuilder: return e.pickId ? i.betBuilder[e.pickId.toString()] ?? [] : []; 7647 default: return []; 7648 } 7649} 7650function kB(e, i, t) { 7651 let r = yo({ betslipType: V.Combo }, i, t); 7652 return Ir(r) && e.comboBet.find((s) => s.tokenId === r.userTokenId)?.isEligible ? r : null; 7653} 7654function xB(e, i, t) { 7655 let r = Ic(i, t.comboBet); 7656 return r && e.comboBet.find((s) => s.tokenId === r.userTokenId)?.isEligible ? r : null; 7657} 7658function IB(e, i) { 7659 return e.comboBet.filter((t) => t.isEligible).map((t) => i[t.tokenId]).filter(Ir).sort(ko)[0] ?? null; 7660} 7661function OB(e, i) { 7662 return e.comboBet.filter((t) => t.isEligible || t.invalidHardCriteria === ai.MinimumLegs || fn(t.invali
7662dHardCriteria)).map((t) => i[t.tokenId]).find((t) => Rs(t)) || Object.values(e.betBuilder ?? {}).flat().filter((t) => t.isEligible || t.invalidHardCriteria === ai.MinimumLegs || fn(t.invalidHardCriteria)).map((t) => i[t.tokenId]).find((t) => Rs(t)); 7663} 7664function PB(e) { 7665 return Object.values(e).find(Rs) ?? null; 7666} 7667function VE(e, i, t, r, s) { 7668 let n = { 7669 isEligible: !1, 7670 isVisible: !1, 7671 isUnderMinLegs: !1, 7672 isBadgeMuted: !1, 7673 minimumLegs: 0, 7674 currentSelectedLegs: s 7675 }; 7676 if (!t.comboBet?.accaInsuranceId) return n; 7677 if (r) return { 7678 isEligible: !0, 7679 isVisible: !0, 7680 isUnderMinLegs: !1, 7681 isBadgeMuted: !1, 7682 minimumLegs: r?.minimumLegs ?? 0, 7683 currentSelectedLegs: s 7684 }; 7685 let a = e.comboBet.find((o) => { 7686 let l = i[o.tokenId]; 7687 return l && Rs(l); 7688 }); 7689 if (a?.invalidHardCriteria === ai.MinimumLegs) { 7690 let o = i[a.tokenId]?.minimumLegs ?? 0; 7691 return { 7692 isEligible: !1, 7693 isVisible: !0, 7694 isUnderMinLegs: !0, 7695 isBadgeMuted: !1, 7696 minimumLegs: o, 7697 currentSelectedLegs: Math.min(s, o - 1) 7698 }; 7699 } 7700 return a && fn(a.invalidHardCriteria) ? { 7701 isEligible: !1, 7702 isVisible: !0, 7703 isUnderMinLegs: !1, 7704 isBadgeMuted: !0, 7705 minimumLegs: i[a.tokenId]?.minimumLegs ?? 0, 7706 currentSelectedLegs: s 7707 } : n; 7708} 7709function $B(e, i, t, r, s, n) { 7710 let a = VE(e, i, t, r, s); 7711 if (a.isVisible) return a; 7712 let o = Object.keys(t.betBuilder?.picks ?? {}); 7713 for (let l of o) { 7714 let c = HE(e, i, t, l, n); 7715 if (c.isVisible) return c; 7716 } 7717 return a; 7718} 7719function HE(e, i, t, r, s) { 7720 let n = s.find((d) => d.id.toString() === r), a = n ? nc([n]) : 0, o = { 7721 isEligible: !1, 7722 isVisible: !1, 7723 isUnderMinLegs: !1, 7724 isBadgeMuted: !1, 7725 minimumLegs: 0, 7726 currentSelectedLegs: a 7727 }, l = t.betBuilder?.picks[r]; 7728 if (l?.rewardTokenId && !Ir(i[l.rewardTokenId])) return o; 7729 let c = (e.betBuilder[r] ?? []).find((d) => Rs(i[d.tokenId])); 7730 if (!c) return o; 7731 if (c.isEligible) return { 7732 isEligible: !0, 7733 isVisible: !0, 7734 isUnderMinLegs: !1, 7735 isBadgeMuted: !1, 7736 minimumLegs: i[c.tokenId]?.minimumLegs ?? 0, 7737 currentSelectedLegs: a 7738 }; 7739 if (c.invalidHardCriteria === ai.MinimumLegs) { 7740 let d = i[c.tokenId]?.minimumLegs ?? 0; 7741 return { 7742 isEligible: !1, 7743 isVisible: !0, 7744 isUnderMinLegs: !0, 7745 isBadgeMuted: !1, 7746 minimumLegs: d, 7747 currentSelectedLegs: Math.min(a, d - 1) 7748 }; 7749 } 7750 return fn(c.invalidHardCriteria) ? { 7751 isEligible: !1, 7752 isVisible: !0, 7753 isUnderMinLegs: !1, 7754 isBadgeMuted: !0, 7755 minimumLegs: i[c.tokenId]?.minimumLegs ?? 0, 7756 currentSelectedLegs: a 7757 } : o; 7758} 7759function AB(e, i, t) { 7760 let r = t.comboBet.find((d) => Rs(e[d.tokenId])), s = r ? e[r.tokenId] : void 0; 7761 if (!s) return { 7762 accaInsuranceId: null, 7763 shouldDispatch: !1 7764 }; 7765 let n = Ic(e, i.comboBet), a = MB(e, i), o = r?.isEligible ?? !1, l = r?.invalidHardCriteria === ai.MinimumLegs, c = fn(r?.invalidHardCriteria); 7766 return n && (a || !o && !l && !c) ? { 7767 accaInsuranceId: null, 7768 shouldDispatch: !0 7769 } : !n && !a && (o || l || c) ? { 7770 accaInsuranceId: s.userTokenId, 7771 shouldDispatch: !0 7772 } : { 7773 accaInsuranceId: null, 7774 shouldDispatch: !1 7775 }; 7776} 7777function _B(e, i, t) { 7778 let r = Object.keys(i.betBuilder.picks), s = []; 7779 for (let n of r) { 7780 let a = (t.betBuilder[n] ?? []).find((p) => Rs(e[p.tokenId])), o = a ? e[a.tokenId] : void 0; 7781 if (!o) { 7782 i.betBuilder.picks[n]?.accaInsuranceId && s.push({ 7783 pickId: n, 7784 accaInsuranceId: null, 7785 shouldDispatch: !0 7786 }); 7787 continue; 7788 } 7789 let l = i.betBuilder.picks[n], c = !!l?.accaInsuranceId, d = !!l?.rewardTokenId && !Ir(e[l.rewardTokenId]), u = a?.isEligible ?? !1, h = a?.invalidHardCriteria === ai.MinimumLegs, g = fn(a?.invalidHardCriteria); 7790 if (c && (d || !u && !h && !g)) { 7791 s.push({ 7792 pickId: n, 7793 accaInsuranceId: null, 7794 shouldDispatch: !0 7795 }); 7796 continue; 7797 } 7798 if (!c && !d && (u || h || g)) { 7799 s.push({ 7800 pickId: n, 7801 accaInsuranceId: o.userTokenId, 7802 shouldDispatch: !0 7803 }); 7804 continue; 7805 } 7806 } 7807 return s; 7808} 7809function UE(e, i, t) { 7810 if (!e) return null; 7811 let r = t[e.toString()]; 7812 return gn(i, r); 7813} 7814function WE(e, i, t, r) { 7815 if (!e) return [null, null]; 7816 let s = t[e.toString()]; 7817 return dm(i, s, r[e.toString()] ?? []); 7818} 7819function dm(e, i, t) { 7820 let r = gn(e, i); 7821 return [r, r ? t.find((s) => s.tokenId === r.userTokenId) ?? null : null]; 7822} 7823function jE(e, i, t = !1) { 7824 let r = Object.values(i.singleBet.picks), s = Object.values(i.betBuilder.picks), n = [...r, ...s], a = (t ? n.filter((l) => l.isSelected) : n).map((l) => l.rewardTokenId), o = s.map((l) => l.accaInsuranceId); 7825 return [ 7826 ...a, 7827 ...o, 7828 i.comboBet.rewardTokenId, 7829 i.comboBet.accaInsuranceId, 7830 i.teaserBet.rewardTokenId 7831 ].filter((l) => !!l).map((l) => e[l]).filter((l) => !!l); 7832} 7833function YE(e, i) { 7834 let t = Object.entries(i).find(([, r]) => r.rewardTokenId === e); 7835 return t ? ta(t[0]) : void 0; 7836} 7837function MB(e, i) { 7838 let t = gn(e, i.comboBet), r = t !== null && !Ir(t), s = Object.values(i.singleBet.picks), n = s.length === 1 && !!gn(e, s[0]); 7839 return r || n; 7840} 7841function KE(e) { 7842 let i = e.fixture; 7843 return { 7844 startDate: e.fixture.eventDate.toISOString(), 7845 fixtureType: e.fixture.fixtureType, 7846 sport: { id: i.sportId }, 7847 meeting: _l(i.league) ? { id: i.league.id } : void 0, 7848 region: _l(i.region) ? { id: i.region.id } : void 0, 7849 competition: _l(i.league) ? { id: i.league.id } : void 0, 7850 addons: { 7851 pricingState: "None", 7852 isRaceOff: i.isRaceOff, 7853 bestOddsGuarantee: i.bestOddsGuarantee && e.currentPrice?.type !== xt.StartingPrice && !ra.isPick(e) 7854 } 7855 }; 7856} 7857function um(e) { 7858 return !!e && e.rewardTokenType === wi.BetStationFreebet; 7859} 7860function pm(e) { 7861 return !!e && e.rewardTokenType === wi.BestOddsGuaranteed; 7862} 7863function qE(e) { 7864 return !!e && e.rewardTokenType === wi.Eds; 7865} 7866function RB(e) { 7867 let i = Object.values(e.tokens).find(pm); 7868 return { 7869 valid: !!e.betstationTokens.bogTokenState.eligibility?.isEligible, 7870 token: i 7871 }; 7872} 7873function XE(e, i) { 7874 let t = e.selectedTokenId ? i[e.selectedTokenId] : null; 7875 return pm(t) ? t : null; 7876} 7877function JE(e, i) { 7878 let t = e.betStationFreeBet.selectedTokenId; 7879 if (!t) return null; 7880 let r = i[t]; 7881 return um(r) ? r : null; 7882} 7883function LB(e, i) { 7884 return e.selectedTokenIds?.map((t) => { 7885 let r = i[t]; 7886 return qE(r) ? { 7887 token: r, 7888 eligiblePicksIds: e.eligibilities?.find((s) => s.tokenId === t)?.eligiblePicksIds || [] 7889 } : void 0; 7890 }).filter(qr); 7891} 7892function BB(e, i) { 7893 return e === V.Combo ? i : Ih(i); 7894} 7895function DB(e) { 7896 return e.allPicks.map((i) => sa.isPick(i) && i.pickType === Ue.Win && (i.isStartingPriceAvailable() || i.isFixedPriceAvailable()) || mo.isPick(i) || ra.isPick(i) ? J(C({}, KE(i)), { pickId: i.id.toString() }) : null); 7897} 7898function FB(e, i, t, r) { 7899 let s = t.betStationFreeBet.selectedTokenId; 7900 if (s) { 7901 let n = r[s]; 7902 return um(n) ? n : null; 7903 } 7904 return yo(e, r, i); 7905} 7906function hm(e, i) {
7907 return e.stake !== null || QE(e.rewardTokenId, i); 7908} 7909function mm(e, i) { 7910 return e.stake !== null || QE(e.rewardTokenId, i); 7911} 7912function QE(e, i) { 7913 return !!e && ua(i[e]); 7914} 7915function fm({ isEachWay: e, stake: i }) { 7916 return i ? e ? i * 2 : i : null; 7917} 7918function zB(e) { 7919 let i = e.filter((t) => !!t.stake || !!t.freeBetAmount); 7920 return i.length === 1 && !!i[0]?.freeBetAmount; 7921} 7922function GB(e, i, t) { 7923 let { currentSelectedType: r } = e.base; 7924 switch (r) { 7925 case V.Single: return ZE(e.singleBet, i, !1, t); 7926 case V.Combo: return e0(e.comboBet, i); 7927 case V.System: return WB(e.systemBet); 7928 default: return []; 7929 } 7930} 7931function ZE(e, i, t = !1, r) { 7932 return Object.entries(e.picks).filter(([s, n]) => n.isSelected && (!n.isLocked || !t) && (!r || r.has(s))).map(([s, n]) => ({ 7933 stake: fm(n), 7934 freeBetAmount: Oc(n.rewardTokenId, i) 7935 })); 7936} 7937function e0(e, i) { 7938 return [{ 7939 stake: fm(e), 7940 freeBetAmount: Oc(e.rewardTokenId, i) 7941 }]; 7942} 7943function VB(e, i) { 7944 return [{ 7945 stake: e.stake, 7946 freeBetAmount: Oc(e.rewardTokenId, i) 7947 }]; 7948} 7949function HB(e, i) { 7950 return Object.values(e.picks).filter((t) => t.isSelected).map((t) => ({ 7951 stake: t.stake, 7952 freeBetAmount: Oc(t.rewardTokenId, i) 7953 })); 7954} 7955function Oc(e, i) { 7956 let t = e ? i.tokens[e] : null; 7957 return ua(t) ? t.amount : null; 7958} 7959function UB(e) { 7960 return e.reduce((i, t) => ({ 7961 freeBetAmount: t.freeBetAmount === null ? i.freeBetAmount : (i.freeBetAmount ?? 0) + t.freeBetAmount, 7962 stake: t.stake === null || t.freeBetAmount ? i.stake : (i.stake ?? 0) + t.stake 7963 }), { 7964 freeBetAmount: null, 7965 stake: null 7966 }); 7967} 7968function WB(e) { 7969 let i = e.systemInfo?.key; 7970 if (!i) return []; 7971 let t = e.stake, r = i === No.BankerSingles ? Object.values(e.picks).filter((s) => s.isSelected && !s.isBanker).length : Um.find((s) => s.id === i.toLowerCase())?.bets ?? null; 7972 return [{ 7973 stake: fm({ 7974 isEachWay: e.isEachWay, 7975 stake: r && t ? t * r : null 7976 }), 7977 freeBetAmount: null 7978 }]; 7979} 7980function jB(e, i) { 7981 let t = e.base.linearTypes, r = []; 7982 return t[V.Single] && YB(e.singleBet, i) && r.push(V.Single), t[V.BetBuilder] && KB(e.betBuilder, i) && r.push(V.BetBuilder), t[V.Combo] && t0(e.comboBet, i) && r.push(V.Combo), t[V.System] && s0(e.systemBet) && r.push(V.System), t[V.Teaser] && i0(e.teaserBet, i) && r.push(V.Teaser), r; 7983} 7984function YB(e, i) { 7985 return Object.values(e.picks).some((t) => hm(t, i)); 7986} 7987function t0(e, i) { 7988 return e.stake !== null || r0(e.rewardTokenId, i); 7989} 7990function KB(e, i) { 7991 return Object.values(e.picks).some((t) => mm(t, i)); 7992} 7993function i0(e, i) { 7994 return e.stake != null || r0(e.rewardTokenId, i); 7995} 7996function r0(e, i) { 7997 return !!e && ua(i[e]); 7998} 7999function s0(e) { 8000 return Object.values(e.linearTypeStakes).some((i) => i.stake !== null); 8001} 8002function qB(e, i, t) { 8003 let r = e.base.linearTypes, s = r[V.Single] ? ZE(e.singleBet, i, !0, t) : [], n = r[V.Combo] ? e0(e.comboBet, i) : [], a = r[V.System] ? XB(e.systemBet) : [], o = r[V.Teaser] ? VB(e.teaserBet, i) : [], l = r[V.BetBuilder] ? HB(e.betBuilder, i) : []; 8004 return [ 8005 ...s, 8006 ...n, 8007 ...a, 8008 ...o, 8009 ...l 8010 ]; 8011} 8012function XB(e) { 8013 return Object.values(e.linearTypeStakes).map((i) => { 8014 let t = i.stake && i.stake * i.betCount; 8015 return { 8016 stake: i.isEachWay && t ? t * 2 : t, 8017 freeBetAmount: null 8018 }; 8019 }); 8020} 8021function JB(e, i, t) { 8022 let r = [], s = e.singleBet, n = e.comboBet, a = e.systemBet, o = e.teaserBet, l = e.betBuilder; 8023 r = [...ln(i).filter((d) => { 8024 let u = s.picks[d.id.toString()]; 8025 return u && hm(u, t) && u.isSelected; 8026 })]; 8027 let c = i.filter((d) => { 8028 let u = l.picks[d.id.toString()]; 8029 return u && mm(u, t) && u.isSelected; 8030 }); 8031 if (r = [...r, ...c], t0(e.comboBet, t)) { 8032 let d = i.filter((u) => n.picks[u.id.toString()].isSelected && r.every((h) => !h.id.isEqual(u.id))); 8033 r = [...r, ...d]; 8034 } 8035 if (s0(e.systemBet)) { 8036 let d = ln(i).filter((u) => { 8037 let h = a.picks[u.id.toString()]; 8038 return h && h.isSelected && r.every((g) => !g.id.isEqual(u.id)); 8039 }); 8040 r = [...r, ...d]; 8041 } 8042 if (i0(e.teaserBet, t)) { 8043 let d = ln(i).filter((u) => o.picks[u.id.toString()]?.isSelected && r.every((h) => !h.id.isEqual(u.id))); 8044 r = [...r, ...d]; 8045 } 8046 return ln(r); 8047} 8048function QB(e, i, t) { 8049 let r = ln(i).reduce((a, o) => (a[o.id.toString()] = o, a), {}), s = {}, n = (a) => { 8050 Object.entries(a).filter(([, o]) =>
8050 o.isSelected && o.isLocked === t).forEach(([o]) => { 8051 s[o] = r[o]; 8052 }); 8053 }; 8054 return n(e.singleBet.picks), n(e.comboBet.picks), n(e.systemBet.picks), n(e.betBuilder.picks), n(e.teaserBet.picks), Object.values(s).filter(qr); 8055} 8056function n0(e, i, t, r) { 8057 let s; 8058 switch (i) { 8059 case V.Combo: 8060 s = e.comboBet.picks; 8061 break; 8062 case V.System: 8063 s = e.systemBet.picks; 8064 break; 8065 case V.Teaser: 8066 s = e.teaserBet.picks; 8067 break; 8068 case V.BetBuilder: 8069 s = e.betBuilder.picks; 8070 break; 8071 default: s = e.singleBet.picks; 8072 } 8073 return PE(s, t, r); 8074} 8075function ZB(e, i) { 8076 return i.singleBet.picks[e.toString()]?.isLocked || i.comboBet.picks[e.toString()]?.isLocked || i.systemBet.picks[e.toString()]?.isLocked || i.teaserBet.picks[e.toString()]?.isLocked; 8077} 8078function Or(e) { 8079 return class extends e { 8080 constructor(...i) { 8081 super(...i), this.origin = Bs.BetSlip, this.cleanStrategy = ma.Always, this.hasClientValidation = !0; 8082 } 8083 }; 8084} 8085function eD(e) { 8086 let i = e.type; 8087 if (i instanceof Bm) return V.Single; 8088 if (i instanceof Dm) return V.Combo; 8089 if (i instanceof Fc) return V.System; 8090} 8091function a0() { 8092 return "editbet"; 8093} 8094function gm() { 8095 return Ls.Combo; 8096} 8097function vm(e) { 8098 return Sm(e.key); 8099} 8100function Sm(e) { 8101 return `${ed}${e}`; 8102} 8103function bm(e) { 8104 return e.startsWith(ed); 8105} 8106function tD(e) { 8107 if (bm(e)) return e.substring(ed.length); 8108} 8109function o0(e) { 8110 return e === gm(); 8111} 8112function l0(e) { 8113 return e ? ym(e.toString()) : ""; 8114} 8115function ym(e) { 8116 return `${xf}${e}`; 8117} 8118function c0(e) { 8119 return wm(e.toString()); 8120} 8121function wm(e) { 8122 return `${td}${e}`; 8123} 8124function d0(e) { 8125 return e.startsWith(xf); 8126} 8127function Em() { 8128 return "teaser"; 8129} 8130function u0(e) { 8131 return e === Em(); 8132} 8133function p0(e) { 8134 return e.startsWith(td); 8135} 8136function iD(e) { 8137 return e.slice(td.length); 8138} 8139function rD(e) { 8140 return d0(e) ? V.Single : o0(e) ? V.Combo : u0(e) ? V.Teaser : p0(e) ? V.BetBuilder : bm(e) ? V.System : null; 8141} 8142function sD(e, i, t, r, s) { 8143 let n = !1, a = C({}, t), o = C({}, t); 8144 for (let l of r) { 8145 let c = e[l], d = [], u = []; 8146 for (let h of c) { 8147 if (h.hasClientValidation) { 8148 d.push(h), n = n || !s.includes(l); 8149 continue; 8150 } 8151 u.push(h); 8152 } 8153 d.length && (o[l] = d), u.length && (a[l] = u); 8154 } 8155 for (let l of s) { 8156 let c = o[l], d = i[l], u = a[l]; 8157 if (!d.length) { 8158 a[l] = u || [], n = n || !r.includes(l) || !!c?.length; 8159 continue; 8160 } 8161 if (!c || !c.length) { 8162 a[l] = u ? [...u, ...d] : d, n = !0; 8163 continue; 8164 } 8165 let h = If(c, d); 8166 a[l] = u ? [...u, ...h] : h, n = n || h !== c; 8167 } 8168 return { 8169 errors: a, 8170 hasChanged: n 8171 }; 8172} 8173function nD(e, i) { 8174 let t = { 8175 SINGLE: C({}, e[V.Single]), 8176 COMBO: C({}, e[V.Combo]), 8177 SYSTEM: C({}, e[V.System]), 8178 TEASER: C({}, e[V.Teaser]), 8179 EDIT_MY_BET: C({}, e[V.EditBet]), 8180 BET_BUILDER: C({}, e[V.BetBuilder]) 8181 }, r = Bc(); 8182 for (let s of [ 8183 V.Single, 8184 V.Combo, 8185 V.System, 8186 V.Teaser, 8187 V.EditBet, 8188 V.BetBuilder 8189 ]) { 8190 let n = i[s], a = t[s]; 8191 for (let o of n) { 8192 if (o instanceof Ds && o.pickId) { 8193 a[o.pickId] = a[o.pickId] || [], a[o.pickId].push(o); 8194 continue; 8195 } 8196 r[s].push(o); 8197 } 8198 } 8199 return [t, r]; 8200} 8201function wo(e, i, t, r = !1) { 8202 switch (e) { 8203 case V.Combo: return i[gm()] ?? []; 8204 case V.Teaser: return i[Em()] ?? []; 8205 case V.System: return r ? t.systemBet.systemInfo ? i[vm(t.systemBet.systemInfo)] ?? [] : [] : Object.values(t.systemBet.linearTypeStakes).flatMap((s) => i[vm(s.slipType)] ?? []); 8206 case V.Single: return Object.keys(t.singleBet.picks).flatMap((s) => i[ym(s)] ?? []); 8207 case V.EditBet: return i[a0()] ?? []; 8208 case V.BetBuilder: return Object.keys(t.betBuilder.picks).flatMap((s) => i[wm(s)] ?? []); 8209 } 8210} 8211function aD(e, i) { 8212 return i.some((t) => { 8213 if (cc.isPick(t)) return !1; 8214 let r = e.singleBet.picks[t.id.toString()], s = e.comboBet.picks[t.id.toString()], n = e.systemBet.picks[t.id.toString()]; 8215 if (!r || !s || !n) return !1; 8216 switch (t.oddsState) { 8217 case Et.Closed: return !0; 8218 case Et.Open: return r.isLocked || s.isLocked || n.isLocked; 8219 case Et.Locked: return !r.isLocked || !s.isLocked || !n.isLocked; 8220 } 8221 }); 8222} 8223function oD(e) { 8224 let i = Object.values(e.slipErrors).flatMap((r) => r).find((r) => Pc(r)), t = Object.values(e.pickErrors).flatMap((r) => Object.values(r)).flatMap((r) => r).filter((r) => Pc(r)); 8225 return !i && t.length === 0 ? { 8226 betslipStakeHintInfo: null, 8227 pickStakeHintInfos: [] 8228 } : i ? { 8229 betslipStakeHintInfo: { 8230 newStakeHint: i.newStakeHint, 8231 type: i.type 8232 }, 8233 pickStakeHintInfos: [] 8234 } : { 8235 betslipStakeHintInfo: null, 8236 pickStakeHintInfos: t.map((r) => ({ 8237 type: r.type, 8238 pickId: r.pickId, 8239 newStakeHint: r.newStakeHint 8240 })) 8241 }; 8242} 8243function lD(e) { 8244 return { 8245 slipStakeHintInfos: Object.entries(e.slipErrors).flatMap(([i, t]) => t.filter(Pc).map((r) => ({ 8246 newStakeHint: r.newStakeHint, 8247 slipId: i, 8248 type: r.type 8249 }))), 8250 pickStakeHintInfos: Object.entries(e.pickErrors[V.Single]).flatMap(([i, t]) => t.filter((r) => Pc(r)).map((r) => ({ 8251 pickId: i, 8252 error: r 8253 }))).map(({ pickId: i, error: t }) => ({ 8254 type: t.type, 8255 pickId: i, 8256 newStakeHint: t.newStakeHint 8257 })) 8258 }; 8259} 8260function Pc(e) { 8261 return $c(e) && !SC.includes(e.type); 8262} 8263function $c(e) { 8264 return typeof e.newStakeHint == "number" && e.newStakeHint > 0; 8265} 8266function cD(e) { 8267 return typeof e.newStakeHint == "number" && e.newStakeHint === 0; 8268} 8269function dD(e) { 8270 return pD(e)[0] || null; 8271} 8272function uD(e, i, t) { 8273 let r = Object.values(i).flatMap((n) => Object.values(n).flatMap((a) => a)), s = Object.values(t).flatMap((n) => n); 8274 return dD([ 8275 ...e, 8276 ...r, 8277 ...s 8278 ]); 8279} 8280function pD(e) { 8281 return Qu(e.filter((i) => !i.isHidden && i.origin === Bs.BetPlacement), (i) => i.priority); 8282} 8283function hD(e) { 8284 return !!e && zC.includes(e.type); 8285} 8286function mD(e) { 8287 return e.code === "COS" || e.code === "CODR"; 8288} 8289function fD(e, i) { 8290 return i !== V.Single && e.every((t) => cd(t)); 8291} 8292function gD(e, i, t) { 8293 return t.some((r) => nd(r) || od(r)) || aD(i, e); 8294} 8295function h0(e) { 8296 return e instanceof xo; 8297} 8298function vD(e) { 8299 return e instanceof uf; 8300} 8301function SD(e) { 8302 return e instanceof Ds && h0(e); 8303} 8304function bD(e) { 8305 return e.type !== "TechnicalError" && e.type !== "OverAskOfferError" && e.type !== "InsufficientMoney" && e.type !== "DoubleBetPrevention" && !$c(e) && !Af(e) && !_f(e); 8306} 8307function yD(e, i) { 8308 return e.filter(Kt.isPick).filter((t) => t.oddsState === Et.Open).map((t) => i[t.id.toString()]?.find((r) => r instanceof Kc)).filter(qr).flatMap((t) => t.legIds); 8309} 8310function wD(e, i) { 8311 return e.filter(Kt.isPick).filter((t) => t.oddsState === Et.Open).map((t) => i[t.id.toString()]?.find((r) => r instanceof xo)).filter(qr).flatMap((t) => t.legIds); 8312} 8313function Cm(e) { 8314 return e instanceof xo || e instanceof Kc; 8315} 8316function m0(e) { 8317 return !e.isHidden && !(e.type === "ComboPrevention" || e.type === "CutOffDateReached" || e.type === "OptionInvisible" || e.type === "OddsChanged" || e instanceof Zc); 8318} 8319function ED(e) { 8320 return e instanceof cs || e instanceof ds; 8321} 8322function f0(e) { 8323 return e instanceof mf || e instanceof df; 8324} 8325function Ac(e) { 8326 return e instanceof pf; 8327} 8328function CD(e) { 8329 return Ac(e) || f0(e) || g0(e); 8330} 8331function g0(e) { 8332 return e instanceof ff; 8333} 8334function ND(e) { 8335 return f0(e) || g0(e); 8336} 8337function Nm(e) { 8338 return e instanceof hf; 8339} 8340var Tm, v0, S0, km, _c, b0, pa, ni, vn, y0, Mc, w0, E0, C0, N0, T0, ha, k0, tt, Eo, x0, Rc, I0, Lc, Bc, xm, Im, Om, Pm, $m, Am, _m, O0, Pr, P0, Mm, Rm, Co, $0, A0, _0, Lm, Ls, Dc, Bm, Dm, Fc, Fm, No, zm, Gm, M0, ki, R0, L0, B0, D0, F0, z0, G0, Vm, Hm, Um, Wm, V0, H0, jm, ut, U0, W0, zc, j0, Gc, Y0, Ym, Km, Vc, qm, Hc, Uc, Xm, Jm, Qm, K0, Zm, q0, Wc, X0, J0, Q0, Z0, To, Sn, ef, eC, tC, iC, rC, lr, ai, sC, tf, rf, sf, nC, nf, af, ko, ls, qt, Bs, ma, Xt, bn, hi, Ds, jc, Yc, of, lf, cf, cs, ds, aC, oC, lC, cC, dC, df, uf, pf, uC, hf, Kc, xo, mf, ff, gf, vf, qc, Sf, bf, yf, Xc, Jc, wf, Ef, Qc, Cf, pC, Nf, Tf, Zc, kf, ed, td, xf, If, id, Of, hC, mC, fC, gC, vC, SC, rd, sd, nd, ad, od, bC, yC, ld, wC, EC, Pf, CC, $f, NC, TC, fa, cd,
8340kC, xC, IC, OC, PC, $C, AC, _C, MC, RC, LC, Af, _f, Io, BC, DC, FC, zC, Mf, Rf, GC, VC, Fs, us, ps, hs, Oo, Lf, Po, Bf, HC, Df, UC, WC, ga, Ff, jC, YC, zf, va, KC, qC, XC, dd, Gf, Vf, JC, ud, QC, $o, ZC, eN, tN, iN, rN, sN, nN, aN, oN, lN, cN, pd, dN, uN, Hf, pN, hN, mN, fN, gN, vN, SN, bN, Uf, Wf, yN, wN, EN, CN, hd, NN, $r, yn, zs, jf, wn, TN, Yf, kN, Kf, md, xN, IN, fd, ON, gd, qf, PN, $N, AN, _N, MN, RN, Xf, Jf, LN, vd, BN, DN, Ao, Sd, FN, Qf, zN, GN, VN, HN, UN, WN, jN, YN, KN, Zf, qN, XN; 8341function bd() { 8342 return (bd = Z((() => { 8343 Re(), Ke(), jl(), wh(), ic(), sc(), fo(), os(), am(), Wa(), Yn(), Tm = Object.freeze({ 8344 pickId: void 0, 8345 hasError: !1, 8346 previousHadError: !1 8347 }), v0 = { 8348 pickList: [], 8349 ui: {}, 8350 lastPickError: Tm, 8351 uuid: void 0, 8352 betTypeInit: void 0 8353 }, S0 = Object.freeze({ 8354 highlightPick: !1, 8355 expandLegs: !1 8356 }), km = "betslip-picks", _c = function(e) { 8357 return (hn.isPick(e) || Ti.isPick(e)) && e.isEachWay; 8358 }, b0 = function(e) { 8359 return _c(e) ? e.market.placeTerms : null; 8360 }, pa = _s(km), ni = k(pa, (e) => e.pickList), vn = k(ni, (e) => ln(e)), y0 = k(vn, (e) => e.map((i) => i.id)), Mc = k(ni, (e) => Kw(e)), w0 = k(ni, (e) => nc(e)), E0 = k(pa, (e) => e.pickList.flatMap((i) => i.id)), k(pa, (e) => e.ui), C0 = k(pa, (e) => e.lastPickError), k(ni, (e) => !e.length), N0 = k(ni, (e) => e.some(_c)), T0 = k(ni, Mc, (e, i) => { 8361 let t = e.filter((r) => rs.isId(r.id)); 8362 return { 8363 hasOnlyBetBuilderPicks: i === t.length, 8364 betBuilderPicksCount: t.length, 8365 nonBetBuilderPicksCount: i - t.length, 8366 picks: t 8367 }; 8368 }), k(ni, Mc, (e, i) => { 8369 let t = e.filter((r) => rs.isId(r.id)); 8370 return { 8371 hasOnlyBetBuilderPicks: i === t.length, 8372 betBuilderPicksCount: t.length, 8373 nonBetBuilderPicksCount: i - t.length 8374 }; 8375 }), ha = k(vn, (e) => e.filter((i) => !qw(i))), k0 = k(ha, (e) => e.length), tt = class {}, tt.ACTION_SCHEMA = "@betslip", tt.SET_STATE = `${tt.ACTION_SCHEMA}/SET_STATE`, tt.EVENT_UPDATE = `${tt.ACTION_SCHEMA}/EVENT_UPDATE`, tt.FIXTURE_UPDATE = `${tt.ACTION_SCHEMA}/FIXTURE_UPDATE`, tt.LINEAR_USER_EXPANDED_SECTIONS_UPDATE = `${tt.ACTION_SCHEMA}/LINEAR_USER_EXPANDED_SECTIONS_UPDATE`, tt.SET_LINEAR_USER_EXPANDED_SECTION = `${tt.ACTION_SCHEMA}/SET_LINEAR_USER_EXPANDED_SECTION`, tt.CLEAR_LINEAR_USER_EXPANDED_SECTIONS = `${tt.ACTION_SCHEMA}/CLEAR_LINEAR_USER_EXPANDED_SECTIONS`, tt.setState = ae(tt.SET_STATE, dt()), tt.eventUpdate = ae(tt.EVENT_UPDATE, dt()), tt.fixtureUpdate = ae(tt.FIXTURE_UPDATE, dt()), tt.betBuilderGroupUpdate = ae(`${tt.ACTION_SCHEMA}/BETBUILDER_GROUP_UPDATE`, dt()), tt.linearUserExpandedSectionsUpdate = ae(tt.LINEAR_USER_EXPANDED_SECTIONS_UPDATE, dt()), tt.setLinearUserExpandedSection = ae(tt.SET_LINEAR_USER_EXPANDED_SECTION, dt()), tt.clearLinearUserExpandedSections = ae(tt.CLEAR_LINEAR_USER_EXPANDED_SECTIONS), Eo = tt, x0 = `${Eo.ACTION_SCHEMA}/types`, Rc = "betslip-types", I0 = { 8376 pickErrors: { 8377 SINGLE: {}, 8378 COMBO: {}, 8379 SYSTEM: {}, 8380 TEASER: {}, 8381 EDIT_MY_BET: {}, 8382 BET_BUILDER: {} 8383 }, 8384 slipErrors: {}, 8385 betslipTypeErrors: { 8386 SINGLE: [], 8387 COMBO: [], 8388 SYSTEM: [], 8389 TEASER: [], 8390 EDIT_MY_BET: [], 8391 BET_BUILDER: [] 8392 }, 8393 betslipErrors: [] 8394 }, Lc = () => ({ 8395 SINGLE: {}, 8396 COMBO: {}, 8397 SYSTEM: {}, 8398 TEASER: {}, 8399 EDIT_MY_BET: {}, 8400 BET_BUILDER: {} 8401 }), Bc = () => ({ 8402 SINGLE: [], 8403 COMBO: [], 8404 SYSTEM: [], 8405 TEASER: [], 8406 EDIT_MY_BET: [], 8407 BET_BUILDER: [] 8408 }), xm = "betslip-validation-error", Im = Object.freeze({ picks: {} }), Om = { 8409 picks: {}, 8410 isEachWay: !1, 8411 stake: null, 8412 rewardTokenId: "", 8413 actualStake: null, 8414 accaInsuranceId: null 8415 }, Pm = Object.freeze({ 8416 picks: { 8417 pickList: [], 8418 pickState: {} 8419 }, 8420 originalPicks: [], 8421 acceptedEarlyPayoutStake: null, 8422 earlyPayoutStake: null, 8423 isEarlyPayoutStakeLoading: !1, 8424 addedStake: 0, 8425 confirmedStake: null, 8426 addPicksState: { 8427 isVisible: !1, 8428 isExpanded: !1, 8429 pickList: [] 8430 }, 8431 swapPickState: { 8432 oldPick: null, 8433 newPick: null 8434 }, 8435 betslipId: "" 8436 }), $m = Object.freeze({ picks: {} }), Am = _s(Rc), _m = k(Am, (e) => e.singleBet), O0 = k(Am, (e) => e.base.currentSelectedType === V.Single), Pr = k(_m, (e) => e.picks), P0 = k(Pr, (e) => Object.values(e).filter((i) => i.isSelected).length > 1), Mm = (e) => k(Pr, (i) => i[e.toString()]), Rm = (e) => k(Mm(e), (i) => i ? { 8437 actualStake: i.actualStake, 8438 stake: i.stake 8439 } : null), Co = k(Pr, (e) => ny(e, (i) => i.isSelected)), $0 = k(Pr, (e) => { 8440 let i = Object.values(e); 8441 if (i.length < 1) return null; 8442 let t = i[0], r = t.stake; 8443 return i.every((s) => s.stake === r) ? { 8444 stake: r, 8445 actualStake: t.actualStake 8446 } : { 8447 stake: null, 8448 actualStake: null 8449 }; 8450 }), A0 = k(O0, Pr, (e, i) => e && rB(i)), k(Co, (e) => { 8451 let i = Object.values(e); 8452 return i.length === 1 ? i[0] : null; 8453 }), _0 = k(Co, (e) => { 8454 let i = Object.keys(e); 8455 return i.length === 1 ? i[0] : null; 8456 }), Lm = { 8457 picks: {}, 8458 isEachWay: !1, 8459 systemInfo: null, 8460 stake: 0, 8461 isBankerActive: !1, 8462 isBankerEnabled: !1, 8463 actualStake: "0", 8464 linearTypeStakes: {}, 8465 isLinearExpanded: !1 8466 }, Ls = (function(e) { 8467 return e.Single = "single", e.Combo = "combo", e.BetBuilder = "betbuilder", e; 8468 })(Ls || {}), Dc = class Y$ { 8469 _key; 8470 _name; 8471 _basis; 8472 constructor(i, t, r) { 8473 this._key = i, this._name = t, this._basis = r; 8474 } 8475 get key() { 8476 return this._key; 8477 } 8478 get name() { 8479 return this._name; 8480 } 8481 get basis() { 8482 return this._basis; 8483 } 8484 equals(i) { 8485 return i ? this.key === i.key && Y$.isBasisEqual(this.basis, i.basis) : !1; 8486 } 8487 toJSON() { 8488 return { 8489 key: this.key, 8490 name: this.name, 8491 basis: this.basis 8492 }; 8493 } 8494 static isBasisEqual(i, t) { 8495 if (i.length !== t.length) return !1; 8496 for (let r = 0; r < i.length; r++) if (i[r] !== t[r]) return !1; 8497 return !0; 8498 } 8499 }, Bm = class extends Dc { 8500 constructor() { 8501 super(Ls.Single, "", [1]); 8502 } 8503 }, Dm = class extends Dc { 8504 constructor() { 8505 super(Ls.Combo, "", [-1]); 8506 } 8507 }, Fc = class extends Dc {}, Fm = Object.freeze({ 8508 activeTypes: [], 8509 currentSelectedType: null, 8510 selectedByUser: !1, 8511 linearTypes: { 8512 [V.Single]: !1, 8513 [V.Combo]: !1, 8514 [V.System]: !1, 8515 [V.Teaser]: !1, 8516 [V.BetBuilder]: !1 8517 }, 8518 original: { 8519 activeTypes: [], 8520 currentSelectedType: null, 8521 selectedByUser: !1 8522 } 8523 }), No = (function(e) { 8524 return e.Patent = "patent", e.Lucky15 = "lucky15", e.Lucky31 = "lucky31", e.Lucky63 = "lucky63", e.Trixie = "trixie", e.Yankee = "yankee", e.Canadian = "canadian", e.Heinz = "heinz", e.SuperHeinz = "superheinz", e.Goliath = "goliath", e.MOfN = "mofn", e.BankerSingles = "systembankersingles", e; 8525 })(No || {}), zm = (function(e) { 8526 return e.System2of3 = "system2of3", e.System2of4 = "system2of4", e.System2of5 = "system2of5", e.System2of6 = "system2of6", e.System2of7 = "system2of7", e.System2of8 = "system2of8", e.System3of4 = "system3of4", e.System3of5 = "system3of5", e.System3of6 = "system3of6", e.System3of7 = "system3of7", e.System3of8 = "system3of8", e.System4of5 = "system4of5", e.System4of6 = "system4of6", e.System4of7 = "system4of7", e.System4of8 = "system4of8", e.System5of6 = "system5of6", e.System5of7 = "system5of7", e.System5of8 = "system5of8", e.System6of7 = "system6of7", e.System6of8 = "system6of8", e.System7of8 = "system7of8", e; 8527 })(zm || {}), Gm = (function(e) { 8528 return e.SystemBetPositionEvent = "Sytem bet expand/collapse", e.HidePickListEventDetails = "Collapse system bet", e.ViewPickListEventDetails = "Expand system bet", e.SystemBetPosition = "system bet", e; 8529 })(Gm || {}), M0 = class extends Fc { 8530 constructor() { 8531 super(No.BankerSingles, "", [1]); 8532 } 8533 }, ki = k(_s(Rc), (e) => e.systemBet), R0 = k(ki, ha, (e, i) => i.filter((t) => e.picks[t.id.toString()])), k(ki, (e) => e.picks), L0 = k(ki, (e) => e.systemInfo), B0 = k(ki, (e) => e.isBankerActive), D0 = k(ki, (e) => ({ 8534 isBankerActive: e.isBankerActive, 8535 hasBanker: Object.values(e.picks).some((i) => i.isBanker) 8536 })), F0 = k(ki, (e) => e.isBankerActive ? Object.values(e.picks).filter((i) => i.isSelected && !i.isLocked && i.isBanker).length : 0), k(ki, (e) => ({ 8537 isBankerActive: e.isBankerActive, 8538 selectedSlipType: e.systemInfo?.key 8539 })), z0 = (e) => k(ki, (i) => (i.linearTypeStakes ?? {})[e] ?? null), G0 = k(ki, (e) => Object.values(e.linearTypeStakes).map((i) => i)), Vm = k(ki, R0, (e, i) => { 8540 let t = {};
8541 return i.forEach((r) => { 8542 t[r.id.toString()] = J(C({}, e.picks[r.id.toString()]), { isOpen: r.oddsState === Et.Open }); 8543 }), t; 8544 }), k(ki, Vm, (e, i) => J(C({}, e), { picks: i })), Hm = k(ki, (e) => e.isLinearExpanded), Um = [ 8545 { 8546 id: "systembankersingles", 8547 picks: -1, 8548 bets: -1, 8549 group: 1, 8550 basis: [1] 8551 }, 8552 { 8553 id: "system2of3", 8554 picks: 3, 8555 bets: 3, 8556 group: 2, 8557 basis: [2] 8558 }, 8559 { 8560 id: "patent", 8561 picks: 3, 8562 bets: 7, 8563 group: 9, 8564 basis: [ 8565 1, 8566 2, 8567 3 8568 ] 8569 }, 8570 { 8571 id: "trixie", 8572 picks: 3, 8573 bets: 4, 8574 group: 8, 8575 basis: [2, 3] 8576 }, 8577 { 8578 id: "system3of4", 8579 picks: 4, 8580 bets: 4, 8581 group: 3, 8582 basis: [3] 8583 }, 8584 { 8585 id: "system2of4", 8586 picks: 4, 8587 bets: 6, 8588 group: 2, 8589 basis: [2] 8590 }, 8591 { 8592 id: "lucky15", 8593 picks: 4, 8594 bets: 15, 8595 group: 9, 8596 basis: [ 8597 1, 8598 2, 8599 3, 8600 4 8601 ] 8602 }, 8603 { 8604 id: "yankee", 8605 picks: 4, 8606 bets: 11, 8607 group: 8, 8608 basis: [ 8609 2, 8610 3, 8611 4 8612 ] 8613 }, 8614 { 8615 id: "system4of5", 8616 picks: 5, 8617 bets: 5, 8618 group: 4, 8619 basis: [4] 8620 }, 8621 { 8622 id: "system3of5", 8623 picks: 5, 8624 bets: 10, 8625 group: 3, 8626 basis: [3] 8627 }, 8628 { 8629 id: "system2of5", 8630 picks: 5, 8631 bets: 10, 8632 group: 2, 8633 basis: [2] 8634 }, 8635 { 8636 id: "lucky31", 8637 picks: 5, 8638 bets: 31, 8639 group: 9, 8640 basis: [ 8641 1, 8642 2, 8643 3, 8644 4, 8645 5 8646 ] 8647 }, 8648 { 8649 id: "canadian", 8650 picks: 5, 8651 bets: 26, 8652 group: 8, 8653 basis: [ 8654 2, 8655 3, 8656 4, 8657 5 8658 ] 8659 }, 8660 { 8661 id: "system5of6", 8662 picks: 6, 8663 bets: 6, 8664 group: 5, 8665 basis: [5] 8666 }, 8667 { 8668 id: "system4of6", 8669 picks: 6, 8670 bets: 15, 8671 group: 4, 8672 basis: [4] 8673 }, 8674 { 8675 id: "system3of6", 8676 picks: 6, 8677 bets: 20, 8678 group: 3, 8679 basis: [3] 8680 }, 8681 { 8682 id: "system2of6", 8683 picks: 6, 8684 bets: 15, 8685 group: 2, 8686 basis: [2] 8687 }, 8688 { 8689 id: "lucky63", 8690 picks: 6, 8691 bets: 63, 8692 group: 9, 8693 basis: [ 8694 1, 8695 2, 8696 3, 8697 4, 8698 5, 8699 6 8700 ] 8701 }, 8702 { 8703 id: "heinz", 8704 picks: 6, 8705 bets: 57, 8706 group: 8, 8707 basis: [ 8708 2, 8709 3, 8710 4, 8711 5, 8712 6 8713 ] 8714 }, 8715 { 8716 id: "system6of7", 8717 picks: 7, 8718 bets: 7, 8719 group: 6, 8720 basis: [6] 8721 }, 8722 { 8723 id: "system5of7", 8724 picks: 7, 8725 bets: 21, 8726 group: 5, 8727 basis: [5] 8728 }, 8729 { 8730 id: "system4of7", 8731 picks: 7, 8732 bets: 35, 8733 group: 4, 8734 basis: [4] 8735 }, 8736 { 8737 id: "system3of7", 8738 picks: 7, 8739 bets: 35, 8740 group: 3, 8741 basis: [3] 8742 }, 8743 { 8744 id: "system2of7", 8745 picks: 7, 8746 bets: 21, 8747 group: 2, 8748 basis: [2] 8749 }, 8750 { 8751 id: "superheinz", 8752 picks: 7, 8753 bets: 120, 8754 group: 8, 8755 basis: [ 8756 2, 8757 3, 8758 4, 8759 5, 8760 6, 8761 7 8762 ] 8763 }, 8764 { 8765 id: "system7of8", 8766 picks: 8, 8767 bets: 8, 8768 group: 7, 8769 basis: [7] 8770 }, 8771 { 8772 id: "system6of8", 8773 picks: 8, 8774 bets: 28, 8775 group: 6, 8776 basis: [6] 8777 }, 8778 { 8779 id: "system5of8", 8780 picks: 8, 8781 bets: 56, 8782 group: 5, 8783 basis: [5] 8784 }, 8785 { 8786 id: "system4of8", 8787 picks: 8, 8788 bets: 70, 8789 group: 4, 8790 basis: [4] 8791 }, 8792 { 8793 id: "system3of8", 8794 picks: 8, 8795 bets: 56, 8796 group: 3, 8797 basis: [3] 8798 }, 8799 { 8800 id: "system2of8", 8801 picks: 8, 8802 bets: 28, 8803 group: 2, 8804 basis: [2] 8805 }, 8806 { 8807 id: "goliath", 8808 picks: 8, 8809 bets: 247, 8810 group: 8, 8811 basis: [ 8812 2, 8813 3, 8814 4, 8815 5, 8816 6, 8817 7, 8818 8 8819 ] 8820 } 8821 ], Wm = { 8822 picks: {}, 8823 selectedPoints: 0, 8824 stake: 0, 8825 placeBlocking: !1, 8826 actualStake: "0", 8827 teaserPrice: Mi, 8828 priceVersionId: 0, 8829 rewardTokenId: "" 8830 }, V0 = { 8831 id: "", 8832 isSelected: !0, 8833 isLocked: !1, 8834 selectedOption: void 0, 8835 eventId: void 0, 8836 oldPoints: 0, 8837 newPoints: 0, 8838 order: 0 8839 }, H0 = { 8840 base: Fm, 8841 singleBet: $m, 8842 comboBet: Om, 8843 systemBet: Lm, 8844 teaserBet: Wm, 8845 editBet: Pm, 8846 betBuilder: Im 8847 }, jm = Rc, ut = _s(jm), U0 = k(ut, (e) => e.betBuilder), W0 = k(ut, (e) => e.editBet), zc = k(ut, (e) => e.editBet.picks.pickList), j0 = k(ut, (e) => e.editBet.picks.pickState), Gc = k(ut, (e) => e.editBet.addPicksState.pickList), Y0 = (e) => k(zc, Gc, (i, t) => [...i, ...t].find((r) => r.id.id.toString() === e.toString())), Ym = k(ut, (e) => e.base.currentSelectedType), Km = k(Ym, (e) => e === V.Single), Vc = k(ut, (e) => e.singleBet), qm = k(ut, (e) => e.comboBet), Hc = k(ut, (e) => e.systemBet), Uc = k(ut, (e) => e.betBuilder), Xm = k(ut, (e) => e.teaserBet), Jm = k(Vc, ha, (e, i) => i.filter((t) => e.picks[t.id.toString()])), Qm = k(Hc, ha, (e, i) => i.filter((t) => e.picks[t.id.toString()])), K0 = k(Jm, (e) => e.length), Zm = k(qm, (e) => Object.keys(e.picks).length), q0 = k(Qm, (e) => e.length), Wc = k(Uc, (e) => Object.keys(e.picks).length), X0 = k(K0, Zm, q0, Wc, k(Xm, (e) => Object.keys(e.picks).length), (e, i, t, r, s) => ({ 8848 singlePicksCount: e, 8849 comboPicksCount: i, 8850 systemPicksCount: t, 8851 betBuilderPicksCount: r, 8852 teaserPicksCount: s 8853 })), J0 = k(Wc, (e) => e > 0), Q0 = k(Vc, vn, (e, i) => i.filter((t) => e.picks[t.id.toString()])), Z0 = k(Hc, vn, (e, i) => i.filter((t) => e.picks[t.id.toString()])), To = k(ut, (e) => e.base), Sn = k(To, (e) => e.currentSelectedType), k(To, (e) => e.activeTypes), ef = k(To, (e) => e.linearTypes), eC = k(ef, (e) => !e[V.Combo] && e[V.BetBuilder]), tC = "tokenChipClick", iC = "betnow-clicked", rC = "deposit-clicked", lr = (function(e) { 8854 return e.FreeBet = "FreeBet", e.RiskFreeBet = "RiskFreeBet", e.OddsBoost = "OddsBoost", e.BetAndGet = "BetAndGet", e.AccaBoost = "AccaBoost", e.AccaInsurance = "AccaInsurance", e.DepositAndGet = "DepositAndGet", e.MultipleRewards = "MultipleRewards", e; 8855 })(lr || {}), ai = (function(e) { 8856 return e.Sports = "Sports", e.Competitions = "Competitions", e.Meetings = "Meetings", e.Fixtures = "Fixtures", e.GameType = "GameType", e.OptionId = "OptionId", e.TemplateId = "TemplateId", e.MarketParameter = "MarketParameter", e.MarketId = "MarketId", e.Forbidden = "Forbidden", e.EachWaySelected = "EachWaySelected", e.StartDate = "StartDate", e.ExpiryDate = "ExpiryDate", e.ParticipantBetSelected = "ParticipantBetSelected", e.BetBuilderBetSelected = "BetBuilderBetSelected", e.MinOdds = "MinOdds", e.MaxOdds = "MaxOdds", e.SelectionMaxOdds = "SelectionMaxOdds", e.Market = "Market", e.SlipType = "SlipType", e.MinimumLegs = "MinimumLegs", e.MaximumStake = "MaximumStake", e.MinimumStake = "MinimumStake", e.DayOfWeek = "DayOfWeek", e.TimeOfDay = "TimeOfDay", e.BestOddsFlag = "BestOddsFlag", e.MultiSingleBet = "MultiSingleBet", e.SelectionOdds = "SelectionOdds", e.TotalOdds = "TotalOdds", e.SelectionsCount = "SelectionsCount", e.Stake = "Stake", e.Currency = "Currency", e.BetBuilder = "BetBuilder", e.SystemBet = "SystemBet", e.TeaserReward = "TeaserReward", e.EachWay = "EachWay", e.ComboPrevention = "ComboPrevention", e.BetBuilderNonCombinableLegs = "BetBuilderNonCombinableLegs", e.Sportcast = "Sportcast", e.PriceBoostFreeBet = "PriceBoostFreeBet", e.PriceBoost = "PriceBoost", e; 8857 })(ai || {}), sC = { 8858 load: "load", 8859 expand: "expand", 8860 collapse: "collapse", 8861 click: "click", 8862 betRewardsBanner: "bet rewards banner", 8863 rewardsBanner: "rewards banner",
8864 rewardDetails: "reward details", 8865 promoHub: "promo hub" 8866 }, tf = (function(e) { 8867 return e.BoostPercentage = "boostPercentage", e.MaxTokenStake = "maxTokenStake", e.MaxWinningsBoost = "maxWinningsBoost", e.UserExpectedWinningsBoost = "userExpectedWinningsBoost", e.RiskFreeMaxCompensation = "riskFreeMaxCompensation", e.RiskFreePercentage = "riskFreePercentage", e.AccaBoostRatio = "accaBoostRatio", e.AccaBoostFormulaType = "formulaType", e.EdsCampaignPromotionType = "edsCampaignPromotionType", e.BetIndex = "betIndex", e.IsDigitalV2 = "isDigitalV2", e.OddsBoostFormulaType = "oddsBoostFormula", e.PlaceBetSignPostingData = "placeBetSignPostingData", e.PlaceBetSignPostingVersion = "placeBetSignPostingVersion", e; 8868 })(tf || {}), rf = (function(e) { 8869 return e.BannerTooltip = "BannerTooltip", e.AutoApplyTooltip = "AutoApplyTooltip", e.AutoApply = "AutoApply", e.DeselectedByUser = "DeselectedByUser", e.AddWelcomeOffer = "AddWelcomeOffer", e; 8870 })(rf || {}), sf = (function(e) { 8871 return e.V1 = "V1", e.V2 = "V2", e; 8872 })(sf || {}), nC = { 8873 tokens: {}, 8874 eligibilityState: { 8875 singleBet: {}, 8876 comboBet: [], 8877 teaserBet: [], 8878 betBuilder: {} 8879 }, 8880 betstationTokens: { 8881 betStationFreeBet: { 8882 selectedTokenId: null, 8883 eligibility: null 8884 }, 8885 bogTokenState: { 8886 selectedTokenId: null, 8887 eligibility: null 8888 }, 8889 edsState: { 8890 selectedTokenIds: [], 8891 eligibilities: [] 8892 } 8893 }, 8894 onboardingState: { 8895 visible: !1, 8896 acquisitionHidden: !1 8897 }, 8898 tokenRecoveryState: [], 8899 deselectedToken: void 0 8900 }, nf = "betslip-reward-tokens", af = (e) => e.rewardTargetType === "WelcomeOffer", ko = (e, i) => e.priority - i.priority, ls = _s(nf), qt = (function(e) { 8901 return e[e.Warning = 0] = "Warning", e[e.Error = 1] = "Error", e; 8902 })(qt || {}), Bs = (function(e) { 8903 return e.BetPlacement = "BetPlacement", e.BetSlip = "BetSlip", e; 8904 })(Bs || {}), ma = (function(e) { 8905 return e.Always = "Always", e.Manually = "Manually", e; 8906 })(ma || {}), Xt = class { 8907 constructor() { 8908 this.icon = qt.Error, this.priority = 0, this.origin = Bs.BetSlip, this.cleanStrategy = ma.Always, this.hasClientValidation = !1, this.isHidden = !1; 8909 } 8910 equals(e) { 8911 return !1; 8912 } 8913 copy() { 8914 return Object.assign(Object.create(Object.getPrototypeOf(this)), this); 8915 } 8916 }, bn = class extends Xt {}, hi = (function(e) { 8917 return e.NotLoggedInError = "NotLoggedInError", e.UndoCashOutFailedError = "UndoCashOutFailedError", e.RewardTokensMaxStakeError = "RewardTokensMaxStakeError", e.RewardTokensMinLegsError = "RewardTokensMinLegsError", e.RewardTokensTradingEntityMismatchError = "RewardTokensTradingEntityMismatchError", e.RewardTokensForbiddenError = "RewardTokensForbiddenError", e.RewardTokensGameTypeError = "RewardTokensGameTypeError", e.RewardTokensSlipTypeError = "RewardTokensSlipTypeError", e.RewardTokensMinStakeError = "RewardTokensMinStakeError", e.RewardTokensTotalOddsError = "RewardTokensTotalOddsError", e.RewardTokensSelectionLevelOddsError = "RewardTokensSelectionLevelOddsError", e.RewardTokensBetBuilderError = "RewardTokensBetBuilderError", e.BetBuilderMaxSelectionsPerPickError = "BetBuilderMaxSelectionsPerPickError", e.RewardTokensMaxTotalOddsError = "RewardTokensMaxTotalOddsError", e.RewardTokensSelectionMaxOddsError = "RewardTokensSelectionMaxOddsError", e; 8918 })(hi || {}), Ds = class extends bn { 8919 constructor(e) { 8920 super(), this.pickId = e; 8921 } 8922 }, jc = class extends Xt { 8923 constructor(e) { 8924 super(), this.icon = qt.Error, this.type = hi.RewardTokensBetBuilderError, this.hasClientValidation = !0, this.token = e; 8925 } 8926 }, Yc = class extends Xt { 8927 constructor(e) { 8928 super(), this.icon = qt.Error, this.type = hi.RewardTokensMinStakeError, this.hasClientValidation = !0, this.minimumStake = e; 8929 } 8930 }, of = class extends Xt { 8931 constructor(e) { 8932 super(), this.icon = qt.Error, this.type = hi.RewardTokensSelectionLevelOddsError, this.hasClientValidation = !0, this.selectionLevelMinimumOdds = e; 8933 } 8934 }, lf = class extends Xt { 8935 constructor(e) { 8936 super(), this.icon = qt.Error, this.type = hi.RewardTokensTotalOddsError, this.hasClientValidation = !0, this.minimumOdds = e; 8937 } 8938 }, cf = (function(e) { 8939 return e[e.MinComboBetsCount = 0] = "MinComboBetsCount", e[e.MinSystemBetsCount = 1] = "MinSystemBetsCount", e[e.MinTeaserBetsCount = 2] = "MinTeaserBetsCount", e[e.PicksMaximum = 3] = "PicksMaximum", e[e.SelectMaxComboBets = 4] = "SelectMaxComboBets", e[e.SelectMaxRaceComboBets = 5] = "SelectMaxRaceComboBets", e[e.SelectMaxSystemBets = 6] = "SelectMaxSystemBets", e[e.SelectMinComboBets = 7] = "SelectMinComboBets", e[e.SelectMinSingleBets = 8] = "SelectMinSingleBets", e[e.SelectMinSystemBets = 9] = "SelectMinSystemBets", e[e.SelectMaxSystemBetsBanker = 10] = "SelectMaxSystemBetsBanker", e[e.SelectMinSystemBetsBanker = 11] = "SelectMinSystemBetsBanker", e[e.SelectMinTeaserBets = 12] = "SelectMinTeaserBets", e[e.SelectMaxTeaserBets = 13] = "SelectMaxTeaserBets", e[e.ForecastSystemBet = 14] = "ForecastSystemBet", e; 8940 })(cf || {}), cs = class extends Xt { 8941 constructor() { 8942 super(), this.hasClientValidation = !0; 8943 } 8944 }, ds = class extends Or(Ds) {}, aC = class extends cs { 8945 constructor() { 8946 super(); 8947 } 8948 }, oC = class extends cs { 8949 constructor() { 8950 super(), this.type = hi.BetBuilderMaxSelectionsPerPickError; 8951 } 8952 }, lC = class extends ds {}, cC = class extends ds {}, dC = class extends ds {}, df = class extends ds {}, uf = class extends ds { 8953 constructor(e) { 8954 super(e), this.isHidden = !0; 8955 } 8956 }, pf = class extends cs { 8957 constructor(e, i, t, r = !1, s = !1) { 8958 super(), this.legIds = e, this.invalidPickIds = i, this.uncombinableLegCount = t, this.hasInsufficientLegs = r, this.isSeparatedLeg = s; 8959 } 8960 }, uC = class extends ds {}, hf = class extends cs { 8961 constructor(e, i, t, r = !1) { 8962 super(), this.legIds = e, this.invalidPickIds = i, this.redundantLegCount = t, this.hasInsufficientLegs = r; 8963 } 8964 }, Kc = class extends Ds { 8965 constructor(e, i) { 8966 super(e), this.pickId = e, this.legIds = i, this.hasClientValidation = !0, this.isHidden = !0; 8967 } 8968 }, xo = class extends Ds { 8969 constructor(e, i) { 8970 super(e), this.pickId = e, this.legIds = i, this.hasClientValidation = !0; 8971 } 8972 }, mf = class extends cs { 8973 constructor(e) { 8974 super(), this.invalidPickIds = e, this.isHidden = !0; 8975 } 8976 }, ff = class extends cs { 8977 constructor(e) { 8978 super(), this.invalidPickIds = e; 8979 } 8980 }, gf = class extends bn { 8981 constructor(e, i) { 8982 super(), this.expectedBetCount = e === void 0 ? null : e, this.receivedBetCount = i === void 0 ? null : i, this.hasClientValidation = !0, this.type = "IncorrectOptionCount"; 8983 } 8984 }, vf = class extends Xt { 8985 constructor() { 8986 super(), this.hasClientValidation = !0; 8987 } 8988 }, qc = class extends bn { 8989 constructor() { 8990 super(), this.type = "UserError"; 8991 } 8992 }, Sf = class extends qc {}, bf = class extends Or(Xt) { 8993 constructor() { 8994 super(), this.icon = qt.Error, this.type = hi.RewardTokensForbiddenError, this.hasClientValidation = !0; 8995 } 8996 }, yf = class extends Or(Xt) { 8997 constructor(e) { 8998 super(), this.icon = qt.Error, this.type = hi.RewardTokensGameTypeError, this.hasClientValidation = !0, this.gameType = e; 8999 } 9000 }, Xc = class extends Or(Xt) { 9001 constructor(e) { 9002 super(), this.icon = qt.Error, this.type = hi.RewardTokensMaxStakeError, this.hasClientValidation = !0, this.maximumStake = e; 9003 } 9004 }, Jc = class extends Xt { 9005 constructor(e) { 9006 super(), this.icon = qt.Error, this.type = hi.RewardTokensMaxTotalOddsError, this.hasClientValidation = !0, this.maxOdds = e; 9007 } 9008 }, wf = class extends Or(Xt) { 9009 constructor(e) { 9010 super(), this.icon = qt.Error, this.type = hi.RewardTokensMinLegsError, this.hasClientValidation = !0, this.minimumLegs = e; 9011 } 9012 }, Ef = class extends Xt { 9013 constructor(e) { 9014 super(), this.icon = qt.Error, this.type = hi.RewardTokensSelectionMaxOddsError, this.hasClientValidation = !0, this.selectionLevelMaxOdds = e; 9015 } 9016 }, Qc = class extends Or(Xt) { 9017 constructor(e) { 9018 super(), this.icon = qt.Error, this.type = hi.RewardTokensSlipTypeError, this.hasClientValidation = !0, this.slipType = e; 9019 } 9020 }, Cf = class extends bn { 9021 constructor() { 9022 super(), this.cleanStrategy = ma.Manually, this.type = "TechnicalError"; 9023 } 9024 }, pC = class extends Or(gf) { 9025 constructor(e, i, t) { 9026 super(e, i), this.errorDetails = t; 9027 } 9028 }, Nf = class extends Sf { 9029 constructor(e, i) { 9030 super(), this.userMoney = e, this.stake = i, this.icon = qt.Warning, this.priority = 1e3, this.type = "InsufficientMoney"; 9031 } 9032 }, Tf = class extends Or(Xt) { 9033 constructor() { 9034 super(), this.type = "NoBetbuilderSystemAllowed"; 9035 } 9036 }, Zc = class extends Or(Ds) {}, kf = class extends qc { 9037 constructor(e, i) { 9038 super(), this.comboWin = e ?? null, this.maxComboWin = i ?? null, this.icon = qt.Warning, this.type = "OverallMaxWinPerUserExceeded"; 9039 } 9040 }, ed = "system__", td = `${Ls.BetBuilder}__`, xf = `${Ls.Single}__`, If = (e, i) => { 9041 let t = [], r = []; 9042 for (let n of e) n.hasClientValidation ? r.push(n) : t.push(n); 9043 let s = !1; 9044 for (let n of i) { 9045 let a = r.find((o) => o.equals(n)); 9046 if (a) { 9047 let o = a.copy(); 9048 o.origin = Bs.BetSlip, t.push(o); 9049 } else s = !0, t.push(n); 9050 } 9051 return t.length === e.length && !s ? e : t; 9052 }, id = function(e) { 9053 return Object.entries(e).map(([i, t]) => [i, t]); 9054 }, Of = function(e) { 9055 return Object.entries(e).map(([i, t]) => [i, t]); 9056 }, hC = (e, i, t, r, s) => { 9057 let n = e.betslipErrors.filter(i), a = Lc(), o = Bc(), l = {}; 9058 for (let [c, d] of id(e.pickErrors)) { 9059 let u = Object.keys(d); 9060 for (let h of u) a[c][h] = d[h].filter(s); 9061 } 9062 for (let [c, d] of Of(e.betslipTypeErrors)) o[c] = d.filter(t); 9063 for (let [c, d] of Object.entries(e.slipErrors)) l[c] = d.filter(r); 9064 return { 9065 pickErrors: a, 9066 betslipTypeErrors: o, 9067 betslipErrors: n, 9068 slipErrors: l 9069 }; 9070 }, mC = (e, i, t, r, s) => { 9071 let n = e.betslipErrors.map(i), a = n.some(([u, h]) => h), o = n.map(([u]) => u), l = Lc(), c = Bc(), d = {}; 9072 for (let [u, h] of id(e.pickErrors)) { 9073 let g = Object.keys(h); 9074 for (let p of g) { 9075 let m = h[p].map(s); 9076 a = a || m.some(([S, b]) => b), l[u][p] = m.map(([S]) => S); 9077 } 9078 } 9079 for (let [u, h] of Of(e.betslipTypeErrors)) { 9080 let g = h.map(t); 9081 a = a || g.some(([p, m]) => m), c[u] = g.map(([p]) => p); 9082 } 9083 for (let [u, h] of Object.entries(e.slipErrors)) { 9084 let g = h.map(r); 9085 a = a || g.some(([p, m]) => m), d[u] = g.map(([p]) => p); 9086 } 9087 return { 9088 pickErrors: l, 9089 betslipTypeErrors: c, 9090 betslipErrors: o, 9091 slipErrors: d, 9092 isModified: a 9093 }; 9094 }, fC = function(e) { 9095 let i = Object.values(e).flatMap((t) => Object.values(t).flatMap((r) => r.map((s) => s.type))); 9096 return new Set(i); 9097 }, gC = function(e) { 9098 return e.betslipErrors.length > 0 || Object.values(e.slipErrors).some((i) => i.length > 0) || Object.values(e.betslipTypeErrors).some((i) => i.length > 0) || Object.values(e.pickErrors).some((i) => Object.values(i).some((t) => t.length > 0)); 9099 }, vC = function(e) { 9100 return Object.values(e).reduce((i, t) => { 9101 let r = Object.entries(t); 9102 for (let [s, n] of r) i[s] = i[s] ? [...i[s], ...n] : [...n]; 9103 return i; 9104 }, {}); 9105 }, SC = ["UnderMinimumOddsBoostReward", "UnderMinimumRiskFreeCompensation"], rd = function(e) { 9106 return e.type === "OptionInvisible" || e.type === "ChangedOptionStatus" || e.type === "CutOffDateReached" || e.type === "InvalidOption" || e.type === "MissingInfo" || e.type === "NotPlayable" || e.type === "OpenDateNotReached" || e.type === "OptionError"; 9107 }, sd = function(e) { 9108 return e.type === "CutOffDateReached" || e.type === "OpenDateNotReached"; 9109 }, nd = function(e) { 9110 return e.type === "OddsChanged"; 9111 }, ad = function(e) { 9112 return rd(e) || sd(e) || nd(e) || Cm(e) || od(e); 9113 }, od = function(e) { 9114 return e instanceof Zc; 9115 }, bC = function(e) { 9116 return rd(e) || sd(e) || Cm(e); 9117 }, yC = function(e) { 9118 return !(ad(e) || fa(e)); 9119 }, ld = function(e) { 9120 return e.type === "InsufficientMoney"; 9121 }, wC = function(e) { 9122 return "userHasBeenNotified" in e; 9123 }, EC = function(e) { 9124 return fa(e) || e.type === "BlockedAsInsider" || e.type === "IncorrectOptionCount" || e.type === "IncorrectBankerCount" || e.type === "UnderMinimumCompulsoryOdds" || $f(e); 9125 }, Pf = (e) => e.type === "StakeBelowMinimumLimit", CC = (e) => e.type === "UnderMinimumWinnings", $f = (e) => e.type === "NotWholeStake", NC = function(e) { 9126 return e.type === "OddsChanged"; 9127 }, TC = function(e) { 9128 return e instanceof Tf; 9129 }, fa = function(e) { 9130 return e.type === "ComboPrevention" || e.type === "MinimumCombo"; 9131 }, cd = function(e) { 9132 return e.type === "StakeBelowMinimumLimit" || e.type === "UnderMinimumWinnings" || e.type === "OverMaxBetLimit" || e.type === "NotWholeStake" || e.type === "InsufficientMoney"; 9133 }, kC = (e) => e.type === "TechnicalError", xC = (e) => e instanceof Qc, IC = (e) => e instanceof Jc, OC = (e) => e instanceof Xc, PC = (e) => e instanceof Yc, $C = (e) => e instanceof jc, AC = (e) => [ 9134 Qc, 9135 Xc, 9136 Yc, 9137 wf, 9138 of, 9139 yf, 9140 bf, 9141 lf, 9142 jc, 9143 Jc, 9144 Ef 9145 ].some((i) => e instanceof i), _C = (e, i) => { 9146 if (e instanceof kf) switch (i) { 9147 case "Any": return !0; 9148 case "WithHint": return !!e.newStakeHint && e.newStakeHint > 0; 9149 case "WithoutHint": return e.newStakeHint === 0; 9150 } 9151 return !1; 9152 }, MC = (e, i) => e.betslipErrors.some(Io) || e.betslipTypeErrors[i].some(Io), RC = (e, i, t) => wo(i, e.slipErrors, t).some(Io), LC = (e, i) => (e.slipErrors[i] ?? []).some(Io), Af = (e) => Nm(e) && !e.hasInsufficientLegs, _f = (e) => Ac(e) && e.isSeparatedLeg && !e.hasInsufficientLegs, Io = (e) => !(e.type === "OverAskOfferError" && cD(e)) && !cd(e) && e.type !== "NoMultiSinglesAllowed" && !(e instanceof bn && $c(e)) && !(e instanceof Cf) && !Af(e) && !_f(e), BC = (e) => e.some(ld), DC = (e) => Object.entries(e).flatMap(([i, t]) => t.filter((r) => Pf(r)).map((r) => ({ 9153 error: r, 9154 slipId: i 9155 }))), FC = (e, i) => e.some((t) => i.equals(t)) ? e : e.filter((t) => t.constructor !== i.constructor).concat(i), zC = [ 9156 "InvalidFreeBet", 9157 "FreeBetExpired", 9158 "FreeBetNotActive" 9159 ], Mf = (e) => e instanceof Nf, Rf = k(Uc, (e) => e.picks), GC = k(Rf, ni, (e, i) => i.filter((t) => !!e[t.id.toString()])), VC = (e, i) => k(ut, (t) => { 9160 switch (i) { 9161 case V.Combo: return t.comboBet.actualStake; 9162 case V.Teaser: return t.teaserBet.actualStake; 9163 case V.Single: { 9164 let r = Object.entries(t.singleBet.picks).find(([n]) => ym(n) === e); 9165 if (!r) return null; 9166 let [, s] = r; 9167 return s.actualStake ?? null; 9168 } 9169 case V.System: { 9170 let r = Object.keys(t.systemBet.linearTypeStakes).find((s) => Sm(s) === e); 9171 return r ? t.systemBet.linearTypeStakes[r]?.actualStake ?? null : null; 9172 } 9173 case V.EditBet: return t.editBet.addedStake.toString(); 9174 case V.BetBuilder: { 9175 let r = Object.entries(t.betBuilder.picks).find(([n]) => wm(n) === e); 9176 if (!r) return null; 9177 let [, s] = r; 9178 return s.actualStake ?? null; 9179 } 9180 } 9181 }), Fs = _s(xm), us = k(Fs, (e) => e.betslipErrors), ps = k(Fs, (e) => e.pickErrors), hs = k(Fs, (e) => e.slipErrors), Oo = k(Fs, (e) => e.betslipTypeErrors), Lf = (e) => k(hs, (i) => i[e]), Po = (e, i = !1) => k(hs, ut, (t, r) => wo(e, t, r, i)), Bf = (e) => k(hs, ut, (i, t) => { 9182 let r = t.base.currentSelectedType; 9183 return r ? wo(r, i, t, e) : []; 9184 }), Bf(!1), HC = (e) => k(hs, (i) => i[l0(e)] ?? []), Df = (e) => k(hs, (i) => i[c0(e)] ?? []), UC = (e) => k(Df(e), (i) => i.some((t) => (Nm(t) || Ac(t) && t.isSeparatedLeg) && t.hasInsufficientLegs)), WC = k(hs, (e) => Object.values(e).some((i) => i.length > 0)), ga = (e) => k(Oo, (i) => i[e] ?? []), Ff = k(Oo, Sn, (e, i) => i ? e[i] : []), jC = k(Oo, (e) => Object.values(e).some((i) => i.length > 0)), YC = (e) => k(us, ga(e), Po(e), (i, t, r) => [ 9185 ...i, 9186 ...t, 9187 ...r 9188 ]), zf = (e) => k(us, Ff, Bf(e), (i, t, r) => [ 9189 ...i, 9190 ...t, 9191 ...r 9192 ]), va = zf(!1), KC = zf(!0), qC = k(us, Po(V.BetBuilder), ga(V.BetBuilder), (e, i, t) => [ 9193 ...e, 9194 ...i, 9195 ...t 9196 ]), XC = k(us, (e) => e.length > 0), dd = (e) => k(Fs, (i) => i.pickErrors[e] ?? {}), Gf = (e) => k(dd(e), (i) => Object.values(i)
9196.flatMap((t) => t) ?? []), Vf = k(ps, (e) => Object.values(e).flatMap((i) => Object.values(i).flatMap((t) => t))), JC = k(Fs, (e) => e.pickErrors), ud = (e, i) => k(ps, (t) => t[i][e.toString()] ?? []), QC = (e) => k(ps, (i) => { 9197 let t = e.toString(); 9198 return Object.values(i).flatMap((r) => r[t] ?? []); 9199 }), $o = k(ps, Sn, (e, i) => i ? e[i] : {}), ZC = k($o, (e) => Object.values(e).flatMap((i) => i)), eN = k($o, (e) => Object.values(e).flatMap((i) => i)), tN = k(ps, (e) => Object.values(e).some((i) => Object.values(i).some((t) => t.length > 0))), iN = k(ni, $o, (e, i) => e.map((t) => ({ 9200 pick: t, 9201 errors: i[t.id.toString()] || [] 9202 }))), rN = k(vn, ps, (e, i) => e.map((t) => ({ 9203 pick: t, 9204 errors: Object.values(i).flatMap((r) => r[t.id.toString()] ?? []) 9205 }))), sN = k(zc, Gc, dd(V.EditBet), (e, i, t) => [...e, ...i].map((r) => ({ 9206 pick: r, 9207 errors: t[r.id.toString()] || [] 9208 }))), nN = k(YC(V.Single), (e) => e), aN = k(va, ZC, (e, i) => [...e, ...i]), oN = k(us, (e) => e.find(Mf)), lN = k(va, (e) => e.filter((i) => !i.isHidden).sort((i, t) => t.priority - i.priority)), cN = k(eN, (e) => e.some(fa)), pd = (e) => k(Gf(e), (i) => i.some(fa)), dN = k(us, (e) => e.some(ld)), uN = k(k(XC, jC, WC, (e, i, t) => e || i || t), tN, (e, i) => e || i), Hf = k(us, (e) => e.some((i) => i instanceof vf)), pN = k(va, Km, A0, (e, i, t) => i && !t ? e.find((r) => r.type === "InsufficientMoney") : e.find(cd)), k(va, Sn, (e, i) => fD(e, i)), hN = k(Vf, ni, ut, (e, i, t) => gD(i, t, e)), mN = k(Vf, (e) => e.some((i) => ad(i) && i.origin === Bs.BetPlacement)), fN = (e, i) => k(ud(e, i), (t) => t.filter((r) => m0(r))), k(hs, ut, (e, i) => { 9209 let t = i.base.currentSelectedType; 9210 return !t || t === V.Single ? [] : wo(t, e, i); 9211 }), gN = (e) => k(ud(e, V.Single), HC(e), (i, t) => [...i, ...t]), vN = (e) => k(gN(e), Rm(e), (i, t) => ({ 9212 errors: i, 9213 stake: t 9214 })), SN = (e) => k(fN(e, V.BetBuilder), Df(e), (i, t) => [...i, ...t]), bN = (e, i) => k(Lf(e), VC(e, i), pd(i), (t, r, s) => ({ 9215 errors: s ? [] : t, 9216 stake: r 9217 })), Uf = (e) => k(Gf(e), (i) => i.filter(m0)), Wf = (e) => k(ga(e), Po(e), Uf(e), (i, t, r) => [ 9218 ...i, 9219 ...t, 9220 ...r 9221 ]), yN = k(ga(V.System), Uf(V.System), (e, i) => [...e, ...i]), wN = (e) => k(yN, Wf(e), (i, t) => e === V.System ? i : t), EN = k(Wf(V.Combo), (e) => e), CN = (e) => k(ps, Hm, (i, t) => { 9222 let r = e.toString(), s = J(C({}, i), { SYSTEM: t ? i.SYSTEM : {} }); 9223 return Object.values(s).flatMap((n) => n[r] ?? []); 9224 }), hd = k(ls, (e) => e.onboardingState), NN = (e) => k(ni, ut, (i, t) => e ? n0(t, e, i, { isSelected: !0 }) : []), $r = k(ls, (e) => e.tokens), yn = k($r, (e) => Object.values(e)), zs = k(ls, (e) => e.eligibilityState), jf = k(ni, (e) => e.some((i) => i.isNewCustomerOfferPick)), wn = k(zs, $r, ut, (e, i, t) => ({ 9225 eligibilityState: e, 9226 tokens: i, 9227 types: t 9228 })), TN = k(zs, $r, (e, i) => fB(e, i)), k(yn, (e) => xc(e)), Yf = (e) => k(wn, ({ tokens: i, types: t }) => yo(e, i, t)), kN = (e) => k(wn, ({ tokens: i, types: t }) => NB(e, i, t)), Kf = (e) => k(wn, ({ tokens: i, eligibilityState: t, types: r }) => DE(e, t, i, r)), md = (e) => k(Kf(e), ([i, t]) => t?.isEligible ? i : null), xN = (e) => k(md(e), (i) => ua(i) ? i : null), IN = (e) => k(md(e), (i) => lm(i) ? i : null), fd = k(wn, ({ tokens: e, types: i }) => zE(e, i)), ON = k(wn, ({ tokens: e, types: i }) => FE(e, i)), gd = (e) => k(zs, (i) => cm(e, i)), qf = (e) => k($r, gd(e), (i, t) => ({ 9229 tokens: i, 9230 eligibilityState: t 9231 })), PN = (e) => k(qf(e), ({ tokens: i, eligibilityState: t }) => (t ?? []).filter((r) => r.isEligible && r.softCriteriasValidity[ai.MinimumLegs] && r.softCriteriasValidity[ai.MaxOdds]).map((r) => i[r.tokenId])), $N = (e) => k($r, ut, (i, t) => yo(e, i, t)), AN = (e) => k(fd, Yf(e), gd(e), (i, t, r) => r.some((s) => t?.userTokenId === s.tokenId || s.isEligible && i.every((n) => n.userTokenId !== s.tokenId))), _N = k(Pr, yn, (e, i) => { 9232 let t = bo(i); 9233 if (!t) return; 9234 let r = Object.entries(e).filter(([, s]) => !s.isSelected && s.rewardTokenId === t.userTokenId).map(([s]) => s); 9235 return r.length > 0 ? { pickId: r[0] } : void 0; 9236 }), MN = k(Co, yn, zs, fd, Hf, (e, i, t, r, s) => { 9237 let n = bo(i), a = r.some((l) => l.rewardTargetType === "WelcomeOffer"); 9238 if (!n || a || s) return; 9239 let o = Object.entries(t.singleBet).filter(([l, c]) => e[l] && !e[l].rewardTokenId && c.some((d) => BE(d, n.userTokenId))).map(([l]) => l); 9240 return o.length > 0 ? { 9241 pickId: o[0], 9242 tokenId: n.userTokenId 9243 } : void 0; 9244 }), RN = k(Pr, (e) => { 9245 let i = Object.entries(e).filter(([, t]) => t.isSelected).map(([t]) => t); 9246 return i.length > 0 ? { 9247 betslipType: V.Single, 9248 pickId: ta(i[0]) 9249 } : void 0; 9250 }), Xf = k(ni, ut, (e, { base: i, singleBet: t, comboBet: r, systemBet: s }) => { 9251 if (!e.some((n) => Ti.isPick(n) || hn.isPick(n))) return !1; 9252 switch (i.currentSelectedType) { 9253 case V.Single: return e.filter((n) => Ti.isPick(n) || hn.isPick(n)).some((n) => { 9254 let a = t.picks[n.id.toString()]; 9255 return !!a && a.isEachWay && a.isSelected; 9256 }); 9257 case V.Combo: return r.isEachWay; 9258 case V.System: return s.isEachWay; 9259 default: return !1; 9260 } 9261 }), Jf = k(k(zs, k(RN, (e) => e), (e, i) => i ? cm(i, e) : []), $r, (e, i) => e.filter((t) => t.isEligible).map((t) => i[t.tokenId])), LN = k(yn, (e) => bo(e)), vd = k(Xf, jf, Jf, (e, i, t) => !e && !i && t.length > 0), k(hd, Jf, vd, LN, (e, i, t, r) => ({ 9262 isVisible: e.visible && t && !r, 9263 tokens: i 9264 })), BN = k(hd, vd, (e, i) => ({ acquisitionHidden: e.acquisitionHidden && i })), DN = (e) => k($N(e), BN, (i, t) => i?.rewardTargetType === "WelcomeOffer" && !t.acquisitionHidden), Ao = k(ls, (e) => e.betstationTokens), Sd = k(Ao, (e) => e.edsState), FN = k(Sd, (e) => e.selectedTokenIds), Qf = k(Ao, (e) => e.bogTokenState), k(Qf, $r, (e, i) => XE(e, i)), zN = k(Qf, (e) => !!e.selectedTokenId), GN = k(ls, (e) => RB(e)), VN = k(Ao, (e) => !!e.betStationFreeBet.selectedTokenId), HN = k(Sd, (e) => e.selectedTokenIds.length > 0), UN = k(Ao, $r, (e, i) => JE(e, i)), WN = (e) => k(pd(e.betslipType), (i) => i && e.betslipType !== V.Single), k(Sn, Pr, (e, i) => { 9265 if (e !== V.Single) return; 9266 let t = Object.entries(i).filter(([r, s]) => s.isSelected).filter(([, r]) => !!r.rewardTokenId); 9267 return t.length === 1 ? { 9268 betslipType: V.Single, 9269 pickId: ta(t[0][0]) 9270 } : void 0; 9271 }), k(ls, (e) => e.tokenRecoveryState), jN = k(zs, Sn, _0, (e, i, t) => { 9272 switch (i) { 9273 case V.Single: return t ? e.singleBet[t] ?? [] : []; 9274 case V.Combo: return e.comboBet; 9275 case V.Teaser: return e.teaserBet; 9276 default: return []; 9277 } 9278 }), YN = k(ut, yn, (e, i) => { 9279 let t = bo(i); 9280 if (!t) return; 9281 let r = GE(t.userTokenId, e); 9282 return C({ userTokenId: t.userTokenId }, r); 9283 }), KN = (e) => k(ni, ut, (i, { singleBet: t, comboBet: r, systemBet: s }) => { 9284 if (!i.some(Ti.isPick)) return !1; 9285 switch (e.betslipType) { 9286 case V.Single: 9287 let n = e.pickId?.toString(); 9288 if (!n) return !1; 9289 let a = i.find((l) => l.id.toString() === n), o = t.picks[n]; 9290 return !a || !o ? !1 : a && o && Ti.isPick(a) && o.isEachWay && o.isSelected; 9291 case V.Combo: return r.isEachWay; 9292 case V.System: return s.isEachWay; 9293 default: return !1; 9294 } 9295 }), Zf = (e) => k(KN(e), jf, AN(e), WN(e), (i, t, r, s) => r && !t && !i && !s), qN = (e) => k(Zf(e), Kf(e), DN(e), (i, [t, r], s) => ({ 9296 isVisible: i, 9297 selectedToken: t,
9298 isTokenInvalid: !r || !!r.invalidHardCriteria || !!Object.values(r.softCriteriasValidity).some((n) => n === !1), 9299 hasAcquisitionOnboarding: s 9300 })), XN = k(ls, (e) => e.deselectedToken); 9301 })))(); 9302} 9303function TD(e, i) { 9304 return i.type === e.type; 9305} 9306var JN, nt, _o, QN; 9307function yd() { 9308 return (yd = Z((() => { 9309 de(), os(), JN = { type: "NOOP_ACTION" }, nt = () => dt(), _o = () => (e = {}) => e, QN = function(e) { 9310 let i; 9311 return e.pipe(Ot(1)).subscribe((t) => i = t), i; 9312 }; 9313 })))(); 9314} 9315var E, ZN; 9316function eT() { 9317 return (eT = Z((() => { 9318 os(), bd(), yd(), E = class {}, E.ACTION_SCHEMA = `${Eo.ACTION_SCHEMA}/reward-tokens`, E.SET_TOKENS = `${E.ACTION_SCHEMA}/SET_TOKENS`, E.SET_TOKEN = `${E.ACTION_SCHEMA}/SET_TOKEN`, E.ADD_TOKENS = `${E.ACTION_SCHEMA}/ADD_TOKENS`, E.REMOVE_TOKENS_BY_ID = `${E.ACTION_SCHEMA}/REMOVE_TOKENS_BY_ID`, E.REMOVE_SELECTED_TOKENS = `${E.ACTION_SCHEMA}/REMOVE_SELECTED_TOKENS`, E.REMOVE_TOKENS_OF_TYPE = `${E.ACTION_SCHEMA}/REMOVE_TOKENS_OF_TYPE`, E.SET_COMBO_BET_ELIGIBILITY = `${E.ACTION_SCHEMA}/SET_COMBO_BET_ELIGIBILITY`, E.CHECK_ACCA_BOOST_ELIGIBILITY = `${E.ACTION_SCHEMA}/CHECK_ACCA_BOOST_ELIGIBILITY`, E.CHECK_ACCA_INSURANCE_ELIGIBILITY = `${E.ACTION_SCHEMA}/CHECK_ACCA_INSURANCE_ELIGIBILITY`, E.SET_TEASER_BET_ELIGIBILITY = `${E.ACTION_SCHEMA}/SET_TEASER_BET_ELIGIBILITY`, E.SET_SINGLE_BET_ELIGIBILITIES = `${E.ACTION_SCHEMA}/SET_SINGLE_BET_ELIGIBILITIES`, E.SET_BET_BETBUILDER_ELIGIBILITIES = `${E.ACTION_SCHEMA}/SET_BET_BETBUILDER_ELIGIBILITIES`, E.NOTIFY_ELIGIBILITY_UPDATED = `${E.ACTION_SCHEMA}/NOTIFY_ELIGIBILITY_UPDATED`, E.SET_BOG_ELIGIBILITY = `${E.ACTION_SCHEMA}/SET_BOG_ELIGIBILITY`, E.CLEAR_BOG_TOKENS = `${E.ACTION_SCHEMA}/CLEAR_BOG_TOKENS`, E.CLEAR_EDS_TOKENS = `${E.ACTION_SCHEMA}/CLEAR_EDS_TOKENS`, E.CLEAR_ACCA_BOOST_TOKENS = `${E.ACTION_SCHEMA}/CLEAR_ACCA_BOOST_TOKENS`, E.SELECT_BOG_TOKEN = `${E.ACTION_SCHEMA}/SELECT_BOG_TOKEN`, E.SET_BETSTATION_FREEBET_ELIGIBILITY = `${E.ACTION_SCHEMA}/SET_BETSTATION_FREEBET_ELIGIBILITY`, E.SELECT_BETSTATION_FREEBET_TOKEN = `${E.ACTION_SCHEMA}/SELECT_BETSTATION_FREEBET_TOKEN`, E.CHECK_ELIGIBILITY = `${E.ACTION_SCHEMA}/CHECK_ELIGIBILITY`, E.SET_EDS_ELIGIBILITY = `${E.ACTION_SCHEMA}/SET_EDS_ELIGIBILITY`, E.SELECT_EDS_TOKENS = `${E.ACTION_SCHEMA}/SELECT_EDS_TOKENS`, E.SELECT_TOKEN = `${E.ACTION_SCHEMA}/SELECT_TOKEN`, E.TOGGLE_TOKEN = `${E.ACTION_SCHEMA}/TOGGLE_TOKEN`, E.SELECT_SINGLE_TOKEN = `${E.ACTION_SCHEMA}/SELECT_SINGLE_TOKEN`, E.DESELECT_TOKEN = `${E.ACTION_SCHEMA}/DESELECT_TOKEN`, E.SET_DESELECTED_TOKEN = `${E.ACTION_SCHEMA}/SET_DESELECTED_TOKEN`, E.DESELECT_ALL_TOKEN = `${E.ACTION_SCHEMA}/DESELECT_ALL_TOKEN`, E.DESELECT_ACCA_BOOST_TOKEN = `${E.ACTION_SCHEMA}/DESELECT_ACCA_BOOST_TOKEN`, E.DESELECT_EDS_TOKENS = `${E.ACTION_SCHEMA}/DESELECT_EDS_TOKENS`, E.OPEN_DIALOG = `${E.ACTION_SCHEMA}/OPEN_DIALOG`, E.CLOSE_DIALOG = `${E.ACTION_SCHEMA}/CLOSE_DIALOG`, E.CLEAR_STATE = `${E.ACTION_SCHEMA}/CLEAR_STATE`, E.SET_BETSTATION_FREEBET_TOKEN = `${E.ACTION_SCHEMA}/SET_BETSTATION_FREEBET_TOKEN`, E.REMOVE_BETSTATION_FREEBET_TOKEN = `${E.ACTION_SCHEMA}/REMOVE_BETSTATION_FREEBET_TOKEN`, E.SHOW_ONBOARDING = `${E.ACTION_SCHEMA}/SHOW_ONBOARDING`, E.HIDE_ONBOARDING = `${E.ACTION_SCHEMA}/HIDE_ONBOARDING`, E.HIDE_ACQUISITION_ONBOARDING = `${E.ACTION_SCHEMA}/HIDE_ACQUISITION_ONBOARDING`, E.SHOW_OVERLAY_INFO = `${E.ACTION_SCHEMA}/SHOW_OVERLAY_INFO`, E.OVERLAY_TAB_CLICKED = `${E.ACTION_SCHEMA}/OVERLAY_INFO_TAB_CLICKED`, E.HIDE_OVERLAY_INFO = `${E.ACTION_SCHEMA}/HIDE_OVERLAY_INFO`, E.BANNER_CLICK = `${E.ACTION_SCHEMA}/BANNER_CLICK`, E.REFRESH = `${E.ACTION_SCHEMA}/REFRESH`, E.REFRESH_POST_PLACEMENT = `${E.ACTION_SCHEMA}/REFRESH_POST_PLACEMENT`, E.BET_STATION_CLEAR_STORAGE = `${E.ACTION_SCHEMA}/BET_STATION_CLEAR_STORAGE`, E.DESELECT_NON_REUSABLE_TOKENS = `${E.ACTION_SCHEMA}/DESELECT_NON_REUSABLE_TOKENS`, E.DESELECT_TOKEN_FOR_CONTEXT = `${E.ACTION_SCHEMA}/DESELECT_TOKEN_FOR_CONTEXT`, E.DESELECT_TOKENS_FROM_TAB_SWITCH = `${E.ACTION_SCHEMA}/DESELECT_TOKENS_FROM_TAB_SWITCH`, E.STORE_RECOVERABLE_TOKENS = `${E.ACTION_SCHEMA}/STORE_RECOVERABLE_TOKENS`, E.RECOVER_TOKEN = `${E.ACTION_SCHEMA}/RECOVER_TOKEN`, E.REMOVE_RECOVERABLE_TOKEN_FOR_CONTEXT = `${E.ACTION_SCHEMA}/REMOVE_RECOVERABLE_TOKEN_FOR_CONTEXT`, E.CLEAR_RECOVERABLE_TOKENS = `${E.ACTION_SCHEMA}/CLEAR_RECOVERABLE_TOKENS`, E.CHECK_HAS_ACQUISITION_REWARD_TOKEN = `${E.ACTION_SCHEMA}/CHECK_HAS_ACQUISITION_REWARD_TOKEN`, E.AUTO_APPLY_ACQUISITION_REWARD_TOKEN = `${E.ACTION_SCHEMA}/AUTO_APPLY_ACQUISITION_REWARD_TOKEN`, E.TRIGGER_ACCABOOST_REFRESH = `${E.ACTION_SCHEMA}/TRIGGER_ACCABOOST_REFRESH`, E.TRIGGER_LOYALTY_REFRESH_AFTER_DELAY = `${E.ACTION_SCHEMA}/TRIGGER_LOYALTY_REFRESH_AFTER_DELAY`, E.setTokens = ae(E.SET_TOKENS, nt()), E.setToken = ae(E.SET_TOKEN, nt()), E.addTokens = ae(E.ADD_TOKENS, nt()), E.removeTokensById = ae(E.REMOVE_TOKENS_BY_ID, dt()), E.removeSelectedTokens = ae(E.REMOVE_SELECTED_TOKENS), E.removeTokensByType = ae(E.REMOVE_TOKENS_OF_TYPE, nt
9318()), E.notifyEligibilityUpdated = ae(E.NOTIFY_ELIGIBILITY_UPDATED), E.clearBogTokens = ae(E.CLEAR_BOG_TOKENS), E.clearEdsTokens = ae(E.CLEAR_EDS_TOKENS), E.clearAccaBoostTokens = ae(E.CLEAR_ACCA_BOOST_TOKENS), E.setBogEligibility = ae(E.SET_BOG_ELIGIBILITY, nt()), E.selectBogToken = ae(E.SELECT_BOG_TOKEN, nt()), E.setBetstationFreeBetToken = ae(E.SET_BETSTATION_FREEBET_TOKEN, nt()), E.removeBetstationFreeBetToken = ae(E.REMOVE_BETSTATION_FREEBET_TOKEN), E.setBetStationFreeBetEligibility = ae(E.SET_BETSTATION_FREEBET_ELIGIBILITY, nt()), E.deselectAccaBoostToken = ae(E.DESELECT_ACCA_BOOST_TOKEN), E.deselectEdsTokens = ae(E.DESELECT_EDS_TOKENS), E.selectBetStationFreeBetToken = ae(E.SELECT_BETSTATION_FREEBET_TOKEN, nt()), E.selectEdsTokens = ae(E.SELECT_EDS_TOKENS, nt()), E.setEdsEligibility = ae(E.SET_EDS_ELIGIBILITY, nt()), E.checkEligibility = ae(E.CHECK_ELIGIBILITY), E.setComboBetEligibility = ae(E.SET_COMBO_BET_ELIGIBILITY, nt()), E.checkAccaBoostEligibility = ae(E.CHECK_ACCA_BOOST_ELIGIBILITY), E.checkAccaInsuranceEligibility = ae(E.CHECK_ACCA_INSURANCE_ELIGIBILITY), E.setTeaserBetEligibility = ae(E.SET_TEASER_BET_ELIGIBILITY, nt()), E.setSingleBetEligibilies = ae(E.SET_SINGLE_BET_ELIGIBILITIES, nt()), E.setBetBuilderEligibilities = ae(E.SET_BET_BETBUILDER_ELIGIBILITIES, nt()), E.storeRecoverableTokens = ae(E.STORE_RECOVERABLE_TOKENS, nt()), E.selectToken = ae(E.SELECT_TOKEN, nt()), E.toggleToken = ae(E.TOGGLE_TOKEN, nt()), E.selectSingleToken = ae(E.SELECT_SINGLE_TOKEN, nt()), E.deselectToken = ae(E.DESELECT_TOKEN, nt()), E.setDeselectedToken = ae(E.SET_DESELECTED_TOKEN, nt()), E.deselectTokenForContext = ae(E.DESELECT_TOKEN_FOR_CONTEXT, nt()), E.deselectAllToken = ae(E.DESELECT_ALL_TOKEN, _o()), E.deselectTokensFromTabSwitch = ae(E.DESELECT_TOKENS_FROM_TAB_SWITCH, nt()), E.openDialog = ae(E.OPEN_DIALOG, dt()), E.closeDialog = ae(E.CLOSE_DIALOG, _o()), E.clearState = ae(E.CLEAR_STATE), E.showOnboarding = ae(E.SHOW_ONBOARDING), E.hideOnboarding = ae(E.HIDE_ONBOARDING), E.hideAcquisitionOnboarding = ae(E.HIDE_ACQUISITION_ONBOARDING), E.showOverlayInfo = ae(E.SHOW_OVERLAY_INFO, dt()), E.overlayTabClicked = ae(E.OVERLAY_TAB_CLICKED, nt()), E.hideOverlayInfo = ae(E.HIDE_OVERLAY_INFO, _o()), E.bannerClick = ae(E.BANNER_CLICK, dt()), E.refresh = ae(E.REFRESH), E.refreshPostPlacement = ae(E.REFRESH_POST_PLACEMENT), E.betStationClearStorage = ae(E.BET_STATION_CLEAR_STORAGE), E.deselectNonReusableTokens = ae(E.DESELECT_NON_REUSABLE_TOKENS), E.recoverToken = ae(E.RECOVER_TOKEN, dt()), E.removeRecoverableTokenForContext = ae(E.REMOVE_RECOVERABLE_TOKEN_FOR_CONTEXT, dt()), E.clearRecoverableTokens = ae(E.CLEAR_RECOVERABLE_TOKENS), E.checkHasAcquisitionRewardToken = ae(E.CHECK_HAS_ACQUISITION_REWARD_TOKEN), E.autoApplyAcquisitionRewardToken = ae(E.AUTO_APPLY_ACQUISITION_REWARD_TOKEN), E.triggerAccaBoostRefresh = ae(E.TRIGGER_ACCABOOST_REFRESH), E.triggerLoyaltyRefreshAfterDelay = ae(E.TRIGGER_LOYALTY_REFRESH_AFTER_DELAY), ZN = E; 9319 })))(); 9320} 9321var ue, tT; 9322function iT() { 9323 return (iT = Z((() => { 9324 fo(), os(), yd(), ue = class {}, ue.ACTION_SCHEMA = "PICKS", ue.ADD_GROUP_PICK = `${ue.ACTION_SCHEMA}/ADD_GROUP_PICK`, ue.ADD_MULTIPLE_PICKS = `${ue.ACTION_SCHEMA}/ADD_MULTIPLE_PICKS`, ue.ADD_BET_BUILDER_PICK = `${ue.ACTION_SCHEMA}/ADD_BET_BUILDER_PICK`, ue.ADD_ENTAIN_UI_BET_BUILDER_PICK = `${ue.ACTION_SCHEMA}/ADD_ENTAIN_UI_BET_BUILDER_PICK`, ue.REMOVE_ENTAIN_UI_BET_BUILDER_PICK = `${ue.ACTION_SCHEMA}/REMOVE_ENTAIN_UI_BET_BUILDER_PICK`, ue.CHECK_PRECREATED_BAB_CONVERSION = `${ue.ACTION_SCHEMA}/CHECK_PRECREATED_BAB_CONVERSION`, ue.REMOVE_MULTIPLE_PICKS = `${ue.ACTION_SCHEMA}/REMOVE_MULTIPLE_PICKS`, ue.REMOVE_PICKS_FROM_GROUP = `${ue.ACTION_SCHEMA}/REMOVE_PICKS_FROM_GROUP`, ue.REQUEST_ADD_AFFILIATE_PICKS = `${ue.ACTION_SCHEMA}/REQUEST_ADD_AFFILIATE_PICKS`, ue.SHARE_AFFILIATE_PICKS = `${ue.ACTION_SCHEMA}/SHARE_AFFILIATE_PICKS`, ue.START_EDIT_MY_BET = `${ue.ACTION_SCHEMA}/START_EDIT_MY_BET`, ue.ADD_WEB_APP_PICK = `${ue.ACTION_SCHEMA}/ADD_WEB_APP_PICK`, ue.REMOVE_WEB_APP_PICK = `${ue.ACTION_SCHEMA}/REMOVE_WEB_APP_PICK`, ue.SET_REWARD_TOKEN = `${ue.ACTION_SCHEMA}/SET_REWARD_TOKEN`, ue.TOGGLE_WIN_PICK = `${ue.ACTION_SCHEMA}/TOGGLE_WIN_PICK`, ue.REBET_CLOSE_RESULT = `${ue.ACTION_SCHEMA}/REBET_CLOSE_RESULT`, ue.addGroupPick = ae(ue.ADD_GROUP_PICK, (e, i) => ({ 9325 picks: e.picks, 9326 headerTemplate: e.headerTemplate, 9327 source: i ?? mn.Local 9328 })), ue.addMultiplePicks = ae(ue.ADD_MULTIPLE_PICKS, dt()), ue.addBetBuilderPick = ae(ue.ADD_BET_BUILDER_PICK, (e, i) => ({ 9329 pickId: e.pickId, 9330 tracking: e.tracking, 9331 eventData: e.eventData, 9332 additionalInfo: e.additionalInfo, 9333 source: i ?? mn.Local, 9334 clientData: e.clientData 9335 })), ue.addEntainUiBetBuilderPick = ae(ue.ADD_ENTAIN_UI_BET_BUILDER_PICK, dt()), ue.removeEntainUiBetBuilderPick = ae(ue.REMOVE_
9335ENTAIN_UI_BET_BUILDER_PICK, dt()), ue.rebetCloseResult = ae(ue.REBET_CLOSE_RESULT), ue.checkPrecreatedBABConversion = ae(ue.CHECK_PRECREATED_BAB_CONVERSION, dt()), ue.removeMultiplePicks = ae(ue.REMOVE_MULTIPLE_PICKS, dt()), ue.removePicksFromGroup = ae(ue.REMOVE_PICKS_FROM_GROUP, (e, i) => ({ 9336 pickIds: e.pickIds, 9337 source: i ?? mn.Local 9338 })), ue.requestAddAffiliatePicks = ae(ue.REQUEST_ADD_AFFILIATE_PICKS, dt()), ue.shareBet = ae(ue.SHARE_AFFILIATE_PICKS), ue.startEditMyBet = ae(ue.START_EDIT_MY_BET, dt()), ue.addWebAppPick = ae(ue.ADD_WEB_APP_PICK, dt()), ue.removeWebAppPick = ae(ue.REMOVE_WEB_APP_PICK, dt()), ue.setBetstationFreeBetToken = ae(ue.SET_REWARD_TOKEN, nt()), ue.toggleWinPick = ae(ue.TOGGLE_WIN_PICK, dt()), tT = ue; 9339 })))(); 9340} 9341var Mo; 9342function wd() { 9343 return (wd = Z((() => { 9344 Mo = (function(e) { 9345 return e.Edit = "Edit", e.Placing = "Placing", e.Result = "Result", e; 9346 })(Mo || {}); 9347 })))(); 9348} 9349var eg, rT, tg; 9350function ig() { 9351 return (ig = Z((() => { 9352 jl(), wd(), eg = { 9353 [V.Single]: !1, 9354 [V.Combo]: !1, 9355 [V.System]: !1, 9356 [V.BetBuilder]: !1, 9357 [V.Teaser]: !1 9358 }, rT = { 9359 state: Mo.Edit, 9360 isBetslipKeypadOpened: !1, 9361 linearModeCheckboxesEnabled: !0, 9362 isSportcastAsComboEnabled: !1, 9363 linearUserExpandedSections: eg 9364 }, tg = "betslip"; 9365 })))(); 9366} 9367var En, rg, sT, nT, aT, oT; 9368function lT() { 9369 return (lT = Z((() => { 9370 os(), wd(), ig(), En = _s(tg), rg = k(En, (e) => e.base), sT = k(En, (e) => e.base.state), nT = k(En, (e) => e.base.linearModeCheckboxesEnabled), aT = k(En, (e) => e.base.linearUserExpandedSections), k(En, (e) => e.base.state === Mo.Placing), oT = k(rg, (e) => e.state); 9371 })))(); 9372} 9373var cT; 9374function dT() { 9375 return (dT = Z((() => { 9376 de(), cT = (() => { 9377 class e { 9378 _componentRegistered = new Gt(void 0); 9379 slotRegistered$ = this._componentRegistered.asObservable(); 9380 setSlot(t) { 9381 this._componentRegistered.next(t); 9382 } 9383 clearSlot() { 9384 this._componentRegistered.next(void 0); 9385 } 9386 get registeredComponent() { 9387 return this._componentRegistered.getValue(); 9388 } 9389 static ɵfac = function(t) { 9390 return new (t || e)(); 9391 }; 9392 static ɵprov = R({ 9393 token: e, 9394 factory: e.ɵfac, 9395 providedIn: "root" 9396 }); 9397 } 9398 return e; 9399 })(); 9400 })))(); 9401} 9402var sg; 9403function ng() { 9404 return (ng = Z((() => { 9405 de(), Wn(), wt(), Ut(), sg = (() => { 9406 let e = class { 9407 get currentActivationEnd() { 9408 return this.currentRouteActivationEnd.asObservable(); 9409 } 9410 get currentActivationStart() { 9411 return this.currentRouteActivationStart.asObservable(); 9412 } 9413 get currentRoutesRecognized() { 9414 return this.currentRouteRoutesRecognized.asObservable(); 9415 } 9416 get isDirectLink() { 9417 return this.recognizedRoutes.length === 1; 9418 } 9419 get urlHistory() { 9420 return [...this.recognizedRoutes]; 9421 } 9422 constructor() { 9423 this.router = f(Ol), this.currentRouteActivationEnd = new Gt(void 0), this.currentRouteActivationStart = new Gt(void 0), this.currentRouteRoutesRecognized = new Gt(void 0), this.recognizedRoutes = [], this.initCurrentRouteActivationEnd(), this.initCurrentRouteActivationStart(), this.initCurrentRouteRoutesRecognized(); 9424 } 9425 initCurrentRouteActivationEnd() { 9426 this.router.events.pipe(We((t) => t instanceof jA), _b(this.router.events.pipe(We((t) => t instanceof KA))), xe((t) => t[0]), tr(), he()).subscribe(this.currentRouteActivationEnd); 9427 } 9428 initCurrentRouteActivationStart() { 9429 this.router.events.pipe(We((t) => t instanceof qA), _b(this.router.events.pipe(We((t) => t instanceof YA))), xe((t) => this.getLastActivationEvent(t)), tr(), he()).subscribe(this.currentRouteActivationStart); 9430 } 9431 initCurrentRouteRoutesRecognized() { 9432 this.router.events.pipe(We((t) => t instanceof XA), tr(), he()).subscribe((t) => { 9433 this.recognizedRoutes.push(t.url), this.currentRouteRoutesRecognized.next(t); 9434 }); 9435 } 9436 getLastActivationEvent(t) { 9437 if (t.length <= 1) return t[0]; 9438 let r = t.filter((s) => !this.isInitialOverlayNavigation(s.snapshot)); 9439 return r.length > 0 ? r[r.length - 1] : t[t.length - 1]; 9440 } 9441 isInitialOverlayNavigation(t) { 9442 return (t.outlet === "overlay" || t.outlet === "prerender") && t.url.length === 0; 9443 } 9444 }; 9445 return e.ɵfac = function(i) { 9446 return new (i || e)(); 9447 }, e.ɵprov = R({ 9448 token: e, 9449 factory: e.ɵfac, 9450 providedIn: "root" 9451 }), e; 9452 })(); 9453 })))(); 9454} 9455var Ed; 9456function ag() { 9457 return (ag = Z((() => { 9458 Ed = (function(e) { 9459 return e.AntepostFixture = "AntepostFixture", e.Competition = "Competition", e.CouponDetail
9459s = "CouponDetails", e.Coupons = "Coupons", e.EventDetails = "EventDetails", e.Featured = "Featured", e.HorseRaceDetails = "HorseRaceDetails", e.GreyhoundRaceDetails = "GreyhoundRaceDetails", e.Horses = "Horses", e.RacingFuture = "RacingFuture", e.RacingToday = "RacingToday", e.RacingTomorrow = "RacingTomorrow", e.RacingDayAfterTomorrow = "RacingDayAfterTomorrow", e.RacingAntepostSpecials = "RacingAntepostSpecials", e.RacingTodayResults = "RacingTodayResults", e.RacingRaces = "RacingRaces", e.Live = "Live", e.LiveCasino = "LiveCasino", e.LiveAll = "LiveAll", e.LiveEsports = "LiveEsports", e.LiveHighlights = "LiveHighlights", e.LiveRegion = "LiveRegion", e.LiveSport = "LiveSport", e.LiveVideo = "LiveVideo", e.LiveLeague = "LiveLeague", e.LiveConference = "LiveConference", e.Lobby = "Lobby", e.MultiBuilder = "MultiBuilder", e.MyBets = "MyBets", e.Settings = "Settings", e.SportList = "SportList", e.SportLobby = "SportLobby", e.VirtualFixture = "VirtualFixture", e.MyTeams = "MyTeams", e.TeamPages = "TeamPages", e.HorsesBetFilterResults = "HorsesBetFilterResults", e.EarlyPayoutSettings = "EarlyPayoutSettings", e.GeneralBetslipSettings = "GeneralBetslipSettings", e.WorldCupHub = "WorldCupHub", e.EsportsLobby = "EsportsLobby", e.TopScreenLobby = "TopScreenLobby", e.MultiSportsLobby = "MultiSportsLobby", e.BetBuilderPlusLobby = "BetBuilderPlusLobby", e.Lotto = "Lotto", e.VirtualSportsLobby = "VirtualSportsLobby", e; 9460 })(Ed || {}); 9461 })))(); 9462} 9463function kD(e, i, t) { 9464 return e && i && t && typeof t == "object" && typeof i == "object" ? Array.isArray(i) && Array.isArray(t) ? [...i, ...t] : C(C({}, i), t) : t; 9465} 9466var Cd; 9467function Nd() { 9468 return (Nd = Z((() => { 9469 Re(), de(), Vy(), Cd = (() => { 9470 let e = class { 9471 constructor() { 9472 this.productService = f(Hy); 9473 } 9474 fromSportsLeave() { 9475 return this.productService.isSportsProductActive$.pipe(Wb(1), tr(), We((t) => !t)); 9476 } 9477 fromSportsEnter() { 9478 return this.productService.isSportsProductActive$.pipe(Wb(1), tr(), We((t) => t)); 9479 } 9480 filterSports() { 9481 return (t) => t.pipe(zu(this.productService.isSportsProductActive$), We(([r, s]) => s), xe(([r]) => r)); 9482 } 9483 filterSportsEmitLast(t = !1) { 9484 let r = null; 9485 return (s) => new Ln((n) => { 9486 let a = this.productService.isSportsProductActive$.pipe(We((l) => l)).subscribe(() => { 9487 r && (n.next(r), r = null); 9488 }), o = s.pipe(zu(this.productService.isSportsProductActive$), Vr(([l, c]) => { 9489 if (c) { 9490 r = null; 9491 return; 9492 } 9493 r = kD(t, r, l); 9494 }), We(([l, c]) => c), xe(([l]) => l)).subscribe({ 9495 next: (l) => { 9496 n.next(l); 9497 }, 9498 error: (l) => { 9499 n.error(l); 9500 }, 9501 complete: () => { 9502 n.complete(); 9503 } 9504 }); 9505 return () => { 9506 a.unsubscribe(), o.unsubscribe(); 9507 }; 9508 }); 9509 } 9510 }; 9511 return e.ɵfac = function(i) { 9512 return new (i || e)(); 9513 }, e.ɵprov = R({ 9514 token: e, 9515 factory: e.ɵfac, 9516 providedIn: "root" 9517 }), e; 9518 })(); 9519 })))(); 9520} 9521function xD(e, i) { 9522 return e.filter((t) => t.order !== void 0).sort((t, r) => t.order - r.order).slice(0, i ?? e.length); 9523} 9524function ID(e, i) { 9525 if (!e?.counts) return 0; 9526 if (i) return e.counts.preMatch + e.counts.live; 9527 let t = e.counts.preMatch + e.counts.live, r = e.counts.gridable + e.counts.nonGridable + e.counts.other; 9528 return (Math.min(t, r) ?? 0) + e.counts.specials + e.counts.outrights; 9529} 9530function uT(e, i) { 9531 return !!e && e.type === i; 9532} 9533function OD(e) { 9534 return e === ee.Tennis ? Mt.Tournament : Mt.Region; 9535} 9536function PD(e, i) { 9537 let t = Array.isArray(e) ? e : [e]; 9538 for (; t.length > 0 && t.every((r) => r.type !== i);) t = t.flatMap((r) => r.children); 9539 return t.filter((r) => r.type === i); 9540} 9541function $D(e) { 9542 return e.type === Mt.VirtualCompetitionGroup; 9543} 9544function AD(e, i) { 9545 return !uT(e, Mt.Competition) || i === void 0 ? !1 : e.id === i ? !0 : e.realCompetitionId === i || (e.siblings?.includes(i) ?? !1); 9546} 9547function _D(e) { 9548 return e.type === Mt.Competition && !e.isVirtual; 9549} 9550function MD(e) { 9551 return e.type === Mt.Competition && e.isVirtual; 9552} 9553function RD(e) { 9554 return e.counts.antepost !== 0 && e.counts.antepost === e.counts.live + e.counts.preMatch; 9555} 9556function LD(e) { 9557 let i = [["Sport", "VirtualSport"]]; 9558 return e === ee.Tennis ? i.push(["Tournament"]) : i.push(["Region"]), i.push(["Competition", "VirtualCompetition"], ["Conference", "VirtualCompetitionGroup"]), i; 9559} 9560function pT(e, i, t, r) { 9561 let s = e[e.findIndex((n) => n.includes(i.type.toString())) + 1]; 9562 s && (i.children = s.flatMap((n) => { 9563 if (!n || !r[n]) return []; 9564 let a; 9565 if (i.type === Mt.Region || i.type === Mt.Tournament) a = r[n][`${i.id}:${t.tag.parentId}`] ?? []; 9566 else { 9567 let o = mT(t.tag) ? t.tag.virtualCompetitionId ?? t.tag.compoundId : i.id; 9568 a = r[n][o] ?? []; 9569 } 9570 return a.map((o) => { 9571 let l = og(o); 9572 return pT(e, l, o, r), l; 9573 }); 9574 })); 9575} 9576function og(e) { 9577 let i = (/* @__PURE__ */ new Map([ 9578 ["Sport", Mt.Sport], 9579 ["Region", Mt.Region], 9580 ["Tournament", Mt.Tournament], 9581 ["Competition", Mt.Competition], 9582 ["VirtualSport", Mt.Sport], 9583 ["VirtualCompetition", Mt.Competition], 9584 ["VirtualCompetitionGroup", Mt.VirtualCompetitionGroup], 9585 ["Conference", Mt.Conference] 9586 ])).get(e.tag.type); 9587 if (!i) throw new Error(`Unhandled tag type ${e.tag.type}`); 9588 let t = { 9589 id: e.tag.id, 9590 name: e.tag.name.value, 9591 type: i, 9592 counts: UD(e), 9593 meta: HD(e), 9594 order: e.rank, 9595 children: [] 9596 }; 9597 switch (e.tag.type) { 9598 case "Sport": return BD(e.tag, t);
9599 case "Region": return DD(e.tag, t); 9600 case "Competition": return FD(e.tag, t); 9601 case "VirtualSport": return zD(e.tag, t); 9602 case "VirtualCompetition": return GD(e.tag, t); 9603 case "VirtualCompetitionGroup": return VD(e.tag, t); 9604 default: return t; 9605 } 9606} 9607function BD(e, i) { 9608 return J(C({}, i), { isEsport: e.isEsport }); 9609} 9610function DD(e, i) { 9611 return J(C({}, i), { code: e.code }); 9612} 9613function FD(e, i) { 9614 let t = e.parentLeagueId ?? e.id, r = []; 9615 return e.parentLeagueId && r.push(e.parentLeagueId), e.parentLeagueId !== e.id && r.push(e.id), e.virtualCompetitionId ? J(C({}, i), { 9616 id: e.virtualCompetitionId, 9617 prefix: "0:", 9618 siblings: r, 9619 standings: !!e.statistics, 9620 isVirtual: !0, 9621 parentId: e.parentId, 9622 displayMode: lg.get(e.displayMode), 9623 realCompetitionId: t, 9624 imageProfile: e.imageProfile 9625 }) : J(C({}, i), { 9626 id: t, 9627 siblings: r, 9628 standings: !!e.statistics, 9629 isVirtual: !1, 9630 parentId: e.parentId, 9631 compoundId: e.compoundId, 9632 imageProfile: e.imageProfile 9633 }); 9634} 9635function zD(e, i) { 9636 return J(C({}, i), { isVirtual: !0 }); 9637} 9638function GD(e, i) { 9639 return J(C({}, i), { 9640 id: e.id, 9641 prefix: "0:", 9642 siblings: e.competitionIds, 9643 standings: !!e.statistics, 9644 icon: "theme-competitions", 9645 isVirtual: !0, 9646 parentId: e.parentId, 9647 imageType: jD(e.imageType), 9648 displayMode: lg.get(e.displayMode) 9649 }); 9650} 9651function VD(e, i) { 9652 return J(C({}, i), { 9653 id: e.id, 9654 siblings: e.competitionIds, 9655 standings: !!e.statistics, 9656 isVirtual: !0, 9657 participants: WD(e.participants), 9658 groupOrder: e.order, 9659 groupIds: e.groupIds, 9660 stageIds: e.stageIds, 9661 parentId: e.parentId 9662 }); 9663} 9664function HD(e) { 9665 let i = e.extended ?? {}; 9666 return { 9667 calendar: e.preMatch > 0, 9668 coupons: i.coupons, 9669 betBuilder: i.betBuilder 9670 }; 9671} 9672function UD(e) { 9673 let i = e.extended ?? {}; 9674 return { 9675 live: e.live ?? 0, 9676 preMatch: e.preMatch ?? 0, 9677 gridable: i.gridable ?? 0, 9678 nonGridable: i.nonGridable ?? 0, 9679 outrights: i.outrights ?? 0, 9680 outrightsByGroups: i.outrightsByGroup ?? {}, 9681 specials: i.specials ?? 0, 9682 specialsByGroups: i.specialsByGroup ?? {}, 9683 other: i.other ?? 0, 9684 antepost: e.antepost ?? 0, 9685 liveStreaming: e.liveStreaming ?? 0, 9686 priceBoost: i.priceBoost ?? 0, 9687 dynamicCategories: e.dynamicCategories ?? {} 9688 }; 9689} 9690function WD(e) { 9691 return e ? e.map((i) => ({ 9692 code: i.code, 9693 participantId: i.participantId 9694 })) : []; 9695} 9696function jD(e) { 9697 return e === "Flags" ? Lo.Flags : Lo.Default; 9698} 9699function hT(e) { 9700 return e.forEach((i) => { 9701 i.children && i.children.length > 0 && (i.children = hT(i.children)); 9702 }), TA(e, [ 9703 "groupOrder", 9704 "order", 9705 "name" 9706 ]); 9707} 9708function YD(e) { 9709 return e.type === "VirtualCompetition"; 9710} 9711function mT(e) { 9712 return e.type === "Competition"; 9713} 9714function KD(e) { 9715 return e.type === "Conference"; 9716} 9717var Mt, Ro, Lo, lg, fT, cg; 9718function dg() { 9719 return (dg = Z((() => { 9720 Re(), Ke(), Wa(), Mt = (function(e) { 9721 return e.Sport = "Sport", e.Region = "Region", e.Tournament = "Tournament", e.Competition = "Competition", e.VirtualCompetitionGroup = "VirtualCompetitionGroup", e.Conference = "Conference", e.Meeting = "Meeting", e; 9722 })(Mt || {}), Ro = (function(e) { 9723 return e.Pills = "Pills", e.Cards = "Cards", e; 9724 })(Ro || {}), Lo = (function(e) { 9725 return e.Default = "Default", e.Flags = "Flags", e; 9726 })(Lo || {}), lg = /* @__PURE__ */ new Map([["Pills", Ro.Pills], ["Cards", Ro.Cards]]), fT = (e) => { 9727 let i = [], t = ry(e ?? [], (n) => n.tag.type), r = {}, s = []; 9728 for (let n of ["Sport", "VirtualSport"]) t[n] && s.push(...t[n]); 9729 if (!t || s.length === 0) return i; 9730 for (let [n, a] of Object.entries(t)) r[n] = ry(a, (o) => { 9731 if (mT(o.tag)) { 9732 let l = o.tag, c = l.sportId; 9733 return `${c === ee.Tennis ? l.parentTournamentId ?? o.tag.parentId : o.tag.parentId}:${c}`; 9734 } else if (YD(o.tag)) { 9735 let l = o.tag; 9736 return `${l.tournamentId ?? l.parentId ?? o.tag.parentId}:${l.sportId}`; 9737 } else if (KD(o.tag)) return `${o.tag.competitionId}`; 9738 return `${o.tag.parentId}`; 9739 }); 9740 return s.forEach((n) => { 9741 let a = og(n); 9742 pT(LD(a.id), a, n, r), i.push(a); 9743 }), hT(i); 9744 }, cg = { fromTag: fT }; 9745 })))(); 9746} 9747var ug; 9748function pg() { 9749 return (pg = Z((() => { 9750 de(), sr(), ug = class { 9751 constructor(e) { 9752 if (this.cacheInternal = /* @__PURE__ */ new Map(), this.isServer = Ku(f(Ma)), !e) throw new Error("Cache time should be defined"); 9753 this.time = this.isServer ? 1e3 : e * 1e3; 9754 } 9755 getOrCreate(e, i) { 9756 return this.validateCache(), this.cacheInternal.has(e) ? this.getInternal(e) : this.create(e, i); 9757 } 9758 get(e) { 9759 return this.validateCache(), this.cacheInternal.has(e) ? this.getInternal(e) : je(void 0); 9760 } 9761 create(e, i) { 9762 let t = i.pipe(ei((r) => (this.cacheInternal.delete(e), gA(r))), Kb({ 9763 connector: () => new ws(1), 9764 resetOnComplete: () => Gb(this.time), 9765 resetOnRefCountZero: () => Gb(this.time) 9766 })); 9767 return this.cacheInternal.set(e, { 9768 source: t, 9769 expiration: this.time + Date.now() 9770 }), this.getInternal(e); 9771 } 9772 has(e) { 9773 return this.validateCache(), this.cacheInternal.has(e); 9774 } 9775 remove(e) { 9776 return this.cacheInternal.delete(e); 9777 } 9778 clear() { 9779 this.cacheInternal.clear(); 9780 } 9781 validateCache() { 9782 this.cacheInternal.forEach((e, i) => { 9783 e.expiration < Date.now() && this.cacheInternal.delete(i); 9784 }); 9785 } 9786 getInternal(e) { 9787 return this.cacheInternal.get(e).source; 9788 } 9789 }; 9790 })))(); 9791} 9792function qD(e, i, t) { 9793 return wr(e.whenReady.pipe(xe(() => i(e)), ei(() => je(t)), Ot(1)), { initialValue: t }); 9794} 9795function gT(e, i, t) { 9796 return Vi(e.whenReady, e.whenRefreshed).pipe(xe(() => i(e)), ei(() => je(t))); 9797} 9798function XD(e, i, t) { 9799 return e.whenReady.pipe(xe(() => i(e)), ei(() => je(t)), Ot(1), eA(t)); 9800} 9801function hg() { 9802 return (hg = Z((() => { 9803 de(), wt(); 9804 })))(); 9805} 9806var mg; 9807function fg() { 9808 return (fg = Z((() => { 9809 de(), wt(), yi(), mg = (() => { 9810 let e = class { 9811 constructor() { 9812 this.vUser = f(ri), this.accountCategoryKey = "http://api.bwin.com/v3/user/accountcategoryId", this.pgAccountIdKey = "http://api.bwin.com/v3/user/pg/nameidentifier", this.onUserLogin$ = this.vUser.events.pipe(We((t) => t instanceof ip)), this.onUserLogInWithSettings$ = this.vUser.events.pipe(We((t) => t instanceof Va)), this.onUserLogout$ = this.vUser.events.pipe(We((t) => t instanceof Ha)), this.onAuthenticationChange$ = this.vUser.events.pipe(We((t) => t instanceof Va || t instanceof Ha || t instanceof c_ || t instanceof a_ || t instanceof l_)), this.authenticated$ = this.onAuthenticationChange$.pipe(xe(() => this.isAuthenticated), Hu(this.isAuthenticated)), this.authenticated = wr(this.authenticated$, { initialValue: this.isAuthenticated }); 9813 } 9814 get events() { 9815 return this.vUser.events; 9816 } 9817 get isAuthenticated() { 9818 return this.vUser.isAuthenticated; 9819 } 9820 get currency() { 9821 return this.vUser.currency; 9822 } 9823 get ssoToken() { 9824 return this.vUser.ssoToken; 9825 } 9826 get geoCountry() { 9827 return this.vUser.geoCountry || ""; 9828 } 9829 get country() { 9830 return this.vUser.country || ""; 9831 } 9832 get username() { 9833 return this.vUser.username; 9834 } 9835 get workflowType() { 9836 return this.vUser.workflowType; 9837 } 9838 get id() { 9839 return this.vUser.id; 9840 } 9841 get accountId() { 9842 return this.vUser.accountId; 9843 } 9844 get displayName() { 9845 return this.vUser.displayName; 9846 } 9847 get isAnonymous() { 9848 let t = this.vUser.claims.get("accbusinessphase"); 9849 return !t || t === "anonymous"; 9850 } 9851 accountCategoryId() { 9852 return this.vUser.claims.get(this.accountCategoryKey); 9853 } 9854 getStateOrProvince() { 9855 return this.vUser.claims.get("stateorprovince"); 9856 } 9857 getIsStakeLimitSet() { 9858 return this.vUser.claims.get("isSportsLimitSet")?.toLowerCase() === "true"; 9859 } 9860 getUserMobileNumber() { 9861 return this.vUser.claims.get("mobilephone"); 9862 } 9863 getPGAccountId() { 9864 return this.vUser.claims.get(this.pgAccountIdKey); 9865 } 9866 }; 9867 return e.ɵfac = function(i) { 9868 return new (i || e)(); 9869 }, e.ɵprov = R({ 9870 token: e, 9871 factory: e.ɵfac, 9872 providedIn: "root" 9873 }), e; 9874 })(); 9875 })))(); 9876} 9877var gg; 9878function vg() { 9879 return (vg = Z((() => { 9880 Re(), de(), wt(), ks(), hg(), fg(), Kn(), gg = (() => { 9881 let e = class { 9882 constructor() { 9883 this.mocksConfig = f(rM), this.m2User = f(mg), this.connectionConfig = f(jy), this.geolocationService = f(u_), this.newCustomerBettingOfferConfig = f(J_), this.mediaConfig = f(iM), this.geolocationConfig = f(Q_), this.sportsUserConfig = f(X_), this.destroyRef = f(ze), this.isEligibleForNewCustomerOffer = !1, gT(this.sportsUserConfig, (t) => t.isEligibleForNewCustomerOffer, !1).pipe(he(this.destroyRef)).subscribe((t) => { 9884 this.isEligibleForNewCustomerOffer = t; 9885 }); 9886 } 9887 getSettings() { 9888 let t = { 9889 accessId: this.connectionConfig.publicAccessId || this.connectionConfig.pushAccessId, 9890 lang: this.connectionConfig.culture, 9891 country: this.getCountry(), 9892 userCountry: this.m2User.country, 9893 restrictedCompetitionId: this.getRestrictedCompetitionId(), 9894 shopTier: this.connectionConfig.shopTier 9895 }; 9896 if (this.mediaConfig.subdivisionRestrictedCountries.includes(this.m2User.country)) { 9897 let r = this.m2User.getStateOrProvince(); 9898 r && (t.subdivision = `${this.m2User.country}-${r}`); 9899 } 9900 return this.connectionConfig.marketGroupingVariant && (t.marketGroupingVariant = this.connectionConfig.marketGroupingVariant), t; 9901 } 9902 getSettingsWithGeolocation() { 9903 return this.geolocationConfig.isGeolocationEnabled ? this.geolocationService.whenReady.pipe(Ot(1), xe(() => { 9904 let t = this.geolocationService.currentPosition?.mappedLocation?.locationId || ""; 9905 return J(C({}
9905, this.getSettings()), { userLocation: t }); 9906 })) : je(this.getSettings()); 9907 } 9908 getCountry() { 9909 return this.mocksConfig.isMockLiveStreamGeoCountryEnabled && this.mocksConfig.liveStreamGeoCountry ? this.mocksConfig.liveStreamGeoCountry : this.m2User.geoCountry?.toUpperCase() || this.m2User.country?.toString(); 9910 } 9911 getRestrictedCompetitionId() { 9912 return this.isEligibleForNewCustomerOffer ? this.newCustomerBettingOfferConfig.competitionId : void 0; 9913 } 9914 }; 9915 return e.ɵfac = function(i) { 9916 return new (i || e)(); 9917 }, e.ɵprov = R({ 9918 token: e, 9919 factory: e.ɵfac, 9920 providedIn: "root" 9921 }), e; 9922 })(); 9923 })))(); 9924} 9925function vT(e, i) { 9926 return e.createForProduct(ST, { 9927 product: it.SPORTS, 9928 area: "sports", 9929 forwardProductApiRequestHeader: i 9930 }); 9931} 9932var ST, bT, yT, Sg, bg, wT; 9933function yg() { 9934 return (yg = Z((() => { 9935 Re(), de(), Ke(), Zu(), Ns(), ST = class extends oy {}, bT = new Te("sports-api", { 9936 providedIn: "root", 9937 factory: () => { 9938 let e = f(tp), i = f(ep).getMetadata(it.SPORTS).isEnabled; 9939 return vT(e, i); 9940 } 9941 }), yT = new Te("sports-api-ext", { 9942 providedIn: "root", 9943 factory: () => vT(f(tp), !1) 9944 }), Sg = class { 9945 get(e, i, t) { 9946 let r = t ?? { 9947 showSpinner: !1, 9948 withCredentials: !0 9949 }; 9950 return r.withCredentials = r.withCredentials !== !1, this.api.get(e, i || {}, { 9951 showSpinner: r.showSpinner, 9952 withCredentials: r.withCredentials, 9953 retryCount: r.retryCount, 9954 retryDelay: r.retryDelay, 9955 retryOnStatus: r.retryOnStatus, 9956 headers: r.headers, 9957 responseType: r.responseType, 9958 resolveWithFullResponse: r.resolveWithFullResponse, 9959 transferCache: r.transferCache 9960 }); 9961 } 9962 post(e, i, t) { 9963 let r = {}, s = t ?? { 9964 showSpinner: !1, 9965 resolveWithFullResponse: !1, 9966 transferCache: !1 9967 }; 9968 s.cache || (r = { "cache-control": "no-cache" }), r = C(C({}, r), s.headers); 9969 let n = s.withCredentials === void 0 ? {} : { withCredentials: s.withCredentials }; 9970 return this.api.post(e, i, C({ 9971 headers: r, 9972 showSpinner: s.showSpinner, 9973 retryCount: s.retryCount, 9974 retryDelay: s.retryDelay, 9975 responseType: s.responseType, 9976 resolveWithFullResponse: s.resolveWithFullResponse, 9977 params: s.params, 9978 transferCache: s.transferCache 9979 }, n)); 9980 } 9981 }, bg = (() => { 9982 let e = class extends Sg { 9983 constructor() { 9984 super(...arguments), this.api = f(yT); 9985 } 9986 }; 9987 return e.ɵfac = (() => { 9988 let i; 9989 return function(t) { 9990 return (i || (i = Fe(e)))(t || e); 9991 }; 9992 })(), e.ɵprov = R({ 9993 token: e, 9994 factory: e.ɵfac, 9995 providedIn: "root" 9996 }), e; 9997 })(), wT = (() => { 9998 let e = class extends Sg { 9999 constructor() { 10000 super(...arguments), this.api = f(bT); 10001 } 10002 }; 10003 return e.ɵfac = (() => { 10004 let i; 10005 return function(t) { 10006 return (i || (i = Fe(e)))(t || e); 10007 }; 10008 })(), e.ɵprov = R({ 10009 token: e, 10010 factory: e.ɵfac, 10011 providedIn: "root" 10012 }), e; 10013 })(); 10014 })))(); 10015} 10016var wg, ET, Td; 10017function kd() { 10018 return (kd = Z((() => { 10019 de(), st(), Kn(), wg = class { 10020 constructor(e, i) {
10021 if (this.vanillaLogger = i, this.MS2_LOGGER_TOKEN = "ms2logger", !e || !/^[a-zA-Z\d]+$/g.test(e)) throw new Error("Logger name should be alphanumeric for easy elasticsearch lookup"); 10022 this.loggerName = e; 10023 } 10024 error(e, i) { 10025 if (!e) return; 10026 let t = e; 10027 typeof e == "string" && (t = new Error(e)), t.description = this.MS2_LOGGER_TOKEN, t.fileName = this.loggerName, this.vanillaLogger.logError(t, i); 10028 } 10029 info(e) { 10030 if (!e) return; 10031 let i = [ 10032 this.MS2_LOGGER_TOKEN, 10033 this.loggerName, 10034 e 10035 ].filter(Boolean).join(" "); 10036 this.vanillaLogger.log(i, cy.Info); 10037 } 10038 warning(e) { 10039 if (!e) return; 10040 let i = [ 10041 this.MS2_LOGGER_TOKEN, 10042 this.loggerName, 10043 e 10044 ].filter(Boolean).join(" "); 10045 this.vanillaLogger.log(i, cy.Warning); 10046 } 10047 }, ET = class { 10048 constructor(e, i, t) { 10049 this.internalFeaturesConfig = t, this.sportsLogger = new wg(e, i); 10050 } 10051 error(e, i) { 10052 this.internalFeaturesConfig.isBetplacementLoggingEnabled && this.sportsLogger.error(e, i); 10053 } 10054 warning(e, i = !1) { 10055 if (this.internalFeaturesConfig.isBetplacementLoggingEnabled) { 10056 let t = i ? ` 10057 ${(/* @__PURE__ */ new Error()).stack}` : ""; 10058 this.sportsLogger.warning(`${e}${t}`); 10059 } 10060 } 10061 }, Td = (() => { 10062 let e = class { 10063 constructor() { 10064 this.vanillaLogger = f(UA), this.internalFeatures = f(tM); 10065 } 10066 getLogger(t) { 10067 return new wg(t, this.vanillaLogger); 10068 } 10069 getDebugLogger(t) { 10070 return new ET(`Debug${t}`, this.vanillaLogger, this.internalFeatures); 10071 } 10072 }; 10073 return e.ɵfac = function(i) { 10074 return new (i || e)(); 10075 }, e.ɵprov = R({ 10076 token: e, 10077 factory: e.ɵfac, 10078 providedIn: "root" 10079 }), e; 10080 })(); 10081 })))(); 10082} 10083function CT(...e) { 10084 let i = arguments; 10085 return typeof arguments[0] == "object" && (i = arguments[0]), QD([].slice.call(i, 0).join("/")); 10086} 10087function JD(e) { 10088 if (!e) return null; 10089 let i = Eg(e); 10090 return i ? i.filter((t) => t).join("&") : null; 10091} 10092function QD(e) { 10093 return e = e.replace(/:\//g, "://"), e = e.replace(/([^:\s])\/+/g, "$1/"), e = e.replace(/\/(\?|&|#[^!])/g, "$1"), e = e.replace(/(\?.+)\?/g, "$1&"), e; 10094} 10095function Eg(e) { 10096 if (Array.isArray(e)) return e.length === 0 ? null : e.map((i, t) => { 10097 let r = Eg(i); 10098 return Array.isArray(r) ? r.map((s) => `[${t}].${s}`) : [`[${t}]=${i}`]; 10099 }).reduce((i, t) => i.concat(t)); 10100 if (e instanceof Object) { 10101 let i = Object.keys(e), t = (n) => { 10102 let a = e[n]; 10103 return a != null && (Array.isArray(a) ? a.length !== 0 : a !== ""); 10104 }, r = (n) => { 10105 let a = e[n], o = Eg(a), l = Array.isArray(a) ? "" : "."; 10106 return o ? o.map((c) => `${n}${l}${c}`) : [`${n}=${encodeURIComponent(a)}`]; 10107 }, s = i.filter(t).map(r).reduce((n, a) => n.concat(a), []); 10108 if (s.length) return s; 10109 } 10110 return null; 10111} 10112function NT(e, i = 1700, t) { 10113 let r = [], s = []; 10114 for (let n of e) { 10115 let a = [...s, n], o = `batch=${encodeURIComponent(JSON.stringify(a))}`.length > i && s.length > 0, l = t && a.length > t; 10116 o || l ? (r.push(s), s = [n]) : s = a; 10117 } 10118 return s.length > 0 && r.push(s), r; 10119} 10120var TT, kT, Cg; 10121function Ng() { 10122 return (Ng = Z((() => { 10123 Re(), de(), El(), Ke(), Cs(), Yn(), Kn(), vg(), yg(), kd(), TT = (() => { 10124 let e = class { 10125 constructor() { 10126 this.apiServiceExternal = f(bg), this.apiBaseSettings = f(gg), this.page = f(Wr), this.configured = !1, this.cdsApiHeader = "x-bwin-cds-api", this._doc = f(vi); 10127 let t = f(Td), r = f(jy); 10128 this.frontendUrl = r.cdsFrontendUrl ?? r.cdsUrlBase, this.apiUrl = r.cdsApiUrl, this.options = {}, this.logger = t.getLogger("BaseCdsApi"); 10129 } 10130 configure(t) { 10131 return this.configured = !0, this.options = C(C({}, this.options), t), this; 10132 } 10133 post(t, r, s) { 10134 return this.configured ? this.prepareRequestUrl(t, s).pipe(Ob((n) => this.apiServiceExternal.post(n, r, { 10135 cache: !1, 10136 resolveWithFullResponse: !0, 10137 headers: this.getCdsApiHeader() 10138 }).pipe(xe((a) => a.body), ei((a) => (a instanceof Zb && a.status > 0 && this.logger.error(a, `Post call to CDS endpoint: ${this.getUrl(t)} failed`), je(void 0)))))) : je(void 0); 10139 } 10140 get(t, r, s) { 10141 return this.configured ? this.prepareRequestUrl(t, s).pipe(Ob((n) => this.apiServiceExternal.get(n, r, { 10142 resolveWithFullResponse: !0, 10143 transferCache: s?.transferCache ?? !0, 10144 headers: C(C({}, this.getCdsApiHeader()), s?.disableCache && { "cache-control": "no-cache" }) 10145 }).pipe(xe((a) => a.body), ei((a) => (a instanceof Zb && a.status > 0 && this.logger.error(a, `Get call to CDS endpoint: ${this.getUrl(t)}
10145 failed`), je(void 0)))))) : je(void 0); 10146 } 10147 getBatch(t, r, s = 1700, n) { 10148 let a = NT(t, s, n); 10149 return a.length === 0 ? je(void 0) : Bu(a.map((o) => { 10150 let l = `request=${encodeURIComponent(JSON.stringify(o))}`; 10151 return this.get(`${r}?${l}`).pipe(xe((c) => c)); 10152 })).pipe(ei((o) => (this.logger.error(o, `Failed calling batch endpoint ${this.getUrl(r)}. Request: ${JSON.stringify(t)}`), je([]))), xe((o) => Cl({}, ...o.filter(qr)))); 10153 } 10154 prepareRequestUrl(t, r) { 10155 return this.getDefault(r).pipe(xe((s) => { 10156 let n = this.getUrl(t); 10157 return n += n.includes("?") ? "&" : "?", n + JD(s); 10158 })); 10159 } 10160 getDefault(t) { 10161 return this.apiBaseSettings.getSettingsWithGeolocation().pipe(xe((r) => { 10162 let s = r, { accessId: n, userLocation: a } = s, o = Ib(s, ["accessId", "userLocation"]), l = J(C({ "x-bwin-accessid": n }, o), { userLocation: a || "" }); 10163 return t?.restrictedCompetitionId && (l.restrictedCompetitionId = t.restrictedCompetitionId), l; 10164 })); 10165 } 10166 getCdsApiHeader() { 10167 return this.apiUrl && !this.page.isProduction ? { [this.cdsApiHeader]: this.apiUrl } : {}; 10168 } 10169 getUrl(t) { 10170 let r = CT(this.frontendUrl, this.options.endpoint, t); 10171 return r.startsWith("/") ? CT(`${this._doc.location.protocol}//${this._doc.location.host}`, r) : r; 10172 } 10173 }; 10174 return e.ɵfac = function(i) { 10175 return new (i || e)(); 10176 }, e.ɵprov = R({ 10177 token: e, 10178 factory: e.ɵfac, 10179 providedIn: "root" 10180 }), e; 10181 })(), kT = () => (e) => new TT().configure(e), Cg = new Te("CDS_API_FACTORY", { 10182 providedIn: "root", 10183 factory: () => kT() 10184 }); 10185 })))(); 10186} 10187var Tg; 10188function kg() { 10189 return (kg = Z((() => { 10190 Re(), de(), Ke(), Cs(), no(), Wa(), Yn(), pg(), Kn(), kd(), Ng(), Tg = (() => { 10191 let e = class { 10192 constructor() { 10193 this.cdsConfig = f(Y_), this.sportConfig = f(Wy), this.baseTranslationConfig = f(eM), this.page = f(Wr), this.marketGroupingConfig = f(W_), this.bettingOfferConfig = f(Z_); 10194 let t = f(Cg), r = f(Td); 10195 this.cdsApi = t({ endpoint: "/bettingoffer" }), this.pickCache = new ug(.5), this.logger = r.getLogger("BettingOfferApi"); 10196 } 10197 getFixtureView(t) { 10198 let { id: r, statsMode: s, excludeMarkets: n = !1, includePrecreated: a = !1, isBettingInsightsEnabled: o = !1, gridGroupIds: l, useRegionalisedConfiguration: c = this.marketGroupingConfig.regionalisedGroupingEnabled, gameIds: d, optionMarketIds: u, marketGroupIds: h, includeRelatedFixtures: g = this.bettingOfferConfig.includeLinkedFixtures && !Vw(r), marketGroupItemIds: p, participantMapping: m, dynamicOfferCategories: S, state: b, firstMarketGroupOnly: v, excludeMarketGroupIds: y, fixtureForm: w } = t, T = n ? "None" : l || d || u || h || p || S || y || v ? "Filtered" : "All"; 10199 return Vt(this.cdsApi.get("/fixture-view", { 10200 offerMapping: T, 10201 gridGroupIds: l, 10202 gameIds: d, 10203 optionMarketIds: u, 10204 scoreboardMode: "Full", 10205 fixtureIds: r, 10206 state: b ?? "Latest", 10207 includePrecreatedBetBuilder: a, 10208 supportVirtual: this.sportConfig.isVirtualSportsEnabled, 10209 isBettingInsightsEnabled: o, 10210 useRegionalisedConfiguration: c, 10211 includeRelatedFixtures: g, 10212 statisticsModes: s, 10213 marketGroupIds: h, 10214 marketGroupItemIds: p, 10215 participantMapping: m, 10216 dynamicOfferCategories: S, 10217 firstMarketGroupOnly: v, 10218 excludeMarketGroupIds: y, 10219 fixtureForm: w 10220 })); 10221 } 10222 getVirtualFixtureView(t, r, s) { 10223 return this.cdsApi.get("/virtual/fixture-view", { 10224 offerMapping: "All", 10225 sportIds: t.toString(), 10226 competitionIds: r.toString(), 10227 fixtureIds: s, 10228 scheduleSize: this.sportConfig.upcomingVirtualEventCount 10229 }); 10230 } 10231 getPicks(t, r) { 10232 let s = this.buildPicksRequestKey("picks", t); 10233 this.useBaseTranslation() && (t.alternateLanguage = this.baseTranslationConfig.defaultLanguage); 10234 let n = this.cdsApi.post("/picks", t, r).pipe(xe((a) => a?.fixturePage)); 10235 return this.pickCache.getOrCreate(s, n); 10236 } 10237 getReBetPicksView(t, r) { 10238 return this.useBaseTranslation() && (t.alternateLanguage = this.baseTranslationConfig.defaultLanguage), this.cdsApi.post("/picks/re-bet", t, r); 10239 } 10240 getPicksViewCache(t, r) {
10241 let s = this.buildPicksRequestKey("picks-view", t); 10242 this.useBaseTranslation() && (t.alternateLanguage = this.baseTranslationConfig.defaultLanguage); 10243 let n = this.cdsApi.post("/picks", t, r).pipe(xe((a) => a)); 10244 return this.pickCache.getOrCreate(s, n); 10245 } 10246 getPicksWithFallback(t) { 10247 return this.useBaseTranslation() && (t.alternateLanguage = this.baseTranslationConfig.defaultLanguage), this.cdsApi.post("/picks-with-fallback", t); 10248 } 10249 getCounts(t, r) { 10250 return this.cdsApi.get("/counts", t, r); 10251 } 10252 getSportList(t, r) { 10253 return this.cdsApi.get("/counts", C({ 10254 state: "Latest", 10255 tagTypes: "Sport", 10256 extendedTags: "Sport", 10257 sortBy: "Tags", 10258 supportVirtual: this.sportConfig.isVirtualSportsEnabled, 10259 sportIds: r?.join(",") 10260 }, t)); 10261 } 10262 getVirtualSportList() { 10263 return this.cdsApi.get("/virtual/sports", { scheduleSize: this.sportConfig.upcomingVirtualEventCount }); 10264 } 10265 getLiveSportList() { 10266 let t = [ 10267 "Sport", 10268 "Region", 10269 "Tournament", 10270 "Competition", 10271 "VirtualCompetition" 10272 ].join(","), r = this.bettingOfferConfig.liveFixtureTypes?.length > 0 ? this.bettingOfferConfig.liveFixtureTypes.join(",") : void 0; 10273 return this.cdsApi.get("/counts", C({ 10274 state: "Live", 10275 tagTypes: t, 10276 extendedTags: t, 10277 sortBy: "Tags" 10278 }, r && { fixtureTypes: r })); 10279 } 10280 getPrematchEventTree(t, r) { 10281 let s = { 10282 state: "Latest", 10283 tagTypes: [ 10284 "Sport", 10285 "Region", 10286 "Tournament", 10287 "Competition" 10288 ].join(","), 10289 extendedTags: [ 10290 "Sport", 10291 "Region", 10292 "Tournament", 10293 "Competition" 10294 ].join(","), 10295 sortBy: "Tags", 10296 sportIds: r.toString() 10297 }; 10298 return r === ee.Tennis ? s.tournamentIds = t.toString() : s.regionIds = t.toString(), this.cdsApi.get("/counts", s); 10299 } 10300 getSport(t, r, s) { 10301 return this.cdsApi.get("/counts", J(C({ 10302 state: "Latest", 10303 tagTypes: [ 10304 "Sport", 10305 "Region", 10306 "Tournament", 10307 "Competition", 10308 "VirtualCompetition", 10309 "VirtualCompetitionGroup" 10310 ].join(","), 10311 extendedTags: [ 10312 "Sport", 10313 "Region", 10314 "Tournament", 10315 "Competition", 10316 "VirtualCompetition", 10317 "VirtualCompetitionGroup" 10318 ].join(","), 10319 sportIds: t, 10320 sortBy: "Tags" 10321 }, s), { 10322 participantMapping: "All", 10323 includeDynamicCategories: !!r 10324 })); 10325 } 10326 getCountsPerSport(t, r) { 10327 return this.cdsApi.get("/counts", { 10328 state: "Latest", 10329 tagTypes: r, 10330 sportIds: t 10331 }); 10332 } 10333 getCountsForConference(t, r, s, n) { 10334 return this.cdsApi.get("/counts", C({ 10335 tagTypes: "Conference", 10336 extendedTags: "", 10337 conferenceIds: t?.toString(), 10338 competitionIds: r?.toString(), 10339 includeDynamicCategories: !!n 10340 }, s)); 10341 } 10342 getFixtureList(t, r) { 10343 return this.cdsApi.get("/fixtures", t, r); 10344 } 10345 getLotteryCompetitionsList(t) { 10346 return this.cdsApi.get("/lottery/competitions", void 0, t); 10347 } 10348 getCountsFixtures(t) { 10349 let r = `request=${encodeURIComponent(JSON.stringify(t))}`; 10350 return this.cdsApi.get(`/counts-fixtures-v2?${r}`); 10351 } 10352 getBatchFixtureList(t) { 10353 return Bu(iy(t, this.cdsConfig.maxFixtureBatchSize).map((r) => this.cdsApi.post("/fixtures-batch", r))).pipe(ei((r) => (this.logger.error(r, `Failed calling fixture-batch endpoint. Request: ${JSON.stringify(t)}`), [])), xe((r) => Cl({}, ...r.filter(qr)))); 10354 } 10355 getFixtureOffers(t) { 10356 return this.cdsApi.get("/fixture-offers", t); 10357 } 10358 getFixtureListBatch(t) { 10359 return Bu(iy(t, this.cdsConfig.maxFixtureBatchSize).map((r) => this.cdsApi.post("/fixtures-merged-batches", r))).pipe(ei((r) => (this.logger.error(r, `Failed calling fixtures-merged-batches endpoint. Request: ${JSON.stringify(t)}`), [])), xe((r) => Cl({}, ...r.filter(qr)))); 10360 } 10361 getBatchCounts(t) { 10362 return this.cdsApi.getBatch(t, "/counts-batch-v2", this.cdsConfig.maxBatchUrlLength, this.cdsConfig.maxFixtureBatchSize); 10363 } 10364 getLiveHighlights(t) { 10365 return this.cdsApi.get("/live/highlights", t); 10366 } 10367 getLiveEsports(t) { 10368 return this.cdsApi.get("/live/esports", t); 10369 } 10370 getLiveStreams(t) { 10371 return this.cdsApi.get("/live/streams", t); 10372 } 10373 useBaseTranslation() { 10374 return this.baseTranslationConfig.isEnabled && this.baseTranslationConfig.defaultLanguage.toUpperCase() !== this.page.lang.toUpperCase(); 10375 }
10376 buildPicksRequestKey(t, r) { 10377 return r.tv1Picks.map((s) => this.buildPickV1Key(t, s)).concat(r.tv2Picks.map((s) => this.buildPickV2Key(t, s))).join("|"); 10378 } 10379 buildPickV1Key(t, r) { 10380 return `${t}-${r.fixtureId}-${r.gameId}-${r.resultId}-${r.useLiveFallback || !1}`; 10381 } 10382 buildPickV2Key(t, r) { 10383 return `${t}-${r.fixtureId}-${r.optionMarketId}-${r.participantId}-${r.isClassicBetBuilder}`; 10384 } 10385 }; 10386 return e.ɵfac = function(i) { 10387 return new (i || e)(); 10388 }, e.ɵprov = R({ 10389 token: e, 10390 factory: e.ɵfac, 10391 providedIn: "root" 10392 }), e; 10393 })(); 10394 })))(); 10395} 10396var ms, Sa; 10397function xg() { 10398 return (xg = Z((() => { 10399 ms = (function(e) { 10400 return e.Sunday = "Sunday", e.Monday = "Monday", e.Tuesday = "Tuesday", e.Wednesday = "Wednesday", e.Thursday = "Thursday", e.Friday = "Friday", e.Saturday = "Saturday", e; 10401 })(ms || {}), Sa = class zi { 10402 static getNow() { 10403 return /* @__PURE__ */ new Date(); 10404 } 10405 static getDate(i) { 10406 return i === void 0 ? zi.getNow() : new Date(i); 10407 } 10408 static buildDate(i, t, r, s, n, a, o) { 10409 let l = arguments.length; 10410 switch (l) { 10411 case 2: return new Date(i, t); 10412 case 3: return new Date(i, t, r); 10413 case 4: return new Date(i, t, r, s); 10414 case 5: return new Date(i, t, r, s, n); 10415 case 6: return new Date(i, t, r, s, n, a); 10416 } 10417 if (l >= 7) return new Date(i, t, r, s, n, a, o); 10418 throw new Error("Wrong number of arguments passed"); 10419 } 10420 static getStartOfDay(i) { 10421 return new Date(i.getFullYear(), i.getMonth(), i.getDate(), 0, 0, 0, 0); 10422 } 10423 static getStartOfMinute(i) { 10424 return new Date(i.getFullYear(), i.getMonth(), i.getDate(), i.getHours(), i.getMinutes(), 0, 0); 10425 } 10426 static getEndOfDay(i, t = 0) { 10427 let r = new Date(i); 10428 return r.setDate(i.getDate() + t), new Date(r.getFullYear(), r.getMonth(), r.getDate(), 23, 59, 59, 999); 10429 } 10430 static addHours(i, t = 0) { 10431 return zi.getDate(i.setHours(i.getHours() + t)); 10432 } 10433 static subtractHours(i, t = 0) { 10434 return zi.getDate(i.setHours(i.getHours() - t)); 10435 } 10436 static now() { 10437 return zi.getNow().valueOf(); 10438 } 10439 static getEndOfMonth(i) { 10440 let t = i ?? zi.getNow(); 10441 return new Date(t.getFullYear(), t.getMonth() + 1, 0); 10442 } 10443 static getDaysTo(i) { 10444 let t = i.getTime() - zi.getNow().getTime(); 10445 return Math.ceil(t / 864e5); 10446 } 10447 static getTimeDifference(i, t) { 10448 let r = i.valueOf() - zi.now(); 10449 return t ? Math.floor(r / 1e3) : r; 10450 } 10451 static checkTimer(i, t) { 10452 return zi.getTimeDifference(i, !0) <= t; 10453 } 10454 static getDayOfWeek() { 10455 let i = zi.getDate(); 10456 return zi.toDayOfWeek(i.getDay()); 10457 } 10458 static toDayOfWeek(i) { 10459 switch (i) { 10460 case 0: return ms.Sunday; 10461 case 1: return ms.Monday; 10462 case 2: return ms.Tuesday; 10463 case 3: return ms.Wednesday; 10464 case 4: return ms.Thursday; 10465 case 5: return ms.Friday; 10466 case 6: return ms.Saturday; 10467 default: throw new Error(`Invalid day index: ${i}`); 10468 } 10469 } 10470 static daysFromNow(i) { 10471 let t = zi.getDate(); 10472 return zi.buildDate(t.getFullYear(), t.getMonth(), t.getDate() + i); 10473 } 10474 }; 10475 })))(); 10476} 10477var xT, IT, OT, xd; 10478function Ig() { 10479 return (Ig = Z((() => { 10480 xT = (e, i = !1) => { 10481 let t = e.split(":"); 10482 return (parseInt(t[0], 10) * 3600 + parseInt(t[1], 10) * 60 + parseInt(t[2], 10)) * 1e3 + (i ? IT(e) : 0); 10483 }, IT = (e) => { 10484 let i = e.split(".")[1]; 10485 return i ? OT(i) : 0; 10486 }, OT = (e) => { 10487 let i = e.slice(0, 3); 10488 return parseInt(i.padEnd(3, "0"), 10); 10489 }, xd = (e, i) => { 10490 let t = new Date(e); 10491 return t.setMinutes(t.getMinutes() + (i ?? 0)), t; 10492 }; 10493 })))(); 10494} 10495var PT; 10496function $T() { 10497 return ($T = Z((() => { 10498 Re(), de(), Ke(), dg(), Ig(), Kn(), kg(), xg(), PT = (() => { 10499 class e { 10500 bettingService = f(Tg); 10501 urlConfig = f(Uy); 10502 sitecore = f(Yy); 10503 intervalStartOfDay(t, r, s, n, a, o) { 10504 let l = Sa.getDate(), c = Sa.getStartOfDay(l), d = o, u = this.buildInterval(t, c, r, s, n, a); 10505 return u.trackingSource = d, u; 10506 } 10507 intervalStartingNow(t, r, s, n, a, o) { 10508 let l = Sa.getDate(), c = Sa.getStartOfMinute(l), d = o, u = this.buildInterval(t, c, r, s, n, a); 10509 return u.trackingSource = d, u; 10510 } 10511 getCounts(t) { 10512 return this.getCountsForSport(t).pipe(xe((r) => r.intervals)); 10513 } 10514 getCountsForSport(t, r) { 10515 let s = t.all && t.live; 10516 s && delete t.live; 10517 let n = this.buildRequestParameters(t, r); 10518 return this.bettingService.getBatchCounts(n).pipe(xe((a) => { 10519 if (!a) return { 10520 intervals: {}, 10521 sport: void 0 10522 }; 10523 let o = PA(a, (l, c) => J(C({}, t[c]), { count: ty(l, (d) => d.live + (c === "live" ? 0 : d.preMatch)) })); 10524 return s && (o.live = { 10525 name: this.urlConfig.translations.live, 10526 title: this.sitecore.globalMessages.NavLive, 10527 live: !0, 10528 count: ty(a.all, (l) => l.live), 10529 key: "live" 10530 }), { 10531 intervals: ny(o, (l) => l.count > 0),
10532 sport: r ? this.getSportItem(+r, a) : void 0 10533 }; 10534 })); 10535 } 10536 buildRequestParameters(t, r) { 10537 return Object.keys(t).map((s) => ({ 10538 batchId: s, 10539 request: { 10540 fixtureTypes: "Standard", 10541 state: "Latest", 10542 tagTypes: "Sport", 10543 extendedTags: "Sport", 10544 from: t[s].from?.toISOString(), 10545 to: t[s].to?.toISOString(), 10546 sportIds: s === "all" ? void 0 : r 10547 } 10548 })); 10549 } 10550 buildInterval(t, r, s, n, a, o) { 10551 return { 10552 name: t, 10553 from: xd(r, s), 10554 to: xd(r, n), 10555 title: a, 10556 key: o 10557 }; 10558 } 10559 getSportItem(t, r) { 10560 let s = Object.values(r).at(0)?.filter((n) => n.tag.id === t); 10561 return cg.fromTag(s).at(0); 10562 } 10563 static ɵfac = function(t) { 10564 return new (t || e)(); 10565 }; 10566 static ɵprov = R({ 10567 token: e, 10568 factory: e.ɵfac, 10569 providedIn: "root" 10570 }); 10571 } 10572 return e; 10573 })(); 10574 })))(); 10575} 10576var Og; 10577function AT() { 10578 return (AT = Z((() => { 10579 Og = (function(e) { 10580 return e.Sgp = "SGP", e.Popular = "Popular", e; 10581 })(Og || {}); 10582 })))(); 10583} 10584var Pg, $g, Ag, _g, Mg, Rg, Lg; 10585function _T() { 10586 return (_T = Z((() => { 10587 Pg = (function(e) { 10588 return e.MarketType = "MarketType", e.Happening = "Happening", e.Outcome = "Outcome", e.Period = "Period", e.FixtureParticipant = "FixtureParticipant", e.Handicap = "Handicap", e.DecimalHandicap = "DecimalHandicap", e.Places = "Places", e.Position = "Position", e.IntegerValue = "IntegerValue", e.DecimalValue = "DecimalValue", e.RangeValue = "RangeValue", e.TemplateId = "TemplateId", e.CategoryId = "CategoryId", e.SubPeriodNumber = "SubPeriodNumber", e.FixtureParticipantList = "FixtureParticipantList", e.Lengths = "Lengths", e.MarketSubType = "MarketSubType", e.SubPeriod = "SubPeriod", e; 10589 })(Pg || {}), $g = (function(e) { 10590 return e.HeadToHead = "HeadToHead", e.TwoWayHandicap = "2wayHandicap", e.Scorer = "Scorer", e.MultiFPOverUnder = "MultiFPOver/Under", e.HappeningToOccurV2 = "HappeningToOccurV2", e.HappeningToOccurAndTeamToWin = "HappeningToOccurAndTeamToWin", e.DynamicCorrectScore = "DynamicCorrectScore", e.Spread = "SPREAD", e.CorrectScore = "CORRECT_SCORE", e.BetBuilder = "BetBuilder", e.OverUnder = "OVER_UNDER", e.TotalsOverUnder = "TOTALS_OVER_UNDER", e.AutomatedPriceBoost = "AutomatedPriceBoost", e.ThreeWay = "3way", e.TwoWay = "2way", e.BTTS = "BTTS", e.OverUnderMarket = "Over/Under", e; 10591 })($g || {}), Ag = (function(e) { 10592 return e.PassingYards = "PassingYards", e.TouchdownPass = "TouchdownPass", e.Points = "Points", e.FantasyPoints = "FantasyPoints", e; 10593 })(Ag || {}), _g = (function(e) { 10594 return e.ThreeWay = "ThreeWay", e.ThreeWayWithNumber = "3way", e.OverUnder = "OverUnder", e.DoubleChance = "DoubleChance", e.DrawNoBet = "DrawNoBet", e.Handicap = "Handicap", e.CorrectScore = "CorrectScore", e.DynamicCorrectScore = "DynamicCorrectScore", e.GoalBand = "GoalBand", e.GoalMethod = "GoalMethod", e.OddEven = "OddEven", e.HomeAwayNoBet = "HomeAwayNoBet", e.WinningDifference = "WinningDifference", e.XthHappening = "XthHappening", e.Scorer = "Scorer", e.ScorerWithAnyOther = "ScorerWithAnyOther", e.ScorerWithoutNoScoreOption = "ScorerWithoutNoScoreOption", e.OverAndUnder = "Over/Under", e.RaceWinningDistanceX = "RaceWinningDistanceX", e; 10595 })(_g || {}), Mg = (function(e) { 10596 return e.RegularTime = "RegularTime", e.FirstHalf = "FirstHalf", e.SecondHalf = "SecondHalf", e.ExtraTime = "ExtraTime", e; 10597 })(Mg || {}), Rg = (function(e) { 10598 return e.Goal = "Goal", e.NonOwnGoal = "NonOwnGoal", e.Foul = "Foul", e.FreeKick = "FreeKick", e.Corner = "Corner", e.ThrowIn = "ThrowIn", e.GoalKick = "GoalKick", e.Penalty = "Penalty", e.Offside = "Offside", e.Kickoff = "Kickoff", e.YellowCard = "YellowCard", e.RedCard = "RedCard", e.Substitution = "Substitution", e.PassingYards = "PassingYards", e.RushingYards = "RushingYards", e.ReceivingYards = "ReceivingYards", e.RushingReceivingYards = "RushingReceivingYards", e; 10599 })(Rg || {}), Lg = (function(e) { 10600 return e.TwoUp3wayPricing = "2Up3wayPricing", e.YesNo = "YesNo", e; 10601 })(Lg || {}); 10602 })))(); 10603} 10604var Bg, Dg, Fg; 10605function MT() { 10606 return (MT = Z((() => { 10607 Bg = (function(e) { 10608 return e[e.All = -1] = "All", e[e.BetBuilder = -2] = "BetBuilder", e[e.MyBets = -3] = "MyBets", e[e.MyMarkets = -4] = "MyMarkets", e[e.Sgp = -5] = "Sgp", e[e.Other = 1e4] = "Other", e; 10609 })(Bg || {}), Dg = (function(e) { 10610 return e.PriceBoost = "PriceBoost", e.PreCreatedBab = "PreCreatedBAB", e; 10611 })(Dg || {}), Fg = (function(e) { 10612 return e.Ascending = "asc", e.Descending = "desc", e; 10613 })(Fg || {}); 10614 })))(); 10615} 10616function Gs(e, i, t = 0) { 10617 let r = e ?? t, s = i ?? t; 10618 return r || s ? [r, s] : Vg; 10619} 10620function ZD(e) { 10621 if (!e) return; 10622 let i = e.split(":"); 10623 return [parseInt(i[0], 10), parseInt(i[1], 10)]; 10624} 10625function e2(e) { 10626 let i = Math.floor(e / 60), t = e % 60; 10627 return `${i < 10 ? `0${i.toString()}` : i}:${t < 10 ? `0${t.toString()}` : t}`; 10628} 10629function zg(e, i) { 10630 let t = { 10631 participant1: { 10632 periods: [], 10633 total: 0 10634 }, 10635 participant2: { 10636 periods: [], 10637 total: 0 10638 }, 10639 matchType: -1 10640 }; 10641 if (!e.score) return t;
10642 let { scorePeriods: r, overtimePeriod: s } = i, n = e.score.split(":").map((l) => parseInt(l, 10)), a = (l, c, d) => ({ 10643 points: e.totalPoints[`player${l}`][c] ?? "-", 10644 current: d === c 10645 }), o = (l, c) => ({ 10646 periods: e.totalPoints ? r.map((d) => a(l, d, c)) : [], 10647 overTimeScore: e.totalPoints ? e.totalPoints[`player${l}`][s] : void 0, 10648 total: n[l - 1] 10649 }); 10650 return J(C({}, t), { 10651 participant1: o(1, e.periodId), 10652 participant2: o(2, e.periodId), 10653 turn: e.turn 10654 }); 10655} 10656function RT(e, i) { 10657 let t = e?.find((r) => r.teamOrder === i); 10658 return t ? { 10659 firstHalf: t.firstHalf, 10660 overtime: t.overtime, 10661 secondHalf: t.secondHalf 10662 } : BT; 10663} 10664function Cn(e) { 10665 if (e?.player1) return Gs(e.player1[Jt.Finished], e.player2[Jt.Finished]); 10666} 10667function t2({ activeDown: e, yardsDistance: i, yardsToNextDown: t }, r, s) { 10668 if (!e || i === 0 || t === 0 || r === Jt.Halftime || r === Jt.RegularTimeOver) return; 10669 let n = `${e} & ${t}`; 10670 return i === 50 ? `${n}, ${s.on} ${i}` : i > 50 && i <= 100 ? `${n}, ${s.own} ${100 - i}` : i < 50 ? `${n}, ${s.opp} ${i}` : n; 10671} 10672function i2({ turnovers: e, penalties: i, touchdowns: t, fieldGoals: r, safeties: s, onePointConversions: n, twoPointsConversions: a, activeDown: o, yardsDistance: l, yardsToNextDown: c, timeoutsLeft: d, timeValue: u }) { 10673 return { 10674 turnovers: Cn(e), 10675 penalties: Cn(i), 10676 touchdowns: Cn(t), 10677 fieldGoals: Cn(r), 10678 safeties: Cn(s), 10679 onePointConversions: Cn(n), 10680 twoPointsConversions: Cn(a), 10681 activeDown: o, 10682 yardsDistance: l, 10683 yardsToNextDown: c, 10684 timeoutsLeft: d && [RT(d, "Team01"), RT(d, "Team02")], 10685 timeValue: u 10686 }; 10687} 10688function r2(e) { 10689 return { 10690 score: zg(e, { 10691 scorePeriods: [ 10692 Jt.FirstQuarter, 10693 Jt.SecondQuarter, 10694 Jt.ThirdQuarter, 10695 Jt.FourthQuarter 10696 ], 10697 overtimePeriod: Jt.Overtime 10698 }), 10699 statistics: "messages" in e ? i2(e) : void 0 10700 }; 10701} 10702function Gg(e, i) { 10703 return e === 0 || i === 0 ? 0 : +(e / i * 100).toFixed(); 10704} 10705function Ar(e, i) { 10706 if (!(!i || i < 1 || !e?.player1)) return C(C(C({ 10707 firstQuarter: Gs(e.player1[Ze.FirstQuarter], e.player2[Ze.FirstQuarter]), 10708 regularTime: Gs(e.player1[Ze.Finished], e.player2[Ze.Finished]) 10709 }, i >= Ze.SecondQuarter && { secondQuarter: Gs(e.player1[Ze.SecondQuarter], e.player2[Ze.SecondQuarter]) }), i >= Ze.ThirdQuarter && { thirdQuarter: Gs(e.player1[Ze.ThirdQuarter], e.player2[Ze.ThirdQuarter]) }), i >= Ze.ForthQuarter && { fourthQuarter: Gs(e.player1[Ze.ForthQuarter], e.player2[Ze.ForthQuarter]) }); 10710} 10711function s2(e, i, t) { 10712 if (!e && !i) return; 10713 let r = Ar(e, t), s = Ar(i, t); 10714 return C({ 10715 scored: r, 10716 total: s 10717 }, r?.regularTime && s?.regularTime && { overall: Gs(Gg(r.regularTime[0], s.regularTime[0]), Gg(r.regularTime[1], s.regularTime[1])) }); 10718} 10719function n2({ periodId: e, threePointers: i, twoPointers: t, freeThrowsScored: r, freeThrowsTotals: s, fouls: n, rebounds: a, assists: o, totalPoints: l, raceTo10: c, raceTo20: d }) { 10720 return { 10721 threePointers: Ar(i, e), 10722 twoPointers: Ar(t, e), 10723 freeThrows: s2(r, s, e), 10724 fouls: Ar(n, e), 10725 rebounds: Ar(a, e), 10726 assists: Ar(o, e), 10727 points: Ar(l, e), 10728 raceTo10: Ar(c, e), 10729 raceTo20: Ar(d, e) 10730 }; 10731} 10732function a2(e) { 10733 let i = zg(e, { 10734 scorePeriods: e.matchType === 1 ? [Ze.FirstHalf, Ze.SecondHalf] : [ 10735 Ze.FirstQuarter, 10736 Ze.SecondQuarter, 10737 Ze.ThirdQuarter, 10738 Ze.ForthQuarter 10739 ], 10740 overtimePeriod: Ze.Overtime 10741 }), t = "messages" in e ? n2(e) : void 0; 10742 if (!e.score) return { 10743 score: i, 10744 statistics: t 10745 }; 10746 let r = J(C({}, i), { matchType: e.matchType }); 10747 return "playerInfo" in e && (r.playerInfo = e.playerInfo), { 10748 score: r, 10749 statistics: t 10750 }; 10751} 10752function LT(e) { 10753 return FT.get(e) ?? ct.PairGame; 10754} 10755function o2(e, i) { 10756 if (i) return ct.TournamentGame; 10757 let t = LT(e); 10758 return t === ct.TournamentGame ? ct.PairGame : t; 10759} 10760function l2(e, i) { 10761 let t = [ 10762 ee.Cricket, 10763 ee.Boxing, 10764 ee.Rugby, 10765 ee.RugbyLeague, 10766 ee.RugbyUnion, 10767 ee.Soccer, 10768 ee.Baseball 10769 ], r = [ 10770 ee.Volleyball, 10771 ee.TableTennis, 10772 ee.Tennis 10773 ]; 10774 if (t.includes(e) && i === 256 || r.includes(e) && i === 6) return !0; 10775 if (i) { 10776 if (e === ee.Basketball) return Ug.has(i); 10777 if (e === ee.AmericanFootball) return Hg.has(i); 10778 } 10779} 10780function c2(e) { 10781 return GT.has(e) ? Bo.CountDown : Bo.CountUp; 10782} 10783function d2(e) { 10784 if (!(e.playerInfo && e.playerInfo.colorsAvailable && e.playerInfo.players)) return; 10785 let i = Object.keys(e.playerInfo.players).map((t) => e.playerInfo.players[t]?.shirtColor).filter(qr); 10786 if (i.length > 0) return i; 10787} 10788var Vg, Jt, Hg, BT, Ze, Ug, ct, Bo, DT, FT, zT, GT; 10789function Wg() { 10790 return (Wg = Z((() => { 10791 Re(), Wa(), Yn(), Vg = [0, 0], Jt = (function(e) { 10792 return e[e.FirstQuarter = 1] = "FirstQuarter", e[e.FirstIntermission = 2] = "FirstIntermission", e[e.SecondQuarter = 3] = "SecondQuarter", e[e.Halftime = 4] = "Halftime", e[e.ThirdQuarter = 5] = "ThirdQuarter", e[e.ThirdIntermission = 6] = "ThirdIntermission", e[e.FourthQuarter = 7] = "FourthQuarter", e[e.RegularTimeOver = 8] = "RegularTimeOver", e[e.Overtime = 9] = "Overtime", e[e.Finished = 255] = "Finished", e; 10793 })(Jt || {}), Hg = /* @__PURE__ */ new Set([ 10794 Jt.FirstIntermission, 10795 Jt.Halftime, 10796 Jt.ThirdIntermission, 10797 Jt.RegularTimeOver, 10798 Jt.Finished 10799 ]), BT = { 10800 firstHalf: 0, 10801 overtime: 0, 10802 secondHalf: 0 10803 }, Ze = (function(e) { 10804 return e[e.FirstQuarter = 1] = "FirstQuarter", e[e.FirstHalf = 1] = "FirstHalf", e[e.FirstIntermission = 2] = "FirstIntermission", e[e.SecondQuarter = 3] = "SecondQuarter", e[e.SecondHalf = 3] = "SecondHalf", e[e.SecondIntermission = 4] = "SecondIntermission", e[e.ThirdQuarter = 5] = "ThirdQuarter", e[e.ThirdIntermission = 6] = "ThirdIntermission", e[e.ForthQuarter = 7] = "ForthQuarter", e[e.ForthIntermission = 8] = "ForthIntermission", e[e.RegularTimeOver = 9] = "RegularTimeOver", e[e.Overtime = 10] = "Overtime", e[e.OverTimeIntermission = 11] = "OverTimeIntermission", e[e.Finished = 255] = "Finished", e; 10805 })(Ze || {}), Ug = /* @__PURE__ */ new Set([ 10806 Ze.FirstIntermission, 10807 Ze.SecondIntermission, 10808 Ze.ThirdIntermission, 10809 Ze.ForthIntermission, 10810 Ze.RegularTimeOver, 10811 Ze.OverTimeIntermission,
10812 Ze.Finished 10813 ]), ct = (function(e) { 10814 return e.AmericanFootball = "AmericanFootball", e.Baseball = "Baseball", e.Basketball = "Basketball", e.Cricket = "Cricket", e.Darts = "Darts", e.Football = "Football", e.Formula1 = "Formula1", e.Icehockey = "Icehockey", e.Snooker = "Snooker", e.Tennis = "Tennis", e.PairGame = "PairGame", e.SetGame = "SetGame", e.SpecialGame = "SpecialGame", e.TournamentGame = "TournamentGame", e; 10815 })(ct || {}), Bo = (function(e) { 10816 return e.CountUp = "CountUp", e.CountDown = "CountDown", e; 10817 })(Bo || {}), DT = /* @__PURE__ */ new Map([ 10818 [ct.Football, [ee.Soccer, ee.Futsal]], 10819 [ct.Tennis, [ee.Tennis, ee.Padel]], 10820 [ct.SetGame, [ 10821 ee.Volleyball, 10822 ee.Badminton, 10823 ee.Squash, 10824 ee.TableTennis, 10825 ee.Beachvolleyball 10826 ]], 10827 [ct.Basketball, [ee.Basketball]], 10828 [ct.AmericanFootball, [ee.AmericanFootball]], 10829 [ct.Icehockey, [ee.Icehockey]], 10830 [ct.Baseball, [ee.Baseball]], 10831 [ct.Snooker, [ee.Snooker]], 10832 [ct.Darts, [ee.Darts]], 10833 [ct.Cricket, [ee.Cricket]], 10834 [ct.Formula1, [ee.Formula1]], 10835 [ct.TournamentGame, [ 10836 ee.Athletics, 10837 ee.Biathlon, 10838 ee.Bobsleigh, 10839 ee.Canoeing, 10840 ee.CrossCountrySkiing, 10841 ee.Cycling, 10842 ee.Diving, 10843 ee.Entertainment, 10844 ee.Equestrian, 10845 ee.Esports, 10846 ee.FigureSkating, 10847 ee.Financials, 10848 ee.FreestyleSkiing, 10849 ee.GaelicSports, 10850 ee.Golf, 10851 ee.Greyhounds, 10852 ee.Gymnastics, 10853 ee.Horses, 10854 ee.Luge, 10855 ee.Motocross, 10856 ee.Motorbikes, 10857 ee.MotorRacing, 10858 ee.Motorsport, 10859 ee.Nascar, 10860 ee.NordicCombined, 10861 ee.OlympicsSpecials, 10862 ee.Poker, 10863 ee.Politics, 10864 ee.Rally, 10865 ee.Rowing, 10866 ee.Sailing, 10867 ee.Schwingen, 10868 ee.Shooting, 10869 ee.ShowJumping, 10870 ee.Skeleton, 10871 ee.Skialpine, 10872 ee.SkiJumping, 10873 ee.Skinordic, 10874 ee.Snowboarding, 10875 ee.SpeedSkating, 10876 ee.Speedway, 10877 ee.Swimming, 10878 ee.Triathlon, 10879 ee.Trotting, 10880 ee.WeightLifting 10881 ]], 10882 [ct.SpecialGame, [ee.Boxing]] 10883 ]), FT = new Map(Array.from(DT.entries()).flatMap(([e, i]) => i.map((t) => [t, e]))), zT = /* @__PURE__ */ new Set([ 10884 ee.Boxing, 10885 ee.Cricket, 10886 ee.IndoorSoccer, 10887 ee.Pool, 10888 ee.Soccer 10889 ]), GT = /* @__PURE__ */ new Set([ee.Basketball, ee.AmericanFootball]); 10890 })))(); 10891} 10892function u2(e) { 10893 if (e) { 10894 if (e.playtech) return { 10895 id: e.playtech, 10896 type: Do.Playtech 10897 }; 10898 if (e.inspired) return { 10899 id: e.inspired, 10900 type: Do.Inspired 10901 }; 10902 } 10903} 10904function p2(e, i) { 10905 return e.parameters?.find((t) => t.key === i)?.value; 10906} 10907function h2(e, i) { 10908 if (i === mi.Home) return e.rank?.homeTeam; 10909 if (i === mi.Away) return e.rank?.awayTeam; 10910} 10911function m2(e, i) { 10912 let t, r; 10913 return e.startingPitcher?.homeTeam && i === mi.Home && (t = { 10914 firstName: e.startingPitcher?.homeTeam?.firstName, 10915 lastName: e.startingPitcher?.homeTeam?.lastName, 10916 preferredName: e.startingPitcher?.homeTeam?.preferredName 10917 }), e.startingPitcher?.awayTeam && i === mi.Away && (t = { 10918 firstName: e.startingPitcher?.awayTeam?.firstName, 10919 lastName: e.startingPitcher?.awayTeam?.lastName, 10920 preferredName: e.startingPitcher?.awayTeam?.preferredName 10921 }), t && (r = `${t.preferredName?.charAt(0) ?? t.firstName?.charAt(0)}. ${t.lastName}`), r; 10922} 10923function f2(e, i, t) { 10924 let r, s; 10925 if (i === mi.Home && e.seasonStandings?.homeTeam && (r = { 10926 wonMatches: e.seasonStandings?.homeTeam?.wonEvents, 10927 lossMatches: e.seasonStandings?.homeTeam?.lostEvents, 10928 drawMatches: e.seasonStandings?.homeTeam?.drawEvents, 10929 lostEventsOvertime: e.seasonStandings?.homeTeam?.lostEventsOvertime 10930 }), i === mi.Away && e.seasonStandings?.awayTeam && (r = { 10931 wonMatches: e.seasonStandings?.awayTeam?.wonEvents, 10932 lossMatches: e.seasonStandings?.awayTeam?.lostEvents, 10933 drawMatches: e.seasonStandings?.awayTeam?.drawEvents, 10934 lostEventsOvertime: e.seasonStandings?.awayTeam?.lostEventsOvertime 10935 }), r) { 10936 let n = t.competitionOverrides && t.competitionOverrides[e.league.id]; 10937 n || (n = t.default), s = n.replace("{{WW}}", r.wonMatches ? r.wonMatches.toString() : "0").replace("{{LL}}", r.lossMatches ? r.lossMatches.toString() : "0").replace("-{{DD}}", r.drawMatches ? `-${r.drawMatches.toString()}` : "").replace("-{{LOT}}", r.lostEventsOvertime ? `-${r.lostEventsOvertime.toString()}` : ""); 10938 } 10939 return s; 10940} 10941function VT(e) { 10942 if (e.homeTeamHomeForm) return mi.Home; 10943 if (e.awayTeamAwayForm) return mi.Away; 10944 if (e.overallHomeTeamForm || e.overallAwayTeamForm) return (e.overallHomeTeamForm?.winCount || 0) >= (e.overallAwayTeamForm?.winCount || 0) ? mi.Home : mi.Away; 10945} 10946function g2(e, i, t, r) { 10947 let s = t.overridenName; 10948 return !!(r.winning && s !== "X" && s === ((n) => n === void 0 ? !1 : i === "American" ? n === mi.Home ? "2" : "1" : n === mi.Home ? "1" : "2")(VT(e))); 10949} 10950function v2(e) { 10951 switch (e) { 10952 case "Alphabet": return ba.Alphabet; 10953 case "Default": return ba.Default; 10954 case "Odds": return ba.Odds; 10955 } 10956} 10957var mi, Do, HT, jg, UT, Yg, Kg, WT, qg, jT, ba, YT, KT, Xg, Jg; 10958function qT() { 10959 return (qT = Z((() => { 10960 Ke(), no(), Wg(), mi = (function(e) { 10961 return e[e.Away = 0] = "Away", e[e.Home = 1] = "Home", e; 10962 })(mi || {}), Do = (function(e) { 10963 return e.Inspired = "inspired", e.Playtech = "playtech", e; 10964 })(Do || {}), HT = 255, jg = (function(e) { 10965 return e.BetBuilder = "BetBuilder", e.BetBuilderStandard = "BetBuilderStandard", e.BetBuilderSixPack = "BetBuilderSixPack", e.BetBuilderOverUnder = "BetBuilderOverUnder", e.BetBuilderCorrectScore = "BetBuilderCorrectScore", e.BetBuilderSpread = "BetBuilderSpread", e.BetBuilderRaceTo = "BetBuilderRaceTo", e.BetBuilderYesNo = "BetBuilderYesNo", e.BetBuilderGoalScorer = "BetBuilderGoalScorer", e.BetBuilderPlayerProps = "BetBuilderPlayerProps", e.BetBuilderAngstrom = "BetbuilderAngstrom", e.AutomatedPriceBoost = "AutomatedPriceBoost", e.PlayerPropsPills = "PlayerPropsPills", e; 10966 })(jg || {}), UT = class {}, Yg = (function(e) { 10967 return e[e.Combo2 = 2] = "Combo2", e[e.Combo3 = 3] = "Combo3", e[e.Combo4 = 4] = "Combo4", e[e.Combo5 = 5] = "Combo5", e[e.Combo6 = 6] = "Combo6", e[e.Single = 1] = "Single", e; 10968 })(Yg || {}), Kg = (function(e) { 10969 return e[e.AllCombo = 1] = "AllCombo", e[e.AllLiveEvents = 8] = "AllLiveEvents", e[e.N
10969oCombo = 2] = "NoCombo", e[e.NoCompetitionCombo = 10] = "NoCompetitionCombo", e[e.NoEventCombo = 6] = "NoEventCombo", e[e.NoEventSameLeagueCombo = 7] = "NoEventSameLeagueCombo", e[e.NoFixtureCombo = 11] = "NoFixtureCombo", e[e.NoGroupCombo = 12] = "NoGroupCombo", e[e.NoLeagueCombo = 4] = "NoLeagueCombo", e[e.NoSportCombo = 3] = "NoSportCombo", e[e.OtherLiveEvents = 9] = "OtherLiveEvents", e; 10970 })(Kg || {}), WT = class {}, qg = (function(e) { 10971 return e.Regular = "Regular", e.Period = "Period", e.MarketTab = "MarketTab", e.DynamicMarket = "DynamicMarket", e.SixPack = "SixPack", e.Pill = "Pill", e; 10972 })(qg || {}), jT = class { 10973 hasSubGroups(e) { 10974 return this.subGroups ? this.subGroups.some((i) => i.type === e) : !1; 10975 } 10976 getSubGroups(e) { 10977 return this.subGroups ? this.subGroups.filter((i) => i.type === e) : []; 10978 } 10979 hasGroup(e) { 10980 return this.gridGroups?.includes(e.toString()) ?? !1; 10981 } 10982 hasAnyGroup() { 10983 return !$A(this.gridGroups); 10984 } 10985 get isBetBuilder() { 10986 return this.options.some((e) => e.isBetBuilder); 10987 } 10988 }, ba = (function(e) { 10989 return e.Alphabet = "Alphabet", e.Default = "Default", e.Odds = "Odds", e.Order = "Order", e; 10990 })(ba || {}), YT = class {}, KT = class { 10991 constructor() { 10992 this.optionGroups = [], this.optionSets = [], this.participants = [], this.players = [], this.scoreboard = { 10993 id: "", 10994 type: ct.PairGame, 10995 started: !1, 10996 score: void 0, 10997 timerVisible: !1, 10998 timerRunning: !1, 10999 bestOf: 0 11000 }, this.published = !0, this.marketsDictionary = {}; 11001 } 11002 isSetGame() { 11003 return this.isGameOfType(ct.SetGame) || this.isGameOfType(ct.Tennis); 11004 } 11005 isTournamentGame() { 11006 return this.isGameOfType(ct.TournamentGame) || this.fixtureType === "Tournament"; 11007 } 11008 isBaseballGame() { 11009 return this.isGameOfType(ct.Baseball); 11010 } 11011 isLeaderboardGame() { 11012 return this.isGameOfType(ct.Formula1); 11013 } 11014 isFinished() { 11015 return !!this.scoreboard.period && this.scoreboard.period.id === HT; 11016 } 11017 getBestPerformingParticipant() { 11018 if (this.fixtureForm) return VT(this.fixtureForm); 11019 } 11020 isBestPerformingOption(e, i) {
11021 return this.fixtureForm ? g2(this.fixtureForm, this.viewType, e, i) : !1; 11022 } 11023 getBetBuilderConsumerFixtureId() { 11024 return this.betBuilderFixtureId || Gw(this.betBuilderTradingV2FixtureId ?? ""); 11025 } 11026 getBetBuilderIdByStage(e, i) { 11027 let t = e.includes(this.league.realCompetitionId ?? this.league.id) || i.includes(this.sport.id); 11028 return (!this.live || this.live && t) && this.betBuilderInfo?.betBuilderId && this.betBuilderInfo?.betBuilderProvider !== "Default" ? this.betBuilderInfo?.betBuilderId : void 0; 11029 } 11030 isGameOfType(e) { 11031 return this.scoreboard.type === e; 11032 } 11033 }, Xg = (function(e) { 11034 return e.NotExists = "NotExists", e.Equals = "Equals", e.ToHappen = "ToHappen", e.NotToHappen = "NotToHappen", e.Max = "Max", e.Over = "Over", e.Under = "Under", e.Draw = "Draw", e.EqualsOrOver = "EqualsOrOver", e; 11035 })(Xg || {}), Jg = (function(e) { 11036 return e.Twitch = "Twitch", e.Beter = "Beter", e.IGameMedia = "IGameMedia", e; 11037 })(Jg || {}); 11038 })))(); 11039} 11040var Qg, XT, JT; 11041function QT() { 11042 return (QT = Z((() => { 11043 Re(), fo(), os(), Qg = (function(e) { 11044 return e.Digital = "Digital", e.BetStation = "BetStation", e; 11045 })(Qg || {}), XT = ae("PICKS/ADD_PICK", (e, i) => J(C({}, e), { source: i ?? mn.Local })), JT = ae("PICKS/REMOVE_PICK", dt()); 11046 })))(); 11047} 11048var Nn, ZT; 11049function ek() { 11050 return (ek = Z((() => { 11051 os(), bd(), Nn = class {}, Nn.ACTION_SCHEMA = `${Eo.ACTION_SCHEMA}/edit-bet`, Nn.REQUEST_DISCARD = `${Nn.ACTION_SCHEMA}/REQUEST_DISCARD`, Nn.requestDiscard = ae(Nn.REQUEST_DISCARD), ZT = Nn; 11052 })))(); 11053} 11054var tk; 11055function ik() { 11056 return (ik = Z((() => { 11057 de(), st(), Ut(), tk = (() => { 11058 class e { 11059 session = f(MA); 11060 local = f(ap); 11061 nativeAppService = f(jr); 11062 STORE_KEY = "redux-store-v3"; 11063 save(t) { 11064 if (!this.nativeAppService.isTerminal) { 11065 this.local.set(this.STORE_KEY, t); 11066 return; 11067 } 11068 this.session.set(this.STORE_KEY, t); 11069 } 11070 load() { 11071 return (this.nativeAppService.isTerminal ? this.session.get(this.STORE_KEY) : this.local.get(this.STORE_KEY)) || void 0; 11072 } 11073 static ɵfac = function(t) { 11074 return new (t || e)(); 11075 }; 11076 static ɵprov = R({ 11077 token: e, 11078 factory: e.ɵfac, 11079 providedIn: "root" 11080 }); 11081 } 11082 return e; 11083 })(); 11084 })))(); 11085} 11086var rk, xi, Id, Zg, ev, sk, nk, tv, ak; 11087function ok() { 11088 return (ok = Z((() => { 11089 Re(), de(), Ke(), Nd(), rk = class { 11090 constructor() { 11091 this.tasks = []; 11092 } 11093 schedule(e) { 11094 this.tasks.push(e); 11095 } 11096 flush() { 11097 requestAnimationFrame(() => { 11098 this.tasks.forEach((e) => e()), this.tasks = []; 11099 }); 11100 } 11101 }, xi = (function(e) { 11102 return e.Left = "Left", e.Center = "Center", e.Right = "Right", e; 11103 })(xi || {}), Id = (function(e) { 11104 return e.Default = "default", e.Small = "sm", e.Large = "lg", e.ExtraLarge = "xl", e; 11105 })(Id || {}), Zg = (function(e) { 11106 return e[e.Default = 0] = "Default", e[e.Large = 1] = "Large", e[e.ExtraLarge = 2] = "ExtraLarge", e; 11107 })(Zg || {}), ev = class { 11108 constructor(e, i) { 11109 this.availableColumns = [...this.orderedColumns], this.contentColumns = [], this._registeredComponents = /* @__PURE__ */ new Map(), this.refreshLayout(e), i && i.forEach((t) => this.registerComponent(t)); 11110 } 11111 get orderedColumns() { 11112 return []; 11113 } 11114 get isLeftVisible() { 11115 return this.columnVisible(xi.Left); 11116 } 11117 get isRightVisible() { 11118 return this.columnAvailable(xi.Right); 11119 } 11120 get shouldHaveLeftColumn() { 11121 return this.columnAvailable(xi.Left); 11122 } 11123 get shouldHaveRightColumn() { 11124 return this.columnAvailable(xi.Right); 11125 } 11126 get shouldHaveThreeColumns() { 11127 return this.shouldHaveLeftColumn && this.shouldHaveRightColumn; 11128 } 11129 get maxColumnCount() { 11130 return this.availableColumns.length; 11131 } 11132 get visibleColumns() { 11133 let e = [xi.Center]; 11134 return this.isLeftVisible && e.push(xi.Left), this.isRightVisible && e.push(xi.Right), e; 11135 } 11136 columnVisible(e) { 11137 return this.columnAvailable(e) && this.contentColumns.includes(e); 11138 } 11139 registeredComponents() { 11140 return [...this._registeredComponents.values()]; 11141 } 11142 registerComponent(e) { 11143 return this._registeredComponents.has(e.component) ? !1 : (this._registeredComponents.set(e.component, C({}, e)), this.checkColumnsForComponents(), !0); 11144 } 11145 removeComponent(e) { 11146 this._registeredComponents.delete(e), this.checkColumnsForComponents(); 11147 } 11148 refreshLayout(e) { 11149 let i = this.availableColumns.length !== e; 11150 return this.availableColumns = this.orderedColumns.slice(0, e), i; 11151 } 11152 columnAvailable(e) { 11153 return this.availableColumns.includes(e); 11154 } 11155 checkColumnsForComponents() { 11156 let e = this.registeredComponents().map((i) => i.location); 11157 this.contentColumns = IA(e); 11158 } 11159 }, sk = class extends ev { 11160 get orderedColumns() { 11161 return [xi.Center]; 11162 } 11163 }, nk = class extends ev { 11164 get orderedColumns() { 11165 return [ 11166 xi.Center, 11167 xi.Left, 11168 xi.Right 11169 ]; 11170 } 11171 }, tv = class { 11172 constructor(e) { 11173 this.flags = e; 11174 } 11175 get htmlClasses() { 11176 let e = []; 11177 return this.flags.htmlClass && e.push(this.flags.htmlClass), this.flags.cardContent && e.push("card-content"), this.flags.fixedContent && e.push("fixed-content"), this.flags.subN
11177avigation && e.push("header-sub-navigation"), this.flags.stickyHeader && e.push("header-sticky"), e; 11178 } 11179 get cardContent() { 11180 return this.flags.cardContent; 11181 } 11182 get columns() { 11183 return this.flags.fixedContent ? 1 : this.flags.columns || 1; 11184 } 11185 get headerNavigation() { 11186 return this.flags.headerNavigation && (!this.flags.breadcrumbNavigation || this.flags.columns === 3); 11187 } 11188 get headerSubNavigation() { 11189 return this.flags.headerSubNavigation; 11190 } 11191 get headerSubNavigationHidden() { 11192 return !this.flags.subNavigation || this.flags.shouldHideSubNavigation && this.flags.subNavigationHiddenOnSmallScreen; 11193 } 11194 get headerTopNavigationHidden() { 11195 return !this.flags.headerNavigation || this.flags.topNavigationHiddenOnSmallScreen && this.bottomNavigation; 11196 } 11197 get headerTabNavigation() { 11198 return this.flags.headerTabNavigation; 11199 } 11200 get breadcrumbNavigation() { 11201 return this.flags.breadcrumbNavigation; 11202 } 11203 get bottomNavigation() { 11204 return !!this.flags && !!this.flags.columns && this.flags.columns < 3 && !!this.flags.bottomNavigation; 11205 } 11206 get hasRightColumn() { 11207 return this.columns === 3; 11208 } 11209 get quickBetActive() { 11210 return !!this.flags.quickBetActive && this.quickBetCanBeShown; 11211 } 11212 get quickBetBuilderActive() { 11213 return !!this.flags.quickBetBuilderActive; 11214 } 11215 get quickBetCanBeShown() { 11216 return this.columns < 3 || !!this.flags.quickBetBuilderActive; 11217 } 11218 get primaryModularHeader() { 11219 return this.flags.primaryModularHeader ?? !1; 11220 } 11221 get rightColumnSize() { 11222 return this.flags.rightColumnSize || Id.Default; 11223 } 11224 get showDesktopAZSports() { 11225 return this.columns > 2; 11226 } 11227 }, ak = (() => { 11228 let e = class { 11229 constructor() { 11230 this.productUtils = f(Cd), this.state = new tv({}), this.stateChange = new Gt(this.state), this.providerListChange = new Xe(), this.currentProviders = [], this.stateChange$ = this.stateChange.asObservable(); 11231 } 11232 get current() { 11233 return this.state; 11234 } 11235 register(...t) { 11236 this.currentProviders.push(...t), this.providerListChange.next(), Vi(...this.currentProviders.map((r) => r.asObservable())).pipe(this.productUtils.filterSportsEmitLast(!0), bi(this.providerListChange)).subscribe((r) => { 11237 if (kA(this.state.flags, r)) return; 11238 let s = AA({}, this.state.flags, r); 11239 this.state = new tv(s), this.stateChange.next(xA(this.state)); 11240 }); 11241 } 11242 }; 11243 return e.ɵfac = function(i) { 11244 return new (i || e)(); 11245 }, e.ɵprov = R({ 11246 token: e, 11247 factory: e.ɵfac, 11248 providedIn: "root" 11249 }), e; 11250 })(); 11251 })))(); 11252} 11253var iv, lk; 11254function ck() { 11255 return (ck = Z((() => { 11256 iv = (function(e) { 11257 return e.ExampleFlag = "ldx-example-for-non-breaking-unit-testing", e.ExampleMasterFlag = "ldx-example-for-non-breaking-master-unit-testing", e.BannerGamesDisplayType = "ld16-gyml_row_display_type", e.BetslipMode = "ld18-betslip_test_spain_bab", e.DefaultStreamingTab = "ld_13-edp_streaming_tab", e.DisplayMode = "DisplayMode", e.EnableLiveAlerts = "EnableLiveAlerts", e.IsFavouritesEllipsisEnabled = "ld24-favourites_ellipsis_enabled", e.FavouritesNavigationMenuPosition = "ld11-sports_top_navigation_bar_favourites_position", e.PlayerStatsTracking = "ld15-player_stats_bet_tracking", e.ReuseSelections = "MyBetsReuseSelections", e.SportsHomeScreenYourFavouritesWidget = "ld12-sports_homescreen_your_favourites_widget2", e.TennisBetTracking = "ld17-tennis_market_bet_tracking", e.SportsQuickLinkMode = "sports_quick_links_mode", e.EnableTabbedMultiPod = "sports_enable_popular_picks", e.EnableBRP = "sports_enable_brp", e.EnableAlternateLineBetSlip = "sports_enable_alternate_line_betslip", e.CashoutIndicator = "ld19_cashout_value_indicator", e.MyBetsUpsellModuleDisplay = "ld20_upsell_post_cashout", e.GtgPlayerStatisticsTracking = "ld21_gtg_player_statistics_tracking", e.IsEllipsisMenuTooltipEnabled = "ellipsis-menu-tooltip-enabled", e.EnableLogPlaceBetTracking = "tech_flag_log_place_bet_tracking", e.EnableFavouritesReDesignMasterFlag = "ld27-favourite-redesign", e.EnableAltLineSliderTracking = "ld24_alt_line_slider_tracking", e.QuickBetEdp = "ld28-Betbar_vs_Quickbet_Performance_EDP", e.defaultExpandedMarketsEDP = "ld21-default_expanded_markets_edp", e.DynamicCategoryWidget = "ld26-Competition_Lobby_BB_Tab", e.EnableHeadsh
11257otPlayerImagery = "ld25_headshot_player_imagery", e.RebetButton = "ld23-rebet_button_copy", e.OptimisticPickRendering = "ld32-Optimistic_Pick_Rendering", e.RollingLinesBetslipQuickbet = "ld36-Rolling_Lines_Betslip_Quickbet", e.UpsellExperiment = "ld34-OptiX_Upsell", e.EnableFootballLandingPage = "ld38-football_SLP_redesign", e.EnableMyMarkets = "ld33-EDP_My_Markets", e.SportsBetBuilderRedundantLegs = "sports_betbuilder_redundant_legs", e.SportsBetBuilderUncombinableLegs = "sports_betbuilder_uncombinable_legs", e.BettingInsightsSurfacing = "ld46-betting_insights_surfacing", e.GymlNewToCasino = "ld42-GYML-New_to_Casino", e.UserProfileQuickLinks = "ld49-Homepage-Shortcuts", e.PrecreatedBetBuilderExperiment = "ld56-pbb_edit_journey_swap_selections", e.PBBWidgetFallbackCountMultiplier = "PBB-widget-fallback-count-multiplier", e.MarqueeVsScoreboardCarousel = "ld44-marquee_vs_scoreboard_carousel", e.MarketSearchEnabled = "sports_market_search_enabled", e.HomepageModulePositionOrdering = "ld64-homepage_module_position_ordering", e.EnableOptixSearch = "sports_search_optix", e.PrematchPlayerStatistics = "ld67-prematch_player_statistics", e.PopularTabExperience = "ld66-bb_plus_popular_markets_streamlined", e; 11258 })(iv || {}), lk = "LdFeatureFlags"; 11259 })))(); 11260} 11261function S2(e) { 11262 let i = e.properties?.cloth, t = e.properties?.raceCardNumber; 11263 return i || (t != null ? String(t) : void 0); 11264} 11265function b2(e) { 11266 return e === Od.RacingPost; 11267} 11268function Fo(e) { 11269 return e.short || e.value; 11270} 11271var Od, rv, dk, sv, nv, uk, av, ov, pk, Ki, lv, cv, dv, qi, ya, uv, pv, zo, hv, mv, fv, gv, vv, hk; 11272function mk() { 11273 return (mk = Z((() => { 11274 Re(), de(), sr(), Ke(), Cs(), Ns(), Cr(), Wa(), Yn(), Vy(), Kn(), Od = (function(e) { 11275 return e.RacingPost = "RacingPost", e.RaceLab = "RaceLab", e; 11276 })(Od || {}), rv = (function(e) { 11277 return e.Notavailable = "N/A", e; 11278 })(rv || {}), dk = class { 11279 constructor(e, i, t, r) { 11280 this.participant = e, this.showForecastOption = i, this.showTricastOption = t, this.first = !1, this.second = !1, this.third = !1, this.fourth = !1, this.fifth = !1, this.anyForecast = !1, this.anyTricast = !1, this.checkboxId = { 11281 first: "", 11282 second: "", 11283 third: "", 11284 fourth: "", 11285 fifth: "", 11286 anyForecast: "", 11287 anyTricast: "" 11288 }, this.checkboxId = { 11289 first: `cb-${r}-${e.id}-first`, 11290 second: `cb-${r}-${e.id}-second`, 11291 third: `cb-${r}-${e.id}-third`, 11292 fourth: `cb-${r}-${e.id}-fourth`, 11293 fifth: `cb-${r}-${e.id}-fifth`, 11294 anyForecast: `cb-${r}-${e.id}-any-forecast`, 11295 anyTricast: `cb-${r}-${e.id}-any-tricast` 11296 }; 11297 } 11298 }, sv = (function(e) { 11299 return e.Favourite = "Favourite", e.FavouriteCo = "FavouriteCo", e.FavouriteJoint = "FavouriteJoint", e; 11300 })(sv || {}), nv = (function(e) { 11301 return e.BeatenFavourite = "beatenFavourite", e.CourseWins = "courseWins", e.DistanceWins = "distanceWins", e.CourseAndDistanceWins = "courseAndDistanceWins", e; 11302 })(nv || {}), uk = "fiveStar", av = (function(e) { 11303 return e.HrHelp = "hr-help-overlay", e.HrInfo = "hr-info-overlay", e.GhHelp = "gr-help-overlay", e.GhInfo = "gr-info-overlay", e; 11304 })(av || {}), ov = (function(e) { 11305 return e.HrHelp = "hr-help", e.HrInfo = "hr-info", e.GhHelp = "gh-help", e.GhInfo = "gh-info", e; 11306 })(ov || {}), pk = { 11307 RACING_POST: "racing post", 11308 RACING_RATINGS_INFO: "ratings info popup", 11309 RACING_CARD_PAGE: "race card page", 11310 RACING_RATINGS_INFO_ICON: "ratings info icon" 11311 }, Ki = (function(e) { 11312 return e.Today = "today", e.Tomorrow = "tomorrow", e.DayAfterTomorrow = "dayAfterTomorrow", e.Future = "future", e.TodaysResults = "todays-results", e.NextRaces = "nextRaces", e; 11313 })(Ki || {}), lv = (function(e) { 11314 return e.Racewinner = "Race Winner", e.Forecast = "ForeCast", e.Tricast = "TriCast", e.CombinationForecast = "CombinationForecast", e.CombinationtTricast = "CombinationtTricast", e; 11315 })(lv || {}), cv = class { 11316 constructor(e, i = !1) { 11317 this.urlConfig = e, this.caseSensitive = i; 11318 } 11319 normalize(e) { 11320 if (!e) return ""; 11321 let i, t = () => i.toString(); 11322 typeof e == "string" || typeof e == "number" ? i = e : (i = e.name, t = () => [i, `${e.prefix || ""}${e.id}`].filter(_l).join("-").replace("--", "-")); 11323 let r = "gim"; 11324 "unicode" in RegExp.prototype && (r += "u"); 11325 let s = new RegExp(this.urlConfig.tokenSanitizer, r), n = new RegExp(" ", r); 11326 return i = i.toString().replace(s, " ").trim().replace(n, "-").slice(0, Math.max(0, this.urlConfig.maxTokenLength)), this.caseSensitive || (i = i.toLocaleLowerCase()), t(); 11327 } 11328 }, dv = class { 11329 constructor(e) { 11330 this.normalizer = e, this.params = [], this.query = {}; 11331 } 11332 appendIf(e) { 11333 return e ? this.append(e) : this; 11334 } 11335 append(e) { 11336 return this.params.push(this.normalizer.normalize(e)), this; 11337 } 11338 appendQuery(e) { 11339 return this.query = Cl(this.query, e || {}), this; 11340 } 11341 toString() { 11342 let e = Object.keys(this.query).filter((i) => this.query[i] !== null && this.query[i] !== void 0).map((i) => `${i}=${this.query[i]}`).join("&"); 11343 return e && (e = `?${e}`), `/${this.params.join("/")}${e}`; 11344 } 11345 }, qi = (function(e) { 11346 return e[e.Highlights = 0] = "Highlights", e[e.SportList = -1] = "SportList", e[e.Video = -2] = "Video", e[e.Favourites = -3] = "Favourites", e[e.Sport = 1] = "Sport", e[e.Esports = -4] = "Esports", e[e.LiveCasino = -5] = "LiveCasino", e; 11347 })(qi || {}), ya = (function(e) { 11348 return e.Competitions = "competitions", e.Calendar = "calendar", e.Today = "today", e.Betting = "betting", e.Antepost = "antepost", e.Featured = "featured", e.TeamPages = "teamPages", e.WorldCupHub = "worldCupHub", e; 11349 })(ya || {}), uv = (function(e) { 11350 return e.Betslip = "betslip", e.QuickBet = "quickBet", e.EarlyPayout = "earlyPayout", e.OddsDisplay = "oddsDisplay", e.StakeChanges = "stakeChanges", e; 11351 })(uv || {}), pv = (function(e) { 11352 return e.MyBets = "my-bets", e.Betslip = "betslip", e.BetModal = "bet-modal", e.BetBuilderPlus = "betbuilderplus", e; 11353 })(pv || {}), zo = (function(e) { 11354 return e.In30minutes = "in30minutes", e.In60minutes = "in60minutes", e.In180minutes = "in180minutes", e.Today = "today", e.Tomorrow = "tomorrow", e.After2days = "after2days", e.After3days = "after3days", e.Next2days = "next2days", e.Next3days = "next3days", e.Next5days = "next5days", e.MidWeek = "midWeek", e.ThisWeekend = "thisWeekend", e; 11355 })(zo || {}), hv = (function(e) { 11356 return e.Live = "live", e.Open = "open", e.Settled = "settled", e; 11357 })(hv || {}), mv = (function(e) { 11358 return e.MyBets = "my-bets", e.BetBuilder = "bet-builder", e.Sgp = "SGP", e; 11359 })(mv || {}), fv = (function(e) {
11360 return e.NonGridable = "non-gridable", e.Gridable = "matches", e.Outrights = "outrights", e.Specials = "specials", e.Standings = "standings", e.Teams = "teams", e.PriceBoost = "priceboost", e; 11361 })(fv || {}), gv = (function(e) { 11362 return e.Upcoming = "upcoming", e.Competitions = "competitions", e.Players = "players", e.Events = "events", e; 11363 })(gv || {}), vv = class { 11364 constructor() { 11365 this.page = f(Wr), this.location = f(EA), this.urlService = f(Un), this.urlConfig = f(Uy), this.sportConfig = f(Wy), this.sitecore = f(Yy), this.device = f(nr), this.seoConfig = f(q_), this.azSportsData = f(K_), this.liveConfig = f(j_), this.sportsProductService = f(Hy); 11366 } 11367 getUrl(e) { 11368 if (!e) return "#"; 11369 if (e.startsWith("http")) return e; 11370 let i = e.charAt(0), t = this.location.path(), r = e; 11371 return r === "/" ? r = this.prependPrefix("") : i === "/" ? r = this.prependPrefix(e) : i === "?" ? r = `${t}${e}` : r = `${t}/${e}`, r.replace(/\/$/, ""); 11372 } 11373 getHomeUrl() { 11374 return this.prefix; 11375 } 11376 getMultiSportsHubUrl() { 11377 return `${this.prefix}/${this.urlConfig.translations.multiSports}/${this.urlConfig.translations.multiSportsHubName}`; 11378 } 11379 getESportsUrl() { 11380 return `/${this.page.lang}/${this.productPath}/${this.urlConfig.translations.esports}`; 11381 } 11382 getSearchUrl() { 11383 return `${this.prefix}?popup=betfinder`; 11384 } 11385 getFindMenuUrl() { 11386 return `${this.prefix}/find`; 11387 } 11388 getFindMenuSearchUrl() { 11389 return `${this.prefix}/find/search`; 11390 } 11391 getMyBetPopupUrl() { 11392 return `${this.prefix}?popup=my-bets`; 11393 } 11394 getBetModalUrl() { 11395 return `${this.prefix}?popup=bet-modal`; 11396 } 11397 getAtoZUrl() { 11398 return `/${this.page.lang}/product-menu`; 11399 } 11400 getCalendarUrl(e) { 11401 if (!e) return this.getBuilder(this.urlConfig.translations.calendar).toString(); 11402 let i = C({}, this.urlConfig.translations), t = Object.values(zo), r = t.map((s) => i[s]); 11403 if (e in zo && i[e]) return this.getBuilder(i[e]).toString(); 11404 if (t.includes(e) && i[e]) return this.getBuilder(i[e]).toString(); 11405 if (r.includes(e)) return this.getBuilder(e).toString(); 11406 throw new Error("Wrong calendar interval"); 11407 } 11408 getLiveUrl(e = qi.Highlights, i) { 11409 let t = { 11410 [qi.Video]: this.urlConfig.translations.video, 11411 [qi.SportList]: this.urlConfig.translations.all, 11412 [qi.Highlights]: this.urlConfig.translations.betting, 11413 [qi.Favourites]: this.urlConfig.translations.favourites, 11414 [qi.Esports]: this.urlConfig.translations.esports, 11415 [qi.LiveCasino]: this.urlConfig.translations.liveCasino 11416 }[e], r = this.getBuilder(this.urlConfig.translations.live, t); 11417 return i && r.appendQuery({ trid: i }), r.toString(); 11418 } 11419 getPriceBoostUrl() { 11420 return this.getBuilder().toString(); 11421 } 11422 getLiveSportUrl({ sport: e, region: i, league: t, isEsport: r, conference: s }) { 11423 if (r && !this.liveConfig.allowedEsportsOnLiveNavigation?.includes(Number(e.id))) return this.getLiveUrl(qi.Esports); 11424 let n = this.getBuilder(this.urlConfig.translations.live, e); 11425 return i && (i === qi.Sport ? n.appendQuery({ fallback: !1 }) : n.append(i)), t && n.append(t), s && n.append(s), n.toString(); 11426 } 11427 getVirtualSportUrl(e, i, t) { 11428 let r = this.getBuilder(this.urlConfig.translations.virtual); 11429 return e && r.append(e), i && (r.append(i), t && r.appendQuery({ tab: t })), r.toString(); 11430 } 11431 getTournamentUrl(e, i, t) { 11432 let r = this.getBuilder(e, this.urlConfig.translations.tournaments, i); 11433 return t && r.append(t), r.toString(); 11434 } 11435 getEventUrl(e, i) { 11436 let t = this.getBuilder(this.urlConfig.translations.events); 11437 return e ? t.append(e).appendQuery({ market: i }).toString() : t.toString(); 11438 } 11439 getFixtureUrl(e, i, t) { 11440 return t ? this.getBuilder(t, e, this.urlConfig.translations.fixtures, i).toString() : this.getBuilder(e, this.urlConfig.translations.fixtures, i).toString(); 11441 } 11442 getFixtureUrlByFixture(e, i) { 11443 let t = { 11444 id: e.id, 11445 name: Fo(e.name) 11446 }, r = { 11447 id: e.sport.id, 11448 name: Fo(e.sport.name) 11449 }; 11450 switch (e.fixtureType) { 11451 case "Antepost": return i ? this.getBuilder(i, r, this.urlConfig.translations.fixtures, t).toString() : this.getBuilder(r, this.urlConfig.translations.fixtures, t).toString(); 11452 case "DayOfRace": 11453 let s = e; 11454 return this.getRacingUrlByFixture(e.sport.id, s); 11455 default: return ""; 11456 } 11457 } 11458 getCouponUrl(e, i) { 11459 let t = this.getBuilder(e, this.urlConfig.translations.coupons); 11460 return i && t.append(i), t.toString(); 11461 } 11462 getCompetitionCouponUrl(e, i, t, r) { 11463 let s = this.getBuilder(e, this.urlConfig.translations.coupons); 11464 return t && s.append(t), r && s.append(r), i && s.append(i), s.toString(); 11465 } 11466 getMultiBuilderUrl(e) { 11467 let i = this.getBuilder(this.urlConfig.translations.multiBuilder); 11468 return e && i.append(e), i.toString(); 11469 } 11470 getBetsUrl({ sport: e, region: i, league: t, conference: r, category: s, subCategory: n, dynamicCategory: a }) { 11471 let o = this.getBuilder(this.urlConfig.translations.bets).append(e).appendIf(i).appendIf(t).appendIf(r); 11472 return s && o.appendQuery({ category: s }), (n?.outrightCategory || n?.specialCategory) && o.appendQuery(n), a && o.appendQuery({ dynamicCategory: a }), o.toString(); 11473 } 11474 getBettingUrl({ sport: e, region: i, league: t, conference: r }) { 11475 let s = this.getBuilder(e); 11476 return i && s.append(this.urlConfig.translations.betting).append(i).appendIf(t).appendIf(r), s.toString(); 11477 } 11478 getStandingsUrl(e, i, t, r) { 11479 let s = this.getBuilder(this.urlConfig.translations.standings); 11480 return s.append(e), i && s.append(i), t && s.append(t), r && s.append(r), s.toString(); 11481 } 11482 getTeamPagesUrl(e, i, t) { 11483 let r = this.getBuilder(e, this.urlConfig.translations.teamPages); 11484 return r.append(t || this.urlConfig.translations.myTeams), i && r.append(i), r.toString(); 11485 } 11486 getTeamPagesSearchUrl(e, i) { 11487 return `${e}&teamId=${i}`; 11488 } 11489 getSettingsUrl(e) { 11490 return this.getBuilder(this.urlConfig.translations.settings, this.urlConfig.translations[e]).toString(); 11491 } 11492 getMyBetsUrl(e, i) { 11493 let t = this.getMyBetsUrlBuilder(e); 11494 return i && t.appendQuery(i), t.toString(); 11495 } 11496 getPrintUrlBuilder() { 11497 let e = this.getMyBetsUrlBuilder(); 11498 return e.append("print"), e; 11499 } 11500 shouldRemoveHref() { 11501 return this.seoConfig.removeHrefToEventForRobot && this.device.isRobot; 11502 } 11503 getMyBetsUrlBuilder(e) { 11504 let i = this.getBuilder(this.urlConfig.translations.myBets); 11505 return e && i.append(this.urlConfig.translations[e]), i; 11506 } 11507 getSportUrl(e, i, t, r, s, n, a = !0) { 11508 if (!e) return this.getBuilder(this.urlConfig.translations.all).toString();
11509 let o = this.getSportBuilder(e); 11510 if (i === ya.Featured || !i && this.device.isRobot) return o.toString(); 11511 if (!i) { 11512 let c = a && this.sportConfig.competitionLandingPage.includes(Ur(e.id)); 11513 if (this.azSportsData.azSports.some((d) => d.activeName === e.name)) { 11514 if (this.azSportsData.azSports.length > 0) return this.azSportsData.azSports.find((d) => d.activeName === e.name).link; 11515 } else return o.appendQuery({ fallback: c || void 0 }).toString(); 11516 } 11517 let l = () => { 11518 if (i) { 11519 let c = Object.entries(this.urlConfig.translations).find(([d, u]) => u === i || d === i); 11520 if (c) o.append(c[1]); 11521 else throw new Error("Context is not valid value"); 11522 } 11523 return o; 11524 }; 11525 if (t === ya.Competitions) l().append(this.urlConfig.translations.competitions); 11526 else { 11527 if (e.id === ee.Horses || e.id === ee.Greyhounds) throw new Error(`Context is not valid for ${e.id === ee.Horses ? "horse" : "greyhounds"} racing`); 11528 if (i === ya.Antepost) return o.append(this.urlConfig.translations.eachWay).toString(); 11529 l(), t && (o.append(t), r && (o.append(r), s && o.append(s))); 11530 } 11531 return n && o.appendQuery({ tab: n }), o.toString(); 11532 } 11533 getPopupUrl(e) { 11534 let i = this.urlService.current(); 11535 return i.search.set("popup", e), i.url(); 11536 } 11537 getFavouriteUrl(e) { 11538 let i = this.getBuilder(this.urlConfig.translations.favourites); 11539 return e && i.append(e), i.toString(); 11540 } 11541 getFavouriteUrlByUrlParam(e) { 11542 let i = this.getBuilder(this.urlConfig.translations.favourites), t = this.urlConfig.translations[e]; 11543 return t && i.append(t), i.toString(); 11544 } 11545 getRaceUrl(e, i, t, r) { 11546 let s = { 11547 id: e, 11548 name: e === ee.Horses ? this.sitecore.horseRacing.common.HorsesLinkText : this.sitecore.horseRacing.common.GreyhoundRacing 11549 }, n = this.getSportBuilder(s); 11550 return i === Ki.Future || i === Ki.Today || i === Ki.DayAfterTomorrow || i === Ki.Tomorrow || i === Ki.NextRaces ? n.append(this.urlConfig.translations[i]).toString() : this.getRacingUrl(i, n, t, r); 11551 } 11552 getMyStableUrl() { 11553 let e = { 11554 id: ee.Horses, 11555 name: this.sitecore.horseRacing.common.HorsesLinkText 11556 }; 11557 return this.getSportBuilder(e).append(this.urlConfig.translations.myStable).toString(); 11558 } 11559 getRacingUrl(e, i, t, r) { 11560 if (typeof e == "object") { 11561 i.append(e); 11562 let s = t || Ki.Today, n = [ 11563 Ki.Today, 11564 Ki.Tomorrow, 11565 Ki.DayAfterTomorrow 11566 ]; 11567 for (let a of n) { 11568 let o = Object.entries(this.urlConfig.translations).find(([l, c]) => l === a); 11569 (s === a || s === o?.[1]) && i.append(o?.[1]); 11570 } 11571 return typeof t == "object" && i.append(t), r && i.appendQuery({ market: r }), i.toString(); 11572 } 11573 throw new Error("Param is not valid for horse racing"); 11574 } 11575 getAllRacingUrlByMeeting(e, i, t) { 11576 let r = { 11577 id: i.meeting.id, 11578 name: Fo(i.meeting.name) 11579 }, s = t.concat("/all"), n = { 11580 id: s, 11581 name: s 11582 }; 11583 return this.getRaceUrl(e, r, n); 11584 } 11585 getRacingUrlByFixture(e, i) { 11586 let t = { 11587 id: i.meeting.id, 11588 name: Fo(i.meeting.name) 11589 }; 11590 return this.getRaceUrl(e, t, { 11591 id: i.id, 11592 name: "" 11593 }); 11594 } 11595 getBuilder(...e) { 11596 return this.getBuilderInternal(e); 11597 } 11598 getBuilderInternal(e, i = !1) { 11599 let t = new dv(new cv(this.urlConfig, i)); 11600 return t.append(this.page.lang).append(this.productPath), e.forEach((r) => t.append(r)), t; 11601 } 11602 getSportBuilder(...e) { 11603 return this.getBuilder(...e); 11604 } 11605 getAbsolute(e = "") { 11606 let i = this.urlService.current(), t = `${i.protocol}://${i.hostname}`; 11607 return e || (t += this.prefix), t += e, t; 11608 } 11609 getLastSegment(e) { 11610 let i = this.urlService.parse(e); 11611 return i.pathname.split("/").pop() || i.pathname; 11612 } 11613 getQueryParams(e) { 11614 if (e) return this.urlService.parse(e).search; 11615 } 11616 prependPrefix(e) { 11617 return !e.includes(this.prefix) && !e.startsWith(this.culturePrefix) ? this.prefix + e : e; 11618 } 11619 get prefix() { 11620 return `${this.culturePrefix}${this.productPath}`; 11621 } 11622 get culturePrefix() { 11623 return `/${this.page.lang}/`; 11624 } 11625 get productPath() { 11626 return this.sportsProductService.isSingleDomain ? this.sportsProductService.sportsProductName : this.page.product; 11627 } 11628 }, hk = (() => { 11629 let e = class extends vv {}; 11630 return e.ɵfac = (() => { 11631 let i; 11632 return function(t) { 11633 return (i || (i = Fe(e)))(t || e); 11634 }; 11635 })(), e.ɵprov = R({ 11636 token: e, 11637 factory: e.ɵfac, 11638 providedIn: "root" 11639 }), e; 11640 })(); 11641 })))(); 11642} 11643var fk; 11644function gk() { 11645 return (gk = Z((() => { 11646 de(), fk = (() => { 11647 let e = class { 11648 constructor() { 11649 this.listeners = /* @__PURE__ */ new Map(), this.subject = new Xe(); 11650 } 11651 dispatch(t, r) { 11652 let s = this.getKey(t); 11653 this.listeners.get(s) && this.subject.next({ 11654 event: s, 11655 data: r 11656 }); 11657 } 11658 on(t) { 11659 return this.getOrCreateSubscription(t).observable; 11660 } 11661 ngOnDestroy() { 11662 this.subject.complete(); 11663 } 11664 getKey(t) { 11665 return this.isDomainEvent(t) ? t.key : t; 11666 } 11667 getOrCreateSubscription(t) { 11668 let r = this.getKey(t); 11669 return this.listeners.has(r) || this.listeners.set(r, { observable: this.subject.asObservable().pipe(We((s) => s.event === r), xe((s) => s.data), Kb()) }), this.listeners.get(r); 11670 } 11671 isDomainEvent(t) { 11672 return !!t.key; 11673 } 11674 }; 11675 return e.ɵfac = function(i) { 11676 return new (i || e)(); 11677 }, e.ɵprov = R({ 11678 token: e, 11679 factory: e.ɵfac, 11680 providedIn: "root" 11681 }), e; 11682 })(); 11683 })))(); 11684} 11685var Pd, Sv, vk; 11686function bv() { 11687 return (bv = Z((() => { 11688 de(), Pd = new Te("DYNAMIC_INJECTOR_PROVIDER_TOKEN"), Sv = (e) => new Te(`DynamicRootFor_${e instanceof Te ? e.toString() : e.name}`, { 11689 providedIn: "root", 11690 factory: () => f(Pd).getDynamicInjector().get(e) 11691 }), vk = (e) => new Te(`OptionalDynamicRootFor_${e instanceof Te ? e.toString() : e.name}`, { 11692 providedIn: "root", 11693 factory: () => f(Pd).getDynamicInjector().get(e, null, { optional: !0 }) 11694 }); 11695 })))(); 11696} 11697function y2(e) { 11698 return e.get(_d); 11699} 11700function Vs(e) { 11701 function i(t, r) { 11702 Error.captureStackTrace && Error.captureStackTrace(this, this.constructor), this.message = t, this.code = r; 11703 } 11704 return i.prototype = /* @__PURE__ */ new Error(), i.prototype.name = e, i.prototype.constructor = i, i; 11705} 11706function Sk(e) { 11707 var i = e.length; 11708 if (i % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4"); 11709 var t = e.indexOf("="); 11710 return t === -1 && (t = i), [t, t === i ? 0 : 4 - t % 4]; 11711} 11712function w2(e) { 11713 return cr[e >> 18 & 63] + cr[e >> 12 & 63] + cr[e >> 6 & 63] + cr[63 & e]; 11714} 11715function E2(e, i, t) { 11716 for (var r, s = [], n = i; n < t; n += 3) r = (e[n] << 16 & 16711680) + (e[n + 1] << 8 & 65280) + (255 & e[n + 2]), s.push(w2(r)); 11717 return s.join(""); 11718} 11719function bk(e) { 11720 let i = unescape(encodeURIComponent(e)); 11721 return Hk.fromByteArray((function(t) { 11722 let r = []; 11723 for (let s = 0; s < t.length;
11723 s++) r.push(t.charCodeAt(s)); 11724 return r; 11725 })(i)); 11726} 11727function yv(e, i) { 11728 return Object.prototype.hasOwnProperty.call(e, i); 11729} 11730function wa(e, i) { 11731 let t = ""; 11732 for (let r = i.start; r <= i.end; r += 1) t += e[r].toString(16).padStart(2, "0"); 11733 return t; 11734} 11735function yk(e) { 11736 return e[Rd.start] = 191 & e[Rd.start] | 128, e[Md.start] = 15 & e[Md.start] | 64, `${wa(e, Yk)}-${wa(e, Kk)}-${wa(e, Md)}-${wa(e, Rd)}${wa(e, qk)}-${wa(e, Xk)}`; 11737} 11738function wk() { 11739 return yk((function() { 11740 if (typeof crypto < "u" && crypto.getRandomValues) { 11741 let i = /* @__PURE__ */ new Uint8Array(16); 11742 return crypto.getRandomValues(i), [...i.values()]; 11743 } 11744 let e = []; 11745 for (let i = 0; i < 16; i += 1) e.push(Math.floor(256 * Math.random())); 11746 return e; 11747 })()); 11748} 11749function $d(e) { 11750 return e && e.message ? e.message : typeof e == "string" || e instanceof String ? e : JSON.stringify(e); 11751} 11752function wv(e) { 11753 return e && e.replace(/\/+$/, ""); 11754} 11755function Ek(e, i, t) { 11756 if (typeof i == "string" && i.match(Qk)) { 11757 if (!(i.length > 64)) return i; 11758 t.warn(Se.tagValueTooLong(e)); 11759 } else t.warn(Se.invalidTagValue(e)); 11760} 11761function Ck(e) { 11762 return typeof e == "string" && e !== "kind" && e.match(/^(\w|\.|-)+$/); 11763} 11764function Nk(e) { 11765 return e.includes("%") || e.includes(":") ? e.replace(/%/g, "%25").replace(/:/g, "%3A") : e; 11766} 11767function Tk(e) { 11768 return e.replace(/~/g, "~0").replace(/\//g, "~1"); 11769} 11770function kk(e) { 11771 return (e.startsWith("/") ? e.substring(1) : e).split("/").map((i) => i.indexOf("~") >= 0 ? i.replace(/~1/g, "/").replace(/~0/g, "~") : i); 11772} 11773function xk(e) { 11774 return !e.startsWith("/"); 11775} 11776function Ik(e, i) { 11777 let t = xk(e), r = xk(i); 11778 if (t && r) return e === i; 11779 if (t) { 11780 let s = kk(i); 11781 return s.length === 1 && e === s[0]; 11782 } 11783 if (r) { 11784 let s = kk(e); 11785 return s.length === 1 && i === s[0]; 11786 } 11787 return e === i; 11788} 11789function Ok(e) { 11790 return `/${Tk(e)}`; 11791} 11792function Go(e, i, t, r, s) { 11793 try { 11794 return r(); 11795 } catch (n) { 11796 return e?.error(`An error was encountered in "${i}" of the "${t}" hook: ${n}`), s; 11797 } 11798} 11799function Vo(e, i) { 11800 try { 11801 return i.getMetadata().name || Pv; 11802 } catch { 11803 return e.error("Exception thrown getting metadata for hook. Unable to get hook name."), Pv; 11804 } 11805} 11806function Ad(e, i) { 11807 try { 11808 return i.getMetadata().name || $v; 11809 } catch { 11810 return e.error("Exception thrown getting metadata for plugin. Unable to get plugin name."), $v; 11811 } 11812} 11813function C2(e, i, t) { 11814 return (i = (function(r) { 11815 var s = (function(n, a) { 11816 if (typeof n != "object" || !n) return n; 11817 var o = n[Symbol.toPrimitive]; 11818 if (o !== void 0) { 11819 var l = o.call(n, a || "default"); 11820 if (typeof l != "object") return l; 11821 throw new TypeError("@@toPrimitive must return a primitive value."); 11822 } 11823 return (a === "string" ? String : Number)(n); 11824 })(r, "string"); 11825 return typeof s == "symbol" ? s : s + ""; 11826 })(i)) in e ? Object.defineProperty(e, i, { 11827 value: t, 11828 enumerable: !0, 11829 configurable: !0, 11830 writable: !0 11831 }) : e[i] = t, e; 11832} 11833function Pk(e, i) { 11834 var t = Object.keys(e); 11835 if (Object.getOwnPropertySymbols) { 11836 var r = Object.getOwnPropertySymbols(e); 11837 i && (r = r.filter(function(s) { 11838 return Object.getOwnPropertyDescriptor(e, s).enumerable; 11839 })), t.push.apply(t, r); 11840 } 11841 return t; 11842} 11843function Ev(e) { 11844 for (var i = 1; i < arguments.length; i++) { 11845 var t = arguments[i] != null ? arguments[i] : {}; 11846 i % 2 ? Pk(Object(t), !0).forEach(function(r) { 11847 C2(e, r, t[r]); 11848 }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Pk(Object(t)).forEach(function(r) { 11849 Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); 11850 }); 11851 } 11852 return e; 11853} 11854function N2(e, i, t, r, s) { 11855 if (s && !(function() { 11856 var l = window.navigator && window.navigator.userAgent; 11857 if (l) { 11858 var c = l.match(/Chrom(e|ium)\/([0-9]+)\./); 11859 if (c) return parseInt(c[2], 10) < 73; 11860 } 11861 return !0; 11862 })()) return Mv; 11863 var n = new window.XMLHttpRequest(); 11864 for (var a in n.open(e, i, !s), t || {}) Object.prototype.hasOwnProperty.call(t, a) && n.setRequestHeader(a, t[a]); 11865 if (s) { 11866 try { 11867 n.send(r); 11868 } catch {} 11869 return Mv; 11870 } 11871 var o; 11872 return { 11873 promise: new Promise(function(l, c) { 11874 n.addEventListener("load", function() { 11875 o || l({ 11876 status: n.status, 11877 header: function(d) { 11878 return n.getResponseHeader(d); 11879 }, 11880 body: n.responseText 11881 }); 11882 }), n.addEventListener("error", function() { 11883 o || c(/* @__PURE__ */ new Error()); 11884 }), n.send(r); 11885 }), 11886 cancel: function() { 11887 o = !0, n.abort(); 11888 } 11889 }; 11890} 11891function T2(e, i, t, r) { 11892 var s, n, a = ((e.kind === "substring" || e.kind === "regex") && r.includes("/") ? i : i.replace(r, "")).replace(t, ""); 11893 switch (e.kind) { 11894 case "exact": 11895 n = i, s = new RegExp("^" + Wd(e.url) + "/?$"); 11896 break; 11897 case "canonical": 11898 n = a, s = new RegExp("^" + Wd(e.url) + "/?$"); 11899 break; 11900 case "substring": 11901 n = a, s = new RegExp(".*" + Wd(e.substring) + ".*$"); 11902 break; 11903 case "regex": 11904 n = a, s = new RegExp(e.pattern); 11905 break; 11906 default: return !1; 11907 } 11908 return s.test(n); 11909} 11910function $k(e, i) { 11911 for (var t = {}, r = null, s = [], n = 0; n < e.length; n++) for (var a = e[n], o = a.urls || [], l = 0; l < o.length; l++) if (T2(o[l], window.location.href, window.location.search, window.location.hash)) { 11912 a.kind === "pageview" ? i("pageview", a) : (s.push(a), i("click_pageview", a)); 11913 break; 11914 } 11915 return s.length > 0 && (r = function(c) { 11916 for (var d = (function(h, g) { 11917 for (var p = [], m = 0; m < g.length; m++) for (var S = h.target, b = g[m], v = b.selector, y = document.querySelectorAll(v); S && y.length > 0;) { 11918 for (var w = 0; w < y.length; w++) S === y[w] && p.push(b); 11919 S = S.parentNode; 11920 } 11921 return p; 11922 })(c, s), u = 0; u < d.length; u++) i("click", d[u]); 11923 }, document.addEventListener("click", r)), t.dispose = function() { 11924 document.removeEventListener("click", r); 11925 }, t; 11926} 11927function k2(e, i, t) { 11928 var r, s; 11929 function n() { 11930 s && s.dispose(), r && r.length && (s = $k(r, a)); 11931 } 11932 function a(o, l) { 11933 var c = e.ident.getContext(), d = { 11934 kind: o, 11935 key: l.key, 11936 data: null, 11937 url: i.getCurrentUrl(), 11938 creationDate: (/* @__PURE__ */ new Date()).getTime(), 11939 context: c 11940 }; 11941 return o === "click" && (d.selector = l.selector), e.enqueueEvent(d); 11942 } 11943 return e.requestor.fetchJSON("/sdk/goals/" + e.getEnvironmentId()).then(function(o) { 11944 o && o.length > 0 && (s = $k(r = o, a), (function(l, c) { 11945 var d, u = window.location.href; 11946 function h() { 11947 (d = window.location.href) !== u && (u = d, c()); 11948 } 11949 (function g(p, m) { 11950 p(), setTimeout(function() { 11951 g(p, m); 11952 }, m); 11953 })(h, l), window.history && window.history.pushState ? window.addEventListener("popstate", h) : window.addEventListener("hashchange", h); 11954 })(300, n)), t(); 11955 }).catch(function(o) { 11956 e.emitter.maybeReportError(new jx.LDUnexpectedResponseError((o && o.message, o.message))), t(); 11957 }), {}; 11958} 11959function Ak(e, i) { 11960 var t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, r = (function(d) { 11961 var u, h = { 11962 userAgentHeaderName: "X-LaunchDarkly-User-Agent", 11963 synchronousFlush: !1 11964 }; 11965 if (window.XMLHttpRequest) { 11966 var g = d && d.disableSyncEventPost; 11967 h.httpRequest = function(b, v, y, w) { 11968 var T = h.synchronousFlush & !g; 11969 return h.synchronousFlush = !1, N2(b, v, y, w, T); 11970 }; 11971 } 11972 h.httpAllowsPost = function() { 11973 return u === void 0 && (u = !!window.XMLHttpRequest && "withCredentials" in new window.XMLHttpRequest()), u; 11974 }, h.httpFallbackPing = function(b) { 11975 new window.Image().src = b; 11976 }; 11977 var p, m = d && d.eventUrlTransformer; 11978 h.getCurrentUrl = function() { 11979 return m ? m(window.location.href) : window.location.href; 11980 }, h.isDoNotTrack = function() { 11981 var b; 11982 return (b = window.navigator && window.navigator.doNotTrack !== void 0 ? window.navigator.doNotTrack : window.navigator && window.navigator.msDoNotTrack !== void 0 ? window.navigator.msDoNotTrack : window.doNotTrack) === 1 || b === !0 || b === "1" || b === "yes"; 11983 }; 11984 try { 11985 window.localStorage && (h.localStorage = { 11986 get: function(b) { 11987 return new Promise(function(v) { 11988 v(window.localStorage.getItem(b)); 11989 }); 11990 }, 11991 set: function(b, v) { 11992 return new Promise(function(y) { 11993 window.localStorage.setItem(b, v), y(); 11994 }); 11995 }, 11996 clear: function(b) { 11997 return new Promise(function(v) { 11998 window.localStorage.removeItem(b), v(); 11999 }); 12000 } 12001 }); 12002 } catch { 12003 h.localStorage = null; 12004 } 12005 if (d && d.useReport && typeof window.EventSourcePolyfill == "function" && window.EventSourcePolyfill.supp
12005ortedOptions && window.EventSourcePolyfill.supportedOptions.method ? (h.eventSourceAllowsReport = !0, p = window.EventSourcePolyfill) : (h.eventSourceAllowsReport = !1, p = window.EventSource), window.EventSource) { 12006 var S = 3e5; 12007 h.eventSourceFactory = function(b, v) { 12008 var y = Ev(Ev({}, { 12009 heartbeatTimeout: S, 12010 silentTimeout: S, 12011 skipDefaultHeaders: !0 12012 }), v); 12013 return new p(b, y); 12014 }, h.eventSourceIsActive = function(b) { 12015 return b.readyState === window.EventSource.OPEN || b.readyState === window.EventSource.CONNECTING; 12016 }; 12017 } 12018 return h.userAgent = "JSClient", h.version = "3.9.3", h.diagnosticSdkData = { 12019 name: "js-client-sdk", 12020 version: "3.9.3" 12021 }, h.diagnosticPlatformData = { name: "JS" }, h.diagnosticUseCombinedEvent = !0, h; 12022 })(t), s = Wx(e, i, t, r, qx), n = s.client, a = s.options, o = s.emitter, l = new Promise(function(d) { 12023 var u = o.on(qo, function() { 12024 o.off(qo, u), d(); 12025 }); 12026 }); 12027 n.waitUntilGoalsReady = function() { 12028 return l; 12029 }, a.fetchGoals ? k2(s, r, function() { 12030 return o.emit(qo); 12031 }) : o.emit(qo), document.readyState !== "complete" ? window.addEventListener("load", s.start) : s.start(); 12032 var c = function() { 12033 r.synchronousFlush = !0, n.flush().catch(function() {}), r.synchronousFlush = !1; 12034 }; 12035 return document.addEventListener("visibilitychange", function() { 12036 document.visibilityState === "hidden" && c(); 12037 }), window.addEventListener("pagehide", c), n; 12038} 12039function x2() { 12040 return [Al(Jx)]; 12041} 12042var _d, _k, Mk, Rk, Lk, Bk, Dk, bt, Fk, zk, Gk, cr, Ri, Vk, Cv, Tn, Hk, Nv, Tv, Uk, Wk, jk, ke, Yk, Kk, Md, Rd, qk, Xk, Ld, Ea, Bd, kn, Se, Jk, kv, Qk, Dd, Zk, Fd, ex, tx, ix, xv, rx, sx, Ho, nx, ax, ox, zd, lx, cx, dx, ux, Uo, Gd, Vd, px, hx, mx, Iv, fx, gx, vx, Sx, bx, yx, wx, Ex, Cx, Ov, Nx, Tx, kx, xx, Ix, Ox, Hd, Px, Ud, $x, Wo, fi, Ax, _x, Mx, Pv, Rx, Lx, $v, Bx, Av, Dx, Fx, jo, zx, Gx, Vx, Hx, Ux, Yo, _v, Ko, Wx, jx, Yx, Kx, Mv, Wd, qo, qx, Xx, Rv, Jx; 12043function Qx() { 12044 return (Qx = Z((() => { 12045 for (Re(), de(), sr(), Ke(), yi(), st(), ks(), xs(), Ts(), Ut(), pt(), _d = (() => { 12046 var e = class extends ii {}; 12047 let i = (e.ɵfac = (() => { 12048 let t; 12049 return function(r) { 12050 return (t || (t = Fe(e)))(r || e); 12051 }; 12052 })(), e.ɵprov = R({ 12053 token: e, 12054 factory: function(t) { 12055 let r = null; 12056 return t ? r = new t() : r = y2(ve(Ht)), r; 12057 }, 12058 providedIn: "root" 12059 }), e); 12060 return i = ht([Wt({ 12061 key: "vnLaunchDarkly", 12062 product: it.SF 12063 })], i), i; 12064 })(), _k = Vs("LaunchDarklyUnexpectedResponseError"), Mk = Vs("LaunchDarklyInvalidEnvironmentIdError"), Rk = Vs("LaunchDarklyInvalidUserError"), Lk = Vs("LaunchDarklyInvalidEventKeyError"), Bk = Vs("LaunchDarklyInvalidArgumentError"), Dk = Vs("LaunchDarklyFlagFetchError"), bt = { 12065 LDUnexpectedResponseError: _k, 12066 LDInvalidEnvironmentIdError: Mk, 12067 LDInvalidUserError: Rk, 12068 LDInvalidEventKeyError: Lk, 12069 LDInvalidArgumentError: Bk, 12070 LDInvalidDataError: Vs("LaunchDarklyInvalidDataError"), 12071 LDFlagFetchError: Dk, 12072 LDTimeoutError: Vs("LaunchDarklyTimeoutError"), 12073 isHttpErrorRecoverable: function(e) { 12074 return !(e >= 400 && e < 500) || e === 400 || e === 408 || e === 429; 12075 } 12076 }, Fk = function(e) { 12077 var i = Sk(e), t = i[0], r = i[1]; 12078 return 3 * (t + r) / 4 - r; 12079 }, zk = function(e) { 12080 var i, t, r = Sk(e), s = r[0], n = r[1], a = new Vk((function(c, d, u) { 12081 return 3 * (d + u) / 4 - u; 12082 })(0, s, n)), o = 0, l = n > 0 ? s - 4 : s; 12083 for (t = 0; t < l; t += 4) i = Ri[e.charCodeAt(t)] << 18 | Ri[e.charCodeAt(t + 1)] << 12 | Ri[e.charCodeAt(t + 2)] << 6 | Ri[e.charCodeAt(t + 3)], a[o++] = i >> 16 & 255, a[o++] = i >> 8 & 255, a[o++] = 255 & i; 12084 return n === 2 && (i = Ri[e.charCodeAt(t)] << 2 | Ri[e.charCodeAt(t + 1)] >> 4, a[o++] = 255 & i), n === 1 && (i = Ri[e.charCodeAt(t)] << 10 | Ri[e.charCodeAt(t + 1)] << 4 | Ri[e.charCodeAt(t + 2)] >> 2, a[o++] = i >> 8 & 255, a[o++] = 255 & i), a; 12085 }, Gk = function(e) { 12086 for (var i, t = e.length, r = t % 3, s = [], n = 16383, a = 0, o = t - r; a < o; a += n) s.push(E2(e, a, a + n > o ? o : a + n)); 12087 return r === 1 ? (i = e[t - 1], s.push(cr[i >> 2] + cr[i << 4 & 63] + "==")) : r === 2 && (i = (e[t - 2] << 8) + e[t - 1], s.push(cr[i >> 10] + cr[i >> 4 & 63] + cr[i << 2 & 63] + "=")), s.join(""); 12088 }, cr = [], Ri = [], Vk = typeof Uint8Array < "u" ? Uint8Array : Array, Cv = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
12088+/", Tn = 0; Tn < 64; ++Tn) cr[Tn] = Cv[Tn], Ri[Cv.charCodeAt(Tn)] = Tn; 12089 Ri[45] = 62, Ri[95] = 63, Hk = { 12090 byteLength: Fk, 12091 toByteArray: zk, 12092 fromByteArray: Gk 12093 }, Nv = Array.isArray, Tv = Object.keys, Uk = Object.prototype.hasOwnProperty, Wk = function e(i, t) { 12094 if (i === t) return !0; 12095 if (i && t && typeof i == "object" && typeof t == "object") { 12096 var r, s, n, a = Nv(i), o = Nv(t); 12097 if (a && o) { 12098 if ((s = i.length) != t.length) return !1; 12099 for (r = s; r-- !== 0;) if (!e(i[r], t[r])) return !1; 12100 return !0; 12101 } 12102 if (a != o) return !1; 12103 var l = i instanceof Date, c = t instanceof Date; 12104 if (l != c) return !1; 12105 if (l && c) return i.getTime() == t.getTime(); 12106 var d = i instanceof RegExp, u = t instanceof RegExp; 12107 if (d != u) return !1; 12108 if (d && u) return i.toString() == t.toString(); 12109 var h = Tv(i); 12110 if ((s = h.length) !== Tv(t).length) return !1; 12111 for (r = s; r-- !== 0;) if (!Uk.call(t, h[r])) return !1; 12112 for (r = s; r-- !== 0;) if (!e(i[n = h[r]], t[n])) return !1; 12113 return !0; 12114 } 12115 return i != i && t != t; 12116 }, jk = [ 12117 "key", 12118 "ip", 12119 "country", 12120 "email", 12121 "firstName", 12122 "lastName", 12123 "avatar", 12124 "name" 12125 ], ke = { 12126 appendUrlPath: function(e, i) { 12127 return (e.endsWith("/") ? e.substring(0, e.length - 1) : e) + (i.startsWith("/") ? "" : "/") + i; 12128 }, 12129 base64URLEncode: function(e) { 12130 return bk(e).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_"); 12131 }, 12132 btoa: bk, 12133 clone: function(e) { 12134 return JSON.parse(JSON.stringify(e)); 12135 }, 12136 deepEquals: function(e, i) { 12137 return Wk(e, i); 12138 }, 12139 extend: function(...e) { 12140 return e.reduce((i, t) => C(C({}, i), t), {}); 12141 }, 12142 getLDUserAgentString: function(e) { 12143 let i = e.version || "?"; 12144 return e.userAgent + "/" + i; 12145 }, 12146 objectHasOwnProperty: yv, 12147 onNextTick: function(e) { 12148 setTimeout(e, 0); 12149 }, 12150 sanitizeContext: function(e) { 12151 if (!e) return e; 12152 let i; 12153 return e.kind !== null && e.kind !== void 0 || jk.forEach((t) => { 12154 let r = e[t]; 12155 r !== void 0 && typeof r != "string" && (i = i || C({}, e), i[t] = String(r)); 12156 }), i || e; 12157 }, 12158 transformValuesToVersionedValues: function(e) { 12159 let i = {}; 12160 for (let t in e) yv(e, t) && (i[t] = { 12161 value: e[t], 12162 version: 0 12163 }); 12164 return i; 12165 }, 12166 transformVersionedValuesToValues: function(e) { 12167 let i = {}; 12168 for (let t in e) yv(e, t) && (i[t] = e[t].value); 12169 return i; 12170 }, 12171 wrapPromiseCallback: function(e, i) { 12172 let t = e.then((r) => (i && setTimeout(() => { 12173 i(null, r); 12174 }, 0), r), (r) => { 12175 if (!i) return Promise.reject(r); 12176 setTimeout(() => { 12177 i(r, null); 12178 }, 0); 12179 }); 12180 return i ? void 0 : t; 12181 }, 12182 once: function(e) { 12183 let i, t = !1; 12184 return function(...r) { 12185 return t || (t = !0, i = e.apply(this, r)), i; 12186 }; 12187 } 12188 }, Yk = { 12189 start: 0, 12190 end: 3 12191 }, Kk = { 12192 start: 4, 12193 end: 5 12194 }, Md = { 12195 start: 6, 12196 end: 7 12197 }, Rd = { 12198 start: 8, 12199 end: 8 12200 }, qk = { 12201 start: 9, 12202 end: 9 12203 }, Xk = { 12204 start: 10, 12205 end: 15 12206 }, Ld = { 12207 randomUuidV4: function() { 12208 return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : wk(); 12209 }, 12210 fallbackUuidV4: wk, 12211 formatDataAsUuidV4: yk 12212 }, Ea = [ 12213 "debug", 12214 "info", 12215 "warn", 12216 "error", 12217 "none" 12218 ], Bd = { 12219 commonBasicLogger: function(e, i) { 12220 if (e && e.destination && typeof e.destination != "function") throw new Error("destination for basicLogger was set to a non-function"); 12221 function t(c) { 12222 return function(d) { 12223 console && console[c] && console[c].call(console, d); 12224 }; 12225 } 12226 let r = e && e.destination ? [ 12227 e.destination, 12228 e.destination, 12229 e.destination, 12230 e.destination 12231 ] : [ 12232 t("log"), 12233 t("info"), 12234 t("warn"), 12235 t("error") 12236 ], s = !(!e || !e.destination), n = e && e.prefix !== void 0 && e.prefix !== null ? e.prefix : "[LaunchDarkly] ", a = 1; 12237 if (e && e.level) for (let c = 0; c < Ea.length; c++) Ea[c] === e.level && (a = c); 12238 function o(c, d, u) { 12239 if (u.length < 1) return; 12240 let h, g = s ? d + ": " + n : n; 12241 if (u.length !== 1 && i) { 12242 let p = [...u]; 12243 p[0] = g + p[0], h = i(...p); 12244 } else h = g + u[0]; 12245 try { 12246 r[c](h); 12247 } catch (p) { 12248 console && console.log && console.log("[LaunchDarkly] Configured logger's " + d + " method threw an exception: " + p); 12249 } 12250 } 12251 let l = {}; 12252 for (let c = 0; c < Ea.length; c++) { 12253 let d = Ea[c]; 12254 if (d !== "none") if (c < a) l[d] = () => {}; 12255 else { 12256 let u = c; 12257 l[d] = function() { 12258 o(u, d, arguments); 12259 }; 12260 } 12261 } 12262 return l; 12263 }, 12264 validateLogger: function(e) {
vendor: 4,478 bytes, lines 12265-12366
12265 Ea.forEach((i) => { 12266 if (i !== "none" && (!e[i] || typeof e[i] != "function")) throw new Error("Provided logger instance must support logger." + i + "(...) method"); 12267 }); 12268 } 12269 }, kn = " Please see https://docs.launchdarkly.com/sdk/client-side/javascript#initialize-the-client for instructions on SDK initialization.", Se = { 12270 bootstrapInvalid: function() { 12271 return "LaunchDarkly bootstrap data is not available because the back end could not read the flags."; 12272 }, 12273 bootstrapOldFormat: function() { 12274 return "LaunchDarkly client was initialized with bootstrap data that did not include flag metadata. Events may not be sent correctly." + kn; 12275 }, 12276 clientInitialized: function() { 12277 return "LaunchDarkly client initialized"; 12278 }, 12279 clientNotReady: function() { 12280 return "LaunchDarkly client is not ready"; 12281 }, 12282 debugEnqueueingEvent: function(e) { 12283 return "enqueueing \"" + e + "\" event"; 12284 }, 12285 debugPostingDiagnosticEvent: function(e) { 12286 return "sending diagnostic event (" + e.kind + ")"; 12287 }, 12288 debugPostingEvents: function(e) { 12289 return "sending " + e + " events"; 12290 }, 12291 debugStreamDelete: function(e) { 12292 return "received streaming deletion for flag \"" + e + "\""; 12293 }, 12294 debugStreamDeleteIgnored: function(e) { 12295 return "received streaming deletion for flag \"" + e + "\" but ignored due to version check"; 12296 }, 12297 debugStreamPatch: function(e) { 12298 return "received streaming update for flag \"" + e + "\""; 12299 }, 12300 debugStreamPatchIgnored: function(e) { 12301 return "received streaming update for flag \"" + e + "\" but ignored due to version check"; 12302 }, 12303 debugStreamPing: function() { 12304 return "received ping message from stream"; 12305 }, 12306 debugPolling: function(e) { 12307 return "polling for feature flags at " + e; 12308 }, 12309 debugStreamPut: function() { 12310 return "received streaming update for all flags"; 12311 }, 12312 deprecated: function(e, i) { 12313 return i ? "\"" + e + "\" is deprecated, please use \"" + i + "\"" : "\"" + e + "\" is deprecated"; 12314 }, 12315 environmentNotFound: function() { 12316 return "Environment not found. Double check that you specified a valid environment/client-side ID." + kn; 12317 }, 12318 environmentNotSpecified: function() { 12319 return "No environment/client-side ID was specified." + kn; 12320 }, 12321 errorFetchingFlags: function(e) { 12322 return "Error fetching flag settings: " + $d(e); 12323 }, 12324 eventCapacityExceeded: function() { 12325 return "Exceeded event queue capacity. Increase capacity to avoid dropping events."; 12326 }, 12327 eventWithoutContext: function() { 12328 return "Be sure to call `identify` in the LaunchDarkly client: https://docs.launchdarkly.com/sdk/features/identify#javascript"; 12329 }, 12330 httpErrorMessage: function(e, i, t) { 12331 return "Received error " + e + (e === 401 ? " (invalid SDK key)" : "") + " for " + i + " - " + (bt.isHttpErrorRecoverable(e) ? t : "giving up permanently"); 12332 }, 12333 httpUnavailable: function() { 12334 return "Cannot make HTTP requests in this environment." + kn; 12335 }, 12336 identifyDisabled: function() { 12337 return "identify() has no effect here; it must be called on the main client instance"; 12338 }, 12339 inspectorMethodError: (e, i) => `an inspector: "${i}" of type: "${e}" generated an exception`, 12340 invalidContentType: function(e) { 12341 return "Expected application/json content type but got \"" + e + "\""; 12342 }, 12343 invalidData: function() { 12344 return "Invalid data received from LaunchDarkly; connection may have been interrupted"; 12345 }, 12346 invalidInspector: (e, i) => `an inspector: "${i}" of an invalid type (${e}) was configured`, 12347 invalidKey: function() { 12348 return "Event key must be a string"; 12349 }, 12350 invalidMetricValue: (e) => `The track function was called with a non-numeric "metricValue" (${e}), only numeric metric values are supported.`, 12351 invalidContext: function() { 12352 return "Invalid context specified." + kn; 12353 }, 12354 invalidTagValue: (e) => `Config option "${e}" must only contain letters, numbers, ., _ or -.`, 12355 localStorageUnavailable: function(e) { 12356 return "local storage is unavailable: " + $d(e); 12357 }, 12358 networkError: (e) => "network error" + (e ? " (" + e + ")" : ""), 12359 optionBelowMinimum: (e, i, t) => "Config option \"" + e + "\" was set to " + i + ", changing to minimum value of " + t, 12360 streamClosing: function() { 12361 return "Closing stream connection"; 12362 }, 12363 streamConnecting: function(e) { 12364 return "Opening stream connection to " + e; 12365 }, 12366 streamError: function(e, i) {
12367 return "Error on stream connection: " + $d(e) + ", will continue retrying after " + i + " milliseconds."; 12368 }, 12369 tagValueTooLong: (e) => `Value of "${e}" was longer than 64 characters and was discarded.`, 12370 unknownCustomEventKey: function(e) { 12371 return "Custom event \"" + e + "\" does not exist"; 12372 }, 12373 unknownOption: (e) => "Ignoring unknown config option \"" + e + "\"", 12374 contextNotSpecified: function() { 12375 return "No context specified." + kn; 12376 }, 12377 unrecoverableStreamError: (e) => `Error on stream connection ${$d(e)}, giving up permanently`, 12378 wrongOptionType: (e, i, t) => "Config option \"" + e + "\" should be of type " + i + ", got " + t + ", using default value", 12379 wrongOptionTypeBoolean: (e, i) => "Config option \"" + e + "\" should be a boolean, got " + i + ", converting to boolean" 12380 }, {validateLogger: Jk} = Bd, kv = { 12381 baseUrl: { default: "https://app.launchdarkly.com" }, 12382 streamUrl: { default: "https://clientstream.launchdarkly.com" }, 12383 eventsUrl: { default: "https://events.launchdarkly.com" }, 12384 sendEvents: { default: !0 }, 12385 streaming: { type: "boolean" }, 12386 sendLDHeaders: { default: !0 }, 12387 requestHeaderTransform: { type: "function" }, 12388 sendEventsOnlyForVariation: { default: !1 }, 12389 useReport: { default: !1 }, 12390 evaluationReasons: { default: !1 }, 12391 eventCapacity: { 12392 default: 100, 12393 minimum: 1 12394 }, 12395 flushInterval: { 12396 default: 2e3, 12397 minimum: 2e3 12398 }, 12399 samplingInterval: { 12400 default: 0, 12401 minimum: 0 12402 }, 12403 streamReconnectDelay: { 12404 default: 1e3, 12405 minimum: 0 12406 }, 12407 allAttributesPrivate: { default: !1 }, 12408 privateAttributes: { default: [] }, 12409 bootstrap: { type: "string|object" }, 12410 diagnosticRecordingInterval: { 12411 default: 9e5, 12412 minimum: 2e3 12413 }, 12414 diagnosticOptOut: { default: !1 }, 12415 wrapperName: { type: "string" }, 12416 wrapperVersion: { type: "string" }, 12417 stateProvider: { type: "object" }, 12418 application: { validator: function(e, i, t) { 12419 let r = {}; 12420 return i.id && (r.id = Ek(`${e}.id`, i.id, t)), i.version && (r.version = Ek(`${e}.version`, i.version, t)), r; 12421 } }, 12422 inspectors: { default: [] }, 12423 hooks: { default: [] }, 12424 plugins: { default: [] } 12425 }, Qk = /^(\w|\.|-)+$/, Dd = { 12426 baseOptionDefs: kv, 12427 validate: function(e, i, t, r) { 12428 let s = ke.extend({ logger: { default: r } }, kv, t), n = {}; 12429 function a(l) { 12430 ke.onNextTick(() => { 12431 i && i.maybeReportError(new bt.LDInvalidArgumentError(l)); 12432 }); 12433 } 12434 let o = ke.extend({}, e || {}); 12435 return (function(l) { 12436 let c = l; 12437 Object.keys(n).forEach((d) => { 12438 if (c[d] !== void 0) { 12439 let u = n[d]; 12440 r && r.warn(Se.deprecated(d, u)), u && (c[u] === void 0 && (c[u] = c[d]), delete c[d]); 12441 } 12442 }); 12443 })(o), o = (function(l) { 12444 let c = ke.extend({}, l); 12445 return Object.keys(s).forEach((d) => { 12446 c[d] !== void 0 && c[d] !== null || (c[d] = s[d] && s[d].default); 12447 }), c; 12448 })(o), o = (function(l) { 12449 let c = ke.extend({}, l), d = (u) => { 12450 if (u === null) return "any"; 12451 if (u === void 0) return; 12452 if (Array.isArray(u)) return "array"; 12453 let h = typeof u; 12454 return h === "boolean" || h === "string" || h === "number" || h === "function" ? h : "object"; 12455 }; 12456 return Object.keys(l).forEach((u) => { 12457 let h = l[u]; 12458 if (h != null) { 12459 let g = s[u]; 12460 if (g === void 0) a(Se.unknownOption(u)); 12461 else { 12462 let p = g.type || d(g.default), m = g.validator; 12463 if (m) { 12464 let S = m(u, l[u], r); 12465 S !== void 0 ? c[u] = S : delete c[u]; 12466 } else if (p !== "any") { 12467 let S = p.split("|"), b = d(h); 12468 S.indexOf(b) < 0 ? p === "boolean" ? (c[u] = !!h, a(Se.wrongOptionTypeBoolean(u, b))) : (a(Se.wrongOptionType(u, p, b)), c[u] = g.default) : b === "number" && g.minimum !== void 0 && h < g.minimum && (a(Se.optionBelowMinimum(u, h, g.minimum)), c[u] = g.minimum); 12469 } 12470 } 12471 } 12472 }), c.baseUrl = wv(c.baseUrl), c.streamUrl = wv(c.streamUrl), c.eventsUrl = wv(c.eventsUrl), c; 12473 })(o), Jk(o.logger), o; 12474 }, 12475 getTags: function(e) { 12476 let i = {}; 12477 return e && (e.application && e.application.id !== void 0 && e.application.id !== null && (i["application-id"] = [e.application.id]), e.application && e.application.version !== void 0 && e.application.id !== null && (i["application-version"] = [e.application.version]
12477)), i; 12478 } 12479 }, {getLDUserAgentString: Zk} = ke, Fd = { 12480 getLDHeaders: function(e, i) { 12481 if (i && !i.sendLDHeaders) return {}; 12482 let t = {}; 12483 t[e.userAgentHeaderName || "User-Agent"] = Zk(e), i && i.wrapperName && (t["X-LaunchDarkly-Wrapper"] = i.wrapperVersion ? i.wrapperName + "/" + i.wrapperVersion : i.wrapperName); 12484 let r = Dd.getTags(i), s = Object.keys(r); 12485 return s.length && (t["x-launchdarkly-tags"] = s.sort().map((n) => Array.isArray(r[n]) ? r[n].sort().map((a) => `${n}/${a}`) : [`${n}/${r[n]}`]).reduce((n, a) => n.concat(a), []).join(" ")), t; 12486 }, 12487 transformHeaders: function(e, i) { 12488 return i && i.requestHeaderTransform ? i.requestHeaderTransform(C({}, e)) : e; 12489 } 12490 }, {randomUuidV4: ex} = Ld, {getLDHeaders: tx, transformHeaders: ix} = Fd, xv = function(e, i, t) { 12491 let r = ke.extend({ "Content-Type": "application/json" }, tx(e, t)), s = {}; 12492 return s.sendEvents = (n, a, o) => { 12493 if (!e.httpRequest) return Promise.resolve(); 12494 let l = JSON.stringify(n), c = o ? null : ex(); 12495 return (function d(u) { 12496 let h = o ? r : ke.extend({}, r, { 12497 "X-LaunchDarkly-Event-Schema": "4", 12498 "X-LaunchDarkly-Payload-ID": c 12499 }); 12500 return e.httpRequest("POST", a, ix(h, t), l).promise.then((g) => { 12501 if (g) return g.status >= 400 && bt.isHttpErrorRecoverable(g.status) && u ? d(!1) : (function(p) { 12502 let m = { status: p.status }, S = p.header("date"); 12503 if (S) { 12504 let b = Date.parse(S); 12505 b && (m.serverTime = b); 12506 } 12507 return m; 12508 })(g); 12509 }).catch(() => u ? d(!1) : Promise.reject()); 12510 })(!0).catch(() => {}); 12511 }, s; 12512 }, rx = function e(i, t = []) { 12513 if (i === null || typeof i != "object") return JSON.stringify(i); 12514 if (t.includes(i)) throw new Error("Cycle detected"); 12515 return Array.isArray(i) ? `[${i.map((r) => e(r, [...t, i])).map((r) => r === void 0 ? "null" : r).join(",")}]` : `{${Object.keys(i).sort().map((r) => { 12516 let s = e(i[r], [...t, i]); 12517 if (s !== void 0) return `${JSON.stringify(r)}:${s}`; 12518 }).filter((r) => r !== void 0).join(",")}}`; 12519 }, {commonBasicLogger: sx} = Bd, Ho = { 12520 checkContext: function(e, i) { 12521 if (e) { 12522 if (i && (e.kind === void 0 || e.kind === null)) return e.key !== void 0 && e.key !== null; 12523 let t = e.key, r = e.kind === void 0 ? "user" : e.kind, s = Ck(r), n = r === "multi" || t != null && t !== ""; 12524 if (r === "multi") { 12525 let a = Object.keys(e).filter((o) => o !== "kind"); 12526 return n && a.every((o) => Ck(o)) && a.every((o) => { 12527 let l = e[o].key; 12528 return l != null && l !== ""; 12529 }); 12530 } 12531 return n && s; 12532 } 12533 return !1; 12534 }, 12535 getContextKeys: function(e, i = sx()) { 12536 if (!e) return; 12537 let t = {}, { kind: r, key: s } = e; 12538 switch (r) { 12539 case void 0: 12540 t.user = `${s}`; 12541 break; 12542 case "multi": 12543 Object.entries(e).filter(([n]) => n !== "kind").forEach(([n, a]) => { 12544 a && a.key && (t[n] = a.key); 12545 }); 12546 break; 12547 case null: 12548 i.warn(`null is not a valid context kind: ${e}`); 12549 break; 12550 case "": 12551 i.warn(`'' is not a valid context kind: ${e}`); 12552 break; 12553 default: t[r] = `${s}`; 12554 } 12555 return t; 12556 }, 12557 getContextKinds: function(e) { 12558 return e ? e.kind === null || e.kind === void 0 ? ["user"] : e.kind !== "multi" ? [e.kind] : Object.keys(e).filter((i) => i !== "kind") : []; 12559 }, 12560 getCanonicalKey: function(e) { 12561 if (e) { 12562 if ((e.kind === void 0 || e.kind === null || e.kind === "user") && e.key) return e.key; 12563 if (e.kind !== "multi" && e.key) return `${e.kind}:${Nk(e.key)}`; 12564 if (e.kind === "multi") return Object.keys(e).sort().filter((i) => i !== "kind").map((i) => `${i}:${Nk(e[i].key)}`).join(":"); 12565 } 12566 } 12567 }, {getContextKinds: nx} = Ho, ax = function() { 12568 let e = {}, i = 0, t = 0, r = {}, s = {}; 12569 return e.summarizeEvent = (n) => { 12570 if (n.kind === "feature") { 12571 let a = n.key + ":" + (n.variation !== null && n.variation !== void 0 ? n.variation : "") + ":" + (n.version !== null && n.version !== void 0 ? n.version : ""), o = r[a], l = s[n.key]; 12572 l || (l = /* @__PURE__ */ new Set(), s[n.key] = l), (function(c) {
12573 return c.context ? nx(c.context) : c.contextKeys ? Object.keys(c.contextKeys) : []; 12574 })(n).forEach((c) => l.add(c)), o ? o.count = o.count + 1 : r[a] = { 12575 count: 1, 12576 key: n.key, 12577 version: n.version, 12578 variation: n.variation, 12579 value: n.value, 12580 default: n.default 12581 }, (i === 0 || n.creationDate < i) && (i = n.creationDate), n.creationDate > t && (t = n.creationDate); 12582 } 12583 }, e.getSummary = () => { 12584 let n = {}, a = !0; 12585 for (let o of Object.values(r)) { 12586 let l = n[o.key]; 12587 l || (l = { 12588 default: o.default, 12589 counters: [], 12590 contextKinds: [...s[o.key]] 12591 }, n[o.key] = l); 12592 let c = { 12593 value: o.value, 12594 count: o.count 12595 }; 12596 o.variation !== void 0 && o.variation !== null && (c.variation = o.variation), o.version !== void 0 && o.version !== null ? c.version = o.version : c.unknown = !0, l.counters.push(c), a = !1; 12597 } 12598 return a ? null : { 12599 startDate: i, 12600 endDate: t, 12601 features: n, 12602 kind: "summary" 12603 }; 12604 }, e.clearSummary = () => { 12605 i = 0, t = 0, r = {}, s = {}; 12606 }, e; 12607 }, ox = function(e) { 12608 let i = {}, t = {}; 12609 return { 12610 summarizeEvent: function(r) { 12611 if (r.kind === "feature") { 12612 let s = rx(r.context); 12613 if (!s) return; 12614 let n = i[s]; 12615 n || (i[s] = ax(), n = i[s], t[s] = r.context), n.summarizeEvent(r); 12616 } 12617 }, 12618 getSummaries: function() { 12619 let r = i, s = t; 12620 return i = {}, t = {}, Object.entries(r).map(([n, a]) => { 12621 let o = a.getSummary(); 12622 return o.context = e.filter(s[n]), o; 12623 }); 12624 } 12625 }; 12626 }, zd = { 12627 cloneExcluding: function(e, i) { 12628 let t = [], r = {}, s = []; 12629 for (t.push(...Object.keys(e).map((n) => ({ 12630 key: n, 12631 ptr: Ok(n), 12632 source: e, 12633 parent: r, 12634 visited: [e] 12635 }))); t.length;) { 12636 let n = t.pop(); 12637 if (i.some((a) => Ik(a, n.ptr))) s.push(n.ptr); 12638 else { 12639 let a = n.source[n.key]; 12640 if (a === null) n.parent[n.key] = a; 12641 else if (Array.isArray(a)) n.parent[n.key] = [...a]; 12642 else if (typeof a == "object") { 12643 if (n.visited.includes(a)) continue; 12644 n.parent[n.key] = {}, t.push(...Object.keys(a).map((o) => { 12645 return { 12646 key: o, 12647 ptr: (l = n.ptr, c = Tk(o), `${l}/${c}`), 12648 source: a, 12649 parent: n.parent[n.key], 12650 visited: [...n.visited, a] 12651 }; 12652 var l, c; 12653 })); 12654 } else n.parent[n.key] = a; 12655 } 12656 } 12657 return { 12658 cloned: r, 12659 excluded: s.sort() 12660 }; 12661 }, 12662 compare: Ik, 12663 literalToReference: Ok 12664 }, lx = function(e) { 12665 let i = {}, t = e.allAttributesPrivate, r = e.privateAttributes || [], s = [ 12666 "key", 12667 "kind", 12668 "_meta", 12669 "anonymous" 12670 ], n = [ 12671 "name", 12672 "ip", 12673 "firstName", 12674 "lastName", 12675 "email", 12676 "avatar", 12677 "country" 12678 ], a = (o, l) => { 12679 if (typeof o != "object" || o === null || Array.isArray(o)) return; 12680 let { cloned: c, excluded: d } = zd.cloneExcluding(o, ((u, h) => (t || h && u.anonymous ? Object.keys(u) : [...r, ...u._meta && u._meta.privateAttributes || []]).filter((g) => !s.some((p) => zd.compare(g, p))))(o, l)); 12681 return c.key = String(c.key), d.length && (c._meta || (c._meta = {}), c._meta.redactedAttributes = d), c._meta && (delete c._meta.privateAttributes, Object.keys(c._meta).length === 0 && delete c._meta), c.anonymous !== void 0 && (c.anonymous = !!c.anonymous), c; 12682 }; 12683 return i.filter = (o, l = !1) => o.kind === void 0 || o.kind === null ? a(((c) => { 12684 let d = J(C({}, c.custom || {}), { 12685 kind: "user", 12686 key: c.key 12687 }); 12688 c.anonymous !== void 0 && (d.anonymous = !!c.anonymous); 12689 for (let u of n) delete d[u], c[u] !== void 0 && c[u] !== null && (d[u] = String(c[u])); 12690 return c.privateAttributeNames !== void 0 && c.privateAttributeNames !== null && (d._meta = d._meta || {}, d._meta.privateAttributes = c.privateAttributeNames.map((u) => u.startsWith("/") ? zd.literalToReference(u) : u)), d; 12691 })(o), l) : o.kind === "multi" ? ((c, d) => { 12692 let u = { kind: c.kind }, h = Object.keys(c); 12693 for (let g of h) if (g !== "kind") { 12694 let p = a(c[g], d); 12695 p && (u[g] = p); 12696 } 12697 return u; 12698 })(o, l) : a(o, l), i; 12699 }, {getContextKeys: cx} = Ho, dx = function(e, i, t, r = null, s = null, n = null) { 12700 let a = {}, o = n || xv(e, t, i), l = ke.appendUrlPath(i.eventsUrl, "/events/bulk/" + t), c = lx(i), d = ox(c), u = i.samplingInterval, h = i.eventCapacity, g = i.flushInterval, p = i.logger, m, S = [], b = 0, v = !1, y = !1; 12701 function w() { 12702 return u === 0 || Math.floor(Math.random() * u) === 0; 12703 } 12704 function T(_) { 12705 let z = ke.extend({}, _); 12706 return _.kind === "identify" || _.kind === "feature" || _.kind === "custom" ? z.context = c.filter(_.context) : (z.contextKeys = cx(_.context, p), delete z.context), _.kind === "feature" && (delete z.trackEvents, delete z.debugEventsUntilDate), z; 12707 } 12708 function O(_) { 12709 S.length < h ? (S.push(_), y = !1) : (y || (y = !0, p.warn(Se.eventCapacityExceeded())), r && r.incrementDroppedEvents()); 12710 } 12711 return a.enqueue = function(_) { 12712 if (v) return; 12713 let z = !1, G = !1; 12714 var x; 12715 if (d.summarizeEvent(_), _.kind === "feature" ? w() && (z = !!_.trackEvents, G = !!(x = _).debugEventsUntilDate && x.debugEventsUntilDate > b && x.debugEventsUntilDate > (/* @__PURE__ */ new Date()).getTime()) : z = w(), z && O(T(_)), G) { 12716 let A = ke.extend({}, _, { kind: "debug" }); 12717 A.context = c.filter(A.context), delete A.trackEvents, delete A.debugEventsUntilDate, O(A); 12718 } 12719 }, a.flush = function() { 12720 return Oe(this, null, function* () { 12721 if (v) return Promise.resolve(); 12722 let _ = S;
12723 return d.getSummaries().forEach((z) => { 12724 Object.keys(z.features).length && _.push(z); 12725 }), r && r.setEventsInLastBatch(_.length), _.length === 0 ? Promise.resolve() : (S = [], p.debug(Se.debugPostingEvents(_.length)), o.sendEvents(_, l).then((z) => { 12726 z && (z.serverTime && (b = z.serverTime), bt.isHttpErrorRecoverable(z.status) || (v = !0), z.status >= 400 && ke.onNextTick(() => { 12727 s.maybeReportError(new bt.LDUnexpectedResponseError(Se.httpErrorMessage(z.status, "event posting", "some events were dropped"))); 12728 })); 12729 })); 12730 }); 12731 }, a.start = function() { 12732 let _ = () => { 12733 a.flush(), m = setTimeout(_, g); 12734 }; 12735 m = setTimeout(_, g); 12736 }, a.stop = function() { 12737 clearTimeout(m); 12738 }, a; 12739 }, ux = function(e) { 12740 let i = {}, t = {}; 12741 return i.on = function(r, s, n) { 12742 t[r] = t[r] || [], t[r] = t[r].concat({ 12743 handler: s, 12744 context: n 12745 }); 12746 }, i.off = function(r, s, n) { 12747 if (t[r]) for (let a = 0; a < t[r].length; a++) t[r][a].handler === s && t[r][a].context === n && (t[r] = t[r].slice(0, a).concat(t[r].slice(a + 1))); 12748 }, i.emit = function(r) { 12749 if (!t[r]) return; 12750 let s = t[r].slice(0); 12751 for (let n = 0; n < s.length; n++) s[n].handler.apply(s[n].context, Array.prototype.slice.call(arguments, 1)); 12752 }, i.getEvents = function() { 12753 return Object.keys(t); 12754 }, i.getEventListenerCount = function(r) { 12755 return t[r] ? t[r].length : 0; 12756 }, i.maybeReportError = function(r) { 12757 r && (t.error ? this.emit("error", r) : (e || console).error(r.message)); 12758 }, i; 12759 }, Uo = "ready", Gd = "initialized", Vd = "failed", px = function(e) { 12760 let i = !1, t = !1, r = null, s = null, n = new Promise((a) => { 12761 let o = () => { 12762 e.off(Uo, o), a(); 12763 }; 12764 e.on(Uo, o); 12765 }).catch(() => {}); 12766 return { 12767 getInitializationPromise: () => s || (i ? Promise.resolve() : t ? Promise.reject(r) : (s = new Promise((a, o) => { 12768 let l = () => { 12769 e.off(Gd, l), a(); 12770 }, c = (d) => { 12771 e.off(Vd, c), o(d); 12772 }; 12773 e.on(Gd, l), e.on(Vd, c); 12774 }), s)), 12775 getReadyPromise: () => n, 12776 signalSuccess: () => { 12777 i || t || (i = !0, e.emit(Gd), e.emit(Uo)); 12778 }, 12779 signalFailure: (a) => { 12780 i || t || (t = !0, r = a, e.emit(Vd, a), e.emit(Uo)), e.maybeReportError(a); 12781 } 12782 }; 12783 }, hx = function(e, i, t, r) { 12784 let s = {}; 12785 function n() { 12786 let a = "", o = r.getContext(); 12787 return o && (a = t || ke.btoa(JSON.stringify(o))), "ld:" + i + ":" + a; 12788 } 12789 return s.loadFlags = () => e.get(n()).then((a) => { 12790 if (a == null) return null; 12791 try { 12792 let o = JSON.parse(a); 12793 if (o) { 12794 let l = o.$schema; 12795 l === void 0 || l < 1 ? o = ke.transformValuesToVersionedValues(o) : delete o.$schema; 12796 } 12797 return o; 12798 } catch { 12799 return s.clearFlags().then(() => null); 12800 } 12801 }), s.saveFlags = (a) => { 12802 let o = ke.extend({}, a, { $schema: 1 }); 12803 return e.set(n(), JSON.stringify(o)); 12804 }, s.clearFlags = () => e.clear(n()), s; 12805 }, mx = function(e, i) { 12806 let t = {}, r = !1, s = (n) => { 12807 r || (r = !0, i.warn(Se.localStorageUnavailable(n))); 12808 }; 12809 return t.isEnabled = () => !!e, t.get = (n) => new Promise((a) => { 12810 e ? e.get(n).then(a).catch((o) => { 12811 s(o), a(void 0); 12812 }) : a(void 0); 12813 }), t.set = (n, a) => new Promise((o) => { 12814 e ? e.set(n, a).then(() => o(!0)).catch((l) => { 12815 s(l), o(!1); 12816 }) : o(!1); 12817 }), t.clear = (n) => new Promise((a) => { 12818 e ? e.clear(n).then(() => a(!0)).catch((o) => { 12819 s(o), a(!1); 12820 }) : a(!1); 12821 }), t; 12822 }, {appendUrlPath: Iv, base64URLEncode: fx, objectHasOwnProperty: gx} = ke, {getLDHeaders: vx, transformHeaders: Sx} = Fd, {isHttpErrorRecoverable: bx} = bt, yx = function(e, i, t, r) { 12823 let s = i.streamUrl, n = i.logger, a = {}, o = Iv(s, "/eval/" + t), l = i.useReport, c = i.evaluationReasons, d = i.streamReconnectDelay, u = vx(e, i), h, g = !1, p = null, m = null, S = null, b = null, v = null, y = 0; 12824 function w() { 12825 let x = (A = (function() { 12826 let I = d * Math.pow(2, y); 12827 return I > 3e4 ? 3e4 : I; 12828 })(), A - Math.trunc(.5 * Math.random() * A)); 12829 var A; 12830 return y += 1, x; 12831 } 12832 function T(x) { 12833 if (x.status && typeof x.status == "number" && !bx(x.status)) return z(), n.error(Se.unrecoverableStreamError(x)), void (m && (clearTimeout(m), m = null)); 12834 let A = w(); 12835 g || (n.warn(Se.streamError(x, A)), g = !0), G(!1), z(), O(A); 12836 } 12837 function O(x) { 12838 m || (x ? m = setTimeout(_, x) : _()); 12839 } 12840 function _() { 12841 let x; 12842 m = null; 12843 let A = "", I = { 12844 headers: u, 12845 readTimeoutMillis: 3e5 12846 }; 12847 if (e.eventSourceFactory) { 12848 b != null && (A = "h=" + b), l ? e.eventSourceAllowsReport ? (x = o, I.method = "REPORT", I.headers["Content-Type"] = "a
12848pplication/json", I.body = JSON.stringify(S)) : (x = Iv(s, "/ping/" + t), A = "") : x = o + "/" + fx(JSON.stringify(S)), I.headers = Sx(I.headers, i), c && (A = A + (A ? "&" : "") + "withReasons=true"), x = x + (A ? "?" : "") + A, z(), n.info(Se.streamConnecting(x)), h = (/* @__PURE__ */ new Date()).getTime(), p = e.eventSourceFactory(x, I); 12849 for (let D in v) gx(v, D) && p.addEventListener(D, v[D]); 12850 p.onerror = T, p.onopen = () => { 12851 y = 0; 12852 }; 12853 } 12854 } 12855 function z() { 12856 p && (n.info(Se.streamClosing()), p.close(), p = null); 12857 } 12858 function G(x) { 12859 h && r && r.recordStreamInit(h, !x, (/* @__PURE__ */ new Date()).getTime() - h), h = null; 12860 } 12861 return a.connect = function(x, A, I) { 12862 S = x, b = A, v = {}; 12863 for (let D in I || {}) v[D] = function(H) { 12864 g = !1, G(!0), I[D] && I[D](H); 12865 }; 12866 O(); 12867 }, a.disconnect = function() { 12868 clearTimeout(m), m = null, z(); 12869 }, a.isConnected = function() { 12870 return !!(p && e.eventSourceIsActive && e.eventSourceIsActive(p)); 12871 }, a; 12872 }, wx = function(e) { 12873 let i, t, r, s, n = { addPromise: (a, o) => { 12874 i = a, t && t(), t = o, a.then((l) => { 12875 i === a && (r(l), e && e()); 12876 }, (l) => { 12877 i === a && (s(l), e && e()); 12878 }); 12879 } }; 12880 return n.resultPromise = new Promise((a, o) => { 12881 r = a, s = o; 12882 }), n; 12883 }, {transformHeaders: Ex, getLDHeaders: Cx} = Fd, Ov = "application/json", Nx = function(e, i, t) { 12884 let r = i.baseUrl, s = i.useReport, n = i.evaluationReasons, a = i.logger, o = {}, l = {}; 12885 function c(d, u) { 12886 if (!e.httpRequest) return new Promise((b, v) => { 12887 v(new bt.LDFlagFetchError(Se.httpUnavailable())); 12888 }); 12889 let h = u ? "REPORT" : "GET", g = Cx(e, i); 12890 u && (g["Content-Type"] = Ov); 12891 let p = l[d]; 12892 p || (p = wx(() => { 12893 delete l[d]; 12894 }), l[d] = p); 12895 let m = e.httpRequest(h, d, Ex(g, i), u), S = m.promise.then((b) => { 12896 if (b.status === 200) { 12897 if (b.header("content-type") && b.header("content-type").substring(0, 16) === Ov) return JSON.parse(b.body); 12898 { 12899 let v = Se.invalidContentType(b.header("content-type") || ""); 12900 return Promise.reject(new bt.LDFlagFetchError(v)); 12901 } 12902 } 12903 return Promise.reject((function(v) { 12904 return v.status === 404 ? new bt.LDInvalidEnvironmentIdError(Se.environmentNotFound()) : new bt.LDFlagFetchError(Se.errorFetchingFlags(v.statusText || String(v.status))); 12905 })(b)); 12906 }, (b) => Promise.reject(new bt.LDFlagFetchError(Se.networkError(b)))); 12907 return p.addPromise(S, () => { 12908 m.cancel && m.cancel(); 12909 }), p.resultPromise; 12910 } 12911 return o.fetchJSON = function(d) { 12912 return c(ke.appendUrlPath(r, d), null); 12913 }, o.fetchFlagSettings = function(d, u) { 12914 let h, g, p, m = ""; 12915 return s ? (g = [ 12916 r, 12917 "/sdk/evalx/", 12918 t, 12919 "/context" 12920 ].join(""), p = JSON.stringify(d)) : (h = ke.base64URLEncode(JSON.stringify(d)), g = [ 12921 r, 12922 "/sdk/evalx/", 12923 t, 12924 "/contexts/", 12925 h 12926 ].join("")), u && (m = "h=" + u), n && (m = m + (m ? "&" : "") + "withReasons=true"), g = g + (m ? "?" : "") + m, a.debug(Se.debugPolling(g)), c(g, p); 12927 }, o; 12928 }, Tx = function(e, i) { 12929 let t = {}, r; 12930 return t.setContext = function(s) { 12931 r = ke.sanitizeContext(s), r && i && i(ke.clone(r)); 12932 }, t.getContext = function() { 12933 return r ? ke.clone(r) : null; 12934 }, e && t.setContext(e), t; 12935 }, {randomUuidV4: kx} = Ld, {getContextKinds: xx} = Ho, Ix = function(e) { 12936 function i(r) { 12937 return r == null || r === "user" ? "ld:$anonUserId" : `ld:$contextKey:${r}`; 12938 } 12939 function t(r, s) { 12940 return s.key !== null && s.key !== void 0 ? (s.key = s.key.toString(), Promise.resolve(s)) : s.anonymous ? (function(n) { 12941 return e.get(i(n)); 12942 })(r).then((n) => { 12943 if (n) return s.key = n, s; 12944 { 12945 let a = kx(); 12946 return s.key = a, (function(o, l) { 12947 return e.set(i(l), o); 12948 })(a, r).then(() => s); 12949 } 12950 }) : Promise.reject(new bt.LDInvalidUserError(Se.invalidContext())); 12951 } 12952 this.processContext = (r) => { 12953 if (!r) return Promise.reject(new bt.LDInvalidUserError(Se.contextNotSpecified())); 12954 let s = ke.clone(r); 12955 if (r.kind === "multi") { 12956 let n = xx(s); 12957 return Promise.all(n.map((a) => t(a, s[a]))).then(() => s); 12958 } 12959 return t(r.kind, s); 12960 }; 12961 }, {randomUuidV4: Ox} = Ld, {baseOptionDefs: Hd} = Dd, {appendUrlPath: Px} = ke, Ud = { 12962 DiagnosticId: function(e) { 12963 let i = { diagnosticId: Ox() }; 12964 return e && (i.sdkKeySuffix = e.length > 6 ? e.substring(e.length - 6) : e), i; 12965 }, 12966 DiagnosticsAccumulator: function(e) { 12967 let i, t, r, s; 12968 function n(a) { 12969 i = a, t = 0, r = 0, s = []; 12970 } 12971 return n(e), { 12972 getProps: () => ({ 12973 dataSinceDate: i, 12974 droppedEvents: t, 12975 eventsInLastBatch: r, 12976 streamInits: s 12977 }), 12978 setProps: (a) => { 12979 i = a.dataSinceDate, t = a.droppedEvents || 0, r = a.eventsInLastBatch || 0, s = a.streamInits || []; 12980 }, 12981 incrementDroppedEvents: () => { 12982 t++; 12983 }, 12984 setEventsInLastBatch: (a) => { 12985 r = a; 12986 }, 12987 recordStreamInit: (a, o, l) => {
12988 let c = { 12989 timestamp: a, 12990 failed: o, 12991 durationMillis: l 12992 }; 12993 s.push(c); 12994 }, 12995 reset: n 12996 }; 12997 }, 12998 DiagnosticsManager: function(e, i, t, r, s, n, a) { 12999 let o = !!e.diagnosticUseCombinedEvent, l = "ld:" + s + ":$diagnostics", c = Px(n.eventsUrl, "/events/diagnostic/" + s), d = n.diagnosticRecordingInterval, u = t, h, g, p = !!n.streaming, m = {}; 13000 function S() { 13001 return { 13002 sdk: y(), 13003 configuration: w(), 13004 platform: e.diagnosticPlatformData 13005 }; 13006 } 13007 function b(T) { 13008 n.logger && n.logger.debug(Se.debugPostingDiagnosticEvent(T)), r.sendEvents(T, c, !0).then(() => {}).catch(() => {}); 13009 } 13010 function v() { 13011 b((function() { 13012 let T = (/* @__PURE__ */ new Date()).getTime(), O = C({ 13013 kind: o ? "diagnostic-combined" : "diagnostic", 13014 id: a, 13015 creationDate: T 13016 }, u.getProps()); 13017 return o && (O = C(C({}, O), S())), u.reset(T), O; 13018 })()), g = setTimeout(v, d), h = (/* @__PURE__ */ new Date()).getTime(), o && (function() { 13019 if (i.isEnabled()) { 13020 let T = C({}, u.getProps()); 13021 i.set(l, JSON.stringify(T)); 13022 } 13023 })(); 13024 } 13025 function y() { 13026 let T = C({}, e.diagnosticSdkData); 13027 return n.wrapperName && (T.wrapperName = n.wrapperName), n.wrapperVersion && (T.wrapperVersion = n.wrapperVersion), T; 13028 } 13029 function w() { 13030 return { 13031 customBaseURI: n.baseUrl !== Hd.baseUrl.default, 13032 customStreamURI: n.streamUrl !== Hd.streamUrl.default, 13033 customEventsURI: n.eventsUrl !== Hd.eventsUrl.default, 13034 eventsCapacity: n.eventCapacity, 13035 eventsFlushIntervalMillis: n.flushInterval, 13036 reconnectTimeMillis: n.streamReconnectDelay, 13037 streamingDisabled: !p, 13038 allAttributesPrivate: !!n.allAttributesPrivate, 13039 diagnosticRecordingIntervalMillis: n.diagnosticRecordingInterval, 13040 usingSecureMode: !!n.hash, 13041 bootstrapMode: !!n.bootstrap, 13042 fetchGoalsDisabled: !n.fetchGoals, 13043 sendEventsOnlyForVariation: !!n.sendEventsOnlyForVariation 13044 }; 13045 } 13046 return m.start = () => { 13047 o ? (function(T) { 13048 if (!i.isEnabled()) return T(!1); 13049 i.get(l).then((O) => { 13050 if (O) try { 13051 let _ = JSON.parse(O); 13052 u.setProps(_), h = _.dataSinceDate; 13053 } catch {} 13054 T(!0); 13055 }).catch(() => { 13056 T(!1); 13057 }); 13058 })((T) => { 13059 if (T) { 13060 let O = (h || 0) + d, _ = (/* @__PURE__ */ new Date()).getTime(); 13061 _ >= O ? v() : g = setTimeout(v, O - _); 13062 } else Math.floor(4 * Math.random()) === 0 ? v() : g = setTimeout(v, d); 13063 }) : (b(C({ 13064 kind: "diagnostic-init", 13065 id: a, 13066 creationDate: u.getProps().dataSinceDate 13067 }, S())), g = setTimeout(v, d)); 13068 }, m.stop = () => { 13069 g && clearTimeout(g); 13070 }, m.setStreaming = (T) => { 13071 p = T; 13072 }, m; 13073 } 13074 }, $x = function(e, i) { 13075 let t = !1, r = { 13076 type: e.type, 13077 name: e.name, 13078 synchronous: e.synchronous, 13079 method: (...s) => { 13080 try { 13081 e.method(...s); 13082 } catch { 13083 t || (t = !0, i.warn(Se.inspectorMethodError(r.type, r.name))); 13084 } 13085 } 13086 }; 13087 return r; 13088 }, {onNextTick: Wo} = ke, fi = { 13089 flagUsed: "flag-used", 13090 flagDetailsChanged: "flag-details-changed", 13091 flagDetailChanged: "flag-detail-changed", 13092 clientIdentityChanged: "client-identity-changed" 13093 }, Object.freeze(fi), Ax = { 13094 InspectorTypes: fi, 13095 InspectorManager: function(e, i) { 13096 let t = {}, r = { 13097 [fi.flagUsed]: [], 13098 [fi.flagDetailsChanged]: [], 13099 [fi.flagDetailChanged]: [], 13100 [fi.clientIdentityChanged]: [] 13101 }, s = { 13102 [fi.flagUsed]: [], 13103 [fi.flagDetailsChanged]: [], 13104 [fi.flagDetailChanged]: [], 13105 [fi.clientIdentityChanged]: [] 13106 }, n = e && e.map((a) => $x(a, i)); 13107 return n && n.forEach((a) => { 13108 Object.prototype.hasOwnProperty.call(r, a.type) && !a.synchronous ? r[a.type].push(a) : Object.prototype.hasOwnProperty.call(s, a.type) && a.synchronous ? s[a.type].push(a) : i.warn(Se.invalidInspector(a.type, a.name)); 13109 }), t.hasListeners = (a) => r[a] && r[a].length || s[a] && s[a].length, t.onFlagUsed = (a, o, l) => {
13110 let c = fi.flagUsed; 13111 s[c].length && s[c].forEach((d) => d.method(a, o, l)), r[c].length && Wo(() => { 13112 r[c].forEach((d) => d.method(a, o, l)); 13113 }); 13114 }, t.onFlags = (a) => { 13115 let o = fi.flagDetailsChanged; 13116 s[o].length && s[o].forEach((l) => l.method(a)), r[o].length && Wo(() => { 13117 r[o].forEach((l) => l.method(a)); 13118 }); 13119 }, t.onFlagChanged = (a, o) => { 13120 let l = fi.flagDetailChanged; 13121 s[l].length && s[l].forEach((c) => c.method(a, o)), r[l].length && Wo(() => { 13122 r[l].forEach((c) => c.method(a, o)); 13123 }); 13124 }, t.onIdentityChanged = (a) => { 13125 let o = fi.clientIdentityChanged; 13126 s[o].length && s[o].forEach((l) => l.method(a)), r[o].length && Wo(() => { 13127 r[o].forEach((l) => l.method(a)); 13128 }); 13129 }, t; 13130 } 13131 }, {LDTimeoutError: _x} = bt, Mx = function(e, i) { 13132 return new Promise((t, r) => { 13133 setTimeout(() => { 13134 r(new _x(`${i} timed out after ${e} seconds.`)); 13135 }, 1e3 * e); 13136 }); 13137 }, Pv = "unknown hook", Rx = function(e, i) { 13138 let t = i ? [...i] : []; 13139 return { 13140 withEvaluation: function(r, s, n, a) { 13141 if (t.length === 0) return a(); 13142 let o = [...t], l = { 13143 flagKey: r, 13144 context: s, 13145 defaultValue: n 13146 }, c = (function(u, h, g) { 13147 return h.map((p) => Go(u, "beforeEvaluation", Vo(u, p), () => p?.beforeEvaluation?.(g, {}) ?? {}, {})); 13148 })(e, o, l), d = a(); 13149 return (function(u, h, g, p, m) { 13150 for (let S = h.length - 1; S >= 0; S -= 1) { 13151 let b = h[S], v = p[S]; 13152 Go(u, "afterEvaluation", Vo(u, b), () => b?.afterEvaluation?.(g, v, m) ?? {}, {}); 13153 } 13154 })(e, o, l, c, d), d; 13155 }, 13156 identify: function(r, s) { 13157 let n = [...t], a = { 13158 context: r, 13159 timeout: s 13160 }, o = (function(l, c, d) { 13161 return c.map((u) => Go(l, "beforeIdentify", Vo(l, u), () => u?.beforeIdentify?.(d, {}) ?? {}, {})); 13162 })(e, n, a); 13163 return (l) => { 13164 (function(c, d, u, h, g) { 13165 for (let p = d.length - 1; p >= 0; p -= 1) { 13166 let m = d[p], S = h[p]; 13167 Go(c, "afterIdentify", Vo(c, m), () => m?.afterIdentify?.(u, S, g) ?? {}, {}); 13168 } 13169 })(e, n, a, o, l); 13170 }; 13171 }, 13172 addHook: function(r) { 13173 t.push(r); 13174 }, 13175 afterTrack: function(r) { 13176 t.length !== 0 && (function(s, n, a) { 13177 for (let o = n.length - 1; o >= 0; o -= 1) { 13178 let l = n[o]; 13179 Go(s, "afterTrack", Vo(s, l), () => l?.afterTrack?.(a), void 0); 13180 } 13181 })(e, [...t], r); 13182 } 13183 }; 13184 }, Lx = function() { 13185 let e, i = {}; 13186 function t(r) { 13187 return e && ke.objectHasOwnProperty(e, r) && e[r] ? e[r] : i && ke.objectHasOwnProperty(i, r) && i[r] && !i[r].deleted ? i[r] : null; 13188 } 13189 return { 13190 clearAllOverrides: function() { 13191 if (!e) return {}; 13192 let r = C({}, e); 13193 return e = void 0, r; 13194 }, 13195 get: t, 13196 getFlagOverrides: function() { 13197 return e || {}; 13198 }, 13199 getFlags: function() { 13200 return i; 13201 }, 13202 getFlagsWithOverrides: function() { 13203 let r = {}; 13204 for (let s in i) { 13205 let n = t(s); 13206 n && (r[s] = n); 13207 } 13208 if (e) for (let s in e) { 13209 let n = t(s); 13210 n && (r[s] = n); 13211 } 13212 return r; 13213 }, 13214 removeOverride: function(r) { 13215 e && e[r] && (delete e[r], Object.keys(e).length === 0 && (e = void 0)); 13216 }, 13217 setFlags: function(r) { 13218 i = C({}, r); 13219 }, 13220 setOverride: function(r, s) { 13221 e || (e = {}), e[r] = { value: s }; 13222 } 13223 }; 13224 }, $v = "unknown plugin", Bx = { 13225 getPluginHooks: function(e, i, t) { 13226 let r = []; 13227 return t.forEach((s) => { 13228 try { 13229 let n = s.getHooks?.(i); 13230 n === void 0 ? e.error(`Plugin ${Ad(e, s)} returned undefined from getHooks.`) : n && n.length > 0 && r.push(...n); 13231 } catch { 13232 e.error(`Exception thrown getting hooks for plugin ${Ad(e, s)}. Unable to get hooks.`); 13233 } 13234 }), r; 13235 }, 13236 registerPlugins: function(e, i, t, r) { 13237 r.forEach((s) => { 13238 try { 13239 s.register(t, i); 13240 } catch { 13241 e.error(`Exception thrown registering plugin ${Ad(e, s)}.`); 13242 } 13243 }); 13244 }, 13245 registerPluginsForDebugOverride: function(e, i, t) { 13246 t.forEach((r) => { 13247 try { 13248 r.registerDebug?.(i); 13249 } catch { 13250 e.error(`Exception thrown registering debug override with plugin ${Ad(e, r)}.`); 13251 } 13252 }); 13253 }, 13254 createPluginEnvironment: function(e, i, t) { 13255 let r = {}; 13256 e.userAgent && (r.name = e.userAgent), e.version && (r.version = e.version), t.wrapperName && (r.wrapperName = t.wrapperName), t.wrapperVersion && (r.wrapperVersion = t.wrapperVersion); 13257 let s = {}; 13258 t.application && (t.application.name && (s.name = t.application.name), t.application.version && (s.version = t.application.version)); 13259 let n = { 13260 sdk: r, 13261 clientSideId: i 13262 }; 13263 return Object.keys(s).length > 0 && (n.application = s), n; 13264 } 13265 }, {commonBasicLogger: Av} = Bd, {checkContext: Dx, getContextKeys: Fx} = Ho, {InspectorTypes: jo, InspectorManager: zx} = Ax, {getPluginHooks: Gx, registerPlugins: Vx, registerPluginsForDebugOverride: Hx, createPluginEnvironment: Ux} = Bx, Yo = "change", _v = "internal-change", Ko = { 13266 initialize: function(e, i, t, r, s) { 13267 let n = (function() { 13268 return t && t.logger ? t.logger : s && s.logger && s.logger.default || Av("warn"); 13269 })(), a = ux(n), o = px(a), l = Dd.validate(t, a, s, n), c = zx(l.inspectors, n), d = l.sendEvents, u = e, h = l.hash, g = [...l.plugins], p = Ux(r, e, l), m = Gx(n, p, g), S = Rx(n, [...l.hooks, ...m]), b = mx(r.localStorage, n), v = xv(r, u, l), y = l.sendEvents && !l.diagnosticOptOut, w = y ? Ud.DiagnosticId(u) : null, T = y ? Ud.DiagnosticsAccumulator((/* @__PURE__ */ new Date()).getTime()) : null, O = y ? Ud.DiagnosticsManager(r, b, T, v, u, l, w) : null, _ = yx(r, l, u, T), z = l.eventProcessor || dx(r, l, u, T, a, v), G = Nx(r, l, u), x = Lx(), A, I, D, H = l.streaming, F = !1, K = !1, B = !0, L = l.stateProvider, X = Tx(null, function(M) { 13270 (function(q) { 13271 L || q && Ct({ 13272 kind: "identify", 13273 context: q, 13274 creationDate: (/* @__PURE__ */ new Date()).getTime() 13275 }); 13276 })(M), c.hasListeners(jo.clientIdentityChanged) && c.onIdentityChanged(X.getContext()); 13277 }), Ve = new Ix(b), at = b.isEnabled() ? hx(b, u, h, X) : null; 13278 function Ct(M) { 13279 u && (L && L.enqueueEvent && L.enqueueEvent(M) || (M.context ? (B = !1, !d || K || r.isDoNotTrack() || (n.debug(Se.debugEnqueueingEvent(M.kind)), z.enqueue(M))) : B && (n.warn(Se.eventWithoutContext()), B = !1))); 13280 } 13281 function oi(M, q) { 13282 c.hasListeners(jo.flagDetailChanged) && c.onFlagChanged(M.key, Me(q)); 13283 } 13284 function Oi() { 13285 c.hasListeners(jo.flagDetailsChanged) && c.onFlags(Object.entries(x.getFlagsWithOverrides()).map(([M, q]) => ({ 13286 key: M, 13287 detail: Me(q) 13288 })).reduce((M, q) => (M[q.key] = q.detail, M), {})); 13289 } 13290 function se(M, q, Q, oe) { 13291 let Ee = X.getContext(), He = /* @__PURE__ */ new Date(), De = { 13292 kind: "feature", 13293 key: M, 13294 context: Ee, 13295 value: q ? q.value : null, 13296 variation: q ? q.variationIndex : null, 13297 default: Q, 13298 creationDate: He.getTime() 13299 }, et = x.getFlags()[M]; 13300 et && (De.version = et.flagVersion ? et.flagVersion : et.version, De.trackEvents = et.trackEvents, De.debugEventsUntilDate = et.debugEventsUntilDate), (oe || et && et.trackReason) && q && (De.reason = q.reason), Ct(De); 13301 } 13302 function Y(M) { 13303 return Dx(M, !1) ? Promise.resolve(M) : Promise.reject(new bt.LDInvalidUserError(Se.invalidContext())); 13304 } 13305 function re(M, q, Q, oe, Ee, He) { 13306 let De, et = x.get(M); 13307 return et ? (De = Me(et), et.value !== null && et.value !== void 0 || (De.value = q)) : De = { 13308 value: q, 13309 variationIndex: null, 13310 reason: { 13311 kind: "ERROR", 13312 errorKind: "FLAG_NOT_FOUND" 13313 } 13314 }, Q && (Ee || et?.prerequisites?.forEach((mr) => { 13315 re(mr, void 0, Q, !1, !1, !1); 13316 }), se(M, De, q, oe)), !Ee && He && (function(mr, Sl) { 13317 c.hasListeners(jo.flagUsed) && c.onFlagUsed(mr, Sl, X.getContext()); 13318 })(M, De), De; 13319 } 13320 function Me(M) { 13321 return { 13322 value: M.value, 13323 variationIndex: M.variation === void 0 ? null : M.variation, 13324 reason: M.reason || null 13325 }; 13326 } 13327 function Lt() { 13328 if (I = !0, !X.getContext()) return; 13329 let M = (q) => { 13330 try { 13331 return JSON.parse(q); 13332 } catch { 13333 a.maybeReportError(new bt.LDInvalidDataError(Se.invalidData())); 13334 return; 13335 } 13336 }; 13337 _.connect(X.getContext(), h, { 13338 ping: function() { 13339 n.debug(Se.debugStreamPing()); 13340 let q = X.getContext(); 13341 G.fetchFlagSettings(q, h).then((Q) => { 13342 ke.deepEquals(q, X.getContext()) && Zt(Q || {}); 13343 }).catch((Q) => { 13344 a.maybeReportError(new bt.LDFlagFetchError(Se.errorFetchingFlags(Q))); 13345 }); 13346 }, 13347 put: function(q) { 13348 let Q = M(q.data); 13349 Q && (n.debug(Se.debugStreamPut()), Zt(Q)); 13350 }, 13351 patch: function(q) { 13352 let Q = M(q.data); 13353 if (!Q) return; 13354 let oe = x.getFlags(), Ee = oe[Q.key]; 13355 if (!Ee || !Ee.version || !Q.version || Ee.version < Q.version) { 13356 n.debug(Se.debugStreamPatch(Q.key)); 13357 let He = {}, De = ke.extend({}, Q); 13358 delete De.key, oe[Q.key] = De, x.setFlags(oe); 13359 let et = Me(De); 13360 He[Q.key] = Ee ? { 13361 previous: Ee.value, 13362 current: et 13363 } : { current: et }, oi(Q, De), li(He); 13364 } else n.debug(Se.debugStreamPatchIgnored(Q.key)); 13365 }, 13366 delete: function(q) { 13367 let Q = M(q.data); 13368 if (!Q) return; 13369 let oe = x.getFlags(); 13370 if (!oe[Q.key] || oe[Q.key].version < Q.version) { 13371 n.debug(Se.debugStreamDelete(Q.key)); 13372 let Ee = {}; 13373 oe[Q.key] && !oe[Q.key].deleted && (Ee[Q.key] = { previous: oe[Q.key].value }), oe[Q.key] = { 13374 version: Q.version, 13375 deleted: !0 13376 }, x.setFlags(oe), oi(Q, oe[Q.key]), li(Ee); 13377 } else n.debug(Se.debugStreamDeleteIgnored(Q.key)); 13378 } 13379 }); 13380 } 13381 function Pi() { 13382 I && (_.disconnect(), I = !1); 13383 } 13384 function Zt(M) { 13385 let q = {}; 13386 if (!M) return Promise.resolve(); 13387 let Q = x.getFlags(); 13388 for (let oe in Q) ke.objectHasOwnProperty(Q, oe) && Q[oe] && (M[oe] && !ke.deepEquals(M[oe].value, Q[oe].value) ? q[oe] = { 13389 previous: Q[oe].value, 13390 current: Me(M[oe]) 13391 } : M[oe] && !M[oe].deleted || (q[oe] = { previous: Q[oe].value })); 13392 for (let oe in M) ke.objectHasOwnProperty(M, oe) && M[oe] && (!Q[oe] || Q[oe].deleted) && (q[oe] = { current: Me(M[oe]) }); 13393 return x.setFlags(C({}, M)), Oi(), li(q).catch(() => {}); 13394 } 13395 function li(M) { 13396 let q = Object.keys(M); 13397 if (q.length > 0) { 13398 let Q = {}; 13399 q.forEach((oe) => { 13400 let Ee = M[oe].current, He = Ee ? Ee.value : void 0, De = M[oe].previous; 13401 a.emit(Yo + ":" + oe, He, De), Q[oe] = Ee ? { 13402 current: He, 13403 previous: De 13404 } : { previous: De }; 13405 }), a.emit(Yo, Q), a.emit(_v, x.getFlagsWithOverrides()), l.sendEventsOnlyForVariation || L || q.forEach((oe) => { 13406 se(oe, M[oe].current); 13407 }); 13408 } 13409 return A && at ? at.saveFlags(x.getFlags()) : Promise.resolve(); 13410 } 13411 function hr() { 13412 let M = H || D && H === void 0; 13413 M && !I ? Lt() : !M && I && Pi(), O && O.setStreaming(M); 13414 } 13415 function Bt(M) { 13416 return M === Yo || M.substr(0, 7) === Yo + ":"; 13417 } 13418 if (typeof l.bootstrap == "string" && l.bootstrap.toUpperCase() === "LOCALSTORAGE" && (at ? A = !0 : n.warn(Se.localStorageUnavailable())), typeof l.bootstrap == "object" && x.setFlags((function(M) { 13419 let q = Object.keys(M), Q = "$flagsState", oe = "$valid", Ee = M[Q]; 13420 !Ee && q.length && n.warn(Se.bootstrapOldFormat()), M[oe] === !1 && n.warn(Se.bootstrapInvalid()); 13421 let He = {}; 13422 return q.forEach((De) => { 13423 if (De !== Q && De !== oe) { 13424 let et = { value: M[De] }; 13425 Ee && Ee[De] ? et = ke.extend(et, Ee[De]) : et.version = 0, He[De] = et; 13426 } 13427 }), He; 13428 })(l.bootstrap)), L) { 13429 let M = L.getInitialState(); 13430 M ? gi(M) : L.on("init", gi), L.on("update", function(q) { 13431 q.context && X.setContext(q.context), q.flags && Zt(q.flags); 13432 }); 13433 } else (function() { 13434 if (!e) return Promise.reject(new bt.LDInvalidEnvironmentIdError(Se.environmentNotSpecified())); 13435 let M; 13436 return Ve.processContext(i).then(Y).then((q) => (M = ke.once(S.identify(q, void 0)), q)).then((q) => (M?.({ status: "completed" }), X.setContext(q), typeof l.bootstrap == "object" ? Qi() : A ? at.loadFlags().then((Q) => Q == null ? (x.setFlags({}), G.fetchFlagSettings(X.getContext(), h).then((oe) => Zt(oe || {})).then(Qi).catch((oe) => { 13437 bs(new bt.LDFlagFetchError(Se.errorFetchingFlags(oe))); 13438 })) : (x.setFlags(Q), ke.onNextTick(Qi), G.fetchFlagSettings(X.getContext(), h).then((oe) => Zt(oe)).catch((oe) => a.maybeReportError(oe)))) : G.fetchFlagSettings(X.getContext(), h).then((Q) => { 13439 x.setFlags(Q || {}), Oi(), Qi(); 13440 }).catch((Q) => { 13441 x.setFlags({}), bs(Q); 13442 }
13442))).catch((q) => { 13443 throw M?.({ status: "error" }), q; 13444 }); 13445 })().catch(bs); 13446 function gi(M) { 13447 u = M.environment, X.setContext(M.context), x.setFlags(C({}, M.flags)), ke.onNextTick(Qi); 13448 } 13449 function Qi() { 13450 n.info(Se.clientInitialized()), F = !0, hr(), o.signalSuccess(); 13451 } 13452 function bs(M) { 13453 o.signalFailure(M); 13454 } 13455 let Gr = { 13456 waitForInitialization: function(M = void 0) { 13457 if (M != null) { 13458 if (typeof M == "number") return (function(q) { 13459 q > 5 && n.warn("The waitForInitialization function was called with a timeout greater than 5 seconds. We recommend a timeout of 5 seconds or less."); 13460 let Q = o.getInitializationPromise(), oe = Mx(q, "waitForInitialization"); 13461 return Promise.race([oe, Q]).catch((Ee) => { 13462 throw Ee instanceof bt.LDTimeoutError && n.error(`waitForInitialization error: ${Ee}`), Ee; 13463 }); 13464 })(M); 13465 n.warn("The waitForInitialization method was provided with a non-numeric timeout."); 13466 } 13467 return n.warn("The waitForInitialization function was called without a timeout specified. In a future version a default timeout will be applied."), o.getInitializationPromise(); 13468 }, 13469 waitUntilReady: () => o.getReadyPromise(), 13470 identify: function(M, q, Q) { 13471 if (K) return ke.wrapPromiseCallback(Promise.resolve({}), Q); 13472 if (L) return n.warn(Se.identifyDisabled()), ke.wrapPromiseCallback(Promise.resolve(ke.transformVersionedValuesToValues(x.getFlagsWithOverrides())), Q); 13473 let oe, Ee = A && at ? at.clearFlags() : Promise.resolve(); 13474 return ke.wrapPromiseCallback(Ee.then(() => Ve.processContext(M)).then(Y).then((He) => (oe = ke.once(S.identify(He, void 0)), He)).then((He) => G.fetchFlagSettings(He, q).then((De) => { 13475 let et = ke.transformVersionedValuesToValues(De); 13476 return X.setContext(He), h = q, De ? Zt(De).then(() => et) : et; 13477 })).then((He) => (oe?.({ status: "completed" }), I && Lt(), He)).catch((He) => (oe?.({ status: "error" }), a.maybeReportError(He), Promise.reject(He))), Q); 13478 }, 13479 getContext: function() { 13480 return X.getContext(); 13481 }, 13482 variation: function(M, q) { 13483 let { value: Q } = S.withEvaluation(M, X.getContext(), q, () => re(M, q, !0, !1, !1, !0)); 13484 return Q; 13485 }, 13486 variationDetail: function(M, q) { 13487 return S.withEvaluation(M, X.getContext(), q, () => re(M, q, !0, !0, !1, !0)); 13488 }, 13489 track: function(M, q, Q) { 13490 if (typeof M != "string") return void a.maybeReportError(new bt.LDInvalidEventKeyError(Se.unknownCustomEventKey(M))); 13491 Q !== void 0 && typeof Q != "number" && n.warn(Se.invalidMetricValue(typeof Q)), r.customEventFilter && !r.customEventFilter(M) && n.warn(Se.unknownCustomEventKey(M)); 13492 let oe = X.getContext(), Ee = { 13493 kind: "custom", 13494 key: M, 13495 context: oe, 13496 url: r.getCurrentUrl(), 13497 creationDate: (/* @__PURE__ */ new Date()).getTime() 13498 }; 13499 oe && oe.anonymous && (Ee.contextKind = oe.anonymous ? "anonymousUser" : "user"), q != null && (Ee.data = q), Q != null && (Ee.metricValue = Q), Ct(Ee), S.afterTrack({ 13500 context: oe, 13501 key: M, 13502 data: q, 13503 metricValue: Q 13504 }); 13505 }, 13506 on: function(M, q, Q) { 13507 Bt(M) ? (D = !0, F && hr(), a.on(M, q, Q)) : a.on(...arguments); 13508 }, 13509 off: function(M) { 13510 if (a.off(...arguments), Bt(M)) { 13511 let q = !1; 13512 a.getEvents().forEach((Q) => { 13513 Bt(Q) && a.getEventListenerCount(Q) > 0 && (q = !0); 13514 }), q || (D = !1, I && H === void 0 && Pi()); 13515 } 13516 }, 13517 setStreaming: function(M) { 13518 let q = M === null ? void 0 : M; 13519 q !== H && (H = q, hr()); 13520 }, 13521 flush: function(M) { 13522 return ke.wrapPromiseCallback(d ? z.flush() : Promise.resolve(), M); 13523 }, 13524 allFlags: function() { 13525 let M = {}, q = x.getFlagsWithOverrides(); 13526 if (!q) return M; 13527 for (let Q in q) M[Q] = re(Q, null, !l.sendEventsOnlyForVariation, !1, !0, !1).value; 13528 return M; 13529 }, 13530 close: function(M) { 13531 if (K) return ke.wrapPromiseCallback(Promise.resolve(), M); 13532 let q = () => { 13533 K = !0, x.setFlags({}); 13534 }, Q = Promise.resolve().then(() => { 13535 if (Pi(), O && O.stop(), d) return z.stop(), z.flush(); 13536 }).then(q).catch(q); 13537 return ke.wrapPromiseCallback(Q, M); 13538 }, 13539 addHook: function(M) { 13540 S.addHook(M); 13541 } 13542 }; 13543 return Vx(n, p, Gr, g), Hx(n, { 13544 setOverride: function(M, q) { 13545 let Q = {}, oe = x.get(M), Ee = oe ? oe.value : null; 13546 if (Ee === q) return void n.debug(`setOverride: No change needed for ${M}, value already ${q}`); 13547 x.setOverride(M, q); 13548 let He = x.get(M); 13549 Q[M] = { 13550 previous: Ee, 13551 current: Me(He) 13552 }, oi({ key: M }, He), li(Q); 13553 }, 13554 removeOverride: function(M) { 13555 let q = x.getFlagOverrides(); 13556 if (!q[M]) return; 13557 let Q = {}, oe = q[M], Ee = x.getFlags()[M]; 13558 Q[M] = { 13559 previous: oe.value, 13560 current: Ee ? Me(Ee) : void 0 13561 }, x.removeOverride(M), oi({ key: M }, Ee), li(Q); 13562 }, 13563 clearAllOverrides: function() { 13564 let M = x.getFlagOverrides(); 13565 if (Object.keys(M).length === 0) return; 13566 let q = {}, Q = x.getFlags();
13567 Object.keys(M).forEach((oe) => { 13568 let Ee = M[oe], He = Q[oe]; 13569 q[oe] = { 13570 previous: Ee.value, 13571 current: He ? Me(He) : void 0 13572 }; 13573 }), x.clearAllOverrides(), Object.keys(q).length > 0 && li(q); 13574 }, 13575 getAllOverrides: function() { 13576 let M = x.getFlagOverrides(); 13577 if (!M) return {}; 13578 let q = {}; 13579 return Object.keys(M).forEach((Q) => { 13580 let oe = M[Q]; 13581 oe && (q[Q] = oe.value); 13582 }), q; 13583 } 13584 }, g), { 13585 client: Gr, 13586 options: l, 13587 emitter: a, 13588 ident: X, 13589 logger: n, 13590 requestor: G, 13591 start: function() { 13592 d && (O && O.start(), z.start()); 13593 }, 13594 enqueueEvent: Ct, 13595 getFlagsInternal: function() { 13596 return x.getFlagsWithOverrides(); 13597 }, 13598 getEnvironmentId: () => u, 13599 internalChangeEventName: _v 13600 }; 13601 }, 13602 commonBasicLogger: Av, 13603 errors: bt, 13604 messages: Se, 13605 utils: ke, 13606 getContextKeys: Fx 13607 }, Wx = Ko.initialize, jx = Ko.errors, Ko.messages, Yx = Ko.commonBasicLogger, Kx = function(e) { 13608 return Yx(Ev({ destination: console.log }, e)); 13609 }, Mv = { promise: Promise.resolve({ 13610 status: 200, 13611 header: function() { 13612 return null; 13613 }, 13614 body: null 13615 }) }, Wd = (e) => { 13616 if (typeof e != "string") throw new TypeError("Expected a string"); 13617 return e.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d"); 13618 }, qo = "goalsReady", qx = { 13619 fetchGoals: { default: !0 }, 13620 hash: { type: "string" }, 13621 eventProcessor: { type: "object" }, 13622 eventUrlTransformer: { type: "function" }, 13623 disableSyncEventPost: { default: !1 } 13624 }, Xx = Kx, Rv = (() => { 13625 let e = class { 13626 constructor() { 13627 this.userService = f(ri), this.contextProviderService = f(y_), this.config = f(_d), this.trackingService = f(Yr), this.cookieService = f(yr), this.logger = f(lt), this.datadogRumService = f(DA), this.eventsService = f(Tl), this.defaultOptions = { inspectors: [{ 13628 type: "flag-used", 13629 name: "flag-used-inspector", 13630 method: (t, r) => this.trackFlagUsed(t, r) 13631 }] }, this.isServer = Ku(f(Ma)), this.flags = {}, this._featureFlags$ = new Gt({}), this.LD_FEATURE_NAME = "launch-darkly", this._clientInitialized$ = new ws(1); 13632 } 13633 get clientInitialized$() { 13634 return this._clientInitialized$.pipe(Ot(1)); 13635 } 13636 initialize(t) { 13637 return Oe(this, null, function* () { 13638 if (!this.client) { 13639 let r = Object.assign({}, this.defaultOptions, this.config.options), s = yield this.contextProviderService.getContext(); 13640 this.client = Ak(t, s, r), this.client.waitForInitialization().then(() => { 13641 this.fetchLDFlags(), this._clientInitialized$.next(), this.contextProviderService.contextChanged.subscribe(() => { 13642 this.updateContext(); 13643 }), this.subscribeToUserAuthenticationEvents(); 13644 }).catch((n) => { 13645 this.logger.error("[LaunchDarkly] - Error while initializing SDK.", n); 13646 }), this.client.on("change", (n) => Oe(this, null, function* () { 13647 yield this.updateFlag(n), this.logger.info("[LaunchDarkly] - Flags changed", n); 13648 })), this.client.on("error", (n) => { 13649 this.logger.error("[LaunchDarkly] - General error.", n); 13650 }); 13651 } 13652 }); 13653 } 13654 getFeatureFlagValue$(t, r) { 13655 return this.isServer ? je(r) : this.ldFeatureReadyStatus().pipe(Si((s) => s ? this.clientInitialized$.pipe(Si(() => (this.flags[t] = this.client?.variation(t, r), this._featureFlags$.next(this.flags), this._featureFlags$.pipe(xe((n) => { 13656 let a = n[t]; 13657 return this.isFlagValueObjectValid(a) ? a.value : a; 13658 }))))) : je(r)), ei(() => je(r))); 13659 } 13660 getFeatureFlagValueWithEvaluationReasons$(t, r) { 13661 return this.isServer ? je(r) : this.ldFeatureReadyStatus().pipe(Si((s) => s ? this.clientInitialized$.pipe(xe(() => this.client?.variationDetail(t, r))) : je(r)), ei(() => je(r))); 13662 } 13663 getFlagOnly$(t, r) { 13664 return this.isServer ? je(r) : this.ldFeatureReadyStatus().pipe(Si((s) => s ? this.clientInitialized$.pipe(Si(() => this._featureFlags$.pipe(xe((n) => { 13665 let a = n[t]; 13666 return this.isFlagValueObjectValid(a) ? a.value : a; 13667 }
13667)))) : je(r)), ei(() => je(r))); 13668 } 13669 updateContext() { 13670 this.client?.identify(this.contextProviderService.context).then((t) => { 13671 Object.keys(t).forEach((r) => { 13672 this.flags[r] = t[r]; 13673 }), this._featureFlags$.next(this.flags); 13674 }); 13675 } 13676 ngOnDestroy() { 13677 return Oe(this, null, function* () { 13678 this.userAuthenticationSubscriber?.unsubscribe(), yield this.client?.close(); 13679 }); 13680 } 13681 ldFeatureReadyStatus() { 13682 return this.eventsService.allEvents.pipe(We((t) => t?.eventName === xl.FeatureEnabledStatus && t.data.id === this.LD_FEATURE_NAME), Ot(1), Si((t) => t.data.enabled ? this.config.whenReady.pipe(xe(() => !!this.config.clientId)) : je(!1))); 13683 } 13684 fetchLDFlags() { 13685 this.flags = this.client?.allFlags(), this._featureFlags$.next(this.flags); 13686 } 13687 subscribeToUserAuthenticationEvents() { 13688 this.userAuthenticationSubscriber = Vi(this.userService.events.pipe(Ys((t) => t instanceof Va)), this.userService.events.pipe(Ys((t) => t instanceof Ha)), this.userService.events.pipe(Ys((t) => t instanceof o_))).subscribe(() => this.contextProviderService.reloadContext().then(() => this.updateContext())); 13689 } 13690 updateFlag(t) { 13691 return Oe(this, null, function* () { 13692 Object.keys(t).forEach((r) => { 13693 this.flags[r] = t[r]?.current; 13694 }), this._featureFlags$.next(this.flags); 13695 }); 13696 } 13697 trackFlagUsed(t, r) { 13698 if (!r.reason?.inExperiment) return; 13699 let s, n = ""; 13700 if (this.datadogRumService.datadogRumSdk && this.datadogRumService.datadogRumSdk.addFeatureFlagEvaluation(t, r.value), this.isFlagValueObjectValid(r.value)) { 13701 let { variationName: l, trackingDetails: c } = r.value; 13702 if (l === "") { 13703 this.logger.error("[LaunchDarkly] - Unable to send tracking data: variationName is empty JSON-typed variant"); 13704 return; 13705 } 13706 s = l, n = c ?? ""; 13707 } else s = r.value; 13708 this.trackingService.triggerEvent($l.LdExperimentEvaluation, { 13709 "component.CategoryEvent": "ld_experiment_evaluation", 13710 "component.ActionEvent": "load experiment", 13711 "component.LabelEvent": s, 13712 "component.EventDetails": t + n 13713 }); 13714 let a = this.cookieService.get(Ae.LdExperiment), o = `${t}_${r.variationIndex}`; 13715 a ? a.includes(o) || (a += `|${o}`, this.cookieService.putRaw(Ae.LdExperiment, a)) : this.cookieService.putRaw(Ae.LdExperiment, o); 13716 } 13717 isFlagValueObjectValid(t) { 13718 return typeof t == "object" && t != null && "variationName" in t && "value" in t && typeof t.variationName == "string" && ("trackingDetails" in t ? typeof t.trackingDetails == "string" : !0); 13719 } 13720 }; 13721 return e.ɵfac = function(i) { 13722 return new (i || e)(); 13723 }, e.ɵprov = R({ 13724 token: e, 13725 factory: e.ɵfac, 13726 providedIn: "root" 13727 }), e; 13728 })(), Jx = (() => { 13729 let e = class { 13730 constructor() { 13731 this.launchDarklyService = f(Rv), this.config = f(_d), this.log = f(lt), this.isServer = Ku(f(Ma)); 13732 } 13733 onFeatureInit() { 13734 return Oe(this, null, function* () { 13735 if (!this.isServer) if (yield Vt(this.config.whenReady), this.config.clientId) { 13736 yield this.launchDarklyService.initialize(this.config.clientId); 13737 for (let t of this.config.serverSideFlags ?? []) this.launchDarklyService.getFeatureFlagValue$(t).pipe(Ot(1)).subscribe(); 13738 } else this.log.warnRemote("[LaunchDarkly] - ClientId not configured in Dynacon."); 13739 }); 13740 } 13741 }; 13742 return e.ɵfac = function(i) { 13743 return new (i || e)(); 13744 }, e.ɵprov = R({ 13745 token: e, 13746 factory: e.ɵfac 13747 }), e; 13748 })(); 13749 })))(); 13750} 13751function I2(e) { 13752 return e.get(Yd); 13753} 13754function Zx(e) { 13755 return [{ 13756 provide: Lv, 13757 multi: !0, 13758 useValue: e 13759 }]; 13760} 13761function O2() { 13762 return [...Object.keys(Bv).map((e) => Zx({ 13763 id: e, 13764 loaderFn: Bv[e] 13765 })), v_(iI)]; 13766} 13767var jd, Yd, Lv, _r, Ii, eI, tI, iI, Bv; 13768function Dv() { 13769 return (Dv = Z((() => { 13770 Re(), de(), Ke(), Zu(), Cs(), Ns(), wt(), jn(), yi(), st(), xs(), Ts(), Ut(), jd = (() => { 13771 let e = class { 13772 constructor() { 13773 this.manifestService = f(I_), this.page = f(Wr), this.stylesService = f(yy), this.contentService = f(Ny), this.htmlNode = f(ay); 13774 } 13775 loadStyles(t) { 13776 return Oe(this, null, function* () { 13777 if (t) try { 13778 for (var r = Q$(t), s, n, a; s = !(n = yield r.next()).done; s = !1) { 13779 let o = n.value; 13780 switch (o.htmlCssClass && this.htmlNode.setCssClass(o.htmlCssClass, !0), o.type) { 13781 case "url": 13782 yield this.stylesService.loadStyle({ 13783 url: o.id, 13784 lazyLoad: 2 13785 }); 13786 break; 13787 case "theme": 13788 let l = this.getNewThemeFilename(o.id), c = this.manifestService.getEntry(l); 13789 c || (l = this.getThemeFileNameFallback(o.id), c = this.manifestService.getEntry(l)), c && (yield this.stylesService.loadStyle({ 13790 url: c, 13791 lazyLoad: 2 13792 })); 13793 break; 13794 case "content": 13795 let d = `App-v1.0/LazyStyles/${o.id}`, u = yield Vt(this.contentService.getJson(d, { product: it.SF })); 13796 yield this.stylesService.addStyle(o.id, u.content); 13797 } 13798 } 13799 } catch (o) { 13800 a = [o]; 13801 } finally { 13802 try {
13803 s && (n = r.return) && (yield n.call(r)); 13804 } finally { 13805 if (a) throw a[0]; 13806 } 13807 } 13808 }); 13809 } 13810 getNewThemeFilename(t) { 13811 return `${this.page.theme}/themes-${this.page.theme}-${t}.css`; 13812 } 13813 getThemeFileNameFallback(t) { 13814 return `themes-${this.page.theme}-${t}.css`; 13815 } 13816 }; 13817 return e.ɵfac = function(i) { 13818 return new (i || e)(); 13819 }, e.ɵprov = R({ 13820 token: e, 13821 factory: e.ɵfac, 13822 providedIn: "root" 13823 }), e; 13824 })(), pt(), Yd = (() => { 13825 var e = class extends ii {}; 13826 let i = (e.ɵfac = (() => { 13827 let t; 13828 return function(r) { 13829 return (t || (t = Fe(e)))(r || e); 13830 }; 13831 })(), e.ɵprov = R({ 13832 token: e, 13833 factory: function(t) { 13834 let r = null; 13835 return t ? r = new t() : r = I2(ve(Ht)), r; 13836 }, 13837 providedIn: "root" 13838 }), e); 13839 return i = ht([Wt({ 13840 key: "vnLazyFeatures", 13841 product: it.SF 13842 })], i), i; 13843 })(), Lv = new Te("vn-loader-fn"), _r = (function(e) { 13844 return e.Created = "created", e.Scheduled = "scheduled", e.Enabled = "enabled", e.Loaded = "loaded", e; 13845 })(_r || {}), Ii = (function(e) { 13846 return e.Preload = "preload", e.JustLoggedIn = "just-loggedin", e.AlreadyLoggedIn = "already-loggedin", e.LoggedIn = "loggedin", e.Complete = "complete", e.Event = "event", e; 13847 })(Ii || {}), eI = (() => { 13848 let e = class { 13849 constructor() { 13850 this.dslEnvService = f(dy), this.log = f(lt), this.serverRenderErrorService = f(i_), this.isRouteExploration = f(t_), this.destroyRef = f(ze); 13851 } 13852 getProviders(t, r, s) { 13853 try { 13854 return t.get(r, s); 13855 } catch (n) { 13856 return this.log.info("getProviders<T> failed for injector with token", t, r, n), []; 13857 } 13858 } 13859 getProvider(t, r, s) { 13860 try { 13861 return t.get(r, s); 13862 } catch (n) { 13863 return this.log.info("getProvider failed with token", t, r, n), null; 13864 } 13865 } 13866 runBootstrappers(t) { 13867 if (!(this.isRouteExploration || this.destroyRef.destroyed)) try { 13868 let r = this.getProviders(t, P_, []); 13869 for (let s of r) s.onFeatureInit(); 13870 } catch (r) { 13871 this.serverRenderErrorService.reportCriticalError("runBootstrappers failed for injector"), this.log.error("runBootstrappers failed for injector", t, r); 13872 } 13873 } 13874 runEventProcessors(t, r) { 13875 try { 13876 let s = this.getProviders(t, S_, []); 13877 for (let n of s) n.process(r); 13878 } catch (s) { 13879 this.log.error("runEventHandlers failed with context", t, r, s); 13880 } 13881 } 13882 runDslProviders(t) { 13883 try { 13884 let r = this.getProvider(t, zA, null); 13885 r?.length && this.dslEnvService.addToContext([...r]); 13886 } catch (r) { 13887 this.log.error("runDslProviders failed", t, r); 13888 } 13889 } 13890 runLaunchDarklyContextProvider(t) { 13891 try { 13892 let r = this.getProvider(t, f_, null); 13893 r && r.reloadContext(); 13894 } catch (r) { 13895 this.log.error("runLaunchDarklyContextProvider failed", t, r); 13896 } 13897 } 13898 }; 13899 return e.ɵfac = function(i) { 13900 return new (i || e)(); 13901 }, e.ɵprov = R({ 13902 token: e, 13903 factory: e.ɵfac, 13904 providedIn: "root" 13905 }), e; 13906 })(), tI = (() => { 13907 let e = class { 13908 constructor() { 13909 this.registeredLoaderFns = f(Lv), this.config = f(Yd), this.dslService = f(Zs), this.dslEnvService = f(dy), this.user = f(ri), this.webWorkerService = f(_y), this.nativeAppService = f(jr), this.logger = f(lt), this.rtmsService = f(x_), this.eventsService = f(Tl), this.moduleService = f(eI), this.loadStylesService = f(jd), this.productService = f(ep), this.destroyRef = f(ze), this._doc = f(vi), this.platform = f(Ga), this.loadDispatcher$ = new Xe(), this.STYLES_LOADER_ID = "styles", this.allLoaders = [], this._usedLoaders = QA("usedLoaders", []); 13910 } 13911 init() { 13912 this.initLoaders(), this.loadDispatcher$.pipe(he(this.destroyRef)).subscribe((t) => this.load(t)), this.user.events.pipe(We((t) => t instanceof ip), Ot(1), he(this.destroyRef)).subscribe(() => { 13913 this.start(Ii.JustLoggedIn), this.start(Ii.LoggedIn); 13914 }), this.user.events.pipe(We((t) => t instanceof Ha), Ot(1), he(this.destroyRef)).subscribe(() => { 13915 this.reset([Ii.JustLoggedIn, Ii.LoggedIn]); 13916 }), this.dslEnvService.change.pipe(Uu(100), he(this.destroyRef)).subscribe(() => { 13917 this.restart(); 13918 }), this.productService.productChanged.subscribe(() => { 13919 this.restart(); 13920 }), this.eventsService.events.pipe(he(this.destroyRef)).subscribe((t) => { 13921 let r = { 13922 name: t.eventName, 13923 type: sp.Vanilla, 13924 data: t.data 13925 }; 13926 this.startEventStrategy(r); 13927 }), this.rtmsService.messages.subscribe((t) => { 13928 let r = { 13929 name: t.type, 13930 type: sp.Rtms, 13931 data: t.payload 13932 }; 13933 this.startEventStrategy(r); 13934 }), this.nativeAppService.eventsFromNative.subscribe((t) => { 13935 let r = { 13936 name: t.eventName, 13937 type: sp.Native, 13938 data: t.parameters 13939 }; 13940 this.startEventStrategy(r); 13941 }), this.start(Ii.Preload), this.user.isAuthenticated && (this.start(Ii.AlreadyLoggedIn), this.start(Ii.LoggedIn)), this._doc.addEventListener(Kr.ReadyStateChange, () => this.runOnlyCompleteStrategy()), this.runOnlyCompleteStrategy(); 13942 } 13943 loadFeature(t, r, s, n) { 13944 return Oe(this, null, function* () { 13945 let a = this.mergeStyles(s.styles, n); 13946 yield Promise.all([r.then((o) => { 13947 if (this.destroyRef.destroyed) return; 13948 let l = ui.create({ 13949 providers: o.provide(), 13950 parent: this.getInjector() 13951 }); 13952 this.moduleService.runBootstrappers(l), this.moduleService.runDslProviders(l), this.moduleService.runLaunchDarklyContextProvider(l), s.eventContext && this.moduleService.runEventProcessors(l, s.eventContext), this.nativeAppService.sendToNative({ 13953 eventName: za.FEATURE_LOADED, 13954 parameters: { featureId: t } 13955 }), this.registerLoaderUsage(t); 13956 }), this.loadStylesService.loadStyles(a)]); 13957 }); 13958 } 13959 runOnlyCompleteStrategy() { 13960 let t = this._doc.readyState; 13961 (t === Ii.Complete || this.platform.isServer) && this.start(t); 13962 } 13963 start(t) { 13964 let r = this.allLoaders.filter((s) => s.options.strategy === t && s.state === _r.Created); 13965 for (let s of r) s.state = _r.Scheduled; 13966 r?.length > 0 && this.logger.info(`Scheduled ${r?.length} loader(s) with ${t} strategy.`), this.evaluate(r); 13967 } 13968 reset(t) { 13969 let r = this.allLoaders.filter((s) => t.includes(s.options.strategy)); 13970 for (let s of r) s.state = _r.Created; 13971 r?.length > 0 && this.logger.info(`${r?.length} loader(s) resetted after logout for strategies ${t.join("|")}.`); 13972 } 13973 startEventStrategy(t) { 13974 let r = this.allLoaders.filter((s) => s.options.strategy == Ii.Event && s.options.events?.[t.type]?.includes(t.name)); 13975 r?.length > 0 && this.logger.info(`Found ${r?.length} event handler(s) for event.`, r, t), r.forEach((s) => this.load(s, t)); 13976 } 13977 restart() { 13978 let t = this.allLoaders.filter((r) => r.state === _r.Scheduled && ![Ii.JustLoggedIn.toString(), Ii.LoggedIn.toString()].includes(r.options.strategy)); 13979 this.evaluate(t); 13980 } 13981 initLoaders() { 13982 for (let t of Object.keys(this.config.rules)) { 13983 let r = this.config.rules[t]?.id ?? t, s = this.config.rules[t]; 13984 if (r === this.STYLES_LOADER_ID) { 13985 this.loadStylesService.loadStyles(s.styles).then(); 13986 continue; 13987 } 13988 let n = this.registeredLoaderFns.find((o) => o.id === r); 13989 if (!n) continue; 13990 let a = this.platform.isServerRendered && this._usedLoaders().includes(r) ? Ii.Preload : s.strategy; 13991 this.allLoaders.push({ 13992 id: r, 13993 loaderFn: n.loaderFn, 13994 state: _r.Created,
13995 options: J(C({}, s), { strategy: a }), 13996 additionalStylesFn: n.additionalStylesFn, 13997 product: n.product 13998 }); 13999 } 14000 } 14001 evaluate(t) { 14002 for (let r of t) this.dslService.evaluateExpression(r.options.enabled).pipe(Ot(1), xe((s) => s && this.checkLoaderEnabledForProduct(r)), he(this.destroyRef)).subscribe((s) => { 14003 s && r.state == _r.Scheduled && (r.state = _r.Enabled, this.loadDispatcher$.next(r)), this.eventsService.raise({ 14004 eventName: xl.FeatureEnabledStatus, 14005 data: { 14006 id: r.id, 14007 enabled: s 14008 } 14009 }); 14010 }); 14011 } 14012 checkLoaderEnabledForProduct(t) { 14013 return !this.productService.isSingleDomainApp || !t.product || t.product === this.productService.current.name; 14014 } 14015 load(t, r) { 14016 if (this.checkLoaderEnabledForProduct(t)) { 14017 try { 14018 let s = C({}, t.options); 14019 r && (s.eventContext = r), s.delay ? this.platform.isBrowser && this.webWorkerService.createWorker(t.id, { timeout: s.delay }, () => { 14020 this.runLoader(t, s), this.webWorkerService.removeWorker(t.id); 14021 }) : this.runLoader(t, s); 14022 } catch (s) { 14023 this.logger.errorRemote(`Failed to load ${t.id} feature`, s); 14024 } 14025 this.logger.info("Loaded:", t); 14026 } 14027 } 14028 runLoader(t, r) { 14029 if (t.loaderFn) { 14030 let s = this.getAdditionalStyles(t); 14031 this.loadFeature(t.id, t.loaderFn(this.getInjector()), r, s); 14032 } 14033 t.state = _r.Loaded; 14034 } 14035 getAdditionalStyles(t) { 14036 if (!t.additionalStylesFn) return; 14037 let r = this.getInjector(); 14038 return t.additionalStylesFn(r); 14039 } 14040 mergeStyles(t, r) { 14041 return t && !r ? t : r && !t ? r : t && r ? [...t, ...r] : void 0; 14042 } 14043 getInjector() { 14044 return this.productService.current.injector; 14045 } 14046 registerLoaderUsage(t) { 14047 this.platform.isBrowser || this._usedLoaders.update((r) => r.includes(t) ? r : [...r, t]); 14048 } 14049 }; 14050 return e.ɵfac = function(i) { 14051 return new (i || e)(); 14052 }, e.ɵprov = R({ 14053 token: e, 14054 factory: e.ɵfac, 14055 providedIn: "root" 14056 }), e; 14057 })(), iI = (() => { 14058 let e = class { 14059 constructor() { 14060 this.config = f(Yd), this.loaderService = f(tI); 14061 } 14062 onAppInit() { 14063 return Oe(this, null, function* () { 14064 yield Vt(this.config.whenReady), this.config?.rules && this.loaderService.init(); 14065 }); 14066 } 14067 }; 14068 return e.ɵfac = function(i) { 14069 return new (i || e)(); 14070 }, e.ɵprov = R({ 14071 token: e, 14072 factory: e.ɵfac 14073 }), e; 14074 })(), Bv = { 14075 "abuser-information": () => import("./chunk-oyj4ghbi.js"), 14076 "account-menu": () => import("./chunk-Cn7p9ix4b.js"), 14077 "activity-popup": () => import("./chunk-Bfphrrzfr.js"), 14078 affordability: () => import("./chunk-e1iqk12q.js"), 14079 "balance-breakdown": () => import("./chunk-Bh567vh7x.js"), 14080 "balance-properties": () => import("./chunk-mbuhv9yt.js"), 14081 "balance-refresh": () => import("./chunk-Ck8joiqwe.js"), 14082 "balance-transfer": () => import("./chunk-hvmo1ooa.js"), 14083 "barcode-scanner": () => import("./chunk-l08lg7ag.js"), 14084 "betstation-hardware-fault": () => import("./chunk-Bnmodatxq.js"), 14085 "betstation-balance-transfer": () => import("./chunk-c58zj2oq.js"), 14086 "betting-status": () => import("./chunk-Dmg30s4yy.js"), 14087 "bonus-award": () => import("./chunk-hi05j8x2.js"), 14088 "bonus-balance": () => import("./chunk-dqnp38ec.js"), 14089 "bottom-nav": () => import("./chunk-hmmfl6vc.js"), 14090 "bottom-sheet": () => import("./chunk-Cdt1ir0rd.js"), 14091 cashier: () => import("./chunk-j1rtwobz.js"), 14092 clock: () => import("./chunk-Bmevfa2kx.js"), 14093 "connected-accounts": () => import("./chunk-nueso9mb.js"), 14094 content: () => import("./chunk-Cji17hgii.js"), 14095 "content-block": () => import("./chunk-fghonix3.js"), 14096 "content-messages": () => import("./chunk-Dl6hu4p0r.js"), 14097 "cookie-banner": () => import("./chunk-lukfeybf.js"), 14098 "cookie-consent": () => import("./chunk-Cfgauhlol.js"), 14099 "cookie-injector": () => import("./chunk-Ukbzt4hl9.js"), 14100 "css-overrides": () => import("./chunk-ozph2i3wl.js"), 14101 "curfew-status": () => import("./chunk-Douisgcmd.js"), 14102 "debounce-buttons": () => import("./chunk-dk8d5e2v4.js"), 14103 "deposit-limit-exceeded": () => import("./chunk-Dhegyhdi8.js"), 14104 "deposit-limits": () => import("./chunk-bd4fjzme.js"), 14105 "deposit-prompt": () => import("./chunk-Dmh6cjm7f.js"), 14106 "deposit-session": () => import("./chunk-Ddxgbcazk.js"), 14107 dialog: () => import("./chunk-Kghadv643.js"), 14108 "document-upload-status": () => import("./chunk-Dofey9d0m.js"), 14109 "domain-specific-actions": () => import("./chunk-Bi758wcdm.js"), 14110 "dropdown-header": () => import("./chunk-bdmh0twh.js"), 14111 footer: () => import("./chunk-Divc57jhx.js"), 14112 gamification: () => import("./chunk-y007nhu3d.js"), 14113 geolocation: () => import("./chunk-h64tk18n.js"), 14114 "geo-coordinator": () => import("./chunk-Xi5tififu.js"), 14115 "global-search": () => import("./chunk-fta8vof1.js").then((e) => (e.n(), e.t)), 14116 "google-analytics": () => import("./chunk--eb5r8uy9.js"), 14117 "haptic-feedback": () => import("./chunk-kt7hqjyq.js"), 14118 header: () =>
14118 import("./chunk-Ik4k3v1wt.js"), 14119 "header-bar": () => import("./chunk-Dmzfufmdd.js"), 14120 hint: () => import("./chunk-oflgoj8r.js"), 14121 html: () => import("./chunk-e0jhhpe8.js"), 14122 icons: () => import("./chunk-Ccsacor60.js"), 14123 inactive: () => import("./chunk-Djksmirne.js"), 14124 "inactivity-screen": () => import("./chunk-Bmo42azi2.js"), 14125 inbox: () => import("./chunk-ocylju5c.js"), 14126 "jackpot-winner": () => import("./chunk-jn9psse9x.js"), 14127 kyc: () => import("./chunk-qk46s3t1y.js"), 14128 "label-switcher": () => import("./chunk-jb2hka9w.js"), 14129 "language-switcher": () => import("./chunk-Dkb1idwyp.js"), 14130 "last-session-info": () => import("./chunk-Bjpkyee9i.js"), 14131 "launch-darkly": () => import("./chunk-o6txn1bs.js"), 14132 "license-info": () => import("./chunk-saz4agjv6.js"), 14133 "live-person": () => import("./chunk-Bix6bhfi7.js"), 14134 login: () => import("./chunk-ldp16lgw.js"), 14135 "login-duration": () => import("./chunk-lu3ox45g.js"), 14136 "login-new": () => import("./chunk-1okhh793.js"), 14137 logout: () => import("./chunk-nymeubzo.js"), 14138 "loss-limits": () => import("./chunk-ms69j0j9.js"), 14139 "loyality-profile": () => import("./chunk-Do3k14cbo.js"), 14140 "loyalty-login": () => import("./chunk-ob3ebz1p.js"), 14141 "master-account": () => import("./chunk-j9yi6cub.js"), 14142 "meta-tags": () => import("./chunk-fb4ayphf.js"), 14143 "moh-details": () => import("./chunk-gain6lst.js"), 14144 "native-app": () => import("./chunk-gt7gxkli.js"), 14145 "navigation-layout": () => import("./chunk-lmioydth.js"), 14146 "offer-button": () => import("./chunk-cypq6mcj.js"), 14147 "offer-dsl": () => import("./chunk-g90mucop.js"), 14148 offers: () => import("./chunk-Co87cvti1.js"), 14149 offline: () => import("./chunk-o0pjnh0y.js"), 14150 "offline-page": () => import("./chunk-eeglb36b.js"), 14151 optimove: () => import("./chunk-lmx3d7sk.js"), 14152 overlay: () => import("./chunk-Bjug1kfbe.js"), 14153 "overlay-messages": () => import("./chunk-Dkkcnv0ro.js"), 14154 "play-break": () => import("./chunk-Cfzid07sx.js"), 14155 "player-active-wager": () => import("./chunk-jbdn9idh.js"), 14156 "player-attributes": () => import("./chunk-Bjj0ounba.js"), 14157 "player-gaming-declaration": () => import("./chunk-Cpfhf108g.js"), 14158 "player-limits": () => import("./chunk-g2y7vzyh.js"), 14159 prerender: () => import("./chunk-Bma5e5obq.js"), 14160 "product-menu": () => import("./chunk-Cjyt1lo5v.js"), 14161 "product-switch-cool-off": () => import("./chunk-oi8e7pxi.js"), 14162 "promo-eds-dsl": () => import("./chunk-f8cfma5h.js"), 14163 "range-datepicker": () => import("./chunk-Jb1ini55a.js"), 14164 "re-captcha": () => import("./chunk-d5nrjzxx.js"), 14165 "redirect-message": () => import("./chunk-Wnkeeuu72.js"), 14166 "referred-friends": () => import("./chunk-hrtw7wfq.js"), 14167 "remember-me-logout-prompt": () => import("./chunk-bdkgp2rrf.js"), 14168 "rtms-events": () => import("./chunk-flu9fe74.js"), 14169 "rtms-layer": () => import("./chunk-mcvra704w.js"), 14170 "rtms-overlay": () => import("./chunk-Dgchauoyu.js"), 14171 "screen-time": () => import("./chunk-kk562ejw.js"), 14172 "self-exclusion": () => import("./chunk-z6naqhbi.js"), 14173 "session-fund-summary": () => import("./chunk-Dh9m6joyl.js"), 14174 "session-info": () => import("./chunk-1nv5hc6lv.js"), 14175 "session-lifetime-check": () => import("./chunk-okqjkq8h.js"), 14176 "session-limits": () => import("./chunk-Bmmijh2ki.js"), 14177 "session-limits-logout-popup": () => import("./chunk-_lhtvccem.js"), 14178 "single-sign-on": () => import("./chunk-Bjx2gvpzy.js"), 14179 "smart-banner": () => import("./chunk-Vlp15rhtl.js"), 14180 "sof-status-details": () => import("./chunk-b7wbkw62.js"), 14181 speculation: () => import("./chunk-ujfjguzx.js"), 14182 "terminal-session": () => import("./chunk-Bkrkm60lt.js"), 14183 "third-party-tracker": () => import("./chunk-hj1kv17c.js"), 14184 "top-messages": () => import("./chunk-i2rvh1b4.js"), 14185 "tourney-token-balance": () => import("./chunk-Bbfm4jjfl.js"), 14186 tracing: () => import("./chunk-Dixerqvjj.js"), 14187 tracking: () => import("./chunk-i2svdjkt.js"), 14188 "untested-browser": () => import("./chunk-cszzpniz.js"), 14189 "user-documents": () => import("./chunk-lo5z2a4m.js"), 14190 "user-flags": () => import("./chunk-Doytat03e.js"), 14191 "user-scrub": () => import("./chunk-nlyhtvg5.js"), 14192 "user-summary": () => import("./chunk-Zey061ons.js"),
14193 "value-ticket": () => import("./chunk-Cdlqq7ln9.js"), 14194 zendesk: () => import("./chunk-lr9kdx3m.js") 14195 }; 14196 })))(); 14197} 14198var rI; 14199function sI() { 14200 return (sI = Z((() => { 14201 Re(), de(), Dv(), rI = (() => { 14202 let e = class { 14203 constructor() { 14204 this.loaderCache = /* @__PURE__ */ new Map(), this.stylesLoader = f(jd); 14205 } 14206 loadFeature(t, r) { 14207 return Oe(this, null, function* () { 14208 let s = this.loaderCache.get(t); 14209 if (s) return Promise.resolve(s); 14210 let n = t(), a = r ? this.stylesLoader.loadStyles(r) : Promise.resolve(); 14211 return yield Promise.all([n, a]).then(([o]) => (this.loaderCache.set(t, o), o)); 14212 }); 14213 } 14214 loadStyles(t) { 14215 return Oe(this, null, function* () { 14216 yield this.stylesLoader.loadStyles(t); 14217 }); 14218 } 14219 setCachedFeature(t, r) { 14220 this.loaderCache.has(t) || this.loaderCache.set(t, r); 14221 } 14222 getCachedFeature(t) { 14223 return this.loaderCache.get(t) || void 0; 14224 } 14225 }; 14226 return e.ɵfac = function(i) { 14227 return new (i || e)(); 14228 }, e.ɵprov = R({ 14229 token: e, 14230 factory: e.ɵfac, 14231 providedIn: "root" 14232 }), e; 14233 })(); 14234 })))(); 14235} 14236var Kd; 14237function Fv() { 14238 return (Fv = Z((() => { 14239 Kd = class { 14240 constructor(e) { 14241 this.key = e; 14242 } 14243 }; 14244 })))(); 14245} 14246var zv, nI; 14247function aI() { 14248 return (aI = Z((() => { 14249 Fv(), zv = (function(e) { 14250 return e.Default = "Default", e.TurnoverTax = "TurnoverTax", e; 14251 })(zv || {}), nI = { 14252 ClaimsChanged: "CLAIMS_CHANGED", 14253 M2UserClaimsChanged: "m2-user-claimsChanged", 14254 UserSettingsChanged: new Kd("USER_SETTINGS_CHANGED"), 14255 ClientConfigRefreshed: new Kd("CLIENT_CONFIG_REFRESHED") 14256 }; 14257 })))(); 14258} 14259var qd, oI, lI; 14260function cI() { 14261 return (cI = Z((() => { 14262 de(), Ke(), qd = class { 14263 get subject() { 14264 return this._subject$ ? this._subject$ : (this.setup(), this._subject$); 14265 } 14266 constructor(e, i, t) { 14267 this.zone = e, this.target = i, this.event = t, this._eventAuditTime = 150; 14268 } 14269 subscribe(e, i, t) { 14270 return this.subject.subscribe({ 14271 next: e, 14272 error: i, 14273 complete: t 14274 }); 14275 } 14276 asObservable() { 14277 return this.subject.asObservable(); 14278 } 14279 listener() { 14280 this.zone.run(() => { 14281 !this._subject$ || !this._subject$.observed ? (this.subscription?.unsubscribe(), this._subject$ = void 0) : this._subject$.next(this.target); 14282 }); 14283 } 14284 setup() { 14285 this._subject$ = new Xe(), this.zone.runOutsideAngular(() => { 14286 this.subscription = Dn(this.target, this.event).pipe(iA(this._eventAuditTime)).subscribe(() => { 14287 this.listener(); 14288 }); 14289 }); 14290 } 14291 }, oI = (() => { 14292 let e = class { 14293 constructor() { 14294 this.zone = f(qs), this._window = f(vt), this.scroll = new qd(this.zone, this._window, "scroll"), this.resize = new qd(this.zone, this._window, "resize"); 14295 } 14296 }; 14297 return e.ɵfac = function(i) { 14298 return new (i || e)(); 14299 }, e.ɵprov = R({ 14300 token: e, 14301 factory: e.ɵfac, 14302 providedIn: "root" 14303 }), e; 14304 })(), lI = (() => { 14305 let e = class { 14306 constructor() { 14307 this.zone = f(qs), this.scrollSubject = new Xe(), this._window = f(vt), this._doc = f(vi), this.setTarget(this._doc.scrollingElement || this._window, this._window); 14308 } 14309 get scroll() { 14310 return this.scrollSubject.asObservable(); 14311 } 14312 get scrollTop() { 14313 return this.target.scrollY || this.target.scrollTop || 0; 14314 } 14315 get height() { 14316 return this.target.innerHeight || this.target.clientHeight; 14317 } 14318 get container() { 14319 return this.target.document || this.target; 14320 } 14321 get scrollHeight() { 14322 return this.target.scrollHeight; 14323 } 14324 scrollTo(t, r) { 14325 requestAnimationFrame(() => { 14326 let s = this.target; 14327 t !== void 0 && (s.scrollLeft = -t), r !== void 0 && (s.scrollTop = -r); 14328 }); 14329 } 14330 scrollToDelta(t, r) { 14331 requestAnimationFrame(() => { 14332 let s = this.target; 14333 t !== void 0 && (s.scrollLeft = s.scrollLeft + t), r !== void 0 && (s.scrollTop = s.scrollTop + r); 14334 }); 14335 } 14336 setTarget(t, r) { 14337 this.scrollSubscription && this.scrollSubscription.unsubscribe(), this.eventTarget = r || t; 14338 let s = new qd(this.zone, this.eventTarget, "scroll"); 14339 this.target = t, this.scrollSubscription = s.subscribe(() => { 14340 this.scrollSubject.next(t); 14341 }); 14342 } 14343 }; 14344 return e.ɵfac = function(i) { 14345 return new (i || e)(); 14346 }, e.ɵprov = R({ 14347 token: e, 14348 factory: e.ɵfac, 14349 providedIn: "root" 14350 }), e; 14351 })(); 14352 })))(); 14353} 14354var Gv, dI, uI; 14355function pI() { 14356 return (pI = Z((() => { 14357 de(), bv(), Gv = new Te("MODAL_WINDOW_STACK_TOKEN"), dI = (() => { 14358 let e = class { 14359 constructor() { 14360 this.modalWindowStackService = f(Sv(Gv)); 14361 } 14362 open(t, r, s) { 14363 return this.modalWindowStackService.openModalWindow(t, r, s); 14364 } 14365 }; 14366 return e.ɵfac = function(i) { 14367 return new (i || e)(); 14368 }, e.ɵprov = R({ 14369 token: e, 14370 factory: e.ɵfac, 14371 providedIn: "root" 14372 }), e; 14373 })(), uI = (() => { 14374 let e = class { 14375 constructor() { 14376 this._injector = f(ui), this._modalStack = f(dI); 14377 } 14378 open(t, r = {}) { 14379 return this._modalStack.open(this._injector, t, r); 14380 } 14381 }; 14382 return e.ɵfac = function(i) { 14383 return new (i || e)(); 14384 }, e.ɵprov = R({ 14385 token: e, 14386 factory: e.ɵfac, 14387 providedIn: "root" 14388 }), e; 14389 })(); 14390 })))(); 14391} 14392var dr, hI; 14393function mI() { 14394 return (mI = Z((() => { 14395 de(), Ns(), Wn(), wt(), Cr(), ng(), ag(), Nd(), dr = (function(e) { 14396 return e[e.All = 0] = "All", e[e.Page = 1] = "Page", e[e.CustomScrollbar = 2] = "CustomScrollbar", e[e.None = 3] = "None", e; 14397 })(dr || {}), hI = (() => { 14398 let e = class { 14399 constructor() { 14400 this.router = f(Ol), this._freezeCountPage = le(0), this._freezeCountPs = le(0), this.currentRouteTag$ = new Gt(void 0), this.scrollService = f(ly), this._doc = f(vi), this.deviceService = f(nr), this.scrollTopBeforeFreeze = 0, this._forceScroll = le(null), Mb({ write: () => { 14401 let s = this.scrollTopBeforeFreeze; 14402 if (this.isScrollFrozen) this.bodyStyle.setProperty("top", `-${s}px`), this.bodyElement.classList.add("noscroll"); 14403 else { 14404 if (this.bodyStyle.removeProperty("top"), this.bodyElement.classList.remove("noscroll"), this.shouldSkipResetScroll) return; 14405 s >
14405= 0 && (this.deviceService.scrollingElement.scrollTop = s); 14406 } 14407 } }), Mb({ write: () => { 14408 let s = this._forceScroll(); 14409 if (s) { 14410 let { x: n, y: a } = s; 14411 Wu(() => { 14412 this.isScrollFrozen ? this.bodyStyle.setProperty("top", `${-1 * (a ?? 0)}px`) : this.scrollService.scrollTo({ 14413 source: "sports/scroll-freeze", 14414 top: a, 14415 left: n 14416 }); 14417 }); 14418 } 14419 } }); 14420 let t = f(sg), r = f(Cd); 14421 t.currentActivationEnd.pipe(r.filterSports(), xe((s) => s?.snapshot?.data?.tag), he()).subscribe(this.currentRouteTag$); 14422 } 14423 freezeScroll(t) { 14424 if (t !== dr.None) switch (t) { 14425 case dr.CustomScrollbar: 14426 this.freezeCountPs++; 14427 break; 14428 case dr.All: 14429 this.freezeCountPs++, this.freezePage(); 14430 break; 14431 case dr.Page: 14432 default: this.freezePage(); 14433 } 14434 } 14435 freezePage() { 14436 this.freezeCountPage++, !(this.freezeCountPage > 1) && (this.scrollTopBeforeFreeze = this.deviceService.scrollTop(), this.urlWhenScreenWasFrozen = this.router.url); 14437 } 14438 forceScroll(t, r) { 14439 this._forceScroll.set({ 14440 x: t, 14441 y: r 14442 }); 14443 } 14444 releaseScroll(t) { 14445 if (t !== dr.None) switch (t) { 14446 case dr.CustomScrollbar: 14447 this.freezeCountPs--; 14448 break; 14449 case dr.All: 14450 this.freezeCountPs--, this.releaseScrollPage(); 14451 break; 14452 case dr.Page: 14453 default: this.releaseScrollPage(); 14454 } 14455 } 14456 releaseScrollPage() { 14457 this.freezeCountPage--, this.freezeCountPage; 14458 } 14459 get shouldSkipResetScroll() { 14460 if (this.currentRouteTag$.value !== Ed.EventDetails) return this.isUrlHasChanged(); 14461 let t = this.router.parseUrl(this.router.url); 14462 return delete t.queryParams?.popup, this.isUrlHasChanged(t.toString()); 14463 } 14464 get isScrollFrozen() { 14465 return this.freezeCountPs > 0 || this.freezeCountPage > 0; 14466 } 14467 get bodyElement() { 14468 return this._doc.body; 14469 } 14470 get bodyStyle() { 14471 return this.bodyElement.style; 14472 } 14473 get freezeCountPage() { 14474 return this._freezeCountPage(); 14475 } 14476 set freezeCountPage(t) { 14477 this._freezeCountPage.set(Math.max(t, 0)); 14478 } 14479 get freezeCountPs() { 14480 return this._freezeCountPs(); 14481 } 14482 set freezeCountPs(t) { 14483 this._freezeCountPs.set(Math.max(t, 0)); 14484 } 14485 isUrlHasChanged(t) { 14486 return (t ?? this.router.url) !== this.urlWhenScreenWasFrozen; 14487 } 14488 }; 14489 return e.ɵfac = function(i) { 14490 return new (i || e)(); 14491 }, e.ɵprov = R({ 14492 token: e, 14493 factory: e.ɵfac, 14494 providedIn: "root" 14495 }), e; 14496 })(); 14497 })))(); 14498} 14499var fI, gI, vI, SI, bI, yI, wI, Vv, Hv, Uv, Wv, jv, EI, CI; 14500function NI() { 14501 return (NI = Z((() => { 14502 Re(), de(), ks(), Ut(), fI = { 14503 EVENT_PAGE_VIEW: "pageView", 14504 EVENT_CART_CHECKOUT: "Cart.checkout", 14505 EVENT_PURCHASE: "purchase", 14506 EVENT_CHECKOUT: "checkout", 14507 EVENT_CART_PURCHASE: "Cart.purchase", 14508 EVENT_CART_ADD: "Cart.betAdded", 14509 EVENT_CART_REMOVE: "Cart.betRemove", 14510 EVENT_CLICKS: "Event.Clicks", 14511 EVENT_BETSLIP_ERROR: "Betslip_Error", 14512 EVENT_EARLYPAYOUT: "event.earlyPayout", 14513 EVENT_EDIT_BET: "Event.Functionality.EditMyBet", 14514 EVENT_EDIT_FAVOURITES: "Event.Functionality.EditMyFavourites", 14515 EVENT_LINE_SWITCHER: "Event.LineSwitcher", 14516 EVENT_MEDIA: "Event.SiteElement.Interactions", 14517 EVENT_FUNC_MARKET_SWITCH: "Event.Functionality.MarketSwitch", 14518 EVENT_FUNC_SHOWHIDE_BETS: "Event.Functionality.ShowHideBets", 14519 EVENT_INIT_QUICKBET: "Event.InitiateQB", 14520 EVENT_NAVIGATION_MENUS: "Event.NavigationMenus", 14521 EVENT_AUTO_EARLYPAYOUT_SET: "event.AutoearlyPayoutSet", 14522 EVENT_VIDEO_INTERACTIONS: "Event.VideoInteractions", 14523 EVENT_FAVOURITES: "event.favourites", 14524 EVENT_GAME_OPEN: "gameOpen", 14525 EVENT_VIRTUAL_OPEN: "virtualOpen", 14526 EVENT_MINI_GAME_OPEN: "miniGameOpen", 14527 EVENT_RELOAD_HIDDEN: "reloadHidden", 14528 EVENT_RELOAD_OFFLINE: "reloadOffline", 14529 EVENT_PREF_NAV: "perfNav", 14530 EVENT_PERF_APP_LOAD: "perfAppLoad", 14531 EVENT_TRACKING: "Event.Tracking", 14532 EVENT_PODVIEW: "Event.podView", 14533 EVENT_AZSPORTS: "Event.NavigationMenus", 14534 EVENT_ALERT_ENABLED: "Alert Enabled", 14535 EVENT_MARKET_SWITCH: "Event.MarketSwitch", 14536 EVENT_GEOLOCATION_ERROR: "GEOLocation.ERROR", 14537 EVENT_TRIGGER_GEO_FETCH: "GEOLocation.FETCH", 14538 EVENT_OVERASK: "Event.OverAsk", 14539 EVENT_CONTENT_VIEW: "contentView", 14540 EVENT_BETSBOOST: "Event.BetsBoost", 14541 EVENT_BET_STATUS: "Event.BetStatus", 14542 EVENT_CART_ADD_BALANCE: "cart.addBalance", 14543 MESSAGE_VIEW: "Message View", 14544 EVENT_CORE_NAVIGATION: "Event.CoreNavigation", 14545 EVENT_TEASER_BETS: "Event.TeaserBets", 14546 EVENT_NAME: "event.name", 14547 TRACKING_EVENT_NAME: "event_name", 14548 EVENT_CLICK: "click", 14549 SEE_ALL: "see all", 14550 SEE_ALL_OVERLAY: "see all overlay", 14551 LOAD: "load", 14552 CLOSE: "close", 14553 SPORTS_EVENT: "sports event", 14554 SCOREBOARD_EVENT: "scoreboard", 14555 EVENT_LIVE: "live events", 14556 EVENT_PRELIVE: "pre live events", 14557 PLAYER_STATS: "player stats", 14558 PLAYER_IS_ROOKIE: "player is rookie", 14559 STATS_NOT_LOADING: "stats are not loading", 14560 EVENT_GAME_IMPRESSIONS: "gameImpressions", 14561 EVENT_ALERTS_SUBMISSION: "Event.AlertsSubmission", 14562 GAME_STATS: "game stats", 14563 SIX_PACK: "six-pack", 14564 BETS_BOOST_DRAWER: "bets boost drawer", 14565 BETS_BOOST: "bets boost", 14566 SEE_DETAILS: "see details", 14567 CLICK: "click", 14568 DELETE_BET_SELECTION: "deleteBetSelection" 14569 }, gI = "not applicable", vI = "live|penalties|red cards", SI = "no game details available", bI = {
14570 BUTTON_CLICK_EVENT: "Event.buttonClick", 14571 CART_PURCHASE: "cart.purchase", 14572 CART_CHECKOUT: "cart.checkout", 14573 TRANSACTION_PRODUCT_ODDS: "transaction.Products.odds", 14574 COMPONENT_ACTION_EVENT: "component.ActionEvent", 14575 COMPONENT_AUTO_EARLYPAYOUT: "component.AutoEarlyPayout", 14576 COMPONENT_CATEGORY_EVENT: "component.CategoryEvent", 14577 COMPONENT_CATEGORY_SUB_TYPE: "component.categorySubType", 14578 COMPONENT_CATEGORY_TYPE: "component.categoryType", 14579 COMPONENT_EVENT_NAME: "component.EventName", 14580 COMPONENT_EVENT_DETAILS: "component.EventDetails", 14581 COMPONENT_FAVOURITES_ACTION: "component.favourites-action", 14582 COMPONENT_GAME_CONTAINER_DESCRIPTION: "component.gameContainerDescription", 14583 COMPONENT_GAME_CONTAINER_LOCATION: "component.gameContainerLocation", 14584 COMPONENT_GAME_DISPLAY_NAME: "component.gameDisplayName", 14585 COMPONENT_GAME_FAVOURITE: "component.gameFavourite", 14586 COMPONENT_GAME_GRID_POSITION: "component.Game.GridPosition", 14587 COMPONENT_GAME_NAME: "component.gameName", 14588 COMPONENT_GAME_ID: "component.gameId", 14589 COMPONENT_GAME_PLAYING_STATUS: "component.gamePlayingStatus", 14590 COMPONENT_GAME_POSITION: "component.Game.position", 14591 COMPONENT_GAME_SECTION: "component.Game.section", 14592 COMPONENT_GAME_STATUS: "component.gameStatus", 14593 COMPONENT_GAME_TYPE: "component.gameType", 14594 COMPONENT_LABEL_EVENT: "component.LabelEvent", 14595 COMPONENT_LEAGUE_ID: "component.LeagueId", 14596 COMPONENT_LOCATION_EVENT: "component.LocationEvent", 14597 COMPONENT_MODULE_NAME: "component.moduleName", 14598 COMPONENT_MARKET_ID: "component.MarketID", 14599 COMPONENT_POSITION_EVENT: "component.PositionEvent", 14600 COMPONENT_PAGE_LAYOUT: "component.pageLayout", 14601 COMPONENT_MODULE_POSITION: "component.modulePosition", 14602 COMPONENT_MODULE_CUSTOM_NAME: "component.moduleCustName", 14603 COMPONENT_REFERRED_BET: "component.referredBet", 14604 COMPONENT_SITE_ELEMENT_INTERCATIONS: "component.SiteElement.Interactions", 14605 COMPONENT_SLIP_ID: "component.SlipID", 14606 COMPONENT_SPORT_ID: "component.SportId", 14607 COMPONENT_URL_CLICKED: "component.URLClicked", 14608 COMPONENT_EVENT_POSITION: "component.EventPosition", 14609 CUSTOMER_ID: "customer.id", 14610 COMPONENT_CONTENT_POSITION: "component.ContentPosition", 14611 COMPONENT_MODULE_SOURCE: "component.moduleSource", 14612 COMPONENT_MODULE_TYPE: "component.moduleType", 14613 COMPONENT_BET_SOURCE: "component.betsource", 14614 COMPONENT_MODULE_AFFILIATION_CONFIG: "component.moduleAffiliationConfig", 14615 PAGE_BETSLIP_ERROR: "page.Betslip_Error", 14616 PAGE_DISPLAYED_ELEMENT: "page.displayed.element", 14617 PAGE_EDITBET_ERROR: "page.EditedBet_Error", 14618 PAGE_NAME: "page.name", 14619 PAGE_NAVIGATION_MENUS: "page.navigationMenus", 14620 PAGE_PROMOTION_ID: "page.promotionID", 14621 PAGE_REFERRING_ACTION: "page.referringAction", 14622 PAGE_RELOAD_AFTER_HIDDEN: "page.reloadAfterPageHidden", 14623 PAGE_RELOAD_AFTER_OFFLINE: "page.reloadAfterOffline", 14624 PAGE_SITE_SECTION: "page.siteSection", 14625 PAGE_URL: "page.url", 14626 MARQUEE_CONTENT_LOGIC: "marquee.contentLogic", 14627 PERFORMANCE_APP_COMPILAION: "performance.appCompilation", 14628 PERFORMANCE_APP_RUN: "performance.appRun", 14629 PERFORMANCE_ASSETS_FETCH: "performance.assetsFetch", 14630 PERFORMANCE_CDSAPI: "performance.cdsApi", 14631 PERFORMANCE_CLIENT_BOOTSTRAP: "performance.clientBootstrap", 14632 PERFORMANCE_DOM_LOADED: "performance.domContentLoaded", 14633 PERFORMANCE_INTERACTIVE: "performance.interactive", 14634 PERFORMANCE_LOAD: "performance.load", 14635 MARKET_ID: "marketID", 14636 Transaction_Product_Category: "transactionProducts.category", 14637 Bet_Type_Init: "bet_type_init", 14638 Betslip_Type_Init: "betslip_type_init", 14639 Prod_Betslip_Init_Id: "prod_betslip_init_id", 14640 Betslip_Init_Id: "betslip_init_id", 14641 Location_Event: "location_event", 14642 Transaction_Product_BetType: "transactionProducts.betType", 14643 PERFORMANCE_NAV: "performance.nav", 14644 PRODUCT_BET_SPORTS: "product.betSports", 14645 PRODUCT_PICK_DETAILS: "product.pickDetails", 14646 VIDEO_INTERNAL_EVENT_ID: "video.InternalEventID", 14647 VIDEO_PROVIDER_EVENT_ID: "video.ProviderEventID", 14648 INVOKE_PRODUCT: "invoker.product", 14649 INVOKE_INTERFACE: "invoker.interface", 14650 SPORT_EVENT_ID: "sportEventID", 14651 SPORT_LEAGUE_ID: "leagueID", 14652 EVENT_ID: "eventID", 14653 CATEGORY_ID: "categoryID", 14654 TYPE_ID: "typeID", 14655 GEOLOCATION_FETCH_TYPE: "geolocation.fetchType", 14656 GEOLOCATION_ERRORCODE: "geolocation.errorCode", 14657 GEOLOCATION_ERRORMESSAGE: "geolocation.errorMessage", 14658 SHOW_MODULE: "showmodule", 14659 BETS_BOOSTS: "betsBoost", 14660 BET_TICKET_ID: "betTicketID", 14661 COMPONENT_RESULT_ID: "component.ResultID", 14662 SPORT_ID: "sportID", 14663 RESULT_ID: "resultID", 14664 REGION_ID: "regionID", 14665 BET_TYPE: "betType", 14666 PROMO_ID: "promoID", 14667 MESSAGE_TYPE: "messageType", 14668 GAME_DETAILS: "gameDetails", 14669 COMPONENT_SITECORE_ID: "component.sitecoreID", 14670 COMPONENT_USER_SEGMENTS: "component.userSegment", 14671 MARQUEE_NAME: "marqueeName", 14672 SITECORE_TEMPLATE_ID: "page.sitecoretemplateid", 14673 MARQUEE_TYPE: "marqueeType", 14674 SHOW_MARQUEE: "showmarquee", 14675 MARQUEE_RECOMMENDATION_TYPE: "component.recommendationtype", 14676 BET_DETAILS: "bet_details", 14677 BET_CALENDER: "bet_calendar", 14678 QUICKBET: "quickbet", 14679 PlaceBetSuccess: { PAGE_NAME: "M2_slip_placed" }, 14680 PlaceBet: { PAGE_NAME: "M2_slip_action_PlaceBet" }, 14681 TOPEVENTS_POD_DATA: "podData", 14682 Event_ID: "eventId", 14683 SHOW_NEXTRACES: "shownextraces", 14684 SELECTIONS_IN_SLIP: "selectionsInSlip", 14685 VARIANT: "variant", 14686 EVENT_NAME: "event.name", 14687 BET_TRACKING_TYPE: "bet_tracking_type", 14688 BET_PICK_TYPE: "bet_type", 14689 BETTING: "betting", 14690 MYBETS: "my bets", 14691 COPY_BETSLIP_ID: "copy betslip id", 14692 BETSLIP_TYPE: "betslip_type", 14693 BETS: "bets", 14694 BETSLIP: "betslip", 14695 BETSLIP_ID: "betSlipID", 14696 BET_RECEIPT: "bet receipt", 14697 QUICKBET_RECEIPT: "quickbet receipt", 14698 REWARDS: "rewards", 14699 REWARD_BALANCE: "reward_balance", 14700 GAME_IMPRESSIONS: "game_impressions", 14701 GAME_LIST: "list", 14702 FIRST_BET: "first bet", 14703 OTHER_BET: "other bet", 14704 UNKNOWN_BET: "unknown bet", 14705 QUICKLINKS: "quicklinks", 14706 SPORT: "Sport", 14707 LOCATION_ID: "location_id", 14708 INTEGRATED_SHEETVIEW: "integrated sheetview", 14709 POPULARPICKS: "popular picks", 14710 BET_LOCATION: "bet_location", 14711 PROMOTION_ID: "promotion_id" 14712 }, yI = { LINE_SWITCHER_TRACKING: "BetslipLineSwitcher" }, wI = "pre-created sgp", Vv = (function(e) { 14713 return e.VideoStreaming = "Video Streaming", e.VideoInitiated = "Video-Initiated", e.NotApplicable = "not applicable", e.VideoStarted = "VideoStarted", e.VideoContent = "Video Content Not Available Message", e.UserNotLoggedIn = "Log In to watch video live", e.StreamingAvailableCta = "streaming available CTA", e; 14714 })(Vv || {}), Hv = (function(e) { 14715 return e.Esports = "esports", e.LivePage = "live page", e.LivePageShowMoreCta = "show more", e.BannerMessage = "esports welcome message", e; 14716 })(Hv || {}), Uv = C(C(C({}, fI), bI), yI), Wv = (function(e) { 14717 return e[e.PageName = 0] = "PageName", e[e.Referring = 1] = "Referring", e[e.EventClick = 2] = "EventClick", e; 14718 })(Wv || {}), jv = (function(e) { 14719 return e.Wrapper = "sportsw", e.PokerNativeApp = "poker", e.PokerDesktopClient = "pokervc", e.PokerMac = "pokermc", e; 14720 })(jv || {}), EI = { 14721 single: "single", 14722 multi: "multi", 14723 betBuilder: "betbuilder", 14724 betBuilderPlus: "betbuilder+", 14725 singleInvalid: "single_invalid", 14726 multiInvalid: "multi_invalid", 14727 betBuilderInvalid: "betbuilder_invalid",
14728 betBuilderPlusInvalid: "betbuilder+_invalid", 14729 betBuilderRedundant: "betbuilder - redundant", 14730 betBuilderPlusRedundant: "betbuilder+ - redundant" 14731 }, CI = (() => { 14732 let e = class { 14733 constructor() { 14734 this.googleAnalyticsCoreService = f(My), this.vanillaTracking = f(Yr); 14735 } 14736 get whenReady() { 14737 return this.vanillaTracking.whenReady; 14738 } 14739 track(t, r, s) { 14740 this.vanillaTracking.triggerEvent(t, r, s), this.clean(); 14741 } 14742 trackGa4Event(t) { 14743 this.googleAnalyticsCoreService.track(t); 14744 } 14745 update(t) { 14746 this.vanillaTracking.updateDataLayer(t); 14747 } 14748 trackError(t) { 14749 this.vanillaTracking.reportError(t); 14750 } 14751 triggerEventWithCleaning(t, r, s) { 14752 this.vanillaTracking.triggerEvent(t || "pageView", r, s), this.clean(); 14753 } 14754 clean() { 14755 this.vanillaTracking.updateDataLayer({ [Uv.PAGE_REFERRING_ACTION]: "" }); 14756 } 14757 }; 14758 return e.ɵfac = function(i) { 14759 return new (i || e)(); 14760 }, e.ɵprov = R({ 14761 token: e, 14762 factory: e.ɵfac, 14763 providedIn: "root" 14764 }), e; 14765 })(); 14766 })))(); 14767} 14768var Yv, TI, kI, xI; 14769function II() { 14770 return (II = Z((() => { 14771 de(), Yn(), Yv = class { 14772 constructor() { 14773 this.promise = new Promise((e, i) => { 14774 this.resolve = e, this.reject = i; 14775 }); 14776 } 14777 }, TI = class { 14778 constructor(e, i, t) { 14779 this.nodes = e, this.viewRef = i, this.componentRef = t; 14780 } 14781 }, kI = class { 14782 close(e) {} 14783 dismiss(e) {} 14784 }, xI = (() => { 14785 let e = class xb { 14786 get componentInstance() { 14787 if (this._contentRef?.componentRef) return this._contentRef.componentRef.instance; 14788 } 14789 get componentRef() { 14790 if (this._contentRef?.componentRef) return this._contentRef.componentRef; 14791 } 14792 get windowRef() { 14793 return this._windowCmptRef ? this._windowCmptRef.location.nativeElement : null; 14794 } 14795 constructor(t, r, s, n, a) { 14796 this._windowCmptRef = t, this._contentRef = r, this._backdropCmptRef = s, this._coverCmptRef = n, this._beforeDismiss = a, this.updateData$ = new ws(1), this.newData$ = this.updateData$.asObservable(), t && t.instance.dismiss.subscribe(this.dismiss.bind(this)), this.deferred = new Yv(), this.deferred.promise.then(null, () => {}); 14797 } 14798 updateTitle(t) { 14799 let r = this._windowCmptRef?.instance; 14800 r && (r.title = t); 14801 } 14802 updateData(t) { 14803 this.updateData$.next(t); 14804 } 14805 get result() { 14806 return this.deferred.promise; 14807 } 14808 appendClass(t, r) { 14809 let s = t.split(xb.SPACE); 14810 return s.push(r), s.join(xb.SPACE); 14811 } 14812 addWindowClass(t) { 14813 let r = this._windowCmptRef?.instance; 14814 return r && (r.windowClass = this.appendClass(r.windowClass, t)), this; 14815 } 14816 addBackdropClass(t) { 14817 if (this._backdropCmptRef) { 14818 let r = this._backdropCmptRef.instance.backdropClass(); 14819 this._backdropCmptRef.setInput("backdropClass", this.appendClass(r, t)); 14820 } 14821 return this; 14822 } 14823 close(t) { 14824 this._windowCmptRef && (this.deferred.resolve(t), this._removeModalElements()); 14825 } 14826 _dismiss(t) { 14827 this.deferred.reject(t), this._removeModalElements(); 14828 } 14829 dismiss(t) { 14830 if (this._windowCmptRef) if (!this._beforeDismiss) this._dismiss(t); 14831 else { 14832 let r = this._beforeDismiss(); 14833 U_(r) ? r.then((s) => { 14834 s !== !1 && this._dismiss(t); 14835 }, () => {}) : r && this._dismiss(t); 14836 } 14837 } 14838 _removeModalElements() { 14839 (this._windowCmptRef?.location.nativeElement).remove(), this._windowCmptRef?.destroy(), this._backdropCmptRef && (this._backdropCmptRef.location.nativeElement.remove(), this._backdropCmptRef.destroy()), this._coverCmptRef && (this._coverCmptRef.location.nativeElement.remove(), this._coverCmptRef.destroy()), this._contentRef && this._contentRef.viewRef && this._contentRef.viewRef.destroy(), this._windowCmptRef = null, this._backdropCmptRef = null, this._contentRef = null, this._coverCmptRef = null; 14840 } 14841 }; 14842 return e.SPACE = " ", e; 14843 })(); 14844 })))(); 14845} 14846var OI; 14847function PI() { 14848 return (PI = Z((() => { 14849 Re(), de(), Wn(), yi(), up(), OI = (() => { 14850 let e = class { 14851 constructor() { 14852 this.geolocationConfig = f(dp), this.activatedRoute = f(gy), this.user = f(ri); 14853 } 14854 isActive() { 14855 return Oe(this, null, function* () { 14856 return yield Vt(this.geolocationConfig.whenReady), !this.isDisabledViaQueryParam() && this.isGeoLocationRestrictionEnabled(); 14857 }); 14858 } 14859 canSwitchOnLegacy() { 14860 return Oe(this, null, function* () { 14861 if (yield this.isActive()) { 14862 let t = "geoCoordination:switchOnLegacy", r = this.activatedRoute.snapshot.queryParamMap.has(t), s = this.activatedRoute.snapshot.queryParamMap.get(t); 14863 return r ? s?.toLowerCase() === "true" : this.geolocationConfig.switchOnLegacy; 14864 } 14865 throw new Error("canSwitchOnLegacy can be called only when GeoCoordination feature is enabled"); 14866 }); 14867 } 14868 isGeoLocationRestrictionEnabled() { 14869 return this.geolocationConfig.isEnabled && this.user.isAuthenticated; 14870 } 14871 isDisabledViaQueryParam() { 14872 return this.activatedRoute.snapshot.queryParamMap.get("_disableFeature")?.trim()?.split(",")?.some((t) => t?.toLowerCase() === "geolocation") ?? !1; 14873 } 14874 }; 14875 return e.ɵfac = function(i) { 14876 return new (i || e)(); 14877 }, e.ɵprov = R({ 14878 token: e, 14879 factory: e.ɵfac, 14880 providedIn: "root" 14881 }), e; 14882 })(); 14883 })))(); 14884} 14885var $I, AI; 14886function _I() { 14887 return (_I = Z((() => { 14888 de(), yi(), st(), up(), $I = (() => { 14889 let e = class { 14890 constructor() { 14891 this.user = f(ri), this.apiService = f(Il), this.geolocationConfig = f(dp); 14892 } 14893 fetchLocationInfoStatusFromGDS() { 14894 this.geolocationConfig.locationInfoStatus.fetchUrl && this.apiService.post(`${this.geolocationConfig.locationInfoStatus.fetchUrl}ssoKey=${this.user.ssoToken}`).subscribe(); 14895 } 14896 }; 14897 return e.ɵfac = function(i) { 14898 return new (i || e)(); 14899 }, e.ɵprov = R({ 14900 token: e, 14901 factory: e.ɵfac, 14902 providedIn: "root" 14903 }), e; 14904 })(), AI = (() => { 14905 let e = class { 14906 constructor() { 14907 this.dismissedSubject = new Xe(), this.dismissed$ = this.dismissedSubject.asObservable(); 14908 } 14909 notifyDismissed(t) { 14910 this.dismissedSubject.next(t); 14911 } 14912 }; 14913 return e.ɵfac = function(i) { 14914 return new (i || e)(); 14915 }, e.ɵprov = R({ 14916 token: e, 14917 factory: e.ɵfac, 14918 providedIn: "root" 14919 }), e; 14920 })(); 14921 })))(); 14922} 14923var MI, Kv, qv, Xv, RI, LI; 14924function BI() { 14925 return (BI = Z((() => { 14926 de(), MI = { 14927 EVENT_GEOLOCATION_ERROR: "GEOLocation.ERROR", 14928 GEOLOCATION_ERRORCODE: "geolocation.errorCode", 14929 GEOLOCATION_ERRORMESSAGE: "geolocation.errorMessage", 14930 EVENT_TRIGGER_GEO_FETCH: "", 14931 GEOLOCATION_FETCH_TYPE: "" 14932 }, Kv = (function(e) { 14933 return e[e.NonRetry = 0] = "NonRetry", e[e.Retry = 1] = "Retry", e; 14934 })(Kv || {}), qv = (function(e) { 14935 return e.Error = "ERROR", e.Info = "INFO", e.Success = "SUCCESS", e; 14936 })(qv || {}), Xv = (function(e) { 14937 return e.GeoComplyRegionCode = "geoComplyRegionCode", e.GeoComplyUuid = "geoComplyUUID", e.GeoComplySdkSolution = "geoComplySdkSolution", e.GeoComplyRegion = "geoComplyRegion", e.GeoComplyOs = "geoComplyOS", e; 14938 })(Xv || {}), RI = new Te("Geoguard:errorData"), LI = new Te("Geoguard:errorMessages"); 14939 })))(); 14940} 14941var DI; 14942function FI() { 14943 return (FI = Z((() => { 14944 Re(), de(), Ke(), yi(), st(), up(), DI = (() => { 14945 var e; 14946 let i = class { 14947 constructor() { 14948 Zi(this, e), this.geolocationCoordinator = void 0, this.geolocationConfig = f(dp), this._initializePending = !1, this._uninitializePending = !1, this._coordinatorState = "NOTINITIALIZED", this.isSynchronizedUninit = !1, er(this, e, f(vt)), this.userService = f(ri), this.destroyRef = f(ze), this.logger = f(lt), this.onUnloadHandler = () => { 14949 this.uninitialize(); 14950 }, this.onAvailable = new ws(1), this.coordinationSynchronizer = (r) => { 14951 let s = this.geolocationConfig; 14952 s.isEnabled && s.synchronizationSettings.enabled && r && r.data && r.data.trim && s.synchronizationSettings.events.stop.includes(r.data.trim()) && (this.isSynchronizedUninit = !0, this.geolocationCoordinator?.uninitialize()); 14953 }, this.destroyRef.onDestroy(() => { 14954 At(this, e).removeEventListener("unload", this.onUnloadHandler), At(this, e).removeEventListener("message", this.coordinationSynchronizer); 14955 }), this.hookupCoordinator(), At(this, e).addEventListener("geolocationcoordinator:bootstrapped",
14955() => { 14956 this.hookupCoordinator(); 14957 }, { once: !0 }); 14958 } 14959 readLocationInfoStatus() { 14960 return this.geolocationCoordinator?.readLocationInfoStatus(); 14961 } 14962 get configuration() { 14963 return this.geolocationCoordinator?.configuration; 14964 } 14965 triggerFetchLocation(r) { 14966 this.geolocationCoordinator?.triggerFetchLocation(r); 14967 } 14968 get permissionsManager() { 14969 return this.geolocationCoordinator?.permissionsManager; 14970 } 14971 get coordinatorState() { 14972 return this._coordinatorState; 14973 } 14974 get isCoordinatorAvailable() { 14975 return !!this.geolocationCoordinator; 14976 } 14977 get appDownloadUrl() { 14978 return this.geolocationCoordinator?.appDownloadUrl || ""; 14979 } 14980 probe() { 14981 this.geolocationCoordinator?.probe(); 14982 } 14983 initialize(r) { 14984 this.isSynchronizedUninit = !1, this.geolocationCoordinator ? (this.logger.infoRemote("[GeoCoordination][GeoCoordinatorService][initialize] executing â coordinator available"), this.geolocationCoordinator.initialize({ 14985 session: r && r.session || this.userService && this.userService.ssoToken || "NotAvailable", 14986 channelId: r && r.channelId, 14987 plcIdentifier: r && r?.plcIdentifier, 14988 showPLCPopup: r && r.showPLCPopup, 14989 geolocationReason: r?.geolocationReason 14990 })) : (this.logger.infoRemote("[GeoCoordination][GeoCoordinatorService][initialize] queued â coordinator not yet available (script not bootstrapped)"), this._initializePending = !0, this._initializationInput = r); 14991 } 14992 uninitialize() { 14993 this.geolocationCoordinator ? this.geolocationCoordinator.uninitialize() : this._uninitializePending = !0; 14994 } 14995 locationInfoStatus(r) { 14996 this.geolocationCoordinator?.locationInfoStatus(r); 14997 } 14998 handleLocationInfoStatus(r, s, n) { 14999 this.geolocationCoordinator?.handleLocationInfoStatus(r, s, n); 15000 } 15001 set onInitialized(r) { 15002 this._onInitialized = r, this.geolocationCoordinator && (this.geolocationCoordinator.onInitialized = this._onInitialized); 15003 } 15004 set onUninitialized(r) { 15005 this._onUninitialized = r, this.geolocationCoordinator && (this.geolocationCoordinator.onUninitialized = r); 15006 } 15007 set onError(r) { 15008 this._onError = r, this.geolocationCoordinator && (this.geolocationCoordinator.onError = r); 15009 } 15010 set onProbed(r) { 15011 this._onProbed = r, this.geolocationCoordinator && (this.geolocationCoordinator.onProbed = r); 15012 } 15013 registerUnload() { 15014 At(this, e).addEventListener("unload", this.onUnloadHandler), At(this, e).removeEventListener("message", this.coordinationSynchronizer); 15015 } 15016 registerSynchronization() { 15017 let r = this.geolocationConfig; 15018 r.isEnabled && r.synchronizationSettings.enabled && At(this, e).addEventListener("message", this.coordinationSynchronizer); 15019 } 15020 onGeolocationError(r) { 15021 this._coordinatorState = "ERROR", this.onError ? this.onError(r) : this._onError && this._onError(r); 15022 } 15023 onGeolocationInitialized(r, s) { 15024 this._coordinatorState = r ?? "NOTINITIALIZED", this.onInitialized ? this.onInitialized(r, s) : this._onInitialized && this._onInitialized(r, s); 15025 } 15026 onGeolocationUninitialized() { 15027 this._coordinatorState = "NOTINITIALIZED", this.onUninitialized ? this.onUninitialized() : this._onUninitialized && this._onUninitialized(); 15028 } 15029 onGeolocationProbed(r) { 15030 this.onProbed ? this.onProbed(r) : this._onProbed && this._onProbed(r); 15031 } 15032 hookupCoordinator() { 15033 let r = At(this, e).geolocationCoordinator; 15034 if (r) { 15035 if (this.geolocationCoordinator = r, this.logger.infoRemote(`[GeoCoordination][GeoCoordinatorService][hookupCoordinator] coordinator available and hooked up \u2014 flushingPendingInitialize=${this._initializePending} flushingPendingUninitialize=${this._uninitializePending}`), this.geolocationCoordinator.onError = this.onGeolocationError.bind(this), this.geolocationCoordinator.onInitialized = this.onGeolocationInitialized.bind(this), this.geolocationCoordinator.onUninitialized = this.onGeolocationUninitialized.bind(this), this.geolocationCoordinator.onProbed = this.onGeolocationProbed.bind(this), this.geolocationCoordinator.diagnostics?.attach({ emit: (s) => { 15036 let n = `[GeoCoordinator][${s.name}]${s.data ? ` ${JSON.stringify(s.data)}` : ""}`; 15037 s.level === "Error" ? this.logger.errorRemote(n, s.data) : s.level === "Warn" ? this.logger.warnRemote(n) : this.logger.infoRemote(n); 15038 } }), this.onAvailable && this.onAvailable.next(this), this._initializePending) { 15039 this._initializePending = !1, this.initialize(this._initializationInput || void 0), this._initializationInput = null; 15040 return; 15041 } 15042 this._uninitializePending && (this._uninitializePending = !1, this.uninitialize()); 15043 } 15044 } 15045 }; 15046 return e = /* @__PURE__ */ new WeakMap(), i.ɵfac = function(t) { 15047 return new (t || i)(); 15048 }, i.ɵprov = R({ 15049 token: i, 15050 factory: i.ɵfac, 15051 providedIn: "root" 15052 }), i; 15053 })(); 15054 })))(); 15055} 15056function P2(e) { 15057 return e.get(Xd); 15058} 15059function Ca(e) { 15060 return e == null || e.length === 0; 15061} 15062function Xo(e) { 15063 return typeof e == "string" ? new Date(e) : e; 15064} 15065function Jo(e) { 15066 let i = /* @__PURE__ */ new Date(); 15067 e = Xo(e); 15068 let t = i.getFullYear() - e.getFullYear(), r = i.getMonth() - e.getMonth(); 15069 return (r < 0 || r === 0 && i.getDate() < e.getDate()) && t--, t; 15070} 15071var Xd, ur, Jv, zI; 15072function GI() { 15073 return (GI = Z((() => { 15074 de(), Ke(), qy(), pt(), Xd = (() => { 15075 var e = class {}; 15076 let i = (e.ɵfac = function(t) { 15077 return new (t || e)(); 15078 }, e.ɵprov = R({ 15079 token: e, 15080 factory: function(t) { 15081 let r = null; 15082 return t ? r = new t() : r = P2(ve(Ai)), r; 15083 }, 15084 providedIn: "root" 15085 }), e); 15086 return i = ht([Qs({ 15087 key: "vnValidation", 15088 product: it.SF 15089 })], i), i; 15090 })(), ur = class K$ extends hM { 15091 static minDate(i) { 15092 return i = Xo(i), (t) => Ca(t.value) ? null : i && Xo(t.value) < i ? { mindate: !0 } : null; 15093 } 15094 static maxDate(i) { 15095 return i = Xo(i), (t) => Ca(t.value) ? null : i && Xo(t.value) > i ? { maxdate: !0 } : null; 15096 } 15097 static youngerThan(i) { 15098 return (t) => Ca(t.value) ? null : Jo(t.value) < i ? { youngerthan: !0 } : null; 15099 } 15100 static youngerThanOrFutureDate(i) { 15101 return (t) => Ca(t.value) ? null : Jo(t.value) < i && Jo(t.value) > 0 ? { youngerthan: !0 } : Jo(t.value) < 0 ? { futuredate: !0 } : null; 15102 } 15103 static olderThan(i) { 15104 return (t) => Ca(t.value) ? null : Jo(t.value) >= i ? { olderthan: !0 } : null; 15105 } 15106 static customPattern(i, t) { 15107 if (!i) return K$.nullValidator; 15108 let r, s; 15109 return typeof i == "string" ? (s = `^${i}
15109$`, r = new RegExp(s)) : (s = i.toString(), r = i), (n) => { 15110 if (Ca(n.value)) return null; 15111 let a = n.value; 15112 if (r.test(a)) return null; 15113 { 15114 let o = {}; 15115 return o[t] = { 15116 requiredPattern: s, 15117 actualValue: a 15118 }, o; 15119 } 15120 }; 15121 } 15122 }, Jv = class extends Rl { 15123 getFlat(e) { 15124 return i(this); 15125 function i(t) { 15126 let r = t.get(e); 15127 if (r) return r; 15128 for (let s in t.controls) { 15129 let n = t.controls[s]; 15130 if (n instanceof Rl && (r = i(n), r)) return r; 15131 } 15132 return null; 15133 } 15134 } 15135 patchValueFlat(e, { onlySelf: i = !0, emitEvent: t, setTouchedOnPatchedValues: r, ignore: s } = {}) { 15136 let n = s || []; 15137 Object.keys(e).filter((a) => n.indexOf(a) === -1).forEach((a) => { 15138 let o = this.getFlat(a); 15139 o && (o.patchValue(e[a] ?? null, { 15140 onlySelf: i, 15141 emitEvent: t 15142 }), r && e[a] && o.markAsTouched()); 15143 }); 15144 } 15145 getValueFlat() { 15146 return e(this); 15147 function e(i, t = {}) { 15148 for (let r in i.controls) { 15149 let s = i.controls[r]; 15150 s instanceof Rl ? e(s, t) : t[r] = s.value; 15151 } 15152 return t; 15153 } 15154 } 15155 getValueFlatData(e) { 15156 return i(this, e); 15157 function i(t, r) { 15158 let s = {}; 15159 return Object.keys(t.controls).forEach((n) => { 15160 let a = t.get(n); 15161 if (a instanceof Rl) { 15162 let o = {}; 15163 Object.keys(a.controls).forEach((l) => { 15164 r.hasOwnProperty(l) && (o[l] = r[l]); 15165 }), s[n] = o; 15166 } 15167 }), s; 15168 } 15169 } 15170 }, zI = (() => { 15171 let e = class { 15172 constructor() { 15173 this.validationConfig = f(Xd), this.defaultValidatorFactories = { 15174 required: (t) => t ? ur.required : null, 15175 regex: (t) => ur.pattern(t), 15176 minLength: (t) => ur.minLength(t), 15177 maxLength: (t) => ur.maxLength(t), 15178 min: (t) => ur.min(t), 15179 max: (t) => ur.max(t) 15180 }; 15181 } 15182 createValidators(t, r) { 15183 r = r || {}; 15184 let s = r.overrides || {}, n = this.parseRules(r.baseOverrides || this.getRawRules(t) || {}), a = Object.assign({}, this.defaultValidatorFactories, r.validationFactoryOverrides); 15185 return [ 15186 this.createValidator(n.required, s.required, (o) => a.required(o)), 15187 this.createValidator(n.minLength, s.minLength, (o) => a.minLength(o)), 15188 this.createValidator(n.maxLength, s.maxLength, (o) => a.maxLength(o)), 15189 this.createValidator(n.min, s.min, (o) => a.min(o)), 15190 this.createValidator(n.max, s.max, (o) => a.max(o)), 15191 this.createValidator(n.regex, s.regex, (o) => a.regex(o)) 15192 ].filter((o) => o); 15193 } 15194 createPasswordValidators() { 15195 return [ 15196 ur.customPattern(new RegExp(this.validationConfig.regexList.containsDigits), "digit"), 15197 ur.customPattern(new RegExp(this.validationConfig.regexList.containsLetters), "letter"), 15198 ur.customPattern(new RegExp(this.validationConfig.regexList.specialCharacters), "specialcharacters") 15199 ]; 15200 } 15201 getRules(t) { 15202 let r = this.getRawRules(t); 15203 return r ? this.parseRules(r) : null; 15204 } 15205 getRawRules(t) { 15206 let r = Object.keys(this.validationConfig.rules).find((s) => s.toLowerCase() === t.toLowerCase()); 15207 return r ? this.validationConfig.rules[r] : null; 15208 } 15209 applyViolations(t, r) { 15210 if (!r) return []; 15211 let s = []; 15212 return r.filter((n) => n.fieldName).forEach((n) => { 15213 let a; 15214 if (t instanceof Jv ? a = t.getFlat(n.fieldName) : a = t.get(n.fieldName), a) { 15215 let o = n.validationError || "server-violation", l = {}; 15216 l[o] = !0, a.setErrors(l), s.push(n.fieldName); 15217 } 15218 }), s; 15219 } 15220 parseRules(t) { 15221 return { 15222 required: this.convertValidationProperty(t.required, Boolean), 15223 min: this.convertValidationProperty(t.min, Number), 15224 max: this.convertValidationProperty(t.max, Number), 15225 regex: this.convertValidationProperty(t.regex, String), 15226 minLength: this.convertValidationProperty(t.minLength, Number), 15227 maxLength: this.convertValidationProperty(t.maxLength, Number) 15228 }; 15229 } 15230 createValidator(t, r, s) { 15231 let n; 15232 return r !== void 0 ? n = r : n = t, n != null ? s(n) : null; 15233 } 15234 convertValidationProperty(t, r) { 15235 typeof t == "string" && (t = this.removeDynamicValidation(t)); 15236 let s; 15237 return r === Number ? s = parseInt(t) : r === Boolean ? s = t === !0 || typeof t == "string" && t.toLowerCase() === "true" : r === String && (s = t), s; 15238 } 15239 removeDynamicValidation(t) { 15240 let r = /\[DEFAULT\]=val\((.+?)\)/.exec(t); 15241 return r ? r[1] : t; 15242 } 15243 }; 15244 return e.ɵfac = function(i) { 15245 return new (i || e)(); 15246 }, e.ɵprov = R({ 15247 token: e, 15248 factory: e.ɵfac, 15249 providedIn: "root" 15250 }), e; 15251 })(); 15252 })))(); 15253} 15254function $2(e, i) { 15255 e & 1 && br(0, "div", 2), e & 2 && yl("innerHTML", N().svg(), Da); 15256} 15257var VI, HI, UI, WI, jI, YI, KI, qI; 15258function XI() { 15259 return (XI = Z((() => { 15260 de(), Ke(), my(), Ua(), Is(), VI = [[[ 15261 "", 15262 "slot", 15263 "header" 15264 ]], "*"], HI = ["[slot=header]", "*"], UI = [[[ 15265 "", 15266 "slot", 15267 "statusicon" 15268 ]], [[ 15269 "", 15270 "slot", 15271 "text" 15272 ]]], WI = ["[slot=statusIcon]", "[slot=text]"], jI = `.ds-help-text-group{--%NS%ds-help-text-radius-radius: var(--%NS%semantic-radius-squared);--%NS%ds-help-text-size-icon-container-height: var(--%NS%semantic-size-icon-medium);--%NS%ds-help-text-size-icon-container-width: var(--%NS%semantic-size-icon-medium);--%NS%ds-help-text-size-icon-height: var(--%NS%semantic-size-icon-small);--%NS%ds-help-text-size-icon-width: var(--%NS%semantic-size-icon-small);--%NS%ds-help-text-space-inline: var(--%NS%semantic-spacing-inline-xs);--%NS%ds-help-text-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-padding-left: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-padding-right: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-padding-top: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-stack: var(--%NS%semantic-spacing-stack-sm);--%NS%ds-help-text-caution-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-icon: var(--%NS%semantic-color-caution-base);--%NS%ds-help-text-caution-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-error-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-icon: var(--%NS%semantic-color-negative-base);--%NS%ds-help-text-error-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-group-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-info-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-icon: var(--%NS%semantic-color-utility-base);--%NS%ds-help-text-info-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-success-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-icon: var(--%NS%semantic-color-positive-base);--%NS%ds-help-text-success-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-help-text-font-size: var(--%NS%semantic-typography-label-md-font-size);
15272--%NS%ds-help-text-font-weight: var(--%NS%semantic-typography-label-md-font-weight);--%NS%ds-help-text-line-height: var(--%NS%semantic-typography-label-md-line-height);font-family:var(--%NS%ds-help-text-font-family);font-size:var(--%NS%ds-help-text-font-size);font-weight:var(--%NS%ds-help-text-font-weight);line-height:var(--%NS%ds-help-text-line-height);display:flex;flex-direction:column;gap:var(--%NS%ds-help-text-space-stack);padding:var(--%NS%ds-help-text-space-padding-top) var(--%NS%ds-help-text-space-padding-right) var(--%NS%ds-help-text-space-padding-bottom) var(--%NS%ds-help-text-space-padding-left)}.ds-help-text-group.ds-help-text-group-inverse{--%NS%ds-help-text-caution-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-icon: var(--%NS%semantic-color-caution-base-inverse);--%NS%ds-help-text-caution-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-error-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-icon: var(--%NS%semantic-color-negative-base-inverse);--%NS%ds-help-text-error-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-group-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-info-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-icon: var(--%NS%semantic-color-utility-base-inverse);--%NS%ds-help-text-info-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-success-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-icon: var(--%NS%semantic-color-positive-base-inverse);--%NS%ds-help-text-success-text: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-help-text-group.ds-help-text-group-right-aligned .ds-help-text-group-header{text-align:right}.ds-help-text-group .ds-help-text-group-header{font-family:var(--%NS%ds-help-text-font-family);font-size:var(--%NS%ds-help-text-font-size);font-weight:var(--%NS%ds-help-text-font-weight);line-height:var(--%NS%ds-help-text-line-height);--%NS%ds-help-text-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-help-text-font-size: var(--%NS%semantic-typography-label-md-strong-font-size);--%NS%ds-help-text-font-weight: var(--%NS%semantic-typography-label-md-strong-font-weight);--%NS%ds-help-text-line-height: var(--%NS%semantic-typography-label-md-strong-line-height);background-color:var(--%NS%ds-help-text-group-bg);border-color:var(--%NS%ds-help-text-group-border);color:var(--%NS%ds-help-text-group-text)}.ds-help-text-group .ds-help-text-group-content{font-family:var(--%NS%ds-help-text-font-family);font-size:var(--%NS%ds-help-text-font-size);font-weight:var(--%NS%ds-help-text-font-weight);line-height:var(--%NS%ds-help-text-line-height);--%NS%ds-help-text-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-help-text-font-size: var(--%NS%semantic-typography-label-md-font-size);--%NS%ds-help-text-font-weight: var(--%NS%semantic-typography-label-md-font-weight);--%NS%ds-help-text-line-height: var(--%NS%semantic-typography-label-md-line-height);display:flex;flex-direction:column;gap:var(--%NS%ds-help-text-space-stack)}.ds-help-item{--%NS%ds-help-text-radius-radius: var(--%NS%semantic-radius-squared);--%NS%ds-help-text-size-icon-container-height: var(--%NS%semantic-size-icon-medium);--%NS%ds-help-text-size-icon-container-width: var(--%NS%semantic-size-icon-medium);--%NS%ds-help-text-size-icon-height: var(--%NS%semantic-size-icon-small);--%NS%ds-help-text-size-icon-width: var(--%NS%semantic-size-icon-small);--%NS%ds-help-text-space-inline: var(--%NS%semantic-spacing-inline-xs);--%NS%ds-help-text-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-padding-left: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-padding-right: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-padding-top: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-stack: var(--%NS%semantic-spacing-stack-sm);--%NS%ds-help-text-caution-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-icon: var(--%NS%semantic-color-caution-base);--%NS%ds-help-text-caution-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-error-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-icon: var(--%NS%semantic-color-negative-base);--%NS%ds-help-text-error-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-group-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-info-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-icon: var(--%NS%semantic-color-utility-base);--%NS%ds-help-text-info-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-success-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-icon: var(--%NS%semantic-color-positive-base);--%NS%ds-help-text-success-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-help-text-font-size: var(--%NS%semantic-typography-label-md-font-size);
15272--%NS%ds-help-text-font-weight: var(--%NS%semantic-typography-label-md-font-weight);--%NS%ds-help-text-line-height: var(--%NS%semantic-typography-label-md-line-height);font-family:var(--%NS%ds-help-text-font-family);font-size:var(--%NS%ds-help-text-font-size);font-weight:var(--%NS%ds-help-text-font-weight);line-height:var(--%NS%ds-help-text-line-height);--%NS%ds-help-text-local-right-alignment-width: max-content;--%NS%ds-help-text-local-right-alignment-min-width: 100%;align-items:center;display:flex;gap:var(--%NS%ds-help-text-space-inline)}.ds-help-item-success{background-color:var(--%NS%ds-help-text-success-bg);border-color:var(--%NS%ds-help-text-success-border);color:var(--%NS%ds-help-text-success-text)}.ds-help-item-success .ds-help-item-icon{color:var(--%NS%ds-help-text-success-icon)}.ds-help-item-caution{background-color:var(--%NS%ds-help-text-caution-bg);border-color:var(--%NS%ds-help-text-caution-border);color:var(--%NS%ds-help-text-caution-text)}.ds-help-item-caution .ds-help-item-icon{color:var(--%NS%ds-help-text-caution-icon)}.ds-help-item-error{background-color:var(--%NS%ds-help-text-error-bg);border-color:var(--%NS%ds-help-text-error-border);color:var(--%NS%ds-help-text-error-text)}.ds-help-item-error .ds-help-item-icon{color:var(--%NS%ds-help-text-error-icon)}.ds-help-item-info{background-color:var(--%NS%ds-help-text-info-bg);border-color:var(--%NS%ds-help-text-info-border);color:var(--%NS%ds-help-text-info-text)}.ds-help-item-info .ds-help-item-icon{color:var(--%NS%ds-help-text-info-icon)}.ds-help-item-right-alignment{align-items:end;align-self:end;display:flex;flex-direction:row;justify-content:end;min-width:var(--%NS%ds-help-text-local-right-alignment-width);text-align:end;width:var(--%NS%ds-help-text-local-right-alignment-min-width)}.ds-help-item-inverse{--%NS%ds-help-text-caution-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-icon: var(--%NS%semantic-color-caution-base-inverse);--%NS%ds-help-text-caution-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-error-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-icon: var(--%NS%semantic-color-negative-base-inverse);--%NS%ds-help-text-error-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-group-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-info-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-icon: var(--%NS%semantic-color-utility-base-inverse);--%NS%ds-help-text-info-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-success-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-icon: var(--%NS%semantic-color-positive-base-inverse);--%NS%ds-help-text-success-text: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-help-item-icon{align-items:center;display:flex;flex-direction:column;height:var(--%NS%ds-help-text-size-icon-container-height);justify-content:center;min-width:var(--%NS%ds-help-text-size-icon-container-width);place-self:flex-start;width:var(--%NS%ds-help-text-size-icon-container-width)}.ds-help-item-svg{height:var(--%NS%ds-help-text-size-icon-width);width:var(--%NS%ds-help-text-size-icon-height)}.ds-help-item-default-icon{display:flex}.ds-help-item-text{overflow-wrap:break-word;word-wrap:break-word} 15273`, YI = { 15274 caution: `<svg class="ds-help-item-svg" viewBox="0 0 12 12" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> 15275<path fill-rule="evenodd" clip-rule="evenodd" d="M7.37922 1.30559C6.77424 0.23147 5.22576 0.231469 4.62078 1.30559L0.205528 9.14479C-0.387832 10.1983 0.374452 11.5 1.58475 11.5H10.4153C11.6255 11.5 12.3878 10.1983 11.7945 9.14479L7.37922 1.30559ZM6 3.5C5.72386 3.5 5.5 3.72386 5.5 4V7C5.5 7.27614 5.72386 7.5 6 7.5C6.27614 7.5 6.5 7.27614 6.5 7V4C6.5 3.72386 6.27614 3.5 6 3.5ZM6 8.5C5.58579 8.5 5.25 8.83579 5.25 9.25C5.25 9.66421 5.58579 10 6 10C6.41421 10 6.75 9.66421 6.75 9.25C6.75 8.83579 6.41421 8.5 6 8.5Z" /> 15276</svg> 15277`, 15278 error: `<svg class="ds-help-item-svg" viewBox="0 0 12 12" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> 15279<path fill-rule="evenodd" clip-rule="evenodd" d="M12 6C12 9.31371 9.31371 12 6 12C2.68629 12 0 9.31371 0 6C0 2.68629 2.68629 0 6 0C9.31371 0 12 2.68629 12 6ZM5.5 7.5V2.5H6.5V7.5H5.5ZM5.99994 9.76379C6.4218 9.76379 6.76379 9.42181 6.76379 8.99994C6.76379 8.57807 6.4218 8.23608 5.99994 8.23608C5.57807 8.23608 5.23608 8.57807 5.23608 8.99994C5.23608 9.42181 5.57807 9.76379 5.99994 9.76379Z" /> 15280</svg> 15281`, 15282 info: "<svg class=\"ds-help-item-svg\" viewBox=\"0 0 12 12\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6 12A6 6 0 1 0 6 0a6 6 0 0 0 0 12Zm0-9a.75.75 0 1 0 0 1.5A.75.75 0 0 0 6 3Zm.5 6a.25.25 0 0 0 .25-.25V5.5a.25.25 0 0 0-.25-.25h-1a.25.25 0 0 0-.25.25v3.25c0 .138.112.25.25.25h1Z\"/></svg>", 15283 success: `<svg class="ds-help-item-svg" viewBox="0 0 12 12" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> 15284 <path fill-rule="evenodd" clip-rule="evenodd" 15285 d="M0.114286 4.8535C0.685714 2.06369 3.04762 0 5.98095 0C9.25714 0 12 2.71338 12 6C12 9.28662 9.29524 12 6.01905 12C3.9619 12 2.13333 10.9299 1.06667 9.36306C0.380952 8.40764 0 7.22293 0 6C0 5.61783 0.0380952 5.23567 0.114286 4.8535ZM5.60355 8.10355L9.10355 4.60355L8.39645 3.89645L5.25 7.04289L3.60355 5.39645L2.89645 6.10355L4.89645 8.10355C5.09171 8.29882 5.40829 8.29882 5.60355 8.10355Z" /> 15286</svg>` 15287 }, KI = (() => { 15288 let e = class { 15289 constructor() { 15290 this.inverse = Ne(!1), this.hostClass = ne(() => "ds-help-text-group"), Fy().toggleClass((t) => !!t.nativeElement.querySelector(".ds-help-item-right-alignment"), "ds-help-text-group-right-aligned"); 15291 } 15292 getThemeableProperties() { 15293 return { inverse: this.inverse }; 15294 } 15295 }; 15296 return e.ɵfac = function(i) { 15297 return new (i || e)(); 15298 }, e.ɵcmp = ge({ 15299 type: e, 15300 selectors: [["ds-help-group"]], 15301 hostVars: 4, 15302 hostBindings: function(i, t) { 15303 i & 2 && (Le(t.hostClass()), yt("ds-help-text-group-inverse", t.inverse())); 15304 }, 15305 inputs: { inverse: [1, "inverse"] }, 15306 outputs: { inverse: "inverseChange" }, 15307 features: [$i([{ 15308 provide: Nr, 15309 useExisting: e 15310 }])], 15311 ngContentSelectors: HI, 15312 decls: 4, 15313 vars: 0, 15314 consts: [[1, "ds-help-text-group-header"], [1, "ds-help-text-group-content"]], 15315 template: function(i, t) { 15316 i & 1 && (_t(VI), Nt(0, "div", 0), Ye(1), mt(), Nt(2, "div", 1), Ye(3, 1), mt()); 15317 }, 15318 styles: [`.ds-help-text-group{--%NS%ds-help-text-radius-radius: var(--%NS%semantic-radius-squared);--%NS%ds-help-text-size-icon-container-height: var(--%NS%semantic-size-icon-medium);--%NS%ds-help-text-size-icon-container-width: var(--%NS%semantic-size-icon-medium);--%NS%ds-help-text-size-icon-height: var(--%NS%semantic-size-icon-small);--%NS%ds-help-text-size-icon-width: var(--%NS%semantic-size-icon-small);--%NS%ds-help-text-space-inline: var(--%NS%semantic-spacing-inline-xs);--%NS%ds-help-text-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-padding-left: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-padding-right: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-padding-top: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-stack: var(--%NS%semantic-spacing-stack-sm);--%NS%ds-help-text-caution-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-icon: var(--%NS%semantic-color-caution-base);--%NS%ds-help-text-caution-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-error-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-icon: var(--%NS%semantic-color-negative-base);--%NS%ds-help-text-error-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-group-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-info-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-icon: var(--%NS%semantic-color-utility-base);--%NS%ds-help-text-info-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-success-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-icon: var(--%NS%semantic-color-positive-base);--%NS%ds-help-text-success-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-help-text-font-size: var(--%NS%semantic-typography-label-md-font-size);
15318--%NS%ds-help-text-font-weight: var(--%NS%semantic-typography-label-md-font-weight);--%NS%ds-help-text-line-height: var(--%NS%semantic-typography-label-md-line-height);font-family:var(--%NS%ds-help-text-font-family);font-size:var(--%NS%ds-help-text-font-size);font-weight:var(--%NS%ds-help-text-font-weight);line-height:var(--%NS%ds-help-text-line-height);display:flex;flex-direction:column;gap:var(--%NS%ds-help-text-space-stack);padding:var(--%NS%ds-help-text-space-padding-top) var(--%NS%ds-help-text-space-padding-right) var(--%NS%ds-help-text-space-padding-bottom) var(--%NS%ds-help-text-space-padding-left)}.ds-help-text-group.ds-help-text-group-inverse{--%NS%ds-help-text-caution-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-icon: var(--%NS%semantic-color-caution-base-inverse);--%NS%ds-help-text-caution-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-error-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-icon: var(--%NS%semantic-color-negative-base-inverse);--%NS%ds-help-text-error-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-group-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-info-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-icon: var(--%NS%semantic-color-utility-base-inverse);--%NS%ds-help-text-info-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-success-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-icon: var(--%NS%semantic-color-positive-base-inverse);--%NS%ds-help-text-success-text: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-help-text-group.ds-help-text-group-right-aligned .ds-help-text-group-header{text-align:right}.ds-help-text-group .ds-help-text-group-header{font-family:var(--%NS%ds-help-text-font-family);font-size:var(--%NS%ds-help-text-font-size);font-weight:var(--%NS%ds-help-text-font-weight);line-height:var(--%NS%ds-help-text-line-height);--%NS%ds-help-text-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-help-text-font-size: var(--%NS%semantic-typography-label-md-strong-font-size);--%NS%ds-help-text-font-weight: var(--%NS%semantic-typography-label-md-strong-font-weight);--%NS%ds-help-text-line-height: var(--%NS%semantic-typography-label-md-strong-line-height);background-color:var(--%NS%ds-help-text-group-bg);border-color:var(--%NS%ds-help-text-group-border);color:var(--%NS%ds-help-text-group-text)}.ds-help-text-group .ds-help-text-group-content{font-family:var(--%NS%ds-help-text-font-family);font-size:var(--%NS%ds-help-text-font-size);font-weight:var(--%NS%ds-help-text-font-weight);line-height:var(--%NS%ds-help-text-line-height);--%NS%ds-help-text-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-help-text-font-size: var(--%NS%semantic-typography-label-md-font-size);--%NS%ds-help-text-font-weight: var(--%NS%semantic-typography-label-md-font-weight);--%NS%ds-help-text-line-height: var(--%NS%semantic-typography-label-md-line-height);display:flex;flex-direction:column;gap:var(--%NS%ds-help-text-space-stack)}.ds-help-item{--%NS%ds-help-text-radius-radius: var(--%NS%semantic-radius-squared);--%NS%ds-help-text-size-icon-container-height: var(--%NS%semantic-size-icon-medium);--%NS%ds-help-text-size-icon-container-width: var(--%NS%semantic-size-icon-medium);--%NS%ds-help-text-size-icon-height: var(--%NS%semantic-size-icon-small);--%NS%ds-help-text-size-icon-width: var(--%NS%semantic-size-icon-small);--%NS%ds-help-text-space-inline: var(--%NS%semantic-spacing-inline-xs);--%NS%ds-help-text-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-padding-left: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-padding-right: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-padding-top: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-help-text-space-stack: var(--%NS%semantic-spacing-stack-sm);--%NS%ds-help-text-caution-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-icon: var(--%NS%semantic-color-caution-base);--%NS%ds-help-text-caution-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-error-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-icon: var(--%NS%semantic-color-negative-base);--%NS%ds-help-text-error-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-group-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-info-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-icon: var(--%NS%semantic-color-utility-base);--%NS%ds-help-text-info-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-success-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-icon: var(--%NS%semantic-color-positive-base);--%NS%ds-help-text-success-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-help-text-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-help-text-font-size: var(--%NS%semantic-typography-label-md-font-size);
15318--%NS%ds-help-text-font-weight: var(--%NS%semantic-typography-label-md-font-weight);--%NS%ds-help-text-line-height: var(--%NS%semantic-typography-label-md-line-height);font-family:var(--%NS%ds-help-text-font-family);font-size:var(--%NS%ds-help-text-font-size);font-weight:var(--%NS%ds-help-text-font-weight);line-height:var(--%NS%ds-help-text-line-height);--%NS%ds-help-text-local-right-alignment-width: max-content;--%NS%ds-help-text-local-right-alignment-min-width: 100%;align-items:center;display:flex;gap:var(--%NS%ds-help-text-space-inline)}.ds-help-item-success{background-color:var(--%NS%ds-help-text-success-bg);border-color:var(--%NS%ds-help-text-success-border);color:var(--%NS%ds-help-text-success-text)}.ds-help-item-success .ds-help-item-icon{color:var(--%NS%ds-help-text-success-icon)}.ds-help-item-caution{background-color:var(--%NS%ds-help-text-caution-bg);border-color:var(--%NS%ds-help-text-caution-border);color:var(--%NS%ds-help-text-caution-text)}.ds-help-item-caution .ds-help-item-icon{color:var(--%NS%ds-help-text-caution-icon)}.ds-help-item-error{background-color:var(--%NS%ds-help-text-error-bg);border-color:var(--%NS%ds-help-text-error-border);color:var(--%NS%ds-help-text-error-text)}.ds-help-item-error .ds-help-item-icon{color:var(--%NS%ds-help-text-error-icon)}.ds-help-item-info{background-color:var(--%NS%ds-help-text-info-bg);border-color:var(--%NS%ds-help-text-info-border);color:var(--%NS%ds-help-text-info-text)}.ds-help-item-info .ds-help-item-icon{color:var(--%NS%ds-help-text-info-icon)}.ds-help-item-right-alignment{align-items:end;align-self:end;display:flex;flex-direction:row;justify-content:end;min-width:var(--%NS%ds-help-text-local-right-alignment-width);text-align:end;width:var(--%NS%ds-help-text-local-right-alignment-min-width)}.ds-help-item-inverse{--%NS%ds-help-text-caution-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-caution-icon: var(--%NS%semantic-color-caution-base-inverse);--%NS%ds-help-text-caution-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-error-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-error-icon: var(--%NS%semantic-color-negative-base-inverse);--%NS%ds-help-text-error-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-group-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-group-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-info-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-info-icon: var(--%NS%semantic-color-utility-base-inverse);--%NS%ds-help-text-info-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-help-text-success-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-help-text-success-icon: var(--%NS%semantic-color-positive-base-inverse);--%NS%ds-help-text-success-text: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-help-item-icon{align-items:center;display:flex;flex-direction:column;height:var(--%NS%ds-help-text-size-icon-container-height);justify-content:center;min-width:var(--%NS%ds-help-text-size-icon-container-width);place-self:flex-start;width:var(--%NS%ds-help-text-size-icon-container-width)}.ds-help-item-svg{height:var(--%NS%ds-help-text-size-icon-width);width:var(--%NS%ds-help-text-size-icon-height)}.ds-help-item-default-icon{display:flex}.ds-help-item-text{overflow-wrap:break-word;word-wrap:break-word} 15319`], 15320 encapsulation: 2 15321 }), e; 15322 })(), qI = (() => { 15323 let e = class { 15324 constructor() { 15325 this._sanitizer = f(fy), this._elementRef = f(di), this.svg = ne(() => { 15326 let t = YI[this.type()]; 15327 return t ? this._sanitizer.bypassSecurityTrustHtml(t) : ""; 15328 }), this.type = Ne("success"), this.isRightAligned = Ne(!1), this.inverse = Ne(!1), this.hostClass = ne(() => `ds-help-item ds-help-item-${this.type()} ${this.isRightAligned() ? "ds-help-item-right-alignment" : ""}`); 15329 } 15330 helpItemId() { 15331 if (this._id) return this._id; 15332 let t = this._elementRef.nativeElement.getAttribute("id"); 15333 return t?.trim() || (t = sy("ds-help-item-")), this._id = t, t; 15334 } 15335 getThemeableProperties() { 15336 return { 15337 type: this.type, 15338 inverse: this.inverse 15339 }; 15340 } 15341 }; 15342 return e.ɵfac = function(i) { 15343 return new (i || e)(); 15344 }, e.ɵcmp = ge({ 15345 type: e, 15346 selectors: [["ds-help-item"]], 15347 hostAttrs: [ 15348 "aria-atomic", 15349 "true", 15350 "aria-live", 15351 "polite" 15352 ], 15353 hostVars: 5, 15354 hostBindings: function(i, t) { 15355 i & 2 && (Qe("id", t.helpItemId()), Le(t.hostClass()), yt("ds-help-item-inverse", t.inverse())); 15356 }, 15357 inputs: { 15358 type: [1, "type"], 15359 isRightAligned: [1, "isRightAligned"], 15360 inverse: [1, "inverse"] 15361 }, 15362 outputs: { 15363 type: "typeChange", 15364 isRightAligned: "isRightAlignedChange", 15365 inverse: "inverseChange" 15366 }, 15367 features: [$i([{ 15368 provide: Nr, 15369 useExisting: e 15370 }])], 15371 ngContentSelectors: WI, 15372 decls: 5, 15373 vars: 0, 15374 consts: [ 15375 [1, "ds-help-item-icon"], 15376 [1, "ds-help-item-text"], 15377 [ 15378 1, 15379 "ds-help-item-default-icon", 15380 3, 15381 "innerHTML" 15382 ] 15383 ], 15384 template: function(i, t) { 15385 i & 1 && (_t(UI), Nt(0, "div", 0), Ye(1, 0, null, $2, 1, 1), mt(), Nt(3, "div", 1), Ye(4, 1), mt()); 15386 }, 15387 styles: [jI], 15388 encapsulation: 2 15389 }), e; 15390 })(); 15391 })))(); 15392} 15393var JI; 15394function QI() { 15395 return (QI = Z((() => { 15396 de(), yi(), st(), JI = (() => { 15397 let e = class { 15398 constructor() { 15399 this.apiService = f(Il), this.user = f(ri), this.playerLimitsEvents = new Gt(null); 15400 } 15401 getLimits() { 15402 return this.playerLimitsEvents; 15403 } 15404 refresh() { 15405 this.loaded = !1, this.user.isAuthenticated && this.load(); 15406 } 15407 get() { 15408 return this.apiService.get("playerlimits"); 15409 } 15410 load() { 15411 this.user.isAuthenticated && !this.loaded && (this.loaded = !0, this.get().subscribe({ 15412 next: (t) => this.playerLimitsEvents.next(t.limits), 15413 error: () => this.playerLimitsEvents.next(null) 15414 })); 15415 } 15416 }; 15417 return e.ɵfac = function(i) { 15418 return new (i || e)(); 15419 }, e.ɵprov = R({ 15420 token: e, 15421 factory: e.ɵfac, 15422 providedIn: "root" 15423 }), e; 15424 })(); 15425 })))(); 15426} 15427function ZI(e) { 15428 let i = f($b); 15429 return Dn(f(di).nativeElement, e).pipe(Uu(0), Vr(() => i.markForCheck()), he()); 15430} 15431function A2() { 15432 return Vi(ZI("click"), ZI("keyup").pipe(Si((e) => e.code === "Space" || e.code === "Enter" ? je(!0) : je(null)), We(Boolean))).pipe(Uu(0)); 15433} 15434function eO() { 15435 return (eO = Z((() => { 15436 de(), wt(); 15437 })))(); 15438} 15439function _2(e, i) { 15440 for (let t of i) t.value !== void 0 && (t.oldName, t.newName, t.migration); 15441} 15442function tO() { 15443 return (tO = Z((() => {})))(); 15444} 15445function M2() { 15446 return new Jd(); 15447} 15448var iO, Jd, Qv, Zv, eS; 15449function tS() { 15450 return (tS = Z((() => { 15451 Re(), de(), sr(), iO = ["streamEl"], Jd = (() => { 15452 class e { 15453 get nativeDocument() { 15454 return document; 15455 } 15456 } 15457 return e.ɵfac = function(i) { 15458 return new (i || e)(); 15459 }, e.ɵprov = R({ 15460 token: e, 15461 factory: e.ɵfac 15462 }), e; 15463 })(), Qv = [ 15464 "autoplay", 15465 "controls", 15466 "currentTime", 15467 "primaryColor", 15468 "muted", 15469 "loop", 15470 "volume", 15471 "preload", 15472 "defaultTextTrack" 15473 ], Zv = (() => { 15474 class e { 15475 constructor(t, r, s) { 15476 this.renderer2 = t, this.doc = r, this.platformId = s, this.abort = new ot(), this.canplay = new ot(), this.canplaythrough = new ot(), this.durationchange = new ot(), this.ended = new ot(), this.error = new ot(), this.loadeddata = new ot(), this.loadedmetadata = new ot(), this.loadstart = new ot(), this.pause = new ot(), this.play = new ot(), this.playing = new ot(), this.progress = new ot(), this.ratechange = new ot(), this.seeked = new ot(), this.seeking = new ot(), this.stalled = new ot(), this.suspend = new ot(), this.timeupdate = new ot(), this.volumechange = new ot(), this.waiting = new ot(), this.streamAdStart = new ot(), this.streamAdEnd = new ot(), this.streamAdTimeout = new ot(); 15477 } 15478 ngOnChanges(t) { 15479 this.streamEl && this.syncProperties(Object.keys(t).reduce((r, s) => J(C({}, r), { [s]: t[s].currentValue }), {})); 15480 } 15481 syncProperties(t) { 15482 Qv.forEach((r) => { 15483 t.hasOwnProperty(r) && (this.streamEl.nativeElement[r] = t[r]); 15484 }); 15485 } 15486 ngAfterViewInit() { 15487 this.syncProperties(Qv.reduce((t, r) => this[r] === void 0 ? t : J(C({}, t), { [r]: this[r] }), {})), this.loadStreamScript(); 15488 } 15489 get isBrowser() { 15490 return Jb(this.platformId); 15491 } 15492 loadStreamScript() { 15493 this.isBrowser && (this.streamScript = document.createElement("script"), this.streamScript.setAttribute("data-cfasync", "false"), this.streamScript.setAttribute("defer", "true"), this.streamScript.setAttribute("type", "text/javascript"), this.streamScript.setAttribute("src", "https://embed.cloudflarestream.com/embed/r4xu.fla9.latest.js"), this.renderer2.appendChild(this.doc.nativeDocument.head, this.streamScript)); 15494 } 15495 cleanUpStreamScript() { 15496 this.isBrowser && this.renderer2.removeChild(this.doc.nativeDocument.head, this.streamScript); 15497 } 15498 ngOnDestroy() { 15499 this.cleanUpStreamScript(); 15500 } 15501 } 15502 return e.ɵfac = function(i) { 15503 return new (i || e)(Fu(Hr), Fu(Jd), Fu(Ma)); 15504 }, e.ɵcmp = ge({ 15505 type: e, 15506 selectors: [["cloudflare-stream"]], 15507 viewQuery: function(i, t) { 15508 if (i & 1 && Ks(iO, 5), i & 2) { 15509 let r; 15510 Xs(r = js()) && (t.streamEl = r.first); 15511 } 15512 }, 15513 inputs: { 15514 adUrl: "adUrl", 15515 autoplay: "autoplay", 15516 controls: "controls", 15517 currentTime: "currentTime", 15518 defaultTextTrack: "defaultTextTrack", 15519 height: "height", 15520 loop: "loop", 15521 muted: "muted", 15522 poster: "poster", 15523 preload: "preload", 15524 primaryColor: "primaryColor", 15525 src: "src", 15526 volume: "volume", 15527 width: "width" 15528 }, 15529 outputs: { 15530 abort: "abort", 15531 canplay: "canplay", 15532 canplaythrough: "canplaythrough", 15533 durationchange: "durationchange", 15534 ended: "ended", 15535 error: "error", 15536 loadeddata: "loadeddata", 15537 loadedmetadata: "loadedmetadata", 15538 loadstart: "loadstart", 15539 pause: "pause", 15540 play: "play", 15541 playing: "playing", 15542 progress: "progress", 15543 ratechange: "ratechange", 15544 seeked: "seeked", 15545 seeking: "seeking", 15546 stalled: "stalled", 15547 suspend: "suspend", 15548 timeupdate: "timeupdate", 15549 volumechange: "volumechange", 15550 waiting: "waiting", 15551 streamAdStart: "streamAdStart", 15552 streamAdEnd: "streamAdEnd", 15553 streamAdTimeout: "streamAdTimeout" 15554 }, 15555 standalone: !1, 15556 features: [zn], 15557 decls: 2, 15558 vars: 12, 15559 consts: [["streamEl", ""], [ 15560 3, 15561 "play", 15562 "abort", 15563 "canplay", 15564 "canplaythrough", 15565 "durationchange", 15566 "ended", 15567 "error", 15568 "loadeddata", 15569 "loadedmetadata", 15570 "loadstart", 15571 "pause", 15572 "playing", 15573 "progress", 15574 "ratechange", 15575 "seeked", 15576 "seeking", 15577 "stalled", 15578 "suspend", 15579 "timeupdate", 15580 "volumechange", 15581 "waiting", 15582 "stream-adstart", 15583 "stream-adend", 15584 "stream-adtimeout" 15585 ]], 15586 template: function(i, t) {
15587 i & 1 && (ie(0, "stream", 1, 0), Ce("play", function(r) { 15588 return t.play.emit(r); 15589 })("abort", function(r) { 15590 return t.abort.emit(r); 15591 })("canplay", function(r) { 15592 return t.canplay.emit(r); 15593 })("canplaythrough", function(r) { 15594 return t.canplaythrough.emit(r); 15595 })("durationchange", function(r) { 15596 return t.durationchange.emit(r); 15597 })("ended", function(r) { 15598 return t.ended.emit(r); 15599 })("error", function(r) { 15600 return t.error.emit(r); 15601 })("loadeddata", function(r) { 15602 return t.loadeddata.emit(r); 15603 })("loadedmetadata", function(r) { 15604 return t.loadedmetadata.emit(r); 15605 })("loadstart", function(r) { 15606 return t.loadstart.emit(r); 15607 })("pause", function(r) { 15608 return t.pause.emit(r); 15609 })("play", function(r) { 15610 return t.play.emit(r); 15611 })("playing", function(r) { 15612 return t.playing.emit(r); 15613 })("progress", function(r) { 15614 return t.progress.emit(r); 15615 })("ratechange", function(r) { 15616 return t.ratechange.emit(r); 15617 })("seeked", function(r) { 15618 return t.seeked.emit(r); 15619 })("seeking", function(r) { 15620 return t.seeking.emit(r); 15621 })("stalled", function(r) { 15622 return t.stalled.emit(r); 15623 })("suspend", function(r) { 15624 return t.suspend.emit(r); 15625 })("timeupdate", function(r) { 15626 return t.timeupdate.emit(r); 15627 })("volumechange", function(r) { 15628 return t.volumechange.emit(r); 15629 })("waiting", function(r) { 15630 return t.waiting.emit(r); 15631 })("stream-adstart", function(r) { 15632 return t.streamAdStart.emit(r); 15633 })("stream-adend", function(r) { 15634 return t.streamAdEnd.emit(r); 15635 })("stream-adtimeout", function(r) { 15636 return t.streamAdTimeout.emit(r); 15637 }), te()), i & 2 && Qe("ad-url", t.adUrl)("src", t.src)("autoplay", t.autoplay)("controls", t.controls)("default-text-track", t.defaultTextTrack)("loop", t.loop)("preload", t.preload)("height", t.height)("width", t.width)("poster", t.poster)("primary-color", t.primaryColor)("muted", t.muted); 15638 }, 15639 encapsulation: 2, 15640 changeDetection: 1 15641 }), e; 15642 })(), eS = (() => { 15643 class e {} 15644 return e.ɵfac = function(i) { 15645 return new (i || e)(); 15646 }, e.ɵmod = Gn({ type: e }), e.ɵinj = Bn({ 15647 providers: [{ 15648 provide: Jd, 15649 useFactory: M2 15650 }], 15651 imports: [[]] 15652 }), e; 15653 })(); 15654 })))(); 15655} 15656function rO(e) { 15657 return e !== null && typeof e == "object" && "constructor" in e && e.constructor === Object; 15658} 15659function iS(e, i) { 15660 e === void 0 && (e = {}), i === void 0 && (i = {}); 15661 let t = [ 15662 "__proto__", 15663 "constructor", 15664 "prototype" 15665 ]; 15666 Object.keys(i).filter((r) => t.indexOf(r) < 0).forEach((r) => { 15667 typeof e[r] > "u" ? e[r] = i[r] : rO(i[r]) && rO(e[r]) && Object.keys(i[r]).length > 0 && iS(e[r], i[r]); 15668 }); 15669} 15670function Ft() { 15671 let e = typeof document < "u" ? document : {}; 15672 return iS(e, aS), e; 15673} 15674function gt() { 15675 let e = typeof window < "u" ? window : {}; 15676 return iS(e, mO), e; 15677} 15678function Hs(e) { 15679 return e === void 0 && (e = ""), e.trim().split(" ").filter((i) => !!i.trim()); 15680} 15681function R2(e) { 15682 let i = e;
15683 Object.keys(i).forEach((t) => { 15684 try { 15685 i[t] = null; 15686 } catch {} 15687 try { 15688 delete i[t]; 15689 } catch {} 15690 }); 15691} 15692function Na(e, i) { 15693 return i === void 0 && (i = 0), setTimeout(e, i); 15694} 15695function Xi() { 15696 return Date.now(); 15697} 15698function L2(e) { 15699 let i = gt(), t; 15700 return i.getComputedStyle && (t = i.getComputedStyle(e, null)), !t && e.currentStyle && (t = e.currentStyle), t || (t = e.style), t; 15701} 15702function rS(e, i) { 15703 i === void 0 && (i = "x"); 15704 let t = gt(), r, s, n, a = L2(e); 15705 return t.WebKitCSSMatrix ? (s = a.transform || a.webkitTransform, s.split(",").length > 6 && (s = s.split(", ").map((o) => o.replace(",", ".")).join(", ")), n = new t.WebKitCSSMatrix(s === "none" ? "" : s)) : (n = a.MozTransform || a.OTransform || a.MsTransform || a.msTransform || a.transform || a.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,"), r = n.toString().split(",")), i === "x" && (t.WebKitCSSMatrix ? s = n.m41 : r.length === 16 ? s = parseFloat(r[12]) : s = parseFloat(r[4])), i === "y" && (t.WebKitCSSMatrix ? s = n.m42 : r.length === 16 ? s = parseFloat(r[13]) : s = parseFloat(r[5])), s || 0; 15706} 15707function Qo(e) { 15708 return typeof e == "object" && e !== null && e.constructor && Object.prototype.toString.call(e).slice(8, -1) === "Object"; 15709} 15710function B2(e) { 15711 return typeof window < "u" && typeof window.HTMLElement < "u" ? e instanceof HTMLElement : e && (e.nodeType === 1 || e.nodeType === 11); 15712} 15713function Li() { 15714 let e = Object(arguments.length <= 0 ? void 0 : arguments[0]), i = [ 15715 "__proto__", 15716 "constructor", 15717 "prototype" 15718 ]; 15719 for (let t = 1; t < arguments.length; t += 1) { 15720 let r = t < 0 || arguments.length <= t ? void 0 : arguments[t]; 15721 if (r != null && !B2(r)) { 15722 let s = Object.keys(Object(r)).filter((n) => i.indexOf(n) < 0); 15723 for (let n = 0, a = s.length; n < a; n += 1) { 15724 let o = s[n], l = Object.getOwnPropertyDescriptor(r, o); 15725 l !== void 0 && l.enumerable && (Qo(e[o]) && Qo(r[o]) ? r[o].__swiper__ ? e[o] = r[o] : Li(e[o], r[o]) : !Qo(e[o]) && Qo(r[o]) ? (e[o] = {}, r[o].__swiper__ ? e[o] = r[o] : Li(e[o], r[o])) : e[o] = r[o]); 15726 } 15727 } 15728 } 15729 return e; 15730} 15731function Zo(e, i, t) { 15732 e.style.setProperty(i, t); 15733} 15734function sO(e) { 15735 let { swiper: i, targetPosition: t, side: r } = e, s = gt(), n = -i.translate, a = null, o, l = i.params.speed; 15736 i.wrapperEl.style.scrollSnapType = "none", s.cancelAnimationFrame(i.cssModeFrameID); 15737 let c = t > n ? "next" : "prev", d = (h, g) => c === "next" && h >= g || c === "prev" && h <= g, u = () => { 15738 o = (/* @__PURE__ */ new Date()).getTime(), a === null && (a = o); 15739 let h = Math.max(Math.min((o - a) / l, 1), 0), g = .5 - Math.cos(h * Math.PI) / 2, p = n + g * (t - n); 15740 if (d(p, t) && (p = t), i.wrapperEl.scrollTo({ [r]: p }), d(p, t)) { 15741 i.wrapperEl.style.overflow = "hidden", i.wrapperEl.style.scrollSnapType = "", setTimeout(() => { 15742 i.wrapperEl.style.overflow = "", i.wrapperEl.scrollTo({ [r]: p }); 15743 }), s.cancelAnimationFrame(i.cssModeFrameID); 15744 return; 15745 } 15746 i.cssModeFrameID = s.requestAnimationFrame(u); 15747 }; 15748 u(); 15749} 15750function xn(e) { 15751 return e.querySelector(".swiper-slide-transform") || e.shadowRoot && e.shadowRoot.querySelector(".swiper-slide-transform") || e; 15752} 15753function Qt(e, i) { 15754 i === void 0 && (i = ""); 15755 let t = gt(), r = [...e.children]; 15756 return t.HTMLSlotElement && e instanceof HTMLSlotElement && r.push(...e.assignedElements()), i ? r.filter((s) => s.matches(i)) : r; 15757} 15758function D2(e, i) { 15759 let t = [i]; 15760 for (; t.length > 0;) { 15761 let r = t.shift(); 15762 if (e === r) return !0; 15763 t.push(...r.children, ...r.shadowRoot ? r.shadowRoot.children : [], ...r.assignedElements ? r.assignedElements() : []); 15764 } 15765} 15766function F2(e, i) { 15767 let t = gt(), r = i.contains(e); 15768 return !r && t.HTMLSlotElement && i instanceof HTMLSlotElement && (r = [...i.assignedElements()].includes(e), r || (r = D2(e, i))), r; 15769} 15770function Qd(e) { 15771 try { 15772 console.warn(e); 15773 return; 15774 } catch {} 15775} 15776function Bi(e, i) { 15777 i === void 0 && (i = []); 15778 let t = document.createElement(e); 15779 return t.classList.add(...Array.isArray(i) ? i : Hs(i)), t; 15780} 15781function Zd(e) { 15782 let i = gt(), t = Ft(), r = e.getBoundingClientRect(), s = t.body, n = e.clientTop || s.clientTop || 0, a = e.clientLeft || s.clientLeft || 0, o = e === i ? i.scrollY : e.scrollTop, l = e === i ? i.scrollX : e.scrollLeft; 15783 return { 15784 top: r.top + o - n, 15785 left: r.left + l - a 15786 }; 15787} 15788function z2(e, i) { 15789 let t = []; 15790 for (; e.previousElementSibling;) { 15791 let r = e.previousElementSibling; 15792 i ? r.matches(i) && t.push(r) : t.push(r), e = r; 15793 } 15794 return t; 15795} 15796function G2(e, i) { 15797 let t = []; 15798 for (; e.nextElementSibling;) { 15799 let r = e.nextElementSibling; 15800 i ? r.matches(i) && t.push(r) : t.push(r), e = r; 15801 } 15802 return t; 15803} 15804function Us(e, i) { 15805 return gt().getComputedStyle(e, null).getPropertyValue(i); 15806} 15807function el(e) { 15808 let i = e, t; 15809 if (i) { 15810 for (t = 0; (i = i.previousSibling) !== null;) i.nodeType === 1 && (t += 1); 15811 return t; 15812 } 15813} 15814function In(e, i) { 15815 let t = [], r = e.parentElement; 15816 for (; r;) i ? r.matches(i) && t.push(r) : t.push(r), r = r.parentElement; 15817 return t; 15818} 15819function tl(e, i) { 15820 function t(r) { 15821 r.target === e && (i.call(e, r), e.removeEventListener("transitionend", t)); 15822 } 15823 i && e.addEventListener("transitionend", t); 15824} 15825function sS(e, i, t) { 15826 let r = gt(); 15827 return t ? e[i === "width" ? "offsetWidth" : "offsetHeight"] + parseFloat(r.getComputedStyle(e, null).getPropertyValue(i === "width" ? "margin-right" : "margin-top")) + parseFloat(r.getComputedStyle(e, null).getPropertyValue(i === "width" ? "margin-left" : "margin-bottom")) : e.offsetWidth; 15828} 15829function Be(e) { 15830 return (Array.isArray(e) ? e : [e]).filter((i) => !!i); 15831} 15832function eu(e) { 15833 return (i) => Math.abs(i) > 0 && e.browser && e.browser.need3dFix && Math.abs(i) % 90 === 0 ? i + .001 : i; 15834} 15835function Mr(e, i) { 15836 i === void 0 && (i = ""), typeof trustedTypes < "u" ? e.innerHTML = trustedTypes.createPolicy("html", { createHTML: (t) => t }).createHTML(i) : e.innerHTML = i; 15837} 15838function V2(e) { 15839 let { swiper: i, extendParams: t, on: r, emit: s } = e; 15840 t({ virtual: { 15841 enabled: !1, 15842 slides: [], 15843 cache: !0, 15844 renderSlide: null, 15845 renderExternal: null, 15846 renderExternalUpdate: !0, 15847 addSlidesBefore: 0, 15848 addSlidesAfter: 0 15849 } }); 15850 let n, a = Ft(); 15851 i.virtual = { 15852 cache: {}, 15853 from: void 0, 15854 to: void 0, 15855 slides: [], 15856 offset: 0, 15857 slidesGrid: [] 15858 }; 15859 let o = a.createElement("div"); 15860 function l(p, m) { 15861 let S = i.params.virtual; 15862 if (S.cache && i.virtual.cache[m]) return i.virtual.cache[m]; 15863 let b; 15864 return S.renderSlide ? (b = S.renderSlide.call(i, p, m), typeof b == "string" && (Mr(o, b), b = o.children[0])) : i.isElement ? b = Bi("swiper-slide") : b = Bi("div", i.params.slideClass), b.setAttribute("data-swiper-slide-index", m), S.renderSlide || Mr(b, p), S.cache && (i.virtual.cache[m] = b), b; 15865 } 15866 function c(p, m, S) { 15867 let { slidesPerView: b, slidesPerGroup: v, centeredSlides: y, loop: w, initialSlide: T } = i.params; 15868 if (m && !w && T > 0) return; 15869 let { addSlidesBefore: O, addSlidesAfter: _ } = i.params.virtual, { from: z, to: G, slides: x, slidesGrid: A, offset: I } = i.virtual; 15870 i.params.cssMode || i.updateActiveIndex(); 15871 let D = typeof S > "u" ? i.activeIndex || 0 : S, H; 15872 i.rtlTranslate ? H = "right" : H = i.isHorizontal() ? "left" : "top"; 15873 let F, K; 15874 y ? (F = Math.floor(b / 2) + v + _, K = Math.floor(b / 2) + v + O) : (F = b + (v - 1) + _, K = (w ? b : v) + O); 15875 let B = D - K, L = D + F; 15876 w || (B = Math.max(B, 0), L = Math.min(L, x.length - 1)); 15877 let X = (i.slidesGrid[B] || 0) - (i.slidesGrid[0] || 0); 15878 w && D >= K ? (B -= K, y || (X += i.slidesGrid[0])) : w && D < K && (B = -K, y && (X += i.slidesGrid[0])), Object.assign(i.virtual, { 15879 from: B,
vendor: 6,329 bytes, lines 15880-16037
15880 to: L, 15881 offset: X, 15882 slidesGrid: i.slidesGrid, 15883 slidesBefore: K, 15884 slidesAfter: F 15885 }); 15886 function Ve() { 15887 i.updateSlides(), i.updateProgress(), i.updateSlidesClasses(), s("virtualUpdate"); 15888 } 15889 if (z === B && G === L && !p) { 15890 i.slidesGrid !== A && X !== I && i.slides.forEach((Y) => { 15891 Y.style[H] = `${X - Math.abs(i.cssOverflowAdjustment())}px`; 15892 }), i.updateProgress(), s("virtualUpdate"); 15893 return; 15894 } 15895 if (i.params.virtual.renderExternal) { 15896 i.params.virtual.renderExternal.call(i, { 15897 offset: X, 15898 from: B, 15899 to: L, 15900 slides: (function() { 15901 let Y = []; 15902 for (let re = B; re <= L; re += 1) Y.push(x[re]); 15903 return Y; 15904 })() 15905 }), i.params.virtual.renderExternalUpdate ? Ve() : s("virtualUpdate"); 15906 return; 15907 } 15908 let at = [], Ct = [], oi = (Y) => { 15909 let re = Y; 15910 return Y < 0 ? re = x.length + Y : re >= x.length && (re = re - x.length), re; 15911 }; 15912 if (p) i.slides.filter((Y) => Y.matches(`.${i.params.slideClass}, swiper-slide`)).forEach((Y) => { 15913 Y.remove(); 15914 }); 15915 else for (let Y = z; Y <= G; Y += 1) if (Y < B || Y > L) { 15916 let re = oi(Y); 15917 i.slides.filter((Me) => Me.matches(`.${i.params.slideClass}[data-swiper-slide-index="${re}"], swiper-slide[data-swiper-slide-index="${re}"]`)).forEach((Me) => { 15918 Me.remove(); 15919 }); 15920 } 15921 let Oi = w ? -x.length : 0, se = w ? x.length * 2 : x.length; 15922 for (let Y = Oi; Y < se; Y += 1) if (Y >= B && Y <= L) { 15923 let re = oi(Y); 15924 typeof G > "u" || p ? Ct.push(re) : (Y > G && Ct.push(re), Y < z && at.push(re)); 15925 } 15926 if (Ct.forEach((Y) => { 15927 i.slidesEl.append(l(x[Y], Y)); 15928 }), w) for (let Y = at.length - 1; Y >= 0; Y -= 1) { 15929 let re = at[Y]; 15930 i.slidesEl.prepend(l(x[re], re)); 15931 } 15932 else at.sort((Y, re) => re - Y), at.forEach((Y) => { 15933 i.slidesEl.prepend(l(x[Y], Y)); 15934 }); 15935 Qt(i.slidesEl, ".swiper-slide, swiper-slide").forEach((Y) => { 15936 Y.style[H] = `${X - Math.abs(i.cssOverflowAdjustment())}px`; 15937 }), Ve(); 15938 } 15939 function d(p) { 15940 if (typeof p == "object" && "length" in p) for (let m = 0; m < p.length; m += 1) p[m] && i.virtual.slides.push(p[m]); 15941 else i.virtual.slides.push(p); 15942 c(!0); 15943 } 15944 function u(p) { 15945 let m = i.activeIndex, S = m + 1, b = 1; 15946 if (Array.isArray(p)) { 15947 for (let v = 0; v < p.length; v += 1) p[v] && i.virtual.slides.unshift(p[v]); 15948 S = m + p.length, b = p.length; 15949 } else i.virtual.slides.unshift(p); 15950 if (i.params.virtual.cache) { 15951 let v = i.virtual.cache, y = {}; 15952 Object.keys(v).forEach((w) => { 15953 let T = v[w], O = T.getAttribute("data-swiper-slide-index"); 15954 O && T.setAttribute("data-swiper-slide-index", parseInt(O, 10) + b), y[parseInt(w, 10) + b] = T; 15955 }), i.virtual.cache = y; 15956 } 15957 c(!0), i.slideTo(S, 0); 15958 } 15959 function h(p) { 15960 if (typeof p > "u" || p === null) return; 15961 let m = i.activeIndex; 15962 if (Array.isArray(p)) for (let S = p.length - 1; S >= 0; S -= 1) i.params.virtual.cache && (delete i.virtual.cache[p[S]], Object.keys(i.virtual.cache).forEach((b) => { 15963 b > p && (i.virtual.cache[b - 1] = i.virtual.cache[b], i.virtual.cache[b - 1].setAttribute("data-swiper-slide-index", b - 1), delete i.virtual.cache[b]); 15964 })), i.virtual.slides.splice(p[S], 1), p[S] < m && (m -= 1), m = Math.max(m, 0); 15965 else i.params.virtual.cache && (delete i.virtual.cache[p], Object.keys(i.virtual.cache).forEach((S) => { 15966 S > p && (i.virtual.cache[S - 1] = i.virtual.cache[S], i.virtual.cache[S - 1].setAttribute("data-swiper-slide-index", S - 1), delete i.virtual.cache[S]); 15967 })), i.virtual.slides.splice(p, 1), p < m && (m -= 1), m = Math.max(m, 0); 15968 c(!0), i.slideTo(m, 0); 15969 } 15970 function g() { 15971 i.virtual.slides = [], i.params.virtual.cache && (i.virtual.cache = {}), c(!0), i.slideTo(0, 0); 15972 } 15973 r("beforeInit", () => { 15974 if (!i.params.virtual.enabled) return; 15975 let p; 15976 if (typeof i.passedParams.virtual.slides > "u") { 15977 let m = [...i.slidesEl.children].filter((S) => S.matches(`.${i.params.slideClass}, swiper-slide`)); 15978 m && m.length && (i.virtual.slides = [...m], p = !0, m.forEach((S, b) => { 15979 S.setAttribute("data-swiper-slide-index", b), i.virtual.cache[b] = S, S.remove(); 15980 })); 15981 } 15982 p || (i.virtual.slides = i.params.virtual.slides), i.classNames.push(`${i.params.containerModifierClass}virtual`), i.params.watchSlidesProgress = !0, i.originalParams.watchSlidesProgress = !0, c(!1, !0); 15983 }), r("setTranslate", () => { 15984 i.params.virtual.enabled && (i.params.cssMode && !i._immediateVirtual ? (clearTimeout(n), n = setTimeout(() => { 15985 c(); 15986 }, 100)) : c()); 15987 }), r("init update resize", () => { 15988 i.params.virtual.enabled && i.params.cssMode && Zo(i.wrapperEl, "--swiper-virtual-size", `${i.virtualSize}px`); 15989 }), Object.assign(i.virtual, { 15990 appendSlide: d, 15991 prependSlide: u, 15992 removeSlide: h, 15993 removeAllSlides: g, 15994 update: c 15995 }); 15996} 15997function nS(e, i, t, r) { 15998 return e.params.createElements && Object.keys(r).forEach((s) => { 15999 if (!t[s] && t.auto === !0) { 16000 let n = Qt(e.el, `.${r[s]}`)[0]; 16001 n || (n = Bi("div", r[s]), n.className = r[s], e.el.append(n)), t[s] = n, i[s] = n; 16002 } 16003 }), t; 16004} 16005function nO(e) { 16006 let { swiper: i, extendParams: t, on: r, emit: s } = e; 16007 t({ navigation: { 16008 nextEl: null, 16009 prevEl: null, 16010 hideOnClick: !1, 16011 disabledClass: "swiper-button-disabled", 16012 hiddenClass: "swiper-button-hidden", 16013 lockClass: "swiper-button-lock", 16014 navigationDisabledClass: "swiper-navigation-disabled" 16015 } }), i.navigation = { 16016 nextEl: null, 16017 prevEl: null 16018 }; 16019 function n(p) { 16020 let m; 16021 return p && typeof p == "string" && i.isElement && (m = i.el.querySelector(p) || i.hostEl.querySelector(p), m) ? m : (p && (typeof p == "string" && (m = [...document.querySelectorAll(p)]), i.params.uniqueNavElements && typeof p == "string" && m && m.length > 1 && i.el.querySelectorAll(p).length === 1 ? m = i.el.querySelector(p) : m && m.length === 1 && (m = m[0])), p && !m ? p : m); 16022 } 16023 function a(p, m) { 16024 let S = i.params.navigation; 16025 p = Be(p), p.forEach((b) => { 16026 b && (b.classList[m ? "add" : "remove"](...S.disabledClass.split(" ")), b.tagName === "BUTTON" && (b.disabled = m), i.params.watchOverflow && i.enabled && b.classList[i.isLocked ? "add" : "remove"](S.lockClass)); 16027 }); 16028 } 16029 function o() { 16030 let { nextEl: p, prevEl: m } = i.navigation; 16031 if (i.params.loop) { 16032 a(m, !1), a(p, !1); 16033 return; 16034 } 16035 a(m, i.isBeginning && !i.params.rewind), a(p, i.isEnd && !i.params.rewind); 16036 } 16037 function l(p) {
16038 p.preventDefault(), (!i.isBeginning || i.params.loop || i.params.rewind) && (i.slidePrev(), s("navigationPrev")); 16039 } 16040 function c(p) { 16041 p.preventDefault(), (!i.isEnd || i.params.loop || i.params.rewind) && (i.slideNext(), s("navigationNext")); 16042 } 16043 function d() { 16044 let p = i.params.navigation; 16045 if (i.params.navigation = nS(i, i.originalParams.navigation, i.params.navigation, { 16046 nextEl: "swiper-button-next", 16047 prevEl: "swiper-button-prev" 16048 }), !(p.nextEl || p.prevEl)) return; 16049 let m = n(p.nextEl), S = n(p.prevEl); 16050 Object.assign(i.navigation, { 16051 nextEl: m, 16052 prevEl: S 16053 }), m = Be(m), S = Be(S); 16054 let b = (v, y) => { 16055 v && v.addEventListener("click", y === "next" ? c : l), !i.enabled && v && v.classList.add(...p.lockClass.split(" ")); 16056 }; 16057 m.forEach((v) => b(v, "next")), S.forEach((v) => b(v, "prev")); 16058 } 16059 function u() { 16060 let { nextEl: p, prevEl: m } = i.navigation; 16061 p = Be(p), m = Be(m); 16062 let S = (b, v) => { 16063 b.removeEventListener("click", v === "next" ? c : l), b.classList.remove(...i.params.navigation.disabledClass.split(" ")); 16064 }; 16065 p.forEach((b) => S(b, "next")), m.forEach((b) => S(b, "prev")); 16066 } 16067 r("init", () => { 16068 i.params.navigation.enabled === !1 ? g() : (d(), o()); 16069 }), r("toEdge fromEdge lock unlock", () => { 16070 o(); 16071 }), r("destroy", () => { 16072 u(); 16073 }), r("enable disable", () => { 16074 let { nextEl: p, prevEl: m } = i.navigation; 16075 if (p = Be(p), m = Be(m), i.enabled) { 16076 o(); 16077 return; 16078 } 16079 [...p, ...m].filter((S) =>
16079 !!S).forEach((S) => S.classList.add(i.params.navigation.lockClass)); 16080 }), r("click", (p, m) => { 16081 let { nextEl: S, prevEl: b } = i.navigation; 16082 S = Be(S), b = Be(b); 16083 let v = m.target, y = b.includes(v) || S.includes(v); 16084 if (i.isElement && !y) { 16085 let w = m.path || m.composedPath && m.composedPath(); 16086 w && (y = w.find((T) => S.includes(T) || b.includes(T))); 16087 } 16088 if (i.params.navigation.hideOnClick && !y) { 16089 if (i.pagination && i.params.pagination && i.params.pagination.clickable && (i.pagination.el === v || i.pagination.el.contains(v))) return; 16090 let w; 16091 S.length ? w = S[0].classList.contains(i.params.navigation.hiddenClass) : b.length && (w = b[0].classList.contains(i.params.navigation.hiddenClass)), s(w === !0 ? "navigationShow" : "navigationHide"), [...S, ...b].filter((T) => !!T).forEach((T) => T.classList.toggle(i.params.navigation.hiddenClass)); 16092 } 16093 }); 16094 let h = () => { 16095 i.el.classList.remove(...i.params.navigation.navigationDisabledClass.split(" ")), d(), o(); 16096 }, g = () => { 16097 i.el.classList.add(...i.params.navigation.navigationDisabledClass.split(" ")), u(); 16098 }; 16099 Object.assign(i.navigation, { 16100 enable: h, 16101 disable: g, 16102 update: o, 16103 init: d, 16104 destroy: u 16105 }); 16106} 16107function fs(e) { 16108 return e === void 0 && (e = ""), `.${e.trim().replace(/([\.:!+\/()[\]])/g, "\\$1").replace(/ /g, ".")}`; 16109} 16110function aO(e) { 16111 let { swiper: i, extendParams: t, on: r, emit: s } = e, n = "swiper-pagination"; 16112 t({ pagination: { 16113 el: null, 16114 bulletElement: "span", 16115 clickable: !1, 16116 hideOnClick: !1, 16117 renderBullet: null, 16118 renderProgressbar: null, 16119 renderFraction: null, 16120 renderCustom: null, 16121 progressbarOpposite: !1, 16122 type: "bullets", 16123 dynamicBullets: !1, 16124 dynamicMainBullets: 1, 16125 formatFractionCurrent: (v) => v, 16126 formatFractionTotal: (v) => v, 16127 bulletClass: `${n}-bullet`, 16128 bulletActiveClass: `${n}-bullet-active`, 16129 modifierClass: `${n}-`, 16130 currentClass: `${n}-current`, 16131 totalClass: `${n}-total`, 16132 hiddenClass: `${n}-hidden`, 16133 progressbarFillClass: `${n}-progressbar-fill`, 16134 progressbarOppositeClass: `${n}-progressbar-opposite`, 16135 clickableClass: `${n}-clickable`, 16136 lockClass: `${n}-lock`, 16137 horizontalClass: `${n}-horizontal`, 16138 verticalClass: `${n}-vertical`, 16139 paginationDisabledClass: `${n}-disabled` 16140 } }), i.pagination = { 16141 el: null, 16142 bullets: [] 16143 }; 16144 let a, o = 0; 16145 function l() { 16146 return !i.params.pagination.el || !i.pagination.el || Array.isArray(i.pagination.el) && i.pagination.el.length === 0; 16147 } 16148 function c(v, y) { 16149 let { bulletActiveClass: w } = i.params.pagination; 16150 v && (v = v[`${y === "prev" ? "previous" : "next"}ElementSibling`], v && (v.classList.add(`${w}-${y}`), v = v[`${y === "prev" ? "previous" : "next"}ElementSibling`], v && v.classList.add(`${w}-${y}-${y}`))); 16151 } 16152 function d(v, y, w) { 16153 if (v = v % w, y = y % w, y === v + 1) return "next"; 16154 if (y === v - 1) return "previous"; 16155 } 16156 function u(v) { 16157 let y = v.target.closest(fs(i.params.pagination.bulletClass)); 16158 if (!y) return; 16159 v.preventDefault(); 16160 let w = el(y) * i.params.slidesPerGroup; 16161 if (i.params.loop) { 16162 if (i.realIndex === w) return; 16163 let T = d(i.realIndex, w, i.slides.length); 16164 T === "next" ? i.slideNext() : T === "previous" ? i.slidePrev() : i.slideToLoop(w); 16165 } else i.slideTo(w); 16166 } 16167 function h() { 16168 let v = i.rtl, y = i.params.pagination; 16169 if (l()) return; 16170 let w = i.pagination.el; 16171 w = Be(w); 16172 let T, O, _ = i.virtual && i.params.virtual.enabled ? i.virtual.slides.length : i.slides.length, z = i.params.loop ? Math.ceil(_ / i.params.slidesPerGroup) : i.snapGrid.length; 16173 if (i.params.loop ? (O = i.previousRealIndex || 0, T = i.params.slidesPerGroup > 1 ? Math.floor(i.realIndex / i.params.slidesPerGroup) : i.realIndex) : typeof i.snapIndex < "u" ? (T = i.snapIndex, O = i.previousSnapIndex) : (O = i.previousIndex || 0, T = i.activeIndex || 0), y.type === "bullets" && i.pagination.bullets && i.pagination.bullets.length > 0) { 16174 let G = i.pagination.bullets, x, A, I; 16175 if (y.dynamicBullets && (a = sS(G[0], i.isHorizontal() ? "width" : "height", !0), w.forEach((D) => { 16176 D.style[i.isHorizontal() ? "width" : "height"] = `${a * (y.dynamicMainBullets + 4)}px`; 16177 }), y.dynamicMainBullets > 1 && O !== void 0 && (o += T - (O || 0), o > y.dynamicMainBullets - 1 ? o = y.dynamicMainBullets - 1 : o < 0 && (o = 0)), x = Math.max(T - o, 0), A = x + (Math.min(G.length, y.dynamicMainBullets) - 1), I = (A + x) / 2), G.forEach((D) => { 16178 let H = [...[ 16179 "", 16180 "-next", 16181 "-next-next", 16182 "-prev", 16183 "-prev-prev", 16184 "-main" 16185 ].map((F) => `${y.bulletActiveClass}${F}`)].map((F) => typeof F == "string" && F.includes(" ") ? F.split(" ") : F).flat(); 16186 D.classList.remove(...H); 16187 }), w.length > 1) G.forEach((D) => { 16188 let H = el(D); 16189 H === T ? D.classList.add(...y.bulletActiveClass.split(" ")) : i.isElement && D.setAttribute("part", "bullet"), y.dynamicBullets && (H >= x && H <= A && D.classList.add(...`${y.bulletActiveClass}
16189-main`.split(" ")), H === x && c(D, "prev"), H === A && c(D, "next")); 16190 }); 16191 else { 16192 let D = G[T]; 16193 if (D && D.classList.add(...y.bulletActiveClass.split(" ")), i.isElement && G.forEach((H, F) => { 16194 H.setAttribute("part", F === T ? "bullet-active" : "bullet"); 16195 }), y.dynamicBullets) { 16196 let H = G[x], F = G[A]; 16197 for (let K = x; K <= A; K += 1) G[K] && G[K].classList.add(...`${y.bulletActiveClass}-main`.split(" ")); 16198 c(H, "prev"), c(F, "next"); 16199 } 16200 } 16201 if (y.dynamicBullets) { 16202 let D = Math.min(G.length, y.dynamicMainBullets + 4), H = (a * D - a) / 2 - I * a, F = v ? "right" : "left"; 16203 G.forEach((K) => { 16204 K.style[i.isHorizontal() ? F : "top"] = `${H}px`; 16205 }); 16206 } 16207 } 16208 w.forEach((G, x) => { 16209 if (y.type === "fraction" && (G.querySelectorAll(fs(y.currentClass)).forEach((A) => { 16210 A.textContent = y.formatFractionCurrent(T + 1); 16211 }), G.querySelectorAll(fs(y.totalClass)).forEach((A) => { 16212 A.textContent = y.formatFractionTotal(z); 16213 })), y.type === "progressbar") { 16214 let A; 16215 y.progressbarOpposite ? A = i.isHorizontal() ? "vertical" : "horizontal" : A = i.isHorizontal() ? "horizontal" : "vertical"; 16216 let I = (T + 1) / z, D = 1, H = 1; 16217 A === "horizontal" ? D = I : H = I, G.querySelectorAll(fs(y.progressbarFillClass)).forEach((F) => { 16218 F.style.transform = `translate3d(0,0,0) scaleX(${D}) scaleY(${H})`, F.style.transitionDuration = `${i.params.speed}ms`; 16219 }); 16220 } 16221 y.type === "custom" && y.renderCustom ? (Mr(G, y.renderCustom(i, T + 1, z)), x === 0 && s("paginationRender", G)) : (x === 0 && s("paginationRender", G), s("paginationUpdate", G)), i.params.watchOverflow && i.enabled && G.classList[i.isLocked ? "add" : "remove"](y.lockClass); 16222 }); 16223 } 16224 function g() { 16225 let v = i.params.pagination; 16226 if (l()) return; 16227 let y = i.virtual && i.params.virtual.enabled ? i.virtual.slides.length : i.grid && i.params.grid.rows > 1 ? i.slides.length / Math.ceil(i.params.grid.rows) : i.slides.length, w = i.pagination.el; 16228 w = Be(w); 16229 let T = ""; 16230 if (v.type === "bullets") { 16231 let O = i.params.loop ? Math.ceil(y / i.params.slidesPerGroup) : i.snapGrid.length; 16232 i.params.freeMode && i.params.freeMode.enabled && O > y && (O = y); 16233 for (let _ = 0; _ < O; _ += 1) v.renderBullet ? T += v.renderBullet.call(i, _, v.bulletClass) : T += `<${v.bulletElement} ${i.isElement ? "part=\"bullet\"" : ""} class="${v.bulletClass}"></${v.bulletElement}>`; 16234 } 16235 v.type === "fraction" && (v.renderFraction ? T = v.renderFraction.call(i, v.currentClass, v.totalClass) : T = `<span class="${v.currentClass}"></span> / <span class="${v.totalClass}"></span>`), v.type === "progressbar" && (v.renderProgressbar ? T = v.renderProgressbar.call(i, v.progressbarFillClass) : T = `<span class="${v.progressbarFillClass}"></span>`), i.pagination.bullets = [], w.forEach((O) => { 16236 v.type !== "custom" && Mr(O, T || ""), v.type === "bullets" && i.pagination.bullets.push(...O.querySelectorAll(fs(v.bulletClass))); 16237 }), v.type !== "custom" && s("paginationRender", w[0]); 16238 } 16239 function p() { 16240 i.params.pagination = nS(i, i.originalParams.pagination, i.params.pagination, { el: "swiper-pagination" }); 16241 let v = i.params.pagination; 16242 if (!v.el) return; 16243 let y; 16244 typeof v.el == "string" && i.isElement && (y = i.el.querySelector(v.el)), !y && typeof v.el == "string" && (y = [...document.querySelectorAll(v.el)]), y || (y = v.el), y && y.length !== 0 && (i.params.uniqueNavElements && typeof v.el == "string" && Array.isArray(y) && y.length > 1 && (y = [...i.el.querySelectorAll(v.el)], y.length > 1 && (y = y.find((w) => In(w, ".swiper")[0] === i.el))), Array.isArray(y) && y.length === 1 && (y = y[0]), Object.assign(i.pagination, { el: y }), y = Be(y), y.forEach((w) => { 16245 v.type === "bullets" && v.clickable && w.classList.add(...(v.clickableClass || "").split(" ")), w.classList.add(v.modifierClass + v.type), w.classList.add(i.isHorizontal() ? v.horizontalClass : v.verticalClass), v.type === "bullets" && v.dynamicBullets && (w.classList.add(`${v.modifierClass}${v.type}-dynamic`), o = 0, v.dynamicMainBullets < 1 && (v.dynamicMainBullets = 1)), v.type === "progressbar" && v.progressbarOpposite && w.classList.add(v.progressbarOppositeClass), v.clickable && w.addEventListener("click", u), i.enabled || w.classList.add(v.lockClass); 16246 })); 16247 } 16248 function m() { 16249 let v = i.params.pagination; 16250 if (l()) return; 16251 let y = i.pagination.el;
vendor: 21,893 bytes, lines 16252-16702
16252 y && (y = Be(y), y.forEach((w) => { 16253 w.classList.remove(v.hiddenClass), w.classList.remove(v.modifierClass + v.type), w.classList.remove(i.isHorizontal() ? v.horizontalClass : v.verticalClass), v.clickable && (w.classList.remove(...(v.clickableClass || "").split(" ")), w.removeEventListener("click", u)); 16254 })), i.pagination.bullets && i.pagination.bullets.forEach((w) => w.classList.remove(...v.bulletActiveClass.split(" "))); 16255 } 16256 r("changeDirection", () => { 16257 if (!i.pagination || !i.pagination.el) return; 16258 let v = i.params.pagination, { el: y } = i.pagination; 16259 y = Be(y), y.forEach((w) => { 16260 w.classList.remove(v.horizontalClass, v.verticalClass), w.classList.add(i.isHorizontal() ? v.horizontalClass : v.verticalClass); 16261 }); 16262 }), r("init", () => { 16263 i.params.pagination.enabled === !1 ? b() : (p(), g(), h()); 16264 }), r("activeIndexChange", () => { 16265 typeof i.snapIndex > "u" && h(); 16266 }), r("snapIndexChange", () => { 16267 h(); 16268 }), r("snapGridLengthChange", () => { 16269 g(), h(); 16270 }), r("destroy", () => { 16271 m(); 16272 }), r("enable disable", () => { 16273 let { el: v } = i.pagination; 16274 v && (v = Be(v), v.forEach((y) => y.classList[i.enabled ? "remove" : "add"](i.params.pagination.lockClass))); 16275 }), r("lock unlock", () => { 16276 h(); 16277 }), r("click", (v, y) => { 16278 let w = y.target, T = Be(i.pagination.el); 16279 if (i.params.pagination.el && i.params.pagination.hideOnClick && T && T.length > 0 && !w.classList.contains(i.params.pagination.bulletClass)) { 16280 if (i.navigation && (i.navigation.nextEl && w === i.navigation.nextEl || i.navigation.prevEl && w === i.navigation.prevEl)) return; 16281 let O = T[0].classList.contains(i.params.pagination.hiddenClass); 16282 s(O === !0 ? "paginationShow" : "paginationHide"), T.forEach((_) => _.classList.toggle(i.params.pagination.hiddenClass)); 16283 } 16284 }); 16285 let S = () => { 16286 i.el.classList.remove(i.params.pagination.paginationDisabledClass); 16287 let { el: v } = i.pagination; 16288 v && (v = Be(v), v.forEach((y) => y.classList.remove(i.params.pagination.paginationDisabledClass))), p(), g(), h(); 16289 }, b = () => { 16290 i.el.classList.add(i.params.pagination.paginationDisabledClass); 16291 let { el: v } = i.pagination; 16292 v && (v = Be(v), v.forEach((y) => y.classList.add(i.params.pagination.paginationDisabledClass))), m(); 16293 }; 16294 Object.assign(i.pagination, { 16295 enable: S, 16296 disable: b, 16297 render: g, 16298 update: h, 16299 init: p, 16300 destroy: m 16301 }); 16302} 16303function oO(e) { 16304 let { swiper: i, extendParams: t, on: r, emit: s, params: n } = e; 16305 i.autoplay = { 16306 running: !1, 16307 paused: !1, 16308 timeLeft: 0 16309 }, t({ autoplay: { 16310 enabled: !1, 16311 delay: 3e3, 16312 waitForTransition: !0, 16313 disableOnInteraction: !1, 16314 stopOnLastSlide: !1, 16315 reverseDirection: !1, 16316 pauseOnMouseEnter: !1 16317 } }); 16318 let a, o, l = n && n.autoplay ? n.autoplay.delay : 3e3, c = n && n.autoplay ? n.autoplay.delay : 3e3, d, u = (/* @__PURE__ */ new Date()).getTime(), h, g, p, m, S, b, v; 16319 function y(L) { 16320 !i || i.destroyed || !i.wrapperEl || L.target === i.wrapperEl && (i.wrapperEl.removeEventListener("transitionend", y), !(v || L.detail && L.detail.bySwiperTouchMove) && x()); 16321 } 16322 let w = () => { 16323 if (i.destroyed || !i.autoplay.running) return; 16324 i.autoplay.paused ? h = !0 : h && (c = d, h = !1); 16325 let L = i.autoplay.paused ? d : u + c - (/* @__PURE__ */ new Date()).getTime(); 16326 i.autoplay.timeLeft = L, s("autoplayTimeLeft", L, L / l), o = requestAnimationFrame(() => { 16327 w(); 16328 }); 16329 }, T = () => { 16330 let L; 16331 return i.virtual && i.params.virtual.enabled ? L = i.slides.find((X) => X.classList.contains("swiper-slide-active")) : L = i.slides[i.activeIndex], L ? parseInt(L.getAttribute("data-swiper-autoplay"), 10) : void 0; 16332 }, O = (L) => { 16333 if (i.destroyed || !i.autoplay.running) return; 16334 cancelAnimationFrame(o), w(); 16335 let X = typeof L > "u" ? i.params.autoplay.delay : L; 16336 l = i.params.autoplay.delay, c = i.params.autoplay.delay; 16337 let Ve = T(); 16338 !Number.isNaN(Ve) && Ve > 0 && typeof L > "u" && (X = Ve, l = Ve, c = Ve), d = X; 16339 let at = i.params.speed, Ct = () => { 16340 !i || i.destroyed || (i.params.autoplay.reverseDirection ? !i.isBeginning || i.params.loop || i.params.rewind ? (i.slidePrev(at, !0, !0), s("autoplay")) : i.params.autoplay.stopOnLastSlide || (i.slideTo(i.slides.length - 1, at, !0, !0), s("autoplay")) : !i.isEnd || i.params.loop || i.params.rewind ? (i.slideNext(at, !0, !0), s("autoplay")) : i.params.autoplay.stopOnLastSlide || (i.slideTo(0, at, !0, !0), s("autoplay")), i.params.cssMode && (u = (/* @__PURE__ */ new Date()).getTime(), requestAnimationFrame(() => { 16341 O(); 16342 }))); 16343 }; 16344 return X > 0 ? (clearTimeout(a), a = setTimeout(() => { 16345 Ct(); 16346 }, X)) : requestAnimationFrame(() => { 16347 Ct(); 16348 }), X; 16349 }, _ = () => { 16350 u = (/* @__PURE__ */ new Date()).getTime(), i.autoplay.running = !0, O(), s("autoplayStart"); 16351 }, z = () => { 16352 i.autoplay.running = !1, clearTimeout(a), cancelAnimationFrame(o), s("autoplayStop"); 16353 }, G = (L, X) => { 16354 if (i.destroyed || !i.autoplay.running) return; 16355 clearTimeout(a), L || (b = !0); 16356 let Ve = () => { 16357 s("autoplayPause"), i.params.autoplay.waitForTransition ? i.wrapperEl.addEventListener("transitionend", y) : x(); 16358 }; 16359 if (i.autoplay.paused = !0, X) { 16360 S && (d = i.params.autoplay.delay), S = !1, Ve(); 16361 return; 16362 } 16363 d = (d || i.params.autoplay.delay) - ((/* @__PURE__ */ new Date()).getTime() - u), !(i.isEnd && d < 0 && !i.params.loop) && (d < 0 && (d = 0), Ve()); 16364 }, x = () => { 16365 i.isEnd && d < 0 && !i.params.loop || i.destroyed || !i.autoplay.running || (u = (/* @__PURE__ */ new Date()).getTime(), b ? (b = !1, O(d)) : O(), i.autoplay.paused = !1, s("autoplayResume")); 16366 }, A = () => { 16367 if (i.destroyed || !i.autoplay.running) return; 16368 let L = Ft(); 16369 L.visibilityState === "hidden" && (b = !0, G(!0)), L.visibilityState === "visible" && x(); 16370 }, I = (L) => { 16371 L.pointerType === "mouse" && (b = !0, v = !0, !(i.animating || i.autoplay.paused) && G(!0)); 16372 }, D = (L) => { 16373 L.pointerType === "mouse" && (v = !1, i.autoplay.paused && x()); 16374 }, H = () => { 16375 i.params.autoplay.pauseOnMouseEnter && (i.el.addEventListener("pointerenter", I), i.el.addEventListener("pointerleave", D)); 16376 }, F = () => { 16377 i.el && typeof i.el != "string" && (i.el.removeEventListener("pointerenter", I), i.el.removeEventListener("pointerleave", D)); 16378 }, K = () => { 16379 Ft().addEventListener("visibilitychange", A); 16380 }, B = () => { 16381 Ft().removeEventListener("visibilitychange", A); 16382 }; 16383 r("init", () => { 16384 i.params.autoplay.enabled && (H(), K(), _()); 16385 }), r("destroy", () => { 16386 F(), B(), i.autoplay.running && z(); 16387 }), r("_freeModeStaticRelease", () => { 16388 (p || b) && x(); 16389 }), r("_freeModeNoMomentumRelease", () => { 16390 i.params.autoplay.disableOnInteraction ? z() : G(!0, !0); 16391 }), r("beforeTransitionStart", (L, X, Ve) => { 16392 i.destroyed || !i.autoplay.running || (Ve || !i.params.autoplay.disableOnInteraction ? G(!0, !0) : z()); 16393 }), r("sliderFirstMove", () => { 16394 if (!(i.destroyed || !i.autoplay.running)) { 16395 if (i.params.autoplay.disableOnInteraction) { 16396 z(); 16397 return; 16398 } 16399 g = !0, p = !1, b = !1, m = setTimeout(() => { 16400 b = !0, p = !0, G(!0); 16401 }, 200); 16402 } 16403 }), r("touchEnd", () => { 16404 if (!(i.destroyed || !i.autoplay.running || !g)) { 16405 if (clearTimeout(m), clearTimeout(a), i.params.autoplay.disableOnInteraction) { 16406 p = !1, g = !1; 16407 return; 16408 } 16409 p && i.params.cssMode && x(), p = !1, g = !1; 16410 } 16411 }), r("slideChange", () => { 16412 i.destroyed || !i.autoplay.running || (S = !0); 16413 }), Object.assign(i.autoplay, { 16414 start: _, 16415 stop: z, 16416 pause: G, 16417 resume: x 16418 }); 16419} 16420function Ta(e, i, t) { 16421 let r = `swiper-slide-shadow${t ? `-${t}` : ""}${e ? ` swiper-slide-shadow-${e}` : ""}`, s = xn(i), n = s.querySelector(`.${r.split(" ").join(".")}`); 16422 return n || (n = Bi("div", r.split(" ")), s.append(n)), n; 16423} 16424function ka(e) { 16425 let { effect: i, swiper: t, on: r, setTranslate: s, setTransition: n, overwriteParams: a, perspective: o, recreateShadows: l, getEffectParams: c } = e; 16426 r("beforeInit", () => { 16427 if (t.params.effect !== i) return; 16428 t.classNames.push(`${t.params.containerModifierClass}${i}`), o && o() && t.classNames.push(`${t.params.containerModifierClass}3d`); 16429 let u = a ? a() : {}; 16430 Object.assign(t.params, u), Object.assign(t.originalParams, u); 16431 }), r("setTranslate _virtualUpdated", () => { 16432 t.params.effect === i && s(); 16433 }), r("setTransition", (u, h) => { 16434 t.params.effect === i && n(h); 16435 }), r("transitionEnd", () => { 16436 if (t.params.effect === i && l) { 16437 if (!c || !c().slideShadows) return; 16438 t.slides.forEach((u) => { 16439 u.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((h) => h.remove()); 16440 }), l(); 16441 } 16442 }); 16443 let d; 16444 r("virtualUpdate", () => { 16445 t.params.effect === i && (t.slides.length || (d = !0), requestAnimationFrame(() => { 16446 d && t.slides && t.slides.length && (s(), d = !1); 16447 })); 16448 }); 16449} 16450function il(e, i) { 16451 let t = xn(i); 16452 return t !== i && (t.style.backfaceVisibility = "hidden", t.style["-webkit-backface-visibility"] = "hidden"), t; 16453} 16454function H2(e) { 16455 let { swiper: i, extendParams: t, on: r } = e; 16456 t({ coverflowEffect: { 16457 rotate: 50, 16458 stretch: 0, 16459 depth: 100, 16460 scale: 1, 16461 modifier: 1, 16462 slideShadows: !0 16463 } }), ka({ 16464 effect: "coverflow", 16465 swiper: i, 16466 on: r, 16467 setTranslate: () => { 16468 let { width: s, height: n, slides: a, slidesSizesGrid: o } = i, l = i.params.coverflowEffect, c = i.isHorizontal(), d = i.translate, u = c ? -d + s / 2 : -d + n / 2, h = c ? l.rotate : -l.rotate, g = l.depth, p = eu(i); 16469 for (let m = 0, S = a.length; m < S; m += 1) { 16470 let b = a[m], v = o[m], y = (u - b.swiperSlideOffset - v / 2) / v, w = typeof l.modifier == "function" ? l.modifier(y) : y * l.modifier, T = c ? h * w : 0, O = c ? 0 : h * w, _ = -g * Math.abs(w), z = l.stretch; 16471 typeof z == "string" && z.indexOf("%") !== -1 && (z = parseFloat(l.stretch) / 100 * v); 16472 let G = c ? 0 : z * w, x = c ? z * w : 0, A = 1 - (1 - l.scale) * Math.abs(w); 16473 Math.abs(x) < .001 && (x = 0), Math.abs(G) < .001 && (G = 0), Math.abs(_) < .001 && (_ = 0), Math.abs(T) < .001 && (T = 0), Math.abs(O) < .001 && (O = 0), Math.abs(A) < .001 && (A = 0); 16474 let I = `translate3d(${x}px,${G}px,${_}px) rotateX(${p(O)}deg) rotateY(${p(T)}deg) scale(${A})`, D = il(l, b); 16475 if (D.style.transform = I, b.style.zIndex = -Math.abs(Math.round(w)) + 1, l.slideShadows) { 16476 let H = c ? b.querySelector(".swiper-slide-shadow-left") : b.querySelector(".swiper-slide-shadow-top"), F = c ? b.querySelector(".swiper-slide-shadow-right") : b.querySelector(".swiper-slide-shadow-bottom"); 16477 H || (H = Ta("coverflow", b, c ? "left" : "top")), F || (F = Ta("coverflow", b, c ? "right" : "bottom")), H && (H.style.opacity = w > 0 ? w : 0), F && (F.style.opacity = -w > 0 ? -w : 0); 16478 } 16479 } 16480 }, 16481 setTransition: (s) => { 16482 i.slides.map((n) => xn(n)).forEach((n) => { 16483 n.style.transitionDuration = `${s}ms`, n.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((a) => { 16484 a.style.transitionDuration = `${s}ms`; 16485 }); 16486 }); 16487 }, 16488 perspective: () => !0, 16489 overwriteParams: () => ({ watchSlidesProgress: !0 }) 16490 }); 16491} 16492function U2(e) { 16493 let { swiper: i, extendParams: t, on: r, emit: s } = e, n = Ft(), a = gt(); 16494 i.keyboard = { enabled: !1 }, t({ keyboard: { 16495 enabled: !1, 16496 onlyInViewport: !0, 16497 pageUpDown: !0 16498 } }); 16499 function o(d) { 16500 if (!i.enabled) return; 16501 let { rtlTranslate: u } = i, h = d; 16502 h.originalEvent && (h = h.originalEvent); 16503 let g = h.keyCode || h.charCode, p = i.params.keyboard.pageUpDown, m = p && g === 33, S = p && g === 34, b = g === 37, v = g === 39, y = g === 38, w = g === 40; 16504 if (!i.allowSlideNext && (i.isHorizontal() && v || i.isVertical() && w || S) || !i.allowSlidePrev && (i.isHorizontal() && b || i.isVertical() && y || m)) return !1; 16505 if (!(h.shiftKey || h.altKey || h.ctrlKey || h.metaKey) && !(n.activeElement && (n.activeElement.isContentEditable || n.activeElement.nodeName && (n.activeElement.nodeName.toLowerCase() === "input" || n.activeElement.nodeName.toLowerCase() === "textarea")))) { 16506 if (i.params.keyboard.onlyInViewport && (m || S || b || v || y || w)) { 16507 let T = !1; 16508 if (In(i.el, `.${i.params.slideClass}, swiper-slide`).length > 0 && In(i.el, `.${i.params.slideActiveClass}`).length === 0) return; 16509 let O = i.el, _ = O.clientWidth, z = O.clientHeight, G = a.innerWidth, x = a.innerHeight, A = Zd(O); 16510 u && (A.left -= O.scrollLeft); 16511 let I = [ 16512 [A.left, A.top], 16513 [A.left + _, A.top], 16514 [A.left, A.top + z], 16515 [A.left + _, A.top + z] 16516 ]; 16517 for (let D = 0; D < I.length; D += 1) { 16518 let H = I[D]; 16519 if (H[0] >= 0 && H[0] <= G && H[1] >= 0 && H[1] <= x) { 16520 if (H[0] === 0 && H[1] === 0) continue; 16521 T = !0; 16522 } 16523 } 16524 if (!T) return; 16525 } 16526 i.isHorizontal() ? ((m || S || b || v) && (h.preventDefault ? h.preventDefault() : h.returnValue = !1), ((S || v) && !u || (m || b) && u) && i.slideNext(), ((m || b) && !u || (S || v) && u) && i.slidePrev()) : ((m || S || y || w) && (h.preventDefault ? h.preventDefault() : h.returnValue = !1), (S || w) && i.slideNext(), (m || y) && i.slidePrev()), s("keyPress", g); 16527 } 16528 } 16529 function l() { 16530 i.keyboard.enabled || (n.addEventListener("keydown", o), i.keyboard.enabled = !0); 16531 } 16532 function c() { 16533 i.keyboard.enabled && (n.removeEventListener("keydown", o), i.keyboard.enabled = !1); 16534 } 16535 r("init", () => { 16536 i.params.keyboard.enabled && l(); 16537 }), r("destroy", () => { 16538 i.keyboard.enabled && c(); 16539 }), Object.assign(i.keyboard, { 16540 enable: l, 16541 disable: c 16542 }); 16543} 16544function W2(e) { 16545 let { swiper: i, extendParams: t, on: r, emit: s } = e, n = gt(); 16546 t({ mousewheel: { 16547 enabled: !1, 16548 releaseOnEdges: !1, 16549 invert: !1, 16550 forceToAxis: !1, 16551 sensitivity: 1, 16552 eventsTarget: "container", 16553 thresholdDelta: null, 16554 thresholdTime: null, 16555 noMousewheelClass: "swiper-no-mousewheel" 16556 } }), i.mousewheel = { enabled: !1 }; 16557 let a, o = Xi(), l, c = []; 16558 function d(y) { 16559 let w = 0, T = 0, O = 0, _ = 0; 16560 return "detail" in y && (T = y.detail), "wheelDelta" in y && (T = -y.wheelDelta / 120), "wheelDeltaY" in y && (T = -y.wheelDeltaY / 120), "wheelDeltaX" in y && (w = -y.wheelDeltaX / 120), "axis" in y && y.axis === y.HORIZONTAL_AXIS && (w = T, T = 0), O = w * 10, _ = T * 10, "deltaY" in y && (_ = y.deltaY), "deltaX" in y && (O = y.deltaX), y.shiftKey && !O && (O = _, _ = 0), (O || _) && y.deltaMode && (y.deltaMode === 1 ? (O *= 40, _ *= 40) : (O *= 800, _ *= 800)), O && !w && (w = O < 1 ? -1 : 1), _ && !T && (T = _ < 1 ? -1 : 1), { 16561 spinX: w, 16562 spinY: T, 16563 pixelX: O, 16564 pixelY: _ 16565 }; 16566 } 16567 function u() { 16568 i.enabled && (i.mouseEntered = !0); 16569 } 16570 function h() { 16571 i.enabled && (i.mouseEntered = !1); 16572 } 16573 function g(y) { 16574 return i.params.mousewheel.thresholdDelta && y.delta < i.params.mousewheel.thresholdDelta || i.params.mousewheel.thresholdTime && Xi() - o < i.params.mousewheel.thresholdTime ? !1 : y.delta >= 6 && Xi() - o < 60 ? !0 : (y.direction < 0 ? (!i.isEnd || i.params.loop) && !i.animating && (i.slideNext(), s("scroll", y.raw)) : (!i.isBeginning || i.params.loop) && !i.animating && (i.slidePrev(), s("scroll", y.raw)), o = new n.Date().getTime(), !1); 16575 } 16576 function p(y) { 16577 let w = i.params.mousewheel; 16578 if (y.direction < 0) { 16579 if (i.isEnd && !i.params.loop && w.releaseOnEdges) return !0; 16580 } else if (i.isBeginning && !i.params.loop && w.releaseOnEdges) return !0; 16581 return !1; 16582 } 16583 function m(y) { 16584 let w = y, T = !0; 16585 if (!i.enabled || y.target.closest(`.${i.params.mousewheel.noMousewheelClass}`)) return; 16586 let O = i.params.mousewheel; 16587 i.params.cssMode && w.preventDefault(); 16588 let _ = i.el; 16589 i.params.mousewheel.eventsTarget !== "container" && (_ = document.querySelector(i.params.mousewheel.eventsTarget)); 16590 let z = _ && _.contains(w.target); 16591 if (!i.mouseEntered && !z && !O.releaseOnEdges) return !0; 16592 w.originalEvent && (w = w.originalEvent); 16593 let G = 0, x = i.rtlTranslate ? -1 : 1, A = d(w); 16594 if (O.forceToAxis) if (i.isHorizontal()) if (Math.abs(A.pixelX) > Math.abs(A.pixelY)) G = -A.pixelX * x; 16595 else return !0; 16596 else if (Math.abs(A.pixelY) > Math.abs(A.pixelX)) G = -A.pixelY; 16597 else return !0; 16598 else G = Math.abs(A.pixelX) > Math.abs(A.pixelY) ? -A.pixelX * x : -A.pixelY; 16599 if (G === 0) return !0; 16600 O.invert && (G = -G); 16601 let I = i.getTranslate() + G * O.sensitivity; 16602 if (I >= i.minTranslate() && (I = i.minTranslate()), I <= i.maxTranslate() && (I = i.maxTranslate()), T = i.params.loop ? !0 : !(I === i.minTranslate() || I === i.maxTranslate()), T && i.params.nested && w.stopPropagation(), !i.params.freeMode || !i.params.freeMode.enabled) { 16603 let D = { 16604 time: Xi(), 16605 delta: Math.abs(G), 16606 direction: Math.sign(G), 16607 raw: y 16608 }; 16609 c.length >= 2 && c.shift(); 16610 let H = c.length ? c[c.length - 1] : void 0; 16611 if (c.push(D), H ? (D.direction !== H.direction || D.delta > H.delta || D.time > H.time + 150) && g(D) : g(D), p(D)) return !0; 16612 } else { 16613 let D = { 16614 time: Xi(), 16615 delta: Math.abs(G), 16616 direction: Math.sign(G) 16617 }, H = l && D.time < l.time + 500 && D.delta <= l.delta && D.direction === l.direction; 16618 if (!H) { 16619 l = void 0; 16620 let F = i.getTranslate() + G * O.sensitivity, K = i.isBeginning, B = i.isEnd; 16621 if (F >= i.minTranslate() && (F = i.minTranslate()), F <= i.maxTranslate() && (F = i.maxTranslate()), i.setTransition(0), i.setTranslate(F), i.updateProgress(), i.updateActiveIndex(), i.updateSlidesClasses(), (!K && i.isBeginning || !B && i.isEnd) && i.updateSlidesClasses(), i.params.loop && i.loopFix({ 16622 direction: D.direction < 0 ? "next" : "prev", 16623 byMousewheel: !0 16624 }), i.params.freeMode.sticky) { 16625 clearTimeout(a), a = void 0, c.length >= 15 && c.shift(); 16626 let L = c.length ? c[c.length - 1] : void 0, X = c[0]; 16627 if (c.push(D), L && (D.delta > L.delta || D.direction !== L.direction)) c.splice(0); 16628 else if (c.length >= 15 && D.time - X.time < 500 && X.delta - D.delta >= 1 && D.delta <= 6) { 16629 let Ve = G > 0 ? .8 : .2; 16630 l = D, c.splice(0), a = Na(() => { 16631 i.destroyed || !i.params || i.slideToClosest(i.params.speed, !0, void 0, Ve); 16632 }, 0); 16633 } 16634 a || (a = Na(() => { 16635 i.destroyed || !i.params || (l = D, c.splice(0), i.slideToClosest(i.params.speed, !0, void 0, .5)); 16636 }, 500)); 16637 } 16638 if (H || s("scroll", w), i.params.autoplay && i.params.autoplay.disableOnInteraction && i.autoplay.stop(), O.releaseOnEdges && (F === i.minTranslate() || F === i.maxTranslate())) return !0; 16639 } 16640 } 16641 return w.preventDefault ? w.preventDefault() : w.returnValue = !1, !1; 16642 } 16643 function S(y) { 16644 let w = i.el; 16645 i.params.mousewheel.eventsTarget !== "container" && (w = document.querySelector(i.params.mousewheel.eventsTarget)), w[y]("mouseenter", u), w[y]("mouseleave", h), w[y]("wheel", m); 16646 } 16647 function b() { 16648 return i.params.cssMode ? (i.wrapperEl.removeEventListener("wheel", m), !0) : i.mousewheel.enabled ? !1 : (S("addEventListener"), i.mousewheel.enabled = !0, !0); 16649 } 16650 function v() { 16651 return i.params.cssMode ? (i.wrapperEl.addEventListener(event, m), !0) : i.mousewheel.enabled ? (S("removeEventListener"), i.mousewheel.enabled = !1, !0) : !1; 16652 } 16653 r("init", () => { 16654 !i.params.mousewheel.enabled && i.params.cssMode && v(), i.params.mousewheel.enabled && b(); 16655 }), r("destroy", () => { 16656 i.params.cssMode && b(), i.mousewheel.enabled && v(); 16657 }), Object.assign(i.mousewheel, { 16658 enable: b, 16659 disable: v 16660 }); 16661} 16662function j2(e) { 16663 let { swiper: i, extendParams: t, on: r, emit: s } = e, n = Ft(), a = !1, o = null, l = null, c, d, u, h; 16664 t({ scrollbar: { 16665 el: null, 16666 dragSize: "auto", 16667 hide: !1, 16668 draggable: !1, 16669 snapOnRelease: !0, 16670 lockClass: "swiper-scrollbar-lock", 16671 dragClass: "swiper-scrollbar-drag", 16672 scrollbarDisabledClass: "swiper-scrollbar-disabled", 16673 horizontalClass: "swiper-scrollbar-horizontal", 16674 verticalClass: "swiper-scrollbar-vertical" 16675 } }), i.scrollbar = { 16676 el: null, 16677 dragEl: null 16678 }; 16679 function g() { 16680 if (!i.params.scrollbar.el || !i.scrollbar.el) return; 16681 let { scrollbar: I, rtlTranslate: D } = i, { dragEl: H, el: F } = I, K = i.params.scrollbar, B = i.params.loop ? i.progressLoop : i.progress, L = d, X = (u - d) * B; 16682 D ? (X = -X, X > 0 ? (L = d - X, X = 0) : -X + d > u && (L = u + X)) : X < 0 ? (L = d + X, X = 0) : X + d > u && (L = u - X), i.isHorizontal() ? (H.style.transform = `translate3d(${X}px, 0, 0)`, H.style.width = `${L}px`) : (H.style.transform = `translate3d(0px, ${X}px, 0)`, H.style.height = `${L}px`), K.hide && (clearTimeout(o), F.style.opacity = 1, o = setTimeout(() => { 16683 F.style.opacity = 0, F.style.transitionDuration = "400ms"; 16684 }, 1e3)); 16685 } 16686 function p(I) { 16687 !i.params.scrollbar.el || !i.scrollbar.el || (i.scrollbar.dragEl.style.transitionDuration = `${I}ms`); 16688 } 16689 function m() { 16690 if (!i.params.scrollbar.el || !i.scrollbar.el) return; 16691 let { scrollbar: I } = i, { dragEl: D, el: H } = I; 16692 D.style.width = "", D.style.height = "", u = i.isHorizontal() ? H.offsetWidth : H.offsetHeight, h = i.size / (i.virtualSize + i.params.slidesOffsetBefore - (i.params.centeredSlides ? i.snapGrid[0] : 0)), i.params.scrollbar.dragSize === "auto" ? d = u * h : d = parseInt(i.params.scrollbar.dragSize, 10), i.isHorizontal() ? D.style.width = `${d}px` : D.style.height = `${d}px`, h >= 1 ? H.style.display = "none" : H.style.display = "", i.params.scrollbar.hide && (H.style.opacity = 0), i.params.watchOverflow && i.enabled && I.el.classList[i.isLocked ? "add" : "remove"](i.params.scrollbar.lockClass); 16693 } 16694 function S(I) { 16695 return i.isHorizontal() ? I.clientX : I.clientY; 16696 } 16697 function b(I) { 16698 let { scrollbar: D, rtlTranslate: H } = i, { el: F } = D, K; 16699 K = (S(I) - Zd(F)[i.isHorizontal() ? "left" : "top"] - (c !== null ? c : d / 2)) / (u - d), K = Math.max(Math.min(K, 1), 0), H && (K = 1 - K); 16700 let B = i.minTranslate() + (i.maxTranslate() - i.minTranslate()) * K; 16701 i.updateProgress(B), i.setTranslate(B), i.updateActiveIndex(), i.updateSlidesClasses(); 16702 }
16703 function v(I) { 16704 let D = i.params.scrollbar, { scrollbar: H, wrapperEl: F } = i, { el: K, dragEl: B } = H; 16705 a = !0, c = I.target === B ? S(I) - I.target.getBoundingClientRect()[i.isHorizontal() ? "left" : "top"] : null, I.preventDefault(), I.stopPropagation(), F.style.transitionDuration = "100ms", B.style.transitionDuration = "100ms", b(I), clearTimeout(l), K.style.transitionDuration = "0ms", D.hide && (K.style.opacity = 1), i.params.cssMode && (i.wrapperEl.style["scroll-snap-type"] = "none"), s("scrollbarDragStart", I); 16706 } 16707 function y(I) { 16708 let { scrollbar: D, wrapperEl: H } = i, { el: F, dragEl: K } = D; 16709 a && (I.preventDefault && I.cancelable ? I.preventDefault() : I.returnValue = !1, b(I), H.style.transitionDuration = "0ms", F.style.transitionDuration = "0ms", K.style.transitionDuration = "0ms", s("scrollbarDragMove", I)); 16710 } 16711 function w(I) { 16712 let D = i.params.scrollbar, { scrollbar: H, wrapperEl: F } = i, { el: K } = H; 16713 a && (a = !1, i.params.cssMode && (i.wrapperEl.style["scroll-snap-type"] = "", F.style.transitionDuration = ""), D.hide && (clearTimeout(l), l = Na(() => { 16714 K.style.opacity = 0, K.style.transitionDuration = "400ms"; 16715 }, 1e3)), s("scrollbarDragEnd", I), D.snapOnRelease && i.slideToClosest()); 16716 } 16717 function T(I) { 16718 let { scrollbar: D, params: H } = i, F = D.el; 16719 if (!F) return; 16720 let K = F, B = H.passiveListeners ? { 16721 passive: !1, 16722 capture: !1 16723 } : !1, L = H.passiveListeners ? { 16724 passive: !0, 16725 capture: !1 16726 } : !1; 16727 if (!K) return; 16728 let X = I === "on" ? "addEventListener" : "removeEventListener"; 16729 K[X]("pointerdown", v, B), n[X]("pointermove", y, B), n[X]("pointerup", w, L); 16730 } 16731 function O() { 16732 !i.params.scrollbar.el || !i.scrollbar.el || T("on"); 16733 } 16734 function _() { 16735 !i.params.scrollbar.el || !i.scrollbar.el || T("off"); 16736 } 16737 function z() { 16738 let { scrollbar: I, el: D } = i; 16739 i.params.scrollbar = nS(i, i.originalParams.scrollbar, i.params.scrollbar, { el: "swiper-scrollbar" }); 16740 let H = i.params.scrollbar; 16741 if (!H.el) return; 16742 let F; 16743 if (typeof H.el == "string" && i.isElement && (F = i.el.querySelector(H.el)), !F && typeof H.el == "string") { 16744 if (F = n.querySelectorAll(H.el), !F.length) return; 16745 } else F || (F = H.el); 16746 i.params.uniqueNavElements && typeof H.el == "string" && F.length > 1 && D.querySelectorAll(H.el).length === 1 && (F = D.querySelector(H.el)), F.length > 0 && (F = F[0]), F.classList.add(i.isHorizontal() ? H.horizontalClass : H.verticalClass); 16747 let K; 16748 F && (K = F.querySelector(fs(i.params.scrollbar.dragClass)), K || (K = Bi("div", i.params.scrollbar.dragClass), F.append(K))), Object.assign(I, { 16749 el: F, 16750 dragEl: K 16751 }), H.draggable && O(), F && F.classList[i.enabled ? "remove" : "add"](...Hs(i.params.scrollbar.lockClass)); 16752 } 16753 function G() { 16754 let I = i.params.scrollbar, D = i.scrollbar.el; 16755 D && D.classList.remove(...Hs(i.isHorizontal() ? I.horizontalClass : I.verticalClass)), _(); 16756 } 16757 r("changeDirection", () => { 16758 if (!i.scrollbar || !i.scrollbar.el) return; 16759 let I = i.params.scrollbar, { el: D } = i.scrollbar; 16760 D = Be(D), D.forEach((H) => { 16761 H.classList.remove(I.horizontalClass, I.verticalClass), H.classList.add(i.isHorizontal() ? I.horizontalClass : I.verticalClass); 16762 }); 16763 }), r("init", () => { 16764 i.params.scrollbar.enabled === !1 ? A() : (z(), m(), g()); 16765 }), r("update resize observerUpdate lock unlock changeDirection", () => { 16766 m(); 16767 }), r("setTranslate", () => { 16768 g(); 16769 }), r("setTransition", (I, D) => { 16770 p(D); 16771 }), r("enable disable", () => { 16772 let { el: I } = i.scrollbar; 16773 I && I.classList[i.enabled ? "remove" : "add"](...Hs(i.params.scrollbar.lockClass)); 16774 }), r("destroy", () => { 16775 G(); 16776 }); 16777 let x = () => { 16778 i.el.classList.remove(...Hs(i.params.scrollbar.scrollbarDisabledClass)), i.scrollbar.el && i.scrollbar.el.classList.remove(...Hs(i.params.scrollbar.scrollbarDisabledClass)), z(), m(), g(); 16779 }, A = () => { 16780 i.el.classList.add(...Hs(i.params.scrollbar.scrollbarDisabledClass)), i.scrollbar.el && i.scrollbar.el.classList.add(...Hs(i.params.scrollbar.scrollbarDisabledClass)), G(); 16781 }; 16782 Object.assign(i.scrollbar, { 16783 enable: x, 16784 disable: A, 16785 updateSize: m, 16786 setTranslate: g, 16787 init: z, 16788 destroy: G 16789 }); 16790} 16791function Y2(e) { 16792 let { swiper: i, extendParams: t, on: r } = e; 16793 t({ parallax: { enabled: !1 } }); 16794 let s = "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]", n = (l, c) => { 16795 let { rtl: d } = i, u = d ? -1 : 1, h = l.getAttribute("data-swiper-parallax") || "0", g = l.getAttribute("data-swiper-parallax-x"), p = l.getAttribute("data-swiper-parallax-y"), m = l.getAttribute("data-swiper-parallax-scale"), S = l.getAttribute("data-swiper-parallax-opacity"), b = l.getAttribute("data-swiper-parallax-rotate"); 16796 if (g || p ? (g = g || "0", p = p || "0") : i.isHorizontal() ? (g = h, p = "0") : (p = h, g = "0"), g.indexOf("%") >= 0 ? g = `${parseInt(g, 10) * c * u}%` : g = `${g * c * u}px`, p.indexOf("%") >= 0 ? p = `${parseInt(p, 10) * c}%` : p = `${p * c}px`, typeof S < "u" && S !== null) { 16797 let y = S - (S - 1) * (1 - Math.abs(c)); 16798 l.style.opacity = y; 16799 } 16800 let v = `translate3d(${g}, ${p}, 0px)`; 16801 if (typeof m < "u" && m !== null) { 16802 let y = m - (m - 1) * (1 - Math.abs(c)); 16803 v += ` scale(${y})`; 16804 } 16805 if (b && typeof b < "u" && b !== null) { 16806 let y = b * c * -1; 16807 v += ` rotate(${y}deg)`; 16808 } 16809 l.style.transform = v; 16810 }, a = () => { 16811 let { el: l, slides: c, progress: d, snapGrid: u, isElement: h } = i, g = Qt(l, s); 16812 i.isElement && g.push(...Qt(i.hostEl, s)), g.forEach((p) => { 16813 n(p, d); 16814 }
16814), c.forEach((p, m) => { 16815 let S = p.progress; 16816 i.params.slidesPerGroup > 1 && i.params.slidesPerView !== "auto" && (S += Math.ceil(m / 2) - d * (u.length - 1)), S = Math.min(Math.max(S, -1), 1), p.querySelectorAll(`${s}, [data-swiper-parallax-rotate]`).forEach((b) => { 16817 n(b, S); 16818 }); 16819 }); 16820 }, o = function(l) { 16821 l === void 0 && (l = i.params.speed); 16822 let { el: c, hostEl: d } = i, u = [...c.querySelectorAll(s)]; 16823 i.isElement && u.push(...d.querySelectorAll(s)), u.forEach((h) => { 16824 let g = parseInt(h.getAttribute("data-swiper-parallax-duration"), 10) || l; 16825 l === 0 && (g = 0), h.style.transitionDuration = `${g}ms`; 16826 }); 16827 }; 16828 r("beforeInit", () => { 16829 i.params.parallax.enabled && (i.params.watchSlidesProgress = !0, i.originalParams.watchSlidesProgress = !0); 16830 }), r("init", () => { 16831 i.params.parallax.enabled && a(); 16832 }), r("setTranslate", () => { 16833 i.params.parallax.enabled && a(); 16834 }), r("setTransition", (l, c) => { 16835 i.params.parallax.enabled && o(c); 16836 }); 16837} 16838function K2(e) { 16839 let { swiper: i, extendParams: t, on: r, emit: s } = e, n = gt(); 16840 t({ zoom: { 16841 enabled: !1, 16842 limitToOriginalSize: !1, 16843 maxRatio: 3, 16844 minRatio: 1, 16845 panOnMouseMove: !1, 16846 toggle: !0, 16847 containerClass: "swiper-zoom-container", 16848 zoomedSlideClass: "swiper-slide-zoomed" 16849 } }), i.zoom = { enabled: !1 }; 16850 let a = 1, o = !1, l = !1, c = { 16851 x: 0, 16852 y: 0 16853 }, d = -3, u, h, g = [], p = { 16854 originX: 0, 16855 originY: 0, 16856 slideEl: void 0, 16857 slideWidth: void 0, 16858 slideHeight: void 0, 16859 imageEl: void 0, 16860 imageWrapEl: void 0, 16861 maxRatio: 3 16862 }, m = { 16863 isTouched: void 0, 16864 isMoved: void 0, 16865 currentX: void 0, 16866 currentY: void 0, 16867 minX: void 0, 16868 minY: void 0, 16869 maxX: void 0, 16870 maxY: void 0, 16871 width: void 0, 16872 height: void 0, 16873 startX: void 0, 16874 startY: void 0, 16875 touchesStart: {}, 16876 touchesCurrent: {} 16877 }, S = { 16878 x: void 0, 16879 y: void 0, 16880 prevPositionX: void 0, 16881 prevPositionY: void 0, 16882 prevTime: void 0 16883 }, b = 1; 16884 Object.defineProperty(i.zoom, "scale", { 16885 get() { 16886 return b; 16887 }, 16888 set(se) { 16889 if (b !== se) { 16890 let Y = p.imageEl, re = p.slideEl; 16891 s("zoomChange", se, Y, re); 16892 } 16893 b = se; 16894 } 16895 }); 16896 function v() { 16897 if (g.length < 2) return 1; 16898 let se = g[0].pageX, Y = g[0].pageY, re = g[1].pageX, Me = g[1].pageY; 16899 return Math.sqrt((re - se) ** 2 + (Me - Y) ** 2); 16900 } 16901 function y() { 16902 let se = i.params.zoom, Y = p.imageWrapEl.getAttribute("data-swiper-zoom") || se.maxRatio; 16903 if (se.limitToOriginalSize && p.imageEl && p.imageEl.naturalWidth) { 16904 let re = p.imageEl.naturalWidth / p.imageEl.offsetWidth; 16905 return Math.min(re, Y); 16906 } 16907 return Y; 16908 } 16909 function w() { 16910 if (g.length < 2) return { 16911 x: null, 16912 y: null 16913 }; 16914 let se = p.imageEl.getBoundingClientRect(); 16915 return [(g[0].pageX + (g[1].pageX - g[0].pageX) / 2 - se.x - n.scrollX) / a, (g[0].pageY + (g[1].pageY - g[0].pageY) / 2 - se.y - n.scrollY) / a]; 16916 } 16917 function T() { 16918 return i.isElement ? "swiper-slide" : `.${i.params.slideClass}`; 16919 } 16920 function O(se) { 16921 let Y = T(); 16922 return !!(se.target.matches(Y) || i.slides.filter((re) => re.contains(se.target)).length > 0); 16923 } 16924 function _(se) { 16925 let Y = `.${i.params.zoom.containerClass}`; 16926 return !!(se.target.matches(Y) || [...i.hostEl.querySelectorAll(Y)].filter((re) => re.contains(se.target)).length > 0); 16927 } 16928 function z(se) { 16929 if (se.pointerType === "mouse" && g.splice(0, g.length), !O(se)) return; 16930 let Y = i.params.zoom; 16931 if (u = !1, h = !1, g.push(se), !(g.length < 2)) { 16932 if (u = !0, p.scaleStart = v(), !p.slideEl) { 16933 p.slideEl = se.target.closest(`.${i.params.slideClass}, swiper-slide`), p.slideEl || (p.slideEl = i.slides[i.activeIndex]); 16934 let re = p.slideEl.querySelector(`.${Y.containerClass}`); 16935 if (re && (re = re.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), p.imageEl = re, re ? p.imageWrapEl = In(p.imageEl, `.${Y.containerClass}`)[0] : p.imageWrapEl = void 0, !p.imageWrapEl) { 16936 p.imageEl = void 0; 16937 return; 16938 } 16939 p.maxRatio = y(); 16940 } 16941 if (p.imageEl) { 16942 let [re, Me] = w(); 16943 p.originX = re, p.originY = Me, p.imageEl.style.transitionDuration = "0ms"; 16944 } 16945 o = !0; 16946 } 16947 } 16948 function G(se) { 16949 if (!O(se)) return; 16950 let Y = i.params.zoom, re = i.zoom, Me = g.findIndex((Lt) => Lt.pointerId === se.pointerId); 16951 Me >= 0 && (g[Me] = se), !(g.length < 2) && (h = !0, p.scaleMove = v(), p.imageEl && (re.scale = p.scaleMove / p.scaleStart * a, re.scale > p.maxRatio && (re.scale = p.maxRatio - 1 + (re.scale - p.maxRatio + 1) ** .5), re.scale < Y.minRatio && (re.scale = Y.minRatio + 1 - (Y.minRatio - re.scale + 1) ** .5), p.imageEl.style.transform = `translate3d(0,
169510,0) scale(${re.scale})`)); 16952 } 16953 function x(se) { 16954 if (!O(se) || se.pointerType === "mouse" && se.type === "pointerout") return; 16955 let Y = i.params.zoom, re = i.zoom, Me = g.findIndex((Lt) => Lt.pointerId === se.pointerId); 16956 Me >= 0 && g.splice(Me, 1), u && h && (u = !1, h = !1, p.imageEl && (re.scale = Math.max(Math.min(re.scale, p.maxRatio), Y.minRatio), p.imageEl.style.transitionDuration = `${i.params.speed}ms`, p.imageEl.style.transform = `translate3d(0,0,0) scale(${re.scale})`, a = re.scale, o = !1, re.scale > 1 && p.slideEl ? p.slideEl.classList.add(`${Y.zoomedSlideClass}`) : re.scale <= 1 && p.slideEl && p.slideEl.classList.remove(`${Y.zoomedSlideClass}`), re.scale === 1 && (p.originX = 0, p.originY = 0, p.slideEl = void 0))); 16957 } 16958 let A; 16959 function I() { 16960 i.touchEventsData.preventTouchMoveFromPointerMove = !1; 16961 } 16962 function D() { 16963 clearTimeout(A), i.touchEventsData.preventTouchMoveFromPointerMove = !0, A = setTimeout(() => { 16964 i.destroyed || I(); 16965 }); 16966 } 16967 function H(se) { 16968 let Y = i.device; 16969 if (!p.imageEl || m.isTouched) return; 16970 Y.android && se.cancelable && se.preventDefault(), m.isTouched = !0; 16971 let re = g.length > 0 ? g[0] : se; 16972 m.touchesStart.x = re.pageX, m.touchesStart.y = re.pageY; 16973 } 16974 function F(se) { 16975 let Y = se.pointerType === "mouse" && i.params.zoom.panOnMouseMove; 16976 if (!O(se) || !_(se)) return; 16977 let re = i.zoom; 16978 if (!p.imageEl) return; 16979 if (!m.isTouched || !p.slideEl) { 16980 Y && L(se); 16981 return; 16982 } 16983 if (Y) { 16984 L(se); 16985 return; 16986 } 16987 m.isMoved || (m.width = p.imageEl.offsetWidth || p.imageEl.clientWidth, m.height = p.imageEl.offsetHeight || p.imageEl.clientHeight, m.startX = rS(p.imageWrapEl, "x") || 0, m.startY = rS(p.imageWrapEl, "y") || 0, p.slideWidth = p.slideEl.offsetWidth, p.slideHeight = p.slideEl.offsetHeight, p.imageWrapEl.style.transitionDuration = "0ms"); 16988 let Me = m.width * re.scale, Lt = m.height * re.scale; 16989 if (m.minX = Math.min(p.slideWidth / 2 - Me / 2, 0), m.maxX = -m.minX, m.minY = Math.min(p.slideHeight / 2 - Lt / 2, 0), m.maxY = -m.minY, m.touchesCurrent.x = g.length > 0 ? g[0].pageX : se.pageX, m.touchesCurrent.y = g.length > 0 ? g[0].pageY : se.pageY, Math.max(Math.abs(m.touchesCurrent.x - m.touchesStart.x), Math.abs(m.touchesCurrent.y - m.touchesStart.y)) > 5 && (i.allowClick = !1), !m.isMoved && !o) { 16990 if (i.isHorizontal() && (Math.floor(m.minX) === Math.floor(m.startX) && m.touchesCurrent.x < m.touchesStart.x || Math.floor(m.maxX) === Math.floor(m.startX) && m.touchesCurrent.x > m.touchesStart.x)) { 16991 m.isTouched = !1, I(); 16992 return; 16993 } 16994 if (!i.isHorizontal() && (Math.floor(m.minY) === Math.floor(m.startY) && m.touchesCurrent.y < m.touchesStart.y || Math.floor(m.maxY) === Math.floor(m.startY) && m.touchesCurrent.y > m.touchesStart.y)) { 16995 m.isTouched = !1, I(); 16996 return; 16997 } 16998 } 16999 se.cancelable && se.preventDefault(), se.stopPropagation(), D(), m.isMoved = !0; 17000 let Pi = (re.scale - a) / (p.maxRatio - i.params.zoom.minRatio), { originX: Zt, originY: li } = p; 17001 m.currentX = m.touchesCurrent.x - m.touchesStart.x + m.startX + Pi * (m.width - Zt * 2), m.currentY = m.touchesCurrent.y - m.touchesStart.y + m.startY + Pi * (m.height - li * 2), m.currentX < m.minX && (m.currentX = m.minX + 1 - (m.minX - m.currentX + 1) ** .8), m.currentX > m.maxX && (m.currentX = m.maxX - 1 + (m.currentX - m.maxX + 1) ** .8), m.currentY < m.minY && (m.currentY = m.minY + 1 - (m.minY - m.currentY + 1) ** .8), m.currentY > m.maxY && (m.currentY = m.maxY - 1 + (m.currentY - m.maxY + 1) ** .8), S.prevPositionX || (S.prevPositionX = m.touchesCurrent.x), S.prevPositionY || (S.prevPositionY = m.touchesCurrent.y), S.prevTime || (S.prevTime = Date.now()), S.x = (m.touchesCurrent.x - S.prevPositionX) / (Date.now() - S.prevTime) / 2, S.y = (m.touchesCurrent.y - S.prevPositionY) / (Date.now() - S.prevTime) / 2, Math.abs(m.touchesCurrent.x - S.prevPositionX) < 2 && (S.x = 0), Math.abs(m.touchesCurrent.y - S.prevPositionY) < 2 && (S.y = 0), S.prevPositionX = m.touchesCurrent.x, S.prevPositionY = m.touchesCurrent.y, S.prevTime = Date.now(), p.imageWrapEl.style.transform = `translate3d(${m.currentX}px, ${m.currentY}px,0)`; 17002 } 17003 function K() { 17004 let se = i.zoom; 17005 if (g.length = 0, !p.imageEl) return; 17006 if (!m.isTouched || !m.isMoved) { 17007 m.isTouched = !1, m.isMoved = !1; 17008 return; 17009 } 17010 m.isTouched = !1, m.isMoved = !1; 17011 let Y = 300, re = 300, Me = S.x * Y, Lt = m.currentX + Me, Pi = S.y * re, Zt = m.currentY + Pi; 17012 S.x !== 0 && (Y = Math.abs((Lt - m.currentX) / S.x)), S.y !== 0 && (re = Math.abs((Zt - m.currentY) / S.y)); 17013 let li = Math.max(Y, re); 17014 m.currentX = Lt, m.currentY = Zt; 17015 let hr = m.width * se.scale, Bt = m.height * se.scale; 17016 m.minX = Math.min(p.slideWidth / 2 - hr / 2, 0), m.maxX = -m.minX, m.minY = Math.min(p.slideHeight / 2 - Bt / 2, 0), m.maxY = -m.minY, m.currentX = Math.max(Math.min(m.currentX, m.maxX), m.minX), m.currentY = Math.max(Math.min(m.currentY, m.maxY), m.minY), p.imageWrapEl.style.transitionDuration = `${li}ms`, p.imageWrapEl.style.transform = `translate3d(${m.currentX}px, ${m.currentY}px,0)`; 17017 } 17018 function B() { 17019 let se = i.zoom; 17020 p.slideEl && i.activeIndex !== i.slides.indexOf(p.slideEl) && (p.imageEl && (p.imageEl.style.transform = "translate3d(0,
vendor: 4,377 bytes, lines 17020-17055
170200,0) scale(1)"), p.imageWrapEl && (p.imageWrapEl.style.transform = "translate3d(0,0,0)"), p.slideEl.classList.remove(`${i.params.zoom.zoomedSlideClass}`), se.scale = 1, a = 1, p.slideEl = void 0, p.imageEl = void 0, p.imageWrapEl = void 0, p.originX = 0, p.originY = 0); 17021 } 17022 function L(se) { 17023 if (a <= 1 || !p.imageWrapEl || !O(se) || !_(se)) return; 17024 let Y = n.getComputedStyle(p.imageWrapEl).transform, re = new n.DOMMatrix(Y); 17025 if (!l) { 17026 l = !0, c.x = se.clientX, c.y = se.clientY, m.startX = re.e, m.startY = re.f, m.width = p.imageEl.offsetWidth || p.imageEl.clientWidth, m.height = p.imageEl.offsetHeight || p.imageEl.clientHeight, p.slideWidth = p.slideEl.offsetWidth, p.slideHeight = p.slideEl.offsetHeight; 17027 return; 17028 } 17029 let Me = (se.clientX - c.x) * d, Lt = (se.clientY - c.y) * d, Pi = m.width * a, Zt = m.height * a, li = p.slideWidth, hr = p.slideHeight, Bt = Math.min(li / 2 - Pi / 2, 0), gi = -Bt, Qi = Math.min(hr / 2 - Zt / 2, 0), bs = -Qi, Gr = Math.max(Math.min(m.startX + Me, gi), Bt), M = Math.max(Math.min(m.startY + Lt, bs), Qi); 17030 p.imageWrapEl.style.transitionDuration = "0ms", p.imageWrapEl.style.transform = `translate3d(${Gr}px, ${M}px, 0)`, c.x = se.clientX, c.y = se.clientY, m.startX = Gr, m.startY = M, m.currentX = Gr, m.currentY = M; 17031 } 17032 function X(se) { 17033 let Y = i.zoom, re = i.params.zoom; 17034 if (!p.slideEl) { 17035 se && se.target && (p.slideEl = se.target.closest(`.${i.params.slideClass}, swiper-slide`)), p.slideEl || (i.params.virtual && i.params.virtual.enabled && i.virtual ? p.slideEl = Qt(i.slidesEl, `.${i.params.slideActiveClass}`)[0] : p.slideEl = i.slides[i.activeIndex]); 17036 let _a = p.slideEl.querySelector(`.${re.containerClass}`); 17037 _a && (_a = _a.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), p.imageEl = _a, _a ? p.imageWrapEl = In(p.imageEl, `.${re.containerClass}`)[0] : p.imageWrapEl = void 0; 17038 } 17039 if (!p.imageEl || !p.imageWrapEl) return; 17040 i.params.cssMode && (i.wrapperEl.style.overflow = "hidden", i.wrapperEl.style.touchAction = "none"), p.slideEl.classList.add(`${re.zoomedSlideClass}`); 17041 let Me, Lt, Pi, Zt, li, hr, Bt, gi, Qi, bs, Gr, M, q, Q, oe, Ee, He, De; 17042 typeof m.touchesStart.x > "u" && se ? (Me = se.pageX, Lt = se.pageY) : (Me = m.touchesStart.x, Lt = m.touchesStart.y); 17043 let et = a, mr = typeof se == "number" ? se : null; 17044 a === 1 && mr && (Me = void 0, Lt = void 0, m.touchesStart.x = void 0, m.touchesStart.y = void 0); 17045 let Sl = y(); 17046 Y.scale = mr || Sl, a = mr || Sl, se && !(a === 1 && mr) ? (He = p.slideEl.offsetWidth, De = p.slideEl.offsetHeight, Pi = Zd(p.slideEl).left + n.scrollX, Zt = Zd(p.slideEl).top + n.scrollY, li = Pi + He / 2 - Me, hr = Zt + De / 2 - Lt, Qi = p.imageEl.offsetWidth || p.imageEl.clientWidth, bs = p.imageEl.offsetHeight || p.imageEl.clientHeight, Gr = Qi * Y.scale, M = bs * Y.scale, q = Math.min(He / 2 - Gr / 2, 0), Q = Math.min(De / 2 - M / 2, 0), oe = -q, Ee = -Q, et > 0 && mr && typeof m.currentX == "number" && typeof m.currentY == "number" ? (Bt = m.currentX * Y.scale / et, gi = m.currentY * Y.scale / et) : (Bt = li * Y.scale, gi = hr * Y.scale), Bt < q && (Bt = q), Bt > oe && (Bt = oe), gi < Q && (gi = Q), gi > Ee && (gi = Ee)) : (Bt = 0, gi = 0), mr && Y.scale === 1 && (p.originX = 0, p.originY = 0), m.currentX = Bt, m.currentY = gi, p.imageWrapEl.style.transitionDuration = "300ms", p.imageWrapEl.style.transform = `translate3d(${Bt}px, ${gi}px,0)`, p.imageEl.style.transitionDuration = "300ms", p.imageEl.style.transform = `translate3d(0,0,0) scale(${Y.scale})`; 17047 } 17048 function Ve() { 17049 let se = i.zoom, Y = i.params.zoom; 17050 if (!p.slideEl) { 17051 i.params.virtual && i.params.virtual.enabled && i.virtual ? p.slideEl = Qt(i.slidesEl, `.${i.params.slideActiveClass}`)[0] : p.slideEl = i.slides[i.activeIndex]; 17052 let re = p.slideEl.querySelector(`.${Y.containerClass}`); 17053 re && (re = re.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), p.imageEl = re, re ? p.imageWrapEl = In(p.imageEl, `.${Y.containerClass}`)[0] : p.imageWrapEl = void 0; 17054 } 17055 !p.imageEl || !p.imageWrapEl || (i.params.cssMode && (i.wrapperEl.style.overflow = "", i.wrapperEl.style.touchAction = ""), se.scale = 1, a = 1, m.currentX = void 0, m.currentY = void 0, m.touchesStart.x = void 0, m.touchesStart.y = void 0, p.imageWrapEl.style.transitionDuration = "300ms", p.imageWrapEl.style.transform = "translate3d(0,
170550,0)", p.imageEl.style.transitionDuration = "300ms", p.imageEl.style.transform = "translate3d(0,0,0) scale(1)", p.slideEl.classList.remove(`${Y.zoomedSlideClass}`), p.slideEl = void 0, p.originX = 0, p.originY = 0, i.params.zoom.panOnMouseMove && (c = { 17056 x: 0, 17057 y: 0 17058 }, l && (l = !1, m.startX = 0, m.startY = 0))); 17059 } 17060 function at(se) { 17061 let Y = i.zoom; 17062 Y.scale && Y.scale !== 1 ? Ve() : X(se); 17063 } 17064 function Ct() { 17065 return { 17066 passiveListener: i.params.passiveListeners ? { 17067 passive: !0, 17068 capture: !1 17069 } : !1, 17070 activeListenerWithCapture: i.params.passiveListeners ? { 17071 passive: !1, 17072 capture: !0 17073 } : !0 17074 }; 17075 } 17076 function oi() { 17077 let se = i.zoom; 17078 if (se.enabled) return; 17079 se.enabled = !0; 17080 let { passiveListener: Y, activeListenerWithCapture: re } = Ct(); 17081 i.wrapperEl.addEventListener("pointerdown", z, Y), i.wrapperEl.addEventListener("pointermove", G, re), [ 17082 "pointerup", 17083 "pointercancel", 17084 "pointerout" 17085 ].forEach((Me) => { 17086 i.wrapperEl.addEventListener(Me, x, Y); 17087 }), i.wrapperEl.addEventListener("pointermove", F, re); 17088 } 17089 function Oi() { 17090 let se = i.zoom; 17091 if (!se.enabled) return; 17092 se.enabled = !1; 17093 let { passiveListener: Y, activeListenerWithCapture: re } = Ct(); 17094 i.wrapperEl.removeEventListener("pointerdown", z, Y), i.wrapperEl.removeEventListener("pointermove", G, re), [ 17095 "pointerup", 17096 "pointercancel", 17097 "pointerout" 17098 ].forEach((Me) => { 17099 i.wrapperEl.removeEventListener(Me, x, Y); 17100 }), i.wrapperEl.removeEventListener("pointermove", F, re); 17101 } 17102 r("init", () => { 17103 i.params.zoom.enabled && oi(); 17104 }), r("destroy", () => { 17105 Oi(); 17106 }), r("touchStart", (se, Y) => { 17107 i.zoom.enabled && H(Y); 17108 }), r("touchEnd", (se, Y) => { 17109 i.zoom.enabled && K(); 17110 }), r("doubleTap", (se, Y) => { 17111 !i.animating && i.params.zoom.enabled && i.zoom.enabled && i.params.zoom.toggle && at(Y); 17112 }), r("transitionEnd", () => { 17113 i.zoom.enabled && i.params.zoom.enabled && B(); 17114 }), r("slideChange", () => { 17115 i.zoom.enabled && i.params.zoom.enabled && i.params.cssMode && B(); 17116 }), Object.assign(i.zoom, { 17117 enable: oi, 17118 disable: Oi, 17119 in: X, 17120 out: Ve, 17121 toggle: at 17122 }); 17123} 17124function q2(e) { 17125 let { swiper: i, extendParams: t, on: r } = e; 17126 t({ controller: { 17127 control: void 0, 17128 inverse: !1, 17129 by: "slide" 17130 } }), i.controller = { control: void 0 }; 17131 function s(c, d) { 17132 let u = (function() { 17133 let p, m, S; 17134 return (b, v) => { 17135 for (m = -1, p = b.length; p - m > 1;) S = p + m >> 1, b[S] <= v ? m = S : p = S; 17136 return p; 17137 }; 17138 })(); 17139 this.x = c, this.y = d, this.lastIndex = c.length - 1; 17140 let h, g; 17141 return this.interpolate = function(p) { 17142 return p ? (g = u(this.x, p), h = g - 1, (p - this.x[h]) * (this.y[g] - this.y[h]) / (this.x[g] - this.x[h]) + this.y[h]) : 0; 17143 }, this; 17144 } 17145 function n(c) { 17146 i.controller.spline = i.params.loop ? new s(i.slidesGrid, c.slidesGrid) : new s(i.snapGrid, c.snapGrid); 17147 } 17148 function a(c, d) { 17149 let u = i.controller.control, h, g, p = i.constructor; 17150 function m(S) { 17151 if (S.destroyed) return; 17152 let b = i.rtlTranslate ? -i.translate : i.translate; 17153 i.params.controller.by === "slide" && (n(S), g = -i.controller.spline.interpolate(-b)), (!g || i.params.controller.by === "container") && (h = (S.maxTranslate() - S.minTranslate()) / (i.maxTranslate() - i.minTranslate()), (Number.isNaN(h) || !Number.isFinite(h)) && (h = 1), g = (b - i.minTranslate()) * h + S.minTranslate()), i.params.controller.inverse && (g = S.maxTranslate() - g), S.updateProgress(g), S.setTranslate(g, i), S.updateActiveIndex(), S.updateSlidesClasses(); 17154 } 17155 if (Array.isArray(u)) for (let S = 0; S < u.length; S += 1) u[S] !== d && u[S] instanceof p && m(u[S]); 17156 else u instanceof p && d !== u && m(u); 17157 } 17158 function o(c, d) { 17159 let u = i.constructor, h = i.controller.control, g; 17160 function p(m) { 17161 m.destroyed || (m.setTransition(c, i), c !== 0 && (m.transitionStart(), m.params.autoHeight && Na(() => { 17162 m.updateAutoHeight(); 17163 }), tl(m.wrapperEl, () => { 17164 h && m.transitionEnd(); 17165 }))); 17166 } 17167 if (Array.isArray(h)) for (g = 0; g < h.length; g += 1) h[g] !== d && h[g] instanceof u && p(h[g]); 17168 else h instanceof u && d !== h && p(h); 17169 } 17170 function l() { 17171 i.controller.control && i.controller.spline && (i.controller.spline = void 0, delete i.controller.spline); 17172 } 17173 r("beforeInit", () => { 17174 if (typeof window < "u" && (typeof i.params.controller.control == "string" || i.params.controller.control instanceof HTMLElement)) { 17175 (typeof i.params.controller.control == "string" ? [...document.querySelectorAll(i.params.controller.control)] : [i.params.controller.control]).forEac
17175h((c) => { 17176 if (i.controller.control || (i.controller.control = []), c && c.swiper) i.controller.control.push(c.swiper); 17177 else if (c) { 17178 let d = `${i.params.eventsPrefix}init`, u = (h) => { 17179 i.controller.control.push(h.detail[0]), i.update(), c.removeEventListener(d, u); 17180 }; 17181 c.addEventListener(d, u); 17182 } 17183 }); 17184 return; 17185 } 17186 i.controller.control = i.params.controller.control; 17187 }), r("update", () => { 17188 l(); 17189 }), r("resize", () => { 17190 l(); 17191 }), r("observerUpdate", () => { 17192 l(); 17193 }), r("setTranslate", (c, d, u) => { 17194 !i.controller.control || i.controller.control.destroyed || i.controller.setTranslate(d, u); 17195 }), r("setTransition", (c, d, u) => { 17196 !i.controller.control || i.controller.control.destroyed || i.controller.setTransition(d, u); 17197 }), Object.assign(i.controller, { 17198 setTranslate: a, 17199 setTransition: o 17200 }); 17201} 17202function X2(e) { 17203 let { swiper: i, extendParams: t, on: r } = e; 17204 t({ a11y: { 17205 enabled: !0, 17206 notificationClass: "swiper-notification", 17207 prevSlideMessage: "Previous slide", 17208 nextSlideMessage: "Next slide", 17209 firstSlideMessage: "This is the first slide", 17210 lastSlideMessage: "This is the last slide", 17211 paginationBulletMessage: "Go to slide {{index}}", 17212 slideLabelMessage: "{{index}} / {{slidesLength}}", 17213 containerMessage: null, 17214 containerRoleDescriptionMessage: null, 17215 containerRole: null, 17216 itemRoleDescriptionMessage: null, 17217 slideRole: "group", 17218 id: null, 17219 scrollOnFocus: !0 17220 } }), i.a11y = { clicked: !1 }; 17221 let s = null, n, a, o = (/* @__PURE__ */ new Date()).getTime(); 17222 function l(B) { 17223 let L = s; 17224 L.length !== 0 && Mr(L, B); 17225 } 17226 function c(B) { 17227 B === void 0 && (B = 16); 17228 let L = () => Math.round(16 * Math.random()).toString(16); 17229 return "x".repeat(B).replace(/x/g, L); 17230 } 17231 function d(B) { 17232 B = Be(B), B.forEach((L) => { 17233 L.setAttribute("tabIndex", "0"); 17234 }); 17235 } 17236 function u(B) { 17237 B = Be(B), B.forEach((L) => { 17238 L.setAttribute("tabIndex", "-1"); 17239 }); 17240 } 17241 function h(B, L) { 17242 B = Be(B), B.forEach((X) => { 17243 X.setAttribute("role", L); 17244 }); 17245 } 17246 function g(B, L) { 17247 B = Be(B), B.forEach((X) => { 17248 X.setAttribute("aria-roledescription", L); 17249 }); 17250 } 17251 function p(B, L) { 17252 B = Be(B), B.forEach((X) => { 17253 X.setAttribute("aria-controls", L); 17254 }); 17255 } 17256 function m(B, L) { 17257 B = Be(B), B.forEach((X) => { 17258 X.setAttribute("aria-label", L); 17259 }); 17260 } 17261 function S(B, L) { 17262 B = Be(B), B.forEach((X) => { 17263 X.setAttribute("id", L); 17264 }); 17265 } 17266 function b(B, L) { 17267 B = Be(B), B.forEach((X) => { 17268 X.setAttribute("aria-live", L); 17269 }); 17270 } 17271 function v(B) { 17272 B = Be(B), B.forEach((L) => { 17273 L.setAttribute("aria-disabled", !0); 17274 }); 17275 } 17276 function y(B) { 17277 B = Be(B), B.forEach((L) => { 17278 L.setAttribute("aria-disabled", !1); 17279 }); 17280 } 17281 function w(B) { 17282 if (B.keyCode !== 13 && B.keyCode !== 32) return; 17283 let L = i.params.a11y, X = B.target; 17284 if (!(i.pagination && i.pagination.el && (X === i.pagination.el || i.pagination.el.contains(B.target)) && !B.target.matches(fs(i.params.pagination.bulletClass)))) { 17285 if (i.navigation && i.navigation.prevEl && i.navigation.nextEl) { 17286 let Ve = Be(i.navigation.prevEl); 17287 Be(i.navigation.nextEl).includes(X) && (i.isEnd && !i.params.loop || i.slideNext(), i.isEnd ? l(L.lastSlideMessage) : l(L.nextSlideMessage)), Ve.includes(X) && (i.isBeginning && !i.params.loop || i.slidePrev(), i.isBeginning ? l(L.firstSlideMessage) : l(L.prevSlideMessage)); 17288 } 17289 i.pagination && X.matches(fs(i.params.pagination.bulletClass)) && X.click(); 17290 } 17291 } 17292 function T() { 17293 if (i.params.loop || i.params.rewind || !i.navigation) return; 17294 let { nextEl: B, prevEl: L } = i.navigation; 17295 L && (i.isBeginning ? (v(L), u(L)) : (y(L), d(L))), B && (i.isEnd ? (v(B), u(B)) : (y(B), d(B))); 17296 } 17297 function O() { 17298 return i.pagination && i.pagination.bullets && i.pagination.bullets.length; 17299 } 17300 function _() { 17301 return O() && i.params.pagination.clickable; 17302 } 17303 function z() { 17304 let B = i.params.a11y; 17305 O() && i.pagination.bullets.forEach((L) => { 17306 i.params.pagination.clickable && (d(L), i.params.pagination.renderBullet || (h(L, "button"), m(L, B.paginationBulletMessage.replace(/\{\{index\}\}/, el(L) + 1)))), L.matches(fs(i.params.pagination.bulletActiveClass)) ? L.setAttribute("aria-current", "true") : L.removeAttribute("aria-current"); 17307 }); 17308 } 17309 let G = (B, L, X) => { 17310 d(B), B.tagName !== "BUTTON" && (h(B, "button"), B.addEventListener("keydown", w)), m(B, X), p(B, L); 17311 }, x = (B) => { 17312 a && a !== B.target && !a.contains(B.target) && (n = !0), i.a11y.clicked = !0; 17313 }, A = () => { 17314 n = !1, requestAnimationFrame(() => { 17315 requestAnimationFrame(() => { 17316 i.destroyed || (i.a11y.clicked = !1); 17317 }); 17318 }); 17319 }, I = (B) => { 17320 o = (/* @__PURE__ */ new Date()).getTime(); 17321 }, D = (B) => { 17322 if (i.a11y.clicked || !i.params.a11y.scrollOnFocus || (/* @__PURE__ */ new Date()).getTime() - o < 100) return; 17323 let L = B.target.closest(`.${i.params.slideClass}, swiper-slide`); 17324 if (!L || !i.slides.includes(L)) return; 17325 a = L; 17326 let X = i.slides.indexOf(L) === i.activeIndex, Ve = i.params.watchSlidesProgress && i.visibleSlides && i.visibleSlides.includes(L); 17327 X || Ve || B.sourceCapabilities && B.sourceCapabilities.firesTouchEvents || (i.isHorizontal() ? i.el.scrollLeft = 0 : i.el.scrollTop = 0, requestAnimationFrame(() => {
17328 n || (i.params.loop ? i.slideToLoop(i.getSlideIndexWhenGrid(parseInt(L.getAttribute("data-swiper-slide-index"))), 0) : i.slideTo(i.getSlideIndexWhenGrid(i.slides.indexOf(L)), 0), n = !1); 17329 })); 17330 }, H = () => { 17331 let B = i.params.a11y; 17332 B.itemRoleDescriptionMessage && g(i.slides, B.itemRoleDescriptionMessage), B.slideRole && h(i.slides, B.slideRole); 17333 let L = i.slides.length; 17334 B.slideLabelMessage && i.slides.forEach((X, Ve) => { 17335 let at = i.params.loop ? parseInt(X.getAttribute("data-swiper-slide-index"), 10) : Ve; 17336 m(X, B.slideLabelMessage.replace(/\{\{index\}\}/, at + 1).replace(/\{\{slidesLength\}\}/, L)); 17337 }); 17338 }, F = () => { 17339 let B = i.params.a11y; 17340 i.el.append(s); 17341 let L = i.el; 17342 B.containerRoleDescriptionMessage && g(L, B.containerRoleDescriptionMessage), B.containerMessage && m(L, B.containerMessage), B.containerRole && h(L, B.containerRole); 17343 let X = i.wrapperEl, Ve = B.id || X.getAttribute("id") || `swiper-wrapper-${c(16)}`, at = i.params.autoplay && i.params.autoplay.enabled ? "off" : "polite"; 17344 S(X, Ve), b(X, at), H(); 17345 let { nextEl: Ct, prevEl: oi } = i.navigation ? i.navigation : {}; 17346 Ct = Be(Ct), oi = Be(oi), Ct && Ct.forEach((Oi) => G(Oi, Ve, B.nextSlideMessage)), oi && oi.forEach((Oi) => G(Oi, Ve, B.prevSlideMessage)), _() && Be(i.pagination.el).forEach((Oi) => { 17347 Oi.addEventListener("keydown", w); 17348 }), Ft().addEventListener("visibilitychange", I), i.el.addEventListener("focus", D, !0), i.el.addEventListener("focus", D, !0), i.el.addEventListener("pointerdown", x, !0), i.el.addEventListener("pointerup", A, !0); 17349 }; 17350 function K() { 17351 s && s.remove(); 17352 let { nextEl: B, prevEl: L } = i.navigation ? i.navigation : {}; 17353 B = Be(B), L = Be(L), B && B.forEach((X) => X.removeEventListener("keydown", w)), L && L.forEach((X) => X.removeEventListener("keydown", w)), _() && Be(i.pagination.el).forEach((X) => { 17354 X.removeEventListener("keydown", w); 17355 }), Ft().removeEventListener("visibilitychange", I), i.el && typeof i.el != "string" && (i.el.removeEventListener("focus", D, !0), i.el.removeEventListener("pointerdown", x, !0), i.el.removeEventListener("pointerup", A, !0)); 17356 } 17357 r("beforeInit", () => { 17358 s = Bi("span", i.params.a11y.notificationClass), s.setAttribute("aria-live", "assertive"), s.setAttribute("aria-atomic", "true"); 17359 }), r("afterInit", () => { 17360 i.params.a11y.enabled && F(); 17361 }), r("slidesLengthChange snapGridLengthChange slidesGridLengthChange", () => { 17362 i.params.a11y.enabled && H(); 17363 }), r("fromEdge toEdge afterInit lock unlock", () => { 17364 i.params.a11y.enabled && T(); 17365 }), r("paginationUpdate", () => { 17366 i.params.a11y.enabled && z(); 17367 }), r("destroy", () => { 17368 i.params.a11y.enabled && K(); 17369 }); 17370} 17371function J2(e) { 17372 let { swiper: i, extendParams: t, on: r } = e; 17373 t({ history: { 17374 enabled: !1, 17375 root: "", 17376 replaceState: !1, 17377 key: "slides", 17378 keepQuery: !1 17379 } }); 17380 let s = !1, n = {}, a = (g) => g.toString().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, ""), o = (g) => { 17381 let p = gt(), m; 17382 g ? m = new URL(g) : m = p.location; 17383 let S = m.pathname.slice(1).split("/").filter((v) => v !== ""), b = S.length; 17384 return { 17385 key: S[b - 2], 17386 value: S[b - 1] 17387 }; 17388 }, l = (g, p) => { 17389 let m = gt(); 17390 if (!s || !i.params.history.enabled) return; 17391 let S; 17392 i.params.url ? S = new URL(i.params.url) : S = m.location; 17393 let b = i.virtual && i.params.virtual.enabled ? i.slidesEl.querySelector(`[data-swiper-slide-index="${p}"]`) : i.slides[p], v = a(b.getAttribute("data-history")); 17394 if (i.params.history.root.length > 0) { 17395 let w = i.params.history.root; 17396 w[w.length - 1] === "/" && (w = w.slice(0, w.length - 1)), v = `${w}/${g ? `${g}/` : ""}${v}`; 17397 } else S.pathname.includes(g) || (v = `${g ? `${g}/` : ""}${v}`); 17398 i.params.history.keepQuery && (v += S.search); 17399 let y = m.history.state; 17400 y && y.value === v || (i.params.history.replaceState ? m.history.replaceState({ value: v }, null, v) : m.history.pushState({ value: v }, null, v)); 17401 }, c = (g, p, m) => { 17402 if (p) for (let S = 0, b = i.slides.length; S < b; S += 1) { 17403 let v = i.slides[S]; 17404 if (a(v.getAttribute("data-history")) === p) { 17405 let y = i.getSlideIndex(v); 17406 i.slideTo(y, g, m); 17407 } 17408 } 17409 else i.slideTo(0, g, m); 17410 }, d = () => { 17411 n = o(i.params.url), c(i.params.speed, n.value, !1); 17412 }, u = () => { 17413 let g = gt(); 17414 if (i.params.history) { 17415 if (!g.history || !g.history.pushState) { 17416 i.params.history.enabled = !1, i.params.hashNavigation.enabled = !0; 17417 return; 17418 } 17419 if (s = !0, n = o(i.params.url), !n.key && !n.value) { 17420 i.params.history.replaceState || g.addEventListener("popstate", d); 17421 return; 17422 } 17423 c(0, n.value, i.params.runCallbacksOnInit), i.params.history.replaceState || g.addEventListener("popstate", d); 17424 } 17425 }, h = () => { 17426 let g = gt(); 17427 i.params.history.replaceState || g.removeEventListener("popstate", d); 17428 }; 17429 r("init", () => { 17430 i.params.history.enabled && u(); 17431 }), r("destroy", () => { 17432 i.params.history.enabled && h(); 17433 }), r("transitionEnd _freeModeNoMomentumRelease", () => { 17434 s && l(i.params.history.key, i.activeIndex); 17435 }), r("slideChange", () => { 17436 s && i.params.cssMode && l(i.params.history.key, i.activeIndex); 17437 }); 17438} 17439function Q2(e) { 17440 let { swiper: i, extendParams: t, emit: r, on: s } = e, n = !1, a = Ft(), o = gt(); 17441 t({ hashNavigation: { 17442 enabled: !1, 17443 replaceState: !1, 17444 watchState: !1,
17445 getSlideIndex(h, g) { 17446 if (i.virtual && i.params.virtual.enabled) { 17447 let p = i.slides.find((m) => m.getAttribute("data-hash") === g); 17448 return p ? parseInt(p.getAttribute("data-swiper-slide-index"), 10) : 0; 17449 } 17450 return i.getSlideIndex(Qt(i.slidesEl, `.${i.params.slideClass}[data-hash="${g}"], swiper-slide[data-hash="${g}"]`)[0]); 17451 } 17452 } }); 17453 let l = () => { 17454 r("hashChange"); 17455 let h = a.location.hash.replace("#", ""), g = i.virtual && i.params.virtual.enabled ? i.slidesEl.querySelector(`[data-swiper-slide-index="${i.activeIndex}"]`) : i.slides[i.activeIndex]; 17456 if (h !== (g ? g.getAttribute("data-hash") : "")) { 17457 let p = i.params.hashNavigation.getSlideIndex(i, h); 17458 if (typeof p > "u" || Number.isNaN(p)) return; 17459 i.slideTo(p); 17460 } 17461 }, c = () => { 17462 if (!n || !i.params.hashNavigation.enabled) return; 17463 let h = i.virtual && i.params.virtual.enabled ? i.slidesEl.querySelector(`[data-swiper-slide-index="${i.activeIndex}"]`) : i.slides[i.activeIndex], g = h ? h.getAttribute("data-hash") || h.getAttribute("data-history") : ""; 17464 i.params.hashNavigation.replaceState && o.history && o.history.replaceState ? (o.history.replaceState(null, null, `#${g}` || ""), r("hashSet")) : (a.location.hash = g || "", r("hashSet")); 17465 }, d = () => { 17466 if (!i.params.hashNavigation.enabled || i.params.history && i.params.history.enabled) return; 17467 n = !0; 17468 let h = a.location.hash.replace("#", ""); 17469 if (h) { 17470 let g = i.params.hashNavigation.getSlideIndex(i, h); 17471 i.slideTo(g || 0, 0, i.params.runCallbacksOnInit, !0); 17472 } 17473 i.params.hashNavigation.watchState && o.addEventListener("hashchange", l); 17474 }, u = () => { 17475 i.params.hashNavigation.watchState && o.removeEventListener("hashchange", l); 17476 }; 17477 s("init", () => { 17478 i.params.hashNavigation.enabled && d(); 17479 }), s("destroy", () => { 17480 i.params.hashNavigation.enabled && u(); 17481 }), s("transitionEnd _freeModeNoMomentumRelease", () => { 17482 n && c(); 17483 }), s("slideChange", () => { 17484 n && i.params.cssMode && c(); 17485 }); 17486} 17487function Z2(e) { 17488 let { swiper: i, extendParams: t, on: r } = e; 17489 t({ thumbs: { 17490 swiper: null, 17491 multipleActiveThumbs: !0, 17492 autoScrollOffset: 0, 17493 slideThumbActiveClass: "swiper-slide-thumb-active", 17494 thumbsContainerClass: "swiper-thumbs" 17495 } }); 17496 let s = !1, n = !1; 17497 i.thumbs = { swiper: null }; 17498 function a() { 17499 let c = i.thumbs.swiper; 17500 if (!c || c.destroyed) return; 17501 let d = c.clickedIndex, u = c.clickedSlide; 17502 if (u && u.classList.contains(i.params.thumbs.slideThumbActiveClass) || typeof d > "u" || d === null) return; 17503 let h; 17504 c.params.loop ? h = parseInt(c.clickedSlide.getAttribute("data-swiper-slide-index"), 10) : h = d, i.params.loop ? i.slideToLoop(h) : i.slideTo(h); 17505 } 17506 function o() { 17507 let { thumbs: c } = i.params; 17508 if (s) return !1; 17509 s = !0; 17510 let d = i.constructor; 17511 if (c.swiper instanceof d) { 17512 if (c.swiper.destroyed) return s = !1, !1; 17513 i.thumbs.swiper = c.swiper, Object.assign(i.thumbs.swiper.originalParams, { 17514 watchSlidesProgress: !0, 17515 slideToClickedSlide: !1 17516 }), Object.assign(i.thumbs.swiper.params, { 17517 watchSlidesProgress: !0, 17518 slideToClickedSlide: !1 17519 }), i.thumbs.swiper.update(); 17520 } else if (Qo(c.swiper)) { 17521 let u = Object.assign({}, c.swiper); 17522 Object.assign(u, { 17523 watchSlidesProgress: !0, 17524 slideToClickedSlide: !1 17525 }), i.thumbs.swiper = new d(u), n = !0; 17526 } 17527 return i.thumbs.swiper.el.classList.add(i.params.thumbs.thumbsContainerClass), i.thumbs.swiper.on("tap", a), !0; 17528 } 17529 function l(c) { 17530 let d = i.thumbs.swiper; 17531 if (!d || d.destroyed) return; 17532 let u = d.params.slidesPerView === "auto" ? d.slidesPerViewDynamic() : d.params.slidesPerView, h = 1, g = i.params.thumbs.slideThumbActiveClass; 17533 if (i.params.slidesPerView > 1 && !i.params.centeredSlides && (h = i.params.slidesPerView), i.params.thumbs.multipleActiveThumbs || (h = 1), h = Math.floor(h), d.slides.forEach((S) => S.classList.remove(g)), d.params.loop || d.params.virtual && d.params.virtual.enabled) for (let S = 0; S < h; S += 1) Qt(d.slidesEl, `[data-swiper-slide-index="${i.realIndex + S}"]`).forEach((b) => { 17534 b.classList.add(g); 17535 }); 17536 else for (let S = 0; S < h; S += 1) d.slides[i.realIndex + S] && d.slides[i.realIndex + S].classList.add(g); 17537 let p = i.params.thumbs.autoScrollOffset, m = p && !d.params.loop; 17538 if (i.realIndex !== d.realIndex || m) { 17539 let S = d.activeIndex, b, v; 17540 if (d.params.loop) { 17541 let y = d.slides.find((w) => w.getAttribute("data-swiper-slide-index") === `${i.realIndex}`); 17542 b = d.slides.indexOf(y), v = i.activeIndex > i.previousIndex ? "next" : "prev"; 17543 } else b = i.realIndex, v = b > i.previousIndex ? "next" : "prev"; 17544 m && (b += v === "next" ? p : -1 * p), d.visibleSlidesIndexes && d.visibleSlidesIndexes.indexOf(b) < 0 && (d.params.centeredSlides ? b > S ? b = b - Math.floor(u / 2) + 1 : b = b + Math.floor(u / 2) - 1 : b > S && d.params.slidesPerGroup, d.slideTo(b, c ? 0 : void 0)); 17545 } 17546 } 17547 r("beforeInit", () => { 17548 let { thumbs: c } = i.params; 17549 if (!(!c || !c.swiper)) if (typeof c.swiper == "string" || c.swiper instanceof HTMLElement) { 17550 let d = Ft(), u = () => { 17551 let g = typeof c.swiper == "string" ? d.querySelector(c.swiper) : c.swiper; 17552 if (g && g.swiper) c.swiper = g.swiper, o(), l(!0); 17553 else if (g) { 17554 let p = `${i.params.eventsPrefix}init`, m = (S) => { 17555 c.swiper = S.detail[0], g.removeEventListener(p, m), o(), l(!0), c.swiper.update(
vendor: 5,358 bytes, lines 17555-17681
17555), i.update(); 17556 }; 17557 g.addEventListener(p, m); 17558 } 17559 return g; 17560 }, h = () => { 17561 i.destroyed || u() || requestAnimationFrame(h); 17562 }; 17563 requestAnimationFrame(h); 17564 } else o(), l(!0); 17565 }), r("slideChange update resize observerUpdate", () => { 17566 l(); 17567 }), r("setTransition", (c, d) => { 17568 let u = i.thumbs.swiper; 17569 !u || u.destroyed || u.setTransition(d); 17570 }), r("beforeDestroy", () => { 17571 let c = i.thumbs.swiper; 17572 !c || c.destroyed || n && c.destroy(); 17573 }), Object.assign(i.thumbs, { 17574 init: o, 17575 update: l 17576 }); 17577} 17578function eF(e) { 17579 let { swiper: i, extendParams: t, emit: r, once: s } = e; 17580 t({ freeMode: { 17581 enabled: !1, 17582 momentum: !0, 17583 momentumRatio: 1, 17584 momentumBounce: !0, 17585 momentumBounceRatio: 1, 17586 momentumVelocityRatio: 1, 17587 sticky: !1, 17588 minimumVelocity: .02 17589 } }); 17590 function n() { 17591 if (i.params.cssMode) return; 17592 let l = i.getTranslate(); 17593 i.setTranslate(l), i.setTransition(0), i.touchEventsData.velocities.length = 0, i.freeMode.onTouchEnd({ currentPos: i.rtl ? i.translate : -i.translate }); 17594 } 17595 function a() { 17596 if (i.params.cssMode) return; 17597 let { touchEventsData: l, touches: c } = i; 17598 l.velocities.length === 0 && l.velocities.push({ 17599 position: c[i.isHorizontal() ? "startX" : "startY"], 17600 time: l.touchStartTime 17601 }), l.velocities.push({ 17602 position: c[i.isHorizontal() ? "currentX" : "currentY"], 17603 time: Xi() 17604 }); 17605 } 17606 function o(l) { 17607 let { currentPos: c } = l; 17608 if (i.params.cssMode) return; 17609 let { params: d, wrapperEl: u, rtlTranslate: h, snapGrid: g, touchEventsData: p } = i, m = Xi() - p.touchStartTime; 17610 if (c < -i.minTranslate()) { 17611 i.slideTo(i.activeIndex); 17612 return; 17613 } 17614 if (c > -i.maxTranslate()) { 17615 i.slides.length < g.length ? i.slideTo(g.length - 1) : i.slideTo(i.slides.length - 1); 17616 return; 17617 } 17618 if (d.freeMode.momentum) { 17619 if (p.velocities.length > 1) { 17620 let _ = p.velocities.pop(), z = p.velocities.pop(), G = _.position - z.position, x = _.time - z.time; 17621 i.velocity = G / x, i.velocity /= 2, Math.abs(i.velocity) < d.freeMode.minimumVelocity && (i.velocity = 0), (x > 150 || Xi() - _.time > 300) && (i.velocity = 0); 17622 } else i.velocity = 0; 17623 i.velocity *= d.freeMode.momentumVelocityRatio, p.velocities.length = 0; 17624 let S = 1e3 * d.freeMode.momentumRatio, b = i.velocity * S, v = i.translate + b; 17625 h && (v = -v); 17626 let y = !1, w, T = Math.abs(i.velocity) * 20 * d.freeMode.momentumBounceRatio, O; 17627 if (v < i.maxTranslate()) d.freeMode.momentumBounce ? (v + i.maxTranslate() < -T && (v = i.maxTranslate() - T), w = i.maxTranslate(), y = !0, p.allowMomentumBounce = !0) : v = i.maxTranslate(), d.loop && d.centeredSlides && (O = !0); 17628 else if (v > i.minTranslate()) d.freeMode.momentumBounce ? (v - i.minTranslate() > T && (v = i.minTranslate() + T), w = i.minTranslate(), y = !0, p.allowMomentumBounce = !0) : v = i.minTranslate(), d.loop && d.centeredSlides && (O = !0); 17629 else if (d.freeMode.sticky) { 17630 let _; 17631 for (let z = 0; z < g.length; z += 1) if (g[z] > -v) { 17632 _ = z; 17633 break; 17634 } 17635 Math.abs(g[_] - v) < Math.abs(g[_ - 1] - v) || i.swipeDirection === "next" ? v = g[_] : v = g[_ - 1], v = -v; 17636 } 17637 if (O && s("transitionEnd", () => { 17638 i.loopFix(); 17639 }), i.velocity !== 0) { 17640 if (h ? S = Math.abs((-v - i.translate) / i.velocity) : S = Math.abs((v - i.translate) / i.velocity), d.freeMode.sticky) { 17641 let _ = Math.abs((h ? -v : v) - i.translate), z = i.slidesSizesGrid[i.activeIndex]; 17642 _ < z ? S = d.speed : _ < 2 * z ? S = d.speed * 1.5 : S = d.speed * 2.5; 17643 } 17644 } else if (d.freeMode.sticky) { 17645 i.slideToClosest(); 17646 return; 17647 } 17648 d.freeMode.momentumBounce && y ? (i.updateProgress(w), i.setTransition(S), i.setTranslate(v), i.transitionStart(!0, i.swipeDirection), i.animating = !0, tl(u, () => { 17649 !i || i.destroyed || !p.allowMomentumBounce || (r("momentumBounce"), i.setTransition(d.speed), setTimeout(() => { 17650 i.setTranslate(w), tl(u, () => { 17651 !i || i.destroyed || i.transitionEnd(); 17652 }); 17653 }, 0)); 17654 })) : i.velocity ? (r("_freeModeNoMomentumRelease"), i.updateProgress(v), i.setTransition(S), i.setTranslate(v), i.transitionStart(!0, i.swipeDirection), i.animating || (i.animating = !0, tl(u, () => { 17655 !i || i.destroyed || i.transitionEnd(); 17656 }))) : i.updateProgress(v), i.updateActiveIndex(), i.updateSlidesClasses(); 17657 } else if (d.freeMode.sticky) { 17658 i.slideToClosest(); 17659 return; 17660 } else d.freeMode && r("_freeModeNoMomentumRelease"); 17661 (!d.freeMode.momentum || m >= d.longSwipesMs) && (r("_freeModeStaticRelease"), i.updateProgress(), i.updateActiveIndex(), i.updateSlidesClasses()); 17662 } 17663 Object.assign(i, { freeMode: { 17664 onTouchStart: n, 17665 onTouchMove: a, 17666 onTouchEnd: o 17667 } }); 17668} 17669function tF(e) { 17670 let { swiper: i, extendParams: t, on: r } = e; 17671 t({ grid: { 17672 rows: 1, 17673 fill: "column" 17674 } }); 17675 let s, n, a, o, l = () => { 17676 let m = i.params.spaceBetween; 17677 return typeof m == "string" && m.indexOf("%") >= 0 ? m = parseFloat(m.replace("%", "")) / 100 * i.size : typeof m == "string" && (m = parseFloat(m)), m; 17678 }, c = (m) => { 17679 let { slidesPerView: S } = i.params, { rows: b, fill: v } = i.params.grid, y = i.virtual && i.params.virtual.enabled ? i.virtual.slides.length : m.length; 17680 a = Math.floor(y / b), Math.floor(y / b) === y / b ? s = y : s = Math.ceil(y / b) * b, S !== "auto" && v === "row" && (s = Math.max(s, S * b)), n = s / b; 17681 }, d = () => {
17682 i.slides && i.slides.forEach((m) => { 17683 m.swiperSlideGridSet && (m.style.height = "", m.style[i.getDirectionLabel("margin-top")] = ""); 17684 }); 17685 }, u = (m, S, b) => { 17686 let { slidesPerGroup: v } = i.params, y = l(), { rows: w, fill: T } = i.params.grid, O = i.virtual && i.params.virtual.enabled ? i.virtual.slides.length : b.length, _, z, G; 17687 if (T === "row" && v > 1) { 17688 let x = Math.floor(m / (v * w)), A = m - w * v * x, I = x === 0 ? v : Math.min(Math.ceil((O - x * w * v) / w), v); 17689 G = Math.floor(A / I), z = A - G * I + x * v, _ = z + G * s / w, S.style.order = _; 17690 } else T === "column" ? (z = Math.floor(m / w), G = m - z * w, (z > a || z === a && G === w - 1) && (G += 1, G >= w && (G = 0, z += 1))) : (G = Math.floor(m / n), z = m - G * n); 17691 S.row = G, S.column = z, S.style.height = `calc((100% - ${(w - 1) * y}px) / ${w})`, S.style[i.getDirectionLabel("margin-top")] = G !== 0 ? y && `${y}px` : "", S.swiperSlideGridSet = !0; 17692 }, h = (m, S) => { 17693 let { centeredSlides: b, roundLengths: v } = i.params, y = l(), { rows: w } = i.params.grid; 17694 if (i.virtualSize = (m + y) * s, i.virtualSize = Math.ceil(i.virtualSize / w) - y, i.params.cssMode || (i.wrapperEl.style[i.getDirectionLabel("width")] = `${i.virtualSize + y}px`), b) { 17695 let T = []; 17696 for (let O = 0; O < S.length; O += 1) { 17697 let _ = S[O]; 17698 v && (_ = Math.floor(_)), S[O] < i.virtualSize + S[0] && T.push(_); 17699 } 17700 S.splice(0, S.length), S.push(...T); 17701 } 17702 }, g = () => { 17703 o = i.params.grid && i.params.grid.rows > 1; 17704 }
17704, p = () => { 17705 let { params: m, el: S } = i, b = m.grid && m.grid.rows > 1; 17706 o && !b ? (S.classList.remove(`${m.containerModifierClass}grid`, `${m.containerModifierClass}grid-column`), a = 1, i.emitContainerClasses()) : !o && b && (S.classList.add(`${m.containerModifierClass}grid`), m.grid.fill === "column" && S.classList.add(`${m.containerModifierClass}grid-column`), i.emitContainerClasses()), o = b; 17707 }; 17708 r("init", g), r("update", p), i.grid = { 17709 initSlides: c, 17710 unsetSlides: d, 17711 updateSlide: u, 17712 updateWrapperSize: h 17713 }; 17714} 17715function iF(e) { 17716 let i = this, { params: t, slidesEl: r } = i; 17717 t.loop && i.loopDestroy(); 17718 let s = (n) => { 17719 if (typeof n == "string") { 17720 let a = document.createElement("div"); 17721 Mr(a, n), r.append(a.children[0]), Mr(a, ""); 17722 } else r.append(n); 17723 }; 17724 if (typeof e == "object" && "length" in e) for (let n = 0; n < e.length; n += 1) e[n] && s(e[n]); 17725 else s(e); 17726 i.recalcSlides(), t.loop && i.loopCreate(), (!t.observer || i.isElement) && i.update(); 17727} 17728function rF(e) { 17729 let i = this, { params: t, activeIndex: r, slidesEl: s } = i; 17730 t.loop && i.loopDestroy(); 17731 let n = r + 1, a = (o) => { 17732 if (typeof o == "string") { 17733 let l = document.createElement("div"); 17734 Mr(l, o), s.prepend(l.children[0]), Mr(l, ""); 17735 } else s.prepend(o); 17736 }; 17737 if (typeof e == "object" && "length" in e) { 17738 for (let o = 0; o < e.length; o += 1) e[o] && a(e[o]); 17739 n = r + e.length; 17740 } else a(e); 17741 i.recalcSlides(), t.loop && i.loopCreate(), (!t.observer || i.isElement) && i.update(), i.slideTo(n, 0, !1); 17742} 17743function sF(e, i) { 17744 let t = this, { params: r, activeIndex: s, slidesEl: n } = t, a = s; 17745 r.loop && (a -= t.loopedSlides, t.loopDestroy(), t.recalcSlides()); 17746 let o = t.slides.length; 17747 if (e <= 0) { 17748 t.prependSlide(i); 17749 return; 17750 } 17751 if (e >= o) { 17752 t.appendSlide(i); 17753 return; 17754 } 17755 let l = a > e ? a + 1 : a, c = []; 17756 for (let d = o - 1; d >= e; d -= 1) { 17757 let u = t.slides[d]; 17758 u.remove(), c.unshift(u); 17759 } 17760 if (typeof i == "object" && "length" in i) { 17761 for (let d = 0; d < i.length; d += 1) i[d] && n.append(i[d]); 17762 l = a > e ? a + i.length : a; 17763 } else n.append(i); 17764 for (let d = 0; d < c.length; d += 1) n.append(c[d]); 17765 t.recalcSlides(), r.loop && t.loopCreate(), (!r.observer || t.isElement) && t.update(), r.loop ? t.slideTo(l + t.loopedSlides, 0, !1) : t.slideTo(l, 0, !1); 17766} 17767function nF(e) { 17768 let i = this, { params: t, activeIndex: r } = i, s = r; 17769 t.loop && (s -= i.loopedSlides, i.loopDestroy()); 17770 let n = s, a; 17771 if (typeof e == "object" && "length" in e) { 17772 for (let o = 0; o < e.length; o += 1) a = e[o], i.slides[a] && i.slides[a].remove(), a < n && (n -= 1); 17773 n = Math.max(n, 0); 17774 } else a = e, i.slides[a] && i.slides[a].remove(), a < n && (n -= 1), n = Math.max(n, 0); 17775 i.recalcSlides(), t.loop && i.loopCreate(), (!t.observer || i.isElement) && i.update(), t.loop ? i.slideTo(n + i.loopedSlides, 0, !1) : i.slideTo(n, 0, !1); 17776} 17777function aF() { 17778 let e = this, i = []; 17779 for (let t = 0; t < e.slides.length; t += 1) i.push(t); 17780 e.removeSlide(i); 17781} 17782function oF(e) { 17783 let { swiper: i } = e; 17784 Object.assign(i, { 17785 appendSlide: iF.bind(i), 17786 prependSlide: rF.bind(i), 17787 addSlide: sF.bind(i), 17788 removeSlide: nF.bind(i), 17789 removeAllSlides: aF.bind(i) 17790 }); 17791} 17792function tu(e) { 17793 let { swiper: i, duration: t, transformElements: r, allSlides: s } = e, { activeIndex: n } = i, a = (o) => o.parentElement ? o.parentElement : i.slides.find((l) => l.shadowRoot && l.shadowRoot === o.parentNode); 17794 if (i.params.virtualTranslate && t !== 0) { 17795 let o = !1, l; 17796 s ? l = r : l = r.filter((c) => { 17797 let d = c.classList.contains("swiper-slide-transform") ? a(c) : c; 17798 return i.getSlideIndex(d) === n; 17799 }), l.forEach((c) => { 17800 tl(c, () => { 17801 if (o || !i || i.destroyed) return; 17802 o = !0, i.animating = !1; 17803 let d = new window.CustomEvent("transitionend", { 17804 bubbles: !0, 17805 cancelable: !0 17806 }); 17807 i.wrapperEl.dispatchEvent(d); 17808 }); 17809 }); 17810 } 17811} 17812function lF(e) { 17813 let { swiper: i, extendParams: t, on: r } = e; 17814 t({ fadeEffect: { crossFade: !1 } }), ka({ 17815 effect: "fade", 17816 swiper: i, 17817 on: r, 17818 setTranslate: () => { 17819 let { slides: s } = i, n = i.params.fadeEffect; 17820 for (let a = 0; a < s.length; a += 1) { 17821 let o = i.slides[a], l = -o.swiperSlideOffset; 17822 i.params.virtualTranslate || (l -= i.translate); 17823 let c = 0; 17824 i.isHorizontal() || (c = l, l = 0); 17825 let d = i.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(o.progress), 0) : 1 + Math.min(Math.max(o.progress, -1), 0), u = il(n, o); 17826 u.style.opacity = d, u.style.transform = `translate3d(${l}px, ${c}px, 0px)`; 17827 } 17828 }, 17829 setTransition: (s) => { 17830 let n = i.slides.map((a) => xn(a));
vendor: 2,393 bytes, lines 17831-17877
17831 n.forEach((a) => { 17832 a.style.transitionDuration = `${s}ms`; 17833 }), tu({ 17834 swiper: i, 17835 duration: s, 17836 transformElements: n, 17837 allSlides: !0 17838 }); 17839 }, 17840 overwriteParams: () => ({ 17841 slidesPerView: 1, 17842 slidesPerGroup: 1, 17843 watchSlidesProgress: !0, 17844 spaceBetween: 0, 17845 virtualTranslate: !i.params.cssMode 17846 }) 17847 }); 17848} 17849function cF(e) { 17850 let { swiper: i, extendParams: t, on: r } = e; 17851 t({ cubeEffect: { 17852 slideShadows: !0, 17853 shadow: !0, 17854 shadowOffset: 20, 17855 shadowScale: .94 17856 } }); 17857 let s = (n, a, o) => { 17858 let l = o ? n.querySelector(".swiper-slide-shadow-left") : n.querySelector(".swiper-slide-shadow-top"), c = o ? n.querySelector(".swiper-slide-shadow-right") : n.querySelector(".swiper-slide-shadow-bottom"); 17859 l || (l = Bi("div", `swiper-slide-shadow-cube swiper-slide-shadow-${o ? "left" : "top"}`.split(" ")), n.append(l)), c || (c = Bi("div", `swiper-slide-shadow-cube swiper-slide-shadow-${o ? "right" : "bottom"}`.split(" ")), n.append(c)), l && (l.style.opacity = Math.max(-a, 0)), c && (c.style.opacity = Math.max(a, 0)); 17860 }; 17861 ka({ 17862 effect: "cube", 17863 swiper: i, 17864 on: r, 17865 setTranslate: () => { 17866 let { el: n, wrapperEl: a, slides: o, width: l, height: c, rtlTranslate: d, size: u, browser: h } = i, g = eu(i), p = i.params.cubeEffect, m = i.isHorizontal(), S = i.virtual && i.params.virtual.enabled, b = 0, v; 17867 p.shadow && (m ? (v = i.wrapperEl.querySelector(".swiper-cube-shadow"), v || (v = Bi("div", "swiper-cube-shadow"), i.wrapperEl.append(v)), v.style.height = `${l}px`) : (v = n.querySelector(".swiper-cube-shadow"), v || (v = Bi("div", "swiper-cube-shadow"), n.append(v)))); 17868 for (let w = 0; w < o.length; w += 1) { 17869 let T = o[w], O = w; 17870 S && (O = parseInt(T.getAttribute("data-swiper-slide-index"), 10)); 17871 let _ = O * 90, z = Math.floor(_ / 360); 17872 d && (_ = -_, z = Math.floor(-_ / 360)); 17873 let G = Math.max(Math.min(T.progress, 1), -1), x = 0, A = 0, I = 0; 17874 O % 4 === 0 ? (x = -z * 4 * u, I = 0) : (O - 1) % 4 === 0 ? (x = 0, I = -z * 4 * u) : (O - 2) % 4 === 0 ? (x = u + z * 4 * u, I = u) : (O - 3) % 4 === 0 && (x = -u, I = 3 * u + u * 4 * z), d && (x = -x), m || (A = x, x = 0); 17875 let D = `rotateX(${g(m ? 0 : -_)}deg) rotateY(${g(m ? _ : 0)}deg) translate3d(${x}px, ${A}px, ${I}px)`; 17876 G <= 1 && G > -1 && (b = O * 90 + G * 90, d && (b = -O * 90 - G * 90)), T.style.transform = D, p.slideShadows && s(T, G, m); 17877 }
17878 if (a.style.transformOrigin = `50% 50% -${u / 2}px`, a.style["-webkit-transform-origin"] = `50% 50% -${u / 2}px`, p.shadow) if (m) v.style.transform = `translate3d(0px, ${l / 2 + p.shadowOffset}px, ${-l / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${p.shadowScale})`; 17879 else { 17880 let w = Math.abs(b) - Math.floor(Math.abs(b) / 90) * 90, T = 1.5 - (Math.sin(w * 2 * Math.PI / 360) / 2 + Math.cos(w * 2 * Math.PI / 360) / 2), O = p.shadowScale, _ = p.shadowScale / T, z = p.shadowOffset; 17881 v.style.transform = `scale3d(${O}, 1, ${_}) translate3d(0px, ${c / 2 + z}px, ${-c / 2 / _}px) rotateX(-89.99deg)`; 17882 } 17883 let y = (h.isSafari || h.isWebView) && h.needPerspectiveFix ? -u / 2 : 0; 17884 a.style.transform = `translate3d(0px,0,${y}px) rotateX(${g(i.isHorizontal() ? 0 : b)}deg) rotateY(${g(i.isHorizontal() ? -b : 0)}deg)`, a.style.setProperty("--swiper-cube-translate-z", `${y}px`); 17885 }, 17886 setTransition: (n) => { 17887 let { el: a, slides: o } = i; 17888 if (o.forEach((l) => { 17889 l.style.transitionDuration = `${n}ms`, l.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((c) => { 17890 c.style.transitionDuration = `${n}ms`; 17891 }); 17892 }), i.params.cubeEffect.shadow && !i.isHorizontal()) { 17893 let l = a.querySelector(".swiper-cube-shadow"); 17894 l && (l.style.transitionDuration = `${n}ms`); 17895 } 17896 }, 17897 recreateShadows: () => { 17898 let n = i.isHorizontal(); 17899 i.slides.forEach((a) => { 17900 let o = Math.max(Math.min(a.progress, 1), -1); 17901 s(a, o, n); 17902 }); 17903 }, 17904 getEffectParams: () => i.params.cubeEffect, 17905 perspective: () => !0, 17906 overwriteParams: () => ({ 17907 slidesPerView: 1, 17908 slidesPerGroup: 1, 17909 watchSlidesProgress: !0, 17910 resistanceRatio: 0, 17911 spaceBetween: 0, 17912 centeredSlides: !1, 17913 virtualTranslate: !0 17914 }) 17915 }); 17916} 17917function dF(e) { 17918 let { swiper: i, extendParams: t, on: r } = e; 17919 t({ flipEffect: { 17920 slideShadows: !0, 17921 limitRotation: !0 17922 } }); 17923 let s = (n, a) => { 17924 let o = i.isHorizontal() ? n.querySelector(".swiper-slide-shadow-left") : n.querySelector(".swiper-slide-shadow-top"), l = i.isHorizontal() ? n.querySelector(".swiper-slide-shadow-right") : n.querySelector(".swiper-slide-shadow-bottom"); 17925 o || (o = Ta("flip", n, i.isHorizontal() ? "left" : "top")), l || (l = Ta("flip", n, i.isHorizontal() ? "right" : "bottom")), o && (o.style.opacity = Math.max(-a, 0)), l && (l.style.opacity = Math.max(a, 0)); 17926 }; 17927 ka({ 17928 effect: "flip", 17929 swiper: i, 17930 on: r, 17931 setTranslate: () => { 17932 let { slides: n, rtlTranslate: a } = i, o = i.params.flipEffect, l = eu(i); 17933 for (let c = 0; c < n.length; c += 1) { 17934 let d = n[c], u = d.progress; 17935 i.params.flipEffect.limitRotation && (u = Math.max(Math.min(d.progress, 1), -1)); 17936 let h = d.swiperSlideOffset, g = -180 * u, p = 0, m = i.params.cssMode ? -h - i.translate : -h, S = 0; 17937 i.isHorizontal() ? a && (g = -g) : (S = m, m = 0, p = -g, g = 0), d.style.zIndex = -Math.abs(Math.round(u)) + n.length, o.slideShadows && s(d, u); 17938 let b = `translate3d(${m}px, ${S}px, 0px) rotateX(${l(p)}deg) rotateY(${l(g)}deg)`, v = il(o, d); 17939 v.style.transform = b; 17940 } 17941 }, 17942 setTransition: (n) => { 17943 let a = i.slides.map((o) => xn(o)); 17944 a.forEach((o) => { 17945 o.style.transitionDuration = `${n}ms`, o.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((l) => { 17946 l.style.transitionDuration = `${n}ms`; 17947 }); 17948 }), tu({ 17949 swiper: i, 17950 duration: n, 17951 transformElements: a 17952 }); 17953 }, 17954 recreateShadows: () => { 17955 i.params.flipEffect, i.slides.forEach((n) => { 17956 let a = n.progress; 17957 i.params.flipEffect.limitRotation && (a = Math.max(Math.min(n.progress, 1), -1)), s(n, a); 17958 }); 17959 }, 17960 getEffectParams: () => i.params.flipEffect, 17961 perspective: () => !0, 17962 overwriteParams: () => ({ 17963 slidesPerView: 1, 17964 slidesPerGroup: 1, 17965 watchSlidesProgress: !0, 17966 spaceBetween: 0, 17967 virtualTranslate: !i.params.cssMode 17968 }) 17969 }); 17970} 17971function uF(e) { 17972 let { swiper: i, extendParams: t, on: r } = e; 17973 t({ creativeEffect: { 17974 limitProgress: 1, 17975 shadowPerProgress: !1, 17976 progressMultiplier: 1, 17977 perspective: !0, 17978 prev: { 17979 translate: [ 17980 0, 17981 0, 17982 0 17983 ], 17984 rotate: [ 17985 0, 17986 0, 17987 0 17988 ], 17989 opacity: 1, 17990 scale: 1 17991 }, 17992 next: { 17993 translate: [ 17994 0, 17995 0, 17996 0 17997 ], 17998 rotate: [ 17999 0, 18000 0, 18001 0 18002 ], 18003 opacity: 1, 18004 scale: 1 18005 } 18006 } }); 18007 let s = (n) => typeof n == "string" ? n : `${n}px`; 18008 ka({ 18009 effect: "creative", 18010 swiper: i, 18011 on: r, 18012 setTranslate: () => { 18013 let { slides: n, wrapperEl: a, slidesSizesGrid: o } = i, l = i.params.creativeEffect, { progressMultiplier: c } = l, d = i.params.centeredSlides, u = eu(i); 18014 if (d) { 18015 let h = o[0] / 2 - i.params.slidesOffsetBefore || 0; 18016 a.style.transform = `translateX(calc(50% - ${h}px))`; 18017 } 18018 for (let h = 0; h < n.length; h += 1) { 18019 let g = n[h], p = g.progress, m = Math.min(Math.max(g.progress, -l.limitProgress), l.limitProgress), S = m; 18020 d || (S = Math.min(Math.max(g.originalProgress, -l.limitProgress), l.limitProgress)); 18021 let b = g.swiperSlideOffset, v = [ 18022 i.params.cssMode ? -b - i.translate : -b, 18023 0, 18024 0 18025 ], y = [ 18026 0, 18027 0, 18028 0 18029 ], w = !1; 18030 i.isHorizontal() || (v[1] = v[0], v[0] = 0); 18031 let T = { 18032 translate: [ 18033 0, 18034 0, 18035 0 18036 ], 18037 rotate: [ 18038 0, 18039 0, 18040 0 18041 ], 18042 scale: 1, 18043 opacity: 1 18044 }; 18045 m < 0 ? (T = l.next, w = !0) : m > 0 && (T = l.prev, w = !0), v.forEach((I, D) => { 18046 v[D] = `calc(${I}px + (${s(T.translate[D])} * ${Math.abs(m * c)}))`; 18047 }
18047), y.forEach((I, D) => { 18048 let H = T.rotate[D] * Math.abs(m * c); 18049 y[D] = H; 18050 }), g.style.zIndex = -Math.abs(Math.round(p)) + n.length; 18051 let O = v.join(", "), _ = `rotateX(${u(y[0])}deg) rotateY(${u(y[1])}deg) rotateZ(${u(y[2])}deg)`, z = S < 0 ? `scale(${1 + (1 - T.scale) * S * c})` : `scale(${1 - (1 - T.scale) * S * c})`, G = S < 0 ? 1 + (1 - T.opacity) * S * c : 1 - (1 - T.opacity) * S * c, x = `translate3d(${O}) ${_} ${z}`; 18052 if (w && T.shadow || !w) { 18053 let I = g.querySelector(".swiper-slide-shadow"); 18054 if (!I && T.shadow && (I = Ta("creative", g)), I) { 18055 let D = l.shadowPerProgress ? m * (1 / l.limitProgress) : m; 18056 I.style.opacity = Math.min(Math.max(Math.abs(D), 0), 1); 18057 } 18058 } 18059 let A = il(l, g); 18060 A.style.transform = x, A.style.opacity = G, T.origin && (A.style.transformOrigin = T.origin); 18061 } 18062 }, 18063 setTransition: (n) => { 18064 let a = i.slides.map((o) => xn(o)); 18065 a.forEach((o) => { 18066 o.style.transitionDuration = `${n}ms`, o.querySelectorAll(".swiper-slide-shadow").forEach((l) => { 18067 l.style.transitionDuration = `${n}ms`; 18068 }); 18069 }), tu({ 18070 swiper: i, 18071 duration: n, 18072 transformElements: a, 18073 allSlides: !0 18074 }); 18075 }, 18076 perspective: () => i.params.creativeEffect.perspective, 18077 overwriteParams: () => ({ 18078 watchSlidesProgress: !0, 18079 virtualTranslate: !i.params.cssMode 18080 }) 18081 }); 18082} 18083function pF(e) { 18084 let { swiper: i, extendParams: t, on: r } = e; 18085 t({ cardsEffect: { 18086 slideShadows: !0, 18087 rotate: !0, 18088 perSlideRotate: 2, 18089 perSlideOffset: 8 18090 } }), ka({ 18091 effect: "cards", 18092 swiper: i, 18093 on: r, 18094 setTranslate: () => { 18095 let { slides: s, activeIndex: n, rtlTranslate: a } = i, o = i.params.cardsEffect, { startTranslate: l, isTouched: c } = i.touchEventsData, d = a ? -i.translate : i.translate; 18096 for (let u = 0; u < s.length; u += 1) { 18097 let h = s[u], g = h.progress, p = Math.min(Math.max(g, -4), 4), m = h.swiperSlideOffset; 18098 i.params.centeredSlides && !i.params.cssMode && (i.wrapperEl.style.transform = `translateX(${i.minTranslate()}px)`), i.params.centeredSlides && i.params.cssMode && (m -= s[0].swiperSlideOffset); 18099 let S = i.params.cssMode ? -m - i.translate : -m, b = 0, v = -100 * Math.abs(p), y = 1, w = -o.perSlideRotate * p, T = o.perSlideOffset - Math.abs(p) * .75, O = i.virtual && i.params.virtual.enabled ? i.virtual.from + u : u, _ = (O === n || O === n - 1) && p > 0 && p < 1 && (c || i.params.cssMode) && d < l, z = (O === n || O === n + 1) && p < 0 && p > -1 && (c || i.params.cssMode) && d > l; 18100 if (_ || z) { 18101 let I = (1 - Math.abs((Math.abs(p) - .5) / .5)) ** .5; 18102 w += -28 * p * I, y += -.5 * I, T += 96 * I, b = `${-25 * I * Math.abs(p)}%`; 18103 } 18104 if (p < 0 ? S = `calc(${S}px ${a ? "-" : "+"} (${T * Math.abs(p)}%))` : p > 0 ? S = `calc(${S}px ${a ? "-" : "+"} (-${T * Math.abs(p)}%))` : S = `${S}px`, !i.isHorizontal()) { 18105 let I = b; 18106 b = S, S = I; 18107 } 18108 let G = p < 0 ? `${1 + (1 - y) * p}` : `${1 - (1 - y) * p}`, x = ` 18109 translate3d(${S}, ${b}, ${v}px) 18110 rotateZ(${o.rotate ? a ? -w : w : 0}deg) 18111 scale(${G}) 18112 `; 18113 if (o.slideShadows) { 18114 let I = h.querySelector(".swiper-slide-shadow"); 18115 I || (I = Ta("cards", h)), I && (I.style.opacity = Math.min(Math.max((Math.abs(p) - .5) / .5, 0), 1)); 18116 } 18117 h.style.zIndex = -Math.abs(Math.round(g)) + s.length; 18118 let A = il(o, h); 18119 A.style.transform = x; 18120 } 18121 }, 18122 setTransition: (s) => { 18123 let n = i.slides.map((a) => xn(a)); 18124 n.forEach((a) => { 18125 a.style.transitionDuration = `${s}ms`, a.querySelectorAll(".swiper-slide-shadow").forEach((o) => { 18126 o.style.transitionDuration = `${s}ms`; 18127 }); 18128 }), tu({ 18129 swiper: i, 18130 duration: s, 18131 transformElements: n 18132 }); 18133 }, 18134 perspective: () => !0, 18135 overwriteParams: () => ({ 18136 _loopSwapReset: !1, 18137 watchSlidesProgress: !0, 18138 loopAdditionalSlides: i.params.cardsEffect.rotate ? 3 : 2, 18139 centeredSlides: !0, 18140 virtualTranslate: !i.params.cssMode 18141 }) 18142 }); 18143} 18144function hF() { 18145 let e = gt(), i = Ft(); 18146 return { 18147 smoothScroll: i.documentElement && i.documentElement.style && "scrollBehavior" in i.documentElement.style, 18148 touch: !!("ontouchstart" in e || e.DocumentTouch && i instanceof e.DocumentTouch) 18149 }; 18150} 18151function lO() {
18152 return oS || (oS = hF()), oS; 18153} 18154function mF(e) { 18155 let { userAgent: i } = e === void 0 ? {} : e, t = lO(), r = gt(), s = r.navigator.platform, n = i || r.navigator.userAgent, a = { 18156 ios: !1, 18157 android: !1 18158 }, o = r.screen.width, l = r.screen.height, c = n.match(/(Android);?[\s\/]+([\d.]+)?/), d = n.match(/(iPad).*OS\s([\d_]+)/), u = n.match(/(iPod)(.*OS\s([\d_]+))?/), h = !d && n.match(/(iPhone\sOS|iOS)\s([\d_]+)/), g = s === "Win32", p = s === "MacIntel"; 18159 return !d && p && t.touch && [ 18160 "1024x1366", 18161 "1366x1024", 18162 "834x1194", 18163 "1194x834", 18164 "834x1112", 18165 "1112x834", 18166 "768x1024", 18167 "1024x768", 18168 "820x1180", 18169 "1180x820", 18170 "810x1080", 18171 "1080x810" 18172 ].indexOf(`${o}x${l}`) >= 0 && (d = n.match(/(Version)\/([\d.]+)/), d || (d = [ 18173 0, 18174 1, 18175 "13_0_0" 18176 ]), p = !1), c && !g && (a.os = "android", a.android = !0), (d || h || u) && (a.os = "ios", a.ios = !0), a; 18177} 18178function cO(e) { 18179 return e === void 0 && (e = {}), lS || (lS = mF(e)), lS; 18180} 18181function fF() { 18182 let e = gt(), i = cO(), t = !1; 18183 function r() { 18184 let o = e.navigator.userAgent.toLowerCase(); 18185 return o.indexOf("safari") >= 0 && o.indexOf("chrome") < 0 && o.indexOf("android") < 0; 18186 } 18187 if (r()) { 18188 let o = String(e.navigator.userAgent); 18189 if (o.includes("Version/")) { 18190 let [l, c] = o.split("Version/")[1].split(" ")[0].split(".").map((d) => Number(d)); 18191 t = l < 16 || l === 16 && c < 2; 18192 } 18193 } 18194 let s = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent), n = r(), a = n || s && i.ios; 18195 return { 18196 isSafari: t || n, 18197 needPerspectiveFix: t, 18198 need3dFix: a, 18199 isWebView: s 18200 }; 18201} 18202function dO() { 18203 return cS || (cS = fF()), cS; 18204} 18205function gF(e) { 18206 let { swiper: i, on: t, emit: r } = e, s = gt(), n = null, a = null, o = () => { 18207 !i || i.destroyed || !i.initialized || (r("beforeResize"), r("resize")); 18208 }, l = () => { 18209 !i || i.destroyed || !i.initialized || (n = new ResizeObserver((u) => { 18210 a = s.requestAnimationFrame(() => { 18211 let { width: h, height: g } = i, p = h, m = g; 18212 u.forEach((S) => { 18213 let { contentBoxSize: b, contentRect: v, target: y } = S; 18214 y && y !== i.el || (p = v ? v.width : (b[0] || b).inlineSize, m = v ? v.height : (b[0] || b).blockSize); 18215 }), (p !== h || m !== g) && o(); 18216 }); 18217 }), n.observe(i.el)); 18218 }, c = () => { 18219 a && s.cancelAnimationFrame(a), n && n.unobserve && i.el && (n.unobserve(i.el), n = null); 18220 }, d = () => { 18221 !i || i.destroyed || !i.initialized || r("orientationchange"); 18222 }; 18223 t("init", () => { 18224 if (i.params.resizeObserver && typeof s.ResizeObserver < "u") { 18225 l(); 18226 return; 18227 } 18228 s.addEventListener("resize", o), s.addEventListener("orientationchange", d); 18229 }), t("destroy", () => { 18230 c(), s.removeEventListener("resize", o), s.removeEventListener("orientationchange", d); 18231 }); 18232} 18233function vF(e) { 18234 let { swiper: i, extendParams: t, on: r, emit: s } = e, n = [], a = gt(), o = function(d, u) { 18235 u === void 0 && (u = {}); 18236 let h = new (a.MutationObserver || a.WebkitMutationObserver)((g) => { 18237 if (i.__preventObserver__) return; 18238 if (g.length === 1) { 18239 s("observerUpdate", g[0]); 18240 return; 18241 } 18242 let p = function() { 18243 s("observerUpdate", g[0]); 18244 }; 18245 a.requestAnimationFrame ? a.requestAnimationFrame(p) : a.setTimeout(p, 0); 18246 }); 18247 h.observe(d, { 18248 attributes: typeof u.attributes > "u" ? !0 : u.attributes, 18249 childList: i.isElement || (typeof u.childList > "u" ? !0 : u).childList, 18250 characterData: typeof u.characterData > "u" ? !0 : u.characterData 18251 }), n.push(h); 18252 }, l = () => { 18253 if (i.params.observer) { 18254 if (i.params.observeParents) { 18255 let d = In(i.hostEl); 18256 for (let u = 0; u < d.length; u += 1) o(d[u]); 18257 } 18258 o(i.hostEl, { childList: i.params.observeSlideChildren }), o(i.wrapperEl, { attributes: !1 }); 18259 } 18260 }, c = () => { 18261 n.forEach((d) => { 18262 d.disconnect(); 18263 }), n.splice(0, n.length); 18264 }; 18265 t({ 18266 observer: !1, 18267 observeParents: !1, 18268 observeSlideChildren: !1 18269 }), r("init", l), r("destroy", c); 18270} 18271function SF() { 18272 let e = this, i, t, r = e.el; 18273 typeof e.params.width < "u" && e.params.width !== null ? i = e.params.width : i = r.clientWidth, typeof e.params.height < "u" && e.params.height !== null ? t = e.params.height : t = r.clientHeight, !(i === 0 && e.isHorizontal() || t === 0 && e.isVertical()) && (i = i - parseInt(Us(r, "padding-left") || 0, 10) - parseInt(Us(r, "padding-right") || 0, 10), t = t - parseInt(Us(r, "padding-top") || 0, 10) - parseInt(Us(r, "padding-bottom") || 0, 10), Number.isNaN(i) && (i = 0), Number.isNaN(t) && (t = 0), Object.assign(e, { 18274 width: i, 18275 height: t, 18276 size: e.isHorizontal() ? i : t 18277 })); 18278} 18279function bF() { 18280 let e = this; 18281 function i(x, A) { 18282 return parseFloat(x.getPropertyValue(e.getDirectionLabel(A)) || 0); 18283 } 18284 let t = e.params, { wrapperEl: r, slidesEl: s, size: n, rtlTranslate: a, wrongRTL: o } = e, l = e.virtual && t.virtual.enabled, c = l ? e.virtual.slides.length : e.slides.length, d = Qt(s, `.${e.params.slideClass}, swiper-slide`), u = l ? e.virtual.slides.length : d.length, h
18284= [], g = [], p = [], m = t.slidesOffsetBefore; 18285 typeof m == "function" && (m = t.slidesOffsetBefore.call(e)); 18286 let S = t.slidesOffsetAfter; 18287 typeof S == "function" && (S = t.slidesOffsetAfter.call(e)); 18288 let b = e.snapGrid.length, v = e.slidesGrid.length, y = t.spaceBetween, w = -m, T = 0, O = 0; 18289 if (typeof n > "u") return; 18290 typeof y == "string" && y.indexOf("%") >= 0 ? y = parseFloat(y.replace("%", "")) / 100 * n : typeof y == "string" && (y = parseFloat(y)), e.virtualSize = -y, d.forEach((x) => { 18291 a ? x.style.marginLeft = "" : x.style.marginRight = "", x.style.marginBottom = "", x.style.marginTop = ""; 18292 }), t.centeredSlides && t.cssMode && (Zo(r, "--swiper-centered-offset-before", ""), Zo(r, "--swiper-centered-offset-after", "")); 18293 let _ = t.grid && t.grid.rows > 1 && e.grid; 18294 _ ? e.grid.initSlides(d) : e.grid && e.grid.unsetSlides(); 18295 let z, G = t.slidesPerView === "auto" && t.breakpoints && Object.keys(t.breakpoints).filter((x) => typeof t.breakpoints[x].slidesPerView < "u").length > 0; 18296 for (let x = 0; x < u; x += 1) { 18297 z = 0; 18298 let A; 18299 if (d[x] && (A = d[x]), _ && e.grid.updateSlide(x, A, d), !(d[x] && Us(A, "display") === "none")) { 18300 if (t.slidesPerView === "auto") { 18301 G && (d[x].style[e.getDirectionLabel("width")] = ""); 18302 let I = getComputedStyle(A), D = A.style.transform, H = A.style.webkitTransform; 18303 if (D && (A.style.transform = "none"), H && (A.style.webkitTransform = "none"), t.roundLengths) z = e.isHorizontal() ? sS(A, "width", !0) : sS(A, "height", !0); 18304 else { 18305 let F = i(I, "width"), K = i(I, "padding-left"), B = i(I, "padding-right"), L = i(I, "margin-left"), X = i(I, "margin-right"), Ve = I.getPropertyValue("box-sizing"); 18306 if (Ve && Ve === "border-box") z = F + L + X; 18307 else { 18308 let { clientWidth: at, offsetWidth: Ct } = A; 18309 z = F + K + B + L + X + (Ct - at); 18310 } 18311 } 18312 D && (A.style.transform = D), H && (A.style.webkitTransform = H), t.roundLengths && (z = Math.floor(z)); 18313 } else z = (n - (t.slidesPerView - 1) * y) / t.slidesPerView, t.roundLengths && (z = Math.floor(z)), d[x] && (d[x].style[e.getDirectionLabel("width")] = `${z}px`); 18314 d[x] && (d[x].swiperSlideSize = z), p.push(z), t.centeredSlides ? (w = w + z / 2 + T / 2 + y, T === 0 && x !== 0 && (w = w - n / 2 - y), x === 0 && (w = w - n / 2 - y), Math.abs(w) < 1 / 1e3 && (w = 0), t.roundLengths && (w = Math.floor(w)), O % t.slidesPerGroup === 0 && h.push(w), g.push(w)) : (t.roundLengths && (w = Math.floor(w)), (O - Math.min(e.params.slidesPerGroupSkip, O)) % e.params.slidesPerGroup === 0 && h.push(w), g.push(w), w = w + z + y), e.virtualSize += z + y, T = z, O += 1; 18315 } 18316 } 18317 if (e.virtualSize = Math.max(e.virtualSize, n) + S, a && o && (t.effect === "slide" || t.effect === "coverflow") && (r.style.width = `${e.virtualSize + y}px`), t.setWrapperSize && (r.style[e.getDirectionLabel("width")] = `${e.virtualSize + y}px`), _ && e.grid.updateWrapperSize(z, h), !t.centeredSlides) { 18318 let x = []; 18319 for (let A = 0; A < h.length; A += 1) { 18320 let I = h[A]; 18321 t.roundLengths && (I = Math.floor(I)), h[A] <= e.virtualSize - n && x.push(I); 18322 } 18323 h = x, Math.floor(e.virtualSize - n) - Math.floor(h[h.length - 1]) > 1 && h.push(e.virtualSize - n); 18324 } 18325 if (l && t.loop) { 18326 let x = p[0] + y; 18327 if (t.slidesPerGroup > 1) { 18328 let A = Math.ceil((e.virtual.slidesBefore + e.virtual.slidesAfter) / t.slidesPerGroup), I = x * t.slidesPerGroup; 18329 for (let D = 0; D < A; D += 1) h.push(h[h.length - 1] + I); 18330 } 18331 for (let A = 0; A < e.virtual.slidesBefore + e.virtual.slidesAfter; A += 1) t.slidesPerGroup === 1 && h.push(h[h.length - 1] + x), g.push(g[g.length - 1] + x), e.virtualSize += x; 18332 } 18333 if (h.length === 0 && (h = [0]), y !== 0) { 18334 let x = e.isHorizontal() && a ? "marginLeft" : e.getDirectionLabel("marginRight"); 18335 d.filter((A, I) => !t.cssMode || t.loop ? !0 : I !== d.length - 1).forEach((A) => { 18336 A.style[x] = `${y}px`; 18337 }); 18338 } 18339 if (t.centeredSlides && t.centeredSlidesBounds) { 18340 let x = 0; 18341 p.forEach((I) => { 18342 x += I + (y || 0); 18343 }), x -= y; 18344 let A = x > n ? x - n : 0; 18345 h = h.map((I) => I <= 0 ? -m : I > A ? A + S : I); 18346 } 18347 if (t.centerInsufficientSlides) { 18348 let x = 0; 18349 p.forEach((I) => { 18350 x += I + (y || 0); 18351 }), x -= y;
18352 let A = (t.slidesOffsetBefore || 0) + (t.slidesOffsetAfter || 0); 18353 if (x + A < n) { 18354 let I = (n - x - A) / 2; 18355 h.forEach((D, H) => { 18356 h[H] = D - I; 18357 }), g.forEach((D, H) => { 18358 g[H] = D + I; 18359 }); 18360 } 18361 } 18362 if (Object.assign(e, { 18363 slides: d, 18364 snapGrid: h, 18365 slidesGrid: g, 18366 slidesSizesGrid: p 18367 }), t.centeredSlides && t.cssMode && !t.centeredSlidesBounds) { 18368 Zo(r, "--swiper-centered-offset-before", `${-h[0]}px`), Zo(r, "--swiper-centered-offset-after", `${e.size / 2 - p[p.length - 1] / 2}px`); 18369 let x = -e.snapGrid[0], A = -e.slidesGrid[0]; 18370 e.snapGrid = e.snapGrid.map((I) => I + x), e.slidesGrid = e.slidesGrid.map((I) => I + A); 18371 } 18372 if (u !== c && e.emit("slidesLengthChange"), h.length !== b && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), g.length !== v && e.emit("slidesGridLengthChange"), t.watchSlidesProgress && e.updateSlidesOffset(), e.emit("slidesUpdated"), !l && !t.cssMode && (t.effect === "slide" || t.effect === "fade")) { 18373 let x = `${t.containerModifierClass}backface-hidden`, A = e.el.classList.contains(x); 18374 u <= t.maxBackfaceHiddenSlides ? A || e.el.classList.add(x) : A && e.el.classList.remove(x); 18375 } 18376} 18377function yF(e) { 18378 let i = this, t = [], r = i.virtual && i.params.virtual.enabled, s = 0, n; 18379 typeof e == "number" ? i.setTransition(e) : e === !0 && i.setTransition(i.params.speed); 18380 let a = (o) => r ? i.slides[i.getSlideIndexByData(o)] : i.slides[o]; 18381 if (i.params.slidesPerView !== "auto" && i.params.slidesPerView > 1) if (i.params.centeredSlides) (i.visibleSlides || []).forEach((o) => { 18382 t.push(o); 18383 }); 18384 else for (n = 0;
18384 n < Math.ceil(i.params.slidesPerView); n += 1) { 18385 let o = i.activeIndex + n; 18386 if (o > i.slides.length && !r) break; 18387 t.push(a(o)); 18388 } 18389 else t.push(a(i.activeIndex)); 18390 for (n = 0; n < t.length; n += 1) if (typeof t[n] < "u") { 18391 let o = t[n].offsetHeight; 18392 s = o > s ? o : s; 18393 } 18394 (s || s === 0) && (i.wrapperEl.style.height = `${s}px`); 18395} 18396function wF() { 18397 let e = this, i = e.slides, t = e.isElement ? e.isHorizontal() ? e.wrapperEl.offsetLeft : e.wrapperEl.offsetTop : 0; 18398 for (let r = 0; r < i.length; r += 1) i[r].swiperSlideOffset = (e.isHorizontal() ? i[r].offsetLeft : i[r].offsetTop) - t - e.cssOverflowAdjustment(); 18399} 18400function EF(e) { 18401 e === void 0 && (e = this && this.translate || 0); 18402 let i = this, t = i.params, { slides: r, rtlTranslate: s, snapGrid: n } = i; 18403 if (r.length === 0) return; 18404 typeof r[0].swiperSlideOffset > "u" && i.updateSlidesOffset(); 18405 let a = -e; 18406 s && (a = e), i.visibleSlidesIndexes = [], i.visibleSlides = []; 18407 let o = t.spaceBetween; 18408 typeof o == "string" && o.indexOf("%") >= 0 ? o = parseFloat(o.replace("%", "")) / 100 * i.size : typeof o == "string" && (o = parseFloat(o)); 18409 for (let l = 0; l < r.length; l += 1) { 18410 let c = r[l], d = c.swiperSlideOffset; 18411 t.cssMode && t.centeredSlides && (d -= r[0].swiperSlideOffset); 18412 let u = (a + (t.centeredSlides ? i.minTranslate() : 0) - d) / (c.swiperSlideSize + o), h = (a - n[0] + (t.centeredSlides ? i.minTranslate() : 0) - d) / (c.swiperSlideSize + o), g = -(a - d), p = g + i.slidesSizesGrid[l], m = g >= 0 && g <= i.size - i.slidesSizesGrid[l], S = g >= 0 && g < i.size - 1 || p > 1 && p <= i.size || g <= 0 && p >= i.size; 18413 S && (i.visibleSlides.push(c), i.visibleSlidesIndexes.push(l)), dS(c, S, t.slideVisibleClass), dS(c, m, t.slideFullyVisibleClass), c.progress = s ? -u : u, c.originalProgress = s ? -h : h; 18414 } 18415} 18416function CF(e) { 18417 let i = this; 18418 if (typeof e > "u") { 18419 let d = i.rtlTranslate ? -1 : 1; 18420 e = i && i.translate && i.translate * d || 0; 18421 } 18422 let t = i.params, r = i.maxTranslate() - i.minTranslate(), { progress: s, isBeginning: n, isEnd: a, progressLoop: o } = i, l = n, c = a; 18423 if (r === 0) s = 0, n = !0, a = !0; 18424 else { 18425 s = (e - i.minTranslate()) / r; 18426 let d = Math.abs(e - i.minTranslate()) < 1, u = Math.abs(e - i.maxTranslate()) < 1; 18427 n = d || s <= 0, a = u || s >= 1, d && (s = 0), u && (s = 1); 18428 } 18429 if (t.loop) { 18430 let d = i.getSlideIndexByData(0), u = i.getSlideIndexByData(i.slides.length - 1), h = i.slidesGrid[d], g = i.slidesGrid[u], p = i.slidesGrid[i.slidesGrid.length - 1], m = Math.abs(e); 18431 m >= h ? o = (m - h) / p : o = (m + p - g) / p, o > 1 && (o -= 1); 18432 } 18433 Object.assign(i, { 18434 progress: s, 18435 progressLoop: o, 18436 isBeginning: n, 18437 isEnd: a 18438 }), (t.watchSlidesProgress || t.centeredSlides && t.autoHeight) && i.updateSlidesProgress(e), n && !l && i.emit("reachBeginning toEdge"), a && !c && i.emit("reachEnd toEdge"), (l && !n || c && !a) && i.emit("fromEdge"), i.emit("progress", s); 18439} 18440function NF() { 18441 let e = this, { slides: i, params: t, slidesEl: r, activeIndex: s } = e, n = e.virtual && t.virtual.enabled, a = e.grid && t.grid && t.grid.rows > 1, o = (u) => Qt(r, `.${t.slideClass}${u}, swiper-slide${u}`)[0], l, c, d; 18442 if (n) if (t.loop) { 18443 let u = s - e.virtual.slidesBefore; 18444 u < 0 && (u = e.virtual.slides.length + u), u >= e.virtual.slides.length && (u -= e.virtual.slides.length), l = o(`[data-swiper-slide-index="${u}"]`); 18445 } else l = o(`[data-swiper-slide-index="${s}"]`); 18446 else a ? (l = i.find((u) => u.column === s), d = i.find((u) => u.column === s + 1), c = i.find((u) => u.column === s - 1)) : l = i[s]; 18447 l && (a || (d = G2(l, `.${t.slideClass}, swiper-slide`)[0], t.loop && !d && (d = i[0]), c = z2(l, `.${t.slideClass}, swiper-slide`)[0], t.loop)), i.forEach((u) => { 18448 iu(u, u === l, t.slideActiveClass), iu(u, u === d, t.slideNextClass), iu(u, u === c, t.slidePrevClass); 18449 }), e.emitSlidesClasses(); 18450} 18451function TF(e) { 18452 let { slidesGrid: i, params: t } = e, r = e.rtlTranslate ? e.translate : -e.translate, s; 18453 for (let n = 0; n < i.length; n += 1) typeof i[n + 1] < "u" ? r >= i[n] && r < i[n + 1] - (i[n + 1] - i[n]) / 2 ? s = n : r >= i[n] && r < i[n + 1] && (s = n + 1) : r >= i[n] && (s = n); 18454 return t.normalizeSlideIndex && (s < 0 || typeof s > "u") && (s = 0), s; 18455} 18456function kF(e) { 18457 let i = this, t = i.rtlTranslate ? i.translate : -i.translate, { snapGrid: r, params: s, activeIndex: n, realIndex: a, snapIndex: o } = i, l = e, c, d = (g) => { 18458 let p = g - i.virtual.slidesBefore; 18459 return p < 0 && (p = i.virtual.slides.length + p), p >= i.virtual.slides.length && (p -= i.virtual.slides.length), p; 18460 }; 18461 if (typeof l > "u" && (l = TF(i)), r.indexOf(t) >= 0) c = r.indexOf(t); 18462 else { 18463 let g = Math.min(s.slidesPerGroupSkip, l); 18464 c = g + Math.floor((l - g) / s.slidesPerGroup); 18465 } 18466 if (c >= r.length && (c = r.length - 1), l === n && !i.params.loop) { 18467 c !== o && (i.snapIndex = c, i.emit("snapIndexChange")); 18468 return; 18469 } 18470 if (l === n && i.params.loop && i.virtual && i.params.virtual.enabled) { 18471 i.realIndex = d(l); 18472 return; 18473 } 18474 let u = i.grid && s.grid && s.grid.rows > 1, h; 18475 if (i.virtual && s.virtual.enabled && s.loop) h = d(l); 18476 else if (u) { 18477 let g = i.slides.find((m) =>
18477 m.column === l), p = parseInt(g.getAttribute("data-swiper-slide-index"), 10); 18478 Number.isNaN(p) && (p = Math.max(i.slides.indexOf(g), 0)), h = Math.floor(p / s.grid.rows); 18479 } else if (i.slides[l]) { 18480 let g = i.slides[l].getAttribute("data-swiper-slide-index"); 18481 g ? h = parseInt(g, 10) : h = l; 18482 } else h = l; 18483 Object.assign(i, { 18484 previousSnapIndex: o, 18485 snapIndex: c, 18486 previousRealIndex: a, 18487 realIndex: h, 18488 previousIndex: n, 18489 activeIndex: l 18490 }), i.initialized && su(i), i.emit("activeIndexChange"), i.emit("snapIndexChange"), (i.initialized || i.params.runCallbacksOnInit) && (a !== h && i.emit("realIndexChange"), i.emit("slideChange")); 18491} 18492function xF(e, i) { 18493 let t = this, r = t.params, s = e.closest(`.${r.slideClass}, swiper-slide`); 18494 !s && t.isElement && i && i.length > 1 && i.includes(e) && [...i.slice(i.indexOf(e) + 1, i.length)].forEach((o) => { 18495 !s && o.matches && o.matches(`.${r.slideClass}, swiper-slide`) && (s = o); 18496 }); 18497 let n = !1, a; 18498 if (s) { 18499 for (let o = 0; o < t.slides.length; o += 1) if (t.slides[o] === s) { 18500 n = !0, a = o; 18501 break; 18502 } 18503 } 18504 if (s && n) t.clickedSlide = s, t.virtual && t.params.virtual.enabled ? t.clickedIndex = parseInt(s.getAttribute("data-swiper-slide-index"), 10) : t.clickedIndex = a; 18505 else { 18506 t.clickedSlide = void 0, t.clickedIndex = void 0; 18507 return; 18508 } 18509 r.slideToClickedSlide && t.clickedIndex !== void 0 && t.clickedIndex !== t.activeIndex && t.slideToClickedSlide(); 18510} 18511function IF(e) { 18512 e === void 0 && (e = this.isHorizontal() ? "x" : "y"); 18513 let i = this, { params: t, rtlTranslate: r, translate: s, wrapperEl: n } = i; 18514 if (t.virtualTranslate) return r ? -s : s; 18515 if (t.cssMode) return s; 18516 let a = rS(n, e); 18517 return a += i.cssOverflowAdjustment(), r && (a = -a), a || 0; 18518} 18519function OF(e, i) { 18520 let t = this, { rtlTranslate: r, params: s, wrapperEl: n, progress: a } = t, o = 0, l = 0, c = 0; 18521 t.isHorizontal() ? o = r ? -e : e : l = e, s.roundLengths && (o = Math.floor(o), l = Math.floor(l)), t.previousTranslate = t.translate, t.translate = t.isHorizontal() ? o : l, s.cssMode ? n[t.isHorizontal() ? "scrollLeft" : "scrollTop"] = t.isHorizontal() ? -o : -l : s.virtualTranslate || (t.isHorizontal() ? o -= t.cssOverflowAdjustment() : l -= t.cssOverflowAdjustment(), n.style.transform = `translate3d(${o}px, ${l}px, ${c}px)`); 18522 let d, u = t.maxTranslate() - t.minTranslate(); 18523 u === 0 ? d = 0 : d = (e - t.minTranslate()) / u, d !== a && t.updateProgress(e), t.emit("setTranslate", t.translate, i); 18524} 18525function PF() { 18526 return -this.snapGrid[0]; 18527} 18528function $F() { 18529 return -this.snapGrid[this.snapGrid.length - 1]; 18530} 18531function AF(e, i, t, r, s) { 18532 e === void 0 && (e = 0), i === void 0 && (i = this.params.speed), t === void 0 && (t = !0), r === void 0 && (r = !0); 18533 let n = this, { params: a, wrapperEl: o } = n; 18534 if (n.animating && a.preventInteractionOnTransition) return !1; 18535 let l = n.minTranslate(), c = n.maxTranslate(), d; 18536 if (r && e > l ? d = l : r && e < c ? d = c : d = e, n.updateProgress(d), a.cssMode) { 18537 let u = n.isHorizontal(); 18538 if (i === 0) o[u ? "scrollLeft" : "scrollTop"] = -d; 18539 else { 18540 if (!n.support.smoothScroll) return sO({ 18541 swiper: n, 18542 targetPosition: -d, 18543 side: u ? "left" : "top" 18544 }), !0; 18545 o.scrollTo({ 18546 [u ? "left" : "top"]: -d, 18547 behavior: "smooth" 18548 }); 18549 } 18550 return !0; 18551 } 18552 return i === 0 ? (n.setTransition(0), n.setTranslate(d), t && (n.emit("beforeTransitionStart", i, s), n.emit("transitionEnd"))) : (n.setTransition(i), n.setTranslate(d), t && (n.emit("beforeTransitionStart", i, s), n.emit("transitionStart")), n.animating || (n.animating = !0, n.onTranslateToWrapperTransitionEnd || (n.onTranslateToWrapperTransitionEnd = function(u) { 18553 !n || n.destroyed || u.target === this && (n.wrapperEl.removeEventListener("transitionend", n.onTranslateToWrapperTransitionEnd), n.onTranslateToWrapperTransitionEnd = null, delete n.onTranslateToWrapperTransitionEnd, n.animating = !1, t && n.emit("transitionEnd")); 18554 }), n.wrapperEl.addEventListener("transitionend", n.onTranslateToWrapperTransitionEnd))), !0; 18555} 18556function _F(e, i) { 18557 let t = this; 18558 t.params.cssMode || (t.wrapperEl.style.transitionDuration = `${e}ms`, t.wrapperEl.style.transitionDelay = e === 0 ? "0ms" : ""), t.emit("setTransition", e, i); 18559} 18560function uO(e) { 18561 let { swiper: i, runCallbacks: t, direction: r, step: s } = e, { activeIndex: n, previousIndex: a } = i, o = r; 18562 o || (n > a ? o = "next" : n < a ? o = "prev" : o = "reset"), i.emit(`transition${s}`), t && o === "reset" ? i.emit(`slideResetTransition${s}`) : t && n !== a && (i.emit(`slideChangeTransition${s}`), o === "next" ? i.emit(`slideNextTransition${s}`) : i.emit(`slidePrevTransition${s}`)); 18563} 18564function MF(e, i) { 18565 e === void 0 && (e = !0); 18566 let t = this, { params: r } = t; 18567 r.cssMode || (r.autoHeight && t.updateAutoHeight(), uO({ 18568 swiper: t, 18569 runCallbacks: e, 18570 direction: i, 18571 step: "Start" 18572 })); 18573} 18574function RF(e, i) { 18575 e === void 0 && (e = !0); 18576 let t = this, { params: r } = t; 18577 t.animating = !1, !r.cssMode && (t.setTransition(0), uO({ 18578 swiper: t, 18579 runCallbacks: e, 18580 direction: i, 18581 step: "End" 18582 })); 18583} 18584function LF(e, i, t, r, s) { 18585 e === void 0 && (e = 0), t === void 0 && (t = !0), typeof e == "string" && (e = parseInt(e, 10)); 18586 let n = this, a = e; 18587 a < 0 && (a = 0); 18588 let { params: o, snapGrid: l, slidesGrid: c, previousIndex: d, activeIndex: u, rtlTranslate: h, wrapperEl: g, enabled: p } = n; 18589 if (!p && !r && !s || n.destroyed || n.animating && o.preventInteractionOnTransition) return !1; 18590 typeof i > "u" && (i = n.params.speed); 18591 let m = Math.min(n.params.slidesPerGroupSkip, a), S = m + Math.floor((a - m) / n.params.slidesPerGroup); 18592 S >= l.length && (S = l.length - 1); 18593 let b = -l[S]; 18594 if (o.normalizeSlideIndex) for (let T = 0; T < c.length; T += 1) { 18595 let O = -Math.floor(b * 100), _ = Math.floor(c[T] * 100), z = Math.floor(c[T + 1] * 100); 18596 typeof c[T + 1] < "u" ? O >= _ && O < z - (z - _) / 2 ? a = T : O >= _ && O < z && (a = T + 1) : O >= _ && (a = T); 18597 } 18598 if (n.initialized && a !== u && (!n.allowSlideNext && (h ? b > n.translate && b > n.minTranslate() : b < n.translate && b < n.minTranslate()) || !n.allowSlidePrev && b > n.translate && b > n.maxTranslate() && (u || 0) !== a)) return !1; 18599 a !== (d || 0) && t && n.emit("beforeSlideChangeStart"), n.updateProgress(b); 18600 let v; 18601 a > u ? v = "next" : a < u ? v = "prev" : v = "reset"; 18602 let y = n.virtual && n.params.virtual.enabled; 18603 if (!(y && s) && (h && -b === n.translate || !h && b === n.translate)) return n.updateActiveIndex(a), o.autoHeight && n.updateAutoHeight(), n.updateSlidesClasses(), o.effect !== "slide" && n.setTranslate(b), v !== "reset" && (n.transitionStart(t, v), n.transitionEnd(t, v)), !1; 18604 if (o.cssMode) { 18605 let T = n.isHorizontal(), O = h ? b : -b; 18606 if (i === 0) y && (n.wrapperEl.style.scrollSnapType = "none", n._immediateVirtual = !0), y && !n._cssModeVirtualInitialSet && n.params.initialSlide > 0 ? (n._cssModeVirtualInitialSet = !0, requestAnimationFrame(() => { 18607 g[T ? "scrollLeft" : "scrollTop"] = O; 18608 })) : g[T ? "scrollLeft" : "scrollTop"] = O, y && requestAnimationFrame(() => { 18609 n.wrapperEl.style.scrollSnapType = "", n._immediateVirtual = !1; 18610 }); 18611 else { 18612 if (!n.support.smoothScroll) return sO({ 18613 swiper: n, 18614 targetPosition: O, 18615 side: T ? "left" : "top" 18616 }), !0; 18617 g.scrollTo({ 18618 [T ? "left" : "top"]: O, 18619 behavior: "smooth" 18620 }); 18621 } 18622 return !0; 18623 } 18624 let w = dO().isSafari; 18625 return y && !s && w && n.isElement && n.virtual.update(!1, !1, a), n.setTransition(i), n.setTranslate(b), n.updateActiveIndex(a), n.updateSlidesClasses(), n.emit("beforeTransitionStart", i, r), n.transitionStart(t, v), i === 0 ? n.transitionEnd(t, v) : n.animating || (n.animating = !0, n.onSlideToWrapperTransitionEnd || (n.onSlideToWrapperTransitionEnd = function(T) { 18626 !n || n.destroyed || T.target === this && (n.wrapperEl.removeEventListener("transitionend", n.onSlideToWrapperTransitionEnd), n.onSlideToWrapperTransitionEnd = null, delete n.onSlideToWrapperTransitionEnd, n.transitionEnd(t, v)); 18627 }), n.wrapperEl.addEventListener("transitionend", n.onSlideToWrapperTransitionEnd)), !0; 18628} 18629function BF(e, i, t, r) { 18630 e === void 0 && (e = 0), t === void 0 && (t = !0), typeof e == "string" && (e = parseInt(e, 10)); 18631 let s = this; 18632 if (s.destroyed) return; 18633 typeof i > "u" && (i = s.params.speed); 18634 let n = s.grid && s.params.grid && s.params.grid.rows > 1, a = e; 18635 if (s.params.loop) if (s.virtual && s.params.virtual.enabled) a = a + s.virtual.slidesBefore; 18636 else { 18637 let o; 18638 if (n) { 18639 let h = a * s.params.grid.rows; 18640 o = s.slides.find((g) => g.getAttribute("data-swiper-slide-index") * 1 === h).column; 18641 } else o = s.getSlideIndexByData(a);
18642 let l = n ? Math.ceil(s.slides.length / s.params.grid.rows) : s.slides.length, { centeredSlides: c } = s.params, d = s.params.slidesPerView; 18643 d === "auto" ? d = s.slidesPerViewDynamic() : (d = Math.ceil(parseFloat(s.params.slidesPerView, 10)), c && d % 2 === 0 && (d = d + 1)); 18644 let u = l - o < d; 18645 if (c && (u = u || o < Math.ceil(d / 2)), r && c && s.params.slidesPerView !== "auto" && !n && (u = !1), u) { 18646 let h = c ? o < s.activeIndex ? "prev" : "next" : o - s.activeIndex - 1 < s.params.slidesPerView ? "next" : "prev"; 18647 s.loopFix({ 18648 direction: h, 18649 slideTo: !0, 18650 activeSlideIndex: h === "next" ? o + 1 : o - l + 1, 18651 slideRealIndex: h === "next" ? s.realIndex : void 0 18652 }); 18653 } 18654 if (n) { 18655 let h = a * s.params.grid.rows; 18656 a = s.slides.find((g) => g.getAttribute("data-swiper-slide-index") * 1 === h).column; 18657 } else a = s.getSlideIndexByData(a); 18658 } 18659 return requestAnimationFrame(() => { 18660 s.slideTo(a, i, t, r); 18661 }), s; 18662} 18663function DF(e, i, t) { 18664 i === void 0 && (i = !0); 18665 let r = this, { enabled: s, params: n, animating: a } = r; 18666 if (!s || r.destroyed) return r; 18667 typeof e > "u" && (e = r.params.speed); 18668 let o = n.slidesPerGroup; 18669 n.slidesPerView === "auto" && n.slidesPerGroup === 1 && n.slidesPerGroupAuto && (o = Math.max(r.slidesPerViewDynamic("current", !0), 1)); 18670 let l = r.activeIndex < n.slidesPerGroupSkip ? 1 : o, c = r.virtual && n.virtual.enabled; 18671 if (n.loop) { 18672 if (a && !c && n.loopPreventsSliding) return !1; 18673 if (r.loopFix({ direction: "next" }), r._clientLeft = r.wrapperEl.clientLeft, r.activeIndex === r.slides.length - 1 && n.cssMode) return requestAnimationFrame(() => { 18674 r.slideTo(r.activeIndex + l, e, i, t); 18675 }), !0; 18676 } 18677 return n.rewind && r.isEnd ? r.slideTo(0, e, i, t) : r.slideTo(r.activeIndex + l, e, i, t); 18678} 18679function FF(e, i, t) { 18680 i === void 0 && (i = !0); 18681 let r = this, { params: s, snapGrid: n, slidesGrid: a, rtlTranslate: o, enabled: l, animating: c } = r; 18682 if (!l || r.destroyed) return r; 18683 typeof e > "u" && (e = r.params.speed); 18684 let d = r.virtual && s.virtual.enabled; 18685 if (s.loop) { 18686 if (c && !d && s.loopPreventsSliding) return !1; 18687 r.loopFix({ direction: "prev" }), r._clientLeft = r.wrapperEl.clientLeft; 18688 } 18689 let u = o ? r.translate : -r.translate; 18690 function h(v) { 18691 return v < 0 ? -Math.floor(Math.abs(v)) : Math.floor(v); 18692 } 18693 let g = h(u), p = n.map((v) => h(v)), m = s.freeMode && s.freeMode.enabled, S = n[p.indexOf(g) - 1]; 18694 if (typeof S > "u" && (s.cssMode || m)) { 18695 let v; 18696 n.forEach((y, w) => { 18697 g >= y && (v = w); 18698 }), typeof v < "u" && (S = m ? n[v] : n[v > 0 ? v - 1 : v]); 18699 } 18700 let b = 0; 18701 if (typeof S < "u" && (b = a.indexOf(S), b < 0 && (b = r.activeIndex - 1), s.slidesPerView === "auto" && s.slidesPerGroup === 1 && s.slidesPerGroupAuto && (b = b - r.slidesPerViewDynamic("previous", !0) + 1, b = Math.max(b, 0))), s.rewind && r.isBeginning) { 18702 let v = r.params.virtual && r.params.virtual.enabled && r.virtual ? r.virtual.slides.length - 1 : r.slides.length - 1; 18703 return r.slideTo(v, e, i, t); 18704 } else if (s.loop && r.activeIndex === 0 && s.cssMode) return requestAnimationFrame(() => { 18705 r.slideTo(b, e, i, t); 18706 }), !0; 18707 return r.slideTo(b, e, i, t); 18708} 18709function zF(e, i, t) { 18710 i === void 0 && (i = !0); 18711 let r = this; 18712 if (!r.destroyed) return typeof e > "u" && (e = r.params.speed), r.slideTo(r.activeIndex, e, i, t); 18713} 18714function GF(e, i, t, r) { 18715 i === void 0 && (i = !0), r === void 0 && (r = .5); 18716 let s = this; 18717 if (s.destroyed) return; 18718 typeof e > "u" && (e = s.params.speed); 18719 let n = s.activeIndex, a = Math.min(s.params.slidesPerGroupSkip, n), o = a + Math.floor((n - a) / s.params.slidesPerGroup), l = s.rtlTranslate ? s.translate : -s.translate; 18720 if (l >= s.snapGrid[o]) { 18721 let c = s.snapGrid[o], d = s.snapGrid[o + 1]; 18722 l - c > (d - c) * r && (n += s.params.slidesPerGroup); 18723 } else { 18724 let c = s.snapGrid[o - 1], d = s.snapGrid[o]; 18725 l - c <= (d - c) * r && (n -= s.params.slidesPerGroup); 18726 } 18727 return n = Math.max(n, 0), n = Math.min(n, s.slidesGrid.length - 1), s.slideTo(n, e, i, t); 18728} 18729function VF() { 18730 let e = this; 18731 if (e.destroyed) return; 18732 let { params: i, slidesEl: t } = e, r = i.slidesPerView === "auto" ? e.slidesPerViewDynamic() : i.slidesPerView, s = e.getSlideIndexWhenGrid(e.clickedIndex), n, a = e.isElement ? "swiper-slide" : `.${i.slideClass}`, o = e.grid && e.params.grid && e.params.grid.rows > 1; 18733 if (i.loop) { 18734 if (e.animating) return; 18735 n = parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"), 10), i.centeredSlides ? e.slideToLoop(n) : s > (o ? (e.slides.length - r) / 2 - (e.params.grid.rows - 1) : e.slides.length - r) ? (e.loopFix(), s = e.getSlideIndex(Qt(t, `${a}[data-swiper-slide-index="${n}"]`)[0]), Na(() => { 18736 e.slideTo(s); 18737 })) : e.slideTo(s); 18738 } else e.slideTo(s); 18739} 18740function HF(e, i) { 18741 let t = this, { params: r, slidesEl: s } = t; 18742 if (!r.loop || t.virtual && t.params.virtual.enabled) return; 18743 let n = () => { 18744 Qt(s, `.${r.slideClass}, swiper-slide`).forEach((h, g) => { 18745 h.setAttribute("data-swiper-slide-index", g); 18746 }); 18747 }, a = () => { 18748 let h = Qt(s, `.${r.slideBlankClass}`); 18749 h.forEach((g) => { 18750 g.remove(); 18751 }), h.length > 0 && (t.recalcSlides(), t.updateSlides()); 18752 }, o = t.grid && r.grid && r.grid.rows > 1; 18753 r.loopAddBlankSlides && (r.slidesPerGroup > 1 || o) && a(); 18754 let l = r.slidesPerGroup * (o ? r.grid.rows : 1), c = t.slides.length % l !== 0, d = o && t.slides.length % r.grid.rows !== 0, u = (h) => { 18755 for (let g = 0; g < h; g += 1) { 18756 let p = t.isElement ? Bi("swiper-slide", [r.slideBlankClass]) : Bi("div", [r.slideClass, r.slideBlankClass]); 18757 t.slidesEl.append(p); 18758 } 18759 }; 18760 c ? (r.loopAddBlankSlides ? (u(l - t.slides.length % l), t.recalcSlides(), t.updateSlides()) : Qd("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may
18760not function properly. You need to add more slides (or make duplicates, or empty slides)"), n()) : (d && (r.loopAddBlankSlides ? (u(r.grid.rows - t.slides.length % r.grid.rows), t.recalcSlides(), t.updateSlides()) : Qd("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)")), n()), t.loopFix({ 18761 slideRealIndex: e, 18762 direction: r.centeredSlides ? void 0 : "next", 18763 initial: i 18764 }); 18765} 18766function UF(e) { 18767 let { slideRealIndex: i, slideTo: t = !0, direction: r, setTranslate: s, activeSlideIndex: n, initial: a, byController: o, byMousewheel: l } = e === void 0 ? {} : e, c = this; 18768 if (!c.params.loop) return; 18769 c.emit("beforeLoopFix"); 18770 let { slides: d, allowSlidePrev: u, allowSlideNext: h, slidesEl: g, params: p } = c, { centeredSlides: m, initialSlide: S } = p; 18771 if (c.allowSlidePrev = !0, c.allowSlideNext = !0, c.virtual && p.virtual.enabled) { 18772 t && (!p.centeredSlides && c.snapIndex === 0 ? c.slideTo(c.virtual.slides.length, 0, !1, !0) : p.centeredSlides && c.snapIndex < p.slidesPerView ? c.slideTo(c.virtual.slides.length + c.snapIndex, 0, !1, !0) : c.snapIndex === c.snapGrid.length - 1 && c.slideTo(c.virtual.slidesBefore, 0, !1, !0)), c.allowSlidePrev = u, c.allowSlideNext = h, c.emit("loopFix"); 18773 return; 18774 } 18775 let b = p.slidesPerView; 18776 b === "auto" ? b = c.slidesPerViewDynamic() : (b = Math.ceil(parseFloat(p.slidesPerView, 10)), m && b % 2 === 0 && (b = b + 1)); 18777 let v = p.slidesPerGroupAuto ? b : p.slidesPerGroup, y = m ? Math.max(v, Math.ceil(b / 2)) : v; 18778 y % v !== 0 && (y += v - y % v), y += p.loopAdditionalSlides, c.loopedSlides = y; 18779 let w = c.grid && p.grid && p.grid.rows > 1; 18780 d.length < b + y || c.params.effect === "cards" && d.length < b + y * 2 ? Qd("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters") : w && p.grid.fill === "row" && Qd("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`"); 18781 let T = [], O = [], _ = w ? Math.ceil(d.length / p.grid.rows) : d.length, z = a && _ - S < b && !m, G = z ? S : c.activeIndex; 18782 typeof n > "u" ? n = c.getSlideIndex(d.find((F) => F.classList.contains(p.slideActiveClass))) : G = n; 18783 let x = r === "next" || !r, A = r === "prev" || !r, I = 0, D = 0, H = (w ? d[n].column : n) + (m && typeof s > "u" ? -b / 2 + .5 : 0); 18784 if (H < y) { 18785 I = Math.max(y - H, v); 18786 for (let F = 0; F < y - H; F += 1) { 18787 let K = F - Math.floor(F / _) * _; 18788 if (w) { 18789 let B = _ - K - 1; 18790 for (let L = d.length - 1; L >= 0; L -= 1) d[L].column === B && T.push(L); 18791 } else T.push(_ - K - 1); 18792 } 18793 } else if (H + b > _ - y) { 18794 D = Math.max(H - (_ - y * 2), v), z && (D = Math.max(D, b - _ + S + 1)); 18795 for (let F = 0; F < D; F += 1) { 18796 let K = F - Math.floor(F / _) * _; 18797 w ? d.forEach((B, L) => { 18798 B.column === K && O.push(L); 18799 }) : O.push(K); 18800 } 18801 } 18802 if (c.__preventObserver__ = !0, requestAnimationFrame(() => { 18803 c.__preventObserver__ = !1; 18804 }), c.params.effect === "cards" && d.length < b + y * 2 && (O.includes(n) && O.splice(O.indexOf(n), 1), T.includes(n) && T.splice(T.indexOf(n), 1)), A && T.forEach((F) => { 18805 d[F].swiperLoopMoveDOM = !0, g.prepend(d[F]), d[F].swiperLoopMoveDOM = !1; 18806 }), x && O.forEach((F) => { 18807 d[F].swiperLoopMoveDOM = !0, g.append(d[F]), d[F].swiperLoopMoveDOM = !1; 18808 }), c.recalcSlides(), p.slidesPerView === "auto" ? c.updateSlides() : w && (T.length > 0 && A || O.length > 0 && x) && c.slides.forEach((F, K) => { 18809 c.grid.updateSlide(K, F, c.slides); 18810 }), p.watchSlidesProgress && c.updateSlidesOffset(), t) { 18811 if (T.length > 0 && A) { 18812 if (typeof i > "u") { 18813 let F = c.slidesGrid[G], K = c.slidesGrid[G + I] - F; 18814 l ? c.setTranslate(c.translate - K) : (c.slideTo(G + Math.ceil(I), 0, !1, !0), s && (c.touchEventsData.startTranslate = c.touchEventsData.startTranslate - K, c.touchEventsData.currentTranslate = c.touchEventsData.currentTranslate - K)); 18815 } else if (s) { 18816 let F = w ? T.length / p.grid.rows : T.length; 18817 c.slideTo(c.activeIndex + F, 0, !1, !0), c.touchEventsData.currentTranslate = c.translate; 18818 } 18819 } else if (O.length > 0 && x) if (typeof i > "u") { 18820 let F = c.slidesGrid[G], K = c.slidesGrid[G - D] - F; 18821 l ? c.setTranslate(c.translate - K) : (c.slideTo(G - D, 0, !1, !0), s && (c.touchEventsData.startTranslate = c.touchEventsData.startTranslate - K, c.touchEventsData.currentTranslate = c.touchEventsData.currentTranslate - K)); 18822 } else { 18823 let F = w ? O.length / p.grid.rows : O.length; 18824 c.slideTo(c.activeIndex - F, 0, !1, !0); 18825 } 18826 } 18827 if (c.allowSlidePrev = u, c.allowSlideNext = h, c.controller && c.controller.control && !o) { 18828 let F = { 18829 slideRealIndex: i, 18830 direction: r, 18831 setTranslate: s, 18832 activeSlideIndex: n, 18833 byController: !0 18834 }; 18835 Array.isArray(c.controller.control) ? c.controller.control.forEach((K) => { 18836 !K.destroyed && K.params.loop && K.loopFix(J(C({}, F), { slideTo: K.params.slidesPerView === p.slidesPerView ? t : !1 })); 18837 }
18837) : c.controller.control instanceof c.constructor && c.controller.control.params.loop && c.controller.control.loopFix(J(C({}, F), { slideTo: c.controller.control.params.slidesPerView === p.slidesPerView ? t : !1 })); 18838 } 18839 c.emit("loopFix"); 18840} 18841function WF() { 18842 let e = this, { params: i, slidesEl: t } = e; 18843 if (!i.loop || !t || e.virtual && e.params.virtual.enabled) return; 18844 e.recalcSlides(); 18845 let r = []; 18846 e.slides.forEach((s) => { 18847 let n = typeof s.swiperSlideIndex > "u" ? s.getAttribute("data-swiper-slide-index") * 1 : s.swiperSlideIndex; 18848 r[n] = s; 18849 }), e.slides.forEach((s) => { 18850 s.removeAttribute("data-swiper-slide-index"); 18851 }), r.forEach((s) => { 18852 t.append(s); 18853 }), e.recalcSlides(), e.slideTo(e.realIndex, 0); 18854} 18855function jF(e) { 18856 let i = this; 18857 if (!i.params.simulateTouch || i.params.watchOverflow && i.isLocked || i.params.cssMode) return; 18858 let t = i.params.touchEventsTarget === "container" ? i.el : i.wrapperEl; 18859 i.isElement && (i.__preventObserver__ = !0), t.style.cursor = "move", t.style.cursor = e ? "grabbing" : "grab", i.isElement && requestAnimationFrame(() => { 18860 i.__preventObserver__ = !1; 18861 }); 18862} 18863function YF() { 18864 let e = this; 18865 e.params.watchOverflow && e.isLocked || e.params.cssMode || (e.isElement && (e.__preventObserver__ = !0), e[e.params.touchEventsTarget === "container" ? "el" : "wrapperEl"].style.cursor = "", e.isElement && requestAnimationFrame(() => { 18866 e.__preventObserver__ = !1; 18867 })); 18868} 18869function KF(e, i) { 18870 i === void 0 && (i = this); 18871 function t(r) { 18872 if (!r || r === Ft() || r === gt()) return null; 18873 r.assignedSlot && (r = r.assignedSlot); 18874 let s = r.closest(e); 18875 return !s && !r.getRootNode ? null : s || t(r.getRootNode().host); 18876 } 18877 return t(i); 18878} 18879function pO(e, i, t) { 18880 let r = gt(), { params: s } = e, n = s.edgeSwipeDetection, a = s.edgeSwipeThreshold; 18881 return n && (t <= a || t >= r.innerWidth - a) ? n === "prevent" ? (i.preventDefault(), !0) : !1 : !0; 18882} 18883function qF(e) { 18884 let i = this, t = Ft(), r = e; 18885 r.originalEvent && (r = r.originalEvent); 18886 let s = i.touchEventsData; 18887 if (r.type === "pointerdown") { 18888 if (s.pointerId !== null && s.pointerId !== r.pointerId) return; 18889 s.pointerId = r.pointerId; 18890 } else r.type === "touchstart" && r.targetTouches.length === 1 && (s.touchId = r.targetTouches[0].identifier); 18891 if (r.type === "touchstart") { 18892 pO(i, r, r.targetTouches[0].pageX); 18893 return; 18894 } 18895 let { params: n, touches: a, enabled: o } = i; 18896 if (!o || !n.simulateTouch && r.pointerType === "mouse" || i.animating && n.preventInteractionOnTransition) return; 18897 !i.animating && n.cssMode && n.loop && i.loopFix(); 18898 let l = r.target; 18899 if (n.touchEventsTarget === "wrapper" && !F2(l, i.wrapperEl) || "which" in r && r.which === 3 || "button" in r && r.button > 0 || s.isTouched && s.isMoved) return; 18900 let c = !!n.noSwipingClass && n.noSwipingClass !== "", d = r.composedPath ? r.composedPath() : r.path; 18901 c && r.target && r.target.shadowRoot && d && (l = d[0]); 18902 let u = n.noSwipingSelector ? n.noSwipingSelector : `.${n.noSwipingClass}`, h = !!(r.target && r.target.shadowRoot); 18903 if (n.noSwiping && (h ? KF(u, l) : l.closest(u))) { 18904 i.allowClick = !0; 18905 return; 18906 } 18907 if (n.swipeHandler && !l.closest(n.swipeHandler)) return; 18908 a.currentX = r.pageX, a.currentY = r.pageY; 18909 let g = a.currentX, p = a.currentY; 18910 if (!pO(i, r, g)) return; 18911 Object.assign(s, { 18912 isTouched: !0, 18913 isMoved: !1, 18914 allowTouchCallbacks: !0, 18915 isScrolling: void 0, 18916 startMoving: void 0 18917 }), a.startX = g, a.startY = p, s.touchStartTime = Xi(), i.allowClick = !0, i.updateSize(), i.swipeDirection = void 0, n.threshold > 0 && (s.allowThresholdMove = !1); 18918 let m = !0; 18919 l.matches(s.focusableElements) && (m = !1, l.nodeName === "SELECT" && (s.isTouched = !1)), t.activeElement && t.activeElement.matches(s.focusableElements) && t.activeElement !== l && (r.pointerType === "mouse" || r.pointerType !== "mouse" && !l.matches(s.focusableElements)) && t.activeElement.blur(); 18920 let S = m && i.allowTouchMove && n.touchStartPreventDefault; 18921 (n.touchStartForcePreventDefault || S) && !l.isContentEditable && r.preventDefault(), n.freeMode && n.freeMode.enabled && i.freeMode && i.animating && !n.cssMode && i.freeMode.onTouchStart(), i.emit("touchStart", r); 18922} 18923function XF(e) { 18924 let i = Ft(), t = this, r = t.touchEventsData, { params: s, touches: n, rtlTranslate: a, enabled: o } = t; 18925 if (!o || !s.simulateTouch && e.pointerType === "mouse") return; 18926 let l = e; 18927 if (l.originalEvent && (l = l.originalEvent), l.type === "pointermove" && (r.touchId !== null || l.pointerId !== r.pointerId)) return; 18928 let c; 18929 if (l.type === "touchmove") { 18930 if (c = [...l.changedTouches].find((T) => T.identifier === r.touchId), !c || c.identifier !== r.touchId) return; 18931 } else c = l; 18932 if (!r.isTouched) { 18933 r.startMoving && r.isScrolling && t.emit("touchMoveOpposite", l); 18934 return; 18935 } 18936 let d = c.pageX, u = c.pageY; 18937 if (l.preventedByNestedSwiper) { 18938 n.startX = d, n.startY = u; 18939 return; 18940 } 18941 if (!t.allowTouchMove) { 18942 l.target.matches(r.focusableElements) || (t.allowClick = !1), r.isTouched && (Object.assign(n, { 18943 startX: d, 18944 startY: u, 18945 currentX: d, 18946 currentY: u 18947 }), r.touchStartTime = Xi()); 18948 return; 18949 } 18950 if (s.touchReleaseOnEdges && !s.loop) { 18951 if (t.isVertical()) { 18952 if (u < n.startY && t.translate <= t.maxTranslate() || u > n.startY && t.translate >= t.minTranslate()) { 18953 r.isTouched = !1, r.isMoved = !1; 18954 return; 18955 } 18956 } else if (a && (d > n.startX && -t.translate <= t.maxTranslate() || d < n.startX && -t.translate >= t.minTranslate()) || !a && (d < n.startX && t.translate <= t.maxTranslate() || d > n.startX && t.translate >= t.minTranslate())) return; 18957 } 18958 if (i.activeElement && i.activeElement.matches(r.focusableElements) && i.activeElement !== l.target && l.pointerType !== "mouse" && i.activeElement.blur(), i.activeElement && l.target === i.activeElement && l.target.matches(r.focusableElements)) { 18959 r.isMoved = !0, t.allowClick = !1; 18960 return; 18961 } 18962 r.allowTouchCallbacks && t.emit("touchMove", l), n.previousX = n.currentX, n.previousY = n.currentY, n.currentX = d, n.currentY = u; 18963 let h = n.currentX - n.startX, g = n.currentY - n.startY; 18964 if (t.params.threshold && Math.sqrt(h ** 2 + g ** 2) < t.params.threshold) return; 18965 if (typeof r.isScrolling > "u") { 18966 let T; 18967 t.isHorizontal() && n.currentY === n.startY || t.isVertical() && n.currentX === n.startX ? r.isScrolling = !1 : h * h + g * g >= 25 && (T = Math.atan2(Math.abs(g), Math.abs(h)) * 180 / Math.PI, r.isScrolling = t.isHorizontal() ? T > s.touchAngle : 90 - T > s.touchAngle); 18968 } 18969 if (r.isScrolling && t.emit("touchMoveOpposite", l), typeof r.startMoving > "u" && (n.currentX !== n.startX || n.currentY !== n.startY) && (r.startMoving = !0), r.isScrolling || l.type === "touchmove" && r.preventTouchMoveFromPointerMove) { 18970 r.isTouched = !1; 18971 return; 18972 } 18973 if (!r.startMoving) return; 18974 t.allowClick = !1, !s.cssMode && l.cancelable && l.preventDefault(), s.touchMoveStopPropagation && !s.nested && l.stopPropagation(); 18975 let p = t.isHorizontal() ? h : g, m = t.isHorizontal() ? n.currentX - n.previousX : n.currentY - n.previousY; 18976 s.oneWayMovement && (p = Math.abs(p) * (a ? 1 : -1), m = Math.abs(m) * (a ? 1 : -1)), n.diff = p, p *= s.touchRatio, a && (p = -p, m = -m); 18977 let S = t.touchesDirection; 18978 t.swipeDirection = p > 0 ? "prev" : "next", t.touchesDirection = m > 0 ? "prev" : "next"; 18979 let b = t.params.loop && !s.cssMode, v = t.touchesDirection === "next" && t.allowSlideNext || t.touchesDirection === "prev" && t.allowSlidePrev; 18980 if (!r.isMoved) { 18981 if (b && v && t.loopFix({ direction: t.swipeDirection }), r.startTranslate = t.getTranslate(), t.setTransition(0), t.animating) { 18982 let T = new window.CustomEvent("transitionend", { 18983 bubbles: !0, 18984 cancelable: !0, 18985 detail: { bySwiperTouchMove: !0 } 18986 });
vendor: 4,376 bytes, lines 18987-19049
18987 t.wrapperEl.dispatchEvent(T); 18988 } 18989 r.allowMomentumBounce = !1, s.grabCursor && (t.allowSlideNext === !0 || t.allowSlidePrev === !0) && t.setGrabCursor(!0), t.emit("sliderFirstMove", l); 18990 } 18991 if ((/* @__PURE__ */ new Date()).getTime(), s._loopSwapReset !== !1 && r.isMoved && r.allowThresholdMove && S !== t.touchesDirection && b && v && Math.abs(p) >= 1) { 18992 Object.assign(n, { 18993 startX: d, 18994 startY: u, 18995 currentX: d, 18996 currentY: u, 18997 startTranslate: r.currentTranslate 18998 }), r.loopSwapReset = !0, r.startTranslate = r.currentTranslate; 18999 return; 19000 } 19001 t.emit("sliderMove", l), r.isMoved = !0, r.currentTranslate = p + r.startTranslate; 19002 let y = !0, w = s.resistanceRatio; 19003 if (s.touchReleaseOnEdges && (w = 0), p > 0 ? (b && v && r.allowThresholdMove && r.currentTranslate > (s.centeredSlides ? t.minTranslate() - t.slidesSizesGrid[t.activeIndex + 1] - (s.slidesPerView !== "auto" && t.slides.length - s.slidesPerView >= 2 ? t.slidesSizesGrid[t.activeIndex + 1] + t.params.spaceBetween : 0) - t.params.spaceBetween : t.minTranslate()) && t.loopFix({ 19004 direction: "prev", 19005 setTranslate: !0, 19006 activeSlideIndex: 0 19007 }), r.currentTranslate > t.minTranslate() && (y = !1, s.resistance && (r.currentTranslate = t.minTranslate() - 1 + (-t.minTranslate() + r.startTranslate + p) ** w))) : p < 0 && (b && v && r.allowThresholdMove && r.currentTranslate < (s.centeredSlides ? t.maxTranslate() + t.slidesSizesGrid[t.slidesSizesGrid.length - 1] + t.params.spaceBetween + (s.slidesPerView !== "auto" && t.slides.length - s.slidesPerView >= 2 ? t.slidesSizesGrid[t.slidesSizesGrid.length - 1] + t.params.spaceBetween : 0) : t.maxTranslate()) && t.loopFix({ 19008 direction: "next", 19009 setTranslate: !0, 19010 activeSlideIndex: t.slides.length - (s.slidesPerView === "auto" ? t.slidesPerViewDynamic() : Math.ceil(parseFloat(s.slidesPerView, 10))) 19011 }), r.currentTranslate < t.maxTranslate() && (y = !1, s.resistance && (r.currentTranslate = t.maxTranslate() + 1 - (t.maxTranslate() - r.startTranslate - p) ** w))), y && (l.preventedByNestedSwiper = !0), !t.allowSlideNext && t.swipeDirection === "next" && r.currentTranslate < r.startTranslate && (r.currentTranslate = r.startTranslate), !t.allowSlidePrev && t.swipeDirection === "prev" && r.currentTranslate > r.startTranslate && (r.currentTranslate = r.startTranslate), !t.allowSlidePrev && !t.allowSlideNext && (r.currentTranslate = r.startTranslate), s.threshold > 0) if (Math.abs(p) > s.threshold || r.allowThresholdMove) { 19012 if (!r.allowThresholdMove) { 19013 r.allowThresholdMove = !0, n.startX = n.currentX, n.startY = n.currentY, r.currentTranslate = r.startTranslate, n.diff = t.isHorizontal() ? n.currentX - n.startX : n.currentY - n.startY; 19014 return; 19015 } 19016 } else { 19017 r.currentTranslate = r.startTranslate; 19018 return; 19019 } 19020 !s.followFinger || s.cssMode || ((s.freeMode && s.freeMode.enabled && t.freeMode || s.watchSlidesProgress) && (t.updateActiveIndex(), t.updateSlidesClasses()), s.freeMode && s.freeMode.enabled && t.freeMode && t.freeMode.onTouchMove(), t.updateProgress(r.currentTranslate), t.setTranslate(r.currentTranslate)); 19021} 19022function JF(e) { 19023 let i = this, t = i.touchEventsData, r = e; 19024 r.originalEvent && (r = r.originalEvent); 19025 let s; 19026 if (r.type === "touchend" || r.type === "touchcancel") { 19027 if (s = [...r.changedTouches].find((w) => w.identifier === t.touchId), !s || s.identifier !== t.touchId) return; 19028 } else { 19029 if (t.touchId !== null || r.pointerId !== t.pointerId) return; 19030 s = r; 19031 } 19032 if ([ 19033 "pointercancel", 19034 "pointerout", 19035 "pointerleave", 19036 "contextmenu" 19037 ].includes(r.type) && !(["pointercancel", "contextmenu"].includes(r.type) && (i.browser.isSafari || i.browser.isWebView))) return; 19038 t.pointerId = null, t.touchId = null; 19039 let { params: n, touches: a, rtlTranslate: o, slidesGrid: l, enabled: c } = i; 19040 if (!c || !n.simulateTouch && r.pointerType === "mouse") return; 19041 if (t.allowTouchCallbacks && i.emit("touchEnd", r), t.allowTouchCallbacks = !1, !t.isTouched) { 19042 t.isMoved && n.grabCursor && i.setGrabCursor(!1), t.isMoved = !1, t.startMoving = !1; 19043 return; 19044 } 19045 n.grabCursor && t.isMoved && t.isTouched && (i.allowSlideNext === !0 || i.allowSlidePrev === !0) && i.setGrabCursor(!1); 19046 let d = Xi(), u = d - t.touchStartTime; 19047 if (i.allowClick) { 19048 let w = r.path || r.composedPath && r.composedPath(); 19049 i.updateClickedSlide(w && w[0] || r.target, w), i.emit("tap click", r), u < 300 && d - t.last
19049ClickTime < 300 && i.emit("doubleTap doubleClick", r); 19050 } 19051 if (t.lastClickTime = Xi(), Na(() => { 19052 i.destroyed || (i.allowClick = !0); 19053 }), !t.isTouched || !t.isMoved || !i.swipeDirection || a.diff === 0 && !t.loopSwapReset || t.currentTranslate === t.startTranslate && !t.loopSwapReset) { 19054 t.isTouched = !1, t.isMoved = !1, t.startMoving = !1; 19055 return; 19056 } 19057 t.isTouched = !1, t.isMoved = !1, t.startMoving = !1; 19058 let h; 19059 if (n.followFinger ? h = o ? i.translate : -i.translate : h = -t.currentTranslate, n.cssMode) return; 19060 if (n.freeMode && n.freeMode.enabled) { 19061 i.freeMode.onTouchEnd({ currentPos: h }); 19062 return; 19063 } 19064 let g = h >= -i.maxTranslate() && !i.params.loop, p = 0, m = i.slidesSizesGrid[0]; 19065 for (let w = 0; w < l.length; w += w < n.slidesPerGroupSkip ? 1 : n.slidesPerGroup) { 19066 let T = w < n.slidesPerGroupSkip - 1 ? 1 : n.slidesPerGroup; 19067 typeof l[w + T] < "u" ? (g || h >= l[w] && h < l[w + T]) && (p = w, m = l[w + T] - l[w]) : (g || h >= l[w]) && (p = w, m = l[l.length - 1] - l[l.length - 2]); 19068 } 19069 let S = null, b = null; 19070 n.rewind && (i.isBeginning ? b = n.virtual && n.virtual.enabled && i.virtual ? i.virtual.slides.length - 1 : i.slides.length - 1 : i.isEnd && (S = 0)); 19071 let v = (h - l[p]) / m, y = p < n.slidesPerGroupSkip - 1 ? 1 : n.slidesPerGroup; 19072 if (u > n.longSwipesMs) { 19073 if (!n.longSwipes) { 19074 i.slideTo(i.activeIndex); 19075 return; 19076 } 19077 i.swipeDirection === "next" && (v >= n.longSwipesRatio ? i.slideTo(n.rewind && i.isEnd ? S : p + y) : i.slideTo(p)), i.swipeDirection === "prev" && (v > 1 - n.longSwipesRatio ? i.slideTo(p + y) : b !== null && v < 0 && Math.abs(v) > n.longSwipesRatio ? i.slideTo(b) : i.slideTo(p)); 19078 } else { 19079 if (!n.shortSwipes) { 19080 i.slideTo(i.activeIndex); 19081 return; 19082 } 19083 i.navigation && (r.target === i.navigation.nextEl || r.target === i.navigation.prevEl) ? r.target === i.navigation.nextEl ? i.slideTo(p + y) : i.slideTo(p) : (i.swipeDirection === "next" && i.slideTo(S !== null ? S : p + y), i.swipeDirection === "prev" && i.slideTo(b !== null ? b : p)); 19084 } 19085} 19086function hO() { 19087 let e = this, { params: i, el: t } = e; 19088 if (t && t.offsetWidth === 0) return; 19089 i.breakpoints && e.setBreakpoint(); 19090 let { allowSlideNext: r, allowSlidePrev: s, snapGrid: n } = e, a = e.virtual && e.params.virtual.enabled; 19091 e.allowSlideNext = !0, e.allowSlidePrev = !0, e.updateSize(), e.updateSlides(), e.updateSlidesClasses(); 19092 let o = a && i.loop; 19093 (i.slidesPerView === "auto" || i.slidesPerView > 1) && e.isEnd && !e.isBeginning && !e.params.centeredSlides && !o ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.params.loop && !a ? e.slideToLoop(e.realIndex, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0), e.autoplay && e.autoplay.running && e.autoplay.paused && (clearTimeout(e.autoplay.resizeTimeout), e.autoplay.resizeTimeout = setTimeout(() => { 19094 e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.resume(); 19095 }, 500)), e.allowSlidePrev = s, e.allowSlideNext = r, e.params.watchOverflow && n !== e.snapGrid && e.checkOverflow(); 19096} 19097function QF(e) { 19098 let i = this; 19099 i.enabled && (i.allowClick || (i.params.preventClicks && e.preventDefault(), i.params.preventClicksPropagation && i.animating && (e.stopPropagation(), e.stopImmediatePropagation()))); 19100} 19101function ZF() { 19102 let e = this, { wrapperEl: i, rtlTranslate: t, enabled: r } = e; 19103 if (!r) return; 19104 e.previousTranslate = e.translate, e.isHorizontal() ? e.translate = -i.scrollLeft : e.translate = -i.scrollTop, e.translate === 0 && (e.translate = 0), e.updateActiveIndex(), e.updateSlidesClasses(); 19105 let s, n = e.maxTranslate() - e.minTranslate(); 19106 n === 0 ? s = 0 : s = (e.translate - e.minTranslate()) / n, s !== e.progress && e.updateProgress(t ? -e.translate : e.translate), e.emit("setTranslate", e.translate, !1); 19107} 19108function e3(e) { 19109 let i = this; 19110 rl(i, e.target), !(i.params.cssMode || i.params.slidesPerView !== "auto" && !i.params.autoHeight) && i.update(); 19111} 19112function t3() { 19113 let e = this; 19114 e.documentTouchHandlerProceeded || (e.documentTouchHandlerProceeded = !0, e.params.touchReleaseOnEdges && (e.el.style.touchAction = "auto")); 19115} 19116function i3() { 19117 let e = this, { params: i } = e; 19118 e.onTouchStart = qF.bind(e), e.onTouchMove = XF.bind(e), e.onTouchEnd = JF.bind(e), e.onDocumentTouchStart = t3.bind(e), i.cssMode && (e.onScroll = ZF.bind(e)), e.onClick = QF.bind(e), e.onLoad = e3.bind(e), uS(e, "on"); 19119} 19120function r3() { 19121 uS(this, "off"); 19122} 19123function s3() { 19124 let e = this, { realIndex: i, initialized: t, params: r, el: s } = e, n = r.breakpoints; 19125 if (!n || n && Object.keys(n).length === 0) return; 19126 let a = Ft(), o = r.breakpointsBase === "window" || !r.breakpointsBase ? r.breakpointsBase : "container", l = ["window", "container"].includes(r.breakpointsBase) || !r.breakpointsBase ? e.el : a.querySelector(r.breakpointsBase), c = e.getBreakp
19126oint(n, o, l); 19127 if (!c || e.currentBreakpoint === c) return; 19128 let d = (c in n ? n[c] : void 0) || e.originalParams, u = pS(e, r), h = pS(e, d), g = e.params.grabCursor, p = d.grabCursor, m = r.enabled; 19129 u && !h ? (s.classList.remove(`${r.containerModifierClass}grid`, `${r.containerModifierClass}grid-column`), e.emitContainerClasses()) : !u && h && (s.classList.add(`${r.containerModifierClass}grid`), (d.grid.fill && d.grid.fill === "column" || !d.grid.fill && r.grid.fill === "column") && s.classList.add(`${r.containerModifierClass}grid-column`), e.emitContainerClasses()), g && !p ? e.unsetGrabCursor() : !g && p && e.setGrabCursor(), [ 19130 "navigation", 19131 "pagination", 19132 "scrollbar" 19133 ].forEach((T) => { 19134 if (typeof d[T] > "u") return; 19135 let O = r[T] && r[T].enabled, _ = d[T] && d[T].enabled; 19136 O && !_ && e[T].disable(), !O && _ && e[T].enable(); 19137 }); 19138 let S = d.direction && d.direction !== r.direction, b = r.loop && (d.slidesPerView !== r.slidesPerView || S), v = r.loop; 19139 S && t && e.changeDirection(), Li(e.params, d); 19140 let y = e.params.enabled, w = e.params.loop; 19141 Object.assign(e, { 19142 allowTouchMove: e.params.allowTouchMove, 19143 allowSlideNext: e.params.allowSlideNext, 19144 allowSlidePrev: e.params.allowSlidePrev 19145 }), m && !y ? e.disable() : !m && y && e.enable(), e.currentBreakpoint = c, e.emit("_beforeBreakpoint", d), t && (b ? (e.loopDestroy(), e.loopCreate(i), e.updateSlides()) : !v && w ? (e.loopCreate(i), e.updateSlides()) : v && !w && e.loopDestroy()), e.emit("breakpoint", d); 19146} 19147function n3(e, i, t) { 19148 if (i === void 0 && (i = "window"), !e || i === "container" && !t) return; 19149 let r = !1, s = gt(), n = i === "window" ? s.innerHeight : t.clientHeight, a = Object.keys(e).map((o) => { 19150 if (typeof o == "string" && o.indexOf("@") === 0) { 19151 let l = parseFloat(o.substr(1)); 19152 return { 19153 value: n * l, 19154 point: o 19155 }; 19156 } 19157 return { 19158 value: o, 19159 point: o 19160 }; 19161 }); 19162 a.sort((o, l) => parseInt(o.value, 10) - parseInt(l.value, 10)); 19163 for (let o = 0; o < a.length; o += 1) { 19164 let { point: l, value: c } = a[o]; 19165 i === "window" ? s.matchMedia(`(min-width: ${c}px)`).matches && (r = l) : c <= t.clientWidth && (r = l); 19166 } 19167 return r || "max"; 19168} 19169function a3(e, i) { 19170 let t = []; 19171 return e.forEach((r) => { 19172 typeof r == "object" ? Object.keys(r).forEach((s) => { 19173 r[s] && t.push(i + s); 19174 }) : typeof r == "string" && t.push(i + r); 19175 }), t; 19176} 19177function o3() { 19178 let e = this, { classNames: i, params: t, rtl: r, el: s, device: n } = e, a = a3([ 19179 "initialized", 19180 t.direction, 19181 { "free-mode": e.params.freeMode && t.freeMode.enabled }, 19182 { autoheight: t.autoHeight }, 19183 { rtl: r }, 19184 { grid: t.grid && t.grid.rows > 1 }, 19185 { "grid-column": t.grid && t.grid.rows > 1 && t.grid.fill === "column" }, 19186 { android: n.android }, 19187 { ios: n.ios }, 19188 { "css-mode": t.cssMode }, 19189 { centered: t.cssMode && t.centeredSlides }, 19190 { "watch-progress": t.watchSlidesProgress } 19191 ], t.containerModifierClass); 19192 i.push(...a), s.classList.add(...i), e.emitContainerClasses(); 19193} 19194function l3() { 19195 let e = this, { el: i, classNames: t } = e; 19196 !i || typeof i == "string" || (i.classList.remove(...t), e.emitContainerClasses()); 19197} 19198function c3() { 19199 let e = this, { isLocked: i, params: t } = e, { slidesOffsetBefore: r } = t; 19200 if (r) { 19201 let s = e.slides.length - 1, n = e.slidesGrid[s] + e.slidesSizesGrid[s] + r * 2; 19202 e.isLocked = e.size > n; 19203 } else e.isLocked = e.snapGrid.length === 1; 19204 t.allowSlideNext === !0 && (e.allowSlideNext = !e.isLocked), t.allowSlidePrev === !0 && (e.allowSlidePrev = !e.isLocked), i && i !== e.isLocked && (e.isEnd = !1), i !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock"); 19205} 19206function d3(e, i) { 19207 return function(t) { 19208 t === void 0 && (t = {}); 19209 let r = Object.keys(t)[0], s = t[r]; 19210 if (typeof s != "object" || s === null) { 19211 Li(i, t); 19212 return; 19213 } 19214 if (e[r] === !0 && (e[r] = { enabled: !0 }), r === "navigation" && e[r] && e[r].enabled && !e[r].prevEl && !e[r].nextEl && (e[r].auto = !0), ["pagination", "scrollbar"].indexOf(r) >= 0 && e[r] && e[r].enabled && !e[r].el && (e[r].auto = !0), !(r in e && "enabled" in s)) { 19215 Li(i, t); 19216 return; 19217 } 19218 typeof e[r] == "object" && !("enabled" in e[r]) && (e[r].enabled = !0), e[r] || (e[r] = { enabled: !1 }), Li(i, t); 19219 }; 19220} 19221var aS, mO, oS, lS, cS, fO, dS, iu, rl, ru, su, gO, vO, SO, bO, yO, wO, uS, EO, pS, CO, NO, TO, nu, au, ou, xa; 19222function hS() { 19223 return (hS = Z((() => { 19224 Re(), aS = { 19225 body: {}, 19226 addEventListener() {}, 19227 removeEventListener() {}, 19228 activeElement: { 19229 blur() {}, 19230 nodeName: "" 19231 }, 19232 querySelector() { 19233 return null; 19234 }, 19235 querySelectorAll() { 19236 return []; 19237 }, 19238 getElementById() { 19239 return null; 19240 }, 19241 createEvent() { 19242 return { initEvent() {} }; 19243 }, 19244 createElement() { 19245 return { 19246 children: [], 19247 childNodes: [], 19248 style: {}, 19249 setAttribute() {}, 19250 getElementsByTagName() { 19251 return []; 19252 } 19253 }; 19254 }, 19255 createElementNS() { 19256 return {}; 19257 }, 19258 importNode() { 19259 return null; 19260 }, 19261 location: { 19262 hash: "", 19263 host: "", 19264 hostname: "", 19265 href: "", 19266 origin: "", 19267 pathname: "", 19268 protocol: "", 19269 search: "" 19270 } 19271 }, mO = { 19272 document: aS, 19273 navigator: { userAgent: "" }, 19274 location: { 19275 hash: "", 19276 host: "", 19277 hostname: "", 19278 href: "", 19279 origin: "", 19280 pathname: "", 19281 protocol: "", 19282 search: "" 19283 }, 19284 history: { 19285 replaceState() {}, 19286 pushState() {}, 19287 go() {}, 19288 back() {} 19289 }, 19290 CustomEvent: function() { 19291 return this; 19292 }, 19293 addEventListener() {}, 19294 removeEventListener() {}, 19295 getComputedStyle() { 19296 return { getPropertyValue() { 19297 return ""; 19298 } }; 19299 }, 19300 Image() {}, 19301 Date() {}, 19302 screen: {}, 19303 setTimeout() {}, 19304 clearTimeout() {}, 19305 matchMedia() { 19306 return {}; 19307 }, 19308 requestAnimationFrame(e) { 19309 return typeof setTimeout > "u" ? (e(), null) : setTimeout(e, 0); 19310 }, 19311 cancelAnimationFrame(e) { 19312 typeof setTimeout > "u" || clearTimeout(e); 19313 } 19314 }, fO = { 19315 on(e, i, t) { 19316 let r = this; 19317 if (!r.eventsListeners || r.destroyed || typeof i != "function") return r; 19318 let s = t ? "unshift" : "push"; 19319 return e.split(" ").forEach((n) => { 19320 r.eventsListeners[n] || (r.eventsListeners[n] = []), r.eventsListeners[n][s](i); 19321 }), r; 19322 }, 19323 once(e, i, t) { 19324 let r = this; 19325 if (!r.eventsListeners || r.destroyed || typeof i != "function") return r; 19326 function s() { 19327 r.off(e, s), s.__emitterProxy && delete s.__emitterProxy; 19328 for (var n = arguments.length, a = new Array(n), o = 0; o < n; o++) a[o] = arguments[o]; 19329 i.apply(r, a); 19330 } 19331 return s.__emitterProxy = i, r.on(e, s, t); 19332 }, 19333 onAny(e, i) { 19334 let t = this; 19335 if (!t.eventsListeners || t.destroyed || typeof e != "function") return t; 19336 let r = i ? "unshift" : "push"; 19337 return t.eventsAnyListeners.indexOf(e) < 0 && t.eventsAnyListeners[r](e), t; 19338 }, 19339 offAny(e) { 19340 let i = this; 19341 if (!i.eventsListeners || i.destroyed || !i.eventsAnyListeners) return i; 19342 let t = i.eventsAnyListeners.indexOf(e); 19343 return t >= 0 && i.eventsAnyListeners.splice(t, 1), i; 19344 }, 19345 off(e, i) { 19346 let t = this; 19347 return !t.eventsListeners || t.destroyed || !t.eventsListeners || e.split(" ").forEach((r) => { 19348 typeof i > "u" ? t.eventsListeners[r] = [] : t.eventsListeners[r] && t.eventsListeners[r].forEach((s, n) => { 19349 (s === i || s.__emitterProxy && s.__emitterProxy === i) && t.eventsListeners[r].splice(n, 1); 19350 }); 19351 }), t; 19352 }, 19353 emit() { 19354 let e = this; 19355 if (!e.eventsListeners || e.destroyed || !e.eventsListeners) return e; 19356 let i, t, r; 19357 for (var s = arguments.length, n = new Array(s), a = 0; a < s; a++) n[a] = arguments[a]; 19358 return typeof n[0] == "string" || Array.isArray(n[0]) ? (i = n[0], t = n.slice(1, n.length), r = e) : (i = n[0].events, t = n[0].data, r = n[0].c
19358ontext || e), t.unshift(r), (Array.isArray(i) ? i : i.split(" ")).forEach((o) => { 19359 e.eventsAnyListeners && e.eventsAnyListeners.length && e.eventsAnyListeners.forEach((l) => { 19360 l.apply(r, [o, ...t]); 19361 }), e.eventsListeners && e.eventsListeners[o] && e.eventsListeners[o].forEach((l) => { 19362 l.apply(r, t); 19363 }); 19364 }), e; 19365 } 19366 }, dS = (e, i, t) => { 19367 i && !e.classList.contains(t) ? e.classList.add(t) : !i && e.classList.contains(t) && e.classList.remove(t); 19368 }, iu = (e, i, t) => { 19369 i && !e.classList.contains(t) ? e.classList.add(t) : !i && e.classList.contains(t) && e.classList.remove(t); 19370 }, rl = (e, i) => { 19371 if (!e || e.destroyed || !e.params) return; 19372 let t = () => e.isElement ? "swiper-slide" : `.${e.params.slideClass}`, r = i.closest(t()); 19373 if (r) { 19374 let s = r.querySelector(`.${e.params.lazyPreloaderClass}`); 19375 !s && e.isElement && (r.shadowRoot ? s = r.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`) : requestAnimationFrame(() => { 19376 r.shadowRoot && (s = r.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`), s && s.remove()); 19377 })), s && s.remove(); 19378 } 19379 }, ru = (e, i) => { 19380 if (!e.slides[i]) return; 19381 let t = e.slides[i].querySelector("[loading=\"lazy\"]"); 19382 t && t.removeAttribute("loading"); 19383 }, su = (e) => { 19384 if (!e || e.destroyed || !e.params) return; 19385 let i = e.params.lazyPreloadPrevNext, t = e.slides.length; 19386 if (!t || !i || i < 0) return; 19387 i = Math.min(i, t); 19388 let r = e.params.slidesPerView === "auto" ? e.slidesPerViewDynamic() : Math.ceil(e.params.slidesPerView), s = e.activeIndex; 19389 if (e.params.grid && e.params.grid.rows > 1) { 19390 let a = s, o = [a - i]; 19391 o.push(...Array.from({ length: i }).map((l, c) => a + r + c)), e.slides.forEach((l, c) => { 19392 o.includes(l.column) && ru(e, c); 19393 }); 19394 return; 19395 } 19396 let n = s + r - 1; 19397 if (e.params.rewind || e.params.loop) for (let a = s - i; a <= n + i; a += 1) { 19398 let o = (a % t + t) % t; 19399 (o < s || o > n) && ru(e, o); 19400 } 19401 else for (let a = Math.max(s - i, 0); a <= Math.min(n + i, t - 1); a += 1) a !== s && (a > n || a < s) && ru(e, a); 19402 }, gO = { 19403 updateSize: SF, 19404 updateSlides: bF, 19405 updateAutoHeight: yF, 19406 updateSlidesOffset: wF, 19407 updateSlidesProgress: EF, 19408 updateProgress: CF, 19409 updateSlidesClasses: NF, 19410 updateActiveIndex: kF, 19411 updateClickedSlide: xF 19412 }, vO = { 19413 getTranslate: IF, 19414 setTranslate: OF, 19415 minTranslate: PF, 19416 maxTranslate: $F, 19417 translateTo: AF 19418 }, SO = { 19419 setTransition: _F, 19420 transitionStart: MF, 19421 transitionEnd: RF 19422 }, bO = { 19423 slideTo: LF, 19424 slideToLoop: BF, 19425 slideNext: DF, 19426 slidePrev: FF, 19427 slideReset: zF, 19428 slideToClosest: GF, 19429 slideToClickedSlide: VF 19430 }, yO = { 19431 loopCreate: HF, 19432 loopFix: UF, 19433 loopDestroy: WF 19434 }, wO = { 19435 setGrabCursor: jF, 19436 unsetGrabCursor: YF 19437 }, uS = (e, i) => { 19438 let t = Ft(), { params: r, el: s, wrapperEl: n, device: a } = e, o = !!r.nested, l = i === "on" ? "addEventListener" : "removeEventListener", c = i; 19439 !s || typeof s == "string" || (t[l]("touchstart", e.onDocumentTouchStart, { 19440 passive: !1, 19441 capture: o 19442 }), s[l]("touchstart", e.onTouchStart, { passive: !1 }), s[l]("pointerdown", e.onTouchStart, { passive: !1 }), t[l]("touchmove", e.onTouchMove, { 19443 passive: !1, 19444 capture: o 19445 }), t[l]("pointermove", e.onTouchMove, { 19446 passive: !1, 19447 capture: o 19448 }), t[l]("touchend", e.onTouchEnd, { passive: !0 }), t[l]("pointerup", e.onTouchEnd, { passive: !0 }), t[l]("pointercancel", e.onTouchEnd, { passive: !0 }), t[l]("touchcancel", e.onTouchEnd, { passive: !0 }), t[l]("pointerout", e.onTouchEnd, { passive: !0 }), t[l]("pointerleave", e.onTouchEnd, { passive: !0 }), t[l]("contextmenu", e.onTouchEnd, { passive: !0 }), (r.preventClicks || r.preventClicksPropagation) && s[l]("click", e.onClick, !0), r.cssMode && n[l]("scroll", e.onScroll), r.updateOnWindowResize ? e[c](a.ios || a.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", hO, !0) : e[c]("observerUpdate", hO, !0), s[l]("load", e.onLoad, { capture: !0 })); 19449 }, EO = { 19450 attachEvents: i3, 19451 detachEvents: r3 19452 }, pS = (e, i) => e.grid && i.grid && i.grid.rows > 1, CO = { 19453 setBreakpoint: s3,
19454 getBreakpoint: n3 19455 }, NO = { 19456 addClasses: o3, 19457 removeClasses: l3 19458 }, TO = { checkOverflow: c3 }, nu = { 19459 init: !0, 19460 direction: "horizontal", 19461 oneWayMovement: !1, 19462 swiperElementNodeName: "SWIPER-CONTAINER", 19463 touchEventsTarget: "wrapper", 19464 initialSlide: 0, 19465 speed: 300, 19466 cssMode: !1, 19467 updateOnWindowResize: !0, 19468 resizeObserver: !0, 19469 nested: !1, 19470 createElements: !1, 19471 eventsPrefix: "swiper", 19472 enabled: !0, 19473 focusableElements: "input, select, option, textarea, button, video, label", 19474 width: null, 19475 height: null, 19476 preventInteractionOnTransition: !1, 19477 userAgent: null, 19478 url: null, 19479 edgeSwipeDetection: !1, 19480 edgeSwipeThreshold: 20, 19481 autoHeight: !1, 19482 setWrapperSize: !1, 19483 virtualTranslate: !1, 19484 effect: "slide", 19485 breakpoints: void 0, 19486 breakpointsBase: "window", 19487 spaceBetween: 0, 19488 slidesPerView: 1, 19489 slidesPerGroup: 1, 19490 slidesPerGroupSkip: 0, 19491 slidesPerGroupAuto: !1, 19492 centeredSlides: !1, 19493 centeredSlidesBounds: !1, 19494 slidesOffsetBefore: 0, 19495 slidesOffsetAfter: 0, 19496 normalizeSlideIndex: !0, 19497 centerInsufficientSlides: !1, 19498 watchOverflow: !0, 19499 roundLengths: !1, 19500 touchRatio: 1, 19501 touchAngle: 45, 19502 simulateTouch: !0, 19503 shortSwipes: !0, 19504 longSwipes: !0, 19505 longSwipesRatio: .5, 19506 longSwipesMs: 300, 19507 followFinger: !0, 19508 allowTouchMove: !0, 19509 threshold: 5, 19510 touchMoveStopPropagation: !1, 19511 touchStartPreventDefault: !0, 19512 touchStartForcePreventDefault: !1, 19513 touchReleaseOnEdges: !1, 19514 uniqueNavElements: !0, 19515 resistance: !0, 19516 resistanceRatio: .85, 19517 watchSlidesProgress: !1, 19518 grabCursor: !1, 19519 preventClicks: !0, 19520 preventClicksPropagation: !0, 19521 slideToClickedSlide: !1, 19522 loop: !1, 19523 loopAddBlankSlides: !0, 19524 loopAdditionalSlides: 0, 19525 loopPreventsSliding: !0, 19526 rewind: !1, 19527 allowSlidePrev: !0, 19528 allowSlideNext: !0, 19529 swipeHandler: null, 19530 noSwiping: !0, 19531 noSwipingClass: "swiper-no-swiping", 19532 noSwipingSelector: null, 19533 passiveListeners: !0, 19534 maxBackfaceHiddenSlides: 10, 19535 containerModifierClass: "swiper-", 19536 slideClass: "swiper-slide", 19537 slideBlankClass: "swiper-slide-blank", 19538 slideActiveClass: "swiper-slide-active", 19539 slideVisibleClass: "swiper-slide-visible", 19540 slideFullyVisibleClass: "swiper-slide-fully-visible", 19541 slideNextClass: "swiper-slide-next", 19542 slidePrevClass: "swiper-slide-prev", 19543 wrapperClass: "swiper-wrapper", 19544 lazyPreloaderClass: "swiper-lazy-preloader", 19545 lazyPreloadPrevNext: 0, 19546 runCallbacksOnInit: !0, 19547 _emitClasses: !1 19548 }, au = { 19549 eventsEmitter: fO, 19550 update: gO, 19551 translate: vO, 19552 transition: SO, 19553 slide: bO, 19554 loop: yO, 19555 grabCursor: wO, 19556 events: EO, 19557 breakpoints: CO, 19558 checkOverflow: TO, 19559 classes: NO 19560 }, ou = {}, xa = class Ss { 19561 constructor() { 19562 let i, t; 19563 for (var r = arguments.length, s = new Array(r), n = 0; n < r; n++) s[n] = arguments[n]; 19564 s.length === 1 && s[0].constructor && Object.prototype.toString.call(s[0]).slice(8, -1) === "Object" ? t = s[0] : [i, t] = s, t || (t = {}), t = Li({}, t), i && !t.el && (t.el = i); 19565 let a = Ft(); 19566 if (t.el && typeof t.el == "string" && a.querySelectorAll(t.el).length > 1) { 19567 let c = []; 19568 return a.querySelectorAll(t.el).forEach((d) => { 19569 let u = Li({}, t, { el: d }); 19570 c.push(new Ss(u)); 19571 }), c; 19572 } 19573 let o = this; 19574 o.__swiper__ = !0, o.support = lO(), o.device = cO({ userAgent: t.userAgent }), o.browser = dO(), o.eventsListeners = {}, o.eventsAnyListeners = [], o.modules = [...o.__modules__], t.modules && Array.isArray(t.modules) && o.modules.push(...t.modules); 19575 let l = {}; 19576 return o.modules.forEach((c) => { 19577 c({ 19578 params: t, 19579 swiper: o, 19580 extendParams: d3(t, l), 19581 on: o.on.bind(o), 19582 once: o.once.bind(o), 19583 off: o.off.bind(o), 19584 emit: o.emit.bind(o) 19585 }); 19586 }), o.params = Li({}, Li({}, nu, l), ou, t), o.originalParams = Li({}, o.params), o.passedParams = Li({}, t), o.params && o.params.on && Object.keys(o.params.on).forEac
19586h((c) => { 19587 o.on(c, o.params.on[c]); 19588 }), o.params && o.params.onAny && o.onAny(o.params.onAny), Object.assign(o, { 19589 enabled: o.params.enabled, 19590 el: i, 19591 classNames: [], 19592 slides: [], 19593 slidesGrid: [], 19594 snapGrid: [], 19595 slidesSizesGrid: [], 19596 isHorizontal() { 19597 return o.params.direction === "horizontal"; 19598 }, 19599 isVertical() { 19600 return o.params.direction === "vertical"; 19601 }, 19602 activeIndex: 0, 19603 realIndex: 0, 19604 isBeginning: !0, 19605 isEnd: !1, 19606 translate: 0, 19607 previousTranslate: 0, 19608 progress: 0, 19609 velocity: 0, 19610 animating: !1, 19611 cssOverflowAdjustment() { 19612 return Math.trunc(this.translate / 2 ** 23) * 2 ** 23; 19613 }, 19614 allowSlideNext: o.params.allowSlideNext, 19615 allowSlidePrev: o.params.allowSlidePrev, 19616 touchEventsData: { 19617 isTouched: void 0, 19618 isMoved: void 0, 19619 allowTouchCallbacks: void 0, 19620 touchStartTime: void 0, 19621 isScrolling: void 0, 19622 currentTranslate: void 0, 19623 startTranslate: void 0, 19624 allowThresholdMove: void 0, 19625 focusableElements: o.params.focusableElements, 19626 lastClickTime: 0, 19627 clickTimeout: void 0, 19628 velocities: [], 19629 allowMomentumBounce: void 0, 19630 startMoving: void 0, 19631 pointerId: null, 19632 touchId: null 19633 }, 19634 allowClick: !0, 19635 allowTouchMove: o.params.allowTouchMove, 19636 touches: { 19637 startX: 0, 19638 startY: 0, 19639 currentX: 0, 19640 currentY: 0, 19641 diff: 0 19642 }, 19643 imagesToLoad: [], 19644 imagesLoaded: 0 19645 }), o.emit("_swiper"), o.params.init && o.init(), o; 19646 } 19647 getDirectionLabel(i) { 19648 return this.isHorizontal() ? i : { 19649 width: "height", 19650 "margin-top": "margin-left", 19651 "margin-bottom ": "margin-right", 19652 "margin-left": "margin-top", 19653 "margin-right": "margin-bottom", 19654 "padding-left": "padding-top", 19655 "padding-right": "padding-bottom", 19656 marginRight: "marginBottom" 19657 }[i]; 19658 } 19659 getSlideIndex(i) { 19660 let { slidesEl: t, params: r } = this, s = el(Qt(t, `.${r.slideClass}, swiper-slide`)[0]); 19661 return el(i) - s; 19662 } 19663 getSlideIndexByData(i) { 19664 return this.getSlideIndex(this.slides.find((t) => t.getAttribute("data-swiper-slide-index") * 1 === i)); 19665 } 19666 getSlideIndexWhenGrid(i) { 19667 return this.grid && this.params.grid && this.params.grid.rows > 1 && (this.params.grid.fill === "column" ? i = Math.floor(i / this.params.grid.rows) : this.params.grid.fill === "row" && (i = i % Math.ceil(this.slides.length / this.params.grid.rows))), i; 19668 } 19669 recalcSlides() { 19670 let i = this, { slidesEl: t, params: r } = i; 19671 i.slides = Qt(t, `.${r.slideClass}, swiper-slide`); 19672 } 19673 enable() { 19674 let i = this; 19675 i.enabled || (i.enabled = !0, i.params.grabCursor && i.setGrabCursor(), i.emit("enable")); 19676 } 19677 disable() { 19678 let i = this; 19679 i.enabled && (i.enabled = !1, i.params.grabCursor && i.unsetGrabCursor(), i.emit("disable")); 19680 } 19681 setProgress(i, t) { 19682 let r = this; 19683 i = Math.min(Math.max(i, 0), 1); 19684 let s = r.minTranslate(), n = (r.maxTranslate() - s) * i + s; 19685 r.translateTo(n, typeof t > "u" ? 0 : t), r.updateActiveIndex(), r.updateSlidesClasses(); 19686 } 19687 emitContainerClasses() { 19688 let i = this; 19689 if (!i.params._emitClasses || !i.el) return; 19690 let t = i.el.className.split(" ").filter((r) => r.indexOf("swiper") === 0 || r.indexOf(i.params.containerModifierClass) === 0); 19691 i.emit("_containerClasses", t.join(" ")); 19692 } 19693 getSlideClasses(i) { 19694 let t = this; 19695 return t.destroyed ? "" : i.className.split(" ").filter((r) => r.indexOf("swiper-slide") === 0 || r.indexOf(t.params.slideClass) === 0).join(" "); 19696 } 19697 emitSlidesClasses() { 19698 let i = this; 19699 if (!i.params._emitClasses || !i.el) return; 19700 let t = []; 19701 i.slides.forEach((r) => { 19702 let s = i.getSlideClasses(r); 19703 t.push({ 19704 slideEl: r, 19705 classNames: s 19706 }), i.emit("_slideClass", r, s); 19707 }), i.emit("_slideClasses", t); 19708 } 19709 slidesPerViewDynamic(i, t) { 19710 i === void 0 && (i = "current"), t === void 0 && (t = !1); 19711 let { params: r, slides: s, slidesGrid: n, slidesSizesGrid: a, size: o, activeIndex: l } = this, c = 1; 19712 if (typeof r.slidesPerView == "number") return r.slidesPerView; 19713 if (r.centeredSlides) { 19714 let d = s[l] ? Math.ceil(s[l].swiperSlideSize) : 0, u; 19715 for (let h = l + 1; h < s.length; h += 1) s[h] && !u && (d += Math.ceil(s[h].swiperSlideSize), c += 1, d > o && (u = !0)); 19716 for (let h = l - 1; h >= 0; h -= 1) s[h] && !u && (d += s[h].swiperSlideSize, c += 1, d > o && (u = !0)); 19717 } else if (i === "current") for (let d = l + 1; d < s.length; d += 1) (t ? n[d] + a[d] - n[l] < o : n[d] - n[l] < o) && (c += 1); 19718 else for (let d = l - 1; d >= 0; d -= 1) n[l] - n[d] < o && (c += 1); 19719 return c; 19720 } 19721 update() { 19722 let i = this; 19723 if (!i || i.destroyed) return; 19724 let { snapGrid: t, params: r } = i; 19725 r.breakpoints && i.setBreakpoint(), [...i.el.querySelectorAll("[loading=\"lazy\"]")].forEac
19725h((a) => { 19726 a.complete && rl(i, a); 19727 }), i.updateSize(), i.updateSlides(), i.updateProgress(), i.updateSlidesClasses(); 19728 function s() { 19729 let a = i.rtlTranslate ? i.translate * -1 : i.translate, o = Math.min(Math.max(a, i.maxTranslate()), i.minTranslate()); 19730 i.setTranslate(o), i.updateActiveIndex(), i.updateSlidesClasses(); 19731 } 19732 let n; 19733 if (r.freeMode && r.freeMode.enabled && !r.cssMode) s(), r.autoHeight && i.updateAutoHeight(); 19734 else { 19735 if ((r.slidesPerView === "auto" || r.slidesPerView > 1) && i.isEnd && !r.centeredSlides) { 19736 let a = i.virtual && r.virtual.enabled ? i.virtual.slides : i.slides; 19737 n = i.slideTo(a.length - 1, 0, !1, !0); 19738 } else n = i.slideTo(i.activeIndex, 0, !1, !0); 19739 n || s(); 19740 } 19741 r.watchOverflow && t !== i.snapGrid && i.checkOverflow(), i.emit("update"); 19742 } 19743 changeDirection(i, t) { 19744 t === void 0 && (t = !0); 19745 let r = this, s = r.params.direction; 19746 return i || (i = s === "horizontal" ? "vertical" : "horizontal"), i === s || i !== "horizontal" && i !== "vertical" || (r.el.classList.remove(`${r.params.containerModifierClass}${s}`), r.el.classList.add(`${r.params.containerModifierClass}${i}`), r.emitContainerClasses(), r.params.direction = i, r.slides.forEach((n) => { 19747 i === "vertical" ? n.style.width = "" : n.style.height = ""; 19748 }), r.emit("changeDirection"), t && r.update()), r; 19749 } 19750 changeLanguageDirection(i) { 19751 let t = this; 19752 t.rtl && i === "rtl" || !t.rtl && i === "ltr" || (t.rtl = i === "rtl", t.rtlTranslate = t.params.direction === "horizontal" && t.rtl, t.rtl ? (t.el.classList.add(`${t.params.containerModifierClass}rtl`), t.el.dir = "rtl") : (t.el.classList.remove(`${t.params.containerModifierClass}rtl`), t.el.dir = "ltr"), t.update()); 19753 } 19754 mount(i) { 19755 let t = this; 19756 if (t.mounted) return !0; 19757 let r = i || t.params.el; 19758 if (typeof r == "string" && (r = document.querySelector(r)), !r) return !1; 19759 r.swiper = t, r.parentNode && r.parentNode.host && r.parentNode.host.nodeName === t.params.swiperElementNodeName.toUpperCase() && (t.isElement = !0); 19760 let s = () => `.${(t.params.wrapperClass || "").trim().split(" ").join(".")}`, n = r && r.shadowRoot && r.shadowRoot.querySelector ? r.shadowRoot.querySelector(s()) : Qt(r, s())[0]; 19761 return !n && t.params.createElements && (n = Bi("div", t.params.wrapperClass), r.append(n), Qt(r, `.${t.params.slideClass}`).forEach((a) => { 19762 n.append(a); 19763 })), Object.assign(t, { 19764 el: r, 19765 wrapperEl: n, 19766 slidesEl: t.isElement && !r.parentNode.host.slideSlots ? r.parentNode.host : n, 19767 hostEl: t.isElement ? r.parentNode.host : r, 19768 mounted: !0, 19769 rtl: r.dir.toLowerCase() === "rtl" || Us(r, "direction") === "rtl", 19770 rtlTranslate: t.params.direction === "horizontal" && (r.dir.toLowerCase() === "rtl" || Us(r, "direction") === "rtl"), 19771 wrongRTL: Us(n, "display") === "-webkit-box" 19772 }), !0; 19773 } 19774 init(i) { 19775 let t = this; 19776 if (t.initialized || t.mount(i) === !1) return t; 19777 t.emit("beforeInit"), t.params.breakpoints && t.setBreakpoint(), t.addClasses(), t.updateSize(), t.updateSlides(), t.params.watchOverflow && t.checkOverflow(), t.params.grabCursor && t.enabled && t.setGrabCursor(), t.params.loop && t.virtual && t.params.virtual.enabled ? t.slideTo(t.params.initialSlide + t.virtual.slidesBefore, 0, t.params.runCallbacksOnInit, !1, !0) : t.slideTo(t.params.initialSlide, 0, t.params.runCallbacksOnInit, !1, !0), t.params.loop && t.loopCreate(void 0, !0), t.attachEvents(); 19778 let r = [...t.el.querySelectorAll("[loading=\"lazy\"]")]; 19779 return t.isElement && r.push(...t.hostEl.querySelectorAll("[loading=\"lazy\"]")), r.forEach((s) => { 19780 s.complete ? rl(t, s) : s.addEventListener("load", (n) => { 19781 rl(t, n.target); 19782 }); 19783 }), su(t), t.initialized = !0, su(t), t.emit("init"), t.emit("afterInit"), t; 19784 } 19785 destroy(i, t) { 19786 i === void 0 && (i = !0), t === void 0 && (t = !0); 19787 let r = this, { params: s, el: n, wrapperEl: a, slides: o } = r; 19788 return typeof r.params > "u" || r.destroyed || (r.emit("beforeDestroy"), r.initialized = !1, r.detachEvents(), s.loop && r.loopDestroy(), t && (r.removeClasses(), n && typeof n != "string" && n.removeAttribute("style"), a && a.removeAttribute("style"), o && o.length && o.forEach((l) => { 19789 l.classList.remove(s.slideVisibleClass, s.slideFullyVisibleClass, s.slideActiveClass, s.slideNextClass, s.slidePrevClass), l.removeAttribute("style"), l.removeAttribute("data-swiper-slide-index"); 19790 }
19790)), r.emit("destroy"), Object.keys(r.eventsListeners).forEach((l) => { 19791 r.off(l); 19792 }), i !== !1 && (r.el && typeof r.el != "string" && (r.el.swiper = null), R2(r)), r.destroyed = !0), null; 19793 } 19794 static extendDefaults(i) { 19795 Li(ou, i); 19796 } 19797 static get extendedDefaults() { 19798 return ou; 19799 } 19800 static get defaults() { 19801 return nu; 19802 } 19803 static installModule(i) { 19804 Ss.prototype.__modules__ || (Ss.prototype.__modules__ = []); 19805 let t = Ss.prototype.__modules__; 19806 typeof i == "function" && t.indexOf(i) < 0 && t.push(i); 19807 } 19808 static use(i) { 19809 return Array.isArray(i) ? (i.forEach((t) => Ss.installModule(t)), Ss) : (Ss.installModule(i), Ss); 19810 } 19811 }, Object.keys(au).forEach((e) => { 19812 Object.keys(au[e]).forEach((i) => { 19813 xa.prototype[i] = au[e][i]; 19814 }); 19815 }), xa.use([gF, vF]); 19816 })))(); 19817} 19818function u3(e, i) { 19819 e & 1 && (Rb(), Nt(0, "svg", 0), br(1, "path", 1), mt()); 19820} 19821var kO, lu; 19822function mS() { 19823 return (mS = Z((() => { 19824 de(), Is(), kO = ["*"], lu = (() => { 19825 let e = class { 19826 constructor() { 19827 this.size = Ne("large"), this.direction = Ne("left"), this.inverse = Ne(!1), this.variant = Ne("strong"), this.ariaLabel = ne(() => this.direction() === "right" ? "right arrow" : "left arrow"), this.hostClass = ne(() => `ds-arrow ${`ds-arrow-${this.size()}`} ${`ds-arrow-${this.variant()}`}`); 19828 } 19829 getThemeableProperties() { 19830 return { 19831 size: this.size, 19832 variant: this.variant, 19833 inverse: this.inverse 19834 }; 19835 } 19836 }; 19837 return e.ɵfac = function(i) { 19838 return new (i || e)(); 19839 }, e.ɵcmp = ge({ 19840 type: e, 19841 selectors: [["ds-arrow"]], 19842 hostAttrs: [ 19843 "tabIndex", 19844 "0", 19845 "role", 19846 "button" 19847 ], 19848 hostVars: 7, 19849 hostBindings: function(i, t) { 19850 i & 2 && (Qe("aria-label", t.ariaLabel()), Le(t.hostClass()), yt("ds-right-arrow", t.direction() === "right")("ds-arrow-inverse", t.inverse())); 19851 }, 19852 inputs: { 19853 size: [1, "size"], 19854 direction: [1, "direction"], 19855 inverse: [1, "inverse"], 19856 variant: [1, "variant"] 19857 }, 19858 outputs: { 19859 size: "sizeChange", 19860 direction: "directionChange", 19861 inverse: "inverseChange", 19862 variant: "variantChange" 19863 }, 19864 features: [$i([{ 19865 provide: Nr, 19866 useExisting: e 19867 }])], 19868 ngContentSelectors: kO, 19869 decls: 2, 19870 vars: 0, 19871 consts: [[ 19872 "viewBox", 19873 "0 0 11 20", 19874 "fill", 19875 "currentColor", 19876 "xmlns", 19877 "http://www.w3.org/2000/svg", 19878 1, 19879 "ds-arrow-icon" 19880 ], [ 19881 "fill-rule", 19882 "evenodd", 19883 "clip-rule", 19884 "evenodd", 19885 "d", 19886 "M0.281018 10.3847L9.28102 19.695L10.719 18.305L2.41443 9.71403L10.6946 1.71939L9.30541 0.280582L0.305412 8.97024C0.114541 9.15453 0.00472972 9.40712 0.000154933 9.6724C-0.00441985 9.93768 0.0966153 10.1939 0.281018 10.3847Z" 19887 ]], 19888 template: function(i, t) { 19889 i & 1 && (_t(), Ye(0, 0, null, u3, 2, 0)); 19890 }, 19891 styles: [`.ds-arrow{--%NS%ds-carousel-arrow-radius-border: var(--%NS%semantic-radius-max);--%NS%ds-arrow-box-shadow: var(--%NS%semantic-elevation-raised-2-box-shadow);--%NS%ds-carousel-arrow-bg: transparent;--%NS%ds-carousel-arrow-border-color: transparent;--%NS%ds-carousel-arrow-border-radius: var(--%NS%ds-carousel-arrow-radius-border);--%NS%ds-carousel-arrow-color-icon: transparent;--%NS%ds-carousel-arrow-height: var(--%NS%ds-carousel-arrow-size-height);--%NS%ds-carousel-arrow-width: var(--%NS%ds-carousel-arrow-size-width);box-shadow:var(--%NS%ds-arrow-box-shadow);align-items:center;background-color:var(--%NS%ds-carousel-arrow-bg);border-color:var(--%NS%ds-carousel-arrow-border-color);border-radius:var(--%NS%ds-carousel-arrow-border-radius);box-sizing:border-box;color:var(--%NS%ds-carousel-arrow-color-icon);display:inline-flex;height:var(--%NS%ds-carousel-arrow-height);justify-content:center;-webkit-user-select:none;user-select:none;width:var(--%NS%ds-carousel-arrow-width)}.ds-arrow .ds-arrow-icon{--%NS%ds-carousel-arrow-icon-size: auto;color:var(--%NS%ds-carousel-arrow-color-icon);height:var(--%NS%ds-carousel-arrow-icon-size);width:var(--%NS%ds-carousel-arrow-icon-size)}.ds-arrow .vn-icon{--%NS%vn-icon-size: var(--%NS%ds-carousel-arrow-icon-size);color:var(--%NS%ds-carousel-arrow-color-icon)}.ds-arrow.ds-arrow-strong{--%NS%ds-carousel-arrow-active-color-bg: var(--%NS%semantic-color-surface-container-highest-active);--%NS%ds-carousel-arrow-active-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-carousel-arrow-active-color-icon: var(--%NS%semantic-color-on-surface-base);--%NS%ds-carousel-arrow-enabled-color-bg: var(--%NS%semantic-color-surface-container-highest-base);--%NS%ds-carousel-arrow-enabled-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-carousel-arrow-enabled-color-icon: var(--%NS%semantic-color-on-surface-base);--%NS%ds-carousel-arrow-hover-color-bg: var(--%NS%semantic-color-surface-container-highest-hover);--%NS%ds-carousel-arrow-hover-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-carousel-arrow-hover-color-icon: var(--%NS%semantic-color-on-surface-base)}.ds-arrow.ds-arrow-strong.ds-arrow-inverse{--%NS%ds-carousel-arrow-active-color-bg: var(--%NS%semantic-color-surface-container-highest-active-inverse);--%NS%ds-carousel-arrow-active-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-carousel-arrow-active-color-icon: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-carousel-arrow-enabled-color-bg: var(--%NS%semantic-color-surface-container-highest-base-inverse);--%NS%ds-carousel-arrow-enabled-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-carousel-arrow-enabled-color-icon: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-carousel-arrow-hover-color-bg: var(--%NS%semantic-color-surface-container-highest-hover-inverse);--%NS%ds-carousel-arrow-hover-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-carousel-arrow-hover-color-icon: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-arrow.ds-arrow-strong{--%NS%ds-carousel-arrow-bg: var(--%NS%ds-carousel-arrow-enabled-color-bg);--%NS%ds-carousel-arrow-border-color: var(--%NS%ds-carousel-arrow-enabled-color-border);--%NS%ds-carousel-arrow-color-icon: var(--%NS%ds-carousel-arrow-enabled-color-icon)}@media(hover:hover){.ds-arrow.ds-arrow-strong:hover{--%NS%ds-carousel-arrow-bg: var(--%NS%ds-carousel-arrow-hover-color-bg);--%NS%ds-carousel-arrow-border-color: var(--%NS%ds-carousel-arrow-hover-color-border)}.ds-arrow.ds-arrow-strong:hover .ds-arrow-icon,.ds-arrow.ds-arrow-strong:hover .vn-icon{color:var(--%NS%ds-carousel-arrow-hover-color-icon)}}.ds-arrow.ds-arrow-strong:active{--%NS%ds-carousel-arrow-bg: var(--%NS%ds-carousel-arrow-active-color-bg);--%NS%ds-carousel-arrow-border-color: var(--%NS%ds-carousel-arrow-active-color-border)}.ds-arrow.ds-arrow-strong:active .ds-arrow-icon,.ds-arrow.ds-arrow-strong:active .vn-icon{color:var(--%NS%ds-carousel-arrow-active-color-icon)}.ds-arrow.ds-arrow-subtle{--%NS%ds-carousel-arrow-active-color-bg: var(--%NS%semantic-color-opacity-strong-active);--%NS%ds-carousel-arrow-active-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-carousel-arrow-active-color-icon: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-carousel-arrow-enabled-color-bg: var(--%NS%semantic-color-opacity-strong-base);--%NS%ds-carousel-arrow-enabled-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-carousel-arrow-enabled-color-icon: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-carousel-arrow-hover-color-bg: var(--%NS%semantic-color-opacity-strong-hover);--%NS%ds-carousel-arrow-hover-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-carousel-arrow-hover-color-icon: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-arrow.ds-arrow-subtle.ds-arrow-inverse{--%NS%ds-carousel-arrow-active-color-bg: var(--%NS%semantic-color-opacity-strong-active-inverse);--%NS%ds-carousel-arrow-active-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-carousel-arrow-active-color-icon: var(--%NS%semantic-color-on-surface-base);--%NS%ds-carousel-arrow-enabled-color-bg: var(--%NS%semantic-color-opacity-strong-base-inverse);--%NS%ds-carousel-arrow-enabled-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-carousel-arrow-enabled-color-icon: var(--%NS%semantic-color-on-surface-base);--%NS%ds-carousel-arrow-hover-color-bg: var(--%NS%semantic-color-opacity-strong-hover-inverse);--%NS%ds-carousel-arrow-hover-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-carousel-arrow-hover-color-icon: var(--%NS%semantic-color-on-surface-base)}.ds-arrow.ds-arrow-subtle{--%NS%ds-carousel-arrow-bg: var(--%NS%ds-carousel-arrow-enabled-color-bg);--%NS%ds-carousel-arrow-border-color: var(--%NS%ds-carousel-arrow-enabled-color-border);--%NS%ds-carousel-arrow-color-icon: var(--%NS%ds-carousel-arrow-enabled-color-icon)}@media(hover:hover){.ds-arrow.ds-arrow-subtle:hover{--%NS%ds-carousel-arrow-bg: var(--%NS%ds-carousel-arrow-hover-color-bg);--%NS%ds-carousel-arrow-border-color: var(--%NS%ds-carousel-arrow-hover-color-border)}.ds-arrow.ds-arrow-subtle:hover .ds-arrow-icon,.ds-arrow.ds-arrow-subtle:hover .vn-icon{color:var(--%NS%ds-carousel-arrow-hover-color-icon)}}.ds-arrow.ds-arrow-subtle:active{--%NS%ds-carousel-arrow-bg: var(--%NS%ds-carousel-arrow-active-color-bg);--%NS%ds-carousel-arrow-border-color: var(--%NS%ds-carousel-arrow-active-color-border)}.ds-arrow.ds-arrow-subtle:active .ds-arrow-icon,.ds-arrow.ds-arrow-subtle:active .vn-icon{color:var(--%NS%ds-carousel-arrow-active-color-icon)}.ds-arrow.ds-right-arrow .ds-arrow-icon,.ds-arrow.ds-right-arrow .vn-icon{transform:rotate(180deg)}.ds-arrow.ds-arrow-large{--%NS%ds-carousel-arrow-size-height: var(--%NS%semantic-size-x11);--%NS%ds-carousel-arrow-size-icon: var(--%NS%semantic-size-icon-xlarge);--%NS%ds-carousel-arrow-size-width: var(--%NS%semantic-size-x11)}.ds-arrow.ds-arrow-medium{--%NS%ds-carousel-arrow-size-height: var(--%NS%semantic-size-x9);--%NS%ds-carousel-arrow-size-icon: var(--%NS%semantic-size-icon-large);--%NS%ds-carousel-arrow-size-width: var(--%NS%semantic-size-x9)}.ds-arrow.ds-arrow-small{--%NS%ds-carousel-arrow-size-height: var(--%NS%semantic-size-x6);--%NS%ds-carousel-arrow-size-icon: var(--%NS%semantic-size-icon-small);--%NS%ds-carousel-arrow-size-width: var(--%NS%semantic-size-x6)}.ds-arrow.ds-arrow-large .ds-arrow-icon,.ds-arrow.ds-arrow-large .vn-icon,.ds-arrow.ds-arrow-medium .ds-arrow-icon,.ds-arrow.ds-arrow-medium .vn-icon,.ds-arrow.ds-arrow-small .ds-arrow-icon,.ds-arrow.ds-arrow-small .vn-icon{--%NS%ds-carousel-arrow-icon-size: var(--%NS%ds-carousel-arrow-size-icon)} 19892`], 19893 encapsulation: 2 19894 }), e; 19895 })(); 19896 })))(); 19897} 19898function p3(e, i) { 19899 if (e & 1) { 19900 let t = qe(); 19901 ie(0, "ds-arrow", 4), Ce("click", function() { 19902 return $e(t), Pe(N(2).prevClick.emit()); 19903 }), te(), ie(1, "ds-arrow", 5), Ce("click", function() { 19904 return $e(t), Pe(N(2).nextClick.emit()); 19905 }), te(); 19906 } 19907 if (e & 2) { 19908 let t = N(2); 19909 Le("swiper-button-prev " + t.navPrevClass()), $("size", t.arrowSize())("variant", t.variant())("inverse", t.inverse()), P(), Le("swiper-button-next " + t.navNextClass()), $("size", t.arrowSize())("variant", t.variant())("inverse", t.inverse()); 19910 } 19911} 19912function h3(e, i) { 19913 e & 1 && U(0, p3, 2, 10), e & 2 && W(N().swiperOptions().navigation ? 0 : -1); 19914} 19915function m3(e, i) { 19916 e & 1 && pe(0, "div", 3); 19917} 19918function f3(e, i) { 19919 e & 1 && Ie(0); 19920} 19921function g3(e, i) { 19922 e & 1 && be(0, f3, 1, 0, "ng-container", 6), e & 2 && (N(), $("ngTemplateOutlet", Ge(1))); 19923} 19924function v3(e, i) { 19925 e & 1 && Ie(0); 19926} 19927function S3(e, i) { 19928 e & 1 && be(0, v3, 1, 0, "ng-container", 6), e & 2 && (N(), $("ngTemplateOutlet", Ge(1))); 19929} 19930function xO(e, i) { 19931 return e == null ? 0 : typeof e == "string" ? parseFloat(e) / 100 * i : e; 19932} 19933function b3(e) { 19934 return e == null ? 1 : Math.max(0, Math.min(1, e)); 19935} 19936function IO(e, i) { 19937 return { 19938 rotate: e.rotate ?? -50, 19939 depth: e.depth ?? 300, 19940 scale: b3(e.scale), 19941 stretchPx: xO(e.stretch, i), 19942 modifier: e.modifier ?? 1, 19943 slideShadows: !!e.slideShadows,
19944 rawStretch: e.stretch 19945 }; 19946} 19947function OO(e) { 19948 if (!e) return {}; 19949 let i = {}; 19950 if (e.slidesPerView !== void 0 && (i.slidesPerView = e.slidesPerView), e.spaceBetween !== void 0 && (i.spaceBetween = e.spaceBetween), e.speed !== void 0 && (i.speed = e.speed), e.loop !== void 0 && (i.loop = e.loop), e.centeredSlides !== void 0 && (i.centeredSlides = e.centeredSlides), e.centerInsufficientSlides !== void 0 && (i.centerInsufficientSlides = e.centerInsufficientSlides), e.allowTouchMove !== void 0 && (i.allowTouchMove = e.allowTouchMove), e.autoHeight !== void 0 && (i.autoHeight = e.autoHeight), e.slidesPerGroup !== void 0 && (i.slidesPerGroup = e.slidesPerGroup), e.initialSlide !== void 0 && (i.initialSlide = e.initialSlide), e.watchOverflow !== void 0 && (i.watchOverflow = e.watchOverflow), e.simulateTouch !== void 0 && (i.simulateTouch = e.simulateTouch), e.touchRatio !== void 0 && (i.touchRatio = e.touchRatio), e.longSwipesRatio !== void 0 && (i.longSwipesRatio = e.longSwipesRatio), e.grabCursor !== void 0 && (i.grabCursor = e.grabCursor), e.slideActiveClass !== void 0 && (i.slideActiveClass = e.slideActiveClass), e.slideVisibleClass !== void 0 && (i.slideVisibleClass = e.slideVisibleClass), e.slidePrevClass !== void 0 && (i.slidePrevClass = e.slidePrevClass), e.slideNextClass !== void 0 && (i.slideNextClass = e.slideNextClass), e.navigation !== void 0 && (i.navigation = typeof e.navigation == "boolean" ? e.navigation : !!e.navigation), e.pagination !== void 0) { 19951 if (typeof e.pagination == "boolean") i.pagination = e.pagination; 19952 else if (e.pagination) { 19953 let t = e.pagination, r = {}; 19954 t.type === "bullets" && (r.type = "bullets"), t.clickable !== void 0 && (r.clickable = t.clickable), t.dynamicBullets !== void 0 && (r.dynamicBullets = t.dynamicBullets), t.dynamicMainBullets !== void 0 && (r.dynamicMainBullets = t.dynamicMainBullets), i.pagination = r; 19955 } 19956 } 19957 if (e.freeMode !== void 0 && (typeof e.freeMode == "boolean" ? i.freeMode = e.freeMode : e.freeMode && e.freeMode.sticky ? i.freeMode = !1 : e.freeMode && e.freeMode.enabled !== !1 ? i.freeMode = !0 : i.freeMode = !1), e.autoplay !== void 0 && (typeof e.autoplay == "boolean" ? i.autoplay = e.autoplay : e.autoplay && (i.autoplay = { 19958 delay: e.autoplay.delay, 19959 disableOnInteraction: e.autoplay.disableOnInteraction, 19960 pauseOnMouseEnter: e.autoplay.pauseOnMouseEnter, 19961 waitForTransition: e.autoplay.waitForTransition, 19962 stopOnLastSlide: e.autoplay.stopOnLastSlide 19963 })), e.effect !== void 0 && (i.effect = e.effect), e.coverflowEffect !== void 0 && (i.coverflowEffect = e.coverflowEffect), i.groupSnap = e.groupSnap === !0, e.breakpoints) { 19964 i.breakpoints = {}; 19965 for (let [t, r] of Object.entries(e.breakpoints)) i.breakpoints[Number(t)] = OO(r); 19966 } 19967 return i; 19968} 19969function cu(e, i, t) { 19970 let r = Math.max(1, Math.floor(t)); 19971 if (e <= i) return [0]; 19972 let s = e - i, n = []; 19973 for (let a = 0; a * r <= s; a++) n.push(a * r); 19974 return (n.length === 0 || n[n.length - 1] !== s) && n.push(s), n; 19975} 19976function y3(e, i) { 19977 if (e.size !== i.size) return !1; 19978 for (let t of e) if (!i.has(t)) return !1; 19979 return !0; 19980} 19981function w3(e, i) { 19982 if (e & 1) { 19983 let t = qe(); 19984 ie(0, "div", 3)(1, "ds-arrow", 7), Ce("click", function() { 19985 return $e(t), Pe(N().onPrevArrowClick()); 19986 })("keydown.enter", function() { 19987 return $e(t), Pe(N().onPrevArrowClick()); 19988 })("keydown.space", function(r) { 19989 return $e(t), N().onPrevArrowClick(), Pe(r.preventDefault()); 19990 }), te()(); 19991 } 19992 if (e & 2) { 19993 let t = N(); 19994 $("ngClass", t.navPrevClass()), P(), $("size", t.arrowSize())("variant", t.variant())("inverse", t.inverse()), Qe("aria-label", "Previous slide"); 19995 } 19996} 19997function E3(e, i) { 19998 if (e & 1) { 19999 let t = qe(); 20000 ie(0, "div", 4)(1, "ds-arrow", 8), Ce("click", function() { 20001 return $e(t), Pe(N().onNextArrowClick()); 20002 })("keydown.enter", function() { 20003 return $e(t), Pe(N().onNextArrowClick()); 20004 })("keydown.space", function(r) { 20005 return $e(t), N().onNextArrowClick(), Pe(r.preventDefault()); 20006 }), te()(); 20007 } 20008 if (e & 2) { 20009 let t = N(); 20010 $("ngClass", t.navNextClass()), P(), $("size", t.arrowSize())("variant", t.variant())("inverse", t.inverse()), Qe("aria-label", "Next slide"); 20011 } 20012} 20013function C3(e, i) { 20014 if (e & 1) { 20015 let t = qe(); 20016 ie(0, "button", 12), Ce("click", function() { 20017 let r = $e(t).$implicit; 20018 return Pe(N(2).goToPage(r)); 20019 }), te(); 20020 } 20021 if (e & 2) { 20022 let t = i.$implicit, r = N(2); 20023 Ws("transform", r.isDynamicBullets() ? "scale(" + r.bulletScales().get(t)?.scale + ")" : null), yt("active", t === r.activePage())("dynamic-bullet", r.isDynamicBullets())("dynamic-bullet-hidden", r.isDynamicBullets() && !r.bulletScales().get(t)?.visible), Qe("aria-selected", t === r.activePage())("aria-label", "Go to slide " + (t + 1)); 20024 } 20025} 20026function N3(e, i) { 20027 if (e & 1 && (ie(0, "div", 9)(1, "div", 10), Sr(2, C3, 1, 10, "button", 11, SA), te()()), e & 2) { 20028 let t = N(); 20029 Ws("width", t.bulletWindowWidth()), yt("dynamic", t.isDynamicBullets()), P(), Ws("transform", t.bulletStripTransform()), P(), fr(t.pagesArray()); 20030 } 20031} 20032function T3(e, i) { 20033 e & 1 && Ye(0); 20034} 20035function k3(e, i) { 20036 e & 1 && Ie(0); 20037} 20038function x3(e, i) { 20039 if (e & 1) { 20040 let t = qe(); 20041 ie(0, "vn-native-swiper", 3), Ce("prevClick", function() { 20042 return $e(t), Pe(N().prevClick.emit()); 20043 })("nextClick", function() { 20044 return $e(t), Pe(N().nextClick.emit()); 20045 }), be(1, k3, 1, 0, "ng-container", 4), te(); 20046 } 20047 if (e & 2) { 20048 let t = N(), r = Ge(1); 20049 $("swiperOptions", t.effectiveNativeSwiperOptions())("showPagination", t.showPagination())("swiperClass", t.swiperClass())("inverse", t.inverse())("arrowSize", t.arrowSize())("variant", t.variant())("navPrevClass", t.navPrevClass())("navNextClass", t.navNextClass())("ariaLabel", t.ariaLabel()), P(), $("ngTemplateOutlet", r); 20050 } 20051} 20052function I3(e, i) { 20053 e & 1 && Ie(0); 20054} 20055function O3(e, i) { 20056 if (e & 1) { 20057 let t = qe(); 20058 ie(0, "vn-swiper", 5), Ce("prevClick", function() { 20059 return $e(t), Pe(N().prevClick.emit()); 20060 })("nextClick", function() { 20061 return $e(t), Pe(N().nextClick.emit()); 20062 }), be(1, I3, 1, 0, "ng-container", 4), te(); 20063 } 20064 if (e & 2) { 20065 let t = N(), r = Ge(1); 20066 $("swiperOptions", t.swiperOptions())("showPagination", t.showPagination())("swiperClass", t.swiperClass())("inverse", t.inverse())("arrowSize", t.arrowSize())("variant", t.variant())("navPrevClass", t.navPrevClass())("navNextClass", t.navNextClass())("navOutsideContainer", t.navOutsideContainer()), P(), $("ngTemplateOutlet", r); 20067 } 20068} 20069var PO, $O, Ia, du, sl, AO, _O, fS, MO, uu, gS, vS, SS, bS, yS, wS, ES, RO, LO, BO, DO, CS, NS, FO, zO, GO, nl, VO, HO; 20070function TS() { 20071 return (TS = Z((() => { 20072 Re(), de(), sr(), Ke(), Cs(), Wn(), wt(), jn(), st(), Cr(), Ut(), aM(), hS(), mS(), PO = ["swiperContainer"], $O = ["*"], Ia = (() => { 20073 let e = class { 20074 ngAfterViewInit() { 20075 this.platform.isServer || this.ngZone.runOutsideAngular(() => { 20076 this.swiper = new xa(this.swiperRef.nativeElement, this.scopeNavigationToHost(this.swiperOptions())); 20077 }); 20078 } 20079 constructor() { 20080 this.ngZone = f(qs), this.strategy = f(oM), this.timer = f(Wi), this.platform = f(Ga), this.host = f(di), this.defaultOptions = { 20081 modules: [], 20082 navigation: { 20083 nextEl: ".swiper-button-next", 20084 prevEl: ".swiper-button-prev" 20085 }, 20086 pagination: { 20087 clickable: !0, 20088 el: ".swiper-pagination", 20089 type: "bullets" 20090 } 20091 }, this.inverse = ce(!0), this.showPagination = ce(!0), this.arrowSize = ce("large"), this.variant = ce("strong"), this.navOutsideContainer = ce(!1), this.navPrevClass = ce(""), this.navNextClass = ce(""), this.swiperOptions = ce(this.defaultOptions, { transform: (t) => this.sanitizeOptions(t) }), this.swiperClass = ce("", { transform: (t) => Array.isArray(t) ? t.filter((r) => r !== void 0) : t || "" }), this.prevClick = It(), this.nextClick = It(), Gi(() => { 20092 let t = this.swiperOptions(); 20093 this.swiper && (this.swiper.params = this.syncedSwiperParams(t, this.swiper.params)); 20094 }); 20095 } 20096 sanitizeOptions(t) { 20097 let r = []; 20098 t.navigation === !0 && (t.navigation = this.defaultOptions.navigation, r.push(nO)), t.pagination === !0 && (t.pagination = this.defaultOptions.pagination, r.push(aO)), t.autoplay === !0 && r.push(oO); 20099 let s = xa.prototype.__modules__ ?? []; 20100 return t.modules = [.../* @__PURE__ */ new Set([...t.modules || [], ...r])].filter((n) => !s.includes(n)), t; 20101 } 20102 scopeNavigationToHost(t) { 20103 let r = t.navigation; 20104 if (!r || typeof r != "object") return t; 20105 let s = this.host.nativeElement, n = (a) => typeof a == "string" ? s.querySelector(a) ?? a : a; 20106 return J(C({}, t), { navigation: J(C({}, r), { 20107 nextEl: n(r.nextEl), 20108 prevEl: n(r.prevEl) 20109 }) }); 20110 } 20111 syncedSwiperParams(t, r) { 20112 return Object.entries(t).reduce((s, [n, a]) => { 20113 let o = n, l = r[o], c = typeof a == "object" && typeof l == "object"; 20114 return J(C({}
20114, s), { [o]: c ? C(C({}, l), a) : a }); 20115 }, C({}, r)); 20116 } 20117 forceUpdate() { 20118 this.platform.isServer || this.timer.setTimeoutOutsideAngularZone(() => { 20119 this.swiper.update(), this.swiper.pagination?.render(), this.swiper.pagination?.update(); 20120 }); 20121 } 20122 ngOnDestroy() { 20123 this.strategy.schedule(() => { 20124 this.swiper && !this.swiper.destroyed && this.swiper.destroy(!1, !1); 20125 }).subscribe(); 20126 } 20127 }; 20128 return e.ɵfac = function(i) { 20129 return new (i || e)(); 20130 }, e.ɵcmp = ge({ 20131 type: e, 20132 selectors: [["vn-swiper"]], 20133 viewQuery: function(i, t) { 20134 if (i & 1 && Ks(PO, 5), i & 2) { 20135 let r; 20136 Xs(r = js()) && (t.swiperRef = r.first); 20137 } 20138 }, 20139 inputs: { 20140 inverse: [1, "inverse"], 20141 showPagination: [1, "showPagination"], 20142 arrowSize: [1, "arrowSize"], 20143 variant: [1, "variant"], 20144 navOutsideContainer: [1, "navOutsideContainer"], 20145 navPrevClass: [1, "navPrevClass"], 20146 navNextClass: [1, "navNextClass"], 20147 swiperOptions: [1, "swiperOptions"], 20148 swiperClass: [1, "swiperClass"] 20149 }, 20150 outputs: { 20151 prevClick: "prevClick", 20152 nextClick: "nextClick" 20153 }, 20154 ngContentSelectors: $O, 20155 decls: 9, 20156 vars: 5, 20157 consts: [ 20158 ["navigation", ""], 20159 ["swiperContainer", ""], 20160 [1, "swiper-wrapper"], 20161 [1, "swiper-pagination"], 20162 [ 20163 "direction", 20164 "left", 20165 3, 20166 "click", 20167 "size", 20168 "variant", 20169 "inverse" 20170 ], 20171 [ 20172 "direction", 20173 "right", 20174 3, 20175 "click", 20176 "size", 20177 "variant", 20178 "inverse" 20179 ], 20180 [4, "ngTemplateOutlet"] 20181 ], 20182 template: function(i, t) { 20183 i & 1 && (_t(), be(0, h3, 1, 1, "ng-template", null, 0, ti), ie(2, "div", null, 1)(4, "div", 2), Ye(5), te(), U(6, m3, 1, 0, "div", 3), U(7, g3, 1, 1, "ng-container"), te(), U(8, S3, 1, 1, "ng-container")), i & 2 && (P(2), Le("swiper " + t.swiperClass()), P(4), W(t.showPagination() && t.swiperOptions().pagination ? 6 : -1), P(), W(t.navOutsideContainer() ? -1 : 7), P(), W(t.navOutsideContainer() ? 8 : -1)); 20184 }, 20185 dependencies: [Js, lu], 20186 styles: [".swiper-button-prev[_ngcontent-%COMP%], .swiper-button-next[_ngcontent-%COMP%]{margin-top:0}[_ngcontent-%COMP%]:is(.swiper-button-prev,.swiper-button-next):after{content:\"\"}"], 20187 changeDetection: 1 20188 }), e; 20189 })(), du = (() => { 20190 let e = class { 20191 constructor() { 20192 this.timerService = f(Wi), this.renderer = f(Hr), this.window = f(vt), this.destroyRef = f(ze), this.autoplayPaused = !1, this.delay = 5e3, this.config = {}, this.initialized = !1; 20193 } 20194 get isRunning() { 20195 return this.autoplayTimerId !== void 0 && !this.autoplayPaused; 20196 } 20197 init(t) { 20198 this.delay = t.delay, this.config = t.config, this.onTick = t.onTick, this.getActiveIndex = t.getActiveIndex, this.getSlideCount = t.getSlideCount, this.initialized = !0, this.startAutoplayTimer(), t.config.pauseOnMouseEnter && this.initPauseListeners(t.wrapper, t.scrollContainer), t.config.disableOnInteraction !== !1 && this.initDisableOnInteraction(t.scrollContainer), this.destroyRef.onDestroy(() => this.stop()); 20199 } 20200 start() { 20201 this.initialized && (this.autoplayPaused = !1, this.startAutoplayTimer()); 20202 } 20203 stop() { 20204 this.timerService.clearInterval(this.autoplayTimerId), this.autoplayTimerId = void 0, this.autoplayPaused = !1; 20205 } 20206 resetTimer() { 20207 this.autoplayTimerId === void 0 || this.autoplayPaused || (this.timerService.clearInterval(this.autoplayTimerId), this.startAutoplayTimer()); 20208 } 20209 startAutoplayTimer() { 20210 this.timerService.clearInterval(this.autoplayTimerId), this.autoplayTimerId = this.timerService.setIntervalOutsideAngularZone(() => { 20211 let t = this.getSlideCount?.() ?? 0, r = this.getActiveIndex?.() ?? 0; 20212 if (this.config.stopOnLastSlide && r >= t - 1) { 20213 this.stop(); 20214 return; 20215 } 20216 this.onTick?.(); 20217 }, this.delay); 20218 } 20219 pauseAutoplay() { 20220 this.autoplayPaused = !0, this.timerService.clearInterval(this.autoplayTimerId), this.autoplayTimerId = void 0; 20221 } 20222 resumeAutoplay() { 20223 this.autoplayPaused && (this.autoplayPaused = !1, this.startAutoplayTimer()); 20224 } 20225 initPauseListeners(t, r) { 20226 if (this.window.matchMedia?.("(hover: hover)")?.matches) { 20227 let o = this.renderer.listen(t, "mouseenter", () => this.pauseAutoplay()), l = this.renderer.listen(t, "mouseleave", () => this.resumeAutoplay()); 20228 this.destroyRef.onDestroy(() => { 20229 o(), l(); 20230 }); 20231 } 20232 let s, n = () => { 20233 this.timerService.clearTimeout(s), s = void 0, this.pauseAutoplay(); 20234 }, a = () => { 20235 s = this.timerService.setTimeoutOutsideAngularZone(() => { 20236 this.resumeAutoplay(), s = void 0; 20237 }, this.delay); 20238 }; 20239 r.addEventListener("touchstart", n, { passive: !0 }), r.addEventListener("touchend", a, { passive: !0 }), this.destroyRef.onDestroy(() => { 20240 r.removeEventListener("touchstart", n), r.removeEventListener("touchend", a), this.timerService.clearTimeout(s); 20241 }); 20242 } 20243 initDisableOnInteraction(t) { 20244 let r = this.renderer.listen(t, "pointerdown", () => { 20245 r(), this.stop(); 20246 }); 20247 this.destroyRef.onDestroy(r); 20248 } 20249 }; 20250 return e.ɵfac = function(i) { 20251 return new (i || e)(); 20252 }, e.ɵprov = R({ 20253 token: e, 20254 factory: e.ɵfac 20255 }), e; 20256 })(), sl = .001, AO = 150, _O = 350, fS = (() => { 20257 let e = class { 20258 get active() { 20259 return this.isActive; 20260 } 20261 constructor() { 20262 this.timerService = f(Wi), this.destroyRef = f(ze), this.injector = f(ui), this.mutationObserver = f(wy), this.isActive = !1, this.container = null, this.slideWidth = 0, this.containerWidth = 0, this.resolvedOptions = C({}, MO), this.isSnapping = !1; 20263 let t = f(Bb); 20264 this.renderer = t.createRenderer(null, null), this.destroyRef.onDestroy(() => this.destroy()); 20265 } 20266 init(t) { 20267 this.container = t.container, this.slideWidth = t.slideWidth, this.containerWidth = t.containerWidth, this.resolvedOptions = IO(t.options, t.slideWidth), this.isActive = !0, this.applyCenteringPadding(); 20268 } 20269 update(t) { 20270 if (!this.isActive || !this.container) return; 20271 let { slideWidth: r, containerWidth: s } = this; 20272 if (r <= 0 || s <= 0) return; 20273 let n = t + this.container.clientWidth / 2, a = this.resolvedOptions.modifier, o = this.resolvedOptions.slideShadows, { rotate: l, depth: c, scale: d, stretchPx: u } = this.resolvedOptions, h = this.container.children; 20274 for (let g = 0; g < h.length; g++) { 20275 let p = h[g], m = (n - (p.offsetLeft + p.offsetWidth / 2)) / r, S; 20276 if (typeof a == "function") { 20277 let T = a(m); 20278 S = Number.isFinite(T) ? T : m; 20279 } else S = m * a; 20280 let b = l * S, v = -c * Math.abs(S), y = u * S, w = 1 - (1 - d) * Math.abs(S); 20281 if (Math.abs(y) < sl && (y = 0), Math.abs(v) < sl && (v = 0), Math.abs(b) < sl && (b = 0), Math.abs(w) < sl && (w = 0), this.renderer.setStyle(p, "transform", `translate3d(${y}px, 0px, ${v}px) rotateY(${b}deg) scale(${w})`), this.renderer.setStyle(p, "z-index", `${-Math.abs(Math.round(S)) + 1}`), o) { 20282 let T = p.querySelector(".coverflow-shadow-left"), O = p.querySelector(".coverflow-shadow-right"); 20283 T && this.renderer.setStyle(T, "opacity", `${Math.max(0, S)}`), O && this.renderer.setStyle(O, "opacity", `${Math.max(0, -S)}`); 20284 } 20285 } 20286 this.scheduleSnap(); 20287 } 20288 scheduleSnap() { 20289 this.isSnapping || (this.timerService.clearTimeout(this.snapTimeout), this.snapTimeout = this.timerService.setTimeout(() => this.snapToNearest(), AO)); 20290 } 20291 snapToNearest() { 20292 if (!this.container) return; 20293 let t = this.container.clientWidth, r = this.container.scrollLeft + t / 2, s = this.container.children, n = 1 / 0, a = this.container.scrollLeft; 20294 for (let o = 0; o < s.length; o++) { 20295 let l = s[o], c = l.offsetLeft + l.offsetWidth / 2, d = Math.abs(r - c); 20296 d < n && (n = d, a = c - t / 2); 20297 } 20298 Math.abs(this.container.scrollLeft - a) < 1 || (this.isSnapping = !0, this.container.scrollTo({ 20299 left: a, 20300 behavior: "smooth" 20301 }), this.snapAnimationTimeout = this.timerService.setTimeout(() => { 20302 this.isSnapping = !1; 20303 }, _O)); 20304 } 20305 setOptions(t) { 20306 this.resolvedOptions = IO(t, this.slideWidth); 20307 } 20308 setDimensions(t, r) { 20309 this.slideWidth = t, this.containerWidth = r, this.resolvedOptions.rawStretch != null && (this.resolvedOptions.stretchPx = xO(this.resolvedOptions.rawStretch, t)), this.applyCenteringPadding(); 20310 } 20311 destroy() { 20312 if (this.timerService.clearTimeout(this.snapTimeout), this.timerService.clearTimeout(this.snapAnimationTimeout), this.container) { 20313 let t = this.container.children; 20314 for (let r = 0; r < t.length; r++) { 20315 let s = t[r]; 20316 this.renderer.removeStyle(s, "transform"), this.renderer.removeStyle(s, "z-index"); 20317 } 20318 t.length > 0 && (this.renderer.removeStyle(t[0], "margin-left"), this.renderer.removeStyle(t[t.length - 1], "margin-right")); 20319 } 20320 this.container = null, this.isActive = !1; 20321 } 20322 initLifecycle(t) { 20323 let { container: r, hostRef: s, effectiveOptions: n, getSlideWidth: a, onChildrenChanged: o } = t; 20324 this.tryInit(r, n(), a), this.mutationObserver.observe(r, { 20325 childList: !0, 20326 subtree: !1 20327 }).pipe(he(this.destroyRef)).subscribe(() => { 20328 n().effect === "coverflow" && (o(), this.destroy(), this.tryInit(r, n(), a), this.isActive && this.update(r.scrollLeft)); 20329 }), bl(this.injector, () => { 20330 Gi(() => { 20331 let l = n(); 20332 l.effect === "coverflow" && this.setOptions(l.coverflowEffect ?? {}); 20333 }); 20334 }), this.isActive && (this.renderer.addClass(s.nativeElement, "coverflow-hydrating"), this.update(r.scrollLeft), this.timerService.setTimeout(() => { 20335 this.renderer.removeClass(s.nativeElement, "coverflow-hydrating"), this.renderer.addClass(s.nativeElement, "coverflow-hydrated"); 20336 }, 300)); 20337 } 20338 tryInit(t, r, s) { 20339 if (t.children.length === 0) return; 20340 let n = t.clientWidth; 20341 if (n <= 0) return; 20342 let a = r.slidesPerView === "auto" && t.children.length > 0 ? t.children[0].offsetWidth : s(r, n); 20343 a <= 0 || this.init({ 20344 container: t, 20345 options: r.coverflowEffect ?? {}, 20346 slideWidth: a, 20347 gap: r.spaceBetween ?? 0, 20348 containerWidth: n 20349 }); 20350 } 20351 applyCenteringPadding() { 20352 if (!this.container || this.slideWidth <= 0 || this.containerWidth <= 0) return; 20353 let t = (this.containerWidth - this.slideWidth) / 2, r = this.container.children; 20354 r.length > 0 && (this.renderer.setStyle(r[0], "margin-left", `${t}px`), this.renderer.setStyle(r[r.length - 1], "margin-right", `${t}px`)); 20355 } 20356 }; 20357 return e.ɵfac = function(i) { 20358 return new (i || e)(); 20359 }, e.ɵprov = R({ 20360 token: e, 20361 factory: e.ɵfac 20362 }), e; 20363 })(), MO = { 20364 rotate: -50, 20365 depth: 300, 20366 scale: 1, 20367 stretchPx: 0, 20368 modifier: 1, 20369 slideShadows: !1 20370 }, uu = (() => { 20371 let e = class { 20372 init(t, r, s) { 20373 this.ctx = t, this.autoplayService = r, this.eventBus = s; 20374 } 20375 slideTo(t) { 20376 let r = this.ctx.getContainer(); 20377 if (!r) return; 20378 let s = this.ctx.effectiveOptions(), n = t + this.ctx.prependedCloneCount(); 20379 if (this.usesChildBasedScroll(s)) {
20380 let c = r.children[n]; 20381 c && this.scrollChildIntoContainer(r, c, s, "smooth"), this.autoplayService.resetTimer(); 20382 return; 20383 } 20384 let a = this.getSlideWidth(s, this.ctx.containerWidth()), o = s.spaceBetween ?? 0, l = s.centeredSlides && !this.usesEdgePadding(s) ? (r.clientWidth - a) / 2 : 0; 20385 r.scrollTo({ 20386 left: n * (a + o) - l, 20387 behavior: "smooth" 20388 }), this.autoplayService.resetTimer(); 20389 } 20390 slideNext() { 20391 this.slideInDirection("next"); 20392 } 20393 slidePrev() { 20394 this.slideInDirection("prev"); 20395 } 20396 goToPage(t) { 20397 let r = this.ctx.effectiveOptions(); 20398 if (this.ctx.groupSnapActive()) { 20399 let n = Math.max(1, Math.floor(r.slidesPerGroup ?? 1)), a = typeof r.slidesPerView == "number" ? r.slidesPerView : 1, o = cu(this.ctx.slideElements().length, a, n).length, l = Math.min(Math.max(t, 0), o - 1); 20400 this.slideTo(l * n); 20401 return; 20402 } 20403 let s = typeof r.slidesPerView == "number" ? r.slidesPerView : 1; 20404 this.slideTo(t * s); 20405 } 20406 applyInitialSlide() { 20407 let t = this.ctx.getContainer(); 20408 if (!t) return; 20409 let r = this.ctx.effectiveOptions(), s = r.initialSlide ?? 0, n = this.ctx.prependedCloneCount() + s; 20410 if (this.usesChildBasedScroll(r)) { 20411 let d = t.children[n]; 20412 d && this.scrollChildIntoContainer(t, d, r, "instant"); 20413 return; 20414 } 20415 let a = this.getSlideWidth(r, t.clientWidth), o = r.spaceBetween ?? 0, l = r.centeredSlides && !this.usesEdgePadding(r) ? (t.clientWidth - a) / 2 : 0, c = n * (a + o) - l; 20416 t.scrollTo({ 20417 left: c, 20418 behavior: "instant" 20419 }); 20420 } 20421 getSlideWidth(t, r) { 20422 let s = typeof t.slidesPerView == "number" ? t.slidesPerView : 1; 20423 return (r - (t.spaceBetween ?? 0) * (s - 1)) / s; 20424 } 20425 usesChildBasedScroll(t) { 20426 return t.slidesPerView === "auto"; 20427 } 20428 usesEdgePadding(t) { 20429 return t.slidesPerView !== "auto" && !!t.centeredSlides && !t.loop && t.effect !== "coverflow"; 20430 } 20431 slideInDirection(t) { 20432 let r = this.ctx.getContainer(); 20433 if (!r) return; 20434 let s = this.ctx.effectiveOptions(); 20435 if (s.freeMode) { 20436 let h = t === "next" ? 1 : -1; 20437 r.scrollBy({ 20438 left: h * this.getFreeScrollAmount(s), 20439 behavior: "smooth" 20440 }), this.autoplayService.resetTimer(); 20441 return; 20442 } 20443 let n = t === "next" ? 1 : -1, a = this.ctx.slideElements().length, o = a > 0 ? ((this.ctx.activeIndex() + n) % a + a) % a : 0, l = { 20444 activeIndex: o, 20445 realIndex: o, 20446 slides: this.ctx.slideElements() 20447 }, c = t === "next" ? "slideNextTransitionStart" : "slidePrevTransitionStart", d = t === "next" ? this.ctx.swiperOptions().on?.slideNextTransitionStart : this.ctx.swiperOptions().on?.slidePrevTransitionStart; 20448 if (this.eventBus.fireEvent(c, l, d), this.usesChildBasedScroll(s)) { 20449 this.scrollToSiblingChild(r, n), this.autoplayService.resetTimer(); 20450 return; 20451 } 20452 if (this.ctx.groupSnapActive() && !s.loop && this.slideToAdjacentGroupSnap(r, s, n)) return; 20453 let u = this.getScrollAmount(s); 20454 r.scrollBy({ 20455 left: n * u, 20456 behavior: "smooth" 20457 }), this.autoplayService.resetTimer(); 20458 } 20459 slideToAdjacentGroupSnap(t, r, s) { 20460 let n = this.getSlideWidth(r, this.ctx.containerWidth()) + (r.spaceBetween ?? 0); 20461 if (n <= 0) return !1; 20462 let a = Math.max(1, Math.floor(r.slidesPerGroup ?? 1)), o = typeof r.slidesPerView == "number" ? r.slidesPerView : 1, l = cu(this.ctx.slideElements().length, o, a), c = this.nearestSnapPage(l, n, t.scrollLeft), d = l[Math.min(Math.max(c + s, 0), l.length - 1)]; 20463 return d === void 0 ? !1 : (this.slideTo(d), !0); 20464 } 20465 resolveGroupSnapDragTarget(t, r, s) { 20466 if (!this.ctx.groupSnapActive()) return; 20467 let n = this.ctx.effectiveOptions(); 20468 if (n.loop || n.freeMode) return; 20469 let a = this.getSlideWidth(n, this.ctx.containerWidth()) + (n.spaceBetween ?? 0); 20470 if (a <= 0) return; 20471 let o = Math.max(1, Math.floor(n.slidesPerGroup ?? 1)), l = typeof n.slidesPerView == "number" ? n.slidesPerView : 1, c = cu(this.ctx.slideElements().length, l, o), d = c.length - 1, u = this.nearestSnapPage(c, a, t), h = c[u]; 20472 if (h === void 0) return; 20473 let g = r - t; 20474 if (g === 0) return h; 20475 let p = g > 0 ? 1 : -1, m = Math.min(Math.max(u + p, 0), d), S = c[m]; 20476 if (m === u || S === void 0) return h; 20477 let b = Math.abs((S - h) * a) * s; 20478 if (Math.abs(g) < b) return h; 20479 let v = this.nearestSnapPage(c, a, r); 20480 return c[Math.min(Math.max(p > 0 ? Math.max(v, m) : Math.min(v, m), 0), d)] ?? h; 20481 } 20482 nearestSnapPage(t, r, s) { 20483 let n = 0, a = Number.POSITIVE_INFINITY; 20484 return t.forEach((o, l) => {
20485 let c = Math.abs(o * r - s); 20486 c < a && (a = c, n = l); 20487 }), n; 20488 } 20489 scrollToSiblingChild(t, r) { 20490 let s = t.children.length; 20491 if (s === 0) return; 20492 let n = this.ctx.activeChildIndex(), a = Math.min(Math.max((n < 0 ? 0 : n) + r, 0), s - 1), o = t.children[a]; 20493 if (!o) return; 20494 let l = this.ctx.effectiveOptions(); 20495 this.scrollChildIntoContainer(t, o, l, "smooth"); 20496 } 20497 scrollChildIntoContainer(t, r, s, n) { 20498 let a = s.centeredSlides ? r.offsetLeft - (t.clientWidth - r.offsetWidth) / 2 : r.offsetLeft; 20499 t.scrollTo({ 20500 left: a, 20501 behavior: n 20502 }); 20503 } 20504 getScrollAmount(t) { 20505 let r = t.slidesPerGroup ?? 1, s = t.spaceBetween ?? 0; 20506 return (this.getSlideWidth(t, this.ctx.containerWidth()) + s) * r; 20507 } 20508 getFreeScrollAmount(t) { 20509 let r = typeof t.freeMode == "object" ? t.freeMode : {}; 20510 return r.scrollAmount != null ? r.scrollAmount : r.scrollPercentage != null ? this.ctx.containerWidth() * r.scrollPercentage : this.getSlideWidth(t, this.ctx.containerWidth()); 20511 } 20512 }; 20513 return e.ɵfac = function(i) { 20514 return new (i || e)(); 20515 }, e.ɵprov = R({ 20516 token: e, 20517 factory: e.ɵfac 20518 }), e; 20519 })(), gS = (() => { 20520 let e = class vl { 20521 get isDragging() { 20522 return this._isDragging; 20523 } 20524 constructor() { 20525 this.renderer = f(Hr), this.timerService = f(Wi), this.destroyRef = f(ze), this.deviceService = f(nr), this.autoplay = f(du), this.navigation = f(uu), this.unlistenFns = [], this.startX = 0, this.startScrollLeft = 0, this.pendingScrollLeft = 0, this.pressed = !1, this.dragging = !1, this.pointerId = 0, this.previousSnapType = "", this.previousScrollBehavior = "", this._isDragging = !1, this.touchRatio = 1, this.suppressNextClick = !1, this.destroyRef.onDestroy(() => this.destroy()); 20526 } 20527 shouldEnablePointerDrag(t) { 20528 return !(t.allowTouchMove === !1 || t.simulateTouch !== !0 || this.deviceService.isTouch); 20529 } 20530 init(t) { 20531 this.ctx = t; 20532 let r = t.getContainer(); 20533 if (!r) return; 20534 let s = t.effectiveOptions(); 20535 s.effect !== "coverflow" && (this.container = r, this.touchRatio = this.resolveTouchRatio(s.touchRatio), this.unlistenFns = [ 20536 this.renderer.listen(r, "pointerdown", (n) => this.onPointerDown(n)), 20537 this.renderer.listen(r, "pointermove", (n) => this.onPointerMove(n)), 20538 this.renderer.listen(r, "pointerup", (n) => this.onPointerUp(n)), 20539 this.renderer.listen(r, "pointercancel", (n) => this.onPointerUp(n)), 20540 this.renderer.listen(r, "lostpointercapture", (n) => this.onPointerUp(n)), 20541 this.renderer.listen(r, "dragstart", (n) => this.onDragStart(n)), 20542 this.renderer.listen(r, "click", (n) => this.onClickCapture(n), { capture: !0 }) 20543 ]); 20544 } 20545 resolveCommitRatio(t) { 20546 return typeof t != "number" || !isFinite(t) || t < 0 || t > 1 ? vl.DEFAULT_DRAG_COMMIT_RATIO : t; 20547 } 20548 resolveTouchRatio(t) { 20549 return typeof t != "number" || isNaN(t) || t < 0 || t > 10 ? 1 : t; 20550 } 20551 onPointerDown(t) { 20552 if (!this.container || t.pointerType !== "mouse" || t.button !== 0 || !t.isPrimary) return; 20553 let r = t.target; 20554 for (; r && r !== this.container;) { 20555 if (r.classList?.contains("swiper-no-swiping")) return; 20556 r = r.parentElement; 20557 } 20558 this.startX = t.clientX, this.startScrollLeft = this.container.scrollLeft, this.pointerId = t.pointerId, this.pressed = !0, this.dragging = !1, this.suppressNextClick = !1; 20559 } 20560 onPointerMove(t) { 20561 if (!this.pressed) return; 20562 let r = this.container; 20563 if (!r) return; 20564 let s = t.clientX - this.startX; 20565 !this.dragging && Math.abs(s) <= vl.DRAG_THRESHOLD_PX || (this.dragging || this.promoteToDrag(), t.preventDefault(), this.pendingScrollLeft = this.startScrollLeft - s * this.touchRatio, this.rafId === void 0 && (this.rafId = this.timerService.requestAnimationFrame(() => { 20566 r.scrollLeft = this.pendingScrollLeft, this.rafId = void 0; 20567 }))); 20568 } 20569 promoteToDrag() { 20570 let t = this.container, r = this.ctx; 20571 if (!(!t || !r)) { 20572 this.dragging = !0, this._isDragging = !0; 20573 try { 20574 t.setPointerCapture(this.pointerId); 20575 } catch {} 20576 this.snapRestoreTimerId !== void 0 ? this.cancelPendingSnapRestore() : this.previousSnapType = t.style.scrollSnapType || "", this.renderer.setStyle(t, "scroll-snap-type", "none"), this.previousScrollBehavior = t.style.scrollBehavior || "", this.renderer.setStyle(t, "scroll-behavior", "auto"), this.autoplay.stop(), r.effectiveOptions().grabCursor && this.renderer.setStyle(t, "cursor", "grabbing"), this.renderer.setStyle(t, "user-select", "none"), this.armClickSuppression(); 20577 } 20578 } 20579 armClickSuppression() { 20580 this.suppressNextClick = !0, this.clickSuppressTimerId !== void 0 && this.timerService.clearTimeout(this.clickSuppressTimerId), this.clickSuppressTimerId = this.timerService.setTimeoutOutsideAngularZone(() => { 20581 this.suppressNextClick = !1, this.clickSuppressTimerId = void 0; 20582 }, vl.CLICK_SUPPRESS_WINDOW_MS); 20583 } 20584 onPointerUp(t) { 20585 if (!this.pressed) return; 20586 let r = this.dragging, s = this.startScrollLeft, n = this.pendingScrollLeft; 20587 this.pressed = !1, this._isDragging = !1, this.dragging = !1, this.rafId !== void 0 && (this.timerService.cancelAnimationFrame(this.rafId), this.rafId = void 0); 20588 let a = this.container, o = this.ctx; 20589 if (r && a && o) { 20590 try { 20591 a.releasePointerCapture(this.pointerId); 20592 } catch {} 20593 this.renderer.removeStyle(a, "user-select"); 20594 let l = o.effectiveOptions();
20595 l.grabCursor && this.renderer.removeStyle(a, "cursor"), l.freeMode ? this.restoreScrollBehavior(a) : l.loop ? this.timerService.requestAnimationFrame(() => { 20596 this.restoreScrollBehavior(a), this.restoreSnapType(a); 20597 }) : this.commitGroupSnapPage(o, s, n) ? (this.restoreScrollBehavior(a), this.restoreSnapAfterSettle(a)) : (this.restoreScrollBehavior(a), this.restoreSnapType(a)), (typeof l.autoplay == "object" ? l.autoplay : void 0)?.disableOnInteraction === !1 && this.autoplay.start(); 20598 } 20599 this.startX = 0, this.startScrollLeft = 0, this.pendingScrollLeft = 0, this.pointerId = 0; 20600 } 20601 commitGroupSnapPage(t, r, s) { 20602 if (!t.groupSnapActive()) return !1; 20603 let n = this.resolveCommitRatio(t.effectiveOptions().longSwipesRatio), a = this.navigation.resolveGroupSnapDragTarget(r, s, n); 20604 return a === void 0 ? !1 : (this.navigation.slideTo(a), !0); 20605 } 20606 restoreSnapAfterSettle(t) { 20607 this.cancelPendingSnapRestore(); 20608 let r = () => { 20609 this.cancelPendingSnapRestore(), this.restoreSnapType(t); 20610 }; 20611 this.snapRestoreUnlisten = this.renderer.listen(t, "scrollend", r), this.snapRestoreTimerId = this.timerService.setTimeoutOutsideAngularZone(r, vl.SNAP_RESTORE_FALLBACK_MS); 20612 } 20613 cancelPendingSnapRestore() { 20614 this.snapRestoreUnlisten && (this.snapRestoreUnlisten(), this.snapRestoreUnlisten = void 0), this.snapRestoreTimerId !== void 0 && (this.timerService.clearTimeout(this.snapRestoreTimerId), this.snapRestoreTimerId = void 0); 20615 } 20616 restoreSnapType(t) { 20617 this.previousSnapType ? this.renderer.setStyle(t, "scroll-snap-type", this.previousSnapType) : this.renderer.removeStyle(t, "scroll-snap-type"); 20618 } 20619 restoreScrollBehavior(t) { 20620 this.previousScrollBehavior ? this.renderer.setStyle(t, "scroll-behavior", this.previousScrollBehavior) : this.renderer.removeStyle(t, "scroll-behavior"); 20621 } 20622 onClickCapture(t) { 20623 this.suppressNextClick && (t.preventDefault(), t.stopPropagation(), this.suppressNextClick = !1, this.clickSuppressTimerId !== void 0 && (this.timerService.clearTimeout(this.clickSuppressTimerId), this.clickSuppressTimerId = void 0)); 20624 } 20625 onDragStart(t) { 20626 this.pressed && t.preventDefault(); 20627 } 20628 destroy() { 20629 for (let t of this.unlistenFns) t(); 20630 if (this.unlistenFns = [], this.cancelPendingSnapRestore(), this.rafId !== void 0 && (this.timerService.cancelAnimationFrame(this.rafId), this.rafId = void 0), this.container && this._isDragging) try { 20631 this.container.releasePointerCapture(this.pointerId); 20632 } catch {} 20633 this.clickSuppressTimerId !== void 0 && (this.timerService.clearTimeout(this.clickSuppressTimerId), this.clickSuppressTimerId = void 0), this._isDragging = !1; 20634 } 20635 }; 20636 return e.DRAG_THRESHOLD_PX = 5, e.CLICK_SUPPRESS_WINDOW_MS = 300, e.DEFAULT_DRAG_COMMIT_RATIO = .2, e.SNAP_RESTORE_FALLBACK_MS = 700, e.ɵfac = function(i) { 20637 return new (i || e)(); 20638 }, e.ɵprov = R({ 20639 token: e, 20640 factory: e.ɵfac 20641 }), e; 20642 })(), vS = (() => { 20643 let e = class { 20644 constructor() { 20645 this.eventHandlers = /* @__PURE__ */ new Map(), this.lastFiredIndex = -1, this.enabled = !1, f(ze).onDestroy(() => this.eventHandlers.clear()); 20646 } 20647 enable() { 20648 this.enabled = !0; 20649 } 20650 on(t, r) { 20651 let s = this.eventHandlers.get(t) || []; 20652 s.push(r), this.eventHandlers.set(t, s); 20653 } 20654 fire(t, r) { 20655 if (!this.enabled) return; 20656 let s = this.eventHandlers.get(t) || []; 20657 for (let n of s) this.invokeConsumerCallback(t, n, r); 20658 } 20659 invokeConsumerCallback(t, r, s) { 20660 if (r) try { 20661 r(s); 20662 } catch (n) { 20663 ju() && console.error(`[NativeSwiper] consumer callback for "${t}" threw`, n); 20664 } 20665 } 20666 fireInit(t, r) { 20667 this.enabled && (this.lastFiredIndex = t.activeIndex, this.invokeConsumerCallback("init", r?.init, t), this.fire("init", t), this.invokeConsumerCallback("afterInit", r?.afterInit, t), this.fire("afterInit", t)); 20668 } 20669 fireSlideChangeIfNeeded(t, r, s) { 20670 if (!this.enabled || t === this.lastFiredIndex) return; 20671 this.lastFiredIndex = t; 20672 let n = r(); 20673 this.invokeConsumerCallback("slideChange", s, n), this.fire("slideChange", n); 20674 } 20675 fireEvent(t, r, s) { 20676 this.enabled && (this.invokeConsumerCallback(t, s, r), this.fire(t, r)); 20677 } 20678 setLastFiredIndex(t) { 20679 this.lastFiredIndex = t; 20680 } 20681 }; 20682 return e.ɵfac = function(i) { 20683 return new (i || e)(); 20684 }, e.ɵprov = R({ 20685 token: e, 20686 factory: e.ɵfac 20687 }), e; 20688 })(), SS = (() => { 20689 let e = class q$ { 20690 constructor() { 20691 this.injector = f(ui), this.destroyRef = f(ze), this.mutationObserver = f(wy), this._activeChildIndex = le(-1), this._visibleChildIndices = le(/* @__PURE__ */ new Set()), this.activeChildIndex = this._activeChildIndex.asReadonly(), this.visibleChildIndices = this._visibleChildIndices.asReadonly(); 20692 } 20693 init(t, r) { 20694 let s = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), a; 20695 this.observer = e_((o) => { 20696 for (let u of o) { 20697 s.set(u.target, u.intersectionRatio); 20698 let h = u.boundingClientRect; 20699 n.set(u.target, h.left + h.width / 2), u.rootBounds && (a = u.rootBounds.left + u.rootBounds.width / 2); 20700 } 20701 let l = t.children, c = []; 20702 for (let u = 0; u < l.length; u++) { 20703 let h = l[u];
20704 h && (s.get(h) ?? 0) >= q$.VISIBILITY_THRESHOLD && c.push(u); 20705 } 20706 let d = new Set(c); 20707 if (y3(this._visibleChildIndices(), d) || this._visibleChildIndices.set(d), c.length > 0) { 20708 let u = r() ? this.pickCenteredActive(c, l, n, a) : c[0]; 20709 u !== void 0 && u !== this._activeChildIndex() && this._activeChildIndex.set(u); 20710 } 20711 }, { 20712 root: t, 20713 threshold: [ 20714 0, 20715 .25, 20716 .5, 20717 .75, 20718 1 20719 ] 20720 }, this.injector); 20721 for (let o of t.children) this.observer.observe(o); 20722 } 20723 pickCenteredActive(t, r, s, n) { 20724 let a = t[Math.floor((t.length - 1) / 2)]; 20725 if (n === void 0) return a; 20726 let o = -1, l = 1 / 0; 20727 for (let c of t) { 20728 let d = r[c], u = d ? s.get(d) : void 0; 20729 if (u === void 0) continue; 20730 let h = Math.abs(u - n); 20731 h < l && (l = h, o = c); 20732 } 20733 return o >= 0 ? o : a; 20734 } 20735 observeNewChildren(t) { 20736 if (this.observer) for (let r of t.children) this.observer.observe(r); 20737 } 20738 refresh(t) { 20739 if (this.observer) for (let r of t.children) this.observer.unobserve(r), this.observer.observe(r); 20740 } 20741 seedState(t, r) { 20742 this._activeChildIndex.set(t), this._visibleChildIndices.set(r); 20743 } 20744 resetActiveIndex() { 20745 this._activeChildIndex.set(-1); 20746 } 20747 watchChildren(t, r) { 20748 this.mutationObserver.observe(t, { 20749 childList: !0, 20750 subtree: !1 20751 }).pipe(he(this.destroyRef)).subscribe((s) => { 20752 s.every((n) => [...n.addedNodes, ...n.removedNodes].length > 0 && [...n.addedNodes, ...n.removedNodes].every((a) => a instanceof HTMLElement && a.hasAttribute("data-swiper-clone"))) || (this.resetActiveIndex(), this.observeNewChildren(t), r()); 20753 }); 20754 } 20755 }; 20756 return e.VISIBILITY_THRESHOLD = .5, e.ɵfac = function(i) { 20757 return new (i || e)(); 20758 }, e.ɵprov = R({ 20759 token: e, 20760 factory: e.ɵfac 20761 }), e; 20762 })(), bS = (() => { 20763 let e = class { 20764 get prependedCloneCount() { 20765 return this._prependedCloneCount; 20766 } 20767 get appendedCloneCount() { 20768 return this._appendedCloneCount; 20769 } 20770 constructor() { 20771 this.renderer = f(Hr), this.timerService = f(Wi), this.destroyRef = f(ze), this._prependedCloneCount = 0, this._appendedCloneCount = 0, this.destroyRef.onDestroy(() => { 20772 this.scrollEndTimerId !== void 0 && (this.timerService.clearTimeout(this.scrollEndTimerId), this.scrollEndTimerId = void 0), this.pendingSnapRestoreRafId !== void 0 && (this.timerService.cancelAnimationFrame(this.pendingSnapRestoreRafId), this.pendingSnapRestoreRafId = void 0); 20773 }); 20774 } 20775 setupClones(t, r) { 20776 if (!r.loop) return; 20777 let s = [...t.children]; 20778 if (s.length < 2) return; 20779 let n = typeof r.slidesPerView == "number" ? r.slidesPerView : 2, a = Math.min(Math.ceil(n) + 1, s.length, 3); 20780 for (let o = a - 1; o >= 0; o--) { 20781 let l = s[s.length - a + o]; 20782 if (l) { 20783 let c = this.createClone(l); 20784 this.renderer.insertBefore(t, c, t.firstChild); 20785 } 20786 } 20787 this._prependedCloneCount = a; 20788 for (let o = 0; o < a; o++) { 20789 let l = s[o]; 20790 if (l) { 20791 let c = this.createClone(l); 20792 this.renderer.appendChild(t, c); 20793 } 20794 } 20795 this._appendedCloneCount = a; 20796 } 20797 collectNonCloneSlides(t) { 20798 return [...t.children].filter((r) => !r.dataset.swiperClone); 20799 } 20800 scheduleBoundaryCheck(t) { 20801 !t.opts.loop || this._appendedCloneCount === 0 || (this.scrollEndTimerId !== void 0 && this.timerService.clearTimeout(this.scrollEndTimerId), this.scrollEndTimerId = this.timerService.setTimeoutOutsideAngularZone(() => { 20802 this.scrollEndTimerId = void 0, this.performLoopJump(t); 20803 }, 80)); 20804 } 20805 withSnapDisabled(t, r) { 20806 this.renderer.setStyle(t, "scroll-snap-type", "none"), r(), this.pendingSnapRestoreRafId !== void 0 && this.timerService.cancelAnimationFrame(this.pendingSnapRestoreRafId), this.pendingSnapRestoreRafId = this.timerService.requestAnimationFrame(() => { 20807 this.pendingSnapRestoreRafId = void 0, this.renderer.removeStyle(t, "scroll-snap-type"); 20808 }); 20809 } 20810 createClone(t) { 20811 let r = t.cloneNode(!0); 20812 this.renderer.setAttribute(r, "data-swiper-clone", "true"), this.renderer.setAttribute(r, "aria-hidden", "true"); 20813 let s = t.querySelectorAll("img"); 20814 return r.querySelectorAll("img").forEach((n, a) => { 20815 let o = s[a]; 20816 o && (o.currentSrc && this.renderer.setAttribute(n, "src", o.currentSrc), o.srcset && this.renderer.setAttribute(n, "srcset", o.srcset), o.sizes && this.renderer.setAttribute(n, "sizes", o.sizes)), this.renderer.removeAttribute(n, "loading"), this.renderer.removeAttribute(n, "fetchpriority"), this.renderer.removeStyle(n, "filter"), this.renderer.removeStyle(n, "background-size"), this.renderer.removeStyle(n, "background-image"); 20817 }), r; 20818 } 20819 performLoopJump(t) { 20820 let { container: r, opts: s, realSlideCount: n, activeChildIndex: a, onJump: o } = t; 20821 if (s.slidesPerView === "auto") { 20822 this.performAutoModeJump(r, s, n, a, o); 20823 return; 20824 } 20825 this.performNumericModeJump(t); 20826 } 20827 performAutoModeJump(t, r, s, n, a) { 20828 if (s === 0 || this._appendedCloneCount === 0 || n < 0) return; 20829 let o = this._prependedCloneCount, l = o + s - 1, c; 20830 if (n > l ? c = o + (n - l - 1) : n < o && (c = l - (o - n - 1)), c === void 0) return; 20831 let d = t.children[c]; 20832 if (!d) return; 20833 let u = c;
20834 this.withSnapDisabled(t, () => { 20835 let h = r.centeredSlides ? d.offsetLeft - (t.clientWidth - d.offsetWidth) / 2 : d.offsetLeft; 20836 t.scrollTo({ 20837 left: h, 20838 behavior: "instant" 20839 }), a?.(u); 20840 }); 20841 } 20842 performNumericModeJump(t) { 20843 let { container: r, opts: s, realSlideCount: n, containerWidth: a, onJump: o } = t; 20844 if (a <= 0 || n === 0) return; 20845 let l = typeof s.slidesPerView == "number" ? s.slidesPerView : 1, c = s.spaceBetween ?? 0, d = (a - c * (l - 1)) / l, u = d + c, h = s.centeredSlides ? (a - d) / 2 : 0, g = this._prependedCloneCount * u - h, p = g + n * u, m = r.scrollLeft, S, b; 20846 if (m >= p - u * .5 ? (S = g + (m - p), b = Math.round((S - g) / u)) : m < g - u * .5 && (S = p + (m - g), b = Math.round((S - g) / u)), S === void 0 || b === void 0) return; 20847 b = Math.max(0, Math.min(b, n - 1)); 20848 let v = this._prependedCloneCount + b, y = S; 20849 this.withSnapDisabled(r, () => { 20850 r.scrollTo({ 20851 left: y, 20852 behavior: "instant" 20853 }), o?.(v); 20854 }); 20855 } 20856 }; 20857 return e.ɵfac = function(i) { 20858 return new (i || e)(); 20859 }, e.ɵprov = R({ 20860 token: e, 20861 factory: e.ɵfac 20862 }), e; 20863 })(), yS = 4, wS = (() => { 20864 let e = class { 20865 constructor() { 20866 this.ctx = le(void 0), this.totalPages = ne(() => { 20867 let t = this.ctx(); 20868 if (!t) return 1; 20869 let r = t.effectiveOptions(), s = typeof r.slidesPerView == "number" ? r.slidesPerView : 1, n = t.slideElements().length; 20870 return n === 0 && (n = t.scrollContainer()?.nativeElement?.children?.length ?? 0), t.groupSnapActive() ? cu(n, s, r.slidesPerGroup ?? 1).length : Math.max(1, Math.ceil(n / s)); 20871 }), this.activePage = ne(() => { 20872 let t = this.ctx(); 20873 if (!t) return 0; 20874 let r = t.effectiveOptions(), s = typeof r.slidesPerView == "number" ? r.slidesPerView : 1, n = this.totalPages() - 1; 20875 if (n > 0 && t.isAtEnd()) return n; 20876 let a = t.groupSnapActive() ? Math.max(1, Math.floor(r.slidesPerGroup ?? 1)) : s; 20877 return Math.min(Math.floor(t.activeIndex() / a), Math.max(n, 0)); 20878 }), this.pagesArray = ne(() => Array.from({ length: this.totalPages() }, (t, r) => r)), this.showBullets = ne(() => { 20879 let t = this.ctx(); 20880 if (!t) return !1; 20881 let r = t.effectiveOptions(); 20882 return !r.pagination || !t.showPagination() ? !1 : r.effect === "coverflow" ? this.totalPages() > 1 : t.isScrollable(); 20883 }), this.isDynamicBullets = ne(() => { 20884 let t = this.ctx(); 20885 if (!t) return !1; 20886 let r = t.effectiveOptions(); 20887 return typeof r.pagination == "boolean" ? !1 : r.pagination?.dynamicBullets === !0; 20888 }), this.resolvedDynamicMainBullets = ne(() => { 20889 let t = this.ctx(); 20890 if (!t) return 1; 20891 let r = t.effectiveOptions(), s = typeof r.pagination != "boolean" && r.pagination?.dynamicMainBullets || 1; 20892 return Math.max(1, Math.min(s, this.totalPages())); 20893 }), this.maxVisibleBullets = ne(() => Math.min(this.resolvedDynamicMainBullets() + yS, this.totalPages())), this.bulletScales = ne(() => { 20894 let t = this.totalPages(), r = this.activePage(), s = this.maxVisibleBullets(), n = this.resolvedDynamicMainBullets(), a = /* @__PURE__ */ new Map(); 20895 if (t <= s) { 20896 for (let c = 0; c < t; c++) a.set(c, { 20897 scale: 1, 20898 visible: !0 20899 }); 20900 return a; 20901 } 20902 let o = Math.max(0, Math.min(r - (n - 1), t - n)), l = o + n - 1; 20903 for (let c = 0; c < t; c++) if (c >= o && c <= l) a.set(c, { 20904 scale: 1, 20905 visible: !0 20906 }); 20907 else { 20908 let d = c < o ? o - c : c - l; 20909 d === 1 ? a.set(c, { 20910 scale: .66, 20911 visible: !0 20912 }) : d === 2 ? a.set(c, { 20913 scale: .33, 20914 visible: !0 20915 }) : a.set(c, { 20916 scale: 0, 20917 visible: !1 20918 }); 20919 } 20920 return a; 20921 }), this.dynamicBulletOffsetUnits = le(0), this.dynamicBulletIndex = 0, this.bulletStripTransform = ne(() => this.isDynamicBullets() ? `translate3d(calc(${this.dynamicBulletOffsetUnits()} * (var(--vn-bullet-size) + var(--vn-bullet-gap))), 0, 0)` : null), this.bulletWindowWidth = ne(() => this.isDynamicBullets() ? `calc(${this.maxVisibleBullets()}
20921 * (var(--vn-bullet-size) + var(--vn-bullet-gap)))` : null), Gi(() => { 20922 let t = this.activePage(); 20923 if (!this.isDynamicBullets()) { 20924 this.dynamicBulletIndex = 0, this.previousActivePage = void 0, this.dynamicBulletOffsetUnits.set(0); 20925 return; 20926 } 20927 let r = this.totalPages(), s = this.resolvedDynamicMainBullets(); 20928 s > 1 && this.previousActivePage !== void 0 && (this.dynamicBulletIndex += t - this.previousActivePage, this.dynamicBulletIndex = Math.max(0, Math.min(this.dynamicBulletIndex, s - 1))), this.previousActivePage = t; 20929 let n = Math.max(t - this.dynamicBulletIndex, 0), a = (n + (n + Math.min(r, s) - 1)) / 2, o = Math.min(r, s + yS); 20930 this.dynamicBulletOffsetUnits.set((o - 1) / 2 - a); 20931 }); 20932 } 20933 init(t) { 20934 this.ctx.set(t); 20935 } 20936 }; 20937 return e.ɵfac = function(i) { 20938 return new (i || e)(); 20939 }, e.ɵprov = R({ 20940 token: e, 20941 factory: e.ɵfac 20942 }), e; 20943 })(), ES = (() => { 20944 let e = class X$ { 20945 constructor() { 20946 this.destroyRef = f(ze), this.resizeObserver = f(__), this.timerService = f(Wi), this._scrollLeft = le(0), this._containerWidth = le(0), this._scrollWidth = le(0), this.scrollLeft = this._scrollLeft.asReadonly(), this.containerWidth = this._containerWidth.asReadonly(), this.scrollWidth = this._scrollWidth.asReadonly(); 20947 } 20948 init(t, r) { 20949 this.initScrollListener(t, r), this.initResizeObserver(t, r), this.initSwipeListener(t, r); 20950 } 20951 setContainerWidth(t) { 20952 this._containerWidth.set(t); 20953 } 20954 setScrollLeft(t) { 20955 this._scrollLeft.set(t); 20956 } 20957 syncMetricsFromDom(t) { 20958 this._scrollLeft.set(t.scrollLeft), this._scrollWidth.set(t.scrollWidth), this._containerWidth.set(t.clientWidth); 20959 } 20960 initScrollListener(t, r) { 20961 let s = () => { 20962 this.rafId === void 0 && (this.rafId = this.timerService.requestAnimationFrame(() => { 20963 this._scrollLeft.set(t.scrollLeft), this._scrollWidth.set(t.scrollWidth), r.onScroll(t.scrollLeft), this.rafId = void 0; 20964 })); 20965 }; 20966 t.addEventListener("scroll", s, { passive: !0 }), this.destroyRef.onDestroy(() => { 20967 t.removeEventListener("scroll", s), this.rafId !== void 0 && this.timerService.cancelAnimationFrame(this.rafId); 20968 }); 20969 } 20970 initResizeObserver(t, r) { 20971 this.resizeObserver.observe(t).pipe(he(this.destroyRef)).subscribe((s) => { 20972 let n = s.borderBoxSize?.[0] ?? s.contentBoxSize?.[0]; 20973 n && this._containerWidth.set(n.inlineSize), this._scrollWidth.set(t.scrollWidth), r.onResize(this._containerWidth(), t); 20974 }); 20975 } 20976 initSwipeListener(t, r) { 20977 let s = r.onSwipe; 20978 if (!s) return; 20979 let n = 0, a = 0, o = !1, l = (d) => { 20980 let u = d.touches[0]; 20981 u && (n = u.clientX, a = u.clientY, o = !1); 20982 }, c = (d) => { 20983 if (o) return; 20984 let u = d.touches[0]; 20985 if (!u) return; 20986 let h = u.clientX - n, g = u.clientY - a; 20987 Math.abs(h) < X$.SWIPE_THRESHOLD || Math.abs(h) <= Math.abs(g) || (o = !0, s(h < 0 ? "next" : "prev")); 20988 }; 20989 t.addEventListener("touchstart", l, { passive: !0 }), t.addEventListener("touchmove", c, { passive: !0 }), this.destroyRef.onDestroy(() => { 20990 t.removeEventListener("touchstart", l), t.removeEventListener("touchmove", c); 20991 }); 20992 } 20993 }; 20994 return e.SWIPE_THRESHOLD = 10, e.ɵfac = function(i) { 20995 return new (i || e)(); 20996 }, e.ɵprov = R({ 20997 token: e, 20998 factory: e.ɵfac 20999 }), e; 21000 })(), RO = "swiper-slide-active", LO = "swiper-slide-prev", BO = "swiper-slide-next", DO = "swiper-slide-visible", CS = (() => { 21001 let e = class { 21002 constructor() { 21003 this.renderer = f(Hr), this.destroyRef = f(ze), this.injector = f(ui), this.slideStateMap = /* @__PURE__ */ new WeakMap(), this.pendingSync = !1, this.destroyRef.onDestroy(() => { 21004 this.latestInput = void 0; 21005 }); 21006 } 21007 schedule(t) { 21008 this.latestInput = t, !this.pendingSync && (this.pendingSync = !0, bl(this.injector, () => { 21009 Fn(() => { 21010 this.pendingSync = !1; 21011 let r = this.latestInput; 21012 r && this.syncSlideStateClasses(r); 21013 }); 21014 })); 21015 } 21016 applyNow(t) { 21017 this.latestInput = t, this.syncSlideStateClasses(t); 21018 } 21019 syncSlideStateClasses(t) { 21020 if (t.realSlideCount === 0) return; 21021 let { opts: r, children: s, activeChildIndex: n, visibleChildIndices: a } = t, o = n < 0 ? 0 : n, l = r.slideActiveClass || RO, c = r.slidePrevClass || LO, d = r.slideNextClass || BO, u = r.slideVisibleClass || DO; 21022 for (let h = 0; h < s.length; h++) { 21023 let g = s[h]; 21024 if (!g) continue; 21025 let p = h === o, m = h === o - 1, S = h === o + 1, b = a.size > 0 ? a.has(h) : p || m || S, v = (p ? 1 : 0) | (m ? 2 : 0) | (S ? 4 : 0) | (b ? 8 : 0); 21026 v !== (this.slideStateMap.get(g) ?? 0) && (this.slideStateMap.set(g, v), this.toggleClass(g, l, p), this.toggleClass(g, c, m), this.toggleClass(g, d, S), this.toggleClass(g, u, b)); 21027 } 21028 } 21029 toggleClass(t, r, s) { 21030 s ? this.renderer.addClass(t, r) : this.renderer.removeClass(t, r); 21031 } 21032 }; 21033 return e.ɵfac = function(i) { 21034 return new (i || e)(); 21035 }, e.ɵprov = R({ 21036 token: e, 21037 factory: e.ɵfac 21038 }), e; 21039 })(), NS = { 21040 slidesPerView: 1, 21041 spaceBetween: 0, 21042 speed: 300, 21043 loop: !1, 21044 centeredSlides: !1, 21045 direction: "horizontal", 21046 allowTouchMove: !0, 21047 autoHeight: !1, 21048 slidesPerGroup: 1, 21049 initialSlide: 0, 21050 watchOverflow: !0, 21051 simulateTouch: !1, 21052 touchRatio: 1, 21053 longSwipesRatio: .2, 21054 grabCursor: !1, 21055 groupSnap: !1, 21056 centerInsufficientSlides: !1 21057 }
21057, FO = ["scrollContainer"], zO = ["swiperWrapper"], GO = ["*"], nl = (() => { 21058 let e = class zr { 21059 get isAutoplayRunning() { 21060 return this.autoplayService.isRunning; 21061 } 21062 constructor() { 21063 this.renderer = f(Hr), this.hostRef = f(di), this.destroyRef = f(ze), this.injector = f(ui), this.hydrationTracker = f(ZA), this.activatedRoute = f(gy, { optional: !0 }), this.routeReuseLifecycleRegistry = f($_, { optional: !0 }), this.deviceService = f(nr), this.eventBus = f(vS), this.autoplayService = f(du), this.stateClassSync = f(CS), this.loopManager = f(bS), this.coverflowService = f(fS), this.scrollTracking = f(ES), this.intersectionService = f(SS), this.navigationService = f(uu), this.paginationService = f(wS), this.dragToScrollService = f(gS), this.postHydrationInitRan = !1, this.frozenLayoutSnapshot = le(void 0), this.swiperOptions = ce(NS, { transform: (t) => this.sanitizeOptions(t) }), this.showPagination = ce(!0), this.swiperClass = ce("", { transform: (t) => Array.isArray(t) ? t.filter(Boolean) : t || "" }), this.inverse = ce(!0), this.arrowSize = ce("large"), this.variant = ce("strong"), this.navPrevClass = ce(""), this.navNextClass = ce(""), this.ariaLabel = ce("Carousel"), this.prevClick = It(), this.nextClick = It(), this.consumerClasses = ne(() => { 21064 let t = this.swiperClass(); 21065 return Array.isArray(t) ? t.join(" ") : t; 21066 }), this.isInitialized = ne(() => this.hydrationTracker.isFullyHydrated()), this.scrollContainer = La("scrollContainer"), this.swiperWrapper = La("swiperWrapper"), this.scrollLeft = this.scrollTracking.scrollLeft, this.containerWidth = this.scrollTracking.containerWidth, this.scrollWidth = this.scrollTracking.scrollWidth, this.slideElements = le([]), this.activeChildIndex = this.intersectionService.activeChildIndex, this.visibleChildIndices = this.intersectionService.visibleChildIndices, this.isBrowserReady = le(!1), this.autoplay = { 21067 stop: () => this.autoplayService.stop(), 21068 start: () => { 21069 this.effectiveOptions().autoplay && this.autoplayService.start(); 21070 } 21071 }, this.matchedBreakpointKey = ne(() => { 21072 let t = this.swiperOptions().breakpoints; 21073 if (!t) return; 21074 let r = this.deviceService.windowWidth(), s = -1; 21075 for (let n in t) { 21076 if (!Object.prototype.hasOwnProperty.call(t, n)) continue; 21077 let a = +n; 21078 a <= r && a > s && (s = a); 21079 } 21080 return s === -1 ? void 0 : s; 21081 }), this.effectiveOptions = ne(() => { 21082 let t = this.swiperOptions(), r = this.matchedBreakpointKey(); 21083 return r === void 0 || !t.breakpoints ? t : C(C({}, t), t.breakpoints[r]); 21084 }), this.displayOptions = ne(() => { 21085 let t = this.effectiveOptions(); 21086 if (this.hydrationTracker.isFullyHydrated()) return t; 21087 let r = this.frozenLayoutSnapshot(); 21088 return r ? J(C({}, t), { slidesPerView: r.slidesPerView }) : t; 21089 }), this.groupSnapActive = ne(() => { 21090 let t = this.effectiveOptions(); 21091 if (!(t.groupSnap === !0 && typeof t.slidesPerView == "number" && !t.centeredSlides && !t.freeMode && t.effect !== "coverflow")) return !1; 21092 if (t.loop) { 21093 let r = this.slideElements().length, s = Math.max(1, Math.floor(t.slidesPerGroup ?? 1)); 21094 if (r < t.slidesPerView + s) return !1; 21095 } 21096 return !0; 21097 }), this.isScrollable = ne(() => this.effectiveOptions().watchOverflow === !1 ? !0 : this.scrollWidth() - this.containerWidth() > zr.SCROLL_THRESHOLD), this.centerInsufficient = ne(() => { 21098 let t = this.effectiveOptions(); 21099 return !!t.centerInsufficientSlides && !t.centeredSlides && t.effect !== "coverflow"; 21100 }), this.canScrollPrev = ne(() => !this.hydrationTracker.isFullyHydrated() || !this.isScrollable() ? !1 : this.effectiveOptions().loop ? !0 : this.scrollLeft() > zr.SCROLL_THRESHOLD), this.canScrollNext = ne(() => { 21101 if (!this.hydrationTracker.isFullyHydrated() || !this.isScrollable()) return !1; 21102 if (this.effectiveOptions().loop) return !0; 21103 let t = this.scrollWidth() - this.containerWidth(); 21104 return this.scrollLeft() < t - zr.SCROLL_THRESHOLD; 21105 }), this.showPrevScrollButton = ne(() => !!this.effectiveOptions().navigation && this.canScrollPrev()), this.showNextScrollButton = ne(() => !!this.effectiveOptions().navigation && this.canScrollNext()), this.isAtEnd = ne(() => this.hydrationTracker.isFullyHydrated() && this.isScrollable() && !this.canScrollNext()), this.activeIndex = ne(() => { 21106 let t = this.slideElements().length; 21107 if (t === 0) return 0; 21108 let r = this.activeChildIndex(), s = (r < 0 ? this.loopManager.prependedCloneCount : r) - this.loopManager.prependedCloneCount; 21109 return this.effectiveOptions().loop ? (s % t + t) % t : Math.max(0, Math.min(s, t - 1)); 21110 }), this.showBullets = this.paginationService.showBullets, this.isDynamicBullets = this.paginationService.isDynamicBullets, this.totalPages = this.paginationService.totalPages, this.resolvedDynamicMainBullets = this.paginationService.resolvedDynamicMainBullets, this.bulletScales = this.paginationService.bulletScales, this.bulletStripTransform = this.paginationService.bulletStripTransform, this.bulletWindowWidth = this.paginationService.bulletWindowWidth, this.activePage = this.paginationService.activePage, this.pagesArray = this.paginationService.pagesArray, this.realIndex = ne(() => this.activeIndex()), this.leadPadding = le(0), this.trailPadding = le(0), this.leadPaddingCss = ne(() => `${this.leadPadding()}px`), this.trailPaddingCss = ne(() => `${this.trailPadding()}px`), this.isCoverflowActive = ne(() => this.effectiveOptions().effect === "coverflow"), this.slideShadows = ne(() => { 21111 let t = this.effectiveOptions(); 21112 return t.effect === "coverflow" && !!t.coverflowEffect?.slideShadows; 21113 }), this.coverflowRotate = ne(() => this.effectiveOptions().coverflowEffect?.rotate ?? -50), this.coverflowDepth = ne(() => this.effectiveOptions().coverflowEffect?.depth ?? 300), this.captureConstructorTimeSnapshot(), this.paginationService.init({ 21114 effectiveOptions: this.effectiveOptions, 21115 activeIndex: this.activeIndex, 21116 slideElements: this.slideElements, 21117 isScrollable: this.isScrollable, 21118 showPagination: this.showPagination, 21119 scrollContainer: this.scrollContainer, 21120 isAtEnd: this.isAtEnd, 21121 groupSnapActive: this.groupSnapActive 21122 }), Fn(() => { 21123 if (this.runPreHydrationInit(), this.hydrationTracker.isFullyHydrated()) { 21124 this.runPostHydrationInit(); 21125 return; 21126 } 21127 this.hydrationTracker.isFullyHydrated$.pipe(We((t) => t), Ot(1), he(this.destroyRef)).subscribe(() => this.runPostHydrationInit()); 21128 }), Gi(() => { 21129 if (!this.isBrowserReady()) return; 21130 let t = this.slideElements(), r = this.effectiveOptions(), s = this.activeChildIndex(), n = this.visibleChildIndices(), a = this.scrollContainer()?.nativeElement; 21131 a && this.stateClassSync.schedule({ 21132 container: a, 21133 children: Array.from(a.children), 21134 realSlideCount: t.length, 21135 opts: r, 21136 activeChildIndex: s, 21137 visibleChildIndices: n 21138 }); 21139 }), Gi(() => { 21140 this.isBrowserReady() && (this.effectiveOptions(), this.syncGroupLeaderClasses()); 21141 }), this.routeReuseLifecycleRegistry && this.activatedRoute && this.routeReuseLifecycleRegistry.register(this.activatedRoute).attached$.pipe(he(this.destroyRef)).subscribe(() => this.reinitializeAfterReattach()); 21142 } 21143 reinitializeAfterReattach() { 21144 let t = this.scrollContainer()?.nativeElement; 21145 if (!t) return; 21146 let r = this.effectiveOptions().initialSlide ?? 0, s = this.loopManager.prependedCloneCount + r, n = t.children.length, a = n > 0 ? Math.min(s, n - 1) : 0, o = /* @__PURE__ */ new Set(); 21147 n > 0 && (o.add(a), a - 1 >= 0 && o.add(a - 1), a + 1 < n && o.add(a + 1)), this.intersectionService.seedState(a, o), this.eventBus.setLastFiredIndex(a), t.scrollTo({ 21148 left: 0, 21149 behavior: "instant" 21150 }), this.scrollTracking.setScrollLeft(0), bl(this.injector, () => { 21151 Fn(() => { 21152 let l = this.scrollContainer()?.nativeElement; 21153 l && (this.scrollTracking.setContainerWidth(l.clientWidth), this.updateCenteredEdgePadding(), this.syncGroupLeaderClasses(), this.loopManager.withSnapDisabled(l, () => { 21154 this.applyInitialSlide(); 21155 }), this.scrollTracking.syncMetricsFromDom(l), this.effectiveOptions().effect === "coverflow" && (this.coverflowService.destroy(), this.coverflowService.tryInit(l, this.effectiveOptions(), (c, d) =>
21155 this.getSlideWidth(c, d)))); 21156 }); 21157 }); 21158 } 21159 runPreHydrationInit() { 21160 let t = this.scrollContainer(); 21161 t && !this.effectiveOptions().freeMode && this.renderer.addClass(t.nativeElement, "snap-ready"), this.collectSlideElements(), this.initScrollTracking(), this.initIntersectionTracking(), this.initNavigationService(), this.dragToScrollService.shouldEnablePointerDrag(this.effectiveOptions()) && this.dragToScrollService.init({ 21162 getContainer: () => this.scrollContainer()?.nativeElement, 21163 effectiveOptions: () => this.effectiveOptions(), 21164 groupSnapActive: () => this.groupSnapActive() 21165 }), t && t.nativeElement.scrollTo({ 21166 left: 0, 21167 behavior: "instant" 21168 }); 21169 let r = this.scrollContainer()?.nativeElement; 21170 r && this.intersectionService.watchChildren(r, () => { 21171 this.collectSlideElements(), this.updateCenteredEdgePadding(), this.syncGroupLeaderClasses(), r.scrollTo({ 21172 left: 0, 21173 behavior: "instant" 21174 }); 21175 }), this.isBrowserReady.set(!0), this.initCoverflowEffect(), this.syncGroupLeaderClasses(); 21176 } 21177 captureConstructorTimeSnapshot() { 21178 let t = this.effectiveOptions(); 21179 this.frozenLayoutSnapshot.set({ slidesPerView: t.slidesPerView }); 21180 } 21181 runPostHydrationInit() { 21182 if (this.postHydrationInitRan) return; 21183 this.postHydrationInitRan = !0; 21184 let t = this.scrollContainer()?.nativeElement; 21185 t && this.loopManager.setupClones(t, this.effectiveOptions()), this.collectSlideElements(), this.observeCloneChildren(), this.intersectionService.resetActiveIndex(), this.updateCenteredEdgePadding(), this.syncGroupLeaderClasses(), this.eventBus.enable(); 21186 let r = this.swiperOptions(), s = { 21187 activeIndex: this.activeIndex(), 21188 realIndex: this.realIndex(), 21189 slides: this.slideElements() 21190 }; 21191 this.eventBus.fireInit(s, r.on), bl(this.injector, () => { 21192 Fn(() => { 21193 this.applyInitialSlide(); 21194 let n = this.scrollContainer()?.nativeElement; 21195 n && this.scrollTracking.syncMetricsFromDom(n), this.initAutoplay(), this.refreshIntersectionObserver(); 21196 }); 21197 }); 21198 } 21199 slideTo(t, r) { 21200 this.navigationService.slideTo(t); 21201 } 21202 slideNext(t) { 21203 this.navigationService.slideNext(); 21204 } 21205 slidePrev(t) { 21206 this.navigationService.slidePrev(); 21207 } 21208 onNextArrowClick() { 21209 this.nextClick.emit(), this.slideNext(); 21210 } 21211 onPrevArrowClick() { 21212 this.prevClick.emit(), this.slidePrev(); 21213 } 21214 goToPage(t) { 21215 this.navigationService.goToPage(t); 21216 } 21217 slidePrevOnKey(t) { 21218 this.isScrollable() && (t.preventDefault(), this.slidePrev()); 21219 } 21220 slideNextOnKey(t) { 21221 this.isScrollable() && (t.preventDefault(), this.slideNext()); 21222 } 21223 slideToFirst(t) { 21224 this.isScrollable() && (t.preventDefault(), this.slideTo(0)); 21225 } 21226 slideToLast(t) { 21227 if (!this.isScrollable()) return; 21228 t.preventDefault(); 21229 let r = this.slideElements().length; 21230 r !== 0 && this.slideTo(r - 1); 21231 } 21232 update() {} 21233 forceUpdate() {} 21234 destroy(t, r) {} 21235 get slides() { 21236 return this.slideElements(); 21237 } 21238 get swiper() { 21239 return { 21240 slides: this.slideElements(), 21241 realIndex: this.realIndex(), 21242 params: { loop: !!this.effectiveOptions().loop }, 21243 slideTo: (t) => this.slideTo(t), 21244 slideToLoop: (t) => this.slideTo(t) 21245 }; 21246 } 21247 on(t, r) { 21248 this.eventBus.on(t, r); 21249 } 21250 sanitizeOptions(t) { 21251 let r = C(C({}, NS), t); 21252 return t.navigation === !0 && (r.navigation = {}), t.pagination === !0 && (r.pagination = { 21253 type: "bullets", 21254 clickable: !0 21255 }), t.autoplay === !0 && (r.autoplay = { delay: 5e3 }), t.freeMode === !0 && (r.freeMode = {}), r; 21256 } 21257 getSlideWidth(t, r) { 21258 return this.navigationService.getSlideWidth(t, r); 21259 } 21260 initNavigationService() { 21261 this.navigationService.init({ 21262 getContainer: () => this.scrollContainer()?.nativeElement, 21263 effectiveOptions: () => this.effectiveOptions(), 21264 swiperOptions: () => this.swiperOptions(), 21265 containerWidth: this.containerWidth, 21266 activeIndex: () => this.activeIndex(), 21267 activeChildIndex: this.activeChildIndex, 21268 slideElements: this.slideElements, 21269 prependedCloneCount: () => this.loopManager.prependedCloneCount, 21270 groupSnapActive: () => this.groupSnapActive() 21271 }, this.autoplayService, this.eventBus); 21272 } 21273 initScrollTracking() { 21274 let t = this.scrollContainer()?.nativeElement; 21275 t && this.scrollTracking.init(t, C({ 21276 onScroll: (r) => { 21277 this.effectiveOptions().effect === "coverflow" && this.coverflowService.update(r); 21278 let s = this.activeIndex(); 21279 this.eventBus.fireSlideChangeIfNeeded(s, () => ({ 21280 activeIndex: s, 21281 realIndex: this.realIndex(), 21282 slides: this.slideElements() 21283 }), this.swiperOptions().on?.slideChange), this.loopManager.scheduleBoundaryCheck({ 21284 container: t, 21285 opts: this.effectiveOptions(), 21286 realSlideCount: this.slideElements().length, 21287 containerWidth: this.scrollTracking.containerWidth(), 21288 activeChildIndex: this.activeChildIndex(), 21289 activeIndex: this.activeIndex(), 21290 onJump: (n) => { 21291 this.onLoopBoundaryJump(t, n); 21292 } 21293 }); 21294 }, 21295 onResize: (r, s) => { 21296 if (this.effectiveOptions().effect === "coverflow") { 21297 let n = this.effectiveOptions(), a = n.slidesPerView === "auto" && s.children.length >
21297 0 ? s.children[0].offsetWidth : this.getSlideWidth(n, r); 21298 this.coverflowService.setDimensions(a, r), this.coverflowService.update(s.scrollLeft); 21299 } 21300 this.updateCenteredEdgePadding(), this.syncGroupLeaderClasses(); 21301 } 21302 }, this.effectiveOptions().allowTouchMove === !1 ? {} : { onSwipe: (r) => { 21303 if (this.effectiveOptions().allowTouchMove === !1) return; 21304 let s = { 21305 activeIndex: this.activeIndex(), 21306 realIndex: this.realIndex(), 21307 slides: this.slideElements(), 21308 swipeDirection: r 21309 }; 21310 this.eventBus.fireEvent("sliderMove", s, this.swiperOptions().on?.sliderMove); 21311 } })); 21312 } 21313 onLoopBoundaryJump(t, r) { 21314 let s = t.children.length; 21315 if (s === 0) return; 21316 let n = Math.max(0, Math.min(r, s - 1)), a = /* @__PURE__ */ new Set([n]); 21317 n - 1 >= 0 && a.add(n - 1), n + 1 < s && a.add(n + 1); 21318 let o = this.slideElements().length, l = n - this.loopManager.prependedCloneCount, c = o === 0 ? 0 : this.effectiveOptions().loop ? (l % o + o) % o : Math.max(0, Math.min(l, o - 1)); 21319 this.intersectionService.seedState(n, a), this.eventBus.setLastFiredIndex(c), this.stateClassSync.applyNow({ 21320 container: t, 21321 children: Array.from(t.children), 21322 realSlideCount: o, 21323 opts: this.effectiveOptions(), 21324 activeChildIndex: n, 21325 visibleChildIndices: a 21326 }); 21327 } 21328 initIntersectionTracking() { 21329 let t = this.scrollContainer()?.nativeElement; 21330 t && this.intersectionService.init(t, () => !!this.effectiveOptions().centeredSlides); 21331 } 21332 observeCloneChildren() { 21333 let t = this.scrollContainer()?.nativeElement; 21334 t && this.intersectionService.observeNewChildren(t); 21335 } 21336 refreshIntersectionObserver() { 21337 let t = this.scrollContainer()?.nativeElement; 21338 t && this.intersectionService.refresh(t); 21339 } 21340 collectSlideElements() { 21341 let t = this.scrollContainer()?.nativeElement; 21342 t && this.slideElements.set(this.loopManager.collectNonCloneSlides(t)); 21343 } 21344 updateCenteredEdgePadding() { 21345 let t = this.effectiveOptions(); 21346 if (!(t.centeredSlides && !t.loop && t.effect !== "coverflow")) { 21347 this.leadPadding.set(0), this.trailPadding.set(0); 21348 return; 21349 } 21350 let r = this.hostRef.nativeElement.clientWidth, s = this.slideElements(); 21351 if (s.length === 0 || r === 0) { 21352 this.leadPadding.set(0), this.trailPadding.set(0); 21353 return; 21354 } 21355 let n = s[0], a = s[s.length - 1]; 21356 if (!n || !a) { 21357 this.leadPadding.set(0), this.trailPadding.set(0); 21358 return; 21359 } 21360 this.leadPadding.set(Math.max(0, (r - n.offsetWidth) / 2)), this.trailPadding.set(Math.max(0, (r - a.offsetWidth) / 2)); 21361 } 21362 syncGroupLeaderClasses() { 21363 let t = this.scrollContainer()?.nativeElement; 21364 if (!t) return; 21365 let r = Array.from(t.children); 21366 for (let u of r) this.renderer.removeClass(u, zr.GROUP_LEADER_CLASS), this.renderer.removeClass(u, zr.GROUP_TAIL_CLASS); 21367 if (!this.groupSnapActive()) return; 21368 let s = this.effectiveOptions(), n = this.hydrationTracker.isFullyHydrated() ? s.slidesPerView : this.displayOptions().slidesPerView, a = this.slideElements().length, o = Math.max(1, Math.floor(s.slidesPerGroup ?? 1)), l = typeof n == "number" && a > n, c = this.loopManager.prependedCloneCount, d = this.loopManager.appendedCloneCount; 21369 for (let u = 0; u < a; u++) { 21370 let h = r[u + c]; 21371 h && (u % o === 0 && this.renderer.addClass(h, zr.GROUP_LEADER_CLASS), l && u === a - 1 && this.renderer.addClass(h, zr.GROUP_TAIL_CLASS)); 21372 } 21373 for (let u = 0; u < c; u++) { 21374 let h = r[u]; 21375 if (!h) continue; 21376 let g = a - c + u; 21377 g >= 0 && g % o === 0 && this.renderer.addClass(h, zr.GROUP_LEADER_CLASS); 21378 } 21379 for (let u = 0; u < d; u++) { 21380 let h = r[c + a + u]; 21381 h && u % o === 0 && this.renderer.addClass(h, zr.GROUP_LEADER_CLASS); 21382 } 21383 } 21384 applyInitialSlide() { 21385 this.navigationService.applyInitialSlide(); 21386 } 21387 initCoverflowEffect() { 21388 if (this.effectiveOptions().effect !== "coverflow") return; 21389 let t = this.scrollContainer()?.nativeElement; 21390 t && this.coverflowService.initLifecycle({ 21391 container: t, 21392 hostRef: this.hostRef, 21393 effectiveOptions: this.effectiveOptions, 21394 getSlideWidth: (r, s) =>
21394 this.getSlideWidth(r, s), 21395 onChildrenChanged: () => { 21396 this.collectSlideElements(), this.intersectionService.resetActiveIndex(), this.refreshIntersectionObserver(); 21397 } 21398 }); 21399 } 21400 initAutoplay() { 21401 let t = this.effectiveOptions(); 21402 if (!t.autoplay) return; 21403 let r = typeof t.autoplay == "object" ? t.autoplay : {}, s = r.delay ?? 5e3, n = this.swiperWrapper()?.nativeElement, a = this.scrollContainer()?.nativeElement; 21404 !n || !a || this.autoplayService.init({ 21405 wrapper: n, 21406 scrollContainer: a, 21407 config: r, 21408 delay: s, 21409 onTick: () => this.slideNext(), 21410 getActiveIndex: () => this.activeIndex(), 21411 getSlideCount: () => this.slideElements().length 21412 }); 21413 } 21414 }; 21415 return e.SCROLL_THRESHOLD = 3, e.GROUP_LEADER_CLASS = "native-swiper-group-leader", e.GROUP_TAIL_CLASS = "native-swiper-group-tail", e.ɵfac = function(i) { 21416 return new (i || e)(); 21417 }, e.ɵcmp = ge({ 21418 type: e, 21419 selectors: [["vn-native-swiper"]], 21420 viewQuery: function(i, t) { 21421 i & 1 && Du(t.scrollContainer, FO, 5)(t.swiperWrapper, zO, 5), i & 2 && Ba(2); 21422 }, 21423 hostVars: 2, 21424 hostBindings: function(i, t) { 21425 i & 2 && yt("coverflow-effect", t.effectiveOptions().effect === "coverflow"); 21426 }, 21427 inputs: { 21428 swiperOptions: [1, "swiperOptions"], 21429 showPagination: [1, "showPagination"], 21430 swiperClass: [1, "swiperClass"], 21431 inverse: [1, "inverse"], 21432 arrowSize: [1, "arrowSize"], 21433 variant: [1, "variant"], 21434 navPrevClass: [1, "navPrevClass"], 21435 navNextClass: [1, "navNextClass"], 21436 ariaLabel: [1, "ariaLabel"] 21437 }, 21438 outputs: { 21439 prevClick: "prevClick", 21440 nextClick: "nextClick" 21441 }, 21442 features: [$i([ 21443 vS, 21444 du, 21445 CS, 21446 bS, 21447 fS, 21448 ES, 21449 SS, 21450 uu, 21451 wS, 21452 gS 21453 ])], 21454 ngContentSelectors: GO, 21455 decls: 10, 21456 vars: 37, 21457 consts: [ 21458 ["swiperWrapper", ""], 21459 ["scrollContainer", ""], 21460 [ 21461 "role", 21462 "region", 21463 "aria-roledescription", 21464 "carousel", 21465 1, 21466 "native-swiper-scroll", 21467 "swiper-wrapper", 21468 3, 21469 "keydown.arrowLeft", 21470 "keydown.arrowRight", 21471 "keydown.home", 21472 "keydown.end" 21473 ], 21474 [ 21475 1, 21476 "native-swiper-nav", 21477 "native-swiper-nav-prev", 21478 3, 21479 "ngClass" 21480 ], 21481 [ 21482 1, 21483 "native-swiper-nav", 21484 "native-swiper-nav-next", 21485 3, 21486 "ngClass" 21487 ], 21488 [ 21489 1, 21490 "native-swiper-pagination", 21491 3, 21492 "dynamic", 21493 "width" 21494 ], 21495 [ 21496 "aria-live", 21497 "polite", 21498 "aria-atomic", 21499 "true", 21500 1, 21501 "native-swiper-live" 21502 ], 21503 [ 21504 "direction", 21505 "left", 21506 3, 21507 "click", 21508 "keydown.enter", 21509 "keydown.space", 21510 "size", 21511 "variant", 21512 "inverse" 21513 ], 21514 [ 21515 "direction", 21516 "right", 21517 3, 21518 "click", 21519 "keydown.enter", 21520 "keydown.space", 21521 "size", 21522 "variant", 21523 "inverse" 21524 ], 21525 [1, "native-swiper-pagination"], 21526 [ 21527 "role", 21528 "tablist", 21529 "aria-label", 21530 "Slide navigation", 21531 1, 21532 "native-swiper-pagination-strip" 21533 ], 21534 [ 21535 "role", 21536 "tab", 21537 1, 21538 "native-swiper-bullet", 21539 3, 21540 "active", 21541 "dynamic-bullet", 21542 "dynamic-bullet-hidden", 21543 "transform" 21544 ], 21545 [ 21546 "role", 21547 "tab", 21548 1, 21549 "native-swiper-bullet", 21550 3, 21551 "click" 21552 ] 21553 ], 21554 template: function(i, t) { 21555 if (i & 1 && (_t(), ie(0, "div", null, 0)(2, "div", 2, 1), Ce("keydown.arrowLeft", function(r) { 21556 return t.slidePrevOnKey(r); 21557 })("keydown.arrowRight", function(r) { 21558 return t.slideNextOnKey(r); 21559 })("keydown.home", function(r) { 21560 return t.slideToFirst(r); 21561 })("keydown.end", function(r) { 21562 return t.slideToLast(r); 21563 }), Ye(4), te(), U(5, w3, 2, 5, "div", 3), U(6, E3, 2, 5, "div", 4), U(7, N3, 4, 6, "div", 5), ie(8, "div", 6), Je(9), te()()), i & 2) { 21564 let r = t.displayOptions(); 21565 Le("native-swiper-container swiper " + t.consumerClasses()), yt("swiper-initialized", t.isInitialized()), P(2), Ws("--%NS%swiper-slides-per-view", r.slidesPerView === "auto" ? null : r.slidesPerView)("--%NS%swiper-gap", r.spaceBetween + "px")("--%NS%swiper-lead-padding", t.leadPaddingCss())("--%NS%swiper-trail-padding", t.trailPaddingCss())("perspective", t.isCoverflowActive() ? "1200px" : null)("--%NS%coverflow-rotate", t.isCoverflowActive() ? t.coverflowRotate() : null)("--%NS%coverflow-depth", t.isCoverflowActive() ? t.coverflowDepth() : null), yt("group-snap", t.groupSnapActive())("centered-slides", r.centeredSlides)("center-insufficient", t.centerInsufficient())("no-touch", r.allowTouchMove === !1)("auto-height", r.autoHeight)("slides-per-view-auto", r.slidesPerView === "auto"), Qe("aria-label", t.ariaLabel())("tabindex", t.isScrollable() ? 0 : -1), P(3), W(t.
21565showPrevScrollButton() ? 5 : -1), P(), W(t.showNextScrollButton() ? 6 : -1), P(), W(t.showBullets() ? 7 : -1), P(2), dA("Slide ", t.activeIndex() + 1, " of ", t.slideElements().length); 21566 } 21567 }, 21568 dependencies: [lu, Hi], 21569 styles: ["[_nghost-%COMP%]{display:block;width:100%;container-type:inline-size;container-name:swiper}.native-swiper-container[_ngcontent-%COMP%]{position:relative;width:100%;overflow:visible}.native-swiper-scroll[_ngcontent-%COMP%]{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100cqw - (var(--%NS%swiper-slides-per-view, 1) - 1) * var(--%NS%swiper-gap, 0px)) / var(--%NS%swiper-slides-per-view, 1));gap:var(--%NS%swiper-gap, 0px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:none;scroll-behavior:smooth;overflow-anchor:none;position:relative}.native-swiper-scroll[_ngcontent-%COMP%]:focus-visible{outline-offset:2px}.native-swiper-scroll.snap-ready[_ngcontent-%COMP%]{scroll-snap-type:x mandatory}.native-swiper-scroll[_ngcontent-%COMP%] > *{scroll-snap-align:start}.native-swiper-scroll.group-snap[_ngcontent-%COMP%] > *{scroll-snap-align:none}.native-swiper-scroll.group-snap[_ngcontent-%COMP%] > *.native-swiper-group-leader{scroll-snap-align:start}.native-swiper-scroll.group-snap[_ngcontent-%COMP%] > *.native-swiper-group-tail{scroll-snap-align:end}.native-swiper-scroll.slides-per-view-auto[_ngcontent-%COMP%]{display:flex}.native-swiper-scroll.centered-slides[_ngcontent-%COMP%] > *{scroll-snap-align:center}[_nghost-%COMP%]:not(.coverflow-effect) .native-swiper-scroll.centered-slides.slides-per-view-auto[_ngcontent-%COMP%]:before{content:\"\";flex-shrink:0;min-width:var(--%NS%swiper-lead-padding, 0px);margin-inline-end:calc(-1 * var(--%NS%swiper-gap, 0px))}[_nghost-%COMP%]:not(.coverflow-effect) .native-swiper-scroll.centered-slides.slides-per-view-auto[_ngcontent-%COMP%]:after{content:\"\";flex-shrink:0;min-width:var(--%NS%swiper-trail-padding, 0px);margin-inline-start:calc(-1 * var(--%NS%swiper-gap, 0px))}[_nghost-%COMP%]:not(.coverflow-effect) .native-swiper-scroll.centered-slides[_ngcontent-%COMP%]:not(.slides-per-view-auto){box-sizing:border-box;padding-inline-start:var(--%NS%swiper-lead-padding, 0px);padding-inline-end:var(--%NS%swiper-trail-padding, 0px)}.native-swiper-scroll.center-insufficient[_ngcontent-%COMP%]:not(.centered-slides){justify-content:safe center}.native-swiper-scroll.no-touch[_ngcontent-%COMP%]{overflow-x:hidden;touch-action:none}.native-swiper-scroll.auto-height[_ngcontent-%COMP%]{align-items:start}.native-swiper-scroll[_ngcontent-%COMP%]{scrollbar-width:none;-ms-overflow-style:none}.native-swiper-scroll[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.native-swiper-nav[_ngcontent-%COMP%]{position:absolute;top:50%;transform:translateY(-50%);z-index:1;transition:transform .2s ease,opacity .2s ease}.native-swiper-nav[_ngcontent-%COMP%]:hover, .native-swiper-nav[_ngcontent-%COMP%]:active{will-change:transform}.native-swiper-nav[_ngcontent-%COMP%]:not(:hover):not(:active){will-change:auto}.native-swiper-nav-prev[_ngcontent-%COMP%]{left:1.8%}.native-swiper-nav-next[_ngcontent-%COMP%]{right:1.8%}.native-swiper-pagination[_ngcontent-%COMP%]{--%NS%vn-bullet-size: 8px;--%NS%vn-bullet-gap: 4px;display:flex;justify-content:center;padding:var(--%NS%semantic-spacing-container-padding-lg) 0}.native-swiper-pagination.dynamic[_ngcontent-%COMP%]{justify-content:flex-start;margin-inline:auto;overflow:hidden}.native-swiper-pagination-strip[_ngcontent-%COMP%]{display:flex;flex:none;gap:var(--%NS%vn-bullet-gap)}.native-swiper-pagination.dynamic[_ngcontent-%COMP%] .native-swiper-pagination-strip[_ngcontent-%COMP%]{transition:transform .3s ease}.native-swiper-bullet[_ngcontent-%COMP%]{width:var(--%NS%vn-bullet-size);height:var(--%NS%vn-bullet-size);flex:none;border-radius:var(--%NS%semantic-radius-max);border:none;padding:0;cursor:pointer;transition:background .2s ease,transform .2s ease}.native-swiper-bullet[_ngcontent-%COMP%]:focus-visible{outline-offset:2px}.native-swiper-bullet.active[_ngcontent-%COMP%]{transform:scale(1.2)}.native-swiper-bullet.dynamic-bullet[_ngcontent-%COMP%]{transition:transform .2s ease}.native-swiper-bullet.dynamic-bullet.active[_ngcontent-%COMP%]{transform:scale(1)}.native-swiper-bullet.dynamic-bullet.dynamic-bullet-hidden[_ngcontent-%COMP%]{transition:transform .2s ease}
21569.native-swiper-live[_ngcontent-%COMP%]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.coverflow-effect[_nghost-%COMP%] .native-swiper-scroll[_ngcontent-%COMP%]{display:flex;transform-style:preserve-3d;scroll-snap-type:none!important;scroll-behavior:auto;overflow:hidden}.coverflow-effect[_nghost-%COMP%] .native-swiper-scroll[_ngcontent-%COMP%]:after{content:\"\";display:block;min-width:var(--%NS%coverflow-end-padding, 0px);min-height:1px;flex-shrink:0}.coverflow-effect[_nghost-%COMP%] .native-swiper-scroll>*{will-change:transform;transform-style:preserve-3d}.coverflow-effect[_nghost-%COMP%] .native-swiper-scroll.centered-slides>:nth-child(1){margin-left:50%;transform:translate3d(-50%,0,0) rotateY(0) scale(1);z-index:1}.coverflow-effect[_nghost-%COMP%] .native-swiper-scroll.centered-slides>:nth-child(2){transform:translate3d(-50%,0,calc(var(--%NS%coverflow-depth, 300) * -1px)) rotateY(calc(var(--%NS%coverflow-rotate, -50) * -1 * 1deg)) scale(1);z-index:0}.coverflow-effect[_nghost-%COMP%] .native-swiper-scroll.centered-slides>:nth-child(3){transform:translate3d(-50%,0,calc(var(--%NS%coverflow-depth, 300) * -2px)) rotateY(calc(var(--%NS%coverflow-rotate, -50) * -2 * 1deg)) scale(1);z-index:-1}.coverflow-effect[_nghost-%COMP%] .native-swiper-scroll.centered-slides>:nth-child(4){transform:translate3d(-50%,0,calc(var(--%NS%coverflow-depth, 300) * -3px)) rotateY(calc(var(--%NS%coverflow-rotate, -50) * -3 * 1deg)) scale(1);z-index:-2}.coverflow-effect[_nghost-%COMP%] .native-swiper-scroll.centered-slides>:nth-child(5){transform:translate3d(-50%,0,calc(var(--%NS%coverflow-depth, 300) * -4px)) rotateY(calc(var(--%NS%coverflow-rotate, -50) * -4 * 1deg)) scale(1);z-index:-3}.coverflow-effect[_nghost-%COMP%] .coverflow-shadow-left{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to left,rgba(0,0,0,.5),transparent);opacity:0}.coverflow-effect[_nghost-%COMP%] .coverflow-shadow-right{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,rgba(0,0,0,.5),transparent);opacity:0}.coverflow-effect.coverflow-hydrated[_nghost-%COMP%] .native-swiper-scroll>*{transition:transform .05s linear}.coverflow-effect.coverflow-hydrated[_nghost-%COMP%] .native-swiper-scroll[_ngcontent-%COMP%]{overflow-x:auto;scroll-behavior:smooth}.coverflow-effect[_nghost-%COMP%] .native-swiper-pagination[_ngcontent-%COMP%]{--%NS%vn-bullet-size: 12px;--%NS%vn-bullet-gap: var(--%NS%semantic-spacing-inline-md, 8px);position:absolute;bottom:0;left:50%;transform:translate(-50%);padding:0}.coverflow-effect[_nghost-%COMP%] .native-swiper-bullet[_ngcontent-%COMP%]{background:var(--%NS%semantic-color-on-disabled-base)}.coverflow-effect[_nghost-%COMP%] .native-swiper-bullet.active[_ngcontent-%COMP%]{background:var(--%NS%semantic-color-primary-base)}"] 21570 }), e; 21571 })(), VO = ["*"], HO = (() => { 21572 let e = class { 21573 constructor() { 21574 this.page = f(Wr), this.dslService = f(Zs), this.swiperOptions = ce(), this.nativeSwiperOptions = ce(), this.groupSnap = ce(), this.showPagination = ce(!0), this.swiperClass = ce(""), this.inverse = ce(!0), this.arrowSize = ce("large"), this.variant = ce("strong"), this.navPrevClass = ce(""), this.navNextClass = ce(""), this.ariaLabel = ce("Carousel"), this.navOutsideContainer = ce(!1), this.prevClick = It(), this.nextClick = It(), this.isNative = le(!1), this.initialSlideSeed = ne(() => this.swiperOptions()?.initialSlide ?? this.nativeSwiperOptions()?.initialSlide ?? 0), this.legacyRealIndex = Vu(() => this.initialSlideSeed()), this.legacySnapIndex = le(0), this.legacySnapCount = le(1), this.effectiveNativeSwiperOptions = ne(() => { 21575 let s = this.nativeSwiperOptions() ?? OO(this.swiperOptions()), n = this.groupSnap(); 21576 if (n === void 0) return s; 21577 let a = J(C({}, s), { groupSnap: n }); 21578 if (s.breakpoints) { 21579 a.breakpoints = {}; 21580 for (let [o, l] of Object.entries(s.breakpoints)) a.breakpoints[Number(o)] = J(C({}, l), { groupSnap: n }); 21581 } 21582 return a; 21583 }), this.swiperRef = La(Ia), this.nativeSwiperRef = La(nl), this.activeSwiper = ne(() => this.isNative() ? this.nativeSwiperRef() : this.swiperRef()), this.realIndex = ne(() => { 21584 if (this.isNative()) { 21585 let s = this.nativeSwiperRef(); 21586 return s && s.slideElements().length > 0 ? s.realIndex() : this.initialSlideSeed(); 21587 } 21588 return this.legacyRealIndex(); 21589 }), this.pageIndex = ne(() => this.isNative() ? this.nativeSwiperRef()?.activePage() ?? 0 : this.legacySnapIndex()), this.pageCount = ne(() => this.isNative() ? this.nativeSwiperRef()?.totalPages() ?? 1 : this.legacySnapCount()), this.isBeg
21589inning = ne(() => this.isNative() ? !(this.nativeSwiperRef()?.canScrollPrev() ?? !1) : this.swiperRef()?.swiper?.isBeginning ?? !0), this.isEnd = ne(() => this.isNative() ? !(this.nativeSwiperRef()?.canScrollNext() ?? !0) : this.swiperRef()?.swiper?.isEnd ?? !1), this.autoplay = { 21590 stop: () => { 21591 this.isNative() ? this.nativeSwiperRef()?.autoplay.stop() : this.swiperRef()?.swiper?.autoplay?.stop(); 21592 }, 21593 start: () => { 21594 this.isNative() ? this.nativeSwiperRef()?.autoplay.start() : this.swiperRef()?.swiper?.autoplay?.start(); 21595 } 21596 }, this.page.isNativeSwiperEnabled && this.dslService.evaluateExpression(this.page.isNativeSwiperEnabled).pipe(Ot(1), he()).subscribe({ 21597 next: (s) => this.isNative.set(s), 21598 error: () => this.isNative.set(!1) 21599 }); 21600 let t = Gi(() => { 21601 let s = this.nativeSwiperRef(); 21602 s && (this.bridgeNativeSwiperEvents(s), t.destroy()); 21603 }), r = Gi(() => { 21604 let s = this.swiperRef(); 21605 s?.swiper && !this.isNative() && (s.swiper.on("slideChange", (n) => { 21606 this.legacyRealIndex.set(n.realIndex); 21607 }), this.legacySnapIndex.set(s.swiper.snapIndex ?? 0), this.legacySnapCount.set(Math.max(1, s.swiper.snapGrid?.length ?? 1)), s.swiper.on("snapIndexChange", (n) => { 21608 this.legacySnapIndex.set(n.snapIndex); 21609 }), s.swiper.on("snapGridLengthChange", (n) => { 21610 this.legacySnapCount.set(Math.max(1, n.snapGrid?.length ?? 1)); 21611 }), r.destroy()); 21612 }); 21613 } 21614 bridgeNativeSwiperEvents(t) { 21615 let r = this.swiperOptions()?.on; 21616 if (!r) return; 21617 let s = (n) => ({ 21618 realIndex: n.realIndex, 21619 activeIndex: n.activeIndex, 21620 slides: n.slides, 21621 swipeDirection: n.swipeDirection, 21622 params: this.swiperOptions() ?? {}, 21623 update: () => t.update(), 21624 autoplay: { 21625 get running() { 21626 return t.isAutoplayRunning; 21627 }, 21628 stop: () => t.autoplay.stop(), 21629 start: () => t.autoplay.start() 21630 } 21631 }); 21632 for (let n of [ 21633 "init", 21634 "afterInit", 21635 "slideNextTransitionStart", 21636 "slidePrevTransitionStart", 21637 "slideChange", 21638 "sliderMove" 21639 ]) { 21640 let a = r[n]; 21641 typeof a == "function" && t.on(n, (o) => { 21642 a(s(o)); 21643 }); 21644 } 21645 } 21646 slideNext(t) { 21647 if (this.isNative()) this.nativeSwiperRef()?.slideNext(t); 21648 else { 21649 let r = this.swiperRef()?.swiper; 21650 r && (r.animating = !1, r.slideNext(t)); 21651 } 21652 } 21653 slidePrev(t) { 21654 this.isNative() ? this.nativeSwiperRef()?.slidePrev(t) : this.swiperRef()?.swiper?.slidePrev(t); 21655 } 21656 slideTo(t, r) { 21657 this.isNative() ? this.nativeSwiperRef()?.slideTo(t, r) : this.swiperRef()?.swiper?.slideTo(t, r); 21658 } 21659 destroy(t, r) { 21660 this.isNative() ? this.nativeSwiperRef()?.destroy(t, r) : this.swiperRef()?.swiper?.destroy(t, r); 21661 } 21662 update() { 21663 this.isNative() ? this.nativeSwiperRef()?.update() : this.swiperRef()?.swiper?.update(); 21664 } 21665 get swiper() { 21666 let t = this.activeSwiper(); 21667 if (t) return t.swiper; 21668 } 21669 }; 21670 return e.ɵfac = function(i) { 21671 return new (i || e)(); 21672 }, e.ɵcmp = ge({ 21673 type: e, 21674 selectors: [["vn-swiper-wrapper"]], 21675 viewQuery: function(i, t) { 21676 i & 1 && Du(t.swiperRef, Ia, 5)(t.nativeSwiperRef, nl, 5), i & 2 && Ba(2); 21677 }, 21678 hostAttrs: [ 21679 2, 21680 "display", 21681 "block", 21682 "width", 21683 "100%" 21684 ], 21685 inputs: { 21686 swiperOptions: [1, "swiperOptions"], 21687 nativeSwiperOptions: [1, "nativeSwiperOptions"], 21688 groupSnap: [1, "groupSnap"], 21689 showPagination: [1, "showPagination"], 21690 swiperClass: [1, "swiperClass"], 21691 inverse: [1, "inverse"], 21692 arrowSize: [1, "arrowSize"], 21693 variant: [1, "variant"], 21694 navPrevClass: [1, "navPrevClass"], 21695 navNextClass: [1, "navNextClass"], 21696 ariaLabel: [1, "ariaLabel"], 21697 navOutsideContainer: [1, "navOutsideContainer"] 21698 }, 21699 outputs: { 21700 prevClick: "prevClick", 21701 nextClick: "nextClick" 21702 }, 21703 ngContentSelectors: VO, 21704 decls: 4, 21705 vars: 1, 21706 consts: [ 21707 ["slidesTemplate", ""], 21708 [ 21709 3, 21710 "swiperOptions", 21711 "showPagination", 21712 "swiperClass", 21713 "inverse", 21714 "arrowSize", 21715 "variant", 21716 "navPrevClass", 21717 "navNextClass", 21718 "ariaLabel" 21719 ], 21720 [ 21721 3, 21722 "swiperOptions", 21723 "showPagination", 21724 "swiperClass", 21725 "inverse", 21726 "arrowSize", 21727 "variant", 21728 "navPrevClass", 21729 "navNextClass", 21730 "navOutsideContainer" 21731 ], 21732 [ 21733 3, 21734 "prevClick", 21735 "nextClick", 21736 "swiperOptions", 21737 "showPagination", 21738 "swiperClass", 21739 "inverse", 21740 "arrowSize", 21741 "variant", 21742 "navPrevClass", 21743 "navNextClass", 21744 "ariaLabel" 21745 ], 21746 [4, "ngTemplateOutlet"], 21747 [ 21748 3, 21749 "prevClick", 21750 "nextClick", 21751 "swiperOptions", 21752 "showPagination", 21753 "swiperClass", 21754 "inverse", 21755 "arrowSize", 21756 "variant", 21757 "navPrevClass", 21758 "navNextClass", 21759 "navOutsideContainer" 21760 ] 21761 ], 21762 template: function(i, t) { 21763 i & 1 && (_t(), be(0, T3, 1, 0, "ng-template", null, 0, ti), U(2, x3, 2, 10, "vn-native-swiper", 1)(3, O3, 2, 10, "vn-swiper", 2)), i & 2 && (P(2), W(t.isNative() ? 2 : 3)); 21764 }, 21765 dependencies: [ 21766 Ia, 21767 nl, 21768 Js 21769 ], 21770 encapsulation: 2 21771 }), e; 21772 })(); 21773 })))(); 21774} 21775function P3(e, i) { 21776 e & 1 && br(0, "div", 0); 21777} 21778function $3(e, i) { 21779 e & 1 && Je(0), e & 2 && Ra(" ", N().label(), " "); 21780} 21781function A3(e, i) { 21782 e & 1 && Ye(0); 21783} 21784var UO, pu; 21785function kS() { 21786 return (kS = Z((() => { 21787 de(), Ua(), Is(), UO = ["*"], pu = (() => { 21788 let e = class { 21789 constructor() { 21790 this.label = Ne(""), this.size = Ne("medium"), this.variant = Ne("primary"), this.disabled = Ne(!1), this.inverse = Ne(!1), this.hostClass = ne(() => `ds-notification-bubble-${this.size()} ds-notification-bubble-${this.variant()}`); 21791 } 21792 getThemeableProperties() { 21793 return { 21794 size: this.size, 21795 variant: this.variant, 21796 inverse: this.inverse 21797 }; 21798 } 21799 }; 21800 return e.ɵfac = function(i) { 21801 return new (i || e)(); 21802 }, e.ɵcmp = ge({ 21803 type: e, 21804 selectors: [["ds-notification-bubble"]], 21805 hostAttrs: [1, "ds-notification-bubble"], 21806 hostVars: 6, 21807 hostBindings: function(i, t) { 21808 i & 2 && (Le(t.hostClass()), yt("ds-notification-bubble-disabled", t.disabled())("ds-notification-bubble-inverse", t.inverse())); 21809 }, 21810 inputs: { 21811 label: [1, "label"], 21812 size: [1, "size"], 21813 variant: [1, "variant"], 21814 disabled: [1, "disabled"], 21815 inverse: [1, "inverse"] 21816 }, 21817 outputs: { 21818 label: "labelChange", 21819 size: "sizeChange", 21820 variant: "variantChange", 21821 disabled: "disabledChange", 21822 inverse: "inverseChange" 21823 }, 21824 features: [$i([{ 21825 provide: M_, 21826 useFactory: () => "ds-notification-bubble" 21827 }, { 21828 provide: Nr, 21829 useExisting: e 21830 }])], 21831 ngContentSelectors: UO, 21832 decls: 3, 21833 vars: 1,
21834 consts: [[1, "ds-notification-bubble-inside-dot"]], 21835 template: function(i, t) { 21836 i & 1 && (_t(), U(0, P3, 1, 0, "div", 0)(1, $3, 1, 1)(2, A3, 1, 0)), i & 2 && W(t.variant() === "live-dot" || t.variant() === "utility-dot" ? 0 : t.label() ? 1 : 2); 21837 }, 21838 styles: [`.ds-notification-bubble{--%NS%ds-notification-bubble-radius-border: var(--%NS%semantic-radius-max);--%NS%ds-notification-bubble-local-width: fit-content;--%NS%ds-notification-bubble-local-padding-zero: 0;--%NS%ds-notification-bubble-local-padding: 0 var(--%NS%ds-notification-bubble-space-padding-right, 0) 0 var(--%NS%ds-notification-bubble-space-padding-left, 0);--%NS%ds-notification-bubble-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-notification-bubble-font-size: var(--%NS%semantic-typography-label-sm-strong-font-size);--%NS%ds-notification-bubble-font-weight: var(--%NS%semantic-typography-label-sm-strong-font-weight);--%NS%ds-notification-bubble-line-height: var(--%NS%semantic-typography-label-sm-strong-line-height);font-family:var(--%NS%ds-notification-bubble-font-family);font-size:var(--%NS%ds-notification-bubble-font-size);font-weight:var(--%NS%ds-notification-bubble-font-weight);line-height:var(--%NS%ds-notification-bubble-line-height);align-items:center;background:var(--%NS%ds-notification-bubble-custom-color-bg, var(--%NS%ds-notification-bubble-color-bg));border-radius:var(--%NS%ds-notification-bubble-custom-radius-border, var(--%NS%ds-notification-bubble-radius-border));box-sizing:border-box;color:var(--%NS%ds-notification-bubble-custom-color-text, var(--%NS%ds-notification-bubble-color-text));display:inline-flex;height:var(--%NS%ds-notification-bubble-custom-size-height, var(--%NS%ds-notification-bubble-size-height));justify-content:center;min-width:var(--%NS%ds-notification-bubble-custom-size-min-width, var(--%NS%ds-notification-bubble-size-min-width));padding:var(--%NS%ds-notification-bubble-local-padding);width:var(--%NS%ds-notification-bubble-local-width)}.ds-notification-bubble.ds-notification-bubble-primary{--%NS%ds-notification-bubble-color-bg: var(--%NS%semantic-color-primary-base);--%NS%ds-notification-bubble-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-text: var(--%NS%semantic-color-on-primary-base)}.ds-notification-bubble.ds-notification-bubble-live-dot,.ds-notification-bubble.ds-notification-bubble-utility-dot{--%NS%ds-notification-bubble-local-padding: var(--%NS%ds-notification-bubble-local-padding-zero)}.ds-notification-bubble.ds-notification-bubble-live-dot{--%NS%ds-notification-bubble-color-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-dot: var(--%NS%semantic-color-negative-base)}.ds-notification-bubble.ds-notification-bubble-utility-dot{--%NS%ds-notification-bubble-color-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-dot: var(--%NS%semantic-color-utility-base)}.ds-notification-bubble.ds-notification-bubble-live{--%NS%ds-notification-bubble-color-bg: var(--%NS%semantic-color-opacity-subtle-base);--%NS%ds-notification-bubble-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-text: var(--%NS%semantic-color-negative-base)}.ds-notification-bubble.ds-notification-bubble-neutral{--%NS%ds-notification-bubble-color-bg: var(--%NS%semantic-color-opacity-subtle-base);--%NS%ds-notification-bubble-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-text: var(--%NS%semantic-color-on-surface-base)}.ds-notification-bubble.ds-notification-bubble-utility{--%NS%ds-notification-bubble-color-bg: var(--%NS%semantic-color-opacity-subtle-base);--%NS%ds-notification-bubble-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-text: var(--%NS%semantic-color-utility-base)}.ds-notification-bubble.ds-notification-bubble-disabled:not(.ds-notification-bubble-live-dot):not(.ds-notification-bubble-utility-dot){--%NS%ds-notification-bubble-color-bg: var(--%NS%semantic-color-disabled-base);--%NS%ds-notification-bubble-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-text: var(--%NS%semantic-color-on-disabled-base)}.ds-notification-bubble.ds-notification-bubble-inverse.ds-notification-bubble-primary{--%NS%ds-notification-bubble-color-bg: var(--%NS%semantic-color-primary-base-inverse);--%NS%ds-notification-bubble-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-text: var(--%NS%semantic-color-on-primary-base-inverse)}.ds-notification-bubble.ds-notification-bubble-inverse.ds-notification-bubble-live-dot{--%NS%ds-notification-bubble-color-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-dot: var(--%NS%semantic-color-negative-base-inverse)}.ds-notification-bubble.ds-notification-bubble-inverse.ds-notification-bubble-utility-dot{--%NS%ds-notification-bubble-color-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-dot: var(--%NS%semantic-color-utility-base-inverse)}.ds-notification-bubble.ds-notification-bubble-inverse.ds-notification-bubble-live{--%NS%ds-notification-bubble-color-bg: var(--%NS%semantic-color-opacity-subtle-base-inverse);--%NS%ds-notification-bubble-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-text: var(--%NS%semantic-color-negative-base-inverse)}.ds-notification-bubble.ds-notification-bubble-inverse.ds-notification-bubble-neutral{--%NS%ds-notification-bubble-color-bg: var(--%NS%semantic-color-opacity-subtle-base-inverse);--%NS%ds-notification-bubble-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-text: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-notification-bubble.ds-notification-bubble-inverse.ds-notification-bubble-utility{--%NS%ds-notification-bubble-color-bg: var(--%NS%semantic-color-opacity-subtle-base-inverse);--%NS%ds-notification-bubble-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-text: var(--%NS%semantic-color-utility-base-inverse)}.ds-notification-bubble.ds-notification-bubble-inverse.ds-notification-bubble-disabled:not(.ds-notification-bubble-live-dot):not(.ds-notification-bubble-utility-dot){--%NS%ds-notification-bubble-color-bg: var(--%NS%semantic-color-disabled-base-inverse);--%NS%ds-notification-bubble-color-border: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-notification-bubble-color-text: var(--%NS%semantic-color-on-disabled-base-inverse)}.ds-notification-bubble.ds-notification-bubble-large{--%NS%ds-notification-bubble-size-dot-height: var(--%NS%semantic-size-icon-medium);--%NS%ds-notification-bubble-size-dot-width: var(--%NS%semantic-size-icon-medium);--%NS%ds-notification-bubble-size-height: var(--%NS%semantic-size-x6);--%NS%ds-notification-bubble-size-min-width: var(--%NS%semantic-size-x6);--%NS%ds-notification-bubble-space-padding-left: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-notification-bubble-space-padding-right: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-notification-bubble-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-notification-bubble-font-size: var(--%NS%semantic-typography-label-lg-strong-font-size);
21838--%NS%ds-notification-bubble-font-weight: var(--%NS%semantic-typography-label-lg-strong-font-weight);--%NS%ds-notification-bubble-line-height: var(--%NS%semantic-typography-label-lg-strong-line-height)}.ds-notification-bubble.ds-notification-bubble-medium{--%NS%ds-notification-bubble-size-dot-height: var(--%NS%semantic-size-icon-small);--%NS%ds-notification-bubble-size-dot-width: var(--%NS%semantic-size-icon-small);--%NS%ds-notification-bubble-size-height: var(--%NS%semantic-size-x4);--%NS%ds-notification-bubble-size-min-width: var(--%NS%semantic-size-x4);--%NS%ds-notification-bubble-space-padding-left: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-notification-bubble-space-padding-right: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-notification-bubble-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-notification-bubble-font-size: var(--%NS%semantic-typography-label-sm-strong-font-size);--%NS%ds-notification-bubble-font-weight: var(--%NS%semantic-typography-label-sm-strong-font-weight);--%NS%ds-notification-bubble-line-height: var(--%NS%semantic-typography-label-sm-strong-line-height)}.ds-notification-bubble.ds-notification-bubble-small{--%NS%ds-notification-bubble-size-dot-height: var(--%NS%semantic-size-icon-xsmall);--%NS%ds-notification-bubble-size-dot-width: var(--%NS%semantic-size-icon-xsmall);--%NS%ds-notification-bubble-size-height: var(--%NS%semantic-size-x3);--%NS%ds-notification-bubble-size-min-width: var(--%NS%semantic-size-x3);--%NS%ds-notification-bubble-space-padding-left: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-notification-bubble-space-padding-right: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-notification-bubble-font-family: sans-serif;--%NS%ds-notification-bubble-font-size: var(--%NS%semantic-typography-label-xs-strong-font-size);--%NS%ds-notification-bubble-font-weight: var(--%NS%semantic-typography-label-xs-strong-font-weight);--%NS%ds-notification-bubble-line-height: var(--%NS%semantic-typography-label-xs-strong-line-height)}
21838.ds-notification-bubble .ds-notification-bubble-inside-dot{background:var(--%NS%ds-notification-bubble-color-dot);border-radius:var(--%NS%ds-notification-bubble-radius-border);height:var(--%NS%ds-notification-bubble-size-dot-height);width:var(--%NS%ds-notification-bubble-size-dot-width)} 21839`], 21840 encapsulation: 2 21841 }), e; 21842 })(); 21843 })))(); 21844} 21845function _3(e, i) { 21846 if (e & 1 && (Nt(0, "span", 3), Je(1), mt()), e & 2) { 21847 let t = N(2); 21848 P(), ft(t.subtitle()); 21849 } 21850} 21851function M3(e, i) { 21852 if (e & 1 && (Nt(0, "span", 4), Je(1), mt()), e & 2) { 21853 let t = N(2); 21854 P(), ft(t.subtext()); 21855 } 21856} 21857function R3(e, i) { 21858 if (e & 1 && (Nt(0, "div", 0)(1, "span", 2), Je(2), mt(), U(3, _3, 2, 1, "span", 3), U(4, M3, 2, 1, "span", 4), mt()), e & 2) { 21859 let t = N(); 21860 P(), yt("ds-list-title-strong", t.boldTitle()), P(), ft(t.title()), P(), W(t.subtitle() ? 3 : -1), P(), W(t.subtext() ? 4 : -1); 21861 } 21862} 21863var WO, Rr, jO, YO, KO, al, xS; 21864function IS() { 21865 return (IS = Z((() => { 21866 de(), wt(), jn(), Is(), cp(), WO = (() => { 21867 let e = class { 21868 constructor() { 21869 this.isIOS = le(!1), this.document = f(vi), Fn(() => { 21870 let t = this.document.defaultView; 21871 t && /iPad|iPhone|iPod/.test(t.navigator.userAgent) && !("MSStream" in t) && this.isIOS.set(!0); 21872 }); 21873 } 21874 }; 21875 return e.ɵfac = function(i) { 21876 return new (i || e)(); 21877 }, e.ɵdir = ci({ 21878 type: e, 21879 selectors: [[ 21880 "", 21881 "dsIosActive", 21882 "" 21883 ]], 21884 hostVars: 2, 21885 hostBindings: function(i, t) { 21886 i & 2 && yt("ds-ios-active-fix", t.isIOS()); 21887 } 21888 }), e; 21889 })(), Rr = { 21890 list: { 21891 parent: "list", 21892 child: "listitem", 21893 supportsInteraction: !1, 21894 supportsSelection: !1 21895 }, 21896 navigation: { 21897 parent: "navigation", 21898 child: "link", 21899 supportsInteraction: !1, 21900 supportsSelection: !1 21901 }, 21902 selection: { 21903 parent: "listbox", 21904 child: "option", 21905 supportsInteraction: !0, 21906 supportsSelection: !0 21907 } 21908 }, jO = [[[ 21909 "", 21910 "slot", 21911 "start" 21912 ]], [[ 21913 "", 21914 "slot", 21915 "end" 21916 ]]], YO = ["[slot=start]", "[slot=end]"], KO = ["*"], Object.keys(Rr), al = (() => { 21917 let e = class { 21918 constructor() { 21919 this.title = ce.required(), this.subtitle = Ne(""), this.subtext = Ne(""), this.selected = Ne(!1), this.boldTitle = Ne(!0), this.showCenterSlot = Ne(!0), this.inverse = Ne(!1), this.size = Ne("large"), this.tagName = f(Ab, { optional: !0 }), this.itemClick = It(), this.itemFocus = It(), this.itemClick$ = vy(this.itemClick), this.itemFocus$ = vy(this.itemFocus), this.elementRef = f(di), this.platform = f(Ga), this.listGroup = f(xS, { optional: !0 }), this.tabIndex = le(-1), this.role = ne(() => { 21920 let t = this.listGroup?.roleType(); 21921 return t && Rr[t] ? Rr[t].child : null; 21922 }); 21923 } 21924 isAnchor() { 21925 return this.tagName === "a"; 21926 } 21927 selectable() { 21928 if (!this.listGroup) return !1; 21929 let t = this.listGroup.roleType(); 21930 return t ? Rr[t].supportsSelection : !1; 21931 } 21932 interactive() { 21933 if (!this.listGroup) return !0; 21934 let t = this.listGroup.roleType(); 21935 return t ? Rr[t].supportsInteraction || this.isAnchor() : !1; 21936 } 21937 focus() { 21938 this.platform?.isBrowser && this.elementRef.nativeElement.focus(); 21939 } 21940 setTabIndex(t) { 21941 this.tabIndex.set(t); 21942 } 21943 handleClick(t) { 21944 let r = t.target; 21945 this.isAnchor() || r?.type === "checkbox" || this.itemClick.emit(this); 21946 } 21947 handleFocus() { 21948 this.interactive() && this.itemFocus.emit(this); 21949 } 21950 getThemeableProperties() { 21951 return { 21952 inverse: this.inverse, 21953 size: this.size 21954 }; 21955 } 21956 }; 21957 return e.ɵfac = function(i) { 21958 return new (i || e)(); 21959 }, e.ɵcmp = ge({ 21960 type: e, 21961 selectors: [["ds-list-item"], [ 21962 "a", 21963 "ds-list-item", 21964 "" 21965 ]], 21966 hostAttrs: [1, "ds-list-item"], 21967 hostVars: 11, 21968 hostBindings: function(i, t) { 21969 i & 1 && Ce("click", function(r) { 21970 return t.handleClick(r); 21971 })("focus", function() { 21972 return t.handleFocus(); 21973 }), i & 2 && (Qe("role", t.role())("aria-selected", t.selectable() ? t.selected() : null)("tabindex", t.interactive() && t.listGroup ? t.tabIndex() : null), Le("ds-list-item-" + t.size()), yt("ds-list-item-inverse", t.inverse())("ds-list-item-interactive", t.interactive())("ds-list-item-selected", t.selected())); 21974 }, 21975 inputs: { 21976 title: [1, "title"], 21977 subtitle: [1, "subtitle"], 21978 subtext: [1, "subtext"], 21979 selected: [1, "selected"], 21980 boldTitle: [1, "boldTitle"], 21981 showCenterSlot: [1, "showCenterSlot"], 21982 inverse: [1, "inverse"], 21983 size: [1, "size"] 21984 }, 21985 outputs: { 21986 subtitle: "subtitleChange", 21987 subtext: "subtextChange", 21988 selected: "selectedChange", 21989 boldTitle: "boldTitleChange", 21990 showCenterSlot: "showCenterSlotChange", 21991 inverse: "inverseChange", 21992 size: "sizeChange", 21993 itemClick: "itemClick", 21994 itemFocus: "itemFocus" 21995 }, 21996 features: [$i([{ 21997 provide: Nr, 21998 useExisting: Fb(() => e) 21999 }
21999]), mA([WO])], 22000 ngContentSelectors: YO, 22001 decls: 4, 22002 vars: 1, 22003 consts: [ 22004 [1, "ds-list-tile-text"], 22005 [1, "ds-list-end-slot"], 22006 [1, "ds-list-tile-title"], 22007 [1, "ds-list-tile-sub-title"], 22008 [1, "ds-list-tile-sub-text"] 22009 ], 22010 template: function(i, t) { 22011 i & 1 && (_t(jO), Ye(0), U(1, R3, 5, 5, "div", 0), Nt(2, "div", 1), Ye(3, 1), mt()), i & 2 && (P(), W(t.showCenterSlot() ? 1 : -1)); 22012 }, 22013 styles: [`.ds-list-item{--%NS%ds-list-item-size-min-height: var(--%NS%semantic-size-x11);--%NS%ds-list-item-space-inline: var(--%NS%semantic-spacing-inline-md);--%NS%ds-list-item-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-lg);--%NS%ds-list-item-space-padding-left: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-list-item-space-padding-right: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-list-item-space-padding-top: var(--%NS%semantic-spacing-container-padding-lg);--%NS%ds-list-item-active-color-background: var(--%NS%semantic-color-opacity-subtle-active);--%NS%ds-list-item-active-color-icon: var(--%NS%semantic-color-tertiary-base);--%NS%ds-list-item-active-color-subtext: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-list-item-active-color-subtitle: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-list-item-active-color-title: var(--%NS%semantic-color-on-surface-base);--%NS%ds-list-item-enabled-color-background: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-list-item-enabled-color-icon: var(--%NS%semantic-color-tertiary-base);--%NS%ds-list-item-enabled-color-subtext: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-list-item-enabled-color-subtitle: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-list-item-enabled-color-title: var(--%NS%semantic-color-on-surface-base);--%NS%ds-list-item-hover-color-background: var(--%NS%semantic-color-opacity-subtle-hover);--%NS%ds-list-item-hover-color-icon: var(--%NS%semantic-color-tertiary-base);--%NS%ds-list-item-hover-color-subtext: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-list-item-hover-color-subtitle: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-list-item-hover-color-title: var(--%NS%semantic-color-on-surface-base);--%NS%ds-list-item-selected-color-background: var(--%NS%semantic-color-opacity-subtle-selected);--%NS%ds-list-item-selected-color-icon: var(--%NS%semantic-color-tertiary-base);--%NS%ds-list-item-selected-color-subtext: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-list-item-selected-color-subtitle: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-list-item-selected-color-title: var(--%NS%semantic-color-on-surface-base);--%NS%ds-list-item-width: 100%;--%NS%ds-list-item-bg: var(--%NS%ds-list-item-enabled-color-background);--%NS%ds-list-item-color: var(--%NS%ds-list-item-enabled-color-title);--%NS%ds-list-item-subtitle-color: var(--%NS%ds-list-item-enabled-color-subtitle);--%NS%ds-list-item-subtext-color: var(--%NS%ds-list-item-enabled-color-subtext);align-items:center;background:var(--%NS%ds-list-item-bg);box-sizing:border-box;display:inline-flex;gap:var(--%NS%ds-list-item-space-inline);min-height:var(--%NS%ds-list-item-size-min-height);padding:var(--%NS%ds-list-item-space-padding-top, 0) var(--%NS%ds-list-item-space-padding-right, 0) var(--%NS%ds-list-item-space-padding-bottom, 0) var(--%NS%ds-list-item-space-padding-left, 0);width:var(--%NS%ds-list-item-width);color:var(--%NS%ds-list-item-color)}.ds-list-item.ds-list-item-selected{--%NS%ds-list-item-bg: var(--%NS%ds-list-item-selected-color-background);--%NS%ds-list-item-color: var(--%NS%ds-list-item-selected-color-title);--%NS%ds-list-item-subtitle-color: var(--%NS%ds-list-item-selected-color-subtitle);--%NS%ds-list-item-subtext-color: var(--%NS%ds-list-item-selected-color-subtext)}.ds-list-item.ds-list-item-selected .ds-list-end-slot .vn-icon{color:var(--%NS%ds-list-item-custom-color-icon, var(--%NS%ds-list-item-selected-color-icon))}.ds-list-item [slot=start]{display:inline-flex}.ds-list-item .ds-list-end-slot{--%NS%ds-list-item-end-slot-margin-left: auto;align-items:center;display:inline-flex;gap:var(--%NS%ds-list-item-space-inline);margin-left:var(--%NS%ds-list-item-end-slot-margin-left)}.ds-list-item .ds-list-end-slot .vn-icon{color:var(--%NS%ds-list-item-custom-color-icon, var(--%NS%ds-list-item-enabled-color-icon))}.ds-list-item .ds-list-end-slot:hover .vn-icon{color:var(--%NS%ds-list-item-custom-color-icon, var(--%NS%ds-list-item-hover-color-icon))}.ds-list-item .ds-list-end-slot:active .vn-icon{color:var(--%NS%ds-list-item-custom-color-icon, var(--%NS%ds-list-item-active-color-icon))}.ds-list-item-medium{--%NS%ds-list-item-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-list-item-space-padding-left: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-list-item-space-padding-right: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-list-item-space-padding-top: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-list-item-space-stack: var(--%NS%semantic-spacing-stack-none)}.ds-list-item-medium .ds-list-tile-title{--%NS%ds-list-item-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-list-item-font-size: var(--%NS%semantic-typography-label-md-font-size);
22013--%NS%ds-list-item-font-weight: var(--%NS%semantic-typography-label-md-font-weight);--%NS%ds-list-item-line-height: var(--%NS%semantic-typography-label-md-line-height)}.ds-list-item-medium .ds-list-tile-title.ds-list-title-strong{--%NS%ds-list-item-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-list-item-font-size: var(--%NS%semantic-typography-label-md-strong-font-size);--%NS%ds-list-item-font-weight: var(--%NS%semantic-typography-label-md-strong-font-weight);--%NS%ds-list-item-line-height: var(--%NS%semantic-typography-label-md-strong-line-height)}.ds-list-item-medium .ds-list-tile-sub-title{--%NS%ds-list-item-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-list-item-font-size: var(--%NS%semantic-typography-label-sm-font-size);--%NS%ds-list-item-font-weight: var(--%NS%semantic-typography-label-sm-font-weight);--%NS%ds-list-item-line-height: var(--%NS%semantic-typography-label-sm-line-height)}.ds-list-item-medium-condensed{--%NS%ds-list-item-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-list-item-space-padding-left: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-list-item-space-padding-right: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-list-item-space-padding-top: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-list-item-space-stack: var(--%NS%semantic-spacing-stack-none)}.ds-list-item-medium-condensed .ds-list-tile-title{--%NS%ds-list-item-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-list-item-font-size: var(--%NS%semantic-typography-label-md-font-size);--%NS%ds-list-item-font-weight: var(--%NS%semantic-typography-label-md-font-weight);--%NS%ds-list-item-line-height: var(--%NS%semantic-typography-label-md-line-height)}.ds-list-item-medium-condensed .ds-list-tile-title.ds-list-title-strong{--%NS%ds-list-item-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-list-item-font-size: var(--%NS%semantic-typography-label-md-strong-font-size);--%NS%ds-list-item-font-weight: var(--%NS%semantic-typography-label-md-strong-font-weight);--%NS%ds-list-item-line-height: var(--%NS%semantic-typography-label-md-strong-line-height)}.ds-list-item-medium-condensed .ds-list-tile-sub-title{--%NS%ds-list-item-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-list-item-font-size: var(--%NS%semantic-typography-label-sm-font-size);--%NS%ds-list-item-font-weight: var(--%NS%semantic-typography-label-sm-font-weight);--%NS%ds-list-item-line-height: var(--%NS%semantic-typography-label-sm-line-height)}.ds-list-item-large{--%NS%ds-list-item-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-lg);--%NS%ds-list-item-space-padding-left: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-list-item-space-padding-right: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-list-item-space-padding-top: var(--%NS%semantic-spacing-container-padding-lg);--%NS%ds-list-item-space-stack: var(--%NS%semantic-spacing-stack-xs)}.ds-list-item-large .ds-list-tile-title{--%NS%ds-list-item-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-list-item-font-size: var(--%NS%semantic-typography-label-lg-font-size);--%NS%ds-list-item-font-weight: var(--%NS%semantic-typography-label-lg-font-weight);--%NS%ds-list-item-line-height: var(--%NS%semantic-typography-label-lg-line-height)}.ds-list-item-large .ds-list-tile-title.ds-list-title-strong{--%NS%ds-list-item-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-list-item-font-size: var(--%NS%semantic-typography-label-lg-strong-font-size);--%NS%ds-list-item-font-weight: var(--%NS%semantic-typography-label-lg-strong-font-weight);--%NS%ds-list-item-line-height: var(--%NS%semantic-typography-label-lg-strong-line-height)}.ds-list-item-large .ds-list-tile-sub-title{--%NS%ds-list-item-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-list-item-font-size: var(--%NS%semantic-typography-label-md-font-size);
22013--%NS%ds-list-item-font-weight: var(--%NS%semantic-typography-label-md-font-weight);--%NS%ds-list-item-line-height: var(--%NS%semantic-typography-label-md-line-height)}.ds-list-item-large-condensed{--%NS%ds-list-item-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-list-item-space-padding-left: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-list-item-space-padding-right: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-list-item-space-padding-top: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-list-item-space-stack: var(--%NS%semantic-spacing-stack-xs)}.ds-list-item-large-condensed .ds-list-tile-title{--%NS%ds-list-item-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-list-item-font-size: var(--%NS%semantic-typography-label-lg-font-size);--%NS%ds-list-item-font-weight: var(--%NS%semantic-typography-label-lg-font-weight);--%NS%ds-list-item-line-height: var(--%NS%semantic-typography-label-lg-line-height)}.ds-list-item-large-condensed .ds-list-tile-title.ds-list-title-strong{--%NS%ds-list-item-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-list-item-font-size: var(--%NS%semantic-typography-label-lg-strong-font-size);--%NS%ds-list-item-font-weight: var(--%NS%semantic-typography-label-lg-strong-font-weight);--%NS%ds-list-item-line-height: var(--%NS%semantic-typography-label-lg-strong-line-height)}.ds-list-item-large-condensed .ds-list-tile-sub-title{--%NS%ds-list-item-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-list-item-font-size: var(--%NS%semantic-typography-label-md-font-size);--%NS%ds-list-item-font-weight: var(--%NS%semantic-typography-label-md-font-weight);--%NS%ds-list-item-line-height: var(--%NS%semantic-typography-label-md-line-height)}.ds-list-item-inverse{--%NS%ds-list-item-active-color-background: var(--%NS%semantic-color-opacity-subtle-active-inverse);--%NS%ds-list-item-active-color-icon: var(--%NS%semantic-color-tertiary-base-inverse);--%NS%ds-list-item-active-color-subtext: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-list-item-active-color-subtitle: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-list-item-active-color-title: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-list-item-enabled-color-background: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-list-item-enabled-color-icon: var(--%NS%semantic-color-tertiary-base-inverse);--%NS%ds-list-item-enabled-color-subtext: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-list-item-enabled-color-subtitle: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-list-item-enabled-color-title: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-list-item-hover-color-background: var(--%NS%semantic-color-opacity-subtle-hover-inverse);--%NS%ds-list-item-hover-color-icon: var(--%NS%semantic-color-tertiary-base-inverse);--%NS%ds-list-item-hover-color-subtext: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-list-item-hover-color-subtitle: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-list-item-hover-color-title: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-list-item-selected-color-background: var(--%NS%semantic-color-opacity-subtle-selected-inverse);--%NS%ds-list-item-selected-color-icon: var(--%NS%semantic-color-tertiary-base-inverse);--%NS%ds-list-item-selected-color-subtext: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-list-item-selected-color-subtitle: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-list-item-selected-color-title: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-list-item-bg: var(--%NS%ds-list-item-enabled-color-background);--%NS%ds-list-item-color: var(--%NS%ds-list-item-enabled-color-title);--%NS%ds-list-item-subtitle-color: var(--%NS%ds-list-item-enabled-color-subtitle);--%NS%ds-list-item-subtext-color: var(--%NS%ds-list-item-enabled-color-subtext)}.ds-list-item-inverse.ds-list-item-selected{--%NS%ds-list-item-bg: var(--%NS%ds-list-item-selected-color-background);--%NS%ds-list-item-color: var(--%NS%ds-list-item-selected-color-title);--%NS%ds-list-item-subtitle-color: var(--%NS%ds-list-item-selected-color-subtitle);--%NS%ds-list-item-subtext-color: var(--%NS%ds-list-item-selected-color-subtext)}.ds-list-item-interactive{cursor:pointer}@media(hover:hover){.ds-list-item-interactive:hover{--%NS%ds-list-item-bg: var(--%NS%ds-list-item-hover-color-background);--%NS%ds-list-item-color: var(--%NS%ds-list-item-hover-color-title);--%NS%ds-list-item-subtitle-color: var(--%NS%ds-list-item-hover-color-subtitle);--%NS%ds-list-item-subtext-color: var(--%NS%ds-list-item-hover-color-subtext)}}@media(hover:hover)and (pointer:fine){.ds-list-item-interactive:active{--%NS%ds-list-item-bg: var(--%NS%ds-list-item-active-color-background);--%NS%ds-list-item-color: var(--%NS%ds-list-item-active-color-title);--%NS%ds-list-item-subtitle-color: var(--%NS%ds-list-item-active-color-subtitle);--%NS%ds-list-item-subtext-color: var(--%NS%ds-list-item-active-color-subtext)}}.ds-list-item-interactive.ds-ios-active-fix:active{--%NS%ds-list-item-bg: var(--%NS%ds-list-item-active-color-background);--%NS%ds-list-item-color: var(--%NS%ds-list-item-active-color-title);--%NS%ds-list-item-subtitle-color: var(--%NS%ds-list-item-active-color-subtitle);--%NS%ds-list-item-subtext-color: var(--%NS%ds-list-item-active-color-subtext)}@media(hover:hover){.ds-list-item-interactive.ds-list-item-inverse:hover{--%NS%ds-list-item-bg: var(--%NS%ds-list-item-hover-color-background);--%NS%ds-list-item-color: var(--%NS%ds-list-item-hover-color-title);--%NS%ds-list-item-subtitle-color: var(--%NS%ds-list-item-hover-color-subtitle);--%NS%ds-list-item-subtext-color: var(--%NS%ds-list-item-hover-color-subtext)}}@media(hover:hover)and (pointer:fine){.ds-list-item-interactive.ds-list-item-inverse:active{--%NS%ds-list-item-bg: var(--%NS%ds-list-item-active-color-background);--%NS%ds-list-item-color: var(--%NS%ds-list-item-active-color-title);--%NS%ds-list-item-subtitle-color: var(--%NS%ds-list-item-active-color-subtitle);--%NS%ds-list-item-subtext-color: var(--%NS%ds-list-item-active-color-subtext)}}.ds-list-item-interactive.ds-list-item-inverse.ds-ios-active-fix:active{--%NS%ds-list-item-bg: var(--%NS%ds-list-item-active-color-background);--%NS%ds-list-item-color: var(--%NS%ds-list-item-active-color-title);--%NS%ds-list-item-subtitle-color: var(--%NS%ds-list-item-active-color-subtitle);--%NS%ds-list-item-subtext-color: var(--%NS%ds-list-item-active-color-subtext)}.ds-list-tile-text{align-items:stretch;display:inline-flex;flex-direction:column;flex:1;gap:var(--%NS%ds-list-item-space-stack);text-align:left}.ds-list-tile-title{font-family:var(--%NS%ds-list-item-font-family);font-size:var(--%NS%ds-list-item-font-size);
22013font-weight:var(--%NS%ds-list-item-font-weight);line-height:var(--%NS%ds-list-item-line-height);--%NS%ds-list-item-local-title-line-height: 1.15;-webkit-box-orient:vertical;color:var(--%NS%ds-list-item-color);display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;line-height:var(--%NS%ds-list-item-local-title-line-height);text-overflow:ellipsis;word-break:break-word}.ds-list-tile-sub-title{font-family:var(--%NS%ds-list-item-font-family);font-size:var(--%NS%ds-list-item-font-size);font-weight:var(--%NS%ds-list-item-font-weight);line-height:var(--%NS%ds-list-item-line-height);color:var(--%NS%ds-list-item-subtitle-color)}.ds-list-tile-sub-text{--%NS%ds-list-item-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-list-item-font-size: var(--%NS%semantic-typography-label-sm-font-size);--%NS%ds-list-item-font-weight: var(--%NS%semantic-typography-label-sm-font-weight);--%NS%ds-list-item-line-height: var(--%NS%semantic-typography-label-sm-line-height);font-family:var(--%NS%ds-list-item-font-family);font-size:var(--%NS%ds-list-item-font-size);font-weight:var(--%NS%ds-list-item-font-weight);line-height:var(--%NS%ds-list-item-line-height);color:var(--%NS%ds-list-item-subtext-color)}.ds-list-tile-sub-title,.ds-list-tile-sub-text{-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-break:break-word}a[ds-list-item]{color:inherit;text-decoration:none} 22014`], 22015 encapsulation: 2 22016 }), e; 22017 })(), xS = (() => { 22018 let e = class { 22019 constructor() { 22020 this.destroyRef = f(ze), this.selectionMode = Ne("single"), this.roleType = Ne(null), this.selectedItems = le([]), this.items = Xb(al, { descendants: !0 }), this.supportsSelection = ne(() => { 22021 let t = this.roleType(); 22022 return t ? Rr[t].supportsSelection : !1; 22023 }), this.supportsInteraction = ne(() => { 22024 let t = this.roleType(), r = this.items().some((s) => s.isAnchor()); 22025 return t ? Rr[t].supportsInteraction || r : !1; 22026 }), this.ariaMultiSelectable = ne(() => !this.supportsSelection() || this.items().length === 0 ? null : this.selectionMode() === "multiselect" ? "true" : "false"), this.role = ne(() => { 22027 let t = this.roleType(); 22028 return t && Rr[t] ? Rr[t].parent : null; 22029 }), this.itemsChanges$ = Pl(this.items), this.hasInitialized = Ne(!1); 22030 } 22031 ngAfterViewInit() { 22032 this.itemsChanges$.pipe(Hu(this.items()), Vr(() => this.setupKeyManager()), Si(() => this.setupEventListeners()), he(this.destroyRef)).subscribe(); 22033 } 22034 ngOnDestroy() { 22035 this.keyManager?.destroy(); 22036 } 22037 setupClickListeners() { 22038 return Vi(...this.items().map((t) => t.itemClick$.pipe(Vr((r) => { 22039 this.supportsSelection() && this.selectItem(r), this.supportsInteraction() && this.keyManager.setActiveItem(r); 22040 })))); 22041 } 22042 setupFocusListeners() { 22043 return Vi(...this.items().map((t) => t.itemFocus$.pipe(Vr((r) => { 22044 this.supportsInteraction() && this.keyManager.setActiveItem(r); 22045 })))); 22046 } 22047 setupEventListeners() { 22048 return Vi(this.setupClickListeners(), this.setupFocusListeners()); 22049 } 22050 setupKeyManager() { 22051 let t = this.items().filter((r) => r.interactive()); 22052 this.keyManager && this.keyManager.destroy(), this.keyManager = new H_(t).withVerticalOrientation().withWrap(), t.length > 0 && (t.forEach((r) => r.setTabIndex(-1)), t[0]?.setTabIndex(0), this.supportsSelection() && !this.hasInitialized() && (this.hasInitialized.set(!0), t.forEach((r) => { 22053 r.selected() && this.selectItem(r); 22054 })), this.keyManager.change.pipe(he(this.destroyRef)).subscribe((r) => { 22055 r !== -1 && t.forEach((s, n) => { 22056 s.setTabIndex(n === r ? 0 : -1); 22057 }); 22058 })); 22059 } 22060 handleKeydown(t) { 22061 if (this.supportsInteraction() && (this.keyManager.onKeydown(t), ["Enter", "Space"].includes(t.code))) { 22062 let r = this.keyManager.activeItem; 22063 this.supportsSelection() && r && (this.selectItem(r), t.preventDefault(), t.stopPropagation()); 22064 } 22065 } 22066 selectItem(t) { 22067 if (!this.supportsSelection()) return; 22068 let r = this.selectedItems(), s = r.includes(t); 22069 if (!(this.selectionMode() === "single" && s && r.length === 1)) if (this.selectionMode() === "single") r.forEach((n) => n.selected.set(!1)), t.selected.set(!0), this.selectedItems.set([t]); 22070 else { 22071 let n = s ? r.filter((a) => a !== t) : [...r, t]; 22072 t.selected.set(!s), this.selectedItems.set(n); 22073 } 22074 } 22075 }; 22076 return e.ɵfac = function(i) { 22077 return new (i || e)(); 22078 }, e.ɵcmp = ge({ 22079 type: e, 22080 selectors: [["ds-list-group"]], 22081 contentQueries: function(i, t, r) { 22082 i & 1 && Lb(r, t.items, al, 5), i & 2 && Ba(); 22083 }, 22084 hostVars: 2, 22085 hostBindings: function(i, t) { 22086 i & 1 && Ce("keydown", function(r) { 22087 return t.handleKeydown(r); 22088 }), i & 2 && Qe("role", t.role())("aria-multiselectable", t.ariaMultiSelectable()); 22089 }, 22090 inputs: { 22091 selectionMode: [1, "selectionMode"], 22092 roleType: [1, "roleType"], 22093 hasInitialized: [1, "hasInitialized"] 22094 }, 22095 outputs: { 22096 selectionMode: "selectionModeChange", 22097 roleType: "roleTypeChange", 22098 hasInitialized: "hasInitializedChange" 22099 }, 22100 ngContentSelectors: KO, 22101 decls: 1, 22102 vars: 0, 22103 template: function(i, t) { 22104 i & 1 && (_t(), Ye(0)); 22105 }, 22106 encapsulation: 2 22107 }), e; 22108 })(); 22109 })))(); 22110} 22111var qO, OS; 22112function PS() { 22113 return (PS = Z((() => { 22114 de(), sr(), El(), wt(), jn(), Ut(), qO = ["svg"], OS = (() => { 22115 let e = class { 22116 constructor() { 22117 this.httpClient = f(qu), this.destroyRef = f(ze), this.renderer = f(Hr), this.platform = f(Ga), this.displayMode = "svg"; 22118 } 22119 ngOnInit() { 22120 this.httpClient.get(this.image.src, { 22121 responseType: "text", 22122 transferCache: !0, 22123 context: JA() 22124 }).pipe(he(this.destroyRef)).subscribe({ 22125 next: (t) => { 22126 if (this.platform.isBrowser) { 22127 let r = new DOMParser().parseFromString(t, "image/svg+xml").getElementsByTagName("svg")[0]; 22128 r && (!r.hasAttribute("viewBox") && this.viewBox && r.setAttribute("viewBox", this.viewBox), this.displayMode === "svg-icon" && (this.setClass(r), this.setStyle(r))), this.renderer.appendChild(this.svg.nativeElement, r); 22129 } 22130 }, 22131 error: () => {} 22132 }); 22133 } 22134 setClass(t) { 22135 switch (this.renderer.addClass(t, "th-icon"), this.cssClass && this.cssClass.split(",").forEach((r) => { 22136 this.renderer.addClass(t, r.trim()); 22137 }), this.iconType) { 22138 case "stroke": 22139 this.renderer.addClass(t, "th-icon--stk"), this.defaultAnimation && this.renderer.addClass(t, "th-icon-animate-draw"); 22140 break; 22141 case "stroke--bold": 22142 this.renderer.addClass(t, "th-icon-stk"), this.renderer.addClass(t, "th-icon-stk--bold"); 22143 break; 22144 case "stroke--thin": 22145 this.renderer.addClass(t, "th-icon-stk"), this.renderer.addClass(t, "th-icon-stk--thin"); 22146 break; 22147 case "filled": this.renderer.addClass(t, "th-icon--fill"), this.defaultAnimation && this.renderer.addClass(t, "th-icon-animate-fill"); 22148 } 22149 switch (this.size) { 22150 case "big": 22151 this.renderer.addClass(t, "th-icon--lg"); 22152 break; 22153 case "small": this.renderer.addClass(t, "th-icon--sm"); 22154 } 22155 } 22156 setStyle(t) { 22157 this.image.height && this.renderer.setStyle(t, "height", `${this.image.height}px`), this.image.width && this.renderer.setStyle(t, "width", `${this.image.width}px`), this.customAnimation && !this.defaultAnimation && this.customAnimation.split(";").forEach((r) => { 22158 let s = r.split(":"); 22159 s?.length > 0 && this.renderer.setStyle(t, s[0].trim(), s[1]); 22160 }); 22161 } 22162 animate() { 22163 if (this.animationClass) { 22164 let t = this.animationClass; 22165 this.renderer.addClass(this.svg.nativeElement, t), this.svg.nativeElement.addEventListener(Kr.AnimationEnd, () => this.svg.nativeElement.classList.remove(t), { once: !0 }); 22166 } 22167 } 22168 }; 22169 return e.ɵfac = function(i) { 22170 return new (i || e)(); 22171 }, e.ɵcmp = ge({ 22172 type: e, 22173 selectors: [["vn-svg"]], 22174 viewQuery: function(i, t) { 22175 if (i & 1 && Ks(qO, 5), i & 2) { 22176 let r; 22177 Xs(r = js()) && (t.svg = r.first); 22178 } 22179 }, 22180 inputs: { 22181 containerClass: "containerClass", 22182 displayMode: "displayMode", 22183 image: "image",
22184 viewBox: "viewBox", 22185 defaultAnimation: "defaultAnimation", 22186 customAnimation: "customAnimation", 22187 iconType: "iconType", 22188 size: "size", 22189 cssClass: "cssClass", 22190 animationClass: "animationClass" 22191 }, 22192 decls: 2, 22193 vars: 1, 22194 consts: [["svg", ""], [ 22195 "id", 22196 "svg", 22197 3, 22198 "click", 22199 "ngClass" 22200 ]], 22201 template: function(i, t) { 22202 i & 1 && (ie(0, "div", 1, 0), Ce("click", function() { 22203 return t.animate(); 22204 }), te()), i & 2 && $("ngClass", t.containerClass); 22205 }, 22206 dependencies: [Hi], 22207 encapsulation: 2, 22208 changeDetection: 1 22209 }), e; 22210 })(); 22211 })))(); 22212} 22213function L3(e, i) { 22214 if (e & 1) { 22215 let t = qe(); 22216 ie(0, "vn-icon", 5), Ce("click", function() { 22217 return $e(t), Pe(N().close()); 22218 }), te(); 22219 } 22220} 22221function B3(e, i) { 22222 if (e & 1) { 22223 let t = qe(); 22224 ie(0, "div", 4)(1, "span", 6), Ce("click", function() { 22225 return $e(t), Pe(N().close()); 22226 }), Je(2), te()(); 22227 } 22228 if (e & 2) { 22229 let t = N(); 22230 P(2), Ra(" ", t.closeLinkText || t.commonMessages?.PopoverCloseText, " "); 22231 } 22232} 22233var XO, JO, $S, hu; 22234function AS() { 22235 return (AS = Z((() => { 22236 de(), sr(), Ut(), Ml(), XO = [[[ 22237 "", 22238 "content", 22239 "" 22240 ]], [[ 22241 "", 22242 "buttons", 22243 "" 22244 ]]], JO = ["[content]", "[buttons]"], $S = new Te("POPPER_CONTROL_TOKEN"), hu = (() => { 22245 let e = class { 22246 constructor() { 22247 this.commonMessages = f(By), this.closeType = "link", this.onCloseLinkClick = It(); 22248 } 22249 close(t = !1) { 22250 this.content.hide(), this.onCloseLinkClick.emit(t); 22251 } 22252 }; 22253 return e.ɵfac = function(i) { 22254 return new (i || e)(); 22255 }, e.ɵcmp = ge({ 22256 type: e, 22257 selectors: [["vn-popper-content"]], 22258 viewQuery: function(i, t) { 22259 if (i & 1 && Ks(Ly, 7), i & 2) { 22260 let r; 22261 Xs(r = js()) && (t.content = r.first); 22262 } 22263 }, 22264 inputs: { 22265 closeType: "closeType", 22266 closeLinkText: "closeLinkText", 22267 cssClass: "cssClass", 22268 cssTextClass: "cssTextClass" 22269 }, 22270 outputs: { onCloseLinkClick: "onCloseLinkClick" }, 22271 features: [$i([{ 22272 provide: $S, 22273 useExisting: e 22274 }])], 22275 ngContentSelectors: JO, 22276 decls: 7, 22277 vars: 4, 22278 consts: [ 22279 [ 22280 1, 22281 "ngxp__tooltip", 22282 3, 22283 "ngClass" 22284 ], 22285 [ 22286 "name", 22287 "theme-ex", 22288 "extraClass", 22289 "ui-icon ui-close", 22290 "size", 22291 "12" 22292 ], 22293 [3, "ngClass"], 22294 [1, "popper-buttons"], 22295 [1, "ngxp__close-link"], 22296 [ 22297 "name", 22298 "theme-ex", 22299 "extraClass", 22300 "ui-icon ui-close", 22301 "size", 22302 "12", 22303 3, 22304 "click" 22305 ], 22306 [ 22307 1, 22308 "popper-close-link", 22309 "dh", 22310 3, 22311 "click" 22312 ] 22313 ], 22314 template: function(i, t) { 22315 i & 1 && (_t(XO), ie(0, "float-ui-content", 0), U(1, L3, 1, 0, "vn-icon", 1), ie(2, "div", 2), Ye(3), te(), ie(4, "div", 3), Ye(5, 1), U(6, B3, 3, 1, "div", 4), te()()), i & 2 && ($("ngClass", t.cssClass), P(), W(t.closeType === "button" ? 1 : -1), P(), $("ngClass", t.cssTextClass), P(4), W(t.closeType === "link" ? 6 : -1)); 22316 }, 22317 dependencies: [ 22318 Hn, 22319 Hi, 22320 $y, 22321 Ly, 22322 ji 22323 ], 22324 encapsulation: 2, 22325 changeDetection: 1 22326 }), e; 22327 })(); 22328 })))(); 22329} 22330function Lr(e) { 22331 return e?.ownerDocument?.defaultView || window; 22332} 22333function _S(e) {
22334 return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null; 22335} 22336function MS(e) { 22337 return mu() ? e instanceof HTMLElement || e instanceof Lr(e).HTMLElement : !1; 22338} 22339function mu() { 22340 return typeof window < "u"; 22341} 22342function QO(e) { 22343 let { overflow: i, overflowX: t, overflowY: r, display: s } = getComputedStyle(e); 22344 return /auto|scroll|overlay|hidden|clip/.test(i + r + t) && !oP.has(s); 22345} 22346function D3(e) { 22347 return aP.has(eP(e)); 22348} 22349function ZO(e) { 22350 return mu() ? e instanceof Node || e instanceof Lr(e).Node : !1; 22351} 22352function eP(e) { 22353 return ZO(e) ? (e.nodeName || "").toLowerCase() : "#document"; 22354} 22355function tP(e) { 22356 return !mu() || typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof Lr(e).ShadowRoot; 22357} 22358function iP(e) { 22359 return ((ZO(e) ? e.ownerDocument : e.document) || window.document)?.documentElement; 22360} 22361function F3(e) { 22362 if (eP(e) === "html") return e; 22363 let i = e.assignedSlot || e.parentNode || tP(e) && e.host || iP(e); 22364 return tP(i) ? i.host : i; 22365} 22366function rP(e) { 22367 let i = F3(e); 22368 return D3(i) ? e.ownerDocument ? e.ownerDocument.body : e.body : MS(i) && QO(i) ? i : rP(i); 22369} 22370function fu(e, i = [], t = !0) { 22371 let r = rP(e), s = r === e.ownerDocument?.body, n = Lr(r); 22372 if (s) { 22373 let a = _S(n); 22374 return i.concat(n, n.visualViewport || [], QO(r) ? r : [], a && t ? fu(a) : []); 22375 } 22376 return i.concat(r, fu(r, [], t)); 22377} 22378function sP(e, i) { 22379 return e.x === i.x && e.y === i.y && e.width === i.width && e.height === i.height; 22380} 22381function RS(e) { 22382 return mu() ? e instanceof Element || e instanceof Lr(e).Element : !1; 22383} 22384function LS(e) { 22385 return RS(e) ? e : e.contextElement; 22386} 22387function z3(e) { 22388 let i = getComputedStyle(e), t = parseFloat(i.width) || 0, r = parseFloat(i.height) || 0, s = MS(e), n = s ? e.offsetWidth : t, a = s ? e.offsetHeight : r, o = cl(t) !== n || cl(r) !== a; 22389 return o && (t = n, r = a), { 22390 width: t, 22391 height: r, 22392 $: o 22393 }; 22394} 22395function BS(e) { 22396 let i = LS(e); 22397 if (!MS(i)) return ol(1); 22398 let t = i.getBoundingClientRect(), { width: r, height: s, $: n } = z3(i), a = (n ? cl(t.width) : t.width) / r, o = (n ? cl(t.height) : t.height) / s; 22399 return (!a || !Number.isFinite(a)) && (a = 1), (!o || !Number.isFinite(o)) && (o = 1), { 22400 x: a, 22401 y: o 22402 }; 22403} 22404function G3(e, i = !1, t) { 22405 return !t || i && t !== Lr(e) ? !1 : i; 22406} 22407function V3() { 22408 return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none"); 22409} 22410function H3(e) { 22411 let i = Lr(e); 22412 return !V3() || !i.visualViewport ? lP : { 22413 x: i.visualViewport.offsetLeft, 22414 y: i.visualViewport.offsetTop 22415 }; 22416} 22417function U3(e) { 22418 let { x: i, y: t, width: r, height: s } = e; 22419 return { 22420 width: r, 22421 height: s, 22422 top: t, 22423 left: i, 22424 right: i + r, 22425 bottom: t + s, 22426 x: i, 22427 y: t 22428 }; 22429} 22430function nP(e, i = !1, t = !1, r) { 22431 let s = e.getBoundingClientRect(), n = LS(e), a = ol(1); 22432 i && (r ? RS(r) && (a = BS(r)) : a = BS(e)); 22433 let o = G3(n, t, r) ? H3(n) : ol(0), l = (s.left + o.x) / a.x, c = (s.top + o.y) / a.y, d = s.width / a.x, u = s.height / a.y; 22434 if (n) { 22435 let h = Lr(n), g = r && RS(r) ? Lr(r) : r, p = h, m = _S(p); 22436 for (; m && r && g !== p;) { 22437 let S = BS(m), b = m.getBoundingClientRect(), v = getComputedStyle(m), y = b.left + (m.clientLeft + parseFloat(v.paddingLeft)) * S.x, w = b.top + (m.clientTop + parseFloat(v.paddingTop)) * S.y; 22438 l *= S.x, c *= S.y, d *= S.x, u *= S.y, l += y, c += w, p = Lr(m), m = _S(p); 22439 } 22440 } 22441 return U3({ 22442 width: d, 22443 height: u, 22444 x: l, 22445 y: c 22446 }); 22447} 22448function W3(e, i) { 22449 let t = null, r, s = iP(e); 22450 function n() { 22451 clearTimeout(r), t?.disconnect(), t = null; 22452 } 22453 function a(o = !1, l = 1) { 22454 n();
22455 let c = e.getBoundingClientRect(), { left: d, top: u, width: h, height: g } = c; 22456 if (o || i(), !h || !g) return; 22457 let p = ll(u), m = ll(s.clientWidth - (d + h)), S = ll(s.clientHeight - (u + g)), b = ll(d), v = { 22458 rootMargin: `${-p}px ${-m}px ${-S}px ${-b}px`, 22459 threshold: cP(0, dP(1, l)) || 1 22460 }, y = !0; 22461 function w(T) { 22462 let O = T[0]?.intersectionRatio; 22463 if (O !== l) { 22464 if (!y) return a(); 22465 O ? a(!1, O) : r = setTimeout(() => { 22466 a(!1, 1e-7); 22467 }, 1e3); 22468 } 22469 O === 1 && !sP(c, e.getBoundingClientRect()) && a(), y = !1; 22470 } 22471 try { 22472 t = new IntersectionObserver(w, J(C({}, v), { root: s.ownerDocument })); 22473 } catch { 22474 t = new IntersectionObserver(w, v); 22475 } 22476 t.observe(e); 22477 } 22478 return a(!0), n; 22479} 22480function j3(e, i, t, r = {}) { 22481 let { ancestorScroll: s = !0, ancestorResize: n = !0, elementResize: a = typeof ResizeObserver == "function", layoutShift: o = typeof IntersectionObserver == "function", animationFrame: l = !1 } = r, c = LS(e), d = s || n ? [...c ? fu(c) : [], ...fu(i)] : []; 22482 d.forEach((b) => { 22483 s && b.addEventListener("scroll", t, { passive: !0 }), n && b.addEventListener("resize", t); 22484 }); 22485 let u = c && o ? W3(c, t) : null, h = -1, g = null; 22486 a && (g = new ResizeObserver(([b]) => { 22487 b && b.target === c && g && (g.unobserve(i), cancelAnimationFrame(h), h = requestAnimationFrame(() => { 22488 g?.observe(i); 22489 })), t(); 22490 }), c && !l && g.observe(c), g.observe(i)); 22491 let p, m = l ? nP(e) : null; 22492 l && S(); 22493 function S() { 22494 let b = nP(e); 22495 m && !sP(m, b) && t(), m = b, p = requestAnimationFrame(S); 22496 } 22497 return t(), () => { 22498 d.forEach((b) => { 22499 s && b.removeEventListener("scroll", t), n && b.removeEventListener("resize", t); 22500 }), u?.(), g?.disconnect(), g = null, l && cancelAnimationFrame(p); 22501 }; 22502} 22503function Y3(e, i) { 22504 return zS[`${e}${i}`] ?? zS.topmiddle; 22505} 22506function K3(e, i) { 22507 if (e & 1 && (Nt(0, "span", 7), Je(1), mt()), e & 2) { 22508 let t = N(2); 22509 P(), ft(t.tooltipTitle()); 22510 } 22511} 22512function q3(e, i) { 22513 if (e & 1) { 22514 let t = qe(); 22515 Nt(0, "div", 3)(1, "div", 4)(2, "div", 5)(3, "div", 6), Ye(4), U(5, K3, 2, 1, "span", 7), mt(), Ye(6, 1), mt(), Nt(7, "div", 8), Vb("click", function(r) { 22516 return $e(t), Pe(N().closeTooltip(r)); 22517 })("keydown", function(r) { 22518 return $e(t), Pe(N().handleKeydown(r)); 22519 }), Ye(8, 2), mt()(), Ye(9, 3), mt(); 22520 } 22521 if (e & 2) { 22522 let t = N(); 22523 P(3), yl("id", t.tooltipId() + "-title"), P(2), W(t.tooltipTitle() ? 5 : -1); 22524 } 22525} 22526function X3(e, i) { 22527 e & 1 && Ye(0, 4); 22528} 22529var ol, aP, oP, lP, ll, cP, dP, cl, uP, pP, DS, FS, hP, mP, fP, gu, Di, gP, Oa, Br, zS, vP, SP, GS, bP, VS; 22530function HS() { 22531 return (HS = Z((() => { 22532 Re(), de(), Ke(), wt(), jn(), st(), Is(), cp(), ol = (e) => ({ 22533 x: e, 22534 y: e 22535 }), aP = /* @__PURE__ */ new Set([ 22536 "html", 22537 "body", 22538 "#document" 22539 ]), oP = /* @__PURE__ */ new Set(["inline", "contents"]), lP = ol(0), ll = Math.floor, cP = Math.max, dP = Math.min, cl = Math.round, uP = class { 22540 constructor(e, i) { 22541 this._destroyed = new Xe(), this._intersectionSubject = new Xe(), this._elementObservables = /* @__PURE__ */ new Map(), i && (this._intersectionObserver = new i((t) => this._intersectionSubject.next(t), e)); 22542 } 22543 observe(e) { 22544 return this._elementObservables.has(e) || this._elementObservables.set(e, new Ln((i) => { 22545 let t = this._intersectionSubject.subscribe(i); 22546 return this._intersectionObserver?.observe(e), () => { 22547 this._intersectionObserver?.unobserve(e), t.unsubscribe(), this._elementObservables.delete(e); 22548 }; 22549 }).pipe(We((i) => i.some((t) => t.target === e)), bA({ 22550 bufferSize: 1, 22551 refCount: !0 22552 }), bi(this._destroyed))), this._elementObservables.get(e); 22553 } 22554 destroy() { 22555 this._destroyed.next(), this._destroyed.complete(), this._intersectionSubject.complete(), this._elementObservables.clear(); 22556 } 22557 }, pP = (() => { 22558 let e = class { 22559 constructor() { 22560 this._intersectionObserverCtor = f(r_), this._observers = /* @__PURE__ */ new Map(); 22561 } 22562 ngOnDestroy() { 22563 for (let [, t] of this._observers) t.destroy(); 22564 this._observers.clear(); 22565 } 22566 observe(t, r) { 22567 return this._observers.has(r) || this._observers.set(r, new uP(r, this._intersectionObserverCtor)), this._observers.get(r).observe(t); 22568 } 22569 }; 22570 return e.ɵfac = function(i) { 22571 return new (i || e)(); 22572 }, e.ɵprov = R({ 22573 token: e, 22574 factory: e.ɵfac, 22575 providedIn: "root" 22576 }), e; 22577 })(), DS = new Te("OverlayRef with data"), FS = 1e4, hP = 8, mP = 16, fP = .5, gu = (() => { 22578 let e = class { 22579 set tooltipToggle(t) { 22580 this.tooltipToggleSignal.set(t), this.overlayRef && (t ? this.openTooltip() : this.closeTooltip()); 22581 } 22582 constructor() {
22583 this._overlay = f(B_), this._injector = f(ui), this._vcr = f(Gu), this._destroyRef = f(ze), this._sharedIntersectionObserver = f(pP), this._scrollDispatcher = f(z_), this._ariaDescriber = f(F_), this._focusMonitor = f(V_), this._tagName = f(Ab, { optional: !0 }), this._timerService = f(Wi), this._document = f(vi), this.elementRef = f(di), this._isVisible = le(!1), this._isShown = le(!1), this.tooltipToggleSignal = le(!1), this._currentTooltipText = le(null), this.isKeyboardFocused = le(!1), this._isVisible$ = Pl(this._isVisible), this._positionUpdateCleanups = OA, this.closeOutsideViewport = ce(!1, { transform: gr }), this.autoOpen = ce(!1, { transform: gr }), this.fullWidth = ce(!1, { transform: gr }), this.position = ce("top"), this.arrowPosition = ce("start"), this.autoCloseTime = ce(FS), this.content = ce(void 0, { alias: "dsTooltipTriggerFor" }), this.closeOnScroll = ce(!1, { transform: gr }), this.hasBackdrop = ce(!1, { transform: gr }), this.closeOnInteraction = ce(!1, { transform: gr }), this.tooltipCustomClass = ce(""), this.interactive = ce(!1, { transform: gr }), this._position = ne(() => this.fullWidth() && this.position() !== "top" && this.position() !== "bottom" ? (console.warn("Invalid position for full width, defaulting to top"), "top") : this.position()), this.dsTooltipTriggerForContext = ce(null), this.tooltipToggleChange = It(), Gi(() => { 22584 let t = this._isVisible(), r = this.autoOpen(), s = this._isShown(), n = this.tooltipToggleSignal(); 22585 t && (n || r && !s) && (n || this.tooltipToggleSignal.set(!0), s || Wu(() => this.initializeAutoOpen(r))); 22586 }); 22587 } 22588 ngOnInit() { 22589 this.overlayRef = this.createOverlay(), this._sharedIntersectionObserver.observe(this.elementRef.nativeElement, { threshold: 1 }).pipe(he(this._destroyRef)).subscribe((t) => { 22590 t?.[0] && this._isVisible.set(t[0].isIntersecting); 22591 }), this.listenToOverlayState(), this._focusMonitor.monitor(this.elementRef.nativeElement, !0).pipe(he(this._destroyRef)).subscribe((t) => { 22592 this.isKeyboardFocused.set(t === "keyboard"); 22593 }); 22594 } 22595 ngOnDestroy() { 22596 this._autoCloseTimeout && this._timerService.clearTimeout(this._autoCloseTimeout), this._timerService.clearTimeout(this._positionRecalcTimeout); 22597 try { 22598 this._positionUpdateCleanups(); 22599 } catch {} 22600 this.overlayRef?.dispose(); 22601 } 22602 isButton() { 22603 return this._tagName === "button"; 22604 } 22605 toggleTooltip() { 22606 this.overlayRef?.hasAttached() ? (this.tooltipToggleSignal.set(!1), this.closeTooltip()) : (this.tooltipToggleSignal.set(!0), this.openTooltip()); 22607 } 22608 createOverlay() { 22609 let t = this._scrollDispatcher.getAncestorScrollContainers(this.elementRef), r = Y3(this._position(), this.arrowPosition()), s = this._overlay.position().flexibleConnectedTo(this.elementRef).withPositions([r]).withFlexibleDimensions(!1).withViewportMargin(hP).withPush(!0).withScrollableContainers(t), n = this.closeOnScroll() ? this._overlay.scrollStrategies.close() : this._overlay.scrollStrategies.reposition({ scrollThrottle: mP }), a = []; 22610 return this.fullWidth() && a.push("ds-tooltip-full-width", `ds-tooltip-${this._position()}`), this.tooltipCustomClass() && a.push(this.tooltipCustomClass()), this._overlay.create(J(C({ 22611 positionStrategy: s, 22612 scrollStrategy: n, 22613 hasBackdrop: this.hasBackdrop() 22614 }, this.hasBackdrop() && { backdropClass: "cdk-overlay-transparent-backdrop" }), { panelClass: a })); 22615 } 22616 initializeAutoOpen(t) { 22617 Fn(() => { 22618 this.overlayRef?.hasAttached() || (this.openTooltip(), this._timerService.clearTimeout(this._positionRecalcTimeout), this._positionRecalcTimeout = this._timerService.setTimeout(() => this.refreshPosition(), 0, { serverMode: "omit" })); 22619 }, { injector: this._injector }), t && this.scheduleAutoClose(this.autoCloseTime() ?? FS); 22620 } 22621 listenToOverlayState() { 22622 this.overlayRef && (this.overlayRef.attachments().pipe(he(this._destroyRef)).subscribe(() => { 22623 this.tooltipToggleChange.emit({ 22624 isTooltipOpen: !0, 22625 source: "overlayAttachment" 22626 }); 22627 }), this.overlayRef.detachments().pipe(he(this._destroyRef)).subscribe(() => { 22628 let t = this._currentTooltipText(); 22629 t && !this.interactive() && (this._ariaDescriber.removeDescription(this.elementRef.nativeElement, t), this._currentTooltipText.set(null)), this.tooltipToggleSignal.set(!1), this.tooltipToggleChange.emit({ 22630 isTooltipOpen: !1, 22631 source: "overlayDetachment" 22632 }); 22633 })); 22634 } 22635 getRequiredElements() { 22636 let t = this.overlayRef?.overlayElement; 22637 if (!t) return; 22638 let r = t.querySelector(".ds-tooltip-arrow"); 22639 if (!r) return; 22640 let s = t.querySelector("ds-tooltip-content")?.getBoundingClientRect(); 22641 if (s) return { 22642 arrowElement: r, 22643 tooltipContent: s, 22644 targetRect: this.elementRef.nativeElement.getBoundingClientRect(), 22645 arrowSize: r.getBoundingClientRect() 22646 }; 22647 } 22648 refreshPosition() { 22649 this.overlayRef?.hasAttached() && (this.overlayRef.updatePosition(), this.compensateBottomAnchorDrift(), this.adjustArrowPosition()); 22650 } 22651 compensateBottomAnchorDrift() { 22652 let t = this.overlayRef?.overlayElement, r = this.overlayRef?.hostElement; 22653 if (!t?.style.bottom || !r) return; 22654 let s = parseFloat(t.style.bottom); 22655 if (Number.isNaN(s)) return; 22656 let n = r.getBoundingClientRect().bottom - this._document.documentElement.clientHeight; 22657 Math.abs(n) < fP || (t.style.bottom = `${s + n}px`); 22658 } 22659 adjustArrowPosition() { 22660 let t = this.getRequiredElements(); 22661 if (!t) return; 22662 let { arrowElement: r, tooltipContent: s, targetRect: n, arrowSize: a } = t, o = this._position(); 22663 if (r instanceof HTMLElement) { 22664 if (o === "top" || o === "bottom") { 22665 let l = n.left + n.width / 2 - s.left - a.width / 2, c = a.width + 2 * Oa; 22666 if (s.width < c) { 22667 let d = (s.width - a.width) / 2; 22668 r.style.left = `${Math.max(d, 0)}px`; 22669 } else l = Math.max(l, Oa), l = Math.min(l, s.width - Br - Oa), r.style.left = `${l}px`; 22670 r.style.top = ""; 22671 } else if (o === "left" || o === "right") { 22672 let l = n.top + n.height / 2 - s.top - a.height / 2, c = a.height + 2 * Oa; 22673 if (s.height < c) { 22674 let d = (s.height - a.height) / 2; 22675 r.style.top = `${Math.max(d, 0)}px`; 22676 } else r.style.top = `${l}px`; 22677 r.style.left = ""; 22678 } 22679 } 22680 } 22681 scheduleAutoClose(t) { 22682 t !== 0 && (this._autoCloseTimeout = this._timerService.setTimeout(() => { 22683 this.overlayRef?.hasAttached() && this.closeTooltip(); 22684 }, t, { serverMode: "omit" })); 22685 } 22686 openTooltip() { 22687 let t = this.content(); 22688 if (this.overlayRef?.hasAttached() || !t || !this.overlayRef) return; 22689 let r = ui.create({ 22690 providers: [{ 22691 provide: DS, 22692 useValue: { 22693 ref: this.overlayRef, 22694 data: { 22695 position: this._position(), 22696 arrowPosition: this.arrowPosition() 22697 } 22698 } 22699 }], 22700 parent: this._injector 22701 }), s = new D_(t, this._vcr, this.dsTooltipTriggerForContext(), r); 22702 this.overlayRef?.attach(s); 22703 let n = this.overlayRef?.overlayElement.querySelector("ds-tooltip-content")?.querySelector(".ds-tooltip-title"); 22704 if (n && !this.interactive() && (this._ariaDescriber.describe(this.elementRef.nativeElement, n), this._currentTooltipText.set(n)), !this.overlayRef) return; 22705 let a = () =>
22705 bi(this.overlayRef.detachments()), o = Dn(window, "scroll", { 22706 passive: !0, 22707 capture: !0 22708 }), l = []; 22709 this.closeOnInteraction() && l.push(this.overlayRef.outsidePointerEvents()), this.hasBackdrop() && l.push(this.overlayRef.backdropClick()), this.closeOutsideViewport() && this._isVisible$.pipe(tr(), a(), he(this._destroyRef)).subscribe((c) => { 22710 c || this.closeTooltip(); 22711 }), this.closeOnScroll() && l.push(o), Vi(...l).pipe(tr(), a(), he(this._destroyRef)).subscribe(() => { 22712 this.closeTooltip(); 22713 }), this._positionUpdateCleanups = j3(this.elementRef.nativeElement, this.overlayRef.overlayElement, () => this.refreshPosition()), this._isShown() || this._isShown.set(!0), this.refreshPosition(); 22714 } 22715 closeTooltip() { 22716 this.overlayRef?.hasAttached() && this.overlayRef.detach(); 22717 try { 22718 this._positionUpdateCleanups(); 22719 } catch {} 22720 } 22721 }; 22722 return e.ɵfac = function(i) { 22723 return new (i || e)(); 22724 }, e.ɵdir = ci({ 22725 type: e, 22726 selectors: [[ 22727 "", 22728 "dsTooltipTriggerFor", 22729 "" 22730 ]], 22731 hostVars: 2, 22732 hostBindings: function(i, t) { 22733 i & 1 && Ce("click", function() { 22734 return t.toggleTooltip(); 22735 }), i & 2 && Qe("aria-haspopup", t.interactive() ? "dialog" : null)("aria-expanded", t.interactive() && t.isButton() ? t.tooltipToggleSignal() : null); 22736 }, 22737 inputs: { 22738 closeOutsideViewport: [1, "closeOutsideViewport"], 22739 autoOpen: [1, "autoOpen"], 22740 fullWidth: [1, "fullWidth"], 22741 position: [1, "position"], 22742 arrowPosition: [1, "arrowPosition"], 22743 autoCloseTime: [1, "autoCloseTime"], 22744 content: [ 22745 1, 22746 "dsTooltipTriggerFor", 22747 "content" 22748 ], 22749 closeOnScroll: [1, "closeOnScroll"], 22750 hasBackdrop: [1, "hasBackdrop"], 22751 closeOnInteraction: [1, "closeOnInteraction"], 22752 tooltipCustomClass: [1, "tooltipCustomClass"], 22753 interactive: [1, "interactive"], 22754 dsTooltipTriggerForContext: [1, "dsTooltipTriggerForContext"], 22755 tooltipToggle: "tooltipToggle" 22756 }, 22757 outputs: { tooltipToggleChange: "tooltipToggleChange" } 22758 }), e; 22759 })(), Di = 11, gP = 20, Oa = 8, Br = gP / 2 + Oa, zS = { 22760 bottomstart: { 22761 offsetY: Di, 22762 offsetX: -Br, 22763 originX: "center", 22764 originY: "bottom", 22765 overlayX: "start", 22766 overlayY: "top" 22767 }, 22768 bottomend: { 22769 offsetY: Di, 22770 offsetX: Br, 22771 originX: "center", 22772 originY: "bottom", 22773 overlayX: "end", 22774 overlayY: "top" 22775 }, 22776 bottommiddle: { 22777 offsetY: Di, 22778 originX: "center", 22779 originY: "bottom", 22780 overlayX: "center", 22781 overlayY: "top" 22782 }, 22783 topstart: { 22784 offsetY: -Di, 22785 offsetX: -Br, 22786 originX: "center", 22787 originY: "top", 22788 overlayX: "start", 22789 overlayY: "bottom" 22790 }, 22791 topend: { 22792 offsetY: -Di, 22793 offsetX: Br, 22794 originX: "center", 22795 originY: "top", 22796 overlayX: "end", 22797 overlayY: "bottom" 22798 }, 22799 topmiddle: { 22800 offsetY: -Di, 22801 originX: "center", 22802 originY: "top", 22803 overlayX: "center", 22804 overlayY: "bottom" 22805 }, 22806 leftstart: { 22807 offsetX: -Di, 22808 offsetY: -Br, 22809 originX: "start", 22810 originY: "center", 22811 overlayX: "end", 22812 overlayY: "top" 22813 }, 22814 leftend: { 22815 offsetX: -Di, 22816 offsetY: Br, 22817 originX: "start", 22818 originY: "center", 22819 overlayX: "end", 22820 overlayY: "bottom" 22821 }, 22822 leftmiddle: { 22823 offsetX: -Di, 22824 originX: "start", 22825 originY: "center", 22826 overlayX: "end", 22827 overlayY: "center" 22828 }, 22829 rightstart: { 22830 offsetX: Di, 22831 offsetY: -Br, 22832 originX: "end", 22833 originY: "center", 22834 overlayX: "start", 22835 overlayY: "top" 22836 }, 22837 rightend: { 22838 offsetX: Di, 22839 offsetY: Br, 22840 originX: "end", 22841 originY: "center", 22842 overlayX: "start", 22843 overlayY: "bottom" 22844 }, 22845 rightmiddle: { 22846 offsetX: Di, 22847 originX: "end", 22848 originY: "center", 22849 overlayX: "start", 22850 overlayY: "center" 22851 } 22852 }, vP = [ 22853 [[ 22854 "", 22855 "slot", 22856 "title" 22857 ]], 22858 [[ 22859 "", 22860 "slot", 22861 "description" 22862 ]], 22863 [[ 22864 "", 22865 "slot", 22866 "close" 22867 ]], 22868 [[ 22869 "", 22870 "slot", 22871 "action" 22872 ]], 22873 "*" 22874 ], SP = [ 22875 "[slot=title]", 22876 "[slot=description]", 22877 "[slot=close]", 22878 "[slot=action]", 22879 "*" 22880 ], GS = (() => { 22881 let e = class { 22882 constructor() { 22883 this._tooltipTrigger = f(gu), this._elementRef = f(di), this._destroyRef = f(ze), this._lastKeyWasTab = le(!1), this.id = sy("ds-tooltip-"), this.overlay
22883= f(DS), this.inverse = Ne(!1), this.variant = Ne("neutral"), this.fullWidth = ce(!1, { transform: gr }), this.fullWidthMode = ce("fullwidthMargin"), this.customTooltip = ce(!1, { transform: gr }), this.interactive = ne(() => this._tooltipTrigger.interactive()), this.tooltipTitle = ce(""), this.outerContainerClasses = ne(() => { 22884 let t = `ds-tooltip-${this.overlay.data.position}`, r = `ds-tooltip-arrow-${this.overlay.data.arrowPosition}`, s = this.inverse() ? "ds-tooltip-inverse" : "", n = this.fullWidthMode() === "fullwidthMargin" ? "ds-tooltip-fullwidth-margin" : "", a = this.overlay.data.position === "left" || this.overlay.data.position === "right" ? "ds-tooltip-arrow-middle" : r; 22885 return `ds-tooltip-outer-container ds-tooltip-${this.variant()} ${t} ${a} ${n} ${s}`; 22886 }), this.closed = It(), this.role = ne(() => this.interactive() ? "dialog" : "tooltip"); 22887 } 22888 ngAfterViewInit() { 22889 this.focusFirstElement(); 22890 } 22891 focusFirstElement() { 22892 if (this.interactive() && this._tooltipTrigger.isKeyboardFocused()) { 22893 let t = this._elementRef.nativeElement.querySelector("button:not([disabled]), a:not([tabindex=\"-1\"])"); 22894 t && setTimeout(() => { 22895 t.focus(); 22896 }, 0); 22897 } 22898 } 22899 handleFocusOut(t) { 22900 if (!this.interactive()) { 22901 this._lastKeyWasTab.set(!1); 22902 return; 22903 } 22904 let r = t.relatedTarget, s = !r || !this._elementRef.nativeElement.contains(r), n = r && this._tooltipTrigger.elementRef.nativeElement.contains(r); 22905 if (s && !n && this._lastKeyWasTab()) { 22906 let a = setTimeout(() => { 22907 this.closeTooltip(t); 22908 }, 0); 22909 this._destroyRef.onDestroy(() => clearTimeout(a)); 22910 } 22911 this._lastKeyWasTab.set(!1); 22912 } 22913 onActionClick(t) { 22914 t.target.closest("[dsTooltipClose]") && this.closeTooltip(t); 22915 } 22916 closeTooltip(t) { 22917 this.overlay && (t.stopPropagation(), this.closed.emit({ 22918 type: t.type, 22919 source: "close" 22920 }), this._tooltipTrigger.tooltipToggleChange.emit({ 22921 isTooltipOpen: !1, 22922 source: "close" 22923 }), this.interactive() && setTimeout(() => { 22924 this._tooltipTrigger.elementRef.nativeElement?.focus(); 22925 }, 0), this.overlay.ref.detach()); 22926 } 22927 handleKeydown(t) { 22928 if (this._lastKeyWasTab.set(t.key === "Tab"), t.key === "Escape") { 22929 t.preventDefault(), this.closeTooltip(t); 22930 return; 22931 } 22932 (t.key === "Enter" || t.key === " ") && t.target.closest("[dsTooltipClose]") && (t.preventDefault(), this.closeTooltip(t)); 22933 } 22934 tooltipId() { 22935 return this.id; 22936 } 22937 getThemeableProperties() { 22938 return { 22939 variant: this.variant, 22940 inverse: this.inverse 22941 }; 22942 } 22943 }; 22944 return e.ɵfac = function(i) { 22945 return new (i || e)(); 22946 }, e.ɵcmp = ge({ 22947 type: e, 22948 selectors: [["ds-tooltip-content"]], 22949 hostVars: 3, 22950 hostBindings: function(i, t) { 22951 i & 1 && Ce("click", function(r) { 22952 return t.onActionClick(r); 22953 })("keydown", function(r) { 22954 return t.handleKeydown(r); 22955 })("focusout", function(r) { 22956 return t.handleFocusOut(r); 22957 }), i & 2 && Qe("customTooltip", t.customTooltip())("role", t.role())("aria-labelledby", t.role() === "dialog" ? t.tooltipId() + "-title" : null); 22958 }, 22959 inputs: { 22960 inverse: [1, "inverse"], 22961 variant: [1, "variant"], 22962 fullWidth: [1, "fullWidth"], 22963 fullWidthMode: [1, "fullWidthMode"], 22964 customTooltip: [1, "customTooltip"], 22965 tooltipTitle: [1, "tooltipTitle"] 22966 }, 22967 outputs: { 22968 inverse: "inverseChange", 22969 variant: "variantChange", 22970 closed: "closed" 22971 }, 22972 features: [$i([{ 22973 provide: Nr, 22974 useExisting: e 22975 }])], 22976 ngContentSelectors: SP, 22977 decls: 6, 22978 vars: 3, 22979 consts: [ 22980 [1, "ds-tooltip-arrow"], 22981 [ 22982 "xmlns", 22983 "http://www.w3.org/2000/svg", 22984 "width", 22985 "20", 22986 "height", 22987 "11", 22988 "viewBox", 22989 "0 0 20 11" 22990 ], 22991 [ 22992 "d", 22993 "M11.5364 10.1563C10.7369 11.1158 9.26315 11.1158 8.46356 10.1563L0 0L20 0L11.5364 10.1563Z", 22994 "fill", 22995 "currentColor" 22996 ], 22997 [1, "ds-tooltip-container"], 22998 [1, "ds-tooltip-text-container"], 22999 [1, "ds-tooltip-text"], 23000 [ 23001 1, 23002 "ds-tooltip-title", 23003 3, 23004 "id" 23005 ], 23006 [1, "sr-only"], 23007 [ 23008 1, 23009 "ds-tooltip-close-button", 23010 3, 23011 "click", 23012 "keydown" 23013 ] 23014 ], 23015 template: function(i, t) { 23016 i & 1 && (_t(vP), Nt(0, "div")(1, "span", 0), Rb(), Nt(2, "svg", 1), br(3, "path", 2), mt()(), U(4, q3, 10, 2, "div", 3)(5, X3, 1, 0), mt()), i & 2 && (Le(t.outerContainerClasses()), P(4), W(t.customTooltip() ? 5 : 4)); 23017 }, 23018 styles: [`.cdk-overlay-container,.cdk-global-overlay-wrapper{--%NS%ds-overlay-container-width: 100%;--%NS%ds-overlay-container-height: 100%;height:var(--%NS%ds-overlay-container-width);left:0;pointer-events:none;top:0;width:var(--%NS%ds-overlay-container-height)}.cdk-overlay-container{position:fixed;z-index:1052}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{--%NS%ds-overlay-pane-max-width: 100%;--%NS%ds-overlay-pane-max-height: 100%;box-sizing:border-box;display:flex;max-height:var(--%NS%ds-overlay-pane-max-height);max-width:var(--%NS%ds-overlay-pane-max-width);pointer-events:auto;position:absolute;z-index:1000}.cdk-overlay-connected-position-bounding-box{--%NS%ds-overlay-local-position-min-width: 1px;--%NS%ds-overlay-local-position-min-height: 1px;display:flex;flex-direction:column;min-height:var(--%NS%ds-overlay-local-position-min-height);min-width:var(--%NS%ds-overlay-local-position-min-width);position:absolute;z-index:1000}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop{--%NS%highlight-color: rgb(0 0 0 / 0%);inset:0;opacity:0;pointer-events:auto;position:absolute;-webkit-tap-highlight-color:var(--%NS%highlight-color);transition:opacity .4s cubic-bezier(.25,.8,.25,1);z-index:1000}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{--%NS%ds-overlay-local-backdrop-background: #000000;background:var(--%NS%ds-overlay-local-backdrop-background);opacity:.3}.ds-tooltip-outer-container{--%NS%ds-tooltip-radius-border: var(--%NS%semantic-radius-semi-rounded-sm);--%NS%ds-tooltip-size-max-width: 300px;--%NS%ds-tooltip-space-margin: var(--%NS%semantic-spacing-container-padding-lg);--%NS%ds-tooltip-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-lg);--%NS%ds-tooltip-space-padding-left: var(--%NS%semantic-spacing-container-padding-lg);--%NS%ds-tooltip-space-padding-right: var(--%NS%semantic-spacing-container-padding-lg);--%NS%ds-tooltip-space-padding-top: var(--%NS%semantic-spacing-container-padding-lg);--%NS%ds-tooltip-space-stack: var(--%NS%semantic-spacing-stack-sm);--%NS%ds-tooltip-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-tooltip-font-size: var(--%NS%semantic-typography-label-md-font-size);--%NS%ds-tooltip-font-weight: var(--%NS%semantic-typography-label-md-font-weight);--%NS%ds-tooltip-line-height: var(--%NS%semantic-typography-label-md-line-height);font-family:var(--%NS%ds-tooltip-font-family);font-size:var(--%NS%ds-tooltip-font-size);font-weight:var(--%NS%ds-tooltip-font-weight);line-height:var(--%NS%ds-tooltip-line-height);
23018--%NS%ds-tooltip-box-shadow: var(--%NS%semantic-elevation-raised-2-box-shadow);box-shadow:var(--%NS%ds-tooltip-box-shadow)}.ds-tooltip-outer-container.ds-tooltip-neutral{--%NS%ds-tooltip-color-background: var(--%NS%semantic-color-surface-container-lowest-base);--%NS%ds-tooltip-color-text: var(--%NS%semantic-color-on-surface-base);--%NS%ds-tooltip-color-title: var(--%NS%semantic-color-on-surface-base)}.ds-tooltip-outer-container.ds-tooltip-inverse{--%NS%ds-tooltip-color-background: var(--%NS%semantic-color-surface-container-lowest-base-inverse);--%NS%ds-tooltip-color-text: var(--%NS%semantic-color-on-surface-base-inverse);--%NS%ds-tooltip-color-title: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-tooltip-outer-container.ds-tooltip-utility{--%NS%ds-tooltip-color-background: var(--%NS%semantic-color-utility-base);--%NS%ds-tooltip-color-text: var(--%NS%semantic-color-on-utility-base);--%NS%ds-tooltip-color-title: var(--%NS%semantic-color-on-utility-base)}.ds-tooltip-outer-container{background-color:var(--%NS%ds-tooltip-custom-color-background, var(--%NS%ds-tooltip-color-background));border-radius:var(--%NS%ds-tooltip-radius-border);color:var(--%NS%ds-tooltip-custom-color-text, var(--%NS%ds-tooltip-color-text));cursor:auto;max-width:var(--%NS%ds-tooltip-size-max-width);opacity:1;position:relative;transition:opacity .3s}.ds-tooltip-outer-container .ds-tooltip-container{display:flex;flex-direction:column;gap:var(--%NS%ds-tooltip-space-stack);padding:var(--%NS%ds-tooltip-space-padding-top, 0) var(--%NS%ds-tooltip-space-padding-right, 0) var(--%NS%ds-tooltip-space-padding-bottom, 0) var(--%NS%ds-tooltip-space-padding-left, 0);position:relative;text-align:left}.ds-tooltip-outer-container .ds-tooltip-container .ds-tooltip-text-container{display:flex}.ds-tooltip-outer-container .ds-tooltip-container .ds-tooltip-text-container .ds-tooltip-text{align-self:center}.ds-tooltip-outer-container .ds-tooltip-container .ds-tooltip-text-container .ds-tooltip-text [slot=title]{--%NS%ds-tooltip-font-family: var(--%NS%semantic-typography-body-font-family, sans-serif);--%NS%ds-tooltip-font-size: var(--%NS%semantic-typography-body-md-strong-font-size);--%NS%ds-tooltip-font-weight: var(--%NS%semantic-typography-body-md-strong-font-weight);--%NS%ds-tooltip-line-height: var(--%NS%semantic-typography-body-md-strong-line-height);font-family:var(--%NS%ds-tooltip-font-family);font-size:var(--%NS%ds-tooltip-font-size);font-weight:var(--%NS%ds-tooltip-font-weight);line-height:var(--%NS%ds-tooltip-line-height);color:var(--%NS%ds-tooltip-custom-color-title, var(--%NS%ds-tooltip-color-title));text-align:left}.ds-tooltip-outer-container .ds-tooltip-container .ds-tooltip-text-container .ds-tooltip-title:empty{display:none}.ds-tooltip-outer-container .ds-tooltip-container .ds-tooltip-text-container .ds-tooltip-close-button{--%NS%ds-tooltip-width-local: fit-content;--%NS%ds-tooltip-height-local: fit-content;cursor:pointer;display:flex;height:var(--%NS%ds-tooltip-height-local);width:var(--%NS%ds-tooltip-width-local)}.ds-tooltip-outer-container .ds-tooltip-container [slot=action]{display:flex;justify-content:end}.ds-tooltip-outer-container .ds-tooltip-arrow{color:var(--%NS%ds-tooltip-color-background);display:inline-flex;filter:drop-shadow(0 4px 8px rgba(0,0,0,.009));position:absolute}.ds-tooltip-outer-container.ds-tooltip-right .ds-tooltip-arrow{left:1px;top:0;transform:rotate(90deg);transform-origin:top left}.ds-tooltip-outer-container.ds-tooltip-left .ds-tooltip-arrow{right:1px;top:0;transform:rotate(270deg);transform-origin:top right}.ds-tooltip-outer-container.ds-tooltip-top .ds-tooltip-arrow{bottom:1px;left:0;transform:translateY(100%)}.ds-tooltip-outer-container.ds-tooltip-bottom .ds-tooltip-arrow{left:0;top:1px;transform:rotate(180deg);transform-origin:top center}.ds-tooltip-outer-container .sr-only{--%NS%ds-local-tooltip-sr-only-width: 1px;--%NS%ds-local-tooltip-sr-only-height: 1px;--%NS%ds-local-tooltip-sr-only-margin: -1px;position:absolute;width:var(--%NS%ds-local-tooltip-sr-only-width);height:var(--%NS%ds-local-tooltip-sr-only-height);padding:0;margin:var(--%NS%ds-local-tooltip-sr-only-margin);overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media screen and (max-width:600px){.ds-tooltip-full-width{--%NS%ds-tooltip-size-full-width: 100%;display:flex;flex-direction:row;justify-content:space-around;left:0!important;min-width:var(--%NS%ds-tooltip-size-full-width)}.ds-tooltip-full-width.ds-tooltip-top{--%NS%ds-tooltip-local-top-translate-y: -11px;transform:translateY(var(--%NS%ds-tooltip-local-top-translate-y))!important}.ds-tooltip-full-width.ds-tooltip-bottom{--%NS%ds-tooltip-local-bottom-translate-y: 11px;transform:translateY(var(--%NS%ds-tooltip-local-bottom-translate-y))!important}.ds-tooltip-full-width .ds-tooltip-outer-container{--%NS%ds-tooltip-local-fullwidth-max-width: 100vw;--%NS%ds-tooltip-size-max-width: var(--%NS%ds-tooltip-local-fullwidth-max-width)}.ds-tooltip-full-width .ds-tooltip-outer-container.ds-tooltip-fullwidth-margin{--%NS%ds-tooltip-fullwidth-margin: var(--%NS%ds-tooltip-space-margin);--%NS%ds-tooltip-size-max-width: calc(var(--%NS%ds-tooltip-local-fullwidth-max-width) - var(--%NS%ds-tooltip-fullwidth-margin))}} 23019`], 23020 encapsulation: 2 23021 }), e; 23022 })(), bP = (() => { 23023 let e = class { 23024 constructor() { 23025 this.tooltipTrigger = f(gu), this.elementRef = f(di), this.timerService = f(Wi), this.closeDelay = ce(200), this.hideTimeoutId = le(void 0), this.isMouseInside = le(!1), this.isKeyboardFocused = ne(() => this.tooltipTrigger.isKeyboardFocused() && !this.tooltipTrigger.interactive()), this.onTooltipMouseEnter = () => { 23026 this.isMouseInside.set(!0), this.hideTimeoutId() && (this.timerService.clearTimeout(this.hideTimeoutId()), this.hideTimeoutId.set(void 0)); 23027 }, this.onMouseEnter = () => { 23028 this.isMouseInside.set(!0), this.hideTimeoutId() && (this.timerService.clearTimeout(this.hideTimeoutId()), this.hideTimeoutId.set(void 0)); 23029 }, this.onMouseLeave = (t) => { 23030 this.isLeavingTooltip(t) || this.scheduleHide(); 23031 }, this.onTooltipMouseLeave = (t) => { 23032 this.isLeavingTooltip(t) || this.scheduleHide(); 23033 }, Gi(() => { 23034 this.isMouseInside() || this.isKeyboardFocused() ? this.showTooltip() : this.hideTooltip(); 23035 }); 23036 } 23037 ngOnInit() { 23038 this.addTriggerListeners(); 23039 } 23040 addTriggerListeners() { 23041 let t = this.elementRef.nativeElement; 23042 t.addEventListener("mouseenter", this.onMouseEnter), t.addEventListener("mouseleave", this.onMouseLeave); 23043 } 23044 addTooltipListeners() { 23045 let t = this.tooltipTrigger.overlayRef?.overlayElement; 23046 !t || this._tooltipListenersElement === t || (this.removeTooltipListeners(), t.addEventListener("mouseenter", this.onTooltipMouseEnter), t.addEventListener("mouseleave", this.onTooltipMouseLeave), this._tooltipListenersElement = t); 23047 } 23048 removeTriggerListeners() { 23049 let t = this.elementRef.nativeElement; 23050 t.removeEventListener("mouseenter", this.onMouseEnter), t.removeEventListener("mouseleave", this.onMouseLeave); 23051 } 23052 removeTooltipListeners() { 23053 let t = this._tooltipListenersElement; 23054 t?.removeEventListener("mouseenter", this.onTooltipMouseEnter), t?.removeEventListener("mouseleave", this.onTooltipMouseLeave), this._tooltipListenersElement = void 0; 23055 } 23056 showTooltip() { 23057 this.tooltipTrigger.overlayRef?.hasAttached() || (this.tooltipTrigger.toggleTooltip(), this.addTooltipListeners(), this._positionRecalcTimeoutId = this.timerService.setTimeout(() => this.tooltipTrigger.refreshPosition(), 0, { serverMode: "omit" }), this._detachmentsSub?.unsubscribe(), this._detachmentsSub = this.tooltipTrigger.overlayRef?.detachments().subscribe(() => { 23058 this.removeTooltipListeners(), this.resetTooltipState(); 23059 })); 23060 } 23061 hideTooltip() { 23062 this.tooltipTrigger.overlayRef?.hasAttached() && this.tooltipTrigger.toggleTooltip(); 23063 } 23064 isLeavingTooltip(t) { 23065 let r = this.tooltipTrigger.overlayRef?.overlayElement; 23066 return !!r && (r.contains(t.relatedTarget) || t.currentTarget.contains(t.relatedTarget)); 23067 } 23068 scheduleHide() { 23069 this.hideTimeoutId.set(this.timerService.setTimeout(() => { 23070 this.isMouseInside.set(!1), this.resetTooltipState(); 23071 }, this.closeDelay(), { serverMode: "omit" })); 23072 } 23073 resetTooltipState() { 23074 this.isMouseInside.set(!1), this.hideTooltip(); 23075 } 23076 ngOnDestroy() { 23077 this._positionRecalcTimeoutId && this.timerService.clearTimeout(this._positionRecalcTimeoutId), this.hideTimeoutId() && this.timerService.clearTimeout(this.hideTimeoutId()), this.removeTriggerListeners(), this.removeTooltipListeners(), this._detachmentsSub?.unsubscribe(); 23078 } 23079 }; 23080 return e.ɵfac = function(i) { 23081 return new (i || e)(); 23082 }, e.ɵdir = ci({ 23083 type: e, 23084 selectors: [[ 23085 "", 23086 "dsTooltipOnFocus", 23087 "" 23088 ]], 23089 inputs: { closeDelay: [1, "closeDelay"] } 23090 }), e; 23091 })(), VS = (() => { 23092 let e = class {}; 23093 return e.ɵfac = function(i) { 23094 return new (i || e)(); 23095 }, e.ɵmod = Gn({ type: e }), e.ɵinj = Bn({}), e; 23096 })(); 23097 })))(); 23098} 23099var Pa; 23100function vu() { 23101 return (vu = Z((() => { 23102 de(), Pa = (() => { 23103 let e = class { 23104 constructor() { 23105 let t = f(di); 23106 this.element = t.nativeElement; 23107 } 23108 ngOnChanges(t) { 23109 let r = t.vnHtmlAttrs; 23110 r && this.renderAttributes(r.currentValue, r.previousValue); 23111 } 23112 renderAttributes(t, r) {
23113 this.snapshot && (this.addedClasses.forEach((s) => this.element.classList.remove(s)), Object.keys(r || []).forEach((s) => { 23114 this.snapshot.has(s) ? r[s] === this.element.getAttribute(s) && this.element.setAttribute(s, this.snapshot.get(s)) : this.isClass(s) || this.element.removeAttribute(s); 23115 })), this.snapshot = /* @__PURE__ */ new Map(), this.addedClasses = [], Object.keys(t || []).forEach((s) => { 23116 let n = t[s]; 23117 if (this.isClass(s)) this.addedClasses.push(n), this.element.classList.add(n); 23118 else { 23119 let a = this.element.getAttribute(s); 23120 a && this.snapshot.set(s, a), this.element.setAttribute(s, n); 23121 } 23122 }); 23123 } 23124 isClass(t) { 23125 return t.toLowerCase() === "class"; 23126 } 23127 }; 23128 return e.ɵfac = function(i) { 23129 return new (i || e)(); 23130 }, e.ɵdir = ci({ 23131 type: e, 23132 selectors: [[ 23133 "", 23134 "vnHtmlAttrs", 23135 "" 23136 ]], 23137 inputs: { vnHtmlAttrs: "vnHtmlAttrs" }, 23138 features: [zn] 23139 }), e; 23140 })(); 23141 })))(); 23142} 23143function J3(e, i) { 23144 if (e & 1 && (ie(0, "div", 5), pe(1, "div", 6), te()), e & 2) { 23145 let t = N(); 23146 P(), Ws("animation-duration", t.autoCloseMs(), "ms"); 23147 } 23148} 23149function Q3(e) { 23150 return e.get(dl); 23151} 23152function Z3(e) { 23153 let i = Number(e?.trim()); 23154 return Number.isFinite(i) && i >= 0 ? i * 1e3 : EP * 1e3; 23155} 23156function ez(e, i) { 23157 if (e & 1) { 23158 let t = qe(); 23159 ie(0, "span", 5), Ce("click", function() { 23160 $e(t); 23161 let r = N(2); 23162 return Pe(r.previous(r.itemName)); 23163 }), Je(1), te(); 23164 } 23165 if (e & 2) { 23166 let t = N(2); 23167 P(), ft(t.commonMessages.PopoverPreviousText); 23168 } 23169} 23170function tz(e, i) { 23171 if (e & 1) { 23172 let t = qe(); 23173 ie(0, "span", 5), Ce("click", function() { 23174 $e(t); 23175 let r = N(2); 23176 return Pe(r.next(r.itemName)); 23177 }), Je(1), te(); 23178 } 23179 if (e & 2) { 23180 let t = N(2); 23181 P(), ft(t.commonMessages.PopoverNextText); 23182 } 23183} 23184function iz(e, i) { 23185 if (e & 1) { 23186 let t = qe(); 23187 ie(0, "span", 5), Ce("click", function() { 23188 return $e(t), Pe(N(2).tooltipsService.closeTooltip()); 23189 }), Je(1), te(); 23190 } 23191 if (e & 2) { 23192 let t = N(2); 23193 P(), ft(t.commonMessages.PopoverCloseText); 23194 } 23195} 23196function rz(e, i) { 23197 if (e & 1) { 23198 let t = qe(); 23199 ie(0, "div", 0)(1, "div", 1)(2, "vn-icon", 2), Ce("click", function() { 23200 return $e(t), Pe(N().tooltipsService.closeTooltip()); 23201 }), te(), pe(3, "div", 3), ie(4, "div", 4), U(5, ez, 2, 1, "span"), U(6, tz, 2, 1, "span")(7, iz, 2, 1, "span"), te()()(); 23202 } 23203 if (e & 2) { 23204 let t, r = N(); 23205 Qe("data-testid", r.itemName), P(3), $("vnDynamicHtml", (t = r.tooltipsService.getTooltip(r.itemName)) == null ? null : t.text), P(2), W(r.tooltipsService.hasPrevious(r.itemName) ? 5 : -1), P(), W(r.tooltipsService.hasNext(r.itemName) ? 6 : 7); 23206 } 23207} 23208function sz(e, i) { 23209 if (e & 1 && (pe(0, "span", 2), Es(1, "trustAsHtml")), e & 2) { 23210 let t = N(); 23211 Le(t.cssClass), $("ngClass", t.additionalClass || void 0)("innerHtml", Vn(1, 4, t.text), Da); 23212 } 23213} 23214function nz(e, i) { 23215 if (e & 1 && pe(0, "span", 3), e & 2) { 23216 let t = N(); 23217 Le(t.cssClass), $("ngClass", t.additionalClass || void 0)("innerText", t.text); 23218 } 23219} 23220function az(e, i) { 23221 e & 1 && Ie(0); 23222} 23223function oz(e, i) { 23224 e & 1 && be(0, az, 1, 0, "ng-container", 10), e & 2 && (N(), $("ngTemplateOutlet", Ge(20))); 23225} 23226function lz(e, i) { 23227 if (e & 1 && Ie(0, 16), e & 2) { 23228 let t = N(4); 23229 $("ngTemplateOutlet", Ge(3))("ngTemplateOutletContext", vr(2, gs, t.item)); 23230 } 23231} 23232function cz(e, i) { 23233 if (e & 1 && Ie(0, 16), e & 2) { 23234 let t = N(4); 23235 $("ngTemplateOutlet", Ge(5))("ngTemplateOutletContext", vr(2, gs, t.item)); 23236 } 23237} 23238function dz(e, i) { 23239 if (e & 1) { 23240 let t = qe(); 23241 ie(0, "a", 14), Ce("click", function(r) { 23242 return $e(t), Pe(N(3).click(r)); 23243 }), ir(1, 15), U(2, lz, 1, 4, "ng-container", 16), rr(), Ie(3, 16), ir(4, 17), U(5, cz, 1, 4, "ng-container", 16), rr(), te(); 23244 } 23245 if (e & 2) { 23246 let t = N(3), r = Ge(7); 23247 $("ngClass", t.item.parameters == null ? null : t.item.parameters.dsButtonClass)("kind", t.buttonKind)("variant", t.buttonVariant)("inverse", t.buttonInverse)("size", t.buttonSize)("disabled", t.disabled)("vnSpeculativeLink", t.item.parameters?.useSpeculation ? t.item.url : ""), Qe("href", t.item.url, ys)("target", t.item.target)("rel", t.item.rel)("title", t.item.toolTip), P(2), W(t.useSlot === "start" ? 2 : -1), P(), $("ngTemplateOutlet", r)("ngTemplateOutletContext", vr(15, gs, t.item)), P(2), W(t.useSlot === "end" ? 5 : -1); 23248 } 23249} 23250function uz(e, i) { 23251 e & 1 && be(0, dz, 6, 17, "a", 13), e & 2 && $("vnAuthstate", N(2).item.authstate); 23252} 23253function pz(e, i) { 23254 if (e & 1) { 23255 let t = qe(); 23256 ie(0, "button", 19), Ce("click", function(r) { 23257 return $e(t), Pe(N(3).click(r)); 23258 }), Ie(1, 16), te(); 23259 } 23260 if (e & 2) { 23261 let t = N(3), r = Ge(7); 23262 $("ngClass", t.item.parameters == null ? null : t.item.parameters.dsButtonClass)("kind", t.buttonKindIconButton)("variant", t.buttonVariant)("inverse", t.buttonInverse)("size", t.buttonSize)("disabled", t.disabled), Qe("title", t.item.toolTip), P(), $("ngTemplateOutlet", r)("ngTemplateOutletContext", vr(9, gs, t.item)); 23263 } 23264} 23265function hz(e, i) { 23266 e & 1 && be(0, pz, 2, 11, "button", 18), e & 2 && $("vnAuthstate", N(2).item.authstate); 23267} 23268function mz(e, i) { 23269 e & 1 && pe(0, "vn-icon", 24), e & 2 && $("name", N(5).iconName); 23270} 23271function fz(e, i) { 23272 e & 1 && pe(0, "vn-icon", 26), e & 2 && $("name", N(5).iconName2); 23273} 23274function gz(e, i) { 23275 if (e & 1) { 23276 let t = qe(); 23277 ie(0, "a", 23), Ce("click", function(r) { 23278 return $e(t), Pe(N(4).click(r)); 23279 }), U(1, mz, 1, 1, "vn-icon", 24), ir(2, 25), Ie(3, 16), rr(), U(4, fz, 1, 1, "vn-icon", 26), te(); 23280 } 23281 if (e & 2) { 23282 let t = N(4), r = Ge(7); 23283 $("title", t.item.text || "")("subtitle", t.subtext ?? t.itemDescription)("boldTitle", !!t.item.parameters?.boldTitle)("vnSpeculativeLink", t.item.parameters?.useSpeculation ? t.item.url : ""), Qe("href", t.item.url, ys)("target", t.item.target), P(), W(t.iconName ? 1 : -1), P(2), $("ngTemplateOutlet", r)("ngTemplateOutletContext", vr(10, gs, t.item)), P(), W(t.iconName2 ? 4 : -1); 23284 } 23285} 23286function vz(e, i) { 23287 e & 1 && be(0, gz, 5, 12, "a", 22), e & 2 && $("vnAuthstate", N(3).item.authstate); 23288} 23289function Sz(e, i) { 23290 if (e & 1) { 23291 let t = qe(); 23292 ie(0, "a", 28), Es(1, "async"), Ce("click", function(r) { 23293 return $e(t), Pe(N(4).click(r)); 23294 }), Ie(2, 16), te(); 23295 } 23296 if (e & 2) { 23297 let t = N(4), r = Ge(7); 23298 yt("active", Vn(1, 11, t.isActive$)), $("vnHtmlAttrs", t.htmlAttributes)("ngClass", t.linkClasses)("vnSpeculativeLink", t.item.parameters?.useSpeculation ? t.item.url : ""), Qe("href", t.item.url, ys)("target", t.item.target)("rel", t.item.rel)("title", t.item.toolTip), P(2), $("ngTemplateOutlet", r)("ngTemplateOutletContext", vr(13, gs, t.item)); 23299 } 23300} 23301function bz(e, i) { 23302 e & 1 && be(0, Sz, 3, 15, "a", 27), e & 2 && $("vnAuthstate", N(3).item.authstate); 23303} 23304function yz(e, i) { 23305 e & 1 && U(0, vz, 1, 1, "a", 20)(1, bz, 1, 1, "a", 21), e & 2 && W(N(2).useListSlots ? 0 : 1); 23306} 23307function wz(e, i) { 23308 if (e & 1 && (pe(0, "span", 29), ie(1, "vn-popper-content", 30, 9), ir(3, 31), pe(4, "div", 32), rr(), te()), e & 2) {
23309 let t = Ge(2), r = N(2); 23310 $("floatUi", t?.content || ""), P(), $("cssClass", r.tooltipClass), P(3), $("vnDynamicHtml", r.tooltipText); 23311 } 23312} 23313function Ez(e, i) { 23314 if (e & 1 && (U(0, uz, 1, 1, "a", 11)(1, hz, 1, 1, "button", 12)(2, yz, 2, 1), U(3, wz, 5, 3)), e & 2) { 23315 let t = N(); 23316 W(t.item.parameters?.kind && !t.item.parameters?.useDsIconButton ? 0 : t.item.parameters?.kind && t.item.parameters?.useDsIconButton ? 1 : 2), P(3), W(t.tooltipText ? 3 : -1); 23317 } 23318} 23319function Cz(e, i) { 23320 if (e & 1 && Ie(0, 16), e & 2) { 23321 let t = N().item; 23322 N(), $("ngTemplateOutlet", Ge(16))("ngTemplateOutletContext", vr(2, gs, t)); 23323 } 23324} 23325function Nz(e, i) { 23326 e & 1 && pe(0, "vn-icon", 34), e & 2 && $("name", N(2).iconName); 23327} 23328function Tz(e, i) { 23329 if (e & 1 && (ir(0, 33), U(1, Cz, 1, 4, "ng-container", 16)(2, Nz, 1, 1, "vn-icon", 34), rr()), e & 2) { 23330 let t = i.item, r = N(); 23331 P(), W(r.displayMode !== r.DisplayMode.Icon && t.image ? 1 : r.displayMode === r.DisplayMode.FastIcon && r.iconName ? 2 : -1); 23332 } 23333} 23334function kz(e, i) { 23335 if (e & 1 && Ie(0, 16), e & 2) { 23336 let t = N().item; 23337 N(), $("ngTemplateOutlet", Ge(16))("ngTemplateOutletContext", vr(2, gs, t)); 23338 } 23339} 23340function xz(e, i) { 23341 e & 1 && pe(0, "vn-icon", 26), e & 2 && $("name", N(2).iconName2); 23342} 23343function Iz(e, i) { 23344 if (e & 1 && (ir(0, 35), U(1, kz, 1, 4, "ng-container", 16)(2, xz, 1, 1, "vn-icon", 26), rr()), e & 2) { 23345 let t = i.item, r = N(); 23346 P(), W(r.displayMode !== r.DisplayMode.Icon && t.image ? 1 : r.displayMode === r.DisplayMode.FastIcon && r.iconName2 ? 2 : -1); 23347 } 23348} 23349function Oz(e, i) { 23350 e & 1 && Ie(0); 23351} 23352function Pz(e, i) { 23353 e & 1 && Ie(0); 23354} 23355function $z(e, i) { 23356 e & 1 && be(0, Pz, 1, 0, "ng-container", 10), e & 2 && (N(4), $("ngTemplateOutlet", Ge(18))); 23357} 23358function Az(e, i) { 23359 if (e & 1 && (ie(0, "div", 38), be(1, Oz, 1, 0, "ng-container", 10), U(2, $z, 1, 1, "ng-container"), te()), e & 2) { 23360 let t = N(3), r = Ge(16); 23361 P(), $("ngTemplateOutlet", r), P(), W(t.badgePosition === "icon" ? 2 : -1); 23362 } 23363} 23364function _z(e, i) { 23365 e & 1 && Ie(0); 23366} 23367function Mz(e, i) { 23368 e & 1 && be(0, _z, 1, 0, "ng-container", 10), e & 2 && (N(5), $("ngTemplateOutlet", Ge(18))); 23369} 23370function Rz(e, i) { 23371 if (e & 1 && (ie(0, "i", 40), U(1, Mz, 1, 1, "ng-container"), te()), e & 2) { 23372 let t = N(3).item, r = N(); 23373 Le(t.class), $("ngClass", r.iconClass), P(), W(r.badgePosition === "icon" ? 1 : -1); 23374 } 23375} 23376function Lz(e, i) { 23377 if (e & 1 && U(0, Rz, 2, 4, "i", 39), e & 2) { 23378 let t = N(2).item; 23379 W(t.class ? 0 : -1); 23380 } 23381} 23382function Bz(e, i) { 23383 if (e & 1 && U(0, Az, 3, 2, "div", 38)(1, Lz, 1, 1), e & 2) { 23384 let t = N().item; 23385 W(t.image ? 0 : 1); 23386 } 23387} 23388function Dz(e, i) { 23389 if (e & 1 && (ir(0, 15), pe(1, "vn-icon", 34), rr()), e & 2) { 23390 let t = N(3); 23391 P(), $("name", t.iconName); 23392 } 23393} 23394function Fz(e, i) { 23395 e & 1 && U(0, Dz, 2, 1, "ng-container", 15), e & 2 && W(N(2).iconName ? 0 : -1); 23396} 23397function zz(e, i) { 23398 e & 1 && Ie(0); 23399} 23400function Gz(e, i) { 23401 e & 1 && be(0, zz, 1, 0, "ng-container", 10), e & 2 && (N(2), $("ngTemplateOutlet", Ge(12))); 23402} 23403function Vz(e, i) { 23404 e & 1 && Ie(0); 23405} 23406function Hz(e, i) { 23407 e & 1 && be(0, Vz, 1, 0, "ng-container", 10), e & 2 && (N(2), $("ngTemplateOutlet", Ge(18))); 23408} 23409function Uz(e, i) { 23410 e & 1 && Ie(0); 23411} 23412function Wz(e, i) { 23413 if (e & 1 && pe(0, "vn-menu-item-text-content", 36), e & 2) { 23414 let t = N().item, r = N(); 23415 $("text", r.itemDescription)("cssClass", r.descriptionCssClass || "menu-item-sub")("renderHtmlText", r.renderHtmlText), Qe("data-testid", t.name); 23416 } 23417} 23418function jz(e, i) { 23419 e & 1 && Ie(0); 23420} 23421function Yz(e, i) { 23422 e & 1 && be(0, jz, 1, 0, "ng-container", 10), e & 2 && (N(2), $("ngTemplateOutlet", Ge(16))); 23423} 23424function Kz(e, i) { 23425 e & 1 && Ie(0); 23426} 23427function qz(e, i) { 23428 e & 1 && be(0, Kz, 1, 0, "ng-container", 10), e & 2 && (N(2), $("ngTemplateOutlet", Ge(18))); 23429} 23430function Xz(e, i) { 23431 if (e & 1 && pe(0, "span", 41), e & 2) { 23432 let t = N(2).item; 23433 $("ngClass", N().additionalIcon || t.parameters["additional-class"]); 23434 } 23435} 23436function Jz(e, i) { 23437 if (e & 1 && U(0, Xz, 1, 1, "span", 41), e & 2) { 23438 let t = N(2); 23439 W(t.displayMode === t.DisplayMode.Icon ? 0 : -1); 23440 } 23441} 23442function Qz(e, i) { 23443 if (e & 1 && (pe(0, "span", 37), Es(1, "trustAsHtml")), e & 2) { 23444 let t = N().item; 23445 $("ngClass", t.parameters.badgeTextClass || t.parameters["badge-text-class"] + " ml-2 badge badge-pill")("innerHtml", Vn(1, 2, t.parameters["badge-text"]), Da); 23446 } 23447} 23448function Zz(e, i) { 23449 if (e & 1 && (ir(0, 17), pe(1, "vn-icon", 26), rr()), e & 2) { 23450 let t = N(2); 23451 P(), $("name", t.iconName2); 23452 } 23453} 23454function eG(e, i) { 23455 e & 1 && Ie(0); 23456} 23457function tG(e, i) { 23458 e & 1 && be(0, eG, 1, 0, "ng-container", 10), e & 2 && (N(2), $("ngTemplateOutlet", Ge(18))); 23459} 23460function iG(e, i) { 23461 if (e & 1 && (U(0, Bz, 2, 1), U(1, Fz, 1, 1), U(2, Gz, 1, 1, "ng-container"), U(3, Hz, 1, 1, "ng-container"), be(4, Uz, 1, 0, "ng-container", 10), U(5, Wz, 1, 4, "vn-menu-item-text-content", 36), U(6, Yz, 1, 1, "ng-container"), U(7, qz, 1, 1, "ng-container"), U(8, Jz, 1, 1), U(9, Qz, 2, 4, "span", 37), U(10, Zz, 2, 1, "ng-container", 17), U(11, tG, 1, 1, "ng-container")), e & 2) { 23462 let t = i.item, r = N(), s = Ge(20); 23463 W(r.displayMode === r.DisplayMode.Icon && !r.useSlot ? 0 : -1), P(), W(r.displayMode === r.DisplayMode.FastIcon && !r.useSlot ? 1 : -1), P(), W(r.displayMode === r.DisplayMode.SvgIcon && t.svgImage && !r.useSlot ? 2 : -1), P(), W(r.badgePosition === "beforeText" ? 3 : -1), P(), $("ngTemplateOutlet", s), P(), W(r.itemDescription ? 5 : -1), P(), W(r.displayMode !== r.DisplayMode.Icon && t.image && !r.useSlot ? 6 : -1), P(), W(r.badgePosition === "afterText" ? 7 : -1), P(), W(r.additionalIcon || t.parameters["additional-class"] ? 8 : -1), P(), W(t.parameters["badge-text"] ? 9 : -1), P(), W(r.displayMode === r.DisplayMode.FastIcon && !r.useSlot && r.iconName2 ? 10 : -1), P(), W(r.displayMode === r.DisplayMode.FastIcon && !r.useSlot && r.badgePosition === "FastIcon" ? 11 : -1); 23464 } 23465} 23466function rG(e, i) { 23467 if (e & 1 && (pe(0, "span", 37), Es(1, "trustAsHtml")), e & 2) { 23468 let t = N(2); 23469 $("ngClass", t.item.parameters.tooltipClass)("innerHtml", Vn(1, 2, t.item.toolTip), Da); 23470 } 23471} 23472function sG(e, i) { 23473 e & 1 && U(0, rG, 2, 4, "span", 37), e & 2 && W(N().item.toolTip ? 0 : -1); 23474} 23475function nG(e, i) { 23476 e & 1 && Ie(0); 23477} 23478function aG(e, i) { 23479 e & 1 && be(0, nG, 1, 0, "ng-container", 10), e & 2 && (N(3), $("ngTemplateOutlet", Ge(18))); 23480} 23481function oG(e, i) { 23482 if (e & 1 && (ie(0, "i", 40), U(1, aG, 1, 1, "ng-container"), te()), e & 2) { 23483 let t = N(2); 23484 Le(t.item.class), $("ngClass", t.iconClass), P(), W(t.badgePosition === "icon" ? 1 : -1); 23485 } 23486} 23487function lG(e, i) { 23488 e & 1 && U(0, oG, 2, 4, "i", 39), e & 2 && W(N().item.class ? 0 : -1); 23489} 23490function cG(e, i) { 23491 if (e & 1 && pe(0, "vn-svg", 42), e & 2) { 23492 let t = N(); 23493 $("containerClass", t.item.parameters.containerClass)("cssClass", t.item.cssClass)("customAnimation", t.item.customAnimation)("defaultAnimation", t.item.defaultAnimation)("displayMode", t.DisplayMode.SvgIcon)("iconType", t.item.iconType)("image", t.item.svgImage)("size", t.item.size)("viewBox", t.item.viewBox); 23494 } 23495} 23496function dG(e, i) { 23497 if (e & 1 && (ir(0, 15), pe(1, "vn-icon", 34), rr()), e & 2) { 23498 let t = N(2); 23499 P(), $("name", t.iconName); 23500 } 23501} 23502function uG(e, i) { 23503 if (e & 1 && (ir(0, 17), pe(1, "vn-icon", 26), rr()), e & 2) { 23504 let t = N(2); 23505 P(), $("name", t.iconName2); 23506 } 23507} 23508function pG(e, i) { 23509 e & 1 && Ie(0); 23510} 23511function hG(e, i) { 23512 e & 1 && be(0, pG, 1, 0, "ng-container", 10), e & 2 && (N(2), $("ngTemplateOutlet", Ge(18))); 23513} 23514function mG(e, i) { 23515 if (e & 1 && (U(0, dG, 2, 1, "ng-container", 15), U(1, uG, 2, 1, "ng-container", 17), U(2, hG, 1, 1, "ng-container")), e & 2) { 23516 let t = N(); 23517 W(t.iconName ? 0 : -1), P(), W(t.iconName2 ? 1 : -1), P(), W(t.badgePosition === "FastIcon" ? 2 : -1); 23518 } 23519} 23520function fG(e, i) { 23521 if (e & 1 && pe(0, "vn-image", 43), e & 2) { 23522 let t = N(); 23523 $("alt", t.item.image.alt)("height", t.item.image.height)("imageClass", "menu-item-img" + (t.imageClass ? " " + t.imageClass : ""))("priority", !t.lazyLoad)("src", t.item.image.src)("width", t.item.image.width); 23524 } 23525} 23526function gG(e, i) { 23527 if (e & 1 && (ie(0, "span", 45), Je(1), te()), e & 2) { 23528 let t = N(2); 23529 P(), ft(t.badgeText); 23530 } 23531} 23532function vG(e, i) { 23533 if (e & 1 && (pe(0, "ds-notification-bubble", 44), U(1, gG, 2, 1, "span", 45)), e & 2) { 23534 let t = N(); 23535 $("badgeType", t.item.parameters == null ? null : t.item.parameters.badgeType)("badgeClass", t.badgeClass)("item", t.item.name)("section", t.section)("variant", t.badgeVariant)("size", t.badgeSize)("inverse", t.badgeInverse), P(), W(t.badgeText ? 1 : -1); 23536 } 23537} 23538function SG(e, i) { 23539 if (e & 1 && pe(0, "vn-menu-item-text-content", 46), e & 2) { 23540 let t = N(2); 23541 $("text", t.text || t.item.text)("additionalClass", t.textClass)("renderHtmlText", t.renderHtmlText), Qe("data-testid", t.item.name); 23542 } 23543} 23544function bG(e, i) { 23545 if (e & 1 && U(0, SG, 1, 4, "vn-menu-item-text-content", 46), e & 2) { 23546 let t = N(); 23547 W(t.text || t.item.text ? 0 : -1); 23548 } 23549} 23550function yG(e) { 23551 return e || np.Icon; 23552} 23553var On, US, yP, WS, dl, wP, EP, jS, CP, NP, TP, YS, kP, xP, ul, KS, gs, qS, IP, OP, PP; 23554function XS() { 23555 return (XS = Z((() => { 23556 Re(), de(), sr(), Ke(), Ns(), wt(), yi(), st(), ks(), Ry(), Cr(), xs(), Ua(), zy(), Ts(), Ut(), sM(), Ml(), Ky(), mM(), Jy(), kS(), IS(), PS(), AS(), HS(), vu(), O
23556n = (function(e) { 23557 return e.Counter = "counter", e.Icon = "icon", e; 23558 })(On || {}), US = (() => { 23559 let e = class { 23560 constructor() { 23561 this.menuItemsService = f(op), this.section = ce(), this.item = ce(), this.badgeClass = ce(), this.badgeType = ce(), this.notificationBubble = f(pu), this.counter = ne(() => { 23562 let t = this.section(), r = this.item(); 23563 if (t && r) { 23564 let s = this.menuItemsService.getCounter(t, r); 23565 return s ? C({}, s) : null; 23566 } 23567 return null; 23568 }), this.hidden = ne(() => { 23569 let t = this.counter(); 23570 return ((t?.type || this.badgeType() || On.Counter) === On.Icon ? !t?.cssClass : !t?.count) || null; 23571 }), this.label = ne(() => { 23572 let t = this.counter(), r = this.badgeClass(); 23573 return (t?.type || this.badgeType() || On.Counter) === On.Counter ? r?.includes("theme-spot-filled") || t?.count === void 0 ? "" : t?.count : ""; 23574 }), Gi(() => { 23575 this.notificationBubble.label.set(this.label()); 23576 }); 23577 } 23578 }; 23579 return e.ɵfac = function(i) { 23580 return new (i || e)(); 23581 }, e.ɵdir = ci({ 23582 type: e, 23583 selectors: [[ 23584 "ds-notification-bubble", 23585 "vnMenuItemBadge", 23586 "" 23587 ]], 23588 hostVars: 1, 23589 hostBindings: function(i, t) { 23590 i & 2 && Qe("hidden", t.hidden()); 23591 }, 23592 inputs: { 23593 section: [1, "section"], 23594 item: [1, "item"], 23595 badgeClass: [1, "badgeClass"], 23596 badgeType: [1, "badgeType"] 23597 } 23598 }), e; 23599 })(), yP = (() => { 23600 let e = class { 23601 constructor() { 23602 this.text = ce(""), this.tooltipTitle = ce("Notification"), this.autoCloseMs = ce(6e3), this.showProgress = ce(!1), this.closeAriaLabel = ce(), this.closed = It(), this.closeLabel = ne(() => this.closeAriaLabel() || "Close"); 23603 } 23604 }; 23605 return e.ɵfac = function(i) { 23606 return new (i || e)(); 23607 }, e.ɵcmp = ge({ 23608 type: e, 23609 selectors: [["vn-tooltip-content"]], 23610 inputs: { 23611 text: [1, "text"], 23612 tooltipTitle: [1, "tooltipTitle"], 23613 autoCloseMs: [1, "autoCloseMs"], 23614 showProgress: [1, "showProgress"], 23615 closeAriaLabel: [1, "closeAriaLabel"] 23616 }, 23617 outputs: { closed: "closed" }, 23618 decls: 6, 23619 vars: 4, 23620 consts: [ 23621 [ 23622 "variant", 23623 "neutral", 23624 3, 23625 "tooltipTitle" 23626 ], 23627 [ 23628 "slot", 23629 "close", 23630 "ds-button-icon", 23631 "", 23632 "variant", 23633 "flat", 23634 "kind", 23635 "primary", 23636 "size", 23637 "small", 23638 3, 23639 "click" 23640 ], 23641 ["name", "theme-ex"], 23642 ["slot", "description"], 23643 [3, "vnDynamicHtml"], 23644 [1, "vn-tooltip-progress"], 23645 [1, "vn-tooltip-progress__bar"] 23646 ], 23647 template: function(i, t) { 23648 i & 1 && (ie(0, "ds-tooltip-content", 0)(1, "button", 1), Ce("click", function() { 23649 return t.closed.emit(); 23650 }), pe(2, "vn-icon", 2), te(), ie(3, "div", 3), pe(4, "div", 4), U(5, J3, 2, 2, "div", 5), te()()), i & 2 && ($("tooltipTitle", t.tooltipTitle()), P(), Qe("aria-label", t.closeLabel()), P(3), $("vnDynamicHtml", t.text()), P(), W(t.showProgress() ? 5 : -1)); 23651 }, 23652 dependencies: [ 23653 VS, 23654 GS, 23655 pp, 23656 ji, 23657 Er 23658 ], 23659 styles: [`@charset "UTF-8";.cdk-overlay-pane.vn-tooltip .ds-tooltip-container{padding-bottom:var(--%NS%semantic-spacing-container-padding-xl);position:static}.cdk-overlay-pane.vn-tooltip .ds-tooltip-outer-container{clip-path:inset(-32px 0 0 0 round 0 0 var(--%NS%semantic-radius-semi-rounded-sm) var(--%NS%semantic-radius-semi-rounded-sm))}.cdk-overlay-pane.vn-tooltip .vn-tooltip-progress{bottom:0;left:0;position:absolute;right:0}.vn-tooltip-progress{height:var(--%NS%semantic-size-x1);pointer-events:none}.vn-tooltip-progress__bar{animation-fill-mode:forwards;animation-name:vn-tooltip-countdown;animation-timing-function:linear;background-color:var(--%NS%semantic-color-utility-base);border-radius:var(--%NS%semantic-radius-max);height:var(--%NS%semantic-size-x1);transform-origin:left center;width:100%}@keyframes vn-tooltip-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.vn-tooltip-progress__bar{animation:none}} 23660`], 23661 encapsulation: 2 23662 }), e; 23663 })(), pt(), WS = "vnTooltips", dl = (() => { 23664 var e = class extends ii {}; 23665 let i = (e.ɵfac = (() => { 23666 let t; 23667 return function(r) { 23668 return (t || (t = Fe(e)))(r || e); 23669 }; 23670 })(), e.ɵprov = R({ 23671 token: e, 23672 factory: function(t) { 23673 let r = null; 23674 return t ? r = new t() : r = Q3(ve(Ht)), r; 23675 }, 23676 providedIn: "root" 23677 }), e); 23678 return i = ht([Wt({ 23679 key: WS, 23680 product: it.SF 23681 })], i), i; 23682 })(), wP = "Notification", EP = 6, jS = "vn-tooltip-dismissed-", CP = 10, NP = "vn-tooltip", TP = (() => { 23683 let e = class { 23684 constructor() { 23685 this.tooltipsConfig = f(dl), this.clientConfigService = f(Ai), this.dslService = f(Zs), this.cookieService = f(yr), this.type = le(void 0), this.autoCloseSeconds = le(void 0), this.cookies = wr(this.cookieService.getCookieUpdates(), { initialValue: "" }), this.dismissed = Vu({ 23686 source: this.cookies, 23687 computation: () => this.hasDismissalCookie(this.type()) 23688 }
23688), this.configVersion = wr(Pl(this.type).pipe(We((t) => !!t), Ot(1), Si(() => Vi(this.tooltipsConfig.whenReady, this.clientConfigService.updates.pipe(We((t) => t.has(WS))))), Ub((t) => t + 1, 0), ei(() => je(0))), { initialValue: 0 }), this.contentItem = ne(() => { 23689 let t = this.type(); 23690 if (!t || !this.configVersion() || this.dismissed()) return; 23691 let r = this.tooltipsConfig.onboardings?.[t]; 23692 return r?.text ? r : void 0; 23693 }), this.item = wr(Pl(this.contentItem).pipe(Si((t) => t ? this.dslService.evaluateContent(t).pipe(ei(() => Db)) : Db), We((t) => !!t?.text), Ot(1))), this.panelClass = NP, this.showTooltip = Vu({ 23694 source: this.item, 23695 computation: (t) => !!t 23696 }), this.tooltipText = ne(() => this.item()?.text ?? ""), this.tooltipTitle = ne(() => { 23697 let t = this.item(); 23698 return t?.title || t?.messages?.tooltipAriaLabel || wP; 23699 }), this.closeAriaLabel = ne(() => this.item()?.messages?.closeAriaLabel), this.autoCloseMs = ne(() => Z3(this.autoCloseSeconds())); 23700 } 23701 watch(t, r) { 23702 this.type() || (this.type.set(t), this.autoCloseSeconds.set(r)); 23703 } 23704 close() { 23705 this.showTooltip.set(!1); 23706 } 23707 acknowledge() { 23708 this.close(); 23709 let t = this.type(); 23710 t && this.markDismissed(t); 23711 } 23712 onToggleChange({ isTooltipOpen: t }) { 23713 t || this.close(); 23714 } 23715 markDismissed(t) { 23716 let r = /* @__PURE__ */ new Date(); 23717 r.setFullYear(r.getFullYear() + CP), this.cookieService.put(`${jS}${t}`, "1", { expires: r }), t === this.type() && this.dismissed.set(!0); 23718 } 23719 hasDismissalCookie(t) { 23720 return !!t && !!this.cookieService.get(`${jS}${t}`); 23721 } 23722 }; 23723 return e.ɵfac = function(i) { 23724 return new (i || e)(); 23725 }, e.ɵprov = R({ 23726 token: e, 23727 factory: e.ɵfac 23728 }), e; 23729 })(), YS = (() => { 23730 let e = class { 23731 constructor() { 23732 this.activeTooltip = new Gt(null), this.tooltips = {}, this.tooltipNames = [], this.clearTooltips = () => this.tooltipNames.forEach((t) => this.tooltips[t].isActive = !1); 23733 } 23734 addTooltip(t, r) { 23735 t && !this.tooltips[t] && r[t] && (this.tooltips[t] = { 23736 isActive: !1, 23737 name: t, 23738 text: r[t].text 23739 }, this.tooltipNames.push(t)); 23740 } 23741 getTooltip(t) { 23742 return this.tooltips[t]; 23743 } 23744 nextTooltip(t) { 23745 let r = this.tooltips[this.tooltipNames[this.tooltipNames.indexOf(t) + 1]]; 23746 r && this.showTooltip(r); 23747 } 23748 previousTooltip(t) { 23749 let r = this.tooltipNames[this.tooltipNames.indexOf(t) - 1]; 23750 r && this.showTooltip(this.tooltips[r]); 23751 } 23752 hasNext(t) { 23753 let r = this.tooltipNames[this.tooltipNames.indexOf(t) + 1]; 23754 return !!(r && this.tooltips[r]); 23755 } 23756 hasPrevious(t) { 23757 let r = this.tooltipNames[this.tooltipNames.indexOf(t) - 1]; 23758 return !!(r && this.tooltips[r]); 23759 } 23760 removeTooltip(t) { 23761 t && this.tooltips[t] && (delete this.tooltips[t], this.tooltipNames.splice(this.tooltipNames.indexOf(t), 1)); 23762 } 23763 closeTooltip() { 23764 this.clearTooltips(), this.activeTooltip.next(null); 23765 } 23766 show() { 23767 let t = this.tooltipNames[0]; 23768 t && this.showTooltip(this.tooltips[t]); 23769 } 23770 showTooltip(t) { 23771 t && (this.clearTooltips(), t.isActive = !0, this.activeTooltip.next(t)); 23772 } 23773 }; 23774 return e.ɵfac = function(i) { 23775 return new (i || e)(); 23776 }, e.ɵprov = R({ 23777 token: e, 23778 factory: e.ɵfac, 23779 providedIn: "root" 23780 }), e; 23781 })(), kP = (() => { 23782 var e; 23783 let i = class { 23784 constructor() { 23785 Zi(this, e), this.tooltipsService = f(YS), this.commonMessages = f(By), this.element = f(di), this.scrollService = f(ly), this.onNextClick = It(), this.onPreviousClick = It(), er(this, e, f(ze)); 23786 } 23787 ngOnInit() { 23788 this.tooltips && this.tooltipItem && (this.tooltipsService.addTooltip(this.tooltipItem, this.tooltips), this.tooltipsService.activeTooltip.pipe(Z$(0), he(At(this, e))).subscribe(() => { 23789 let r = this.element?.nativeElement; 23790 if (!r) return; 23791 let s = r.offsetParent?.offsetTop + r.offsetHeight; 23792 isNaN(s) || this.scrollService.scrollTo({ 23793 source: "vanilla/tooltips", 23794 top: s, 23795 behavior: "smooth" 23796 }); 23797 })); 23798 } 23799 next(r) { 23800 this.tooltipsService.nextTooltip(r), this.onNextClick.emit(); 23801 } 23802 previous(r) { 23803 this.tooltipsService.previousTooltip(r), this.onPreviousClick.emit(); 23804 } 23805 }; 23806 return e = /* @__PURE__ */ new WeakMap(), i.ɵfac = function(t) { 23807 return new (t || i)(); 23808 }, i.ɵcmp = ge({ 23809 type: i, 23810 selectors: [["vn-tooltips"]], 23811 inputs: { 23812 itemName: "itemName", 23813 tooltipItem: "tooltipItem", 23814 tooltips: "tooltips" 23815 }, 23816 outputs: { 23817 onNextClick: "onNextClick", 23818 onPreviousClick: "onPreviousClick" 23819 }, 23820 decls: 1, 23821 vars: 1, 23822 consts: [ 23823 [ 23824 1, 23825 "ngxp__tooltip", 23826 "tooltip-info" 23827 ], 23828 [ 23829 1, 23830 "float-ui-container", 23831 "ngxp__animation", 23832 "ngxp__inner" 23833 ], 23834 [ 23835 "name", 23836 "theme-ex", 23837 "extraClass", 23838 "ui-icon ui-close", 23839 "size", 23840 "10", 23841 3, 23842 "click" 23843 ], 23844 [3, "vnDynamicHtml"], 23845 [1, "tooltips-nav"], 23846 [3, "click"] 23847 ], 23848 template: function(t, r) { 23849 t & 1 && U(0, rz, 8, 4, "div", 0), t & 2 && W(r.tooltipsService.getTooltip(r.itemName)?.isActive ? 0 : -1); 23850 }, 23851 dependencies: [Er, ji], 23852 styles: [".float-ui-container[_ngcontent-%COMP%]{display:block;opacity:1;border:0}.tooltips-nav[_ngcontent-%COMP%], .ui-close[_ngcontent-%COMP%]{float:right;font-weight:700}.tooltips-nav[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{margin-left:15px;cursor:pointer}"], 23853 changeDetection: 1 23854 }), i; 23855 })(), xP = (() => { 23856 let e = class { 23857 constructor() { 23858 this.renderer = f(Hr), this.template = f(lA), this.user = f(ri), this.viewContainer = f(Gu), this.hasView = !1, this.disabled = !1, this.unsubscribe = new Xe(); 23859 } 23860 set vnAuthstate(t) { 23861 this.states = t, this.updateView(); 23862 } 23863 ngOnInit() { 23864 this.user.events.pipe(We((t) => t instanceof Sy), bi(this.unsubscribe)).subscribe(() => this.onUserstateChange()); 23865 } 23866 ngOnDestroy() { 23867 this.unsubscribe.next(), this.unsubscribe.complete(); 23868 } 23869 toggle(t) { 23870 if (t && !this.hasView) { 23871 this.hasView = !0; 23872 let r = this.viewContainer.createEmbeddedView(this.template); 23873 this.element = r.rootNodes[0]; 23874 } else !t && this.hasView && (this.hasView = !1, this.viewContainer.clear()); 23875 } 23876 onUserstateChange() { 23877 this.updateView(); 23878 } 23879 updateView() { 23880 let t = this.user.workflowType > 0 ? "workflow" : this.user.isAuthenticated ? "authenticated" : "unauthenticated", r = this.states ? this.states[t] : "show"; 23881 this.toggle(r !== "hide"), r === "disabled" ? (this.disabled = !0, this.renderer.addClass(this.element, "disabled")) : this.disabled && (this.disabled = !1, this.renderer.removeClass(this.element, "disabled")); 23882 } 23883 }; 23884 return e.ɵfac = function(i) { 23885 return new (i || e)(); 23886 }, e.ɵdir = ci({ 23887 type: e, 23888 selectors: [[ 23889 "", 23890 "vnAuthstate", 23891 "" 23892 ]], 23893 inputs: { vnAuthstate: "vnAuthstate" } 23894 }), e; 23895 })(), ul = (() => { 23896 let e = class { 23897 constructor() { 23898 this.menuActionsService = f(Iy), this.log = f(lt); 23899 } 23900 handleMenuTrack(t) { 23901 return Oe(this, null, function* () { 23902 yield this.menuActionsService.trackClick(t, !0).catch((r) => { 23903 this.log.error("Error while tracking menu item click.", r); 23904 }); 23905 }); 23906 } 23907 handleMenuAction(t, r, s, n) { 23908 return Oe(this, null, function* () { 23909 n !== !1 && (yield this.menuActionsService.processClick(t, r, s, !1).catch((a) => { 23910 this.log.error("Error while tracking menu item click.", a); 23911 })); 23912 }); 23913 } 23914 }; 23915 return e.ɵfac = function(i) { 23916 return new (i || e)(); 23917 }, e.ɵprov = R({ 23918 token: e, 23919 factory: e.ɵfac, 23920 providedIn: "root" 23921 }), e; 23922 })(), KS = (() => { 23923 let e = class {}; 23924 return e.ɵfac = function(i) { 23925 return new (i || e)(); 23926 }, e.ɵcmp = ge({ 23927 type: e, 23928 selectors: [["vn-menu-item-text-content"]], 23929 inputs: { 23930 text: "text", 23931 cssClass: "cssClass", 23932 additionalClass: "additionalClass", 23933 renderHtmlText: "renderHtmlText" 23934 }, 23935 decls: 2, 23936 vars: 2, 23937 consts: [ 23938 [ 23939 3, 23940 "class", 23941 "ngClass", 23942 "innerHtml" 23943 ], 23944 [ 23945 3, 23946 "class", 23947 "ngClass", 23948 "innerText" 23949 ], 23950 [ 23951 3, 23952 "ngClass", 23953 "innerHtml" 23954 ], 23955 [ 23956 3, 23957 "ngClass", 23958 "innerText" 23959 ] 23960 ], 23961 template: function(i, t) { 23962 i & 1 && (U(0, sz, 2, 6, "span", 0), U(1, nz, 1, 4, "span", 1)), i & 2 && (W(t.renderHtmlText ? 0 : -1), P(), W(t.renderHtmlText ? -1 : 1)); 23963 }, 23964 dependencies: [ 23965 Hn, 23966 Hi, 23967 Xy 23968 ], 23969 encapsulation: 2, 23970 changeDetection: 1 23971 }), e; 23972 })(), gs = (e) => ({ item: e }), qS = (() => { 23973 var e; 23974 let i = class { 23975 constructor() { 23976 Zi(this, e), this.menuItemsService = f(op), this.deviceService = f(nr), this.tooltipsConfig = f(dl), this.cookieService = f(yr), this.changeDetectorRef = f($b), this.dslService = f(Zs), this.timerService = f(Wi), this.menuItemClickHandler = f(ul), this.trackingService = f(Yr), this.destroyRef = f(ze), this.variant = "primary", this.addItemClassToLinkClasses = !0, this.onClick = It(), this.noClass = !1, this.useListSlots = !1, this.disabled = !1, this.DisplayMode = np, this.tooltipClass = "tooltip-info", er(this, e, f(vt)), this.isBrowser = Jb(f(Ma)); 23977 } 23978 get class() { 23979 return this.item?.parameters?.["menu-item-additional-class"] || ""; 23980 } 23981 get useSlot() { 23982 return this.item.parameters?.useSlot; 23983 } 23984 get isActive$() { 23985 return this.menuItemsService.isActive(this.section, this.item.name) ? je(!0) : this.item.parameters?.highlighted ? this.dslService.evaluateExpression(this.item.parameters.highlighted) : je(!1); 23986 } 23987 get isActive() { 23988 return this.menuItemsService.isActive(this.section, this.item.name); 23989 } 23990 get buttonKind() { 23991 return this.item.parameters?.kind || "primary"; 23992 } 23993 get buttonKindIconButton() { 23994 return this.item.parameters?.kind || "primary"; 23995 } 23996 get buttonVariant() { 23997 return this.item.parameters?.variant || "filled"; 23998 } 23999 get buttonInverse() { 24000 return Ui(this.item.parameters?.inverse) || !1; 24001 } 24002 get buttonSize() { 24003 return this.item.parameters?.size || "large"; 24004 } 24005 get itemDescription() { 24006 return this.menuItemsService.getDescription(this.section, this.item.name) || this.description || this.item.resources.description || this.item.resources.subtitle || ""; 24007 } 24008 get descriptionCssClass() { 24009 return this.menuItemsService.getDescriptionCssClass(this.section, this.item.name); 24010 } 24011 get badgeSize() { 24012 return this.item.parameters?.badgeSize ? this.item.parameters.badgeSize : this.badgeClass?.includes("badge-size-xs") ? "small" : "medium"; 24013 }
24014 get badgeVariant() { 24015 return this.item.parameters?.badgeVariant || this.variant; 24016 } 24017 get badgeInverse() { 24018 return this.item.parameters?.badgeInverse !== void 0 ? this.item.parameters.badgeInverse === "true" : !0; 24019 } 24020 click(r) { 24021 this.menuItemClickHandler.handleMenuTrack(this.item), this.menuItemClickHandler.handleMenuAction(r, this.item, this.section, this.processClick), Ui(this.item.parameters["save-url"]) && this.cookieService.put(Ae.PreviousPageUrl, At(this, e).location.href), Ui(this.item.parameters["disable-on-click"]) && (this.linkClasses.disabled = "true"); 24022 let s = this.item.parameters["text-on-click"]; 24023 s && (this.text = s), this.onClick.emit(r); 24024 } 24025 ngOnInit() { 24026 this.lazyLoad = !this.deviceService.isRobot && !!this.lazyLoadImage, this.renderHtmlText = Ui(this.item.parameters["render-html"]), this.linkClasses = {}, this.badgePosition !== "FastIcon" && this.displayMode !== np.Icon && this.addItemClassToLinkClasses && this.item.class && (this.noClass || (this.linkClasses[this.item.class] = "true")), this.linkClass && (Array.isArray(this.linkClass) ? this.linkClass.slice(0) : [this.linkClass]).reduce((s, n) => (s[n] = "true", s), this.linkClasses); 24027 let r = this.item.parameters["link-class"]; 24028 r && (this.linkClasses[r] = "true"), this.extraClass && (Array.isArray(this.extraClass) ? this.extraClass : [this.extraClass]).forEach((s) => this.linkClasses[s] = "true"), this.imageClass = this.imageClass ?? this.item.parameters["image-class"], this.iconName = this.item.parameters.iconName, this.trackingService.trackEvents(this.item, Oy.load
24028), this.iconName2 = this.item.parameters.iconName2; 24029 } 24030 ngAfterViewInit() { 24031 return Oe(this, null, function* () { 24032 yield Vt(this.tooltipsConfig.whenReady), this.htmlAttributes = Object.fromEntries(Object.entries(this.item.parameters).filter(([r]) => r.startsWith("attr.")).map(([r, s]) => [r.replace("attr.", ""), s])), this.tooltipsConfig.isOnboardingTooltipsEnabled && this.isBrowser && this.timerService.setTimeout(() => { 24033 this.showOnboardingTooltips(); 24034 }, 500); 24035 }); 24036 } 24037 showOnboardingTooltips() { 24038 this.tooltipClass = this.item.parameters["tooltip-class"] || this.tooltipClass; 24039 let r = this.item.parameters.tooltip; 24040 if (!r) return; 24041 let s = this.cookieService.get(Ae.OnBtt) || "", n = this.tooltipsConfig.onboardings[r]; 24042 s.indexOf(r) > -1 || !n || this.dslService.evaluateContent(n).pipe(xe((a) => a?.text), We((a) => !!a), Ot(1), he(this.destroyRef)).subscribe((a) => { 24043 this.tooltipText = a, this.changeDetectorRef.detectChanges(), this.popperContent?.content.show(); 24044 let o = s.split(","); 24045 o.push(r); 24046 let l = /* @__PURE__ */ new Date(); 24047 l.setFullYear(l.getFullYear() + 1), this.cookieService.put(Ae.OnBtt, o.join(), { expires: l }); 24048 }); 24049 } 24050 }; 24051 return e = /* @__PURE__ */ new WeakMap(), i.ɵfac = function(t) { 24052 return new (t || i)(); 24053 }, i.ɵcmp = ge({ 24054 type: i, 24055 selectors: [["vn-menu-item"]], 24056 viewQuery: function(t, r) { 24057 if (t & 1 && Ks(hu, 5), t & 2) { 24058 let s; 24059 Xs(s = js()) && (r.popperContent = s.first); 24060 } 24061 }, 24062 hostVars: 4, 24063 hostBindings: function(t, r) { 24064 t & 2 && (Le(r.class), yt("menu-item", !0)); 24065 }, 24066 inputs: { 24067 item: "item", 24068 section: "section", 24069 displayMode: [ 24070 2, 24071 "displayMode", 24072 "displayMode", 24073 yG 24074 ], 24075 badgePosition: "badgePosition", 24076 badgeText: "badgeText", 24077 variant: "variant", 24078 linkClass: "linkClass", 24079 textClass: "textClass", 24080 iconClass: "iconClass", 24081 badgeClass: "badgeClass", 24082 imageClass: "imageClass", 24083 additionalIcon: "additionalIcon", 24084 processClick: "processClick", 24085 text: "text", 24086 description: "description", 24087 lazyLoadImage: "lazyLoadImage", 24088 addItemClassToLinkClasses: "addItemClassToLinkClasses", 24089 noClass: "noClass", 24090 extraClass: "extraClass", 24091 useListSlots: "useListSlots", 24092 subtext: "subtext", 24093 disabled: [ 24094 2, 24095 "disabled", 24096 "disabled", 24097 gr 24098 ] 24099 }, 24100 outputs: { onClick: "onClick" }, 24101 decls: 21, 24102 vars: 2, 24103 consts: [ 24104 ["slotStart", ""], 24105 ["slotEnd", ""], 24106 ["btnContent", ""], 24107 ["icon", ""], 24108 ["svg", ""], 24109 ["vnicon", ""], 24110 ["image", ""], 24111 ["badge", ""], 24112 ["plainText", ""], 24113 ["popper", ""], 24114 [4, "ngTemplateOutlet"], 24115 [ 24116 "ds-button", 24117 "", 24118 "dsTouchClick", 24119 "", 24120 3, 24121 "ngClass", 24122 "kind", 24123 "variant", 24124 "inverse", 24125 "size", 24126 "disabled", 24127 "vnSpeculativeLink" 24128 ], 24129 [ 24130 "ds-button-icon", 24131 "", 24132 "dsTouchClick", 24133 "", 24134 3, 24135 "ngClass", 24136 "kind", 24137 "variant", 24138 "inverse", 24139 "size", 24140 "disabled" 24141 ], 24142 [ 24143 "ds-button", 24144 "", 24145 "dsTouchClick", 24146 "", 24147 3, 24148 "ngClass", 24149 "kind", 24150 "variant", 24151 "inverse", 24152 "size", 24153 "disabled", 24154 "vnSpeculativeLink", 24155 "click", 24156 4, 24157 "vnAuthstate" 24158 ], 24159 [ 24160 "ds-button", 24161 "", 24162 "dsTouchClick", 24163 "", 24164 3, 24165 "click", 24166 "ngClass", 24167 "kind", 24168 "variant", 24169 "inverse", 24170 "size", 24171 "disabled", 24172 "vnSpeculativeLink" 24173 ], 24174 [ 24175 "ngProjectAs", 24176 "[slot=start]", 24177 5, 24178 [ 24179 "", 24180 "slot", 24181 "start" 24182 ] 24183 ], 24184 [ 24185 3, 24186 "ngTemplateOutlet", 24187 "ngTemplateOutletContext" 24188 ], 24189 [ 24190 "ngProjectAs", 24191 "[slot=end]", 24192 5, 24193 [ 24194 "", 24195 "slot", 24196 "end" 24197 ] 24198 ], 24199 [ 24200 "ds-button-icon", 24201 "", 24202 "dsTouchClick", 24203 "", 24204 3, 24205 "ngClass", 24206 "kind", 24207 "variant", 24208 "inverse", 24209 "size", 24210 "disabled", 24211 "click", 24212 4, 24213 "vnAuthstate" 24214 ], 24215 [ 24216 "ds-button-icon", 24217 "", 24218 "dsTouchClick", 24219 "", 24220 3, 24221 "click", 24222 "ngClass", 24223 "kind", 24224 "variant", 24225 "inverse", 24226 "size", 24227 "disabled" 24228 ], 24229 [ 24230 "ds-list-item", 24231 "", 24232 1, 24233 "am-list-item", 24234 3, 24235 "title", 24236 "subtitle", 24237 "boldTitle", 24238 "vnSpeculativeLink" 24239 ], 24240 [ 24241 "dsTouchClick", 24242 "", 24243 1, 24244 "menu-item-link", 24245 3, 24246 "vnHtmlAttrs", 24247 "active", 24248 "ngClass", 24249 "vnSpeculativeLink" 24250 ], 24251 [ 24252 "ds-list-item", 24253 "", 24254 "class", 24255 "am-list-item", 24256 3, 24257 "title", 24258 "subtitle", 24259 "boldTitle", 24260 "vnSpeculativeLink", 24261 "click", 24262 4, 24263 "vnAuthstate" 24264 ], 24265 [ 24266 "ds-list-item", 24267 "", 24268 1, 24269 "am-list-item", 24270 3, 24271 "click", 24272 "title", 24273 "subtitle", 24274 "boldTitle", 24275 "vnSpeculativeLink" 24276 ], 24277 [ 24278 "slot", 24279 "start", 24280 1, 24281 "am-list-item__icon-left", 24282 3, 24283 "name" 24284 ], 24285 ["slot", "center"], 24286 [ 24287 "slot", 24288 "end", 24289 1, 24290 "additional-icon", 24291 3, 24292 "name" 24293 ], 24294 [ 24295 "class", 24296 "menu-item-link", 24297 "dsTouchClick", 24298 "", 24299 3, 24300 "vnHtmlAttrs", 24301 "active", 24302 "ngClass", 24303 "vnSpeculativeLink", 24304 "click", 24305 4, 24306 "vnAuthstate" 24307 ], 24308 [ 24309 "dsTouchClick", 24310 "", 24311 1, 24312 "menu-item-link", 24313 3, 24314 "click", 24315 "vnHtmlAttrs", 24316 "ngClass", 24317 "vnSpeculativeLink" 24318 ], 24319 [ 24320 "popperTrigger", 24321 "none", 24322 3, 24323 "floatUi" 24324 ], 24325 [ 24326 "showCloseLink", 24327 "false", 24328 "closeType", 24329 "button", 24330 3, 24331 "cssClass" 24332 ], 24333 ["content", ""], 24334 [3, "vnDynamicHtml"], 24335 ["slot", "start"], 24336 [ 24337 "slot", 24338 "start", 24339 3, 24340 "name" 24341 ], 24342 ["slot", "end"], 24343 [ 24344 3, 24345 "text", 24346 "cssClass", 24347 "renderHtmlText" 24348 ], 24349 [ 24350 3, 24351 "ngClass", 24352 "innerHtml" 24353 ], 24354 [1, "image-icon"], 24355 [ 24356 3, 24357 "class", 24358 "ngClass" 24359 ], 24360 [3, "ngClass"], 24361 [ 24362 1, 24363 "ui-icon", 24364 "ui-icon-size-sm", 24365 "ml-auto", 24366 "additional-icon", 24367 3, 24368 "ngClass" 24369 ], 24370 [ 24371 3, 24372 "containerClass", 24373 "cssClass", 24374 "customAnimation", 24375 "defaultAnimation", 24376 "displayMode", 24377 "iconType", 24378 "image", 24379 "size", 24380 "viewBox" 24381 ], 24382 [ 24383 3, 24384 "alt", 24385 "height", 24386 "imageClass", 24387 "priority", 24388 "src", 24389 "width" 24390 ], 24391 [ 24392 "vnMenuItemBadge", 24393 "", 24394 3, 24395 "badgeType", 24396 "badgeClass", 24397 "item", 24398 "section", 24399 "variant", 24400 "size", 24401 "inverse" 24402 ], 24403 [1, "badge-text"], 24404 [ 24405 "cssClass", 24406 "menu-item-txt", 24407 3, 24408 "text", 24409 "additionalClass", 24410 "renderHtmlText" 24411 ] 24412 ], 24413 template: function(t, r) { 24414 t & 1 && (U(0, oz, 1, 1, "ng-container")(1, Ez, 4, 2), be(2, Tz, 3, 1, "ng-template", null, 0, ti)(4, Iz, 3, 1, "ng-template", null, 1, ti)(6, iG, 12, 12, "ng-template", null, 2, ti), U(8, sG, 1, 1), be(9, lG, 1, 1, "ng-template", null, 3, ti)(11, cG, 1, 9, "ng-template", null, 4, ti)(13, mG, 3, 3, "ng-template", null, 5, ti)(15, fG,
244141, 6, "ng-template", null, 6, ti)(17, vG, 2, 8, "ng-template", null, 7, ti)(19, bG, 1, 1, "ng-template", null, 8, ti)), t & 2 && (W(r.item.type === "text" ? 0 : 1), P(8), W(r.item.parameters.tooltip === "true" ? 8 : -1)); 24415 }, 24416 dependencies: [ 24417 xP, 24418 Hn, 24419 Hi, 24420 Js, 24421 Er, 24422 Pa, 24423 Qy, 24424 US, 24425 KS, 24426 $y, 24427 k_, 24428 hu, 24429 OS, 24430 ji, 24431 pu, 24432 lp, 24433 Dy, 24434 pp, 24435 al, 24436 nM, 24437 CA, 24438 Xy 24439 ], 24440 encapsulation: 2, 24441 changeDetection: 1 24442 }), i; 24443 })(), IP = (() => { 24444 let e = class { 24445 constructor() { 24446 this.menuItemClickHandlerService = f(ul); 24447 } 24448 onClick(t) { 24449 return Oe(this, null, function* () { 24450 yield this.click(t); 24451 }); 24452 } 24453 click(t) { 24454 return Oe(this, null, function* () { 24455 yield this.menuItemClickHandlerService.handleMenuAction(t, this.item, this.origin, this.processClick); 24456 }); 24457 } 24458 }; 24459 return e.ɵfac = function(i) { 24460 return new (i || e)(); 24461 }, e.ɵdir = ci({ 24462 type: e, 24463 selectors: [[ 24464 "", 24465 "vnMenuItemAction", 24466 "" 24467 ]], 24468 hostBindings: function(i, t) { 24469 i & 1 && Ce("click", function(r) { 24470 return t.onClick(r); 24471 }); 24472 }, 24473 inputs: { 24474 item: "item", 24475 origin: "origin", 24476 processClick: "processClick" 24477 } 24478 }), e; 24479 })(), OP = (() => { 24480 let e = class { 24481 constructor() { 24482 this.trackingService = f(Yr), this.menuItemClickHandlerService = f(ul); 24483 } 24484 onClick() { 24485 return Oe(this, null, function* () { 24486 yield this.click(); 24487 }); 24488 } 24489 ngOnInit() {
24490 this.trackingService.trackEvents(this.item, Oy.load); 24491 } 24492 click() { 24493 return Oe(this, null, function* () { 24494 yield this.menuItemClickHandlerService.handleMenuTrack(this.item); 24495 }); 24496 } 24497 }; 24498 return e.ɵfac = function(i) { 24499 return new (i || e)(); 24500 }, e.ɵdir = ci({ 24501 type: e, 24502 selectors: [[ 24503 "", 24504 "vnMenuItemTracking", 24505 "" 24506 ]], 24507 hostBindings: function(i, t) { 24508 i & 1 && Ce("click", function() { 24509 return t.onClick(); 24510 }); 24511 }, 24512 inputs: { item: "item" } 24513 }), e; 24514 })(), PP = (() => { 24515 let e = class { 24516 constructor() { 24517 this.api = f(Il); 24518 } 24519 getMenuItem(t, r) { 24520 return t ? this.api.get("menuItem", { 24521 path: t, 24522 evaluateFullOnServer: r 24523 }).pipe(xe((s) => s.menuItem)) : je(); 24524 } 24525 }; 24526 return e.ɵfac = function(i) { 24527 return new (i || e)(); 24528 }, e.ɵprov = R({ 24529 token: e, 24530 factory: e.ɵfac, 24531 providedIn: "root" 24532 }), e; 24533 })(); 24534 })))(); 24535} 24536function wG(e) { 24537 return e.get(pl); 24538} 24539function EG(e, i) { 24540 e & 1 && Ie(0); 24541} 24542function CG(e, i) { 24543 if (e & 1 && (ie(0, "div", 0), be(1, EG, 1, 0, "ng-container", 1), te()), e & 2) { 24544 let t = N(2); 24545 $("ngClass", wA(3, MP, t.version === 1, t.version > 1, t.version === 2, t.version === 3, t.version === 4, t.version === 5, t.version === 6, t.version === 3 || t.version === 5)), P(), $("vnDynamicComponent", t.getItemComponent(t.content.layout))("vnDynamicComponentAttr", rA(12, RP, t.content, t.mode)); 24546 } 24547} 24548function NG(e, i) { 24549 e & 1 && U(0, CG, 2, 15, "div", 0), e & 2 && W(N().content ? 0 : -1); 24550} 24551var pl, hl, $P, Pn, JS, QS, AP, _P, Su, MP, RP, LP; 24552function ZS() { 24553 return (ZS = Z((() => { 24554 de(), sr(), Ke(), Wn(), wt(), yi(), st(), Cr(), xs(), Ts(), Ut(), pt(), pl = (() => { 24555 var e = class extends ii {}; 24556 let i = (e.ɵfac = (() => { 24557 let t; 24558 return function(r) { 24559 return (t || (t = Fe(e)))(r || e); 24560 }; 24561 })(), e.ɵprov = R({ 24562 token: e, 24563 factory: function(t) { 24564 let r = null; 24565 return t ? r = new t() : r = wG(ve(Ht)), r; 24566 }, 24567 providedIn: "root" 24568 }), e); 24569 return i = ht([Wt({ 24570 key: "vnAccountMenu", 24571 product: it.SF 24572 })], i), i; 24573 })(), hl = (() => { 24574 let e = class { 24575 constructor() { 24576 this.accountMenuConfig = f(pl), this.dslService = f(Zs), this.user = f(ri), this.clientConfigService = f(Ai), this.log = f(lt), this.deviceService = f(nr), this.cookieService = f(yr), this.mediaQueryService = f(xy), this.router = f(Ol), this.resources = wr(this.accountMenuConfig.whenReady.pipe(xe(() => this.accountMenuConfig.account.version === 1 ? this.accountMenuConfig.resources : { messages: this.accountMenuConfig.account.root.resources }))), this.vipLevels = wr(this.accountMenuConfig.whenReady.pipe(xe(() => this.accountMenuConfig.vipLevels))), this.version = wr(this.accountMenuConfig.whenReady.pipe(xe(() => this.accountMenuConfig.account.version))), this.profilePageItemsPosition = wr(this.accountMenuConfig.whenReady.pipe(xe(() => this.accountMenuConfig.account.profilePageItemsPosition))), this.topItemsLoaded = new Gt([]), this.singlePageModeEnabled = !1, this.topItems = [], this.lookup = /* @__PURE__ */ new Map(), this.onWidgetUpdate = new Xe(), this.contentEvents = new Gt(null), this.unsubscribe = new Xe(), this.destroyRef = f(ze); 24577 } 24578 get widgetUpdate() { 24579 return this.onWidgetUpdate; 24580 } 24581 get isDesktop() { 24582 return this.mediaQueryService.isActive(WA.GtSm); 24583 } 24584 get routerMode() { 24585 return this.deviceService.isMobilePhone; 24586 } 24587 get isRoutableOverlay() { 24588 return this.router.url.includes(":menu"); 24589 } 24590 get routerModeReturnUrl() { 24591 return this.cookieService.get(Ae.VnMenuReturnUrl); 24592 } 24593 get hierarchy() { 24594 return this.itemHierarchy; 24595 } 24596 get content() { 24597 return this.contentEvents.pipe(We(Boolean), tr((t, r) => JSON.stringify(t) === JSON.stringify(r))); 24598 } 24599 get topMenuItems() { 24600 return this.topItems; 24601 } 24602 get singlePageMode() { 24603 return this.singlePageModeEnabled; 24604 } 24605 set singlePageMode(t) { 24606 this.singlePageModeEnabled = t; 24607 } 24608 init() { 24609 this.dslService.evaluateContent(this.accountMenuConfig.account.root).pipe(bi(this.unsubscribe), he(this.destroyRef)).subscribe((t) => this.forceRefresh(t)), this.user.events.pipe(Ys((t) => t instanceof Va), he(this.destroyRef)).subscribe(() => this.clientConfigService.reload([pl]).then(() => { 24610 this.unsubscribe.next(), this.unsubscribe.complete(), this.forceRefresh(this.accountMenuConfig.account.root), this.dslService.evaluateContent(this.accountMenuConfig.account.root).pipe(he(this.destroyRef)).subscribe((t) => this.forceRefresh(t)); 24611 })), this.topItemsLoaded.pipe(tr((t, r) => JSON.stringify(t) === JSON.stringify(r)), Si((t) => (this.topItems = [], this.dslService.evaluateContent(t))), he(this.destroyRef)).subscribe((t) => { 24612 this.topItems = t; 24613 }); 24614 } 24615 refreshWidgets() { 24616 this.onWidgetUpdate.next(); 24617 } 24618 setReturnUrlCookie(t) { 24619 this.cookieService.put(Ae.VnMenuReturnUrl, t); 24620 } 24621 removeReturnUrlCookie() { 24622 this.cookieService.remove(Ae.VnMenuReturnUrl); 24623 } 24624 getItem(t) { 24625 return this.lookup.get(t) || null; 24626 } 24627 forceRefresh(t) { 24628 this.lookup.clear(), this.itemHierarchy = {}, this.initMenu(t, this.itemHierarchy), this.contentEvents.next(t); 24629 } 24630 initMenu(t, r) { 24631 if (this.lookup.has(t.name) && this.log.warn(`Menu contains multiple items with the same name: ${t.name}`), this.lookup.set(t.name, t), t.children) { 24632 let s = {};
24633 t.children.forEach((n) => this.initMenu(n, s)), r[t.name] = s; 24634 } else r[t.name] = null; 24635 } 24636 }; 24637 return e.ɵfac = function(i) { 24638 return new (i || e)(); 24639 }, e.ɵprov = R({ 24640 token: e, 24641 factory: e.ɵfac, 24642 providedIn: "root" 24643 }), e; 24644 })(), $P = (() => { 24645 let e = class { 24646 constructor() { 24647 this.cookieService = f(yr), this.dateTimeService = f(ky), this.user = f(ri), this.destroyRef = f(ze); 24648 } 24649 get enabled() { 24650 return this._enabled; 24651 } 24652 get isFirstLogin() { 24653 return this.enabled && this.loginCount === 1; 24654 } 24655 get oneYearFromNow() { 24656 let t = this.dateTimeService.now(); 24657 return t.setFullYear(t.getFullYear() + 1), t; 24658 } 24659 init(t) { 24660 if (!this._enabled) { 24661 if (this._enabled = t, this.loginCount = this.getLoginCount(), this.tourStartedLoginCount = this.getTourStartedLoginCount(), this.tourDismissed = this.getTourDismissed(), this.user.isAuthenticated && !this.cookieService.get(Ae.VnLogin)) { 24662 if (!this._enabled) return; 24663 this.incrementLoginCount(), this.incrementTourStartedLoginCount(), this.cookieService.put(Ae.VnLogin, "1"); 24664 } 24665 this.user.events.pipe(Ys((r) => r instanceof Va), he(this.destroyRef)).subscribe(() => { 24666 this._enabled && (this.incrementLoginCount(), this.incrementTourStartedLoginCount(), this.cookieService.put(Ae.VnLogin, "1")); 24667 }), this.user.events.pipe(Ys((r) => r instanceof Ha), he(this.destroyRef)).subscribe(() => { 24668 this.cookieService.remove(Ae.VnLogin); 24669 }); 24670 } 24671 } 24672 saveTourStartedLoginCount(t) { 24673 this.cookieService.put(Ae.VnOtslc, t.toString(), { expires: this.oneYearFromNow }), this.tourStartedLoginCount = t; 24674 } 24675 saveTourCompleted() { 24676 this.cookieService.put(Ae.VnOtc, "1", { expires: this.oneYearFromNow }); 24677 } 24678 saveTourDismissed() { 24679 this.cookieService.put(Ae.VnOtd, "1", { expires: this.oneYearFromNow }), this.tourDismissed = !0; 24680 } 24681 getLoginCount() { 24682 return Ur(this.cookieService.get(Ae.VnOlc) ?? "0"); 24683 } 24684 getTourStartedLoginCount() { 24685 let t = this.cookieService.get(Ae.VnOtslc); 24686 return t === void 0 ? void 0 : Ur(t); 24687 } 24688 getTourDismissed() { 24689 return this.cookieService.get(Ae.VnOtd) === "1"; 24690 } 24691 incrementLoginCount() { 24692 this.loginCount = this.getLoginCount(), this.loginCount++, this.cookieService.put(Ae.VnOlc, this.loginCount.toString(), { expires: this.oneYearFromNow }); 24693 } 24694 incrementTourStartedLoginCount() { 24695 this.tourStartedLoginCount = this.getTourStartedLoginCount(), this.tourStartedLoginCount != null && (this.saveTourStartedLoginCount(this.tourStartedLoginCount + 1), this.tourStartedLoginCount++); 24696 } 24697 }; 24698 return e.ɵfac = function(i) { 24699 return new (i || e)(); 24700 }, e.ɵprov = R({ 24701 token: e, 24702 factory: e.ɵfac, 24703 providedIn: "root" 24704 }), e; 24705 })(), Pn = (function(e) { 24706 return e.URGENT = "URGENT", e.PENDING = "PENDING", e; 24707 })(Pn || {}), JS = (function(e) { 24708 return e[e.Bottom = 0] = "Bottom", e[e.Middle = 1] = "Middle", e; 24709 })(JS || {}), QS = (function(e) { 24710 return e.Poker = "poker", e.Casino = "casino", e.Coral = "coral", e; 24711 })(QS || {}), AP = (() => { 24712 let e = class { 24713 constructor() { 24714 this.displayItems = new ws(), this.items = [], this.accountMenuDataService = f(hl), this.cookieDBService = f(h_), this.destroyRef = f(ze), this.db = this.cookieDBService.createList(Ae.AmHiddenTasks), this.accountMenuDataService.content.pipe(he(this.destroyRef)).subscribe(() => { 24715 let t = this.accountMenuDataService.getItem("tasks"); 24716 t?.children && (this.items = [...this.items.filter((r) => t.children.some((s) => s.name === r.name)), ...t.children.filter((r) => !this.items.some((s) => s.name === r.name))], this.refreshItems()); 24717 }); 24718 } 24719 get totalCount() { 24720 return this.items.length; 24721 } 24722 get totalUrgentCount() { 24723 return this.items.filter((t) => t.parameters.status === Pn.URGENT).length; 24724 } 24725 hide(t) { 24726 t.forEach((r) => this.db.insert(r.name)), this.refreshItems(); 24727 } 24728 showAllHidden() { 24729 this.db.deleteAll(), this.refreshItems(); 24730 } 24731 hasHidden() { 24732 return this.db.getAll().length > 0; 24733 } 24734 update(t) { 24735 this.items[this.items.indexOf(t)] = t, this.refreshItems(); 24736 } 24737 isUrgent(t) { 24738 return t.parameters.status === Pn.URGENT; 24739 } 24740 refreshItems() { 24741 this.displayItems.next(this.items.filter((t) => !this.db.getAll().includes(t.name)).sort((t, r) => this.getItemOrder(t) - this.getItemOrder(r))); 24742 } 24743 getItemOrder(t) { 24744 return Ur(t.parameters.order ?? "10") * ((t.parameters.status ?? Pn.PENDING) === Pn.URGENT ? 1 : 100); 24745 } 24746 }; 24747 return e.ɵfac = function(i) { 24748 return new (i || e)(); 24749 }, e.ɵprov = R({ 24750 token: e, 24751 factory: e.ɵfac, 24752 providedIn: "root" 24753 }), e; 24754 })(), _P = class { 24755 constructor(e) { 24756 this.item = e, this.children = /* @__PURE__ */ new Map(), this.parent = null; 24757 } 24758 }, Su = (() => { 24759 let e = class { 24760 get currentRoute() { 24761 return this.routeEvents; 24762 } 24763 get routerInitialized() { 24764 return this.initRouterEvents; 24765 } 24766 constructor() { 24767 this.accountMenuDataService = f(hl), this.navigationService = f(_i), this.log = f(lt), this.destroyRef = f(ze), this.menuRouteTree = /* @__PURE__ */ new Map(), this.routeEvents = new Gt(null), this.initRouterEvents = new Gt(!1), this.accountMenuDataService.content.pipe(he(this.destroyRef)).subscribe((t) => { 24768 this.menuRouteTree.clear(), this.initRouter(t), this.initRouterEvents.next(!0); 24769 let r = this.routeEvents.value; 24770 if (r) { 24771 let s = this.lookupRoute(r.item.menuRoute); 24772 s ? this.routeEvents.next(s) : this.routeEvents.next(this.menuRouteTree.get("menu") || null); 24773 } 24774 }); 24775 } 24776 navigateToRoute(t, r = !1, s = null) { 24777 this.accountMenuDataService.routerMode ? s ? this.navigate(`/${s}`, r) : this.navigate(`/menu/${t}`, r) : this.setRoute(t); 24778 } 24779 setRoute(t) { 24780 let r = this.lookupRoute(decodeURIComponent(t)); 24781 r ? this.routeEvents.next(r) : this.log.warn(`Tried to navigate to non existent route ${t}`); 24782 } 24783 navigate(t, r) { 24784 this.accountMenuDataService.isRoutableOverlay ? this.navigationService.goToOverlayOutlet(t, { isBackNavigation: r }) : this.navigationService.goTo(t, { isBackNavigation: r }); 24785 } 24786 initRouter(t) { 24787 if (t.menuRoute) { 24788 let r = new _P(t), s = t.menuRoute.toLowerCase().split("/"), n = this.lookupRoute(s.slice(0, -1)); 24789 if (n) { 24790 r.parent = n; 24791 let a = s[s.length - 1]; 24792 a && n.children.set(a, r); 24793 } else s.length !== 1 && this.log.warn(`Detected menu root route ${t.menuRoute} with multiple fragments`), s[0] && this.menuRouteTree.set(s[0], r); 24794 }
24795 t.children && t.children.forEach((r) => this.initRouter(r)); 24796 } 24797 lookupRoute(t) { 24798 typeof t == "string" && (t = t.split("/")); 24799 let r = this.menuRouteTree, s; 24800 for (let n of t) { 24801 if (s = r.get(n), !s) return; 24802 r = s.children; 24803 } 24804 return s; 24805 } 24806 }; 24807 return e.ɵfac = function(i) { 24808 return new (i || e)(); 24809 }, e.ɵprov = R({ 24810 token: e, 24811 factory: e.ɵfac 24812 }), e; 24813 })(), MP = (e, i, t, r, s, n, a, o) => ({ 24814 "menu-wrapper": e, 24815 "am-wrapper": i, 24816 "am-v2": t, 24817 "am-v3": r, 24818 "am-v4": s, 24819 "am-v5": n, 24820 "am-v6": a, 24821 ch: o 24822 }), RP = (e, i) => ({ 24823 item: e, 24824 mode: i 24825 }), LP = (() => { 24826 let e = class { 24827 constructor() { 24828 this.mode = "menu", this.accountMenuService = f(A_), this.accountMenuRouter = f(Su), this.destroyRef = f(ze), this.isAvailable = !1, this.unsubscribe = new Xe(); 24829 } 24830 get content() { 24831 return this.currentRoute?.item ?? null; 24832 } 24833 get version() { 24834 return this.accountMenuService.version; 24835 } 24836 ngOnInit() { 24837 this.accountMenuRouter.currentRoute.pipe(bi(this.unsubscribe), tr((t, r) => JSON.stringify(t?.item) === JSON.stringify(r?.item))).subscribe((t) => this.currentRoute = t), this.accountMenuService.whenReady.pipe(bi(this.unsubscribe)).subscribe(() => this.isAvailable = !0); 24838 } 24839 ngOnChanges() { 24840 this.accountMenuRouter.routerInitialized.pipe(Ys((t) => t), he(this.destroyRef)).subscribe(() => this.accountMenuRouter.setRoute(this.route || "menu")); 24841 } 24842 ngOnDestroy() { 24843 this.unsubscribe.next(), this.unsubscribe.complete(); 24844 } 24845 getItemComponent(t) { 24846 return this.accountMenuService.getAccountMenuComponent(t); 24847 } 24848 }; 24849 return e.ɵfac = function(i) { 24850 return new (i || e)(); 24851 }, e.ɵcmp = ge({ 24852 type: e, 24853 selectors: [["vn-account-menu"]], 24854 inputs: { 24855 route: "route", 24856 mode: "mode" 24857 }, 24858 features: [$i([Su]), zn], 24859 decls: 1, 24860 vars: 1, 24861 consts: [[3, "ngClass"], [ 24862 4, 24863 "vnDynamicComponent", 24864 "vnDynamicComponentAttr" 24865 ]], 24866 template: function(i, t) { 24867 i & 1 && U(0, NG, 1, 1), i & 2 && W(t.isAvailable ? 0 : -1); 24868 }, 24869 dependencies: [ 24870 Hn, 24871 Hi, 24872 Ty 24873 ], 24874 encapsulation: 2, 24875 changeDetection: 1 24876 }), e; 24877 })(); 24878 })))(); 24879} 24880var BP, bu, eb, DP, tb, FP, zP, ib, GP; 24881function rb() { 24882 return (rb = Z((() => { 24883 de(), Is(), BP = ["*"], bu = class { 24884 constructor() { 24885 this.inverse = le(!1); 24886 } 24887 }, eb = (() => { 24888 let e = class { 24889 constructor() { 24890 this.inverse = Ne(!1), this.bottomSheet = Ne(!1), this.radius = Ne(!0), this.variant = Ne("surface"), this.backgroundImage = Ne(), this.context = f(bu), this.hostClass = ne(() => `ds-modal-${this.variant()}`), this._backgroundImageUrl = ne(() => { 24891 let t = this.backgroundImage(); 24892 return t ? `url('${t}')` : null; 24893 }), this.context.inverse = ne(() => this.inverse()); 24894 } 24895 backgroundImageUrl() { 24896 return this._backgroundImageUrl(); 24897 } 24898 getThemeableProperties() { 24899 return { 24900 variant: this.variant, 24901 inverse: this.inverse 24902 }; 24903 } 24904 }; 24905 return e.ɵfac = function(i) { 24906 return new (i || e)(); 24907 }, e.ɵcmp = ge({ 24908 type: e, 24909 selectors: [["ds-modal"]], 24910 hostAttrs: [1, "ds-modal"], 24911 hostVars: 12, 24912 hostBindings: function(i, t) { 24913 i & 2 && (Le(t.hostClass()), Ws("--%NS%bg-image", t.backgroundImageUrl()), yt("ds-modal-inverse", t.inverse())("ds-modal-no-radius", !t.radius())("ds-modal-bottom-sheet", t.bottomSheet())("ds-modal-with-bg", t.backgroundImage())); 24914 }, 24915 inputs: { 24916 inverse: [1, "inverse"], 24917 bottomSheet: [1, "bottomSheet"], 24918 radius: [1, "radius"], 24919 variant: [1, "variant"], 24920 backgroundImage: [1, "backgroundImage"] 24921 }, 24922 outputs: { 24923 inverse: "inverseChange", 24924 bottomSheet: "bottomSheetChange", 24925 radius: "radiusChange", 24926 variant: "variantChange", 24927 backgroundImage: "backgroundImageChange" 24928 }, 24929 features: [$i([bu, { 24930 provide: Nr, 24931 useExisting: e 24932 }])], 24933 ngContentSelectors: BP, 24934 decls: 1, 24935 vars: 0, 24936 template: function(i, t) { 24937 i & 1 && (_t(), Ye(0)); 24938 }, 24939 styles: [`.ds-modal{--%NS%ds-modal-dialog-color-border: var(--%NS%semantic-color-surface-outline-low-base);--%NS%ds-modal-dialog-color-border-inverse: var(--%NS%semantic-color-surface-outline-low-base-inverse);--%NS%ds-modal-dialog-color-overlay: var(--%NS%semantic-color-opacity-static-black-overlay);--%NS%ds-modal-dialog-color-overlay-inverse: var(--%NS%semantic-color-opacity-static-black-overlay);--%NS%ds-modal-dialog-radius-border: var(--%NS%semantic-radius-semi-rounded-md);--%NS%ds-modal-dialog-size-border: var(--%NS%semantic-size-xquarter);--%NS%ds-modal-dialog-size-min-width: var(--%NS%semantic-size-x80);--%NS%ds-modal-dialog-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-dialog-space-padding-left: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-dialog-space-padding-right: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-dialog-space-padding-top: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-bottom-sheet-color-overlay: var(--%NS%semantic-color-opacity-static-black-overlay);--%NS%ds-modal-bottom-sheet-color-overlay-inverse: var(--%NS%semantic-color-opacity-static-black-overlay);--%NS%ds-modal-bottom-sheet-radius-border: var(--%NS%semantic-radius-semi-rounded-sm);--%NS%ds-modal-bottom-sheet-size-border: var(--%NS%semantic-size-xquarter);--%NS%ds-modal-bottom-sheet-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-bottom-sheet-space-padding-left: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-bottom-sheet-space-padding-right: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-bottom-sheet-space-padding-top: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-dialog-box-shadow: var(--%NS%semantic-elevation-raised-4-box-shadow);box-shadow:var(--%NS%ds-modal-dialog-box-shadow);--%NS%ds-modal-local-dialog-max-height: 90vh;--%NS%ds-modal-dialog-border: var(--%NS%ds-modal-dialog-size-border) solid var(--%NS%ds-modal-dialog-color-border);background-color:var(--%NS%ds-modal-custom-color-bg, var(--%NS%ds-modal-dialog-color-background));border:var(--%NS%ds-modal-dialog-border);border-radius:var(--%NS%ds-modal-custom-dialog-radius-border, var(--%NS%ds-modal-dialog-radius-border));color:var(--%NS%ds-modal-custom-color-text, var(--%NS%ds-modal-dialog-color-text));display:flex;flex-direction:column;height:var(--%NS%ds-modal-custom-height, max-content);max-height:var(--%NS%ds-modal-custom-max-height, var(--%NS%ds-modal-local-dialog-max-height));min-width:var(--%NS%ds-modal-custom-min-width, var(--%NS%ds-modal-dialog-size-min-width));overflow:hidden;position:relative;width:var(--%NS%ds-modal-custom-width, auto)}.ds-modal.ds-modal-surface{--%NS%ds-modal-dialog-color-background: var(--%NS%semantic-color-surface-base);--%NS%ds-modal-dialog-color-text: var(--%NS%semantic-color-on-surface-base)}.ds-modal.ds-modal-surface-low{--%NS%ds-modal-dialog-color-background: var(--%NS%semantic-color-surface-container-low-base);--%NS%ds-modal-dialog-color-text: var(--%NS%semantic-color-on-surface-base)}.ds-modal.ds-modal-surface-lowest{--%NS%ds-modal-dialog-color-background: var(--%NS%semantic-color-surface-container-lowest-base);--%NS%ds-modal-dialog-color-text: var(--%NS%semantic-color-on-surface-base)}.ds-modal.ds-modal-inverse{--%NS%ds-modal-dialog-border: var(--%NS%ds-modal-dialog-size-border) solid var(--%NS%ds-modal-dialog-color-border-inverse)}.ds-modal.ds-modal-inverse.ds-modal-surface{--%NS%ds-modal-dialog-color-background: var(--%NS%semantic-color-surface-base-inverse);--%NS%ds-modal-dialog-color-text: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-modal.ds-modal-inverse.ds-modal-surface-low{--%NS%ds-modal-dialog-color-background: var(--%NS%semantic-color-surface-container-low-base-inverse);--%NS%ds-modal-dialog-color-text: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-modal.ds-modal-inverse.ds-modal-surface-lowest{--%NS%ds-modal-dialog-color-background: var(--%NS%semantic-color-surface-container-lowest-base-inverse);--%NS%ds-modal-dialog-color-text: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-modal .ds-modal-content{display:block;overflow:auto;padding:var(--%NS%ds-modal-dialog-space-padding-top) var(--%NS%ds-modal-dialog-space-padding-right) var(--%NS%ds-modal-dialog-space-padding-bottom) var(--%NS%ds-modal-dialog-space-padding-left)}.ds-modal.ds-modal-bottom-sheet{border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:var(--%NS%ds-modal-bottom-sheet-color-background);color:var(--%NS%ds-modal-bottom-sheet-color-text)}.ds-modal.ds-modal-bottom-sheet.ds-modal-surface{--%NS%ds-modal-bottom-sheet-color-background: var(--%NS%semantic-color-surface-base);--%NS%ds-modal-bottom-sheet-color-text: var(--%NS%semantic-color-on-surface-base)}.ds-modal.ds-modal-bottom-sheet.ds-modal-surface-low{--%NS%ds-modal-bottom-sheet-color-background: var(--%NS%semantic-color-surface-container-low-base);--%NS%ds-modal-bottom-sheet-color-text: var(--%NS%semantic-color-on-surface-base)}.ds-modal.ds-modal-bottom-sheet.ds-modal-surface-lowest{--%NS%ds-modal-bottom-sheet-color-background: var(--%NS%semantic-color-surface-container-lowest-base);--%NS%ds-modal-bottom-sheet-color-text: var(--%NS%semantic-color-on-surface-base)}.ds-modal.ds-modal-bottom-sheet.ds-modal-inverse.ds-modal-surface{--%NS%ds-modal-bottom-sheet-color-background: var(--%NS%semantic-color-surface-base-inverse);--%NS%ds-modal-bottom-sheet-color-text: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-modal.ds-modal-bottom-sheet.ds-modal-inverse.ds-modal-surface-low{--%NS%ds-modal-bottom-sheet-color-background: var(--%NS%semantic-color-surface-container-low-base-inverse);--%NS%ds-modal-bottom-sheet-color-text: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-modal.ds-modal-bottom-sheet.ds-modal-inverse.ds-modal-surface-lowest{--%NS%ds-modal-bottom-sheet-color-background: var(--%NS%semantic-color-surface-container-lowest-base-inverse);--%NS%ds-modal-bottom-sheet-color-text: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-modal.ds-modal-bottom-sheet .ds-modal-content{padding:var(--%NS%ds-modal-bottom-sheet-space-padding-top) var(--%NS%ds-modal-bottom-sheet-space-padding-right) var(--%NS%ds-modal-bottom-sheet-space-padding-bottom) var(--%NS%ds-modal-bottom-sheet-space-padding-left)}.ds-modal.ds-modal-with-bg{background-image:var(--%NS%bg-image);background-size:cover;background-repeat:no-repeat}.ds-modal.ds-modal-with-bg .ds-modal-header{--%NS%ds-modal-header-color-background: transparent}.mat-mdc-dialog-container:has(.ds-modal){--%NS%mat-dialog-container-color: transparent}.mat-bottom-sheet-container:has(.ds-modal){--%NS%mat-bottom-sheet-container-background-color: transparent;padding:0;box-shadow:none;overflow:hidden;max-height:100%}.cdk-overlay-container:has(.cdk-global-overlay-wrapper .ds-modal)>.cdk-overlay-dark-backdrop{--%NS%ds-modal-dialog-color-border: var(--%NS%semantic-color-surface-outline-low-base);--%NS%ds-modal-dialog-color-border-inverse: var(--%NS%semantic-color-surface-outline-low-base-inverse);--%NS%ds-modal-dialog-color-overlay: var(--%NS%semantic-color-opacity-static-black-overlay);--%NS%ds-modal-dialog-color-overlay-inverse: var(--%NS%semantic-color-opacity-static-black-overlay);--%NS%ds-modal-dialog-radius-border: var(--%NS%semantic-radius-semi-rounded-md);--%NS%ds-modal-dialog-size-border: var(--%NS%semantic-size-xquarter);--%NS%ds-modal-dialog-size-min-width: var(--%NS%semantic-size-x80);--%NS%ds-modal-dialog-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-dialog-space-padding-left: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-dialog-space-padding-right: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-dialog-space-padding-top: var(--%NS%semantic-spacing-container-padding-xl);background-color:var(--%NS%ds-modal-dialog-color-overlay)}.cdk-overlay-container:has(.cdk-global-overlay-wrapper .ds-modal.ds-modal-inverse)>.cdk-overlay-dark-backdrop{--%NS%ds-modal-dialog-color-border: var(--%NS%semantic-color-surface-outline-low-base);--%NS%ds-modal-dialog-color-border-inverse: var(--%NS%semantic-color-surface-outline-low-base-inverse);--%NS%ds-modal-dialog-color-overlay: var(--%NS%semantic-color-opacity-static-black-overlay);--%NS%ds-modal-dialog-color-overlay-inverse: var(--%NS%semantic-color-opacity-static-black-overlay);--%NS%ds-modal-dialog-radius-border: var(--%NS%semantic-radius-semi-rounded-md);--%NS%ds-modal-dialog-size-border: var(--%NS%semantic-size-xquarter);--%NS%ds-modal-dialog-size-min-width: var(--%NS%semantic-size-x80);--%NS%ds-modal-dialog-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-dialog-space-padding-left: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-dialog-space-padding-right: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-dialog-space-padding-top: var(--%NS%semantic-spacing-container-padding-xl);background-color:var(--%NS%ds-modal-dialog-color-overlay-inverse)}.cdk-overlay-container:has(.cdk-global-overlay-wrapper .ds-modal.ds-modal-bottom-sheet)>.cdk-overlay-dark-backdrop{--%NS%ds-modal-bottom-sheet-color-overlay: var(--%NS%semantic-color-opacity-static-black-overlay);--%NS%ds-modal-bottom-sheet-color-overlay-inverse: var(--%NS%semantic-color-opacity-static-black-overlay);--%NS%ds-modal-bottom-sheet-radius-border: var(--%NS%semantic-radius-semi-rounded-sm);--%NS%ds-modal-bottom-sheet-size-border: var(--%NS%semantic-size-xquarter);--%NS%ds-modal-bottom-sheet-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-bottom-sheet-space-padding-left: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-bottom-sheet-space-padding-right: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-bottom-sheet-space-padding-top: var(--%NS%semantic-spacing-container-padding-xl);background-color:var(--%NS%ds-modal-bottom-sheet-color-overlay)}.cdk-overlay-container:has(.cdk-global-overlay-wrapper .ds-modal.ds-modal-bottom-sheet.ds-modal-inverse)>.cdk-overlay-dark-backdrop{--%NS%ds-modal-bottom-sheet-color-overlay: var(--%NS%semantic-color-opacity-static-black-overlay);--%NS%ds-modal-bottom-sheet-color-overlay-inverse: var(--%NS%semantic-color-opacity-static-black-overlay);--%NS%ds-modal-bottom-sheet-radius-border: var(--%NS%semantic-radius-semi-rounded-sm);--%NS%ds-modal-bottom-sheet-size-border: var(--%NS%semantic-size-xquarter);--%NS%ds-modal-bottom-sheet-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-bottom-sheet-space-padding-left: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-bottom-sheet-space-padding-right: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-bottom-sheet-space-padding-top: var(--%NS%semantic-spacing-container-padding-xl);background-color:var(--%NS%ds-modal-bottom-sheet-color-overlay-inverse)}@media screen and (max-width:600px){.ds-modal{--%NS%ds-modal-local-dialog-max-height: 100vh;--%NS%ds-modal-local-dialog-max-width: 100vw;width:var(--%NS%ds-modal-custom-width-mobile, auto);height:var(--%NS%ds-modal-custom-height-mobile, max-content);max-height:var(--%NS%ds-modal-custom-max-height-mobile, var(--%NS%ds-modal-local-dialog-max-height));max-width:var(--%NS%ds-modal-custom-max-width-mobile, var(--%NS%ds-modal-local-dialog-max-width))}.ds-modal.ds-modal-bottom-sheet{width:100%}.ds-modal.ds-modal-no-radius{--%NS%ds-modal-dialog-radius-border: 0}@supports (height: 100dvh){.ds-modal{--%NS%ds-modal-local-dialog-max-height: 100dvh}}}.cdk-dialog-container .ds-modal.ds-modal-bottom-sheet{animation:ds-modal-bottom-sheet-enter 195ms cubic-bezier(0,0,.2,1) forwards}@keyframes ds-modal-bottom-sheet-enter{0%{transform:translateY(100%)}to{transform:none}} 24940`], 24941 encapsulation: 2 24942 }), e; 24943 })(), DP = ["*"], tb = (() => { 24944 let e = class {}; 24945 return e.ɵfac = function(i) { 24946 return new (i || e)(); 24947 }, e.ɵcmp = ge({ 24948 type: e, 24949 selectors: [["ds-modal-content"]], 24950 hostAttrs: [1, "ds-modal-content"], 24951 ngContentSelectors: DP, 24952 decls: 1, 24953 vars: 0, 24954 template: function(i, t) { 24955 i & 1 && (_t(), Ye(0)); 24956 }, 24957 encapsulation: 2 24958 }), e; 24959 })(), FP = [ 24960 [[ 24961 "
24961", 24962 "slot", 24963 "start" 24964 ]], 24965 [[ 24966 "", 24967 "slot", 24968 "center" 24969 ]], 24970 [["ds-modal-header-drag"], [ 24971 "", 24972 "modal-header-image", 24973 "" 24974 ]], 24975 [[ 24976 "", 24977 "slot", 24978 "end" 24979 ]] 24980 ], zP = [ 24981 "[slot=start]", 24982 "[slot=center]", 24983 "ds-modal-header-drag, [modal-header-image]", 24984 "[slot=end]" 24985 ], ib = (() => { 24986 let e = class { 24987 constructor() { 24988 this.variant = Ne("surface"), this.context = f(bu), this.hostClass = ne(() => `ds-modal-header-${this.variant()}`); 24989 } 24990 }; 24991 return e.ɵfac = function(i) { 24992 return new (i || e)(); 24993 }, e.ɵcmp = ge({ 24994 type: e, 24995 selectors: [["ds-modal-header"]], 24996 hostAttrs: [1, "ds-modal-header"], 24997 hostVars: 4, 24998 hostBindings: function(i, t) { 24999 i & 2 && (Le(t.hostClass()), yt("ds-modal-header-inverse", t.context.inverse())); 25000 }, 25001 inputs: { variant: [1, "variant"] }, 25002 outputs: { variant: "variantChange" }, 25003 ngContentSelectors: zP, 25004 decls: 8, 25005 vars: 0, 25006 consts: [ 25007 [1, "ds-modal-header-container"], 25008 [1, "ds-modal-header-start"], 25009 [1, "ds-modal-header-center"], 25010 [1, "ds-modal-header-end"] 25011 ], 25012 template: function(i, t) { 25013 i & 1 && (_t(FP), Nt(0, "div", 0)(1, "div", 1), Ye(2), mt(), Nt(3, "div", 2), Ye(4, 1), Ye(5, 2), mt(), Nt(6, "div", 3), Ye(7, 3), mt()()); 25014 }, 25015 styles: [`.ds-modal-header{--%NS%ds-modal-header-radius-border: var(--%NS%semantic-radius-semi-rounded-md);--%NS%ds-modal-header-size-min-height: var(--%NS%semantic-size-x6);--%NS%ds-modal-header-size-stroke: var(--%NS%semantic-size-xquarter);--%NS%ds-modal-header-space-inline: var(--%NS%semantic-spacing-inline-md);--%NS%ds-modal-header-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-modal-header-space-padding-left: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-header-space-padding-right: var(--%NS%semantic-spacing-container-padding-xl);--%NS%ds-modal-header-space-padding-top: var(--%NS%semantic-spacing-container-padding-sm);display:grid;align-items:center;background:var(--%NS%ds-modal-header-color-background);padding:var(--%NS%ds-modal-header-space-padding-top) var(--%NS%ds-modal-header-space-padding-right) var(--%NS%ds-modal-header-space-padding-bottom) var(--%NS%ds-modal-header-space-padding-left);min-height:var(--%NS%ds-modal-header-size-min-height);flex:0 0 auto}.ds-modal-header .ds-modal-header-container{display:grid;grid-template-columns:auto 1fr auto;grid-column-gap:var(--%NS%ds-modal-header-space-inline)}.ds-modal-header .ds-modal-header-container:has(.ds-modal-header-start:empty){grid-template-columns:1fr auto 1fr}.ds-modal-header .ds-modal-header-container:has(.ds-modal-header-start:empty):has(.ds-modal-header-end:empty){gap:0}.ds-modal-header .ds-modal-header-container .ds-modal-header-center{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:var(--%NS%ds-modal-header-space-inline)}.ds-modal-header .ds-modal-header-container .ds-modal-header-start{display:flex;align-items:center;justify-content:flex-start;gap:var(--%NS%ds-modal-header-space-inline)}.ds-modal-header .ds-modal-header-container .ds-modal-header-end{display:flex;align-items:center;justify-content:flex-end;gap:var(--%NS%ds-modal-header-space-inline)}.ds-modal-header .ds-modal-header-container [slot=title]{--%NS%ds-modal-header-font-family: var(--%NS%semantic-typography-title-font-family, sans-serif);--%NS%ds-modal-header-font-size: var(--%NS%semantic-typography-title-md-strong-font-size);--%NS%ds-modal-header-font-weight: var(--%NS%semantic-typography-title-md-strong-font-weight);--%NS%ds-modal-header-line-height: var(--%NS%semantic-typography-title-md-strong-line-height);font-family:var(--%NS%ds-modal-header-font-family);font-size:var(--%NS%ds-modal-header-font-size);font-weight:var(--%NS%ds-modal-header-font-weight);line-height:var(--%NS%ds-modal-header-line-height);color:var(--%NS%ds-modal-header-color-title);display:flex;align-items:center;gap:var(--%NS%ds-modal-header-space-inline)}.ds-modal-header .ds-modal-header-container [slot=subtitle]{--%NS%ds-modal-header-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-modal-header-font-size: var(--%NS%semantic-typography-label-md-font-size);
25015--%NS%ds-modal-header-font-weight: var(--%NS%semantic-typography-label-md-font-weight);--%NS%ds-modal-header-line-height: var(--%NS%semantic-typography-label-md-line-height);font-family:var(--%NS%ds-modal-header-font-family);font-size:var(--%NS%ds-modal-header-font-size);font-weight:var(--%NS%ds-modal-header-font-weight);line-height:var(--%NS%ds-modal-header-line-height);color:var(--%NS%ds-modal-header-color-subtitle)}.ds-modal-header.ds-modal-header-surface{--%NS%ds-modal-header-color-background: var(--%NS%semantic-color-surface-base);--%NS%ds-modal-header-color-dragger: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-modal-header-color-subtitle: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-modal-header-color-title: var(--%NS%semantic-color-on-surface-base)}.ds-modal-header.ds-modal-header-surface-high{--%NS%ds-modal-header-color-background: var(--%NS%semantic-color-surface-container-high-base);--%NS%ds-modal-header-color-dragger: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-modal-header-color-subtitle: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-modal-header-color-title: var(--%NS%semantic-color-on-surface-base)}.ds-modal-header.ds-modal-header-surface-low{--%NS%ds-modal-header-color-background: var(--%NS%semantic-color-surface-container-low-base);--%NS%ds-modal-header-color-dragger: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-modal-header-color-subtitle: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-modal-header-color-title: var(--%NS%semantic-color-on-surface-base)}.ds-modal-header.ds-modal-header-surface-lowest{--%NS%ds-modal-header-color-background: var(--%NS%semantic-color-surface-container-lowest-base);--%NS%ds-modal-header-color-dragger: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-modal-header-color-subtitle: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-modal-header-color-title: var(--%NS%semantic-color-on-surface-base)}.ds-modal-header.ds-modal-header-nav-bg{--%NS%ds-modal-header-color-background: var(--%NS%semantic-color-l2-navigation-background-base);--%NS%ds-modal-header-color-dragger: var(--%NS%semantic-color-l2-navigation-on-background-subtle);--%NS%ds-modal-header-color-subtitle: var(--%NS%semantic-color-l2-navigation-on-background-subtle);--%NS%ds-modal-header-color-title: var(--%NS%semantic-color-l2-navigation-on-background-base)}.ds-modal-header.ds-modal-header-inverse.ds-modal-header-surface{--%NS%ds-modal-header-color-background: var(--%NS%semantic-color-surface-base-inverse);--%NS%ds-modal-header-color-dragger: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-modal-header-color-subtitle: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-modal-header-color-title: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-modal-header.ds-modal-header-inverse.ds-modal-header-surface-high{--%NS%ds-modal-header-color-background: var(--%NS%semantic-color-surface-container-high-base-inverse);--%NS%ds-modal-header-color-dragger: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-modal-header-color-subtitle: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-modal-header-color-title: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-modal-header.ds-modal-header-inverse.ds-modal-header-surface-low{--%NS%ds-modal-header-color-background: var(--%NS%semantic-color-surface-container-low-base-inverse);--%NS%ds-modal-header-color-dragger: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-modal-header-color-subtitle: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-modal-header-color-title: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-modal-header.ds-modal-header-inverse.ds-modal-header-surface-lowest{--%NS%ds-modal-header-color-background: var(--%NS%semantic-color-surface-container-lowest-base-inverse);--%NS%ds-modal-header-color-dragger: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-modal-header-color-subtitle: var(--%NS%semantic-color-on-surface-subtle-inverse);--%NS%ds-modal-header-color-title: var(--%NS%semantic-color-on-surface-base-inverse)}.ds-modal-header.ds-modal-header-inverse.ds-modal-header-nav-bg{--%NS%ds-modal-header-color-background: var(--%NS%semantic-color-l2-navigation-background-base);--%NS%ds-modal-header-color-dragger: var(--%NS%semantic-color-l2-navigation-on-background-subtle);--%NS%ds-modal-header-color-subtitle: var(--%NS%semantic-color-l2-navigation-on-background-subtle);--%NS%ds-modal-header-color-title: var(--%NS%semantic-color-l2-navigation-on-background-base)} 25016`], 25017 encapsulation: 2 25018 }), e; 25019 })(), GP = (() => { 25020 let e = class {}; 25021 return e.ɵfac = function(i) { 25022 return new (i || e)(); 25023 }, e.ɵcmp = ge({ 25024 type: e, 25025 selectors: [["ds-modal-header-drag"]], 25026 hostAttrs: [ 25027 "aria-hidden", 25028 "true", 25029 1, 25030 "ds-modal-header-drag" 25031 ], 25032 decls: 1, 25033 vars: 0, 25034 consts: [[1, "ds-modal-header-drag-rectangle"]], 25035 template: function(i, t) { 25036 i & 1 && br(0, "span", 0); 25037 }, 25038 styles: [`.ds-modal-header-drag{--%NS%ds-modal-local-header-border-dragger-rectangle: 25px;--%NS%ds-modal-local-header-height-dragger-rectangle: 4px;--%NS%ds-modal-local-header-width-dragger-rectangle: 44px;align-items:center;cursor:grab;display:flex;justify-content:center}.ds-modal-header-drag .ds-modal-header-drag-rectangle{display:block;background-color:var(--%NS%ds-modal-header-color-dragger);border-radius:var(--%NS%ds-modal-local-header-border-dragger-rectangle);height:var(--%NS%ds-modal-local-header-height-dragger-rectangle);width:var(--%NS%ds-modal-local-header-width-dragger-rectangle)} 25039`], 25040 encapsulation: 2 25041 }), e; 25042 })(); 25043 })))(); 25044} 25045function TG(e) { 25046 return e.get(ml); 25047} 25048function kG() { 25049 return [Al(VP)]; 25050} 25051function xG(e) { 25052 return e.get(sb); 25053} 25054function IG(e, i) { 25055 if (e & 1) { 25056 let t = qe(); 25057 ie(0, "ds-modal")(1, "ds-modal-header")(2, "div", 0)(3, "div", 1), Je(4), te()(), ie(5, "button", 2), Ce("click", function() { 25058 return $e(t), Pe(N().stay()); 25059 }), pe(6, "vn-icon", 3), te()(), ie(7, "ds-modal-content"), pe(8, "div", 4), ie(9, "div", 5)(10, "button", 6), Ce("click", function() { 25060 return $e(t), Pe(N().leave()); 25061 }), Je(11), te(), ie(12, "button", 7), Ce("click", function() { 25062 return $e(t), Pe(N().stay()); 25063 }), Je(13), te()()()(); 25064 } 25065 if (e & 2) { 25066 let t = i; 25067 P(4), ft(t.title), P(4), $("innerHTML", t.text, Da), P(3), ft(t.leaveButton), P(2), ft(t.stayButton); 25068 } 25069} 25070function OG(e, i) { 25071 if (e & 1 && (ie(0, "span", 8), Je(1), te()), e & 2) { 25072 let t = N(3); 25073 P(), ft(t.backButtonText); 25074 } 25075} 25076function PG(e, i) { 25077 if (e & 1) { 25078 let t = qe(); 25079 ie(0, "span", 6), Ce("click", function() { 25080 return $e(t), Pe(N(2).onBackClick()); 25081 }), pe(1, "vn-icon", 7), U(2, OG, 2, 1, "span", 8), te(); 25082 } 25083 if (e & 2) { 25084 let t = N(2); 25085 P(2), W(t.backButtonText ? 2 : -1); 25086 } 25087} 25088function $G(e, i) { 25089 e & 1 && Ye(0, 1); 25090} 25091function AG(e, i) { 25092 if (e & 1 && (ie(0, "div", 4), Je(1), te()), e & 2) { 25093 let t = N(2); 25094 $("ngClass", t.titleCssClass), P(), ft(t.title); 25095 } 25096} 25097function _G(e, i) { 25098 if (e & 1) { 25099 let t = qe(); 25100 ie(0, "vn-icon", 10), Ce("click", function() { 25101 return $e(t), Pe(N(3).onCloseClick()); 25102 }), te(); 25103 } 25104} 25105function MG(e, i) { 25106 e & 1 && U(0, _G, 1, 0, "vn-icon", 9), e & 2 && W(N(2).showClose !== !1 ? 0 : -1); 25107} 25108function RG(e, i) { 25109 if (e & 1) { 25110 let t = qe(); 25111 ie(0, "button", 13), Ce("click", function() { 25112 return $e(t), Pe(N(4).onCloseClick()); 25113 }), Je(1), te(); 25114 } 25115 if (e & 2) { 25116 let t = N(4); 25117 $("variant", t.closeDSButtonStyle.variant ?? "outline")("kind", t.closeDSButtonStyle.kind ?? "secondary")("size", t.closeDSButtonStyle.size ?? "medium")("inverse", t.closeDSButtonStyle.inverse ?? !1), P(), Ra(" ", t.closeButtonText, " "); 25118 } 25119} 25120function LG(e, i) { 25121 if (e & 1) { 25122 let t = qe(); 25123 ie(0, "span", 14), Ce("click", function() { 25124 return $e(t), Pe(N(4).onCloseClick()); 25125 }), Je(1), te(); 25126 } 25127 if (e & 2) { 25128 let t = N(4); 25129 $("ngClass", t.closeButtonTextCssClass), P(), ft(t.closeButtonText); 25130 } 25131} 25132function BG(e, i) { 25133 if (e & 1 && U(0, RG, 2, 5, "button", 11)(1, LG, 2, 2, "span", 12), e & 2) { 25134 let t = N(3); 25135 W(t.useDSButton && t.closeDSButtonStyle !== void 0 ? 0 : 1); 25136 } 25137} 25138function DG(e, i) { 25139 e & 1 && U(0, BG, 2, 1), e & 2 && W(N(2).showClose !== !1 ? 0 : -1); 25140} 25141function FG(e, i) { 25142 if (e & 1 && (ie(0, "div", 0)(1, "div", 1)(2, "div", 2), U(3, PG, 3, 1, "span", 3), Ye(4), U(5, $G, 1, 0), te(), U(6, AG, 2, 2, "div", 4), ie(7, "div", 5), U(8, MG, 1, 1)(9, DG, 1, 1), te()()()), e & 2) { 25143 let t = N(); 25144 P(2), $("ngClass", t.leftContentClass), P(), W(t.showBack !== !1 ? 3 : -1), P(2), W(t.useLogoHeader ? 5 : -1), P(), W(!t.useLogoHeader && t.title ? 6 : -1), P(), $("ngClass", vr(6, YP, t.closeButtonText)), P(), W(t.closeButtonText ? 9 : 8); 25145 } 25146} 25147var ml, $a, VP, sb, HP, UP, Aa, WP, jP, YP, nb, KP, qP, yu; 25148function ab() { 25149 return (ab = Z((() => { 25150 Re(), de(), sr(), Ke(), Cs(), Ns(), wt(), yi(), st(), ks(), xs(), Ua(), zy(), Ts(), cp(), Ut(), Ml(), cM(), Ky(), dM(), ZS(), rb(), pt(), ml = (() => { 25151 var e = class extends ii {}; 25152 let i = (e.ɵfac = (() => { 25153 let t; 25154 return function(r) { 25155 return (t || (t = Fe(e)))(r || e); 25156 }; 25157 })(), e.ɵprov = R({ 25158 token: e, 25159 factory: function(t) { 25160 let r = null; 25161 return t ? r = new t() : r = TG(ve(Ht)), r; 25162 }, 25163 providedIn: "root" 25164 }), e); 25165 return i = ht([Wt({ 25166 key: "vnHeaderBar", 25167 product: it.SF 25168 })], i), i; 25169 })(), $a = (() => { 25170 var e; 25171 let i = class { 25172 constructor() { 25173 Zi(this, e), this.handlers = /* @__PURE__ */ new Map(), this.enabled$$ = new ws(1), this.disableClose$$ = new ws(1), this.showBackButton$$ = new ws(1), this.enabled$ = this.enabled$$.asObservable(), this.disableClose$ = this.disableClose$$.asObservable(), this.showBackButton$ = this.showBackButton$$.asObservable(), this._doc = f(vi), this.accountMenuService = f(hl), this.auth = f(d_), this.config = f(ml), this.dslService = f(Zs), this.logger = f(lt), this.nativeAppService = f(jr), this.navigation = f(_i), this.page = f(Wr), this.urlService = f(Un), this.user = f(ri), this.workflow = f(uM), er(this, e, f(vt)), this.destroyRef = f(ze), this.config.whenReady.pipe(Ot(1), he()).subscribe(() => { 25174 this.dslService.evaluateExpression(this.config.isEnabledCondition).pipe(he(this.destroyRef)).subscribe((r) => this.enabled$$.next(r)), this.dslService.evaluateExpression(this.config.disableCloseCondition).pipe(he(this.destroyRef)).subscribe((r) => this.disableClose$$.next(r)), this.dslService.evaluateExpression(this.config.showBackButtonCondition).pipe(he(this.destroyRef)).subscribe((r) => this.showBackButton$$.next(r)); 25175 }); 25176 } 25177 registerActions() { 25178 this.register("goToLastKnownProduct", () => this.navigation.goToLastKnownProduct()), this.register("logout", () => this.logout()), this.register("finalize", () => this.workflow.finalize()), this.register("skip", () => this.workflow.skip()), this.register("finalizeWorkflowWithData", (r) => this.workflow.finalizeWithData(r)); 25179 } 25180 close() { 25181 return Oe(this, null, function* () { 25182 if (this.accountMenuService.routerModeReturnUrl && this.user.workflowType === 0) { 25183 let s = this.urlService.parse(this.accountMenuService.routerModeReturnUrl); 25184 s.culture != this.page.lang && s.changeCulture(this.page.lang), this.navigation.goTo(s, { isBackNavigation: !0 }), this.accountMenuService.removeReturnUrlCookie(); 25185 return; 25186 } 25187 yield Vt(this.config.whenReady); 25188 let r = this.config.workflowCloseAction[this.user.workflowType]; 25189 if (r) { 25190 this.invoke(r.action, r.param ? [r.param] : []); 25191 return; 25192 } 25193 if (this.user.workflowType > 0) { 25194 this.logger.error(`Workflow Id ${this.user.workflowType} is not mapped in header-bar configuration.`), this.logout(); 25195 return; 25196 } 25197 this.navigation.goToLastKnownProduct(); 25198 }); 25199 } 25200 back() { 25201 this.accountMenuService.routerModeReturnUrl || this._doc.referrer ? At(this, e).history.back() : this.navigation.goToLastKnownProduct(); 25202 } 25203 sendCloseCommand() { 25204 this.nativeAppService.isNativeApp && this.nativeAppService.htcmdSchemeEnabled && this.navigation.sendCloseCommand(); 25205 } 25206 sendCloseEvent() { 25207 this.nativeAppService.sendToNative({ 25208 eventName: za.PAGECLOSED, 25209 parameters: { product: this.page.product } 25210 }); 25211 } 25212 invoke(r, s) { 25213 s = s || []; 25214 let n; 25215 r && (n = this.handlers.get(r)); 25216 let [a, ...o] = s; 25217 if (n instanceof Function) { 25218 let l = n.apply(null, [a, o]); 25219 return l && typeof l.then == "function" ? l : Promise.resolve(); 25220 } 25221 return Promise.reject(`Handler for header bar action ${r} not found.`); 25222 } 25223 logout() { 25224 return this.auth.logout({ redirectAfterLogout: !1 }).then(() => this.navigation.goToLastKnownProduct({ forceReload: !0 })).catch(() => this.navigation.goToLastKnownProduct({ forceReload: !0 })); 25225 } 25226 register(r, s) { 25227 this.handlers.set(r, s); 25228 } 25229 }; 25230 return e = /* @__PURE__ */ new WeakMap(), i.ɵfac = function(t) { 25231 return new (t || i)(); 25232 }, i.ɵprov = R({ 25233 token: i, 25234 factory: i.ɵfac, 25235 providedIn: "root" 25236 }), i; 25237 })(), VP = (() => { 25238 let e = class { 25239 constructor() { 25240 this.headerBarService = f($a), this.config = f(ml); 25241 } 25242 onFeatureInit() { 25243 return Oe(this, null, function* () { 25244 yield Vt(this.config.whenReady), this.headerBarService.registerActions(); 25245 }); 25246 } 25247 }; 25248 return e.ɵfac = function(i) { 25249 return new (i || e)(); 25250 }, e.ɵprov = R({ 25251 token: e, 25252 factory: e.ɵfac 25253 }), e; 25254 })(), pt(), sb = (() => { 25255 var e = class extends ii {}; 25256 let i = (e.ɵfac = (() => { 25257 let t; 25258 return function(r) { 25259 return (t || (t = Fe(e)))(r || e); 25260 }; 25261 })(), e.ɵprov = R({ 25262 token: e, 25263 factory: function(t) { 25264 let r = null; 25265 return t ? r = new t() : r = xG(ve(Ht)), r; 25266 }, 25267 providedIn: "root" 25268 }), e); 25269 return i = ht([Wt({ 25270 key: "vnConfirmPopup", 25271 product: it.SF 25272 })], i), i; 25273 })(), HP = (() => { 25274 let e = class { 25275 constructor() { 25276 this.confirmPopupConfig = f(sb), this.eventsService = f(Tl), this.overlayRef = f(Gy), this.trackingService = f(Yr), this.options = ce(), this.messages = le(null), this.content = ne(() => this.options()?.content ?? this.messages()); 25277 } 25278 ngOnInit() { 25279 return Oe(this, null, function* () { 25280 this.triggerEvent(this.options()?.trackingDataLoad), !this.content() && (yield Vt(this.confirmPopupConfig.whenReady), this.messages.set(this.confirmPopupConfig.resources.messages)); 25281 }); 25282 } 25283 leave() { 25284 this.triggerEvent(this.options()?.trackingDataClick, this.content()?.leaveButton), this.eventsService.raise({ 25285 eventName: xl.ConfirmPopupLeaveButton, 25286 data: { action: this.options()?.action } 25287 }), this.close(); 25288 } 25289 stay() { 25290 this.triggerEvent(this.options()?.trackingDataClick, this.content()?.stayButton), this.close(); 25291 } 25292 triggerEvent(t, r) { 25293 t && (r && (t.data = J(C({}, t.data), { "component.EventDetails": r })), this.trackingService.triggerEvent(t.eventName, t.data)); 25294 } 25295 close() { 25296 this.overlayRef.detach(); 25297 } 25298 }; 25299 return e.ɵfac = function(i) { 25300 return new (i || e)(); 25301 }, e.ɵcmp = ge({ 25302 type: e, 25303 selectors: [["vn-confirm-popup"]], 25304 inputs: { options: [1, "options"] }, 25305 decls: 1, 25306 vars: 1, 25307 consts: [ 25308 ["slot", "start"], 25309 ["slot", "title"], 25310 [ 25311 "ds-button-icon", 25312 "", 25313 "kind", 25314 "tertiary", 25315 "variant", 25316 "flat", 25317 "size", 25318 "medium", 25319 "slot", 25320 "end", 25321 "aria-label", 25322 "Close", 25323 3, 25324 "click" 25325 ], 25326 ["name", "theme-ex"], 25327 [3, "innerHTML"], 25328 [1, "generic-modal-actions"], 25329 [ 25330 "ds-button", 25331 "", 25332 "kind", 25333 "secondary", 25334 "variant", 25335 "outline", 25336 "size", 25337 "large", 25338 3, 25339 "click" 25340 ], 25341 [ 25342 "ds-button", 25343 "", 25344 "kind", 25345 "primary", 25346 "variant", 25347 "filled", 25348 "size", 25349 "large", 25350 3, 25351 "click" 25352 ] 25353 ], 25354 template: function(i, t) { 25355 if (i & 1 && U(0, IG, 14, 4, "ds-modal"), i & 2) { 25356 let r; 25357 W((r = t.content()) ? 0 : -1, r); 25358 } 25359 }, 25360 dependencies: [ 25361 ji, 25362 eb, 25363 tb, 25364 ib, 25365 lp, 25366 pp 25367 ], 25368 encapsulation: 2 25369 }), e; 25370 })(), UP = (() => { 25371 let e = class { 25372 constructor() { 25373 this.injector
25373= f(ui), this.overlay = f(lM), this.destroyRef = f(ze); 25374 } 25375 show(t) { 25376 if (this.currentRef) return; 25377 let r = this.overlay.create({ 25378 backdropClass: "vn-backdrop", 25379 panelClass: ["vn-confirm-popup-container", "generic-modal-popup"] 25380 }); 25381 r.detachments().pipe(he(this.destroyRef)).subscribe(() => { 25382 this.overlay.dispose(r), this.currentRef = null; 25383 }); 25384 let s = new G_(HP, null, ui.create({ 25385 providers: [{ 25386 provide: Gy, 25387 useValue: r 25388 }], 25389 parent: this.injector 25390 })); 25391 r.attach(s).setInput("options", t), this.currentRef = r; 25392 } 25393 }; 25394 return e.ɵfac = function(i) { 25395 return new (i || e)(); 25396 }, e.ɵprov = R({ 25397 token: e, 25398 factory: e.ɵfac, 25399 providedIn: "root" 25400 }), e; 25401 })(), Aa = (function(e) { 25402 return e.Close = "close", e.Back = "back", e; 25403 })(Aa || {}), WP = [[[ 25404 "", 25405 "left", 25406 "" 25407 ]], [[ 25408 "", 25409 "header-bar-logo-slot", 25410 "" 25411 ]]], jP = ["[left]", "[header-bar-logo-slot]"], YP = (e) => ({ "header-ctrl-r__btn": e }), nb = (() => { 25412 let e = class { 25413 constructor() { 25414 this.showConfirmPopup = ce(!1), this.confirmPopupTrackLoad = ce(), this.confirmPopupTrackClick = ce(), this.trackBackClickEvent = ce(), this.trackCloseClickEvent = ce(), this.onBack = It(), this.onClose = It(), this.headerBarService = f($a), this.confirmPopupService = f(UP), this.eventsService = f(Tl), this.trackingService = f(Yr), this.destroyRef = f(ze); 25415 } 25416 ngOnInit() { 25417 this.enabled === void 0 && this.headerBarService.enabled$.pipe(he(this.destroyRef)).subscribe((t) => { 25418 this.enabled = t; 25419 }), this.eventsService.newEvents.pipe(he(this.destroyRef), We((t) => t.eventName === xl.ConfirmPopupLeaveButton)).subscribe((t) => { 25420 switch (t.data?.action) { 25421 case Aa.Close: 25422 this.onClose.emit(); 25423 break; 25424 case Aa.Back: this.onBack.emit(); 25425 } 25426 }); 25427 } 25428 onBackClick() { 25429 this.triggerEvent(this.trackBackClickEvent()), this.showPopupOrEmit(this.onBack, Aa.Back); 25430 } 25431 onCloseClick() { 25432 this.triggerEvent(this.trackCloseClickEvent()), this.showPopupOrEmit(this.onClose, Aa.Close); 25433 } 25434 showPopupOrEmit(t, r) { 25435 if (this.showConfirmPopup()) { 25436 let s = { 25437 action: r, 25438 trackingDataLoad: this.confirmPopupTrackLoad(), 25439 trackingDataClick: this.confirmPopupTrackClick() 25440 }; 25441 this.confirmPopupService.show(s); 25442 } else this.headerBarService.sendCloseEvent(), t.emit(); 25443 } 25444 triggerEvent(t) { 25445 t && this.trackingService.triggerEvent(t.eventName, t.data); 25446 } 25447 }; 25448 return e.ɵfac = function(i) { 25449 return new (i || e)(); 25450 }, e.ɵcmp = ge({ 25451 type: e, 25452 selectors: [["vn-header-bar"]], 25453 inputs: { 25454 title: "title", 25455 titleCssClass: "titleCssClass", 25456 showBack: "showBack", 25457 showClose: "showClose", 25458 enabled: "enabled", 25459 backButtonText: "backButtonText", 25460 closeButtonText: "closeButtonText", 25461 leftContentClass: "leftContentClass", 25462 closeButtonTextCssClass: "closeButtonTextCssClass", 25463 useLogoHeader: "useLogoHeader", 25464 closeDSButtonStyle: "closeDSButtonStyle", 25465 useDSButton: "useDSButton", 25466 showConfirmPopup: [1, "showConfirmPopup"], 25467 confirmPopupTrackLoad: [1, "confirmPopupTrackLoad"], 25468 confirmPopupTrackClick: [1, "confirmPopupTrackClick"], 25469 trackBackClickEvent: [1, "trackBackClickEvent"], 25470 trackCloseClickEvent: [1, "trackCloseClickEvent"] 25471 }, 25472 outputs: { 25473 onBack: "onBack", 25474 onClose: "onClose" 25475 }, 25476 ngContentSelectors: jP, 25477 decls: 1, 25478 vars: 1, 25479 consts: [ 25480 [1, "header-ctrl-wrapper"], 25481 [ 25482 1, 25483 "header-ctrl", 25484 "d-flex", 25485 "justify-content-between", 25486 "align-items-center" 25487 ], 25488 [ 25489 1, 25490 "header-ctrl-l", 25491 3, 25492 "ngClass" 25493 ], 25494 [ 25495 "dsTouchClick", 25496 "", 25497 1, 25498 "ui-icon", 25499 "ui-icon-size-lg", 25500 "ui-back", 25501 "d-flex", 25502 "align-items-center" 25503 ], 25504 [ 25505 1, 25506 "header-ctrl-txt", 25507 3, 25508 "ngClass" 25509 ], 25510 [ 25511 1, 25512 "header-ctrl-r", 25513 3, 25514 "ngClass" 25515 ], 25516 [ 25517 "dsTouchClick", 25518 "", 25519 1, 25520 "ui-icon", 25521 "ui-icon-size-lg", 25522 "ui-back", 25523 "d-flex", 25524 "align-items-center", 25525 3, 25526 "click" 25527 ], 25528 ["name", "theme-left"], 25529 [ 25530 1, 25531 "txt-xs", 25532 "text-nowrap", 25533 "ml-2", 25534 "back-button-text", 25535 "m-0" 25536 ], 25537 [ 25538 "dsTouchClick", 25539 "", 25540 "name", 25541 "theme-ex", 25542 1, 25543 "vn-icon-ui-close" 25544 ], 25545 [ 25546 "dsTouchClick", 25547 "", 25548 "name", 25549 "theme-ex", 25550 1, 25551 "vn-icon-ui-close", 25552 3, 25553 "click" 25554 ], 25555 [ 25556 "dsTouchClick", 25557 "", 25558 "ds-button", 25559 "", 25560 3, 25561 "variant", 25562 "kind", 25563 "size", 25564 "inverse" 25565 ], 25566 [ 25567 "dsTouchClick", 25568 "", 25569 1, 25570 "close-text", 25571 "btn", 25572 "btn-md", 25573 3, 25574 "ngClass" 25575 ], 25576 [ 25577 "dsTouchClick", 25578 "", 25579 "ds-button", 25580 "", 25581 3, 25582 "click", 25583 "variant", 25584 "kind", 25585 "size", 25586 "inverse" 25587 ], 25588 [ 25589 "dsTouchClick", 25590 "", 25591 1, 25592 "close-text", 25593 "btn", 25594 "btn-md", 25595 3, 25596 "click", 25597 "ngClass" 25598 ] 25599 ], 25600 template: function(i, t) { 25601 i & 1 && (_t(WP), U(0, FG, 10, 8, "div", 0)), i & 2 && W(t.enabled ? 0 : -1); 25602 }, 25603 dependencies: [ 25604 Hn, 25605 Hi, 25606 ji, 25607 lp, 25608 Dy 25609 ], 25610 encapsulation: 2, 25611 changeDetection: 1 25612 }), e; 25613 })(), KP = [[[ 25614 "", 25615 "left", 25616 "" 25617 ]]], qP = ["[left]"], yu = (() => { 25618 let e = class { 25619 constructor() { 25620 this.showConfirmPopup = ce(!1), this.confirmPopupTrackLoad = ce(), this.confirmPopupTrackClick = ce(), this.trackBackClickEvent = ce(), this.trackCloseClickEvent = ce(), this.onClose = new ot(), this.onBack = new ot(), this.unsubscribe = new Xe(), this.headerBarService = f($a); 25621 } 25622 ngOnInit() { 25623 this.disableClose === void 0 && this.headerBarService.disableClose$.pipe(bi(this.unsubscribe)).subscribe((t) => { 25624 this.disableClose = t; 25625 }), this.showBackButton === void 0 && this.headerBarService.showBackButton$.pipe(bi(this.unsubscribe)).subscribe((t) => { 25626 this.showBackButton = t; 25627 }); 25628 } 25629 ngOnDestroy() { 25630 this.unsubscribe.next(), this.unsubscribe.complete(); 25631 } 25632 close() { 25633 return Oe(this, null, function* () { 25634 this.headerBarService.sendCloseCommand(), this.onClose.observers.length > 0 ? this.onClose.emit() : yield this.headerBarService.close(); 25635 }); 25636 } 25637 back() { 25638 this.onBack.observers.length > 0 ? this.onBack.emit() : this.headerBarService.back(); 25639 } 25640 }; 25641 return e.ɵfac = function(i) { 25642 return new (i || e)(); 25643 }, e.ɵcmp = ge({ 25644 type: e, 25645 selectors: [["lh-header-bar"]], 25646 inputs: { 25647 enabled: "enabled", 25648 showBackButton: "showBackButton", 25649 disableClose: "disableClose", 25650 content: "content", 25651 titleCssClass: "titleCssClass", 25652 headerCssClass: "headerCssClass", 25653 backButtonText: "backButtonText", 25654 closeButtonText: "closeButtonText", 25655 closeButtonTextCssClass: "closeButtonTextCssClass", 25656 leftContentClass: "leftContentClass", 25657 showConfirmPopup: [1, "showConfirmPopup"], 25658 confirmPopupTrackLoad: [1, "confirmPopupTrackLoad"], 25659 confirmPopupTrackClick: [1, "confirmPopupTrackClick"], 25660 trackBackClickEvent: [1, "trackBackClickEvent"],
25661 trackCloseClickEvent: [1, "trackCloseClickEvent"] 25662 }, 25663 outputs: { 25664 onClose: "onClose", 25665 onBack: "onBack" 25666 }, 25667 ngContentSelectors: qP, 25668 decls: 3, 25669 vars: 16, 25670 consts: [[ 25671 3, 25672 "onBack", 25673 "onClose", 25674 "enabled", 25675 "title", 25676 "titleCssClass", 25677 "showBack", 25678 "showClose", 25679 "backButtonText", 25680 "closeButtonText", 25681 "closeButtonTextCssClass", 25682 "leftContentClass", 25683 "showConfirmPopup", 25684 "confirmPopupTrackLoad", 25685 "confirmPopupTrackClick", 25686 "trackBackClickEvent", 25687 "trackCloseClickEvent" 25688 ], ["left", ""]], 25689 template: function(i, t) { 25690 i & 1 && (_t(KP), ie(0, "vn-header-bar", 0), Ce("onBack", function() { 25691 return t.back(); 25692 })("onClose", function() { 25693 return t.close(); 25694 }), ir(1, 1), Ye(2), rr(), te()), i & 2 && (Le(t.headerCssClass), $("enabled", t.enabled)("title", t.content)("titleCssClass", t.titleCssClass)("showBack", t.showBackButton)("showClose", !t.disableClose)("backButtonText", t.backButtonText)("closeButtonText", t.closeButtonText)("closeButtonTextCssClass", t.closeButtonTextCssClass)("leftContentClass", t.leftContentClass)("showConfirmPopup", t.showConfirmPopup())("confirmPopupTrackLoad", t.confirmPopupTrackLoad())("confirmPopupTrackClick", t.confirmPopupTrackClick())("trackBackClickEvent", t.trackBackClickEvent())("trackCloseClickEvent", t.trackCloseClickEvent())); 25695 }, 25696 dependencies: [nb], 25697 encapsulation: 2, 25698 changeDetection: 1 25699 }), e; 25700 })(); 25701 })))(); 25702} 25703function zG(e, i) { 25704 if (e & 1 && br(0, "source"), e & 2) { 25705 let t = i.$implicit; 25706 Qe("media", t.media)("srcset", t.srcset); 25707 } 25708} 25709function GG(e, i) { 25710 if (e & 1 && (ie(0, "a", 2), Je(1), te()), e & 2) { 25711 let t = N(2); 25712 $("href", t.item.titleLink.url, ys)("vnHtmlAttrs", t.item.titleLink.attributes), P(), ft(t.title); 25713 } 25714} 25715function VG(e, i) { 25716 e & 1 && Je(0), e & 2 && Ra(" ", N(2).title, " "); 25717} 25718function HG(e, i) { 25719 if (e & 1 && (U(0, GG, 2, 3, "a", 2), U(1, VG, 1, 1)), e & 2) { 25720 let t = N(); 25721 W(t.item.titleLink ? 0 : -1), P(), W(t.item.titleLink ? -1 : 1); 25722 } 25723} 25724function UG(e, i) { 25725 e & 1 && Ie(0); 25726} 25727function WG(e, i) { 25728 if (e & 1 && (ie(0, "h1", 1), be(1, UG, 1, 0, "ng-container", 3), te()), e & 2) { 25729 let t = N(), r = Ge(1); 25730 $("id", t.item.name)("ngClass", t.titleClass), P(), $("ngTemplateOutlet", r); 25731 } 25732} 25733function jG(e, i) { 25734 e & 1 && Ie(0); 25735} 25736function YG(e, i) { 25737 if (e & 1 && (ie(0, "h2", 1), be(1, jG, 1, 0, "ng-container", 3), te()), e & 2) { 25738 let t = N(), r = Ge(1); 25739 $("id", t.item.name)("ngClass", t.titleClass), P(), $("ngTemplateOutlet", r); 25740 } 25741} 25742function KG(e, i) { 25743 e & 1 && Ie(0); 25744} 25745function qG(e, i) { 25746 if (e & 1 && (ie(0, "h3", 1), be(1, KG, 1, 0, "ng-container", 3), te()), e & 2) { 25747 let t = N(), r = Ge(1); 25748 $("id", t.item.name)("ngClass", t.titleClass), P(), $("ngTemplateOutlet", r); 25749 } 25750} 25751function XG(e, i) { 25752 e & 1 && Ie(0); 25753} 25754function JG(e, i) { 25755 if (e & 1 && (ie(0, "h4", 1), be(1, XG, 1, 0, "ng-container", 3), te()), e & 2) { 25756 let t = N(), r = Ge(1); 25757 $("id", t.item.name)("ngClass", t.titleClass), P(), $("ngTemplateOutlet", r); 25758 } 25759} 25760function QG(e, i) { 25761 e & 1 && Ie(0); 25762} 25763function ZG(e, i) { 25764 if (e & 1 && (ie(0, "h5", 1), be(1, QG, 1, 0, "ng-container", 3), te()), e & 2) { 25765 let t = N(), r = Ge(1); 25766 $("id", t.item.name)("ngClass", t.titleClass), P(), $("ngTemplateOutlet", r); 25767 } 25768} 25769function eV(e, i) { 25770 e & 1 && Ie(0); 25771} 25772function tV(e, i) { 25773 if (e & 1 && (ie(0, "h6", 1), be(1, eV, 1, 0, "ng-container", 3), te()), e & 2) { 25774 let t = N(), r = Ge(1); 25775 $("id", t.item.name)("ngClass", t.titleClass), P(), $("ngTemplateOutlet", r); 25776 } 25777} 25778function iV(e, i) { 25779 if (e & 1) { 25780 let t = qe(); 25781 ie(0, "vn-icon", 6), Ce("click", function() { 25782 $e(t); 25783 let r = N(2); 25784 return Pe(r.item.expanded = !r.item.expanded); 25785 }), te(); 25786 } 25787} 25788function rV(e, i) { 25789 if (e & 1) { 25790 let t = qe(); 25791 ie(0, "vn-icon", 7), Ce("click", function() { 25792 $e(t); 25793 let r = N(2); 25794 return Pe(r.item.expanded = !r.item.expanded); 25795 }), te(); 25796 } 25797} 25798function sV(e, i) { 25799 if (e & 1 && (ie(0, "div", 2), U(1, iV, 1, 0, "vn-icon", 4)(2, rV, 1, 0, "vn-icon", 5), te()), e & 2) { 25800 let t = N(); 25801 P(), W(t.item.expanded ? 2 : 1); 25802 } 25803} 25804function nV(e, i) { 25805 e & 1 && Ie(0); 25806} 25807function aV(e, i) { 25808 if (e & 1 && be(0, nV, 1, 0, "ng-container", 8), e & 2) { 25809 let t = i.$implicit, r = N(2); 25810 $("vnDynamicComponent", r.type)("vnDynamicComponentAttr", Yu(2, QP, t, r.section, r.level + 1)); 25811 } 25812} 25813function oV(e, i) { 25814 if (e & 1 && (ie(0, "div"), Sr(1, aV, 1, 6, "ng-container", null, Yb().trackByText, !0), te()), e & 2) { 25815 let t = N(); 25816 Le(tA("pc-menu-submenu pc-menu-level-", t.level)), yt("collapsed", !t.item.expanded), P(), fr(t.item.children); 25817 } 25818} 25819function lV(e, i) { 25820 e & 1 && Ie(0); 25821} 25822function cV(e, i) { 25823 if (e & 1 && be(0, lV, 1, 0, "ng-container", 0), e & 2) { 25824 let t = i.$implicit; 25825 $("vnPageMatrix", t); 25826 } 25827} 25828function dV(e, i) { 25829 e & 1 && pe(0, "vn-pc-component-header-v2", 0), e & 2 && $("item", N().item); 25830} 25831function uV(e, i) { 25832 if (e & 1) { 25833 let t = qe(); 25834 ie(0, "lh-header-bar", 4), Ce("onClose", function() { 25835 return $e(t), Pe(N().close()); 25836 }), te(); 25837 } 25838 e & 2 && $("content", N().item.title); 25839} 25840function pV(e, i) { 25841 if (e & 1 && (ie(0, "div", 7), Je(1), te()), e & 2) { 25842 let t = N(2); 25843 P(), ft(t.item.title); 25844 } 25845} 25846function hV(e, i) { 25847 if (e & 1) { 25848 let t = qe(); 25849 ie(0, "div", 1)(1, "div", 5)(2, "vn-icon", 6), Ce("click", function() { 25850 return $e(t), Pe(N().onBackClick()); 25851 }), te()(), U(3, pV, 2, 1, "div", 7), te(); 25852 } 25853 if (e & 2) { 25854 let t = N(); 25855 $("ngClass", t.customHeaderClass), P(3), W(t.item.title ? 3 : -1); 25856 } 25857} 25858function mV(e, i) { 25859 if (e & 1) { 25860 let t = qe(); 25861 ie(0, "lh-header-bar", 4), Ce("onClose", function() { 25862 return $e(t), Pe(N().onHistoryBack()); 25863 }), te(); 25864 } 25865 e & 2 && $("content", N().item.title); 25866} 25867function fV(e, i) { 25868 if (e & 1 && (ie(0, "div", 7), Je(1), te()), e & 2) { 25869 let t = N(2); 25870 P(), ft(t.item.title); 25871 } 25872} 25873function gV(e, i) { 25874 if (e & 1) { 25875 let t = qe(); 25876 ie(0, "div", 1)(1, "div", 5)(2, "vn-icon", 6), Ce("click", function() { 25877 return $e(t), Pe(N().onHistoryBack()); 25878 }), te()(), U(3, fV, 2, 1, "div", 7), te(); 25879 } 25880 if (e & 2) { 25881 let t = N(); 25882 $("ngClass", t.customHeaderClass), P(3), W(t.item.title ? 3 : -1); 25883 } 25884} 25885function vV(e, i) { 25886 if (e & 1 && (pe(0, "input", 0), ie(1, "label", 1), Je(2), pe(3, "vn-icon", 2)(4, "vn-icon", 3), te(), pe(5, "div", 4)), e & 2) { 25887 let t = N(); 25888 Qe("id", t.id), P(), Qe("for", t.id), P(), Ra("", t.item.title, " "), P(3), $("vnDynamicHtml", t.item.text); 25889 } 25890} 25891function SV(e, i) { 25892 e & 1 && pe(0, "vn-pc-component-header-v2", 1), e & 2 && $("item", N().item); 25893} 25894function bV(e, i) { 25895 if (e & 1 && pe(0, "vn-picture", 3), e & 2) { 25896 let t = N(2); 25897 $("src", t.item.image.src)("width", t.item.image.width)("alt", t.item.image.alt ?? ""); 25898 } 25899} 25900function yV(e, i) { 25901 e & 1 && U(0, bV, 1, 3, "vn-picture", 3), e & 2 && W(N().item.image ? 0 : -1); 25902} 25903function wV(e, i) { 25904 e & 1 && pe(0, "vn-icon", 2), e & 2 && $("name", N().item.iconName); 25905} 25906function EV(e, i) { 25907 e & 1 && Ie(0); 25908} 25909function CV(e, i) { 25910 if (e & 1 && (ie(0, "a", 4), be(1, EV, 1, 0, "ng-container", 5), te()), e & 2) { 25911 let t = N(2), r = Ge(2); 25912 $("href", t.item.imageLink.url, ys)("vnHtmlAttrs", t.item.imageLink.attributes), P(), $("ngTemplateOutlet", r); 25913 } 25914} 25915function NV(e, i) { 25916 if (e & 1 && pe(0, "vn-picture", 3), e & 2) { 25917 let t = N(3); 25918 $("src", t.item.image.src)("width", t.item.image.width)("alt", t.item.image.alt ?? ""); 25919 } 25920} 25921function TV(e, i) { 25922 e & 1 && U(0, NV, 1, 3, "vn-picture", 3), e & 2 && W(N(2).item.image ? 0 : -1); 25923} 25924function kV(e, i) { 25925 e & 1 && U(0, CV, 2, 3, "a", 4)(1, TV, 1, 1), e & 2 && W(N().item.imageLink ? 0 : 1); 25926} 25927function xV(e, i) { 25928 e & 1 && pe(0, "vn-pc-component-header-v2", 1), e & 2 && $("item", N().item); 25929} 25930function IV(e, i) { 25931 if (e & 1 && pe(0, "vn-picture", 4), e & 2) { 25932 let t = N(3); 25933 $("src", t.item.image.src)("width", t.item.image.width)("alt", t.item.image.alt ?? ""); 25934 } 25935} 25936function OV(e, i) { 25937 e & 1 && U(0, IV, 1, 3, "vn-picture", 4), e & 2 && W(N(2).item.image ? 0 : -1); 25938} 25939function PV(e, i) { 25940 e & 1 && Ie(0); 25941} 25942function $V(e, i) { 25943 if (e & 1 && (ie(0, "a", 3), be(1, PV, 1, 0, "ng-container", 5), te()), e & 2) { 25944 N();
25945 let t = Ge(1), r = N(); 25946 $("href", r.item.imageLink.url, ys)("vnHtmlAttrs", r.item.imageLink.attributes), P(), $("ngTemplateOutlet", t); 25947 } 25948} 25949function AV(e, i) { 25950 if (e & 1 && pe(0, "vn-picture", 4), e & 2) { 25951 let t = N(3); 25952 $("src", t.item.image.src)("width", t.item.image.width)("alt", t.item.image.alt ?? ""); 25953 } 25954} 25955function _V(e, i) { 25956 e & 1 && U(0, AV, 1, 3, "vn-picture", 4), e & 2 && W(N(2).item.image ? 0 : -1); 25957} 25958function MV(e, i) { 25959 if (e & 1 && (be(0, OV, 1, 1, "ng-template", null, 0, ti), U(2, $V, 2, 3, "a", 3)(3, _V, 1, 1)), e & 2) { 25960 let t = N(); 25961 P(2), W(t.item.imageLink ? 2 : 3); 25962 } 25963} 25964function RV(e, i) { 25965 e & 1 && pe(0, "div", 2), e & 2 && $("vnDynamicHtml", N().item.text); 25966} 25967function LV(e, i) { 25968 e & 1 && pe(0, "vn-pc-component-header-v2", 0), e & 2 && $("item", N().item); 25969} 25970function BV(e, i) { 25971 if (e & 1) { 25972 let t = qe(); 25973 ie(0, "div", 1)(1, "cloudflare-stream", 2), Ce("play", function(r) { 25974 return $e(t), Pe(N().onPlay(r)); 25975 })("pause", function() { 25976 return $e(t), Pe(N().onPause()); 25977 })("ended", function() { 25978 return $e(t), Pe(N().onEnd()); 25979 }), te()(); 25980 } 25981 if (e & 2) { 25982 let t = N(); 25983 P(), $("controls", !!t.item.controls)("autoplay", t.settings.autoplay)("loop", t.settings.loop)("muted", t.settings.muted)("preload", t.settings.preload)("poster", t.settings.poster)("src", i); 25984 } 25985} 25986function DV(e, i) { 25987 if (e & 1 && pe(0, "vn-picture", 10), e & 2) { 25988 let t = N(3); 25989 $("src", t.item.image.src)("width", t.item.image.width)("profileSet", t.imageProfilesSet)("alt", t.item.image.alt ?? ""); 25990 } 25991} 25992function FV(e, i) { 25993 e & 1 && U(0, DV, 1, 4, "vn-picture", 10), e & 2 && W(N(2).item.image ? 0 : -1); 25994} 25995function zV(e, i) { 25996 e & 1 && Ie(0); 25997} 25998function GV(e, i) { 25999 if (e & 1 && (ie(0, "a", 9), be(1, zV, 1, 0, "ng-container", 11), te()), e & 2) { 26000 N(); 26001 let t = Ge(2), r = N(); 26002 $("href", r.item.imageLink.url, ys)("vnHtmlAttrs", r.item.imageLink.attributes), P(), $("ngTemplateOutlet", t); 26003 } 26004} 26005function VV(e, i) { 26006 if (e & 1 && pe(0, "vn-picture", 10), e & 2) { 26007 let t = N(3); 26008 $("src", t.item.image.src)("width", t.item.image.width)("profileSet", t.imageProfilesSet)("alt", t.item.image.alt ?? ""); 26009 } 26010} 26011function HV(e, i) { 26012 e & 1 && U(0, VV, 1, 4, "vn-picture", 10), e & 2 && W(N(2).item.image ? 0 : -1); 26013} 26014function UV(e, i) { 26015 if (e & 1 && (ie(0, "div", 3), be(1, FV, 1, 1, "ng-template", null, 1, ti), U(3, GV, 2, 3, "a", 9)(4, HV, 1, 1), te()), e & 2) { 26016 let t = N(); 26017 P(3), W(t.item.imageLink ? 3 : 4); 26018 } 26019} 26020function WV(e, i) { 26021 if (e & 1 && (ie(0, "div", 4), pe(1, "vn-picture", 12), te()), e & 2) { 26022 let t = N(); 26023 P(), $("src", t.item.imageOverlay.src)("width", t.item.imageOverlay.width)("profileSet", t.overlayImageProfilesSet)("alt", t.item.imageOverlay.alt ?? "")("imgClass", t.item.imageOverlayClass ?? ""); 26024 } 26025} 26026function jV(e, i) { 26027 e & 1 && Ie(0); 26028} 26029function YV(e, i) { 26030 e & 1 && Ie(0); 26031} 26032function KV(e, i) { 26033 e & 1 && pe(0, "div", 7), e & 2 && $("vnDynamicHtml", N().item.text); 26034} 26035function qV(e, i) { 26036 e & 1 && pe(0, "div", 8), e & 2 && $("vnDynamicHtml", N().item.optionalText); 26037} 26038function XV(e, i) { 26039 if (e & 1 && (ie(0, "h1", 13), Je(1), te()), e & 2) { 26040 let t = N(2), r = t.text, s = t.class; 26041 $("ngClass", s), P(), ft(r); 26042 } 26043} 26044function JV(e, i) { 26045 if (e & 1 && (ie(0, "h2", 13), Je(1), te()), e & 2) { 26046 let t = N(2), r = t.text, s = t.class; 26047 $("ngClass", s), P(), ft(r); 26048 } 26049} 26050function QV(e, i) { 26051 if (e & 1 && (ie(0, "h3", 13), Je(1), te()), e & 2) { 26052 let t = N(2), r = t.text, s = t.class; 26053 $("ngClass", s), P(), ft(r); 26054 } 26055} 26056function ZV(e, i) { 26057 if (e & 1 && (ie(0, "h4", 13), Je(1), te()), e & 2) { 26058 let t = N(2), r = t.text, s = t.class; 26059 $("ngClass", s), P(), ft(r); 26060 } 26061} 26062function eH(e, i) { 26063 if (e & 1 && (ie(0, "h5", 13), Je(1), te()), e & 2) { 26064 let t = N(2), r = t.text, s = t.class; 26065 $("ngClass", s), P(), ft(r); 26066 } 26067} 26068function tH(e, i) { 26069 if (e & 1 && (ie(0, "h6", 13), Je(1), te()), e & 2) { 26070 let t = N(2), r = t.text, s = t.class; 26071 $("ngClass", s), P(), ft(r); 26072 } 26073} 26074function iH(e, i) { 26075 if (e & 1 && U(0, XV, 2, 2, "h1", 13)(1, JV, 2, 2, "h2", 13)(2, QV, 2, 2, "h3", 13)(3, ZV, 2, 2, "h4", 13)(4, eH, 2, 2, "h5", 13)(5, tH, 2, 2, "h6", 13), e & 2) { 26076 let t, r = N().tag; 26077 W((t = r) === "h1" ? 0 : t === "h2" ? 1 : t === "h3" ? 2 : t === "h4" ? 3 : t === "h5" ? 4 : t === "h6" ? 5 : -1); 26078 } 26079} 26080function rH(e, i) { 26081 if (e & 1 && U(0, iH, 6, 1), e & 2) { 26082 let t = i.text; 26083 W(t ? 0 : -1); 26084 } 26085} 26086function sH(e, i) { 26087 e & 1 && pe(0, "vn-pc-component-header-v2", 0), e & 2 && $("item", N().item); 26088} 26089function nH(e, i) { 26090 e & 1 && Ie(0); 26091} 26092function aH(e, i) { 26093 if (e & 1 && be(0, nH, 1, 0, "ng-container", 1), e & 2) { 26094 let t = i.$implicit; 26095 $("vnPageMatrix", t); 26096 } 26097} 26098function oH(e, i) { 26099 return this.trackByName; 26100} 26101function lH(e, i) { 26102 e & 1 && pe(0, "vn-pc-component-header-v2", 0), e & 2 && $("item", N().item); 26103} 26104function cH(e, i) { 26105 e & 1 && Ie(0); 26106} 26107function dH(e, i) { 26108 if (e & 1 && be(0, cH, 1, 0, "ng-container", 1), e & 2) { 26109 let t = i.$implicit; 26110 $("vnPageMatrix", t); 26111 } 26112} 26113function uH(e, i) { 26114 e & 1 && pe(0, "vn-pc-component-header-v2", 0), e & 2 && $("item", N().item); 26115} 26116function pH(e, i) { 26117 if (e & 1 && pe(0, "vn-pc-menu-item", 2), e & 2) { 26118 let t = i.$implicit, r = N(2);
26119 $("item", t)("section", r.section)("id", t.name); 26120 } 26121} 26122function hH(e, i) { 26123 if (e & 1 && (ie(0, "div", 1), Sr(1, pH, 1, 3, "vn-pc-menu-item", 2, Yb().trackByText, !0), te()), e & 2) { 26124 let t = N(); 26125 P(), fr(t.items); 26126 } 26127} 26128function mH(e, i) { 26129 e & 1 && pe(0, "vn-pc-component-header-v2", 0), e & 2 && $("item", N().item); 26130} 26131function fH(e, i) { 26132 e & 1 && Ie(0); 26133} 26134function gH(e, i) { 26135 if (e & 1 && pe(0, "vn-image", 0), e & 2) { 26136 let t = N(); 26137 $("src", t.item.image.src)("alt", t.item.image.alt)("width", t.item.image.width)("height", t.item.image.height); 26138 } 26139} 26140function vH(e, i) { 26141 e & 1 && Ie(0); 26142} 26143function SH(e, i) { 26144 if (e & 1 && (ie(0, "div", 1), be(1, vH, 1, 0, "ng-container", 2), te()), e & 2) { 26145 let t = i.$implicit; 26146 P(), $("vnPageMatrix", t); 26147 } 26148} 26149function bH(e, i) { 26150 if (e & 1) { 26151 let t = qe(); 26152 ie(0, "div", 4), Ce("click", function() { 26153 let r = $e(t).$implicit; 26154 return Pe(N().scrollTo(r.name)); 26155 }), ie(1, "span", 5), Je(2), te(), ie(3, "div", 6), pe(4, "span", 7), te()(); 26156 } 26157 if (e & 2) { 26158 let t = i.$implicit; 26159 $("ngClass", vr(2, ZP, N().currentItem === t.name)), P(2), ft(t.title); 26160 } 26161} 26162function yH(e, i) { 26163 e & 1 && Ie(0); 26164} 26165function wH(e, i) { 26166 if (e & 1 && be(0, yH, 1, 0, "ng-container", 8), e & 2) { 26167 let t = i.$implicit; 26168 $("vnPageMatrix", t); 26169 } 26170} 26171function EH() { 26172 return [Al(pb)]; 26173} 26174function CH(e, i) { 26175 e & 1 && Ie(0); 26176} 26177var wu, vs, Rt, XP, ob, JP, fl, pr, QP, lb, cb, ZP, e$, t$, i$, r$, db, s$, n$, a$, ub, o$, l$, c$, d$, u$, p$, h$, m$, f$, g$, v$, S$, pb, b$, y$, w$; 26178function E$() { 26179 return (E$ = Z((() => { 26180 Re(), de(), sr(), Ke(), Cs(), Ns(), wt(), jn(), st(), ks(), Ry(), Cr(), Ut(), Ml(), Jy(), tS(), TS(), vu(), XS(), ab(), wu = (() => { 26181 let e = class { 26182 constructor() { 26183 this.dynamicComponentsRegistry = f(N_); 26184 } 26185 registerComponent(t, r) { 26186 this.dynamicComponentsRegistry.registerComponent(Ey.PageMatrix, t.toLowerCase(), r); 26187 } 26188 getComponent(t) { 26189 return this.dynamicComponentsRegistry.get(Ey.PageMatrix, t.toLowerCase()); 26190 } 26191 }; 26192 return e.ɵfac = function(i) { 26193 return new (i || e)(); 26194 }, e.ɵprov = R({ 26195 token: e, 26196 factory: e.ɵfac, 26197 providedIn: "root" 26198 }), e; 26199 })(), vs = (() => { 26200 let e = class { 26201 constructor() { 26202 this.viewContainerRef = f(Gu), this.pageMatrixService = f(wu), this.corePageMatrixService = f(Ay), this.log = f(lt), this.templatesRegistered = !1, this.unsubscribe = new Xe(); 26203 } 26204 ngOnInit() { 26205 this.corePageMatrixService.whenReady.pipe(bi(this.unsubscribe)).subscribe(() => { 26206 this.templatesRegistered = !0, this.renderComponent(); 26207 }); 26208 } 26209 ngOnChanges() { 26210 this.renderComponent(); 26211 } 26212 ngOnDestroy() { 26213 this.unsubscribe.next(), this.unsubscribe.complete(), this.viewContainerRef.clear(), this.componentRef = void 0; 26214 } 26215 renderComponent() { 26216 if (this.templatesRegistered && (this.viewContainerRef.clear(), this.vnPageMatrix)) { 26217 let t = this.resolveTemplate(this.vnPageMatrix); 26218 t && (this.componentRef = this.viewContainerRef.createComponent(t), this.componentRef.setInput("item", this.vnPageMatrix), this.componentRef.changeDetectorRef.detectChanges()); 26219 } 26220 } 26221 resolveTemplate(t) { 26222 let r; 26223 return t?.parameters && (r = t.parameters.render || t.parameters.template), r = r || t.templateName, r ? this.pageMatrixService.getComponent(r) || (this.log.warn(`No component is registered to render template '${r}'`), null) : (this.log.warn("templateName is not specified for content ", t), null); 26224 } 26225 }; 26226 return e.ɵfac = function(i) { 26227 return new (i || e)(); 26228 }, e.ɵdir = ci({ 26229 type: e, 26230 selectors: [[ 26231 "", 26232 "vnPageMatrix", 26233 "" 26234 ]], 26235 inputs: { vnPageMatrix: "vnPageMatrix" }, 26236 features: [zn] 26237 }), e; 26238 })(), Rt = (() => { 26239 let e = class { 26240 constructor() { 26241 this.trackByName = rp("name"), this.trackByText = rp("text"); 26242 } 26243 createClass(t) { 26244 let r = `pc-component ${t}`, s = this.item?.class; 26245 return s && (r += ` ${s}`), r; 26246 } 26247 }; 26248 return e.ɵfac = function(i) { 26249 return new (i || e)(); 26250 }, e.ɵdir = ci({ 26251 type: e, 26252 inputs: { item: "item" } 26253 }), e; 26254 })(), XP = (() => { 26255 let e = class { 26256 constructor() { 26257 this.elementRef = f(di), this.timerService = f(Wi), this.menuTimeOut = 0, this.sectionChange = It(), this.scrollStop = It(), this._doc = f(vi), this.scrollEventHandler = () => { 26258 this.onScroll(), this.timerService.clearTimeout(this.timeoutId), this.timeoutId = this.timerService.setTimeout(() => { 26259 this.currentSection = "", this.scrollStop.emit(); 26260 }, this.menuTimeOut); 26261 }; 26262 } 26263 ngOnInit() { 26264 this._doc.addEventListener(Kr.Scroll, this.scrollEventHandler, !1); 26265 } 26266 ngOnDestroy() { 26267 this._doc.removeEventListener(Kr.Scroll, this.scrollEventHandler, !1), this.timerService.clearTimeout(this.timeoutId); 26268 } 26269 onScroll() { 26270 let t = "", r = this.elementRef.nativeElement.getElementsByClassName("menu-element"); 26271 for (let s = 0; s < r.length; s++) { 26272 let n = r[s]; 26273 n.getBoundingClientRect().top <= (this.navBarTopHeight || 114) && (t = n.id); 26274 } 26275 t !== this.currentSection && (this.currentSection = t, this.sectionChange.emit(this.currentSection)); 26276 } 26277 }; 26278 return e.ɵfac = function(i) { 26279 return new (i || e)(); 26280 }, e.ɵdir = ci({ 26281 type: e, 26282 selectors: [[ 26283 "", 26284 "vnScrollMenu", 26285 "" 26286 ]], 26287 inputs: { 26288 menuTimeOut: "menuTimeOut", 26289 navBarTopHeight: "navBarTopHeight" 26290 }, 26291 outputs: { 26292 sectionChange: "sectionChange", 26293 scrollStop: "scrollStop" 26294 } 26295 }), e; 26296 })(), ob = (() => { 26297 let e = class extends Rt { 26298 constructor() { 26299 super(), this.metaTagsService = f(T_), this.htmlNode = f(ay), this.destroyRef = f(ze); 26300 } 26301 ngOnInit() { 26302 this.setHtmlClass(!0), this.writePageMetadata(); 26303 } 26304 ngOnDestroy() { 26305 this.setHtmlClass(!1), this.metaTagsService.whenReady.subscribe(() => this.metaTagsService.clearPageTags()); 26306 } 26307 writePageMetadata() { 26308 let t = {}; 26309 this.item.pageDescription && (t.description = this.item.pageDescription), this.item.pageMetaTags && Object.assign(t, this.item.pageMetaTags), this.metaTagsService.whenReady.pipe(he(this.destroyRef)).subscribe(() => this.metaTagsService.setPageTags(this.item.pageTitle, t)); 26310 } 26311 setHtmlClass(t) { 26312 this.item.parameters?.htmlClass && this.htmlNode.setCssClass(this.item.parameters.htmlClass, t); 26313 } 26314 }; 26315 return e.ɵfac = function(i) { 26316 return new (i || e)(); 26317 }, e.ɵdir = ci({ 26318 type: e, 26319 features: [Dt] 26320 }), e; 26321 })(), JP = (e, i) => i.media, fl = (() => { 26322 let e = class { 26323 constructor() { 26324 this.src = ce.required(), this.alt = ce(""), this.width = ce(void 0), this.profileSet = ce(void 0), this.imgClass = ce(""), this.page = f(Wr), this.urlService = f(Un), this.log = f(lt), this.sources = ne(() => this.computeSources()); 26325 } 26326 computeSources() { 26327 let t = this.src(); 26328 if (!t) return []; 26329 let r = this.profileSet() || "default", s = this.page.imageProfiles[r]; 26330 if (s || (this.log.warn(`Image profile set ${r} is not defined, using default.`), s = this.page.imageProfiles.default), !s?.widthBreakpoints?.length) return []; 26331 let n = this.width(); 26332 return s.widthBreakpoints.filter((a) => this.shouldIncludeWidth(a, n)).map((a) => { 26333 let o = this.urlService.parse(t); 26334 return o.search.set("p", `${s.prefix}${a}`), {
26335 media: `(max-width: ${a}px)`, 26336 srcset: o.absUrl() 26337 }; 26338 }); 26339 } 26340 shouldIncludeWidth(t, r) { 26341 return r ? r > t : !0; 26342 } 26343 }; 26344 return e.ɵfac = function(i) { 26345 return new (i || e)(); 26346 }, e.ɵcmp = ge({ 26347 type: e, 26348 selectors: [["vn-picture"]], 26349 inputs: { 26350 src: [1, "src"], 26351 alt: [1, "alt"], 26352 width: [1, "width"], 26353 profileSet: [1, "profileSet"], 26354 imgClass: [1, "imgClass"] 26355 }, 26356 decls: 4, 26357 vars: 5, 26358 consts: [[ 26359 3, 26360 "src", 26361 "alt" 26362 ]], 26363 template: function(i, t) { 26364 i & 1 && (Nt(0, "picture"), Sr(1, zG, 1, 2, "source", null, JP), br(3, "img", 0), mt()), i & 2 && (P(), fr(t.sources()), P(2), Le(t.imgClass()), yl("src", t.src(), ys)("alt", t.alt()), Qe("width", t.width())); 26365 }, 26366 styles: ["[_nghost-%COMP%]{display:contents}picture[_ngcontent-%COMP%]{display:contents}"] 26367 }), e; 26368 })(), pr = (() => { 26369 let e = class { 26370 ngOnInit() { 26371 if (this.title = this.item.title, !this.title && this.item.titleLink && (this.title = this.item.titleLink.text), this.tag = "h3", this.item.parameters) { 26372 let t = this.item.parameters["title-tag"]; 26373 t && /^h[1-6]$/.test(t) && (this.tag = t), this.titleClass = this.item.parameters["title-class"]; 26374 } 26375 } 26376 }; 26377 return e.ɵfac = function(i) { 26378 return new (i || e)(); 26379 }, e.ɵcmp = ge({ 26380 type: e, 26381 selectors: [["vn-pc-component-header-v2"]], 26382 hostVars: 2, 26383 hostBindings: function(i, t) { 26384 i & 2 && yt("pc-header", !0); 26385 }, 26386 inputs: { item: "item" }, 26387 decls: 8, 26388 vars: 1, 26389 consts: [ 26390 ["content", ""], 26391 [ 26392 1, 26393 "pc-h", 26394 3, 26395 "id", 26396 "ngClass" 26397 ], 26398 [ 26399 1, 26400 "pc-h-a", 26401 3, 26402 "href", 26403 "vnHtmlAttrs" 26404 ], 26405 [4, "ngTemplateOutlet"] 26406 ], 26407 template: function(i, t) { 26408 if (i & 1 && (be(0, HG, 2, 2, "ng-template", null, 0, ti), U(2, WG, 2, 3, "h1", 1)(3, YG, 2, 3, "h2", 1)(4, qG, 2, 3, "h3", 1)(5, JG, 2, 3, "h4", 1)(6, ZG, 2, 3, "h5", 1)(7, tV, 2, 3, "h6", 1)), i & 2) { 26409 let r; 26410 P(2), W((r = t.tag) === "h1" ? 2 : r === "h2" ? 3 : r === "h3" ? 4 : r === "h4" ? 5 : r === "h5" ? 6 : r === "h6" ? 7 : -1); 26411 } 26412 }, 26413 dependencies: [ 26414 Hn, 26415 Hi, 26416 Js, 26417 Pa 26418 ], 26419 encapsulation: 2, 26420 changeDetection: 1 26421 }), e; 26422 })(), QP = (e, i, t) => ({ 26423 item: e, 26424 section: i, 26425 level: t 26426 }), lb = (() => { 26427 let e = class J$ { 26428 constructor() { 26429 this.menuActionService = f(Iy), this.level = 1, this.type = J$, this.trackByText = rp("text"); 26430 } 26431 onClick(t) { 26432 let r = this.findFirstNonEmpty(this.item); 26433 r && r !== this.item && this.menuActionService.processClick(t, r, this.section); 26434 } 26435 findFirstNonEmpty(t) { 26436 if (t.url || t.clickAction) return t; 26437 if (t.children) for (let r of t.children) { 26438 let s = this.findFirstNonEmpty(r); 26439 if (s) return s; 26440 } 26441 } 26442 }; 26443 return e.ɵfac = function(i) { 26444 return new (i || e)(); 26445 }, e.ɵcmp = ge({ 26446 type: e, 26447 selectors: [["vn-pc-menu-item"]], 26448 inputs: { 26449 item: "item", 26450 section: "section", 26451 level: "level" 26452 }, 26453 decls: 4, 26454 vars: 4, 26455 consts: [ 26456 [1, "pc-menu-item-container"], 26457 [ 26458 "linkClass", 26459 "pc-menu-link", 26460 1, 26461 "pc-menu-item", 26462 3, 26463 "onClick", 26464 "item", 26465 "section" 26466 ], 26467 [1, "pc-menu-item-indicator"], 26468 [ 26469 3, 26470 "class", 26471 "collapsed" 26472 ], 26473 [ 26474 "name", 26475 "theme-plus", 26476 "extraClass", 26477 "ui-icon ui-icon-size-sm" 26478 ], 26479 [ 26480 "name", 26481 "theme-minus", 26482 "extraClass", 26483 "ui-icon ui-icon-size-sm" 26484 ], 26485 [ 26486 "name", 26487 "theme-plus", 26488 "extraClass", 26489 "ui-icon ui-icon-size-sm", 26490 3, 26491 "click" 26492 ], 26493 [ 26494 "name", 26495 "theme-minus", 26496 "extraClass", 26497 "ui-icon ui-icon-size-sm", 26498 3, 26499 "click" 26500 ], 26501 [ 26502 4, 26503 "vnDynamicComponent", 26504 "vnDynamicComponentAttr" 26505 ] 26506 ], 26507 template: function(i, t) { 26508 i & 1 && (ie(0, "div", 0)(1, "vn-menu-item", 1), Ce("onClick", function(r) { 26509 return t.onClick(r); 26510 }), te(), U(2, sV, 3, 1, "div", 2), te(), U(3, oV, 3, 5, "div", 3)), i & 2 && (P(), $("item", t.item)("section", t.section), P(), W(t.item.children && t.item.children.length ? 2 : -1), P(), W(t.item.children ? 3 : -1)); 26511 }, 26512 dependencies: [ 26513 qS, 26514 Ty, 26515 ji 26516 ], 26517 encapsulation: 2, 26518 changeDetection: 1 26519 }), e; 26520 })(), cb = (e, i, t) => ({ 26521 text: e, 26522 tag: i, 26523 class: t 26524 }), ZP = (e) => ({ "pc-navscroll--active": e }), e$ = (() => { 26525 let e = class extends ob { 26526 constructor() { 26527 super(); 26528 } 26529 get class() { 26530 return [ 26531 "pm-page", 26532 "pm-1col", 26533 "pm-simple-layout", 26534 this.item.pageClass
26535 ].filter(Boolean).join(" "); 26536 } 26537 get id() { 26538 return this.item.pageId; 26539 } 26540 }; 26541 return e.ɵfac = function(i) { 26542 return new (i || e)(); 26543 }, e.ɵcmp = ge({ 26544 type: e, 26545 selectors: [["vn-pm-1col-page"]], 26546 hostVars: 3, 26547 hostBindings: function(i, t) { 26548 i & 2 && (Qe("id", t.id), Le(t.class)); 26549 }, 26550 features: [Dt], 26551 decls: 2, 26552 vars: 0, 26553 consts: [[4, "vnPageMatrix"]], 26554 template: function(i, t) { 26555 i & 1 && Sr(0, cV, 1, 1, "ng-container", null, t.trackByName, !0), i & 2 && fr(t.item.content); 26556 }, 26557 dependencies: [vs], 26558 encapsulation: 2, 26559 changeDetection: 1 26560 }), e; 26561 })(), t$ = (() => { 26562 let e = class extends Rt { 26563 get class() { 26564 return this.createClass("pc-text"); 26565 } 26566 }; 26567 return e.ɵfac = (() => { 26568 let i; 26569 return function(t) { 26570 return (i || (i = Fe(e)))(t || e); 26571 }; 26572 })(), e.ɵcmp = ge({ 26573 type: e, 26574 selectors: [["vn-pc-text"]], 26575 hostVars: 2, 26576 hostBindings: function(i, t) { 26577 i & 2 && Le(t.class); 26578 }, 26579 features: [Dt], 26580 decls: 2, 26581 vars: 2, 26582 consts: [[3, "item"], [ 26583 1, 26584 "pc-txt", 26585 3, 26586 "vnDynamicHtml" 26587 ]], 26588 template: function(i, t) { 26589 i & 1 && (U(0, dV, 1, 1, "vn-pc-component-header-v2", 0), pe(1, "div", 1)), i & 2 && (W(t.item.title ? 0 : -1), P(), $("vnDynamicHtml", t.item.text)); 26590 }, 26591 dependencies: [Er, pr], 26592 encapsulation: 2, 26593 changeDetection: 1 26594 }), e; 26595 })(), i$ = (() => { 26596 var e; 26597 let i = class extends Rt { 26598 constructor() { 26599 super(...arguments), Zi(this, e), this.navigation = f(_i), this.media = f(xy), this.headerBarService = f($a), this.customHeaderClass = "", er(this, e, f(vt)), this._doc = f(vi); 26600 } 26601 ngOnInit() { 26602 this.item.parameters && (this.item.parameters["custom-header-media-query"] && (this.showCustomHeaderTemplate = this.media.isActive(this.item.parameters["custom-header-media-query"])), this.item.parameters["custom-header-class"] && (this.customHeaderClass = this.item.parameters["custom-header-class"])); 26603 } 26604 onBackClick() { 26605 this._doc.referrer ? At(this, e).history.back() : this.navigation.goToLastKnownProduct(); 26606 } 26607 close() { 26608 let r = this.item.parameters?.["welcome-overlay-url"]; 26609 r && this.navigation?.previousUrl?.includes(r) ? At(this, e).history.back() : this.headerBarService.close(); 26610 } 26611 }; 26612 return e = /* @__PURE__ */ new WeakMap(), i.ɵfac = (() => { 26613 let t; 26614 return function(r) { 26615 return (t || (t = Fe(i)))(r || i); 26616 }; 26617 })(), i.ɵcmp = ge({ 26618 type: i, 26619 selectors: [["vn-pc-text-with-header-bar"]], 26620 features: [Dt], 26621 decls: 4, 26622 vars: 3, 26623 consts: [ 26624 [3, "content"], 26625 [ 26626 1, 26627 "custom-header", 26628 3, 26629 "ngClass" 26630 ], 26631 [ 26632 1, 26633 "pc-text", 26634 "pc-component", 26635 3, 26636 "ngClass" 26637 ], 26638 [ 26639 1, 26640 "pc-txt", 26641 3, 26642 "vnDynamicHtml" 26643 ], 26644 [ 26645 3, 26646 "onClose", 26647 "content" 26648 ], 26649 [1, "header-ctrl-l"], 26650 [ 26651 "name", 26652 "theme-arrow-left", 26653 "extraClass", 26654 "ui-icon ui-icon-size-lg ui-back d-flex align-items-center", 26655 3, 26656 "click" 26657 ], 26658 [1, "header-ctrl-txt"] 26659 ], 26660 template: function(t, r) { 26661 t & 1 && (U(0, uV, 1, 1, "lh-header-bar", 0)(1, hV, 4, 2, "div", 1), ie(2, "div", 2), pe(3, "div", 3), te()), t & 2 && (W(r.showCustomHeaderTemplate ? 1 : 0), P(2), $("ngClass", r.item.class), P(), $("vnDynamicHtml", r.item.text)); 26662 }, 26663 dependencies: [ 26664 Er, 26665 yu, 26666 ji, 26667 Hi 26668 ], 26669 encapsulation: 2, 26670 changeDetection: 1 26671 }), i; 26672 })(), r$ = (() => { 26673 var e; 26674 let i = class extends Rt { 26675 constructor() { 26676 super(...arguments), Zi(this, e), this.navigation = f(_i), this.productHomepages = f(w_), this.deviceService = f(nr), this.customHeaderClass = "", er(this, e, f(vt)), this._doc = f(vi); 26677 } 26678 ngOnInit() { 26679 this.item.parameters?.["custom-header-class"] && (this.customHeaderClass = this.item.parameters["custom-header-class"]); 26680 } 26681 onHistoryBack() { 26682 this._doc.referrer ? At(this, e).history.back() : this.productHomepages.promo ? this.navigation.goTo(this.productHomepages.promo, { isBackNavigation: !0 }) : this.navigation.goToLastKnownProduct(); 26683 } 26684 }; 26685 return e = /* @__PURE__ */ new WeakMap(), i.ɵfac = (() => { 26686 let t; 26687 return function(r) { 26688 return (t || (t = Fe(i)))(r || i); 26689 }; 26690 })(), i.ɵcmp = ge({ 26691 type: i, 26692 selectors: [["vn-pc-header-for-mpp-page"]], 26693 features: [Dt], 26694 decls: 4, 26695 vars: 3, 26696 consts: [ 26697 [3, "content"], 26698 [ 26699 1, 26700 "custom-header", 26701 3, 26702 "ngClass" 26703 ], 26704 [ 26705 1, 26706 "pc-text", 26707 "pc-component", 26708 3, 26709 "ngClass" 26710 ], 26711 [ 26712 1, 26713 "pc-txt", 26714 3, 26715 "vnDynamicHtml" 26716 ], 26717 [ 26718 3, 26719 "onClose", 26720 "content" 26721 ], 26722 [1, "header-ctrl-l"], 26723 [ 26724 "name", 26725 "theme-arrow-left", 26726 "extraClass", 26727 "ui-icon ui-icon-size-lg ui-back d-flex align-items-center", 26728 3, 26729 "click" 26730 ], 26731 [1, "header-ctrl-txt"] 26732 ], 26733 template: function(t, r) { 26734 t & 1 && (U(0, mV, 1, 1, "lh-header-bar", 0)(1, gV, 4, 2, "div", 1), ie(2, "div", 2), pe(3, "div", 3), te()), t & 2 && (W(r.deviceService.isMobilePhone ? 0 : 1), P(2), $("ngClass", r.item.class), P(), $("vnDynamicHtml", r.item.text)); 26735 }, 26736 dependencies: [ 26737 Er, 26738 yu, 26739 ji, 26740 Hi 26741 ], 26742 encapsulation: 2, 26743 changeDetection: 1 26744 }), i; 26745 })(), db = 0, s$ = (() => { 26746 let e = class extends Rt { 26747 get class() { 26748 return this.createClass("pc-toggle"); 26749 } 26750 ngOnInit() { 26751 this.id = `pctoggle_chbx_${db}`, db++; 26752 } 26753 }; 26754 return e.ɵfac = (() => { 26755 let i; 26756 return function(t) { 26757 return (i || (i = Fe(e)))(t || e); 26758 }; 26759 })(), e.ɵcmp = ge({ 26760 type: e, 26761 selectors: [["vn-pc-toggle"]], 26762 hostVars: 2, 26763 hostBindings: function(i, t) { 26764 i & 2 && Le(t.class); 26765 }, 26766 features: [Dt], 26767 decls: 1, 26768 vars: 1, 26769 consts: [ 26770 [ 26771 "type", 26772 "checkbox", 26773 1, 26774 "pc-toggle-checker" 26775 ], 26776 [1, "pc-toggle-label"], 26777 [ 26778 "name", 26779 "theme-up", 26780 "extraClass", 26781 "pc-toggle__icon-up" 26782 ], 26783 [ 26784 "name", 26785 "theme-down", 26786 "extraClass", 26787 "pc-toggle__icon-down" 26788 ], 26789 [ 26790 1, 26791 "pc-txt", 26792 "pc-toggle-txt", 26793 3, 26794 "vnDynamicHtml" 26795 ] 26796 ], 26797 template: function(i, t) { 26798 i & 1 && U(0, vV, 6, 4), i & 2 && W(t.item.text ? 0 : -1); 26799 }, 26800 dependencies: [Er, ji], 26801 encapsulation: 2, 26802 changeDetection: 1 26803 }), e; 26804 })(), n$ = (() => { 26805 let e = class extends Rt { 26806 get class() { 26807 return this.createClass("pc-image"); 26808 } 26809 }; 26810 return e.ɵfac = (() => { 26811 let i; 26812 return function(t) { 26813 return (i || (i = Fe(e)))(t || e); 26814 }; 26815 })(), e.ɵcmp = ge({ 26816 type: e, 26817 selectors: [["vn-pc-image"]], 26818 hostVars: 2, 26819 hostBindings: function(i, t) { 26820 i & 2 && Le(t.class); 26821 }, 26822 features: [Dt], 26823 decls: 5, 26824 vars: 2, 26825 consts: [ 26826 ["pic", ""], 26827 [3, "item"], 26828 [3, "name"], 26829 [ 26830 "imgClass", 26831 "pc-img", 26832 3, 26833 "src", 26834 "width", 26835 "alt" 26836 ], 26837 [ 26838 1, 26839 "pc-img-a", 26840 3, 26841 "href", 26842 "vnHtmlAttrs" 26843 ], 26844 [4, "ngTemplateOutlet"] 26845 ], 26846 template: function(i, t) { 26847 i & 1 && (U(0, SV, 1, 1, "vn-pc-component-header-v2", 1), be(1, yV, 1, 1, "ng-template", null, 0, ti), U(3, wV, 1, 1, "vn-icon", 2)(4, kV, 2, 1)), i & 2 && (W(t.item.title ? 0 : -1), P(3), W(t.item.iconName ? 3 : 4)); 26848 }, 26849 dependencies: [ 26850 Js, 26851 Pa, 26852 fl, 26853 pr, 26854 ji 26855 ], 26856 encapsulation: 2, 26857 changeDetection: 1 26858 }), e; 26859 })(), a$ = (() => { 26860 let e = class extends Rt { 26861 get class() { 26862 return this.createClass("pc-image-text"); 26863 } 26864 }; 26865 return e.ɵfac = (() => { 26866 let i; 26867 return function(t) { 26868 return (i || (i = Fe(e)))(t || e); 26869 }; 26870 })(), e.ɵcmp = ge({ 26871 type: e, 26872 selectors: [["vn-pc-image-text"]], 26873 hostVars: 2, 26874 hostBindings: function(i, t) { 26875 i & 2 && Le(t.class); 26876 }, 26877 features: [Dt], 26878 decls: 3, 26879 vars: 3, 26880 consts: [ 26881 ["pic", ""], 26882 [3, "item"], 26883 [ 26884 1, 26885 "pc-txt", 26886 3, 26887 "vnDynamicHtml" 26888 ], 26889 [ 26890 1, 26891 "pc-img-a", 26892 3, 26893 "href", 26894 "vnHtmlAttrs" 26895 ], 26896 [ 26897 "imgClass", 26898 "pc-img", 26899 3, 26900 "src", 26901 "width", 26902 "alt" 26903 ], 26904 [4, "ngTemplateOutlet"] 26905 ], 26906 template: function(i, t) { 26907 i & 1 && (U(0, xV, 1, 1, "vn-pc-component-header-v2", 1), U(1, MV, 4, 1), U(2, RV, 1, 1, "div", 2)), i & 2 && (W(t.item.title ? 0 : -1), P(), W(t.item.image ? 1 : -1), P(), W(t.item.text ? 2 : -1)); 26908 }, 26909 dependencies: [ 26910 Js, 26911 fl, 26912 Pa, 26913 pr, 26914 Er 26915 ], 26916 encapsulation: 2, 26917 changeDetection: 1 26918 }), e; 26919 })(), ub = (() => { 26920 let e = class extends Rt { 26921 constructor() { 26922 super(...arguments), this.trackingService = f(Yr), this.urlService = f(Un), this.settings = { 26923 autoplay: !1, 26924 loop: !1, 26925 muted: !1, 26926 preload: "auto", 26927 poster: "" 26928 }, this.playing = !1, this.videoEnded = It(); 26929 } 26930 get class() { 26931 return this.createClass("pc-video"); 26932 } 26933 get style() { 26934 return { 26935 width: this.item.video?.width ? `${this.item.video.width}px` : null, 26936 height: this.item.video?.height ? `${this.item.video.height}px` : null 26937 }; 26938 } 26939 ngOnInit() { 26940 let t = this.item?.video?.src; 26941 if (!t) return; 26942 let r = this.urlService.parse(t).search;
26943 r.keys().forEach((s) => { 26944 let n = r.get(s)?.toLowerCase(); 26945 this.settings[s] = Ui(n) || n || this.settings[s]; 26946 }), this.settings.autoplay && (this.settings.muted = !0), this.settings.poster = this.item.parameters?.poster; 26947 } 26948 onPlay(t) { 26949 t.type === "play" && !this.playing && (this.playing = !0, this.trackingService.triggerEvent($l.Event, { 26950 "component.CategoryEvent": "pc video", 26951 "component.LabelEvent": "pc video", 26952 "component.ActionEvent": "click", 26953 "component.PositionEvent": "not applicable", 26954 "component.LocationEvent": "public page", 26955 "component.EventDetails": "pc video play", 26956 "component.URLClicked": "not applicable" 26957 })); 26958 } 26959 onPause() { 26960 this.playing = !1, this.trackingService.triggerEvent($l.Event, { 26961 "component.CategoryEvent": "pc video", 26962 "component.LabelEvent": "pc video", 26963 "component.ActionEvent": "click", 26964 "component.PositionEvent": "not applicable", 26965 "component.LocationEvent": "public page", 26966 "component.EventDetails": "pc video pause", 26967 "component.URLClicked": "not applicable" 26968 }); 26969 } 26970 onEnd() { 26971 this.playing = !1, this.videoEnded.emit(!0); 26972 } 26973 }; 26974 return e.ɵfac = (() => { 26975 let i; 26976 return function(t) { 26977 return (i || (i = Fe(e)))(t || e); 26978 }; 26979 })(), e.ɵcmp = ge({ 26980 type: e, 26981 selectors: [["vn-pc-video"]], 26982 hostVars: 4, 26983 hostBindings: function(i, t) { 26984 i & 2 && (pA(t.style), Le(t.class)); 26985 }, 26986 outputs: { videoEnded: "videoEnded" }, 26987 features: [Dt], 26988 decls: 2, 26989 vars: 2, 26990 consts: [ 26991 [3, "item"], 26992 [1, "pc-video-wrapper"], 26993 [ 26994 3, 26995 "play", 26996 "pause", 26997 "ended", 26998 "controls", 26999 "autoplay", 27000 "loop", 27001 "muted", 27002 "preload", 27003 "poster", 27004 "src" 27005 ] 27006 ], 27007 template: function(i, t) { 27008 if (i & 1 && (U(0, LV, 1, 1, "vn-pc-component-header-v2", 0), U(1, BV, 2, 7, "div", 1)), i & 2) { 27009 let r; 27010 W(t.item.title ? 0 : -1), P(), W((r = t.item.video?.id) ? 1 : -1, r); 27011 } 27012 }, 27013 dependencies: [ 27014 eS, 27015 Zv, 27016 pr 27017 ], 27018 encapsulation: 2, 27019 changeDetection: 1 27020 }), e; 27021 })(), o$ = (() => { 27022 let e = class extends Rt { 27023 constructor() { 27024 super(...arguments), this.subtitleTag = "h4", this.summaryTag = "h5"; 27025 } 27026 get class() { 27027 return this.createClass("pc-teaser"); 27028 } 27029 ngOnInit() { 27030 let t = ["pc-t-h-cont-sub"], r = ["pc-t-h-cont-sum"]; 27031 if (this.item.parameters) { 27032 this.imageProfilesSet = this.item.parameters["image-profiles-set"], this.overlayImageProfilesSet = this.item.parameters["overlay-image-profiles-set"]; 27033 let s = this.item.parameters["subtitle-class"], n = this.item.parameters["summary-class"], a = this.item.parameters["subtitle-tag"], o = this.item.parameters["summary-tag"]; 27034 s && t.push(s), n && r.push(n), a && (this.subtitleTag = a), o && (this.summaryTag = o); 27035 } 27036 this.subtitleClass = t.join(" "), this.summaryClass = r.join(" "); 27037 } 27038 }; 27039 return e.ɵfac = (() => { 27040 let i; 27041 return function(t) { 27042 return (i || (i = Fe(e)))(t || e); 27043 }; 27044 })(), e.ɵcmp = ge({ 27045 type: e, 27046 selectors: [["vn-pc-teaser"]], 27047 hostVars: 2, 27048 hostBindings: function(i, t) { 27049 i & 2 && Le(t.class); 27050 }, 27051 features: [Dt], 27052 decls: 10, 27053 vars: 17, 27054 consts: [ 27055 ["title", ""], 27056 ["pic", ""], 27057 [3, "item"], 27058 [1, "pc-t-img-cont"], 27059 [1, "pc-t-img-opt"], 27060 [1, "pc-t-h-cont"], 27061 [ 27062 4, 27063 "ngTemplateOutlet", 27064 "ngTemplateOutletContext" 27065 ], 27066 [ 27067 1, 27068 "pc-t-txt", 27069 3, 27070 "vnDynamicHtml" 27071 ], 27072 [ 27073 1, 27074 "pc-t-txt-opt", 27075 3, 27076 "vnDynamicHtml" 27077 ], 27078 [ 27079 1, 27080 "pc-img-a", 27081 3, 27082 "href", 27083 "vnHtmlAttrs" 27084 ], 27085 [ 27086 "imgClass", 27087 "pc-img", 27088 3, 27089 "src", 27090 "width", 27091 "profileSet", 27092 "alt" 27093 ], 27094 [4, "ngTemplateOutlet"], 27095 [ 27096 3, 27097 "src", 27098 "width", 27099 "profileSet", 27100 "alt", 27101 "imgClass" 27102 ], 27103 [ 27104 1, 27105 "pc-h", 27106 3, 27107 "ngClass" 27108 ] 27109 ], 27110 template: function(i, t) { 27111 if (i & 1 && (pe(0, "vn-pc-component-header-v2", 2), U(1, UV, 5, 1, "div", 3), U(2, WV, 2, 5, "div", 4), ie(3, "div", 5), be(4, jV, 1, 0, "ng-container", 6)(5, YV, 1, 0, "ng-container", 6), te(), U(6, KV, 1, 1, "div", 7), U(7, qV, 1, 1, "div", 8), be(8, rH, 1, 1, "ng-template", null, 0, ti)), i & 2) { 27112 let r = Ge(9); 27113 $("item", t.item), P(), W(t.item.image ? 1 : -1), P(), W(t.item.imageOverlay ? 2 : -1), P(2), $("ngTemplateOutlet", r)("ngTemplateOutletContext", Yu(9, cb, t.item.subtitle, t.subtitleTag, t.subtitleClass)), P(), $("ngTemplateOutlet", r)("ngTemplateOutletContext", Yu(13, cb, t.item.summary, t.summaryTag, t.summaryClass)), P(), W(t.item.text ? 6 : -1), P(), W(t.item.optionalText ? 7 : -1); 27114 } 27115 }, 27116 dependencies: [ 27117 Js, 27118 Er, 27119 Pa, 27120 Hi, 27121 fl, 27122 pr 27123 ], 27124 encapsulation: 2, 27125 changeDetection: 1 27126 }), e; 27127 })(), l$ = (() => { 27128 let e = class extends Rt { 27129 get class() { 27130 return this.createClass("pc-container"); 27131 } 27132 }; 27133 return e.ɵfac = (() => { 27134 let i; 27135 return function(t) { 27136 return (i || (i = Fe(e)))(t || e); 27137 }; 27138 })(), e.ɵcmp = ge({ 27139 type: e, 27140 selectors: [["vn-pc-container"]], 27141 hostVars: 2, 27142 hostBindings: function(i, t) { 27143 i & 2 && Le(t.class); 27144 }, 27145 features: [Dt], 27146 decls: 3, 27147 vars: 1, 27148 consts: [[3, "item"], [4, "vnPageMatrix"]], 27149 template: function(i, t) { 27150 i & 1 && (U(0, sH, 1, 1, "vn-pc-component-header-v2", 0), Sr(1, aH, 1, 1, "ng-container", null, t.trackByName, !0)), i & 2 && (W(t.item.title ? 0 : -1), P(), fr(t.item.items)); 27151 }, 27152 dependencies: [pr, vs], 27153 encapsulation: 2, 27154 changeDetection: 1 27155 }), e; 27156 })(), c$ = (() => { 27157 let e = class extends Rt { 27158 get class() { 27159 return this.createClass("pc-folder"); 27160 } 27161 }; 27162 return e.ɵfac = (() => { 27163 let i; 27164 return function(t) { 27165 return (i || (i = Fe(e)))(t || e); 27166 }; 27167 })(), e.ɵcmp = ge({ 27168 type: e, 27169 selectors: [["vn-pc-component-folder"]], 27170 hostVars: 2, 27171 hostBindings: function(i, t) { 27172 i & 2 && Le(t.class); 27173 }, 27174 features: [Dt], 27175 decls: 4, 27176 vars: 5, 27177 consts: [[3, "item"], [4, "vnPageMatrix"]], 27178 template: function(i, t) { 27179 i & 1 && (U(0, lH, 1, 1, "vn-pc-component-header-v2", 0), Sr(1, dH, 1, 1, "ng-container", null, oH, !0), Es(3, "slice")), i & 2 && (W(t.item.title ? 0 : -1), P(), fr(zb(3, 1, t.item.items, 0, t.item.maxItems))); 27180 }, 27181 dependencies: [ 27182 pr, 27183 vs, 27184 Qb 27185 ], 27186 encapsulation: 2, 27187 changeDetection: 1 27188 }), e; 27189 })(), d$ = (() => { 27190 let e = class extends Rt { 27191 constructor() { 27192 super(...arguments), this.urlService = f(Un), this.navigationService = f(_i), this.menuItemsService = f(op), this.elementRef = f(di), this.destroySubject = new Xe(); 27193 } 27194 get class() { 27195 return this.createClass("pc-menu"); 27196 } 27197 ngOnInit() { 27198 this.section = `${m_.PageMatrix}_${this.item.name}`, this.currentUrl = this.navigationService.location.baseUrl() + this.navigationService.location.path(); 27199 } 27200 ngAfterViewInit() { 27201 if (this.item.menu) { 27202 this.items = Fa(this.item.menu.children); 27203 let t = this.findActiveChain(this.items, []); 27204 if (t.length > 0) { 27205 t.forEach((s) => s.expanded = !0); 27206 let r = t.at(-1); 27207 r?.name && this.menuItemsService.setActive(this.section, r.name), this.item.menu.parameters && this.pcMenuItems.changes.pipe(bi(this.destroySubject)).subscribe(() => { 27208 let s = this.pcMenuItems.find((o) => o.nativeElement.id === r?.name)?.nativeElement.getBoundingClientRect(), n = Ui(this.item.menu?.parameters["active-scroll-horizontal"]) ? s.x : 0, a = Ui(this.item.menu?.parameters["active-scroll-vertical"]) ? s.y : 0; 27209 (n || a) && this.elementRef.nativeElement.querySelectorAll(".pc-menu-items")[0]?.scrollBy({ 27210 left: n, 27211 top: a, 27212 behavior: "smooth" 27213 }); 27214 }); 27215 } 27216 } 27217 } 27218 ngOnDestroy() { 27219 this.destroySubject.next(null), this.destroySubject.complete(); 27220 } 27221 findActiveChain(t, r) { 27222 for (let s of t) { 27223 if (s.url) { 27224 let n = this.urlService.parse(s.url); 27225 if (this.currentUrl === n.baseUrl() + n.path()) return [...r, s]; 27226 } 27227 if (s.children) { 27228 let n = this.findActiveChain(s.children, [...r, s]); 27229 if (n.length > 0) return n; 27230 } 27231 } 27232 return []; 27233 } 27234 }; 27235 return e.ɵfac = (() => { 27236 let i; 27237 return function(t) { 27238 return (i || (i = Fe(e)))(t || e); 27239 }; 27240 })(), e.ɵcmp = ge({ 27241 type: e, 27242 selectors: [["vn-pc-menu"]], 27243 viewQuery: function(i, t) { 27244 if (i & 1 && Ks(lb, 5, di), i & 2) { 27245 let r; 27246 Xs(r = js()) && (t.pcMenuItems = r); 27247 } 27248 }, 27249 hostVars: 2, 27250 hostBindings: function(i, t) { 27251 i & 2 && Le(t.class); 27252 }, 27253 features: [Dt], 27254 decls: 2, 27255 vars: 2, 27256 consts: [ 27257 [3, "item"], 27258 [1, "pc-menu-items"], 27259 [ 27260 3, 27261 "item", 27262 "section", 27263 "id" 27264 ] 27265 ], 27266 template: function(i, t) { 27267 i & 1 && (U(0, uH, 1, 1, "vn-pc-component-header-v2", 0), U(1, hH, 3, 0, "div", 1)), i & 2 && (W(t.item.title ? 0 : -1), P(), W(t.item.menu ? 1 : -1)); 27268 }, 27269 dependencies: [lb, pr], 27270 encapsulation: 2, 27271 changeDetection: 1 27272 }), e; 27273 })(), u$ = (() => { 27274 let e = class extends Rt { 27275 get class() { 27276 return this.createClass("pc-regional"); 27277 } 27278 }; 27279 return e.ɵfac = (() => { 27280 let i; 27281 return function(t) { 27282 return (i || (i = Fe(e)))(t || e); 27283 }; 27284 })(), e.ɵcmp = ge({ 27285 type: e, 27286 selectors: [["vn-pc-regional-component"]], 27287 hostVars: 2, 27288 hostBindings: function(i, t) { 27289 i & 2 && Le(t.class); 27290 }, 27291 features: [Dt], 27292 decls: 2, 27293 vars: 2, 27294 consts: [[3, "item"], [4, "vnPageMatrix"]], 27295 template: function(i, t) { 27296 i & 1 && (U(0, mH, 1, 1, "vn-pc-component-header-v2", 0), be(1, fH, 1, 0, "ng-container", 1)), i & 2 && (W(t.item.title ? 0 : -1), P(), $("vnPageMatrix", t.item.item)); 27297 }, 27298 dependencies: [pr, vs], 27299 encapsulation: 2, 27300 changeDetection: 1 27301 }), e; 27302 })(), p$ = (() => { 27303 let e = class extends Rt { 27304 get class() { 27305 return this.item.class; 27306 } 27307 }; 27308 return e.ɵfac = (() => { 27309 let i; 27310 return function(t) { 27311 return (i || (i = Fe(e)))(t || e); 27312 }; 27313 })(), e.ɵcmp = ge({ 27314 type: e, 27315 selectors: [["vn-pc-raw-text"]], 27316 hostVars: 1, 27317 hostBindings: function(i, t) { 27318 i & 2 && Qe("class", t.class); 27319 }, 27320 features: [Dt], 27321 decls: 1, 27322 vars: 1, 27323 consts: [[3, "vnDynamicHtml"]], 27324 template: function(i, t) { 27325 i & 1 && pe(0, "div", 0), i & 2 && $("vnDynamicHtml", t.item.text); 27326 }, 27327 dependencies: [Er], 27328 encapsulation: 2, 27329 changeDetection: 1 27330 }), e; 27331 })(), h$ = (() => { 27332 let e = class extends Rt { 27333 get class() { 27334 return this.item.class; 27335 } 27336 }; 27337 return e.ɵfac = (() => { 27338 let i; 27339 return function(t) { 27340 return (i || (i = Fe(e)))(t || e); 27341 }; 27342 })(), e.ɵcmp = ge({ 27343 type: e, 27344 selectors: [["vn-pc-raw-image"]], 27345 hostVars: 1, 27346 hostBindings: function(i, t) { 27347 i & 2 && Qe("class", t.class); 27348 }, 27349 features: [Dt], 27350 decls: 1, 27351 vars: 1, 27352 consts: [[ 27353 3, 27354 "src", 27355 "alt", 27356 "width", 27357 "height" 27358 ]], 27359 template: function(i, t) { 27360 i & 1 && U(0, gH, 1, 4, "vn-image", 0), i & 2 && W(t.item.image ? 0 : -1); 27361 }, 27362 dependencies: [Qy], 27363 encapsulation: 2, 27364 changeDetection: 1 27365 }), e; 27366 })(), m$ = (() => { 27367 let e = class extends Rt { 27368 constructor() { 27369 super(...arguments), this.swiperOptions = { 27370 pagination: !1, 27371 centeredSlides: !0 27372 }; 27373 } 27374 get class() { 27375 return this.createClass("pc-carousel"); 27376 } 27377 ngOnInit() { 27378 this.item.parameters && (this.swiperOptions.loop = !!Ui(this.item.parameters.loop), this.swiperOptions.autoplay = Ui(this.item.parameters.autoplay) ? { 27379 delay: Ur(this.item.parameters.interval || 3e3), 27380 disableOnInteraction: !1, 27381 stopOnLastSlide: !0, 27382 pauseOnMouseEnter: !!Ui(this.item.parameters.pauseOnHover) 27383 } : !1, this.swiperOptions.navigation = !!Ui(this.item.parameters.arrows), this.swiperOptions.pagination = !!Ui(this.item.parameters.dots), this.swiperOptions.slidesPerView = Ur(this.item.parameters.slidesPerView || 1
27383), this.swiperOptions.slidesPerGroup = this.slidesPerGroup(Number(this.item.parameters?.slidesPerGroup), this.item.items?.length || 0, this.swiperOptions.loop)), this.item.class && (this.swiperClass = `${this.item.class}`); 27384 } 27385 slidesPerGroup(t, r, s) { 27386 let n = Ur(t || 1); 27387 if (s) for (; r % n;) n--; 27388 return n; 27389 } 27390 }; 27391 return e.ɵfac = (() => { 27392 let i; 27393 return function(t) { 27394 return (i || (i = Fe(e)))(t || e); 27395 }; 27396 })(), e.ɵcmp = ge({ 27397 type: e, 27398 selectors: [["vn-pc-carousel"]], 27399 hostVars: 2, 27400 hostBindings: function(i, t) { 27401 i & 2 && Le(t.class); 27402 }, 27403 features: [Dt], 27404 decls: 4, 27405 vars: 6, 27406 consts: [ 27407 [ 27408 3, 27409 "swiperOptions", 27410 "swiperClass" 27411 ], 27412 [1, "swiper-slide"], 27413 [4, "vnPageMatrix"] 27414 ], 27415 template: function(i, t) { 27416 i & 1 && (ie(0, "vn-swiper", 0), Sr(1, SH, 2, 1, "div", 1, cA), Es(3, "slice"), te()), i & 2 && ($("swiperOptions", t.swiperOptions)("swiperClass", t.swiperClass), P(), fr(zb(3, 2, t.item.items, 0, t.item.maxItems))); 27417 }, 27418 dependencies: [ 27419 vs, 27420 Ia, 27421 Qb 27422 ], 27423 encapsulation: 2, 27424 changeDetection: 1 27425 }), e; 27426 })(), f$ = 3e3, g$ = (() => { 27427 let e = class extends Rt { 27428 constructor() { 27429 super(), this._doc = f(vi); 27430 } 27431 get class() { 27432 return this.createClass("pc-scrollmenu"); 27433 } 27434 ngOnInit() { 27435 let t = this.item.parameters?.navBarTopHeight, r = this.item.parameters?.menuTimeOut || f$; 27436 this.navBarTopHeight = Ur(t), this.menuTimeOut = Ur(r); 27437 } 27438 sectionChanged(t) { 27439 this.currentItem = t; 27440 } 27441 scrollStop() { 27442 this.currentItem = ""; 27443 } 27444 scrollTo(t) { 27445 this._doc.getElementById(t).scrollIntoView({ behavior: "smooth" }); 27446 } 27447 }; 27448 return e.ɵfac = function(i) { 27449 return new (i || e)(); 27450 }, e.ɵcmp = ge({ 27451 type: e, 27452 selectors: [["vn-pc-scrollmenu"]], 27453 hostVars: 2, 27454 hostBindings: function(i, t) { 27455 i & 2 && Le(t.class); 27456 }, 27457 features: [Dt], 27458 decls: 7, 27459 vars: 4, 27460 consts: [ 27461 [1, "pc-navscroll-menu"], 27462 [ 27463 "id", 27464 "pc-navscroll-menu-inner", 27465 1, 27466 "pc-navscroll-menu__inner" 27467 ], 27468 [ 27469 1, 27470 "pc-navscroll-menu__item", 27471 3, 27472 "ngClass" 27473 ], 27474 [ 27475 "vnScrollMenu", 27476 "", 27477 "id", 27478 "pc-scroll-menu-content", 27479 1, 27480 "pc-scroll-menu__content", 27481 3, 27482 "sectionChange", 27483 "scrollStop", 27484 "navBarTopHeight", 27485 "menuTimeOut" 27486 ], 27487 [ 27488 1, 27489 "pc-navscroll-menu__item", 27490 3, 27491 "click", 27492 "ngClass" 27493 ], 27494 [1, "pc-navscroll-menu__item-text"], 27495 [1, "pc-navscroll-menu__dot-wrapper"], 27496 [1, "pc-navscroll-menu__dot"], 27497 [4, "vnPageMatrix"] 27498 ], 27499 template: function(i, t) { 27500 i & 1 && (ie(0, "div", 0)(1, "div", 1), Sr(2, bH, 5, 4, "div", 2, t.trackByName, !0), te()(), ie(4, "div", 3), Ce("sectionChange", function(r) { 27501 return t.sectionChanged(r); 27502 })("scrollStop", function() { 27503 return t.scrollStop(); 27504 }), Sr(5, wH, 1, 1, "ng-container", null, t.trackByName, !0), te()), i & 2 && (Ws("visibility", t.currentItem ? "visible" : "hidden"), P(2), fr(t.item.menuItems), P(2), $("navBarTopHeight", t.navBarTopHeight)("menuTimeOut", t.menuTimeOut), P(), fr(t.item.items)); 27505 }, 27506 dependencies: [ 27507 XP, 27508 Hi, 27509 vs 27510 ], 27511 encapsulation: 2, 27512 changeDetection: 1 27513 }), e; 27514 })(), v$ = ["*"], S$ = (() => { 27515 let e = class { 27516 constructor() { 27517 this.elementRef = f(di), this.dslService = f(Zs), this.embeddableComponentsService = f(by), this.injector = f(ui), this.unsubscribe = new Xe(); 27518 } 27519 ngOnInit() { 27520 let t = this.elementRef.nativeElement, r = t.originalAttributes.get("data-content-filter"), s = t.originalAttributes.get("style") || "", n = t.originalHtmlString; 27521 this.elementRef.nativeElement.setAttribute("data-content-filter", r), this.dslService.evaluateExpression(r).pipe(bi(this.unsubscribe)).subscribe((a) => { 27522 this.dynamicHtml && this.dynamicHtml.destroy(), a ? (this.elementRef.nativeElement.setAttribute("style", s), this.dynamicHtml = this.embeddableComponentsService.createDynamicHtml(this.elementRef.nativeElement, this.injector, n)) : (this.elementRef.nativeElement.setAttribute("style", "display: none"), this.dynamicHtml = this.embeddableComponentsService.createDynamicHtml(this.elementRef.nativeElement, this.injector, "")); 27523 }); 27524 } 27525 ngDoCheck() { 27526 this.dynamicHtml && this.dynamicHtml.detectChanges(); 27527 } 27528 ngOnDestroy() { 27529 this.unsubscribe.next(), this.unsubscribe.complete(), this.dynamicHtml && this.dynamicHtml.destroy(); 27530 } 27531 }; 27532 return e.ɵfac = function(i) { 27533 return new (i || e)(); 27534 }, e.ɵcmp = ge({ 27535 type: e, 27536 selectors: [[ 27537 "", 27538 "data-content-filter", 27539 "" 27540 ]], 27541 ngContentSelectors: v$, 27542 decls: 1, 27543 vars: 0, 27544 template: function(i, t) { 27545 i & 1 && (_t(), Ye(0)); 27546 }, 27547 encapsulation: 2, 27548 changeDetection: 1 27549 }), e; 27550 })(), pb = (() => { 27551 let e = class { 27552 constructor() { 27553 this.pageMatrixService = f(wu), this.corePageMatrixService = f(Ay), this.embeddableComponentsService = f(by); 27554 } 27555 onFeatureInit() { 27556 this.embeddableComponentsService.registerEmbeddableComponent(ji, 100), this.embeddableComponentsService.registerEmbeddableComponent(S$, 100), this.pageMatrixService.registerComponent("pm1colpage", e$), this.pageMatrixService.registerComponent("pctext", t$), this.pageMatrixService.registerComponent("pc-text-with-header-bar", i$), this.pageMatrixService.registerComponent("pc-header-for-mpp-page", r$), this.pageMatrixService.registerComponent("pcimage", n$), this.pageMatrixService.registerComponent("pcimagetext", a$), this.pageMatrixService.registerComponent("pc teaser", o$), this.pageMatrixService.registerComponent("pccomponentfolder", c$), this.pageMatrixService.registerComponent("pcregionalcomponent", u$), this.pageMatrixService.registerComponent("pccontainer", l$), this.pageMatrixService.registerComponent("pc-toggle", s$), this.pageMatrixService.registerComponent("pc menu", d$), this.pageMatrixService.registerComponent("rawimage", h$), this.pageMatrixService.registerComponent("rawtext", p$), this.pageMatrixService.registerComponent("pccarousel", m$), this.pageMatrixService.registerComponent("pcvideo", ub), this.pageMatrixService.registerComponent("pcscrollmenu", g$), this.corePageMatrixService.set(this.pageMatrixService); 27557 } 27558 }; 27559 return e.ɵfac = function(i) { 27560 return new (i || e)(); 27561 }, e.ɵprov = R({ 27562 token: e, 27563 factory: e.ɵfac 27564 }), e; 27565 })(), b$ = class { 27566 constructor(e, i) { 27567 this.mql = e, this.src = i; 27568 } 27569 unsubscribe() { 27570 this.mql.removeEventListener(Kr.Change, this.listener); 27571 } 27572 subscribe(e) { 27573 this.listener = e, this.mql.addEventListener(Kr.Change, e); 27574 } 27575 }, y$ = (() => { 27576 var e; 27577 let i = class { 27578 constructor() { 27579 Zi(this, e), this.zone = f(qs), this.elementRef = f(di), this.renderer = f(Hr), this.page = f(Wr), this.log = f(lt), this.urlService = f(Un), this.platform = f(Ga), er(this, e, f(vt)); 27580 } 27581 ngOnInit() { 27582 this.init(); 27583 } 27584 ngOnChanges() { 27585 this.handlers && (this.unsubscribe(), this.init()); 27586 } 27587 ngOnDestroy() { 27588 this.unsubscribe(); 27589 } 27590 shouldIncludeWidth(r) { 27591 return this.vnProfilesWidth ? this.vnProfilesWidth > r : !0; 27592 } 27593 init() { 27594 if (this.handlers = [], !this.platform.isBrowser) { 27595 this.renderer.setAttribute(this.elementRef.nativeElement, "src", this.vnProfilesSrc); 27596 return; 27597 } 27598 let r = this.vnProfilesSet || "default", s = this.page.imageProfiles[r]; 27599 s || (this.log.warn(`Image profile set ${r} is not defined, using default.`), s = this.page.imageProfiles.default); 27600 let n = s?.widthBreakpoints.filter((a) => this.shouldIncludeWidth(a)).map((a) => { 27601 let o = this.urlService.parse(this.vnProfilesSrc); 27602 return o.search.set("p", `${s?.prefix}${a}`), {
27603 media: `(max-width: ${a}px)`, 27604 src: `${o.absUrl()}` 27605 }; 27606 }); 27607 if (this.handlers = [], n) { 27608 for (let a of n) { 27609 let o = new b$(At(this, e).matchMedia(a.media), a.src); 27610 o.subscribe(() => this.zone.run(() => this.setImage())), this.handlers.push(o); 27611 } 27612 this.setImage(); 27613 } 27614 } 27615 setImage() { 27616 let r = this.handlers.find((s) => s.mql.matches); 27617 r ? this.renderer.setAttribute(this.elementRef.nativeElement, "src", r.src) : this.renderer.setAttribute(this.elementRef.nativeElement, "src", this.vnProfilesSrc), this.vnProfilesWidth && this.renderer.setAttribute(this.elementRef.nativeElement, "width", `${this.vnProfilesWidth}`); 27618 } 27619 unsubscribe() { 27620 for (let r of this.handlers) r.unsubscribe(); 27621 this.handlers = []; 27622 } 27623 }; 27624 return e = /* @__PURE__ */ new WeakMap(), i.ɵfac = function(t) { 27625 return new (t || i)(); 27626 }, i.ɵdir = ci({ 27627 type: i, 27628 selectors: [[ 27629 "", 27630 "vnProfilesSrc", 27631 "" 27632 ]], 27633 inputs: { 27634 vnProfilesSrc: "vnProfilesSrc", 27635 vnProfilesWidth: "vnProfilesWidth", 27636 vnProfilesSet: "vnProfilesSet" 27637 }, 27638 features: [zn] 27639 }), i; 27640 })(), w$ = (() => { 27641 let e = class { 27642 constructor() { 27643 this.contentService = f(Ny), this.unsubscribe = new Xe(); 27644 } 27645 ngOnChanges() { 27646 this.setContent(); 27647 } 27648 ngOnDestroy() { 27649 this.unsubscribe.next(), this.unsubscribe.complete(); 27650 } 27651 setContent() { 27652 !this.content && !this.path || (this.content ? this.contentItem = this.content : this.path && this.contentService.getJsonFiltered(this.path, this.product).pipe(bi(this.unsubscribe)).subscribe((t) => { 27653 this.contentItem = t; 27654 let r = t.text?.replace(/\\+n/g, ""); 27655 r && (this.contentItem.text = r); 27656 })); 27657 } 27658 }; 27659 return e.ɵfac = function(i) { 27660 return new (i || e)(); 27661 }, e.ɵcmp = ge({ 27662 type: e, 27663 selectors: [["vn-page-matrix"]], 27664 hostVars: 2, 27665 hostBindings: function(i, t) { 27666 i & 2 && yt("page-matrix", !0); 27667 }, 27668 inputs: { 27669 path: "path", 27670 content: "content", 27671 product: "product" 27672 }, 27673 features: [zn], 27674 decls: 1, 27675 vars: 1, 27676 consts: [[4, "vnPageMatrix"]], 27677 template: function(i, t) { 27678 i & 1 && be(0, CH, 1, 0, "ng-container", 0), i & 2 && $("vnPageMatrix", t.contentItem); 27679 }, 27680 dependencies: [vs], 27681 encapsulation: 2, 27682 changeDetection: 1 27683 }), e; 27684 })(); 27685 })))(); 27686} 27687var C$; 27688function N$() { 27689 return (N$ = Z((() => { 27690 de(), Is(), C$ = (() => { 27691 let e = class { 27692 constructor() { 27693 this.vertical = Ne(!1), this.variant = Ne("on-surface-lowest"), this.inverse = Ne(!1), this.hostClass = ne(() => `ds-divider-${this.variant()}`); 27694 } 27695 getThemeableProperties() { 27696 return { 27697 variant: this.variant, 27698 inverse: this.inverse 27699 }; 27700 } 27701 }; 27702 return e.ɵfac = function(i) { 27703 return new (i || e)(); 27704 }, e.ɵcmp = ge({ 27705 type: e, 27706 selectors: [["ds-divider"]], 27707 hostAttrs: [1, "ds-divider"], 27708 hostVars: 6, 27709 hostBindings: function(i, t) { 27710 i & 2 && (Le(t.hostClass()), yt("ds-divider-vertical", t.vertical())("ds-divider-inverse", t.inverse())); 27711 }, 27712 inputs: { 27713 vertical: [1, "vertical"], 27714 variant: [1, "variant"], 27715 inverse: [1, "inverse"] 27716 }, 27717 outputs: { 27718 vertical: "verticalChange", 27719 variant: "variantChange", 27720 inverse: "inverseChange" 27721 }, 27722 features: [$i([{ 27723 provide: Nr, 27724 useExisting: e 27725 }])], 27726 decls: 0, 27727 vars: 0, 27728 template: function(i, t) {}, 27729 styles: [`.ds-divider{--%NS%ds-divider-on-surface-color-border: var(--%NS%semantic-color-on-surface-divider);--%NS%ds-divider-on-surface-high-color-border: var(--%NS%semantic-color-on-surface-container-high-divider);--%NS%ds-divider-on-surface-highest-color-border: var(--%NS%semantic-color-on-surface-container-highest-divider);--%NS%ds-divider-on-surface-low-color-border: var(--%NS%semantic-color-on-surface-container-low-divider);--%NS%ds-divider-on-surface-lowest-color-border: var(--%NS%semantic-color-on-surface-container-lowest-divider);--%NS%ds-divider-size-border: var(--%NS%semantic-size-xquarter);--%NS%divider-height: 0;--%NS%divider-width: 100%;box-sizing:border-box;display:flex;height:var(--%NS%divider-height);width:var(--%NS%divider-width)}.ds-divider.ds-divider-on-surface{border-top:var(--%NS%ds-divider-size-border) solid var(--%NS%ds-divider-on-surface-color-border)}.ds-divider.ds-divider-on-surface-lowest{border-top:var(--%NS%ds-divider-size-border) solid var(--%NS%ds-divider-custom-color-border, var(--%NS%ds-divider-on-surface-lowest-color-border))}.ds-divider.ds-divider-on-surface-high{border-top:var(--%NS%ds-divider-size-border) solid var(--%NS%ds-divider-on-surface-high-color-border)}.ds-divider.ds-divider-on-surface-low{border-top:var(--%NS%ds-divider-size-border) solid var(--%NS%ds-divider-on-surface-low-color-border)}.ds-divider.ds-divider-on-surface-highest{border-top:var(--%NS%ds-divider-size-border) solid var(--%NS%ds-divider-on-surface-highest-color-border)}.ds-divider.ds-divider-vertical{--%NS%divider-height: 100%;--%NS%divider-width: 0;border-top:none}.ds-divider.ds-divider-vertical.ds-divider-on-surface{border-left:var(--%NS%ds-divider-size-border) solid var(--%NS%ds-divider-on-surface-color-border)}.ds-divider.ds-divider-vertical.ds-divider-on-surface-lowest{border-left:var(--%NS%ds-divider-size-border) solid var(--%NS%ds-divider-custom-color-border, var(--%NS%ds-divider-on-surface-lowest-color-border))}.ds-divider.ds-divider-vertical.ds-divider-on-surface-high{border-left:var(--%NS%ds-divider-size-border) solid var(--%NS%ds-divider-on-surface-high-color-border)}.ds-divider.ds-divider-vertical.ds-divider-on-surface-low{border-left:var(--%NS%ds-divider-size-border) solid var(--%NS%ds-divider-on-surface-low-color-border)}.ds-divider.ds-divider-vertical.ds-divider-on-surface-highest{border-left:var(--%NS%ds-divider-size-border) solid var(--%NS%ds-divider-on-surface-highest-color-border)}.ds-divider.ds-divider-inverse{--%NS%ds-divider-on-surface-color-border: var(--%NS%semantic-color-on-surface-divider-inverse);--%NS%ds-divider-on-surface-high-color-border: var(--%NS%semantic-color-on-surface-container-high-divider-inverse);--%NS%ds-divider-on-surface-highest-color-border: var(--%NS%semantic-color-on-surface-container-highest-divider-inverse);--%NS%ds-divider-on-surface-low-color-border: var(--%NS%semantic-color-on-surface-container-low-divider-inverse);--%NS%ds-divider-on-surface-lowest-color-border: var(--%NS%semantic-color-on-surface-container-lowest-divider-inverse)} 27730`], 27731 encapsulation: 2 27732 }), e; 27733 })(); 27734 })))(); 27735} 27736var T$, hb, mb, Eu, k$, x$; 27737function I$() { 27738 return (I$ = Z((() => { 27739 de(), Ua(), Is(), qy(), T$ = ["labelContent"], hb = ["*"], mb = `.ds-radio-button{--%NS%ds-radio-radius-border: var(--%NS%semantic-radius-max);--%NS%ds-radio-size-min-tap-target: var(--%NS%semantic-size-x6);--%NS%ds-radio-space-inline: var(--%NS%semantic-spacing-inline-md);--%NS%ds-radio-active-color-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-radio-active-color-border: var(--%NS%semantic-color-utility-active);--%NS%ds-radio-active-color-label: var(--%NS%semantic-color-on-surface-base);--%NS%ds-radio-active-color-selected-indicator: var(--%NS%semantic-color-utility-active);--%NS%ds-radio-active-color-subtext: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-radio-disabled-color-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-radio-disabled-color-border: var(--%NS%semantic-color-disabled-base);--%NS%ds-radio-disabled-color-label: var(--%NS%semantic-color-disabled-base);--%NS%ds-radio-disabled-color-selected-indicator: var(--%NS%semantic-color-disabled-base);--%NS%ds-radio-disabled-color-subtext: var(--%NS%semantic-color-disabled-base);--%NS%ds-radio-enabled-color-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-radio-enabled-color-border: var(--%NS%semantic-color-utility-base);--%NS%ds-radio-enabled-color-label: var(--%NS%semantic-color-on-surface-base);--%NS%ds-radio-enabled-color-selected-indicator: var(--%NS%semantic-color-utility-base);--%NS%ds-radio-enabled-color-subtext: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-radio-hover-color-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-radio-hover-color-border: var(--%NS%semantic-color-utility-hover);--%NS%ds-radio-hover-color-label: var(--%NS%semantic-color-on-surface-base);--%NS%ds-radio-hover-color-selected-indicator: var(--%NS%semantic-color-utility-hover);--%NS%ds-radio-hover-color-subtext: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-radio-size-select-border-width: var(--%NS%semantic-size-xquarter);--%NS%ds-radio-size-select-min-height: var(--%NS%semantic-size-x4);--%NS%ds-radio-size-select-min-width: var(--%NS%semantic-size-x4);--%NS%ds-radio-size-selected-indicator: var(--%NS%semantic-size-x2);--%NS%ds-radio-space-inline: var(--%NS%semantic-spacing-inline-xs);--%NS%ds-radio-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-radio-space-padding-left: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-radio-space-padding-right: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-radio-space-padding-top: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-radio-space-stack: var(--%NS%semantic-spacing-stack-none);--%NS%ds-radio-border-radius: 50%;box-sizing:border-box;display:block;padding:var(--%NS%ds-radio-space-padding-top) var(--%NS%ds-radio-space-padding-right) var(--%NS%ds-radio-space-padding-bottom) var(--%NS%ds-radio-space-padding-left)}.ds-radio-button .ds-radio-button-input{--%NS%ds-local-radio-input-height: 1px;--%NS%ds-local-radio-input-width: 1px;border:0;clip:rect(0 0 0 0);clip-path:inset(100%);height:var(--%NS%ds-local-radio-input-height);margin:0;opacity:0;overflow:hidden;padding:0;pointer-events:none;position:absolute;white-space:nowrap;width:var(--%NS%ds-local-radio-input-width)}.ds-radio-button .ds-radio-button-input:focus-visible+.ds-radio-button-lever-wrapper .ds-radio-button-lever{--%NS%ds-radio-local-focus-outline-width: 2px;--%NS%ds-radio-local-focus-outline-style: solid;--%NS%ds-radio-local-focus-outline-color: #000000;--%NS%ds-radio-local-focus-shadow-width: 4px;--%NS%ds-radio-local-focus-shadow-color: #ffffff;--%NS%ds-radio-local-focus-outline-offset: 1px;outline:var(--%NS%ds-radio-local-focus-outline-width) var(--%NS%ds-radio-local-focus-outline-style) var(--%NS%ds-radio-local-focus-outline-color);outline-offset:var(--%NS%ds-radio-local-focus-outline-offset);box-shadow:0 0 0 var(--%NS%ds-radio-local-focus-shadow-width) var(--%NS%ds-radio-local-focus-shadow-color)}.ds-radio-button .ds-radio-button-lever-wrapper{align-items:center;display:flex;height:var(--%NS%ds-radio-size-min-tap-target);justify-content:center;width:var(--%NS%ds-radio-size-min-tap-target)}.ds-radio-button .ds-radio-button-lever{border:var(--%NS%ds-radio-size-select-border-width) solid var(--%NS%ds-radio-custom-color-border, var(--%NS%ds-radio-enabled-color-border));border-radius:var(--%NS%ds-radio-border-radius);box-sizing:border-box;height:var(--%NS%ds-radio-custom-size-select-min-height, var(--%NS%ds-radio-size-select-min-height));position:relative;transition:border-color .3s;width:var(--%NS%ds-radio-custom-size-select-min-width, var(--%NS%ds-radio-size-select-min-width))}@media(hover:hover){.ds-radio-button .ds-radio-button-lever:hover{border-color:var(--%NS%ds-radio-custom-hover-color-border, var(--%NS%ds-radio-hover-color-border))}}.ds-radio-button .ds-radio-button-lever:active{border-color:var(--%NS%ds-radio-custom-active-color-border, var(--%NS%ds-radio-active-color-border))}.ds-radio-button.ds-radio-no-label{--%NS%ds-radio-spacing-helper: 0;padding:var(--%NS%ds-radio-spacing-helper)}.ds-radio-button.ds-radio-no-label .ds-radio-button-wrapper{gap:var(--%NS%ds-radio-spacing-helper)}.ds-radio-button.ds-radio-selected .ds-radio-button-lever:after{background-color:var(--%NS%ds-radio-custom-color-selected-indicator, var(--%NS%ds-radio-enabled-color-selected-indicator));border-radius:var(--%NS%ds-radio-border-radius);box-sizing:unset;content:"";display:block;height:var(--%NS%ds-radio-custom-size-selected-indicator, var(--%NS%ds-radio-size-selected-indicator));left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--%NS%ds-radio-custom-size-selected-indicator, var(--%NS%ds-radio-size-selected-indicator))}@media(hover:hover){.ds-radio-button.ds-radio-selected .ds-radio-button-lever:hover:after{background-color:var(--%NS%ds-radio-custom-hover-color-selected-indicator, var(--%NS%ds-radio-hover-color-selected-indicator))}}.ds-radio-button.ds-radio-selected .ds-radio-button-lever:active:after{background-color:var(--%NS%ds-radio-custom-active-color-selected-indicator, var(--%NS%ds-radio-active-color-selected-indicator))}.ds-radio-button .ds-radio-button-wrapper{align-items:center;color:var(--%NS%ds-radio-enabled-color-label);cursor:pointer;display:flex;gap:var(--%NS%ds-radio-space-inline);margin-bottom:0;-webkit-user-select:none;user-select:none}@media(hover:hover){.ds-radio-button .ds-radio-button-wrapper:hover{color:var(--%NS%ds-radio-custom-hover-color-label, var(--%NS%ds-radio-hover-color-label))}}.ds-radio-button .ds-radio-button-wrapper:active{color:var(--%NS%ds-radio-custom-active-color-label, var(--%NS%ds-radio-active-color-label))}.ds-radio-button.ds-radio-label-left .ds-radio-button-wrapper{flex-direction:row-reverse;justify-content:space-between}.ds-radio-button.ds-radio-align-top .ds-radio-button-wrapper{align-items:flex-start}.ds-radio-button.ds-radio-disabled .ds-radio-button-input{background-color:var(--%NS%ds-radio-disabled-color-bg)}.ds-radio-button.ds-radio-disabled .ds-radio-button-lever{border-color:var(--%NS%ds-radio-custom-disabled-color-border, var(--%NS%ds-radio-disabled-color-border))}.ds-radio-button.ds-radio-disabled .ds-radio-button-wrapper{color:var(--%NS%ds-radio-disabled-color-label)}.ds-radio-button.ds-radio-disabled.ds-radio-selected .ds-radio-button-lever:after{background-color:var(--%NS%ds-radio-custom-disabled-color-selected-indicator, var(--%NS%ds-radio-disabled-color-selected-indicator))}.ds-radio-button.ds-radio-disabled.ds-radio-selected .ds-radio-button-wrapper{color:var(--%NS%ds-radio-disabled-color-label)}.ds-radio-button.ds-radio-unselected{--%NS%ds-radio-active-color-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-radio-active-color-border: var(--%NS%semantic-color-utility-active);--%NS%ds-radio-active-color-label: var(--%NS%semantic-color-on-surface-base);--%NS%ds-radio-active-color-subtext: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-radio-disabled-color-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-radio-disabled-color-border: var(--%NS%semantic-color-disabled-base);--%NS%ds-radio-disabled-color-label: var(--%NS%semantic-color-disabled-base);--%NS%ds-radio-disabled-color-subtext: var(--%NS%semantic-color-disabled-base);--%NS%ds-radio-enabled-color-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-radio-enabled-color-border: var(--%NS%semantic-color-utility-base);--%NS%ds-radio-enabled-color-label: var(--%NS%semantic-color-on-surface-base);--%NS%ds-radio-enabled-color-subtext: var(--%NS%semantic-color-on-surface-subtle);--%NS%ds-radio-hover-color-bg: var(--%NS%semantic-color-opacity-subtle-transparent);--%NS%ds-radio-hover-color-border: var(--%NS%semantic-color-utility-hover);--%NS%ds-radio-hover-color-label: var(--%NS%semantic-color-on-surface-base);--%NS%ds-radio-hover-color-subtext: var(--%NS%semantic-color-on-surface-subtle)}.ds-radio-button.ds-radio-large{--%NS%ds-radio-size-select-border-width: var(--%NS%semantic-size-xhalf);--%NS%ds-radio-size-select-min-height: var(--%NS%semantic-size-x6);--%NS%ds-radio-size-select-min-width: var(--%NS%semantic-size-x6);--%NS%ds-radio-size-selected-indicator: var(--%NS%semantic-size-x3);--%NS%ds-radio-space-inline: var(--%NS%semantic-spacing-inline-md);--%NS%ds-radio-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-lg);--%NS%ds-radio-space-padding-left: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-radio-space-padding-right: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-radio-space-padding-top: var(--%NS%semantic-spacing-container-padding-lg);--%NS%ds-radio-space-stack: var(--%NS%semantic-spacing-stack-xs);--%NS%ds-radio-fon
27739t-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-radio-font-size: var(--%NS%semantic-typography-label-lg-font-size);--%NS%ds-radio-font-weight: var(--%NS%semantic-typography-label-lg-font-weight);--%NS%ds-radio-line-height: var(--%NS%semantic-typography-label-lg-line-height);font-family:var(--%NS%ds-radio-font-family);font-size:var(--%NS%ds-radio-font-size);font-weight:var(--%NS%ds-radio-font-weight);line-height:var(--%NS%ds-radio-line-height)}.ds-radio-button.ds-radio-medium{--%NS%ds-radio-size-select-border-width: var(--%NS%semantic-size-xquarter);--%NS%ds-radio-size-select-min-height: var(--%NS%semantic-size-x4);--%NS%ds-radio-size-select-min-width: var(--%NS%semantic-size-x4);--%NS%ds-radio-size-selected-indicator: var(--%NS%semantic-size-x2);--%NS%ds-radio-space-inline: var(--%NS%semantic-spacing-inline-xs);--%NS%ds-radio-space-padding-bottom: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-radio-space-padding-left: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-radio-space-padding-right: var(--%NS%semantic-spacing-container-padding-xs);--%NS%ds-radio-space-padding-top: var(--%NS%semantic-spacing-container-padding-sm);--%NS%ds-radio-space-stack: var(--%NS%semantic-spacing-stack-none);--%NS%ds-radio-font-family: var(--%NS%semantic-typography-label-font-family, sans-serif);--%NS%ds-radio-font-size: var(--%NS%semantic-typography-label-md-font-size);--%NS%ds-radio-font-weight: var(--%NS%semantic-typography-label-md-font-weight);--%NS%ds-radio-line-height: var(--%NS%semantic-typography-label-md-line-height);font-family:var(--%NS%ds-radio-font-family);font-size:var(--%NS%ds-radio-font-size);font-weight:var(--%NS%ds-radio-font-weight);line-height:var(--%NS%ds-radio-line-height)} 27740`, Eu = (() => { 27741 let e = class { 27742 constructor() { 27743 this.labelContent = La("labelContent"), this.value = Ne(""), this.name = ce.required(), this.disabled = Ne(!1), this.size = Ne("large"), this.labelPosition = Ne("right"), this.alignment = Ne("center"), this.checked = Ne(!1), this.interactive = Ne(!0), this.id = ce(null), this.ariaLabel = ce(null), this.ariaLabelledby = ce(null), this.ariaDescribedby = ce(null), this.hostClass = ne(() => `ds-radio-button ${this.size() === "large" ? "ds-radio-large" : "ds-radio-medium"} ${this.labelPosition() === "left" ? "ds-radio-label-left" : ""} ${this.alignment() === "top" ? "ds-radio-align-top" : ""}`), Fy().toggleClass(() => !this.labelContent()?.nativeElement?.textContent?.trim(), "ds-radio-no-label"); 27744 } 27745 onInputChange() { 27746 !this.checked() && !this.disabled() && this.checked.set(!0); 27747 } 27748 registerOnInputChange(t) { 27749 this.onInputChange = t; 27750 } 27751 getThemeableProperties() { 27752 return { size: this.size }; 27753 } 27754 }; 27755 return e.ɵfac = function(i) { 27756 return new (i || e)(); 27757 }, e.ɵcmp = ge({ 27758 type: e, 27759 selectors: [["ds-radio-button"]], 27760 viewQuery: function(i, t) { 27761 i & 1 && Du(t.labelContent, T$, 5), i & 2 && Ba(); 27762 }, 27763 hostAttrs: [1, "ds-radio-button"], 27764 hostVars: 8, 27765 hostBindings: function(i, t) { 27766 i & 2 && (Le(t.hostClass()), yt("ds-radio-selected", t.checked())("ds-radio-unselected", !t.checked())("ds-radio-disabled", t.disabled())); 27767 }, 27768 inputs: { 27769 value: [1, "value"], 27770 name: [1, "name"], 27771 disabled: [1, "disabled"], 27772 size: [1, "size"], 27773 labelPosition: [1, "labelPosition"], 27774 alignment: [1, "alignment"], 27775 checked: [1, "checked"], 27776 interactive: [1, "interactive"], 27777 id: [1, "id"], 27778 ariaLabel: [1, "ariaLabel"], 27779 ariaLabelledby: [1, "ariaLabelledby"], 27780 ariaDescribedby: [1, "ariaDescribedby"] 27781 }, 27782 outputs: { 27783 value: "valueChange", 27784 disabled: "disabledChange", 27785 size: "sizeChange", 27786 labelPosition: "labelPositionChange", 27787 alignment: "alignmentChange", 27788 checked: "checkedChange", 27789 interactive: "interactiveChange" 27790 }, 27791 features: [$i([{ 27792 provide: Nr, 27793 useExisting: e 27794 }])], 27795 ngContentSelectors: hb, 27796 decls: 9, 27797 vars: 9, 27798 consts: [ 27799 ["input", ""], 27800 ["labelContent", ""], 27801 [1, "ds-radio-button-wrapper"], 27802 [ 27803 "type", 27804 "radio", 27805 1, 27806 "ds-radio-button-input", 27807 3, 27808 "change", 27809 "name", 27810 "value" 27811 ], 27812 [1, "ds-radio-button-lever-wrapper"], 27813 [1, "ds-radio-button-lever"], 27814 [1, "ds-radio-button-text-wrapper"], 27815 [1, "ds-radio-button-label-text"] 27816 ], 27817 template: function(i, t) { 27818 i & 1 && (_t(), Nt(0, "label", 2)(1, "input", 3, 0), Vb("change", function() { 27819 return t.onInputChange(); 27820 }), mt(), Nt(3, "div", 4), br(4, "span", 5), mt(), Nt(5, "div", 6)(6, "span", 7, 1), Ye(8), mt()()()), i & 2 && (P(), yl("name", t.name())("value", t.value()), Qe("id", t.id() || null)("checked", t.checked() ? "" : null)("disabled", t.disabled() ? "" : null)("inert", t.interactive() ? null : "")("aria-label", t.ariaLabel() || null)("aria-labelledby", t.ariaLabelledby() || null)("aria-describedby", t.ariaDescribedby() || null)); 27821 }, 27822 styles: [mb], 27823 encapsulation: 2 27824 }), e; 27825 })(), k$ = (() => { 27826 let e = class { 27827 constructor() { 27828 this.disabled = Ne(!1), this.value = Ne(""), this.size = Ne(null), this.labelPosition = Ne(null), this.alignment = Ne(null), this.radioButtons = Xb(Eu, { descendants: !0 }), this.onChange = () => {}, this.onTouched = () => {}, Gi(() => { 27829 this.radioButtons() && this.syncButtons(); 27830 }); 27831 } 27832 syncButtons() { 27833 let t = this.radioButtons(); 27834 if (!t) return; 27835 let r = this.size(), s = this.labelPosition(), n = this.alignment(), a = this.value(), o = this.disabled(); 27836 t.forEach((l) => { 27837 r != null && l.size.set(r), s != null && l.labelPosition.set(s), n != null && l.alignment.
27837set(n), l.checked.set(l.value() === a), l.disabled.set(o || l.disabled()); 27838 }); 27839 } 27840 selectButton(t) { 27841 !this.disabled() && !t.disabled() && this.radioButtons() && (this.radioButtons().forEach((r) => { 27842 r.checked.set(r === t); 27843 }), this.value.set(t.value()), this.onChange(this.value()), this.onTouched()); 27844 } 27845 ngAfterContentInit() { 27846 this.radioButtons() && (this.syncButtons(), this.radioButtons().forEach((t) => { 27847 t.registerOnInputChange(() => { 27848 this.selectButton(t); 27849 }); 27850 })); 27851 } 27852 writeValue(t) { 27853 this.value.set(t); 27854 } 27855 registerOnChange(t) { 27856 this.onChange = t; 27857 } 27858 registerOnTouched(t) { 27859 this.onTouched = t; 27860 } 27861 setDisabledState(t) { 27862 this.disabled.set(t); 27863 } 27864 getThemeableProperties() { 27865 return { size: this.size }; 27866 } 27867 }; 27868 return e.ɵfac = function(i) { 27869 return new (i || e)(); 27870 }, e.ɵcmp = ge({ 27871 type: e, 27872 selectors: [["ds-radio-group"]], 27873 contentQueries: function(i, t, r) { 27874 i & 1 && Lb(r, t.radioButtons, Eu, 5), i & 2 && Ba(); 27875 }, 27876 hostAttrs: ["role", "radiogroup"], 27877 inputs: { 27878 disabled: [1, "disabled"], 27879 value: [1, "value"], 27880 size: [1, "size"], 27881 labelPosition: [1, "labelPosition"], 27882 alignment: [1, "alignment"] 27883 }, 27884 outputs: { 27885 disabled: "disabledChange", 27886 value: "valueChange", 27887 size: "sizeChange", 27888 labelPosition: "labelPositionChange", 27889 alignment: "alignmentChange" 27890 }, 27891 features: [$i([{ 27892 provide: pM, 27893 useExisting: Fb(() => e), 27894 multi: !0 27895 }, { 27896 provide: Nr, 27897 useExisting: e 27898 }])], 27899 ngContentSelectors: hb, 27900 decls: 1, 27901 vars: 0, 27902 template: function(i, t) { 27903 i & 1 && (_t(), Ye(0)); 27904 }, 27905 styles: [mb], 27906 encapsulation: 2 27907 }), e; 27908 })(), x$ = (() => { 27909 let e = class {}; 27910 return e.ɵfac = function(i) { 27911 return new (i || e)(); 27912 }, e.ɵmod = Gn({ type: e }), e.ɵinj = Bn({}), e; 27913 })(); 27914 })))(); 27915} 27916var fb; 27917function gb() { 27918 return (gb = Z((() => { 27919 de(), my(), fb = (() => { 27920 let e = class { 27921 constructor() { 27922 this.sanitizer = f(fy); 27923 } 27924 transform(t) { 27925 return this.sanitizer.bypassSecurityTrustResourceUrl(t); 27926 } 27927 }; 27928 return e.ɵfac = function(i) { 27929 return new (i || e)(); 27930 }, e.ɵpipe = wl({ 27931 name: "trustAsResourceUrl", 27932 type: e, 27933 pure: !0 27934 }), e; 27935 })(); 27936 })))(); 27937} 27938function NH(e, i) { 27939 if (e & 1 && (br(0, "iframe", null, 0), Es(2, "trustAsResourceUrl")), e & 2) { 27940 let t = N(); 27941 Le(t.class), Qe("src", Vn(2, 3, t.url), Pb); 27942 } 27943} 27944function TH(e, i) { 27945 if (e & 1 && (br(0, "iframe", 3, 0), Es(2, "trustAsResourceUrl")), e & 2) { 27946 let t = N(); 27947 Le(t.class), Qe("src", Vn(2, 3, t.url), Pb); 27948 } 27949} 27950var O$, P$, $$, A$, _$, M$, R$; 27951function L$() { 27952 return (L$ = Z((() => { 27953 Re(), de(), Ke(), uy(), st(), gb(), O$ = "vn-glow-acknowledged-", P$ = 10, $$ = (() => { 27954 let e = class { 27955 constructor() { 27956 this.cookieService = f(yr), this.acknowledged = le(!1), this.isAcknowledged = this.acknowledged.asReadonly(); 27957 } 27958 watch(t) { 27959 this.type ??= t, this.acknowledged.set(!!this.cookieService.get(this.cookie)); 27960 } 27961 acknowledge() { 27962 if (!this.type || this.acknowledged()) return; 27963 let t = /* @__PURE__ */ new Date(); 27964 t.setFullYear(t.getFullYear() + P$), this.acknowledged.set(!0), this.cookieService.put(this.cookie, "1", { expires: t }); 27965 } 27966 get cookie() { 27967 return `${O$}${this.type}`; 27968 } 27969 }; 27970 return e.ɵfac = function(i) { 27971 return new (i || e)(); 27972 }, e.ɵprov = R({ 27973 token: e, 27974 factory: e.ɵfac 27975 }), e; 27976 })(), A$ = (() => { 27977 let e = class { 27978 constructor() { 27979 this.vnGlow = ce(!1), this.vnGlowEnabled = ce(!0), this.active = ne(() => this.vnGlowEnabled() && this.vnGlow()); 27980 } 27981 }; 27982 return e.ɵfac = function(i) { 27983 return new (i || e)(); 27984 }, e.ɵdir = ci({ 27985 type: e, 27986 selectors: [[ 27987 "", 27988 "vnGlow", 27989 "" 27990 ]], 27991 hostVars: 2, 27992 hostBindings: function(i, t) { 27993 i & 2 && yt("vn-glow-active", t.active()); 27994 }, 27995 inputs: { 27996 vnGlow: [1, "vnGlow"], 27997 vnGlowEnabled: [1, "vnGlowEnabled"] 27998 } 27999 }), e; 28000 })(), _$ = ["iframe"], M$ = (() => { 28001 var e; 28002 let i = class { 28003 constructor() { 28004 Zi(this, e), this.zone = f(qs), this.unsubscribe = new Xe(), this.iframeEvents = new Xe(), er(this, e, f(vt)); 28005 } 28006 get events() { 28007 return this.iframeEvents; 28008 } 28009 ngAfterViewInit() { 28010 this.zone.runOutsideAngular(() => Dn(At(this, e), "message").pipe(bi(this.unsubscribe)).subscribe((r) => { 28011 !r || !r.data || !r.origin || !this.origin?.startsWith(r.origin) || this.iframeEvents.next(r.data); 28012 })); 28013 } 28014 ngOnDestroy() { 28015 this.unsubscribe.next(), this.unsubscribe.complete(); 28016 } 28017 post(r) { 28018 this.iframe.nativeElement.contentWindow?.postMessage(r, this.origin); 28019 } 28020 }; 28021 return e = /* @__PURE__ */ new WeakMap(), i.ɵfac = function(t) { 28022 return new (t || i)(); 28023 }, i.ɵcmp = ge({ 28024 type: i, 28025 selectors: [["vn-iframe"]], 28026 viewQuery: function(t, r) { 28027 if (t & 1 && Ks(_$, 5), t & 2) { 28028 let s; 28029 Xs(s = js()) && (r.iframe = s.first); 28030 } 28031 }, 28032 inputs: { 28033 url: "url", 28034 origin: "origin", 28035 class: "class", 28036 allowPaymentAttr: "allowPaymentAttr" 28037 }, 28038 decls: 2, 28039 vars: 2, 28040 consts: [ 28041 ["iframe", ""], 28042 [3, "class"], 28043 [ 28044 "allow", 28045 "payment", 28046 3, 28047 "class" 28048 ], 28049 ["allow", "payment"] 28050 ], 28051 template: function(t, r) { 28052 t & 1 && (U(0, NH, 3, 5, "iframe", 1), U(1, TH, 3, 5, "iframe", 2)), t & 2 && (W(r.allowPaymentAttr ? -1 : 0), P(), W(r.allowPaymentAttr ? 1 : -1)); 28053 }, 28054 dependencies: [fb], 28055 encapsulation: 2, 28056 changeDetection: 1 28057 }), i; 28058 })(), R$ = (() => { 28059 let e = class { 28060 constructor() { 28061 this.util = f(py); 28062 } 28063 transform(t, ...r) { 28064 return this.util.format(t, ...r); 28065 } 28066 }; 28067 return e.ɵfac = function(i) { 28068 return new (i || e)(); 28069 }, e.ɵpipe = wl({ 28070 name: "format", 28071 type: e, 28072 pure: !0 28073 }), e; 28074 })(); 28075 })))(); 28076} 28077var B$; 28078function D$() { 28079 return (D$ = Z((() => { 28080 Re(), de(), Ke(), Cs(), B$ = (() => { 28081 var e; 28082 let i = class { 28083 constructor() { 28084 Zi(this, e), this.page = f(Wr), er(this, e, f(vt)), this.init(this.page.idleModeCaptureEnabled); 28085 } 28086 get activity() { 28087 return this.activityEvents; 28088 } 28089 init(r) { 28090 this.activityEvents || (this.activityEvents = Vi(Dn(At(this, e), "click", { capture: r }), Dn(At(this, e), "keypress", { capture: r }))); 28091 } 28092 whenIdle(r, s) { 28093 let n = new Xe(); 28094 return new Ln((a) => { 28095 let o = new Xe(), l = s?.additionalActivityEvent ? Vi(this.activityEvents, s.additionalActivityEvent, o) : Vi(this.activityEvents, o); 28096 a.add(l.pipe(Si(() => uA(r))).subscribe(() => a.next())), s?.watchForIdleAfterFirstActivity || o.next(); 28097 }).pipe(nA(n), sA()); 28098 } 28099 }; 28100 return e = /* @__PURE__ */ new WeakMap(), i.ɵfac = function(t) { 28101 return new (t || i)(); 28102 }, i.ɵprov = R({ 28103 token: i, 28104 factory: i.ɵfac, 28105 providedIn: "root" 28106 }), i; 28107 })(); 28108 })))(); 28109} 28110export { KS as $, f1 as $_, uT as $a, IC as $c, QL as $d, BE as $f, Qp as $g, Sh as $h, o2 as $i, RE as $l, pn as $m, dr as $n, rN as $o, am as $p, pk as $r, rd as $s, hS as $t, gm as $u, ab as A, w1 as A_, xg as Aa, qm as Ac, uf as Ad, UN as Af, aw as Ag, cc as Ah, v2 as Ai, VN as Al, nc as Am, AI as An, rT as Ao, n
28110B as Ap, ya as Ar, OE as As, mS as At, oB as Au, n1 as Av, AP as B, Ll as B_, bg as Ba, y0 as Bc, XE as Bd, AC as Bf, nh as Bg, LR as Bh, mi as Bi, ls as Bl, cn as Bm, Hv as Bn, JN as Bo, oC as Bp, pv as Br, Y0 as Bs, Y2 as Bt, BB as Bu, E$ as C, Dp as C_, AT as Ca, Jm as Cc, kE as Cd, mD as Cf, yw as Cg, Yw as Ch, f2 as Ci, I0 as Cl, da as Cm, LI as Cn, rg as Co, qf as Cp, vk as Cr, GN as Cs, pu as Ct, FC as Cu, r1 as Cv, Rt as D, Rp as D_, xd as Da, kN as Dc, LC as Dd, Ls as Df, fw as Dg, Rh as Dh, h2 as Di, lm as Dl, rs as Dm, qv as Dn, En as Do, hi as Dp, gk as Dr, M0 as Ds, TS as Dt, Or as Du, p1 as Dv, wu as E, Lp as E_, PT as Ea, oD as Ec, bd as Ed, vf as Ef, lw as Eg, _h as Eh, Xg as Ei, Fm as El, oa as Em, BI as En, lT as Eo, _c as Ep, Pd as Er, UC as Es, nl as Et, mf as Eu, xM as Ev, ib as F, a1 as F_, Cg as Fa, x0 as Fc, Xt as Fd, Cm as Ff, mw as Fg, ss as Fh, qT as Fi, Mf as Fl, pi as Fm, xI as Fn, tT as Fo, ni as Fp, rv as Fr, Zc as Fs, oO as Ft, WL as Fu, Zy as Fv, Pn as G, Pp as G_, fg as Ga, ga as Gc, md as Gd, _C as Gf, Z1 as Gg, St as Gh, Vg as Gi, iN as Gl, QR as Gm, wI as Gn, $r as Go, _B as Gp, mk as Gr, qC as Gs, j2 as Gt, hD as Gu, $P as H, o1 as H_, gg as Ha, GC as Hc, fn as Hd, hs as Hf, sh as Hg, Hw as Hh, Yg as Hi, CC as Hl, ln as Hm, Uv as Hn, yd as Ho, TC as Hp, ov as Hr, HN as Hs, U2 as Ht, ma as Hu, tb as I, h1 as I_, Ng as Ia, ef as Ic, D0 as Id, ps as If, nw as Ig, mn as Ih, ba as Ii, Ic as Il, JR as Im, kI as In, iT as Io, UB as Ip, gv as Ir, SB as Is, cF as It, d0 as Iu, e1 as Iv, JS as J, b1 as J_, hg as Ja, jc as Jc, zE as Jd, us as Jf, eh as Jg, $t as Jh, zg as Ji, J0 as Jl, oo as Jm, NI as Jn, Co as Jo, GL as Jp, Ki as Jr, cs as Js, oF as Jt, gf as Ju, QS as K, u1 as K_, XD as Ka, ai as Kc, DC as Kd, l0 as Kf, z1 as Kg, sc as Kh, t2 as Ki, Km as Kl, si as Km, Vv as Kn, Z0 as Ko, sN as Kp, uk as Kr, Um as Ks, nO as Kt, $o as Ku, rb as L, Xr as L_, Td as La, od as Lc, Fs as Ld, uN as Lf, sw as Lg, Mh as Lh, Do as Li, tf as Ll, As as Lm, II as Ln, ZN as Lo, gC as Lp, cv as Lr, Ym as Ls, tF as Lt, BC as Lu, nb as M, Bl as M_, kg as Ma, c0 as Mc, Xf as Md, _E as Mf, dw as Mg, mo as Mh, WT as Mi, $E as Ml, Ih as Mm, $I as Mn, eg as Mo, xE as Mp, lv as Mr, Tf as Ms, X2 as Mt, kf as Mu, Ep as Mv, kG as N, Op as N_, Tg as Na, ZB as Nc, nd as Nd, JC as Nf, vw as Ng, GR as Nh, YT as Ni, KC as Nl, is as Nm, OI as Nn, wd as No, CD as Np, uv as Nr, ki as Ns, W2 as Nt, Fc as Nu, xp as Nv, ml as O, Mp as O_, Ig as Oa, C0 as Oc, ld as Od, X0 as Of, gw as Og, hc as Oh, Jg as Oi, j0 as Ol, Jw as Om, Kv as On, aT as Oo, G0 as Op, fk as Or, hC as Os, Ia as Ot, zB as Ou, Ya as Ov, GP as P, Ja as P_, NT as Pa, FN as Pc, Gc as Pd, Wm as Pf, hw as Pg, ac as Ph, UT as Pi, Hm as Pl, dn as Pm, PI as Pn, Mo as Po, Nf as Pp, av as Pr, qB as Ps, Q2 as Pt, mN as Pu, l1 as Pv, yP as Q, sn as Q_, Ro as Qa, lC as Qc, CN as Qd, vm as Qf, th as Qg, ic as Qh, Jt as Qi, Zf as Ql, Ph as Qm, mI as Qn, LE as Qo, TE as Qp, dk as Qr, Mm as Qs, nu as Qt, PC as Qu, eb as R, $p as R_, kd as Ra, Uc as Rc, ZL as Rd, tC as Rf, VM as Rg, no as Rh, jg as Ri, Lm as Rl, ar as Rm, Yv as Rn, eT as Ro, bo as Rp, mv as Rr, xm as Rs, K2 as Rt, FE as Ru, fl as S, N1 as S_, Rg as Sa, Yf as Sc, zm as Sd, Pf as Sf, ch as Sg, WR as Sh, jT as Si, zN as Sl, os as Sm, FI as Sn, nT as So, EB as Sp, Qx as Sr, W0 as Ss, xS as St, fd as Su, mp as Sv, w$ as T, Bp as T_, $T as Ta, bn as Tc, UL as Td, um as Tf, ow as Tg, Kw as Th, qg as Ti, rf as Tl, kc as Tm, RI as Tn, sT as To, $m as Tp, Sv as Tr, sf as Ts, HO as Tt, GE as Tu, Fl as Tv, Su as U, kp as U_, vg as Ua, om as Uc, jL as Ud, pN as Uf, rh as Ug, Mi as Uh, e2 as Ui, $B as Ul, Oh as Um, gI as Un, nt as Uo, Bm as Up, Od as Ur, IB as Us, lF as Ut, bN as Uu, pl as V, Np as V_, yg as Va, mB as Vc, yf as Vd, Sm as Vf, Xn as Vg, Vw as Vh, KT as Vi, Q0 as Vl, Et as Vm, EI as Vn, TD as Vo, $c as Vp, hv as Vr, yC as Vs, xa as Vt, iD as Vu, hl as W, g1 as W_, mg as Wa, uC as Wc, u0 as Wd, iC as Wf, ew as Wg, RR as Wh, Ug as Wi, v0 as Wl, Ti as Wm, vI as Wn, _o as Wo, YN as Wp, Fo as Wr, AE as Ws, J2 as Wt, qL as Wu, OP as X, y1 as X_, pg as Xa, $0 as Xc, B0 as Xd, ud as Xf, Zp as Xg, zw as Xh, LT as Xi, pa as Xl, Xw as Xm, jv as Xn, AB as Xo, sm as Xp, S2 as Xr, k0 as Xs, uF as Xt, cN as Xu, YS as Y, tn as Y_, gT as Ya, uB as Yc, hf as Yd, dN as Yf, Q1 as Yg, Ni as Yh, Hg as Yi, EC as Yl, ts as Ym, SI as Yn, jN as Yo, NE as Yp, dv as Yr, _N as Ys, dF as Yt, Sn as Yu, US as Z, wp as Z_, ug as Za, km as Zc, wo as Zd, $C as Zf, B1 as Zg, _e as Zh, r2 as Zi, PB as Zl, tE as Zm, Wv as Zn, S0 as Zo, zL as Zp, qi as Zr, Zm as Zs, V2 as Zt, eC as Zu, y$ as _, P1 as __, Pg as _a, lr as _c, ED as _d, DB as _f, Wl as _g, fo as _h, ek as _i, Ff as _l, BL as _m, GI as _n, ag as _o, id as _p, Dv as _r, w0 as _s, AS as _t, gn as _u, TM as _v, A$ as a, Yp as a_, d2 as aa, Ac as ac, JL as ad, HL as af, gh as ag, Kt as ah, lk as ai, wn as al, Nc as am, Zv as an, MD as ao, KL as ap, cI as ar, vB as as, IP as at, P0 as au, Ip as av, pr as b, A1 as b_, $g as ba, N0 as bc, Yc as bd, wN as bf, lh as bg, jR as bh, QT as bi, Pr as bl, _s as bm, Jv as bn, cT as bo, ON as bp, Rv as br, va as bs, al as bt, nC as bu, Ka as bv, fb as c, Jr as c_, Bo as ca, qN as cc, vD as cd, hd as cf, mh as cg, Ue as ch, sk as ci, F0 as cl, dt as cm, _2 as cn, xD as co, uD as cp, aI as cr, a0 as cs, XS as ct, nf as cu, Xa as cv, x$ as d, FM as d_, Fg as da, Wc as dc, ut as dd, df, uh as dg, ra as dh, rk as di, yD as dl, DL as dm, JI as dn, dg as do, Ds as dp, Kd as dr, h0 as ds, GS as dt, JB as du, gp as dv, Za as e_, Ze as ea, Lc as ec, hm as ed, Sd as ef, fh as eg, ia as eh, b2 as ei, xc as el, VL as em, eF as en, PD as eo, mm as ep, hI as er, Vc as es, On as et, QC as eu, hp as ev, I$ as f, $1 as f_, Bg as fa, vn as fc, z0 as fd, rC as ff, jl as fg, UR as fh, Id as fi, JE as fl, So as fm, QI as fn, ID as fo, lD as fp, rI as fr, Tm as fs, bP as ft, MN as fu, fp as fv, pb as g, C1 as g_, Mg as ga, lN as gc, Rf as gd, lf as gf, Nw as gg, VR as gh, ZT as gi, cB as gl, as as gm, zI as gn, Ed as go, Om as gp, Zx as gr, NN as g
28110s, hu as gt, eD as gu, IM as gv, N$ as h, O1 as h_, Ag as ha, qE as hc, sB as hd, Em as hf, Ul as hg, jw as hh, tk as hi, fC as hl, EE as hm, XI as hn, Cd as ho, Xm as hp, jd as hr, Jc as hs, $S as ht, zc as hu, Dl as hv, $$ as i, _1 as i_, ct as ia, dC as ic, EN as id, hN as if, vh as ig, Ah as ih, ck as ii, H0 as il, ae as im, eS as in, _D as io, SN as ip, lI as ir, E0 as is, dl as it, XN as iu, qa as iv, yu as j, E1 as j_, Sa as ja, Im as jc, QB as jd, OB as jf, cw as jg, dc as jh, Kg as ji, xB as jl, xr as jm, _I as jn, tg as jo, Lf as jp, nv as jr, ND as js, Z2 as jt, n0 as ju, m1 as jv, $a as k, Ap as k_, xT as ka, bB as kc, DE as kd, wC as kf, uw as kg, hn as kh, p2 as ki, bC as kl, ns as km, Xv as kn, ig as ko, nD as kp, zo as kr, aB as ks, lu as kt, mC as ku, t1 as kv, gb as l, Hl as l_, Gg as la, VE as lc, pm as ld, RC as lf, Yl as lg, qw as lh, ak as li, zs as ll, em as lm, A2 as ln, Lo as lo, Po as lp, zv as lr, qt as ls, vu as lt, pC as lu, vp as lv, C$ as m, I1 as m_, Dg as ma, ko as mc, iB as md, MC as mf, WM as mg, HR as mh, ik as mi, GB as ml, mc as mm, qI as mn, Nd as mo, yB as mp, O2 as mr, Ef as ms, VS as mt, sd as mu, i1 as mv, B$ as n, Xp as n_, l2 as na, hB as nc, L0 as nd, bf as nf, ph as ng, ao as nh, hk as ni, dd as nl, FL as nm, aO as nn, AD as no, tD as np, uI as nr, Qc as ns, TP as nt, xC as nu, qn as nv, L$ as o, DM as o_, zT as oa, kC as oc, $f as od, sC as of, wh as og, YR as oh, Zg as oi, PN as ol, ca as om, tS as on, RD as oo, If as op, oI as or, Vm as os, qS as ot, HE as ou, c1 as ov, Eu as p, Hp as p_, MT as pa, OC as pc, sD as pd, cf as pf, V as pg, ta as ph, xi as pi, wf as pl, Cc as pm, KI as pn, OD as po, xN as pp, sI as pr, wD as ps, HS as pt, Rm as pu, bp as pv, ZS as q, en as q_, qD as qa, vC as qc, Nm as qd, of as qf, J1 as qg, Ci as qh, ZD as qi, Rs as ql, XR as qm, CI as qn, NC as qo, Hc as qp, fv as qr, cm as qs, H2 as qt, KE as qu, R$ as r, Jp as r_, Gs as ra, Gm as rc, qc as rd, ha as rf, wi as rg, Qw as rh, iv as ri, Bs as rl, Ec as rm, q2 as rn, og as ro, yo as rp, Gv as rr, TN as rs, kP as rt, No as ru, Sp as rv, M$ as s, BM as s_, c2 as sa, Dm as sc, vd as sd, o0 as sf, hh as sg, pc as sh, nk as si, Eo as sl, gc as sm, tO as sn, cg as so, gd as sp, nI as sr, Mc as ss, PP as st, aN as su, ja as sv, D$ as t, eo as t_, Wg as ta, Kc as tc, FB as td, SD as tf, yh as tg, ea as th, vv as ti, oN as tl, CE as tm, pF as tn, $D as to, LB as tp, pI as tr, jB as ts, ul as tt, jm as tu, v1 as tv, k$ as u, Wp as u_, a2 as ua, nN as uc, Sf as ud, ad as uf, bh as ug, Ww as uh, ok as ui, eB as ul, _L as um, eO as un, Mt as uo, ff as up, Fv as ur, tB as us, gu as ut, ds as uu, NM as uv, EH as v, T1 as v_, _T as va, fa as vc, Cf as vd, rD as vf, dh as vg, lc as vh, JT as vi, _m as vl, RL as vm, Xd as vn, sg as vo, Ir as vp, x2 as vr, gB as vs, OS as vt, vN as vu, Gl as vv, vs as w, nn as w_, Og as wa, Pm as wc, cC as wd, pd as wf, pw as wg, xt as wh, u2 as wi, TB as wl, k as wm, MI as wn, oT as wo, Qm as wp, bv as wr, kB as ws, kS as wt, Oo as wu, kM as wv, ub as x, Up as x_, _g as xa, wB as xc, pB as xd, XL as xf, ww as xg, uc as xh, XT as xi, U0 as xl, im as xm, DI as xn, dT as xo, T0 as xp, Ak as xr, ua as xs, IS as xt, p0 as xu, rn as xv, ob as y, k1 as y_, Lg as ya, IN as yc, V0 as yd, xo as yf, Sw as yg, sa as yh, Qg as yi, aC as yl, go as ym, ur as yn, ng as yo, yn as yp, Xx as yr, PE as ys, PS as yt, YL as yu, Os as yv, LP as z, S1 as z_, wT as za, Xc as zc, bD as zd, Hf as zf, ah as zg, Gw as zh, m2 as zi, To as zl, DR as zm, TI as zn, QN as zo, dB as zp, sv as zr, bm as zs, Mr as zt, pf as zu }; 28111 28112//# sourceMappingURL=chunk-cqx9un6o.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.