Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stopped working circa 4/10/2020 #179

Closed
sinkr opened this issue Apr 10, 2020 · 58 comments
Closed

Stopped working circa 4/10/2020 #179

sinkr opened this issue Apr 10, 2020 · 58 comments

Comments

@sinkr
Copy link

sinkr commented Apr 10, 2020

Some people get Invalid username or password.

I get:

ERROR:root:'NoneType' object has no attribute 'get' Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/aws_google_auth-0.0.34-py3.7.egg/aws_google_auth/__init__.py", line 75, in cli process_auth(args, config) File "/usr/local/lib/python3.7/site-packages/aws_google_auth-0.0.34-py3.7.egg/aws_google_auth/__init__.py", line 222, in process_auth google_client.do_login() File "/usr/local/lib/python3.7/site-packages/aws_google_auth-0.0.34-py3.7.egg/aws_google_auth/google.py", line 235, in do_login passwd_challenge_url = 'https://accounts.google.com' + form.get('action') AttributeError: 'NoneType' object has no attribute 'get'

Passwords are verified correct, I've tried no cache, I've tried adding a new account, and I've tried resetting my Google password all to no avail.

It looks like Google changed something. Let me know how I can help diagnose it.

@tristanpemble
Copy link

We are having the same issue.

@lukefromull
Copy link

I have the same issue, i believe the captcha screens have changed.

@vrijmetse
Copy link

When you're not letting me in, I know I am not the only one...

@Zlender
Copy link

Zlender commented Apr 13, 2020

A couple of days earlier it stopped working for me with Google responding that browser doesn't support JS. #160 (comment)_

@stevemac007
Copy link
Contributor

Grrr - this type of issue sux - I've created a new branch that can store all html that comes back from google see #181

If we can get some HTML we can see if this can help fix the issue.

@sinkr
Copy link
Author

sinkr commented Apr 13, 2020

Hi Steve,

I have some HTML that has been generated. I need time to scrub the files for my IDP ID, etc, but the material error seems to be this:

Couldn't sign you in
The browser you're using doesn't support JavaScript, or has JavaScript turned off.

To keep your Google Account secure, try signing in on a browser that has JavaScript turned on. Learn more

I will scrub my HTML results here in a bit and get them up here in the event that this is a red herring. Also, thinking ahead and assuming that maybe Google is enforcing a JS-enabled browser, how hard would it be to just move this part of the authentication to the browser such that the JS requirement is happy?

Regards,

-R.

Grrr - this type of issue sux - I've created a new branch that can store all html that comes back from google see #181

If we can get some HTML we can see if this can help fix the issue.

@sinkr
Copy link
Author

sinkr commented Apr 13, 2020

@sinkr could you please adjust your comments and wrap the html in triple backtick instead of single backtick? It'll help with readability.

They are wrapped with triple backticks. I guess it's just so large that the parser is breaking down:

image

@sinkr
Copy link
Author

sinkr commented Apr 13, 2020

Here is the second of two files from --save-all-html:

accounts.google.com-o-saml2-initssofalse.html:

<!DOCTYPE html>
<html lang="en">
  <head>
  <meta charset="utf-8">
  <meta content="width=300, initial-scale=1" name="viewport">
  <meta name="google-site-verification" content="redacted">
  <title>Sign in - Google Accounts</title>
  <style>
  @font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'), url(//fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN_r8OUuhs.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans'), local('OpenSans'), url(//fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFVZ0e.ttf) format('truetype');
}
  </style>
  <style>
  h1, h2 {
  -webkit-animation-duration: 0.1s;
  -webkit-animation-name: fontfix;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-timing-function: linear;
  -webkit-animation-delay: 0;
  }
  @-webkit-keyframes fontfix {
  from {
  opacity: 1;
  }
  to {
  opacity: 1;
  }
  }
  </style>
