text: let debounceTimeout
  
  PetiteVue.createApp({
      timezone: guessTimezone(),
      username: '',
      email: '',
      avatarUrl: defaultAvatarUrl,
      updateAvatar() {
          if (!avatarUrlTemplate) return
          if (debounceTimeout) {
              clearTimeout(debounceTimeout)
          }
          debounceTimeout = setTimeout(() => {
              let url = avatarUrlTemplate
  
              if ((url.includes('{username') && !this.username) || (url.includes('{email') && !this.email)) {
                  url = defaultAvatarUrl
              } else {
                  url = url.replaceAll('{username}', this.username)
                  url = url.replaceAll('{email}', this.email)
                  url = url.replaceAll('{username_hash}', MD5(this.username))
                  url = url.replaceAll('{email_hash}', MD5(this.email))
                  url = url.includes('{') ? defaultAvatarUrl : url
              }
              console.log(url)
              this.avatarUrl = url
          }, 500)
      }
  }).mount('#signup-page')