Apache
tcp/443 tcp/80
cloudflare
tcp/443 tcp/80 tcp/8443
The following URL (usually /.git/config) is publicly accessible and is leaking source code and repository configuration.
Severity: medium
Fingerprint: 2580fa947178c88602b1737db148c044b81b03713d63bb82370a6522182a928f
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = git@github.com:IndieTechOU/sg-prod.git fetch = +refs/heads/*:refs/remotes/origin/* [pull] rebase = false
The following URL (usually /.git/config) is publicly accessible and is leaking source code and repository configuration.
Severity: medium
Fingerprint: 2580fa947178c88602b1737db148c044b81b03713d63bb82370a6522182a928f
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = git@github.com:IndieTechOU/sg-prod.git fetch = +refs/heads/*:refs/remotes/origin/* [pull] rebase = false
The following URL (usually /.git/config) is publicly accessible and is leaking source code and repository configuration.
Severity: medium
Fingerprint: 2580fa947178c88602b1737db148c044b81b03713d63bb82370a6522182a928f
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = git@github.com:IndieTechOU/sg-prod.git fetch = +refs/heads/*:refs/remotes/origin/* [pull] rebase = false
The following URL (usually /.git/config) is publicly accessible and is leaking source code and repository configuration.
Severity: medium
Fingerprint: 2580fa947178c88602b1737db148c044b81b03713d63bb82370a6522182a928f
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = git@github.com:IndieTechOU/sg-prod.git fetch = +refs/heads/*:refs/remotes/origin/* [pull] rebase = false
Open service 3.140.121.45:443 · www.playlistforyou.com
2026-01-10 01:15
HTTP/1.1 301 Moved Permanently Date: Sat, 10 Jan 2026 01:15:59 GMT Server: Apache cf-edge-cache: cache,platform=wordpress X-Redirect-By: WordPress Location: https://playlistforyou.com/ X-activeview: multisite Content-Length: 0 Connection: close Content-Type: text/html; charset=UTF-8
Open service 3.140.121.45:80 · playlistforyou.com
2026-01-09 22:48
HTTP/1.1 301 Moved Permanently Date: Fri, 09 Jan 2026 22:49:21 GMT Server: Apache cf-edge-cache: cache,platform=wordpress X-Redirect-By: WordPress Location: https://playlistforyou.com/ X-activeview: multisite Content-Length: 0 Connection: close Content-Type: text/html; charset=UTF-8
Open service 3.140.121.45:443 · www.playlistforyou.com
2026-01-02 18:17
HTTP/1.1 301 Moved Permanently Date: Fri, 02 Jan 2026 18:17:16 GMT Server: Apache cf-edge-cache: cache,platform=wordpress X-Redirect-By: WordPress Location: https://playlistforyou.com/ X-activeview: multisite Content-Length: 0 Connection: close Content-Type: text/html; charset=UTF-8
Open service 3.140.121.45:80 · playlistforyou.com
2025-12-30 12:11
HTTP/1.1 301 Moved Permanently Date: Tue, 30 Dec 2025 12:11:55 GMT Server: Apache cf-edge-cache: cache,platform=wordpress X-Redirect-By: WordPress Location: https://playlistforyou.com/ X-activeview: multisite Content-Length: 0 Connection: close Content-Type: text/html; charset=UTF-8
Open service 104.21.10.110:80 · app.playlistforyou.com
2025-12-30 00:38
HTTP/1.1 301 Moved Permanently
Date: Tue, 30 Dec 2025 00:38:48 GMT
Content-Length: 0
Connection: close
Location: https://app.playlistforyou.com/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=4IcvYQqvN8uEPfiF1%2BNV8LJcoT%2BsOMJemrLcEvuX5dNAw9%2BW64e53hRx4UgS0SNSDPxsszIVY3iisLXqQGk2xiHTlxFwXGAO2wYSUloZVSfHyIovU%2FA%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=9,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b5d79fc2ce0c68c-SJC
alt-svc: h3=":443"; ma=86400
Open service 172.67.190.32:80 · app.playlistforyou.com
2025-12-30 00:38
HTTP/1.1 301 Moved Permanently
Date: Tue, 30 Dec 2025 00:38:48 GMT
Content-Length: 0
Connection: close
Location: https://app.playlistforyou.com/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=mpIznKqyNf4AVs6g9Gfovospf%2FxGxO%2Fhow4XwsAz0PnRdDV6pS%2BL9z7judP3Uj%2BjpHe8yK4NQkUiz25m396qJ81msTtVct670osCPxwG2k30LwkLE3w%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=13,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b5d79fbfec17cab-EWR
alt-svc: h3=":443"; ma=86400
Open service 172.67.190.32:443 · app.playlistforyou.com
2025-12-30 00:38
HTTP/1.1 200 OK
Date: Tue, 30 Dec 2025 00:38:49 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b5d79fc3a924332-EWR
CF-Cache-Status: HIT
Accept-Ranges: bytes
Age: 564485
Cache-Control: max-age=120
Last-Modified: Tue, 23 Dec 2025 11:50:43 GMT
Server: cloudflare
Vary: Accept-Encoding
Via: 1.1 heroku-router
Cross-Origin-Opener-Policy: same-origin
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766490643"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766490643"
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
cf-apo-via: origin,host
Server-Timing: cfCacheStatus;desc="HIT"
Server-Timing: cfEdge;dur=27,cfOrigin;dur=0
alt-svc: h3=":443"; ma=86400
Page title:
Playlistforyou (ES-US) - Home Page
<!DOCTYPE html>
<html lang="es-es">
<!-- #### AJUSTAR LANG CONFORME SITE #### -->
<!-- ### DEBUG DJANGO CSS INLINE ### -->
<head>
<!-- Adding MAB script to pass MAB information as custom parameters, before GTM loads, so GTM can access it -->
<script>
function formatMabCookieName(mabId) {
return `mab_${mabId}_variant`;
}
function formatMabCookieValue(variantId, mabSeen) {
let mabCookieValue = variantId;
if (mabSeen) {
mabCookieValue += 's';
}
return mabCookieValue;
}
function getMabSeenCookie(mabId) {
return `m${mabId}_seen=true`;
}
function getMabCookieValue(mabId) {
let name = `mab_${mabId}_variant` + "=";
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(';');
for(let i = 0; i <ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkMabSeenCookie(mabId) {
let mabSeenCookie = getMabSeenCookie(mabId);
// Check if this MAB has ever been seen before
let mabSeen = false;
if (document.cookie.includes(mabSeenCookie)) {
mabSeen = true;
}
return mabSeen;
}
function setMabSeenCookie(mabId, topDomain) {
let mabSeenCookie = getMabSeenCookie(mabId);
document.cookie = `${mabSeenCookie}; path=/; domain=${topDomain}; max-age=31536000`;
}
function setMabCookie(mabId, variantValue, topDomain) {
let mabCookieName = formatMabCookieName(mabId);
let mabCookie = `${mabCookieName}=${variantValue}`;
// Set or override the MAB cookie
document.cookie = `${mabCookie}; path=/; domain=${topDomain}; max-age=1800`;
return mabCookie;
}
function getTopLevelDomain(url = null) {
let hostname;
if (url) {
// Check if the url is a string or a URL object
if (typeof url === 'string') {
hostname = new URL(url).hostname;
} else if (url instanceof URL) {
hostname = url.hostname;
} else {
throw new Error('Invalid URL parameter. It must be a string or a URL object.');
}
} else {
hostname = window.location.hostname;
}
const parts = hostname.split('.');
// Ensure there are at least two parts for a valid TLD extraction
if (parts.length > 1) {
const topDomain = parts.slice(-2).join('.');
return topDomain;
}
return hostname; // For cases like 'localhost' where there is no TLD
}
</script>
<script>
function addGetParams(url, paramsDict) {
if (!url) {
return url;
}
if (Object.keys(paramsDict).length === 0) {
return url;
}
const parsedUrl = new URL(url);
const mergedParams = new URLSearchParams(parsedUrl.search);
for (const [key, value] of Object.entries(paramsDict)) {
mergedParams.append(key, value);
}
const encodedParams = mergedParams.toString();
const newUrl = `${parsedUrl.origin}${parsedUrl.pathname}?${encodedParams}`;
return newUrl;
}
</script>
<script>
window.dataLayer = window.dataLayer || [];
</script>
<script>
function getMabStr(mabCookie) {
// TODO: unify match below with three groups
const mabIdMatch = mabCookie.match(/mab_(\d+)_variant=\d+/);
const variantMatch = mabCookie.match(/mab_\d+_variant=(\d+)(s?)/);
if (!mabIdMatch || !variantMatch) {
return ""; // Return an empty string or handle the error as needed
}
const mabId = mabIdMatch[1];
const variantId = variantMatch[1];
const sSuffix = variantMatch[2];
Open service 172.67.190.32:8443 · app.playlistforyou.com
2025-12-30 00:38
HTTP/1.1 200 OK
Date: Tue, 30 Dec 2025 00:38:49 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b5d79fcac05227d-EWR
CF-Cache-Status: HIT
Accept-Ranges: bytes
Age: 564485
Cache-Control: max-age=120
Last-Modified: Tue, 23 Dec 2025 11:50:43 GMT
Server: cloudflare
Vary: Accept-Encoding
Via: 1.1 heroku-router
Cross-Origin-Opener-Policy: same-origin
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766490643"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766490643"
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
cf-apo-via: origin,host
Server-Timing: cfCacheStatus;desc="HIT"
Server-Timing: cfEdge;dur=36,cfOrigin;dur=0
alt-svc: h3=":8443"; ma=86400
Page title:
Playlistforyou (ES-US) - Home Page
<!DOCTYPE html>
<html lang="es-es">
<!-- #### AJUSTAR LANG CONFORME SITE #### -->
<!-- ### DEBUG DJANGO CSS INLINE ### -->
<head>
<!-- Adding MAB script to pass MAB information as custom parameters, before GTM loads, so GTM can access it -->
<script>
function formatMabCookieName(mabId) {
return `mab_${mabId}_variant`;
}
function formatMabCookieValue(variantId, mabSeen) {
let mabCookieValue = variantId;
if (mabSeen) {
mabCookieValue += 's';
}
return mabCookieValue;
}
function getMabSeenCookie(mabId) {
return `m${mabId}_seen=true`;
}
function getMabCookieValue(mabId) {
let name = `mab_${mabId}_variant` + "=";
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(';');
for(let i = 0; i <ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkMabSeenCookie(mabId) {
let mabSeenCookie = getMabSeenCookie(mabId);
// Check if this MAB has ever been seen before
let mabSeen = false;
if (document.cookie.includes(mabSeenCookie)) {
mabSeen = true;
}
return mabSeen;
}
function setMabSeenCookie(mabId, topDomain) {
let mabSeenCookie = getMabSeenCookie(mabId);
document.cookie = `${mabSeenCookie}; path=/; domain=${topDomain}; max-age=31536000`;
}
function setMabCookie(mabId, variantValue, topDomain) {
let mabCookieName = formatMabCookieName(mabId);
let mabCookie = `${mabCookieName}=${variantValue}`;
// Set or override the MAB cookie
document.cookie = `${mabCookie}; path=/; domain=${topDomain}; max-age=1800`;
return mabCookie;
}
function getTopLevelDomain(url = null) {
let hostname;
if (url) {
// Check if the url is a string or a URL object
if (typeof url === 'string') {
hostname = new URL(url).hostname;
} else if (url instanceof URL) {
hostname = url.hostname;
} else {
throw new Error('Invalid URL parameter. It must be a string or a URL object.');
}
} else {
hostname = window.location.hostname;
}
const parts = hostname.split('.');
// Ensure there are at least two parts for a valid TLD extraction
if (parts.length > 1) {
const topDomain = parts.slice(-2).join('.');
return topDomain;
}
return hostname; // For cases like 'localhost' where there is no TLD
}
</script>
<script>
function addGetParams(url, paramsDict) {
if (!url) {
return url;
}
if (Object.keys(paramsDict).length === 0) {
return url;
}
const parsedUrl = new URL(url);
const mergedParams = new URLSearchParams(parsedUrl.search);
for (const [key, value] of Object.entries(paramsDict)) {
mergedParams.append(key, value);
}
const encodedParams = mergedParams.toString();
const newUrl = `${parsedUrl.origin}${parsedUrl.pathname}?${encodedParams}`;
return newUrl;
}
</script>
<script>
window.dataLayer = window.dataLayer || [];
</script>
<script>
function getMabStr(mabCookie) {
// TODO: unify match below with three groups
const mabIdMatch = mabCookie.match(/mab_(\d+)_variant=\d+/);
const variantMatch = mabCookie.match(/mab_\d+_variant=(\d+)(s?)/);
if (!mabIdMatch || !variantMatch) {
return ""; // Return an empty string or handle the error as needed
}
const mabId = mabIdMatch[1];
const variantId = variantMatch[1];
const sSuffix = variantMatch[2];
Open service 2606:4700:3033::6815:a6e:80 · app.playlistforyou.com
2025-12-30 00:38
HTTP/1.1 301 Moved Permanently
Date: Tue, 30 Dec 2025 00:38:48 GMT
Content-Length: 0
Connection: close
Location: https://app.playlistforyou.com/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=U27pL3DG32LZvXhkF2V0VsFNvNyUqUiWPwr1IP6%2Bg%2FlpxbSvkgItAwfaP0iJciy8tV%2F6E33wmpbrMoJCpfceHqJ9ksRIOOQX5iGiUrmvGW%2F8sl0vMj8pD0rOwgz0fciywwk%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=16,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b5d79fbdce2aad4-YYZ
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3033::6815:a6e:8443 · app.playlistforyou.com
2025-12-30 00:38
HTTP/1.1 200 OK
Date: Tue, 30 Dec 2025 00:38:49 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b5d79fc6cc9ab00-YYZ
CF-Cache-Status: HIT
Accept-Ranges: bytes
Age: 564485
Cache-Control: max-age=120
Last-Modified: Tue, 23 Dec 2025 11:50:43 GMT
Server: cloudflare
Vary: Accept-Encoding
Via: 1.1 heroku-router
Cross-Origin-Opener-Policy: same-origin
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766490643"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766490643"
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
cf-apo-via: origin,host
Server-Timing: cfCacheStatus;desc="HIT"
Server-Timing: cfEdge;dur=44,cfOrigin;dur=0
alt-svc: h3=":8443"; ma=86400
Page title:
Playlistforyou (ES-US) - Home Page
<!DOCTYPE html>
<html lang="es-es">
<!-- #### AJUSTAR LANG CONFORME SITE #### -->
<!-- ### DEBUG DJANGO CSS INLINE ### -->
<head>
<!-- Adding MAB script to pass MAB information as custom parameters, before GTM loads, so GTM can access it -->
<script>
function formatMabCookieName(mabId) {
return `mab_${mabId}_variant`;
}
function formatMabCookieValue(variantId, mabSeen) {
let mabCookieValue = variantId;
if (mabSeen) {
mabCookieValue += 's';
}
return mabCookieValue;
}
function getMabSeenCookie(mabId) {
return `m${mabId}_seen=true`;
}
function getMabCookieValue(mabId) {
let name = `mab_${mabId}_variant` + "=";
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(';');
for(let i = 0; i <ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkMabSeenCookie(mabId) {
let mabSeenCookie = getMabSeenCookie(mabId);
// Check if this MAB has ever been seen before
let mabSeen = false;
if (document.cookie.includes(mabSeenCookie)) {
mabSeen = true;
}
return mabSeen;
}
function setMabSeenCookie(mabId, topDomain) {
let mabSeenCookie = getMabSeenCookie(mabId);
document.cookie = `${mabSeenCookie}; path=/; domain=${topDomain}; max-age=31536000`;
}
function setMabCookie(mabId, variantValue, topDomain) {
let mabCookieName = formatMabCookieName(mabId);
let mabCookie = `${mabCookieName}=${variantValue}`;
// Set or override the MAB cookie
document.cookie = `${mabCookie}; path=/; domain=${topDomain}; max-age=1800`;
return mabCookie;
}
function getTopLevelDomain(url = null) {
let hostname;
if (url) {
// Check if the url is a string or a URL object
if (typeof url === 'string') {
hostname = new URL(url).hostname;
} else if (url instanceof URL) {
hostname = url.hostname;
} else {
throw new Error('Invalid URL parameter. It must be a string or a URL object.');
}
} else {
hostname = window.location.hostname;
}
const parts = hostname.split('.');
// Ensure there are at least two parts for a valid TLD extraction
if (parts.length > 1) {
const topDomain = parts.slice(-2).join('.');
return topDomain;
}
return hostname; // For cases like 'localhost' where there is no TLD
}
</script>
<script>
function addGetParams(url, paramsDict) {
if (!url) {
return url;
}
if (Object.keys(paramsDict).length === 0) {
return url;
}
const parsedUrl = new URL(url);
const mergedParams = new URLSearchParams(parsedUrl.search);
for (const [key, value] of Object.entries(paramsDict)) {
mergedParams.append(key, value);
}
const encodedParams = mergedParams.toString();
const newUrl = `${parsedUrl.origin}${parsedUrl.pathname}?${encodedParams}`;
return newUrl;
}
</script>
<script>
window.dataLayer = window.dataLayer || [];
</script>
<script>
function getMabStr(mabCookie) {
// TODO: unify match below with three groups
const mabIdMatch = mabCookie.match(/mab_(\d+)_variant=\d+/);
const variantMatch = mabCookie.match(/mab_\d+_variant=(\d+)(s?)/);
if (!mabIdMatch || !variantMatch) {
return ""; // Return an empty string or handle the error as needed
}
const mabId = mabIdMatch[1];
const variantId = variantMatch[1];
const sSuffix = variantMatch[2];
Open service 2606:4700:3033::6815:a6e:443 · app.playlistforyou.com
2025-12-30 00:38
HTTP/1.1 200 OK
Date: Tue, 30 Dec 2025 00:38:48 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b5d79fb6c3b654d-LHR
CF-Cache-Status: HIT
Accept-Ranges: bytes
Age: 564485
Cache-Control: max-age=120
Last-Modified: Tue, 23 Dec 2025 11:50:43 GMT
Server: cloudflare
Vary: Accept-Encoding
Via: 1.1 heroku-router
Cross-Origin-Opener-Policy: same-origin
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766490643"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766490643"
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
cf-apo-via: origin,host
alt-svc: h3=":443"; ma=86400
Page title:
Playlistforyou (ES-US) - Home Page
<!DOCTYPE html>
<html lang="es-es">
<!-- #### AJUSTAR LANG CONFORME SITE #### -->
<!-- ### DEBUG DJANGO CSS INLINE ### -->
<head>
<!-- Adding MAB script to pass MAB information as custom parameters, before GTM loads, so GTM can access it -->
<script>
function formatMabCookieName(mabId) {
return `mab_${mabId}_variant`;
}
function formatMabCookieValue(variantId, mabSeen) {
let mabCookieValue = variantId;
if (mabSeen) {
mabCookieValue += 's';
}
return mabCookieValue;
}
function getMabSeenCookie(mabId) {
return `m${mabId}_seen=true`;
}
function getMabCookieValue(mabId) {
let name = `mab_${mabId}_variant` + "=";
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(';');
for(let i = 0; i <ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkMabSeenCookie(mabId) {
let mabSeenCookie = getMabSeenCookie(mabId);
// Check if this MAB has ever been seen before
let mabSeen = false;
if (document.cookie.includes(mabSeenCookie)) {
mabSeen = true;
}
return mabSeen;
}
function setMabSeenCookie(mabId, topDomain) {
let mabSeenCookie = getMabSeenCookie(mabId);
document.cookie = `${mabSeenCookie}; path=/; domain=${topDomain}; max-age=31536000`;
}
function setMabCookie(mabId, variantValue, topDomain) {
let mabCookieName = formatMabCookieName(mabId);
let mabCookie = `${mabCookieName}=${variantValue}`;
// Set or override the MAB cookie
document.cookie = `${mabCookie}; path=/; domain=${topDomain}; max-age=1800`;
return mabCookie;
}
function getTopLevelDomain(url = null) {
let hostname;
if (url) {
// Check if the url is a string or a URL object
if (typeof url === 'string') {
hostname = new URL(url).hostname;
} else if (url instanceof URL) {
hostname = url.hostname;
} else {
throw new Error('Invalid URL parameter. It must be a string or a URL object.');
}
} else {
hostname = window.location.hostname;
}
const parts = hostname.split('.');
// Ensure there are at least two parts for a valid TLD extraction
if (parts.length > 1) {
const topDomain = parts.slice(-2).join('.');
return topDomain;
}
return hostname; // For cases like 'localhost' where there is no TLD
}
</script>
<script>
function addGetParams(url, paramsDict) {
if (!url) {
return url;
}
if (Object.keys(paramsDict).length === 0) {
return url;
}
const parsedUrl = new URL(url);
const mergedParams = new URLSearchParams(parsedUrl.search);
for (const [key, value] of Object.entries(paramsDict)) {
mergedParams.append(key, value);
}
const encodedParams = mergedParams.toString();
const newUrl = `${parsedUrl.origin}${parsedUrl.pathname}?${encodedParams}`;
return newUrl;
}
</script>
<script>
window.dataLayer = window.dataLayer || [];
</script>
<script>
function getMabStr(mabCookie) {
// TODO: unify match below with three groups
const mabIdMatch = mabCookie.match(/mab_(\d+)_variant=\d+/);
const variantMatch = mabCookie.match(/mab_\d+_variant=(\d+)(s?)/);
if (!mabIdMatch || !variantMatch) {
return ""; // Return an empty string or handle the error as needed
}
const mabId = mabIdMatch[1];
const variantId = variantMatch[1];
const sSuffix = variantMatch[2];
Open service 104.21.10.110:8443 · app.playlistforyou.com
2025-12-30 00:38
HTTP/1.1 200 OK
Date: Tue, 30 Dec 2025 00:38:48 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b5d79fbc9a4adca-EWR
CF-Cache-Status: HIT
Accept-Ranges: bytes
Age: 564485
Cache-Control: max-age=120
Last-Modified: Tue, 23 Dec 2025 11:50:43 GMT
Server: cloudflare
Vary: Accept-Encoding
Via: 1.1 heroku-router
Cross-Origin-Opener-Policy: same-origin
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766490643"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766490643"
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
cf-apo-via: origin,host
Server-Timing: cfCacheStatus;desc="HIT"
Server-Timing: cfEdge;dur=55,cfOrigin;dur=0
alt-svc: h3=":8443"; ma=86400
Page title:
Playlistforyou (ES-US) - Home Page
<!DOCTYPE html>
<html lang="es-es">
<!-- #### AJUSTAR LANG CONFORME SITE #### -->
<!-- ### DEBUG DJANGO CSS INLINE ### -->
<head>
<!-- Adding MAB script to pass MAB information as custom parameters, before GTM loads, so GTM can access it -->
<script>
function formatMabCookieName(mabId) {
return `mab_${mabId}_variant`;
}
function formatMabCookieValue(variantId, mabSeen) {
let mabCookieValue = variantId;
if (mabSeen) {
mabCookieValue += 's';
}
return mabCookieValue;
}
function getMabSeenCookie(mabId) {
return `m${mabId}_seen=true`;
}
function getMabCookieValue(mabId) {
let name = `mab_${mabId}_variant` + "=";
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(';');
for(let i = 0; i <ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkMabSeenCookie(mabId) {
let mabSeenCookie = getMabSeenCookie(mabId);
// Check if this MAB has ever been seen before
let mabSeen = false;
if (document.cookie.includes(mabSeenCookie)) {
mabSeen = true;
}
return mabSeen;
}
function setMabSeenCookie(mabId, topDomain) {
let mabSeenCookie = getMabSeenCookie(mabId);
document.cookie = `${mabSeenCookie}; path=/; domain=${topDomain}; max-age=31536000`;
}
function setMabCookie(mabId, variantValue, topDomain) {
let mabCookieName = formatMabCookieName(mabId);
let mabCookie = `${mabCookieName}=${variantValue}`;
// Set or override the MAB cookie
document.cookie = `${mabCookie}; path=/; domain=${topDomain}; max-age=1800`;
return mabCookie;
}
function getTopLevelDomain(url = null) {
let hostname;
if (url) {
// Check if the url is a string or a URL object
if (typeof url === 'string') {
hostname = new URL(url).hostname;
} else if (url instanceof URL) {
hostname = url.hostname;
} else {
throw new Error('Invalid URL parameter. It must be a string or a URL object.');
}
} else {
hostname = window.location.hostname;
}
const parts = hostname.split('.');
// Ensure there are at least two parts for a valid TLD extraction
if (parts.length > 1) {
const topDomain = parts.slice(-2).join('.');
return topDomain;
}
return hostname; // For cases like 'localhost' where there is no TLD
}
</script>
<script>
function addGetParams(url, paramsDict) {
if (!url) {
return url;
}
if (Object.keys(paramsDict).length === 0) {
return url;
}
const parsedUrl = new URL(url);
const mergedParams = new URLSearchParams(parsedUrl.search);
for (const [key, value] of Object.entries(paramsDict)) {
mergedParams.append(key, value);
}
const encodedParams = mergedParams.toString();
const newUrl = `${parsedUrl.origin}${parsedUrl.pathname}?${encodedParams}`;
return newUrl;
}
</script>
<script>
window.dataLayer = window.dataLayer || [];
</script>
<script>
function getMabStr(mabCookie) {
// TODO: unify match below with three groups
const mabIdMatch = mabCookie.match(/mab_(\d+)_variant=\d+/);
const variantMatch = mabCookie.match(/mab_\d+_variant=(\d+)(s?)/);
if (!mabIdMatch || !variantMatch) {
return ""; // Return an empty string or handle the error as needed
}
const mabId = mabIdMatch[1];
const variantId = variantMatch[1];
const sSuffix = variantMatch[2];
Open service 104.21.10.110:443 · app.playlistforyou.com
2025-12-30 00:38
HTTP/1.1 200 OK
Date: Tue, 30 Dec 2025 00:38:48 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b5d79fbbe330f67-EWR
CF-Cache-Status: HIT
Accept-Ranges: bytes
Age: 564485
Cache-Control: max-age=120
Last-Modified: Tue, 23 Dec 2025 11:50:43 GMT
Server: cloudflare
Vary: Accept-Encoding
Via: 1.1 heroku-router
Cross-Origin-Opener-Policy: same-origin
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766490643"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766490643"
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
cf-apo-via: origin,host
Server-Timing: cfCacheStatus;desc="HIT"
Server-Timing: cfEdge;dur=47,cfOrigin;dur=0
alt-svc: h3=":443"; ma=86400
Page title:
Playlistforyou (ES-US) - Home Page
<!DOCTYPE html>
<html lang="es-es">
<!-- #### AJUSTAR LANG CONFORME SITE #### -->
<!-- ### DEBUG DJANGO CSS INLINE ### -->
<head>
<!-- Adding MAB script to pass MAB information as custom parameters, before GTM loads, so GTM can access it -->
<script>
function formatMabCookieName(mabId) {
return `mab_${mabId}_variant`;
}
function formatMabCookieValue(variantId, mabSeen) {
let mabCookieValue = variantId;
if (mabSeen) {
mabCookieValue += 's';
}
return mabCookieValue;
}
function getMabSeenCookie(mabId) {
return `m${mabId}_seen=true`;
}
function getMabCookieValue(mabId) {
let name = `mab_${mabId}_variant` + "=";
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(';');
for(let i = 0; i <ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkMabSeenCookie(mabId) {
let mabSeenCookie = getMabSeenCookie(mabId);
// Check if this MAB has ever been seen before
let mabSeen = false;
if (document.cookie.includes(mabSeenCookie)) {
mabSeen = true;
}
return mabSeen;
}
function setMabSeenCookie(mabId, topDomain) {
let mabSeenCookie = getMabSeenCookie(mabId);
document.cookie = `${mabSeenCookie}; path=/; domain=${topDomain}; max-age=31536000`;
}
function setMabCookie(mabId, variantValue, topDomain) {
let mabCookieName = formatMabCookieName(mabId);
let mabCookie = `${mabCookieName}=${variantValue}`;
// Set or override the MAB cookie
document.cookie = `${mabCookie}; path=/; domain=${topDomain}; max-age=1800`;
return mabCookie;
}
function getTopLevelDomain(url = null) {
let hostname;
if (url) {
// Check if the url is a string or a URL object
if (typeof url === 'string') {
hostname = new URL(url).hostname;
} else if (url instanceof URL) {
hostname = url.hostname;
} else {
throw new Error('Invalid URL parameter. It must be a string or a URL object.');
}
} else {
hostname = window.location.hostname;
}
const parts = hostname.split('.');
// Ensure there are at least two parts for a valid TLD extraction
if (parts.length > 1) {
const topDomain = parts.slice(-2).join('.');
return topDomain;
}
return hostname; // For cases like 'localhost' where there is no TLD
}
</script>
<script>
function addGetParams(url, paramsDict) {
if (!url) {
return url;
}
if (Object.keys(paramsDict).length === 0) {
return url;
}
const parsedUrl = new URL(url);
const mergedParams = new URLSearchParams(parsedUrl.search);
for (const [key, value] of Object.entries(paramsDict)) {
mergedParams.append(key, value);
}
const encodedParams = mergedParams.toString();
const newUrl = `${parsedUrl.origin}${parsedUrl.pathname}?${encodedParams}`;
return newUrl;
}
</script>
<script>
window.dataLayer = window.dataLayer || [];
</script>
<script>
function getMabStr(mabCookie) {
// TODO: unify match below with three groups
const mabIdMatch = mabCookie.match(/mab_(\d+)_variant=\d+/);
const variantMatch = mabCookie.match(/mab_\d+_variant=(\d+)(s?)/);
if (!mabIdMatch || !variantMatch) {
return ""; // Return an empty string or handle the error as needed
}
const mabId = mabIdMatch[1];
const variantId = variantMatch[1];
const sSuffix = variantMatch[2];
Open service 2606:4700:3032::ac43:be20:443 · app.playlistforyou.com
2025-12-30 00:38
HTTP/1.1 200 OK
Date: Tue, 30 Dec 2025 00:38:48 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b5d79fb2e289e0d-FRA
CF-Cache-Status: HIT
Accept-Ranges: bytes
Age: 564485
Cache-Control: max-age=120
Last-Modified: Tue, 23 Dec 2025 11:50:43 GMT
Server: cloudflare
Vary: Accept-Encoding
Via: 1.1 heroku-router
Cross-Origin-Opener-Policy: same-origin
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766490643"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766490643"
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
cf-apo-via: origin,host
alt-svc: h3=":443"; ma=86400
Page title:
Playlistforyou (ES-US) - Home Page
<!DOCTYPE html>
<html lang="es-es">
<!-- #### AJUSTAR LANG CONFORME SITE #### -->
<!-- ### DEBUG DJANGO CSS INLINE ### -->
<head>
<!-- Adding MAB script to pass MAB information as custom parameters, before GTM loads, so GTM can access it -->
<script>
function formatMabCookieName(mabId) {
return `mab_${mabId}_variant`;
}
function formatMabCookieValue(variantId, mabSeen) {
let mabCookieValue = variantId;
if (mabSeen) {
mabCookieValue += 's';
}
return mabCookieValue;
}
function getMabSeenCookie(mabId) {
return `m${mabId}_seen=true`;
}
function getMabCookieValue(mabId) {
let name = `mab_${mabId}_variant` + "=";
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(';');
for(let i = 0; i <ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkMabSeenCookie(mabId) {
let mabSeenCookie = getMabSeenCookie(mabId);
// Check if this MAB has ever been seen before
let mabSeen = false;
if (document.cookie.includes(mabSeenCookie)) {
mabSeen = true;
}
return mabSeen;
}
function setMabSeenCookie(mabId, topDomain) {
let mabSeenCookie = getMabSeenCookie(mabId);
document.cookie = `${mabSeenCookie}; path=/; domain=${topDomain}; max-age=31536000`;
}
function setMabCookie(mabId, variantValue, topDomain) {
let mabCookieName = formatMabCookieName(mabId);
let mabCookie = `${mabCookieName}=${variantValue}`;
// Set or override the MAB cookie
document.cookie = `${mabCookie}; path=/; domain=${topDomain}; max-age=1800`;
return mabCookie;
}
function getTopLevelDomain(url = null) {
let hostname;
if (url) {
// Check if the url is a string or a URL object
if (typeof url === 'string') {
hostname = new URL(url).hostname;
} else if (url instanceof URL) {
hostname = url.hostname;
} else {
throw new Error('Invalid URL parameter. It must be a string or a URL object.');
}
} else {
hostname = window.location.hostname;
}
const parts = hostname.split('.');
// Ensure there are at least two parts for a valid TLD extraction
if (parts.length > 1) {
const topDomain = parts.slice(-2).join('.');
return topDomain;
}
return hostname; // For cases like 'localhost' where there is no TLD
}
</script>
<script>
function addGetParams(url, paramsDict) {
if (!url) {
return url;
}
if (Object.keys(paramsDict).length === 0) {
return url;
}
const parsedUrl = new URL(url);
const mergedParams = new URLSearchParams(parsedUrl.search);
for (const [key, value] of Object.entries(paramsDict)) {
mergedParams.append(key, value);
}
const encodedParams = mergedParams.toString();
const newUrl = `${parsedUrl.origin}${parsedUrl.pathname}?${encodedParams}`;
return newUrl;
}
</script>
<script>
window.dataLayer = window.dataLayer || [];
</script>
<script>
function getMabStr(mabCookie) {
// TODO: unify match below with three groups
const mabIdMatch = mabCookie.match(/mab_(\d+)_variant=\d+/);
const variantMatch = mabCookie.match(/mab_\d+_variant=(\d+)(s?)/);
if (!mabIdMatch || !variantMatch) {
return ""; // Return an empty string or handle the error as needed
}
const mabId = mabIdMatch[1];
const variantId = variantMatch[1];
const sSuffix = variantMatch[2];
Open service 2606:4700:3032::ac43:be20:8443 · app.playlistforyou.com
2025-12-30 00:38
HTTP/1.1 200 OK
Date: Tue, 30 Dec 2025 00:38:48 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b5d79fb2a18dc9e-FRA
CF-Cache-Status: HIT
Accept-Ranges: bytes
Age: 564485
Cache-Control: max-age=120
Last-Modified: Tue, 23 Dec 2025 11:50:43 GMT
Server: cloudflare
Vary: Accept-Encoding
Via: 1.1 heroku-router
Cross-Origin-Opener-Policy: same-origin
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766490643"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=nP5tw3LvEbow%2Faa0H0hBr1AyOVCKh%2BoMJFZyNX9tO3E%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766490643"
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
cf-apo-via: origin,host
alt-svc: h3=":8443"; ma=86400
Page title:
Playlistforyou (ES-US) - Home Page
<!DOCTYPE html>
<html lang="es-es">
<!-- #### AJUSTAR LANG CONFORME SITE #### -->
<!-- ### DEBUG DJANGO CSS INLINE ### -->
<head>
<!-- Adding MAB script to pass MAB information as custom parameters, before GTM loads, so GTM can access it -->
<script>
function formatMabCookieName(mabId) {
return `mab_${mabId}_variant`;
}
function formatMabCookieValue(variantId, mabSeen) {
let mabCookieValue = variantId;
if (mabSeen) {
mabCookieValue += 's';
}
return mabCookieValue;
}
function getMabSeenCookie(mabId) {
return `m${mabId}_seen=true`;
}
function getMabCookieValue(mabId) {
let name = `mab_${mabId}_variant` + "=";
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(';');
for(let i = 0; i <ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkMabSeenCookie(mabId) {
let mabSeenCookie = getMabSeenCookie(mabId);
// Check if this MAB has ever been seen before
let mabSeen = false;
if (document.cookie.includes(mabSeenCookie)) {
mabSeen = true;
}
return mabSeen;
}
function setMabSeenCookie(mabId, topDomain) {
let mabSeenCookie = getMabSeenCookie(mabId);
document.cookie = `${mabSeenCookie}; path=/; domain=${topDomain}; max-age=31536000`;
}
function setMabCookie(mabId, variantValue, topDomain) {
let mabCookieName = formatMabCookieName(mabId);
let mabCookie = `${mabCookieName}=${variantValue}`;
// Set or override the MAB cookie
document.cookie = `${mabCookie}; path=/; domain=${topDomain}; max-age=1800`;
return mabCookie;
}
function getTopLevelDomain(url = null) {
let hostname;
if (url) {
// Check if the url is a string or a URL object
if (typeof url === 'string') {
hostname = new URL(url).hostname;
} else if (url instanceof URL) {
hostname = url.hostname;
} else {
throw new Error('Invalid URL parameter. It must be a string or a URL object.');
}
} else {
hostname = window.location.hostname;
}
const parts = hostname.split('.');
// Ensure there are at least two parts for a valid TLD extraction
if (parts.length > 1) {
const topDomain = parts.slice(-2).join('.');
return topDomain;
}
return hostname; // For cases like 'localhost' where there is no TLD
}
</script>
<script>
function addGetParams(url, paramsDict) {
if (!url) {
return url;
}
if (Object.keys(paramsDict).length === 0) {
return url;
}
const parsedUrl = new URL(url);
const mergedParams = new URLSearchParams(parsedUrl.search);
for (const [key, value] of Object.entries(paramsDict)) {
mergedParams.append(key, value);
}
const encodedParams = mergedParams.toString();
const newUrl = `${parsedUrl.origin}${parsedUrl.pathname}?${encodedParams}`;
return newUrl;
}
</script>
<script>
window.dataLayer = window.dataLayer || [];
</script>
<script>
function getMabStr(mabCookie) {
// TODO: unify match below with three groups
const mabIdMatch = mabCookie.match(/mab_(\d+)_variant=\d+/);
const variantMatch = mabCookie.match(/mab_\d+_variant=(\d+)(s?)/);
if (!mabIdMatch || !variantMatch) {
return ""; // Return an empty string or handle the error as needed
}
const mabId = mabIdMatch[1];
const variantId = variantMatch[1];
const sSuffix = variantMatch[2];
Open service 2606:4700:3032::ac43:be20:80 · app.playlistforyou.com
2025-12-30 00:38
HTTP/1.1 301 Moved Permanently
Date: Tue, 30 Dec 2025 00:38:48 GMT
Content-Length: 0
Connection: close
Location: https://app.playlistforyou.com/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=5MrzVWeFzVaRtFQYUDSUFfE%2F2wAp8Mp6pAPjJo34OQze0jgmzdQ0%2BTB39JP7bVKuRQQRbNBr8H56guvzngko%2FZm6DKXO7Kei1V%2FAqa%2BbZKkA5a9r1T09OtWT3DKp544mZx4%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9b5d79fabaca9763-FRA
alt-svc: h3=":443"; ma=86400
Open service 3.140.121.45:443 · www.playlistforyou.com
2025-12-23 08:20
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 08:20:36 GMT Server: Apache cf-edge-cache: cache,platform=wordpress X-Redirect-By: WordPress Location: https://playlistforyou.com/ X-activeview: multisite Content-Length: 0 Connection: close Content-Type: text/html; charset=UTF-8
Open service 3.140.121.45:80 · playlistforyou.com
2025-12-22 22:23
HTTP/1.1 301 Moved Permanently Date: Mon, 22 Dec 2025 22:23:55 GMT Server: Apache cf-edge-cache: cache,platform=wordpress X-Redirect-By: WordPress Location: https://playlistforyou.com/ X-activeview: multisite Content-Length: 0 Connection: close Content-Type: text/html; charset=UTF-8
Open service 3.140.121.45:443 · www.playlistforyou.com
2025-12-21 10:34
HTTP/1.1 301 Moved Permanently Date: Sun, 21 Dec 2025 10:34:39 GMT Server: Apache cf-edge-cache: cache,platform=wordpress X-Redirect-By: WordPress Location: https://playlistforyou.com/ X-activeview: multisite Content-Length: 0 Connection: close Content-Type: text/html; charset=UTF-8
Open service 3.140.121.45:80 · playlistforyou.com
2025-12-21 03:35
HTTP/1.1 301 Moved Permanently Date: Sun, 21 Dec 2025 03:35:08 GMT Server: Apache cf-edge-cache: cache,platform=wordpress X-Redirect-By: WordPress Location: https://playlistforyou.com/ X-activeview: multisite Content-Length: 0 Connection: close Content-Type: text/html; charset=UTF-8
Open service 3.140.121.45:80 · playlistforyou.com
2025-12-19 03:01
HTTP/1.1 301 Moved Permanently Date: Fri, 19 Dec 2025 03:01:27 GMT Server: Apache cf-edge-cache: cache,platform=wordpress X-Redirect-By: WordPress Location: https://playlistforyou.com/ X-activeview: multisite Content-Length: 0 Connection: close Content-Type: text/html; charset=UTF-8
Open service 104.21.10.110:80 · playlistforyou.com
2025-12-19 02:23
HTTP/1.1 301 Moved Permanently
Date: Fri, 19 Dec 2025 02:23:56 GMT
Content-Length: 0
Connection: close
Location: https://playlistforyou.com/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=icmPUw5rQulQHHiX8oEXxuPlAvleGXrzV0tFCPGAUf3zO68nIiuXmsb6Iwh%2B6Hxd3w00GvGwaxl7fZrPh2wHrVu4qSOKyxayi%2F68xuqNeBSOPw%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=11,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b0370dc894b60c8-EWR
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3033::6815:a6e:443 · playlistforyou.com
2025-12-19 02:23
HTTP/1.1 200 OK
Date: Fri, 19 Dec 2025 02:23:56 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b0370dc0fbcfd67-SIN
CF-Cache-Status: HIT
Age: 368868
Cache-Control: max-age=14400
Last-Modified: Sun, 14 Dec 2025 19:56:08 GMT
Link: <https://playlistforyou.com/wp-json/>; rel="https://api.w.org/", <https://playlistforyou.com/wp-json/wp/v2/pages/198>; rel="alternate"; type="application/json", <https://playlistforyou.com/>; rel=shortlink
Server: cloudflare
Vary: Accept-Encoding
X-activeview: multisite
cf-apo-via: tcache
cf-edge-cache: cache,platform=wordpress
Server-Timing: cfCacheStatus;desc="HIT"
Server-Timing: cfEdge;dur=23,cfOrigin;dur=0
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=zgAa5y5rBoI%2F8mZrIIkC%2FiQa6bQKs%2B5P%2F2V2toyzJeP5ZDSwn9rTM1a1G6fv0GWGJsJLyfJVfWoocaT27sYyz55yMpcS5j0FqQsFMCZxQb5Yrzq65KR2MU7zpL9oug%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3033::6815:a6e:8443 · playlistforyou.com
2025-12-19 02:23
HTTP/1.1 200 OK
Date: Fri, 19 Dec 2025 02:23:56 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b0370dadd984f42-LHR
CF-Cache-Status: HIT
Age: 240069
Cache-Control: max-age=14400
Last-Modified: Tue, 16 Dec 2025 07:42:47 GMT
Link: <https://playlistforyou.com/wp-json/>; rel="https://api.w.org/", <https://playlistforyou.com/wp-json/wp/v2/pages/198>; rel="alternate"; type="application/json", <https://playlistforyou.com/>; rel=shortlink
Server: cloudflare
Vary: Accept-Encoding
X-activeview: multisite
cf-apo-via: tcache
cf-edge-cache: cache,platform=wordpress
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=sB4XJ8GddpQiHBSLQ%2FLL5zZ8BrAeskpqpf1bL1G%2BeQVjf7ZDRGG18%2FLBbz%2FAevVQLB%2B%2F0DJM1Bn9dUJj2psV8zN0AvWVrBcSzd39IZszhkLkHs1vPORazA3xEZktcg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
alt-svc: h3=":8443"; ma=86400
Open service 172.67.190.32:443 · playlistforyou.com
2025-12-19 02:23
HTTP/1.1 200 OK
Date: Fri, 19 Dec 2025 02:23:56 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b0370dab868ab16-YYZ
CF-Cache-Status: HIT
Age: 240069
Cache-Control: max-age=14400
Last-Modified: Tue, 16 Dec 2025 07:42:47 GMT
Link: <https://playlistforyou.com/wp-json/>; rel="https://api.w.org/", <https://playlistforyou.com/wp-json/wp/v2/pages/198>; rel="alternate"; type="application/json", <https://playlistforyou.com/>; rel=shortlink
Server: cloudflare
Vary: Accept-Encoding
X-activeview: multisite
cf-apo-via: tcache
cf-edge-cache: cache,platform=wordpress
Server-Timing: cfCacheStatus;desc="HIT"
Server-Timing: cfEdge;dur=24,cfOrigin;dur=0
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=NZsKWa3VlY5bK9dGUFz%2Fyv%2B59Rdz06Kcjbc2UBmuv5o0zGJNRLymFSMdEmVA4SaehnGk6vCAac6jz1DN5miMH9%2FGocO6Oft3N8pwCgjqhuQRpQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3033::6815:a6e:80 · playlistforyou.com
2025-12-19 02:23
HTTP/1.1 301 Moved Permanently
Date: Fri, 19 Dec 2025 02:23:56 GMT
Content-Length: 0
Connection: close
Location: https://playlistforyou.com/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ts3iK3So3N2CSZqzqMLjhFmq7u9662UXvoEj4bq0LksoZHSbj63v%2BHmZsq4UnBmXjYx6iiAjNebOEyDalLj7tPlGoG2ZSt022yLWZpUEbQJX5kwvBaW2Ib8uYiv2eg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=8,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9b0370dacb2017d7-BOM
alt-svc: h3=":443"; ma=86400
Open service 172.67.190.32:8443 · playlistforyou.com
2025-12-19 02:23
HTTP/1.1 200 OK
Date: Fri, 19 Dec 2025 02:23:56 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b0370daea9990e5-YYZ
CF-Cache-Status: HIT
Age: 240069
Cache-Control: max-age=14400
Last-Modified: Tue, 16 Dec 2025 07:42:47 GMT
Link: <https://playlistforyou.com/wp-json/>; rel="https://api.w.org/", <https://playlistforyou.com/wp-json/wp/v2/pages/198>; rel="alternate"; type="application/json", <https://playlistforyou.com/>; rel=shortlink
Server: cloudflare
Vary: Accept-Encoding
X-activeview: multisite
cf-apo-via: tcache
cf-edge-cache: cache,platform=wordpress
Server-Timing: cfCacheStatus;desc="HIT"
Server-Timing: cfEdge;dur=21,cfOrigin;dur=0
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=b1vwzeFBBa%2BQ8EdUvfQnLlxeVRheBndisgeSkoYcuVWerlIV%2FZvbugtpQ2bbNJ65H07chaoMfnNhm4HhqjLJvyijLWk8B4tdcdn4vyWFLbAzlQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
alt-svc: h3=":8443"; ma=86400
Open service 104.21.10.110:443 · playlistforyou.com
2025-12-19 02:23
HTTP/1.1 200 OK
Date: Fri, 19 Dec 2025 02:23:56 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b0370da4b5eda9e-AMS
CF-Cache-Status: HIT
Age: 368868
Cache-Control: max-age=14400
Last-Modified: Sun, 14 Dec 2025 19:56:08 GMT
Link: <https://playlistforyou.com/wp-json/>; rel="https://api.w.org/", <https://playlistforyou.com/wp-json/wp/v2/pages/198>; rel="alternate"; type="application/json", <https://playlistforyou.com/>; rel=shortlink
Server: cloudflare
Vary: Accept-Encoding
X-activeview: multisite
cf-apo-via: tcache
cf-edge-cache: cache,platform=wordpress
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Z6TPpyGqp2LeJ6%2BmqFjslyBuE23XBq3zghSD3UOZH%2Fp2QV9mJZ57qo6Gwbld9KXojJ94FZonwrrege4aQVaJSi6yDKCac5PMQTdfL52DzpJujQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
alt-svc: h3=":443"; ma=86400
Open service 104.21.10.110:8443 · playlistforyou.com
2025-12-19 02:23
HTTP/1.1 200 OK
Date: Fri, 19 Dec 2025 02:23:56 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b0370da4a636053-AMS
CF-Cache-Status: HIT
Age: 368868
Cache-Control: max-age=14400
Last-Modified: Sun, 14 Dec 2025 19:56:08 GMT
Link: <https://playlistforyou.com/wp-json/>; rel="https://api.w.org/", <https://playlistforyou.com/wp-json/wp/v2/pages/198>; rel="alternate"; type="application/json", <https://playlistforyou.com/>; rel=shortlink
Server: cloudflare
Vary: Accept-Encoding
X-activeview: multisite
cf-apo-via: tcache
cf-edge-cache: cache,platform=wordpress
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=zx28Z%2BJxpL1W%2FfEn7RG0lHMBJMO8wDbL%2BQWR%2BRqsbJBFvVss8AnyUg%2FVk458gdgrp4h%2BcfRmtSkScqyrPPNyg1FRCa3ZSEYkcHFtmFcFyXTgXw%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
alt-svc: h3=":8443"; ma=86400
Open service 2606:4700:3032::ac43:be20:8443 · playlistforyou.com
2025-12-19 02:23
HTTP/1.1 200 OK
Date: Fri, 19 Dec 2025 02:23:56 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b0370da387f9a1e-FRA
CF-Cache-Status: HIT
Age: 368868
Cache-Control: max-age=14400
Last-Modified: Sun, 14 Dec 2025 19:56:08 GMT
Link: <https://playlistforyou.com/wp-json/>; rel="https://api.w.org/", <https://playlistforyou.com/wp-json/wp/v2/pages/198>; rel="alternate"; type="application/json", <https://playlistforyou.com/>; rel=shortlink
Server: cloudflare
Vary: Accept-Encoding
X-activeview: multisite
cf-apo-via: tcache
cf-edge-cache: cache,platform=wordpress
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=5sVHTipF8jw0tU%2FpXHP%2FyLK%2FVvrUdjtxoU6j4dikZLS3UwMtF1aW6GcSENYR0xuDvPPrZoS4G6b7%2F1r03tYUXzW4vM4hz%2FAv%2FduK0LufE4e%2F%2FtS4g8S1iG4f6xM%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
alt-svc: h3=":8443"; ma=86400
Open service 2606:4700:3032::ac43:be20:443 · playlistforyou.com
2025-12-19 02:23
HTTP/1.1 200 OK
Date: Fri, 19 Dec 2025 02:23:56 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
CF-Ray: 9b0370da4dcba01a-AMS
CF-Cache-Status: HIT
Age: 368868
Cache-Control: max-age=14400
Last-Modified: Sun, 14 Dec 2025 19:56:08 GMT
Link: <https://playlistforyou.com/wp-json/>; rel="https://api.w.org/", <https://playlistforyou.com/wp-json/wp/v2/pages/198>; rel="alternate"; type="application/json", <https://playlistforyou.com/>; rel=shortlink
Server: cloudflare
Vary: Accept-Encoding
X-activeview: multisite
cf-apo-via: tcache
cf-edge-cache: cache,platform=wordpress
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ORVV7%2BLjMqWpuT%2Bitzc7ym8mE0%2BE7qZhcX36SVh45zIh2kTHoYfQx9ZSjKEKvmW6tidxcV1EXrnry6HmOdSTC3Axvt0jKrW9TLPrL%2B1CtmWT6fEb15FqQfTCcvsiSw%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3032::ac43:be20:80 · playlistforyou.com
2025-12-19 02:23
HTTP/1.1 301 Moved Permanently
Date: Fri, 19 Dec 2025 02:23:56 GMT
Content-Length: 0
Connection: close
Location: https://playlistforyou.com/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=YDZbrq2cwLhxHguuxsNOCygC28UFkdw1gakPhAegMssJg2%2BpNXhQLMRRP%2Bg%2FHKjrnpgStcpIe4GTi0rPWGxEa5kGeTXGtucUwr5EG%2BK4EAOU90%2FHHm46iumDL9I%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9b0370d9cf996997-FRA
alt-svc: h3=":443"; ma=86400
Open service 172.67.190.32:80 · playlistforyou.com
2025-12-19 02:23
HTTP/1.1 301 Moved Permanently
Date: Fri, 19 Dec 2025 02:23:56 GMT
Content-Length: 0
Connection: close
Location: https://playlistforyou.com/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=clJDX%2BZTT5K9jku7i0EloJTSN5td4eYkCaBud4h7prZVv2OyE2zsjtxthA9qfXhzw3MUkvd0Ih2R4A7RTuC8dVCpQGpQXWOgstB%2B1Ru7ahQMCg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9b0370d9ab37a009-AMS
alt-svc: h3=":443"; ma=86400