2020-09-26 22:13:26 +02:00
<!DOCTYPE html>
< html >
<!--
This is MDwiki v0.6.2
(C) 2013 by Timo Dörr and contributors. This software is licensed
under the terms of the GNU GPLv3 with additional terms applied.
See https://github.com/Dynalon/mdwiki/blob/master/LICENSE.txt for more detail.
See http://github.com/Dynalon/mdwiki for a copy of the source code.
-->
< head >
< title > KiTTY</ title >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< meta name = "fragment" content = "!" >
< link rel = "shortcut icon" type = "image/x-icon" href = "favicon.png" />
< meta charset = "UTF-8" >
< style type = "text/css" >
/* hide the main content while we assemble everything */
. md-hidden-load { display : none ; }
. anchor-highlight {
font-size : 0.7 em ;
margin-left : 0.25 em ;
}
/* for pageContentMenu */
# md-page-menu {
position : static ;
}
# md-page-menu a . active {
/* background-color: rgba(0, 0, 0, 0.01); */
font-weight : bold ;
padding-left : 6 px ;
}
@ media ( min-width : 992px ) {
# md-page-menu . affix {
position : fixed ;
}
}
@ media ( min-width : 768px ) {
. md-float-left . col-sm-8 , . md-float-right . col-sm-8 {
max-width : 66.67 % ;
}
. md-float-left . col-sm-4 , . md-float-right . col-sm-4 {
max-width : 33.33 % ;
}
. md-float-left . col-sm-2 , . md-float-right . col-sm-2 {
max-width : 16.67 % ;
}
}
@ media ( max-width : 992px ) {
a . forkmeongithub {
display : none ;
}
}
@ media ( max-width : 768px ) {
/* don't use floating for smaller screens */
. md-float-left . col-sm-8 , . md-float-left . col-sm-4 , . md-float-left . col-sm-2 {
width : 100 % ;
max-width : !important ;
min-width : 100 % ;
}
. md-float-right . col-sm-8 , . md-float-right . col-sm-4 , . md-float-right . col-sm-2 {
width : 100 % ;
max-width : !important ;
min-width : 100 % ;
}
}
. md-floatenv . md-text {
/* md-text is not of md-col-* but needs the spacing */
margin-left : 15 px ;
margin-right : 15 px ;
}
/* float images */
. md-float-left . col-sm-8 , . md-float-left . col-sm-4 , . md-float-left . col-sm-2 {
width : auto ;
}
. md-float-right . col-sm-8 , . md-float-right . col-sm-4 , . md-float-right . col-sm-2 {
float : right !important ;
width : auto ;
}
# md-all . md-copyright-footer {
background-color : !important ;
font-size : smaller ;
padding : 1 em ;
}
</ style >
<!-- START extlib/css/highlight.github.css -->
< style id = "style:extlib/css/highlight.github.css" > pre code { display : block ; padding : .5 em ; color : #333 ; background : #f8f8ff } pre . comment , pre . template_comment , pre . diff . header , pre . javadoc { color : #998 ; font-style : italic } pre . keyword , pre . css . rule . keyword , pre . winutils , pre . javascript . title , pre . nginx . title , pre . subst , pre . request , pre . status { color : #333 ; font-weight : bold } pre . number , pre . hexcolor , pre . ruby . constant { color : #099 } pre . string , pre . tag . value , pre . phpdoc , pre . tex . formula { color : #d14 } pre . title , pre . id { color : #900 ; font-weight : bold } pre . javascript . title , pre . lisp . title , pre . clojure . title , pre . subst { font-weight : normal } pre . class . title , pre . haskell . type , pre . vhdl . literal , pre . tex . command { color : #458 ; font-weight : bold } pre . tag , pre . tag . title , pre . rules . property , pre . django . tag . keyword { color : #000080 ; font-weight : normal } pre . attribute , pre . variable , pre . lisp . body { color : #008080 } pre . regexp { color : #009926 } pre . class { color : #458 ; font-weight : bold } pre . symbol , pre . ruby . symbol . string , pre . lisp . keyword , pre . tex . special , pre . prompt { color : #990073 } pre . built_in , pre . lisp . title , pre . clojure . built_in { color : #0086b3 } pre . preprocessor , pre . pi , pre . doctype , pre . shebang , pre . cdata { color : #999 ; font-weight : bold } pre . deletion { background : #fdd } pre . addition { background : #dfd } pre . diff . change { background : #0086b3 } pre . chunk { color : #aaa }</ style > <!-- END extlib/css/highlight.github.css -->
<!-- START extlib/css/bootstrap-3.0.0.min.css -->
< style id = "style:extlib/css/bootstrap-3.0.0.min.css" > /*!
* Bootstrap v3.0.0
*
* Copyright 2013 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world by @mdo and @fat.
*//*! normalize.css v2.1.0 | MIT License | git.io/normalize */ article , aside , details , figcaption , figure , footer , header , hgroup , main , nav , section , summary { display : block } audio , canvas , video { display : inline-block } audio : not ([ controls ]) { display : none ; height : 0 } [ hidden ] { display : none } html { font-family : sans-serif ; -webkit- text-size-adjust : 100 % ; -ms- text-size-adjust : 100 % } body { margin : 0 } a : focus { outline : thin dotted } a : active , a : hover { outline : 0 } h1 { margin : .67 em 0 ; font-size : 2 em } abbr [ title ] { border-bottom : 1 px dotted } b , strong { font-weight : bold } dfn { font-style : italic } hr { height : 0 ; -moz- box-sizing : content-box ; box-sizing : content-box } mark { color : #000 ; background : #ff0 } code , kbd , pre , samp { font-family : monospace , serif ; font-size : 1 em } pre { white-space : pre-wrap } q { quotes : "\201C" "\201D" "\2018" "\2019" } small { font-size : 80 % } sub , sup { position : relative ; font-size : 75 % ; line-height : 0 ; vertical-align : baseline } sup { top : -0.5 em } sub { bottom : -0.25 em } img { border : 0 } svg : not ( : root ) { overflow : hidden } figure { margin : 0 } fieldset { padding : .35 em .625 em .75 em ; margin : 0 2 px ; border : 1 px solid #c0c0c0 } legend { padding : 0 ; border : 0 } button , input , select , textarea { margin : 0 ; font-family : inherit ; font-size : 100 % } button , input { line-height : normal } button , select { text-transform : none } button , html input [ type = "button" ], input [ type = "reset" ], input [ type = "submit" ] { cursor : pointer ; -webkit- appearance : button } button [ disabled ], html input [ disabled ] { cursor : default } input [ type = "checkbox" ], input [ type = "radio" ] { padding : 0 ; box-sizing : border-box } input [ type = "search" ] { -webkit- box-sizing : content-box ; -moz- box-sizing : content-box ; box-sizing : content-box ; -webkit- appearance : textfield } input [ type = "search" ] :: -webkit-search-cancel-button , input [ type = "search" ] :: -webkit-search-decoration { -webkit- appearance : none } button :: -moz-focus-inner , input :: -moz-focus-inner { padding : 0 ; border : 0 } textarea { overflow : auto ; vertical-align : top } table { border-collapse : collapse ; border-spacing : 0 }@ media print { * { color : #000 !important ; text-shadow : none !important ; background : transparent !important ; box-shadow : none !important } a , a : visited { text-decoration : underline } a [ href ] : after { content : " (" attr ( href ) ")" } abbr [ title ] : after { content : " (" attr ( title ) ")" }. ir a : after , a [ href ^= "javascript:" ] : after , a [ href ^= "#" ] : after { content : "" } pre , blockquote { border : 1 px solid #999 ; page-break-inside : avoid } thead { display : table-header-group } tr , img { page-break-inside : avoid } img { max-width : 100 % !important }@ page { margin : 2cm . 5cm } p , h2 , h3 { orphans : 3 ; widows : 3 } h2 , h3 { page-break-after : avoid }. navbar { display : none }. table td , . table th { background-color : #fff !important }. btn > . caret , . dropup > . btn > . caret { border-top-color : #000 !important }. label { border : 1 px solid #000 }. table { border-collapse : collapse !important }. table-bordered th , . table-bordered td { border : 1 px solid #ddd !important }} *,* : before ,* : after { -webkit- box-sizing : border-box ; -moz- box-sizing : border-box ; box-sizing : border-box } html { font-size : 62.5 % ; -webkit- tap-highlight-color : rgba ( 0 , 0 , 0 , 0 )} body { font-family : "Helvetica Neue" , Helvetica , Arial , sans-serif ; font-size : 14 px ; line-height : 1.428571429 ; color : #333 ; background-color : #fff } input , button , select , textarea { font-family : inherit ; font-size : inherit ; line-height : inherit } button , input , select [ multiple ], textarea { background-image : none } a { color : #428bca ; text-decoration : none } a : hover , a : focus { color : #2a6496 ; text-decoration : underline } a : focus { outline : thin dotted #333 ; outline : 5 px auto -webkit- focus-ring-color ; outline-offset : -2 px } img { vertical-align : middle }. img-responsive { display : block ; height : auto ; max-width : 100 % }. img-rounded { border-radius : 6 px }. img-thumbnail { display : inline-block ; height : auto ; max-width : 100 % ; padding : 4 px ; line-height : 1.428571429 ; background-color : #fff ; border : 1 px solid #ddd ; border-radius : 4 px ; -webkit- transition : all .2 s ease-in-out ; transition : all .2 s ease-in-out }. img-circle { border-radius : 50 % } hr { margin-top : 20 px ; margin-bottom : 20 px ; border : 0 ; border-top : 1 px solid #eee }. sr-only { position : absolute ; width : 1 px ; height : 1 px ; padding : 0 ; margin : -1 px ; overflow : hidden ; clip : rect ( 0 0 0 0 ); border : 0 } p { margin : 0 0 10 px }. lead { margin-bottom : 20 px ; font-size : 16.099999999999998 px ; font-weight : 200 ; line-height : 1.4 }@ media ( min-width : 768px ) {. lead { font-size : 21 px }} small { font-size : 85 % } cite { font-style : normal }. text-muted { color : #999 }. text-p
<! -- START extlib / js / jquery-1 . 8 . 3 . min . js -- >
< script type = "text/javascript" > /*! jQuery v1.8.3 jquery.com | jquery.org/license */
( function ( e , t ) { function _(e){var t=M[e]={ } ; return v . each ( e . split ( y ), function ( e , n ) { t[n]=!0 } ), t } function H ( e , n , r ) { if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase() ; r=e.getAttribute(i) ; if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"? null : + r + "" === r ?+ r : D . test ( r ) ? v . parseJSON ( r ) : r } catch ( s ) {} v . data ( e , n , r ) } else r = t } return r } function B ( e ) { var t ; for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue ; if(t!=="toJSON")return!1 } return ! 0 } function et () { return!1 } function tt () { return!0 } function ut ( e ) { return!e||!e.parentNode||e.parentNode.nodeType===11 } function at ( e , t ) { do e=e[t] ; while(e&&e.nodeType!==1) ; return e } function ft ( e , t , n ) { t=t||0 ; if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e) ; return i===n } ); if ( t . nodeType ) return v . grep ( e , function ( e , r ) { return e===t===n } ); if ( typeof t == "string" ) { var r=v.grep(e,function(e){return e.nodeType===1 } ); if ( it . test ( t )) return v . filter ( t , r ,! n ); t = v . filter ( t , r ) } return v . grep ( e , function ( e , r ) { return v.inArray(e,t)>=0===n } ) } function lt ( e ) { var t=ct.split("|"),n=e.createDocumentFragment() ; if(n.createElement)while(t.length)n.createElement(t.pop()) ; return n } function Lt ( e , t ) { return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t)) } function At ( e , t ) { if(t.nodeType!==1||!v.hasData(e))return ; var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events ; if(u){delete o.handle,o.events={ } ; for ( n in u ) for ( r = 0 , i = u [ n ] . length ; r < i ; r ++) v . event . add ( t , n , u [ n ][ r ]) } o . data &&( o . data = v . extend ( {} , o . data )) } function Ot ( e , t ) { var n ; if(t.nodeType!==1)return ; t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n==="input"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n==="option"?t.selected=e. defaultSelected : n === "input" || n === "textarea" ? t . defaultValue = e . defaultValue : n === "script" && t . text !== e . text && ( t . text = e . text ), t . removeAttribute ( v . expando )} function Mt ( e ) { return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[] } function _t ( e ) { Et.test(e.type)&&(e.defaultChecked=e.checked) } function Qt ( e , t ) { if(t in e)return t ; var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Jt.length ; while(i--){t=Jt[i]+n ; if(t in e)return t } return r } function Gt ( e , t ) { return e=t||e,v.css(e,"display")==="none"||!v.contains(e.ownerDocument,e) } function Yt ( e , t ) { var n,r,i=[],s=0,o=e.length ; for( ; s<o ; s++){n=e[s] ; if(!n.style)continue ; i[s]=v._data(n,"olddisplay"),t?(!i[s]&&n.style.display==="none"&&(n.style.display=""),n.style.display===""&&Gt(n)&&(i[s]=v._data(n,"olddisplay",nn(n.nodeName)))):(r=Dt(n,"display"),!i[s]&&r!=="none"&&v._data(n,"olddisplay",r)) } for ( s = 0 ; s < o ; s ++) { n=e[s] ; if(!n.style)continue ; if(!t||n.style.display==="none"||n.style.display==="")n.style.display=t?i[s]||"":"none" } return e } function Zt ( e , t , n ) { var r=Rt.exec(t) ; return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t } function en ( e , t , n , r ) { var i=n===(r?"border":"content")?4:t==="width"?1:0,s=0 ; for( ; i<4 ; i+=2)n==="margin"&&(s+=v.css(e,n+$t[i],!0)),r?(n==="content"&&(s-=parseFloat(Dt(e,"padding"+$t[i]))||0),n!=="margin"&&(s-=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0)):(s+=parseFloat(Dt(e,"padding"+$t[i]))||0,n!=="padding"&&(s+=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0)) ; return s } function tn ( e , t , n ) { var r=t==="width"?e. offsetWidth : e . offsetHeight , i =! 0 , s = v . support . boxSizing && v . css ( e , "boxSizing" ) === "border-box" ; if(r<=0||r==null){r=Dt(e,t) ; if(r<0||r==null)r=e.style[t] ; if(Ut.test(r))return r ; i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0 } return r + en ( e , t , n ||( s ? "border" : "content" ), i )+ "px" } function nn ( e ) { if(Wt[e])return Wt[e] ; var t=v("<"+e+">").appendTo(i.body),n=t.css("display") ; t.remove() ; if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{ frameBorder : 0 , width : 0 , height : 0 } )); if (! Ht ||! Pt . createElement ) Ht =( Pt . contentWindow || Pt . contentDocument ) . document , Ht . write ( "<!doctype html><html><body>" ), Ht
<! -- END extlib / js / jquery-1 . 8 . 3 . min . js -- >
<! -- START extlib / js / bootstrap-3 . 0 . 0 . min . js -- >
< script type = "text/javascript" > /**
* bootstrap.js v3.0.0 by @fat and @mdo
* Copyright 2013 Twitter Inc.
* http://www.apache.org/licenses/LICENSE-2.0
*/
if (! jQuery ) throw new Error ( "Bootstrap requires jQuery" );+ function ( a ) { "use strict" ; function b(){var a=document.createElement("bootstrap"),b={ WebkitTransition : "webkitTransitionEnd" , MozTransition : "transitionend" , OTransition : "oTransitionEnd otransitionend" , transition : "transitionend" } ; for ( var c in b ) if ( void 0 !== a . style [ c ]) return { end : b [ c ]} } a . fn . emulateTransitionEnd = function ( b ) { var c=!1,d=this ; a(this).one(a.support.transition.end,function(){c=!0 } ); var e = function () { c||a(d).trigger(a.support.transition.end) } ; return setTimeout ( e , b ), this } , a ( function () { a.support.transition=b() } ) } ( window . jQuery ),+ function ( a ) { "use strict" ; var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close) } ; c . prototype . close = function ( b ) { function c(){f.trigger("closed.bs.alert").remove() } var d = a ( this ), e = d . attr ( "data-target" ); e ||( e = d . attr ( "href" ), e = e && e . replace (/.*(?= # [^ \ s ]*$)/, "" )); var f = a ( e ); b && b . preventDefault (), f . length ||( f = d . hasClass ( "alert" )? d : d . parent ()), f . trigger ( b = a . Event ( "close.bs.alert" )), b . isDefaultPrevented ()||( f . removeClass ( "in" ), a . support . transition && f . hasClass ( "fade" )? f . one ( a . support . transition . end , c ) . emulateTransitionEnd ( 150 ) : c ()) } ; var d = a . fn . alert ; a . fn . alert = function ( b ) { return this.each(function(){var d=a(this),e=d.data("bs.alert") ; e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d) } ) } , a . fn . alert . Constructor = c , a . fn . alert . noConflict = function () { return a.fn.alert=d,this } , a ( document ) . on ( "click.bs.alert.data-api" , b , c . prototype . close ) } ( window . jQuery ),+ function ( a ) { "use strict" ; var b=function(c,d){this.$element=a(c),this.options=a.extend({ } , b . DEFAULTS , d ) } ; b . DEFAULTS = { loadingText : "loading..." } , b . prototype . setState = function ( a ) { var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data() ; a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b) } , 0 ) } , b . prototype . toggle = function () { var a=this.$element.closest('[data-toggle="buttons"]') ; if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change") ; "radio"===b.prop("type")&&a.find(".active").removeClass("active") } this .$ element . toggleClass ( "active" ) } ; var c = a . fn . button ; a . fn . button = function ( c ) { return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c ; e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c) } ) } , a . fn . button . Constructor = b , a . fn . button . noConflict = function () { return a.fn.button=c,this } , a ( document ) . on ( "click.bs.button.data-api" , "[data-toggle^=button]" , function ( b ) { var c=a(b.target) ; c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault() } ) } ( window . jQuery ),+ function ( a ) { "use strict" ; var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this)) } ; b . DEFAULTS = { interval : 5 e3 , pause : "hover" , wrap :! 0 } , b . prototype . cycle = function ( b ) { return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this } , b . prototype . getActiveIndex = function () { return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active) } , b . prototype . to = function ( b ) { var c=this,d=this.getActiveIndex() ; return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b) } ) : d == b ? this . pause () . cycle () : this . slide ( b > d ? "next" : "prev" , a ( this .$ items [ b ])) } , b . prototype . pause = function ( b ) { return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this } , b . prototype . next = function () { return this.sliding?void 0:this.slide("next") } , b . prototype . prev = function () { return this.sliding?void 0:this.slide("pr
<!-- END extlib/js/bootstrap-3.0.0.min.js -->
<!-- START extlib/js/highlight-7.3.pack.min.js -->
<script type="text/javascript"> /* highlight.js Copyright (c) 2006, Ivan Sagalaev. Licensed under BSD 3-clause.
See https://github.com/isagalaev/highlight.js/blob/master/LICENSE */
var hljs=new function(){function l(o){return o.replace(/&/gm,"& ; ").replace(/</gm,"< ; ").replace(/>/gm,"> ; ") } function b ( p ) { for(var o=p.firstChild ; o ; o=o.nextSibling){if(o.nodeName=="CODE"){return o } if (!( o . nodeType == 3 && o . nodeValue . match (/ \ s +/))) { break } }} function h ( p , o ) { return Array.prototype.map.call(p.childNodes,function(q){if(q.nodeType==3){return o?q.nodeValue.replace(/\n/g,""):q.nodeValue } if ( q . nodeName == "BR" ) { return"\n" } return h ( q , o ) } ) . join ( "" ) } function a ( q ) { var p=(q.className+" "+q.parentNode.className).split(/\s+/) ; p=p.map(function(r){return r.replace(/^language-/,"") } ); for ( var o = 0 ; o < p . length ; o ++) { if(e[p[o]]||p[o]=="no-highlight"){return p[o] } }} function c ( q ) { var o=[] ; (function p(r,s){for(var t=r.firstChild ; t ; t=t.nextSibling){if(t.nodeType==3){s+=t.nodeValue.length } else { if(t.nodeName=="BR"){s+=1 } else { if(t.nodeType==1){o.push({ event : "start" , offset : s , node : t } ); s = p ( t , s ); o . push ( { event : "stop" , offset : s , node : t } ) }}}} return s } )( q , 0 ); return o } function j ( x , v , w ) { var p=0 ; var y="" ; var r=[] ; function t(){if(x.length&&v.length){if(x[0].offset!=v[0].offset){return(x[0].offset<v[0].offset)? x : v } else { return v[0].event=="start"? x : v } } else { return x.length? x : v } } function s ( A ) { function z(B){return" "+B.nodeName+'="'+l(B.value)+'"' } return "<" + A . nodeName + Array . prototype . map . call ( A . attributes , z ) . join ( "" )+ ">" } while ( x . length || v . length ) { var u=t().splice(0,1)[0] ; y+=l(w.substr(p,u.offset-p)) ; p=u.offset ; if(u.event=="start"){y+=s(u.node) ; r.push(u.node) } else { if(u.event=="stop"){var o,q=r.length ; do{q-- ; o=r[q] ; y+=("</"+o.nodeName.toLowerCase()+">") } while ( o != u . node ); r . splice ( q , 1 ); while ( q < r . length ) { y+=s(r[q]) ; q++ } }}} return y + l ( w . substr ( p )) } function f ( q ) { function o(s,r){return RegExp(s,"m"+(q.cI?"i":"")+(r?"g":"")) } function p ( y , w ) { if(y.compiled){return } y . compiled = true ; var s =[]; if ( y . k ) { var r={ } ; function z ( A , t ) { t.split(" ").forEach(function(B){var C=B.split("|") ; r[C[0]]=[A,C[1]?Number(C[1]):1] ; s.push(C[0]) } ) } y . lR = o ( y . l || hljs . IR , true ); if ( typeof y . k == "string" ) { z("keyword",y.k) } else { for(var x in y.k){if(!y.k.hasOwnProperty(x)){continue } z ( x , y . k [ x ]) }} y . k = r } if ( w ) { if(y.bWK){y.b="\\b("+s.join("|")+")\\s" } y . bR = o ( y . b ? y . b : "\\B|\\b" ); if (! y . e &&! y . eW ) { y.e="\\B|\\b" } if ( y . e ) { y.eR=o(y.e) } y . tE = y . e || "" ; if ( y . eW && w . tE ) { y.tE+=(y.e?"|":"")+w.tE } } if ( y . i ) { y.iR=o(y.i) } if ( y . r === undefined ) { y.r=1 } if (! y . c ) { y.c=[] } for ( var v = 0 ; v < y . c . length ; v ++) { if(y.c[v]=="self"){y.c[v]=y } p ( y . c [ v ], y ) } if ( y . starts ) { p(y.starts,w) } var u =[]; for ( var v = 0 ; v < y . c . length ; v ++) { u.push(y.c[v].b) } if ( y . tE ) { u.push(y.tE) } if ( y . i ) { u.push(y.i) } y . t = u . length ? o ( u . join ( "|" ), true ): { exec : function ( t ) { return null } }} p ( q ) } function d ( D , E ) { function o(r,M){for(var L=0 ; L<M.c.length ; L++){var K=M.c[L].bR.exec(r) ; if(K&&K.index==0){return M.c[L] } }} function s ( K , r ) { if(K.e&&K.eR.test(r)){return K } if ( K . eW ) { return s(K.parent,r) } } function t ( r , K ) { return K.i&&K.iR.test(r) } function y ( L , r ) { var K=F.cI?r[0].toLowerCase():r[0] ; return L.k.hasOwnProperty(K)&&L.k[K] } function G () { var K=l(w) ; if(!A.k){return K } var r = "" ; var N = 0 ; A . lR . lastIndex = 0 ; var L = A . lR . exec ( K ); while ( L ) { r+=K.substr(N,L.index-N) ; var M=y(A,L) ; if(M){v+=M[1] ; r+='<span class="'+M[0]+'">'+L[0]+"</span>" } else { r+=L[0] } N = A . lR . lastIndex ; L = A . lR . exec ( K ) } return r + K . substr ( N ) } function z () { if(A.sL&&!e[A.sL]){return l(w) } var r = A . sL ? d ( A . sL , w ) : g ( w ); if ( A . r > 0 ) { v+=r.keyword_count ; B+=r.r } return '<span class="' + r . language + '">' + r . value + "</span>" } function J () { return A.sL!==undefined?z():G() } function I ( L , r ) { var K=L.cN?'<span class="'+L.cN+'">':"" ; if(L.rB){x+=K ; w="" } else { if(L.eB){x+=l(r)+K ; w="" } else { x+=K ; w=r } } A = Object . create ( L , { parent : { value : A } } ); B += L . r } function C ( K , r ) { w+=K ; if(r===undefined){x+=J() ; return 0 } var L = o ( r , A ); if ( L ) { x+=J() ; I(L,r) ; return L.rB?0:r.length } var M = s ( A , r ); if ( M ) { if(!(M.rE||M.eE)){w+=r } x += J (); do { if(A.cN){x+="</span>" } A = A . parent } while ( A != M . parent ); if ( M . eE ) { x+=l(r) } w = "" ; if ( M . starts ) { I(M.starts,"") } return M . rE ? 0 : r . length } if ( t ( r , A )) { throw"Illegal" } w += r ; return r . length || 1 } var F = e [ D ]; f ( F ); var A = F ; var w = "" ; var B = 0 ; var v = 0 ; var x = "" ; try { var u,q,p=0 ; while(true){A.t.lastIndex=p ; u=A.t.exec(E) ; if(!u){break } q = C ( E . substr ( p , u . index-p ), u [ 0 ]); p = u . index + q } C ( E . substr ( p )); return { r : B , keyword_count : v , value : x , language : D } } catch ( H
</ script >
<! -- END extlib / js / highlight-7 . 3 . pack . min . js -- >
<! -- START extlib / css / colorbox . css -- >
< style id = "style:extlib/css/colorbox.css" > /*
ColorBox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
# colorbox , # cboxOverlay , # cboxWrapper { position : absolute ; top : 0 ; left : 0 ; z-index : 9999 ; overflow : hidden ;}
# cboxOverlay { position : fixed ; width : 100 % ; height : 100 % ;}
# cboxMiddleLeft , # cboxBottomLeft { clear : left ;}
# cboxContent { position : relative ;}
# cboxLoadedContent { overflow : auto ;}
# cboxTitle { margin : 0 ;}
# cboxLoadingOverlay , # cboxLoadingGraphic { position : absolute ; top : 0 ; left : 0 ; width : 100 % ; height : 100 % ;}
# cboxPrevious , # cboxNext , # cboxClose , # cboxSlideshow { cursor : pointer ;}
. cboxPhoto { float : left ; margin : auto ; border : 0 ; display : block ; max-width : none ;}
. cboxIframe { width : 100 % ; height : 100 % ; display : block ; border : 0 ;}
# colorbox , # cboxContent , # cboxLoadedContent { box-sizing : content-box ;}
/*
User Style:
Change the following styles to modify the appearance of ColorBox. They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
# cboxOverlay { background : #000 ;}
# colorbox {}
# cboxTitle { position : absolute ; bottom : -25 px ; left : 0 ; text-align : center ; width : 100 % ; font-weight : bold ; color : #7C7C7C ;}
# cboxCurrent { position : absolute ; bottom : -25 px ; left : 58 px ; font-weight : bold ; color : #7C7C7C ;}
# cboxPrevious , # cboxNext , # cboxClose , # cboxSlideshow { position : absolute ; bottom : -29 px ; background-repeat : no-repeat ; background-position : 0 px 0 px ; width : 23 px ; height : 23 px ; text-indent : -9999 px ;}
# cboxPrevious { left : 0 px ; background-position : -51 px -25 px ;}
# cboxPrevious : hover { background-position : -51 px 0 px ;}
# cboxNext { left : 27 px ; background-position : -75 px -25 px ;}
# cboxNext : hover { background-position : -75 px 0 px ;}
# cboxClose { right : 0 ; background-position : -100 px -25 px ;}
# cboxClose : hover { background-position : -100 px 0 px ;}
. cboxSlideshow_on # cboxSlideshow { background-position : -125 px 0 px ; right : 27 px ;}
. cboxSlideshow_on # cboxSlideshow : hover { background-position : -150 px 0 px ;}
. cboxSlideshow_off # cboxSlideshow { background-position : -150 px -25 px ; right : 27 px ;}
. cboxSlideshow_off # cboxSlideshow : hover { background-position : -125 px 0 px ;}
/* begin inline customizing */
# cboxBottomCenter { height : 43 px ; background-repeat : repeat-x ; background-position : bottom left ;}
# cboxTopCenter { height : 14 px ; background-repeat : repeat-x ; background-position : top left ;}
# cboxBottomCenter , # cboxTopCenter { background-image : url ( data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABLCAMAAACGCB2xAAAAM1BMVEVSUlJHR0dPT09BQUFLS0tQUFA6OjpgYGCKioozMzPS0tJaWlpRUVHy8vKJiYn////m5eV3dK93AAAAK0lEQVR4XqXBhQ2AQBAAsJ48bvtPywyE1GLGYUgtlPuT0+b5abealNDScL0YiAPSV/RH9wAAAABJRU5ErkJggg== );}
# cboxTopLeft , # cboxTopRight , # cboxBottomLeft , # cboxBottomRight , # cboxMiddleLeft ,
# cboxMiddleRight , # cboxContent , # cboxPrevious , # cboxNext , # cboxClose , # cboxSlideshow {
background-image : url ( data:image/png;base64,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 );
}
# cboxTopLeft { width : 14 px ; height : 14 px ; background-repeat : no-repeat ; background-position : 0 0 ;}
# cboxTopRight { width : 14 px ; height : 14 px ; background-repeat : no-repeat ; background-position : -36 px 0 ;}
# cboxBottomLeft { width : 14 px ; height : 43 px ; background-repeat : no-repeat ; background-position : 0 -32 px ;}
# cboxBottomRight { width : 14 px ; height : 43 px ; background-repeat : no-repeat ; background-position : -36 px -32 px ;}
# cboxMiddleLeft { width : 14 px ; background-repeat : repeat-y ; background-position : -175 px 0 ;}
# cboxMiddleRight { width : 14 px ; background-repeat : repeat-y ; background-position : -211 px 0 ;}
# cboxContent { background : #fff ; overflow : visible ;}
. cboxIframe { background : #fff ;}
# cboxError { padding : 50 px ; border : 1 px solid #ccc ;}
# cboxLoadedContent { margin-bottom : 5 px ;}
# cboxLoadingOverlay { background : url ( data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAElBMVEX///////////8AAAD///////9H1zSfAAAABXRSTlPvgBAAz5JLnNUAAAA+SURBVHhe7dMhAQAgEEPRIfAYEkCCi0ACEOtfBc8WAHFfPr0hGp/KwKS00BUPquIGTZ9gYqIdrZ23PYK9zAX6sAYavSqAMgAAAABJRU5ErkJggg== );
background-repeat : no-repeat ; background-position : center center ;}
# cboxLoadingGraphic { background : url ( data : image / gif ; base64 , R0lGODlhIAAgAPYAAP //// 9 VAP77 + v7j1v7m2v78 / P7Quv6qgP6wiv7UwP749v7v6P6viP6ofv6 / oP7u5v6fcP6LUv6rgv7s5P728v6nfP7Aov7Irv54Nv57Ov5 / QP6bav7n3P739P6mev7Dpv76 + P7ayP58PP6cbP7w6v6 + nv6keP7Tvv7g0v53NP56OP7HrP7Yxv7czP7z7v7i1P50MP7MtP7SvP7EqP708P6ebv62kv7k2P7r4v6uhv5gEv5fEP5sJP5eDv5zLv67mv7q4P7o3v7y7P7KsP68nP64lv6WYv6zjv63lP6DRv6HTP6KUP6CRP6GSv60kP7ezv6ESP6AQv7f0P7Wwv6ITv66mP5mGv5vKP52Mv5jFv5iFP7PuP6QWv6MVP7CpP6gcv6PWP6TXv6XZP6SXP6OVv5rIv5qIP5oHv5wKv7byv7XxP6aaP7Otv6YZv5yLP7Gqv5kGP6UYP5nHP6idP6jdv7Lsv5uJv6shP5 + Pv6yjP5cDAAAAAAAAAAAAAAAAAAAACH / C05FVFNDQVBFMi4wAwEAAAAh / hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh + QQJBQAAACwAAAAAIAAgAAAH / 4 AAgoOEhYaHiImKi4yNjo + QkZKECzk2NJOCDxchgwU1OjsSmQoQGCIWghQiOz01npALERkYGQ4AFBqtP4ILN0ACjgISGhkpGDIANjw + KABCKNEujxMbGiowowAEHIIT0SgUkBwjGiIzhkIvKDiSJCsxwYYdmI8KFB0FjfqLAgYMEiSUEJeoAJABBAgiGnCgQQUPJlgoIgGuWyICCBhoRNBCEbRoFhEVSODAwocTIBQVwEEgiMJEChSkzNTPRQdEFF46KsABxYtphUisAxLpW7QJgkDMxAFO5yIC0V5gEjrg5kcUQB098ElCEFQURAH4CiLvEQUFg25ECwKLpiCmKBC6ui0kYILcuXjz6t3Ld1IgACH5BAkFAAAALAAAAAAgACAAAAf / gACCg4SFhoeIiYqLjI2Ohw8Tj44XKlhbk4sKEVZZXAWZgwsxLYMdTJ1RCqEAIA1JSjOCFKhaUSCCoI8kRkpMULIKVFZaXaALN0C6jAVHS01RTFMAVVc8XgBCKNsujwsmS1AaCIJSpQAT2ygUk0AeS0oXhkIvKDihQjEyy4QdNJMgOqxqxC9RCyJFkKwYiKgAkAEE2CWi4CChDSdSFJFQx0ERiCEWQlq4oUjbto6KgCQwIOOJAEUFcBAIInGRgIKsGrrogIhCzUcFgqB40a0QiXpAMj1QJ6kVLgA41P1kxGHbi39HB / A0iaKoo6MvSAgisC0pAGRBXk4SOOjGtiCDFXCGSodCSM6GC7ze3cu3r9 +/ gAcFAgAh + QQJBQAAACwAAAAAIAAgAAAH / 4 AAgoOEhYaHiImKi4yNjoYkTj8Uj40SPGUMlYsdSzxmSiCbg0IyKIM0TTxnTAqjACAIYGNDgh1Uq1CiAB2VLl9hZGAXsGSrXAUKEjNABY4FRGJjXV0sAD8 + aB8ANmItKC6PJAxiXBFIAAIhIYJVUygolI8TCNIxhkAvKDijLidTzgx1oLEJxC5GAReRkLFixZSDhwoAGUBAXiIWQy6smMFBEQl4KDoqenKi5Al + iYSAFJmIwgAUL5opKoCDQBCLM189c9HrEAWcz4LADFeIhD4gmxaAnCDIoCAcIIEuEgqToNEBvVTCI + rIxYAXJAQRgIcUwIIbQQQUPHiD7KCEOhMBTIAnJG7EBVzt6t3Lt6 / fvYEAACH5BAkFAAAALAAAAAAgACAAAAf / gACCg4SFhoeIiYqLjI2OhiRVDhSPjQhYPkeViwpjWG5dIJuDBTdBgxRkWGhKCqOCK18QW4IdXKsRogAPHY8FNl8bG2wAIEarRgUKDW4ROI8XHl9rbS0ADhkYbwBIWj1wU48uPx4QYg4ABS1pgm09ZUc0lQtE5SeGR1hEz5sUIWkFDAkAIq9SAQGOAjIC8YLFFBQIExUAMoAAJUU41oVQs0ARCRQgOSyaABKkC0VCSopUJADHjRsTFhXAQSDIRZmvErrodYjCTV9BULw4WYjECxRANn0EGbNYRBwlfzIiKVSe0Ru9UpqsRGHAABKCCIBMCmCBqYiPBKC9MZZUTkJUEIW8PVRgAdG5ePPq3ctXbyAAIfkECQUAAAAsAAAAACAAIAAAB /+ AAIKDhIWGh4iJiouMjY6GQhZDHY + NSFEiRZWLCmtRGXEgm4QgCoMdYhoZYKajAA9ETmqCnRoqY6IACy6VCQgHDQkAIBAaGCMAChIpShyPTzYMDR4oADNQUUMAVXJZOj + PHRdOOR4rAAVST4Ij3joXlS7jOSyGNnA7YRSbHSgvhyAMvBHiqlEBgxNu3MCxqACQAQT2KXKBoiIKGopIWHQ20eJFRUI2NsShcMJIAkEkNixo0AWlQxRUPioQxB + vQiReoACySWNFk8MECMJhUSajCRVfYMx5g1LIijcdKSAwgIQgAhV56roBRGilAgcF3cg6KCxLAEhREDxbqACJqGwI48qdS7fuqEAAIfkECQUAAAAsAAAAACAAIAAAB /+ AAIKDhIWGh4iJiouMjY6GLitsCo + NJRFUM5WLICYRTSMCm4kdc59iIIIgLw + VT2woggp0EVBrogtfblFSjhNeP0hpAAINEUl0AApfZWdyTr4rFkVOBAB1YBFsAD92zlZ1jiBTbw42WwAFL7ECRmZycEYUjxRqbyW9hUfwRiSbIEGCHKLwxoKQUY1AUCjQiAQBAhMWFWjRgkCHRRRQaERBQxGJjRwwbuSoSAhIRg9u3IioqAAOAkAuMmKIsFEBFzINUZi3qUAQFC9cGCKxDsimjxpZghAFAMdGno4eaHzRkeiNiyY1Cn0EgsAAfwAIaDQKYMENIEwr0QRwY + ygtTUUAUzQeDCuoQIkttrdy7ev3799AwEAIfkECQUAAAAsAAAAACAAIAAAB /+ AAIKDhIWGh4iJiouMjY6GBQMDj45sI20ylIsgDG1jBwWaiQp3nl8ggiAyQxSPJCgPqZ1cdAIAJB4pbkeOCmoxF5MCR21cEgAKFTBodmO2jB0hqzM4ADIjRpkOKcw8P48cLAYrIQAFN5MFI252ZRutjiAELFschkVXZWskmgUkC4coXPjgQlQjEDj4MSJBgMCERRPA2MlgYJGCFygy0lCE5MwVH21QjcKoUREBNglY3GC04MaNh4oK4CAARIHBm4gKuOiAiAI8SgWCoHhRsBAJjEA0vcoIE8QzHBlR / Gz0IOOLjUdv8BQStWg8AjcUEsiYFEBLIM + ADrpBdlAonIIRJmQUAhcSCa918 + rdy7evqEAAIfkECQUAAAAsAAAAACAAIAAAB /+ AAIKDhIWGh4iJiouMjY6HIAKPjkFFP0CTjB8VXx + ZigI / FRAMkgACCWwdjwVCNIICRKMHkkJ3URlIj0FPITgABQ4VNUcFIDl4KiliposCLygtUyQAIXd0LQAzuClYDo9AKFIhN4ITmAV0GSkwX6uOIBziC4ZEKT4QQpmtr4YddStcfGoEYoI + RkIIEJiwaEIYNxpkLAIBDQWKfojy6NiYRIEiihYvKjrSo2QTEIsW3LjBUNEDD1SohBgIqlmjAi7eGaJA4VOBICheCCxEAhqmSSRCtowkCEfIno8eWHzxquiNVUJCDoVH4AY1AAQsHlUJpIDPQTfEDjJLc9AEiwcP2xYqQGKr3Lt48 + rdizcQACH5BAkFAAAALAAAAAAgACAAAAf / gACCg4SFhoeIiYqLjI2Oj5CHCmkhCpGLU0gMMpeJBUOaPwWCAiwyHZAdlgACF0g5NgIALkcRTSWPEy8DQgAFdUh3uCBOVFBMELKMBTcoKC8UAC8 / CC8AQ11NTBozj0DOKA + CJOIFEtp4FaiOIBzPLoZeTHge8JAFLtGGHVt1NJ2MQEzoxUgIAQITFj1og4EJm0UCBoD7l8iGHCtWlIBQFHGiIhtZQmpcZPBGQkUPxIhY8hDgoQIUlDnCt84QBX33grwzROIFCiCRSIA7CUIZD
background - repeat : no-repeat ; background - position : center center ;}
</ style > <!-- END extlib/css/colorbox.css -->
<!-- START extlib/js/jquery.colorbox.min.js -->
< script type = "text/javascript" > (function(a,b,c){function Z(c,d,e){var g=b.createElement(c);return d&&(g.id=f+d),e&&(g.style.cssText=e),a(g)}function $(a){var b=y.length,c=(Q+a)%b;return 0>c?b+c:c}function _(a,b){return Math.round((/%/.test(a)?("x"===b?bb():cb())/100:1)*parseInt(a,10))}function ab(a){return K.photo||/\.(gif|png|jp(e|g|eg)|bmp|ico)((#|\?).*)?$/i.test(a)}function bb(){return c.innerWidth||z.width()}function cb(){return c.innerHeight||z.height()}function db(){var b,c=a.data(P,e);null==c?(K=a.extend({},d),console&&console.log&&console.log("Error: cboxElement missing settings object")):K=a.extend({},c);for(b in K)a.isFunction(K[b])&&"on"!==b.slice(0,2)&&(K[b]=K[b].call(P));K.rel=K.rel||P.rel||a(P).data("rel")||"nofollow",K.href=K.href||a(P).attr("href"),K.title=K.title||P.title,"string"==typeof K.href&&(K.href=a.trim(K.href))}function eb(b,c){a.event.trigger(b),c&&c.call(P)}function fb(){var a,d,e,b=f+"Slideshow_",c="click."+f;K.slideshow&&y[1]?(d=function(){F.text(K.slideshowStop).unbind(c).bind(j,function(){(K.loop||y[Q+1])&&(a=setTimeout(W.next,K.slideshowSpeed))}).bind(i,function(){clearTimeout(a)}).one(c+" "+k,e),r.removeClass(b+"off").addClass(b+"on"),a=setTimeout(W.next,K.slideshowSpeed)},e=function(){clearTimeout(a),F.text(K.slideshowStart).unbind([j,i,k,c].join(" ")).one(c,function(){W.next(),d()}),r.removeClass(b+"on").addClass(b+"off")},K.slideshowAuto?d():e()):r.removeClass(b+"off "+b+"on")}function gb(b){U||(P=b,db(),y=a(P),Q=0,"nofollow"!==K.rel&&(y=a("."+g).filter(function(){var c,b=a.data(this,e);return b&&(c=a(this).data("rel")||b.rel||this.rel),c===K.rel}),Q=y.index(P),-1===Q&&(y=y.add(P),Q=y.length-1)),S||(S=T=!0,r.show(),K.returnFocus&&a(P).blur().one(l,function(){a(this).focus()}),q.css({opacity:+K.opacity,cursor:K.overlayClose?"pointer":"auto"}).show(),K.w=_(K.initialWidth,"x"),K.h=_(K.initialHeight,"y"),W.position(),o&&z.bind("resize."+p+" scroll."+p,function(){q.css({width:bb(),height:cb(),top:z.scrollTop(),left:z.scrollLeft()})}).trigger("resize."+p),eb(h,K.onOpen),J.add(D).hide(),I.html(K.close).show()),W.load(!0))}function hb(){!r&&b.body&&(Y=!1,z=a(c),r=Z(X).attr({id:e,"class":n?f+(o?"IE6":"IE"):""}).hide(),q=Z(X,"Overlay",o?"position:absolute":"").hide(),C=Z(X,"LoadingOverlay").add(Z(X,"LoadingGraphic")),s=Z(X,"Wrapper"),t=Z(X,"Content").append(A=Z(X,"LoadedContent","width:0; height:0; overflow:hidden"),D=Z(X,"Title"),E=Z(X,"Current"),G=Z(X,"Next"),H=Z(X,"Previous"),F=Z(X,"Slideshow").bind(h,fb),I=Z(X,"Close")),s.append(Z(X).append(Z(X,"TopLeft"),u=Z(X,"TopCenter"),Z(X,"TopRight")),Z(X,!1,"clear:left").append(v=Z(X,"MiddleLeft"),t,w=Z(X,"MiddleRight")),Z(X,!1,"clear:left").append(Z(X,"BottomLeft"),x=Z(X,"BottomCenter"),Z(X,"BottomRight"))).find("div div").css({"float":"left"}),B=Z(X,!1,"position:absolute; width:9999px; visibility:hidden; display:none"),J=G.add(H).add(E).add(F),a(b.body).append(q,r.append(s,B)))}function ib(){return r?(Y||(Y=!0,L=u.height()+x.height()+t.outerHeight(!0)-t.height(),M=v.width()+w.width()+t.outerWidth(!0)-t.width(),N=A.outerHeight(!0),O=A.outerWidth(!0),r.css({"padding-bottom":L,"padding-right":M}),G.click(function(){W.next()}),H.click(function(){W.prev()}),I.click(function(){W.close()}),q.click(function(){K.overlayClose&&W.close()}),a(b).bind("keydown."+f,function(a){var b=a.keyCode;S&&K.escKey&&27===b&&(a.preventDefault(),W.close()),S&&K.arrowKey&&y[1]&&(37===b?(a.preventDefault(),H.click()):39===b&&(a.preventDefault(),G.click()))}),a("."+g,b).live("click",function(a){a.which>1||a.shiftKey||a.altKey||a.metaKey||(a.preventDefault(),gb(this))})),!0):!1}var q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,Y,d={transition:"elastic",speed:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,inline:!1,html:!1,iframe:!1,fastIframe:!0,photo:!1,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",op
<!-- END extlib/js/jquery.colorbox.min.js -->
<!-- START dist/MDwiki.min.js -->
< script type = "text/javascript" > function googlemapsReady(){googlemapsLoadDone.resolve()}(function(){function a(a){this.tokens=[],this.tokens.links={},this.options=a||h.defaults,this.rules=i.normal,this.options.gfm&&(this.rules=this.options.tables?i.tables:i.gfm)}function b(a,b){if(this.options=b||h.defaults,this.links=a,this.rules=j.normal,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.rules=this.options.breaks?j.breaks:j.gfm:this.options.pedantic&&(this.rules=j.pedantic)}function c(a){this.tokens=[],this.token=null,this.options=a||h.defaults}function d(a,b){return a.replace(b?/&/g:/&(?!#?\w+;)/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function e(a,b){return a=a.source,b=b||"",function c(d,e){return d?(e=e.source||e,e=e.replace(/(^|[^\[])\^/g,"$1"),a=a.replace(d,e),c):new RegExp(a,b)}}function f(){}function g(a){for(var b,c,d=1;d<arguments.length;d++){b=arguments[d];for(c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c])}return a}function h(b,e,f){if(f||"function"==typeof e){f||(f=e,e=null),e&&(e=g({},h.defaults,e));var i=a.lex(i,e),j=e.highlight,k=0,l=i.length,m=0;if(!j||j.length<3)return f(null,c.parse(i,e));for(var n=function(){delete e.highlight;var a=c.parse(i,e);return e.highlight=j,f(null,a)};l>m;m++)!function(a){return"code"===a.type?(k++,j(a.text,a.lang,function(b,c){return null==c||c===a.text?--k||n():(a.text=c,a.escaped=!0,void(--k||n()))})):void 0}(i[m])}else try{return e&&(e=g({},h.defaults,e)),c.parse(a.lex(b,e),e)}catch(o){if(o.message+="\nPlease report this to https://github.com/chjj/marked.",(e||h.defaults).silent)return"<p>An error occured:</p><pre>"+d(o.message+"",!0)+"</pre>";throw o}}var i={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:f,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:f,lheading:/^([^\n]+)\n *(=|-){3,} *\n*/,blockquote:/^( *>[^\n]+(\n[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:f,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};i.bullet=/(?:[*+-]|\d+\.)/,i.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,i.item=e(i.item,"gm")(/bull/g,i.bullet)(),i.list=e(i.list)(/bull/g,i.bullet)("hr",/\n+(?=(?: *[-*_]){3,} *(?:\n+|$))/)(),i._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|@)\\b",i.html=e(i.html)("comment",/<!--[\s\S]*?-->/)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,i._tag)(),i.paragraph=e(i.paragraph)("hr",i.hr)("heading",i.heading)("lheading",i.lheading)("blockquote",i.blockquote)("tag","<"+i._tag)("def",i.def)(),i.normal=g({},i),i.gfm=g({},i.normal,{fences:/^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/,paragraph:/^/}),i.gfm.paragraph=e(i.paragraph)("(?!","(?!"+i.gfm.fences.source.replace("\\1","\\2")+"|")(),i.tables=g({},i.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),a.rules=i,a.lex=function(b,c){var d=new a(c);return d.lex(b)},a.prototype.lex=function(a){return a=a.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(a,!0)},a.prototype.token=function(a,b){for(var c,d,e,f,g,h,j,k,l,a=a.replace(/^ +$/gm,"");a;)if((e=this.rules.newline.exec(a))&&(a=a.substring(e[0].length),e[0].length>1&&this.tokens.push({type:"space"})),e=this.rules.code.exec(a))a=a.substring(e[0].length),e=e[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?e:e.replace(/\n+$/,"")});else if(e=this.rules.fences.exec(a))a=a.substring(e[0].length),this.tokens.push({type:"code",lang:e[2],text:e[3]});else if(e=this.rules.heading.exec(a))a=a.substring(e[0].length),this.tokens.push({type:"heading",depth:e[1].length,text:e[2]});el
},25);d.done(function(){c()}),a.md.util.wait(2e3).done(function(){c()})})}function e(){if(0!==a("#md-menu a").length){var c=a("#md-menu");c.find('> a[href=""]').attr("data-toggle","dropdown").addClass("dropdown-toggle").attr("href","").append('< b class = "caret" /> '),c.find("ul").addClass("dropdown-menu"),c.find("ul li").addClass("dropdown"),a("#md-menu hr").each(function(b,c){var d=a(c),e=d.prev(),f=d.next();e.is("ul")&& e.length>=0&& (e.append(a('< li class = "divider" /> ')),d.remove(),f.is("ul")&& (f.find("li").appendTo(e),f.remove()))}),a("#md-menu ul").each(function(b,c){var d=a(c);0===d.find("li").length&& d.remove()}),a("#md-menu hr").replaceWith(a('< li class = "divider-vertical" /> ')),a("#md-menu > a").wrap("< li /> "),a("#md-menu ul").each(function(b,c){var d=a(c);d.appendTo(d.prev()),d.parent("li").addClass("dropdown")}),a("#md-menu li.dropdown").find("h1, h2, h3").each(function(b,c){var d=a(c),e=d.toptext(),f=a('< li class = "dropdown-header" /> ');f.text(e),d.replaceWith(f)}),b()}}function f(b){var c=a(b),d=a(window).scrollTop(),e=d+a(window).height(),f=c.offset().top,g=f+c.height();return e>=g&& f>=d}function g(){var b=a("#md-content").find("h2").clone();if(b.children().remove(),!(b.length< =1)){a("#md-content").removeClass("col-md-12"),a("#md-content").addClass("col-md-9"),a("#md-content-row").prepend('< div class = "col-md-3" id = "md-left-column" /> ');var c=function(){var b=a("#md-left-column").css("width");a("#md-page-menu").css("width",b)};a(window).scroll(function(){c(a("#md-page-menu"));var b;a("*.md-inpage-anchor").each(function(c,d){if(void 0===b){var e=a(d);f(e)&& (b=e)}}),a("#md-page-menu a").each(function(c,d){var e=a(d);b&& e.toptext()===b.toptext()&& (a("#md-page-menu a.active").removeClass("active"),e.addClass("active"))})});var e=a('< div id = "md-page-menu" /> '),g=70;e.affix({offset:130}),e.css("top",g);var h=a('< div class = "panel panel-default" >< ul class = "list-group" /></ div > '),i=h.find("ul");e.append(h),b.each(function(b,c){var d=a(c),e=a('< li class = "list-group-item" /> '),f=a("< a /> ");f.attr("href",a.md.util.getInpageAnchorHref(d.toptext())),f.click(function(b){b.preventDefault();var c=a(this),d=a.md.util.getInpageAnchorText(c.toptext());a.md.scrollToInPageAnchor(d)}),f.text(d.toptext()),e.append(f),i.append(e)}),a(window).resize(function(){c(a("#md-page-menu")),d()}),a.md.stage("postgimmick").subscribe(function(a){a()}),a("#md-left-column").append(e)}}function h(){a("#md-title").wrap('< div class = "container" id = "md-title-container" /> '),a("#md-title").wrap('< div class = "row" id = "md-title-row" /> '),a("#md-menu").wrap('< div class = "container" id = "md-menu-container" /> '),a("#md-menu").wrap('< div class = "row" id = "md-menu-row" /> '),a("#md-content").wrap('< div class = "container" id = "md-content-container" /> '),a("#md-content").wrap('< div class = "row" id = "md-content-row" /> '),a("#md-body").wrap('< div class = "container" id = "md-body-container" /> '),a("#md-body").wrap('< div class = "row" id = "md-body-row" /> '),a("#md-title").addClass("col-md-12"),a("#md-content").addClass("col-md-12")}function i(){var b=a('< div class = "page-header" /> ');a("#md-title").wrapInner(b)}function j(){if(0!==a("#md-menu").find("li").length){var b=window.location.hash;0===b.length&&(b="#!index.md"); var c='li:has(a[href="'+b+'"])';a("#md-menu").find(c).addClass("active")}}function k(){var b=a("p img").parents("p");b.each(function(){function b(b,c){return d.each(function(b,d){var e=a(d),f=e.parent("a");f.length>0?f.wrap(c):e.wrap(c)})}var c=a(this),d=a(this).find("img").filter(function(){return 0===a(this).parents("a").length}).add(a(this).find("img")).addClass("img-responsive").addClass("img-thumbnail");c.hasClass("md-floatenv")?1===d.length?b(d,'< div class = "col-sm-8" /> '):2===d.length?b(d,'< div class = "col-sm-4" /> '):b(d,'< div class = "col-sm-2" /> '):1===d.length?b(d,'< div class = "col-sm-12" /> '):2===d.length?b(d,'< div class = "col-sm-6" /> '):3===d.length?b(d,'< div class = "col-sm-4" /> '):4===d.length?b(d,'< div class = "col-sm-3" /> '):b(d,'< div class = "col-sm-2" /> '),c.addClass("row")})}function l(){a("iframe.md-external").not(".md-external-nowidth").attr("width","450").css("width","450px
<!-- END dist/MDwiki.min.js -->
</ head >
< body >
< noscript >
This website requires Javascript to be enabled. Please turn on Javascript
and reload the page.
</ noscript >
< div id = "md-all" >
</ div >
</ body >
</ html >