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{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}html{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:normal;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:29em}.segment{padding:0.5em 0 0.5em 29em;white-space:nowrap}.segment:first-child{padding-top:4em}.segment:last-child{padding-bottom:2em}.segment .comments,.segment .code{display:inline-block;vertical-align:top;padding:0 2em}.segment .comments{margin-left:-29em;width:25em;white-space:normal}.segment .code{white-space:pre}#meta{position:absolute;left:29em;padding:0.25em 1em}@media (max-width: 49em){html{font-size:1em}}@media (max-width: 48.94556em){html{font-size:0.99889em}}@media (max-width: 48.89111em){html{font-size:0.99778em}}@media (max-width: 48.83667em){html{font-size:0.99667em}}@media (max-width: 48.78222em){html{font-size:0.99556em}}@media (max-width: 48.72778em){html{font-size:0.99444em}}@media (max-width: 48.67333em){html{font-size:0.99333em}}@media (max-width: 48.61889em){html{font-size:0.99222em}}@media (max-width: 48.56444em){html{font-size:0.99111em}}@media (max-width: 48.51em){html{font-size:0.99em}}@media (max-width: 48.45556em){html{font-size:0.98889em}}@media (max-width: 48.40111em){html{font-size:0.98778em}}@media (max-width: 48.34667em){html{font-size:0.98667em}}@media (max-width: 48.29222em){html{font-size:0.98556em}}@media (max-width: 48.23778em){html{font-size:0.98444em}}@media (max-width: 48.18333em){html{font-size:0.98333em}}@media (max-width: 48.12889em){html{font-size:0.98222em}}@media (max-width: 48.07444em){html{font-size:0.98111em}}@media (max-width: 48.02em){html{font-size:0.98em}}@media (max-width: 47.96556em){html{font-size:0.97889em}}@media (max-width: 47.91111em){html{font-size:0.97778em}}@media (max-width: 47.85667em){html{font-size:0.97667em}}@media (max-width: 47.80222em){html{font-size:0.97556em}}@media (max-width: 47.74778em){html{font-size:0.97444em}}@media (max-width: 47.69333em){html{font-size:0.97333em}}@media (max-width: 47.63889em){html{font-size:0.97222em}}@media (max-width: 47.58444em){html{font-size:0.97111em}}@media (max-width: 47.53em){html{font-size:0.97em}}@media (max-width: 47.47556em){html{font-size:0.96889em}}@media (max-width: 47.42111em){html{font-size:0.96778em}}@media (max-width: 47.36667em){html{font-size:0.96667em}}@media (max-width: 47.31222em){html{font-size:0.96556em}}@media (max-width: 47.25778em){html{font-size:0.96444em}}@media (max-width: 47.20333em){html{font-size:0.96333em}}@media (max-width: 47.14889em){html{font-size:0.96222em}}@media (max-width: 47.09444em){html{font-size:0.96111em}}@media (max-width: 47.04em){html{font-size:0.96em}}@media (max-width: 46.98556em){html{font-size:0.95889em}}@media (max-width: 46.93111em){html{font-size:0.95778em}}@media (max-width: 46.87667em){html{font-size:0.95667em}}@media (max-width: 46.82222em){html{font-size:0.95556em}}@media (max-width: 46.76778em){html{font-size:0.95444em}}@media (max-width: 46.71333em){html{font-size:0.95333em}}@media (max-width: 46.65889em){html{font-size:0.95222em}}@media (max-width: 46.60444em){html{font-size:0.95111em}}@media (max-width: 46.55em){html{font-size:0.95em}}@media (max-width: 46.49556em){html{font-size:0.94889em}}@media (max-width: 46.44111em){html{font-size:0.94778em}}@media (max-width: 46.38667em){html{font-size:0.94667em}}@media (max-width: 46.33222em){html{font-size:0.94556em}}@media (max-width: 46.27778em){html{font-size:0.94444em}}@media (max-width: 46.22333em){html{font-size:0.94333em}}@media (max-width: 46.16889em){html{font-size:0.94222em}}@media (max-width: 46.11444em){html{font-size:0.94111em}}@media (max-width: 46.06em){html{font-size:0.94em}}@media (max-width: 46.00556em){html{font-size:0.93889em}}@media (max-width: 45.95111em){html{font-size:0.93778em}}@media (max-width: 45.89667em){html{font-size:0.93667em}}@media (max-width: 45.84222em){html{font-size:0.93556em}}@media (max-width: 45.78778em){html{font-size:0.93444em}}@media (max-width: 45.73333em){html{font-size:0.93333em}}@media (max-width: 45.67889em){html{font-size:0.93222em}}@media (max-width: 45.62444em){html{font-size:0.93111em}}@media (max-width: 45.57em){html{font-size:0.93em}}@media (max-width: 45.51556em){html{font-size:0.92889em}}@media (max-width: 45.46111em){html{font-size:0.92778em}}@media (max-width: 45.40667em){html{font-size:0.92667em}}@media (max-width: 45.35222em){html{font-size:0.92556em}}@media (max-width: 45.29778em){html{font-size:0.92444em}}@media (max-width: 45.24333em){html{font-size:0.92333em}}@media (max-width: 45.18889em){html{font-size:0.92222em}}@media (max-width: 45.13444em){html{font-size:0.92111em}}@media (max-width: 45.08em){html{font-size:0.92em}}@media (max-width: 45.02556em){html{font-size:0.91889em}}@media (max-width: 44.97111em){html{font-size:0.91778em}}@media (max-width: 44.91667em){html{font-size:0.91667em}}@media (max-width: 44.86222em){html{font-size:0.91556em}}@media (max-width: 44.80778em){html{font-size:0.91444em}}@media (max-width: 44.75333em){html{font-size:0.91333em}}@media (max-width: 44.69889em){html{font-size:0.91222em}}@media (max-width: 44.64444em){html{font-size:0.91111em}}@media (max-width: 44.59em){html{font-size:0.91em}}@media (max-width: 44.53556em){html{font-size:0.90889em}}@media (max-width: 44.48111em){html{font-size:0.90778em}}@media (max-width: 44.42667em){html{font-size:0.90667em}}@media (max-width: 44.37222em){html{font-size:0.90556em}}@media (max-width: 44.31778em){html{font-size:0.90444em}}@media (max-width: 44.26333em){html{font-size:0.90333em}}@media (max-width: 44.20889em){html{font-size:0.90222em}}@media (max-width: 44.15444em){html{font-size:0.90111em}}@media (max-width: 44.1em){html{font-size:0.9em}}@media (max-width: 44.04556em){html{font-size:0.89889em}}@media (max-width: 43.99111em){html{font-size:0.89778em}}@media (max-width: 43.93667em){html{font-size:0.89667em}}@media (max-width: 43.88222em){html{font-size:0.89556em}}@media (max-width: 43.82778em){html{font-size:0.89444em}}@media (max-width: 43.77333em){html{font-size:0.89333em}}@media (max-width: 43.71889em){html{font-size:0.89222em}}@media (max-width: 43.66444em){html{font-size:0.89111em}}@media (max-width: 43.61em){html{font-size:0.89em}}@media (max-width: 43.55556em){html{font-size:0.88889em}}@media (max-width: 43.50111em){html{font-size:0.88778em}}@media (max-width: 43.44667em){html{font-size:0.88667em}}@media (max-width: 43.39222em){html{font-size:0.88556em}}@media (max-width: 43.33778em){html{font-size:0.88444em}}@media (max-width: 43.28333em){html{font-size:0.88333em}}@media (max-width: 43.22889em){html{font-size:0.88222em}}@media (max-width: 43.17444em){html{font-size:0.88111em}}@media (max-width: 43.12em){html{font-size:0.88em}}@media (max-width: 43.06556em){html{font-size:0.87889em}}@media (max-width: 43.01111em){html{font-size:0.87778em}}@media (max-width: 42.95667em){html{font-size:0.87667em}}@media (max-width: 42.90222em){html{font-size:0.87556em}}@media (max-width: 42.84778em){html{font-size:0.87444em}}@media (max-width: 42.79333em){html{font-size:0.87333em}}@media (max-width: 42.73889em){html{font-size:0.87222em}}@media (max-width: 42.68444em){html{font-size:0.87111em}}@media (max-width: 42.63em){html{font-size:0.87em}}@media (max-width: 42.57556em){html{font-size:0.86889em}}@media (max-width: 42.52111em){html{font-size:0.86778em}}@media (max-width: 42.46667em){html{font-size:0.86667em}}@media (max-width: 42.41222em){html{font-size:0.86556em}}@media (max-width: 42.35778em){html{font-size:0.86444em}}@media (max-width: 42.30333em){html{font-size:0.86333em}}@media (max-width: 42.24889em){html{font-size:0.86222em}}@media (max-width: 42.19444em){html{font-size:0.86111em}}@media (max-width: 42.14em){html{font-size:0.86em}}@media (max-width: 42.08556em){html{font-size:0.85889em}}@media (max-width: 42.03111em){html{font-size:0.85778em}}@media (max-width: 41.97667em){html{font-size:0.85667em}}@media (max-width: 41.92222em){html{font-size:0.85556em}}@media (max-width: 41.86778em){html{font-size:0.85444em}}@media (max-width: 41.81333em){html{font-size:0.85333em}}@media (max-width: 41.75889em){html{font-size:0.85222em}}@media (max-width: 41.70444em){html{font-size:0.85111em}}@media (max-width: 41.65em){html{font-size:1em}body{margin:0 auto}.segment{padding:0;white-space:normal;max-width:25em;margin:0 auto}.segment .comments,.segment .code{display:block;padding:1em}.segment .comments{margin-left:0;width:auto}.segment .code{display:block;overflow-y:hidden;overflow-x:auto}.segment .code .wrapper{display:inline-block}}nav{position:fixed;top:0;right:0;width:20em}@media (max-width: 41.65em){nav{left:0;width:100%}}nav .tools{position:relative;z-index:100}nav .tools li{display:table-cell;vertical-align:middle;text-align:center;white-space:nowrap;height:2em;padding:0 0.5em}nav .tools .github{padding:0}nav .tools .github a{display:block;height:2em;width:2em;text-indent:-9001em}nav .tools .search{width:100%}nav .tools .search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;width:100%}nav .toc{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;top:2em;bottom:0;width:100%;overflow-x:hidden;overflow-y:auto}nav .toc li{position:relative}nav .toc .label{display:block;line-height:2em;padding:0 0.5em 0 0.5em}nav .toc li li .label{padding-left:1em}nav .toc li li li .label{padding-left:1.5em}nav .toc li li li li .label{padding-left:2em}nav .toc li li li li li .label{padding-left:2.5em}nav .toc li li li li li li .label{padding-left:3em}nav{-webkit-transition:height 0;-webkit-transition-delay:150ms;-moz-transition:height 0 150ms;-o-transition:height 0 150ms;transition:height 0 150ms}nav .tools .toggle{-webkit-transition:background 150ms;-moz-transition:background 150ms;-o-transition:background 150ms;transition:background 150ms}nav.active{-webkit-transition:height 0 0;-moz-transition:height 0 0;-o-transition:height 0 0;transition:height 0 0;height:100%}nav .toc{-webkit-transition:right 150ms;-moz-transition:right 150ms;-o-transition:right 150ms;transition:right 150ms;right:-100%}nav.active .toc{right:0}@media (max-width: 41.65em){nav .toc{-webkit-transition:left 150ms;-moz-transition:left 150ms;-o-transition:left 150ms;transition:left 150ms;right:auto;left:-100%}nav.active .toc{left:0}}@media (max-width: 41.65em){body{-webkit-transition:left 150ms;-moz-transition:left 150ms;-o-transition:left 150ms;transition:left 150ms;position:relative;left:0}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{-webkit-transition-property:-moz-transform,-webkit-transform,-o-transform,-webkit-transform;-moz-transition-property:-moz-transform,-webkit-transform,-o-transform,-moz-transform;-o-transition-property:-moz-transform,-webkit-transform,-o-transform,-o-transform;transition-property:-moz-transform -webkit-transform -o-transform transform;-webkit-transition-duration:200ms;-moz-transition-duration:200ms;-o-transition-duration:200ms;transition-duration:200ms;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);display:inline-block;height:9px;width:9px;padding:0.2em;margin:0.2em 0.2em -0.2em 0.2em;vertical-align:baseline;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}nav .toc .discloser.placeholder,nav .toc .expanded>.outline .discloser{background:none}nav .toc .expanded>.label .discloser{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);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-weight:300;font-size:0.82em;line-height:1.3}.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}.comments .wrapper h1{font-size:1.6em}.comments .wrapper h2{font-size:1.4em}.comments .wrapper h3{font-size:1.2em}.comments .wrapper h4{font-size:1em}.comments .wrapper h5{font-size:1em}.comments .wrapper h6{font-size:1em}.comments .wrapper p{margin:1em 0}.comments .wrapper>*:first-child{margin-top:-60px;padding-top:60px}.comments .wrapper>*:last-child{margin-bottom:0}.comments .wrapper ol,.comments .wrapper ul{padding-left:1.75em}.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}.comments .wrapper pre code{padding:1em}.comments .wrapper blockquote{padding:0 1em}html{background:#f3f3f3}#document{background-color:#fff;margin-right:-1em;padding-right:1em}@media (max-width: 41.65em){#document{margin-right:0;padding-right:0}}#meta>*{font-family:"Helvetica Neue",Helvetica,"Droid Sans",sans-serif;font-weight:300;font-size:0.82em;line-height:1.3;text-shadow:#cdcdcd 1px 1px 0}#meta>*,#meta>* a{color:#0d0d0d}#meta>* a{text-decoration:none}.comments .wrapper{font-family:"Helvetica Neue",Helvetica,"Droid Sans",sans-serif;font-weight:300;font-size:0.82em;line-height:1.3;text-shadow:#fff 1px 1px 0;color:#4a525a}.code .wrapper{font-family:"Droid Sans Mono",Menlo,Monaco,monospace;font-size:0.75em;line-height:1.4;color:#333}.code .wrapper .k{color:#d14}.code .wrapper .kn{color:#d14}.code .wrapper .kc{color:#d14}.code .wrapper .kd{color:#d14}.code .wrapper .kp{color:#d14}.code .wrapper .kr{color:#d14}.code .wrapper .kt{color:#d14}.code .wrapper .na{color:teal}.code .wrapper .nc{color:#458}.code .wrapper .no{color:#458}.code .wrapper .nd{color:#458}.code .wrapper .nf{color:navy}.code .wrapper .py{color:navy}.code .wrapper .nv{color:teal}.code .wrapper .vc{color:teal}.code .wrapper .vg{color:teal}.code .wrapper .vi{color:teal}.code .wrapper .s{color:#2a9e3d}.code .wrapper .sb{color:#2a9e3d}.code .wrapper .sc{color:#2a9e3d}.code .wrapper .sd{color:#2a9e3d}.code .wrapper .s2{color:#2a9e3d}.code .wrapper .se{color:#2a9e3d}.code .wrapper .sh{color:#2a9e3d}.code .wrapper .si{color:#2a9e3d}.code .wrapper .sx{color:#2a9e3d}.code .wrapper .sr{color:#333}.code .wrapper .s1{color:#2a9e3d}.code .wrapper .ss{color:#333}.code .wrapper .m{color:#333}.code .wrapper .mf{color:#333}.code .wrapper .mh{color:#333}.code .wrapper .mi{color:#333}.code .wrapper .il{color:#333}.code .wrapper .mo{color:#333}.code .wrapper .o{color:#882d17}.code .wrapper .ow{color:#882d17}.code .wrapper .p{color:#882d17}.code .wrapper .c,.code .wrapper .cm,.code .wrapper .cp,.code .wrapper .c1,.code .wrapper .cs{font-style:italic}.code .wrapper .c{color:#666}.code .wrapper .cm{color:#666}.code .wrapper .cp{color:#666}.code .wrapper .c1{color:#666}.code .wrapper .cs{color:#666}@media (max-width: 41.65em){.code{-webkit-border-radius:0.4em;-moz-border-radius:0.4em;-ms-border-radius:0.4em;-o-border-radius:0.4em;border-radius:0.4em;-webkit-box-shadow:#cdcdcd 0 0 0.5em 0.2em inset;-moz-box-shadow:#cdcdcd 0 0 0.5em 0.2em inset;box-shadow:#cdcdcd 0 0 0.5em 0.2em inset;background:#f3f3f3}.code .wrapper{-webkit-box-shadow:#f3f3f3 0 0 0.25em 0.75em;-moz-box-shadow:#f3f3f3 0 0 0.25em 0.75em;box-shadow:#f3f3f3 0 0 0.25em 0.75em;background:#f3f3f3}}@media (max-width: 25em){.code{-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0}}nav{text-shadow:#f0f0f0 1px 1px 0;color:#4a525a}nav .tools,nav .toc{font-family:"Helvetica Neue",Helvetica,"Droid Sans",sans-serif;font-weight:300;font-size:0.82em;line-height:1.3}nav .tools{-webkit-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;box-shadow:rgba(0,0,0,0.3) 0 0 0.5em 0.1em;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));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:linear-gradient(top, rgba(255,255,255,0.9),rgba(205,205,205,0.9));-moz-border-radius-bottomleft:0.4em;-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;border-bottom:1px solid #4a525a;border-left:1px solid #4a525a}@media (max-width: 49em){nav .tools{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;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{-webkit-transition:opacity 200ms;-moz-transition:opacity 200ms;-o-transition:opacity 200ms;transition:opacity 200ms;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5;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}nav .tools .github a:hover{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=90);opacity:0.9}nav.active .tools{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}nav.active .tools .toggle{background:rgba(205,205,205,0.9);position:relative}nav .toc{-webkit-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;box-shadow:rgba(0,0,0,0.3) 0 0 0.5em 0.1em;background:rgba(230,230,230,0.9);border-left:1px solid #4a525a}nav .toc .label{color:#4a525a;text-decoration:none;border-top:1px solid rgba(192,192,192,0.9);border-bottom:1px solid rgba(192,192,192,0.9);margin-top:-1px}nav .toc .label:hover{background:rgba(205,205,205,0.9)}nav .toc .file>.label{font-weight:bold}nav .toc .selected>.label{background:#fff}nav .toc .label em{font-weight:bold}nav .toc .file>.label em{color:#101214}nav .toc .matched-child>.label{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=65);opacity:0.65;text-shadow:none;background:rgba(192,192,192,0.9)}@media (max-width: 41.65em){nav .tools,nav .toc{border-left-width:0}nav .tools{background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #cdcdcd));background:-webkit-linear-gradient(top, #ffffff,#cdcdcd);background:-moz-linear-gradient(top, #ffffff,#cdcdcd);background:-o-linear-gradient(top, #ffffff,#cdcdcd);background:linear-gradient(top, #ffffff,#cdcdcd)}nav .toc{background:#e6e6e6}}.comments .wrapper a{display:inline-block;color:#a8614e;text-decoration:none}.comments .wrapper a:hover,.comments .wrapper a:hover *{text-decoration:underline}.comments .wrapper code{font-family:"Droid Sans Mono",Menlo,Monaco,monospace;font-size:0.75em;line-height:1.4;border:1px solid #e6e0d5}.comments .wrapper pre,.comments .wrapper code{-webkit-border-radius:0.4em;-moz-border-radius:0.4em;-ms-border-radius:0.4em;-o-border-radius:0.4em;border-radius:0.4em;background:#fbf8f3}.comments .wrapper pre{-webkit-box-shadow:#f2ece3 0 0 0.4em 0.2em;-moz-box-shadow:#f2ece3 0 0 0.4em 0.2em;box-shadow:#f2ece3 0 0 0.4em 0.2em;border:1px solid #d9c9af}.comments .wrapper pre code{border-width:0;background:transparent}.comments .wrapper blockquote{border-left:0.15em solid #959fa8;margin-left:-0.15em}body{-webkit-text-size-adjust:100%}input[type="search"]{-webkit-border-radius:1em;-moz-border-radius:1em;-ms-border-radius:1em;-o-border-radius:1em;border-radius:1em;-webkit-box-shadow:#ddd 0 1px 1px 0 inset;-moz-box-shadow:#ddd 0 1px 1px 0 inset;box-shadow:#ddd 0 1px 1px 0 inset;border:1px solid #959595;padding:0.15em 0.8em}#document .pilwrap{position:relative}#document .pilcrow{color:#454545;font:12px Arial;left:-20px;opacity:0;padding:1px 2px;position:absolute;text-decoration:none;top:3px}#document .comments:hover .pilcrow{opacity:1}#side-nav{left:10px;position:fixed;top:40%;z-index:1000}#side-nav li{margin:10px 0}#side-nav li a{background:url("sideNavOut.png") no-repeat scroll left top transparent;display:block;height:12px;position:relative;width:12px}#side-nav li a .text{display:none}#side-nav li a.active{background:url("sideNavOver.png") no-repeat scroll left top transparent}#flybar{font-family:"Helvetica Neue",Helvetica,"Droid Sans",sans-serif;font-weight:300;font-size:0.82em;line-height:1.3;background-color:#267bb6;background-image:-moz-linear-gradient(center bottom, #2576b4 0px, #348dce 94%);border-bottom:1px solid #888;box-shadow:0 3px 5px rgba(0,0,0,0.1);height:35px;left:0;min-width:745px;padding-left:777px;position:fixed;right:0;top:0;z-index:100;color:#fff}#nav-logo,#nav-logo-nav,#nav-logo-doc{display:block;height:30px;left:10px;position:absolute;top:9px;font-weight:bold}#nav-logo-doc{padding-left:290px}.flybar-button{border-left:1px solid transparent;border-right:1px solid transparent;color:#fff;font-size:12px;font-weight:bold;line-height:35px;padding:0 1em;text-align:center;text-decoration:none;text-transform:uppercase}.flybar-nav{display:block;float:left;position:relative;width:220px}.flybar-language{display:block;float:left;position:relative}.flybar-language .flybar-button{border-left:1px solid transparent;border-right:1px solid transparent;clear:none;float:left;margin-left:-1px;min-width:80px}.flybar-menu{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;background-color:rgba(249,249,249,0.99);border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-color:-moz-use-text-color #bbb #bbb;border-image:none;border-right:1px solid #bbb;border-style:none solid solid;border-width:0 1px 1px;box-shadow:0 3px 5px rgba(0,0,0,0.1);display:none;padding:1em;position:absolute;top:41px;width:870px}#toc-menu{right:-345px}#language-menu{left:-25px}#language-menu li{display:inline-block;margin-right:25px}.flybar-menu h3{font-size:100%;text-transform:uppercase}.flybar-menu h4{color:#9b9b9b;font-size:90%;margin:0.5em 0;text-transform:uppercase}.flybar-menu ul{margin:0 0 1em 1em}.flybar-nav:hover .flybar-menu,.flybar-nav.active .flybar-menu{display:block}.flybar-button:hover,.flybar-button.active{background:none repeat scroll 0 0 #1d77bc;text-decoration:none}.flybar-nav:hover .flybar-button,.flybar-nav.active .flybar-button{background:-moz-linear-gradient(center top, #eee, #f8f8f8) repeat scroll 0 0 transparent;border-left:1px solid #bbb;border-right:1px solid #bbb}.flybar-nav:hover .flybar-button,.flybar-nav.active .flybar-button{background:-moz-linear-gradient(center top, #e5e5e5, #fff) repeat scroll 0 0 transparent;color:#000;height:51px}.sidebar{font-family:"Helvetica Neue",Helvetica,"Droid Sans",sans-serif;font-weight:300;font-size:0.82em;line-height:1.3;border-right:1px solid #e8e8e8;display:inline-block;padding:10px 30px 30px;vertical-align:top;width:220px;z-index:1}.sidebar ul{margin:0}.sidebar .menu li{position:relative}.sidebar .menu a{display:block;margin-top:10px}.sidebar .menu>li{margin-top:20px}.sidebar .menu>li:first-child{margin-top:0}.sidebar .menu>li:first-child>a{margin-top:0}.sidebar .menu>li>a{color:#333;font-weight:bold;margin-bottom:5px;text-decoration:none;text-transform:uppercase}.sidebar .menu .has_sub_menu>a{font-weight:bold}.sidebar .sub-menu .sub-menu{display:none;margin-left:9px}.sub_menu_arrow{border-bottom:3px solid transparent;border-left:3px solid #1a74ba;border-top:3px solid transparent;cursor:pointer;display:block;height:0;left:-10px;position:absolute;top:4px;width:0}.sub_menu_arrow:after{content:"";display:block;height:18px;left:-10px;position:absolute;top:-10px;width:18px}.lte_ie8 .sub_menu_arrow{display:none}.sub_menu_active>.sub_menu_arrow{border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #1a74ba}.sidebar_popout{background:none repeat scroll 0 0 #fcfcfc;height:100%;padding-left:20px;padding-top:60px;position:fixed}.sidebar_popout .menu-container{padding-left:10px}.sidebar_popout a{color:#1a74ba;text-decoration:none}.sidebar_popout a:link,.sidebar_popout a:visited{color:#1a74ba;text-decoration:none}.sidebar_popout a:hover{text-decoration:underline}.sidebar_popout a.no_underline{text-decoration:none}.sidebar_popout a.block_link{display:block;text-decoration:none}.sidebar_popout a.block_link:hover{background:none repeat scroll 0 0 #f8fbfd}.sidebar_no_fixed{position:absolute}.sidebar_button{background:none repeat scroll 0 0 #eaeaea;border-left:1px solid #d7d7d7;border-radius:0 10px 10px 0;cursor:pointer;height:45px;left:270px;position:fixed;top:60px;width:20px;z-index:1}.sidebar_button:hover{background:none repeat scroll 0 0 #dedede}.sidebar_button:after{border-bottom:6px solid transparent;border-right:6px solid #bbb;border-top:6px solid transparent;content:"";display:block;height:0;margin:17px 0 0 5px;width:0}.sidebar_hidden .sidebar_button:after{border-left:6px solid #bbb;border-right:0 none}.content_sidebar{border-left:1px solid #e8e8e8;display:inline-block;margin-left:-5px;padding-left:34px;vertical-align:top;width:640px}.content_sidebar_popout{display:block;padding-left:300px;width:100%}.content_no_fixed_header{margin-top:-66px}.section_anchor{display:block;height:60px;margin-top:-60px}
