<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
</head>
<body>
  <!-- 添加Apache校验项开始 -->
  <!-- 只加a标签和img标签，不要有其余的标签出现，同时设置style="display: none" -->
  <a style="display: none" href="http://www.apache.org/events/current-event">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</a>
  <img style="display: none" src="http://dubbo.apache.org/img/apache_logo.png"/>
  <ul style="display: none">
    <p class="header">ASF</p>
    <li><a href="http://www.apache.org">Foundation</a></li>
    <li><a href="http://www.apache.org/licenses/">License</a></li>
    <li><a href="http://www.apache.org/events/current-event">Events</a></li>
    <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
    <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
  </ul>
  <p style="display: none">Copyright © 2018 The Apache Software Foundation. Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
  <a style="display: none" href="http://www.apache.org/security/">Security</a>
  <!-- 添加Apache校验项结束 -->
  <script src="//cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
	<script>
    window.rootPath = '<%= rootPath %>';
    window.defaultLanguage = '<%= defaultLanguage %>';
    var lang = Cookies.get('docsite_language');
    if (!lang) {
      lang = '<%= defaultLanguage %>';
    }
    window.location = window.rootPath + '/' + lang;
  </script>
</body>
</html>