<div class="signup-form-element" quay-show="Features.USER_CREATION">
  <form class="form-signup" name="signupForm" ng-submit="register()" ng-show="!awaitingConfirmation && !registering">
    <input type="text" class="form-control" placeholder="Create a username" name="username" ng-model="newUser.username" autofocus required ng-pattern="/^[a-z0-9_]{4,30}$/">
    <input type="email" class="form-control" placeholder="Email address" ng-model="newUser.email" required>
    <input type="password" class="form-control" placeholder="Create a password" ng-model="newUser.password" required
           ng-pattern="/^.{8,}$/">
    <input type="password" class="form-control" placeholder="Verify your password" ng-model="newUser.repeatPassword"
           match="newUser.password" required
           ng-pattern="/^.{8,}$/">
    <div class="form-group signin-buttons">
      <button id="signupButton"
              class="btn btn-primary btn-block landing-signup-button" ng-disabled="signupForm.$invalid" type="submit"
              analytics-on analytics-event="register">
        <span quay-show="Features.BILLING">Sign Up for Free!</span>
        <span quay-show="!Features.BILLING">Sign Up</span>
      </button>
      <span class="social-alternate" quay-require="['GITHUB_LOGIN']">
        <i class="fa fa-circle"></i>
        <span class="inner-text">OR</span>
      </span>
      <div class="external-login-button" provider="github"></div>
      <div class="external-login-button" provider="google"></div>
    </div>
  </form>
  <div ng-show="registering" style="text-align: center">
    <div class="quay-spinner 2x"></div>
  </div>
  <div ng-show="awaitingConfirmation">
    <div class="sub-message">
      Thank you for registering! We have sent you an activation email.
      You must <b>verify your email address</b> before you can continue.</div>
  </div>
</div>