<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Redirecting...</title>
    <meta http-equiv="refresh" content="0; URL=/asm.html">
    <link rel="canonical" href="/asm.html">
  </head>
  <body>
      <p>Redirecting to... <a href="/asm.html">/asm.html</a>.</p>

<script>
    // This handles redirects that involve fragments.
    document.addEventListener('DOMContentLoaded', function() {
        const fragmentMap =
            {}
        ;
        const fragment = window.location.hash;
        if (fragment) {
            let redirectUrl = "/asm.html";
            const target = fragmentMap[fragment];
            if (target) {
                let url = new URL(target, window.location.href);
                redirectUrl = url.href;
            } else {
                let url = new URL(redirectUrl, window.location.href);
                url.hash = window.location.hash;
                redirectUrl = url.href;
            }
            window.location.replace(redirectUrl);
        }
        // else redirect handled by http-equiv
    });
</script>
  </body>
</html>
