PageSourceSearch

https://blockchaindeluxo.base44.app/

html blockchaindeluxo.base44.app collected 2026-10-03 05:32:50 UTC 8,022 bytes, 186 lines download raw bytes

1<!DOCTYPE html>
2<html lang="pt-BR">
3 <head>
4  <meta charset="utf-8"/>
5  <link href="https://media.base44.com/images/public/69c3e2cb9e1f1543d99e7cc6/5bf7c6ff4_generated_image.png" rel="icon" type="image/png"/>
6  <link href="https://media.base44.com/images/public/69c3e2cb9e1f1543d99e7cc6/5bf7c6ff4_generated_image.png" rel="apple-touch-icon"/>
7  <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
8  <meta content="Portal consultivo de autenticidade, rastreabilidade, passaporte digital e acompanhamento documental para ativos de luxo." name="description"/>
9  <link href="/manifest.json" rel="manifest"/>
10  <title>
11   BlockchaindeLuxo.com.br
12  </title>
13  
13<script crossorigin="" src="/assets/index-BMruSOsq.js" type="module">
14  </script>
14
15  <link crossorigin="" href="/assets/index-t0ffWl4H.css" rel="stylesheet"/>
16  
16<script type="module">
17   if (window.self === window.top) {
18  let lastPath = "";
19  function getPageNameFromPath(path) {
20    const segments = path.split("/").filter(Boolean);
21    return segments[0] || null;
22  }
23  function trackPageView() {
24    const path = window.location.pathname;
25    if (path === lastPath) return;
26    lastPath = path;
27    const pageName = getPageNameFromPath(path) || "home";
28    const appId = "69c3e2cb9e1f1543d99e7cc6";
29    if (!appId) return;
30    fetch(`/api/app-logs/${appId}/log-user-in-app/${pageName}`, {
31      method: "POST",
32    }).catch(() => {});
33  }
34  const originalPushState = history.pushState.bind(history);
35  history.pushState = function (...args) {
36    originalPushState(...args);
37    trackPageView();
38  };
39  const originalReplaceState = history.replaceState.bind(history);
40  history.replaceState = function (...args) {
41    originalReplaceState(...args);
42    trackPageView();
43  };
44  window.addEventListener("popstate", trackPageView);
45  trackPageView();
46}
47  </script>
47
48  <meta content="BlockchaindeLuxo.com.br" property="og:title"/>
49  <meta content="Portal consultivo de autenticidade, rastreabilidade, passaporte digital e acompanhamento documental para ativos de luxo." property="og:description"/>
50  <meta content="https://blockchaindeluxo.base44.app" property="og:url"/>
51  <meta content="website" property="og:type"/>
52  <meta content="BlockchaindeLuxo.com.br" property="og:site_name"/>
53  <meta content="BlockchaindeLuxo.com.br" name="twitter:title"/>
54  <meta content="Portal consultivo de autenticidade, rastreabilidade, passaporte digital e acompanhamento documental para ativos de luxo." name="twitter:description"/>
55  <meta content="summary_large_image" name="twitter:card"/>
56  <meta content="https://blockchaindeluxo.base44.app" name="twitter:url"/>
57  <meta content="https://media.base44.com/images/public/69c3e2cb9e1f1543d99e7cc6/da9833b92_Logo-Blockchain-de-Luxo-Preto.png/v1/fill/w_1200,h_630/da9833b92_Logo-Blockchain-de-Luxo-Preto.png" property="og:image"/>
58  <meta content="https://media.base44.com/images/public/69c3e2cb9e1f1543d99e7cc6/da9833b92_Logo-Blockchain-de-Luxo-Preto.png/v1/fill/w_1200,h_630/da9833b92_Logo-Blockchain-de-Luxo-Preto.png" name="twitter:image"/>
59  
59<script>
60   (function () {
61  var titles = {"/sobre": "BlockchaindeLuxo.com.br"};
62  // PascalCase boundaries -> "-", mirroring _PASCAL_BOUNDARY_RE without lookbehind
63  // (old Safari fails to PARSE a lookbehind, taking the whole script down).
64  var dashed = function (s) {
65    return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2");
66  };
67  var decode = function (s) {
68    // A %2F inside ONE segment must not become a structural separator: /blog/foo%2Fbar is a
69    // dynamic slug, and letting it split would match a static /blog/foo/bar and write ITS title.
70    try { var d = decodeURIComponent(s); return d.indexOf("/") < 0 ? d : s; } catch (e) { return s; }
71  };
72  var segments = function (path) { return path.split("/").filter(Boolean).map(decode); };
73  var norm = function (path) {
74    var parts = segments(path).map(function (s) { return dashed(s).toLowerCase(); });
75    return parts.length ? "/" + parts.join("/") : "/";
76  };
77  var lastPath = location.pathname, written = document.title, on = true;
78  var sync = function () {
79    // Path only: a hash/query change is the same page, and the SDK strips its own auth
80    // params with replaceState -- neither must clobber a server-rendered title in place.
81    if (!on || location.pathname === lastPath) return;
82    lastPath = location.pathname;
83    if (document.title !== written) { on = false; return; }
84    // Write ONLY a title the map proves. An unmapped path is a dynamic route (/blog/:slug) the
85    // map cannot carry, and writing a placeholder there is destructive, not merely vague: the
86    // prerender worker runs no setUserAgent, so its capture browser reads as human and executes
87    // this script, and coordinator.js's settle wait explicitly tolerates a full navigation --
88    // a redirect landing on an unmapped path would bake the placeholder into the stored
89    // snapshot. Leaving the title alone degrades to today's behavior instead.
90    // Exact lookup only. A dash-stripped retry here would let a genuinely different /set-up
91    // claim /setup: the map carries a dash-free key only where a PascalCase boundary put the
92    // dashes there, and the client cannot tell the two apart. The map emits every reachable
93    // shape per segment instead (_client_url_variants).
94    var title = titles[norm(location.pathname)];
95    if (title === undefined) return;
96    document.title = title;
97    // Re-read: the setter stores verbatim but the getter strips and collapses whitespace, so
98    // keeping the assigned string would make the next sync() read our own write as the app's.
99    written = document.title;
100  };
101  var wrap = function (fn) {
102    // The history entry is already pushed by the time sync() runs, so a throw here would
103    // surface inside the host app's router and break navigation. This is injected into apps
104    // we cannot test, so it swallows rather than trusting the trace.
105    return function () {
106      var r = fn.apply(this, arguments);
107      try { sync(); } catch (e) {}
108      return r;
109    };
110  };
111  history.pushState = wrap(history.pushState);
112  history.replaceState = wrap(history.replaceState);
113  window.addEventListener("popstate", sync);
114})();
115  </script>
115
116  <meta content="yes" name="mobile-web-app-capable"/>
117  <meta content="black" name="apple-mobile-web-app-status-bar-style"/>
118  <meta content="BlockchaindeLuxo.com.br" name="apple-mobile-web-app-title"/>
119  <link href="https://blockchaindeluxo.base44.app" rel="canonical"/>
120  
120<script async="true" data-app-id="69c3e2cb9e1f1543d99e7cc6" data-platform-url="https://app.base44.com" src="/static/js/badge.js">
121  </script>
121
122 </head>
123 <body>
124  <div id="root">
125   <div data-seo-source="builder" id="seo-snapshot" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;">
126    <main>
127     <header>
128      <h1>
129       BlockchaindeLuxo.com.br
130      </h1>
131      <p>
132       Portal consultivo de autenticidade, rastreabilidade, passaporte digital e acompanhamento documental para ativos de luxo.
133      </p>
134     </header>
135     <nav aria-label="Pages">
136      <h2>
137       Pages
138      </h2>
139      <ul>
140       <li>
141        <a href="/como-funciona">
142         Como Funciona
143        </a>
144       </li>
145       <li>
146        <a href="/consultar">
147         Consultar Ativo
148        </a>
149       </li>
150       <li>
151        <a href="/passaporte-digital">
152         Passaporte Digital
153        </a>
154       </li>
155       <li>
156        <a href="/acompanhamento">
157         Acompanhamento
158        </a>
159       </li>
160       <li>
161        <a href="/categorias">
162         Categorias
163        </a>
164       </li>
165       <li>
166        <a href="/solucoes">
167         Solucoes
168        </a>
169       </li>
170       <li>
171        <a href="/contato">
172         Contato
173        </a>
174       </li>
175       <li>
176        <a href="/page-not-found">
177         Page Not Found
178        </a>
179       </li>
180      </ul>
181     </nav>
182    </main>
183   </div>
184  </div>
185 </body>
186</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.