{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/oMx6okIjZiVtZy1jgyZ4/9kx7GglZISUcwJWUDGb2/siteMetadata.js"],
  "sourcesContent": ["// Generated by Framer (972193a)\nconst valuesByLocaleId={a73crvzmh:{v0:\"mybabes.ai\",v1:\"MyBabes.ai es la plataforma de IA NSFW definitiva, que te permite crear porno generado por IA, dise\\xf1ar novias personalizadas de IA y chatear con compa\\xf1eros interactivos de IA. Placer ilimitado, sin l\\xedmites: pura fantas\\xeda impulsada por IA al alcance de tu mano.\"},AV6byqjB7:{v0:\"mybabes.ai\",v1:\"MyBabes.ai est la plateforme ultime NSFW bas\\xe9e sur l'IA, vous permettant de cr\\xe9er du porno g\\xe9n\\xe9r\\xe9 par l'IA, de concevoir des copines personnalis\\xe9es et de discuter avec des compagnons interactifs. Plaisir sans limites, juste une pure fantaisie pilot\\xe9e par l'IA \\xe0 port\\xe9e de main.\"}};function getLocalizedValue(key,locale){while(locale){const values=valuesByLocaleId[locale.id];if(values){const value=values[key];if(value)return value;}locale=locale.fallback;}}export default function metadata(params,activeLocale){return{customHTMLBodyEnd:'<script>\\nwindow.applyLinkTracking = function () {\\n  const CMS_NAME = window.CMS_NAME || \"base\";\\n  // Get the current path\\n  const campaignPath = window.location.pathname || \"\";\\n\\n  // Compute page slug: last part after /\\n  const parts = campaignPath.split(\\'/\\').filter(part => part);\\n  const pageSlug = parts.pop() || \"\";\\n\\n  // If no page slug, we won\\'t modify links\\n  if (!pageSlug) return;\\n\\n  // Compute tracking slug\\n  const tracking = `landing:${CMS_NAME}:${pageSlug}`;\\n\\n  // Helper: should we skip this link?\\n  const shouldSkip = (href) =>\\n    !href ||\\n    href.startsWith(\"#\") ||\\n    href.startsWith(\"mailto:\") ||\\n    href.startsWith(\"tel:\") ||\\n    href.startsWith(\"javascript:\");\\n\\n  const applyTracking = (a) => {\\n    const href = a.getAttribute(\"href\");\\n    if (shouldSkip(href)) return;\\n\\n    let url;\\n    try {\\n      url = new URL(href, window.location.origin);\\n    } catch (e) {\\n      return;\\n    }\\n\\n    if (!/^https?:$/.test(url.protocol)) return;\\n    if (url.hostname !== \"mybabes.ai\") return;\\n\\n    // Clean pathname: remove 2-letter language code if present (e.g., /en/)\\n    let path = url.pathname;\\n    const langRegex = /^\\\\/[a-z]{2}(\\\\/|$)/i;\\n    if (langRegex.test(path)) {\\n      path = path.replace(/^\\\\/[a-z]{2}/i, \"\");\\n    }\\n    if (!path) path = \"/\";\\n\\n    // Skip if already tracked (prevents double-prepending on multiple passes)\\n    if (path.startsWith(\"/r/\")) return;\\n\\n    // Set new path: /r/<tracking><path>\\n    const newPath = `/r/${tracking}${path.startsWith(\"/\") ? \"\" : \"/\"}${path}`;\\n    url.pathname = newPath;\\n\\n    // Remove any existing UTM parameters\\n    [\"utm_source\", \"utm_medium\", \"utm_campaign\", \"utm_term\", \"utm_content\"].forEach((param) => {\\n      url.searchParams.delete(param);\\n    });\\n\\n    a.setAttribute(\"href\", url.toString());\\n  };\\n\\n  // Initial pass\\n  document.querySelectorAll(\"a[href]\").forEach(applyTracking);\\n\\n  // If Framer/CMS injects more links later, catch them too\\n  const mo = new MutationObserver((mutations) => {\\n    for (const m of mutations) {\\n      m.addedNodes.forEach((n) => {\\n        if (n.nodeType !== 1) return;\\n        if (n.tagName === \"A\" && n.hasAttribute(\"href\")) applyTracking(n);\\n        n.querySelectorAll?.(\"a[href]\").forEach(applyTracking);\\n      });\\n    }\\n  });\\n  mo.observe(document.body, { childList: true, subtree: true });\\n};\\n\\n// Run the function on load\\ndocument.addEventListener(\"DOMContentLoaded\", function () {\\n  window.applyLinkTracking();\\n});\\n</script>',customHTMLBodyStart:'<style>\\n  html, body {\\n    overflow: hidden; /* Disable scrolling initially */\\n  }\\n\\n  #age-gate {\\n    position: fixed;\\n    top: 0; left: 0;\\n    width: 100vw;\\n    height: 100vh;\\n    background: rgba(0, 0, 0, 0.95);\\n    color: white;\\n    display: flex;\\n    flex-direction: column;\\n    justify-content: center;\\n    align-items: center;\\n    z-index: 9999;\\n    font-family: sans-serif;\\n  }\\n\\n  #age-gate h3 {\\n    font-size: 2rem;\\n    margin-bottom: 1rem;\\n    text-align: center;\\n  }\\n\\n  #age-gate p {\\n    max-width: 420px;\\n    text-align: center;\\n    margin-bottom: 2rem;\\n    line-height: 1.5;\\n    font-size: 1rem;\\n  }\\n\\n  #age-gate .btn-group {\\n    display: flex;\\n    gap: 1.5rem;\\n  }\\n\\n  #age-gate button {\\n    padding: 0.75rem 1.75rem;\\n    font-size: 1rem;\\n    border: none;\\n    border-radius: 6px;\\n    color: white;\\n    cursor: pointer;\\n    transition: transform 0.15s ease;\\n  }\\n\\n  #age-gate button:hover {\\n    transform: scale(1.05);\\n  }\\n\\n  .btn-no {\\n    background-color: #F04438;\\n  }\\n\\n  .btn-yes {\\n    background-color: #0079FF;\\n  }\\n</style>\\n\\n<div id=\"age-gate\">\\n  <h3>Are you 18 or older?</h3>\\n  <p>This site contains adult content. You must confirm your age to access.</p>\\n  <div class=\"btn-group\">\\n    <button class=\"btn-no\" onclick=\"window.location.href=\\'https://www.google.com\\'\">No, I\\'m under 18</button>\\n    <button class=\"btn-yes\" onclick=\"acceptAge()\">Yes, I\\'m 18+</button>\\n  </div>\\n</div>\\n\\n\\n<script>\\n  function setCookie(name, value, days) {\\n    const d = new Date();\\n    d.setTime(d.getTime() + (days*24*60*60*1000));\\n    const expires = \"expires=\"+ d.toUTCString();\\n    document.cookie = name + \"=\" + value + \";\" + expires + \";path=/\";\\n  }\\n\\n  function getCookie(name) {\\n    const cname = name + \"=\";\\n    const decodedCookie = decodeURIComponent(document.cookie);\\n    const ca = decodedCookie.split(\\';\\');\\n    for(let i = 0; i < ca.length; i++) {\\n      let c = ca[i].trim();\\n      if (c.indexOf(cname) === 0) {\\n        return c.substring(cname.length, c.length);\\n      }\\n    }\\n    return \"\";\\n  }\\n\\n  function acceptAge() {\\n    setCookie(\"age_verified\", \"true\", 30);\\n    document.getElementById(\"age-gate\").remove();\\n    document.body.style.overflow = \\'auto\\';\\n    document.documentElement.style.overflow = \\'auto\\';\\n  }\\n\\n  window.addEventListener(\\'DOMContentLoaded\\', () => {\\n    if (getCookie(\"age_verified\") === \"true\") {\\n      document.getElementById(\"age-gate\").remove();\\n      document.body.style.overflow = \\'auto\\';\\n      document.documentElement.style.overflow = \\'auto\\';\\n    }\\n  });\\n</script>\\n',customHTMLHeadEnd:'<!-- WebPage + Product + Organization structured data -->\\n<script type=\"application/ld+json\">\\n{\\n  \"@context\": \"https://schema.org\",\\n  \"@graph\": [\\n    {\\n      \"@type\": \"WebPage\",\\n      \"@id\": \"https://landing.mybabes.ai/#webpage\",\\n      \"url\": \"https://landing.mybabes.ai/\",\\n      \"name\": \"MyBabes.ai \u2013 NSFW AI Girlfriends, Chat, and Content Generator\",\\n      \"description\": \"Create and chat with fully customizable NSFW AI girlfriends. Generate nudes, videos, and roleplay content using the most advanced AI porn generator.\",\\n      \"inLanguage\": \"en\",\\n      \"isPartOf\": {\\n        \"@id\": \"https://landing.mybabes.ai/#website\"\\n      }\\n    },\\n    {\\n      \"@type\": \"Organization\",\\n      \"@id\": \"https://landing.mybabes.ai/#organization\",\\n      \"name\": \"MyBabes.ai\",\\n      \"url\": \"https://landing.mybabes.ai/\",\\n      \"logo\": {\\n        \"@type\": \"ImageObject\",\\n        \"url\": \"https://landing.mybabes.ai/logo.png\"\\n      }\\n    }\\n  ]\\n}\\n</script>\\n',description:getLocalizedValue(\"v1\",activeLocale)??\"MyBabes.ai is the ultimate AI NSFW platform, letting you create AI-generated porn, design custom AI girlfriends, and chat with interactive AI companions. Unlimited pleasure, no limits\u2014just pure AI-driven fantasy at your fingertips.\",favicon:\"https://framerusercontent.com/assets/qW4AkyKgYHcUjp5Y5xda8IQrE8Q.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/YmlBj38GWgwPF3u7m6IjflMSQt8.png\",title:getLocalizedValue(\"v0\",activeLocale)??\"mybabes.ai\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "AACA,IAAMA,EAAiB,CAAC,UAAU,CAAC,GAAG,aAAa,GAAG,kRAAkR,EAAE,UAAU,CAAC,GAAG,aAAa,GAAG,kTAAkT,CAAC,EAAE,SAASC,EAAkBC,EAAIC,EAAO,CAAC,KAAMA,GAAO,CAAC,IAAMC,EAAOJ,EAAiBG,EAAO,EAAE,EAAE,GAAGC,EAAO,CAAC,IAAMC,EAAMD,EAAOF,CAAG,EAAE,GAAGG,EAAM,OAAOA,CAAM,CAACF,EAAOA,EAAO,QAAS,CAAC,CAAgB,SAARG,EAA0BC,EAAOC,EAAa,CAAC,MAAM,CAAC,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAA49E,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAokF,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAy8B,YAAYP,EAAkB,KAAKO,CAAY,GAAG,+OAA0O,QAAQ,uEAAuE,OAAO,0BAA0B,YAAY,uEAAuE,MAAMP,EAAkB,KAAKO,CAAY,GAAG,YAAY,CAAE",
  "names": ["valuesByLocaleId", "getLocalizedValue", "key", "locale", "values", "value", "metadata", "params", "activeLocale"]
}
