{"version":3,"file":"shared-lib.Cut0MuNC.mjs","names":[],"sources":["https:/framerusercontent.com/modules/of0NUUNY0fsh5vt2ZnnI/diYmlXYc4kB9ghawGJRK/siteMetadata.js"],"sourcesContent":["// Generated by Framer (569b461)\nexport default function metadata(params,activeLocale){return{customHTMLBodyEnd:\"<script>\\n    (function() {\\n        // ============ Config ============\\n        var TYPEFORM_HOST = 'typeform.com';\\n        var FP_PARAM_KEY = 'fp_visitorId'; // match your Typeform hidden field name\\n        var EXCEPTIONS = ['mailto:', 'tel:', 'javascript:', 'sms:', 'geo:'];\\n        var lastVisitorId = null;\\n\\n        // ============ Helpers (no regex literals) ============\\n        function parseQuery(q) {\\n            var params = {};\\n            if (!q) return params;\\n            var pairs = q.split('&');\\n            for (var i = 0; i < pairs.length; i++) {\\n                var pair = pairs[i];\\n                if (!pair) continue;\\n                var eqIdx = pair.indexOf('=');\\n                var key = eqIdx === -1 ? pair : pair.slice(0, eqIdx);\\n                var val = eqIdx === -1 ? '' : pair.slice(eqIdx + 1);\\n                params[key] = val;\\n            }\\n            return params;\\n        }\\n\\n        function getQueryStringFromUrlish(urlish) {\\n            if (!urlish) return '';\\n            if (urlish.charAt(0) === '?') return urlish.length > 1 ? urlish.slice(1) : '';\\n            var qm = urlish.indexOf('?');\\n            if (qm === -1) return '';\\n            var hash = urlish.indexOf('#');\\n            if (hash !== -1 && hash < qm) return '';\\n            return (hash === -1) ? urlish.slice(qm + 1) : urlish.slice(qm + 1, hash);\\n        }\\n\\n        function getUrlParams(urlish) {\\n            return parseQuery(getQueryStringFromUrlish(urlish));\\n        }\\n\\n        function serializeParams(params) {\\n            var out = [];\\n            for (var k in params) {\\n                if (Object.prototype.hasOwnProperty.call(params, k)) {\\n                    out.push(k + '=' + encodeURIComponent(params[k]));\\n                }\\n            }\\n            return out.join('&');\\n        }\\n\\n        function isExceptionHref(href) {\\n            if (!href) return true;\\n            for (var i = \\n\\n0; i < EXCEPTIONS.length; i++) {\\n                if (href.indexOf(EXCEPTIONS[i]) !== -1) return true;\\n            }\\n            return false;\\n        }\\n\\n        function isTypeformHref(href) {\\n            return href && href.indexOf(TYPEFORM_HOST) !== -1;\\n        }\\n\\n        function buildCombinedParams(href, extraParams) {\\n            var pageParams = getUrlParams(window.location.search);\\n            var linkParams = getUrlParams(href);\\n            var combined = {};\\n            var key;\\n\\n            // 1) Link params take precedence\\n            for (key in linkParams) {\\n                if (Object.prototype.hasOwnProperty.call(linkParams, key)) {\\n                    combined[key] = linkParams[key];\\n                }\\n            }\\n            // 2) Add page params if not present\\n            for (key in pageParams) {\\n                if (Object.prototype.hasOwnProperty.call(pageParams, key) && !linkParams.hasOwnProperty(key)) {\\n                    combined[key] = pageParams[key];\\n                }\\n            }\\n            // 3) Extra params (e.g., fp_visitorId) if not present\\n            if (extraParams && typeof extraParams === 'object') {\\n                for (key in extraParams) {\\n                    if (Object.prototype.hasOwnProperty.call(extraParams, key) && !combined.hasOwnProperty(key)) {\\n                        combined[key] = extraParams[key];\\n                    }\\n                }\\n            }\\n            // 4) Always set upload_source\\n            combined.upload_source = window.location.hostname + window.location.pathname;\\n\\n            return combined;\\n        }\\n\\n        function rewriteHrefWithParams(href, params) {\\n            var serialized = serializeParams(params);\\n            var hashIndex = href.indexOf('#');\\n            var base = href;\\n            var hash = '';\\n            if (hashIndex !== -1) {\\n                base = href.slice(0, hashIndex);\\n                hash = href.slice(hashIndex);\\n            }\\n            var qm = base.indexOf('?');\\n            if (qm !== -1) base = base.slice(0, qm);\\n            return base + '?' + serialized + hash;\\n        }\\n\\n        function decorateAnchor(anchor, extraParams) {\\n            if (!anchor || !anchor.getAttribute) return;\\n            var href = anchor.getAttribute('href');\\n            if (!href || isExceptionHref(href) || !isTypeformHref(href)) return;\\n            var combined = buildCombinedParams(href, extraParams);\\n            var newHref = rewriteHrefWithParams(href, combined);\\n            anchor.setAttribute('href', newHref);\\n        }\\n\\n        function decorateAll(extraParams) {\\n            var anchors = document.querySelectorAll ? document.querySelectorAll('a[href*=\\\"typeform.com\\\"]') : [];\\n            for (var i = 0; i < anchors.length; i++) {\\n                decorateAnchor(anchors[i], extraParams);\\n            }\\n        }\\n\\n        // Observe dynamically added Typeform links\\n        function observeNewLinks() {\\n            if (!('MutationObserver' in window)) return;\\n            var observer = new MutationObserver(function(mutations) {\\n                for (var i = 0; i < mutations.length; i++) {\\n                    var m = mutations[i];\\n                    if (m.type !== 'childList' || !m.addedNodes || !m.addedNodes.length) continue;\\n                    for (var j = 0; j < m.addedNodes.length; j++) {\\n                        var node =\\n\\n m.addedNodes[j];\\n                        if (!node || node.nodeType !== 1) continue;\\n\\n                        if (node.tagName === 'A' && node.hasAttribute && node.hasAttribute('href') && isTypeformHref(node.getAttribute('href'))) {\\n                            var extra = lastVisitorId ? (function(){ var o={}; o[FP_PARAM_KEY]=lastVisitorId; return o; })() : null;\\n                            decorateAnchor(node, extra);\\n                        }\\n                        var inner = node.querySelectorAll ? node.querySelectorAll('a[href*=\\\"typeform.com\\\"]') : [];\\n                        for (var k = 0; k < inner.length; k++) {\\n                            var extra2 = lastVisitorId ? (function(){ var o2={}; o2[FP_PARAM_KEY]=lastVisitorId; return o2; })() : null;\\n                            decorateAnchor(inner[k], extra2);\\n                        }\\n                    }\\n                }\\n            });\\n            observer.observe(document.documentElement || document.body, { childList: true, subtree: true });\\n        }\\n\\n        // Click-time safeguard: ensure fp_visitorId is present right before navigation\\n        function attachClickSafeguard() {\\n            document.addEventListener('click', function(ev) {\\n                var a = ev.target;\\n                while (a && a.nodeType === 1 && a.tagName !== 'A') a = a.parentNode;\\n                if (!a || a.tagName !== 'A') return;\\n\\n                var href = a.getAttribute('href');\\n                if (!href || isExceptionHref(href) || !isTypeformHref(href)) return;\\n\\n                if (lastVisitorId) {\\n                    var extra = {}; extra[FP_PARAM_KEY] = lastVisitorId;\\n                    var combined = buildCombinedParams(href, extra);\\n                    var newHref = rewriteHrefWithParams(href, combined);\\n                    if (newHref !== href) a.setAttribute('href', newHref);\\n                }\\n            }, true);\\n        }\\n\\n        function waitForFingerprintAndDecorate() {\\n            function tryAttach() {\\n                if (window.fpPromise && typeof window.fpPromise.then === 'function') {\\n                    window.fpPromise\\n                        .then(function(fp) { return fp.get(); })\\n                        .then(function(result) {\\n                            lastVisitorId = (result && result.visitorId) ? result.visitorId : null;\\n                            if (lastVisitorId) {\\n                                var extra = {}; extra[FP_PARAM_KEY] = lastVisitorId;\\n                                decorateAll(extra);\\n                            }\\n                        })\\n                        .catch(function(err) {\\n                            if (window.console && console.warn) console.warn('FingerprintJS error:', err);\\n                        });\\n                } else {\\n                    setTimeout(tryAttach, 100);\\n                }\\n            }\\n            tryAttach();\\n        }\\n\\n        function init() {\\n            decorateAll(null);        // UTMs + upload_source first\\n            observeNewLinks();        // Handle dynamic links\\n            attachClickSafeguard();   // Ensure UID at click time\\n            waitForFingerprintAndDecorate(); // Add fp_visitorId when ready\\n        }\\n\\n        if (document.readyState === 'loading') {\\n            document.addEventListener('DOMContentLoaded', init);\\n        } else {\\n            init();\\n        }\\n    })();\\n</script>\\n\",customHTMLBodyStart:'<!-- Google Tag Manager (noscript) -->\\n<noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id=GTM-PVK7HH5R\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>\\n<!-- End Google Tag Manager (noscript) -->',customHTMLHeadEnd:'<script src=\"https://cmp.osano.com/Azz8HVUWCRD9tDMaT/4d5dad08-afd9-4133-bccc-4165cc27d198/osano.js\"></script>',customHTMLHeadStart:\"<script>\\n    (function() {\\n        if (window.__fpLoaderInitialized) return;  // prevent double init\\n        window.__fpLoaderInitialized = true;\\n\\n        // Only create fpPromise if not present\\n        if (!window.fpPromise) {\\n            try {\\n                window.fpPromise = import('https://fpjscdn.net/v3/VWFL3UAi7rjj9mf2ZrZK')\\n                    .then(function(FingerprintJS) { return FingerprintJS.load(); });\\n            } catch (e) {\\n                console.warn('Fingerprint dynamic import failed', e);\\n                window.fpPromise = Promise.reject(e);\\n            }\\n        }\\n        // IMPORTANT: Do NOT call fp.get() in the header.\\n        // The decorator will call fp.get() exactly once when needed.\\n    })();\\n</script>\\n\\n<!-- Google Tag Manager -->\\n<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\\nnew Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\\nj=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\\n'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\\n})(window,document,'script','dataLayer','GTM-PVK7HH5R');</script>\\n<!-- End Google Tag Manager -->\\n\",description:\"We help survivors connect with trusted legal support. We’re here to guide you with care, protect your rights, and help you take the next step toward justice.\",favicon:\"https://framerusercontent.com/assets/xYEUk0iauPJSOlBR7GlCSyJYRg.png\",robots:\"max-image-preview:large\",title:\"uslegaljustice.com\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"oDACA,SAAwB,EAAS,EAAO,EAAa,CAAC,MAAM,CAAC,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAirR,oBAAoB;;4CAAwP,kBAAkB,iHAAgH,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyqC,YAAY,gKAAgK,QAAQ,sEAAsE,OAAO,0BAA0B,MAAM,qBAAqB"}