PageSourceSearch

https://latoyashambo.com/login

html latoyashambo.com collected 2026-10-06 07:35:52 UTC 12,011 bytes, 270 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3 <head>
4  
4<script>
5   (function () {
6  var proto = XMLHttpRequest.prototype;
7  var open = proto.open, setRequestHeader = proto.setRequestHeader, send = proto.send;
8  var TOKEN_KEY = 'base44_access_token';
9  var storedTokenHeader = function () {
10    try { return 'Bearer ' + localStorage.getItem(TOKEN_KEY); } catch (e) { return null; }
11  };
12  var forgetStoredToken = function () {
13    try { localStorage.removeItem(TOKEN_KEY); localStorage.removeItem('token'); } catch (e) {}
14  };
15
16  proto.open = function (method, url) {
17    this.__b44IsAuthCheck = /\/entities\/User\/me(\?|$)/.test(url);
18    return open.apply(this, arguments);
19  };
20
21  proto.setRequestHeader = function (name, value) {
22    if (this.__b44IsAuthCheck && name.toLowerCase() === 'authorization' && value === storedTokenHeader()) {
23      this.__b44SentToken = value;
24    }
25    return setRequestHeader.call(this, name, value);
26  };
27
28  proto.send = function () {
29    this.addEventListener('loadend', function () {
30      var rejectedTokenStillStored = this.status === 401 && this.__b44SentToken === storedTokenHeader();
31      if (rejectedTokenStillStored) forgetStoredToken();
32    });
33    return send.apply(this, arguments);
34  };
35})();
36  </script>
36
37  <meta charset="utf-8"/>
38  <link href="https://media.base44.com/images/public/6a5bf4aa9e5f4216c04aef74/72d5e6dd6_logo.png" rel="icon" type="image/svg+xml"/>
39  <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
40  <link href="/manifest.json" rel="manifest"/>
41  <meta content="Login on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages." name="description"/>
42  <meta content="LaToya Shambo" name="author"/>
43  <meta content="Login | LaToya Shambo " property="og:title"/>
44  <meta content="Login on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages." property="og:description"/>
45  <meta content="website" property="og:type"/>
46  <title>
47   Login | LaToya Shambo
48  </title>
49  <link href="https://cdn.quilljs.com/2.0.0/quill.snow.css" rel="stylesheet"/>
50  
50<script crossorigin="" src="/assets/index-BbjwUDg7.js" type="module">
51  </script>
51
52  <link crossorigin="" href="/assets/index-BZz4Bk1z.css" rel="stylesheet"/>
53  
53<script type="module">
54   if (window.self === window.top) {
55  let lastPath = "";
56  function getPageNameFromPath(path) {
57    const segments = path.split("/").filter(Boolean);
58    return segments[0] || null;
59  }
60  function trackPageView() {
61    const path = window.location.pathname;
62    if (path === lastPath) return;
63    lastPath = path;
64    const pageName = getPageNameFromPath(path) || "home";
65    const appId = "6a5bf4aa9e5f4216c04aef74";
66    if (!appId) return;
67    fetch(`/api/app-logs/${appId}/log-user-in-app/${pageName}`, {
68      method: "POST",
69    }).catch(() => {});
70  }
71  const originalPushState = history.pushState.bind(history);
72  history.pushState = function (...args) {
73    originalPushState(...args);
74    trackPageView();
75  };
76  const originalReplaceState = history.replaceState.bind(history);
77  history.replaceState = function (...args) {
78    originalReplaceState(...args);
79    trackPageView();
80  };
81  window.addEventListener("popstate", trackPageView);
82  trackPageView();
83}
84  </script>
84
85  <meta content="https://media.base44.com/images/public/6a5bf4aa9e5f4216c04aef74/23e218cc7_latoyaheadshot.png/v1/fill/w_1200,h_630/23e218cc7_latoyaheadshot.png" property="og:image"/>
86  <meta content="https://latoyashambo.com/login" property="og:url"/>
87  <meta content="LaToya Shambo " property="og:site_name"/>
88  <meta content="Login | LaToya Shambo " name="twitter:title"/>
89  <meta content="Login on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages." name="twitter:description"/>
90  <meta content="https://media.base44.com/images/public/6a5bf4aa9e5f4216c04aef74/23e218cc7_latoyaheadshot.png/v1/fill/w_1200,h_630/23e218cc7_latoyaheadshot.png" name="twitter:image"/>
91  <meta content="summary_large_image" name="twitter:card"/>
92  <meta content="https://latoyashambo.com/login" name="twitter:url"/>
93  
93<script>
94   (function () {
95  var titles = {"/": "LaToya Shambo ", "/ecosystem": "Ecosystem | LaToya Shambo ", "/speaking": "Speaking | LaToya Shambo ", "/essays": "Essays | LaToya Shambo ", "/media": "Media | LaToya Shambo ", "/resources": "Resources | LaToya Shambo ", "/contact": "Contact | LaToya Shambo ", "/about": "About | LaToya Shambo ", "/admin": "Admin | LaToya Shambo ", "/login": "Login | LaToya Shambo ", "/register": "Register | LaToya Shambo ", "/forgot-password": "Forgot Password | LaToya Shambo ", "/reset-password": "Reset Password | LaToya Shambo ", "/oauth/consent": "OAuth Consent | LaToya Shambo ", "/home": "LaToya Shambo "};
96  // PascalCase boundaries -> "-", mirroring _PASCAL_BOUNDARY_RE without lookbehind
97  // (old Safari fails to PARSE a lookbehind, taking the whole script down).
98  var dashed = function (s) {
99    return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2");
100  };
101  var decode = function (s) {
102    // A %2F inside ONE segment must not become a structural separator: /blog/foo%2Fbar is a
103    // dynamic slug, and letting it split would match a static /blog/foo/bar and write ITS title.
104    try { var d = decodeURIComponent(s); return d.indexOf("/") < 0 ? d : s; } catch (e) { return s; }
105  };
106  var segments = function (path) { return path.split("/").filter(Boolean).map(decode); };
107  var norm = function (path) {
108    var parts = segments(path).map(function (s) { return dashed(s).toLowerCase(); });
109    return parts.length ? "/" + parts.join("/") : "/";
110  };
111  var lastPath = location.pathname, written = document.title, on = true;
112  var sync = function () {
113    // Path only: a hash/query change is the same page, and the SDK strips its own auth
114    // params with replaceState -- neither must clobber a server-rendered title in place.
115    if (!on || location.pathname === lastPath) return;
116    lastPath = location.pathname;
117    if (document.title !== written) { on = false; return; }
118    // Write ONLY a title the map proves. An unmapped path is a dynamic route (/blog/:slug) the
119    // map cannot carry, and writing a placeholder there is destructive, not merely vague: the
120    // prerender worker runs no setUserAgent, so its capture browser reads as human and executes
121    // this script, and coordinator.js's settle wait explicitly tolerates a full navigation --
122    // a redirect landing on an unmapped path would bake the placeholder into the stored
123    // snapshot. Leaving the title alone degrades to today's behavior instead.
124    // Exact lookup only. A dash-stripped retry here would let a genuinely different /set-up
125    // claim /setup: the map carries a dash-free key only where a PascalCase boundary put the
126    // dashes there, and the client cannot tell the two apart. The map emits every reachable
127    // shape per segment instead (_client_url_variants).
128    var title = titles[norm(location.pathname)];
129    if (title === undefined) return;
130    document.title = title;
131    // Re-read: the setter stores verbatim but the getter strips and collapses whitespace, so
132    // keeping the assigned string would make the next sync() read our own write as the app's.
133    written = document.title;
134  };
135  var wrap = function (fn) {
136    // The history entry is already pushed by the time sync() runs, so a throw here would
137    // surface inside the host app's router and break navigation. This is injected into apps
138    // we cannot test, so it swallows rather than trusting the trace.
139    return function () {
140      var r = fn.apply(this, arguments);
141      try { sync(); } catch (e) {}
142      return r;
143    };
144  };
145  history.pushState = wrap(history.pushState);
146  history.replaceState = wrap(history.replaceState);
147  window.addEventListener("popstate", sync);
148})();
149  </script>
149
150  <meta content="yes" name="mobile-web-app-capable"/>
151  <meta content="black" name="apple-mobile-web-app-status-bar-style"/>
152  <meta content="LaToya Shambo " name="apple-mobile-web-app-title"/>
153  <link href="https://latoyashambo.com/login" rel="canonical"/>
154  
154<script data-seo-source="builder" type="application/ld+json">
155   {"name": "LaToya Shambo ", "@context": "https://schema.org", "@type": "WebSite", "url": "https://latoyashambo.com"}
156  </script>
156
157  
157<script data-seo-source="builder" type="application/ld+json">
158   {"name": "LaToya Shambo ", "logo": "https://media.base44.com/images/public/6a5bf4aa9e5f4216c04aef74/72d5e6dd6_logo.png", "@context": "https://schema.org", "@type": "Organization", "url": "https://latoyashambo.com"}
159  </script>
159
160  
160<script data-seo-source="builder" type="application/ld+json">
161   {"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://latoyashambo.com/"}, {"@type": "ListItem", "position": 2, "name": "Login", "item": "https://latoyashambo.com/login"}]}
162  </script>
162
163 </head>
164 <body>
165  <div id="root">
166   <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;">
167    <main>
168     <header>
169      <h1>
170       Login | LaToya Shambo
171      </h1>
172      <p>
173       Login on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages.
174      </p>
175     </header>
176     <nav aria-label="Pages">
177      <h2>
178       Pages
179      </h2>
180      <ul>
181       <li>
182        <a href="/">
183         Home
184        </a>
185       </li>
186       <li>
187        <a href="/ecosystem">
188         Ecosystem
189        </a>
190        — Ecosystem on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages.
191       </li>
192       <li>
193        <a href="/speaking">
194         Speaking
195        </a>
196        — Speaking on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages.
197       </li>
198       <li>
199        <a href="/essays">
200         Essays
201        </a>
202        — Essays on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages.
203       </li>
204       <li>
205        <a href="/media">
206         Media
207        </a>
208        — Media on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages.
209       </li>
210       <li>
211        <a href="/resources">
212         Resources
213        </a>
214        — Resources on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages.
215       </li>
216       <li>
217        <a href="/contact">
218         Contact
219        </a>
220        — Contact on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages.
221       </li>
222       <li>
223        <a href="/about">
224         About
225        </a>
226        — About on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages.
227       </li>
228       <li>
229        <a href="/admin">
230         Admin
231        </a>
232        — Admin on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages.
233       </li>
234       <li>
235        <a href="/login">
236         Login
237        </a>
238        — Login on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages.
239       </li>
240       <li>
241        <a href="/register">
242         Register
243        </a>
244        — Register on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages.
245       </li>
246       <li>
247        <a href="/forgot-password">
248         Forgot Password
249        </a>
250        — Forgot Password on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages.
251       </li>
252       <li>
253        <a href="/reset-password">
254         Reset Password
255        </a>
256        — Reset Password on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages.
257       </li>
258       <li>
259        <a href="/oauth/consent">
260         O Auth Consent
261        </a>
262        — OAuth Consent on LaToya Shambo . LaToya Shambo manages 5 data types including featured stages.
263       </li>
264      </ul>
265     </nav>
266    </main>
267   </div>
268  </div>
269 </body>
270</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.