.castle-document #toc #toctitle{margin-top:1em;font-size:1.6875em;line-height:1.2;display:none}.castle-document #toc ul{padding-left:1em;list-style-type:none}.castle-document #toc li{line-height:1.3334;margin-top:.3334em}.castle-document .admonitionblock{margin-top:1em;margin-bottom:1em}.castle-document .admonitionblock td{padding:1em}.castle-document .admonitionblock td .paragraph:last-child p{margin-bottom:0}.castle-document .admonitionblock td.icon{padding:1em;font-weight:bold;text-transform:uppercase}.castle-document .admonitionblock.note,.castle-document .admonitionblock.tip{color:#173543;background-color:#d9edf7;border-color:#bce8f1}.castle-document .admonitionblock.important,.castle-document .admonitionblock.caution,.castle-document .admonitionblock.warning{color:#43351c;background-color:#fcf8e3;border-color:#faebcc}.castle-document .left{float:left !important}.castle-document .right{float:right !important}.castle-document .imageblock.left{margin:.25em .625em 1.25em 0}.castle-document .imageblock.right{margin:.25em 0 1.25em .625em}.castle-document .imageblock>.title{margin-bottom:0}.castle-document .imageblock.thumb,.castle-document .imageblock.th{border-width:6px}.castle-document .imageblock.thumb>.title,.castle-document .imageblock.th>.title{padding:0 .125em}.castle-document .image.left,.castle-document .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.castle-document .image.left{margin-right:.625em}.castle-document .image.right{margin-left:.625em}.castle-document a.image{text-decoration:none;display:inline-block}.castle-document a.image object{pointer-events:none}.castle-document .compact p{margin-top:0.1em;margin-bottom:0.1em}.castle-document table.frame-all{border-width:1px}.castle-document table.grid-all>*>tr>*{border-width:1px;padding:0.5em}.castle-document pre.CodeRay{background:#f7f7f8}.castle-document .CodeRay .line-numbers{border-right:1px solid currentColor;opacity:.35;padding:0 .5em 0 0}.castle-document .CodeRay span.line-numbers{display:inline-block;margin-right:.75em}.castle-document .CodeRay .line-numbers strong{color:#000}.castle-document table.CodeRay{border-collapse:separate;border:0;margin-bottom:0;background:none}.castle-document table.CodeRay td{vertical-align:top;line-height:inherit}.castle-document table.CodeRay td.line-numbers{text-align:right}.castle-document table.CodeRay td.code{padding:0 0 0 .75em}.castle-document .CodeRay .debug{color:#fff !important;background:#000080 !important}.castle-document .CodeRay .annotation{color:#007}.castle-document .CodeRay .attribute-name{color:#000080}.castle-document .CodeRay .attribute-value{color:#700}.castle-document .CodeRay .binary{color:#509}.castle-document .CodeRay .comment{color:#998;font-style:italic}.castle-document .CodeRay .char{color:#04d}.castle-document .CodeRay .char .content{color:#04d}.castle-document .CodeRay .char .delimiter{color:#039}.castle-document .CodeRay .class{color:#458;font-weight:bold}.castle-document .CodeRay .complex{color:#a08}.castle-document .CodeRay .constant,.castle-document .CodeRay .predefined-constant{color:#008080}.castle-document .CodeRay .color{color:#099}.castle-document .CodeRay .class-variable{color:#369}.castle-document .CodeRay .decorator{color:#b0b}.castle-document .CodeRay .definition{color:#099}.castle-document .CodeRay .delimiter{color:#000}.castle-document .CodeRay .doc{color:#970}.castle-document .CodeRay .doctype{color:#34b}.castle-document .CodeRay .doc-string{color:#d42}.castle-document .CodeRay .escape{color:#666}.castle-document .CodeRay .entity{color:#800}.castle-document .CodeRay .error{color:#808}.castle-document .CodeRay .exception{color:inherit}.castle-document .CodeRay .filename{color:#099}.castle-document .CodeRay .function{color:#900;font-weight:bold}.castle-document .CodeRay .global-variable{color:#008080}.castle-document .CodeRay .hex{color:#058}.castle-document .CodeRay .integer,.castle-document .CodeRay .float{color:#099}.castle-document .CodeRay .include{color:#555}.castle-document .CodeRay .inline{color:#000}.castle-document .CodeRay .inline .inline{background:#ccc}.castle-document .CodeRay .inline .inline .inline{background:#bbb}.castle-document .CodeRay .inline .inline-delimiter{color:#d14}.castle-document .CodeRay .inline-delimiter{color:#d14}.castle-document .CodeRay .important{color:#555;font-weight:bold}.castle-document .CodeRay .interpreted{color:#b2b}.castle-document .CodeRay .instance-variable{color:#008080}.castle-document .CodeRay .label{color:#970}.castle-document .CodeRay .local-variable{color:#963}.castle-document .CodeRay .octal{color:#40e}.castle-document .CodeRay .predefined{color:#369}.castle-document .CodeRay .preprocessor{color:#579}.castle-document .CodeRay .pseudo-class{color:#555}.castle-document .CodeRay .directive{font-weight:bold}.castle-document .CodeRay .type{font-weight:bold}.castle-document .CodeRay .predefined-type{color:inherit}.castle-document .CodeRay .reserved,.castle-document .CodeRay .keyword{color:#000;font-weight:bold}.castle-document .CodeRay .key{color:#808}.castle-document .CodeRay .key .delimiter{color:#606}.castle-document .CodeRay .key .char{color:#80f}.castle-document .CodeRay .value{color:#088}.castle-document .CodeRay .regexp .delimiter{color:#808}.castle-document .CodeRay .regexp .content{color:#808}.castle-document .CodeRay .regexp .modifier{color:#808}.castle-document .CodeRay .regexp .char{color:#d14}.castle-document .CodeRay .regexp .function{color:#404;font-weight:bold}.castle-document .CodeRay .string{color:#d20}.castle-document .CodeRay .string .string .string{background:#ffd0d0}.castle-document .CodeRay .string .content{color:#d14}.castle-document .CodeRay .string .char{color:#d14}.castle-document .CodeRay .string .delimiter{color:#d14}.castle-document .CodeRay .shell{color:#d14}.castle-document .CodeRay .shell .delimiter{color:#d14}.castle-document .CodeRay .symbol{color:#990073}.castle-document .CodeRay .symbol .content{color:#a60}.castle-document .CodeRay .symbol .delimiter{color:#630}.castle-document .CodeRay .tag{color:#008080}.castle-document .CodeRay .tag-special{color:#d70}.castle-document .CodeRay .variable{color:#036}.castle-document .CodeRay .insert{background:#afa}.castle-document .CodeRay .delete{background:#faa}.castle-document .CodeRay .change{color:#aaf;background:#007}.castle-document .CodeRay .head{color:#f8f;background:#505}.castle-document .CodeRay .insert .insert{color:#080}.castle-document .CodeRay .delete .delete{color:#800}.castle-document .CodeRay .change .change{color:#66f}.castle-document .CodeRay .head .head{color:#f4f}.castle-document pre.rouge table td{padding:5px}.castle-document pre.rouge table pre{margin:0}.castle-document pre.rouge,.castle-document pre.rouge .w{color:#24292f;background-color:#f6f8fa}.castle-document pre.rouge .k,.castle-document pre.rouge .kd,.castle-document pre.rouge .kn,.castle-document pre.rouge .kp,.castle-document pre.rouge .kr,.castle-document pre.rouge .kt,.castle-document pre.rouge .kv{color:#000;font-weight:bold}.castle-document pre.rouge .gr{color:#f6f8fa}.castle-document pre.rouge .gd{color:#82071e;background-color:#ffebe9}.castle-document pre.rouge .nb{color:#953800}.castle-document pre.rouge .nc{color:#953800}.castle-document pre.rouge .no{color:#953800}.castle-document pre.rouge .nn{color:#953800}.castle-document pre.rouge .sr{color:#116329}.castle-document pre.rouge .na{color:#116329}.castle-document pre.rouge .nt{color:#116329}.castle-document pre.rouge .gi{color:#116329;background-color:#dafbe1}.castle-document pre.rouge .ges{font-weight:bold;font-style:italic}.castle-document pre.rouge .kc{color:#0550ae}.castle-document pre.rouge .l,.castle-document pre.rouge .ld,.castle-document pre.rouge .m,.castle-document pre.rouge .mb,.castle-document pre.rouge .mf,.castle-document pre.rouge .mh,.castle-document pre.rouge .mi,.castle-document pre.rouge .il,.castle-document pre.rouge .mo,.castle-document pre.rouge .mx{color:#0550ae}.castle-document pre.rouge .sb{color:#0550ae}.castle-document pre.rouge .bp{color:#0550ae}.castle-document pre.rouge .ne{color:#0550ae}.castle-document pre.rouge .nl{color:#0550ae}.castle-document pre.rouge .py{color:#0550ae}.castle-document pre.rouge .nv,.castle-document pre.rouge .vc,.castle-document pre.rouge .vg,.castle-document pre.rouge .vi,.castle-document pre.rouge .vm{color:#0550ae}.castle-document pre.rouge .o,.castle-document pre.rouge .ow{color:#0550ae}.castle-document pre.rouge .gh{color:#0550ae;font-weight:bold}.castle-document pre.rouge .gu{color:#0550ae;font-weight:bold}.castle-document pre.rouge .s,.castle-document pre.rouge .sa,.castle-document pre.rouge .sc,.castle-document pre.rouge .dl,.castle-document pre.rouge .sd,.castle-document pre.rouge .s2,.castle-document pre.rouge .se,.castle-document pre.rouge .sh,.castle-document pre.rouge .sx,.castle-document pre.rouge .s1,.castle-document pre.rouge .ss{color:#d14}.castle-document pre.rouge .nd{color:#8250df}.castle-document pre.rouge .nf,.castle-document pre.rouge .fm{color:#8250df}.castle-document pre.rouge .err{color:#f6f8fa;background-color:#82071e}.castle-document pre.rouge .c,.castle-document pre.rouge .ch,.castle-document pre.rouge .cd,.castle-document pre.rouge .cm,.castle-document pre.rouge .cp,.castle-document pre.rouge .cpf,.castle-document pre.rouge .c1,.castle-document pre.rouge .cs{color:#998;font-style:italic}.castle-document pre.rouge .gl{color:#6e7781}.castle-document pre.rouge .gt{color:#6e7781}.castle-document pre.rouge .ni{color:#24292f}.castle-document pre.rouge .si{color:#24292f}.castle-document pre.rouge .ge{color:#24292f;font-style:italic}.castle-document pre.rouge .gs{color:#24292f;font-weight:bold}
