@charset "UTF-8";
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video
{
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}
html
{
  line-height: 1;
}
ol,ul
{
  list-style: none;
}
table
{
  border-collapse: collapse;
  border-spacing: 0;
}
caption,th,td
{
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
}
q,blockquote
{
  quotes: none;
}
q:before,q:after,blockquote:before,blockquote:after
{
  content: "";
  content: none;
}
a img
{
  border: none;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary
{
  display: block;
}
html,body
{
  height: 100%;
}
#document
{
  min-height: 100%;
}
body
{
  max-width: 33em;
}
.segment
{
  padding: 0.5em 0 0.5em 33em;
  white-space: nowrap;
}
.segment:first-child
{
  padding-top: 4.1em;
}
.segment:last-child
{
  padding-bottom: 2em;
}
.segment .comments,.segment .code
{
  display: inline-block;
  padding: 0 2em;
  vertical-align: top;
}
.segment .comments
{
  margin-left: -33em;
  white-space: normal;
  width: 29em;
}
.segment .code
{
  white-space: pre;
}
#meta
{
  left: 33em;
  padding: 0.25em 1em;
  position: absolute;
}
@media (max-width: 53em)
{
  html
  {
    font-size: 1em;
  }
}
@media (max-width: 52.94111em)
{
  html
  {
    font-size: 0.99889em;
  }
}
@media (max-width: 52.88222em)
{
  html
  {
    font-size: 0.99778em;
  }
}
@media (max-width: 52.82333em)
{
  html
  {
    font-size: 0.99667em;
  }
}
@media (max-width: 52.76444em)
{
  html
  {
    font-size: 0.99556em;
  }
}
@media (max-width: 52.70556em)
{
  html
  {
    font-size: 0.99444em;
  }
}
@media (max-width: 52.64667em)
{
  html
  {
    font-size: 0.99333em;
  }
}
@media (max-width: 52.58778em)
{
  html
  {
    font-size: 0.99222em;
  }
}
@media (max-width: 52.52889em)
{
  html
  {
    font-size: 0.99111em;
  }
}
@media (max-width: 52.47em)
{
  html
  {
    font-size: 0.99em;
  }
}
@media (max-width: 52.41111em)
{
  html
  {
    font-size: 0.98889em;
  }
}
@media (max-width: 52.35222em)
{
  html
  {
    font-size: 0.98778em;
  }
}
@media (max-width: 52.29333em)
{
  html
  {
    font-size: 0.98667em;
  }
}
@media (max-width: 52.23444em)
{
  html
  {
    font-size: 0.98556em;
  }
}
@media (max-width: 52.17556em)
{
  html
  {
    font-size: 0.98444em;
  }
}
@media (max-width: 52.11667em)
{
  html
  {
    font-size: 0.98333em;
  }
}
@media (max-width: 52.05778em)
{
  html
  {
    font-size: 0.98222em;
  }
}
@media (max-width: 51.99889em)
{
  html
  {
    font-size: 0.98111em;
  }
}
@media (max-width: 51.94em)
{
  html
  {
    font-size: 0.98em;
  }
}
@media (max-width: 51.88111em)
{
  html
  {
    font-size: 0.97889em;
  }
}
@media (max-width: 51.82222em)
{
  html
  {
    font-size: 0.97778em;
  }
}
@media (max-width: 51.76333em)
{
  html
  {
    font-size: 0.97667em;
  }
}
@media (max-width: 51.70444em)
{
  html
  {
    font-size: 0.97556em;
  }
}
@media (max-width: 51.64556em)
{
  html
  {
    font-size: 0.97444em;
  }
}
@media (max-width: 51.58667em)
{
  html
  {
    font-size: 0.97333em;
  }
}
@media (max-width: 51.52778em)
{
  html
  {
    font-size: 0.97222em;
  }
}
@media (max-width: 51.46889em)
{
  html
  {
    font-size: 0.97111em;
  }
}
@media (max-width: 51.41em)
{
  html
  {
    font-size: 0.97em;
  }
}
@media (max-width: 51.35111em)
{
  html
  {
    font-size: 0.96889em;
  }
}
@media (max-width: 51.29222em)
{
  html
  {
    font-size: 0.96778em;
  }
}
@media (max-width: 51.23333em)
{
  html
  {
    font-size: 0.96667em;
  }
}
@media (max-width: 51.17444em)
{
  html
  {
    font-size: 0.96556em;
  }
}
@media (max-width: 51.11556em)
{
  html
  {
    font-size: 0.96444em;
  }
}
@media (max-width: 51.05667em)
{
  html
  {
    font-size: 0.96333em;
  }
}
@media (max-width: 50.99778em)
{
  html
  {
    font-size: 0.96222em;
  }
}
@media (max-width: 50.93889em)
{
  html
  {
    font-size: 0.96111em;
  }
}
@media (max-width: 50.88em)
{
  html
  {
    font-size: 0.96em;
  }
}
@media (max-width: 50.82111em)
{
  html
  {
    font-size: 0.95889em;
  }
}
@media (max-width: 50.76222em)
{
  html
  {
    font-size: 0.95778em;
  }
}
@media (max-width: 50.70333em)
{
  html
  {
    font-size: 0.95667em;
  }
}
@media (max-width: 50.64444em)
{
  html
  {
    font-size: 0.95556em;
  }
}
@media (max-width: 50.58556em)
{
  html
  {
    font-size: 0.95444em;
  }
}
@media (max-width: 50.52667em)
{
  html
  {
    font-size: 0.95333em;
  }
}
@media (max-width: 50.46778em)
{
  html
  {
    font-size: 0.95222em;
  }
}
@media (max-width: 50.40889em)
{
  html
  {
    font-size: 0.95111em;
  }
}
@media (max-width: 50.35em)
{
  html
  {
    font-size: 0.95em;
  }
}
@media (max-width: 50.29111em)
{
  html
  {
    font-size: 0.94889em;
  }
}
@media (max-width: 50.23222em)
{
  html
  {
    font-size: 0.94778em;
  }
}
@media (max-width: 50.17333em)
{
  html
  {
    font-size: 0.94667em;
  }
}
@media (max-width: 50.11444em)
{
  html
  {
    font-size: 0.94556em;
  }
}
@media (max-width: 50.05556em)
{
  html
  {
    font-size: 0.94444em;
  }
}
@media (max-width: 49.99667em)
{
  html
  {
    font-size: 0.94333em;
  }
}
@media (max-width: 49.93778em)
{
  html
  {
    font-size: 0.94222em;
  }
}
@media (max-width: 49.87889em)
{
  html
  {
    font-size: 0.94111em;
  }
}
@media (max-width: 49.82em)
{
  html
  {
    font-size: 0.94em;
  }
}
@media (max-width: 49.76111em)
{
  html
  {
    font-size: 0.93889em;
  }
}
@media (max-width: 49.70222em)
{
  html
  {
    font-size: 0.93778em;
  }
}
@media (max-width: 49.64333em)
{
  html
  {
    font-size: 0.93667em;
  }
}
@media (max-width: 49.58444em)
{
  html
  {
    font-size: 0.93556em;
  }
}
@media (max-width: 49.52556em)
{
  html
  {
    font-size: 0.93444em;
  }
}
@media (max-width: 49.46667em)
{
  html
  {
    font-size: 0.93333em;
  }
}
@media (max-width: 49.40778em)
{
  html
  {
    font-size: 0.93222em;
  }
}
@media (max-width: 49.34889em)
{
  html
  {
    font-size: 0.93111em;
  }
}
@media (max-width: 49.29em)
{
  html
  {
    font-size: 0.93em;
  }
}
@media (max-width: 49.23111em)
{
  html
  {
    font-size: 0.92889em;
  }
}
@media (max-width: 49.17222em)
{
  html
  {
    font-size: 0.92778em;
  }
}
@media (max-width: 49.11333em)
{
  html
  {
    font-size: 0.92667em;
  }
}
@media (max-width: 49.05444em)
{
  html
  {
    font-size: 0.92556em;
  }
}
@media (max-width: 48.99556em)
{
  html
  {
    font-size: 0.92444em;
  }
}
@media (max-width: 48.93667em)
{
  html
  {
    font-size: 0.92333em;
  }
}
@media (max-width: 48.87778em)
{
  html
  {
    font-size: 0.92222em;
  }
}
@media (max-width: 48.81889em)
{
  html
  {
    font-size: 0.92111em;
  }
}
@media (max-width: 48.76em)
{
  html
  {
    font-size: 0.92em;
  }
}
@media (max-width: 48.70111em)
{
  html
  {
    font-size: 0.91889em;
  }
}
@media (max-width: 48.64222em)
{
  html
  {
    font-size: 0.91778em;
  }
}
@media (max-width: 48.58333em)
{
  html
  {
    font-size: 0.91667em;
  }
}
@media (max-width: 48.52444em)
{
  html
  {
    font-size: 0.91556em;
  }
}
@media (max-width: 48.46556em)
{
  html
  {
    font-size: 0.91444em;
  }
}
@media (max-width: 48.40667em)
{
  html
  {
    font-size: 0.91333em;
  }
}
@media (max-width: 48.34778em)
{
  html
  {
    font-size: 0.91222em;
  }
}
@media (max-width: 48.28889em)
{
  html
  {
    font-size: 0.91111em;
  }
}
@media (max-width: 48.23em)
{
  html
  {
    font-size: 0.91em;
  }
}
@media (max-width: 48.17111em)
{
  html
  {
    font-size: 0.90889em;
  }
}
@media (max-width: 48.11222em)
{
  html
  {
    font-size: 0.90778em;
  }
}
@media (max-width: 48.05333em)
{
  html
  {
    font-size: 0.90667em;
  }
}
@media (max-width: 47.99444em)
{
  html
  {
    font-size: 0.90556em;
  }
}
@media (max-width: 47.93556em)
{
  html
  {
    font-size: 0.90444em;
  }
}
@media (max-width: 47.87667em)
{
  html
  {
    font-size: 0.90333em;
  }
}
@media (max-width: 47.81778em)
{
  html
  {
    font-size: 0.90222em;
  }
}
@media (max-width: 47.75889em)
{
  html
  {
    font-size: 0.90111em;
  }
}
@media (max-width: 47.7em)
{
  html
  {
    font-size: 0.9em;
  }
}
@media (max-width: 47.64111em)
{
  html
  {
    font-size: 0.89889em;
  }
}
@media (max-width: 47.58222em)
{
  html
  {
    font-size: 0.89778em;
  }
}
@media (max-width: 47.52333em)
{
  html
  {
    font-size: 0.89667em;
  }
}
@media (max-width: 47.46444em)
{
  html
  {
    font-size: 0.89556em;
  }
}
@media (max-width: 47.40556em)
{
  html
  {
    font-size: 0.89444em;
  }
}
@media (max-width: 47.34667em)
{
  html
  {
    font-size: 0.89333em;
  }
}
@media (max-width: 47.28778em)
{
  html
  {
    font-size: 0.89222em;
  }
}
@media (max-width: 47.22889em)
{
  html
  {
    font-size: 0.89111em;
  }
}
@media (max-width: 47.17em)
{
  html
  {
    font-size: 0.89em;
  }
}
@media (max-width: 47.11111em)
{
  html
  {
    font-size: 0.88889em;
  }
}
@media (max-width: 47.05222em)
{
  html
  {
    font-size: 0.88778em;
  }
}
@media (max-width: 46.99333em)
{
  html
  {
    font-size: 0.88667em;
  }
}
@media (max-width: 46.93444em)
{
  html
  {
    font-size: 0.88556em;
  }
}
@media (max-width: 46.87556em)
{
  html
  {
    font-size: 0.88444em;
  }
}
@media (max-width: 46.81667em)
{
  html
  {
    font-size: 0.88333em;
  }
}
@media (max-width: 46.75778em)
{
  html
  {
    font-size: 0.88222em;
  }
}
@media (max-width: 46.69889em)
{
  html
  {
    font-size: 0.88111em;
  }
}
@media (max-width: 46.64em)
{
  html
  {
    font-size: 0.88em;
  }
}
@media (max-width: 46.58111em)
{
  html
  {
    font-size: 0.87889em;
  }
}
@media (max-width: 46.52222em)
{
  html
  {
    font-size: 0.87778em;
  }
}
@media (max-width: 46.46333em)
{
  html
  {
    font-size: 0.87667em;
  }
}
@media (max-width: 46.40444em)
{
  html
  {
    font-size: 0.87556em;
  }
}
@media (max-width: 46.34556em)
{
  html
  {
    font-size: 0.87444em;
  }
}
@media (max-width: 46.28667em)
{
  html
  {
    font-size: 0.87333em;
  }
}
@media (max-width: 46.22778em)
{
  html
  {
    font-size: 0.87222em;
  }
}
@media (max-width: 46.16889em)
{
  html
  {
    font-size: 0.87111em;
  }
}
@media (max-width: 46.11em)
{
  html
  {
    font-size: 0.87em;
  }
}
@media (max-width: 46.05111em)
{
  html
  {
    font-size: 0.86889em;
  }
}
@media (max-width: 45.99222em)
{
  html
  {
    font-size: 0.86778em;
  }
}
@media (max-width: 45.93333em)
{
  html
  {
    font-size: 0.86667em;
  }
}
@media (max-width: 45.87444em)
{
  html
  {
    font-size: 0.86556em;
  }
}
@media (max-width: 45.81556em)
{
  html
  {
    font-size: 0.86444em;
  }
}
@media (max-width: 45.75667em)
{
  html
  {
    font-size: 0.86333em;
  }
}
@media (max-width: 45.69778em)
{
  html
  {
    font-size: 0.86222em;
  }
}
@media (max-width: 45.63889em)
{
  html
  {
    font-size: 0.86111em;
  }
}
@media (max-width: 45.58em)
{
  html
  {
    font-size: 0.86em;
  }
}
@media (max-width: 45.52111em)
{
  html
  {
    font-size: 0.85889em;
  }
}
@media (max-width: 45.46222em)
{
  html
  {
    font-size: 0.85778em;
  }
}
@media (max-width: 45.40333em)
{
  html
  {
    font-size: 0.85667em;
  }
}
@media (max-width: 45.34444em)
{
  html
  {
    font-size: 0.85556em;
  }
}
@media (max-width: 45.28556em)
{
  html
  {
    font-size: 0.85444em;
  }
}
@media (max-width: 45.22667em)
{
  html
  {
    font-size: 0.85333em;
  }
}
@media (max-width: 45.16778em)
{
  html
  {
    font-size: 0.85222em;
  }
}
@media (max-width: 45.10889em)
{
  html
  {
    font-size: 0.85111em;
  }
}
@media (max-width: 45.05em)
{
  html
  {
    font-size: 1em;
  }
  body
  {
    margin: 0 auto;
  }
  .segment
  {
    margin: 0 auto;
    max-width: 29em;
    padding: 0;
    white-space: normal;
  }
  .segment .comments,.segment .code
  {
    display: block;
    padding: 1em;
  }
  .segment .comments
  {
    margin-left: 0;
    width: auto;
  }
  .segment .code
  {
    display: block;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .segment .code .wrapper
  {
    display: inline-block;
  }
  #meta
  {
    margin: 2em 0 0 0;
    overflow-x: auto;
    overflow-y: hidden;
    position: static;
  }
  #meta .file-path
  {
    display: inline-block;
  }
}
nav
{
  position: fixed;
  right: 0;
  top: 0;
  width: 26em;
}
@media (max-width: 45.05em)
{
  nav
  {
    left: 0;
    width: 100%;
  }
}
nav .tools
{
  position: relative;
  z-index: 100;
}
nav .tools li
{
  display: table-cell;
  height: 2.1em;
  padding: 0 0.55em;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
nav .tools .github
{
  padding: 0;
}
nav .tools .github a
{
  display: block;
  height: 2.1em;
  text-indent: -9001em;
  width: 2.1em;
}
nav .tools .search
{
  width: 100%;
}
nav .tools .search input
{
  box-sizing: border-box;
  display: block;
  moz-box-sizing: border-box;
  webkit-box-sizing: border-box;
  width: 100%;
}
nav .toc
{
  bottom: 0;
  box-sizing: border-box;
  moz-box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 2.1em;
  webkit-box-sizing: border-box;
  width: 100%;
}
nav .toc li
{
  position: relative;
}
nav .toc .label
{
  display: block;
  line-height: 2em;
  padding: 0 0.55em 0 0.55em;
}
nav .toc li li .label
{
  padding-left: 1.1em;
}
nav .toc li li li .label
{
  padding-left: 1.65em;
}
nav .toc li li li li .label
{
  padding-left: 2.2em;
}
nav .toc li li li li li .label
{
  padding-left: 2.75em;
}
nav .toc li li li li li li .label
{
  padding-left: 3.3em;
}
nav
{
  moz-transition: height 0 150ms;
  o-transition: height 0 150ms;
  transition: height 0 150ms;
  webkit-transition: height 0;
  webkit-transition-delay: 150ms;
}
nav .tools .toggle
{
  moz-transition: background 150ms;
  o-transition: background 150ms;
  transition: background 150ms;
  webkit-transition: background 150ms;
}
nav.active
{
  height: 100%;
  moz-transition: height 0 0;
  o-transition: height 0 0;
  transition: height 0 0;
  webkit-transition: height 0 0;
}
nav .toc
{
  moz-transition: right 150ms;
  o-transition: right 150ms;
  right: -100%;
  transition: right 150ms;
  webkit-transition: right 150ms;
}
nav.active .toc
{
  right: 0;
}
@media (max-width: 45.05em)
{
  nav .toc
  {
    left: -100%;
    moz-transition: left 150ms;
    o-transition: left 150ms;
    right: auto;
    transition: left 150ms;
    webkit-transition: left 150ms;
  }
  nav.active .toc
  {
    left: 0;
  }
}
@media (max-width: 45.05em)
{
  body
  {
    left: 0;
    moz-transition: left 150ms;
    o-transition: left 150ms;
    position: relative;
    transition: left 150ms;
    webkit-transition: left 150ms;
  }
  html.popped
  {
    overflow: hidden;
  }
  html.popped body
  {
    left: 100%;
    overflow: hidden;
  }
}
nav .toc .children,nav .toc .outline
{
  display: none;
}
nav .toc .expanded>.children,nav .toc .expanded>.outline,nav .toc .expanded>.outline .children
{
  display: block;
}
nav .toc .discloser
{
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowOEFDRENGQzE2NEUxMUUxODdDNUQ2ODM0QzVGRkVBMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowOEFDRENGRDE2NEUxMUUxODdDNUQ2ODM0QzVGRkVBMSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA4QUNEQ0ZBMTY0RTExRTE4N0M1RDY4MzRDNUZGRUExIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjA4QUNEQ0ZCMTY0RTExRTE4N0M1RDY4MzRDNUZGRUExIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+nQHMgwAAAM1JREFUeNpi/P//P0NJSYkuAwNDJhDXAPE7BjIAExIbZNA9IC4CYjZKDAIBfiDuBeLzQOxBiUEwoAXE26FYixKDYMAD6rpeqGvJNogBGl5F0PDLpMQgGBAC4mlQF9pTYhAMGADxASBeB8RylBgEA4FAfAOIW4CYhxKDQIAZxmChwJD1QFwGxHfINegaEGcB8UFyA/sd1AA9dEOIddFfIJ4OzdAfcSkiZNAOIC6GegcvwGXQHagBm8jNtB+hBmiTYgi6i+ZCw+EFOWkBIMAA1W4l62UzKWwAAAAASUVORK5CYII=') center center no-repeat;
  background-size: 9px 9px;
  display: inline-block;
  height: 9px;
  margin: 0.2em 0.2em -0.2em 0.2em;
  moz-transform: rotate(0deg);
  moz-transition-duration: 200ms;
  moz-transition-property: -moz-transform,-webkit-transform,-o-transform,-moz-transform;
  ms-transform: rotate(0deg);
  o-transform: rotate(0deg);
  o-transition-duration: 200ms;
  o-transition-property: -moz-transform,-webkit-transform,-o-transform,-o-transform;
  padding: 0.2em;
  transform: rotate(0deg);
  transition-duration: 200ms;
  transition-property: -moz-transform -webkit-transform -o-transform transform;
  vertical-align: baseline;
  webkit-transform: rotate(0deg);
  webkit-transition-duration: 200ms;
  webkit-transition-property: -moz-transform,-webkit-transform,-o-transform,-webkit-transform;
  width: 9px;
}
nav .toc .discloser.placeholder,nav .toc .expanded>.outline .discloser
{
  background: none;
}
nav .toc .expanded>.label .discloser
{
  moz-transform: rotate(90deg);
  ms-transform: rotate(90deg);
  o-transform: rotate(90deg);
  transform: rotate(90deg);
  webkit-transform: rotate(90deg);
}
nav .toc .filtered>.label
{
  display: none;
}
nav .toc .matched-child>.label
{
  display: block;
}
nav .toc .matched-child>.children,nav .toc .matched-child>.outline,nav .toc .matched-child>.outline .children
{
  display: block;
}
nav .toc .matched>.children,nav .toc .matched>.outline,nav .toc .matched>.outline .children
{
  display: block;
}
nav.searching .toc .discloser
{
  display: none;
}
.comments .wrapper
{
  font-family: "Helvetica Neue",Helvetica,"Droid Sans",sans-serif;
  font-size: 0.9375em;
  font-weight: 300;
  line-height: 1.35;
}
.comments .wrapper h1,.comments .wrapper h2,.comments .wrapper h3,.comments .wrapper h4,.comments .wrapper h5,.comments .wrapper h6
{
  font-family: "HelveticaNeue-UltraLight","Helvetica Neue",Helvetica,"Droid Sans",sans-serif;
  font-weight: 100;
  letter-spacing: 0.0625em;
  line-height: 1.25;
  margin-bottom: 0.5;
}
.comments .wrapper h1
{
  font-size: 2.5em;
}
.comments .wrapper h2
{
  font-size: 2em;
}
.comments .wrapper h3
{
  font-size: 1.6em;
}
.comments .wrapper h4
{
  font-size: 1.4em;
}
.comments .wrapper h5
{
  font-size: 1.3em;
}
.comments .wrapper h6
{
  font-size: 1.2em;
}
.comments .wrapper p
{
  margin: 1em 0;
}
.comments .wrapper>*:first-child
{
  margin-top: 0;
}
.comments .wrapper>*:last-child
{
  margin-bottom: 0;
}
.comments .wrapper ol,.comments .wrapper ul
{
  padding-left: 1.75em;
  margin: 1em 0;
}
.comments .wrapper ol li
{
  list-style: decimal;
}
.comments .wrapper ul li
{
  list-style: disc;
}
.comments .wrapper li
{
  margin: 1em 0;
}
.comments .wrapper li:first-child
{
  margin-top: 0;
}
.comments .wrapper li:last-child
{
  margin-bottom: 0;
}
.comments .wrapper code
{
  display: inline-block;
  padding: 0.25em 0.25em 0 0.25em;
}
.comments .wrapper pre
{
  display: block;
  overflow-x: auto;
  overflow-y: hidden;
  margin: 1em 0;
}
.comments .wrapper pre code
{
  padding: 1em;
}
.comments .wrapper blockquote
{
  padding: 0 1em;
}
.comments .wrapper strong
{
  font-weight: 700;
}
.comments .wrapper em
{
  font-style: italic;
}
html
{
  background: #4a525a;
}
#document
{
  background: #f5fbff linear-gradient(left, #272c30,#3e454c 0.3em,#4a525a 1em) 33em no-repeat;
  background: #f5fbff -moz-linear-gradient(left, #272c30,#3e454c 0.3em,#4a525a 1em) 33em no-repeat;
  background: #f5fbff -o-linear-gradient(left, #272c30,#3e454c 0.3em,#4a525a 1em) 33em no-repeat;
  background: #f5fbff -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #272c30), color-stop(30%, #3e454c), color-stop(100%, #4a525a)) 33em no-repeat;
  background: #f5fbff -webkit-linear-gradient(left, #272c30,#3e454c 0.3em,#4a525a 1em) 33em no-repeat;
  margin-right: -1em;
  padding-right: 1em;
}
@media (max-width: 45.05em)
{
  #document
  {
    margin-right: 0;
    padding-right: 0;
  }
}
#meta>*
{
  font-family: "Helvetica Neue",Helvetica,"Droid Sans",sans-serif;
  font-size: 0.9375em;
  font-weight: 300;
  line-height: 1.35;
  text-shadow: #272c30 1px 1px 0;
}
#meta>*,#meta>* a
{
  color: #9faab7;
}
#meta>* a
{
  text-decoration: none;
}
.comments .wrapper
{
  color: #4a525a;
  font-family: "Helvetica Neue",Helvetica,"Droid Sans",sans-serif;
  font-size: 0.9375em;
  font-weight: 300;
  line-height: 1.35;
  text-shadow: #fff 1px 1px 0;
}
.code .wrapper
{
  color: #cbd1d8;
  font-family: "Droid Sans Mono",Menlo,Monaco,monospace;
  font-size: 0.75em;
  line-height: 1.4;
  text-shadow: #272c30 1px 1px 0;
}
.code .wrapper .k
{
  color: #e0c090;
}
.code .wrapper .kc
{
  color: #e0c090;
}
.code .wrapper .kd
{
  color: #e0c090;
}
.code .wrapper .kp
{
  color: #e0c090;
}
.code .wrapper .kr
{
  color: #e0c090;
}
.code .wrapper .kt
{
  color: #e0c090;
}
.code .wrapper .na
{
  color: #a9c2ba;
}
.code .wrapper .nc
{
  color: #cee4dd;
}
.code .wrapper .no
{
  color: #cee4dd;
}
.code .wrapper .nd
{
  color: #cee4dd;
}
.code .wrapper .nf
{
  color: #abd9cf;
}
.code .wrapper .py
{
  color: #abd9cf;
}
.code .wrapper .nv
{
  color: #b9d0af;
}
.code .wrapper .vc
{
  color: #b9d0af;
}
.code .wrapper .vg
{
  color: #b9d0af;
}
.code .wrapper .vi
{
  color: #b9d0af;
}
.code .wrapper .s
{
  color: #e9baba;
}
.code .wrapper .sb
{
  color: #e9baba;
}
.code .wrapper .sc
{
  color: #e9baba;
}
.code .wrapper .sd
{
  color: #e9baba;
}
.code .wrapper .s2
{
  color: #e9baba;
}
.code .wrapper .se
{
  color: #e9baba;
}
.code .wrapper .sh
{
  color: #e9baba;
}
.code .wrapper .si
{
  color: #e9baba;
}
.code .wrapper .sx
{
  color: #e9baba;
}
.code .wrapper .sr
{
  color: #cba8d6;
}
.code .wrapper .s1
{
  color: #e9baba;
}
.code .wrapper .ss
{
  color: #cba8d6;
}
.code .wrapper .m
{
  color: #cba8d6;
}
.code .wrapper .mf
{
  color: #cba8d6;
}
.code .wrapper .mh
{
  color: #cba8d6;
}
.code .wrapper .mi
{
  color: #cba8d6;
}
.code .wrapper .il
{
  color: #cba8d6;
}
.code .wrapper .mo
{
  color: #cba8d6;
}
.code .wrapper .o
{
  color: #ded3a1;
}
.code .wrapper .ow
{
  color: #ded3a1;
}
.code .wrapper .p
{
  color: #ded3a1;
}
.code .wrapper .c,.code .wrapper .cm,.code .wrapper .cp,.code .wrapper .c1,.code .wrapper .cs
{
  font-style: italic;
}
.code .wrapper .c
{
  color: #b1bac4;
}
.code .wrapper .cm
{
  color: #b1bac4;
}
.code .wrapper .cp
{
  color: #b1bac4;
}
.code .wrapper .c1
{
  color: #b1bac4;
}
.code .wrapper .cs
{
  color: #b1bac4;
}
@media (max-width: 45.05em)
{
  .code
  {
    background: #4a525a;
    border-radius: 0.4em;
    box-shadow: #272c30 0 0 0.5em 0.2em inset;
    moz-border-radius: 0.4em;
    moz-box-shadow: #272c30 0 0 0.5em 0.2em inset;
    ms-border-radius: 0.4em;
    o-border-radius: 0.4em;
    webkit-border-radius: 0.4em;
    webkit-box-shadow: #272c30 0 0 0.5em 0.2em inset;
  }
  .code .wrapper
  {
    background: #4a525a;
    box-shadow: #4a525a 0 0 0.25em 0.75em;
    moz-box-shadow: #4a525a 0 0 0.25em 0.75em;
    webkit-box-shadow: #4a525a 0 0 0.25em 0.75em;
  }
}
@media (max-width: 29em)
{
  .code
  {
    border-radius: 0;
    moz-border-radius: 0;
    ms-border-radius: 0;
    o-border-radius: 0;
    webkit-border-radius: 0;
  }
}
nav
{
  color: #4a525a;
  text-shadow: #f0f0f0 1px 1px 0;
}
nav .tools,nav .toc
{
  font-family: "Helvetica Neue",Helvetica,"Droid Sans",sans-serif;
  font-size: 0.9375em;
  font-weight: 300;
  line-height: 1.35;
}
nav .tools
{
  background: linear-gradient(top, rgba(255,255,255,0.9),rgba(205,205,205,0.9));
  background: -moz-linear-gradient(top, rgba(255,255,255,0.9),rgba(205,205,205,0.9));
  background: -o-linear-gradient(top, rgba(255,255,255,0.9),rgba(205,205,205,0.9));
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(255,255,255,0.9)), color-stop(100%, rgba(205,205,205,0.9)));
  background: -webkit-linear-gradient(top, rgba(255,255,255,0.9),rgba(205,205,205,0.9));
  border-bottom: 1px solid #4a525a;
  border-bottom-left-radius: 0.4em;
  border-left: 1px solid #4a525a;
  box-shadow: rgba(0,0,0,0.3) 0 0 0.5em 0.1em;
  moz-border-radius-bottomleft: 0.4em;
  moz-box-shadow: rgba(0,0,0,0.3) 0 0 0.5em 0.1em;
  webkit-border-bottom-left-radius: 0.4em;
  webkit-box-shadow: rgba(0,0,0,0.3) 0 0 0.5em 0.1em;
}
@media (max-width: 53em)
{
  nav .tools
  {
    border-bottom-left-radius: 0;
    moz-border-radius-bottomleft: 0;
    webkit-border-bottom-left-radius: 0;
  }
}
nav .tools li
{
  border-right: 1px solid #4a525a;
}
nav .tools li:last-child
{
  border-right: none;
}
nav .tools .toggle
{
  cursor: pointer;
}
nav .tools .github a
{
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAwCAYAAACScGMWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowOEFDRENGODE2NEUxMUUxODdDNUQ2ODM0QzVGRkVBMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowOEFDRENGOTE2NEUxMUUxODdDNUQ2ODM0QzVGRkVBMSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA4QUNEQ0Y2MTY0RTExRTE4N0M1RDY4MzRDNUZGRUExIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjA4QUNEQ0Y3MTY0RTExRTE4N0M1RDY4MzRDNUZGRUExIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+FC/Z5AAACv9JREFUeNrMWXl0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')  center center no-repeat;
  background-size: 19.5px 24px;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  moz-transition: opacity 200ms;
  opacity: 0.5;
  o-transition: opacity 200ms;
  transition: opacity 200ms;
  webkit-transition: opacity 200ms;
}
nav .tools .github a:hover
{
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
  opacity: 0.9;
}
nav.active .tools
{
  border-bottom-left-radius: 0;
  moz-border-radius-bottomleft: 0;
  webkit-border-bottom-left-radius: 0;
}
nav.active .tools .toggle
{
  background: rgba(205,205,205,0.9);
  position: relative;
}
nav .toc
{
  background: rgba(230,230,230,0.9);
  border-left: 1px solid #4a525a;
  box-shadow: rgba(0,0,0,0.3) 0 0 0.5em 0.1em;
  moz-box-shadow: rgba(0,0,0,0.3) 0 0 0.5em 0.1em;
  webkit-box-shadow: rgba(0,0,0,0.3) 0 0 0.5em 0.1em;
}
nav .toc .label
{
  border-bottom: 1px solid rgba(192,192,192,0.9);
  border-top: 1px solid rgba(192,192,192,0.9);
  color: #4a525a;
  margin-top: -1px;
  text-decoration: none;
}
nav .toc .label:hover
{
  background: rgba(205,205,205,0.9);
}
nav .toc .file>.label
{
  font-weight: bold;
}
nav .toc .selected>.label
{
  background: #f5fbff;
}
nav .toc .label em
{
  font-weight: bold;
}
nav .toc .file>.label em
{
  color: #101214;
}
nav .toc .matched-child>.label
{
  background: rgba(192,192,192,0.9);
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=65);
  opacity: 0.65;
  text-shadow: none;
}
@media (max-width: 45.05em)
{
  nav .tools,nav .toc
  {
    border-left-width: 0;
  }
  nav .tools
  {
    background: linear-gradient(top, #ffffff,#cdcdcd);
    background: -moz-linear-gradient(top, #ffffff,#cdcdcd);
    background: -o-linear-gradient(top, #ffffff,#cdcdcd);
    background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #cdcdcd));
    background: -webkit-linear-gradient(top, #ffffff,#cdcdcd);
  }
  nav .toc
  {
    background: #e6e6e6;
  }
}
.comments .wrapper a
{
  color: #a8614e;
  display: inline-block;
  text-decoration: none;
}
.comments .wrapper a:hover,.comments .wrapper a:hover *
{
  text-decoration: underline;
}
.comments .wrapper code
{
  border: 1px solid #e6e0d5;
  font-family: "Droid Sans Mono",Menlo,Monaco,monospace;
  font-size: 0.75em;
  line-height: 1.4;
}
.comments .wrapper pre,.comments .wrapper code
{
  background: #fbf8f3;
  border-radius: 0.4em;
  moz-border-radius: 0.4em;
  ms-border-radius: 0.4em;
  o-border-radius: 0.4em;
  webkit-border-radius: 0.4em;
}
.comments .wrapper pre
{
  border: 1px solid #d9c9af;
  box-shadow: #f2ece3 0 0 0.4em 0.2em;
  moz-box-shadow: #f2ece3 0 0 0.4em 0.2em;
  webkit-box-shadow: #f2ece3 0 0 0.4em 0.2em;
}
.comments .wrapper pre code
{
  background: transparent;
  border-width: 0;
}
.comments .wrapper blockquote
{
  border-left: 0.15em solid #959fa8;
  margin-left: -0.15em;
}
body
{
  webkit-text-size-adjust: 100%;
}
input[type="search"]
{
  border: 1px solid #959595;
  border-radius: 1em;
  box-shadow: #ddd 0 1px 1px 0 inset;
  moz-border-radius: 1em;
  moz-box-shadow: #ddd 0 1px 1px 0 inset;
  ms-border-radius: 1em;
  o-border-radius: 1em;
  padding: 0.15em 0.8em;
  webkit-border-radius: 1em;
  webkit-box-shadow: #ddd 0 1px 1px 0 inset;
}
.comments.doc-section .wrapper
{
  color: #252519;
}
.comments.doc-section.doc-section-private .wrapper,.comments.doc-section.doc-section-protected .wrapper,.comments.doc-section.doc-section-internal .wrapper
{
  color: #7f7f7f;
}
.comments.doc-section .doc-section-header
{
  font: bold 18px "helvetica neue",helvetica,sans-serif;
}
.comments.doc-section .docs .doc-section-header code
{
  font-size: 18px;
}
.code .marker,.code .marker.wrapper,.code .wrapper.marker
{
  display: none;
}
.code.folded .wrapper
{
  cursor: default;
  display: none;
}
.code.folded .marker
{
  background: #58616b;
  border: 1px solid #73787f;
  border-radius: 0.2em;
  box-shadow: #2f3539 1px 1px 1px 0;
  cursor: pointer;
  display: inline-block;
  font: 12px "Droid Sans Mono",Menlo,Monaco,monospace;
  khtml-user-select: none;
  margin-left: -0.5em;
  margin-right: -0.5em;
  moz-border-radius: 0.2em;
  moz-box-shadow: #2f3539 1px 1px 1px 0;
  moz-user-select: -moz-none;
  ms-border-radius: 0.2em;
  ms-user-select: none;
  o-border-radius: 0.2em;
  padding: 0.2em 0.5em;
  text-shadow: #2f3539 1px 1px 0px;
  user-select: none;
  webkit-border-radius: 0.2em;
  webkit-box-shadow: #2f3539 1px 1px 1px 0;
  webkit-touch-callout: none;
  webkit-user-select: none;
}
.code.folded .marker .c1
{
  color: #73787f;
  font-style: normal;
}
.code.folded .marker:hover
{
  background: #5f6872;
}
.code.folded .marker:hover .c1
{
  color: #7b8087;
}
.code.folded .marker .c1:after
{
  content: " …";
}