1<!DOCTYPE html> 2<html lang="en-US"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta content="IE=edge" http-equiv="X-UA-Compatible" /> 6 <meta content="webkit" name="renderer" /> 7 <meta 8 content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover" 9 name="viewport" 10 /> 11 <meta content="noindex,nofollow" name="robots" /> 12 <title>Login - Binâs space â¨Calgary</title> 13 <link rel="preload" href="/images/wordmark.svg" as="image" type="image/svg+xml" /> 14 <link rel="preload" href="/images/logo.png" as="image" type="image/png" /> 15 <link rel="icon" href="/upload/2022/04/logo2.png" /> 16 17 18 19 <link rel="stylesheet" href="/webjars/normalize.css/8.0.1/normalize.css" /> 20 <link rel="stylesheet" href="/styles/main.css?v=2.25.1" /> 21 22 23 24
24<script src="/webjars/jsencrypt/3.5.4/bin/jsencrypt.min.js" defer></script>
24 25
25<script type="text/javascript"> 26 const publicKey = "MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAoWTs5gGN5s4Ogj3LpHnbNDpTqfqSQ1UceQu9wlgvBUkxRNL2Cx5\/YjGM75sp27M1p0WJat6IrnH9GIPYOXyUnZE+EqDwvk1bpu3h6GvnupmE4nkjR5\/TjwHTwH49mzNsAtvO5iMXVm9pwG+JvBpwpGA4XaDctbTsA1vsrHMrO3WBmw5H5Z56EyDK29dqcpqdRDvI9VPvZf39NX6soCzuCsR4CGMWC6AAVjL6GMx1MufeSomF1oNOgfCoxWbVCV+bTC\/FWTKjlmxEpPTRqPbddCLgxompFwNmNTzkgeXayybKdy6XKruFBx87fj8dmHASDH6LhDQ2UuB64B+j8n7WVYea1r6gs0pSJpqCgZrtI6RmHQYd6VeHXdjagSQGyEE9WMIBiCqsT0Bt3i8QLiti9A7m9NaWAg9O6At9UjrYZwxKNd1em5lH3QCbiCPa3R45Nszigpt9aPeugL1IlZQZLc6oRWB6UMiLJnRB3AByADS\/Jhf55uj+inlyCH4qYTDnM1vhUVyePR6KmhOwOXtYl5UoEDZ1y6C7uo7dL5aOIrShsKWy1Nn7RQGalTAKBg26ry5LBKgOYhSq7W1If1nystFxHLC9FTXEy7UBh6o4ol+EvAcY84TDyP3c9RH+jd7QZPNmePU5gGszo4Q2gvOUmCKGzdq5mki5rOWtCWxEtR0CAwEAAQ=="; 27 28 // Encrypt function 29 function encryptPassword(password) { 30 const encrypt = new JSEncrypt(); 31 encrypt.setPublicKey(publicKey); 32 return encrypt.encrypt(password); 33 } 34 35 document.addEventListener("DOMContentLoaded", function () { 36 const loginForm = document.getElementById("login-form"); 37 loginForm.addEventListener("submit", function (event) { 38 const plainPasswordInput = document.getElementById("plainPassword"); 39 const passwordInput = document.getElementById("password"); 40 passwordInput.value = encryptPassword(plainPasswordInput.value); 41 }); 42 }); 43 </script>
43 44 45 46
46<script> 47 const i18nResources = { 48 sendVerificationCodeSuccess: `Sent Successfully`, 49 sendVerificationCodeFailed: `Sending Failed, Please Try Again Later`, 50 sendVerificationCodeSending: `Sending...`, 51 passwordConfirmationFailed: `Password confirmation does not match`, 52 }; 53 </script>
53 54 55
55<script src="/js/main.js"></script>
55 56 57 58 59 60 </head> 61 <body class="gateway-page"> 62 63 <div class="gateway-wrapper"> 64 65 <style> 66 .halo-logo { 67 width: 100%; 68 display: flex; 69 justify-content: center; 70 margin-bottom: 2em; 71 } 72 73 .halo-logo img { 74 width: 6em; 75 } 76 </style> 77 <div class="halo-logo"> 78 <img src="/images/wordmark.svg" alt="Halo" /> 79 </div> 80 81 82 <div class="halo-form-wrapper"> 83 <form 84 class="halo-form" 85 name="login-form" 86 id="login-form" 87 action="/login" 88 method="post" 89><input type="hidden" name="_csrf" value="7RzJX6NIshdKjuB1XetW3JRW8X2dl57PAHcHeLopsK6_p4ZX1S3wPsd4gidn74VAO8Zi7aJk3ByooqriN080SoJP1JyKkbY0"/> 90 91 92 93 94 95 96 97 <input type="hidden" name="password" id="password" /> 98 99 <div class="form-item"> 100 <label for="username">Username or email address</label> 101 102 <div class="form-input"> 103 <input 104 id="username" 105 name="username" 106 type="text" 107 autocomplete="off" 108 spellcheck="false" 109 autocorrect="off" 110 autocapitalize="off" 111 required 112 autofocus 113 value="" 114 /> 115 </div> 116 </div> 117 <div class="form-item"> 118 <div class="form-label-group"> 119 <label for="plainPassword">Password</label> 120 <a 121 class="form-item-extra-link" 122 tabindex="-1" 123 href="/password-reset/email" 124 >Forgot your password?</a> 125 </div> 126 127 128 <div class="form-input form-input-stack toggle-password-display-flag"> 129 <input 130 id="plainPassword" 131 name="" 132 type="password" 133 autocomplete="off" 134 spellcheck="false" 135 autocorrect="off" 136 autocapitalize="off" 137 maxlength="257" required="required" 138 /> 139 140 <div class="form-input-stack-icon toggle-password-button"> 141 <svg class="password-hidden-icon" style="display: none" viewBox="0 0 24 24" width="1em" height="1em"> 142 <path 143 fill="currentColor" 144 d="M12 3c5.392 0 9.878 3.88 10.819 9c-.94 5.12-5.427 9-10.819 9c-5.392 0-9.878-3.88-10.818-9C2.122 6.88 6.608 3 12 3Zm0 16a9.005 9.005 0 0 0 8.778-7a9.005 9.005 0 0 0-17.555 0A9.005 9.005 0 0 0 12 19Zm0-2.5a4.5 4.5 0 1 1 0-9a4.5 4.5 0 0 1 0 9Zm0-2a2.5 2.5 0 1 0 0-5a2.5 2.5 0 0 0 0 5Z" 145 ></path> 146 </svg> 147 148 <svg class="password-display-icon" viewBox="0 0 24 24" width="1em" height="1em"> 149 <path 150 fill="currentColor" 151 d="M17.883 19.297A10.949 10.949 0 0 1 12 21c-5.392 0-9.878-3.88-10.818-9A10.982 10.982 0 0 1 4.52 5.935L1.394 2.808l1.414-1.414l19.799 19.798l-1.414 1.415l-3.31-3.31ZM5.936 7.35A8.965 8.965 0 0 0 3.223 12a9.005 9.005 0 0 0 13.201 5.838l-2.028-2.028A4.5 4.5 0 0 1 8.19 9.604L5.936 7.35Zm6.978 6.978l-3.242-3.241a2.5 2.5 0 0 0 3.241 3.241Zm7.893 2.265l-1.431-1.431A8.935 8.935 0 0 0 20.778 12A9.005 9.005 0 0 0 9.552 5.338L7.974 3.76C9.221 3.27 10.58 3 12 3c5.392 0 9.878 3.88 10.819 9a10.947 10.947 0 0 1-2.012 4.593Zm-9.084-9.084a4.5 4.5 0 0 1 4.769 4.769l-4.77-4.77Z" 152 ></path> 153 </svg> 154 </div> 155 </div> 156 157 </div> 158 159 160 <div class="form-item-compact"> 161 <input type="checkbox" id="remember-me" name="remember-me" value="true" /> 162 <label for="remember-me">Remember me</label> 163 </div> 164 165 <div class="form-item"> 166 <button type="submit">Login</button> 167 </div> 168</form> 169 170 171 172 173 174
174<script> 175 document.addEventListener("DOMContentLoaded", function () { 176 const rememberMeCheckbox = document.getElementById("remember-me"); 177 const socialAuthProviders = document.querySelectorAll(".social-auth-provider-form"); 178 179 if (!rememberMeCheckbox) { 180 return; 181 } 182 183 rememberMeCheckbox.addEventListener("change", function (e) { 184 const rememberMe = e.target.checked; 185 186 socialAuthProviders.forEach((form) => { 187 const url = new URL(form.action, window.location.origin); 188 url.searchParams.set("remember-me", rememberMe ? "true" : "false"); 189 form.action = url.pathname + url.search; 190 }); 191 }); 192 }); 193 </script>
193 194 195 </div> 196 197 198 <style> 199 .signup-notice-content { 200 font-size: var(--text-sm); 201 color: var(--color-text); 202 text-align: center; 203 margin: 1em 0; 204 } 205 206 .signup-notice-content a { 207 color: var(--color-link); 208 text-decoration: none; 209 } 210 </style> 211 212 213 214 <style> 215 .returntosite-content { 216 font-size: var(--text-sm); 217 text-align: center; 218 margin: 1em 0; 219 } 220 221 .returntosite-content a { 222 color: var(--color-text); 223 display: inline-flex; 224 align-items: center; 225 gap: 0.3em; 226 text-decoration: none; 227 } 228 </style> 229 <div class="returntosite-content"> 230 <a href="/"> 231 <svg viewBox="0 0 24 24" width="1.2em" height="1.2em"> 232 <path fill="currentColor" d="M21 11H6.83l3.58-3.59L9 6l-6 6l6 6l1.41-1.42L6.83 13H21z"></path> 233 </svg> 234 <span>Return to site</span> 235 </a> 236 </div> 237 238 239 <style> 240 .language-switcher { 241 display: flex; 242 align-items: center; 243 justify-content: center; 244 margin: 2em 0; 245 gap: 0.625rem; 246 } 247 248 .language-switcher label { 249 color: var(--color-text); 250 display: inline-flex; 251 } 252 253 .language-switcher select { 254 all: unset; 255 border: 1px solid var(--color-border); 256 font-size: var(--text-sm); 257 height: 2em; 258 border-radius: var(--rounded-lg); 259 outline: none; 260 padding: 0 2em 0 0.5em; 261 display: inline-flex; 262 align-items: center; 263 color: var(--color-text); 264 background-color: var(--color-text); 265 background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='m12 13.171l4.95-4.95l1.414 1.415L12 16L5.636 9.636L7.05 8.222z'/%3E%3C/svg%3E"); 266 background-repeat: no-repeat; 267 background-position: right 0.45rem center; 268 } 269 270 .language-switcher select:focus { 271 border-color: var(--color-primary); 272 } 273 </style> 274 <div class="language-switcher"> 275 <label for="language-select"> 276 <svg viewBox="0 0 24 24" width="1.2em" height="1.2em"> 277 <path 278 fill="currentColor" 279 d="m12.87 15.07l-2.54-2.51l.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35C8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5l3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7l1.62-4.33L19.12 17z" 280 ></path> 281 </svg> 282 </label> 283 <select id="language-select" onchange="changeLanguage()"> 284 <option value="en">English</option> 285 <option value="es">Español</option> 286 <option value="zh-CN">ç®ä½ä¸æ</option> 287 <option value="zh-TW">ç¹ä½ä¸æ</option> 288 </select> 289
289<script type="text/javascript"> 290 function changeLanguage() { 291 const selectedLanguage = document.getElementById("language-select").value; 292 const currentURL = new URL(window.location.href); 293 currentURL.searchParams.set("language", selectedLanguage); 294 295 history.replaceState(null, "", currentURL.toString()); 296 297 window.location.reload(); 298 } 299 </script>
299 300 </div> 301 302 </div> 303 304
304<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":"cc7e9701c68746898086a9dacd69d7f6","r":1,"spa":2}' crossorigin="anonymous"></script>
304 305</body> 306</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.