<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Legal Notice</title><link rel="stylesheet" href="igstyle.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.74.0" /></head><body><div class="legalnotice"><p>This document is protected by copyright laws and contains material
      proprietary to the Khronos Group, Inc. It or any components may not be
      reproduced, republished, distributed, transmitted, displayed, broadcast
      or otherwise exploited in any manner without the express prior written
      permission of Khronos Group. The receipt or possession of this document
      does not convey any rights to reproduce, disclose, or distribute its
      contents, or to manufacture, use, or sell anything that it may describe,
      in whole or in part.</p><p>Khronos Group grants express permission to any current Promoter,
      Contributor or Adopter member of Khronos to copy and redistribute
      UNMODIFIED versions of this document in any fashion, provided that NO
      CHARGE is made for the document and the latest available update of the
      document is used whenever possible. Such distributed document may be
      re-formatted AS LONG AS the contents of the document are not changed in
      any way. The document may be incorporated into a product that is sold as
      long as such product includes significant independent work developed by
      the seller. A link to the current version of this document on the
      Khronos Group web-site should be included whenever possible with
      document distributions.</p><p>Khronos Group makes no, and expressly disclaims any,
      representations or warranties, express or implied, regarding this
      document, including, without limitation, any implied warranties of
      merchantability or fitness for a particular purpose or non-infringement
      of any intellectual property. Khronos Group makes no, and expressly
      disclaims any, warranties, express or implied, regarding the
      correctness, accuracy, completeness, timeliness, and reliability of the
      document. Under no circumstances will the Khronos Group, or any of its
      Promoters, Contributors or Members or their respective partners,
      officers, directors, employees, agents or representatives be liable for
      any damages, whether direct, indirect, special or consequential damages
      for lost revenues, lost profits, or otherwise, arising from or in
      connection with these materials.</p><p><span class="trademark">Khronos</span><sup xmlns="">™</sup> is a trademark of The
      Khronos Group Inc. <span class="trademark">OpenGL</span><sup xmlns="">®</sup> is a
      registered trademark, and <span class="trademark">OpenGL
      ES</span><sup xmlns="">™</sup>is a trademark, of Silicon Graphics, Inc. All other marks
      are the property of their respective owners.</p></div></body></html>
