<!DOCTYPE html><html><head>
  <meta charset="utf-8">
  <title>Dart VM Observatory</title>
  
  
  
  
  
  
  
</head>
<body><script src="packages/web_components/platform.js"></script>


<!-- unminfied for debugging:
<link rel="import" href="src/js/polymer/layout.html">
<script src="src/js/polymer/polymer.concat.js"></script>
-->



<style shim-shadowdom="">
/*******************************
          Flex Layout
*******************************/

html /deep/ [layout][horizontal], html /deep/ [layout][vertical] {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

html /deep/ [layout][horizontal][inline], html /deep/ [layout][vertical][inline] {
  display: -ms-inline-flexbox;
  display: -webkit-inline-flex;
  display: inline-flex;
}

html /deep/ [layout][horizontal] {
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
}

html /deep/ [layout][horizontal][reverse] {
  -ms-flex-direction: row-reverse;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

html /deep/ [layout][vertical] {
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
}

html /deep/ [layout][vertical][reverse] {
  -ms-flex-direction: column-reverse;
  -webkit-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

html /deep/ [layout][wrap] {
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

html /deep/ [layout][wrap-reverse] {
  -ms-flex-wrap: wrap-reverse;
  -webkit-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse;
}

html /deep/ [flex] {
  -ms-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

html /deep/ [flex][auto] {
  -ms-flex: 1 1 auto;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
}

html /deep/ [flex][none] {
  -ms-flex: none;
  -webkit-flex: none;
  flex: none;
}

html /deep/ [flex][one] {
  -ms-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

html /deep/ [flex][two] {
  -ms-flex: 2;
  -webkit-flex: 2;
  flex: 2;
}

html /deep/ [flex][three] {
  -ms-flex: 3;
  -webkit-flex: 3;
  flex: 3;
}

html /deep/ [flex][four] {
  -ms-flex: 4;
  -webkit-flex: 4;
  flex: 4;
}

html /deep/ [flex][five] {
  -ms-flex: 5;
  -webkit-flex: 5;
  flex: 5;
}

html /deep/ [flex][six] {
  -ms-flex: 6;
  -webkit-flex: 6;
  flex: 6;
}

html /deep/ [flex][seven] {
  -ms-flex: 7;
  -webkit-flex: 7;
  flex: 7;
}

html /deep/ [flex][eight] {
  -ms-flex: 8;
  -webkit-flex: 8;
  flex: 8;
}

html /deep/ [flex][nine] {
  -ms-flex: 9;
  -webkit-flex: 9;
  flex: 9;
}

html /deep/ [flex][ten] {
  -ms-flex: 10;
  -webkit-flex: 10;
  flex: 10;
}

html /deep/ [flex][eleven] {
  -ms-flex: 11;
  -webkit-flex: 11;
  flex: 11;
}

html /deep/ [flex][twelve] {
  -ms-flex: 12;
  -webkit-flex: 12;
  flex: 12;
}

/* alignment in cross axis */

html /deep/ [layout][start] {
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

html /deep/ [layout][center] {
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

html /deep/ [layout][end] {
  -ms-flex-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

/* alignment in main axis */

html /deep/ [layout][start-justified] {
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

html /deep/ [layout][center-justified] {
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

html /deep/ [layout][end-justified] {
  -ms-flex-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

html /deep/ [layout][around-justified] {
  -ms-flex-pack: around;
  -webkit-justify-content: space-around;
  justify-content: space-around;
}

html /deep/ [layout][justified] {
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

/* self alignment */

html /deep/ [self-start] {
  -ms-align-self: flex-start;
  -webkit-align-self: flex-start;
  align-self: flex-start;
}

html /deep/ [self-center] {
  -ms-align-self: center;
  -webkit-align-self: center;
  align-self: center;
}

html /deep/ [self-end] {
  -ms-align-self: flex-end;
  -webkit-align-self: flex-end;
  align-self: flex-end;
}

html /deep/ [self-stretch] {
  -ms-align-self: stretch;
  -webkit-align-self: stretch;
  align-self: stretch;
}

/*******************************
          Other Layout
*******************************/

html /deep/ [block] {
  display: block;
}

/* ie support for hidden */
html /deep/ [hidden] {
  display: none !important;
}

html /deep/ [relative] {
  position: relative;
}

html /deep/ [fit] {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

body[fullbleed] {
  margin: 0;
  height: 100vh;
}

/*******************************
            Other
*******************************/

html /deep/ [segment], html /deep/ segment {
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  margin: 1em 0.5em;
  padding: 1em;
  background-color: white;
  -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
  border-radius: 5px 5px 5px 5px;
}

</style><script src="packages/polymer/src/js/polymer/polymer.js"></script><script>
// TODO(sigmund): remove this script tag (dartbug.com/19650). This empty
// script tag is necessary to work around a bug in Chrome 36.
</script><script type="text/javascript" src="https://www.google.com/jsapi"></script><style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>


















































<polymer-element name="curly-block">
  <template>
    <style>
      .idle {
        display: inline-block;
        color: #0489c3;
        cursor: pointer;
      }
      .busy {
        display: inline-block;
        color: white;
        cursor: wait;
      }
    </style>
    <template if="{{ expanded }}">
      <template if="{{ busy }}">
        {<div class="busy">&nbsp;&nbsp;⊟&nbsp;&nbsp;</div>
        <br>
        <content></content>
        }
      </template>
      <template if="{{ !busy }}">
        {<a on-click="{{ toggleExpand }}"><div class="idle">&nbsp;&nbsp;⊟&nbsp;&nbsp;</div></a>
        <br>
        <content></content>
        }
      </template>
    </template>

    <template if="{{ !expanded }}">
      <template if="{{ busy }}">
        {<div class="busy">&nbsp;&nbsp;⊞&nbsp;&nbsp;</div>}
      </template>
      <template if="{{ !busy }}">
        {<a on-click="{{ toggleExpand }}"><div class="idle">&nbsp;&nbsp;⊞&nbsp;&nbsp;</div></a>}
      </template>
    </template>
  </template>
</polymer-element>




<polymer-element name="observatory-element">
</polymer-element>




<polymer-element name="service-ref" extends="observatory-element">
</polymer-element>

<polymer-element name="instance-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <style>
      .errorBox {
        background-color: #f5f5f5;
        border: 1px solid #ccc;
        padding: 10px;
        font-family: consolas, courier, monospace;
        font-size: 1em;
        line-height: 1.2em;
        white-space: pre;
      }
    </style>
    <span>
      <template if="{{ isError(ref.serviceType) }}">
        <pre class="errorBox">{{ ref.message }}</pre>
      </template>

      <template if="{{ isUnexpected(ref.serviceType) }}">
        unexpected reference type &lt;{{ ref.serviceType }}&gt;
      </template>

      <template if="{{ isNull(ref.serviceType) }}">
        <div title="{{ hoverText }}">{{ ref['valueAsString'] }}</div>
      </template>

      <template if="{{ (isString(ref.serviceType) ||
                        isBool(ref.serviceType) ||
                        isInt(ref.serviceType)) ||
                        isDouble(ref.serviceType)) }}">
        <a on-click="{{ goto }}" href="{{ url }}">{{ ref['valueAsString'] }}</a>
      </template>

      <template if="{{ (isType(ref.serviceType)) }}">
        <a on-click="{{ goto }}" href="{{ url }}">{{ ref['user_name'] }}</a>
      </template>

      <template if="{{ isInstance(ref.serviceType) &amp;&amp;
                       ref['closureFunc'] != null}}">
        <a on-click="{{ goto }}" href="{{ url }}">
          <!-- TODO(turnidge): Switch this to fully-qualified function -->
          {{ ref['closureFunc']['user_name'] }}
        </a>
      </template>

      <template if="{{ isInstance(ref.serviceType) &amp;&amp;
                       ref['closureFunc'] == null}}">
        <a on-click="{{ goto }}" href="{{ url }}"><em>{{ ref['class'].name }}</em></a>
        <curly-block callback="{{ expander() }}">
          <div class="memberList">
            <template repeat="{{ field in ref['fields'] }}">
              <div class="memberItem">
                <div class="memberName">
                  {{ field['decl']['user_name'] }}
                </div>
                <div class="memberValue">
                  <instance-ref ref="{{ field['value'] }}"></instance-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block>
      </template>

      <template if="{{ isList(ref.serviceType) }}">
        <a on-click="{{ goto }}" href="{{ url }}"><em>{{ ref['class'].name }}</em> ({{ ref['length']}})</a>
        <curly-block callback="{{ expander() }}">
          <div class="memberList">
            <template repeat="{{ element in ref['elements'] }}">
              <div class="memberItem">
                <div class="memberName">[{{ element['index']}}]</div>
                <div class="memberValue">
                  <instance-ref ref="{{ element['value'] }}"></instance-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block>
      </template>
    </span>
  </template>
</polymer-element>

<polymer-element name="action-link">
  <template>
    <style>
      .idle {
        color: #0489c3;
        cursor: pointer;
      }
      .busy {
        color: #aaa;
        cursor: wait;
      }
    </style>

    <template if="{{ busy }}">
      <span class="busy">[{{ label }}]</span>
    </template>
    <template if="{{ !busy }}">
      <span class="idle"><a on-click="{{ doAction }}">[{{ label }}]</a></span>
    </template>
  </template>
</polymer-element>









<polymer-element name="nav-bar" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <style>
      nav {
        position: fixed;
        width: 100%;
        z-index: 1000;
      }
      nav ul {
        display: inline-table;
        position: relative;
        list-style: none;
        padding-left: 0;
        margin-left: 0;
        width: 100%;
        z-index: 1000;
        font: 400 16px 'Montserrat', sans-serif;
        color: white;
        background-color: #0489c3;
      }
      nav ul:after {
        content: ""; clear: both; display: block;
      }
      .vertical-spacer {
        height: 40px;
        background-color: #0489c3;
      }
    </style>
    <nav>
      <ul>
        <nav-notify events="{{ app.notifications }}"></nav-notify>
        <content></content>
      </ul>
    </nav>
    <div class="vertical-spacer">
    </div>
    <template if="{{ pad }}">
      <br>
    </template>
  </template>
</polymer-element>

<polymer-element name="nav-menu" extends="observatory-element">
  <template>
    <style>
      .menu, .spacer {
        float: left;
      }
      .menu a, .spacer {
        display: block;
        padding: 12px 8px;
        color: White;
        text-decoration: none;
      }
      .menu:hover {
        background: #455;
      }
      .menu ul {
        display: none;
        position: absolute;
        top: 98%;
        list-style: none;
        margin: 0;
        padding: 0;
        width: auto;
        z-index: 1000;
        font: 400 16px 'Montserrat', sans-serif;
        color: white;
        background: #567;
      }
      .menu ul:after {
        content: ""; clear: both; display: block;
      }
      .menu:hover > ul {
        display: block;
      }
    </style>

    <li class="menu">
      <a on-click="{{ goto }}" href="{{ gotoLink(link) }}">{{ anchor }}</a>
      <ul><content></content></ul>
    </li>
    <template if="{{ !last }}">
      <li class="spacer">&gt;</li>
    </template>

  </template>
</polymer-element>

<polymer-element name="nav-menu-item" extends="observatory-element">
  <template>
    <style>
      li {
        float: none;
        border-top: 1px solid #677;
        border-bottom: 1px solid #556; position: relative;
      }
      li:hover {
        background: #455;
      }
      li ul {
        display: none;
        position: absolute;
        top:0;
        left: 100%;
        list-style: none;
        padding: 0;
        margin-left: 0;
        width: auto;
        z-index: 1000;
        font: 400 16px 'Montserrat', sans-serif;
        color: white;
        background: #567;
      }
      li ul:after {
        content: ""; clear: both; display: block;
      }
      li:hover > ul {
        display: block;
      }
      li a {
        display: block;
        padding: 12px 12px;
        color: white;
        text-decoration: none;
      }
    </style>
    <li><a on-click="{{ goto }}" href="{{ gotoLink(link) }}">{{ anchor }}</a>
      <ul><content></content></ul>
    </li>
  </template>
</polymer-element>

<polymer-element name="nav-refresh" extends="observatory-element">
  <template>
    <style>
      .active {
        color: #aaa;
        cursor: wait;
      }
      .idle {
        color: #000;
      }
      li {
        float: right;
        margin: 0;
      }
      li button {
        margin: 3px;
        padding: 8px;
      }
    </style>
    <li>
      <template if="{{ active }}">
        <button class="active" on-click="{{ buttonClick }}">{{ label }}</button>
      </template>
      <template if="{{ !active }}">
        <button class="idle" on-click="{{ buttonClick }}">{{ label }}</button>
      </template>
    </li>
  </template>
</polymer-element>

<polymer-element name="nav-control" extends="observatory-element">
  <template>
    <style>
      .black {
        color: #000;
      }
      li {
        float: right;
        margin: 0;
      }
      button {
        margin: 3px;
        padding: 8px;
      }
    </style>
    <!-- Disable until issues with history in Dartium are fixed
    <li>
      <button class="black" on-click="{{ back }}">&#9664;</button>
      <button class="black" on-click="{{ forward }}">&#9654;</button>
    </li>
    -->
  </template>
</polymer-element>

<polymer-element name="top-nav-menu">
  <template>
    <nav-menu link="/vm" anchor="Observatory" last="{{ last }}">
      <nav-menu-item link="/vm-connect/" anchor="Connect to a different VM"></nav-menu-item>
      <content></content>
    </nav-menu>
  </template>
</polymer-element>

<polymer-element name="isolate-nav-menu" extends="observatory-element">
  <template>
    <nav-menu link="{{ hashLinkWorkaround }}" anchor="{{ isolate.name }}" last="{{ last }}">
      <nav-menu-item link="{{ isolate.relativeLink('stacktrace') }}" anchor="stack trace"></nav-menu-item>
      <nav-menu-item link="{{ isolate.relativeLink('profile') }}" anchor="cpu profile"></nav-menu-item>
      <nav-menu-item link="{{ isolate.relativeLink('allocationprofile') }}" anchor="allocation profile"></nav-menu-item>
      <nav-menu-item link="{{ isolate.relativeLink('heapmap') }}" anchor="heap map"></nav-menu-item>
      <nav-menu-item link="{{ isolate.relativeLink('debug/breakpoints') }}" anchor="breakpoints"></nav-menu-item>
      <content></content>
    </nav-menu>
  </template>
</polymer-element>

<polymer-element name="library-nav-menu" extends="observatory-element">
  <template>
    <nav-menu link="{{ library.link }}" anchor="{{ library.name }}" last="{{ last }}">
      <content></content>
    </nav-menu>
  </template>
</polymer-element>

<polymer-element name="class-nav-menu" extends="observatory-element">
  <template>
    <nav-menu link="{{ cls.link }}" anchor="{{ cls.name }}" last="{{ last }}">
      <content></content>
    </nav-menu>
  </template>
</polymer-element>

<polymer-element name="nav-notify" extends="observatory-element">
  <template>
    <style>
      .menu {
        float: right;
      }
      .menu .list {
        display: block;
        position: absolute;
        top: 98%;
        right: 0;
        margin: 0;
        padding: 0;
        width: auto;
        z-index: 1000;
        font: 400 12px 'Montserrat', sans-serif;
        color: white;
        background: none;
      }
    </style>

    <div class="menu">
      <div class="list">
        <template repeat="{{ event in events }}">
          <nav-notify-item events="{{ events }}" event="{{ event }}">
          </nav-notify-item>
        </template>
      </div>
    </div>
  </template>
</polymer-element>

<polymer-element name="nav-notify-item" extends="observatory-element">
  <template>
    <style>
      .item {
        position: relative;
        padding: 16px;
        margin-top: 10px;
        margin-right: 10px;
        padding-right: 25px;
        width: 200px;
        color: #ddd;
        background: rgba(0,0,0,.6);
        border: solid 2px white;
        box-shadow: 0 0 5px black;
        border-radius: 5px;
        animation: fadein 1s;
      }

      @keyframes fadein {
        from { opacity: 0; }
        to   { opacity: 1; }
      }

      a.link {
        color: white;
        text-decoration: none;
      }
      a.link:hover {
        text-decoration: underline;
      }

      a.boxclose {
        position: absolute;
        display: block;
        top: 4px;
        right: 4px;
        height: 18px;
        width: 18px;
        line-height: 16px;
        border-radius: 9px;
        color: white;
        font-size: 18px;
        cursor: pointer;
        text-align: center;
      }
      a.boxclose:hover {
        background: rgba(255,255,255,0.5);
      }
    </style>
    <template if="{{ event.eventType == 'IsolateInterrupted' }}">
      <div class="item">
        Isolate
        <a class="link" on-click="{{ goto }}" href="{{ event.isolate.link }}">{{ event.isolate.name }}</a>
        is paused
        <a class="boxclose" on-click="{{ closeItem }}">×</a>
      </div>
    </template>
    <template if="{{ event.eventType == 'BreakpointReached' }}">
      <div class="item">
        Isolate
        <a class="link" on-click="{{ goto }}" href="{{ event.isolate.link }}">{{ event.isolate.name }}</a>
        is paused at breakpoint {{ event.breakpoint['id'] }}
        <a class="boxclose" on-click="{{ closeItem }}">×</a>
      </div>
    </template>
    <template if="{{ event.eventType == 'ExceptionThrown' }}">
      <div class="item">
        Isolate
        <a class="link" on-click="{{ goto }}" href="{{ event.isolate.link }}">{{ event.isolate.name }}</a>
        is paused at exception
        <a class="boxclose" on-click="{{ closeItem }}">×</a>
      </div>
    </template>
  </template>
</polymer-element>



<polymer-element name="breakpoint-list" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ msg.isolate }}"></isolate-nav-menu>
      <nav-menu link="{{ gotoLink(msg.isolate.relativeLink('debug/breakpoints')) }}" anchor="breakpoints" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>
    <template if="{{ msg['breakpoints'].isEmpty }}">
      <div>
        <div>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="class-ref" extends="service-ref">
  <template><style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style><a on-click="{{ goto }}" title="{{ hoverText }}" href="{{ url }}">{{ name }}</a></template>
</polymer-element>







<polymer-element name="class-tree" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <style>
      .table {
        border-collapse: collapse!important;
        width: 100%;
        margin-bottom: 20px
      }
      .table thead > tr > th,
      .table tbody > tr > th,
      .table tfoot > tr > th,
      .table thead > tr > td,
      .table tbody > tr > td,
      .table tfoot > tr > td {
        padding: 8px;
        vertical-align: top;
      }
      .table thead > tr > th {
        vertical-align: bottom;
        text-align: left;
        border-bottom:2px solid #ddd;
      }

      tr:hover > td {
        background-color: #FFF3E3;
      }
      .rowColor0 {
        background-color: #FFE9CC;
      }
      .rowColor1 {
        background-color: #FFDEB2;
      }
      .rowColor2 {
        background-color: #FFD399;
      }
      .rowColor3 {
        background-color: #FFC87F;
      }
      .rowColor4 {
        background-color: #FFBD66;
      }
      .rowColor5 {
        background-color: #FFB24C;
      }
      .rowColor6 {
        background-color: #FFA733;
      }
      .rowColor7 {
        background-color: #FF9C19;
      }
      .rowColor8 {
        background-color: #FF9100;
      }

      .tooltip {
        display: block;
        position: absolute;
        visibility: hidden;
        opacity: 0;
        transition: visibility 0s linear 0.5s;
        transition: opacity .4s ease-in-out;
      }

      tr:hover .tooltip {
        display: block;
        position: absolute;
        top: 100%;
        right: 100%;
        visibility: visible;
        z-index: 999;
        width: 400px;
        color: #ffffff;
        background-color: #0489c3;
        border-top-right-radius: 8px;
        border-top-left-radius: 8px;
        border-bottom-right-radius: 8px;
        border-bottom-left-radius: 8px;
        transition: visibility 0s linear 0.5s;
        transition: opacity .4s ease-in-out;
        opacity: 1;
      }

      .white {
        color: #ffffff;
      }
    </style>
    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-control></nav-control>
    </nav-bar>
    <div class="content-centered">
      <h1>Class Hierarchy</h1>
      <table id="tableTree" class="table">
        <thead>
          <tr>
            <th>Class</th>
          </tr>
        </thead>
        <tbody>
          <tr template="" repeat="{{row in tree.rows }}">
            <td on-click="{{toggleExpanded}}" class="{{ coloring(row) }}" style="{{ padding(row) }}">
              <span id="expand" style="{{ row.expanderStyle }}">{{ row.expander }}</span>
              <class-ref ref="{{ row.cls }}"></class-ref>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </template>
</polymer-element>



















<polymer-element name="eval-box" extends="observatory-element">
  <template>
    <style>
      .textbox {
        width: 80ex;
        font: 400 16px 'Montserrat', sans-serif;
      }
      .bigtextbox {
        font: 400 16px 'Montserrat', sans-serif;
      }
      .button {
        font: 400 16px 'Montserrat', sans-serif;
      }
      .radios {
        display: inline;
      }
      .radios label{
        padding-left: 15px;
      }
      .historyExpr, .historyValue {
        vertical-align: text-top;
        font: 400 14px 'Montserrat', sans-serif;
      }
      .historyExpr a {
        display: block;
        color: black;
        text-decoration: none;
        padding: 6px 6px;
        cursor: pointer;
        white-space: pre-line;
      }
      .historyExpr a:hover {
        background-color: #fff3e3;
      }
      .historyValue {
        display: block;
        padding: 6px 6px;
      }
    </style>
    <form>
      <template if="{{ lineMode == '1-line' }}">
        <input class="textbox" type="text" value="{{ text }}">
      </template>
      <template if="{{ lineMode == 'N-line' }}">
        <textarea class="bigtextbox" rows="5" cols="80" value="{{ text }}"></textarea>
      </template>

      <input class="button" type="submit" value="Evaluate" on-click="{{ eval }}">
      <div class="radios" on-change="{{ updateLineMode }}">
        <label for="1-line">1-line
          <input type="radio" name="lineMode" value="1-line" checked="">
        </label>
        <label for="N-line">N-line
          <input type="radio" name="lineMode" value="N-line">
        </label>
      </div>
    </form>

    <br>
    <template if="{{ results.isNotEmpty }}">
      <table>
        <tbody><tr template="" repeat="{{ result in results }}">
          <td class="historyExpr">
            <a class="expr" on-click="{{ selectExpr }}" expr="{{ result['expr'] }}">{{ result['expr'] }}</a>
          </td>
          <td class="historyValue">
            <template if="{{ result['value'] == null }}">
              <div style="color:#aaa;cursor:wait;">&lt;pending&gt;</div>
            </template>
            <template if="{{ result['value'] != null }}">
              <instance-ref ref="{{ result['value'] }}"></instance-ref>
            </template>
          </td>
        </tr>
      </tbody></table>
    </template>
  </template>
</polymer-element>





<polymer-element name="eval-link">
  <template>
    <style>
      .idle {
        color: #0489c3;
        cursor: pointer;
      }
      .busy {
        color: #aaa;
        cursor: wait;
      }
    </style>

    <template if="{{ busy }}">
      <span class="busy">{{ label }}</span>
    </template>
    <template if="{{ !busy }}">
      <span class="idle"><a on-click="{{ evalNow }}">{{ label }}</a></span>
    </template>
    <template if="{{ result != null }}">
      = <instance-ref ref="{{ result }}"></instance-ref>
    </template>
  </template>
</polymer-element>







<polymer-element name="field-ref" extends="service-ref">
  <template>
  <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <div>
      <template if="{{ ref['static'] }}">static</template>
      <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') }}">
        <instance-ref ref="{{ ref['declared_type'] }}"></instance-ref>
      </template>
      <a on-click="{{ goto }}" title="{{ hoverText }}" href="{{ url }}">{{ name }}</a>
    </div>
  </template>
</polymer-element>






<polymer-element name="function-ref" extends="service-ref">
  <template><style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style><!-- These comments are here to allow newlines.
     --><template if="{{ ref.isDart }}"><!--
       --><template if="{{ qualified &amp;&amp; ref.parent == null &amp;&amp; ref.owningClass != null }}"><!--
       --><class-ref ref="{{ ref.owningClass] }}"></class-ref>.</template><!--
     --><template if="{{ qualified &amp;&amp; ref.parent != null }}"><!--
       --><function-ref ref="{{ ref.parent }}" qualified="{{ true }}">
          </function-ref>.<!--
     --></template><a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a><!--
  --></template><template if="{{ !ref.isDart }}"><span> {{ name }}</span></template></template>
</polymer-element>




<polymer-element name="library-ref" extends="service-ref">
  <template><style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <template if="{{ nameIsEmpty }}">
      <a on-click="{{ goto }}" href="{{ url }}">unnamed</a>
    </template>
    <template if="{{ !nameIsEmpty }}">
      <a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a>
    </template>
  </template>
</polymer-element>




<polymer-element name="script-inset" extends="observatory-element">
  <template>
    <style>
      .sourceInset {
        padding-left: 15%;
        padding-right: 15%;
      }
      .sourceBox {
        width: 100%;
        background-color: #f5f5f5;
        border: 1px solid #ccc;
        padding: 10px;
        overflow-y: auto;
      }
      .sourceTable {
        display: table;
      }
      .sourceRow {
        display: table-row;
      }
      .sourceItem, .sourceItemCurrent {
        display: table-cell;
        vertical-align: top;
        font: 400 14px consolas, courier, monospace;
        line-height: 125%;
        white-space: pre;
      }
      .sourceItemCurrent {
        background-color: #6cf;
      }
      .hitsNone, .hitsNotExecuted, .hitsExecuted {
        min-width: 32px;
        text-align: right;
      }
      .hitsNotExecuted {
        background-color: #e66;
      }
      .hitsExecuted {
        background-color: #6d6;
      }
    </style>
    <div class="sourceInset">
      <content></content>
      <div class="sourceBox" style="height:{{height}}">
        <div class="sourceTable">
          <template repeat="{{ line in lines }}">
            <div class="sourceRow" id="{{ makeLineId(line.line) }}">
              <template if="{{ line.hits == null }}">
                <div class="hitsNone">{{ line.line }}</div>
              </template>
              <template if="{{ line.hits == 0 }}">
                <div class="hitsNotExecuted">{{ line.line }}</div>
              </template>
              <template if="{{ line.hits > 0 }}">
                <div class="hitsExecuted">{{ line.line }}</div>
              </template>
              <div class="sourceItem">&nbsp;</div>
              <template if="{{ line.line == currentLine }}">
                <div id="currentLine" class="sourceItemCurrent">{{line.text}}</div>
              </template>
              <template if="{{ line.line != currentLine }}">
                <div class="sourceItem">{{line.text}}</div>
              </template>
            </div>
          </template>
        </div>
      </div>
    </div>
  </template>
</polymer-element>






<polymer-element name="script-ref" extends="service-ref">
<template>
  <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
  <a on-click="{{ goto }}" title="{{ hoverText }}" href="{{ url }}">{{ name }}</a>
</template>
</polymer-element>


<polymer-element name="class-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ cls.isolate }}"></isolate-nav-menu>
      <library-nav-menu library="{{ cls.library }}"></library-nav-menu>
      <class-nav-menu cls="{{ cls }}" last="{{ true }}"></class-nav-menu>
      <nav-refresh callback="{{ refreshCoverage }}" label="Refresh Coverage"></nav-refresh>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>
        <template if="{{ cls.isAbstract }}">
          abstract
        </template>
        <template if="{{ cls.isPatch }}">
          patch
        </template>
        class {{ cls.name }}
      </h1>
      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">library</div>
          <div class="memberValue">
            <library-ref ref="{{ cls.library }}"></library-ref>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberName">script</div>
          <div class="memberValue">
            <script-ref ref="{{ cls.script }}" pos="{{ cls.tokenPos }}">
            </script-ref>
          </div>
        </div>

        <div class="memberItem">&nbsp;</div>

        <template if="{{ cls.superClass != null }}">
          <div class="memberItem">
            <div class="memberName">extends</div>
            <div class="memberValue">
              <class-ref ref="{{ cls.superClass }}"></class-ref>
            </div>
          </div>
        </template>
        <template if="{{ cls.subClasses.length > 0 }}">
          <div class="memberItem">
            <div class="memberName">extended by</div>
            <div class="memberValue">
              <template repeat="{{ subclass in cls.subClasses }}">
                <class-ref ref="{{ subclass }}"></class-ref>
              </template>
            </div>
          </div>
        </template>

        <div class="memberItem">&nbsp;</div>

        <template if="{{ cls.interfaces.length > 0 }}">
          <div class="memberItem">
            <div class="memberName">implements</div>
            <div class="memberValue">
              <template repeat="{{ interface in cls.interfaces }}">
                <class-ref ref="{{ interface }}"></class-ref>
              </template>
            </div>
          </div>
        </template>
        <template if="{{ cls.name != cls.vmName }}">
          <div class="memberItem">
            <div class="memberName">vm name</div>
            <div class="memberValue">{{ cls.vmName }}</div>
          </div>
        </template>
      </div>
    </div>

    <template if="{{ cls.error != null }}">
      <!-- TODO(turnidge): Don't use instance-ref for error display here -->
      <instance-ref ref="{{ cls.error }}"></instance-ref>
    </template>

    <hr>

    <div class="content">
      <template if="{{ cls.fields.isNotEmpty }}">
        fields ({{ cls.fields.length }})
        <curly-block expand="{{ cls.fields.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ field in cls.fields }}">
              <div class="memberItem">
                <div class="memberName">
                  <field-ref ref="{{ field }}"></field-ref>
                </div>
                <div class="memberValue">
                  <template if="{{ field['value'] != null }}">
                    <instance-ref ref="{{ field['value'] }}"></instance-ref>
                  </template>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br><br>
      </template>

      <template if="{{ cls.functions.isNotEmpty }}">
        functions ({{ cls.functions.length }})
        <curly-block expand="{{ cls.functions.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ function in cls.functions }}">
              <div class="memberItem">
                <div class="memberValue">
                  <function-ref ref="{{ function }}" qualified="{{ false }}">
                  </function-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br><br>
      </template>
      
      <template if="{{ !cls.hasNoAllocations }}">
        instances
          <div class="memberItem">
            <div class="memberName">currently allocated</div>
            <div class="memberValue">
              count {{ cls.newSpace.current.instances + cls.oldSpace.current.instances }}
              (shallow size {{ cls.newSpace.current.bytes + cls.oldSpace.current.bytes | formatSize }})
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">strongly reachable</div>
            <div class="memberValue">
              <template if="{{ instances == null }}">
                <eval-link callback="{{ reachable }}" label="[find]" expr="100">
                </eval-link>
              </template>
              <template if="{{ instances != null }}">
                sample
                <instance-ref ref="{{ instances['sample'] }}"></instance-ref>
                <template if="{{ instances['totalCount'] > instances['sampleCount'] }}">
                  <eval-link callback="{{ reachable }}" label="[more]" expr="{{ instances['sampleCount'] * 2 }}">
                  </eval-link>
                </template>
                of total {{ instances['totalCount'] }}
              </template>
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">retained size</div>
            <div class="memberValue">
              <template if="{{ retainedBytes == null }}">
                <eval-link callback="{{ retainedSize }}" label="[calculate]">
                </eval-link>
              </template>
              <template if="{{ retainedBytes != null }}">
                {{ retainedBytes | formatSize }}
              </template>
            </div>
          </div>
        </template>
    </div>

    <hr>

    <div class="content">
      <eval-box callback="{{ eval }}"></eval-box>
    </div>

    <hr>
    <script-inset script="{{ cls.script }}" startpos="{{ cls.tokenPos }}" endpos="{{ cls.endTokenPos }}">
    </script-inset>

    <br><br><br><br>
    <br><br><br><br>
  </template>
</polymer-element>





<polymer-element name="code-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <template if="{{ code.isDartCode }}">
        <template if="{{ code.isOptimized }}">
          <a on-click="{{ goto }}" href="{{ url }}">*{{ name }}</a>
        </template>
        <template if="{{ !code.isOptimized }}">
          <a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a>
        </template>
    </template>
    <template if="{{ !code.isDartCode }}">
      <span>{{ name }}</span>
    </template>
  </template>
</polymer-element>








<polymer-element name="code-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <style>
      div.flex-row:hover {
        background-color: #FFF3E3;
      }

      .highlight {
        background-color: #FFF3E3;
      }

      .tooltip {
        display: block;
        position: absolute;
        visibility: hidden;
        opacity: 0;
        transition: visibility 0s linear 0.5s;
        transition: opacity .4s ease-in-out;
      }

      .flex-row:hover .tooltip {
        display: block;
        position: absolute;
        top: 100%;
        visibility: visible;
        z-index: 999;
        width: auto;
        min-width: 400px;
        color: #ffffff;
        background-color: #FFF3E3;
        border-bottom-right-radius: 8px;
        border-bottom-left-radius: 8px;
        transition: visibility 0s linear 0.5s;
        transition: opacity .4s ease-in-out;
        opacity: 1;
      }

      .descriptor-address {
        color: #0489c3;
      }

      .snippet {
        text-align: center;
        margin-left: 10px;
        margin-right: 10px;
      }

    </style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ code.isolate }}"></isolate-nav-menu>
      <nav-menu link="{{ code.link }}" anchor="{{ code.name }}" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>
    <div class="content">
      <template if="{{ code.isDartCode &amp;&amp; code.isOptimized }}">
        <h1>Optimized code for {{ code.name }}</h1>
      </template>
      <template if="{{ !(code.isDartCode &amp;&amp; code.isOptimized) }}">
        <h1>Code for {{ code.name }}</h1>
      </template>
      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">Kind</div>
          <div class="memberValue">{{code.kind}}</div>
        </div>
        <template if="{{ code.isDartCode }}">
          <div class="memberItem">
            <div class="memberName">Optimized</div>
            <div class="memberValue">{{code.isOptimized}}</div>
          </div>
        </template>
        <div class="memberItem">
          <div class="memberName">Function</div>
          <div class="memberValue">
            <function-ref ref="{{code.function}}">
            </function-ref>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberName">Inclusive</div>
          <div class="memberValue">{{ code.formattedInclusiveTicks }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Exclusive</div>
          <div class="memberValue">{{ code.formattedExclusiveTicks }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Constant object pool</div>
          <div class="memberValue">
            <instance-ref ref="{{ code.objectPool }}"></instance-ref>
          </div>
        </div>
      </div>
    </div>
    <hr>
    <div class="content">
      <template if="{{ code.hasDisassembly }}">
        <div class="flex-row">
            <div class="flex-item-fixed-2-12 memberHeader">Inclusive</div>
            <div class="flex-item-fixed-2-12 memberHeader">Exclusive</div>
            <div class="flex-item-fixed-2-12 memberHeader">Address</div>
            <div class="flex-item-fixed-6-12 memberHeader">Disassembly</div>
        </div>
      </template>
      <template repeat="{{ instruction in code.instructions }}">
        <div class="flex-row" on-mouseover="{{ mouseOver }}" on-mouseout="{{ mouseOut }}" data-jump-target="{{ instruction.jumpTarget.address }}" id="addr-{{ instruction.address }}" style="position: relative">
          <template if="{{ instruction.isComment }}">
            <div class="flex-item-fixed-2-12 monospace">{{ instruction.formattedInclusive(code) }}</div>
            <div class="flex-item-fixed-2-12 monospace">{{ instruction.formattedExclusive(code) }}</div>
            <div class="flex-item-fixed-8-12 monospace">{{ instruction.human }}</div>
          </template>
          <template if="{{ !instruction.isComment }}">
            <div class="flex-item-fixed-2-12 monospace">{{ instruction.formattedInclusive(code) }}</div>
            <div class="flex-item-fixed-2-12 monospace">{{ instruction.formattedExclusive(code) }}</div>
            <template if="{{ instruction.hasDescriptors }}">
              <div class="flex-item-fixed-2-12 monospace descriptor-address">
                <div class="tooltip">
                  <template repeat="{{ descriptor in instruction.descriptors }}">
                    <div class="memberList">
                      <div class="memberItem">
                       <div class="memberName">Kind</div>
                       <div class="memberValue">{{ descriptor.kind }}</div>
                      </div>
                      <div class="memberItem">
                       <div class="memberName">Deoptimization ID</div>
                       <div class="memberValue">{{ descriptor.formattedDeoptId() }}</div>
                      </div>
                      <template if="{{ descriptor.script != null }}">
                        <div class="memberItem">
                         <div class="memberName">Script</div>
                         <div class="memberValue"><script-ref ref="{{ descriptor.script }}" pos="{{ descriptor.tokenPos }}"></script-ref></div>
                        </div>
                      </template>
                    </div>
                    <template if="{{ descriptor.script != null }}">
                      <div class="snippet monospace">
                        <span>{{ descriptor.formattedLine }}</span>
                      </div>
                    </template>
                  </template>
                </div>
                {{ instruction.formattedAddress() }}
              </div>
            </template>
            <template if="{{ !instruction.hasDescriptors }}">
              <div class="flex-item-fixed-2-12 monospace">
                {{ instruction.formattedAddress() }}
              </div>
            </template>
            <div class="flex-item-fixed-6-12 monospace">
              {{ instruction.human }}
            </div>
          </template>
        </div>
      </template>
    </div>
  </template>
</polymer-element>






<polymer-element name="error-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-control></nav-control>
    </nav-bar>
    <div class="content-centered">
      <h1>{{ error.kind }}</h1>
      <br>
      <div class="well">{{ error.message }}</div>
    </div>
  </template>
</polymer-element>










<polymer-element name="field-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ field.isolate }}"></isolate-nav-menu>
      <template if="{{ field['owner'].serviceType == 'Class' }}">
        <!-- TODO(turnidge): Add library nav menu here. -->
        <class-nav-menu cls="{{ field['owner'] }}"></class-nav-menu>
      </template>
      <template if="{{ field['owner'].serviceType == 'Library' }}">
        <library-nav-menu library="{{ field['owner'] }}"></library-nav-menu>
      </template>
      <nav-menu link="{{ field.link }}" anchor="{{ field['user_name'] }}" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>
        <template if="{{ field['static'] }}">static</template>
        <template if="{{ field['final'] }}">final</template>
        <template if="{{ field['const'] }}">const</template>
        <template if="{{ (field['declared_type']['name'] == 'dynamic' &amp;&amp;
                         !field['final'] &amp;&amp; !field['const']) }}">
          var
        </template>
        <template if="{{ (field['declared_type']['user_name'] != 'dynamic') }}">
          {{ field['declared_type']['user_name'] }}
        </template>
        {{ field['user_name'] }}
      </h1>
      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">owner</div>
          <div class="memberValue">
            <template if="{{ field['owner'].serviceType == 'Class' }}">
              <class-ref ref="{{ field['owner'] }}"></class-ref>
            </template>
            <template if="{{ field['owner'].serviceType != 'Class' }}">
              <library-ref ref="{{ field['owner'] }}"></library-ref>
            </template>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberName">script</div>
          <div class="memberValue">
            <script-ref ref="{{ field['script'] }}"></script-ref>
          </div>
        </div>
        <template if="{{ !field['static'] }}">
          <div class="memberItem" title="The types observed for this field at runtime.  Fields that are observed to have a single type at runtime or to never be null may allow for additional optimization.">
            <div class="memberName">observed types</div>
            <div class="memberValue">
              <template if="{{ field['guard_class'] == 'dynamic' }}">
                various
              </template>
              <template if="{{ field['guard_class'] == 'unknown' }}">
                none
              </template>
              <template if="{{ field['guard_class'] != 'unknown' &amp;&amp;
                            field['guard_class'] != 'dynamic' }}">
                <class-ref ref="{{ field['guard_class'] }}"></class-ref>
                <template if="{{ field['guard_nullable'] }}">
                  — null observed
                </template>
                <template if="{{ !field['guard_nullable'] }}">
                  — null not observed
                </template>
              </template>
            </div>
          </div>
        </template>
        <template if="{{ field['value'] != null }}">
          <div class="memberItem">
            <div class="memberName">static value</div>
            <div class="memberValue">
              <instance-ref ref="{{ field['value'] }}"></instance-ref>
            </div>
          </div>
        </template>
      </div>
    </div>
  </template>
