1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/assets/styles-C77IIkWF.css" data-precedence="default"/><title>AI Realty â Automated Real Estate Ads in 2 Minutes</title><meta name="description" content="Launch AI-powered real estate ads on Instagram, TikTok, YouTube & Facebook in 2 minutes. For agents, agencies & developers. Start free."/><meta name="keywords" content="AI advertising for real estate agents, real estate marketing automation, property promotion, AI Realty, YouTube ads for agents, TikTok real estate ads, Instagram property marketing, Facebook housing ads"/><meta name="author" content="AI Realty"/><meta name="twitter:title" content="AI Realty â Automated Real Estate Ads in 2 Minutes"/><meta name="twitter:description" content="Launch AI-powered real estate ads on Instagram, TikTok, YouTube & Facebook in 2 minutes. For agents, agencies & developers. Start free."/><meta name="twitter:card" content="summary_large_image"/><meta property="og:type" content="website"/><meta property="og:site_name" content="AI Realty"/><meta property="og:title" content="AI Realty â Automated Real Estate Ads in 2 Minutes"/><meta property="og:description" content="Launch AI-powered real estate ads on Instagram, TikTok, YouTube & Facebook in 2 minutes. For agents, agencies & developers. Start free."/><meta property="og:url" content="https://airealty.global"/><meta property="og:locale" content="en_US"/><meta name="twitter:image" content="https://airealty.global/air_logo_512.png"/><meta property="og:image" content="https://airealty.global/air_logo_512.png"/><meta name="yandex-verification" content="597a78c6a26c92aa"/><meta name="google-site-verification" content="m4Xh6c5jLhP_oaBhNZ2VWTSM1ivc0s3DXwST0_iFDz4"/><meta name="robots" content="noindex, nofollow"/><link rel="modulepreload" href="/assets/index-BOOcRGI2.js"/><link rel="modulepreload" href="/assets/layout-umnWUo4_.js"/><link rel="modulepreload" href="/assets/login-DKJuZvwe.js"/><link rel="modulepreload" href="/assets/input-group-DcKfWJGl.js"/><link rel="modulepreload" href="/assets/checkbox-CZRuWA7n.js"/><link rel="modulepreload" href="/assets/circle-alert-CabqvFHW.js"/><link rel="modulepreload" href="/assets/index.esm-CxSAOLAh.js"/><link rel="modulepreload" href="/assets/schemas-D6-HOx69.js"/><link rel="modulepreload" href="/assets/alert-By4PgL1C.js"/><link rel="modulepreload" href="/assets/field-DpdDW9nz.js"/><link rel="modulepreload" href="/assets/card-CHikSBcn.js"/><link rel="modulepreload" href="/assets/spinner-C3b9Ak1P.js"/><link rel="preload" href="/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="preconnect" href="https://www.googletagmanager.com" crossorigin="anonymous"/><link rel="dns-prefetch" href="https://www.google-analytics.com"/><link rel="icon" type="image/x-icon" href="/favicon.ico"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="manifest" href="/manifest.json"/>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","@id":"https://airealty.global/#organization","name":"AI Realty Global","url":"https://airealty.global","logo":{"@type":"ImageObject","url":"https://airealty.global/air_logo_512.png","width":512,"height":512},"email":"[email protected]","telephone":"+351 931 302 673","address":{"@type":"PostalAddress","streetAddress":"Avenida da Verdizela 54","addressLocality":"Corroios","addressCountry":"PT"},"areaServed":[{"@type":"Country","name":"Portugal"},{"@type":"Country","name":"Spain"},{"@type":"Country","name":"United States"}],"knowsLanguage":["en","pt","es"],"contactPoint":{"@type":"ContactPoint","email":"[email protected]","telephone":"+351 931 302 673","contactType":"Customer Support","availableLanguage":["English","Portuguese","Spanish"]},"sameAs":["https://www.linkedin.com/company/airealty","https://www.instagram.com/airealty"]}</script>
1</head><body>
1<script>((e, i, s, u, m, a, l, h) => { 2 let d = document.documentElement, w = ["light", "dark"]; 3 function p(n) { 4 (Array.isArray(e) ? e : [e]).forEach((y) => { 5 let k = y === "class", S = k && a ? m.map((f) => a[f] || f) : m; 6 k ? (d.classList.remove(...S), d.classList.add(a && a[n] ? a[n] : n)) : d.setAttribute(y, n); 7 }), R(n); 8 } 9 function R(n) { 10 h && w.includes(n) && (d.style.colorScheme = n); 11 } 12 function c() { 13 return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; 14 } 15 if (u) 16 p(u); 17 else 18 try { 19 let n = localStorage.getItem(i) || s; 20 p(l && n === "system" ? c() : n); 21 } catch (n) {} 22})("class","theme","system",null,["light","dark"],null,true,true)</script>
22<!--$--><!--$--><div class="flex min-h-screen flex-col items-center justify-center"><!--$--><div class="flex min-h-[calc(100vh-10rem)] w-full flex-col items-center justify-center p-2 md:p-6"><div data-slot="card" data-size="default" class="group/card flex flex-col gap-6 overflow-hidden rounded-4xl bg-card py-6 text-sm text-card-foreground shadow-md ring-1 ring-foreground/5 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 dark:ring-foreground/10 *:[img:first-child]:rounded-t-4xl *:[img:last-child]:rounded-b-4xl w-full max-w-md"><div data-slot="card-header" class="group/card-header @container/card-header grid auto-rows-min items-start gap-1.5 rounded-t-4xl px-6 group-data-[size=sm]/card:px-4 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4"><div data-slot="card-title" class="font-heading font-medium text-lg md:text-xl">Sign In</div><div data-slot="card-description" class="text-muted-foreground text-xs md:text-sm">Enter your email below to login to your account</div></div><div data-slot="card-content" class="px-6 group-data-[size=sm]/card:px-4"><form class="grid gap-4"><div role="group" data-slot="field" data-orientation="vertical" class="group/field flex w-full gap-3 data-[invalid=true]:text-destructive flex-col *:w-full [&>.sr-only]:w-auto"><label data-slot="field-label" class="items-center text-sm font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:bg-input/30 has-[>[data-slot=field]]:rounded-2xl has-[>[data-slot=field]]:border *:data-[slot=field]:p-4 has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col" for="email">Email</label><div data-slot="input-group" role="group" class="group/input-group relative flex h-9 w-full min-w-0 items-center rounded-4xl border border-transparent bg-input/50 transition-[color,box-shadow,background-color] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-data-[align=block-end]:rounded-3xl has-data-[align=block-start]:rounded-3xl has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/30 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[textarea]:rounded-2xl has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5"><input type="email" data-slot="input-group-control" class="h-9 w-full min-w-0 border-transparent px-3 py-1 text-base transition-[color,box-shadow,background-color] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent" id="email" placeholder="[email protected]" name="email"/></div></div><div role="group" data-slot="field" data-orientation="vertical" class="group/field flex w-full gap-3 data-[invalid=true]:text-destructive flex-col *:w-full [&>.sr-only]:w-auto"><div class="flex items-center"><label data-slot="field-label" class="items-center text-sm font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:bg-input/30 has-[>[data-slot=field]]:rounded-2xl has-[>[data-slot=field]]:border *:data-[slot=field]:p-4 has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col" for="password">Password</label><a href="/forgot-password" class="ml-auto inline-block text-sm underline">Forgot your password?</a></div><div data-slot="input-group" role="group" class="group/input-group relative flex h-9 w-full min-w-0 items-center rounded-4xl border border-transparent bg-input/50 transition-[color,box-shadow,background-color] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-data-[align=block-end]:rounded-3xl has-data-[align=block-start]:rounded-3xl has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/30 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[textarea]:rounded-2xl has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5"><input type="password" data-slot="input-group-control" class="h-9 w-full min-w-0 border-transparent px-3 py-1 text-base transition-[color,box-shadow,background-color] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent" id="password" placeholder="password" name="password"/></div></div><div role="group" data-slot="field" data-orientation="horizontal" class="group/field flex w-full gap-3 data-[invalid=true]:text-destructive flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"><button type="button" role="checkbox" aria-checked="false" data-state="unchecked" value="on" data-slot="checkbox" class="peer relative flex size-4 shrink-0 items-center justify-center rounded-[5px] border border-transparent bg-input/90 transition-shadow outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/30 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary" id="remember"></button><input type="checkbox" aria-hidden="true" tabindex="-1" style="position:absolute;pointer-events:none;opacity:0;margin:0;transform:translateX(-100%)" value="on"/><label data-slot="field-label" class="items-center select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 group/field-label peer/field-label flex w-fit gap-2 group-data-[disabled=true]/field:opacity-50 has-data-checked:bg-input/30 has-[>[data-slot=field]]:rounded-2xl has-[>[data-slot=field]]:border *:data-[slot=field]:p-4 has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col font-medium text-sm leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" for="remember">Remember me</label></div><div role="group" data-slot="button-group" class="flex items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[>[data-variant=outline]]:*:data-[slot=input-group]:border-border has-[>[data-variant=outline]]:*:data-[slot=select-trigger]:border-border has-[>[data-variant=outline]]:[&>
22[data-slot=input-group]:has(:focus-visible)]:border-ring has-[>[data-variant=outline]]:[&>[data-slot=select-trigger]:focus-visible]:border-ring has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-4xl [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[>[data-variant=outline]]:[&>input]:border-border has-[>[data-variant=outline]]:[&>input:focus-visible]:border-ring [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-4xl! w-full"><button data-slot="button" data-variant="default" data-size="default" class="group/button inline-flex shrink-0 items-center justify-center rounded-4xl border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/30 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5 w-full" type="submit">Login</button></div></form><div class="mt-4 grid gap-4"><div class="flex w-full items-center gap-2 flex-col justify-between"><button data-slot="button" data-variant="outline" data-size="default" class="group/button inline-flex shrink-0 items-center justify-center rounded-4xl border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/30 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:bg-transparent dark:hover:bg-input/30 h-9 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5 w-full gap-2"><svg height="1em" viewBox="0 0 256 262" width="0.98em" xmlns="http://www.w3.org/2000/svg"><title>Google</title><path d="M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622l38.755 30.023l2.685.268c24.659-22.774 38.875-56.282 38.875-96.027" fill="#4285F4"></path><path d="M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055c-34.523 0-63.824-22.773-74.269-54.25l-1.531.13l-40.298 31.187l-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1" fill="#34A853"></path><path d="M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82c0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602z" fill="#FBBC05"></path><path d="M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0C79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251" fill="#EB4335"></path></svg>Sign in with Google</button></div></div></div></div><div class="mt-4 text-center">Don't have an account?<!-- --> <a href="/register" class="underline">Register</a>!</div></div><!--/$--></div><!--/$-->
22<script>(function(a,f){let l;try{l=JSON.parse(sessionStorage.getItem(a)||"{}")}catch{return}const n=l?.[f||history.state?.__TSR_key];let c=!1;for(const t in n){const e=n[t],o=e?.scrollX,s=e?.scrollY;if(Number.isFinite(o)&&Number.isFinite(s)){if(t==="window")scrollTo(o,s),c=!0;else if(t)try{const r=document.querySelector(t);r&&(r.scrollLeft=o,r.scrollTop=s)}catch{}}}if(c)return;const i=location.hash.slice(1);if(i){const t=history.state?.__hashScrollIntoViewOptions??!0;if(t){const e=document.getElementById(i);e&&e.scrollIntoView(t)}return}scrollTo(0,0)})("tsr-scroll-restoration-v1_3");document.currentScript.remove()</script>
22<!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section>
22<script class="$tsr" id="$tsr-stream-barrier">(self.$R=self.$R||{})["tsr"]=[];self.$_TSR={h(){this.hydrated=!0,this.c()},e(){this.streamEnded=!0,this.c()},c(){this.hydrated&&this.streamEnded&&(delete self.$_TSR,delete self.$R.tsr)},p(e){this.initialized?e():this.buffer.push(e)},buffer:[]};$_TSR.router=($R=>$R[0]={manifest:$R[1]={routes:$R[2]={__root__:$R[3]={preloads:$R[4]=["/assets/index-BOOcRGI2.js"],scripts:$R[5]=[$R[6]={attrs:$R[7]={type:"module",async:!0,src:"/assets/index-BOOcRGI2.js"}}]},"/(auth)":$R[8]={preloads:$R[9]=["/assets/layout-umnWUo4_.js"]},"/(auth)/login":$R[10]={preloads:$R[11]=["/assets/login-DKJuZvwe.js","/assets/input-group-DcKfWJGl.js","/assets/checkbox-CZRuWA7n.js","/assets/circle-alert-CabqvFHW.js","/assets/index.esm-CxSAOLAh.js","/assets/schemas-D6-HOx69.js","/assets/alert-By4PgL1C.js","/assets/field-DpdDW9nz.js","/assets/card-CHikSBcn.js","/assets/spinner-C3b9Ak1P.js"]}}},matches:$R[12]=[$R[13]={i:"__root__�",u:1791171681739,s:"success",ssr:!0},$R[14]={i:"�(auth)�",u:1791171681742,s:"success",ssr:!0},$R[15]={i:"�(auth)�login�login",u:1791171681742,s:"success",ssr:!0}],lastMatchId:"�(auth)�login�login",dehydratedData:$R[16]={queryStream:$R[17]=($R[18]=(e) => new ReadableStream({ start: (r) => { 23 e.on({ 24 next: (a) => { 25 try { 26 r.enqueue(a); 27 } catch (t) {} 28 }, 29 throw: (a) => { 30 r.error(a); 31 }, 32 return: () => { 33 try { 34 r.close(); 35 } catch (a) {} 36 } 37 }); 38} }))($R[19]=($R[20]=() => { 39 let e = [], r = [], t = !0, n = !1, a = 0, s = (l, g, S) => { 40 for (S = 0;S < a; S++) 41 r[S] && r[S][g](l); 42 }, i = (l, g, S, d) => { 43 for (g = 0, S = e.length;g < S; g++) 44 d = e[g], !t && g === S - 1 ? l[n ? "return" : "throw"](d) : l.next(d); 45 }, u = (l, g) => (t && (g = a++, r[g] = l), i(l), () => { 46 t && (r[g] = r[a], r[a--] = void 0); 47 }); 48 return { 49 __SEROVAL_STREAM__: !0, 50 on: (l) => u(l), 51 next: (l) => { 52 t && (e.push(l), s(l, "next")); 53 }, 54 throw: (l) => { 55 t && (e.push(l), s(l, "throw"), t = !1, n = !1, r.length = 0); 56 }, 57 return: (l) => { 58 t && (e.push(l), s(l, "return"), t = !1, n = !0, r.length = 0); 59 } 60 }; 61})())}})($R["tsr"]);document.currentScript.remove()</script>
61<script type="module" async="" src="/assets/index-BOOcRGI2.js"></script>
61<script>($R=>$R[19].return(void 0))($R["tsr"]);$_TSR.e();document.currentScript.remove()</script>
61<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"381fdbf550b045f3b31ba91d0c25dfcf","r":1,"spa":2}' crossorigin="anonymous"></script>
61 62</body></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.