<!DOCTYPE html><html><head><script src="packages/shadow_dom/shadow_dom.debug.js"></script>
<script src="packages/custom_element/custom-elements.debug.js"></script>
<script src="packages/browser/interop.js"></script>

  <title>Dart VM Observatory</title>
  <meta charset="utf-8">
  <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.css">
  
  <script src="index.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 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</div>
        <div class="panel-body">
          <template if="{{ (error_obj == null) || (error_obj['type'] != 'LanguageError') }}">
            <p>{{ error }}</p>
          </template>
          <template if="{{ (error_obj != null) &amp;&amp; (error_obj['type'] == 'LanguageError') }}">
            <pre>{{ error_obj['error_msg'] }}</pre>
          </template>
        </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 href="{{ url }}">{{ name }}</a>
</div>
</template>  </polymer-element><polymer-element name="function-ref" extends="service-ref">
<template>
  <a href="{{ url }}">{{ name }}</a>
</template>

</polymer-element><polymer-element name="instance-ref" extends="service-ref">
<template>
<div>
  <template if="{{ (ref['type'] == 'null') }}">
    {{ "null" }}
  </template>
  <template if="{{ (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">
    <template if="{{ instruction['type'] == 'DisassembledInstructionComment' }}">
      <div class="col-md-2"></div>
      <div class="col-md-2"></div>
      <div class="col-md-4"><code>{{ instruction['comment'] }}</code></div>
    </template>
    <template if="{{ instruction['type'] == 'DisassembledInstruction' }}">
      <div class="col-md-2"></div>
      <div class="col-md-2">{{ instruction['pc'] }}</div>
      <div class="col-md-4">
        <code>{{ instruction['hex'] }} {{ instruction['human'] }}</code>
      </div>
    </template>
  </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['function'] }}"></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['disassembly'] }}">
            <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 }}</div>
  	  <div class="col-md-10">{{ name }}</div>
  	</div>
  	<div class="row">
  	  <div class="col-md-2"></div>
  	  <div class="col-md-1">
  	  	<a href="{{ app.locationManager.relativeLink(isolate, 'stacktrace') }}">Stacktrace</a>
  	  </div>
      <div class="col-md-1">
        <a href="{{ app.locationManager.relativeLink(isolate, 'library') }}">Library</a>
      </div>
      <div class="col-md-1">
        <a href="{{ app.locationManager.relativeLink(isolate, 'debug/breakpoints') }}">Breakpoints</a>
      </div>
      <div class="col-md-1">
        <a href="{{ app.locationManager.relativeLink(isolate, 'profile') }}">Profile</a>
      </div>
  	  <div class="col-md-8"></div>
    </div>
  </template>
  
</polymer-element>
<polymer-element name="isolate-list" extends="observatory-element">
  <template>
      <ul class="list-group">
      <template repeat="{{ isolate in app.isolateManager.isolates.values }}">
      	<li class="list-group-item">
        <isolate-summary app="{{ app }}" isolate="{{ isolate.id }}" name="{{ isolate.name }}"></isolate-summary>
        </li>
      </template>
      </ul>
  </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="source-view" extends="observatory-element">
  <template>
  <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="panel-heading">{{ source.url }}</div>
      <div class="panel-body">
        <div class="row">
          <div><strong>Source</strong></div>
        </div>
        <pre>        <template repeat="{{ line in source.lines }}">{{line.paddedLine}} {{line.src}}
        </template>
        </pre>
      </div>
    </div>
  </div>
  </template>
  
</polymer-element><polymer-element name="script-view" extends="observatory-element">
  <template>
    <source-view app="{{ app }}" source="{{ script['source'] }}"></source-view>
  </template>
  
</polymer-element><polymer-element name="stack-trace" extends="observatory-element">
  <template>
  <div class="alert alert-info">Stack Trace</div>
  <table class="table table-hover">
    <thead>
      <tr>
        <th>Depth</th>
        <th>Function</th>
        <th>Script</th>
        <th>Line</th>
      </tr>
    </thead>
    <tbody>
      <tr template="" repeat="{{ frame in trace['members'] }}">
        <td>{{$index}}</td>
        <td><function-ref app="{{ app }}" ref="{{ frame['function'] }}"></function-ref></td>
        <td><script-ref app="{{ app }}" ref="{{ frame['script'] }}"></script-ref></td>
        <td>{{ frame['line'] }}</td>
      </tr>
    </tbody>
  </table>
  </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>
    <!-- If the message type is a RequestError -->
    <template if="{{ messageType == 'RequestError' }}">
      <error-view app="{{ app }}" error="{{ message['error'] }}"></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-view>
    </template>
    <template if="{{ messageType == 'Script' }}">
      <script-view app="{{ app }}" script="{{ message }}"></script-view>
    </template>
    <!-- Add new views and message types in the future here. -->
  </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="">Observatory</a>
      </div>
      <div class="collapse navbar-collapse navbar-ex1-collapse">
      </div>
    </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 Inclusive</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 topInclusiveCodes }}">
            <td>{{ codeTicks(code, true) }}</td>
            <td>{{ codePercent(code, true) }}</td>
            <td>{{ codeName(code) }}</td>
        </tr>
    </tbody></table>
    <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>{{ codeName(code) }}</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>
      <collapsible-content>
        <!-- <json-view json="{{ message }}"></json-view> -->
      </collapsible-content>
    </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></observatory-application>

</body></html>
