<!doctype html>
//#@policy error
<html lang="en-us">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon">
    <link rel="stylesheet" href="common/emscripten.css"/>
    <link rel="stylesheet" href="common/testing.css"/>
    <title>sqlite3 tester #1: @title@ (@bitness@-bit WASM)</title>
    <style></style>
  </head>
  <body><h1 id='color-target'></h1>
    <div>Variants (32-bit):
      conventional UI thread:
      (<a href='tester1.html' target='tester1.html'>32-bit</a>,
      <a href='tester1-64bit.html' target='tester1-64bit.html'>64-bit</a>),
      conventional worker:
      (<a href='tester1-worker.html' target='tester1-worker.html'>32-bit</a>,
      <a href='tester1-worker-64bit.html' target='tester1-worker-64bit.html'>64-bit</a>),
      ESM in UI thread:
      (<a href='tester1-esm.html' target='tester1-esm.html'>32-bit</a>,
      <a href='tester1-esm-64bit.html' target='tester1-esm-64bit.html'>64-bit</a>),
      ESM worker:</a>
      (<a href='tester1-worker.html?esm' target='tester1-worker.html?esm'>32-bit</a>
      <a href='tester1-worker-64bit.html?esm' target='tester1-worker-64bit.html?esm'>64-bit</a>)
    </div>
    <div class='input-wrapper'>
      <input type='checkbox' id='cb-log-reverse'>
      <label for='cb-log-reverse'>Reverse log order?</label>
    </div>
    <div id='test-output'></div>
    <script>(function(){
      document.querySelector('h1').innerHTML =
        document.querySelector('title').innerHTML;
    })();</script>
//#if target:es6-module
    <script src="@tester1.js@" type="module"></script>
//#else
    <script src="@sqlite3.js@"></script>
    <script src="@tester1.js@"></script>
//#endif
  </body>
</html>
