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://conecta.bio/thicongalu

  1. <!DOCTYPE html>
  2. <html lang="pt-br" class="link-html" dir="ltr">
  3. <head>
  4. <title>Thi công ốp mặt dựng tấm alu giá rẻ tại TPHCM | Link da bio</title>
  5. <base href="https://conecta.bio/">
  6. <meta charset="UTF-8">
  7. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
  8. <meta charset="utf-8">
  9. <meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport" />
  10. <meta content="Conecta Bio" name="author">
  11. <meta content="IE=edge" http-equiv="X-UA-Compatible">
  12. <meta content="kt4rWgAnTJMCrFy_hGRXwnO2OC0pue-C123ewQSslTI" name="google-site-verification">
  13. <meta content="https://www.facebook.com/conectabemoficial" property="article:publisher">
  14. <meta content="index, follow" name="googlebot">
  15. <meta content="Conecta Bio" name="author">
  16. <meta content="pt_BR" property="og:locale">
  17. <meta content="Conecta Bio" property="og:site_name">
  18. <meta content="image/png" property="og:image:type">
  19. <meta content="1013" property="og:image:width">
  20. <meta content="616" property="og:image:height">
  21. <meta content="summary" name="twitter:card">
  22. <meta content="@conectabemoficial" name="twitter:site">
  23. <meta content="@conectabemoficial" name="twitter:creator">
  24.  
  25. <meta name="keywords" content="Thi công alu TPHCM" />
  26. <meta content="Thi công ốp mặt dựng tấm alu giá rẻ tại TPHCM" name="description">
  27. <meta content="Thi công ốp mặt dựng tấm alu giá rẻ tại TPHCM | Link da bio" property="og:title">
  28. <meta content="Thi công ốp mặt dựng tấm alu giá rẻ tại TPHCM" property="og:description">
  29. <meta content="https://cdn.conecta.bio/img/pages.png" property="og:image">
  30. <meta content="Thi công ốp mặt dựng tấm alu giá rẻ tại TPHCM | Link da bio" name="twitter:title">
  31. <meta content="Thi công ốp mặt dựng tấm alu giá rẻ tại TPHCM" name="twitter:description">
  32. <script type="application/ld+json">
  33. {
  34.    "@context":"https://schema.org",
  35.    "@type":"WebPage",
  36.    "url":"https://conecta.bio/thicongalu",
  37.    "name":"Thi công ốp mặt dựng tấm alu giá rẻ tại TPHCM | Link da bio",
  38.    "description":"Thi công ốp mặt dựng tấm alu giá rẻ tại TPHCM",
  39.    "image": {
  40.        "@type":"ImageObject",
  41.        "url":"https://cdn.conecta.bio/img/pages.png",
  42.        "width":1013,
  43.        "height":616,
  44.        "caption":"Thi công ốp mặt dựng tấm alu giá rẻ tại TPHCM | Link da bio",
  45.        "thumbnail": "https://cdn.conecta.bio/img/pages.png"
  46.    },
  47.    "isPartOf": {
  48.        "@type":"WebSite",
  49.        "name":"Link da bio grátis para Instagram e TikTok | Conecta Bio",
  50.        "url":"https://conecta.bio/"
  51.    },
  52.    "softwareApplication": {
  53.        "@type": "SoftwareApplication",
  54.        "name": "Link da bio grátis para Instagram e TikTok | Conecta Bio",
  55.        "aggregateRating": {
  56.            "@type": "AggregateRating",
  57.            "ratingValue": "4.6",
  58.            "ratingCount": "200"
  59.        },
  60.        "offers": {
  61.            "@type": "Offer",
  62.            "price": "0",
  63.            "priceCurrency": "BRL"
  64.        },
  65.        "applicationCategory": "SocialNetworking"
  66.    }
  67. }
  68. </script>
  69. <meta name="description" content="Thi công ốp mặt dựng tấm alu giá rẻ tại TPHCM" />
  70. <meta name="keywords" content="Thi công alu TPHCM" />
  71.  
  72. <meta property="og:type" content="website" />
  73. <meta property="twitter:type" content="website" />
  74. <meta property="og:url" content="https://conecta.bio/thicongalu" />
  75. <meta property="twitter:url" content="https://conecta.bio/thicongalu" />
  76. <meta property="og:title" content="Thi công ốp mặt dựng tấm alu giá rẻ tại TPHCM" />
  77. <meta property="twitter:title" content="Thi công ốp mặt dựng tấm alu giá rẻ tại TPHCM" />
  78. <meta property="og:description" content="Thi công ốp mặt dựng tấm alu giá rẻ tại TPHCM" />
  79. <meta property="twitter:description" content="Thi công ốp mặt dựng tấm alu giá rẻ tại TPHCM" />
  80. <meta property="og:image" content="https://conecta.bio/uploads/block_images/1f76633d572ecd7fb91a82c388a58ca5.jpg" />
  81. <meta property="twitter:image" content="https://conecta.bio/uploads/block_images/1f76633d572ecd7fb91a82c388a58ca5.jpg" />
  82. <link href="https://conecta.bio/uploads/favicons/90be766945ac19b6f0c95f0b75476129.jpg" rel="shortcut icon" />
  83. <link href="https://conecta.bio/themes/altum/assets/css/bootstrap.min.css?v=4600" rel="stylesheet" media="screen,print">
  84. <link href="https://conecta.bio/themes/altum/assets/css/custom.css?v=4600" rel="stylesheet" media="screen,print">
  85. <link href="https://conecta.bio/themes/altum/assets/css/link-custom.css?v=4600" rel="stylesheet" media="screen,print">
  86. <link href="https://conecta.bio/themes/altum/assets/css/animate.min.css?v=4600" rel="stylesheet" media="screen,print">
  87. <style>html, body {font-family: Arial, sans-serif, "Helvetica Neue", Arial, sans-serif;}</style>
  88. <style>html {font-size: 16px !important;}</style>
  89. <style>.link-verified{ font-size: 12px; border: unset; font-weight: unset; }</style>
  90. </head>
  91. <div class="modal fade" id="ad_blocker_detector_modal" tabindex="-1" role="dialog" aria-hidden="true">
  92. <div class="modal-dialog modal-dialog-centered" role="document">
  93. <div class="modal-content">
  94. <div class="modal-body">
  95. <div class="d-flex justify-content-between mb-3">
  96. <h5 class="modal-title">
  97. <i class="fas fa-fw fa-sm fa-eye text-dark mr-2"></i>
  98. Bloqueador de anúncios detectado </h5>
  99. <button type="button" class="close" data-dismiss="modal" title="Fechar">
  100. <span aria-hidden="true">&times;</span>
  101. </button>
  102. </div>
  103. <p class="text-muted">Nossa plataforma depende da receita gerada por anúncios para manter nosso plano gratuito acessível a todos. Por favor, desabilite seu bloqueador de anúncios e nos ajude a continuar oferecendo conteúdo de qualidade para todos os nossos usuários.</p>
  104. <div class="mt-4">
  105. <a href="#" class="btn btn-block btn-primary" onClick="if (!window.__cfRLUnblockHandlers) return false; event.preventDefault();window.location.reload();" data-cf-modified-50267e8abd6be5650e85f495->Eu já desativei o bloqueador de anúncios</a>
  106. </div>
  107. </div>
  108. </div>
  109. </div>
  110. </div>
  111. <body class=" link-body " style="background-color: #21D4FD;background-image: linear-gradient(19deg, #21D4FD 0%, #B721FF 100%);background-attachment: fixed;">
  112. <div class="container animate__animated animate__fadeIn">
  113. <div class="row d-flex justify-content-center text-center">
  114. <div class="col-md-8 link-content ">
  115. <div class="container my-3">
  116. <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1708268034887270" crossorigin="anonymous" type="50267e8abd6be5650e85f495-text/javascript"></script>
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123. </div>
  124. <main id="links" class="my-2">
  125. <div class="row">
  126. <div id="biolink_block_id_316148" data-biolink-block-id="316148" class="col-12 my-2">
  127. <a href="https://tinyurl.com/nhzdey5s" data-track-biolink-block-id="316148" target="_self" rel="nofollow" class="btn btn-block btn-primary link-btn link-hover-animation-smooth link-btn-rounded  animate__animated animate__ animate__false animate__delay-2s" style="background: #ffffff;color: #000000;border-width: 0px;border-color: #000000;border-style: solid;box-shadow: 0px 0px 20px 0px #00000010;text-align: center;" data-text-color data-border-width data-border-radius data-border-style data-border-color data-border-shadow data-animation data-background-color data-text-alignment>
  128. <div class="link-btn-image-wrapper link-btn-rounded">
  129. <img src="https://conecta.bio/uploads/block_thumbnail_images/c6d302671300f3bccffafbc451ae3f99.jpg" class="link-btn-image" loading="lazy" />
  130. </div>
  131. <span data-icon>
  132. </span>
  133. <span data-name>Thi công alu TPHCM</span>
  134. </a>
  135. </div>
  136. <div id="biolink_block_id_316149" data-biolink-block-id="316149" class="col-12 my-2">
  137. <a href="https://solo.to/thicongalu" data-track-biolink-block-id="316149" target="_self" rel="nofollow" class="btn btn-block btn-primary link-btn link-hover-animation-smooth link-btn-rounded  animate__animated animate__repeat-1 animate__ animate__delay-2s" style="background: white;color: black;border-width: 0px;border-color: white;border-style: solid;box-shadow: 0px 0px 20px 0px #00000010;text-align: center;" data-text-color data-border-width data-border-radius data-border-style data-border-color data-border-shadow data-animation data-background-color data-text-alignment>
  138. <div class="link-btn-image-wrapper link-btn-rounded" style="display: none;">
  139. <img src class="link-btn-image" loading="lazy" />
  140. </div>
  141. <span data-icon>
  142. </span>
  143. <span data-name>thi cong alu</span>
  144. </a>
  145. </div>
  146. <div id="biolink_block_id_316150" data-biolink-block-id="316150" class="col-12 my-2">
  147. <a href="https://potofu.me/thicongalu" data-track-biolink-block-id="316150" target="_self" rel="nofollow" class="btn btn-block btn-primary link-btn link-hover-animation-smooth link-btn-rounded  animate__animated animate__repeat-1 animate__ animate__delay-2s" style="background: white;color: black;border-width: 0px;border-color: white;border-style: solid;box-shadow: 0px 0px 20px 0px #00000010;text-align: center;" data-text-color data-border-width data-border-radius data-border-style data-border-color data-border-shadow data-animation data-background-color data-text-alignment>
  148. <div class="link-btn-image-wrapper link-btn-rounded" style="display: none;">
  149. <img src class="link-btn-image" loading="lazy" />
  150. </div>
  151. <span data-icon>
  152. </span>
  153. <span data-name>thi cong alu</span>
  154. </a>
  155. </div>
  156. <div id="biolink_block_id_316151" data-biolink-block-id="316151" class="col-12 my-2">
  157. <a href="https://heylink.me/thicongalu/" data-track-biolink-block-id="316151" target="_self" rel="nofollow" class="btn btn-block btn-primary link-btn link-hover-animation-smooth link-btn-rounded  animate__animated animate__repeat-1 animate__ animate__delay-2s" style="background: white;color: black;border-width: 0px;border-color: white;border-style: solid;box-shadow: 0px 0px 20px 0px #00000010;text-align: center;" data-text-color data-border-width data-border-radius data-border-style data-border-color data-border-shadow data-animation data-background-color data-text-alignment>
  158. <div class="link-btn-image-wrapper link-btn-rounded" style="display: none;">
  159. <img src class="link-btn-image" loading="lazy" />
  160. </div>
  161. <span data-icon>
  162. </span>
  163. <span data-name>thi cong alu</span>
  164. </a>
  165. </div>
  166. <div id="biolink_block_id_316152" data-biolink-block-id="316152" class="col-12 my-2">
  167. <a href="https://joy.link/thicongalu" data-track-biolink-block-id="316152" target="_self" rel="nofollow" class="btn btn-block btn-primary link-btn link-hover-animation-smooth link-btn-rounded  animate__animated animate__repeat-1 animate__ animate__delay-2s" style="background: white;color: black;border-width: 0px;border-color: white;border-style: solid;box-shadow: 0px 0px 20px 0px #00000010;text-align: center;" data-text-color data-border-width data-border-radius data-border-style data-border-color data-border-shadow data-animation data-background-color data-text-alignment>
  168. <div class="link-btn-image-wrapper link-btn-rounded" style="display: none;">
  169. <img src class="link-btn-image" loading="lazy" />
  170. </div>
  171. <span data-icon>
  172. </span>
  173. <span data-name>thi cong alu</span>
  174. </a>
  175. </div>
  176. <div id="biolink_block_id_316153" data-biolink-block-id="316153" class="col-12 my-2">
  177. <a href="https://linkpop.com/thicongalu-01" data-track-biolink-block-id="316153" target="_self" rel="nofollow" class="btn btn-block btn-primary link-btn link-hover-animation-smooth link-btn-rounded  animate__animated animate__repeat-1 animate__ animate__delay-2s" style="background: white;color: black;border-width: 0px;border-color: white;border-style: solid;box-shadow: 0px 0px 20px 0px #00000010;text-align: center;" data-text-color data-border-width data-border-radius data-border-style data-border-color data-border-shadow data-animation data-background-color data-text-alignment>
  178. <div class="link-btn-image-wrapper link-btn-rounded" style="display: none;">
  179. <img src class="link-btn-image" loading="lazy" />
  180. </div>
  181. <span data-icon>
  182. </span>
  183. <span data-name>thi cong alu</span>
  184. </a>
  185. </div>
  186. <div id="biolink_block_id_316154" data-biolink-block-id="316154" class="col-12 my-2">
  187. <a href="https://linkbio.co/thicongalu" data-track-biolink-block-id="316154" target="_self" rel="nofollow" class="btn btn-block btn-primary link-btn link-hover-animation-smooth link-btn-rounded  animate__animated animate__repeat-1 animate__ animate__delay-2s" style="background: white;color: black;border-width: 0px;border-color: white;border-style: solid;box-shadow: 0px 0px 20px 0px #00000010;text-align: center;" data-text-color data-border-width data-border-radius data-border-style data-border-color data-border-shadow data-animation data-background-color data-text-alignment>
  188. <div class="link-btn-image-wrapper link-btn-rounded" style="display: none;">
  189. <img src class="link-btn-image" loading="lazy" />
  190. </div>
  191. <span data-icon>
  192. </span>
  193. <span data-name>thi cong alu</span>
  194. </a>
  195. </div>
  196. <div id="biolink_block_id_316155" data-biolink-block-id="316155" class="col-12 my-2">
  197. <a href="https://thicongalu.contently.com/" data-track-biolink-block-id="316155" target="_self" rel="nofollow" class="btn btn-block btn-primary link-btn link-hover-animation-smooth link-btn-rounded  animate__animated animate__repeat-1 animate__ animate__delay-2s" style="background: white;color: black;border-width: 0px;border-color: white;border-style: solid;box-shadow: 0px 0px 20px 0px #00000010;text-align: center;" data-text-color data-border-width data-border-radius data-border-style data-border-color data-border-shadow data-animation data-background-color data-text-alignment>
  198. <div class="link-btn-image-wrapper link-btn-rounded" style="display: none;">
  199. <img src class="link-btn-image" loading="lazy" />
  200. </div>
  201. <span data-icon>
  202. </span>
  203. <span data-name>thi cong alu</span>
  204. </a>
  205. </div>
  206. <div id="biolink_block_id_316156" data-biolink-block-id="316156" class="col-12 my-2">
  207. <a href="https://biolinky.co/thicongalu" data-track-biolink-block-id="316156" target="_self" rel="nofollow" class="btn btn-block btn-primary link-btn link-hover-animation-smooth link-btn-rounded  animate__animated animate__repeat-1 animate__ animate__delay-2s" style="background: white;color: black;border-width: 0px;border-color: white;border-style: solid;box-shadow: 0px 0px 20px 0px #00000010;text-align: center;" data-text-color data-border-width data-border-radius data-border-style data-border-color data-border-shadow data-animation data-background-color data-text-alignment>
  208. <div class="link-btn-image-wrapper link-btn-rounded" style="display: none;">
  209. <img src class="link-btn-image" loading="lazy" />
  210. </div>
  211. <span data-icon>
  212. </span>
  213. <span data-name>thi cong alu</span>
  214. </a>
  215. </div>
  216. <div id="biolink_block_id_316157" data-biolink-block-id="316157" class="col-12 my-2">
  217. <a href="https://mez.ink/thicongalu" data-track-biolink-block-id="316157" target="_self" rel="nofollow" class="btn btn-block btn-primary link-btn link-hover-animation-smooth link-btn-rounded  animate__animated animate__repeat-1 animate__ animate__delay-2s" style="background: white;color: black;border-width: 0px;border-color: white;border-style: solid;box-shadow: 0px 0px 20px 0px #00000010;text-align: center;" data-text-color data-border-width data-border-radius data-border-style data-border-color data-border-shadow data-animation data-background-color data-text-alignment>
  218. <div class="link-btn-image-wrapper link-btn-rounded" style="display: none;">
  219. <img src class="link-btn-image" loading="lazy" />
  220. </div>
  221. <span data-icon>
  222. </span>
  223. <span data-name>thi cong alu</span>
  224. </a>
  225. </div>
  226. </div>
  227. </main>
  228. <div class="container my-3">
  229. </div>
  230. <footer id="footer" class="link-footer">
  231. <div id="branding" class="link-footer-branding">
  232. <div id="logo-biolink">
  233. <a href="/register/?ref=2bba87c9d6fdde95e48de9f441d67568" target="_blank" class="btn btn-sm btn-outline-light" style="font-weight: bold; background: none;" title="Conecta.bio">Crie o seu Conecta.bio grátis</a>
  234. </div>
  235. <script type="50267e8abd6be5650e85f495-text/javascript">
  236. const bodyStyle = window.getComputedStyle(document.body);
  237. const backgroundColor = bodyStyle.backgroundColor;
  238. const backgroundImage = bodyStyle.backgroundImage;
  239. const elements = document.querySelectorAll('#logo-biolink a');
  240. for (let i = 0; i < elements.length; i++) {
  241.    const element = elements[i];
  242.    if (isDarkColor(backgroundColor, backgroundImage)) {
  243.        element.style.color = '#FFFFFF';
  244.        element.style.borderColor = '#FFFFFF';
  245.    } else {
  246.        element.style.color = '#0ea5ea';
  247.        element.style.borderColor = '#0ea5ea';
  248.    }
  249. }
  250. function isDarkColor(backgroundColor, backgroundImage) {
  251.    let rgbaValues;
  252.    if (backgroundColor.indexOf('rgba') === 0) {
  253.        rgbaValues = backgroundColor.replace('rgba(', '').replace(')', '').split(',');
  254.    } else if (backgroundColor.indexOf('rgb') === 0) {
  255.        rgbaValues = backgroundColor.replace('rgb(', '').replace(')', '').split(',');
  256.        rgbaValues.push('1');
  257.    } else {
  258.        rgbaValues = [0, 0, 0, 1];
  259.        if (backgroundColor.indexOf('#') === 0) {
  260.            if (backgroundColor.length === 4) {
  261.                rgbaValues[0] = parseInt(backgroundColor.charAt(1) + backgroundColor.charAt(1), 16);
  262.                rgbaValues[1] = parseInt(backgroundColor.charAt(2) + backgroundColor.charAt(2), 16);
  263.                rgbaValues[2] = parseInt(backgroundColor.charAt(3) + backgroundColor.charAt(3), 16);
  264.            } else {
  265.                rgbaValues[0] = parseInt(backgroundColor.substring(1, 3), 16);
  266.                rgbaValues[1] = parseInt(backgroundColor.substring(3, 5), 16);
  267.                rgbaValues[2] = parseInt(backgroundColor.substring(5, 7), 16);
  268.            }
  269.        }
  270.    }
  271.    const alpha = parseFloat(rgbaValues[3]);
  272.    const brightness = ((rgbaValues[0] * 299) + (rgbaValues[1] * 587) + (rgbaValues[2] * 114)) / 1000;
  273.    const adjustedBrightness = (1 - alpha) * 255 + alpha * brightness;
  274.    if (backgroundImage.indexOf('linear-gradient') !== -1) {
  275.        return adjustedBrightness > 192;
  276.    } else {
  277.        return adjustedBrightness < 128;
  278.    }
  279. }
  280. </script> </div>
  281. </footer>
  282. </div>
  283. </div>
  284. </div>
  285. <script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="50267e8abd6be5650e85f495-|49" defer></script></body>
  286. <input type="hidden" name="global_site_url" value="https://conecta.bio/" />
  287. <input type="hidden" name="global_url" value="https://conecta.bio/" />
  288. <input type="hidden" name="global_token" value="ca359227b6e9f499f6385575738b3781" />
  289. <input type="hidden" name="global_number_decimal_point" value="," />
  290. <input type="hidden" name="global_number_thousands_separator" value="." />
  291. <script type="50267e8abd6be5650e85f495-text/javascript">
  292.    /* Some global variables */
  293.    window.altum = {};
  294.    let global_token = document.querySelector('input[name="global_token"]').value;
  295.    let site_url = document.querySelector('input[name="global_site_url"]').value;
  296.    let url = document.querySelector('input[name="global_url"]').value;
  297.    let decimal_point = document.querySelector('[name="global_number_decimal_point"]').value;
  298.    let thousands_separator = document.querySelector('[name="global_number_thousands_separator"]').value;
  299. </script>
  300. <script src="https://conecta.bio/themes/altum/assets/js/libraries/jquery.min.js?v=4600" type="50267e8abd6be5650e85f495-text/javascript"></script>
  301. <script src="https://conecta.bio/themes/altum/assets/js/libraries/popper.min.js?v=4600" type="50267e8abd6be5650e85f495-text/javascript"></script>
  302. <script src="https://conecta.bio/themes/altum/assets/js/libraries/bootstrap.min.js?v=4600" type="50267e8abd6be5650e85f495-text/javascript"></script>
  303. <script src="https://conecta.bio/themes/altum/assets/js/custom.js?v=4600" type="50267e8abd6be5650e85f495-text/javascript"></script>
  304. <script src="https://conecta.bio/themes/altum/assets/js/libraries/fontawesome.min.js?v=4600" type="50267e8abd6be5650e85f495-text/javascript"></script>
  305. <script src="https://conecta.bio/themes/altum/assets/js/libraries/fontawesome-solid.min.js?v=4600" type="50267e8abd6be5650e85f495-text/javascript"></script>
  306. <script src="https://conecta.bio/themes/altum/assets/js/libraries/fontawesome-brands.min.js?v=4600" type="50267e8abd6be5650e85f495-text/javascript"></script>
  307. <script type="50267e8abd6be5650e85f495-text/javascript">
  308.    /* Internal tracking for biolink page blocks */
  309.    document.querySelectorAll('a[data-track-biolink-block-id]').forEach(element => {
  310.        element.addEventListener('click', event => {
  311.            let biolink_block_id = event.currentTarget.getAttribute('data-track-biolink-block-id');
  312.            navigator.sendBeacon(`${site_url}l/link?biolink_block_id=${biolink_block_id}&no_redirect`);
  313.        });
  314.    });
  315.  
  316.    /* Fix CSS when using scroll for background attachment on long content */
  317.    if(document.body.offsetHeight > window.innerHeight) {
  318.        let background_attachment = document.querySelector('body').style.backgroundAttachment;
  319.        if(background_attachment == 'scroll') {
  320.            document.documentElement.style.height = 'auto';
  321.        }
  322.    }
  323. </script>
  324. <script type="50267e8abd6be5650e85f495-text/javascript">
  325.        let my_ads = document.createElement("div");
  326.        my_ads.className = "textads banner-ads banner_ads ad-unit ad-zone ad-space adsbox";
  327.        my_ads.style.height = "1px";
  328.  
  329.        document.body.appendChild(my_ads);
  330.  
  331.        let x_width = my_ads.offsetHeight;
  332.        let msg = document.getElementById("msg");
  333.  
  334.        if(x_width) {
  335.            /* A L T U M C O D E */
  336.        } else {
  337.            setTimeout(() => {
  338.                $('#ad_blocker_detector_modal').modal('show');
  339.            }, 0 * 1000);
  340.        }
  341.    </script>
  342. </html>
  343.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda