It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: https://share.hsforms.com/1h3ZgEAs7SAqRbknpXU4mygqsapp

  1. <!DOCTYPE html><html lang="en"><head><meta charSet="UTF-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><link rel="preconnect" href="https://static.hsappstatic.net" crossorigin="anonymous"/><script>(function() {
  2.    const SILO_ACCESSOR=Symbol.for("silo_v1");function makeScopedState(...e){return{values:new Map(e),watchers:new Map}}function getBuildTimePropertyNames(){return{copilotLayoutType:"copilot_layout_type",currentPackageName:"current_package_name",currentPackageVersion:"current_package_version",rootPackageName:"root_package_name",rootPackageVersion:"root_package_version"}}function getGlobalState(e=window){return e[SILO_ACCESSOR]}function initialize(e,a,t){var o;if(getGlobalState())throw Error("Global state already initialized");let r=window;for(;r.parent!==r;)try{r.parent.document;r=r.parent;if(getGlobalState(r.parent))break}catch(e){break}const{copilotLayoutType:n,currentPackageName:c,currentPackageVersion:i,rootPackageName:l,rootPackageVersion:S}=getBuildTimePropertyNames();window[SILO_ACCESSOR]={TAB:(null===(o=r[SILO_ACCESSOR])||void 0===o?void 0:o.TAB)||makeScopedState([l,e],[S,a]),BROWSING_CONTEXT:makeScopedState([c,e],[i,a],[n,t])}}
  3.    initialize('ui-forms-embed-components-app-legacy','dev', 'undefined')})();</script><title>Form</title><meta name="viewport" content="width=device-width, initial-scale=1"/><meta name="robots" content="noindex, nofollow"/><meta name="googlebot" content="noindex"/><link rel="dns-prefetch" href="https://fonts.gstatic.com"/><link rel="dns-prefetch" href="https://forms.hsforms.com"/><style>
  4.          body {
  5.            margin: 0;
  6.            background: #f4f8fa;
  7.          }
  8.  
  9.          .container {
  10.            display: none;
  11.            width: 800px;
  12.            margin: 0 auto;
  13.            margin-top: 30px;
  14.          }
  15.  
  16.          .skip-to-form {
  17.            left: -9999px;
  18.            position: absolute;
  19.          }
  20.  
  21.          @media only screen and (max-width: 800px) {
  22.            .container {
  23.              width: 100%;
  24.            }
  25.          }
  26.  
  27.          .container.loaded,
  28.          .container.error {
  29.            display: block;
  30.          }
  31.  
  32.          .container.loaded {
  33.            background: #fff;
  34.            box-shadow: 0 4px 8px 0 rgba(53, 105, 128, 0.3), 0 6px 20px 0 rgba(165, 200, 213, 0.41);
  35.          }
  36.  
  37.          #form-target {
  38.            padding: 40px;
  39.          }
  40.  
  41.          .hs-form_free.hs-form__thankyou-message {
  42.            font-size: 38px;
  43.            text-align: center;
  44.          }
  45.  
  46.          .hs-form_free.hs-form__thankyou-message .hs-form__virality__link {
  47.            font-size: 18px;
  48.            margin-top: 240px;
  49.            line-height: 60px;
  50.          }
  51.  
  52.          .hs-form_free.hs-form__thankyou-message .hs-form__virality__link__sproket {
  53.            width: 60px;
  54.            height: 60px;
  55.          }
  56.  
  57.          .hs-form_free.hs-form__thankyou-message:before {
  58.            display: block;
  59.            content: url(//static.hsappstatic.net/ui-forms-embed-components-app-legacy/static-1.97/img/success-green.svg);
  60.            width: 130px;
  61.            height: 201px;
  62.            padding-top: 28px;
  63.            margin: 0 auto;
  64.          }
  65.        </style><script>
  66.    window.disabledHsPopups = ['ADS', 'LEADFLOW', 'LIVE_CHAT', 'FEEDBACK', 'CALLS_TO_ACTION'];
  67.  </script><script>!function(){"use strict";const r=/\/([a-z0-9\-_]+)\/?([?#].*)?$/i,t=[["-","+"],["_","/"]],o=1,n=22,e=r=>/^[{]?[0-9a-fA-F]{8}-?([0-9a-fA-F]{4}-?){3}[0-9a-fA-F]{12}[}]?$/.test(r),i=r=>{const o=t.reduce(((r,t)=>r.replaceAll(t[0],t[1])),r);return[...Uint8Array.from(atob(o),(r=>r.charCodeAt(0)))].map((r=>(r+256).toString(16).slice(-2))).reduce(((r,t,o)=>{4!==o&&6!==o&&8!==o&&10!==o||(r+="-");return r+t}),"")},s=r=>{var o;const n=(null===(o=r.replace(/[^a-fA-F0-9]/g,"").match(/.{2}/g))||void 0===o?void 0:o.map((r=>parseInt(r,16))))||[],e=btoa(String.fromCharCode(...n)).substring(0,22);return t.reduce(((r,[t,o])=>r.replaceAll(o,t)),e)},a=r=>r.hostname.split(".").length>3,u=r=>r.hostname.split(".")[0],c=t=>{var o;return(null===(o=r.exec(t.href))||void 0===o?void 0:o[1])||""},l=r=>{const t=parseInt(r,36);return isNaN(t)?"":t.toString()},d=r=>{const t=i(r);return e(t)?t:""},f=r=>a(r)?u(r):c(r).substring(n+o),h=r=>a(r)?c(r).substring(o):c(r).substring(o,n+o),m=r=>({formId:d(h(r)),portalId:l(f(r))}),p=(r,t,o)=>`${r}${s(t)}${Number(o).toString(36)}`,w=/^[^/]+\/\/[^/]+\/([0-9]+)\/([a-z0-9-]+)/i,g="test-share";function b(){return/(hubspot|hsforms)(qa).com/.test(window.location.href)}function F(){try{return!/(test.html|test-share)/.test(window.location.href)&&/(hubspot|hsforms)(qa)?.com/.test(window.location.href)}catch(r){return!1}}function I(r){return w.test(r)}function S(){return I(window.location.href)}function v(){return window.location.hostname.split(".")[0].split("-")[1]||""}function $(r){const t=w.exec(r),o={portalId:null,formGuid:null};if(t&&t[1]&&t[2]){o.portalId=parseInt(t[1],10);o.formGuid=t[2]}return o}function A(){return window.location.href.replace(`/${g}`,"")}function q(){if(S())return{portalId:$(window.location.href).portalId,formGuid:$(window.location.href).formGuid,region:v()};const r=new URL(A());return{portalId:m(r).portalId,formGuid:m(r).formId,region:v()}}function y(){const r=q();return`${window.shareHsFormsUrl}/${p("1",r.formGuid,r.portalId.toString())}`}function G(){return F()?y():window.location.href}const C=window,H=()=>{C._hsq.push(["setCanonicalUrl",G()]);C.HubSpotForms.onFormReady((()=>{var r;C.HubSpotForms.currentForm.setContext({pageUrl:`${y()}${C.location.search}`});null===(r=document.querySelector(".container"))||void 0===r||r.classList.add("loaded")}));C.HubSpotForms.onRenderError((()=>{var r;null===(r=document.querySelector(".container"))||void 0===r||r.classList.add("error")}))};(()=>{C.hsFormsOnReady=[];C._hsq=C._hsq||[];C.isQa=b();C.isLocal="local"===C.location.hostname.split(".")[0];C.HubSpotForms?H():C.hsFormsOnReady.push(H)})()}();
  68.      //# sourceURL=//static.hsappstatic.net/ui-forms-embed-components-app-legacy/static-1.97/bundles/project.js</script><script>
  69.      (function (isQa, isLocal) {
  70.        var getHubletSuffixFromUrl = function () {
  71.          var host = window.location.hostname;
  72.          return host.indexOf('-') !== -1
  73.            ? host.split('.')[0].substring(host.indexOf('-'))
  74.            : '';
  75.        };
  76.  
  77.        var protocol = 'https://';
  78.        var hubletSuffix = getHubletSuffixFromUrl();
  79.        var qaSuffix = isQa ? 'qa' : '';
  80.  
  81.        var domainBuilders = {
  82.          'js.hsforms.net': function () {
  83.            return protocol + 'js' + hubletSuffix + '.hsforms' + qaSuffix + '.net';
  84.          },
  85.          'forms.hsforms.com': function () {
  86.            return protocol + 'forms' + hubletSuffix + '.hsforms' + qaSuffix + '.com';
  87.          },
  88.          'share.hsforms.com': function () {
  89.            return protocol + 'share' + hubletSuffix + '.hsforms' + qaSuffix + '.com';
  90.          },
  91.          'js.hs-scripts.com': function () {
  92.            return protocol + 'js' + hubletSuffix + '.hs-scripts' + qaSuffix + '.com';
  93.          },
  94.          'api.hubspot.com': function () {
  95.            return protocol + 'api' + hubletSuffix + '.hubspot' + qaSuffix + '.com';
  96.          },
  97.          'local.hsformsqa.com': function () {
  98.            return 'https://local.hsappstatic.net/forms-embed/static/bundles/project-v3.js'
  99.          }
  100.        };
  101.  
  102.        window.apiHubspotUrl = domainBuilders['api.hubspot.com']();
  103.        window.formsHsFormsUrl = domainBuilders['forms.hsforms.com']();
  104.        window.shareHsFormsUrl = domainBuilders['share.hsforms.com']();
  105.        window.jsHsFormsUrl = domainBuilders[ isLocal ? 'local.hsformsqa.com' : 'js.hsforms.net']();
  106.        window.jsHsScriptsUrl = domainBuilders['js.hs-scripts.com']();
  107.      })(window.isQa, window.isLocal);
  108.    </script><script>
  109.      (function (jsHsFormsUrl, isLocal) {
  110.        var scriptJs = document.createElement('script');
  111.  
  112.        var hsVersion =
  113.          (window.location.search.match(/[?&]{1}_hsVersion=([^&#]*)/) || [])[1] ||
  114.          'v3';
  115.  
  116.        scriptJs.type = 'text/javascript';
  117.        scriptJs.src = isLocal ? jsHsFormsUrl :  jsHsFormsUrl + '/forms/embed/' + hsVersion + '.js';
  118.        scriptJs.async = true;
  119.        scriptJs.defer = true;
  120.  
  121.        document.head.appendChild(scriptJs);
  122.      })(window.jsHsFormsUrl, window.isLocal);
  123.    </script><script>window.hs_RequestParams = {}</script><script>
  124.    (function (RequestParams) {
  125.      var LEGACY_UUID_IDENTIFIER = '-';
  126.      var BYTE_TO_HEX_MAP = [];
  127.      var BASE64_URL_SAFE_MAP = [
  128.        ['+', '-'],
  129.        ['/', '_'],
  130.      ];
  131.      var requestObj;
  132.  
  133.      function generateHexMap() {
  134.        var result = [];
  135.        var index;
  136.        for (index = 0; index < 256; index++) {
  137.          result.push((index + 0x100).toString(16).substr(1));
  138.        }
  139.        return result;
  140.      }
  141.  
  142.      BYTE_TO_HEX_MAP = generateHexMap();
  143.  
  144.      function base64ToArrayBuffer(base64) {
  145.        var binaryString = window.atob(base64);
  146.        var result = [];
  147.        var index;
  148.        for (index = 0; index < binaryString.length; index++) {
  149.          result.push(binaryString.charCodeAt(index));
  150.        }
  151.        return new window.Uint8Array(result);
  152.      }
  153.  
  154.      function getVersionFromSymbol(symbol) {
  155.        return (
  156.          parseInt(symbol, 36) +
  157.          (isNaN(symbol * 1) && symbol === symbol.toUpperCase() ? 26 : 0)
  158.        );
  159.      }
  160.  
  161.      function bytesToUuid(buf, offset) {
  162.        var i = offset || 0;
  163.        return [
  164.          BYTE_TO_HEX_MAP[buf[i++]],
  165.          BYTE_TO_HEX_MAP[buf[i++]],
  166.          BYTE_TO_HEX_MAP[buf[i++]],
  167.          BYTE_TO_HEX_MAP[buf[i++]],
  168.          '-',
  169.          BYTE_TO_HEX_MAP[buf[i++]],
  170.          BYTE_TO_HEX_MAP[buf[i++]],
  171.          '-',
  172.          BYTE_TO_HEX_MAP[buf[i++]],
  173.          BYTE_TO_HEX_MAP[buf[i++]],
  174.          '-',
  175.          BYTE_TO_HEX_MAP[buf[i++]],
  176.          BYTE_TO_HEX_MAP[buf[i++]],
  177.          '-',
  178.          BYTE_TO_HEX_MAP[buf[i++]],
  179.          BYTE_TO_HEX_MAP[buf[i++]],
  180.          BYTE_TO_HEX_MAP[buf[i++]],
  181.          BYTE_TO_HEX_MAP[buf[i++]],
  182.          BYTE_TO_HEX_MAP[buf[i++]],
  183.          BYTE_TO_HEX_MAP[buf[i++]],
  184.        ].join('');
  185.      }
  186.  
  187.      function unescapeBase64(b64) {
  188.        return BASE64_URL_SAFE_MAP.reduce(function (t, v) {
  189.          return t.split('').map(c => c === v[1] ? v[0] : c).join('');
  190.        }, b64);
  191.      }
  192.  
  193.      function B64ToUuid(b64) {
  194.        return bytesToUuid(base64ToArrayBuffer(b64));
  195.      }
  196.  
  197.      function decodeFormToken(encodedString) {
  198.        var legacyUuid = encodedString.charAt(0) === LEGACY_UUID_IDENTIFIER;
  199.        var offset = legacyUuid ? 2 : 1;
  200.        var formGuid = B64ToUuid(
  201.          unescapeBase64(encodedString.substring(offset, 22 + offset))
  202.        );
  203.        return {
  204.          formId: legacyUuid ? formGuid.replace(/-/g, '') : formGuid,
  205.          portalId: parseInt(encodedString.substring(22 + offset), 36),
  206.          version: getVersionFromSymbol(encodedString.charAt(offset - 1)),
  207.        };
  208.      }
  209.  
  210.      function getHubletFromUrl() {
  211.        var subdomain = window.location.hostname.split('.')[0];
  212.        var hublet = subdomain.split('-')[1];
  213.        return hublet || '';
  214.      }
  215.  
  216.      function getPathParams() {
  217.        var pathParams = window.location.pathname.split('/');
  218.        return pathParams.filter(function (param) {
  219.          return param !== '' && param.indexOf('test-') === -1;
  220.        });
  221.      }
  222.  
  223.      function parseRequestParamsFromUrl() {
  224.        var pathParams = getPathParams();
  225.        var token = pathParams[0];
  226.        var isPortalAndFormUrl = pathParams.length === 2;
  227.        var requestParams;
  228.  
  229.        if (isPortalAndFormUrl) {
  230.          return {
  231.            region: getHubletFromUrl(),
  232.            portalId: pathParams[0],
  233.            formId: pathParams[1],
  234.          };
  235.        }
  236.  
  237.        requestParams = decodeFormToken(token);
  238.        requestParams.region = getHubletFromUrl();
  239.  
  240.        return requestParams;
  241.      }
  242.  
  243.      // Get Form request params hash from url
  244.      requestObj = parseRequestParamsFromUrl();
  245.  
  246.      // Set to global
  247.      RequestParams.portalId = requestObj.portalId;
  248.      RequestParams.formId = requestObj.formId;
  249.      RequestParams.region = requestObj.region;
  250.      RequestParams.version = requestObj.version;
  251.    })(window.hs_RequestParams);
  252.    </script><script>
  253.  (function (requestParams, formsReadyQueue, isQa) {
  254.    var context;
  255.    var create;
  256.    var instance;
  257.    const versionMap = new Map([[1, "1.0"], [2, "2.0"]])
  258.    const { url, formId, portalId, region, version } = requestParams
  259.  
  260.    context = {
  261.      embedDefinitionUrl: url,
  262.      formId: formId,
  263.      portalId: portalId,
  264.      region: region,
  265.      target: '#form-target',
  266.      ...(version && versionMap.get(version) && {
  267.        __INTERNAL__CONTEXT: {
  268.          editorVersion: versionMap.get(version)
  269.        }
  270.      }),
  271.    };
  272.  
  273.    if (isQa) {
  274.      context['env'] = 'qa';
  275.    }
  276.  
  277.    function updateHtmlLang() {
  278.      var form = document.querySelector('.hs-form-' + context.formId);
  279.      var formLang = form.lang;
  280.  
  281.      if (formLang) {
  282.        document.documentElement.setAttribute('lang', formLang);
  283.      }
  284.    }
  285.  
  286.    function scrollToTop() {
  287.      try {
  288.        window.scrollTo({ top: 0, behavior: 'smooth' });
  289.      } catch (e) {
  290.        window.scrollTo(0, 0);
  291.      }
  292.    }
  293.  
  294.    create = function () {
  295.      instance = window.hbspt.forms.create(context);
  296.      instance.on('onFormReady', updateHtmlLang);
  297.      instance.on('onPageChange', scrollToTop);
  298.      window.HubSpotForms.currentForm = instance;
  299.    };
  300.  
  301.    formsReadyQueue.push(create);
  302.  })(window.hs_RequestParams, window.hsFormsOnReady, window.isQa);
  303.  
  304.  </script><meta name="author" content="HubSpot, Inc."/><link rel="apple-touch-icon" sizes="180x180" href="//static.hsappstatic.net/StyleGuideUI/static-3.472/img/sprocket/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="//static.hsappstatic.net/StyleGuideUI/static-3.472/img/sprocket/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="//static.hsappstatic.net/StyleGuideUI/static-3.472/img/sprocket/favicon-16x16.png"/><link rel="mask-icon" href="//static.hsappstatic.net/StyleGuideUI/static-3.472/img/sprocket/safari-pinned-tab.svg" color="#FF7A59"/><meta name="msapplication-TileColor" content="#2b5797"/></head><body><a id="skip-to-form" href="#main" style="left:-9999px;position:absolute">Skip to form</a><main id="main"><div class="container"><div id="form-target"></div></div></main><script>
  305.      (function (requestParams, jsHsScriptsUrl) {
  306.        var script = document.createElement('script');
  307.        var shouldSkipScriptLoader;
  308.        var regex;
  309.        var results;
  310.  
  311.        function getParameterByName(name, url) {
  312.          if (!url) {
  313.            url = window.location.href;
  314.          }
  315.          name = name.replace(/[[]]/g, '$&');
  316.          regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)');
  317.          results = regex.exec(url);
  318.          if (!results) return null;
  319.          if (!results[2]) return '';
  320.          return decodeURIComponent(results[2].replace(/\+/g, ' '));
  321.        }
  322.  
  323.        shouldSkipScriptLoader = getParameterByName('hs_skipScriptLoader');
  324.        if (!shouldSkipScriptLoader) {
  325.          script.type = 'text/javascript';
  326.          script.id = 'hs-script-loader';
  327.          script.async = true;
  328.          script.defer = true;
  329.          script.src = jsHsScriptsUrl + '/' + requestParams.portalId + '.js';
  330.          document.body.appendChild(script);
  331.        }
  332.      })(window.hs_RequestParams, window.jsHsScriptsUrl);
  333.    </script></body></html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda