PageSourceSearch

https://listamusical.com/assets/main_gLmvPHTq.js

js listamusical.com collected 2026-10-07 15:47:55 UTC 4,803 bytes, 140 lines download raw bytes

1(function polyfill() {
2  const relList = document.createElement("link").relList;
3  if (relList && relList.supports && relList.supports("modulepreload")) {
4    return;
5  }
6  for (const link of document.querySelectorAll('link[rel="modulepreload"]')) {
7    processPreload(link);
8  }
9  new MutationObserver((mutations) => {
10    for (const mutation of mutations) {
11      if (mutation.type !== "childList") {
12        continue;
13      }
14      for (const node of mutation.addedNodes) {
15        if (node.tagName === "LINK" && node.rel === "modulepreload")
16          processPreload(node);
17      }
18    }
19  }).observe(document, { childList: true, subtree: true });
20  function getFetchOpts(link) {
21    const fetchOpts = {};
22    if (link.integrity) fetchOpts.integrity = link.integrity;
23    if (link.referrerPolicy) fetchOpts.referrerPolicy = link.referrerPolicy;
24    if (link.crossOrigin === "use-credentials")
25      fetchOpts.credentials = "include";
26    else if (link.crossOrigin === "anonymous") fetchOpts.credentials = "omit";
27    else fetchOpts.credentials = "same-origin";
28    return fetchOpts;
29  }
30  function processPreload(link) {
31    if (link.ep)
32      return;
33    link.ep = true;
34    const fetchOpts = getFetchOpts(link);
35    fetch(link.href, fetchOpts);
36  }
37})();
38(function() {
39  var ageGate = document.getElementById("age-gate");
40  var cookieBanner = document.getElementById("cookie-banner");
41  var ageVerified = false;
42  var cookieAccepted = false;
43  var cookieRejected = false;
44  try {
45    ageVerified = sessionStorage.getItem("age-verified") === "1";
46    cookieAccepted = localStorage.getItem("cookie-accepted") === "1";
47    cookieRejected = localStorage.getItem("cookie-rejected") === "1";
48  } catch (e) {
49  }
50  if (ageGate && !ageVerified) {
51    ageGate.classList.add("active");
52  }
53  document.querySelectorAll('[data-age-gate="confirm"]').forEach(function(btn) {
54    btn.addEventListener("click", function() {
55      try {
56        sessionStorage.setItem("age-verified", "1");
57      } catch (e) {
58      }
59      if (ageGate) ageGate.classList.remove("active");
60      maybeShowCookies();
61    });
62  });
63  document.querySelectorAll('[data-age-gate="decline"]').forEach(function(btn) {
64    btn.addEventListener("click", function() {
65      window.location.href = "https://www.joueurs-info-service.fr/";
66    });
67  });
68  function maybeShowCookies() {
69    if (!cookieAccepted && !cookieRejected && cookieBanner) {
70      cookieBanner.classList.add("active");
71    }
72  }
73  if (ageVerified) {
74    maybeShowCookies();
75  }
76  var acceptBtn = document.getElementById("cookie-accept");
77  var rejectBtn = document.getElementById("cookie-reject");
78  if (acceptBtn) {
79    acceptBtn.addEventListener("click", function() {
80      try {
81        localStorage.setItem("cookie-accepted", "1");
82        localStorage.removeItem("cookie-rejected");
83      } catch (e) {
84      }
85      if (cookieBanner) cookieBanner.classList.remove("active");
86    });
87  }
88  if (rejectBtn) {
89    rejectBtn.addEventListener("click", function() {
90      try {
91        localStorage.setItem("cookie-rejected", "1");
92        localStorage.removeItem("cookie-accepted");
93      } catch (e) {
94      }
95      if (cookieBanner) cookieBanner.classList.remove("active");
96    });
97  }
98  document.querySelectorAll("[data-manage-cookies]").forEach(function(el) {
99    el.addEventListener("click", function(ev) {
100      ev.preventDefault();
101      try {
102        localStorage.removeItem("cookie-accepted");
103        localStorage.removeItem("cookie-rejected");
104      } catch (e) {
105      }
106      if (cookieBanner) cookieBanner.classList.add("active");
107    });
108  });
109  var moreBtn = document.getElementById("nav-more-btn");
110  var overflow = document.getElementById("nav-overflow");
111  if (moreBtn && overflow) {
112    moreBtn.addEventListener("click", function() {
113      overflow.classList.toggle("open");
114    });
115    document.addEventListener("click", function(ev) {
116      if (!overflow.contains(ev.target) && !moreBtn.contains(ev.target)) {
117        overflow.classList.remove("open");
118      }
119    });
120  }
121  var form = document.getElementById("contact-form");
122  if (form) {
123    form.addEventListener("submit", function(ev) {
124      ev.preventDefault();
125      var email = document.getElementById("contact-email");
126      var message = document.getElementById("contact-message");
127      var error = document.getElementById("email-error");
128      var success = document.getElementById("form-success");
129      var valid = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email && email.value || "");
130      if (!valid) {
131        if (error) error.classList.add("visible");
132        return;
133      }
134      if (error) error.classList.remove("visible");
135      if (!message || !message.value.trim()) return;
136      form.style.display = "none";
137      if (success) success.classList.add("visible");
138    });
139  }
140})();

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.