</polymer-element>













<polymer-element name="stack-frame" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <div class="flex-row">
      <div class="flex-item-fixed-1-12">
      </div>
      <div class="flex-item-fixed-1-12">
        #{{ frame['depth'] }}
      </div>
      <div class="flex-item-fixed-9-12">
        <function-ref ref="{{ frame['function'] }}"></function-ref>
          ( <script-ref ref="{{ frame['script'] }}" pos="{{ frame['tokenPos'] }}">
          </script-ref> )

          <curly-block>
            <div class="memberList">
              <template repeat="{{ v in frame['vars'] }}">
                <div class="memberItem">
                  <div class="memberName">{{ v['name']}}</div>
                  <div class="memberValue">
                    <instance-ref ref="{{ v['value'] }}"></instance-ref>
                  </div>
                </div>
              </template>
            </div>
          </curly-block>
      </div>
      <div class="flex-item-fixed-1-12">
      </div>
    </div>
  </template>
</polymer-element>

<polymer-element name="flag-list" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <nav-menu link="{{ flagList.vm.relativeLink('flags') }}" anchor="flags" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content-centered">
      <template if="{{ flagList['modifiedFlags'].isNotEmpty }}">
        <h1>Modified Flags</h1>
        <br>
        <template repeat="{{ flag in flagList['modifiedFlags'] }}">
          <flag-item flag="{{ flag }}"></flag-item>
          <br>
        </template>
        <hr>
      </template>

      <h1>Unmodified Flags</h1>
      <br>
      <template if="{{ flagList['unmodifiedFlags'].isEmpty }}">
        <em>None</em>
      </template>
      <template if="{{ flagList['unmodifiedFlags'].isNotEmpty }}">
        <template repeat="{{ flag in flagList['unmodifiedFlags'] }}">
          <flag-item flag="{{ flag }}"></flag-item>
          <br>
        </template>
      </template>
    </div>

  </template>
