{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/8AqTFu96ZDGalpZ39bLx/NhAtjYlnRseOvycPUzbM/augiA20Il.js"],
  "sourcesContent": ["import siteMetadata from \"https://framerusercontent.com/modules/48MAutQYMVDPALtpHVim/VYCjhKXRgpgmYEuu4MOH/siteMetadata.js\";\nconst metadata = params => ({\n  bodyClassName: \"framer-body-augiA20Il\",\n  breakpoints: [{\n    hash: \"72rtr7\",\n    mediaQuery: \"(min-width: 1440px)\"\n  }, {\n    hash: \"8pmkv8\",\n    mediaQuery: \"(min-width: 1080px) and (max-width: 1439px)\"\n  }, {\n    hash: \"11pv6sy\",\n    mediaQuery: \"(min-width: 768px) and (max-width: 1079px)\"\n  }, {\n    hash: \"11qy42w\",\n    mediaQuery: \"(max-width: 767px)\"\n  }],\n  customHTMLHeadEnd: \"<script>\\n\tdocument.addEventListener('DOMContentLoaded', function (event) {\\n\t\t// Get all video elements on the page\\n\t\tconst videos = document.querySelectorAll('video');\\n\\n\t\t// Move the 'src' attribute to 'data-src' for each video\\n\t\tvideos.forEach((video) => {\\n\t\t\tconst src = video.getAttribute('src');\\n\t\t\tif (src) {\\n\t\t\t\tvideo.setAttribute('data-src', src);\\n\t\t\t\tvideo.removeAttribute('src');\\n\t\t\t}\\n\t\t});\\n\\n\t\t// Callback function to load video when it becomes visible\\n\t\tconst loadVideo = (entries, observer) => {\\n\t\t\tentries.forEach((entry) => {\\n\t\t\t\tif (entry.isIntersecting) {\\n\t\t\t\t\t// if the video is visible\\n\t\t\t\t\tconst video = entry.target;\\n\t\t\t\t\tconst dataSrc = video.getAttribute('data-src');\\n\t\t\t\t\tif (dataSrc) {\\n\t\t\t\t\t\tvideo.src = dataSrc;\\n\t\t\t\t\t\tvideo.play().catch(error => {});\\n\t\t\t\t\t}\\n\t\t\t\t\tobserver.unobserve(video); // stop observing once loaded\\n\t\t\t\t}\\n\t\t\t});\\n\t\t};\\n\\n\t\t// Create a new IntersectionObserver instance with the callback and options\\n\t\tconst observer = new IntersectionObserver(loadVideo, {\\n\t\t\troot: null,\\n\t\t\trootMargin: '0px',\\n\t\t\tthreshold: 0.1 // adjust this if you want the video to load a bit before it's fully in view\\n\t\t});\\n\\n\t\t// Start observing all videos\\n\t\tvideos.forEach((video) => observer.observe(video));\\n\t});\\n</script>\",\n  elements: {\n    aPHOEfBHU: \"pricing\",\n    bWWpWWW4Y: \"playground\",\n    esOLrTcS4: \"faq\",\n    NyVJEMAG8: \"features\",\n    QCgDwysW5: \"playground-1\",\n    ufmWytBp8: \"features-1\"\n  },\n  title: siteMetadata(params).title || \"Home\",\n  viewport: \"width=device-width\"\n});\nexport default metadata;\nexport const metadataVersion = 1;\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"metadataVersion\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"default\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};"],
  "mappings": "yCACA,IAAMA,EAAWC,IAAW,CAC1B,cAAe,wBACf,YAAa,CAAC,CACZ,KAAM,SACN,WAAY,qBACd,EAAG,CACD,KAAM,SACN,WAAY,6CACd,EAAG,CACD,KAAM,UACN,WAAY,4CACd,EAAG,CACD,KAAM,UACN,WAAY,oBACd,CAAC,EACD,kBAAmB;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,YACnB,SAAU,CACR,UAAW,UACX,UAAW,aACX,UAAW,MACX,UAAW,WACX,UAAW,eACX,UAAW,YACb,EACA,MAAOC,EAAaD,CAAM,EAAE,OAAS,OACrC,SAAU,oBACZ,GACOE,EAAQH,EACFI,EAAkB,EAClBC,EAAqB,CAChC,QAAW,CACT,gBAAmB,CACjB,KAAQ,WACR,YAAe,CACb,sBAAyB,GAC3B,CACF,EACA,QAAW,CACT,KAAQ,WACR,YAAe,CACb,sBAAyB,GAC3B,CACF,EACA,mBAAsB,CACpB,KAAQ,UACV,CACF,CACF",
  "names": ["metadata", "params", "siteMetadata_default", "augiA20Il_default", "metadataVersion", "__FramerMetadata__"]
}