<style>
  html, body {
  font-family: Arial, sans-serif;
  background: #fff;
  margin: 0;
  padding: 0;
  border: 0;
  position: absolute;
  height: 100%;
  min-width: 100%;
  font-size: 13px;
  color: #404040;
  direction: ltr;
  -webkit-text-size-adjust: none;
  }
  button,
  input[type=button],
  input[type=submit] {
  font-family: Arial, sans-serif;
  font-size: 13px;
  }
  a,
  a:hover,
  a:visited {
  color: #427fed;
  cursor: pointer;
  text-decoration: none;
  }
  a:hover {
  text-decoration: underline;
  }
  h1 {
  font-size: 20px;
  color: #262626;
  margin: 0 0 15px;
  font-weight: normal;
  }
  h2 {
  font-size: 14px;
  color: #262626;
  margin: 0 0 15px;
  font-weight: bold;
  }
  input[type=email],
  input[type=number],
  input[type=password],
  input[type=tel],
  input[type=text],
  input[type=url] {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  display: inline-block;
  height: 36px;
  padding: 0 8px;
  margin: 0;
  background: #fff;
  border: 1px solid #d9d9d9;
  border-top: 1px solid #c0c0c0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -moz-border-radius: 1px;
  -webkit-border-radius: 1px;
  border-radius: 1px;
  font-size: 15px;
  color: #404040;
  }
  input[type=email]:hover,
  input[type=number]:hover,
  input[type=password]:hover,
  input[type=tel]:hover,
  input[type=text]:hover,
  input[type=url]:hover {
  border: 1px solid #b9b9b9;
  border-top: 1px solid #a0a0a0;
  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  }
  input[type=email]:focus,
  input[type=number]:focus,
  input[type=password]:focus,
  input[type=tel]:focus,
  input[type=text]:focus,
  input[type=url]:focus {
  outline: none;
  border: 1px solid #4d90fe;
  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  }
  input[type=checkbox],
  input[type=radio] {
  -webkit-appearance: none;
  display: inline-block;
  width: 13px;
  height: 13px;
  margin: 0;
  cursor: pointer;
  vertical-align: bottom;
  background: #fff;
  border: 1px solid #c6c6c6;
  -moz-border-radius: 1px;
  -webkit-border-radius: 1px;
  border-radius: 1px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  }
  input[type=checkbox]:active,
  input[type=radio]:active {
  background: #ebebeb;
  }
  input[type=checkbox]:hover {
  border-color: #c6c6c6;
  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  }
  input[type=radio] {
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
  border-radius: 1em;
  width: 15px;
  height: 15px;
  }
  input[type=checkbox]:checked,
  input[type=radio]:checked {
  background: #fff;
  }
  input[type=radio]:checked::after {
  content: '';
  display: block;
  position: relative;
  top: 3px;
  left: 3px;
  width: 7px;
  height: 7px;
  background: #666;
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
  border-radius: 1em;
  }
  input[type=checkbox]:checked::after {
  content: url(https://ssl.gstatic.com/ui/v1/menu/checkmark.png);
  display: block;
  position: absolute;
  top: -6px;
  left: -5px;
  }
  input[type=checkbox]:focus {
  outline: none;
  border-color: #4d90fe;
  }
  .stacked-label {
  display: block;
  font-weight: bold;
  margin: .5em 0;
  }
  .hidden-label {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  height: 0px;
  width: 0px;
  overflow: hidden;
  visibility: hidden;
  }
  input[type=checkbox].form-error,
  input[type=email].form-error,
  input[type=number].form-error,
  input[type=password].form-error,
  input[type=text].form-error,
  input[type=tel].form-error,
  input[type=url].form-error {
  border: 1px solid #dd4b39;
  }
  .error-msg {
  margin: .5em 0;
  display: block;
  color: #dd4b39;
  line-height: 17px;
  }
  .help-link {
  background: #dd4b39;
  padding: 0 5px;
  color: #fff;
  font-weight: bold;
  display: inline-block;
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
  border-radius: 1em;
  text-decoration: none;
  position: relative;
  top: 0px;
  }
  .help-link:visited {
  color: #fff;
  }
  .help-link:hover {
  color: #fff;
  background: #c03523;
  text-decoration: none;
  }
  .help-link:active {
  opacity: 1;
  background: #ae2817;
  }
  .wrapper {
  position: relative;
  min-height: 100%;
  }
  .content {
  padding: 0 44px;
  }
  .main {
  padding-bottom: 100px;
  }
  /* For modern browsers */
  .clearfix:before,
  .clearfix:after {
  content: "";
  display: table;
  }
  .clearfix:after {
  clear: both;
  }
  /* For IE 6/7 (trigger hasLayout) */
  .clearfix {
  zoom:1;
  }
  .google-header-bar {
  height: 71px;
  border-bottom: 1px solid #e5e5e5;
  overflow: hidden;
  }
  .header .logo {
  background-image: url(https://ssl.gstatic.com/accounts/ui/logo_1x.png);
  background-size: 116px 38px;
  background-repeat: no-repeat;
  margin: 17px 0 0;
  float: left;
  height: 38px;
  width: 116px;
  }
  .header .logo-w {
  background-image: url(https://ssl.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_112x36dp.png);
  background-size: 112px 36px;
  margin: 21px 0 0;
  }
  .header .secondary-link {
  margin: 28px 0 0;
  float: right;
  }
  .header .secondary-link a {
  font-weight: normal;
  }
  .google-header-bar.centered {
  border: 0;
  height: 108px;
  }
  .google-header-bar.centered .header .logo {
  float: none;
  margin: 40px auto 30px;
  display: block;
  }
  .google-header-bar.centered .header .secondary-link {
  display: none
  }
  .google-footer-bar {
  position: absolute;
  bottom: 0;
  height: 35px;
  width: 100%;
  border-top: 1px solid #e5e5e5;
  overflow: hidden;
  }
  .footer {
  padding-top: 7px;
  font-size: .85em;
  white-space: nowrap;
  line-height: 0;
  }
  .footer ul {
  float: left;
  max-width: 80%;
  min-height: 16px;
  padding: 0;
  }
  .footer ul li {
  color: #737373;
  display: inline;
  padding: 0;
  padding-right: 1.5em;
  }
  .footer a {
  color: #737373;
  }
  .lang-chooser-wrap {
  float: right;
  display: inline;
  }
  .lang-chooser-wrap img {
  vertical-align: top;
  }
  .lang-chooser {
  font-size: 13px;
  height: 24px;
  line-height: 24px;
  }
  .lang-chooser option {
  font-size: 13px;
  line-height: 24px;
  }
  .hidden {
  height: 0px;
  width: 0px;
  overflow: hidden;
  visibility: hidden;
  display: none !important;
  }
  .banner {
  text-align: center;
  }
  .card {
  background-color: #f7f7f7;
  padding: 20px 25px 30px;
  margin: 0 auto 25px;
  width: 304px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
  }
  .card > *:first-child {
  margin-top: 0;
  }
  .rc-button,
  .rc-button:visited {
  display: inline-block;
  min-width: 46px;
  text-align: center;
  color: #444;
  font-size: 14px;
  font-weight: 700;
  height: 36px;
  padding: 0 8px;
  line-height: 36px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -o-transition: all 0.218s;
  -moz-transition: all 0.218s;
  -webkit-transition: all 0.218s;
  transition: all 0.218s;
  border: 1px solid #dcdcdc;
  background-color: #f5f5f5;
  background-image: -webkit-linear-gradient(top,#f5f5f5,#f1f1f1);
  background-image: -moz-linear-gradient(top,#f5f5f5,#f1f1f1);
  background-image: -ms-linear-gradient(top,#f5f5f5,#f1f1f1);
  background-image: -o-linear-gradient(top,#f5f5f5,#f1f1f1);
  background-image: linear-gradient(top,#f5f5f5,#f1f1f1);
  -o-transition: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  cursor: default;
  }
  .card .rc-button {
  width: 100%;
  padding: 0;
  }
  .rc-button.disabled,
  .rc-button[disabled] {
  opacity: .5;
  filter: alpha(opacity=50);
  cursor: default;
  pointer-events: none;
  }
  .rc-button:hover {
  border: 1px solid #c6c6c6;
  color: #333;
  text-decoration: none;
  -o-transition: all 0.0s;
  -moz-transition: all 0.0s;
  -webkit-transition: all 0.0s;
  transition: all 0.0s;
  background-color: #f8f8f8;
  background-image: -webkit-linear-gradient(top,#f8f8f8,#f1f1f1);
  background-image: -moz-linear-gradient(top,#f8f8f8,#f1f1f1);
  background-image: -ms-linear-gradient(top,#f8f8f8,#f1f1f1);
  background-image: -o-linear-gradient(top,#f8f8f8,#f1f1f1);
  background-image: linear-gradient(top,#f8f8f8,#f1f1f1);
  -moz-box-shadow: 0 1px 1px rgba(0,0,0,0.1);
  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.1);
  box-shadow: 0 1px 1px rgba(0,0,0,0.1);
  }
  .rc-button:active {
  background-color: #f6f6f6;
  background-image: -webkit-linear-gradient(top,#f6f6f6,#f1f1f1);
  background-image: -moz-linear-gradient(top,#f6f6f6,#f1f1f1);
  background-image: -ms-linear-gradient(top,#f6f6f6,#f1f1f1);
  background-image: -o-linear-gradient(top,#f6f6f6,#f1f1f1);
  background-image: linear-gradient(top,#f6f6f6,#f1f1f1);
  -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.1);
  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1);
  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
  }
  .rc-button-submit,
  .rc-button-submit:visited {
  border: 1px solid #3079ed;
  color: #fff;
  text-shadow: 0 1px rgba(0,0,0,0.1);
  background-color: #4d90fe;
  background-image: -webkit-linear-gradient(top,#4d90fe,#4787ed);
  background-image: -moz-linear-gradient(top,#4d90fe,#4787ed);
  background-image: -ms-linear-gradient(top,#4d90fe,#4787ed);
  background-image: -o-linear-gradient(top,#4d90fe,#4787ed);
  background-image: linear-gradient(top,#4d90fe,#4787ed);
  }
  .rc-button-submit:hover {
  border: 1px solid #2f5bb7;
  color: #fff;
  text-shadow: 0 1px rgba(0,0,0,0.3);
  background-color: #357ae8;
  background-image: -webkit-linear-gradient(top,#4d90fe,#357ae8);
  background-image: -moz-linear-gradient(top,#4d90fe,#357ae8);
  background-image: -ms-linear-gradient(top,#4d90fe,#357ae8);
  background-image: -o-linear-gradient(top,#4d90fe,#357ae8);
  background-image: linear-gradient(top,#4d90fe,#357ae8);
  }
  .rc-button-submit:active {
  background-color: #357ae8;
  background-image: -webkit-linear-gradient(top,#4d90fe,#357ae8);
  background-image: -moz-linear-gradient(top,#4d90fe,#357ae8);
  background-image: -ms-linear-gradient(top,#4d90fe,#357ae8);
  background-image: -o-linear-gradient(top,#4d90fe,#357ae8);
  background-image: linear-gradient(top,#4d90fe,#357ae8);
  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  }
  .rc-button-red,
  .rc-button-red:visited {
  border: 1px solid transparent;
  color: #fff;
  text-shadow: 0 1px rgba(0,0,0,0.1);
  background-color: #d14836;
  background-image: -webkit-linear-gradient(top,#dd4b39,#d14836);
  background-image: -moz-linear-gradient(top,#dd4b39,#d14836);
  background-image: -ms-linear-gradient(top,#dd4b39,#d14836);
  background-image: -o-linear-gradient(top,#dd4b39,#d14836);
  background-image: linear-gradient(top,#dd4b39,#d14836);
  }
  .rc-button-red:hover {
  border: 1px solid #b0281a;
  color: #fff;
  text-shadow: 0 1px rgba(0,0,0,0.3);
  background-color: #c53727;
  background-image: -webkit-linear-gradient(top,#dd4b39,#c53727);
  background-image: -moz-linear-gradient(top,#dd4b39,#c53727);
  background-image: -ms-linear-gradient(top,#dd4b39,#c53727);
  background-image: -o-linear-gradient(top,#dd4b39,#c53727);
  background-image: linear-gradient(top,#dd4b39,#c53727);
  }
  .rc-button-red:active {
  border: 1px solid #992a1b;
  background-color: #b0281a;
  background-image: -webkit-linear-gradient(top,#dd4b39,#b0281a);
  background-image: -moz-linear-gradient(top,#dd4b39,#b0281a);
  background-image: -ms-linear-gradient(top,#dd4b39,#b0281a);
  background-image: -o-linear-gradient(top,#dd4b39,#b0281a);
  background-image: linear-gradient(top,#dd4b39,#b0281a);
  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  }
  .secondary-actions {
  text-align: center;
  }
</style>
<style media="">
  .google-header-bar.centered {
  height: 83px;
  }
  .google-header-bar.centered .header .logo {
  margin: 25px auto 20px;
  }
  .card {
  margin-bottom: 20px;
  }
</style>
<style media="">
  html, body {
  font-size: 14px;
  }
  .google-header-bar.centered {
  height: 73px;
  }
  .google-header-bar.centered .header .logo {
  margin: 20px auto 15px;
  }
  .content {
  padding-left: 10px;
  padding-right: 10px;
  }
  .hidden-small {
  display: none;
  }
  .card {
  padding: 20px 15px 30px;
  width: 270px;
  }
  .footer ul li {
  padding-right: 1em;
  }
  .lang-chooser-wrap {
  display: none;
  }
</style>
<style media="screen and (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3 / 2), (min-device-pixel-ratio: 1.5)">
  .header .logo {
  background-image: url(https://ssl.gstatic.com/accounts/ui/logo_2x.png);
  }
  .header .logo-w {
  background-image: url(https://ssl.gstatic.com/images/branding/googlelogo/2x/googlelogo_color_112x36dp.png);
  }
</style>
<style>
  pre.debug {
  font-family: monospace;
  position: absolute;
  left: 0;
  margin: 0;
  padding: 1.5em;
  font-size: 13px;
  background: #f1f1f1;
  border-top: 1px solid #e5e5e5;
  direction: ltr;
  white-space: pre-wrap;
  width: 90%;
  overflow: hidden;
  }
</style>
<style>
  .banner h1 {
  font-family: 'Open Sans', arial;
  -webkit-font-smoothing: antialiased;
  color: #555;
  font-size: 42px;
  font-weight: 300;
  margin-top: 0;
  margin-bottom: 20px;
  }
  .banner h2 {
  font-family: 'Open Sans', arial;
  -webkit-font-smoothing: antialiased;
  color: #555;
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 20px;
  }
  .signin-card {
  width: 274px;
  padding: 40px 40px;
  }
  .signin-card .profile-img {
  width: 96px;
  height: 96px;
  margin: 0 auto 10px;
  display: block;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  }
  .signin-card .profile-name {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 10px 0 0;
  min-height: 1em;
  }
  .signin-card .profile-email {
  font-size: 16px;
  text-align: center;
  margin: 10px 0 20px 0;
  min-height: 1em;
  }
  .signin-card input[type=email],
  .signin-card input[type=password],
  .signin-card input[type=text],
  .signin-card input[type=submit] {
  width: 100%;
  display: block;
  margin-bottom: 10px;
  z-index: 1;
  position: relative;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  }
  .signin-card #Email,
  .signin-card #Passwd,
  .signin-card .captcha {
  direction: ltr;
  height: 44px;
  font-size: 16px;
  }
  .signin-card #Email + .stacked-label {
  margin-top: 15px;
  }
  .signin-card #reauthEmail {
  display: block;
  margin-bottom: 10px;
  line-height: 36px;
  padding: 0 8px;
  font-size: 15px;
  color: #404040;
  line-height: 2;
  margin-bottom: 10px;
  font-size: 14px;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  }
  .one-google p {
  margin: 0 0 10px;
  color: #555;
  font-size: 14px;
  text-align: center;
  }
  .one-google p.create-account,
  .one-google p.switch-account {
  margin-bottom: 60px;
  }
  .one-google .logo-strip {
  background-repeat: no-repeat;
  display: block;
  margin: 10px auto;
  background-image: url(https://ssl.gstatic.com/accounts/ui/wlogostrip_230x17_1x.png);
  background-size: 230px 17px;
  width: 230px;
  height: 17px;
  }
</style>
<style media="">
  .banner h1 {
  font-size: 38px;
  margin-bottom: 15px;
  }
  .banner h2 {
  margin-bottom: 15px;
  }
  .one-google p.create-account,
  .one-google p.switch-account {
  margin-bottom: 30px;
  }
  .signin-card #Email {
  margin-bottom: 0;
  }
  .signin-card #Passwd {
  margin-top: -1px;
  }
  .signin-card #Email.form-error,
  .signin-card #Passwd.form-error {
  z-index: 2;
  }
  .signin-card #Email:hover,
  .signin-card #Email:focus,
  .signin-card #Passwd:hover,
  .signin-card #Passwd:focus {
  z-index: 3;
  }
</style>
<style media="">
  .banner h1 {
  font-size: 22px;
  margin-bottom: 15px;
  }
  .signin-card {
  width: 260px;
  padding: 20px 20px;
  margin: 0 auto 20px;
  }
  .signin-card .profile-img {
  width: 72px;
  height: 72px;
  -moz-border-radius: 72px;
  -webkit-border-radius: 72px;
  border-radius: 72px;
  }
</style>
<style media="screen and (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3 / 2), (min-device-pixel-ratio: 1.5)">
  .one-google .logo-strip {
  background-image: url(https://ssl.gstatic.com/accounts/ui/wlogostrip_230x17_2x.png);
  }
</style>
<style>
  .remember .bubble-wrap {
  position: absolute;
  padding-top: 3px;
  -o-transition: opacity .218s ease-in .218s;
  -moz-transition: opacity .218s ease-in .218s;
  -webkit-transition: opacity .218s ease-in .218s;
  transition: opacity .218s ease-in .218s;
  left: -999em;
  opacity: 0;
  width: 314px;
  margin-left: -20px;
  }
  .remember:hover .bubble-wrap,
  .remember input:focus ~ .bubble-wrap,
  .remember .bubble-wrap:hover,
  .remember .bubble-wrap:focus {
  opacity: 1;
  left: inherit;
  }
  .bubble-pointer {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #fff;
  width: 0;
  height: 0;
  margin-left: 17px;
  }
  .bubble {
  background-color: #fff;
  padding: 15px;
  margin-top: -1px;
  font-size: 11px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
  }
  #stay-signed-in {
  float: left;
  }
  #stay-signed-in-tooltip {
  left: auto;
  margin-left: -20px;
  padding-top: 3px;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 314px;
  z-index: 1;
  }
  .dasher-tooltip {
  top: 380px;
  }
</style>
<style media="">
  .dasher-tooltip {
  top: 340px;
  }
</style>
<style>
  .jfk-tooltip {
  background-color: #fff;
  border: 1px solid;
  color: #737373;
  font-size: 12px;
  position: absolute;
  z-index: 800 !important;
  border-color: #bbb #bbb #a8a8a8;
  padding: 16px;
  width: 250px;
  }
 .jfk-tooltip h3 {
  color: #555;
  font-size: 12px;
  margin: 0 0 .5em;
  }
 .jfk-tooltip-content p:last-child {
  margin-bottom: 0;
  }
  .jfk-tooltip-arrow {
  position: absolute;
  }
  .jfk-tooltip-arrow .jfk-tooltip-arrowimplbefore,
  .jfk-tooltip-arrow .jfk-tooltip-arrowimplafter {
  display: block;
  height: 0;
  position: absolute;
  width: 0;
  }
  .jfk-tooltip-arrow .jfk-tooltip-arrowimplbefore {
  border: 9px solid;
  }
  .jfk-tooltip-arrow .jfk-tooltip-arrowimplafter {
  border: 8px solid;
  }
  .jfk-tooltip-arrowdown {
  bottom: 0;
  }
  .jfk-tooltip-arrowup {
  top: -9px;
  }
  .jfk-tooltip-arrowleft {
  left: -9px;
  top: 30px;
  }
  .jfk-tooltip-arrowright {
  right: 0;
  top: 30px;
  }
  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore,.jfk-tooltip-arrowup .jfk-tooltip-arrowimplbefore {
  border-color: #bbb transparent;
  left: -9px;
  }
  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore {
  border-color: #a8a8a8 transparent;
  }
  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplafter,.jfk-tooltip-arrowup .jfk-tooltip-arrowimplafter {
  border-color: #fff transparent;
  left: -8px;
  }
  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore {
  border-bottom-width: 0;
  }
  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplafter {
  border-bottom-width: 0;
  }
  .jfk-tooltip-arrowup .jfk-tooltip-arrowimplbefore {
  border-top-width: 0;
  }
  .jfk-tooltip-arrowup .jfk-tooltip-arrowimplafter {
  border-top-width: 0;
  top: 1px;
  }
  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplbefore,
  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplbefore {
  border-color: transparent #bbb;
  top: -9px;
  }
  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplafter,
  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplafter {
  border-color:transparent #fff;
  top:-8px;
  }
  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplbefore {
  border-left-width: 0;
  }
  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplafter {
  border-left-width: 0;
  left: 1px;
  }
  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplbefore {
  border-right-width: 0;
  }
  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplafter {
  border-right-width: 0;
  }
  .jfk-tooltip-closebtn {
  background: url("//ssl.gstatic.com/ui/v1/icons/common/x_8px.png") no-repeat;
  border: 1px solid transparent;
  height: 21px;
  opacity: .4;
  outline: 0;
  position: absolute;
  right: 2px;
  top: 2px;
  width: 21px;
  }
  .jfk-tooltip-closebtn:focus,
  .jfk-tooltip-closebtn:hover {
  opacity: .8;
  cursor: pointer;
  }
  .jfk-tooltip-closebtn:focus {
  border-color: #4d90fe;
  }
</style>
<style media="">
  .jfk-tooltip {
  display: none;
  }
</style>
<style type="text/css">
.captcha-box {
  background: #fff;
  margin: 0 0 10px;
  overflow: hidden;
  padding: 10px;
}
.captcha-box .captcha-img {
  text-align: center;
}
.captcha-box .captcha-label {
  font-weight: bold;
  display: block;
  margin: .5em 0;
}
.captcha-box .captcha-msg {
  color: #999;
  display: block;
  position: relative;
}
.captcha-box .captcha-msg .accessibility-logo {
  float: right;
  border: 0;
}
.captcha-box .audio-box {
  position: absolute;
  top: 0;
}
</style>
<style>
.chromiumsync-custom-content {
  padding-top: 20px;
  margin-bottom: 0;
}
.form-panel {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
  width: 100%;
}
.form-panel.first {
  z-index: 2;
}
.form-panel.second {
  z-index: 1;
}
.shift-form .form-panel.first {
  z-index: 1;
}
.shift-form .form-panel.second {
  z-index: 2;
}
.slide-in,
.slide-out {
  display: block;
  -webkit-transition-property: -webkit-transform, opacity;
  -moz-transition-property: -moz-transform, opacity;
  -ms-transition-property: -ms-transform, opacity;
  -o-transition-property: -o-transform, opacity;
  transition-property: transform, opacity;
  -webkit-transition-duration: 0.1s;
  -moz-transition-duration: 0.1s;
  -ms-transition-duration: 0.1s;
  -o-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -moz-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -ms-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.slide-out {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.shift-form .slide-out {
  opacity: 0;
  -webkit-transform: translate3d(-120%, 0, 0);
  -moz-transform: translate3d(-120%, 0, 0);
  -ms-transform: translate3d(-120%, 0, 0);
  -o-transform: translate3d(-120%, 0, 0);
  transform: translate3d(-120%, 0, 0);
}
.slide-in {
  -webkit-transform: translate3d(120%, 0, 0);
  -moz-transform: translate3d(120%, 0, 0);
  -ms-transform: translate3d(120%, 0, 0);
  -o-transform: translate3d(120%, 0, 0);
  transform: translate3d(120%, 0, 0);
}
.shift-form .slide-in {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.error-msg {
  -webkit-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);
  -moz-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);
  -ms-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);
  -o-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);
  transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);
  height: auto;
  max-height: 0;
  opacity: 0;
}
.has-error .error-msg {
  max-height: 3.5em;
  margin-top: 10px;
  margin-bottom: 10px;
  opacity: 1;
  visibility: visible;
}
.back-arrow {
  position: absolute;
  top: 37px;
  width: 24px;
  height: 24px;
  display: none;
  cursor: pointer;
}
.back-arrow {
  border-style: none;
}
.shift-form.back-arrow {
  display: block;
}
.back-arrow img {
  display: block;
}
#link-signup {
  text-align: center;
  font-size: 14px;
}
.shift-form #link-signup{
  display: none;
}
#link-signin-different {
  display: none;
  text-align: center;
  font-size: 14px;
}
.shift-form #link-signin-different {
  display: block;
}
.signin-card #profile-name {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 0;
  min-height: 1em;
}
.signin-card.no-name #profile-name {
  display: none;
}
.signin-card.no-name #email-display {
  line-height: initial;
  margin-bottom: 16px;
}
.signin-card #email-display {
  display: block;
  padding: 0px 8px;
  color: rgb(64, 64, 64);
  line-height: 2;
  margin-bottom: 10px;
  font-size: 14px;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.signin-card #Email {
  margin-top: 16px;
}
.need-help {
  float: right;
  text-align: right;
}
.form-panel {
  width: 274px;
}
#gaia_firstform {
  z-index: 2;
}
.signin-card {
  position: relative;
  overflow: hidden;
}
.signin-card #profile-name {
  color: #000;
}
.circle-mask {
  display: block;
  height: 96px;
  width: 96px;
  overflow: hidden;
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
  z-index: 100;
  margin-bottom: 10px;
}
.circle {
  -webkit-transition-property: -webkit-transform;
  -moz-transition-property: -moz-transform;
  -ms-transition-property: -ms-transform;
  -o-transition-property: -o-transform;
  transition-property: transform;
  -webkit-transition-timing-function: cubic-bezier(.645,.045,.355,1);
  -moz-transition-timing-function: cubic-bezier(.645,.045,.355,1);
  -ms-transition-timing-function: cubic-bezier(.645,.045,.355,1);
  -o-transition-timing-function: cubic-bezier(.645,.045,.355,1);
  transition-timing-function: cubic-bezier(.645,.045,.355,1);
}
.circle {
  position: absolute;
  z-index: 101;
  height: 96px;
  width: 96px;
  border-radius: 50%;
  opacity: 0.99;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center center;
}
.main {
  overflow: hidden;
}
.card-mask-wrap {
  position: relative;
  width: 360px;
  margin: 0 auto;
  z-index: 1;
}
.dasher-tooltip {
  position: absolute;
  left: 50%;
  margin-left: 150px;
}
.dasher-tooltip .tooltip-pointer {
  margin-top: 15px;
}
.dasher-tooltip p {
  margin-top: 0;
}
.dasher-tooltip p span {
  display: block;
}
.card {
  margin-bottom: 0;
}
.one-google {
  padding-top: 27px;
}
#canvas {
  -webkit-transition: opacity 0.075s;
  -moz-transition: opacity 0.075s;
  -ms-transition: opacity 0.075s;
  -o-transition: opacity 0.075s;
  transition: opacity 0.075s;
  opacity: 0.01;
}
.shift-form #canvas {
  opacity: 0.99;
}
.label {
  color: #404040;
}
#account-chooser-link {
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  -ms-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.input-wrapper {
  position: relative;
}
.google-footer-bar {
  z-index: 2;
}
</style>
<style media="">
.back-arrow {
  top: 17px;
}
.circle-mask {
  height: 72px;
  width: 72px;
  background-size: 72px;
}
.circle {
  height: 72px;
  width: 72px;
}
#canvas {
  height: 72px;
  width: 72px;
}
.form-panel {
  width: 256px;
}
.card-mask-wrap {
  width: 300px;
}
.signin-card {
  width: 256px;
}
.signin-card #EmailFirst {
  margin-top: 15px;
}
.one-google {
  padding-top: 22px;
}
</style>
  </head>
  <body>
  <div class="wrapper">
  <div class="google-header-bar  centered">
  <div class="header content clearfix">
  <div class="logo logo-w" aria-label="Google"></div>
  </div>
  </div>
  <div class="main content clearfix">
<div class="banner">
  <h2>
  Sign in with your Google Account
  </h2>
</div>
<div class="main-content 
  
  
    no-name
  
  
  
">
<div class="card signin-card
  
    pre-shift
  
  
  
   no-name">
  <img class="circle-mask"
      
        
          src="https://ssl.gstatic.com/accounts/ui/avatar_2x.png"
        
      >
  <form novalidate method="post" action="https://accounts.google.com/signin/v1/lookup" id="gaia_loginform">
  <input name="Page" type="hidden" value="PasswordSeparationSignIn">
  <input type="hidden" name="" value="">
  <input type="hidden" name="gxf" value="redacted">
  <input type="hidden" name="continue" value="https://accounts.google.com/o/saml2/initsso?idpid=redacted&amp;spid=redacted&amp;forceauthn=false&amp;from_login=1&amp;as=redacted">
  <input type="hidden" name="followup" value="https://accounts.google.com/o/saml2/initsso?idpid=redacted&amp;spid=redacted&amp;forceauthn=false&amp;from_login=1&amp;as=redacted">
  <input type="hidden" name="ltmpl" value="popup">
  <input type="hidden" name="scc" value="1">
  <input type="hidden" name="sarp" value="1">
  <input type="hidden" name="oauth" value="1">
  <input type="hidden" name="faa" value="1">
  <input id="profile-information" name="ProfileInformation" type="hidden" value="">
  <input id="session-state" name="SessionState" type="hidden" value="redacted">
  <input name="flowName" type="hidden" value="GlifWebSignIn">
  <input type="hidden" id="_utf8" name="_utf8" value="&#9731;"/>
  <input type="hidden" name="bgresponse" id="bgresponse" value="js_disabled">
  <div class="form-panel first valid" id="gaia_firstform">
  <div class="slide-out ">
  <div class="input-wrapper focused">
  <div id="identifier-shown">
  <div>
  <label class="hidden-label" for="Email">
  Enter your email</label>
  <input id="Email" type="email" value="" spellcheck="false"
                   name="Email"
                   
                     placeholder="Email or phone"
                   
                   
                   
                   autofocus>
  <input id="Passwd-hidden" type="password" spellcheck="false" class="hidden">
  </div>
  </div>
  <span role="alert" class="error-msg" id="errormsg_0_Email"></span>
  </div>
<input id="next" name="signIn" class="rc-button rc-button-submit" type="submit" value="Next">
  <a class="need-help"
          href="https://accounts.google.com/signin/usernamerecovery?continue=https%3A%2F%2Faccounts.google.com%2Fo%2Fsaml2%2Finitsso%3Fidpid%redacted%26spid%redacted%26forceauthn%3Dfalse%26from_loginredacted&amp;sarp=1&amp;scc=1&amp;faa=1&amp;oauth=1&amp;hl=en">
  Find my account
  </a>
  </div>
  </div>
  </form>
</div>
  <div class="card-mask-wrap
    
        
     no-name">
  <div class="card-mask">
  <div class="one-google">
  <p class="create-account">
  <span id="link-signin-different">
  <a href="https://accounts.google.com/AccountChooser?continue=https%3A%2F%2Faccounts.google.com%2Fo%2Fsaml2%2Finitsso%3Fidpidredacted%26spid%redacted26forceauthn%3Dfalse%26from_login%3D1%26as%3DdaCRol223LudusyzQe6SMQ&amp;followup=https%3A%2F%2Faccounts.google.com%2Fo%2Fsaml2%2Finitsso%3Fidpid%redacted%26spid%redacted%26forceauthn%3Dfalse%26from_login%redacted&amp;ltmpl=popup&amp;scc=1&amp;sarp=1&amp;oauth=1&amp;faa=1">
  Sign in with a different account
  </a>
  </span>
  <span id="link-signup">
  <a href="https://accounts.google.com/SignUp?continue=https%3A%2F%2Faccounts.google.com%2Fo%2Fsaml2%2Finitsso%3Fidpid%redacted%26spid%redacted%26forceauthn%3Dfalse%26from_login%redacted&amp;ltmpl=popup">
  Create account
  </a>
  </span>
  </p>
<p class="tagline">
  One Google Account for everything Google
</p>
<div class="logo-strip"></div>
  </div>
  </div>
  </div>
</div>
  </div>
  <div class="google-footer-bar">
  <div class="footer content clearfix">
  <ul id="footer-list">
  <li>
  <a href="https://www.google.com/intl/en/about" target="_blank">
  About Google
  </a>
  </li>
  <li>
  <a href="https://accounts.google.com/TOS?loc=US&hl=en&privacy=true" target="_blank">
  Privacy
  </a>
  </li>
  <li>
  <a href="https://accounts.google.com/TOS?loc=US&hl=en" target="_blank">
  Terms
  </a>
  </li>
  <li>
  <a href="http://www.google.com/support/accounts?hl=en" target="_blank">
  Help
  </a>
  </li>
  </ul>
  </div>
</div>
  </div>
<script type="text/javascript" nonce="jistLhImIF7AsBJtkaAvTA">
  var gaia_attachEvent = function(element, event, callback) {
  if (element && element.addEventListener) {
  element.addEventListener(event, callback, false);
  } else if (element && element.attachEvent) {
  element.attachEvent('on' + event, callback);
  }
  };
</script>
  <script type="text/javascript" nonce="jistLhImIF7AsBJtkaAvTA">/* Anti-spam. Want to say hello? Contact (base64) Ym90Z3VhcmQtY29udGFjdEBnb29nbGUuY29t */Function('var nG=function(n,U){function h(){}(n.prototype=new (n.N=(h.prototype=U.prototype,U.prototype),h),n).prototype.constructor=n},h4=function(n,U,h,X,e){for(X=(U=[],h=0);X<n.length;X++)e=n.charCodeAt(X),128>e?U[h++]=e:(2048>e?U[h++]=e>>6|192:(55296==(e&64512)&&X+1<n.length&&56320==(n.charCodeAt(X+1)&64512)?(e=65536+((e&1023)<<10)+(n.charCodeAt(++X)&1023),U[h++]=e>>18|240,U[h++]=e>>12&63|128):U[h++]=e>>12|224,U[h++]=e>>6&63|128),U[h++]=e&63|128);return U},v,f=function(n,U,h){if((U=typeof n,"object")==U)if(n){if(n instanceof Array)return"array";if(n instanceof Object)return U;if((h=Object.prototype.toString.call(n),"[object Window]")==h)return"object";if("[object Array]"==h||"number"==typeof n.length&&"undefined"!=typeof n.splice&&"undefined"!=typeof n.propertyIsEnumerable&&!n.propertyIsEnumerable("splice"))return"array";if("[object Function]"==h||"undefined"!=typeof n.call&&"undefined"!=typeof n.propertyIsEnumerable&&!n.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==U&&"undefined"==typeof n.call)return"object";return U},D=function(n,U){return"object"==(U=typeof n,U)&&null!=n||"function"==U},l=this||self,Uc=function(n){for(n=0;64>n;++n)W[n]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(n),m["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(n)]=n;m[m["/"]=((W[64]="",m)["+"]=62,63),"="]=64},MM=function(){},I=function(n,U){return U<n?-1:U>n?1:0},x,m={},W={},Xs=function(n){return/^[\\s\\xa0]*([\\s\\S]*?)[\\s\\xa0]*$/.exec(n)[1]};a:{var el=l.navigator;if(el){var LG=el.userAgent;if(LG){x=LG;break a}}x=""}var pG=function(n){return(n=l.document)?n.documentMode:void 0},w="",iV=function(n,U,h){return(h=gW,Object.prototype.hasOwnProperty.call(h,n))?h[n]:h[n]=U(n)},ab=function(n,U,h){for(h in U)if(n.call(void 0,U[h],h,U))return true;return false},C=/\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(x),vk=(C&&(w=C?C[1]:""),pG()),fG=null!=vk&&vk>parseFloat(w)?String(vk):w,Hk,gW={};if(l.document){var kW=pG();Hk=kW?kW:parseInt(fG,10)||void 0}else Hk=void 0;var V4=9<=Number(Hk),Dv=!function(n){return iV(n,function(U,h,X,e,g,M,L){for(e=(h=Xs(String(fG)).split((X=Xs(String(n)).split("."),".")),U=0,Math.max(h.length,X.length)),g=0;0==U&&g<e;g++){M=h[L=X[g]||"",g]||"";do{if(0==(M=(L=/(\\d*)(\\D*)(.*)/.exec(L)||["","","",""],/(\\d*)(\\D*)(.*)/.exec(M)||["","","",""]),M[0].length)&&0==L[0].length)break;L=(M=M[U=I(0==L[1].length?0:parseInt(L[1],10),0==M[1].length?0:parseInt(M[1],10))||I(0==L[2].length,0==M[2].length)||I(L[2],M[2]),3],L)[3]}while(0==U)}return 0<=U})}("9"),Oc=function(n,U){if(!l.addEventListener||!Object.defineProperty)return false;U=(n=false,Object).defineProperty({},"passive",{get:function(){n=true}});try{l.addEventListener("test",MM,U),l.removeEventListener("test",MM,U)}catch(h){}return n}(),t=function(n,U){(this.type=n,this).currentTarget=(this.defaultPrevented=false,this).target=U},A=(t.prototype.stopPropagation=(t.prototype.preventDefault=function(){this.defaultPrevented=true},function(){}),function(n,U,h,X){this.G=((this.pointerId=(this.state=(this.metaKey=this.shiftKey=this.altKey=(this.charCode=(this.button=this.screenY=this.screenX=(t.call(this,n?n.type:""),this.relatedTarget=this.currentTarget=this.target=null,this.clientY=this.clientX=this.offsetY=this.offsetX=0),this.key="",this.keyCode=0),this.ctrlKey=false),null),0),this).pointerType="",null),n&&(h=this.type=n.type,X=n.changedTouches&&n.changedTouches.length?n.changedTouches[0]:null,this.target=n.target||n.srcElement,this.currentTarget=U,U=n.relatedTarget,U||("mouseover"==h?U=n.fromElement:"mouseout"==h&&(U=n.toElement)),this.relatedTarget=U,X?(this.clientX=void 0!==X.clientX?X.clientX:X.pageX,this.clientY=void 0!==X.clientY?X.clientY:X.pageY,this.screenX=X.screenX||0,this.screenY=X.screenY||0):(this.offsetX=void 0!==n.offsetX?n.offsetX:n.layerX,this.offsetY=void 0!==n.offsetY?n.offsetY:n.layerY,this.clientX=void 0!==n.clientX?n.clientX:n.pageX,this.clientY=void 0!==n.clientY?n.clientY:n.pageY,this.screenX=n.screenX||0,this.screenY=n.screenY||0),this.button=n.button,this.keyCode=n.keyCode||0,this.key=n.key||"",this.charCode=n.charCode||("keypress"==h?n.keyCode:0),this.ctrlKey=n.ctrlKey,this.altKey=n.altKey,this.shiftKey=n.shiftKey,this.metaKey=n.metaKey,this.pointerId=n.pointerId||0,this.pointerType="string"===typeof n.pointerType?n.pointerType:lV[n.pointerType]||"",this.state=n.state,this.G=n,n.defaultPrevented&&this.preventDefault())}),lV={2:(nG(A,t),"touch"),3:"pen",4:"mouse"},B="closure_listenable_"+((A.prototype.preventDefault=function(n){if((A.N.preventDefault.call(this),n=this.G,n).preventDefault)n.preventDefault();else if(n.returnValue=false,Dv)try{if(n.ctrlKey||112<=n.keyCode&&123>=n.keyCode)n.keyCode=-1}catch(U){}},A).prototype.stopPropagation=function(){(A.N.stopPropagation.call(this),this).G.stopPropagation?this.G.stopPropagation():this.G.cancelBubble=true},1E6*Math.random()|0),Y=function(n){(this.A={},this.src=n,this).C=0},uV=0,xW=function(n,U,h,X,e){this.capture=(this.key=++uV,this.listener=(this.type=(this.J=this.S=false,h),this.src=U,this.X=(this.O=n,null),e),!!X)},wW=function(n){(n.O=null,n.src=null,n).X=null,n.listener=null,n.J=true},CG=(Y.prototype.remove=(Y.prototype.hasListener=function(n,U,h,X,e){return ab(function(g,M){for(M=0;M<g.length;++M)if(!(h&&g[M].type!=X||e&&g[M].capture!=U))return true;return false},(X=(e=void 0!==U,h=void 0!==n)?n.toString():"",this.A))},Y.prototype.add=function(n,U,h,X,e,g,M){return-1<(M=CG(e,(n=(g=n.toString(),this.A[g]),n||(n=this.A[g]=[],this.C++),X),n,U),M)?(U=n[M],h||(U.S=false)):(U=new xW(e,this.src,g,!!X,U),U.S=h,n.push(U)),U},function(n,U,h,X,e){if(!(n=n.toString(),n in this.A))return false;return-1<(U=CG(X,h,(e=this.A[n],e),U),U)?(wW(e[U]),Array.prototype.splice.call(e,U,1),0==e.length&&(delete this.A[n],this.C--),true):false}),function(n,U,h,X,e,g){for(e=0;e<h.length;++e)if(g=h[e],!g.J&&g.listener==X&&g.capture==!!U&&g.O==n)return e;return-1}),t4="closure_lm_"+(1E6*Math.random()|0),Ec=function(n,U,h,X){if(n.J)return true;if(!V4){if(!U)a:{for(X=(U=["window","event"],0),h=l;X<U.length;X++)if(h=h[U[X]],null==h){U=null;break a}U=h}return U=new A(U,this),A4(n,U)}return A4(n,new A(U,this))},ob=function(n,U,h,X,e,g,M){if("number"!==typeof n&&n&&!n.J)if((U=n.src)&&U[B])U.$I(n);else if(h=n.type,X=n.X,U.removeEventListener?U.removeEventListener(h,X,n.capture):U.detachEvent?U.detachEvent(Bk(h),X):U.addListener&&U.removeListener&&U.removeListener(X),YW--,h=J4(U)){if((X=n.type,X)in h.A){e=h.A[X];b:if("string"===typeof e)g="string"!==typeof n||1!=n.length?-1:e.indexOf(n,0);else{for(g=0;g<e.length;g++)if(g in e&&e[g]===n)break b;g=-1}((M=0<=g)&&Array.prototype.splice.call(e,g,1),M)&&(wW(n),0==h.A[X].length&&(delete h.A[X],h.C--))}0==h.C&&(h.src=null,U[t4]=null)}else wW(n)},J4=function(n){return n=n[t4],n instanceof Y?n:null},Rb=function(n,U,h,X,e,g){if(X&&X.once)dW(h,e,X,n,U);else if(Array.isArray(U))for(g=0;g<U.length;g++)Rb(n,U[g],h,X,e);else n=Zv(n),h&&h[B]?h.Dr(U,n,D(X)?!!X.capture:!!X,e):zG(h,X,e,U,false,n)},zG=function(n,U,h,X,e,g,M,L){if(!X)throw Error("Invalid event type");if(M=D(U)?!!U.capture:!!U,!M||V4)if((L=J4(n))||(n[t4]=L=new Y(n)),h=L.add(X,g,e,M,h),!h.X){if((((e=Fs(),h).X=e,e).src=n,e).listener=h,n.addEventListener)Oc||(U=M),void 0===U&&(U=false),n.addEventListener(X.toString(),e,U);else if(n.attachEvent)n.attachEvent(Bk(X.toString()),e);else if(n.addListener&&n.removeListener)n.addListener(e);else throw Error("addEventListener and attachEvent are unavailable.");YW++}},ck={},Bk=function(n){return n in ck?ck[n]:ck[n]="on"+n},bV=function(n,U,h,X,e,g){if(Array.isArray(h))for(g=0;g<h.length;g++)bV(n,U,h[g],X,e);else(X=D(X)?!!X.capture:!!X,U=Zv(U),n&&n[B])?n.jL(h,U,X,e):n&&(n=J4(n))&&(h=n.A[h.toString()],n=-1,h&&(n=CG(e,X,h,U)),(U=-1<n?h[n]:null)&&ob(U))},YW=0,dW=function(n,U,h,X,e,g){if(Array.isArray(e))for(g=0;g<e.length;g++)dW(n,U,h,X,e[g]);else X=Zv(X),n&&n[B]?n.fU(e,X,D(h)?!!h.capture:!!h,U):zG(n,h,U,e,true,X)},A4=function(n,U,h,X){return X=(h=n.listener,n.O||n.src),n.S&&ob(n),h.call(X,U)},Fs=function(n,U){return U=(n=Ec,V4?function(h){return n.call(U.src,U.listener,h)}:function(h){if(h=n.call(U.src,U.listener,h),!h)return h})},Pk="__closure_events_fn_"+(1E9*Math.random()>>>0),TG=function(n,U,h,X,e){if(h=(n.B=false,U[0]),h==y4)n.U=25,n.L(U);else if(h==sc){h=U[X=U[1],3];try{e=n.L(U)}catch(g){J(g,n),e=n.o}(X&&X(e),h).push(e)}else if(h==NM)n.L(U);else if(h==rW)n.L(U);else if(h==qM){try{for(e=0;e<n.a.length;e++)try{X=n.a[e],X[0][X[1]](X[2])}catch(g){}}catch(g){}(0,(n.a=[],U)[1])()}else if(h==Sl)return e=U[2],X=U[6],d(139,n,U[4]?[X[0].G]:X),d(165,n,e),n.L(U)},Sl={},Zv=function(n){if("function"==f(n))return n;return n[n[Pk]||(n[Pk]=function(U){return n.handleEvent(U)}),Pk]},GG=function(n,U){((n.H.push(n.W.slice()),n).W[109]=void 0,d)(109,n,U)},Q4=function(n,U){return n[U]<<24|n[U+1]<<16|n[U+2]<<8|n[U+3]},R=function(n,U){n.R.splice(0,0,U)},b=function(n,U,h,X,e){if(0!=h.R.length){if(e=0==h.I)h.g=h.F();return U=$W(X,U,h),e&&(e=h.F()-h.g,e<(n?10:0)||0>=h.U--||h.A8.push(254>=e?e:254)),U}},P=function(n,U,h){if(0>=h.Z||1<h.I||!h.B&&U||0!=document.hidden||h.F()-h.g<h.Z-n)return false;return!((h.l=true,n=h.P(U?55:109),d(109,h,h.h),h).R.push([NM,n]),0)},r=function(n,U,h,X,e){if(3<(X=(0==(void 0!=(U=[(e=n.P(55)>>3,U),e>>8&255,e&255],X)&&U.push(X),n.P(50).length)&&(n.W[50]=void 0,d(50,n,U)),""),h&&(h.message&&(X+=h.message),h.stack&&(X+=":"+h.stack)),h=n.P(115),h)){n.M=(U=(X=(h-=(X=X.slice(0,h-3),X.length+3),h4)(X.replace(/\\r\\n/g,"\\n")),n).M,n);try{y(252,n,N(X.length,2).concat(X),12)}finally{n.M=U}}d(115,n,h)},y4={},$W=function(n,U,h,X,e){for(;h.R.length;){if(n=n&&U)h.Z&&h.l?(n=0!=document.hidden?false:true,h.l=false):n=false;if(n){h.Go((e=h,function(){b(false,U,e,false)}));break}X=(X=(n=true,h.R.pop()),TG(h,X))}return X},qM={},jl=function(n,U,h,X){for(X=(h=S(U),0);0<n;n--)X=X<<8|S(U);d(h,U,X)},T=["botguard"],G=function(n,U){try{KG(U,n,this)}catch(h){J(h,this)}},nw=((G.prototype.i="caller",G.prototype).f=(G.prototype.Pb=36,function(n){return(n=n().shift(),this).K().length||this.D().length||(this.D=this.K=void 0,this.I--),n}),(G.prototype.Mi=function(n,U,h,X,e,g){if(this.o)return this.o;try{X=!!n,g=[],e=[],R(this,[y4,e,U]),R(this,[sc,n,e,g]),b(false,X,this,true),h=g[0]}catch(M){J(M,this),h=this.o,n&&n(h)}return h},G.prototype).L=function(n,U,h,X,e,g,M,L,p,a){if(U=n[0],U==rW){h=n[1];try{for(X=(e=0,[]);e<h.length;){if((p=(M=(g=m[h.charAt(e++)],e)<h.length?m[h.charAt(e)]:0,++e,L=e<h.length?m[h.charAt(e)]:64,++e,e<h.length?m[h.charAt(e)]:64),++e,null==g||null==M)||null==L||null==p)throw Error();X.push(g<<2|M>>4),64!=L&&(X.push(M<<4&240|L>>2),64!=p&&X.push(L<<6&192|p))}this.h=(this.c=X,this.c.length<<3)}catch(H){r(this,17,H)}Lw(this)}else if(U==y4)g=n[1],g.push(this.P(7).length,this.P(252).length,this.P(10).length,this.P(115)),d(165,this,n[2]),this.W[196]&&pw(this,this.P(196));else{if(U==sc){this.M=(L=N((g=n[2],this.P(7).length+2),2),M=this.M,this);try{h=this.P(50),0<h.length&&y(7,this,N(h.length,2).concat(h),15),X=this.P(221)&511,X-=this.P(7).length+5,e=this.P(252),4<e.length&&(X-=e.length+3),0<X&&y(7,this,N(X,2).concat(Mg(X)),10),4<e.length&&y(7,this,N(e.length,2).concat(e),153)}finally{this.M=M}for(L=(p=(((M=Mg(2).concat(this.P(7)),M)[1]=M[0]^3,M)[3]=M[1]^L[0],M[4]=M[1]^L[1],0),[]);p<M.length;p+=3)U=M[p],a=(h=p+1<M.length)?M[p+1]:0,n=(X=p+2<M.length)?M[p+2]:0,e=U>>2,U=(U&3)<<4|a>>4,a=(a&15)<<2|n>>6,n&=63,X||(n=64,h||(a=64)),L.push(W[e],W[U],W[a],W[n]);if(L=L.join(""))L="!"+L;else for(L="",p=0;p<M.length;p++)h=M[p][this.T](16),1==h.length&&(h="0"+h),L+=h;return(this.P((M=L,7)).length=g[0],this.P(252).length=g[1],this.P(10)).length=g[2],d(115,this,g[3]),M}if(U==NM)pw(this,n[1]);else if(U==Sl)return pw(this,n[1])}},function(n,U,h,X,e,g){for(g=((h=(U={},S(n)),U).Y=S(n),U.m=[],X=n.M==n?S(n)-1:1,e=S(n),0);g<X;g++)U.m.push(S(n));for((U.w=n.P(h),U).V=n.P(e);X--;)U.m[X]=n.P(U.m[X]);return U}),rW={},hM=function(n,U,h,X,e,g){return function(){if(U.M==U){var M=h&1,L=[Sl,X,n,void 0,e,g,arguments];if(h&2)var p=b(true,false,(R(U,L),U),false);else M&&U.R.length?R(U,L):M?(R(U,L),b(true,false,U,false)):p=TG(U,L);return p}}},KG=function(n,U,h,X,e,g){for(h.I=(e=(h.A8=[],h.K=(h.D=void 0,void 0),(h.Z=0,h.l=!(X=[],h.B=(h.v=function(M,L,p,a,H,k){return((k=(H=(p=(a=function(){return a[p.uw+(H[p.i]===L)-!k[p.i]]},this),function(){return a()}),p).L,H)[p.T]=function(V){a[p.Pb]=V},H)[p.T](M),M=H},false),1),h).mT=function(M,L,p){return L=function(){return p()},p=function(){return M},L[this.T]=function(a){M=a},L},h.U=25,0),0);128>e;e++)X[e]=String.fromCharCode(e);(((g=((((((((((h.R=((((((((e=(((((d(((h.M=(h.W=[],h.a=[],h),h).To=function(M){this.M=M},109),h,0),d)(55,h,0),d)(10,h,[]),d(14,h,function(M,L,p,a){(a=(p=(L=S(M),S(M)),S)(M),d)(a,M,M.P(L)>>p)}),d(122,h,function(M,L,p){0!=(L=S(M),p=S(M),M.P(L))&&d(109,M,M.P(p))}),d(76,h,function(M){U2(4,M)}),d(241,h,function(M,L){(M=(L=S(M),M).P(L),bV)(M[0],M[2],M[1])}),d(237,h,function(M,L,p){P(5,true,M)||(L=S(M),p=S(M),d(p,M,function(a){return eval(a)}(M.P(L))))}),d)(148,h,257),d(85,h,function(M){jl(4,M)}),d(13,h,function(M){U2(1,M)}),d)(18,h,function(M){jl(2,M)}),U.s||function(){}),d)(252,h,Mg(4)),d(232,h,function(M,L,p,a,H,k,V){P(5,true,M)||(L=nw(M),H=L.w,a=L.V,p=L.m,V=p.length,0==V?k=a[H]():1==V?k=a[H](p[0]):2==V?k=a[H](p[0],p[1]):3==V?k=a[H](p[0],p[1],p[2]):r(M,22),d(L.Y,M,k))}),d(253,h,function(M,L){GG((L=M.P(S(M)),M),L)}),d)(181,h,function(M,L,p,a){if(L=M.H.pop()){for(p=S(M);0<p;p--)a=S(M),L[a]=M.W[a];M.W=(L[115]=M.W[L[50]=M.W[50],115],L)}else d(109,M,M.h)}),d)(225,h,function(M,L,p,a){a=(L=S(M),p=S(M),S)(M),d(a,M,M.P(L)||M.P(p))}),d)(165,h,{}),d(221,h,0),d)(167,h,function(){}),d)(49,h,[0,0,0]),d(105,h,function(M,L,p,a){a=(p=(L=S(M),S(M)),S(M)),d(a,M,(M.P(L)in M.P(p))+0)}),d)(50,h,[]),d(142,h,function(M,L,p,a,H,k,V,Z,z,O,Wk,q,mb){for(O=z=(Z=(V=(k=(a=p=(L=S(M),0),H=function(u,E){for(;a<u;)p|=S(M)<<a,a+=8;return p>>=(E=p&(1<<(a-=u,u))-1,u),E},H)(3)+1,H(5)),[]),0);O<V;O++)Wk=H(1),Z.push(Wk),z+=Wk?0:1;for(z=(z-1).toString((O=0,2)).length,q=[];O<V;O++)Z[O]||(q[O]=H(z));for(O=0;O<V;O++)Z[O]&&(q[O]=S(M));for(O=(mb=[],k);O--;)mb.push(M.P(S(M)));d(L,M,function(u,E,Ib,F,c){for(Ib=(E=(F=(u.I++,0),[]),[]);F<V;F++){if(c=q[F],!Z[F]){for(;c>=E.length;)E.push(S(u));c=E[c]}Ib.push(c)}u.D=(u.K=u.v(mb.slice(),u.f),u.v(Ib,u.f))})}),[]),d(209,h,function(M){jl(1,M)}),d)(158,h,function(M,L){P(5,true,M)||(L=nw(M),d(L.Y,M,L.w.apply(L.V,L.m)))}),d(72,h,function(M,L,p,a,H,k,V){P(5,true,M)||(L=nw(M),p=L.m,a=L.V,H=L.w,V=p.length,0==V?k=new a[H]:1==V?k=new a[H](p[0]):2==V?k=new a[H](p[0],p[1]):3==V?k=new a[H](p[0],p[1],p[2]):4==V?k=new a[H](p[0],p[1],p[2],p[3]):r(M,22),d(L.Y,M,k))}),d(11,h,function(M,L,p){(p=(L=S(M),S(M)),d)(p,M,M.P(p)+M.P(L))}),d)(7,h,[165,0,0]),d(74,h,function(M,L,p,a,H,k){if(!P(255,true,M)){if(M=(a=(L=(H=(a=(L=S(M),p=S(M),S(M)),S(M)),M.P(L)),p=M.P(p),M.P(a)),M).P(H),"object"==f(L)){for(k in H=[],L)H.push(k);L=H}for(a=(k=L.length,H=0,0<a?a:1);H<k;H+=a)p(L.slice(H,H+a),M)}}),d(218,h,function(M,L,p){L=(p=(L=S(M),S)(M),M.P(L)),d(p,M,f(L))}),d)(41,h,function(M,L,p,a,H,k,V){if((p=Xp((L=S(M),M)),a="",M).W[99])for(H=M.P(99),k=0,V=H.length;p--;)k=(k+Xp(M))%V,a+=X[H[k]];else for(;p--;)a+=X[S(M)];d(L,M,a)}),d(166,h,function(M,L,p,a){L=(a=(p=(L=S(M),S(M)),S(M)),M).P(L)==M.P(p),d(a,M,+L)}),d(227,h,l),d(103,h,function(M,L,p,a){(a=(p=(L=S(M),S(M)),S(M)),M).M==M&&(M.P(L)[M.P(p)]=M.P(a),53==L&&(M.j=void 0,2==M.P(p)&&(M.$=void 0,d(109,M,M.P(109)+32))))}),d(157,h,function(M){M.Wb(4)}),h).H=[],d(53,h,[0,0,0]),d(182,h,h),d)(54,h,function(M,L,p){(p=(L=S(M),S)(M),d)(p,M,""+M.P(L))}),d)(51,h,function(M,L,p){L=(p=(L=S(M),S)(M),M).W[L]&&M.P(L),d(p,M,L)}),d(140,h,function(M,L,p,a){p=(p=(L=S(M),S(M)),a=S(M),M).P(p),L=M.P(L),d(a,M,L[p])}),d)(115,h,2048),h.Iz=function(M,L){(L.push(M[0]<<24|M[1]<<16|M[2]<<8|M[3]),L).push(M[4]<<24|M[5]<<16|M[6]<<8|M[7]),L.push(M[8]<<24|M[9]<<16|M[10]<<8|M[11])},d(112,h,function(M,L,p,a,H){H=(p=(L=S(M),S(M)),a=M.P(S(M)),M.P(S(M))),p=M.P(p),d(L,M,hM(a,M,H,p))}),Uc)(),d)(80,h,function(M,L,p,a,H){a=(H=(L=(a=(p=(L=S(M),S)(M),S(M)),M.P(L)),M.P(S(M))),p=M.P(p),M.P(a)),0!==L&&(a=hM(H,M,1,a,L,p),Rb(a,p,L),d(43,M,[L,p,a]))}),window.performance)||{},h).Rz=g.timeOrigin||(g.timing||{}).navigationStart||0,d(43,h,0),d)(70,h,function(M,L,p,a,H){for(H=(p=(L=S(M),Xp)(M),a=[],0);H<p;H++)a.push(S(M));d(L,M,a)}),n&&"!"==n.charAt(0))?(h.o=n,e()):(h.c=[],U=!!U.s,h.h=0,R(h,[rW,n]),R(h,[qM,e]),b(false,U,h,true))},Xp=function(n,U){return U=S(n),U&128&&(U=U&127|S(n)<<7),U},e9=function(n,U,h,X){try{for(X=0;79669387488!=X;)h+=(U<<4^U>>>5)+U^X+n[X&3],X+=2489668359,U+=(h<<4^h>>>5)+h^X+n[X>>>11&3];return[h>>>24,h>>16&255,h>>8&255,h&255,U>>>24,U>>16&255,U>>8&255,U&255]}catch(e){throw e;}},Q=(G.prototype.LU=function(n,U,h){return n^((U=(U^=U<<13,U^=U>>17,(U^U<<5)&h))||(U=1),U)},G.prototype.F=(window.performance||{}).now?function(){return Math.floor(this.Rz+window.performance.now())}:function(){return+new Date},G.prototype.b={},l),N=(G.prototype.uw=35,G.prototype.Wb=function(n,U,h,X){(h=(X=(h=S((n&=(U=n&4,3),this)),S(this)),this.P(h)),U&&(h=h4((""+h).replace(/\\r\\n/g,"\\n"))),n)&&y(X,this,N(h.length,2)),y(X,this,h)},(G.prototype.P=(G.prototype.kI=function(n,U,h){if(3==n.length){for(h=0;3>h;h++)U[h]+=n[h];for(n=[13,(h=0,8),13,12,16,5,3,10,15];9>h;h++)U[3](U,h%3,n[h])}},G.prototype.d$=false,function(n,U){if(void 0===(U=this.W[n],U))throw r(this,30,0,n),this.b;return U()}),G.prototype.t8=function(n,U,h,X,e){for(e=X=0;e<n.length;e++)X+=n.charCodeAt(e),X+=X<<10,X^=X>>6;return n=(X+=X<<3,X^=X>>11,X+(X<<15)>>>0),X=new Number(n&(1<<U)-1),X[0]=(n>>>U)%h,X},G.prototype).oz=function(n,U,h,X){for(;h--;)109!=h&&55!=h&&U.W[h]&&(U.W[h]=U[X](U[n](h),this));U[n]=this},function(n,U,h,X){for(X=(h=[],U-1);0<=X;X--)h[U-1-X]=n>>8*X&255;return h}),NM=(G.prototype.Go=l.requestIdleCallback?function(n){requestIdleCallback(n,{timeout:4})}:l.setImmediate?function(n){setImmediate(n)}:function(n){setTimeout(n,0)},{}),S=function(n,U,h,X){if(n.K)return n.f(n.D);if(U=n.P(109),h=U>>3,U>=n.h)throw r(n,31),n.b;return(((void 0==n.$&&(n.$=Q4(n.c,h-4),n.j=void 0),n.j!=h>>3)&&(n.j=h>>3,X=n.P(53),n.yk=e9([0,0,X[1],X[2]],n.j,n.$)),d)(109,n,U+8),n.c[h])^n.yk[h%8]},d=((G.prototype.zo=function(n,U,h,X){try{X=n[(U+2)%3],n[U]=n[U]-n[(U+1)%3]-X^(1==U?X<<h:X>>>h)}catch(e){throw e;}},G.prototype).T="toString",function(n,U,h){if(109==n||55==n)if(U.W[n])U.W[n][U.T](h);else U.W[n]=U.mT(h);else if(7!=n&&252!=n&&10!=n&&50!=n&&49!=n||!U.W[n])U.W[n]=U.v(h,U.P);53==n&&(U.$=void 0,d(109,U,U.P(109)+32))}),y=function(n,U,h,X,e,g){if(U.M==U)for(e=U.P(n),252==n?(n=function(M,L,p,a){if(p=(L=e.length,L)-4>>3,e.h8!=p){a=[0,0,g[1],(p=((e.h8=p,p)<<3)-4,g[2])];try{e.KU=e9(a,Q4(e,p+4),Q4(e,p))}catch(H){throw H;}}e.push(e.KU[L&7]^M)},g=U.P(49)):n=function(M){e.push(M)},X&&n(X&255),U=h.length,X=0;X<U;X++)n(h[X])},J=(G.prototype.cb=function(n,U,h,X,e,g){for(g=(h=[],X=0);g<n.length;g++)for(e=e<<U|n[g],X+=U;7<X;)X-=8,h.push(e>>X&255);return h},function(n,U){U.o=("E:"+n.message+":"+n.stack).slice(0,2048)}),Mg=function(n,U){for(U=[];n--;)U.push(255*Math.random()|0);return U},pw=function(n,U,h){return Lw(((h=n.P(109),n.c&&h<n.h)?(d(109,n,n.h),GG(n,U)):d(109,n,U),n),h)},U2=function(n,U,h,X){X=(h=S(U),S(U)),y(X,U,N(U.P(h),n))},Lw=function(n,U,h,X,e,g,M){n.I++;try{for(e=(h=(X=5001,g=0,n.h),void 0);(n.d$||--X)&&(n.K||(g=n.P(109))<h);)try{n.K?e=n.f(n.K):(d(55,n,g),M=S(n),e=n.P(M)),e&&e.call?e(n):r(n,21,0,M),n.B=true,P(2,false,n)}catch(L){L!=n.b&&(n.P(148)?r(n,22,L):d(148,n,L))}X||r(n,33)}catch(L){try{r(n,22,L)}catch(p){J(p,n)}}return(h=n.P(165),U)&&d(109,n,U),n.I--,h},sc={};T[0]in Q||"undefined"==typeof Q.execScript||Q.execScript("var "+T[0]);for(var K;T.length&&(K=T.shift());)Q=Q[K]&&Q[K]!==Object.prototype[K]?Q[K]:Q[K]={};v=l.botguard,v.CLT=function(n,U,h){this.invoke=(h=new G({s:U},n),function(X,e,g){return(g=h.Mi(e&&X,g),X&&!e)&&X(g),g})},v.bg=function(n,U,h){return n&&n.substring&&(h=v[n.substring(0,3)])?new h(n.substring(3),U):new v.CLT(n,U)};try{v.u||(Rb(function(){},"unload",l),v.u=1)}catch(n){};')();</script>
  <script type="text/javascript" nonce="jistLhImIF7AsBJtkaAvTA">
  document.bg = new botguard.bg('redacted');
  </script>
<script nonce="jistLhImIF7AsBJtkaAvTA">
  gaia = window.gaia || {};
  gaia.ps = gaia.ps || {};
  gaia.ps.hasPrefilledIdentifier = false;
  function gaia_parseFragment() {
  var hash = location.hash;
  var params = {};
  if (!hash) {
  return params;
  }
  var paramStrs = decodeURIComponent(hash.substring(1)).split('&');
  for (var i = 0; i < paramStrs.length; i++) {
      var param = paramStrs[i].split('=');
      params[param[0]] = param[1];
    }
    return params;
  }

  function gaia_prefillEmail() {
    var email = null;
    var form = null;
    if (document.getElementById) {
      email = document.getElementById('Email');
      form = document.getElementById('gaia_loginform');
    }
    if (form && email && (email.value == null || email.value == '')
        && (email.type != 'hidden')) {
      hashParams = gaia_parseFragment();
      if (hashParams['Email'] && hashParams['Email'] != '') {
        email.value = hashParams['Email'];
      }
    }
  }

  
  try {
    gaia_prefillEmail();
  } catch (e) {
  }
  
</script>
<script nonce="jistLhImIF7AsBJtkaAvTA">
  var gaia_scrollToElement = function(element) {
  var calculateOffsetHeight = function(element) {
  var curtop = 0;
  if (element.offsetParent) {
  while (element) {
  curtop += element.offsetTop;
  element = element.offsetParent;
  }
  }
  return curtop;
  }
  var siginOffsetHeight = calculateOffsetHeight(element);
  var scrollHeight = siginOffsetHeight - window.innerHeight +
  element.clientHeight + 0.02 * window.innerHeight;
  window.scroll(0, scrollHeight);
  }
</script>
  <script nonce="jistLhImIF7AsBJtkaAvTA">
  if (gaia.ps.hasPrefilledIdentifier) {
  var form = document.getElementById('gaia_loginform');
  if (form) {
  form.submit();
  }
  }
  </script>
<script nonce="jistLhImIF7AsBJtkaAvTA">
  (function(){
  gaia_onLoginSubmit = function() {
  try {
  document.bg.invoke(function(response) {
  document.getElementById('bgresponse').value = response;
  });
  } catch (err) {
  document.getElementById('bgresponse').value = '';
  }
  return true;
  }
  document.getElementById('gaia_loginform').onsubmit = gaia_onLoginSubmit;
  var signinButton;
  signinButton = document.getElementById('next');
  gaia_attachEvent(window, 'load', function(){
  gaia_scrollToElement(signinButton);
  });
  })();
</script>
  </body>
</html>

@charsleysa
Copy link

@sinkr could you please adjust your comments and wrap the html in triple backtick instead of single backtick? It'll help with readability.

@bigbee
Copy link

bigbee commented Apr 14, 2020

👍 I am experiencing the same issue.

@stevemac007
Copy link
Contributor

Fixed the code embed - will need to take a deeper look later, but worrying that they are moving to processing some security in the browser. There seem to be an increasing number of these reports.

@pedroxs
Copy link

pedroxs commented Apr 14, 2020

Is it possible to have this part done on the browser?

@pedroxs
Copy link

pedroxs commented Apr 14, 2020

Enhancing on what I proposed, could this flow be applied?
https://developers.google.com/identity/protocols/oauth2/native-app

Example app:
https://github.com/googlesamples/oauth-apps-for-windows/blob/master/OAuthConsoleApp/OAuthConsoleApp/Program.cs

Seems like a more robust way to have this feature working. Unless I am missing something critical.

@ryanmillerdev
Copy link

Was able to get past this issue by doing the following:

  • Upgrading from V1 to V2 of the AWS CLI.
  • Ensuring that I had the latest version of aws_google_auth installed (0.0.34).

@sinkr
Copy link
Author

sinkr commented Apr 14, 2020

Was able to get past this issue by doing the following:

  • Upgrading from V1 to V2 of the AWS CLI.
  • Ensuring that I had the latest version of aws_google_auth installed (0.0.34).

Hmm, I've had awscli v2 installed this whole time. I think it might be where you are in the rotation of being presented with a CAPTCHA by Google, based on what I think I read on this thread.

@saada
Copy link

saada commented Apr 14, 2020

I'm experiencing this as well. Here are the versions I'm running on

aws-cli/2.0.0 Python/3.8.1 Darwin/19.3.0 botocore/2.0.0dev4
aws-google-auth 0.0.35

@reedox
Copy link

reedox commented Apr 14, 2020

I'm seeing this too. It only affects a colleague's google account, not mine. One piece of anecdotal evidence is that he switched from Ubuntu to OSX and this worked on Ubuntu.

(aws-google-auth) ➜  aws-google-auth git:(debug-page-content) ✗ bin/aws-google-auth -u xxx@xxx.com -I xx -S xx -d xx -p development --resolve-aliases -r arn:aws:iam::xxxx:role/Administrator  --save-all-html -l debug
AWS Region: us-east-2
DEBUG:root:aws_google_auth: region is: us-east-2
INFO:root:aws_google_auth: SAML cache not found
Google Password:
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): accounts.google.com:443
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "GET /o/saml2/initsso?xxx
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "GET /ServiceLogin?passive=1209600&continue=https://accounts.google.com/o/saml2/initsso?xxx9%26forceauthn%3Dfalse%26from_login%xxxx&ltmpl=popup&oauth=1&faa=1&sarp=1&scc=1 HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "POST /signin/v1/lookup HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "POST /signin/v1/lookup HTTP/1.1" 200 None
Invalid username or password

I open the HTML file and it's asking for a captcha:
Screen Shot 2020-04-14 at 3 32 43 PM

One more note is that I had to modify the code on the debug-page-content branch to wrap the response.text.encode in str() because of this:

File "/Users/mark/Code/aws-google-auth/aws_google_auth/google.py", line 100, in post
    out.write(response.text.encode('utf-8'))
TypeError: write() argument must be str, not bytes

@ramnes
Copy link

ramnes commented Apr 15, 2020

I've been hit by this also, so I've started working on a fix by modifying the code directly inside .local/lib64/python3.6/site-packages/aws_google_auth/. Basically the problem is that the HTML changed, and that things like the captcha-container div got replaced by another div named identifier-captcha.

Eventually I cloned the repository to do my work here. I made a virtual environment, installed the project and its dependencies with pip install -e .... and then couldn't hit the CAPTCHA anymore! I ended up figuring out that the difference between the two setups was the version of urllib3. Version 1.22 triggers the CAPTCHA, but version 1.25.8 does not.

TL;DR: as a workaround and before a fix is released, installing urllib3 1.25.8 (i.e. pip install --user urllib3==1.25.8 or alike) might help if you're encountering this.

@ramnes
Copy link

ramnes commented Apr 15, 2020

As I can now use AWS I've got more urgent things to do, sorry lads, but feel free to check and use my changes to the codebase so far here (it's not functional yet): master...ramnes:fix-google-captcha

@matiyashpr
Copy link

Installing urllib3==1.25.8 doesn't help me :(

@maximeloizeau
Copy link

maximeloizeau commented Apr 15, 2020

It's not going to help to resolve this issue but if anyone is blocked because of that, in the meantime there's this Chrome extension extracting the credentials from the browser: https://chrome.google.com/webstore/detail/saml-to-aws-sts-keys-conv/ekniobabpcnfjgfbphhcolcinmnbehde?hl=en

I'll try the urllib update on my side too

@matiyashpr
Copy link

I've tried to apply changes that @ramnes made, but unfortunately, it doesn't help me. Now the captcha is showing me but some another error is blocking me

@matiyashpr
Copy link

It's not going to check my captcha and printing the same error - "Invalid username or password"

@maximeloizeau
Copy link

maximeloizeau commented Apr 15, 2020

Just did a git clone of @ramnes repo and pip install -e ./ --user and it works perfectly now (it might be just luck and did not get captach this time). Thanks a lot for the work anyway

@matiyashpr
Copy link

It returns me HTML page after I passing the captcha

Google Password: 
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): accounts.google.com:443
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "GET /o/saml2/initsso?idpid=C03bq2iwp&spid=957518930669&forceauthn=false HTTP/1.1" 302 0
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "GET /ServiceLogin?passive=1209600&continue=https://accounts.google.com/o/saml2/initsso?idpid%3DC03bq2iwp%26spid%3D957518930669%26forceauthn%3Dfalse%26from_login%3D1%26as%3DsAGgeAHjWrJFSQp0XnNpcA&followup=https://accounts.google.com/o/saml2/initsso?idpid%3DC03bq2iwp%26spid%3D957518930669%26forceauthn%3Dfalse%26from_login%3D1%26as%3DsAGgeAHjWrJFSQp0XnNpcA&ltmpl=popup&oauth=1&faa=1&sarp=1&scc=1 HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "POST /signin/v1/lookup HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "POST /signin/v1/lookup HTTP/1.1" 200 None
Please visit the following URL to view your CAPTCHA: https://accounts.google.com/Captcha?v=2&ctoken=AAWk9lSNYm1gb_3vUlYbzG5Cfb8k9Wh6YjrlBkbbN_eMYW5O575MvcvwVdIL4li30wb6Qx7ht_ePekWZ7tMQ7vmYi_SGSEEzJmghZVmQ8kfOI8pb1mkKt0NM-Wjw8JkVjxiipycZiFK3PAm4OZk_wSBaL34pmjWe9CgDqJwxhJXb432wmgrGD5U
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): accounts.google.com:443
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "GET /Captcha?v=2&ctoken=AAWk9lSNYm1gb_3vUlYbzG5Cfb8k9Wh6YjrlBkbbN_eMYW5O575MvcvwVdIL4li30wb6Qx7ht_ePekWZ7tMQ7vmYi_SGSEEzJmghZVmQ8kfOI8pb1mkKt0NM-Wjw8JkVjxiipycZiFK3PAm4OZk_wSBaL34pmjWe9CgDqJwxhJXb432wmgrGD5U HTTP/1.1" 200 None
Captcha (case insensitive): rebratut
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "POST /signin/v1/lookup HTTP/1.1" 200 None
b'\n<!DOCTYPE html>\n<html lang="uk">\n  <head>\n  <meta charset="utf-8">\n  <meta content="width=300, initial-scale=1" name="viewport">\n  <meta name="google-site-verification" content="LrdTUW9psUAMbh4Ia074-BPEVmcpBxF6Gwf0MSgQXZs">\n  <title>\xd0\x92\xd1\x85\xd1\x96\xd0\xb4 \xe2\x80\x93 \xd0\x9e\xd0\xb1\xd0\xbb\xd1\x96\xd0\xba\xd0\xbe\xd0\xb2\xd1\x96 \xd0\xb7\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x81\xd0\xb8 Google</title>\n  <style>\n  @font-face {\n  font-family: \'Open Sans\';\n  font-style: normal;\n  font-weight: 300;\n  src: local(\'Open Sans Light\'), local(\'OpenSans-Light\'), url(//fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN_r8OVuhs.ttf) format(\'truetype\');\n}\n@font-face {\n  font-family: \'Open Sans\';\n  font-style: normal;\n  font-weight: 400;\n  src: local(\'Open Sans\'), local(\'OpenSans\'), url(//fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFUZ0e.ttf) format(\'truetype\');\n}\n  </style>\n  <style>\n  h1, h2 {\n  -webkit-animation-duration: 0.1s;\n  -webkit-animation-name: fontfix;\n  -webkit-animation-iteration-count: 1;\n  -webkit-animation-timing-function: linear;\n  -webkit-animation-delay: 0;\n  }\n  @-webkit-keyframes fontfix {\n  from {\n  opacity: 1;\n  }\n  to {\n  opacity: 1;\n  }\n  }\n  </style>\n<style>\n  html, body {\n  font-family: Arial, sans-serif;\n  background: #fff;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  position: absolute;\n  height: 100%;\n  min-width: 100%;\n  font-size: 13px;\n  color: #404040;\n  direction: ltr;\n  -webkit-text-size-adjust: none;\n  }\n  button,\n  input[type=button],\n  input[type=submit] {\n  font-family: Arial, sans-serif;\n  font-size: 13px;\n  }\n  a,\n  a:hover,\n  a:visited {\n  color: #427fed;\n  cursor: pointer;\n  text-decoration: none;\n  }\n  a:hover {\n  text-decoration: underline;\n  }\n  h1 {\n  font-size: 20px;\n  color: #262626;\n  margin: 0 0 15px;\n  font-weight: normal;\n  }\n  h2 {\n  font-size: 14px;\n  color: #262626;\n  margin: 0 0 15px;\n  font-weight: bold;\n  }\n  input[type=email],\n  input[type=number],\n  input[type=password],\n  input[type=tel],\n  input[type=text],\n  input[type=url] {\n  -moz-appearance: none;\n  -webkit-appearance: none;\n  appearance: none;\n  display: inline-block;\n  height: 36px;\n  padding: 0 8px;\n  margin: 0;\n  background: #fff;\n  border: 1px solid #d9d9d9;\n  border-top: 1px solid #c0c0c0;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  -moz-border-radius: 1px;\n  -webkit-border-radius: 1px;\n  border-radius: 1px;\n  font-size: 15px;\n  color: #404040;\n  }\n  input[type=email]:hover,\n  input[type=number]:hover,\n  input[type=password]:hover,\n  input[type=tel]:hover,\n  input[type=text]:hover,\n  input[type=url]:hover {\n  border: 1px solid #b9b9b9;\n  border-top: 1px solid #a0a0a0;\n  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);\n  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);\n  box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);\n  }\n  input[type=email]:focus,\n  input[type=number]:focus,\n  input[type=password]:focus,\n  input[type=tel]:focus,\n  input[type=text]:focus,\n  input[type=url]:focus {\n  outline: none;\n  border: 1px solid #4d90fe;\n  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  }\n  input[type=checkbox],\n  input[type=radio] {\n  -webkit-appearance: none;\n  display: inline-block;\n  width: 13px;\n  height: 13px;\n  margin: 0;\n  cursor: pointer;\n  vertical-align: bottom;\n  background: #fff;\n  border: 1px solid #c6c6c6;\n  -moz-border-radius: 1px;\n  -webkit-border-radius: 1px;\n  border-radius: 1px;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  position: relative;\n  }\n  input[type=checkbox]:active,\n  input[type=radio]:active {\n  background: #ebebeb;\n  }\n  input[type=checkbox]:hover {\n  border-color: #c6c6c6;\n  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);\n  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);\n  box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);\n  }\n  input[type=radio] {\n  -moz-border-radius: 1em;\n  -webkit-border-radius: 1em;\n  border-radius: 1em;\n  width: 15px;\n  height: 15px;\n  }\n  input[type=checkbox]:checked,\n  input[type=radio]:checked {\n  background: #fff;\n  }\n  input[type=radio]:checked::after {\n  content: \'\';\n  display: block;\n  position: relative;\n  top: 3px;\n  left: 3px;\n  width: 7px;\n  height: 7px;\n  background: #666;\n  -moz-border-radius: 1em;\n  -webkit-border-radius: 1em;\n  border-radius: 1em;\n  }\n  input[type=checkbox]:checked::after {\n  content: url(https://ssl.gstatic.com/ui/v1/menu/checkmark.png);\n  display: block;\n  position: absolute;\n  top: -6px;\n  left: -5px;\n  }\n  input[type=checkbox]:focus {\n  outline: none;\n  border-color: #4d90fe;\n  }\n  .stacked-label {\n  display: block;\n  font-weight: bold;\n  margin: .5em 0;\n  }\n  .hidden-label {\n  position: absolute !important;\n  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */\n  clip: rect(1px, 1px, 1px, 1px);\n  height: 0px;\n  width: 0px;\n  overflow: hidden;\n  visibility: hidden;\n  }\n  input[type=checkbox].form-error,\n  input[type=email].form-error,\n  input[type=number].form-error,\n  input[type=password].form-error,\n  input[type=text].form-error,\n  input[type=tel].form-error,\n  input[type=url].form-error {\n  border: 1px solid #dd4b39;\n  }\n  .error-msg {\n  margin: .5em 0;\n  display: block;\n  color: #dd4b39;\n  line-height: 17px;\n  }\n  .help-link {\n  background: #dd4b39;\n  padding: 0 5px;\n  color: #fff;\n  font-weight: bold;\n  display: inline-block;\n  -moz-border-radius: 1em;\n  -webkit-border-radius: 1em;\n  border-radius: 1em;\n  text-decoration: none;\n  position: relative;\n  top: 0px;\n  }\n  .help-link:visited {\n  color: #fff;\n  }\n  .help-link:hover {\n  color: #fff;\n  background: #c03523;\n  text-decoration: none;\n  }\n  .help-link:active {\n  opacity: 1;\n  background: #ae2817;\n  }\n  .wrapper {\n  position: relative;\n  min-height: 100%;\n  }\n  .content {\n  padding: 0 44px;\n  }\n  .main {\n  padding-bottom: 100px;\n  }\n  /* For modern browsers */\n  .clearfix:before,\n  .clearfix:after {\n  content: "";\n  display: table;\n  }\n  .clearfix:after {\n  clear: both;\n  }\n  /* For IE 6/7 (trigger hasLayout) */\n  .clearfix {\n  zoom:1;\n  }\n  .google-header-bar {\n  height: 71px;\n  border-bottom: 1px solid #e5e5e5;\n  overflow: hidden;\n  }\n  .header .logo {\n  background-image: url(https://ssl.gstatic.com/accounts/ui/logo_1x.png);\n  background-size: 116px 38px;\n  background-repeat: no-repeat;\n  margin: 17px 0 0;\n  float: left;\n  height: 38px;\n  width: 116px;\n  }\n  .header .logo-w {\n  background-image: url(https://ssl.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_112x36dp.png);\n  background-size: 112px 36px;\n  margin: 21px 0 0;\n  }\n  .header .secondary-link {\n  margin: 28px 0 0;\n  float: right;\n  }\n  .header .secondary-link a {\n  font-weight: normal;\n  }\n  .google-header-bar.centered {\n  border: 0;\n  height: 108px;\n  }\n  .google-header-bar.centered .header .logo {\n  float: none;\n  margin: 40px auto 30px;\n  display: block;\n  }\n  .google-header-bar.centered .header .secondary-link {\n  display: none\n  }\n  .google-footer-bar {\n  position: absolute;\n  bottom: 0;\n  height: 35px;\n  width: 100%;\n  border-top: 1px solid #e5e5e5;\n  overflow: hidden;\n  }\n  .footer {\n  padding-top: 7px;\n  font-size: .85em;\n  white-space: nowrap;\n  line-height: 0;\n  }\n  .footer ul {\n  float: left;\n  max-width: 80%;\n  min-height: 16px;\n  padding: 0;\n  }\n  .footer ul li {\n  color: #737373;\n  display: inline;\n  padding: 0;\n  padding-right: 1.5em;\n  }\n  .footer a {\n  color: #737373;\n  }\n  .lang-chooser-wrap {\n  float: right;\n  display: inline;\n  }\n  .lang-chooser-wrap img {\n  vertical-align: top;\n  }\n  .lang-chooser {\n  font-size: 13px;\n  height: 24px;\n  line-height: 24px;\n  }\n  .lang-chooser option {\n  font-size: 13px;\n  line-height: 24px;\n  }\n  .hidden {\n  height: 0px;\n  width: 0px;\n  overflow: hidden;\n  visibility: hidden;\n  display: none !important;\n  }\n  .banner {\n  text-align: center;\n  }\n  .card {\n  background-color: #f7f7f7;\n  padding: 20px 25px 30px;\n  margin: 0 auto 25px;\n  width: 304px;\n  -moz-border-radius: 2px;\n  -webkit-border-radius: 2px;\n  border-radius: 2px;\n  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);\n  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);\n  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);\n  }\n  .card > *:first-child {\n  margin-top: 0;\n  }\n  .rc-button,\n  .rc-button:visited {\n  display: inline-block;\n  min-width: 46px;\n  text-align: center;\n  color: #444;\n  font-size: 14px;\n  font-weight: 700;\n  height: 36px;\n  padding: 0 8px;\n  line-height: 36px;\n  -moz-border-radius: 3px;\n  -webkit-border-radius: 3px;\n  border-radius: 3px;\n  -o-transition: all 0.218s;\n  -moz-transition: all 0.218s;\n  -webkit-transition: all 0.218s;\n  transition: all 0.218s;\n  border: 1px solid #dcdcdc;\n  background-color: #f5f5f5;\n  background-image: -webkit-linear-gradient(top,#f5f5f5,#f1f1f1);\n  background-image: -moz-linear-gradient(top,#f5f5f5,#f1f1f1);\n  background-image: -ms-linear-gradient(top,#f5f5f5,#f1f1f1);\n  background-image: -o-linear-gradient(top,#f5f5f5,#f1f1f1);\n  background-image: linear-gradient(top,#f5f5f5,#f1f1f1);\n  -o-transition: none;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n  cursor: default;\n  }\n  .card .rc-button {\n  width: 100%;\n  padding: 0;\n  }\n  .rc-button.disabled,\n  .rc-button[disabled] {\n  opacity: .5;\n  filter: alpha(opacity=50);\n  cursor: default;\n  pointer-events: none;\n  }\n  .rc-button:hover {\n  border: 1px solid #c6c6c6;\n  color: #333;\n  text-decoration: none;\n  -o-transition: all 0.0s;\n  -moz-transition: all 0.0s;\n  -webkit-transition: all 0.0s;\n  transition: all 0.0s;\n  background-color: #f8f8f8;\n  background-image: -webkit-linear-gradient(top,#f8f8f8,#f1f1f1);\n  background-image: -moz-linear-gradient(top,#f8f8f8,#f1f1f1);\n  background-image: -ms-linear-gradient(top,#f8f8f8,#f1f1f1);\n  background-image: -o-linear-gradient(top,#f8f8f8,#f1f1f1);\n  background-image: linear-gradient(top,#f8f8f8,#f1f1f1);\n  -moz-box-shadow: 0 1px 1px rgba(0,0,0,0.1);\n  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.1);\n  box-shadow: 0 1px 1px rgba(0,0,0,0.1);\n  }\n  .rc-button:active {\n  background-color: #f6f6f6;\n  background-image: -webkit-linear-gradient(top,#f6f6f6,#f1f1f1);\n  background-image: -moz-linear-gradient(top,#f6f6f6,#f1f1f1);\n  background-image: -ms-linear-gradient(top,#f6f6f6,#f1f1f1);\n  background-image: -o-linear-gradient(top,#f6f6f6,#f1f1f1);\n  background-image: linear-gradient(top,#f6f6f6,#f1f1f1);\n  -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.1);\n  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1);\n  box-shadow: 0 1px 2px rgba(0,0,0,0.1);\n  }\n  .rc-button-submit,\n  .rc-button-submit:visited {\n  border: 1px solid #3079ed;\n  color: #fff;\n  text-shadow: 0 1px rgba(0,0,0,0.1);\n  background-color: #4d90fe;\n  background-image: -webkit-linear-gradient(top,#4d90fe,#4787ed);\n  background-image: -moz-linear-gradient(top,#4d90fe,#4787ed);\n  background-image: -ms-linear-gradient(top,#4d90fe,#4787ed);\n  background-image: -o-linear-gradient(top,#4d90fe,#4787ed);\n  background-image: linear-gradient(top,#4d90fe,#4787ed);\n  }\n  .rc-button-submit:hover {\n  border: 1px solid #2f5bb7;\n  color: #fff;\n  text-shadow: 0 1px rgba(0,0,0,0.3);\n  background-color: #357ae8;\n  background-image: -webkit-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: -moz-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: -ms-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: -o-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: linear-gradient(top,#4d90fe,#357ae8);\n  }\n  .rc-button-submit:active {\n  background-color: #357ae8;\n  background-image: -webkit-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: -moz-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: -ms-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: -o-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: linear-gradient(top,#4d90fe,#357ae8);\n  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  }\n  .rc-button-red,\n  .rc-button-red:visited {\n  border: 1px solid transparent;\n  color: #fff;\n  text-shadow: 0 1px rgba(0,0,0,0.1);\n  background-color: #d14836;\n  background-image: -webkit-linear-gradient(top,#dd4b39,#d14836);\n  background-image: -moz-linear-gradient(top,#dd4b39,#d14836);\n  background-image: -ms-linear-gradient(top,#dd4b39,#d14836);\n  background-image: -o-linear-gradient(top,#dd4b39,#d14836);\n  background-image: linear-gradient(top,#dd4b39,#d14836);\n  }\n  .rc-button-red:hover {\n  border: 1px solid #b0281a;\n  color: #fff;\n  text-shadow: 0 1px rgba(0,0,0,0.3);\n  background-color: #c53727;\n  background-image: -webkit-linear-gradient(top,#dd4b39,#c53727);\n  background-image: -moz-linear-gradient(top,#dd4b39,#c53727);\n  background-image: -ms-linear-gradient(top,#dd4b39,#c53727);\n  background-image: -o-linear-gradient(top,#dd4b39,#c53727);\n  background-image: linear-gradient(top,#dd4b39,#c53727);\n  }\n  .rc-button-red:active {\n  border: 1px solid #992a1b;\n  background-color: #b0281a;\n  background-image: -webkit-linear-gradient(top,#dd4b39,#b0281a);\n  background-image: -moz-linear-gradient(top,#dd4b39,#b0281a);\n  background-image: -ms-linear-gradient(top,#dd4b39,#b0281a);\n  background-image: -o-linear-gradient(top,#dd4b39,#b0281a);\n  background-image: linear-gradient(top,#dd4b39,#b0281a);\n  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  }\n  .secondary-actions {\n  text-align: center;\n  }\n</style>\n<style media="">\n  .google-header-bar.centered {\n  height: 83px;\n  }\n  .google-header-bar.centered .header .logo {\n  margin: 25px auto 20px;\n  }\n  .card {\n  margin-bottom: 20px;\n  }\n</style>\n<style media="">\n  html, body {\n  font-size: 14px;\n  }\n  .google-header-bar.centered {\n  height: 73px;\n  }\n  .google-header-bar.centered .header .logo {\n  margin: 20px auto 15px;\n  }\n  .content {\n  padding-left: 10px;\n  padding-right: 10px;\n  }\n  .hidden-small {\n  display: none;\n  }\n  .card {\n  padding: 20px 15px 30px;\n  width: 270px;\n  }\n  .footer ul li {\n  padding-right: 1em;\n  }\n  .lang-chooser-wrap {\n  display: none;\n  }\n</style>\n<style media="screen and (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3 / 2), (min-device-pixel-ratio: 1.5)">\n  .header .logo {\n  background-image: url(https://ssl.gstatic.com/accounts/ui/logo_2x.png);\n  }\n  .header .logo-w {\n  background-image: url(https://ssl.gstatic.com/images/branding/googlelogo/2x/googlelogo_color_112x36dp.png);\n  }\n</style>\n<style>\n  pre.debug {\n  font-family: monospace;\n  position: absolute;\n  left: 0;\n  margin: 0;\n  padding: 1.5em;\n  font-size: 13px;\n  background: #f1f1f1;\n  border-top: 1px solid #e5e5e5;\n  direction: ltr;\n  white-space: pre-wrap;\n  width: 90%;\n  overflow: hidden;\n  }\n</style>\n<style>\n  .banner h1 {\n  font-family: \'Open Sans\', arial;\n  -webkit-font-smoothing: antialiased;\n  color: #555;\n  font-size: 42px;\n  font-weight: 300;\n  margin-top: 0;\n  margin-bottom: 20px;\n  }\n  .banner h2 {\n  font-family: \'Open Sans\', arial;\n  -webkit-font-smoothing: antialiased;\n  color: #555;\n  font-size: 18px;\n  font-weight: 400;\n  margin-bottom: 20px;\n  }\n  .signin-card {\n  width: 274px;\n  padding: 40px 40px;\n  }\n  .signin-card .profile-img {\n  width: 96px;\n  height: 96px;\n  margin: 0 auto 10px;\n  display: block;\n  -moz-border-radius: 50%;\n  -webkit-border-radius: 50%;\n  border-radius: 50%;\n  }\n  .signin-card .profile-name {\n  font-size: 16px;\n  font-weight: bold;\n  text-align: center;\n  margin: 10px 0 0;\n  min-height: 1em;\n  }\n  .signin-card .profile-email {\n  font-size: 16px;\n  text-align: center;\n  margin: 10px 0 20px 0;\n  min-height: 1em;\n  }\n  .signin-card input[type=email],\n  .signin-card input[type=password],\n  .signin-card input[type=text],\n  .signin-card input[type=submit] {\n  width: 100%;\n  display: block;\n  margin-bottom: 10px;\n  z-index: 1;\n  position: relative;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  }\n  .signin-card #Email,\n  .signin-card #Passwd,\n  .signin-card .captcha {\n  direction: ltr;\n  height: 44px;\n  font-size: 16px;\n  }\n  .signin-card #Email + .stacked-label {\n  margin-top: 15px;\n  }\n  .signin-card #reauthEmail {\n  display: block;\n  margin-bottom: 10px;\n  line-height: 36px;\n  padding: 0 8px;\n  font-size: 15px;\n  color: #404040;\n  line-height: 2;\n  margin-bottom: 10px;\n  font-size: 14px;\n  text-align: center;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  }\n  .one-google p {\n  margin: 0 0 10px;\n  color: #555;\n  font-size: 14px;\n  text-align: center;\n  }\n  .one-google p.create-account,\n  .one-google p.switch-account {\n  margin-bottom: 60px;\n  }\n  .one-google .logo-strip {\n  background-repeat: no-repeat;\n  display: block;\n  margin: 10px auto;\n  background-image: url(https://ssl.gstatic.com/accounts/ui/wlogostrip_230x17_1x.png);\n  background-size: 230px 17px;\n  width: 230px;\n  height: 17px;\n  }\n</style>\n<style media="">\n  .banner h1 {\n  font-size: 38px;\n  margin-bottom: 15px;\n  }\n  .banner h2 {\n  margin-bottom: 15px;\n  }\n  .one-google p.create-account,\n  .one-google p.switch-account {\n  margin-bottom: 30px;\n  }\n  .signin-card #Email {\n  margin-bottom: 0;\n  }\n  .signin-card #Passwd {\n  margin-top: -1px;\n  }\n  .signin-card #Email.form-error,\n  .signin-card #Passwd.form-error {\n  z-index: 2;\n  }\n  .signin-card #Email:hover,\n  .signin-card #Email:focus,\n  .signin-card #Passwd:hover,\n  .signin-card #Passwd:focus {\n  z-index: 3;\n  }\n</style>\n<style media="">\n  .banner h1 {\n  font-size: 22px;\n  margin-bottom: 15px;\n  }\n  .signin-card {\n  width: 260px;\n  padding: 20px 20px;\n  margin: 0 auto 20px;\n  }\n  .signin-card .profile-img {\n  width: 72px;\n  height: 72px;\n  -moz-border-radius: 72px;\n  -webkit-border-radius: 72px;\n  border-radius: 72px;\n  }\n</style>\n<style media="screen and (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3 / 2), (min-device-pixel-ratio: 1.5)">\n  .one-google .logo-strip {\n  background-image: url(https://ssl.gstatic.com/accounts/ui/wlogostrip_230x17_2x.png);\n  }\n</style>\n<style>\n  .remember .bubble-wrap {\n  position: absolute;\n  padding-top: 3px;\n  -o-transition: opacity .218s ease-in .218s;\n  -moz-transition: opacity .218s ease-in .218s;\n  -webkit-transition: opacity .218s ease-in .218s;\n  transition: opacity .218s ease-in .218s;\n  left: -999em;\n  opacity: 0;\n  width: 314px;\n  margin-left: -20px;\n  }\n  .remember:hover .bubble-wrap,\n  .remember input:focus ~ .bubble-wrap,\n  .remember .bubble-wrap:hover,\n  .remember .bubble-wrap:focus {\n  opacity: 1;\n  left: inherit;\n  }\n  .bubble-pointer {\n  border-left: 10px solid transparent;\n  border-right: 10px solid transparent;\n  border-bottom: 10px solid #fff;\n  width: 0;\n  height: 0;\n  margin-left: 17px;\n  }\n  .bubble {\n  background-color: #fff;\n  padding: 15px;\n  margin-top: -1px;\n  font-size: 11px;\n  -moz-border-radius: 2px;\n  -webkit-border-radius: 2px;\n  border-radius: 2px;\n  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);\n  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);\n  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);\n  }\n  #stay-signed-in {\n  float: left;\n  }\n  #stay-signed-in-tooltip {\n  left: auto;\n  margin-left: -20px;\n  padding-top: 3px;\n  position: absolute;\n  top: 0;\n  visibility: hidden;\n  width: 314px;\n  z-index: 1;\n  }\n  .dasher-tooltip {\n  top: 380px;\n  }\n</style>\n<style media="">\n  .dasher-tooltip {\n  top: 340px;\n  }\n</style>\n<style>\n  .jfk-tooltip {\n  background-color: #fff;\n  border: 1px solid;\n  color: #737373;\n  font-size: 12px;\n  position: absolute;\n  z-index: 800 !important;\n  border-color: #bbb #bbb #a8a8a8;\n  padding: 16px;\n  width: 250px;\n  }\n .jfk-tooltip h3 {\n  color: #555;\n  font-size: 12px;\n  margin: 0 0 .5em;\n  }\n .jfk-tooltip-content p:last-child {\n  margin-bottom: 0;\n  }\n  .jfk-tooltip-arrow {\n  position: absolute;\n  }\n  .jfk-tooltip-arrow .jfk-tooltip-arrowimplbefore,\n  .jfk-tooltip-arrow .jfk-tooltip-arrowimplafter {\n  display: block;\n  height: 0;\n  position: absolute;\n  width: 0;\n  }\n  .jfk-tooltip-arrow .jfk-tooltip-arrowimplbefore {\n  border: 9px solid;\n  }\n  .jfk-tooltip-arrow .jfk-tooltip-arrowimplafter {\n  border: 8px solid;\n  }\n  .jfk-tooltip-arrowdown {\n  bottom: 0;\n  }\n  .jfk-tooltip-arrowup {\n  top: -9px;\n  }\n  .jfk-tooltip-arrowleft {\n  left: -9px;\n  top: 30px;\n  }\n  .jfk-tooltip-arrowright {\n  right: 0;\n  top: 30px;\n  }\n  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore,.jfk-tooltip-arrowup .jfk-tooltip-arrowimplbefore {\n  border-color: #bbb transparent;\n  left: -9px;\n  }\n  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore {\n  border-color: #a8a8a8 transparent;\n  }\n  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplafter,.jfk-tooltip-arrowup .jfk-tooltip-arrowimplafter {\n  border-color: #fff transparent;\n  left: -8px;\n  }\n  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore {\n  border-bottom-width: 0;\n  }\n  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplafter {\n  border-bottom-width: 0;\n  }\n  .jfk-tooltip-arrowup .jfk-tooltip-arrowimplbefore {\n  border-top-width: 0;\n  }\n  .jfk-tooltip-arrowup .jfk-tooltip-arrowimplafter {\n  border-top-width: 0;\n  top: 1px;\n  }\n  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplbefore,\n  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplbefore {\n  border-color: transparent #bbb;\n  top: -9px;\n  }\n  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplafter,\n  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplafter {\n  border-color:transparent #fff;\n  top:-8px;\n  }\n  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplbefore {\n  border-left-width: 0;\n  }\n  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplafter {\n  border-left-width: 0;\n  left: 1px;\n  }\n  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplbefore {\n  border-right-width: 0;\n  }\n  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplafter {\n  border-right-width: 0;\n  }\n  .jfk-tooltip-closebtn {\n  background: url("//ssl.gstatic.com/ui/v1/icons/common/x_8px.png") no-repeat;\n  border: 1px solid transparent;\n  height: 21px;\n  opacity: .4;\n  outline: 0;\n  position: absolute;\n  right: 2px;\n  top: 2px;\n  width: 21px;\n  }\n  .jfk-tooltip-closebtn:focus,\n  .jfk-tooltip-closebtn:hover {\n  opacity: .8;\n  cursor: pointer;\n  }\n  .jfk-tooltip-closebtn:focus {\n  border-color: #4d90fe;\n  }\n</style>\n<style media="">\n  .jfk-tooltip {\n  display: none;\n  }\n</style>\n<style type="text/css">\n.captcha-box {\n  background: #fff;\n  margin: 0 0 10px;\n  overflow: hidden;\n  padding: 10px;\n}\n.captcha-box .captcha-img {\n  text-align: center;\n}\n.captcha-box .captcha-label {\n  font-weight: bold;\n  display: block;\n  margin: .5em 0;\n}\n.captcha-box .captcha-msg {\n  color: #999;\n  display: block;\n  position: relative;\n}\n.captcha-box .captcha-msg .accessibility-logo {\n  float: right;\n  border: 0;\n}\n.captcha-box .audio-box {\n  position: absolute;\n  top: 0;\n}\n</style>\n<style>\n.chromiumsync-custom-content {\n  padding-top: 20px;\n  margin-bottom: 0;\n}\n.form-panel {\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  -webkit-transform: translateZ(0);\n  -moz-transform: translateZ(0);\n  -ms-transform: translateZ(0);\n  -o-transform: translateZ(0);\n  transform: translateZ(0);\n  width: 100%;\n}\n.form-panel.first {\n  z-index: 2;\n}\n.form-panel.second {\n  z-index: 1;\n}\n.shift-form .form-panel.first {\n  z-index: 1;\n}\n.shift-form .form-panel.second {\n  z-index: 2;\n}\n.slide-in,\n.slide-out {\n  display: block;\n  -webkit-transition-property: -webkit-transform, opacity;\n  -moz-transition-property: -moz-transform, opacity;\n  -ms-transition-property: -ms-transform, opacity;\n  -o-transition-property: -o-transform, opacity;\n  transition-property: transform, opacity;\n  -webkit-transition-duration: 0.1s;\n  -moz-transition-duration: 0.1s;\n  -ms-transition-duration: 0.1s;\n  -o-transition-duration: 0.1s;\n  transition-duration: 0.1s;\n  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  -moz-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  -ms-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.slide-out {\n  -webkit-transform: translate3d(0, 0, 0);\n  -moz-transform: translate3d(0, 0, 0);\n  -ms-transform: translate3d(0, 0, 0);\n  -o-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n}\n.shift-form .slide-out {\n  opacity: 0;\n  -webkit-transform: translate3d(-120%, 0, 0);\n  -moz-transform: translate3d(-120%, 0, 0);\n  -ms-transform: translate3d(-120%, 0, 0);\n  -o-transform: translate3d(-120%, 0, 0);\n  transform: translate3d(-120%, 0, 0);\n}\n.slide-in {\n  -webkit-transform: translate3d(120%, 0, 0);\n  -moz-transform: translate3d(120%, 0, 0);\n  -ms-transform: translate3d(120%, 0, 0);\n  -o-transform: translate3d(120%, 0, 0);\n  transform: translate3d(120%, 0, 0);\n}\n.shift-form .slide-in {\n  opacity: 1;\n  -webkit-transform: translate3d(0, 0, 0);\n  -moz-transform: translate3d(0, 0, 0);\n  -ms-transform: translate3d(0, 0, 0);\n  -o-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n}\n.error-msg {\n  -webkit-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);\n  -moz-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);\n  -ms-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);\n  -o-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);\n  transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);\n  height: auto;\n  max-height: 0;\n  opacity: 0;\n}\n.has-error .error-msg {\n  max-height: 3.5em;\n  margin-top: 10px;\n  margin-bottom: 10px;\n  opacity: 1;\n  visibility: visible;\n}\n.back-arrow {\n  position: absolute;\n  top: 37px;\n  width: 24px;\n  height: 24px;\n  display: none;\n  cursor: pointer;\n}\n.back-arrow {\n  border-style: none;\n}\n.shift-form.back-arrow {\n  display: block;\n}\n.back-arrow img {\n  display: block;\n}\n#link-signup {\n  text-align: center;\n  font-size: 14px;\n}\n.shift-form #link-signup{\n  display: none;\n}\n#link-signin-different {\n  display: none;\n  text-align: center;\n  font-size: 14px;\n}\n.shift-form #link-signin-different {\n  display: block;\n}\n.signin-card #profile-name {\n  font-size: 16px;\n  font-weight: bold;\n  text-align: center;\n  margin: 0;\n  min-height: 1em;\n}\n.signin-card.no-name #profile-name {\n  display: none;\n}\n.signin-card.no-name #email-display {\n  line-height: initial;\n  margin-bottom: 16px;\n}\n.signin-card #email-display {\n  display: block;\n  padding: 0px 8px;\n  color: rgb(64, 64, 64);\n  line-height: 2;\n  margin-bottom: 10px;\n  font-size: 14px;\n  text-align: center;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.signin-card #Email {\n  margin-top: 16px;\n}\n.need-help {\n  float: right;\n  text-align: right;\n}\n.form-panel {\n  width: 274px;\n}\n#gaia_firstform {\n  z-index: 2;\n}\n.signin-card {\n  position: relative;\n  overflow: hidden;\n}\n.signin-card #profile-name {\n  color: #000;\n}\n.circle-mask {\n  display: block;\n  height: 96px;\n  width: 96px;\n  overflow: hidden;\n  border-radius: 50%;\n  margin-left: auto;\n  margin-right: auto;\n  z-index: 100;\n  margin-bottom: 10px;\n}\n.circle {\n  -webkit-transition-property: -webkit-transform;\n  -moz-transition-property: -moz-transform;\n  -ms-transition-property: -ms-transform;\n  -o-transition-property: -o-transform;\n  transition-property: transform;\n  -webkit-transition-timing-function: cubic-bezier(.645,.045,.355,1);\n  -moz-transition-timing-function: cubic-bezier(.645,.045,.355,1);\n  -ms-transition-timing-function: cubic-bezier(.645,.045,.355,1);\n  -o-transition-timing-function: cubic-bezier(.645,.045,.355,1);\n  transition-timing-function: cubic-bezier(.645,.045,.355,1);\n}\n.circle {\n  position: absolute;\n  z-index: 101;\n  height: 96px;\n  width: 96px;\n  border-radius: 50%;\n  opacity: 0.99;\n  overflow: hidden;\n  background-repeat: no-repeat;\n  background-position: center center;\n}\n.main {\n  overflow: hidden;\n}\n.card-mask-wrap {\n  position: relative;\n  width: 360px;\n  margin: 0 auto;\n  z-index: 1;\n}\n.dasher-tooltip {\n  position: absolute;\n  left: 50%;\n  margin-left: 150px;\n}\n.dasher-tooltip .tooltip-pointer {\n  margin-top: 15px;\n}\n.dasher-tooltip p {\n  margin-top: 0;\n}\n.dasher-tooltip p span {\n  display: block;\n}\n.card {\n  margin-bottom: 0;\n}\n.one-google {\n  padding-top: 27px;\n}\n#canvas {\n  -webkit-transition: opacity 0.075s;\n  -moz-transition: opacity 0.075s;\n  -ms-transition: opacity 0.075s;\n  -o-transition: opacity 0.075s;\n  transition: opacity 0.075s;\n  opacity: 0.01;\n}\n.shift-form #canvas {\n  opacity: 0.99;\n}\n.label {\n  color: #404040;\n}\n#account-chooser-link {\n  -webkit-transition: opacity 0.3s;\n  -moz-transition: opacity 0.3s;\n  -ms-transition: opacity 0.3s;\n  -o-transition: opacity 0.3s;\n  transition: opacity 0.3s;\n}\n.input-wrapper {\n  position: relative;\n}\n.google-footer-bar {\n  z-index: 2;\n}\n</style>\n<style media="">\n.back-arrow {\n  top: 17px;\n}\n.circle-mask {\n  height: 72px;\n  width: 72px;\n  background-size: 72px;\n}\n.circle {\n  height: 72px;\n  width: 72px;\n}\n#canvas {\n  height: 72px;\n  width: 72px;\n}\n.form-panel {\n  width: 256px;\n}\n.card-mask-wrap {\n  width: 300px;\n}\n.signin-card {\n  width: 256px;\n}\n.signin-card #EmailFirst {\n  margin-top: 15px;\n}\n.one-google {\n  padding-top: 22px;\n}\n</style>\n  </head>\n  <body>\n  <div class="wrapper">\n  <div  class="google-header-bar  centered">\n  <div class="header content clearfix">\n  <div class="logo logo-w" aria-label="Google"></div>\n  </div>\n  </div>\n  <div  class="main content clearfix">\n<div class="banner">\n  <h2>\n  \xd0\xa3\xd0\xb2\xd1\x96\xd0\xb9\xd0\xb4\xd1\x96\xd1\x82\xd1\x8c, \xd0\xb2\xd0\xb8\xd0\xba\xd0\xbe\xd1\x80\xd0\xb8\xd1\x81\xd1\x82\xd0\xbe\xd0\xb2\xd1\x83\xd1\x8e\xd1\x87\xd0\xb8 \xd0\xb4\xd0\xb0\xd0\xbd\xd1\x96 \xd0\xbe\xd0\xb1\xd0\xbb\xd1\x96\xd0\xba\xd0\xbe\xd0\xb2\xd0\xbe\xd0\xb3\xd0\xbe \xd0\xb7\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x81\xd1\x83 Google\n  </h2>\n</div>\n<div class="main-content \n  \n  \n    no-name\n  \n  \n  \n">\n<div  class="card signin-card\n  \n    pre-shift\n  \n  \n  \n   no-name">\n  <img  class="circle-mask"\n      \n        \n          src="https://ssl.gstatic.com/accounts/ui/avatar_2x.png"\n        \n      >\n  <form novalidate method="post" action="https://accounts.google.com/signin/v1/lookup" id="gaia_loginform">\n  <input name="Page" type="hidden" value="PasswordSeparationSignIn">\n  <input type="hidden" name="GALX" value="1OBOoCUyb10">\n  <input type="hidden" name="gxf" value="AFoagUWPwfN9puRXfKShWA3ZsK8n3sBJ7w:1586952131125">\n  <input type="hidden" name="continue" value="https://accounts.google.com/o/saml2/initsso?idpid=C03bq2iwp&amp;spid=957518930669&amp;forceauthn=false&amp;from_login=1&amp;as=sAGgeAHjWrJFSQp0XnNpcA">\n  <input type="hidden" name="ltmpl" value="popup">\n  <input type="hidden" name="scc" value="1">\n  <input type="hidden" name="sarp" value="1">\n  <input type="hidden" name="checkedDomains" value="youtube">\n  <input type="hidden" name="checkConnection" value="">\n  <input type="hidden" name="pstMsg" value="0">\n  <input type="hidden" name="oauth" value="1">\n  <input id="profile-information" name="ProfileInformation" type="hidden" value="">\n  <input id="session-state" name="SessionState" type="hidden" value="">\n  <input type="hidden" id="_utf8" name="_utf8" value="&#9731;"/>\n  <input type="hidden" name="bgresponse" id="bgresponse" value="js_disabled">\n  <div class="form-panel first valid" id="gaia_firstform">\n  <div  class="slide-out ">\n  <div class="input-wrapper focused">\n  <div id="identifier-shown">\n  <div>\n  <label  class="hidden-label" for="Email">\n  \xd0\x92\xd0\xb2\xd0\xb5\xd0\xb4\xd1\x96\xd1\x82\xd1\x8c \xd0\xb5\xd0\xbb\xd0\xb5\xd0\xba\xd1\x82\xd1\x80\xd0\xbe\xd0\xbd\xd0\xbd\xd1\x83 \xd0\xb0\xd0\xb4\xd1\x80\xd0\xb5\xd1\x81\xd1\x83</label>\n  <input  id="Email" type="email" value="vasyl@rxdefine.com" spellcheck="false"\n                   name="Email"\n                   \n                     placeholder="\xd0\x95\xd0\xbb\xd0\xb5\xd0\xba\xd1\x82\xd1\x80\xd0\xbe\xd0\xbd\xd0\xbd\xd0\xb0 \xd0\xb0\xd0\xb4\xd1\x80\xd0\xb5\xd1\x81\xd0\xb0 \xd1\x87\xd0\xb8 \xd0\xbd\xd0\xbe\xd0\xbc\xd0\xb5\xd1\x80 \xd1\x82\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd\xd1\x83"\n                   \n                   \n                   \n                   autofocus>\n  <input id="Passwd-hidden" type="password" spellcheck="false" class="hidden">\n  </div>\n  </div>\n  <span role="alert" class="error-msg" id="errormsg_0_Email"></span>\n  </div>\n<div   id="identifier-captcha">\n<input type="hidden" name="identifiertoken" id="identifier-token" value="AAWk9lR3poC5B8wfQr5w9mWRkFx4wrkkySiGQ8So1YgQH5wn3BEh6zCROKHIIY1g6LkRRq67DijL4zW-jWgY0kGBecSsv8qP1v7945bP6K6dZqmwEOFrLkfQOxxK5v1wQhatRbgxF7Z31iUEoJm3nR_A0dtKZ_PiMCSSTuyF6xyYKYHL0NDKtpU">\n<input type="hidden" name="identifiertoken_audio" id="identifier-token-audio">\n<div class="audio-box">\n  <div id="playIdentifierAudio"></div>\n</div>\n<div id="captcha-box" class="captcha-box">\n  <div id="captcha-img" class="captcha-img" data-alt-text="\xd0\x92\xd1\x96\xd0\xb7\xd1\x83\xd0\xb0\xd0\xbb\xd1\x8c\xd0\xbd\xd0\xb0 \xd0\xbf\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb2\xd1\x96\xd1\x80\xd0\xba\xd0\xb0">\n  <img src="/Captcha?v=2&amp;ctoken=AAWk9lR3poC5B8wfQr5w9mWRkFx4wrkkySiGQ8So1YgQH5wn3BEh6zCROKHIIY1g6LkRRq67DijL4zW-jWgY0kGBecSsv8qP1v7945bP6K6dZqmwEOFrLkfQOxxK5v1wQhatRbgxF7Z31iUEoJm3nR_A0dtKZ_PiMCSSTuyF6xyYKYHL0NDKtpU"\n           alt="\xd0\x92\xd1\x96\xd0\xb7\xd1\x83\xd0\xb0\xd0\xbb\xd1\x8c\xd0\xbd\xd0\xb0 \xd0\xbf\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb2\xd1\x96\xd1\x80\xd0\xba\xd0\xb0">\n  </div>\n  <span class="captcha-msg">\n  \xd0\x9b\xd1\x96\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8 \xd0\xbd\xd0\xb5 \xd1\x87\xd1\x83\xd1\x82\xd0\xbb\xd0\xb8\xd0\xb2\xd1\x96 \xd0\xb4\xd0\xbe \xd1\x80\xd0\xb5\xd0\xb3\xd1\x96\xd1\x81\xd1\x82\xd1\x80\xd1\x83\n  <a id="captcha-play-identifier" href="#">\n  <img src="https://accounts.google.com/accessibility.gif"\n             class="accessibility-logo"\n             alt="/Captcha?v=2&amp;kind=audio&amp;ctoken=AAWk9lR3poC5B8wfQr5w9mWRkFx4wrkkySiGQ8So1YgQH5wn3BEh6zCROKHIIY1g6LkRRq67DijL4zW-jWgY0kGBecSsv8qP1v7945bP6K6dZqmwEOFrLkfQOxxK5v1wQhatRbgxF7Z31iUEoJm3nR_A0dtKZ_PiMCSSTuyF6xyYKYHL0NDKtpU">\n  </a>\n  <script type="text/javascript" nonce="q1tvyPlpm50XYI7uuVU9ww">\n  document.getElementById(\'captcha-play-identifier\').onclick = function() {\n  playIdentifierCaptcha();\n  return false;\n  };\n  </script>\n  </span>\n</div>\n<label  for="identifier-captcha-input"\n    \n      class="hidden-label"\n    ></label>\n<input type="text"\n       id="identifier-captcha-input"\n       name="identifier-captcha-input"\n       class="captcha"\n       placeholder="\xd0\x92\xd0\xb2\xd0\xb5\xd0\xb4\xd1\x96\xd1\x82\xd1\x8c \xd0\xb7\xd0\xbe\xd0\xb1\xd1\x80\xd0\xb0\xd0\xb6\xd0\xb5\xd0\xbd\xd1\x96 \xd0\xb2\xd0\xb8\xd1\x89\xd0\xb5 \xd0\xbb\xd1\x96\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8"\n       title="\xd0\x92\xd0\xb2\xd0\xb5\xd0\xb4\xd1\x96\xd1\x82\xd1\x8c \xd0\xb7\xd0\xbe\xd0\xb1\xd1\x80\xd0\xb0\xd0\xb6\xd0\xb5\xd0\xbd\xd1\x96 \xd1\x81\xd0\xb8\xd0\xbc\xd0\xb2\xd0\xbe\xd0\xbb\xd0\xb8 \xd0\xb0\xd0\xb1\xd0\xbe \xd0\xbf\xd0\xbe\xd1\x87\xd1\x83\xd1\x82\xd1\x96 \xd1\x86\xd0\xb8\xd1\x84\xd1\x80\xd0\xb8">\n</div>\n<input id="next" name="signIn" class="rc-button rc-button-submit" type="submit" value="\xd0\x94\xd0\xb0\xd0\xbb\xd1\x96">\n  <a  class="need-help"\n          href="https://accounts.google.com/signin/usernamerecovery?continue=https%3A%2F%2Faccounts.google.com%2Fo%2Fsaml2%2Finitsso%3Fidpid%3DC03bq2iwp%26spid%3D957518930669%26forceauthn%3Dfalse%26from_login%3D1%26as%3DsAGgeAHjWrJFSQp0XnNpcA&amp;sarp=1&amp;scc=1&amp;checkedDomains=youtube&amp;pstMsg=0&amp;oauth=1&amp;hl=en">\n  \xd0\x97\xd0\xbd\xd0\xb0\xd0\xb9\xd1\x82\xd0\xb8 \xd0\xbc\xd1\x96\xd0\xb9 \xd0\xbe\xd0\xb1\xd0\xbb\xd1\x96\xd0\xba\xd0\xbe\xd0\xb2\xd0\xb8\xd0\xb9 \xd0\xb7\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x81\n  </a>\n  </div>\n  </div>\n  </form>\n</div>\n  <div  class="card-mask-wrap\n    \n         has-captcha\n     no-name">\n  <div class="card-mask">\n  <div class="one-google">\n  <p class="create-account">\n  <span id="link-signin-different">\n  <a href="https://accounts.google.com/AccountChooser?continue=https%3A%2F%2Faccounts.google.com%2Fo%2Fsaml2%2Finitsso%3Fidpid%3DC03bq2iwp%26spid%3D957518930669%26forceauthn%3Dfalse%26from_login%3D1%26as%3DsAGgeAHjWrJFSQp0XnNpcA&amp;hl=uk&amp;scc=1">\n  \xd0\xa3\xd0\xb2\xd1\x96\xd0\xb9\xd1\x82\xd0\xb8 \xd0\xb2 \xd1\x96\xd0\xbd\xd1\x88\xd0\xb8\xd0\xb9 \xd0\xbe\xd0\xb1\xd0\xbb\xd1\x96\xd0\xba\xd0\xbe\xd0\xb2\xd0\xb8\xd0\xb9 \xd0\xb7\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x81\n  </a>\n  </span>\n  <span id="link-signup">\n  <a  href="https://accounts.google.com/SignUp?continue=https%3A%2F%2Faccounts.google.com%2Fo%2Fsaml2%2Finitsso%3Fidpid%3DC03bq2iwp%26spid%3D957518930669%26forceauthn%3Dfalse%26from_login%3D1%26as%3DsAGgeAHjWrJFSQp0XnNpcA&amp;ltmpl=popup#RecoveryEmailAddress=vasyl%40rxdefine.com">\n  \xd0\xa1\xd1\x82\xd0\xb2\xd0\xbe\xd1\x80\xd0\xb8\xd1\x82\xd0\xb8 \xd0\xbe\xd0\xb1\xd0\xbb\xd1\x96\xd0\xba\xd0\xbe\xd0\xb2\xd0\xb8\xd0\xb9 \xd0\xb7\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x81\n  </a>\n  </span>\n  </p>\n<p class="tagline">\n  \xd0\x9e\xd0\xb4\xd0\xb8\xd0\xbd \xd0\xbe\xd0\xb1\xd0\xbb\xd1\x96\xd0\xba\xd0\xbe\xd0\xb2\xd0\xb8\xd0\xb9 \xd0\xb7\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x81 Google \xd0\xb4\xd0\xbb\xd1\x8f \xd0\xb2\xd1\x81\xd1\x96\xd1\x85 \xd1\x81\xd0\xbb\xd1\x83\xd0\xb6\xd0\xb1 Google\n</p>\n<div class="logo-strip"></div>\n  </div>\n  </div>\n  </div>\n</div>\n  </div>\n  <div  class="google-footer-bar">\n  <div class="footer content clearfix">\n  <ul id="footer-list">\n  <li>\n  <a href="https://www.google.com/intl/uk/about" target="_blank">\n  \xd0\x9f\xd1\x80\xd0\xbe Google\n  </a>\n  </li>\n  <li>\n  <a href="https://accounts.google.com/TOS?loc=UA&hl=uk&privacy=true" target="_blank">\n  \xd0\x9a\xd0\xbe\xd0\xbd\xd1\x84\xd1\x96\xd0\xb4\xd0\xb5\xd0\xbd\xd1\x86\xd1\x96\xd0\xb9\xd0\xbd\xd1\x96\xd1\x81\xd1\x82\xd1\x8c\n  </a>\n  </li>\n  <li>\n  <a href="https://accounts.google.com/TOS?loc=UA&hl=uk" target="_blank">\n  \xd0\xa3\xd0\xbc\xd0\xbe\xd0\xb2\xd0\xb8 \xd0\xb2\xd0\xb8\xd0\xba\xd0\xbe\xd1\x80\xd0\xb8\xd1\x81\xd1\x82\xd0\xb0\xd0\xbd\xd0\xbd\xd1\x8f\n  </a>\n  </li>\n  <li>\n  <a href="http://www.google.com/support/accounts?hl=uk" target="_blank">\n  \xd0\x94\xd0\xbe\xd0\xb2\xd1\x96\xd0\xb4\xd0\xba\xd0\xb0\n  </a>\n  </li>\n  </ul>\n  </div>\n</div>\n  </div>\n<script type="text/javascript" nonce="q1tvyPlpm50XYI7uuVU9ww">\n  var gaia_attachEvent = function(element, event, callback) {\n  if (element && element.addEventListener) {\n  element.addEventListener(event, callback, false);\n  } else if (element && element.attachEvent) {\n  element.attachEvent(\'on\' + event, callback);\n  }\n  };\n</script>\n<script type="text/javascript" nonce="q1tvyPlpm50XYI7uuVU9ww">\nfunction playIdentifierCaptcha() {\n  function canPlayAudioWithHtml() {\n  var audio = document.createElement(\'audio\');\n  return audio.canPlayType && audio.canPlayType(\'audio/x-wav\');\n  }\n  var wavURL = \'\\x2FCaptcha?v=2\\x26kind=audio\\x26ctoken=AAWk9lR3poC5B8wfQr5w9mWRkFx4wrkkySiGQ8So1YgQH5wn3BEh6zCROKHIIY1g6LkRRq67DijL4zW-jWgY0kGBecSsv8qP1v7945bP6K6dZqmwEOFrLkfQOxxK5v1wQhatRbgxF7Z31iUEoJm3nR_A0dtKZ_PiMCSSTuyF6xyYKYHL0NDKtpU\';\n  var audioCode;\n  if (canPlayAudioWithHtml()) {\n  audioCode = \'<audio src=\' + wavURL + \' autoplay="autoplay">\';\n  } else {\n  audioCode = \'<embed src=\' + wavURL + \' hidden="true" autostart="true" >\';\n  }\n  document.getElementById(\'playIdentifierAudio\').innerHTML = audioCode;\n  document.getElementById(\'identifier-captcha-input\').value = \'\';\n  document.getElementById(\'identifier-captcha-input\').focus();\n}\n</script>\n  <script type="text/javascript" nonce="q1tvyPlpm50XYI7uuVU9ww">/* Anti-spam. Want to say hello? Contact (base64) Ym90Z3VhcmQtY29udGFjdEBnb29nbGUuY29t */Function(\'var nG=function(n,U){function h(){}(n.prototype=new (n.N=(h.prototype=U.prototype,U.prototype),h),n).prototype.constructor=n},h4=function(n,U,h,X,e){for(X=(U=[],h=0);X<n.length;X++)e=n.charCodeAt(X),128>e?U[h++]=e:(2048>e?U[h++]=e>>6|192:(55296==(e&64512)&&X+1<n.length&&56320==(n.charCodeAt(X+1)&64512)?(e=65536+((e&1023)<<10)+(n.charCodeAt(++X)&1023),U[h++]=e>>18|240,U[h++]=e>>12&63|128):U[h++]=e>>12|224,U[h++]=e>>6&63|128),U[h++]=e&63|128);return U},v,f=function(n,U,h){if((U=typeof n,"object")==U)if(n){if(n instanceof Array)return"array";if(n instanceof Object)return U;if((h=Object.prototype.toString.call(n),"[object Window]")==h)return"object";if("[object Array]"==h||"number"==typeof n.length&&"undefined"!=typeof n.splice&&"undefined"!=typeof n.propertyIsEnumerable&&!n.propertyIsEnumerable("splice"))return"array";if("[object Function]"==h||"undefined"!=typeof n.call&&"undefined"!=typeof n.propertyIsEnumerable&&!n.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==U&&"undefined"==typeof n.call)return"object";return U},D=function(n,U){return"object"==(U=typeof n,U)&&null!=n||"function"==U},l=this||self,Uc=function(n){for(n=0;64>n;++n)W[n]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(n),m["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(n)]=n;m[m["/"]=((W[64]="",m)["+"]=62,63),"="]=64},MM=function(){},I=function(n,U){return U<n?-1:U>n?1:0},x,m={},W={},Xs=function(n){return/^[\\\\s\\\\xa0]*([\\\\s\\\\S]*?)[\\\\s\\\\xa0]*$/.exec(n)[1]};a:{var el=l.navigator;if(el){var LG=el.userAgent;if(LG){x=LG;break a}}x=""}var pG=function(n){return(n=l.document)?n.documentMode:void 0},w="",iV=function(n,U,h){return(h=gW,Object.prototype.hasOwnProperty.call(h,n))?h[n]:h[n]=U(n)},ab=function(n,U,h){for(h in U)if(n.call(void 0,U[h],h,U))return true;return false},C=/\\\\b(?:MSIE|rv)[: ]([^\\\\);]+)(\\\\)|;)/.exec(x),vk=(C&&(w=C?C[1]:""),pG()),fG=null!=vk&&vk>parseFloat(w)?String(vk):w,Hk,gW={};if(l.document){var kW=pG();Hk=kW?kW:parseInt(fG,10)||void 0}else Hk=void 0;var V4=9<=Number(Hk),Dv=!function(n){return iV(n,function(U,h,X,e,g,M,L){for(e=(h=Xs(String(fG)).split((X=Xs(String(n)).split("."),".")),U=0,Math.max(h.length,X.length)),g=0;0==U&&g<e;g++){M=h[L=X[g]||"",g]||"";do{if(0==(M=(L=/(\\\\d*)(\\\\D*)(.*)/.exec(L)||["","","",""],/(\\\\d*)(\\\\D*)(.*)/.exec(M)||["","","",""]),M[0].length)&&0==L[0].length)break;L=(M=M[U=I(0==L[1].length?0:parseInt(L[1],10),0==M[1].length?0:parseInt(M[1],10))||I(0==L[2].length,0==M[2].length)||I(L[2],M[2]),3],L)[3]}while(0==U)}return 0<=U})}("9"),Oc=function(n,U){if(!l.addEventListener||!Object.defineProperty)return false;U=(n=false,Object).defineProperty({},"passive",{get:function(){n=true}});try{l.addEventListener("test",MM,U),l.removeEventListener("test",MM,U)}catch(h){}return n}(),t=function(n,U){(this.type=n,this).currentTarget=(this.defaultPrevented=false,this).target=U},A=(t.prototype.stopPropagation=(t.prototype.preventDefault=function(){this.defaultPrevented=true},function(){}),function(n,U,h,X){this.G=((this.pointerId=(this.state=(this.metaKey=this.shiftKey=this.altKey=(this.charCode=(this.button=this.screenY=this.screenX=(t.call(this,n?n.type:""),this.relatedTarget=this.currentTarget=this.target=null,this.clientY=this.clientX=this.offsetY=this.offsetX=0),this.key="",this.keyCode=0),this.ctrlKey=false),null),0),this).pointerType="",null),n&&(h=this.type=n.type,X=n.changedTouches&&n.changedTouches.length?n.changedTouches[0]:null,this.target=n.target||n.srcElement,this.currentTarget=U,U=n.relatedTarget,U||("mouseover"==h?U=n.fromElement:"mouseout"==h&&(U=n.toElement)),this.relatedTarget=U,X?(this.clientX=void 0!==X.clientX?X.clientX:X.pageX,this.clientY=void 0!==X.clientY?X.clientY:X.pageY,this.screenX=X.screenX||0,this.screenY=X.screenY||0):(this.offsetX=void 0!==n.offsetX?n.offsetX:n.layerX,this.offsetY=void 0!==n.offsetY?n.offsetY:n.layerY,this.clientX=void 0!==n.clientX?n.clientX:n.pageX,this.clientY=void 0!==n.clientY?n.clientY:n.pageY,this.screenX=n.screenX||0,this.screenY=n.screenY||0),this.button=n.button,this.keyCode=n.keyCode||0,this.key=n.key||"",this.charCode=n.charCode||("keypress"==h?n.keyCode:0),this.ctrlKey=n.ctrlKey,this.altKey=n.altKey,this.shiftKey=n.shiftKey,this.metaKey=n.metaKey,this.pointerId=n.pointerId||0,this.pointerType="string"===typeof n.pointerType?n.pointerType:lV[n.pointerType]||"",this.state=n.state,this.G=n,n.defaultPrevented&&this.preventDefault())}),lV={2:(nG(A,t),"touch"),3:"pen",4:"mouse"},B="closure_listenable_"+((A.prototype.preventDefault=function(n){if((A.N.preventDefault.call(this),n=this.G,n).preventDefault)n.preventDefault();else if(n.returnValue=false,Dv)try{if(n.ctrlKey||112<=n.keyCode&&123>=n.keyCode)n.keyCode=-1}catch(U){}},A).prototype.stopPropagation=function(){(A.N.stopPropagation.call(this),this).G.stopPropagation?this.G.stopPropagation():this.G.cancelBubble=true},1E6*Math.random()|0),Y=function(n){(this.A={},this.src=n,this).C=0},uV=0,xW=function(n,U,h,X,e){this.capture=(this.key=++uV,this.listener=(this.type=(this.J=this.S=false,h),this.src=U,this.X=(this.O=n,null),e),!!X)},wW=function(n){(n.O=null,n.src=null,n).X=null,n.listener=null,n.J=true},CG=(Y.prototype.remove=(Y.prototype.hasListener=function(n,U,h,X,e){return ab(function(g,M){for(M=0;M<g.length;++M)if(!(h&&g[M].type!=X||e&&g[M].capture!=U))return true;return false},(X=(e=void 0!==U,h=void 0!==n)?n.toString():"",this.A))},Y.prototype.add=function(n,U,h,X,e,g,M){return-1<(M=CG(e,(n=(g=n.toString(),this.A[g]),n||(n=this.A[g]=[],this.C++),X),n,U),M)?(U=n[M],h||(U.S=false)):(U=new xW(e,this.src,g,!!X,U),U.S=h,n.push(U)),U},function(n,U,h,X,e){if(!(n=n.toString(),n in this.A))return false;return-1<(U=CG(X,h,(e=this.A[n],e),U),U)?(wW(e[U]),Array.prototype.splice.call(e,U,1),0==e.length&&(delete this.A[n],this.C--),true):false}),function(n,U,h,X,e,g){for(e=0;e<h.length;++e)if(g=h[e],!g.J&&g.listener==X&&g.capture==!!U&&g.O==n)return e;return-1}),t4="closure_lm_"+(1E6*Math.random()|0),Ec=function(n,U,h,X){if(n.J)return true;if(!V4){if(!U)a:{for(X=(U=["window","event"],0),h=l;X<U.length;X++)if(h=h[U[X]],null==h){U=null;break a}U=h}return U=new A(U,this),A4(n,U)}return A4(n,new A(U,this))},ob=function(n,U,h,X,e,g,M){if("number"!==typeof n&&n&&!n.J)if((U=n.src)&&U[B])U.$I(n);else if(h=n.type,X=n.X,U.removeEventListener?U.removeEventListener(h,X,n.capture):U.detachEvent?U.detachEvent(Bk(h),X):U.addListener&&U.removeListener&&U.removeListener(X),YW--,h=J4(U)){if((X=n.type,X)in h.A){e=h.A[X];b:if("string"===typeof e)g="string"!==typeof n||1!=n.length?-1:e.indexOf(n,0);else{for(g=0;g<e.length;g++)if(g in e&&e[g]===n)break b;g=-1}((M=0<=g)&&Array.prototype.splice.call(e,g,1),M)&&(wW(n),0==h.A[X].length&&(delete h.A[X],h.C--))}0==h.C&&(h.src=null,U[t4]=null)}else wW(n)},J4=function(n){return n=n[t4],n instanceof Y?n:null},Rb=function(n,U,h,X,e,g){if(X&&X.once)dW(h,e,X,n,U);else if(Array.isArray(U))for(g=0;g<U.length;g++)Rb(n,U[g],h,X,e);else n=Zv(n),h&&h[B]?h.Dr(U,n,D(X)?!!X.capture:!!X,e):zG(h,X,e,U,false,n)},zG=function(n,U,h,X,e,g,M,L){if(!X)throw Error("Invalid event type");if(M=D(U)?!!U.capture:!!U,!M||V4)if((L=J4(n))||(n[t4]=L=new Y(n)),h=L.add(X,g,e,M,h),!h.X){if((((e=Fs(),h).X=e,e).src=n,e).listener=h,n.addEventListener)Oc||(U=M),void 0===U&&(U=false),n.addEventListener(X.toString(),e,U);else if(n.attachEvent)n.attachEvent(Bk(X.toString()),e);else if(n.addListener&&n.removeListener)n.addListener(e);else throw Error("addEventListener and attachEvent are unavailable.");YW++}},ck={},Bk=function(n){return n in ck?ck[n]:ck[n]="on"+n},bV=function(n,U,h,X,e,g){if(Array.isArray(h))for(g=0;g<h.length;g++)bV(n,U,h[g],X,e);else(X=D(X)?!!X.capture:!!X,U=Zv(U),n&&n[B])?n.jL(h,U,X,e):n&&(n=J4(n))&&(h=n.A[h.toString()],n=-1,h&&(n=CG(e,X,h,U)),(U=-1<n?h[n]:null)&&ob(U))},YW=0,dW=function(n,U,h,X,e,g){if(Array.isArray(e))for(g=0;g<e.length;g++)dW(n,U,h,X,e[g]);else X=Zv(X),n&&n[B]?n.fU(e,X,D(h)?!!h.capture:!!h,U):zG(n,h,U,e,true,X)},A4=function(n,U,h,X){return X=(h=n.listener,n.O||n.src),n.S&&ob(n),h.call(X,U)},Fs=function(n,U){return U=(n=Ec,V4?function(h){return n.call(U.src,U.listener,h)}:function(h){if(h=n.call(U.src,U.listener,h),!h)return h})},Pk="__closure_events_fn_"+(1E9*Math.random()>>>0),TG=function(n,U,h,X,e){if(h=(n.B=false,U[0]),h==y4)n.U=25,n.L(U);else if(h==sc){h=U[X=U[1],3];try{e=n.L(U)}catch(g){J(g,n),e=n.o}(X&&X(e),h).push(e)}else if(h==NM)n.L(U);else if(h==rW)n.L(U);else if(h==qM){try{for(e=0;e<n.a.length;e++)try{X=n.a[e],X[0][X[1]](X[2])}catch(g){}}catch(g){}(0,(n.a=[],U)[1])()}else if(h==Sl)return e=U[2],X=U[6],d(139,n,U[4]?[X[0].G]:X),d(165,n,e),n.L(U)},Sl={},Zv=function(n){if("function"==f(n))return n;return n[n[Pk]||(n[Pk]=function(U){return n.handleEvent(U)}),Pk]},GG=function(n,U){((n.H.push(n.W.slice()),n).W[109]=void 0,d)(109,n,U)},Q4=function(n,U){return n[U]<<24|n[U+1]<<16|n[U+2]<<8|n[U+3]},R=function(n,U){n.R.splice(0,0,U)},b=function(n,U,h,X,e){if(0!=h.R.length){if(e=0==h.I)h.g=h.F();return U=$W(X,U,h),e&&(e=h.F()-h.g,e<(n?10:0)||0>=h.U--||h.A8.push(254>=e?e:254)),U}},P=function(n,U,h){if(0>=h.Z||1<h.I||!h.B&&U||0!=document.hidden||h.F()-h.g<h.Z-n)return false;return!((h.l=true,n=h.P(U?55:109),d(109,h,h.h),h).R.push([NM,n]),0)},r=function(n,U,h,X,e){if(3<(X=(0==(void 0!=(U=[(e=n.P(55)>>3,U),e>>8&255,e&255],X)&&U.push(X),n.P(50).length)&&(n.W[50]=void 0,d(50,n,U)),""),h&&(h.message&&(X+=h.message),h.stack&&(X+=":"+h.stack)),h=n.P(115),h)){n.M=(U=(X=(h-=(X=X.slice(0,h-3),X.length+3),h4)(X.replace(/\\\\r\\\\n/g,"\\\\n")),n).M,n);try{y(252,n,N(X.length,2).concat(X),12)}finally{n.M=U}}d(115,n,h)},y4={},$W=function(n,U,h,X,e){for(;h.R.length;){if(n=n&&U)h.Z&&h.l?(n=0!=document.hidden?false:true,h.l=false):n=false;if(n){h.Go((e=h,function(){b(false,U,e,false)}));break}X=(X=(n=true,h.R.pop()),TG(h,X))}return X},qM={},jl=function(n,U,h,X){for(X=(h=S(U),0);0<n;n--)X=X<<8|S(U);d(h,U,X)},T=["botguard"],G=function(n,U){try{KG(U,n,this)}catch(h){J(h,this)}},nw=((G.prototype.i="caller",G.prototype).f=(G.prototype.Pb=36,function(n){return(n=n().shift(),this).K().length||this.D().length||(this.D=this.K=void 0,this.I--),n}),(G.prototype.Mi=function(n,U,h,X,e,g){if(this.o)return this.o;try{X=!!n,g=[],e=[],R(this,[y4,e,U]),R(this,[sc,n,e,g]),b(false,X,this,true),h=g[0]}catch(M){J(M,this),h=this.o,n&&n(h)}return h},G.prototype).L=function(n,U,h,X,e,g,M,L,p,a){if(U=n[0],U==rW){h=n[1];try{for(X=(e=0,[]);e<h.length;){if((p=(M=(g=m[h.charAt(e++)],e)<h.length?m[h.charAt(e)]:0,++e,L=e<h.length?m[h.charAt(e)]:64,++e,e<h.length?m[h.charAt(e)]:64),++e,null==g||null==M)||null==L||null==p)throw Error();X.push(g<<2|M>>4),64!=L&&(X.push(M<<4&240|L>>2),64!=p&&X.push(L<<6&192|p))}this.h=(this.c=X,this.c.length<<3)}catch(H){r(this,17,H)}Lw(this)}else if(U==y4)g=n[1],g.push(this.P(7).length,this.P(252).length,this.P(10).length,this.P(115)),d(165,this,n[2]),this.W[196]&&pw(this,this.P(196));else{if(U==sc){this.M=(L=N((g=n[2],this.P(7).length+2),2),M=this.M,this);try{h=this.P(50),0<h.length&&y(7,this,N(h.length,2).concat(h),15),X=this.P(221)&511,X-=this.P(7).length+5,e=this.P(252),4<e.length&&(X-=e.length+3),0<X&&y(7,this,N(X,2).concat(Mg(X)),10),4<e.length&&y(7,this,N(e.length,2).concat(e),153)}finally{this.M=M}for(L=(p=(((M=Mg(2).concat(this.P(7)),M)[1]=M[0]^3,M)[3]=M[1]^L[0],M[4]=M[1]^L[1],0),[]);p<M.length;p+=3)U=M[p],a=(h=p+1<M.length)?M[p+1]:0,n=(X=p+2<M.length)?M[p+2]:0,e=U>>2,U=(U&3)<<4|a>>4,a=(a&15)<<2|n>>6,n&=63,X||(n=64,h||(a=64)),L.push(W[e],W[U],W[a],W[n]);if(L=L.join(""))L="!"+L;else for(L="",p=0;p<M.length;p++)h=M[p][this.T](16),1==h.length&&(h="0"+h),L+=h;return(this.P((M=L,7)).length=g[0],this.P(252).length=g[1],this.P(10)).length=g[2],d(115,this,g[3]),M}if(U==NM)pw(this,n[1]);else if(U==Sl)return pw(this,n[1])}},function(n,U,h,X,e,g){for(g=((h=(U={},S(n)),U).Y=S(n),U.m=[],X=n.M==n?S(n)-1:1,e=S(n),0);g<X;g++)U.m.push(S(n));for((U.w=n.P(h),U).V=n.P(e);X--;)U.m[X]=n.P(U.m[X]);return U}),rW={},hM=function(n,U,h,X,e,g){return function(){if(U.M==U){var M=h&1,L=[Sl,X,n,void 0,e,g,arguments];if(h&2)var p=b(true,false,(R(U,L),U),false);else M&&U.R.length?R(U,L):M?(R(U,L),b(true,false,U,false)):p=TG(U,L);return p}}},KG=function(n,U,h,X,e,g){for(h.I=(e=(h.A8=[],h.K=(h.D=void 0,void 0),(h.Z=0,h.l=!(X=[],h.B=(h.v=function(M,L,p,a,H,k){return((k=(H=(p=(a=function(){return a[p.uw+(H[p.i]===L)-!k[p.i]]},this),function(){return a()}),p).L,H)[p.T]=function(V){a[p.Pb]=V},H)[p.T](M),M=H},false),1),h).mT=function(M,L,p){return L=function(){return p()},p=function(){return M},L[this.T]=function(a){M=a},L},h.U=25,0),0);128>e;e++)X[e]=String.fromCharCode(e);(((g=((((((((((h.R=((((((((e=(((((d(((h.M=(h.W=[],h.a=[],h),h).To=function(M){this.M=M},109),h,0),d)(55,h,0),d)(10,h,[]),d(14,h,function(M,L,p,a){(a=(p=(L=S(M),S(M)),S)(M),d)(a,M,M.P(L)>>p)}),d(122,h,function(M,L,p){0!=(L=S(M),p=S(M),M.P(L))&&d(109,M,M.P(p))}),d(76,h,function(M){U2(4,M)}),d(241,h,function(M,L){(M=(L=S(M),M).P(L),bV)(M[0],M[2],M[1])}),d(237,h,function(M,L,p){P(5,true,M)||(L=S(M),p=S(M),d(p,M,function(a){return eval(a)}(M.P(L))))}),d)(148,h,257),d(85,h,function(M){jl(4,M)}),d(13,h,function(M){U2(1,M)}),d)(18,h,function(M){jl(2,M)}),U.s||function(){}),d)(252,h,Mg(4)),d(232,h,function(M,L,p,a,H,k,V){P(5,true,M)||(L=nw(M),H=L.w,a=L.V,p=L.m,V=p.length,0==V?k=a[H]():1==V?k=a[H](p[0]):2==V?k=a[H](p[0],p[1]):3==V?k=a[H](p[0],p[1],p[2]):r(M,22),d(L.Y,M,k))}),d(253,h,function(M,L){GG((L=M.P(S(M)),M),L)}),d)(181,h,function(M,L,p,a){if(L=M.H.pop()){for(p=S(M);0<p;p--)a=S(M),L[a]=M.W[a];M.W=(L[115]=M.W[L[50]=M.W[50],115],L)}else d(109,M,M.h)}),d)(225,h,function(M,L,p,a){a=(L=S(M),p=S(M),S)(M),d(a,M,M.P(L)||M.P(p))}),d)(165,h,{}),d(221,h,0),d)(167,h,function(){}),d)(49,h,[0,0,0]),d(105,h,function(M,L,p,a){a=(p=(L=S(M),S(M)),S(M)),d(a,M,(M.P(L)in M.P(p))+0)}),d)(50,h,[]),d(142,h,function(M,L,p,a,H,k,V,Z,z,O,Wk,q,mb){for(O=z=(Z=(V=(k=(a=p=(L=S(M),0),H=function(u,E){for(;a<u;)p|=S(M)<<a,a+=8;return p>>=(E=p&(1<<(a-=u,u))-1,u),E},H)(3)+1,H(5)),[]),0);O<V;O++)Wk=H(1),Z.push(Wk),z+=Wk?0:1;for(z=(z-1).toString((O=0,2)).length,q=[];O<V;O++)Z[O]||(q[O]=H(z));for(O=0;O<V;O++)Z[O]&&(q[O]=S(M));for(O=(mb=[],k);O--;)mb.push(M.P(S(M)));d(L,M,function(u,E,Ib,F,c){for(Ib=(E=(F=(u.I++,0),[]),[]);F<V;F++){if(c=q[F],!Z[F]){for(;c>=E.length;)E.push(S(u));c=E[c]}Ib.push(c)}u.D=(u.K=u.v(mb.slice(),u.f),u.v(Ib,u.f))})}),[]),d(209,h,function(M){jl(1,M)}),d)(158,h,function(M,L){P(5,true,M)||(L=nw(M),d(L.Y,M,L.w.apply(L.V,L.m)))}),d(72,h,function(M,L,p,a,H,k,V){P(5,true,M)||(L=nw(M),p=L.m,a=L.V,H=L.w,V=p.length,0==V?k=new a[H]:1==V?k=new a[H](p[0]):2==V?k=new a[H](p[0],p[1]):3==V?k=new a[H](p[0],p[1],p[2]):4==V?k=new a[H](p[0],p[1],p[2],p[3]):r(M,22),d(L.Y,M,k))}),d(11,h,function(M,L,p){(p=(L=S(M),S(M)),d)(p,M,M.P(p)+M.P(L))}),d)(7,h,[165,0,0]),d(74,h,function(M,L,p,a,H,k){if(!P(255,true,M)){if(M=(a=(L=(H=(a=(L=S(M),p=S(M),S(M)),S(M)),M.P(L)),p=M.P(p),M.P(a)),M).P(H),"object"==f(L)){for(k in H=[],L)H.push(k);L=H}for(a=(k=L.length,H=0,0<a?a:1);H<k;H+=a)p(L.slice(H,H+a),M)}}),d(218,h,function(M,L,p){L=(p=(L=S(M),S)(M),M.P(L)),d(p,M,f(L))}),d)(41,h,function(M,L,p,a,H,k,V){if((p=Xp((L=S(M),M)),a="",M).W[99])for(H=M.P(99),k=0,V=H.length;p--;)k=(k+Xp(M))%V,a+=X[H[k]];else for(;p--;)a+=X[S(M)];d(L,M,a)}),d(166,h,function(M,L,p,a){L=(a=(p=(L=S(M),S(M)),S(M)),M).P(L)==M.P(p),d(a,M,+L)}),d(227,h,l),d(103,h,function(M,L,p,a){(a=(p=(L=S(M),S(M)),S(M)),M).M==M&&(M.P(L)[M.P(p)]=M.P(a),53==L&&(M.j=void 0,2==M.P(p)&&(M.$=void 0,d(109,M,M.P(109)+32))))}),d(157,h,function(M){M.Wb(4)}),h).H=[],d(53,h,[0,0,0]),d(182,h,h),d)(54,h,function(M,L,p){(p=(L=S(M),S)(M),d)(p,M,""+M.P(L))}),d)(51,h,function(M,L,p){L=(p=(L=S(M),S)(M),M).W[L]&&M.P(L),d(p,M,L)}),d(140,h,function(M,L,p,a){p=(p=(L=S(M),S(M)),a=S(M),M).P(p),L=M.P(L),d(a,M,L[p])}),d)(115,h,2048),h.Iz=function(M,L){(L.push(M[0]<<24|M[1]<<16|M[2]<<8|M[3]),L).push(M[4]<<24|M[5]<<16|M[6]<<8|M[7]),L.push(M[8]<<24|M[9]<<16|M[10]<<8|M[11])},d(112,h,function(M,L,p,a,H){H=(p=(L=S(M),S(M)),a=M.P(S(M)),M.P(S(M))),p=M.P(p),d(L,M,hM(a,M,H,p))}),Uc)(),d)(80,h,function(M,L,p,a,H){a=(H=(L=(a=(p=(L=S(M),S)(M),S(M)),M.P(L)),M.P(S(M))),p=M.P(p),M.P(a)),0!==L&&(a=hM(H,M,1,a,L,p),Rb(a,p,L),d(43,M,[L,p,a]))}),window.performance)||{},h).Rz=g.timeOrigin||(g.timing||{}).navigationStart||0,d(43,h,0),d)(70,h,function(M,L,p,a,H){for(H=(p=(L=S(M),Xp)(M),a=[],0);H<p;H++)a.push(S(M));d(L,M,a)}),n&&"!"==n.charAt(0))?(h.o=n,e()):(h.c=[],U=!!U.s,h.h=0,R(h,[rW,n]),R(h,[qM,e]),b(false,U,h,true))},Xp=function(n,U){return U=S(n),U&128&&(U=U&127|S(n)<<7),U},e9=function(n,U,h,X){try{for(X=0;79669387488!=X;)h+=(U<<4^U>>>5)+U^X+n[X&3],X+=2489668359,U+=(h<<4^h>>>5)+h^X+n[X>>>11&3];return[h>>>24,h>>16&255,h>>8&255,h&255,U>>>24,U>>16&255,U>>8&255,U&255]}catch(e){throw e;}},Q=(G.prototype.LU=function(n,U,h){return n^((U=(U^=U<<13,U^=U>>17,(U^U<<5)&h))||(U=1),U)},G.prototype.F=(window.performance||{}).now?function(){return Math.floor(this.Rz+window.performance.now())}:function(){return+new Date},G.prototype.b={},l),N=(G.prototype.uw=35,G.prototype.Wb=function(n,U,h,X){(h=(X=(h=S((n&=(U=n&4,3),this)),S(this)),this.P(h)),U&&(h=h4((""+h).replace(/\\\\r\\\\n/g,"\\\\n"))),n)&&y(X,this,N(h.length,2)),y(X,this,h)},(G.prototype.P=(G.prototype.kI=function(n,U,h){if(3==n.length){for(h=0;3>h;h++)U[h]+=n[h];for(n=[13,(h=0,8),13,12,16,5,3,10,15];9>h;h++)U[3](U,h%3,n[h])}},G.prototype.d$=false,function(n,U){if(void 0===(U=this.W[n],U))throw r(this,30,0,n),this.b;return U()}),G.prototype.t8=function(n,U,h,X,e){for(e=X=0;e<n.length;e++)X+=n.charCodeAt(e),X+=X<<10,X^=X>>6;return n=(X+=X<<3,X^=X>>11,X+(X<<15)>>>0),X=new Number(n&(1<<U)-1),X[0]=(n>>>U)%h,X},G.prototype).oz=function(n,U,h,X){for(;h--;)109!=h&&55!=h&&U.W[h]&&(U.W[h]=U[X](U[n](h),this));U[n]=this},function(n,U,h,X){for(X=(h=[],U-1);0<=X;X--)h[U-1-X]=n>>8*X&255;return h}),NM=(G.prototype.Go=l.requestIdleCallback?function(n){requestIdleCallback(n,{timeout:4})}:l.setImmediate?function(n){setImmediate(n)}:function(n){setTimeout(n,0)},{}),S=function(n,U,h,X){if(n.K)return n.f(n.D);if(U=n.P(109),h=U>>3,U>=n.h)throw r(n,31),n.b;return(((void 0==n.$&&(n.$=Q4(n.c,h-4),n.j=void 0),n.j!=h>>3)&&(n.j=h>>3,X=n.P(53),n.yk=e9([0,0,X[1],X[2]],n.j,n.$)),d)(109,n,U+8),n.c[h])^n.yk[h%8]},d=((G.prototype.zo=function(n,U,h,X){try{X=n[(U+2)%3],n[U]=n[U]-n[(U+1)%3]-X^(1==U?X<<h:X>>>h)}catch(e){throw e;}},G.prototype).T="toString",function(n,U,h){if(109==n||55==n)if(U.W[n])U.W[n][U.T](h);else U.W[n]=U.mT(h);else if(7!=n&&252!=n&&10!=n&&50!=n&&49!=n||!U.W[n])U.W[n]=U.v(h,U.P);53==n&&(U.$=void 0,d(109,U,U.P(109)+32))}),y=function(n,U,h,X,e,g){if(U.M==U)for(e=U.P(n),252==n?(n=function(M,L,p,a){if(p=(L=e.length,L)-4>>3,e.h8!=p){a=[0,0,g[1],(p=((e.h8=p,p)<<3)-4,g[2])];try{e.KU=e9(a,Q4(e,p+4),Q4(e,p))}catch(H){throw H;}}e.push(e.KU[L&7]^M)},g=U.P(49)):n=function(M){e.push(M)},X&&n(X&255),U=h.length,X=0;X<U;X++)n(h[X])},J=(G.prototype.cb=function(n,U,h,X,e,g){for(g=(h=[],X=0);g<n.length;g++)for(e=e<<U|n[g],X+=U;7<X;)X-=8,h.push(e>>X&255);return h},function(n,U){U.o=("E:"+n.message+":"+n.stack).slice(0,2048)}),Mg=function(n,U){for(U=[];n--;)U.push(255*Math.random()|0);return U},pw=function(n,U,h){return Lw(((h=n.P(109),n.c&&h<n.h)?(d(109,n,n.h),GG(n,U)):d(109,n,U),n),h)},U2=function(n,U,h,X){X=(h=S(U),S(U)),y(X,U,N(U.P(h),n))},Lw=function(n,U,h,X,e,g,M){n.I++;try{for(e=(h=(X=5001,g=0,n.h),void 0);(n.d$||--X)&&(n.K||(g=n.P(109))<h);)try{n.K?e=n.f(n.K):(d(55,n,g),M=S(n),e=n.P(M)),e&&e.call?e(n):r(n,21,0,M),n.B=true,P(2,false,n)}catch(L){L!=n.b&&(n.P(148)?r(n,22,L):d(148,n,L))}X||r(n,33)}catch(L){try{r(n,22,L)}catch(p){J(p,n)}}return(h=n.P(165),U)&&d(109,n,U),n.I--,h},sc={};T[0]in Q||"undefined"==typeof Q.execScript||Q.execScript("var "+T[0]);for(var K;T.length&&(K=T.shift());)Q=Q[K]&&Q[K]!==Object.prototype[K]?Q[K]:Q[K]={};v=l.botguard,v.CLT=function(n,U,h){this.invoke=(h=new G({s:U},n),function(X,e,g){return(g=h.Mi(e&&X,g),X&&!e)&&X(g),g})},v.bg=function(n,U,h){return n&&n.substring&&(h=v[n.substring(0,3)])?new h(n.substring(3),U):new v.CLT(n,U)};try{v.u||(Rb(function(){},"unload",l),v.u=1)}catch(n){};\')();</script>\n  <script type="text/javascript" nonce="q1tvyPlpm50XYI7uuVU9ww">\n  document.bg = new botguard.bg(\'CLTQpz8uK6dD6uHAszSV1qt8lWNJ/9KoMWAAdtev0inAiwefozRQW0NMZZAnOHPCDiYsD9lNQKpZFPkN6D3a+doa9Qr5vCHek0HuG477Mwd8oGhgj3PYmLXewustISJ//uGb6NEZRvHkkk4KEJrO7O1EAvbWyAX9IH6gQ6peb2ZmMPRPmGizx6KUCcTHDbkEeJiIVBU88dfkCtfD6+45l3JKcxCLQxJjc+RTXGJXdHGzJo1lmW/e4JM2Rsc3iDyztTj2hTuTT6Jwk4IH+cqzRcBINQBED7Z6PhTMhh5Bw3fKjunwQFmTFvdvmGP5fvptlUjeha4xXJcgUm1Drd9celVDGUHqe8/wgxZZaC1lrabhX8TcBN1Ah+jlfglWB4bqZP2oy9wMwHGH/jFJ2Gcg1Kv4G7nsTsAE+8lWAGeyJnIgZRpgVNvUJF7dcyJKbnVfDfaKzthbl8lQpWj6mpqsDJa6ydL1syM5seiBgZvSnLwzJqKfnhoocVancNm+V8eNQ7rv1gZlIb7L2bn7HO2uWlk4IiPVOCC0lEJ6Aox0GLwKDs+taEN4UT/whOTRkI1V95vXtHEFESvTXIazTFUf5A3+3UdkzOyTg4EtNgEHVi1aYO4ZLHHZwXWpxXVh25el62R13DdnYzg+p9MKSlLEOFmJIz/t9P+npdB6l7N01DuD/4MhXN6OL4yCj2ZAc7ILDaVJSb76XnnsujMe3br4nvBwT2D0uSA8YcgIGdbCIPJKkENWg84QvIzKAvwsvHUtr17K2vkB5n91UIhM+YUdbe+pCjajdek2dKuhln4++RI9UCAimwRoDC7AAVUsU/jFpxYVcePSgdmzxepOZuNOUXucX6b1+rxpGEFZdugarcuR+LWTVQ79tqvP7S4cCf1w1pm+RmUpDSMjMus+U99yKAdqNDD6BKjjTWlZQkaKJ52qwTH3+S1MoeonzNwRuNKT/TsFx7TJJOIhhqnhoYyX92xhgx+tXXm9/Xx8/i1rVNhGcpM5vkQBhdgEOWMZY934v4EcrfkWvCrsv6e+WOoFyhUziBt3cQRmjd3+FlLr/DSXSd2HUeUo/Lzb+IPPvB/Sk5Xh+cpZf5+pERZqmXK/VHL6dT9EKLNIIHtp4oCy85FOhjAGkuaF/YmKy1fsWdLlLeTkVyV5O1NVzraGHxbCLP62/jmo8B/K+bD6+c3mbOTH5nm6/LYP1lM+QTEwhVZ7CyIJmtN/JTqUsx7HZ0O10dmQtasEOc00cqId99x/yMat8C+/0Za50/9CufWqmXjcwguAQzIPSHqORoscQoYmCEqeyz0MOXQAJnjxYt5WtgtzM/nuFVAjHCdScb8VdWS/hwkeye5K5txWydwj8NQrxvqGSto9W7LHC8+Jfq6T/Z3Z2VhzrN9kuER+LUWkR6VTKFJWELmWdUH77H7TECMa2ruo2AApeq3UuAjBYzoVhTCVjVa0GVhwf3mVqvBqGFeOLwak+m3PjkVrZRA1Q7LpCnya/Yba3oaqwC/i2Gt36mabdQeIoB2AY01BQs7/QcenWvZCBFDah8Gmu/ULBKnvbe38DE9CTKtnN0Fz/mfxLHZDboNO9P0VnqLjBuzAGOUKu6Z7n76B0kgKLhgyrP4RyxQ2vTIpkzQs7QOBhf+6dSzM0FEfxbsThAyH2OIBxxb3FWxkfZIZ+TaNBL5zv561GrI9NyzVlF10KTfSCXxRyyciGEu7wqdk5vRF7yzFxD4W675J026wn6tswOdWExZydJk2xa/rwQstizC1iYMs9PTYntiyk5XhwwS7qaf+hfLU9YrM0Tm2mDvPkD7jlmoL0uiBuyn2nn/WC5lTVEOErg66YcKtnq1+M3Vi8O1SDn5Vvk3xN7Xj9bBahxVvPWLrSg9cLZ90vYXZDN7aSGQUHoEOtoQQL5XSI7THUVsXVWDs7EyqJ+r/CniGMGTyaj6+Wx85iDBDrXmrTY4tL2IYfij04Nq26QlVT4h8NO6ssytYPwbP6xxLF3w2WaEjsSdtape84OLkVLZonc38wCpEA42SxkZcdLp1gPkzL4k8D9bTD7MZHzjHUAlKxTXwwlavdggGSEMK2x6drEhSqmZ1O6jHVFQRnW4cJf4Y8e72xdhX/ytVOw3o6U+dk3Od/aIWpnB5OQV7AQFEGw5z4Z+Jn0d3V744NXu+Nq9zvJQ2rwi2bq/zL52iufnH+Vr182JCMgDDD9OOx7MFUYu+v6aMLt/Por53tpADuukM8yBNPYC1cAxMC447JcZAkG9OigC3FalnaABk7IY4LKWC7BJcabEo9NdRD/B3duauk21MmJP9wRwudAU1IdAQoIJzB+0s3B6oD6GfM2VG7PVG/5J7RKXjO/K83TYdQC/f8tF5ozDgoq2UKwDoHdkJ+vp4AiI4HuhEcXWriYdKnSy615l/lfAE8pyUCdZhhxe9RV1ZrULD87clqNZ4pRATva/yZBhT8O+yz1I0bJd+aPYG1gxSqwi04ipoKLS4Wz2f3E5ZzTfWm3i4BJn6Hvvxgm3qfZYqdV7J2xrsAtwNhnxZzXtPcBKzIn0TT/cPJvIHYZQQ7Vf4GTLfDJwi+fe4PF+nxVMq/bwCjHw2Ko3e0p9JdrX9nfXjP1Df8jfqSyO8Xdpxa1m1ID9Vu9uN+auR2GWQQbwlgpzxCkGNV9Vazs/hqlqLoxWANHBjzaBoJphmOJROLOOZTjaBH/cWbcYzHmDdrJW04RMEqMWQQy8MLEdNTeW98EjOrM7ddQ2ww4rnmrK0WpNtwoyyIK3+Shoa81NOhWCK9S7hWKPDITdh9W+Qr4PNpjpaO9YbsBUTlVg3tfFvnDOKBdMvbfyCPC6HaymNfMwLp1EWmFSVMk2cLzQ8isJJjG97ZDHWMcDVvnpyZXOUN1vSpFhoy/71emHvIokYLEqa9OokCH0NpZxqXhKmb0N4EUDU7UVk+fakSO/ckLbZD24OW0OXtOCFpR5DkY6wNcbJdya3g5X7j8u3KkUBehmM5rExWAo4UTZCh4TO/xHHgfGNz5vR4+4P1qjjPYUuZJALryKFPRaCtflfapHzR+EespShQfs//hlETGzW+f0/ZFFh90p31+RRL8vPdtsuC+PTZZUiTsNBCY2zBJbyD150oFXsEhYF1AxnB6yl4hjsLZLbYnandhwHcXW7OeseFYPjaaXC3KSE9mhCBqQv9EN9Uq/wFy4OoDRC07frswDXnYpl/aZYwuf+cYCAYiaaMdOZXFxqoaqGkmvGengNQaQknLTBkyaECp7/HfKswpKWUuv8EKUODnRo6CMYEKua1PrZ5k4qjmZhZjFnHv6Bn3zqlM0zynHzc5eegR6qT6ClH4VQ5v2lZkkLsdhu5eIcEJXlN/AwtOuwh1mHlrt+doLdiW36nQhVR4svlaxr6oflfw6culSvGDJoIqSzEPulJ7pJMO1uf/L0LSOoFAGSJpWf7hL34YZi/2wS2B3wOM07Y91gUAULAig9/+zJyDDeQ06SGyBMij9D32UsBcOPTW6bNfLX/FKNQwZl6GX9jvrTt+Ow4Yp9zWaVRK26j5qZs2E2Tl8vOmRNQv5e54rY8KByjIFgRbdVvIUIvHjLEBR171EvkOlrtsKd5yjNXI96rrtCVTPz1y+mc+VyXLXpiiYehPauDJUMLJ0qy79IfLwNtu7zXtUVUKlOVuVC2N+L8qPmF1HEW66JHblLQPvG+N1jXnN+Oq0R+HGWSq0SeCmtnTqG+hyIRetjmaCqfa4yzCFaT84GZU0PAHKKxkXo9tWpMTWEB+mb53KstLKzdAJZGfd3I9jSorLp5dWdiiUy23l6dbUs1t8T16x8VGjYIBQmgpZaQauequCadwZrNu8vFfyvw8fYBvrhG2yOo1V3OkLMctbvBvr+DxoTFbq5hQlQoFfC+WFBtiaUg+wCiR2s0tIfLQC0yQlEbc2vp9627mi0acxTC22O3gpXvj0LFxL3W/Qdq8wxYw6WFvJO/e1kyytZLGc02sRh3Zcoc5tmwj21rjQaZ3NNuJsq1ndjg0yrRvL8ddSExscipCtCT0gGAPGtsdEtyqN/iJnAnUjvEfe9t1O5r2HUo7SFHXcbBGJxFX4Klqr7YHi2aqzsffR6TUFjPVRF1EEJQJdlb7ZhsyZWHIC+LvfczBeTVroCEKErFc84JCrQJlctO5/uKHsIEOVVCdKyDLVkLqvKOqmZ5qUNCRuKxOZy0dovQSqrU3XlP30LNL81UCQ8Re8arwctG+z4pU2PVYcWjDJPY6XWgujzfOVhDb2abrEW2A1fTFaLGImZ1s3AEg1C3auCcVcF6uVWViTGMzz5iVr40tJShsk/LSecZZlGQ15vf98hvloMKTYimOYdvVwZOalQ8zbyGe6QUcjPJjP/NQM/cN52MpAgY+3l+kux6vb7LK2LH/qoXShrHr9xHgTRKaANBAcDn0Hj2cs6dcOCOAezqlWPcATzJS9jUXJ3il9s1y9pskKYgNA12Ys2myWUzbYBhT1+rZPwHCbnfwTZn2HKhC5mBMdz1mZ6Mq5ly5POtiFJdcRjf8PrWSDD+t7gQ4t8PocWJqSxqSt9cGhdqzntmKHHJZD+wpnLGo2NO3cprWBkgScDdqo2AjfDH7xBxktTk+7yG/gK7dbf+gKSfivbfswj1zvjXUNizJgjk4qxo0azAgjOH32NWsl97c5OLgaBAw0krZL1ulp8gE5GqVL/ro+mre2pNeSZdhuQM9F5NL+r9gvv0qdonlXyNtOFkqkREpsErSKijytwY9nmorumW+lnyzKdZpNcyd0wuGWexjIceEhHoC5O7BFjaDAx3bShmEhtsbL7OSI0N1DaSmcC/g7Dd5DlVPcJmh5JmvNHAucmY+4q61FX9LhyTFi1rNLhZCU+hUC1BCwbnrCCwt5BWScDtQtqD4+Xri1YjM5OOHEz3gat7fyRbtxhp0MKmU/+GDyyVHn5pd7hzm5ayQrNpOft0cmTWxmIp7Gx+NWfm4=\');\n  </script>\n<script nonce="q1tvyPlpm50XYI7uuVU9ww">\n  gaia = window.gaia || {};\n  gaia.ps = gaia.ps || {};\n  gaia.ps.hasPrefilledIdentifier = false;\n  function gaia_parseFragment() {\n  var hash = location.hash;\n  var params = {};\n  if (!hash) {\n  return params;\n  }\n  var paramStrs = decodeURIComponent(hash.substring(1)).split(\'&\');\n  for (var i = 0; i < paramStrs.length; i++) {\n      var param = paramStrs[i].split(\'=\');\n      params[param[0]] = param[1];\n    }\n    return params;\n  }\n\n  function gaia_prefillEmail() {\n    var email = null;\n    var form = null;\n    if (document.getElementById) {\n      email = document.getElementById(\'Email\');\n      form = document.getElementById(\'gaia_loginform\');\n    }\n    if (form && email && (email.value == null || email.value == \'\')\n        && (email.type != \'hidden\')) {\n      hashParams = gaia_parseFragment();\n      if (hashParams[\'Email\'] && hashParams[\'Email\'] != \'\') {\n        email.value = hashParams[\'Email\'];\n      }\n    }\n  }\n\n  \n  try {\n    gaia_prefillEmail();\n  } catch (e) {\n  }\n  \n</script>\n<script nonce="q1tvyPlpm50XYI7uuVU9ww">\n  var gaia_scrollToElement = function(element) {\n  var calculateOffsetHeight = function(element) {\n  var curtop = 0;\n  if (element.offsetParent) {\n  while (element) {\n  curtop += element.offsetTop;\n  element = element.offsetParent;\n  }\n  }\n  return curtop;\n  }\n  var siginOffsetHeight = calculateOffsetHeight(element);\n  var scrollHeight = siginOffsetHeight - window.innerHeight +\n  element.clientHeight + 0.02 * window.innerHeight;\n  window.scroll(0, scrollHeight);\n  }\n</script>\n  <script nonce="q1tvyPlpm50XYI7uuVU9ww">\n  if (gaia.ps.hasPrefilledIdentifier) {\n  var form = document.getElementById(\'gaia_loginform\');\n  if (form) {\n  form.submit();\n  }\n  }\n  </script>\n<script nonce="q1tvyPlpm50XYI7uuVU9ww">\n  (function(){\n  gaia_onLoginSubmit = function() {\n  try {\n  gaia.loginAutoRedirect.stop();\n  } catch (err) {\n  // do not prevent form from being submitted\n  }\n  try {\n  document.bg.invoke(function(response) {\n  document.getElementById(\'bgresponse\').value = response;\n  });\n  } catch (err) {\n  document.getElementById(\'bgresponse\').value = \'\';\n  }\n  return true;\n  }\n  document.getElementById(\'gaia_loginform\').onsubmit = gaia_onLoginSubmit;\n  var signinButton;\n  signinButton = document.getElementById(\'next\');\n  gaia_attachEvent(window, \'load\', function(){\n  gaia_scrollToElement(signinButton);\n  });\n  })();\n</script>\n  </body>\n</html>\n'
Invalid username or password
`

@ramnes
Copy link

ramnes commented Apr 15, 2020

Yes, it's a debug from my WIP branch. You should not try to run it. As I said, it's not functional yet.

@matiyashpr
Copy link

I've tried to apply changes that @ramnes made, but unfortunately, it doesn't help me. Now the captcha is showing me but some another error is blocking me

As I said, my changes are not functional. Did you try to update urllib3?

Yep, it is 1.25.8 now

@elbro
Copy link

elbro commented Apr 15, 2020

Same issue, upgrading urllib3 didnt fix anything

@limewxr
Copy link

limewxr commented Apr 17, 2020

Related discussions and alternative approaches that are worth taking a look:
aws/aws-cli#4784
#160
https://github.com/ruimarinho/gsts

@lure
Copy link

lure commented Apr 22, 2020

Removal/adding of google_config lines from ~/.aws doesn't help in my case.

DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "POST /signin/v1/lookup HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "POST /signin/v1/lookup HTTP/1.1" 200 None
Invalid username or password

last free lines.

@saada
Copy link

saada commented Apr 22, 2020

I don't even have the google_config configuration shown in ~/.aws/config.
And still I get Invalid username or password

@rafaelferreira90
Copy link

rafaelferreira90 commented Apr 22, 2020

@saada In this case you can try to config it manually into your ~/.aws/config and try login again

[profile default]
region = ap-southeast-2
google_config.ask_role = False
google_config.keyring = False
google_config.duration = 3600
google_config.google_idp_id = ******
google_config.role_arn = arn:aws:iam::************:role/yourRoleHere
google_config.google_sp_id = ********
google_config.u2f_disabled = False
google_config.google_username = youemail@email.com

If you can login successfully, the param google_config.bg_response will appear into this block above on your config file. So every time you'll have to remove it to be able to login again.

It's working for me this way...

@lure
Copy link

lure commented Apr 22, 2020

@saada In this case you can try to config it manually into your ~/.aws/config

It doesn't help.

@reedox
Copy link

reedox commented Apr 22, 2020

My team and I have moved over to https://github.com/ruimarinho/gsts since this achieves the same goal.

@saada
Copy link

saada commented Apr 22, 2020

I moved to gsts as well and it works well. Thanks

@elbro
Copy link

elbro commented Apr 23, 2020

@saada In this case you can try to config it manually into your ~/.aws/config and try login again

[profile default]
region = ap-southeast-2
google_config.ask_role = False
google_config.keyring = False
google_config.duration = 3600
google_config.google_idp_id = ******
google_config.role_arn = arn:aws:iam::************:role/yourRoleHere
google_config.google_sp_id = ********
google_config.u2f_disabled = False
google_config.google_username = youemail@email.com

If you can login successfully, the param google_config.bg_response will appear into this block above on your config file. So every time you'll have to remove it to be able to login again.

It's working for me this way...

Manually adding a profile which these options fixed the issue for me.

@brunodasilvalenga
Copy link
Contributor

I saw that the user @ramnes (Thanks mate) created a pull request resolving the conflict in captcha request but still continue to receive authentication errors, after a few hours of debugging I discovered that you cannot send the password together with the captcha, first you need to pass the captcha and after that it redirect you (301) to the password authentication page. I changed the code to include this new request and everything worked again.

I've created a pull request for that.

Please feel free to ask any question :)

@tlvince
Copy link

tlvince commented Apr 28, 2020

@brunodasilvalenga's fix worked for me. Here's how you can use it:

git clone https://github.com/brunodasilvalenga/aws-google-auth.git
cd aws-google-auth
git checkout fix-google-captcha
pip install -e . --user

@dgccdna
Copy link

dgccdna commented Apr 28, 2020

fwiw @brunodasilvalenga's branch did not work for me, still get the javascript error page

@brunodasilvalenga
Copy link
Contributor

Which one @dgccdna ??

@sinkr
Copy link
Author

sinkr commented Apr 30, 2020

@brunodasilvalenga https://github.com/brunodasilvalenga/aws-google-auth/tree/fix-google-captcha

Just cloned this branch and did a python pip install on it and it worked! This is a welcome development after being left out to dry for several weeks!

@brunodasilvalenga
Copy link
Contributor

@dgccdna
Copy link

dgccdna commented May 2, 2020

@brunodasilvalenga sorry, also didn't realize I switched accounts between issues, this one: #184 (comment)

@brunodasilvalenga
Copy link
Contributor

Hey @dgccdna . I don't reckon that problem that you're having is the same that I solved :((
Maybe this step is not cover by the package yet. It's happen because google does changes every time and I was wondering some of could be just a test A/B because is not everyone is getting the same issue with you. Try to debug the code and doing the same steps manually using a Rest API Client like Insomnia or postman.

@dgccdna
Copy link

dgccdna commented May 2, 2020 via email

This was referenced May 7, 2020
@mandeep-bal
Copy link

mandeep-bal commented May 7, 2020

Hey @brunodasilvalenga The pull request work for me initially. However after some time i am getting an error while running any command -
An error occurred (ExpiredToken) when calling the ListBuckets operation: The provided token has expired.

Starting aws-google-auth again reset the expiration for another one hour but the commands are still not working and showing the above error.

Looking into .aws i can see config.lock, credentials.lock and saml_cache.lock files along with normal files.

Should i try removing .aws folder?? i have tried using --no-cache option.

@jkvgo
Copy link

jkvgo commented May 11, 2020

@brunodasilvalenga's fix worked for me. Here's how you can use it:

git clone https://github.com/brunodasilvalenga/aws-google-auth.git
cd aws-google-auth
git checkout fix-google-captcha
pip install -e . --user

Confirmed this one worked for me. Thanks!

@jkvgo
Copy link

jkvgo commented May 12, 2020

Hey @mandeep-bal I also encountered this after my initial token expired. I just went to .aws/config and removed google_config.bg_response = None and it worked.
Still monitoring if it will happen once the token expires again. Hope that helps!

@riccardofreixo
Copy link

riccardofreixo commented Jun 8, 2020

@brunodasilvalenga's PR fixed the problem for us: #179 (comment)

@sinkr
Copy link
Author

sinkr commented Jun 9, 2020

When will @brunodasilvalenga‘s PR get merged?

@stevemac007
Copy link
Contributor

Merged and released as part of 0.0.36 - hopefully this squashes most of the current pain points.

@brunodasilvalenga
Copy link
Contributor

Awesome! Thanks @stevemac007

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests