<div class="title">
    <span class="source-link"><a href="{{foundAt}}">`{{file}}:{{line}}`</a></span>
    <h1 class="class-name">{{moduleName}}</h1>
</div>

{{#if uses}}
    Uses:
    {{#each uses}}
        <a href="{{this}}.html">{{this}}</a>
    {{/each}}
    <br>
{{/if}}

{{#if extension_for}}
    Extension For:
    {{#each extension_for}}
        <a href="{{this}}.html">{{this}}</a>
    {{/each}}
    <br>
{{/if}}

{{#if extends}}
    <div class="class-extends">
        <h4>Extends:</h4>
        <div>{{#crossLink extends}}{{/crossLink}} → {{moduleName}}</div>
    </div>
{{/if}}

<div class="class-description">{{{classDescription}}}</div>

{{#if (filter methods "static")}}
  <h2 id="static-method-summary">Static Method Summary</h2>

  {{#if (filter methods "static" "public")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Static Public Methods</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter methods "static" "public")}}
        {{>method-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}

  {{#if (filter methods "static" "protected")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Static Protected Methods</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter methods "static" "protected")}}
        {{>method-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}

  {{#if (filter methods "static" "private")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Static Private Methods</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter methods "static" "private")}}
        {{>method-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}
{{/if}}

{{#if (filter properties "static")}}
  <h2 id="static-property-summary">Static Property Summary</h2>

  {{#if (filter properties "static" "public")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Static Public Properties</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter properties "static" "public")}}
        {{>props-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}

  {{#if (filter properties "static" "protected")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Static Protected Properties</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter properties "static" "protected")}}
        {{>props-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}

  {{#if (filter properties "static" "private")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Static Private Properties</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter properties "static" "private")}}
        {{>props-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}
{{/if}}


{{#if is_constructor}}
  <h2 id="constructor-summary">Constructor Summary</h2>

  {{#if (filter is_constructor "public")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Public Constructors</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter is_constructor "public")}}
        {{>method-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}

  {{#if (filter is_constructor "protected")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Protected Constructors</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter is_constructor "protected")}}
        {{>method-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}

  {{#if (filter is_constructor "private")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Private Constructors</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter is_constructor "private")}}
        {{>method-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}
{{/if}}



{{#if (filter properties "!static")}}
  <h2 id="property-summary">Property Summary</h2>

  {{#if (filter properties "!static" "public")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Public Properties</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter properties "!static" "public")}}
        {{>props-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}

  {{#if (filter properties "!static" "protected")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Protected Properties</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter properties "!static" "protected")}}
        {{>props-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}

  {{#if (filter properties "!static" "private")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Private Properties</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter properties "!static" "private")}}
        {{>props-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}
{{/if}}

{{#if (filter methods "!static")}}
  <h2 id="method-summary">Method Summary</h2>

  {{#if (filter methods "!static" "public")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Public Methods</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter methods "!static" "public")}}
        {{>method-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}

  {{#if (filter methods "!static" "protected")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Protected Methods</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter methods "!static" "protected")}}
        {{>method-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}

  {{#if (filter methods "!static" "private")}}
    <table class="summary">
      <thead>
      <tr>
        <th colspan="2">Private Methods</th>
      </tr>
      </thead>
      <tbody>
      {{#each (filter methods "!static" "private")}}
        {{>method-short}}
      {{/each}}
      </tbody>
    </table>
  {{/if}}
{{/if}}

{{#if (filter properties "static" "public")}}
    <div id="properties public">
        <h2 id="static-public-properties">Static Public Properties</h2>
        {{#each (filter properties "static" "public")}}
{{>props}}
        {{/each}}
    </div>
{{/if}}

{{#if (filter properties "static" "protected")}}
    <div id="properties protected">
        <h2 id="static-protected-properties">Static Protected Properties</h2>
        {{#each (filter properties "static" "protected")}}
{{>props}}
        {{/each}}
    </div>
{{/if}}

{{#if (filter properties "static" "private")}}
    <div id="properties private">
        <h2 id="static-private-properties">Static Private Properties</h2>
        {{#each (filter properties "static" "private")}}
{{>props}}
        {{/each}}
    </div>
{{/if}}

{{#if (filter methods "static" "public")}}
    <div id="methods public">
        <h2 id="static-public-methods">Static Public Methods</h2>
        {{#each (filter methods "static" "public")}}
{{>method}}
        {{/each}}
    </div>
{{/if}}

{{#if (filter methods "static" "protected")}}
    <div id="methods protected">
        <h2 id="static-protected-methods">Static Protected Methods</h2>
        {{#each (filter methods "static" "protected")}}
{{>method}}
        {{/each}}
    </div>
{{/if}}

{{#if (filter methods "static" "private")}}
    <div id="methods private">
        <h2 id="static-private-methods">Static Private Methods</h2>
        {{#each (filter methods "static" "private")}}
{{>method}}
        {{/each}}
    </div>
{{/if}}

{{#if (filter is_constructor "public")}}
  <div id="methods public">
    <h2 id="public-constructors">Public Constructors</h2>
    {{#each (filter is_constructor "public")}}
{{>method}}
    {{/each}}
  </div>
{{/if}}

{{#if (filter is_constructor "protected")}}
  <div id="methods protected">
    <h2 id="protected-constructors">Protected Constructors</h2>
    {{#each (filter is_constructor "protected")}}
{{>method}}
    {{/each}}
  </div>
{{/if}}

{{#if (filter is_constructor "private")}}
  <div id="methods private">
    <h2 id="private-constructors">Private Constructors</h2>
    {{#each (filter is_constructor "private")}}
{{>method}}
    {{/each}}
  </div>
{{/if}}

{{#if (filter properties "!static" "public")}}
    <div id="properties public">
        <h2 id="public-properties">Public Properties</h2>
        {{#each (filter properties "!static" "public")}}
{{>props}}
        {{/each}}
    </div>
{{/if}}

{{#if (filter properties "!static" "protected")}}
    <div id="properties protected">
        <h2 id="protected-properties">Protected Properties</h2>
        {{#each (filter properties "!static" "protected")}}
{{>props}}
        {{/each}}
    </div>
{{/if}}

{{#if (filter properties "!static" "private")}}
    <div id="properties private">
        <h2 id="private-properties">Private Properties</h2>
        {{#each (filter properties "!static" "private")}}
{{>props}}
        {{/each}}
    </div>
{{/if}}

{{#if (filter methods "!static" "public")}}
  <div id="methods public">
    <h2 id="public-methods">Public Methods</h2>
    {{#each (filter methods "!static" "public")}}
{{>method}}
    {{/each}}
  </div>
{{/if}}

{{#if (filter methods "!static" "protected")}}
    <div id="methods protected">
        <h2 id="protected-methods">Protected Methods</h2>
        {{#each (filter methods "!static" "protected")}}
{{>method}}
        {{/each}}
    </div>
{{/if}}

{{#if (filter methods "!static" "private")}}
    <div id="methods private">
        <h2 id="private-methods">Private Methods</h2>
        {{#each (filter methods "!static" "private")}}
{{>method}}
        {{/each}}
    </div>
{{/if}}

{{#if attrs}}
    <div id="attrs">
        <h2>Attributes</h2>
        {{#each attrs}}
{{>attrs}}
        {{/each}}
    </div>
{{/if}}

{{#if events}}
    <div id="events">
        <h2>Events</h2>
        {{#each events}}
{{>events}}
        {{/each}}
    </div>
{{/if}}
