<!DOCTYPE html><html><head>


  <title>Dart VM Observatory</title>
  <meta charset="utf-8">
  <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.css">
  <script type="text/javascript" src="https://www.google.com/jsapi"></script>
  
  
  <script src="index_devtools.html_bootstrap.dart.js"></script>
  
</head>
<body><polymer-element name="observatory-element">
  
</polymer-element><polymer-element name="breakpoint-list" extends="observatory-element">
  <template>
    <template if="{{ msg['breakpoints'].isEmpty }}">
      <div class="panel panel-warning">
        <div class="panel-body">No breakpoints</div>
      </div>
    </template>
    <template if="{{ msg['breakpoints'].isNotEmpty }}">
      <ul class="list-group">
      <template repeat="{{ bpt in msg['breakpoints'] }}">
        <li class="list-group-item">
          {{ bpt }}
        </li>
      </template>
      </ul>
    </template>
  </template>
  
</polymer-element><polymer-element name="service-ref" extends="observatory-element">
  
</polymer-element><polymer-element name="class-ref" extends="service-ref">
<template>
  <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a>
</template>

</polymer-element>
<polymer-element name="error-view" extends="observatory-element">
  <template>
    <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="panel panel-danger">
        <div class="panel-heading">{{ error['errorType'] }}</div>
        <div class="panel-body">
          <p>{{ error['text'] }}</p>
        </div>
      </div>
    </div>
    </div>
  </template>
  
</polymer-element><polymer-element name="field-ref" extends="service-ref">
<template>
<div>
  <template if="{{ ref['final'] }}"> final </template>
  <template if="{{ ref['const'] }}"> const </template>
  <template if="{{ (ref['declared_type']['name'] == 'dynamic' &amp;&amp; !ref['final'] &amp;&amp; !ref['const']) }}">
  var
  </template>
  <template if="{{ (ref['declared_type']['name'] != 'dynamic') }}">
  <class-ref app="{{ app }}" ref="{{ ref['declared_type'] }}"></class-ref>
  </template>
  <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a>
</div>
</template>  </polymer-element><polymer-element name="function-ref" extends="service-ref">
<template>
  <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a>
</template>

</polymer-element><polymer-element name="instance-ref" extends="service-ref">
<template>
<div>
  <template if="{{ (ref['type'] == 'null') }}">
    unexpected null
  </template>
  <template if="{{ (ref['type'] == '@Null') }}">
    {{ name }}
  </template>
  <template if="{{ (ref['type'] != 'null') &amp;&amp; ref['type'] != '@Null' }}">
    <a href="{{ url }}">{{ name }} </a>
  </template>
 </div>
</template>

</polymer-element>
<polymer-element name="library-ref" extends="service-ref">
<template>
  <a href="{{ url }}">{{ name }}</a>
</template>

</polymer-element><polymer-element name="class-view" extends="observatory-element">
  <template>
    <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="panel panel-warning">
        <div class="panel-heading">
          class <strong>{{ cls['user_name'] }}</strong>
          <template if="{{ cls['super']['type'] != 'Null' }}">
            extends
            <class-ref app="{{ app }}" ref="{{ cls['super'] }}"></class-ref>
          </template>
          <library-ref app="{{ app }}" ref="{{ cls['library'] }}"></library-ref>
        </div>
        <div class="panel-body">
          <table class="table table-hover">
            <tbody>
              <tr>
                <td>Abstract</td><td>{{ cls['abstract'] }}</td>
              </tr>
              <tr>
                <td>Const</td><td>{{ cls['const'] }}</td>
              </tr>
              <tr>
                <td>Finalized</td><td>{{ cls['const'] }}</td>
              </tr>
              <tr>
                <td>Implemented</td><td>{{ cls['implemented'] }}</td>
              </tr>
              <tr>
                <td>Patch</td><td>{{ cls['patch'] }}</td>
              </tr>
              <tr>
                <td>VM Name</td><td>{{ cls['name'] }}</td>
              </tr>
            </tbody>
          </table>
          <template if="{{ cls['error'] == null }}">
            <blockquote><strong>Fields</strong></blockquote>
            <table class="table table-hover">
             <tbody>
                <tr template="" repeat="{{ field in cls['fields'] }}">
                  <td><field-ref app="{{ app }}" ref="{{ field }}"></field-ref></td>
                  <td><instance-ref app="{{ app }}" ref="{{ field['value'] }}"></instance-ref></td>
                </tr>
              </tbody>
            </table>
            <blockquote><strong>Functions</strong></blockquote>
            <table class="table table-hover">
              <thead>
                <tr>
                  <th>User Name</th>
                  <th>VM Name</th>
                </tr>
              </thead>
              <tbody>
                <tr template="" repeat="{{ function in cls['functions'] }}">
                  <td><function-ref app="{{ app }}" ref="{{ function }}"></function-ref></td>
                  <td><function-ref app="{{ app }}" ref="{{ function }}" internal=""></function-ref></td>
                </tr>
              </tbody>
            </table>
          </template>
          <template if="{{ cls['error'] != null }}">
            <error-view error_obj="{{ cls['error'] }}"></error-view>
          </template>
        </div>
      </div>
    </div>
    </div>
  </template>
  
</polymer-element>
<polymer-element name="code-ref" extends="service-ref">
<template>
  <a href="{{ url }}">{{ name }}</a>
</template>

</polymer-element><polymer-element name="disassembly-entry" extends="observatory-element">
  <template>
  <div class="row">
      <div class="col-md-2">{{ instruction.formattedTicks() }}</div>
      <div class="col-md-2">{{ instruction.formattedAddress() }}</div>
      <div class="col-md-4">
        <code>{{ instruction.machine }} {{ instruction.human }}</code>
      </div>
  </div>
  </template>
  
</polymer-element><polymer-element name="code-view" extends="observatory-element">
  <template>
  <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="{{ cssPanelClass }}">
        <div class="panel-heading">
          <function-ref app="{{ app }}" ref="{{ code.functionRef }}"></function-ref>
        </div>
        <div class="panel-body">
          <div class="row">
              <div class="col-md-2"><strong>Samples</strong></div>
              <div class="col-md-2"><strong>Address</strong></div>
              <div><strong>Instruction</strong></div>
          </div>
          <template repeat="{{ instruction in code.instructions }}">
            <disassembly-entry instruction="{{ instruction }}">
            </disassembly-entry>
          </template>
        </div>
      </div>
    </div>
  </div>
  </template>
  
</polymer-element><polymer-element name="collapsible-content" extends="observatory-element">
  <template>
    <div class="well row">
      <a on-click="toggleDisplay" class="btn muted unselectable">
           Raw message... <i class="{{ iconClass }}"></i>
      </a>
      <div style="display: {{ displayValue }}" class="well">
        <content></content>
      </div>
    </div>
  </template>
  
</polymer-element><polymer-element name="field-view" extends="observatory-element">
  <template>
  <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="panel panel-warning">
        <div class="panel-heading">
          <template if="{{ field['static'] }}">static</template>
          <template if="{{ field['final'] }}">final</template>
          <template if="{{ field['const'] }}">const</template>
          {{ field['user_name'] }} ({{ field['name'] }})
          <class-ref app="{{ app }}" ref="{{ field['class'] }}"></class-ref>
        </div>
        <div class="panel-body">
        <template if="{{ field['guard_class'] == 'dynamic'}}">
          <div class="alert alert-danger">
            Field has been assigned multiple types. If a field is only ever
            assigned a single type, performance may improve.
          </div>
        </template>
        <template if="{{ (field['guard_class'] != 'dynamic') &amp;&amp; (field['guard_class'] != 'unknown') }}">
          <div class="alert alert-success">Field has monomorphic type</div>
          <template if="{{ (field['guard_class'] != 'dynamic') &amp;&amp;
                        field['guard_nullable'] }}">
            <div class="alert alert-info">
              Field has been assigned null. If a field is never assigned null,
              performance may improve.
            </div>
          </template>
          <blockquote>
            <class-ref app="{{ app }}" ref="{{ field['guard_class'] }}"></class-ref>
          </blockquote>
        </template>
        </div>
      </div>
    </div>
  </div>
  </template>
  
</polymer-element><polymer-element name="function-view" extends="observatory-element">
  <template>
  <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="panel panel-warning">
        <div class="panel-heading">
          {{ function['user_name'] }} ({{ function['name'] }})
          <class-ref app="{{ app }}" ref="{{ function['class'] }}"></class-ref>
        </div>
        <div class="panel-body">
          <div>
          <code-ref app="{{ app }}" ref="{{ function['code'] }}"></code-ref>
          <code-ref app="{{ app }}" ref="{{ function['unoptimized_code'] }}"></code-ref>
          </div>
          <table class="table table-hover">
            <tbody>
              <tr>
                <td>static</td><td>{{ function['is_static'] }}</td>
              </tr>
              <tr>
                <td>Const</td><td>{{ function['is_const'] }}</td>
              </tr>
              <tr>
                <td>Optimizable</td><td>{{ function['is_optimizable'] }}</td>
              </tr>
              <tr>
                <td>Inlinable</td><td>{{ function['is_inlinable'] }}</td>
              </tr>
              <tr>
                <td>Kind</td><td>{{ function['kind'] }}</td>
              </tr>
              <tr>
                <td>Usage Count</td><td>{{ function['usage_counter'] }}</td>
              </tr>
              <tr>
                <td>Optimized Call Site Count</td><td>{{ function['optimized_call_site_count'] }}</td>
              </tr>
              <tr>
                <td>Deoptimizations</td><td>{{ function['deoptimizations'] }}</td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
    </div>
  </div>
  </template>
  
</polymer-element><polymer-element name="isolate-summary" extends="observatory-element">
  <template>
    <div class="row">
      <div class="col-md-1">
        <img src="img/isolate_icon.png" class="img-polaroid">
      </div>

      <div class="col-md-1">{{ isolate.name }}</div>

      <!-- TODO(turnidge): Use function-ref when it can take isolate param -->
      <div class="col-md-4">

        <div class="row">
          <template if="{{ isolate.entry['id'] != null }}">
            <a href="{{ app.locationManager.relativeLink(isolate.id, isolate.entry['id']) }}">
              {{ isolate.entry['name'] }}
            </a>
          </template>
          <template if="{{ isolate.entry['id'] == null }}">
            <!-- fred -->
            root isolate
          </template>
        </div>

        <div class="row">
          <small>
            (<a href="{{ app.locationManager.relativeLink(isolate.id, isolate.rootLib) }}">library</a>)
            (<a href="{{ app.locationManager.relativeLink(isolate.id, 'debug/breakpoints') }}">breakpoints</a>)
            (<a href="{{ app.locationManager.relativeLink(isolate.id, 'profile') }}">profile</a>)
          </small>
        </div>
      </div>

      <div class="col-md-2">
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['total'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">total</p></div>
        </div>
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['dart'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">dart</p></div>
        </div>
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['compile'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">compile</p></div>
        </div>
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['gc'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">gc</p></div>
        </div>
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['init'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">init</p></div>
        </div>
      </div>
      <div class="col-md-2">
        <a href="{{ app.locationManager.relativeLink(isolate.id, 'allocationprofile') }}">
          {{ isolate.newHeapUsed | formatSize }}/{{ isolate.oldHeapUsed | formatSize }}
        </a>
      </div>
      <div class="col-md-2">
        <template if="{{ isolate.topFrame == null }}">
          idle
        </template>
        <template if="{{ isolate.topFrame != null }}">
          run
        </template>
        ( <a href="{{ app.locationManager.relativeLink(isolate.id, 'stacktrace') }}">stack trace</a> )
      </div>
    </div>
    <div class="row">
      <div class="col-md-3">
      </div>
      <div class="col-md-6">
        <template if="{{ isolate.topFrame != null }}">
          <a href="{{ app.locationManager.relativeLink(isolate.id, isolate.topFrame['function']['id']) }}">
            {{ isolate.topFrame['function']['user_name'] }}
          </a>
          (<a href="{{ app.locationManager.relativeLink(isolate.id, isolate.topFrame['script']['id']) }}">
            {{ isolate.topFrame | fileAndLine }}
          </a>)
          <br>
          <pre>{{ isolate.topFrame['line'] }} &nbsp; {{ isolate.topFrame['lineString'] }}</pre>
        </template>
      </div>
      <div class="col-md-3">
      </div>
    </div>
  </template>
  
</polymer-element>
<polymer-element name="isolate-list" extends="observatory-element">
  <template>
      <button type="button" on-click="{{refresh}}">Refresh</button>
      <ul class="list-group">
      <template repeat="{{ isolate in app.isolateManager.isolates.values }}">
      	<li class="list-group-item">
        <isolate-summary app="{{ app }}" isolate="{{ isolate }}"></isolate-summary>
        </li>
      </template>
      </ul>
      (<a href="{{ app.locationManager.absoluteLink('cpu') }}">cpu</a>)
  </template>
  
</polymer-element>
<polymer-element name="instance-view" extends="observatory-element">
  <template>
    <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="panel panel-warning">
        <div class="panel-heading">
         Instance of
         <class-ref app="{{ app }}" ref="{{ instance['class'] }}"></class-ref>
        </div>
        <div class="panel-body">
          <template if="{{ instance['error'] == null }}">
            <table class="table table-hover">
              <tbody>
                <tr>
                  <td>Preview</td><td>{{ instance['preview'] }}</td>
                </tr>
              </tbody>
            </table>
            <blockquote><strong>Fields</strong></blockquote>
            <table class="table table-hover">
             <tbody>
                <tr template="" repeat="{{ field in instance['fields'] }}">
                  <td><field-ref app="{{ app }}" ref="{{ field }}"></field-ref></td>
                  <td><instance-ref app="{{ app }}" ref="{{ field['value'] }}"></instance-ref></td>
                </tr>
              </tbody>
            </table>
          </template>
          <template if="{{ instance['error'] != null }}">
            <error-view error_obj="{{ instance['error'] }}"></error-view>
          </template>
        </div>
      </div>
    </div>
    </div>
  </template>
  
</polymer-element>
<polymer-element name="json-view" extends="observatory-element">
  <template>
    <template bind="" if="{{ valueType == 'Primitive' }}">
      <span>{{primitiveString}}</span>
    </template>
    <template bind="" if="{{ valueType == 'List' }}">
      <table class="table table-condensed table-bordered">
        <caption class="text-left">List, {{list.length}}</caption>
        <tbody>
          <tr template="" repeat="{{item in list)}}">
            <th>{{counter}}</th>
            <td><json-view json="{{item}}"></json-view></td>
          </tr>
        </tbody>
      </table>
    </template>
    <template if="{{ valueType == 'Map' }}">
      <table class="table table-condensed table-bordered">
        <caption class="text-left">Map, {{keys.length}}</caption>
        <tbody>
          <tr template="" repeat="{{key in keys}}">
            <th>{{key}}</th>
            <td><json-view json="{{value(key)}}"></json-view></td>
          </tr>
        </tbody>
      </table>
    </template>
  </template>
  
</polymer-element>
<polymer-element name="script-ref" extends="service-ref">
<template>
  <a href="{{ url }}">{{ name }}</a>
</template>

</polymer-element><polymer-element name="library-view" extends="observatory-element">
  <template>
  <div class="alert alert-success">Library {{ library['name'] }}</div>
  <div class="alert alert-info">Scripts</div>
  <table class="table table-hover">
    <tbody>
      <tr template="" repeat="{{ script in library['scripts']}}">
        <td>
          {{ script['kind'] }}
        </td>
        <td>
          <script-ref app="{{ app }}" ref="{{ script }}"></script-ref>
        </td>
      </tr>
    </tbody>
  </table>
  <div class="alert alert-info">Imported Libraries</div>
  <table class="table table-hover">
    <tbody>
      <tr template="" repeat="{{ lib in library['libraries'] }}">
        <td>
          <library-ref app="{{ app }}" ref="{{ lib }}"></library-ref>
        </td>
      </tr>
    </tbody>
  </table>
  <div class="alert alert-info">Variables</div>
  <table class="table table-hover">
    <tbody>
      <tr template="" repeat="{{ variable in library['variables'] }}">
        <td><field-ref app="{{ app }}" ref="{{ variable }}"></field-ref></td>
        <td><instance-ref app="{{ app }}" ref="{{ variable['value'] }}"></instance-ref></td>
      </tr>
    </tbody>
  </table>
  <div class="alert alert-info">Functions</div>
  <table class="table table-hover">
    <tbody>
      <tr template="" repeat="{{ func in library['functions'] }}">
        <td>
          <function-ref app="{{ app }}" ref="{{ func }}"></function-ref>
        </td>
      </tr>
    </tbody>
  </table>
  <div class="alert alert-info">Classes</div>
  <table class="table table-hover">
    <thead>
      <tr>
        <th>Name</th>
        <th>Internal Name</th>
      </tr>
    </thead>
    <tbody>
      <tr template="" repeat="{{ cls in library['classes'] }}">
        <td>
          <class-ref app="{{ app }}" ref="{{ cls }}"></class-ref>
        </td>
        <td>
          <class-ref app="{{ app }}" ref="{{ cls }}" internal=""></class-ref>
        </td>
      </tr>
    </tbody>
  </table>

  </template>
  
</polymer-element>
<polymer-element name="heap-profile" extends="observatory-element">
<template>
  <div>
  <button type="button" on-click="{{refreshData}}">Refresh</button>
  </div>
  <div class="row">
    <div id="newPieChart" class="col-md-4" style="height: 400px">
    </div>
    <div id="newStatus" class="col-md-2">
      <table class="table">
        <tbody>
          <tr>
            <td>Collections</td>
            <td>{{ formattedCollections(true) }}</td>
          </tr>
          <tr>
            <td>Average Collection Time</td>
            <td>{{ formattedAverage(true) }}</td>
          </tr>
          <tr>
            <td>Cumulative Collection Time</td>
            <td>{{ formattedTotalCollectionTime(true) }}</td>
          </tr>
        </tbody>
      </table>
    </div>
    <div id="oldPieChart" class="col-md-4" style="height: 400px">
    </div>
    <div id="oldStatus" class="col-md-2">
      <table class="table">
        <tbody>
          <tr>
            <td>Collections</td>
            <td>{{ formattedCollections(true) }}</td>
          </tr>
          <tr>
            <td>Average Collection Time</td>
            <td>{{ formattedAverage(true) }}</td>
          </tr>
          <tr>
            <td>Cumulative Collection Time</td>
            <td>{{ formattedTotalCollectionTime(true) }}</td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
  <div class="row">
    <div id="table" class="col-md-12" style="height: 800px"></div>
  </div>
</template>

</polymer-element>
<polymer-element name="script-view" extends="observatory-element">
<template>
  <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="panel-heading">
      <button on-click="{{refreshCoverage}}">Refresh Coverage</button>
      {{ script.scriptRef['user_name'] }}
      {{ script.coveredPercentageFormatted() }}
      </div>
      <div class="panel-body">
        <table style="width:100%">
          <tbody>
          <tr template="" repeat="{{ line in script.linesForDisplay }}">
            <td style="{{ hitsStyle(line) }}">  </td>
            <td style="font-family: consolas, courier, monospace;font-size: 1em;line-height: 1.2em;white-space: nowrap;">{{line.line}}</td>
            <td width="99%" style="font-family: consolas, courier, monospace;font-size: 1em;line-height: 1.2em;">{{line.text}}</td>
          </tr>
          </tbody>
        </table>
      </div>
    </div>
  </div>
</template>

</polymer-element><polymer-element name="stack-frame" extends="observatory-element">
  <template>
    <div class="row">
      <div class="col-md-1"></div>
      <div class="col-md-1">
        #{{ frame['depth'] }}
      </div>
      <div class="col-md-9">
        <function-ref app="{{ app }}" ref="{{ frame['function'] }}"></function-ref>
        ( <script-ref app="{{ app }}" ref="{{ frame['script'] }}"></script-ref>:{{ frame['line'] }} )
      </div>
      <div class="col-md-1"></div>
    </div>

    <template repeat="{{ v in frame['vars'] }}">
      <div class="row">
        <div class="col-md-3"></div>
        <div class="col-md-1">
          {{ v['name'] }}
        </div>
        <div class="col-md-6">
          <instance-ref app="{{ app }}" ref="{{ v['value'] }}"></instance-ref>
        </div>
        <div class="col-md-2"></div>
      </div>
    </template>

  </template>
  
</polymer-element>
<polymer-element name="stack-trace" extends="observatory-element">
  <template>
    <template if="{{ trace['members'].isEmpty }}">
      <div class="col-md-1"></div>
      <div class="col-md-11">
        <em>No stack</em>
      </div>
    </template>
    <template if="{{ trace['members'].isNotEmpty }}">
      <ul class="list-group">
        <template repeat="{{ frame in trace['members'] }}">
          <li class="list-group-item">
            <stack-frame app="{{ app }}" frame="{{ frame }}"></stack-frame>
          </li>
        </template>
      </ul>
    </template>
  </template>
  
</polymer-element>
<polymer-element name="message-viewer" extends="observatory-element">
  <!--
    This is a big switch statement which instantiates the custom element
    designated to display the message type.
  -->
  <template>
  	<!-- If the message type is an IsolateList -->
    <template if="{{ messageType == 'IsolateList' }}">
      <isolate-list app="{{ app }}"></isolate-list>
    </template>
    <!-- If the message type is a StackTrace -->
    <template if="{{ messageType == 'StackTrace' }}">
      <stack-trace app="{{ app }}" trace="{{ message }}"></stack-trace>
    </template>
    <template if="{{ messageType == 'BreakpointList' }}">
      <breakpoint-list app="{{ app }}" msg="{{ message }}"></breakpoint-list>
    </template>
    <template if="{{ messageType == 'Error' }}">
      <error-view app="{{ app }}" error="{{ message }}"></error-view>
    </template>
    <template if="{{ messageType == 'Library' }}">
      <library-view app="{{ app }}" library="{{ message }}"></library-view>
    </template>
    <template if="{{ messageType == 'Class' }}">
      <class-view app="{{ app }}" cls="{{ message }}"></class-view>
    </template>
    <template if="{{ messageType == 'Field' }}">
      <field-view app="{{ app }}" field="{{ message }}"></field-view>
    </template>
    <template if="{{ messageType == 'Instance' }}">
      <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
    </template>
    <template if="{{ messageType == 'Array' }}">
      <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
    </template>
    <template if="{{ messageType == 'GrowableObjectArray' }}">
      <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
    </template>
    <template if="{{ messageType == 'String' }}">
      <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
    </template>
    <template if="{{ messageType == 'Bool' }}">
      <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
    </template>
    <template if="{{ messageType == 'Smi' }}">
      <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
    </template>
    <template if="{{ messageType == 'Function' }}">
      <function-view app="{{ app }}" function="{{ message }}"></function-view>
    </template>
    <template if="{{ messageType == 'Code' }}">
      <code-view app="{{ app }}" code="{{ message['code'] }}"></code-view>
    </template>
    <template if="{{ messageType == 'Script' }}">
      <script-view app="{{ app }}" script="{{ message['script'] }}"></script-view>
    </template>
    <template if="{{ messageType == 'AllocationProfile' }}">
      <heap-profile app="{{ app }}" profile="{{ message }}"></heap-profile>
    </template>
    <template if="{{ messageType == 'CPU' }}">
      <json-view json="{{ message }}"></json-view>
    </template>
    <!-- Add new views and message types in the future here. -->
  </template>
  
</polymer-element><polymer-element name="navigation-bar-isolate" extends="observatory-element">
    <template>
      <ul class="nav navbar-nav">
        <li><a href="{{ currentIsolateLink('') }}"> {{currentIsolateName()}}</a></li>
        <template repeat="{{link in links}}">
          <li><a href="{{ currentIsolateLink(link) }}">{{ link }}</a></li>
        </template>
      </ul>
    </template>
  
</polymer-element><polymer-element name="navigation-bar" extends="observatory-element">
  <template>
    <nav class="navbar navbar-default" role="navigation">
      <div class="navbar-header">
        <a class="navbar-brand" href="#/isolates">Observatory</a>
      </div>
      <template if="{{ app.locationManager.hasCurrentIsolate }}">
        <div class="collapse navbar-collapse navbar-ex1-collapse">
          <navigation-bar-isolate app="{{ app }}"></navigation-bar-isolate>
        </div>
      </template>
    </nav>
  </template>
  
</polymer-element><polymer-element name="isolate-profile" extends="observatory-element">
  <template>
    <p> P R O F I L E </p>
    <div>
      <button type="button" on-click="{{refreshData}}">Refresh profile data</button>
      <span>Top</span>
      <select selectedindex="{{methodCountSelected}}" value="{{methodCounts[methodCountSelected]}}">
        <option template="" repeat="{{count in methodCounts}}">{{count}}</option>
      </select>
      <span>methods</span>
    </div>
    <blockquote><strong>Top Exclusive</strong></blockquote>
    <table class="table table-hover">
      <thead>
        <tr>
          <th>Ticks</th>
          <th>Percent</th>
          <th>Method</th>
        </tr>
      </thead>
      <tbody>
        <tr template="" repeat="{{ code in topExclusiveCodes }}">
            <td>{{ codeTicks(code, false) }}</td>
            <td>{{ codePercent(code, false) }}</td>
            <td>
            <span>{{ codeName(code) }}</span>
            <code-ref app="{{ app }}" ref="{{ code.codeRef }}"></code-ref>
            </td>
        </tr>
    </tbody></table>
  </template>
  
</polymer-element>
<polymer-element name="response-viewer" extends="observatory-element">
  <template>
    <template repeat="{{ message in app.requestManager.responses }}">
      <message-viewer app="{{ app }}" message="{{ message }}"></message-viewer>
    </template>
  </template>
  
</polymer-element><polymer-element name="observatory-application" extends="observatory-element">
  <template>
    <navigation-bar app="{{ app }}"></navigation-bar>
    <template if="{{ app.locationManager.profile }}">
      <isolate-profile app="{{ app }}"></isolate-profile>
    </template>
    <template if="{{ app.locationManager.profile == false }}">
      <response-viewer app="{{ app }}"></response-viewer>
    </template>
  </template>
  
</polymer-element>
  <observatory-application devtools="true"></observatory-application>

</body></html>