<!doctype html PUBLIC "HTML 4.0.1 Strict" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html>
<body>
  <div class="item">
    <img id="opt_puzzle_img" src="../mod_pagespeed_example/images/OptPuzzle.jpg">
  </div>
  <div id="nocache">
    This is non-cacheable item.
  </div>
  <div id="encoded">
    &ldquo;T&eacute;st s&ouml;m&ecirc; &laquo;entities&raquo;
    &copy;&reg;&trade;&rdquo; &nbsp; &ndash; &nbsp; &#x0CA0;_&#x0CA0;
  </div>
  <div class="item">
     <img id="cuppa_img" src="../mod_pagespeed_example/images/Cuppa.png">
  </div>
  <div class="item">
    <img id="puzzle_img" src="../mod_pagespeed_example/images/Puzzle.jpg">
  </div>
  <div class="inspiration">
    <img id="iron_chef_img" src="../mod_pagespeed_example/images/IronChef2.gif">
  </div>
  <div id="dyna">
    This is dynamically added item.<br>
  </div>
  <script type="text/javascript">
    if (criticalVar == 11) {
      var img=document.createElement('img');
      img.src='../mod_pagespeed_example/images/BikeCrashIcn.png';
      img.id='bikecrash_img';
      var div=document.getElementById('dyna');
      div.appendChild(img);
    }
  </script>
  <!-- Filler text and image to get some content below the fold. This is a
  form of the standard "Lorem ipsum" nonsense Latin text as generated by
  http://www.lipsum.com/. See: http://en.wikipedia.org/wiki/Lorem_ipsum -->
  <p>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum
  sagittis massa, ut consequat nisi lobortis sit amet. Mauris adipiscing tortor
  sit amet arcu feugiat eget consequat augue tincidunt. Curabitur feugiat,
  sapien non blandit consequat, risus massa viverra mi, in tristique turpis
  ipsum sit amet elit. Vivamus et velit eu orci placerat facilisis. Etiam
  commodo augue sed felis ornare eu interdum leo imperdiet. Maecenas sit amet
  ipsum justo, sit amet volutpat neque. Curabitur eget ipsum mauris, id ornare
  nisl. Morbi nec luctus nibh. Nulla facilisi. Donec at dolor tellus, vitae
  rhoncus turpis. Pellentesque id diam ante, sit amet suscipit erat.
  <p>
  Mauris velit eros, tincidunt id porta nec, pretium vestibulum risus. Aenean
  lectus felis, mollis a imperdiet vel, sodales eu ligula. Sed sed pretium ante.
  Quisque id odio diam, ut hendrerit nulla. Vestibulum pulvinar ornare magna non
  rhoncus. Pellentesque habitant morbi tristique senectus et netus et malesuada
  fames ac turpis egestas. Ut semper, sem vitae sodales hendrerit, tellus dolor
  tristique magna, eget condimentum nibh sem quis nibh. Sed imperdiet sem quis
  justo suscipit viverra. Vestibulum bibendum nulla vulputate risus pulvinar eu
  porttitor turpis aliquet. Praesent elementum nunc vitae dui consectetur
  accumsan.
  <p>
  Ut sem odio, facilisis sit amet cursus in, tempus sit amet risus. Etiam congue
  tristique erat quis euismod. Curabitur faucibus ipsum posuere justo viverra at
  accumsan massa suscipit. Aliquam pellentesque ullamcorper dolor vel malesuada.
  Nam a eros erat, sed lobortis lorem. Vestibulum quis neque velit, at sagittis
  enim. Vestibulum ut ligula massa, viverra adipiscing urna. Cras pretium magna
  id dolor tincidunt pellentesque. Mauris lacinia arcu nec dui pulvinar lacinia.
  Fusce ut dolor quis justo placerat auctor. Vivamus tempus fermentum laoreet.
  Etiam aliquam volutpat urna, sed sagittis lacus ultrices sed. Duis euismod
  fermentum risus, ut semper nisl vehicula non.
  <p>
  In vitae eleifend tortor. Etiam at turpis erat. Suspendisse condimentum
  condimentum vestibulum. Aliquam erat volutpat. Nunc nec dui lectus. Nulla nunc
  dolor, scelerisque ut consectetur eget, feugiat ac purus. Ut sed dui non nisi
  eleifend rutrum. Sed ut nisi elit. Praesent vel odio erat, sit amet sodales
  leo.
  <p>
  Aenean sed massa ut neque rutrum pretium quis ut mauris. Sed laoreet nisi id
  urna facilisis sit amet convallis nisi vestibulum. Fusce tortor ipsum, dapibus
  non aliquam et, tempor quis sem. Sed et neque ut neque posuere dignissim.
  Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
  turpis egestas. Nulla vitae tincidunt lectus. Suspendisse tellus justo,
  faucibus ut condimentum quis, aliquam ut ipsum. Nam tempus viverra turpis,
  quis laoreet est luctus eu. Aliquam sed pulvinar arcu. Mauris commodo, erat
  fringilla convallis faucibus, mi urna tincidunt risus, vitae volutpat arcu
  nisl pulvinar dui. Aliquam neque magna, pretium non venenatis non, feugiat
  pellentesque lacus. Etiam quis nunc non nisl feugiat interdum ac ultricies
  neque. Sed sodales, nibh a fermentum dignissim, velit urna pretium diam, eu
  placerat mauris quam eu purus. Nunc sapien velit, ultrices eu ornare porta,
  posuere id lectus. Cras faucibus, elit nec luctus malesuada, diam erat
  placerat velit, ac fringilla sapien lacus id mi.
  <p>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum
  sagittis massa, ut consequat nisi lobortis sit amet. Mauris adipiscing tortor
  sit amet arcu feugiat eget consequat augue tincidunt. Curabitur feugiat,
  sapien non blandit consequat, risus massa viverra mi, in tristique turpis
  ipsum sit amet elit. Vivamus et velit eu orci placerat facilisis. Etiam
  commodo augue sed felis ornare eu interdum leo imperdiet. Maecenas sit amet
  ipsum justo, sit amet volutpat neque. Curabitur eget ipsum mauris, id ornare
  nisl. Morbi nec luctus nibh. Nulla facilisi. Donec at dolor tellus, vitae
  rhoncus turpis. Pellentesque id diam ante, sit amet suscipit erat.
  <img id="btf_puzzle_img" src="../mod_pagespeed_example/images/Puzzle.jpg"
  alt="Puzzle">
</body></html>
