_loadFromDeepLink() {
    const params = new URLSearchParams(location.search);

    const gistId = params.get('gist');
    const psiurl = params.get('psiurl');
    const jsonurl = params.get('jsonurl');
    const gzip = params.get('gzip') === '1';

    const hash = window.__hash ?? location.hash;
    if (hash) {
      try {
        const hashParams = JSON.parse(TextEncoding.fromBase64(hash.substr(1), {gzip}));
        if (hashParams.lhr) {
          this._replaceReportHtml(hashParams.lhr);
          return Promise.resolve();
        } else {
          // eslint-disable-next-line no-console
          console.warn('URL hash is populated, but no LHR was found', hashParams);
        }
      } catch {
        // eslint-disable-next-line no-console
        console.warn('URL hash is populated, but not decoded successfully');
      }
    }

    if (!gistId && !psiurl && !jsonurl) return Promise.resolve();

    this._toggleLoadingBlur(true);
    let loadPromise = Promise.resolve();
    if (psiurl) {
      loadPromise = this._fetchFromPSI({
        url: psiurl,
        category: params.has('category') ? params.getAll('category') : undefined,
        strategy: params.get('strategy') || undefined,
        locale: params.get('locale') || undefined,
        utm_source: params.get('utm_source') || undefined,
      });
    } else if (gistId) {
      loadPromise = this._github.getGistFileContentAsJson(gistId).then(reportJson => {
        this._reportIsFromGist = true;
        this._replaceReportHtml(reportJson);
      }).catch(err => logger.error(err.message));
    } else if (jsonurl) {
      const firebaseAuth = this._github.getFirebaseAuth();
      loadPromise = firebaseAuth.getAccessTokenIfLoggedIn()
        .then(token => {
          return token
            ? Promise.reject(new Error('Can only use jsonurl when not logged in'))
            : null;
        })
        .then(() => fetch(jsonurl))
        .then(resp => resp.json())
        .then(json => {
          this._reportIsFromJSON = true;
          this._replaceReportHtml(json);
        })
        .catch(err => logger.error(err.message));
    }

    return loadPromise.finally(() => this._toggleLoadingBlur(false));
  }
Attempts to pull gist id from URL and render report from it.
@return {Promise<void>}
@private