</polymer-element>

<polymer-element name="flag-item" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <span style="color:#aaa">// {{ flag['comment'] }}</span>
    <div style="padding: 3px 0">
      <b>{{ flag['name'] }}</b>
      &nbsp;=&nbsp;
      {{ flag['valueAsString'] }}
    </div>
  </template>
</polymer-element>












<polymer-element name="function-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ function.isolate }}"></isolate-nav-menu>
      <template if="{{ function.owningClass != null }}">
        <!-- TODO(turnidge): Add library nav menu here. -->
        <class-nav-menu cls="{{ function.owningClass }}"></class-nav-menu>
      </template>
      <template if="{{ function.owningLibrary != null }}">
        <library-nav-menu library="{{ function.owningLibrary }}"></library-nav-menu>
      </template>
      <nav-menu link="{{ function.link }}" anchor="{{ function.name }}" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>function {{ function.qualifiedName }}</h1>

      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">kind</div>
          <div class="memberValue">
            <template if="{{ function.isStatic }}">static</template>
            <template if="{{ function.isConst }}">const</template>
            {{ function.kind.toString() }}
          </div>
        </div>
        <template if="{{ function.parent != null }}">
          <div class="memberItem">
            <div class="memberName">parent function</div>
            <div class="memberValue">
              <function-ref ref="{{ function.parent }}"></function-ref>
            </div>
          </div>
        </template>
        <div class="memberItem">
          <div class="memberName">owner</div>
          <div class="memberValue">
            <template if="{{ function.owningClass != null }}">
              <class-ref ref="{{ function.owningClass }}"></class-ref>
            </template>
            <template if="{{ function.owningLibrary != null }}">
              <library-ref ref="{{ function.owningLibrary }}"></library-ref>
            </template>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberName">script</div>
          <div class="memberValue">
            <script-ref ref="{{ function.script }}" pos="{{ function.tokenPos }}">
            </script-ref>
          </div>
        </div>

        <div class="memberItem">&nbsp;</div>

        <template if="{{ function.code != null }}">
          <div class="memberItem">
            <div class="memberName">optimized code</div>
            <div class="memberValue">
              <code-ref ref="{{ function.code }}"></code-ref>
            </div>
          </div>
        </template>
        <template if="{{ function.unoptimizedCode != null }}">
          <div class="memberItem">
            <div class="memberName">unoptimized code</div>
            <div class="memberValue">
              <code-ref ref="{{ function.unoptimizedCode }}"></code-ref>
            </div>
              <div class="memberValue">
                <span title="This count is used to determine when a function will be optimized.  It is a combination of call counts and other factors.">
                  (usage count: {{ function.usageCounter }})
                </span>
             </div>
           </div>
         </template>
         <div class="memberItem">
           <div class="memberName">deoptimizations</div>
           <div class="memberValue">{{ function.deoptimizations }}</div>
         </div>
         <div class="memberItem">
           <div class="memberName">optimizable</div>
           <div class="memberValue">{{ function.isOptimizable }}</div>
         </div>
         <div class="memberItem">
           <div class="memberName">inlinable</div>
           <div class="memberValue">{{ function.isInlinable }}</div>
         </div>
         <template if="{{ function.name != function.vmName }}">
           <div class="memberItem">
             <div class="memberName">vm name</div>
             <div class="memberValue">{{ function.vmName }}</div>
           </div>
         </template>
       </div>
    </div>

    <hr>
    <script-inset script="{{ function.script }}" startpos="{{ function.tokenPos }}" endpos="{{ function.endTokenPos }}">
    </script-inset>

    <br>
  </template>
</polymer-element>







<polymer-element name="heap-map" extends="observatory-element">
<template>
  <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
  <style>
    .hover {
      position: fixed;
      z-index: 999;
      height: 16px;
      width: 100%;
      background: #ffffff;
    }
    .spacer {
      height: 16px;
      background-color: red;
    }
  </style>
  <nav-bar pad="{{ false }}">
    <top-nav-menu></top-nav-menu>
    <isolate-nav-menu isolate="{{ fragmentation.isolate }}"></isolate-nav-menu>
    <nav-menu link="{{ fragmentation.isolate.relativeLink('heapmap') }}" anchor="heap map" last="{{ true }}"></nav-menu>
    <nav-refresh callback="{{ refresh }}"></nav-refresh>
    <nav-control></nav-control>
  </nav-bar>
  <div class="hover">
    <p style="text-align:center">{{ status }}</p>
  </div>
  <div class="spacer">
    <!-- Make sure no data is covered by hover bar initially -->
  </div>
  <div class="flex-row">
    <canvas id="fragmentation" width="1px" height="1px"></canvas>
  </div>
</template>
</polymer-element>






<polymer-element name="io-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>dart:io</h1>

      <br>

      <ul class="list-group">
        <li class="list-group-item">
          <a on-click="{{ goto }}" href="{{gotoLink(io.isolate.relativeLink('io/http/servers'))}}">HTTP Servers</a>
        </li>
      </ul>

      <br>

      <ul class="list-group">
        <li class="list-group-item">
          <a on-click="{{ goto }}" href="{{gotoLink(io.isolate.relativeLink('io/sockets'))}}">Sockets</a>
        </li>
      </ul>

      <br>

      <ul class="list-group">
        <li class="list-group-item">
          <a on-click="{{ goto }}" href="{{gotoLink(io.isolate.relativeLink('io/websockets'))}}">WebSockets</a>
        </li>
      </ul>

      <br>

      <ul class="list-group">
        <li class="list-group-item">
          <a on-click="{{ goto }}" href="{{gotoLink(io.isolate.relativeLink('io/file/randomaccessfiles'))}}">Random Access Files</a>
        </li>
      </ul>

      <br>

      <ul class="list-group">
        <li class="list-group-item">
          <a on-click="{{ goto }}" href="{{gotoLink(io.isolate.relativeLink('io/processes'))}}">Processess</a>
        </li>
      </ul>

    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <template if="{{ ref.serviceType == 'Socket' }}">
      <io-socket-ref ref="{{ ref }}"></io-socket-ref>
    </template>
    <template if="{{ ref.serviceType == 'HttpServerConnection' }}">
      <io-http-server-connection-ref ref="{{ ref }}"></io-http-server-connection-ref>
    </template>
    <template if="{{ ref.serviceType == 'HttpServer' }}">
      <io-http-server-ref ref="{{ ref }}"></io-http-server-ref>
    </template>
    <template if="{{ ref.serviceType == 'WebSocket' }}">
      <io-web-socket-ref ref="{{ ref }}"></io-web-socket-ref>
    </template>
    <template if="{{ ref.serviceType == 'Process' }}">
      <io-process-ref ref="{{ ref }}"></io-process-ref>
    </template>
  </template>
</polymer-element>

<polymer-element name="io-http-server-list-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>HttpServers</h1>

      <br>

      <ul class="list-group">
        <template repeat="{{ httpServer in list['members'] }}">
          <li class="list-group-item">
            <io-http-server-ref ref="{{ httpServer }}"></io-http-server-ref>
          </li>
        </template>
      </ul>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-http-server-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a>
  </template>
</polymer-element>

<polymer-element name="io-http-server-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>HttpServer</h1>

      <br>

      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">Socket</div>
          <div class="memberValue"><io-socket-ref ref="{{ httpServer['socket'] }}"></io-socket-ref></div>
        </div>
        <div class="memberItem">
          <div class="memberName">Address</div>
          <div class="memberValue">{{ httpServer['address'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Port</div>
          <div class="memberValue">{{ httpServer['port'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Active connections</div>
          <ul class="list-group">
            <template repeat="{{ connection in httpServer['active'] }}">
              <li class="list-group-item">
                <io-http-server-connection-ref ref="{{ connection }}"></io-http-server-connection-ref>
              </li>
            </template>
          </ul>
        </div>
        <div class="memberItem">
          <div class="memberName">Idle connections</div>
          <ul class="list-group">
            <template repeat="{{ connection in httpServer['idle'] }}">
              <li class="list-group-item">
                <io-http-server-connection-ref ref="{{ connection }}"></io-http-server-connection-ref>
              </li>
            </template>
          </ul>
        </div>
      </div>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-http-server-connection-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <a href="{{ url }}">{{ name }}</a>
  </template>
</polymer-element>

<polymer-element name="io-http-server-connection-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>HttpConnection</h1>

      <br>

      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">Socket</div>
          <div class="memberValue"><io-socket-ref ref="{{ connection['socket'] }}"></io-socket-ref></div>
        </div>
        <div class="memberItem">
          <div class="memberName">State</div>
          <div class="memberValue">{{ connection['state'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Server</div>
          <div class="memberValue"><io-http-server-ref ref="{{ connection['server'] }}"></io-http-server-ref></div>
        </div>
      </div>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-socket-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a>
  </template>
</polymer-element>

<polymer-element name="io-socket-list-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>Sockets</h1>

      <br>

      <ul class="list-group">
        <template repeat="{{ socket in list['members'] }}">
          <li class="list-group-item">
            <io-socket-ref ref="{{ socket }}"></io-socket-ref>
          </li>
        </template>
      </ul>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-socket-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <!-- Pipe Socket -->
      <template if="{{ socket.isPipe }}">
        <h1>Pipe Socket</h1>
        <div class="memberList">
          <template if="{{ socket.socketOwner != null }}">
            <div class="memberItem">
              <div class="memberName">Owner</div>
              <div class="memberValue"><io-ref ref="{{ socket.socketOwner }}"></io-ref></div>
            </div>
          </template>
          <div class="memberItem">
            <div class="memberName">File descriptor</div>
            <div class="memberValue">{{ socket.fd }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Read Closed</div>
            <div class="memberValue">{{ socket.readClosed }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Write Closed</div>
            <div class="memberValue">{{ socket.writeClosed }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Closing</div>
            <div class="memberValue">{{ socket.closing }}</div>
          </div>
        </div>
      </template>
      <!-- Network Socket -->
      <template if="{{ !socket.isPipe }}">
        <h1>Network Socket</h1>
        <div class="memberList">
          <template if="{{ socket.socketOwner != null }}">
            <div class="memberItem">
              <div class="memberName">Owner</div>
              <div class="memberValue"><io-ref ref="{{ socket.socketOwner }}"></io-ref></div>
            </div>
          </template>
          <div class="memberItem">
            <div class="memberName">Local Address</div>
            <div class="memberValue">{{ socket.localAddress }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Local Port</div>
            <div class="memberValue">{{ socket.localPort }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Remote Address</div>
            <div class="memberValue">{{ socket.remoteAddress }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Remote Port</div>
            <div class="memberValue">{{ socket.remotePort }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">File descriptor</div>
            <div class="memberValue">{{ socket.fd }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Read Closed</div>
            <div class="memberValue">{{ socket.readClosed }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Write Closed</div>
            <div class="memberValue">{{ socket.writeClosed }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Closing</div>
            <div class="memberValue">{{ socket.closing }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Listening</div>
            <div class="memberValue">{{ socket.listening }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Protocol</div>
            <div class="memberValue">{{ socket.protocol }}</div>
          </div>
        </div>
      </template>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-web-socket-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a>
  </template>
</polymer-element>

<polymer-element name="io-web-socket-list-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>WebSockets</h1>

      <br>

      <ul class="list-group">
        <template repeat="{{ webSocket in list['members'] }}">
          <li class="list-group-item">
            <io-web-socket-ref ref="{{ webSocket }}"></io-web-socket-ref>
          </li>
        </template>
      </ul>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-web-socket-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>WebSocket</h1>

      <br>

      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">Socket</div>
          <div class="memberValue"><io-socket-ref ref="{{ webSocket['socket'] }}"></io-socket-ref></div>
        </div>
      </div>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-random-access-file-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a>
  </template>
</polymer-element>

<polymer-element name="io-random-access-file-list-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>Random Access Files</h1>

      <br>

      <ul class="list-group">
        <template repeat="{{ file in list['members'] }}">
          <li class="list-group-item">
            <io-random-access-file-ref ref="{{ file }}"></io-random-access-file-ref>
          </li>
        </template>
      </ul>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-random-access-file-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>Random Access File</h1>

      <br>

      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">Path</div>
          <div class="memberValue">{{ file['name'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Pending Operation</div>
          <div class="memberValue">{{ file['asyncDispatched'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">File Descriptor</div>
          <div class="memberValue">{{ file['fd'] }}</div>
        </div>
      </div>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-process-list-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>Processes</h1>

      <br>

      <ul class="list-group">
        <template repeat="{{ process in list['members'] }}">
          <li class="list-group-item">
            <io-process-ref ref="{{ process }}"></io-process-ref>
          </li>
        </template>
      </ul>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-process-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <template if="{{ small }}">
      <a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a>
    </template>
    <template if="{{ !small }}">
      <a on-click="{{ goto }}" href="{{ url }}">({{ ref['pid'] }}) {{ name }} {{ ref['arguments'] }}</a>
    </template>
  </template>
</polymer-element>

<polymer-element name="io-process-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>Process</h1>

      <br>

      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">Path</div>
          <div class="memberValue">{{ process['name'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Pid</div>
          <div class="memberValue">{{ process['pid'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Arguments</div>
          <div class="memberValue">{{ process['arguments'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Started</div>
          <div class="memberValue">{{ process['started'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Working Directory</div>
          <div class="memberValue">{{ process['workingDirectory'] }}</div>
        </div>
        <template if="{{ process['stdin'] != null }}">
          <div class="memberItem">
            <div class="memberName">stdin</div>
            <div class="memberValue">
              <io-socket-ref ref="{{ process['stdin'] }}"></io-socket-ref>
            </div>
          </div>
        </template>
        <template if="{{ process['stdout'] != null }}">
          <div class="memberItem">
            <div class="memberName">stdout</div>
            <div class="memberValue">
              <io-socket-ref ref="{{ process['stdout'] }}"></io-socket-ref>
            </div>
          </div>
        </template>
        <template if="{{ process['stderr'] != null }}">
          <div class="memberItem">
            <div class="memberName">stderr</div>
            <div class="memberValue">
              <io-socket-ref ref="{{ process['stderr'] }}"></io-socket-ref>
            </div>
          </div>
        </template>
      </div>

      <br>

      <h2>Environment</h2>
      <div class="well">
        <div class="monospace break-wrap">
          <template repeat="{{ variable in process['environment'] }}">
            {{ variable }}
            <br>
          </template>
        </div>
      </div>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>




<polymer-element name="isolate-ref" extends="service-ref">
<template><style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
  <a on-click="{{ goto }}" href="{{ url }}">{{ ref.name }}</a>
</template>
</polymer-element>









<polymer-element name="isolate-summary" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <div class="flex-row">
      <div class="flex-item-10-percent">
        <img src="packages/observatory/src/elements/img/isolate_icon.png">
      </div>
      <div class="flex-item-10-percent">
        <isolate-ref ref="{{ isolate }}"></isolate-ref>
      </div>
      <div class="flex-item-20-percent">
        <isolate-run-state isolate="{{ isolate }}"></isolate-run-state>
      </div>
      <div class="flex-item-50-percent">
        <isolate-location isolate="{{ isolate }}"></isolate-location>
      </div>
      <div class="flex-item-10-percent">
      </div>
    </div>

    <div class="flex-row">
      <div class="flex-item-20-percent"></div>
      <div class="flex-item-60-percent">
        <hr>
      </div>
      <div class="flex-item-20-percent"></div>
    </div>

    <isolate-shared-summary isolate="{{ isolate }}"></isolate-shared-summary>

  </template>
</polymer-element>

<polymer-element name="isolate-run-state" extends="observatory-element">
  <template>
    <template if="{{ isolate.pauseEvent != null }}">
      <strong>paused</strong>
      <action-link callback="{{ resume }}" label="resume"></action-link>
    </template>

    <template if="{{ isolate.running }}">
      <strong>running</strong>
      <action-link callback="{{ pause }}" label="pause"></action-link>
    </template>

    <template if="{{ isolate.idle }}">
      <strong>idle</strong>
      <action-link callback="{{ pause }}" label="pause"></action-link>
    </template>

    <template if="{{ isolate.loading }}">
      <strong>loading...</strong>
    </template>
  </template>
</polymer-element>

<polymer-element name="isolate-location" extends="observatory-element">
  <template>
    <template if="{{ isolate.pauseEvent != null }}">
      <template if="{{ isolate.pauseEvent.eventType == 'IsolateCreated' }}">
        at isolate start
      </template>
      <template if="{{ isolate.pauseEvent.eventType == 'IsolateShutdown' }}">
        at isolate exit
      </template>
      <template if="{{ isolate.pauseEvent.eventType == 'IsolateInterrupted' }}">
        at
        <function-ref ref="{{ isolate.topFrame['function'] }}">
        </function-ref>
        (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFrame['tokenPos'] }}"></script-ref>)
      </template>
      <template if="{{ isolate.pauseEvent.eventType == 'BreakpointReached' }}">
        at breakpoint {{ isolate.pauseEvent.breakpoint['id'] }}
        <function-ref ref="{{ isolate.topFrame['function'] }}">
        </function-ref>
        (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFrame['tokenPos'] }}"></script-ref>)
      </template>
      <template if="{{ isolate.pauseEvent.eventType == 'ExceptionThrown' }}">
        at exception
        <function-ref ref="{{ isolate.topFrame['function'] }}">
        </function-ref>
        (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFrame['tokenPos'] }}"></script-ref>)
      </template>
    </template>

    <template if="{{ isolate.running }}">
      at
      <function-ref ref="{{ isolate.topFrame['function'] }}">
      </function-ref>
      (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFrame['tokenPos'] }}"></script-ref>)
    </template>

  </template>
</polymer-element>

<polymer-element name="isolate-shared-summary" extends="observatory-element">
  <template>
    <style>
      .errorBox {
        background-color: #f5f5f5;
        border: 1px solid #ccc;
        padding: 10px;
        font-family: consolas, courier, monospace;
        font-size: 1em;
        line-height: 1.2em;
        white-space: pre;
      }
    </style>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <template if="{{ isolate.error != null }}">
      <div class="content-centered">
        <pre class="errorBox">{{ isolate.error.message }}</pre>
        <br>
      </div>
    </template>
    <div class="flex-row">
      <div class="flex-item-10-percent">
      </div>
      <div class="flex-item-40-percent">
        <isolate-counter-chart counters="{{ isolate.counters }}"></isolate-counter-chart>
      </div>
      <div class="flex-item-40-percent">
        <div class="memberList">
          <div class="memberItem">
            <div class="memberName">new heap</div>
            <div class="memberValue">
              {{ isolate.newSpace.used | formatSize }}
              of
              {{ isolate.newSpace.capacity | formatSize }}
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">old heap</div>
            <div class="memberValue">
              {{ isolate.oldSpace.used | formatSize }}
              of
              {{ isolate.oldSpace.capacity | formatSize }}
            </div>
          </div>
        </div>
        <br>
        <div class="memberItem">
          <div class="memberValue">
            See <a on-click="{{ goto }}" href="{{ gotoLink('/class-tree' + isolate.link) }}">class hierarchy</a>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberValue">
            See <a on-click="{{ goto }}" href="{{ gotoLink(isolate.relativeLink('stacktrace')) }}">stack trace</a>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberValue">
            See <a on-click="{{ goto }}" href="{{ gotoLink(isolate.relativeLink('profile')) }}">cpu profile</a>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberValue">
            See <a on-click="{{ goto }}" href="{{ gotoLink(isolate.relativeLink('allocationprofile')) }}">allocation profile</a>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberValue">
            See <a on-click="{{ goto }}" href="{{ gotoLink(isolate.relativeLink('heapmap')) }}">heap map</a>
          </div>
        </div>
        <!-- Temporarily disabled until UI for dart:io is acceptable.
        <template if="{{ isolate.ioEnabled }}">
          <div class="memberItem">
            <div class="memberValue">
              See <a on-click="{{ goto }}" href="{{ gotoLink(isolate.relativeLink('io')) }}">dart:io</a>
            </div>
          </div>
        </template>
        -->
      </div>
      <div class="flex-item-10-percent">
      </div>
    </div>
  </template>
</polymer-element>

<polymer-element name="isolate-counter-chart" extends="observatory-element">
  <template>
    <div id="counterPieChart" style="height: 200px"></div>
  </template>
</polymer-element>














<polymer-element name="isolate-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <style>
      .sourceInset {
        padding-left: 15%;
        padding-right: 15%;
      }
      .miniProfileChart {
        width: 80%;
      }
    </style>

    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ isolate }}" last="{{ true }}">
      </isolate-nav-menu>
      <nav-refresh callback="{{ refreshCoverage }}" label="Refresh Coverage"></nav-refresh>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>isolate '{{ isolate.name }}'</h1>
    </div>

    <br>
    <div class="flex-row">
      <div class="flex-item-10-percent">
      </div>
      <div class="flex-item-20-percent">
        <isolate-run-state isolate="{{ isolate }}"></isolate-run-state>
      </div>
      <div class="flex-item-60-percent">
        <isolate-location isolate="{{ isolate }}"></isolate-location>
      </div>
      <div class="flex-item-10-percent">
      </div>
    </div>
    <br>

    <template if="{{ isolate.topFrame != null }}">
      <br>
      <script-inset script="{{ isolate.topFrame['script'] }}" currentpos="{{ isolate.topFrame['tokenPos'] }}" height="200px">
      </script-inset>
    </template>

    <div class="flex-row">
      <div class="flex-item-20-percent"></div>
      <div class="flex-item-60-percent"><hr></div>
      <div class="flex-item-20-percent"></div>
    </div>

    <br>

    <isolate-shared-summary isolate="{{ isolate }}"></isolate-shared-summary>

    <div class="flex-row">
      <div class="flex-item-20-percent"></div>
      <div class="flex-item-60-percent"><hr></div>
      <div class="flex-item-20-percent"></div>
    </div>

    <div class="content-centered">
      <div class="flex-row">
        <div class="flex-item-50-percent">
          <div class="memberList">
            <div class="memberItem">
              <div class="memberName">root library</div>
              <div class="memberValue">
                <library-ref ref="{{ isolate.rootLib }}"></library-ref>
              </div>
            </div>
            <div class="memberItem">
              <template if="{{ isolate.entry != null }}">
                <div class="memberName">entry</div>
                <div class="memberValue">
                  <function-ref ref="{{ isolate.entry }}"></function-ref>
                </div>
              </template>
            </div>
            <div class="memberItem">
              <div class="memberName">isolate id</div>
              <div class="memberValue">{{ isolate.mainPort }}</div>
            </div>
          </div>
        </div>
        <div class="flex-item-50-percent">
          <div class="memberItem">
            <div class="memberValue">
              See <a on-click="{{ goto }}" href="{{ gotoLink(isolate.relativeLink('debug/breakpoints')) }}">breakpoints</a>
            </div>
          </div>
        </div>
      </div>
    </div>

    <hr>

    <div class="content">
      libraries ({{ isolate.libraries.length }})
      <curly-block expand="{{ isolate.libraries.length <= 8 }}">
        <div class="memberList">
          <template repeat="{{ lib in isolate.libraries }}">
            <div class="memberItem">
              <div class="memberName">
                <library-ref ref="{{ lib }}"></library-ref>
              </div>
            </div>
          </template>
        </div>
      </curly-block>
    </div>

    <hr>

    <div class="content">
      <div id="tagProfileChart" class="miniProfileChart" style="height: 600px"></div>
    </div>

    <hr>

    <div class="content">
      <eval-box callback="{{ eval }}"></eval-box>
    </div>
    <br><br><br><br>
    <br><br><br><br>
  </template>
</polymer-element>













<polymer-element name="instance-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ instance.isolate }}"></isolate-nav-menu>
      <!-- TODO(turnidge): Add library nav menu here. -->
      <class-nav-menu cls="{{ instance['class'] }}"></class-nav-menu>
      <nav-menu link="." anchor="instance" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <template if="{{ instance['error'] != null }}">
      <error-view error_obj="{{ instance['error'] }}"></error-view>
    </template>

    <template if="{{ instance['error'] == null }}">
      <div class="content">
        <!-- TODO(turnidge): Handle null instances. -->
        <template if="{{ isType(instance.serviceType) }}">
          <h1>type {{ instance['user_name'] }}</h1>
        </template>
        <template if="{{ !isType(instance.serviceType) }}">
          <h1>instance of {{ instance['class']['user_name'] }}</h1>
        </template>
        <div class="memberList">
          <div class="memberItem">
            <div class="memberName">class</div>
            <div class="memberValue">
              <class-ref ref="{{ instance['class'] }}">
              </class-ref>
            </div>
          </div>
          <template if="{{ instance['valueAsString'] != null }}">
            <div class="memberItem">
              <div class="memberName">value</div>
              <div class="memberValue">{{ instance['valueAsString'] }}</div>
            </div>
          </template>
          <div class="memberItem">
            <div class="memberName">size</div>
            <div class="memberValue">{{ instance['size'] | formatSize }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">retained size</div>
            <div class="memberValue">
              <template if="{{ retainedBytes == null }}">
                <eval-link callback="{{ retainedSize }}" label="[calculate]">
                </eval-link>
              </template>
              <template if="{{ retainedBytes != null }}">
                {{ retainedBytes | formatSize }}
              </template>
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">retaining path</div>
            <div class="memberValue">
              <template if="{{ path == null }}">
                <eval-link callback="{{ retainingPath }}" label="[find]" expr="10">
                </eval-link>
              </template>
              <template if="{{ path != null }}">
                <template repeat="{{ element in path['elements'] }}">
                <div class="memberItem">
                  <div class="memberName">[{{ element['index']}}]</div>
                  <div class="memberValue">
                    <instance-ref ref="{{ element['value'] }}"></instance-ref>
                    <template if="{{ element['parentField'] != null }}">
                      in <field-ref ref="{{ element['parentField'] }}"></field-ref>
                    </template>
                    <template if="{{ element['parentListIndex'] != null }}">
                      at list index {{ element['parentListIndex'] }} of
                    </template>
                  </div>
                  </div>
                </template>
                <template if="{{ path['length'] > path['elements'].length }}">
                  showing {{ path['elements'].length }} of {{ path['length'] }}
                  <eval-link callback="{{ retainingPath }}" label="[find more]" expr="{{ path['elements'].length * 2 }}">
                  </eval-link>
                </template>
              </template>
            </div>
          </div>
          <template if="{{ instance['type_class'] != null }}">
            <div class="memberItem">
              <div class="memberName">type class</div>
              <div class="memberValue">
                <class-ref ref="{{ instance['type_class'] }}">
                </class-ref>
              </div>
            </div>
          </template>
          <template if="{{ instance['closureFunc'] != null }}">
            <div class="memberItem">
              <div class="memberName">closure function</div>
              <div class="memberValue">
                <function-ref ref="{{ instance['closureFunc'] }}">
                </function-ref>
              </div>
            </div>
          </template>

          <div class="memberItem">&nbsp;</div>

          <div class="memberItem">
            <div class="memberName">toString()</div>
            <div class="memberValue">
              <eval-link callback="{{ eval }}" expr="toString()"></eval-link>
            </div>
          </div>
        </div>
      </div>

      <hr>

      <div class="content">
        <template if="{{ instance['fields'].isNotEmpty }}">
          fields ({{ instance['fields'].length }})
          <curly-block expand="{{ instance['fields'].length <= 8 }}">
            <div class="memberList">
              <template repeat="{{ field in instance['fields'] }}">
                <div class="memberItem">
                  <div class="memberName">
                    <field-ref ref="{{ field['decl'] }}"></field-ref>
                  </div>
                  <div class="memberValue">
                    <instance-ref ref="{{ field['value'] }}"></instance-ref>
                  </div>
                </div>
              </template>
            </div>
          </curly-block><br><br>
        </template>

        <template if="{{ instance['nativeFields'].isNotEmpty }}">
          native fields ({{ instance['nativeFields'].length }})
          <curly-block expand="{{ instance['nativeFields'].length <= 8 }}">
            <div class="memberList">
              <template repeat="{{ field in instance['nativeFields'] }}">
                <div class="memberItem">
                  <div class="memberName">[{{ field['index']}}]</div>
                  <div class="memberValue">[{{ field['value']}}]</div>
                </div>
              </template>
            </div>
          </curly-block><br><br>
        </template>

        <template if="{{ instance['elements'].isNotEmpty }}">
          elements ({{ instance['elements'].length }})
          <curly-block expand="{{ instance['elements'].length <= 8 }}">
            <div class="memberList">
              <template repeat="{{ element in instance['elements'] }}">
                <div class="memberItem">
                  <div class="memberName">[{{ element['index']}}]</div>
                  <div class="memberValue">
                    <instance-ref ref="{{ element['value'] }}">
                    </instance-ref>
                  </div>
                </div>
              </template>
            </div>
          </curly-block><br><br>
        </template>
      </div>

      <hr>

      <div class="content">
        <eval-box callback="{{ eval }}"></eval-box>
      </div>
      <br><br><br><br>
      <br><br><br><br>

    </template>
  </template>
</polymer-element>




<polymer-element name="json-view" extends="observatory-element">
  <template>
    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
    </nav-bar>
      <pre>{{ mapAsString }}</pre>
  </template>
</polymer-element>














<polymer-element name="library-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ library.isolate }}"></isolate-nav-menu>
      <library-nav-menu library="{{ library }}" last="{{ true }}"></library-nav-menu>
      <nav-refresh callback="{{ refreshCoverage }}" label="Refresh Coverage"></nav-refresh>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>
        <!-- TODO(turnidge): Handle unnamed libraries -->
        library {{ library.name }}
      </h1>
      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">url</div>
          <div class="memberValue">{{ library.url }}</div>
        </div>
        <template if="{{ library.name != library.vmName }}">
          <div class="memberItem">
            <div class="memberName">vm name</div>
            <div class="memberValue">{{ library.vmName }}</div>
          </div>
        </template>
      </div>
    </div>

    <hr>

    <div class="content">
      <template if="{{ library.imports.isNotEmpty }}">
        imports ({{ library.imports.length }})
        <curly-block expand="{{ library.imports.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ imp in library.imports }}">
              <div class="memberItem">
                <div class="memberValue">
                  <library-ref ref="{{ imp }}"></library-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br>
        <br>
      </template>

      <template if="{{ library.scripts.isNotEmpty }}">
        scripts ({{ library.scripts.length }})
        <curly-block expand="{{ library.scripts.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ script in library.scripts }}">
              <div class="memberItem">
                <div class="memberValue">
                  <script-ref ref="{{ script }}"></script-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br>
        <br>
      </template>

      <template if="{{ library.classes.isNotEmpty }}">
        classes ({{ library.classes.length }})
        <curly-block expand="{{ library.classes.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ cls in library.classes }}">
              <div class="memberItem">
                <div class="memberValue">
                  <class-ref ref="{{ cls }}"></class-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br>
        <br>
      </template>

      <template if="{{ library.variables.isNotEmpty }}">
        variables ({{ library.variables.length }})
        <curly-block expand="{{ library.variables.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ field in library.variables }}">
              <div class="memberItem">
                <div class="memberName">
                  <field-ref ref="{{ field }}"></field-ref>
                </div>
                <div class="memberValue">
                  <template if="{{ field['value'] != null }}">
                    <instance-ref ref="{{ field['value'] }}"></instance-ref>
                  </template>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br>
        <br>
      </template>

      <template if="{{ library.functions.isNotEmpty }}">
        functions ({{ library.functions.length }})
        <curly-block expand="{{ library.functions.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ function in library.functions }}">
              <div class="memberItem">
                <div class="memberValue">
                  <function-ref ref="{{ function }}"></function-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br>
        <br>
      </template>
    </div>

    <hr>

    <div class="content">
      <eval-box callback="{{ eval }}"></eval-box>
    </div>
    <br><br><br><br>
    <br><br><br><br>
  </template>
</polymer-element>


























<polymer-element name="heap-profile" extends="observatory-element">
<template>
  <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
  <style>
    .table {
      border-collapse: collapse!important;
      margin-bottom: 20px
      table-layout: fixed;
    }
    .table td:nth-of-type(1) {
      width: 30%;
    }
    .th, .td {
      padding: 8px;
      vertical-align: top;
    }
    .table thead > tr > th {
      vertical-align: bottom;
      text-align: left;
      border-bottom:2px solid #ddd;
    }
    .spacer {
      width: 16px;
    }
    .left-border-spacer {
      width: 16px;
      border-left: 1px solid;
    }
    .clickable {
      color: #0489c3;
      text-decoration: none;
      cursor: pointer;
    }
    .clickable:hover {
      text-decoration: underline;
      cursor: pointer;
    }
    #classtable tr:hover > td {
      background-color: #F4C7C3;
    }
  </style>
  <nav-bar>
    <top-nav-menu></top-nav-menu>
    <isolate-nav-menu isolate="{{ profile.isolate }}"></isolate-nav-menu>
    <nav-menu link="{{ profile.isolate.relativeLink('allocationprofile') }}" anchor="allocation profile" last="{{ true }}"></nav-menu>
    <nav-refresh callback="{{ resetAccumulator }}" label="Reset Accumulator"></nav-refresh>
    <nav-refresh callback="{{ refreshGC }}" label="GC"></nav-refresh>
    <nav-refresh callback="{{ refresh }}"></nav-refresh>
    <nav-control></nav-control>
  </nav-bar>
  <div class="content">
    <h1>Allocation Profile</h1>
    <br>
    <div class="memberList">
      <div class="memberItem">
        <div class="memberName">last forced GC at</div>
        <div class="memberValue">{{ lastServiceGC }}</div>
      </div>
      <div class="memberItem">
        <div class="memberName">last accumulator reset at</div>
        <div class="memberValue">{{ lastAccumulatorReset }}</div>
      </div>
    </div>
  </div>
  <hr>
  <div class="content-centered-big">
    <div class="flex-row">
      <div id="newSpace" class="flex-item-50-percent">
        <h2>New Generation</h2>
        <br>
        <div class="memberList">
          <div class="memberItem">
            <div class="memberName">used</div>
            <div class="memberValue">
              {{ isolate.newSpace.used | formatSize }}
              of
              {{ isolate.newSpace.capacity | formatSize }}
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">external</div>
            <div class="memberValue">
              {{ isolate.newSpace.external | formatSize }}
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">collections</div>
            <div class="memberValue">{{ formattedCollections(true) }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">average collection time</div>
            <div class="memberValue">{{ formattedAverage(true) }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">cumulative collection time</div>
            <div class="memberValue">{{ formattedTotalCollectionTime(true) }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">average time between collections</div>
            <div class="memberValue">{{ isolate.newSpace.averageCollectionPeriodInMillis.toStringAsFixed(2) }} ms</div>
          </div>
        </div>
        <div id="newPieChart" style="height: 300px"></div>
      </div>
      <div id="oldSpace" class="flex-item-50-percent">
        <h2>Old Generation</h2>
        <br>
        <div class="memberList">
          <div class="memberItem">
            <div class="memberName">used</div>
            <div class="memberValue">
              {{ isolate.oldSpace.used | formatSize }}
              of
              {{ isolate.oldSpace.capacity | formatSize }}
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">external</div>
            <div class="memberValue">
              {{ isolate.oldSpace.external | formatSize }}
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">collections</div>
            <div class="memberValue">{{ formattedCollections(false) }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">average collection time</div>
            <div class="memberValue">{{ formattedAverage(false) }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">cumulative collection time</div>
            <div class="memberValue">{{ formattedTotalCollectionTime(false) }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">average time between collections</div>
            <div class="memberValue">{{ isolate.oldSpace.averageCollectionPeriodInMillis.toStringAsFixed(2) }} ms</div>
          </div>
        </div>
        <div id="oldPieChart" style="height: 300px"></div>
      </div>
    </div>
  </div>
  <br>
  <hr>
  <div class="content-centered-big">
    <table id="classtable" class="flex-item-100-percent table">
      <thead id="classTableHead">
        <tr>
          <th on-click="{{changeSort}}" class="clickable" title="Class">{{ classTable.getColumnLabel(0) }}</th>
          <th class="spacer"></th>
          <th on-click="{{changeSort}}" class="clickable" title="New Accumulated Size">{{ classTable.getColumnLabel(2) }}</th>
          <th on-click="{{changeSort}}" class="clickable" title="New Accumulated Instances">{{ classTable.getColumnLabel(3) }}</th>
          <th on-click="{{changeSort}}" class="clickable" title="New Current Size">{{ classTable.getColumnLabel(4) }}</th>
          <th on-click="{{changeSort}}" class="clickable" title="New Current Instances">{{ classTable.getColumnLabel(5) }}</th>
          <th class="spacer"></th>
          <th on-click="{{changeSort}}" class="clickable" title="Old Accumulated Size">{{ classTable.getColumnLabel(7) }}</th>
          <th on-click="{{changeSort}}" class="clickable" title="Old Accumulated Instances">{{ classTable.getColumnLabel(8) }}</th>
          <th on-click="{{changeSort}}" class="clickable" title="Old Current Size">{{ classTable.getColumnLabel(9) }}</th>
          <th on-click="{{changeSort}}" class="clickable" title="Old Current Instances">{{ classTable.getColumnLabel(10) }}</th>
        </tr>
      </thead>
      <tbody id="classTableBody">
      </tbody>
    </table>
    <br><br><br>
    <br><br><br>
  </div>
</template>
</polymer-element>










<polymer-element name="sliding-checkbox">
  <template>
    <style>
      .switch {
        position: relative;
        width: 121px;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
      }
      .hide {
        display: none;
      }
      .label {
        display: block;
        overflow: hidden;
        cursor: pointer;
        border: 2px solid #999999;
        border-radius: 15px;
      }
      .content {
        width: 200%;
        margin-left: -100%;
        -moz-transition: margin 0.3s ease-in 0s;
        -webkit-transition: margin 0.3s ease-in 0s;
        -o-transition: margin 0.3s ease-in 0s;
        transition: margin 0.3s ease-in 0s;
      }
      .content:before, .content:after {
        float: left;
        width: 50%;
        height: 30px;
        padding: 0;
        line-height: 30px;
        color: white;
        font: 400 14px 'Montserrat', sans-serif;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
      }
      .content:before {
        content: {{ checkedText }};
        padding-left: 10px;
        background-color: #0489C3;
      }
      .content:after {
        content: {{ uncheckedText }};
        padding-right: 10px;
        background-color: #EEEEEE;
        color: #999999;
        text-align: right;
      }
      .dot {
        width: 14px;
        margin: 8px;
        background: #FFFFFF;
        border: 2px solid #999999;
        border-radius: 15px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 87px;
        -moz-transition: all 0.3s ease-in 0s;
        -webkit-transition: all 0.3s ease-in 0s;
        -o-transition: all 0.3s ease-in 0s;
        transition: all 0.3s ease-in 0s;
      }
      :checked + .label .content {
        margin-left: 0;
      }
      :checked + .label .dot {
        right: 0px;
      }
    </style>
    <div class="switch">
      <input type="checkbox" class="hide" id="slide-switch" on-change="{{ change }}">
      <label class="label" for="slide-switch">
        <div class="content"></div>
        <div class="dot"></div>
      </label>
    </div>
  </template>
</polymer-element>

<polymer-element name="isolate-profile" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ profile.isolate }}"></isolate-nav-menu>
      <nav-menu link="{{ profile.isolate.relativeLink('profile') }}" anchor="cpu profile" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>
    <style>
      .table {
        border-collapse: collapse!important;
        width: 100%;
        margin-bottom: 20px
      }
      .table thead > tr > th,
      .table tbody > tr > th,
      .table tfoot > tr > th,
      .table thead > tr > td,
      .table tbody > tr > td,
      .table tfoot > tr > td {
        padding: 8px;
        vertical-align: top;
      }
      .table thead > tr > th {
        vertical-align: bottom;
        text-align: left;
        border-bottom:2px solid #ddd;
      }

      tr:hover > td {
        background-color: #FFF3E3;
      }
      .rowColor0 {
        background-color: #FFE9CC;
      }
      .rowColor1 {
        background-color: #FFDEB2;
      }
      .rowColor2 {
        background-color: #FFD399;
      }
      .rowColor3 {
        background-color: #FFC87F;
      }
      .rowColor4 {
        background-color: #FFBD66;
      }
      .rowColor5 {
        background-color: #FFB24C;
      }
      .rowColor6 {
        background-color: #FFA733;
      }
      .rowColor7 {
        background-color: #FF9C19;
      }
      .rowColor8 {
        background-color: #FF9100;
      }

      .tooltip {
        display: block;
        position: absolute;
        visibility: hidden;
        opacity: 0;
        transition: visibility 0s linear 0.5s;
        transition: opacity .4s ease-in-out;
      }

      tr:hover .tooltip {
        display: block;
        position: absolute;
        top: 100%;
        right: 100%;
        visibility: visible;
        z-index: 999;
        width: 400px;
        color: #ffffff;
        background-color: #0489c3;
        border-top-right-radius: 8px;
        border-top-left-radius: 8px;
        border-bottom-right-radius: 8px;
        border-bottom-left-radius: 8px;
        transition: visibility 0s linear 0.5s;
        transition: opacity .4s ease-in-out;
        opacity: 1;
      }

      .white {
        color: #ffffff;
      }

    </style>
    <div class="content">
      <h1>Sampled CPU profile</h1>
      <div class="memberList">
        <div class="memberItem">
         <div class="memberName">Timestamp</div>
         <div class="memberValue">{{ refreshTime }}</div>
        </div>
        <div class="memberItem">
         <div class="memberName">Time span</div>
         <div class="memberValue">{{ timeSpan }}</div>
        </div>
        <div class="memberItem">
         <div class="memberName">Sample count</div>
         <div class="memberValue">{{ sampleCount }}</div>
        </div>
        <div class="memberItem">
         <div class="memberName">Sample rate</div>
         <div class="memberValue">{{ sampleRate }} Hz</div>
        </div>
        <div class="memberItem">
         <div class="memberName">Sample depth</div>
         <div class="memberValue">{{ sampleDepth }} stack frames</div>
        </div>
        <div class="memberItem">
         <div class="memberName">Display cutoff</div>
         <div class="memberValue">{{ displayCutoff }}</div>
        </div>
        <div class="memberItem">
         <div class="memberName">Tags</div>
         <div class="memberValue">
          <select value="{{tagSelector}}">
            <option value="uv">User &gt; VM</option>
            <option value="u">User</option>
            <option value="vu">VM &gt; User</option>
            <option value="v">VM</option>
            <option value="hide">None</option>
          </select>
         </div>
        </div>
      </div>
      <hr>
      <table id="tableTree" class="table">
        <thead>
          <tr>
            <th>Method</th>
            <th>Self</th>
          </tr>
        </thead>
        <tbody>
          <tr template="" repeat="{{row in tree.rows }}" style="{{}}">
            <td on-click="{{toggleExpanded}}" class="{{ coloring(row) }}" style="{{ padding(row) }}">
              <span id="expand" style="{{ row.expanderStyle }}">{{ row.expander }}</span>
              <div style="position: relative;display: inline">
                {{row.columns[0]}}
              </div>
              <code-ref ref="{{ row.code }}"></code-ref>
            </td>
            <td class="{{ coloring(row) }}" style="position: relative">
              {{row.columns[1]}}
              <div class="tooltip">
                <div class="memberList">
                  <div class="memberItem">
                   <div class="memberName white">Kind</div>
                   <div class="memberValue white">{{ row.tipKind }}</div>
                  </div>
                  <div class="memberItem">
                   <div class="memberName white">Percent of Parent</div>
                   <div class="memberValue white">{{ row.tipParent }}</div>
                  </div>
                  <div class="memberItem">
                   <div class="memberName white">Sample Count</div>
                   <div class="memberValue white">{{ row.tipTicks }} ({{ row.tipExclusive }})</div>
                  </div>
                  <div class="memberItem">
                   <div class="memberName white">Approximate Execution Time</div>
                   <div class="memberValue white">{{ row.tipTime }}</div>
                  </div>
                </div>
              </div>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </template>
</polymer-element>







<polymer-element name="script-view" extends="observatory-element">
<template>
  <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
  <nav-bar>
    <top-nav-menu></top-nav-menu>
    <isolate-nav-menu isolate="{{ script.isolate }}">
    </isolate-nav-menu>
    <nav-menu link="{{ script.link }}" anchor="{{ script.name }}" last="{{ true }}"></nav-menu>
    <nav-refresh callback="{{ refreshCoverage }}" label="Refresh Coverage"></nav-refresh>
    <nav-refresh callback="{{ refresh }}"></nav-refresh>
    <nav-control></nav-control>
  </nav-bar>

  <template if="{{ args['pos'] == null }}">
    <script-inset id="scriptInset" script="{{ script }}">
      <h1>script {{ script.name }}</h1>
    </script-inset>
  </template>

  <template if="{{ args['pos'] != null }}">
    <script-inset id="scriptInset" script="{{ script }}" currentpos="{{ args['pos'] | parseInt }}">
      <h1>script {{ script.name }}</h1>
    </script-inset>
  </template>

</template>
</polymer-element>







<polymer-element name="stack-trace" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ trace.isolate }}"></isolate-nav-menu>
      <nav-menu link="{{ trace.isolate.relativeLink('stacktrace') }}" anchor="stack trace" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>
    <template if="{{ trace['members'].isEmpty }}">
      <div class="content">
        <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 frame="{{ frame }}"></stack-frame>
          </li>
        </template>
      </ul>
    </template>
  </template>
</polymer-element>












<polymer-element name="vm-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>VM</h1>
      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">version</div>
          <div class="memberValue">{{ vm.version }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">uptime</div>
          <div class="memberValue">{{ vm.uptime | formatTime }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">type checks enabled</div>
          <div class="memberValue">{{ vm.typeChecksEnabled }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">asserts enabled</div>
          <div class="memberValue">{{ vm.assertsEnabled }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">pid</div>
          <div class="memberValue">{{ vm.pid }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">refreshed at</div>
          <div class="memberValue">{{ vm.lastUpdate }}</div>
        </div>
        <br>
        <div class="memberItem">
          <div class="memberValue">
            See <a on-click="{{ goto }}" href="{{ gotoLink('/flags') }}">flags</a>
          </div>
        </div>
      </div>
    </div>

    <br>
    <hr>

    <ul class="list-group">
      <template repeat="{{ isolate in vm.isolates }}">
      	<li class="list-group-item">
          <isolate-summary isolate="{{ isolate }}"></isolate-summary>
        </li>
        <hr>
      </template>
    </ul>
  </template>
</polymer-element>

<polymer-element name="service-view" extends="observatory-element">
  <!-- This element explicitly manages the child elements to avoid setting
       an observable property on the old element to an invalid type. -->
</polymer-element>

<polymer-element name="observatory-application" extends="observatory-element">
  <!-- This element explicitly manages its child elements -->
</polymer-element>





<polymer-element name="service-exception-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-control></nav-control>
    </nav-bar>
    <div class="content-centered">
      <h1>{{ exception.kind }}</h1>
      <br>
      <div class="well">{{ exception.message }}</div>
      <template if="{{ exception.response != '' }}">
        <div class="well">{{ exception.response }}</div>
      </template>
    </div>
  </template>
</polymer-element>






<polymer-element name="service-error-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-control></nav-control>
    </nav-bar>
    <div class="content-centered">
      <h1>{{ error.kind }}</h1>
      <br>
      <div class="well">{{ error.message }}</div>
    </div>
  </template>
</polymer-element>





<polymer-element name="vm-connect-target" extends="observatory-element">
  <template>
    <style>
      .delete-button {
        padding: 4px;
        background: transparent;
        border: none !important;
      }
      .delete-button:hover {
        background: #ff0000;
      }
    </style>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <span>
      <template if="{{ isCurrentTarget }}">
        <a on-click="{{ connectToVm }}" href="{{ gotoLink('/vm') }}">{{ target.name }} (Connected)</a>
      </template>
      <template if="{{ !isCurrentTarget }}">
        <a on-click="{{ connectToVm }}" href="{{ gotoLink('/vm') }}">{{ target.name }}</a>
      </template>
      <template if="{{ !isChromeTarget }}">
        <button class="delete-button" on-click="{{ deleteVm }}">✖ Remove</button>
      </template>
    </span>
  </template>
</polymer-element>

<polymer-element name="vm-connect" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <style>
      .textbox {
        width: 20em;
        font: 400 16px 'Montserrat', sans-serif;
      }
    </style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content-centered">
      <h1>Connect to a Dart VM</h1>
      <br>
      <hr>
      <div class="flex-row">
        <div class="flex-item-40-percent">
          <h2><img style="height: 48px" src="packages/observatory/src/elements/img/dart_icon.png">Standalone</h2>
          <br>
          <ul>
            <template repeat="{{ target in app.targets.history }}">
              <template if="{{ target.standalone }}">
                <li><vm-connect-target target="{{ target }}"></vm-connect-target></li>
              </template>
            </template>
          </ul>
          <hr>
          <form autocomplete="on">
            <input class="textbox" placeholder="localhost:8181" type="text" value="{{ standaloneVmAddress }}">
            <input class="button" type="submit" value="Connect" on-click="{{ connectStandalone }}">
          </form>
          <br>
          <pre class="well">Run Standalone with: '--observe'</pre>
          <hr>
        </div>

        <div class="flex-item-20-percent"></div>
        <div class="flex-item-40-percent">
          <h2><img style="height: 48px" src="packages/observatory/src/elements/img/chromium_icon.png">Chromium</h2>
          <br>
          <ul>
            <template repeat="{{ target in chromeTargets }}">
              <li><vm-connect-target target="{{ target }}"></vm-connect-target></li>
            </template>
          </ul>
          <hr>
          <form autocomplete="on">
            <input class="textbox" placeholder="localhost:9222" type="text" value="{{ chromiumAddress }}">
            <input class="button" type="submit" value="Get Tabs" on-click="{{ getTabs }}">
          </form>
          <br>
          <pre class="well">Run Chromium with:
'--remote-debugging-port=9222'</pre>
          <hr>
        </div>
      </div>
    </div>
  </template>
</polymer-element>





<polymer-element name="vm-ref" extends="service-ref">
  <template><style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <a on-click="{{ goto }}" href="{{ url }}">{{ ref.name }}</a>
  </template>
</polymer-element>



  <observatory-application></observatory-application>

<script src="index.html_bootstrap.dart.js" async=""></script></body></html>