2015-09-19 13:25:35 +00:00
! function ( a , b ) { "object" == typeof module && "object" == typeof module . exports ? module . exports = a . document ? b ( a , ! 0 ) : function ( a ) { if ( ! a . document ) throw new Error ( "jQuery requires a window with a document" ) ; return b ( a ) } : b ( a ) } ( "undefined" != typeof window ? window : this , function ( a , b ) { function c ( a ) { var b = "length" in a && a . length , c = _ . type ( a ) ; return "function" === c || _ . isWindow ( a ) ? ! 1 : 1 === a . nodeType && b ? ! 0 : "array" === c || 0 === b || "number" == typeof b && b > 0 && b - 1 in a } function d ( a , b , c ) { if ( _ . isFunction ( b ) ) return _ . grep ( a , function ( a , d ) { return ! ! b . call ( a , d , a ) !== c } ) ; if ( b . nodeType ) return _ . grep ( a , function ( a ) { return a === b !== c } ) ; if ( "string" == typeof b ) { if ( ha . test ( b ) ) return _ . filter ( b , a , c ) ; b = _ . filter ( b , a ) } return _ . grep ( a , function ( a ) { return U . call ( b , a ) >= 0 !== c } ) } function e ( a , b ) { for ( ; ( a = a [ b ] ) && 1 !== a . nodeType ; ) ; return a } function f ( a ) { var b = oa [ a ] = { } ; return _ . each ( a . match ( na ) || [ ] , function ( a , c ) { b [ c ] = ! 0 } ) , b } function g ( ) { Z . removeEventListener ( "DOMContentLoaded" , g , ! 1 ) , a . removeEventListener ( "load" , g , ! 1 ) , _ . ready ( ) } function h ( ) { Object . defineProperty ( this . cache = { } , 0 , { get : function ( ) { return { } } } ) , this . expando = _ . expando + h . uid ++ } function i ( a , b , c ) { var d ; if ( void 0 === c && 1 === a . nodeType ) if ( d = "data-" + b . replace ( ua , "-$1" ) . toLowerCase ( ) , c = a . getAttribute ( d ) , "string" == typeof c ) { try { c = "true" === c ? ! 0 : "false" === c ? ! 1 : "null" === c ? null : + c + "" === c ? + c : ta . test ( c ) ? _ . parseJSON ( c ) : c } catch ( e ) { } sa . set ( a , b , c ) } else c = void 0 ; return c } function j ( ) { return ! 0 } function k ( ) { return ! 1 } function l ( ) { try { return Z . activeElement } catch ( a ) { } } function m ( a , b ) { return _ . nodeName ( a , "table" ) && _ . nodeName ( 11 !== b . nodeType ? b : b . firstChild , "tr" ) ? a . getElementsByTagName ( "tbody" ) [ 0 ] || a . appendChild ( a . ownerDocument . createElement ( "tbody" ) ) : a } function n ( a ) { return a . type = ( null !== a . getAttribute ( "type" ) ) + "/" + a . type , a } function o ( a ) { var b = Ka . exec ( a . type ) ; return b ? a . type = b [ 1 ] : a . removeAttribute ( "type" ) , a } function p ( a , b ) { for ( var c = 0 , d = a . length ; d > c ; c ++ ) ra . set ( a [ c ] , "globalEval" , ! b || ra . get ( b [ c ] , "globalEval" ) ) } function q ( a , b ) { var c , d , e , f , g , h , i , j ; if ( 1 === b . nodeType ) { if ( ra . hasData ( a ) && ( f = ra . access ( a ) , g = ra . set ( b , f ) , j = f . events ) ) { delete g . handle , g . events = { } ; for ( e in j ) for ( c = 0 , d = j [ e ] . length ; d > c ; c ++ ) _ . event . add ( b , e , j [ e ] [ c ] ) } sa . hasData ( a ) && ( h = sa . access ( a ) , i = _ . extend ( { } , h ) , sa . set ( b , i ) ) } } function r ( a , b ) { var c = a . getElementsByTagName ? a . getElementsByTagName ( b || "*" ) : a . querySelectorAll ? a . querySelectorAll ( b || "*" ) : [ ] ; return void 0 === b || b && _ . nodeName ( a , b ) ? _ . merge ( [ a ] , c ) : c } function s ( a , b ) { var c = b . nodeName . toLowerCase ( ) ; "input" === c && ya . test ( a . type ) ? b . checked = a . checked : ( "input" === c || "textarea" === c ) && ( b . defaultValue = a . defaultValue ) } function t ( b , c ) { var d , e = _ ( c . createElement ( b ) ) . appendTo ( c . body ) , f = a . getDefaultComputedStyle && ( d = a . getDefaultComputedStyle ( e [ 0 ] ) ) ? d . display : _ . css ( e [ 0 ] , "display" ) ; return e . detach ( ) , f } function u ( a ) { var b = Z , c = Oa [ a ] ; return c || ( c = t ( a , b ) , "none" !== c && c || ( Na = ( Na || _ ( "<iframe frameborder='0' width='0' height='0'/>" ) ) . appendTo ( b . documentElement ) , b = Na [ 0 ] . contentDocument , b . write ( ) , b . close ( ) , c = t ( a , b ) , Na . detach ( ) ) , Oa [ a ] = c ) , c } function v ( a , b , c ) { var d , e , f , g , h = a . style ; return c = c || Ra ( a ) , c && ( g = c . getPropertyValue ( b ) || c [ b ] ) , c && ( "" !== g || _ . contains ( a . ownerDocument , a ) || ( g = _ . style ( a , b ) ) , Qa . test ( g ) && Pa . test ( b ) && ( d = h . width , e = h . minWidth , f = h . maxWidth , h . minWidth = h . maxWidth = h . width = g , g = c . width , h . width = d , h . minWidth = e , h . maxWidth = f ) ) , void 0 !== g ? g + "" : g } function w ( a , b ) { return { get : function ( ) { return a ( ) ? void delete this . get : ( this . get = b ) . apply ( this , arguments ) } } } function x ( a , b ) { if ( b in a ) return b ; for ( var c = b [ 0 ] . toUpperCase ( ) + b . slice ( 1 ) , d = b , e = Xa . length ; e -- ; ) if ( b = Xa [ e ] + c , b in a ) return b ; return d } function y ( a , b , c ) { var d = Ta . exec ( b ) ; return d ? Math . max ( 0 , d [ 1 ] - ( c || 0 ) ) + ( d [ 2 ] || "px" ) : b } function z ( a , b , c , d , e ) { for ( var f = c === ( d ? "border" : "content" ) ? 4 : "width" === b ? 1 : 0 , g = 0 ; 4 > f ; f += 2 ) "margin" === c && ( g += _ . css ( a , c + wa [ f ] , ! 0 , e ) ) , d ? ( "content" === c && ( g -= _ . css ( a , "padding" + wa [ f ] , ! 0 , e ) ) , "margin" !== c && ( g -= _ . css ( a , "border" + wa [ f ] + "Width" , ! 0 , e ) ) ) : ( g += _ . css ( a , "padding" + wa [ f ] , ! 0 , e ) , "padding" !== c && ( g += _ . css ( a , "border" + wa [ f ] + "Width" , ! 0 , e ) ) ) ; return g } function A ( a , b , c ) { var d = ! 0 , e = "width" === b ? a . offsetWidth : a . offsetHeight , f = Ra ( a ) , g = "border-box" === _ . css ( a , "boxSizing" , ! 1 , f ) ; if ( 0 >= e || null == e ) { if ( e = v ( a , b , f ) , ( 0 > e || null == e ) && ( e = a . style [ b ] ) , Qa . test ( e
if ( "string" != typeof a ) return this . pushStack ( _ ( a ) . filter ( function ( ) { for ( b = 0 ; c > b ; b ++ ) if ( _ . contains ( e [ b ] , this ) ) return ! 0 } ) ) ; for ( b = 0 ; c > b ; b ++ ) _ . find ( a , e [ b ] , d ) ; return d = this . pushStack ( c > 1 ? _ . unique ( d ) : d ) , d . selector = this . selector ? this . selector + " " + a : a , d } , filter : function ( a ) { return this . pushStack ( d ( this , a || [ ] , ! 1 ) ) } , not : function ( a ) { return this . pushStack ( d ( this , a || [ ] , ! 0 ) ) } , is : function ( a ) { return ! ! d ( this , "string" == typeof a && fa . test ( a ) ? _ ( a ) : a || [ ] , ! 1 ) . length } } ) ; var ia , ja = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/ , ka = _ . fn . init = function ( a , b ) { var c , d ; if ( ! a ) return this ; if ( "string" == typeof a ) { if ( c = "<" === a [ 0 ] && ">" === a [ a . length - 1 ] && a . length >= 3 ? [ null , a , null ] : ja . exec ( a ) , ! c || ! c [ 1 ] && b ) return ! b || b . jquery ? ( b || ia ) . find ( a ) : this . constructor ( b ) . find ( a ) ; if ( c [ 1 ] ) { if ( b = b instanceof _ ? b [ 0 ] : b , _ . merge ( this , _ . parseHTML ( c [ 1 ] , b && b . nodeType ? b . ownerDocument || b : Z , ! 0 ) ) , ga . test ( c [ 1 ] ) && _ . isPlainObject ( b ) ) for ( c in b ) _ . isFunction ( this [ c ] ) ? this [ c ] ( b [ c ] ) : this . attr ( c , b [ c ] ) ; return this } return d = Z . getElementById ( c [ 2 ] ) , d && d . parentNode && ( this . length = 1 , this [ 0 ] = d ) , this . context = Z , this . selector = a , this } return a . nodeType ? ( this . context = this [ 0 ] = a , this . length = 1 , this ) : _ . isFunction ( a ) ? "undefined" != typeof ia . ready ? ia . ready ( a ) : a ( _ ) : ( void 0 !== a . selector && ( this . selector = a . selector , this . context = a . context ) , _ . makeArray ( a , this ) ) } ; ka . prototype = _ . fn , ia = _ ( Z ) ; var la = /^(?:parents|prev(?:Until|All))/ , ma = { children : ! 0 , contents : ! 0 , next : ! 0 , prev : ! 0 } ; _ . extend ( { dir : function ( a , b , c ) { for ( var d = [ ] , e = void 0 !== c ; ( a = a [ b ] ) && 9 !== a . nodeType ; ) if ( 1 === a . nodeType ) { if ( e && _ ( a ) . is ( c ) ) break ; d . push ( a ) } return d } , sibling : function ( a , b ) { for ( var c = [ ] ; a ; a = a . nextSibling ) 1 === a . nodeType && a !== b && c . push ( a ) ; return c } } ) , _ . fn . extend ( { has : function ( a ) { var b = _ ( a , this ) , c = b . length ; return this . filter ( function ( ) { for ( var a = 0 ; c > a ; a ++ ) if ( _ . contains ( this , b [ a ] ) ) return ! 0 } ) } , closest : function ( a , b ) { for ( var c , d = 0 , e = this . length , f = [ ] , g = fa . test ( a ) || "string" != typeof a ? _ ( a , b || this . context ) : 0 ; e > d ; d ++ ) for ( c = this [ d ] ; c && c !== b ; c = c . parentNode ) if ( c . nodeType < 11 && ( g ? g . index ( c ) > - 1 : 1 === c . nodeType && _ . find . matchesSelector ( c , a ) ) ) { f . push ( c ) ; break } return this . pushStack ( f . length > 1 ? _ . unique ( f ) : f ) } , index : function ( a ) { return a ? "string" == typeof a ? U . call ( _ ( a ) , this [ 0 ] ) : U . call ( this , a . jquery ? a [ 0 ] : a ) : this [ 0 ] && this [ 0 ] . parentNode ? this . first ( ) . prevAll ( ) . length : - 1 } , add : function ( a , b ) { return this . pushStack ( _ . unique ( _ . merge ( this . get ( ) , _ ( a , b ) ) ) ) } , addBack : function ( a ) { return this . add ( null == a ? this . prevObject : this . prevObject . filter ( a ) ) } } ) , _ . each ( { parent : function ( a ) { var b = a . parentNode ; return b && 11 !== b . nodeType ? b : null } , parents : function ( a ) { return _ . dir ( a , "parentNode" ) } , parentsUntil : function ( a , b , c ) { return _ . dir ( a , "parentNode" , c ) } , next : function ( a ) { return e ( a , "nextSibling" ) } , prev : function ( a ) { return e ( a , "previousSibling" ) } , nextAll : function ( a ) { return _ . dir ( a , "nextSibling" ) } , prevAll : function ( a ) { return _ . dir ( a , "previousSibling" ) } , nextUntil : function ( a , b , c ) { return _ . dir ( a , "nextSibling" , c ) } , prevUntil : function ( a , b , c ) { return _ . dir ( a , "previousSibling" , c ) } , siblings : function ( a ) { return _ . sibling ( ( a . parentNode || { } ) . firstChild , a ) } , children : function ( a ) { return _ . sibling ( a . firstChild ) } , contents : function ( a ) { return a . contentDocument || _ . merge ( [ ] , a . childNodes ) } } , function ( a , b ) { _ . fn [ a ] = function ( c , d ) { var e = _ . map ( this , b , c ) ; return "Until" !== a . slice ( - 5 ) && ( d = c ) , d && "string" == typeof d && ( e = _ . filter ( d , e ) ) , this . length > 1 && ( ma [ a ] || _ . unique ( e ) , la . test ( a ) && e . reverse ( ) ) , this . pushStack ( e ) } } ) ; var na = /\S+/g , oa = { } ; _ . Callbacks = function ( a ) { a = "string" == typeof a ? oa [ a ] || f ( a ) : _ . extend ( { } , a ) ; var b , c , d , e , g , h , i = [ ] , j = ! a . once && [ ] , k = function ( f ) { for ( b = a . memory && f , c = ! 0 , h = e || 0 , e = 0 , g = i . length , d = ! 0 ; i && g > h ; h ++ ) if ( i [ h ] . apply ( f [ 0 ] , f [ 1 ] ) === ! 1 && a . stopOnFalse ) { b = ! 1 ; break } d = ! 1 , i && ( j ? j . length && k ( j . shift ( ) ) : b ? i = [ ] : l . disable ( ) ) } , l = { add : function ( ) { if ( i ) { var c = i . length ; ! function f ( b ) { _ . each ( b , function ( b , c ) { var d = _ . type ( c ) ; "function" === d ? a . unique && l . has ( c ) || i . push ( c ) : c && c . length && "string" !== d && f ( c ) } ) } ( arguments ) , d ? g = i . length : b && ( e = c , k ( b ) ) } return this } , remove : function ( ) { return i && _ . each ( arguments , function ( a , b ) { for ( var c ; ( c = _ . inArray ( b , i , c ) ) > - 1 ; ) i . splice ( c , 1 ) , d && ( g >= c && g -- , h >= c && h -- ) } ) , this } , has : function ( a ) { return a ? _ . inArray ( a , i ) > - 1 : ! ( ! i || ! i . length ) } , empty : function ( ) { return i = [ ] , g = 0 , t
2015-10-24 09:54:10 +00:00
e && e . stop && e . stop . call ( this , ! 0 ) , b = f . length ; b -- ; ) f [ b ] . elem === this && f [ b ] . queue === a && ( f [ b ] . anim . stop ( ! 0 ) , f . splice ( b , 1 ) ) ; for ( b = 0 ; g > b ; b ++ ) d [ b ] && d [ b ] . finish && d [ b ] . finish . call ( this ) ; delete c . finish } ) } } ) , _ . each ( [ "toggle" , "show" , "hide" ] , function ( a , b ) { var c = _ . fn [ b ] ; _ . fn [ b ] = function ( a , d , e ) { return null == a || "boolean" == typeof a ? c . apply ( this , arguments ) : this . animate ( E ( b , ! 0 ) , a , d , e ) } } ) , _ . each ( { slideDown : E ( "show" ) , slideUp : E ( "hide" ) , slideToggle : E ( "toggle" ) , fadeIn : { opacity : "show" } , fadeOut : { opacity : "hide" } , fadeToggle : { opacity : "toggle" } } , function ( a , b ) { _ . fn [ a ] = function ( a , c , d ) { return this . animate ( b , a , c , d ) } } ) , _ . timers = [ ] , _ . fx . tick = function ( ) { var a , b = 0 , c = _ . timers ; for ( Ya = _ . now ( ) ; b < c . length ; b ++ ) a = c [ b ] , a ( ) || c [ b ] !== a || c . splice ( b -- , 1 ) ; c . length || _ . fx . stop ( ) , Ya = void 0 } , _ . fx . timer = function ( a ) { _ . timers . push ( a ) , a ( ) ? _ . fx . start ( ) : _ . timers . pop ( ) } , _ . fx . interval = 13 , _ . fx . start = function ( ) { Za || ( Za = setInterval ( _ . fx . tick , _ . fx . interval ) ) } , _ . fx . stop = function ( ) { clearInterval ( Za ) , Za = null } , _ . fx . speeds = { slow : 600 , fast : 200 , _default : 400 } , _ . fn . delay = function ( a , b ) { return a = _ . fx ? _ . fx . speeds [ a ] || a : a , b = b || "fx" , this . queue ( b , function ( b , c ) { var d = setTimeout ( b , a ) ; c . stop = function ( ) { clearTimeout ( d ) } } ) } , function ( ) { var a = Z . createElement ( "input" ) , b = Z . createElement ( "select" ) , c = b . appendChild ( Z . createElement ( "option" ) ) ; a . type = "checkbox" , Y . checkOn = "" !== a . value , Y . optSelected = c . selected , b . disabled = ! 0 , Y . optDisabled = ! c . disabled , a = Z . createElement ( "input" ) , a . value = "t" , a . type = "radio" , Y . radioValue = "t" === a . value } ( ) ; var db , eb , fb = _ . expr . attrHandle ; _ . fn . extend ( { attr : function ( a , b ) { return qa ( this , _ . attr , a , b , arguments . length > 1 ) } , removeAttr : function ( a ) { return this . each ( function ( ) { _ . removeAttr ( this , a ) } ) } } ) , _ . extend ( { attr : function ( a , b , c ) { var d , e , f = a . nodeType ; return a && 3 !== f && 8 !== f && 2 !== f ? typeof a . getAttribute === za ? _ . prop ( a , b , c ) : ( 1 === f && _ . isXMLDoc ( a ) || ( b = b . toLowerCase ( ) , d = _ . attrHooks [ b ] || ( _ . expr . match . bool . test ( b ) ? eb : db ) ) , void 0 === c ? d && "get" in d && null !== ( e = d . get ( a , b ) ) ? e : ( e = _ . find . attr ( a , b ) , null == e ? void 0 : e ) : null !== c ? d && "set" in d && void 0 !== ( e = d . set ( a , c , b ) ) ? e : ( a . setAttribute ( b , c + "" ) , c ) : void _ . removeAttr ( a , b ) ) : void 0 } , removeAttr : function ( a , b ) { var c , d , e = 0 , f = b && b . match ( na ) ; if ( f && 1 === a . nodeType ) for ( ; c = f [ e ++ ] ; ) d = _ . propFix [ c ] || c , _ . expr . match . bool . test ( c ) && ( a [ d ] = ! 1 ) , a . removeAttribute ( c ) } , attrHooks : { type : { set : function ( a , b ) { if ( ! Y . radioValue && "radio" === b && _ . nodeName ( a , "input" ) ) { var c = a . value ; return a . setAttribute ( "type" , b ) , c && ( a . value = c ) , b } } } } } ) , eb = { set : function ( a , b , c ) { return b === ! 1 ? _ . removeAttr ( a , c ) : a . setAttribute ( c , c ) , c } } , _ . each ( _ . expr . match . bool . source . match ( /\w+/g ) , function ( a , b ) { var c = fb [ b ] || _ . find . attr ; fb [ b ] = function ( a , b , d ) { var e , f ; return d || ( f = fb [ b ] , fb [ b ] = e , e = null != c ( a , b , d ) ? b . toLowerCase ( ) : null , fb [ b ] = f ) , e } } ) ; var gb = /^(?:input|select|textarea|button)$/i ; _ . fn . extend ( { prop : function ( a , b ) { return qa ( this , _ . prop , a , b , arguments . length > 1 ) } , removeProp : function ( a ) { return this . each ( function ( ) { delete this [ _ . propFix [ a ] || a ] } ) } } ) , _ . extend ( { propFix : { "for" : "htmlFor" , "class" : "className" } , prop : function ( a , b , c ) { var d , e , f , g = a . nodeType ; return a && 3 !== g && 8 !== g && 2 !== g ? ( f = 1 !== g || ! _ . isXMLDoc ( a ) , f && ( b = _ . propFix [ b ] || b , e = _ . propHooks [ b ] ) , void 0 !== c ? e && "set" in e && void 0 !== ( d = e . set ( a , c , b ) ) ? d : a [ b ] = c : e && "get" in e && null !== ( d = e . get ( a , b ) ) ? d : a [ b ] ) : void 0 } , propHooks : { tabIndex : { get : function ( a ) { return a . hasAttribute ( "tabindex" ) || gb . test ( a . nodeName ) || a . href ? a . tabIndex : - 1 } } } } ) , Y . optSelected || ( _ . propHooks . selected = { get : function ( a ) { var b = a . parentNode ; return b && b . parentNode && b . parentNode . selectedIndex , null } } ) , _ . each ( [ "tabIndex" , "readOnly" , "maxLength" , "cellSpacing" , "cellPadding" , "rowSpan" , "colSpan" , "useMap" , "frameBorder" , "contentEditable" ] , function ( ) { _ . propFix [ this . toLowerCase ( ) ] = this } ) ; var hb = /[\t\r\n\f]/g ; _ . fn . extend ( { addClass : function ( a ) { var b , c , d , e , f , g , h = "string" == typeof a && a , i = 0 , j = this . length ; if ( _ . isFunction ( a ) ) return this . each ( function ( b ) { _ ( this ) . addClass ( a . call ( this , b , this . className ) ) } ) ; if ( h ) for ( b = ( a || "" ) . match ( na ) || [ ] ; j > i ; i ++ ) if ( c = this [ i ] , d = 1 === c . nodeType && ( c . className ? ( " " + c . className + " " ) . replace ( hb , " " ) : " " ) ) { for ( f = 0 ; e = b [ f ++ ] ; ) d . indexOf ( " " + e + " " ) < 0 && ( d += e + " " ) ; g = _ . trim ( d ) , c . className !== g && ( c . className = g ) } return this } , removeClass : function ( a ) { var b , c , d , e , f , g
j = ! 0 ) : ( h ( a , "top" , a . scrollTop - m * b . settings . wheelSpeed ) , h ( a , "left" , a . scrollLeft + l * b . settings . wheelSpeed ) ) , g ( a ) , j = j || c ( l , m ) , j && ( i . stopPropagation ( ) , i . preventDefault ( ) ) ) } } var j = ! 1 ; "undefined" != typeof window . onwheel ? b . event . bind ( a , "wheel" , i ) : "undefined" != typeof window . onmousewheel && b . event . bind ( a , "mousewheel" , i ) } var e = a ( "../../lib/helper" ) , f = a ( "../instances" ) , g = a ( "../update-geometry" ) , h = a ( "../update-scroll" ) ; b . exports = function ( a ) { var b = f . get ( a ) ; d ( a , b ) } } , { "../../lib/helper" : 6 , "../instances" : 18 , "../update-geometry" : 19 , "../update-scroll" : 20 } ] , 14 : [ function ( a , b , c ) { "use strict" ; function d ( a , b ) { b . event . bind ( a , "scroll" , function ( ) { f ( a ) } ) } var e = a ( "../instances" ) , f = a ( "../update-geometry" ) ; b . exports = function ( a ) { var b = e . get ( a ) ; d ( a , b ) } } , { "../instances" : 18 , "../update-geometry" : 19 } ] , 15 : [ function ( a , b , c ) { "use strict" ; function d ( a , b ) { function c ( ) { var a = window . getSelection ? window . getSelection ( ) : document . getSelection ? document . getSelection ( ) : "" ; return 0 === a . toString ( ) . length ? null : a . getRangeAt ( 0 ) . commonAncestorContainer } function d ( ) { j || ( j = setInterval ( function ( ) { return f . get ( a ) ? ( h ( a , "top" , a . scrollTop + k . top ) , h ( a , "left" , a . scrollLeft + k . left ) , void g ( a ) ) : void clearInterval ( j ) } , 50 ) ) } function i ( ) { j && ( clearInterval ( j ) , j = null ) , e . stopScrolling ( a ) } var j = null , k = { top : 0 , left : 0 } , l = ! 1 ; b . event . bind ( b . ownerDocument , "selectionchange" , function ( ) { a . contains ( c ( ) ) ? l = ! 0 : ( l = ! 1 , i ( ) ) } ) , b . event . bind ( window , "mouseup" , function ( ) { l && ( l = ! 1 , i ( ) ) } ) , b . event . bind ( window , "mousemove" , function ( b ) { if ( l ) { var c = { x : b . pageX , y : b . pageY } , f = { left : a . offsetLeft , right : a . offsetLeft + a . offsetWidth , top : a . offsetTop , bottom : a . offsetTop + a . offsetHeight } ; c . x < f . left + 3 ? ( k . left = - 5 , e . startScrolling ( a , "x" ) ) : c . x > f . right - 3 ? ( k . left = 5 , e . startScrolling ( a , "x" ) ) : k . left = 0 , c . y < f . top + 3 ? ( f . top + 3 - c . y < 5 ? k . top = - 5 : k . top = - 20 , e . startScrolling ( a , "y" ) ) : c . y > f . bottom - 3 ? ( c . y - f . bottom + 3 < 5 ? k . top = 5 : k . top = 20 , e . startScrolling ( a , "y" ) ) : k . top = 0 , 0 === k . top && 0 === k . left ? i ( ) : d ( ) } } ) } var e = a ( "../../lib/helper" ) , f = a ( "../instances" ) , g = a ( "../update-geometry" ) , h = a ( "../update-scroll" ) ; b . exports = function ( a ) { var b = f . get ( a ) ; d ( a , b ) } } , { "../../lib/helper" : 6 , "../instances" : 18 , "../update-geometry" : 19 , "../update-scroll" : 20 } ] , 16 : [ function ( a , b , c ) { "use strict" ; function d ( a , b , c , d ) { function h ( c , d ) { var e = a . scrollTop , f = a . scrollLeft , g = Math . abs ( c ) , h = Math . abs ( d ) ; if ( h > g ) { if ( 0 > d && e === b . contentHeight - b . containerHeight || d > 0 && 0 === e ) return ! b . settings . swipePropagation } else if ( g > h && ( 0 > c && f === b . contentWidth - b . containerWidth || c > 0 && 0 === f ) ) return ! b . settings . swipePropagation ; return ! 0 } function i ( b , c ) { g ( a , "top" , a . scrollTop - c ) , g ( a , "left" , a . scrollLeft - b ) , f ( a ) } function j ( ) { u = ! 0 } function k ( ) { u = ! 1 } function l ( a ) { return a . targetTouches ? a . targetTouches [ 0 ] : a } function m ( a ) { return a . targetTouches && 1 === a . targetTouches . length ? ! 0 : a . pointerType && "mouse" !== a . pointerType && a . pointerType !== a . MSPOINTER _TYPE _MOUSE ? ! 0 : ! 1 } function n ( a ) { if ( m ( a ) ) { v = ! 0 ; var b = l ( a ) ; q . pageX = b . pageX , q . pageY = b . pageY , r = ( new Date ) . getTime ( ) , null !== t && clearInterval ( t ) , a . stopPropagation ( ) } } function o ( a ) { if ( ! u && v && m ( a ) ) { var b = l ( a ) , c = { pageX : b . pageX , pageY : b . pageY } , d = c . pageX - q . pageX , e = c . pageY - q . pageY ; i ( d , e ) , q = c ; var f = ( new Date ) . getTime ( ) , g = f - r ; g > 0 && ( s . x = d / g , s . y = e / g , r = f ) , h ( d , e ) && ( a . stopPropagation ( ) , a . preventDefault ( ) ) } } function p ( ) { ! u && v && ( v = ! 1 , clearInterval ( t ) , t = setInterval ( function ( ) { return e . get ( a ) ? Math . abs ( s . x ) < . 01 && Math . abs ( s . y ) < . 01 ? void clearInterval ( t ) : ( i ( 30 * s . x , 30 * s . y ) , s . x *= . 8 , void ( s . y *= . 8 ) ) : void clearInterval ( t ) } , 10 ) ) } var q = { } , r = 0 , s = { } , t = null , u = ! 1 , v = ! 1 ; c && ( b . event . bind ( window , "touchstart" , j ) , b . event . bind ( window , "touchend" , k ) , b . event . bind ( a , "touchstart" , n ) , b . event . bind ( a , "touchmove" , o ) , b . event . bind ( a , "touchend" , p ) ) , d && ( window . PointerEvent ? ( b . event . bind ( window , "pointerdown" , j ) , b . event . bind ( window , "pointerup" , k ) , b . event . bind ( a , "pointerdown" , n ) , b . event . bind ( a , "pointermove" , o ) , b . event . bind ( a , "pointerup" , p ) ) : window . MSPointerEvent && ( b . event . bind ( window , "MSPointerDown" , j ) , b . event . bind ( window , "MSPointerUp" , k ) , b . event . bind ( a , "MSPointerDown" , n ) , b . event . bind ( a , "MSPointerMove" , o ) , b . event . bind ( a , "MSPointerUp" , p ) ) ) } var e = a ( "../instances" ) , f = a ( "../update-geometry" ) , g = a ( "../update-scroll" ) ; b . exports = function ( a , b , c ) { var f = e . get ( a ) ; d ( a , f , b , c ) } } , { " . . / in
g && h && ( g = "*" === g ? "auto" : g , h = "*" === h ? "auto" : h , n += ' width="' + g + '"' , n += ' height="' + h + '"' ) , n += " />" } a = c . converter . _dispatch ( "images.before" , a , b ) ; var f = /!\[(.*?)]\s?\([ \t]*()<?(\S+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(['"])(.*?)\6[ \t]*)?\)/g , g = /!\[(.*?)][ ]?(?:\n[ ]*)?\[(.*?)]()()()()()/g ; return a = a . replace ( g , e ) , a = a . replace ( f , e ) , a = c . converter . _dispatch ( "images.after" , a , b ) } ) , d . subParser ( "italicsAndBold" , function ( a , b , c ) { "use strict" ; return a = c . converter . _dispatch ( "italicsAndBold.before" , a , b ) , b . literalMidWordUnderscores ? ( a = a . replace ( /(^|\s|>|\b)__(?=\S)([^]+?)__(?=\b|<|\s|$)/gm , "$1<strong>$2</strong>" ) , a = a . replace ( /(^|\s|>|\b)_(?=\S)([^]+?)_(?=\b|<|\s|$)/gm , "$1<em>$2</em>" ) , a = a . replace ( /(\*\*)(?=\S)([^\r]*?\S[*]*)\1/g , "<strong>$2</strong>" ) , a = a . replace ( /(\*)(?=\S)([^\r]*?\S)\1/g , "<em>$2</em>" ) ) : ( a = a . replace ( /(\*\*|__)(?=\S)([^\r]*?\S[*_]*)\1/g , "<strong>$2</strong>" ) , a = a . replace ( /(\*|_)(?=\S)([^\r]*?\S)\1/g , "<em>$2</em>" ) ) , a = c . converter . _dispatch ( "italicsAndBold.after" , a , b ) } ) , d . subParser ( "lists" , function ( a , b , c ) { "use strict" ; function e ( a , e ) { c . gListLevel ++ , a = a . replace ( /\n{2,}$/ , "\n" ) , a += "~0" ; var f = /(\n)?(^[ \t]*)([*+-]|\d+[.])[ \t]+((\[(x| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(~0|\2([*+-]|\d+[.])[ \t]+))/gm , g = /\n[ \t]*\n(?!~0)/ . test ( a ) ; return a = a . replace ( f , function ( a , e , f , h , i , j , k ) { k = k && "" !== k . trim ( ) ; var l = d . subParser ( "outdent" ) ( i , b , c ) , m = "" ; return j && b . tasklists && ( m = ' class="task-list-item" style="list-style-type: none;"' , l = l . replace ( /^[ \t]*\[(x| )?]/m , function ( ) { var a = '<input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;"' ; return k && ( a += " checked" ) , a += ">" } ) ) , e || l . search ( /\n{2,}/ ) > - 1 ? ( l = d . subParser ( "githubCodeBlocks" ) ( l , b , c ) , l = d . subParser ( "blockGamut" ) ( l , b , c ) ) : ( l = d . subParser ( "lists" ) ( l , b , c ) , l = l . replace ( /\n$/ , "" ) , l = g ? d . subParser ( "paragraphs" ) ( l , b , c ) : d . subParser ( "spanGamut" ) ( l , b , c ) ) , l = "\n<li" + m + ">" + l + "</li>\n" } ) , a = a . replace ( /~0/g , "" ) , c . gListLevel -- , e && ( a = a . replace ( /\s+$/ , "" ) ) , a } function f ( a , b , c ) { var d = "ul" === b ? /^ {0,2}\d+\.[ \t]/gm : /^ {0,2}[*+-][ \t]/gm , f = [ ] , g = "" ; if ( - 1 !== a . search ( d ) ) { ! function i ( a ) { var f = a . search ( d ) ; - 1 !== f ? ( g += "\n\n<" + b + ">" + e ( a . slice ( 0 , f ) , ! ! c ) + "</" + b + ">\n\n" , b = "ul" === b ? "ol" : "ul" , d = "ul" === b ? /^ {0,2}\d+\.[ \t]/gm : /^ {0,2}[*+-][ \t]/gm , i ( a . slice ( f ) ) ) : g += "\n\n<" + b + ">" + e ( a , ! ! c ) + "</" + b + ">\n\n" } ( a ) ; for ( var h = 0 ; h < f . length ; ++ h ) ; } else g = "\n\n<" + b + ">" + e ( a , ! ! c ) + "</" + b + ">\n\n" ; return g } a = c . converter . _dispatch ( "lists.before" , a , b ) , a += "~0" ; var g = /^(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm ; return c . gListLevel ? a = a . replace ( g , function ( a , b , c ) { var d = c . search ( /[*+-]/g ) > - 1 ? "ul" : "ol" ; return f ( b , d , ! 0 ) } ) : ( g = /(\n\n|^\n?)(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm , a = a . replace ( g , function ( a , b , c , d ) { var e = d . search ( /[*+-]/g ) > - 1 ? "ul" : "ol" ; return f ( c , e ) } ) ) , a = a . replace ( /~0/ , "" ) , a = c . converter . _dispatch ( "lists.after" , a , b ) } ) , d . subParser ( "outdent" , function ( a ) { "use strict" ; return a = a . replace ( /^(\t|[ ]{1,4})/gm , "~0" ) , a = a . replace ( /~0/g , "" ) } ) , d . subParser ( "paragraphs" , function ( a , b , c ) { "use strict" ; a = c . converter . _dispatch ( "paragraphs.before" , a , b ) , a = a . replace ( /^\n+/g , "" ) , a = a . replace ( /\n+$/g , "" ) ; for ( var e = a . split ( /\n{2,}/g ) , f = [ ] , g = e . length , h = 0 ; g > h ; h ++ ) { var i = e [ h ] ; i . search ( /~K(\d+)K/g ) >= 0 ? f . push ( i ) : i . search ( /\S/ ) >= 0 && ( i = d . subParser ( "spanGamut" ) ( i , b , c ) , i = i . replace ( /^([ \t]*)/g , "<p>" ) , i += "</p>" , f . push ( i ) ) } for ( g = f . length , h = 0 ; g > h ; h ++ ) for ( ; f [ h ] . search ( /~K(\d+)K/ ) >= 0 ; ) { var j = c . gHtmlBlocks [ RegExp . $1 ] ; j = j . replace ( /\$/g , "$$$$" ) , f [ h ] = f [ h ] . replace ( /~K\d+K/ , j ) } return a = c . converter . _dispatch ( "paragraphs.after" , a , b ) , f . join ( "\n\n" ) } ) , d . subParser ( "runExtension" , function ( a , b , c , d ) { "use strict" ; if ( a . filter ) b = a . filter ( b , d . converter , c ) ; else if ( a . regex ) { var e = a . regex ; ! e instanceof RegExp && ( e = new RegExp ( e , "g" ) ) , b = b . replace ( e , a . replace ) } return b } ) , d . subParser ( "spanGamut" , function ( a , b , c ) { "use strict" ; return a = c . converter . _dispatch ( "spanGamut.before" , a , b ) , a = d . subParser ( "codeSpans" ) ( a , b , c ) , a = d . subParser ( "escapeSpecialCharsWithinTagAttributes" ) ( a , b , c ) , a = d . subParser ( "encodeBackslashEscapes" ) ( a , b , c ) , a = d . subParser ( "images" ) ( a , b , c ) ,
} ) , this . $buttons . css ( { borderTop : "1px solid darkred" } ) ; break ; case "information" : this . $bar . css ( { backgroundColor : "#78C5E7" , borderColor : "#3badd6" , color : "#FFF" } ) , this . $buttons . css ( { borderTop : "1px solid #0B90C4" } ) ; break ; case "success" : this . $bar . css ( { backgroundColor : "#BCF5BC" , borderColor : "#7cdd77" , color : "darkgreen" } ) , this . $buttons . css ( { borderTop : "1px solid #50C24E" } ) ; break ; default : this . $bar . css ( { backgroundColor : "#FFF" , borderColor : "#CCC" , color : "#444" } ) } } , callback : { onShow : function ( ) { } , onClose : function ( ) { } } } , window . noty } ) , function ( a ) { function b ( b , d , e ) { var f = this ; return this . on ( "click.pjax" , b , function ( b ) { var g = a . extend ( { } , p ( d , e ) ) ; g . container || ( g . container = a ( this ) . attr ( "data-pjax" ) || f ) , c ( b , g ) } ) } function c ( b , c , d ) { d = p ( c , d ) ; var f = b . currentTarget ; if ( "A" !== f . tagName . toUpperCase ( ) ) throw "$.fn.pjax or $.pjax.click requires an anchor element" ; if ( ! ( b . which > 1 || b . metaKey || b . ctrlKey || b . shiftKey || b . altKey || location . protocol !== f . protocol || location . hostname !== f . hostname || f . href . indexOf ( "#" ) > - 1 && o ( f ) == o ( location ) || b . isDefaultPrevented ( ) ) ) { var g = { url : f . href , container : a ( f ) . attr ( "data-pjax" ) , target : f } , h = a . extend ( { } , g , d ) , i = a . Event ( "pjax:click" ) ; a ( f ) . trigger ( i , [ h ] ) , i . isDefaultPrevented ( ) || ( e ( h ) , b . preventDefault ( ) , a ( f ) . trigger ( "pjax:clicked" , [ h ] ) ) } } function d ( b , c , d ) { d = p ( c , d ) ; var f = b . currentTarget , g = a ( f ) ; if ( "FORM" !== f . tagName . toUpperCase ( ) ) throw "$.pjax.submit requires a form element" ; var h = { type : ( g . attr ( "method" ) || "GET" ) . toUpperCase ( ) , url : g . attr ( "action" ) , container : g . attr ( "data-pjax" ) , target : f } ; if ( "GET" !== h . type && void 0 !== window . FormData ) h . data = new FormData ( f ) , h . processData = ! 1 , h . contentType = ! 1 ; else { if ( a ( f ) . find ( ":file" ) . length ) return ; h . data = a ( f ) . serializeArray ( ) } e ( a . extend ( { } , h , d ) ) , b . preventDefault ( ) } function e ( b ) { function c ( b , c , e ) { e || ( e = { } ) , e . relatedTarget = d ; var f = a . Event ( b , e ) ; return h . trigger ( f , c ) , ! f . isDefaultPrevented ( ) } b = a . extend ( ! 0 , { } , a . ajaxSettings , e . defaults , b ) , a . isFunction ( b . url ) && ( b . url = b . url ( ) ) ; var d = b . target , f = n ( b . url ) . hash , h = b . context = q ( b . container ) ; b . data || ( b . data = { } ) , a . isArray ( b . data ) ? b . data . push ( { name : "_pjax" , value : h . selector } ) : b . data . _pjax = h . selector ; var i ; b . beforeSend = function ( a , d ) { if ( "GET" !== d . type && ( d . timeout = 0 ) , a . setRequestHeader ( "X-PJAX" , "true" ) , a . setRequestHeader ( "X-PJAX-Container" , h . selector ) , ! c ( "pjax:beforeSend" , [ a , d ] ) ) return ! 1 ; d . timeout > 0 && ( i = setTimeout ( function ( ) { c ( "pjax:timeout" , [ a , b ] ) && a . abort ( "timeout" ) } , d . timeout ) , d . timeout = 0 ) ; var e = n ( d . url ) ; f && ( e . hash = f ) , b . requestUrl = m ( e ) } , b . complete = function ( a , d ) { i && clearTimeout ( i ) , c ( "pjax:complete" , [ a , d , b ] ) , c ( "pjax:end" , [ a , b ] ) } , b . error = function ( a , d , e ) { var f = t ( "" , a , b ) , h = c ( "pjax:error" , [ a , d , e , b ] ) ; "GET" == b . type && "abort" !== d && h && g ( f . url ) } , b . success = function ( d , i , j ) { var l = e . state , m = "function" == typeof a . pjax . defaults . version ? a . pjax . defaults . version ( ) : a . pjax . defaults . version , o = j . getResponseHeader ( "X-PJAX-Version" ) , p = t ( d , j , b ) , q = n ( p . url ) ; if ( f && ( q . hash = f , p . url = q . href ) , m && o && m !== o ) return void g ( p . url ) ; if ( ! p . contents ) return void g ( p . url ) ; e . state = { id : b . id || k ( ) , url : p . url , title : p . title , container : h . selector , fragment : b . fragment , timeout : b . timeout } , ( b . push || b . replace ) && window . history . replaceState ( e . state , p . title , p . url ) ; var r = a . contains ( b . container , document . activeElement ) ; if ( r ) try { document . activeElement . blur ( ) } catch ( s ) { } p . title && ( document . title = p . title ) , c ( "pjax:beforeReplace" , [ p . contents , b ] , { state : e . state , previousState : l } ) , h . html ( p . contents ) ; var v = h . find ( "input[autofocus], textarea[autofocus]" ) . last ( ) [ 0 ] ; v && document . activeElement !== v && v . focus ( ) , u ( p . scripts ) ; var w = b . scrollTo ; if ( f ) { var x = decodeURIComponent ( f . slice ( 1 ) ) , y = document . getElementById ( x ) || document . getElementsByName ( x ) [ 0 ] ; y && ( w = a ( y ) . offset ( ) . top ) } "number" == typeof w && a ( window ) . scrollTop ( w ) , c ( "pjax:success" , [ d , i , j , b ] ) } , e . state || ( e . state = { id : k ( ) , url : window . location . href , title : document . title , container : h . selector , fragment : b . fragment , timeout : b . timeout } , window . history . replaceState ( e . state , document . title ) ) , j ( e . xhr ) , e . options = b ; var o = e . xhr = a . ajax ( b ) ; return o . readyState > 0 && ( b . push && ! b . replace && ( v ( e . state . id , l ( h ) ) , window . history . pushState ( null , "" , b . requestUrl ) ) , c ( "pjax:start" , [ o , b ] ) , c ( "pjax:send" , [ o , b ] ) ) , e . xhr } function f ( b , c ) { var d = { url : window . location . href , push : ! 1 , r
this . cm = a , this . lastAnchorNode = this . lastAnchorOffset = this . lastFocusNode = this . lastFocusOffset = null , this . polling = new Ce , this . gracePeriod = ! 1 } function ga ( a , b ) { var c = $a ( a , b . line ) ; if ( ! c || c . hidden ) return null ; var d = Xd ( a . doc , b . line ) , e = Xa ( c , d , b . line ) , f = ce ( d ) , g = "left" ; if ( f ) { var h = hf ( f , b . ch ) ; g = h % 2 ? "right" : "left" } var i = bb ( e . map , b . ch , g ) ; return i . offset = "right" == i . collapse ? i . end : i . start , i } function ha ( a , b ) { return b && ( a . bad = ! 0 ) , a } function ia ( a , b , c ) { var d ; if ( b == a . display . lineDiv ) { if ( d = a . display . lineDiv . childNodes [ c ] , ! d ) return ha ( a . clipPos ( Jf ( a . display . viewTo - 1 ) ) , ! 0 ) ; b = null , c = 0 } else for ( d = b ; ; d = d . parentNode ) { if ( ! d || d == a . display . lineDiv ) return null ; if ( d . parentNode && d . parentNode == a . display . lineDiv ) break } for ( var e = 0 ; e < a . display . view . length ; e ++ ) { var f = a . display . view [ e ] ; if ( f . node == d ) return ja ( f , b , c ) } } function ja ( a , b , c ) { function d ( b , c , d ) { for ( var e = - 1 ; e < ( k ? k . length : 0 ) ; e ++ ) for ( var f = 0 > e ? j . map : k [ e ] , g = 0 ; g < f . length ; g += 3 ) { var h = f [ g + 2 ] ; if ( h == b || h == c ) { var i = _d ( 0 > e ? a . line : a . rest [ e ] ) , l = f [ g ] + d ; return ( 0 > d || h != b ) && ( l = f [ g + ( d ? 1 : 0 ) ] ) , Jf ( i , l ) } } } var e = a . text . firstChild , f = ! 1 ; if ( ! b || ! Tg ( e , b ) ) return ha ( Jf ( _d ( a . line ) , 0 ) , ! 0 ) ; if ( b == e && ( f = ! 0 , b = e . childNodes [ c ] , c = 0 , ! b ) ) { var g = a . rest ? Ee ( a . rest ) : a . line ; return ha ( Jf ( _d ( g ) , g . text . length ) , f ) } var h = 3 == b . nodeType ? b : null , i = b ; for ( h || 1 != b . childNodes . length || 3 != b . firstChild . nodeType || ( h = b . firstChild , c && ( c = h . nodeValue . length ) ) ; i . parentNode != e ; ) i = i . parentNode ; var j = a . measure , k = j . maps , l = d ( h , i , c ) ; if ( l ) return ha ( l , f ) ; for ( var m = i . nextSibling , n = h ? h . nodeValue . length - c : 0 ; m ; m = m . nextSibling ) { if ( l = d ( m , m . firstChild , 0 ) ) return ha ( Jf ( l . line , l . ch - n ) , f ) ; n += m . textContent . length } for ( var o = i . previousSibling , n = c ; o ; o = o . previousSibling ) { if ( l = d ( o , o . firstChild , - 1 ) ) return ha ( Jf ( l . line , l . ch + n ) , f ) ; n += m . textContent . length } } function ka ( a , b , c , d , e ) { function f ( a ) { return function ( b ) { return b . id == a } } function g ( b ) { if ( 1 == b . nodeType ) { var c = b . getAttribute ( "cm-text" ) ; if ( null != c ) return "" == c && ( c = b . textContent . replace ( /\u200b/g , "" ) ) , void ( h += c ) ; var k , l = b . getAttribute ( "cm-marker" ) ; if ( l ) { var m = a . findMarks ( Jf ( d , 0 ) , Jf ( e + 1 , 0 ) , f ( + l ) ) ; return void ( m . length && ( k = m [ 0 ] . find ( ) ) && ( h += Yd ( a . doc , k . from , k . to ) . join ( j ) ) ) } if ( "false" == b . getAttribute ( "contenteditable" ) ) return ; for ( var n = 0 ; n < b . childNodes . length ; n ++ ) g ( b . childNodes [ n ] ) ; /^(pre|div|p)$/i . test ( b . nodeName ) && ( i = ! 0 ) } else if ( 3 == b . nodeType ) { var o = b . nodeValue ; if ( ! o ) return ; i && ( h += j , i = ! 1 ) , h += o } } for ( var h = "" , i = ! 1 , j = a . doc . lineSeparator ( ) ; g ( b ) , b != c ; ) b = b . nextSibling ; return h } function la ( a , b ) { this . ranges = a , this . primIndex = b } function ma ( a , b ) { this . anchor = a , this . head = b } function na ( a , b ) { var c = a [ b ] ; a . sort ( function ( a , b ) { return Kf ( a . from ( ) , b . from ( ) ) } ) , b = Fe ( a , c ) ; for ( var d = 1 ; d < a . length ; d ++ ) { var e = a [ d ] , f = a [ d - 1 ] ; if ( Kf ( f . to ( ) , e . from ( ) ) >= 0 ) { var g = X ( f . from ( ) , e . from ( ) ) , h = W ( f . to ( ) , e . to ( ) ) , i = f . empty ( ) ? e . from ( ) == e . head : f . from ( ) == f . head ; b >= d && -- b , a . splice ( -- d , 2 , new ma ( i ? h : g , i ? g : h ) ) } } return new la ( a , b ) } function oa ( a , b ) { return new la ( [ new ma ( a , b || a ) ] , 0 ) } function pa ( a , b ) { return Math . max ( a . first , Math . min ( b , a . first + a . size - 1 ) ) } function qa ( a , b ) { if ( b . line < a . first ) return Jf ( a . first , 0 ) ; var c = a . first + a . size - 1 ; return b . line > c ? Jf ( c , Xd ( a , c ) . text . length ) : ra ( b , Xd ( a , b . line ) . text . length ) } function ra ( a , b ) { var c = a . ch ; return null == c || c > b ? Jf ( a . line , b ) : 0 > c ? Jf ( a . line , 0 ) : a } function sa ( a , b ) { return b >= a . first && b < a . first + a . size } function ta ( a , b ) { for ( var c = [ ] , d = 0 ; d < b . length ; d ++ ) c [ d ] = qa ( a , b [ d ] ) ; return c } function ua ( a , b , c , d ) { if ( a . cm && a . cm . display . shift || a . extend ) { var e = b . anchor ; if ( d ) { var f = Kf ( c , e ) < 0 ; f != Kf ( d , e ) < 0 ? ( e = c , c = d ) : f != Kf ( c , d ) < 0 && ( c = d ) } return new ma ( e , c ) } return new ma ( d || c , c ) } function va ( a , b , c , d ) { Ba ( a , new la ( [ ua ( a , a . sel . primary ( ) , b , c ) ] , 0 ) , d ) } function wa ( a , b , c ) { for ( var d = [ ] , e = 0 ; e < a . sel . ranges . length ; e ++ ) d [ e ] = ua ( a , a . sel . ranges [ e ] , b [ e ] , null ) ; var f = na ( d , a . sel . primIndex ) ; Ba ( a , f , c ) } function xa ( a , b , c , d ) { var e = a . sel . ranges . slice ( 0 ) ; e [ b ] = c , Ba ( a , na ( e , a . sel . primIndex ) , d ) } function ya ( a , b , c , d ) { Ba ( a , oa ( b , c ) , d ) } function za ( a , b ) { var c = { ranges : b . ranges , update : function ( b ) { this . ranges = [ ] ; for ( var c = 0 ; c < b . length ; c ++ ) this . ranges [ c ] = new ma ( qa ( a , b [ c ] . anchor ) , qa ( a , b [ c ] . head ) ) } } ; return Eg ( a , "beforeSelectionChange" , a , c ) , a . cm && Eg ( a . cm , "beforeSelectionChange" , a . cm , c ) , c . ranges != b . ranges ? na ( c . ranges , c . ranges . length - 1 ) : b } functio
if ( b . state . draggingText && ! ( Cf ? a . altKey : a . ctrlKey ) ) var j = b . listSelections ( ) ; if ( Ca ( b . doc , oa ( c , c ) ) , j ) for ( var i = 0 ; i < j . length ; ++ i ) Ec ( b . doc , "" , j [ i ] . anchor , j [ i ] . head , "drag" ) ; b . replaceSelection ( f , "around" , "paste" ) , b . display . input . focus ( ) } } catch ( a ) { } } } } function _b ( a , b ) { if ( rf && ( ! a . state . draggingText || + new Date - Sf < 100 ) ) return void Ag ( b ) ; if ( ! ye ( a , b ) && ! Sb ( a . display , b ) && ( b . dataTransfer . setData ( "Text" , a . getSelection ( ) ) , b . dataTransfer . setDragImage && ! xf ) ) { var c = Oe ( "img" , null , null , "position: fixed; left: 0; top: 0;" ) ; c . src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" , wf && ( c . width = c . height = 1 , a . display . wrapper . appendChild ( c ) , c . _top = c . offsetTop ) , b . dataTransfer . setDragImage ( c , 0 , 0 ) , wf && c . parentNode . removeChild ( c ) } } function ac ( a , b ) { var c = Tb ( a , b ) ; if ( c ) { var d = document . createDocumentFragment ( ) ; Ja ( a , c , d ) , a . display . dragCursor || ( a . display . dragCursor = Oe ( "div" , null , "CodeMirror-cursors CodeMirror-dragcursors" ) , a . display . lineSpace . insertBefore ( a . display . dragCursor , a . display . cursorDiv ) ) , Qe ( a . display . dragCursor , d ) } } function bc ( a ) { a . display . dragCursor && ( a . display . lineSpace . removeChild ( a . display . dragCursor ) , a . display . dragCursor = null ) } function cc ( a , b ) { Math . abs ( a . doc . scrollTop - b ) < 2 || ( a . doc . scrollTop = b , of || D ( a , { top : b } ) , a . display . scroller . scrollTop != b && ( a . display . scroller . scrollTop = b ) , a . display . scrollbars . setScrollTop ( b ) , of && D ( a ) , Ma ( a , 100 ) ) } function dc ( a , b , c ) { ( c ? b == a . doc . scrollLeft : Math . abs ( a . doc . scrollLeft - b ) < 2 ) || ( b = Math . min ( b , a . display . scroller . scrollWidth - a . display . scroller . clientWidth ) , a . doc . scrollLeft = b , v ( a ) , a . display . scroller . scrollLeft != b && ( a . display . scroller . scrollLeft = b ) , a . display . scrollbars . setScrollLeft ( b ) ) } function ec ( a , b ) { var c = Vf ( b ) , d = c . x , e = c . y , f = a . display , g = f . scroller , h = g . scrollWidth > g . clientWidth , i = g . scrollHeight > g . clientHeight ; if ( d && h || e && i ) { if ( e && Cf && tf ) a : for ( var j = b . target , k = f . view ; j != g ; j = j . parentNode ) for ( var l = 0 ; l < k . length ; l ++ ) if ( k [ l ] . node == j ) { a . display . currentWheelTarget = j ; break a } if ( d && ! of && ! wf && null != Uf ) return e && i && cc ( a , Math . max ( 0 , Math . min ( g . scrollTop + e * Uf , g . scrollHeight - g . clientHeight ) ) ) , dc ( a , Math . max ( 0 , Math . min ( g . scrollLeft + d * Uf , g . scrollWidth - g . clientWidth ) ) ) , ( ! e || e && i ) && yg ( b ) , void ( f . wheelStartX = null ) ; if ( e && null != Uf ) { var m = e * Uf , n = a . doc . scrollTop , o = n + f . wrapper . clientHeight ; 0 > m ? n = Math . max ( 0 , n + m - 50 ) : o = Math . min ( a . doc . height , o + m + 50 ) , D ( a , { top : n , bottom : o } ) } 20 > Tf && ( null == f . wheelStartX ? ( f . wheelStartX = g . scrollLeft , f . wheelStartY = g . scrollTop , f . wheelDX = d , f . wheelDY = e , setTimeout ( function ( ) { if ( null != f . wheelStartX ) { var a = g . scrollLeft - f . wheelStartX , b = g . scrollTop - f . wheelStartY , c = b && f . wheelDY && b / f . wheelDY || a && f . wheelDX && a / f . wheelDX ; f . wheelStartX = f . wheelStartY = null , c && ( Uf = ( Uf * Tf + c ) / ( Tf + 1 ) , ++ Tf ) } } , 200 ) ) : ( f . wheelDX += d , f . wheelDY += e ) ) } } function fc ( a , b , c ) { if ( "string" == typeof b && ( b = hg [ b ] , ! b ) ) return ! 1 ; a . display . input . ensurePolled ( ) ; var d = a . display . shift , e = ! 1 ; try { Z ( a ) && ( a . state . suppressEdits = ! 0 ) , c && ( a . display . shift = ! 1 ) , e = b ( a ) != Hg } finally { a . display . shift = d , a . state . suppressEdits = ! 1 } return e } function gc ( a , b , c ) { for ( var d = 0 ; d < a . state . keyMaps . length ; d ++ ) { var e = jg ( b , a . state . keyMaps [ d ] , c , a ) ; if ( e ) return e } return a . options . extraKeys && jg ( b , a . options . extraKeys , c , a ) || jg ( b , a . options . keyMap , c , a ) } function hc ( a , b , c , d ) { var e = a . state . keySeq ; if ( e ) { if ( kg ( b ) ) return "handled" ; Wf . set ( 50 , function ( ) { a . state . keySeq == e && ( a . state . keySeq = null , a . display . input . reset ( ) ) } ) , b = e + " " + b } var f = gc ( a , b , d ) ; return "multi" == f && ( a . state . keySeq = b ) , "handled" == f && we ( a , "keyHandled" , a , b , c ) , ( "handled" == f || "multi" == f ) && ( yg ( c ) , La ( a ) ) , e && ! f && /\'$/ . test ( b ) ? ( yg ( c ) , ! 0 ) : ! ! f } function ic ( a , b ) { var c = lg ( b , ! 0 ) ; return c ? b . shiftKey && ! a . state . keySeq ? hc ( a , "Shift-" + c , b , function ( b ) { return fc ( a , b , ! 0 ) } ) || hc ( a , c , b , function ( b ) { return ( "string" == typeof b ? /^go[A-Z]/ . test ( b ) : b . motion ) ? fc ( a , b ) : void 0 } ) : hc ( a , c , b , function ( b ) { return fc ( a , b ) } ) : ! 1 } function jc ( a , b , c ) { return hc ( a , "'" + c + "'" , b , function ( b ) { return fc ( a , b , ! 0 ) } ) } function kc ( a ) { var b = this ; if ( b . curOp . focus = Re ( ) , ! ye ( b , a ) ) { rf && 11 > sf && 27 == a . keyCode && ( a . returnValue = ! 1 ) ; var c = a . keyCode ; b . display . shift = 16 == c || a . shiftKey ; var d = ic ( b , a ) ; wf && ( Xf = d ? c : null , ! d && 88 == c && ! ah && ( Cf ? a . metaKey : a . ctrlKey ) && b . replaceSelection ( "" , null , "cut" ) ) , 18 != c || /\bCodeMirror-crosshair\b/ . test (
var c = a . first ; a : do { for ( var d = 0 ; d < a . children . length ; ++ d ) { var e = a . children [ d ] , f = e . height ; if ( f > b ) { a = e ; continue a } b -= f , c += e . chunkSize ( ) } return c } while ( ! a . lines ) ; for ( var d = 0 ; d < a . lines . length ; ++ d ) { var g = a . lines [ d ] , h = g . height ; if ( h > b ) break ; b -= h } return c + d } function be ( a ) { a = qd ( a ) ; for ( var b = 0 , c = a . parent , d = 0 ; d < c . lines . length ; ++ d ) { var e = c . lines [ d ] ; if ( e == a ) break ; b += e . height } for ( var f = c . parent ; f ; c = f , f = c . parent ) for ( var d = 0 ; d < f . children . length ; ++ d ) { var g = f . children [ d ] ; if ( g == c ) break ; b += g . height } return b } function ce ( a ) { var b = a . order ; return null == b && ( b = a . order = eh ( a . text ) ) , b } function de ( a ) { this . done = [ ] , this . undone = [ ] , this . undoDepth = 1 / 0 , this . lastModTime = this . lastSelTime = 0 , this . lastOp = this . lastSelOp = null , this . lastOrigin = this . lastSelOrigin = null , this . generation = this . maxGeneration = a || 1 } function ee ( a , b ) { var c = { from : V ( b . from ) , to : Yf ( b ) , text : Yd ( a , b . from , b . to ) } ; return le ( a , c , b . from . line , b . to . line + 1 ) , Vd ( a , function ( a ) { le ( a , c , b . from . line , b . to . line + 1 ) } , ! 0 ) , c } function fe ( a ) { for ( ; a . length ; ) { var b = Ee ( a ) ; if ( ! b . ranges ) break ; a . pop ( ) } } function ge ( a , b ) { return b ? ( fe ( a . done ) , Ee ( a . done ) ) : a . done . length && ! Ee ( a . done ) . ranges ? Ee ( a . done ) : a . done . length > 1 && ! a . done [ a . done . length - 2 ] . ranges ? ( a . done . pop ( ) , Ee ( a . done ) ) : void 0 } function he ( a , b , c , d ) { var e = a . history ; e . undone . length = 0 ; var f , g = + new Date ; if ( ( e . lastOp == d || e . lastOrigin == b . origin && b . origin && ( "+" == b . origin . charAt ( 0 ) && a . cm && e . lastModTime > g - a . cm . options . historyEventDelay || "*" == b . origin . charAt ( 0 ) ) ) && ( f = ge ( e , e . lastOp == d ) ) ) { var h = Ee ( f . changes ) ; 0 == Kf ( b . from , b . to ) && 0 == Kf ( b . from , h . to ) ? h . to = Yf ( b ) : f . changes . push ( ee ( a , b ) ) } else { var i = Ee ( e . done ) ; for ( i && i . ranges || ke ( a . sel , e . done ) , f = { changes : [ ee ( a , b ) ] , generation : e . generation } , e . done . push ( f ) ; e . done . length > e . undoDepth ; ) e . done . shift ( ) , e . done [ 0 ] . ranges || e . done . shift ( ) } e . done . push ( c ) , e . generation = ++ e . maxGeneration , e . lastModTime = e . lastSelTime = g , e . lastOp = e . lastSelOp = d , e . lastOrigin = e . lastSelOrigin = b . origin , h || Eg ( a , "historyAdded" ) } function ie ( a , b , c , d ) { var e = b . charAt ( 0 ) ; return "*" == e || "+" == e && c . ranges . length == d . ranges . length && c . somethingSelected ( ) == d . somethingSelected ( ) && new Date - a . history . lastSelTime <= ( a . cm ? a . cm . options . historyEventDelay : 500 ) } function je ( a , b , c , d ) { var e = a . history , f = d && d . origin ; c == e . lastSelOp || f && e . lastSelOrigin == f && ( e . lastModTime == e . lastSelTime && e . lastOrigin == f || ie ( a , f , Ee ( e . done ) , b ) ) ? e . done [ e . done . length - 1 ] = b : ke ( b , e . done ) , e . lastSelTime = + new Date , e . lastSelOrigin = f , e . lastSelOp = c , d && d . clearRedo !== ! 1 && fe ( e . undone ) } function ke ( a , b ) { var c = Ee ( b ) ; c && c . ranges && c . equals ( a ) || b . push ( a ) } function le ( a , b , c , d ) { var e = b [ "spans_" + a . id ] , f = 0 ; a . iter ( Math . max ( a . first , c ) , Math . min ( a . first + a . size , d ) , function ( c ) { c . markedSpans && ( ( e || ( e = b [ "spans_" + a . id ] = { } ) ) [ f ] = c . markedSpans ) , ++ f } ) } function me ( a ) { if ( ! a ) return null ; for ( var b , c = 0 ; c < a . length ; ++ c ) a [ c ] . marker . explicitlyCleared ? b || ( b = a . slice ( 0 , c ) ) : b && b . push ( a [ c ] ) ; return b ? b . length ? b : null : a } function ne ( a , b ) { var c = b [ "spans_" + a . id ] ; if ( ! c ) return null ; for ( var d = 0 , e = [ ] ; d < b . text . length ; ++ d ) e . push ( me ( c [ d ] ) ) ; return e } function oe ( a , b , c ) { for ( var d = 0 , e = [ ] ; d < a . length ; ++ d ) { var f = a [ d ] ; if ( f . ranges ) e . push ( c ? la . prototype . deepCopy . call ( f ) : f ) ; else { var g = f . changes , h = [ ] ; e . push ( { changes : h } ) ; for ( var i = 0 ; i < g . length ; ++ i ) { var j , k = g [ i ] ; if ( h . push ( { from : k . from , to : k . to , text : k . text } ) , b ) for ( var l in k ) ( j = l . match ( /^spans_(\d+)$/ ) ) && Fe ( b , Number ( j [ 1 ] ) ) > - 1 && ( Ee ( h ) [ l ] = k [ l ] , delete k [ l ] ) } } } return e } function pe ( a , b , c , d ) { c < a . line ? a . line += d : b < a . line && ( a . line = b , a . ch = 0 ) } function qe ( a , b , c , d ) { for ( var e = 0 ; e < a . length ; ++ e ) { var f = a [ e ] , g = ! 0 ; if ( f . ranges ) { f . copied || ( f = a [ e ] = f . deepCopy ( ) , f . copied = ! 0 ) ; for ( var h = 0 ; h < f . ranges . length ; h ++ ) pe ( f . ranges [ h ] . anchor , b , c , d ) , pe ( f . ranges [ h ] . head , b , c , d ) } else { for ( var h = 0 ; h < f . changes . length ; ++ h ) { var i = f . changes [ h ] ; if ( c < i . from . line ) i . from = Jf ( i . from . line + d , i . from . ch ) , i . to = Jf ( i . to . line + d , i . to . ch ) ; else if ( b <= i . to . line ) { g = ! 1 ; break } } g || ( a . splice ( 0 , e + 1 ) , e = 0 ) } } } function re ( a , b ) { var c = b . from . line , d = b . to . line , e = b . text . length - ( d - c ) - 1 ; qe ( a . done , c , d , e ) , qe ( a . undone , c , d , e ) } function se ( a ) { return null != a . defaultPrevented ? a . defaultPrevented : 0 == a . returnValue } function te ( a ) { return a . target || a . srcElement } function ue ( a ) { var b = a . which ; return null == b && ( 1 & a . button ? b = 1 : 2 & a . button ? b = 3 : 4 & a . button && ( b = 2 ) ) , Cf && a . ctrl
left : a . scrollLeft , top : a . scrollTop , height : a . scrollHeight - Ta ( this ) - this . display . barHeight , width : a . scrollWidth - Ta ( this ) - this . display . barWidth , clientHeight : Va ( this ) , clientWidth : Ua ( this ) } } , scrollIntoView : Eb ( function ( a , b ) { if ( null == a ? ( a = { from : this . doc . sel . primary ( ) . head , to : null } , null == b && ( b = this . options . cursorScrollMargin ) ) : "number" == typeof a ? a = { from : Jf ( a , 0 ) , to : null } : null == a . from && ( a = { from : a , to : null } ) , a . to || ( a . to = a . from ) , a . margin = b || 0 , null != a . from . line ) Lc ( this ) , this . curOp . scrollToPos = a ; else { var c = Ic ( this , Math . min ( a . from . left , a . to . left ) , Math . min ( a . from . top , a . to . top ) - a . margin , Math . max ( a . from . right , a . to . right ) , Math . max ( a . from . bottom , a . to . bottom ) + a . margin ) ; this . scrollTo ( c . scrollLeft , c . scrollTop ) } } ) , setSize : Eb ( function ( a , b ) { function c ( a ) { return "number" == typeof a || /^\d+$/ . test ( String ( a ) ) ? a + "px" : a } var d = this ; null != a && ( d . display . wrapper . style . width = c ( a ) ) , null != b && ( d . display . wrapper . style . height = c ( b ) ) , d . options . lineWrapping && fb ( this ) ; var e = d . display . viewFrom ; d . doc . iter ( e , d . display . viewTo , function ( a ) { if ( a . widgets ) for ( var b = 0 ; b < a . widgets . length ; b ++ ) if ( a . widgets [ b ] . noHScroll ) { Jb ( d , e , "widget" ) ; break } ++ e } ) , d . curOp . forceUpdate = ! 0 , Eg ( d , "refresh" , this ) } ) , operation : function ( a ) { return Cb ( this , a ) } , refresh : Eb ( function ( ) { var a = this . display . cachedTextHeight ; Ib ( this ) , this . curOp . forceUpdate = ! 0 , gb ( this ) , this . scrollTo ( this . doc . scrollLeft , this . doc . scrollTop ) , k ( this ) , ( null == a || Math . abs ( a - rb ( this . display ) ) > . 5 ) && g ( this ) , Eg ( this , "refresh" , this ) } ) , swapDoc : Eb ( function ( a ) { var b = this . doc ; return b . cm = null , Wd ( this , a ) , gb ( this ) , this . display . input . reset ( ) , this . scrollTo ( a . scrollLeft , a . scrollTop ) , this . curOp . forceScroll = ! 0 , we ( this , "swapDoc" , this , b ) , b } ) , getInputField : function ( ) { return this . display . input . getField ( ) } , getWrapperElement : function ( ) { return this . display . wrapper } , getScrollerElement : function ( ) { return this . display . scroller } , getGutterElement : function ( ) { return this . display . gutters } } , Be ( a ) ; var Zf = a . defaults = { } , $f = a . optionHandlers = { } , _f = a . Init = { toString : function ( ) { return "CodeMirror.Init" } } ; Rc ( "value" , "" , function ( a , b ) { a . setValue ( b ) } , ! 0 ) , Rc ( "mode" , null , function ( a , b ) { a . doc . modeOption = b , c ( a ) } , ! 0 ) , Rc ( "indentUnit" , 2 , c , ! 0 ) , Rc ( "indentWithTabs" , ! 1 ) , Rc ( "smartIndent" , ! 0 ) , Rc ( "tabSize" , 4 , function ( a ) { d ( a ) , gb ( a ) , Ib ( a ) } , ! 0 ) , Rc ( "lineSeparator" , null , function ( a , b ) { if ( a . doc . lineSep = b , b ) { var c = [ ] , d = a . doc . first ; a . doc . iter ( function ( a ) { for ( var e = 0 ; ; ) { var f = a . text . indexOf ( b , e ) ; if ( - 1 == f ) break ; e = f + b . length , c . push ( Jf ( d , f ) ) } d ++ } ) ; for ( var e = c . length - 1 ; e >= 0 ; e -- ) Ec ( a . doc , b , c [ e ] , Jf ( c [ e ] . line , c [ e ] . ch + b . length ) ) } } ) , Rc ( "specialChars" , /[\t\u0000-\u0019\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g , function ( b , c , d ) { b . state . specialChars = new RegExp ( c . source + ( c . test ( " " ) ? "" : "| " ) , "g" ) , d != a . Init && b . refresh ( ) } ) , Rc ( "specialCharPlaceholder" , Ld , function ( a ) { a . refresh ( ) } , ! 0 ) , Rc ( "electricChars" , ! 0 ) , Rc ( "inputStyle" , Bf ? "contenteditable" : "textarea" , function ( ) { throw new Error ( "inputStyle can not (yet) be changed in a running editor" ) } , ! 0 ) , Rc ( "rtlMoveVisually" , ! Df ) , Rc ( "wholeLineUpdateBefore" , ! 0 ) , Rc ( "theme" , "default" , function ( a ) { h ( a ) , i ( a ) } , ! 0 ) , Rc ( "keyMap" , "default" , function ( b , c , d ) { var e = Tc ( c ) , f = d != a . Init && Tc ( d ) ; f && f . detach && f . detach ( b , e ) , e . attach && e . attach ( b , f || null ) } ) , Rc ( "extraKeys" , null ) , Rc ( "lineWrapping" , ! 1 , e , ! 0 ) , Rc ( "gutters" , [ ] , function ( a ) { n ( a . options ) , i ( a ) } , ! 0 ) , Rc ( "fixedGutter" , ! 0 , function ( a , b ) { a . display . gutters . style . left = b ? y ( a . display ) + "px" : "0" , a . refresh ( ) } , ! 0 ) , Rc ( "coverGutterNextToScrollbar" , ! 1 , function ( a ) { s ( a ) } , ! 0 ) , Rc ( "scrollbarStyle" , "native" , function ( a ) { r ( a ) , s ( a ) , a . display . scrollbars . setScrollTop ( a . doc . scrollTop ) , a . display . scrollbars . setScrollLeft ( a . doc . scrollLeft ) } , ! 0 ) , Rc ( "lineNumbers" , ! 1 , function ( a ) { n ( a . options ) , i ( a ) } , ! 0 ) , Rc ( "firstLineNumber" , 1 , i , ! 0 ) , Rc ( "lineNumberFormatter" , function ( a ) { return a } , i , ! 0 ) , Rc ( "showCursorWhenSelecting" , ! 1 , Ha , ! 0 ) , Rc ( "resetSelectionOnContextMenu" , ! 0 ) , Rc ( "lineWiseCopyCut" , ! 0 ) , Rc ( "readOnly" , ! 1 , function ( a , b ) { "nocursor" == b ? ( qc ( a ) , a . display . input . blur ( ) , a . display . disabled = ! 0 ) : a . display . disabled = ! 1 , a . display . input . readOnlyChanged ( b ) } ) , Rc ( "disableInput" , ! 1 , function ( a , b ) { b || a . display . input . reset ( ) } , ! 0 ) , Rc ( "dragDrop" , ! 0 , Qb ) , Rc ( "allowDropFileTypes" , null ) , Rc ( "cursorBlinkRate" , 530 ) , Rc ( " cursorScrollMar
Pg = document . createRange ? function ( a , b , c , d ) { var e = document . createRange ( ) ; return e . setEnd ( d || a , c ) , e . setStart ( a , b ) , e } : function ( a , b , c ) { var d = document . body . createTextRange ( ) ; try { d . moveToElementText ( a . parentNode ) } catch ( e ) { return d } return d . collapse ( ! 0 ) , d . moveEnd ( "character" , c ) , d . moveStart ( "character" , b ) , d } ; var Tg = a . contains = function ( a , b ) { if ( 3 == b . nodeType && ( b = b . parentNode ) , a . contains ) return a . contains ( b ) ; do if ( 11 == b . nodeType && ( b = b . host ) , b == a ) return ! 0 ; while ( b = b . parentNode ) } ; rf && 11 > sf && ( Re = function ( ) { try { return document . activeElement } catch ( a ) { return document . body } } ) ; var Ug , Vg , Wg = a . rmClass = function ( a , b ) { var c = a . className , d = Se ( b ) . exec ( c ) ; if ( d ) { var e = c . slice ( d . index + d [ 0 ] . length ) ; a . className = c . slice ( 0 , d . index ) + ( e ? d [ 1 ] + e : "" ) } } , Xg = a . addClass = function ( a , b ) { var c = a . className ; Se ( b ) . test ( c ) || ( a . className += ( c ? " " : "" ) + b ) } , Yg = ! 1 , Zg = function ( ) { if ( rf && 9 > sf ) return ! 1 ; var a = Oe ( "div" ) ; return "draggable" in a || "dragDrop" in a } ( ) , $g = a . splitLines = 3 != "\n\nb" . split ( /\n/ ) . length ? function ( a ) { for ( var b = 0 , c = [ ] , d = a . length ; d >= b ; ) { var e = a . indexOf ( "\n" , b ) ; - 1 == e && ( e = a . length ) ; var f = a . slice ( b , "\r" == a . charAt ( e - 1 ) ? e - 1 : e ) , g = f . indexOf ( "\r" ) ; - 1 != g ? ( c . push ( f . slice ( 0 , g ) ) , b += g + 1 ) : ( c . push ( f ) , b = e + 1 ) } return c } : function ( a ) { return a . split ( /\r\n?|\n/ ) } , _g = window . getSelection ? function ( a ) { try { return a . selectionStart != a . selectionEnd } catch ( b ) { return ! 1 } } : function ( a ) { try { var b = a . ownerDocument . selection . createRange ( ) } catch ( c ) { } return b && b . parentElement ( ) == a ? 0 != b . compareEndPoints ( "StartToEnd" , b ) : ! 1 } , ah = function ( ) { var a = Oe ( "div" ) ; return "oncopy" in a ? ! 0 : ( a . setAttribute ( "oncopy" , "return;" ) , "function" == typeof a . oncopy ) } ( ) , bh = null , ch = a . keyNames = { 3 : "Enter" , 8 : "Backspace" , 9 : "Tab" , 13 : "Enter" , 16 : "Shift" , 17 : "Ctrl" , 18 : "Alt" , 19 : "Pause" , 20 : "CapsLock" , 27 : "Esc" , 32 : "Space" , 33 : "PageUp" , 34 : "PageDown" , 35 : "End" , 36 : "Home" , 37 : "Left" , 38 : "Up" , 39 : "Right" , 40 : "Down" , 44 : "PrintScrn" , 45 : "Insert" , 46 : "Delete" , 59 : ";" , 61 : "=" , 91 : "Mod" , 92 : "Mod" , 93 : "Mod" , 106 : "*" , 107 : "=" , 109 : "-" , 110 : "." , 111 : "/" , 127 : "Delete" , 173 : "-" , 186 : ";" , 187 : "=" , 188 : "," , 189 : "-" , 190 : "." , 191 : "/" , 192 : "`" , 219 : "[" , 220 : "\\" , 221 : "]" , 222 : "'" , 63232 : "Up" , 63233 : "Down" , 63234 : "Left" , 63235 : "Right" , 63272 : "Delete" , 63273 : "Home" , 63275 : "End" , 63276 : "PageUp" , 63277 : "PageDown" , 63302 : "Insert" } ; ! function ( ) { for ( var a = 0 ; 10 > a ; a ++ ) ch [ a + 48 ] = ch [ a + 96 ] = String ( a ) ; for ( var a = 65 ; 90 >= a ; a ++ ) ch [ a ] = String . fromCharCode ( a ) ; for ( var a = 1 ; 12 >= a ; a ++ ) ch [ a + 111 ] = ch [ a + 63235 ] = "F" + a } ( ) ; var dh , eh = function ( ) { function a ( a ) { return 247 >= a ? c . charAt ( a ) : a >= 1424 && 1524 >= a ? "R" : a >= 1536 && 1773 >= a ? d . charAt ( a - 1536 ) : a >= 1774 && 2220 >= a ? "r" : a >= 8192 && 8203 >= a ? "w" : 8204 == a ? "b" : "L" } function b ( a , b , c ) { this . level = a , this . from = b , this . to = c } var c = "bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN" , d = "rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm" , e = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/ , f = /[stwN]/ , g = /[LRr]/ , h = /[Lb1n]/ , i = /[1n]/ , j = "L" ; return function ( c ) { if ( ! e . test ( c ) ) return ! 1 ; for ( var d , k = c . length , l = [ ] , m = 0 ; k > m ; ++ m ) l . push ( d = a ( c . charCodeAt ( m ) ) ) ; for ( var m = 0 , n = j ; k > m ; ++ m ) { var d = l [ m ] ; "m" == d ? l [ m ] = n : n = d } for ( var m = 0 , o = j ; k > m ; ++ m ) { var d = l [ m ] ; "1" == d && "r" == o ? l [ m ] = "n" : g . test ( d ) && ( o = d , "r" == d && ( l [ m ] = "R" ) ) } for ( var m = 1 , n = l [ 0 ] ; k - 1 > m ; ++ m ) { var d = l [ m ] ; "+" == d && "1" == n && "1" == l [ m + 1 ] ? l [ m ] = "1" : "," != d || n != l [ m + 1 ] || "1" != n && "n" != n || ( l [ m ] = n ) , n = d } for ( var m = 0 ; k > m ; ++ m ) { var d = l [ m ] ; if ( "," == d ) l [ m ] = "N" ; else if ( "%" == d ) { for ( var p = m + 1 ; k > p && "%" == l [ p ] ; ++ p ) ; for ( var q = m && "!" == l [ m - 1 ] || k > p && "1" == l [ p ] ? "1" : "N" , r = m ; p > r ; ++ r ) l [ r ] = q ; m = p - 1 } } for ( var m = 0 , o = j ; k > m ; ++ m ) { var d = l [ m ] ; "L" == o && "1" == d ? l [ m ] = "L" : g . test ( d ) && ( o = d ) } for ( var m = 0 ; k > m ; ++ m ) if ( f . test ( l [ m ] ) ) { for ( var p = m + 1 ; k > p && f . test ( l [ p ] ) ; ++ p ) ; for ( var s = "L" == ( m ? l [ m - 1 ] : j ) , t = "L" == ( k > p ? l [ p ] : j ) , q = s || t ? "L" : "R" , r = m ; p > r ; ++ r ) l [ r ] = q ; m = p - 1 } for ( var u , v = [ ] , m = 0 ; k > m ; ) if ( h . test ( l [ m ] ) ) { var w = m ; for ( ++ m ; k > m && h . test ( l [ m ] ) ; ++ m ) ; v . push ( new b ( 0 , w , m ) ) } else { var x = m , y = v . length ; for ( ++ m ; k > m && "
function o ( ) { return n . apply ( null , arguments ) , ! 0 } function p ( a ) { function b ( b ) { for ( var c = b ; c ; c = c . next ) if ( c . name == a ) return ! 0 ; return ! 1 } var d = Ga . state ; if ( Ga . marked = "def" , d . context ) { if ( b ( d . localVars ) ) return ; d . localVars = { name : a , next : d . localVars } } else { if ( b ( d . globalVars ) ) return ; c . globalVars && ( d . globalVars = { name : a , next : d . globalVars } ) } } function q ( ) { Ga . state . context = { prev : Ga . state . context , vars : Ga . state . localVars } , Ga . state . localVars = Ha } function r ( ) { Ga . state . localVars = Ga . state . context . vars , Ga . state . context = Ga . state . context . prev } function s ( a , b ) { var c = function ( ) { var c = Ga . state , d = c . indented ; if ( "stat" == c . lexical . type ) d = c . lexical . indented ; else for ( var e = c . lexical ; e && ")" == e . type && e . align ; e = e . prev ) d = e . indented ; c . lexical = new k ( d , Ga . stream . column ( ) , a , null , c . lexical , b ) } ; return c . lex = ! 0 , c } function t ( ) { var a = Ga . state ; a . lexical . prev && ( ")" == a . lexical . type && ( a . indented = a . lexical . indented ) , a . lexical = a . lexical . prev ) } function u ( a ) { function b ( c ) { return c == a ? o ( ) : ";" == a ? n ( ) : o ( b ) } return b } function v ( a , b ) { return "var" == a ? o ( s ( "vardef" , b . length ) , V , u ( ";" ) , t ) : "keyword a" == a ? o ( s ( "form" ) , w , v , t ) : "keyword b" == a ? o ( s ( "form" ) , v , t ) : "{" == a ? o ( s ( "}" ) , R , t ) : ";" == a ? o ( ) : "if" == a ? ( "else" == Ga . state . lexical . info && Ga . state . cc [ Ga . state . cc . length - 1 ] == t && Ga . state . cc . pop ( ) ( ) , o ( s ( "form" ) , w , v , t , $ ) ) : "function" == a ? o ( ea ) : "for" == a ? o ( s ( "form" ) , _ , v , t ) : "variable" == a ? o ( s ( "stat" ) , K ) : "switch" == a ? o ( s ( "form" ) , w , s ( "}" , "switch" ) , u ( "{" ) , R , t , t ) : "case" == a ? o ( w , u ( ":" ) ) : "default" == a ? o ( u ( ":" ) ) : "catch" == a ? o ( s ( "form" ) , q , u ( "(" ) , fa , u ( ")" ) , v , t , r ) : "class" == a ? o ( s ( "form" ) , ga , t ) : "export" == a ? o ( s ( "stat" ) , ka , t ) : "import" == a ? o ( s ( "stat" ) , la , t ) : n ( s ( "stat" ) , w , u ( ";" ) , t ) } function w ( a ) { return y ( a , ! 1 ) } function x ( a ) { return y ( a , ! 0 ) } function y ( a , b ) { if ( Ga . state . fatArrowAt == Ga . stream . start ) { var c = b ? G : F ; if ( "(" == a ) return o ( q , s ( ")" ) , P ( W , ")" ) , t , u ( "=>" ) , c , r ) ; if ( "variable" == a ) return n ( q , W , u ( "=>" ) , c , r ) } var d = b ? C : B ; return Fa . hasOwnProperty ( a ) ? o ( d ) : "async" == a ? o ( w ) : "function" == a ? o ( ea , d ) : "keyword c" == a ? o ( b ? A : z ) : "(" == a ? o ( s ( ")" ) , z , ra , u ( ")" ) , t , d ) : "operator" == a || "spread" == a ? o ( b ? x : w ) : "[" == a ? o ( s ( "]" ) , pa , t , d ) : "{" == a ? Q ( M , "}" , null , d ) : "quasi" == a ? n ( D , d ) : "new" == a ? o ( H ( b ) ) : o ( ) } function z ( a ) { return a . match ( /[;\}\)\],]/ ) ? n ( ) : n ( w ) } function A ( a ) { return a . match ( /[;\}\)\],]/ ) ? n ( ) : n ( x ) } function B ( a , b ) { return "," == a ? o ( w ) : C ( a , b , ! 1 ) } function C ( a , b , c ) { var d = 0 == c ? B : C , e = 0 == c ? w : x ; return "=>" == a ? o ( q , c ? G : F , r ) : "operator" == a ? /\+\+|--/ . test ( b ) ? o ( d ) : "?" == b ? o ( w , u ( ":" ) , e ) : o ( e ) : "quasi" == a ? n ( D , d ) : ";" != a ? "(" == a ? Q ( x , ")" , "call" , d ) : "." == a ? o ( L , d ) : "[" == a ? o ( s ( "]" ) , z , u ( "]" ) , t , d ) : void 0 : void 0 } function D ( a , b ) { return "quasi" != a ? n ( ) : "${" != b . slice ( b . length - 2 ) ? o ( D ) : o ( w , E ) } function E ( a ) { return "}" == a ? ( Ga . marked = "string-2" , Ga . state . tokenize = i , o ( D ) ) : void 0 } function F ( a ) { return j ( Ga . stream , Ga . state ) , n ( "{" == a ? v : w ) } function G ( a ) { return j ( Ga . stream , Ga . state ) , n ( "{" == a ? v : x ) } function H ( a ) { return function ( b ) { return "." == b ? o ( a ? J : I ) : n ( a ? x : w ) } } function I ( a , b ) { return "target" == b ? ( Ga . marked = "keyword" , o ( B ) ) : void 0 } function J ( a , b ) { return "target" == b ? ( Ga . marked = "keyword" , o ( C ) ) : void 0 } function K ( a ) { return ":" == a ? o ( t , v ) : n ( B , u ( ";" ) , t ) } function L ( a ) { return "variable" == a ? ( Ga . marked = "property" , o ( ) ) : void 0 } function M ( a , b ) { return "async" == a ? o ( M ) : "variable" == a || "keyword" == Ga . style ? ( Ga . marked = "property" , o ( "get" == b || "set" == b ? N : O ) ) : "number" == a || "string" == a ? ( Ga . marked = xa ? "property" : Ga . style + " property" , o ( O ) ) : "jsonld-keyword" == a ? o ( O ) : "[" == a ? o ( w , u ( "]" ) , O ) : void 0 } function N ( a ) { return "variable" != a ? n ( O ) : ( Ga . marked = "property" , o ( ea ) ) } function O ( a ) { return ":" == a ? o ( x ) : "(" == a ? n ( ea ) : void 0 } function P ( a , b ) { function c ( d ) { if ( "," == d ) { var e = Ga . state . lexical ; return "call" == e . info && ( e . pos = ( e . pos || 0 ) + 1 ) , o ( a , c ) } return d == b ? o ( ) : o ( u ( b ) ) } return function ( d ) { return d == b ? o ( ) : n ( a , c ) } } function Q ( a , b , c ) { for ( var d = 3 ; d < arguments . length ; d ++ ) Ga . cc . push ( arguments [ d ] ) ; return o ( s ( b , c ) , P ( a , b ) , t ) } function R ( a ) { return "}" == a ? o ( ) : n ( v , R ) } function S ( a ) { return za && ":" == a ? o ( U ) : void 0 } function T ( a , b ) { return "=" == b ? o ( x ) : void 0 } function U ( a ) { return "variable" == a ? ( Ga . marked = "variable-3" , o ( ) ) : void 0 } function V ( ) { return n ( W , S , Y , Z ) } function W ( a , b ) { return "variable" == a ? ( p ( b ) , o ( ) ) : "spread" == a ? o ( W ) : "[" == a ? Q ( W , "]" ) : "{" == a ? Q ( X , "}" ) : void 0 } function X ( a , b ) { return "variable" != a || Ga . stream . match ( / ^ \ s * :
} , hu : { months : [ "Január" , "Február" , "Március" , "Április" , "Május" , "Június" , "Július" , "Augusztus" , "Szeptember" , "Október" , "November" , "December" ] , dayOfWeek : [ "Va" , "Hé" , "Ke" , "Sze" , "Cs" , "Pé" , "Szo" ] } } , value : "" , lang : "en" , format : "Y/m/d H:i" , formatTime : "H:i" , formatDate : "Y/m/d" , startDate : ! 1 , step : 60 , monthChangeSpinner : ! 0 , closeOnDateSelect : ! 1 , closeOnWithoutClick : ! 0 , closeOnInputClick : ! 0 , timepicker : ! 0 , datepicker : ! 0 , weeks : ! 1 , defaultTime : ! 1 , defaultDate : ! 1 , minDate : ! 1 , maxDate : ! 1 , minTime : ! 1 , maxTime : ! 1 , allowTimes : [ ] , opened : ! 1 , initTime : ! 0 , inline : ! 1 , theme : "" , onSelectDate : function ( ) { } , onSelectTime : function ( ) { } , onChangeMonth : function ( ) { } , onChangeYear : function ( ) { } , onChangeDateTime : function ( ) { } , onShow : function ( ) { } , onClose : function ( ) { } , onGenerate : function ( ) { } , withoutCopyright : ! 0 , inverseButton : ! 1 , hours12 : ! 1 , next : "xdsoft_next" , prev : "xdsoft_prev" , dayOfWeekStart : 0 , parentID : "body" , timeHeightInTimePicker : 25 , timepickerScrollbar : ! 0 , todayButton : ! 0 , defaultSelect : ! 0 , scrollMonth : ! 0 , scrollTime : ! 0 , scrollInput : ! 0 , lazyInit : ! 1 , mask : ! 1 , validateOnBlur : ! 0 , allowBlank : ! 0 , yearStart : 1950 , yearEnd : 2050 , style : "" , id : "" , fixed : ! 1 , roundTime : "round" , className : "" , weekends : [ ] , disabledDates : [ ] , yearOffset : 0 , beforeShowDay : null , enterLikeTab : ! 0 } ; Array . prototype . indexOf || ( Array . prototype . indexOf = function ( a , b ) { var c , d ; for ( c = b || 0 , d = this . length ; d > c ; c += 1 ) if ( this [ c ] === a ) return c ; return - 1 } ) , Date . prototype . countDaysInMonth = function ( ) { return new Date ( this . getFullYear ( ) , this . getMonth ( ) + 1 , 0 ) . getDate ( ) } , a . fn . xdsoftScroller = function ( b ) { return this . each ( function ( ) { var c , d , e , f , g , h = a ( this ) , i = function ( a ) { var b , c = { x : 0 , y : 0 } ; return "touchstart" === a . type || "touchmove" === a . type || "touchend" === a . type || "touchcancel" === a . type ? ( b = a . originalEvent . touches [ 0 ] || a . originalEvent . changedTouches [ 0 ] , c . x = b . clientX , c . y = b . clientY ) : ( "mousedown" === a . type || "mouseup" === a . type || "mousemove" === a . type || "mouseover" === a . type || "mouseout" === a . type || "mouseenter" === a . type || "mouseleave" === a . type ) && ( c . x = a . clientX , c . y = a . clientY ) , c } , j = 100 , k = ! 1 , l = 0 , m = 0 , n = 0 , o = ! 1 , p = 0 , q = function ( ) { } ; return "hide" === b ? void h . find ( ".xdsoft_scrollbar" ) . hide ( ) : ( a ( this ) . hasClass ( "xdsoft_scroller_box" ) || ( c = h . children ( ) . eq ( 0 ) , d = h [ 0 ] . clientHeight , e = c [ 0 ] . offsetHeight , f = a ( '<div class="xdsoft_scrollbar"></div>' ) , g = a ( '<div class="xdsoft_scroller"></div>' ) , f . append ( g ) , h . addClass ( "xdsoft_scroller_box" ) . append ( f ) , q = function ( a ) { var b = i ( a ) . y - l + p ; 0 > b && ( b = 0 ) , b + g [ 0 ] . offsetHeight > n && ( b = n - g [ 0 ] . offsetHeight ) , h . trigger ( "scroll_element.xdsoft_scroller" , [ j ? b / j : 0 ] ) } , g . on ( "touchstart.xdsoft_scroller mousedown.xdsoft_scroller" , function ( c ) { d || h . trigger ( "resize_scroll.xdsoft_scroller" , [ b ] ) , l = i ( c ) . y , p = parseInt ( g . css ( "margin-top" ) , 10 ) , n = f [ 0 ] . offsetHeight , "mousedown" === c . type ? ( document && a ( document . body ) . addClass ( "xdsoft_noselect" ) , a ( [ document . body , window ] ) . on ( "mouseup.xdsoft_scroller" , function e ( ) { a ( [ document . body , window ] ) . off ( "mouseup.xdsoft_scroller" , e ) . off ( "mousemove.xdsoft_scroller" , q ) . removeClass ( "xdsoft_noselect" ) } ) , a ( document . body ) . on ( "mousemove.xdsoft_scroller" , q ) ) : ( o = ! 0 , c . stopPropagation ( ) , c . preventDefault ( ) ) } ) . on ( "touchmove" , function ( a ) { o && ( a . preventDefault ( ) , q ( a ) ) } ) . on ( "touchend touchcancel" , function ( a ) { o = ! 1 , p = 0 } ) , h . on ( "scroll_element.xdsoft_scroller" , function ( a , b ) { d || h . trigger ( "resize_scroll.xdsoft_scroller" , [ b , ! 0 ] ) , b = b > 1 ? 1 : 0 > b || isNaN ( b ) ? 0 : b , g . css ( "margin-top" , j * b ) , setTimeout ( function ( ) { c . css ( "marginTop" , - parseInt ( ( c [ 0 ] . offsetHeight - d ) * b , 10 ) ) } , 10 ) } ) . on ( "resize_scroll.xdsoft_scroller" , function ( a , b , i ) { var k , l ; d = h [ 0 ] . clientHeight , e = c [ 0 ] . offsetHeight , k = d / e , l = k * f [ 0 ] . offsetHeight , k > 1 ? g . hide ( ) : ( g . show ( ) , g . css ( "height" , parseInt ( l > 10 ? l : 10 , 10 ) ) , j = f [ 0 ] . offsetHeight - g [ 0 ] . offsetHeight , i !== ! 0 && h . trigger ( "scroll_element.xdsoft_scroller" , [ b || Math . abs ( parseInt ( c . css ( "marginTop" ) , 10 ) ) / ( e - d ) ] ) ) } ) , h . on ( "mousewheel" , function ( a ) { var b = Math . abs ( parseInt ( c . css ( "marginTop" ) , 10 ) ) ; return b -= 20 * a . deltaY , 0 > b && ( b = 0 ) , h . trigger ( "scroll_element.xdsoft_scroller" , [ b / ( e - d ) ] ) , a . stopPropagation ( ) , ! 1 } ) , h . on ( "touchstart" , function ( a ) { k = i ( a ) , m = Math . abs ( parseInt ( c . css ( "marginTop" ) , 10 ) ) } ) , h . on ( "touchmove" , function ( a ) { if ( k ) { a . preventDefault ( ) ; var b = i ( a ) ; h . trigger ( "scroll_element.xdsoft_scroller" , [ ( m - ( b . y - k . y ) ) / ( e - d ) ] ) } } ) , h . on (
case "H" : return { g : 1 , c : "h = parseInt(results[" + b + "], 10);\n" , s : "(\\d{1,2})" } ; case "i" : return { g : 1 , c : "i = parseInt(results[" + b + "], 10);\n" , s : "(\\d{2})" } ; case "s" : return { g : 1 , c : "s = parseInt(results[" + b + "], 10);\n" , s : "(\\d{2})" } ; case "O" : return { g : 0 , c : null , s : "[+-]\\d{4}" } ; case "T" : return { g : 0 , c : null , s : "[A-Z]{3}" } ; case "Z" : return { g : 0 , c : null , s : "[+-]\\d{1,5}" } ; default : return { g : 0 , c : null , s : String . escape ( a ) } } } , Date . prototype . getTimezone = function ( ) { return this . toString ( ) . replace ( /^.*? ([A-Z]{3}) [0-9]{4}.*$/ , "$1" ) . replace ( /^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/ , "$1$2$3" ) } , Date . prototype . getGMTOffset = function ( ) { return ( this . getTimezoneOffset ( ) > 0 ? "-" : "+" ) + String . leftPad ( Math . floor ( Math . abs ( this . getTimezoneOffset ( ) ) / 60 ) , 2 , "0" ) + String . leftPad ( Math . abs ( this . getTimezoneOffset ( ) ) % 60 , 2 , "0" ) } , Date . prototype . getDayOfYear = function ( ) { var a = 0 ; Date . daysInMonth [ 1 ] = this . isLeapYear ( ) ? 29 : 28 ; for ( var b = 0 ; b < this . getMonth ( ) ; ++ b ) a += Date . daysInMonth [ b ] ; return a + this . getDate ( ) } , Date . prototype . getWeekOfYear = function ( ) { var a = this . getDayOfYear ( ) + ( 4 - this . getDay ( ) ) , b = new Date ( this . getFullYear ( ) , 0 , 1 ) , c = 7 - b . getDay ( ) + 4 ; return String . leftPad ( Math . ceil ( ( a - c ) / 7 ) + 1 , 2 , "0" ) } , Date . prototype . isLeapYear = function ( ) { var a = this . getFullYear ( ) ; return 0 == ( 3 & a ) && ( a % 100 || a % 400 == 0 && a ) } , Date . prototype . getFirstDayOfMonth = function ( ) { var a = ( this . getDay ( ) - ( this . getDate ( ) - 1 ) ) % 7 ; return 0 > a ? a + 7 : a } , Date . prototype . getLastDayOfMonth = function ( ) { var a = ( this . getDay ( ) + ( Date . daysInMonth [ this . getMonth ( ) ] - this . getDate ( ) ) ) % 7 ; return 0 > a ? a + 7 : a } , Date . prototype . getDaysInMonth = function ( ) { return Date . daysInMonth [ 1 ] = this . isLeapYear ( ) ? 29 : 28 , Date . daysInMonth [ this . getMonth ( ) ] } , Date . prototype . getSuffix = function ( ) { switch ( this . getDate ( ) ) { case 1 : case 21 : case 31 : return "st" ; case 2 : case 22 : return "nd" ; case 3 : case 23 : return "rd" ; default : return "th" } } , String . escape = function ( a ) { return a . replace ( /('|\\)/g , "\\$1" ) } , String . leftPad = function ( a , b , c ) { var d = new String ( a ) ; for ( null == c && ( c = " " ) ; d . length < b ; ) d = c + d ; return d } , Date . daysInMonth = [ 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 ] , Date . monthNames = [ "January" , "February" , "March" , "April" , "May" , "June" , "July" , "August" , "September" , "October" , "November" , "December" ] , Date . dayNames = [ "Sunday" , "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" , "Saturday" ] , Date . y2kYear = 50 , Date . monthNumbers = { Jan : 0 , Feb : 1 , Mar : 2 , Apr : 3 , May : 4 , Jun : 5 , Jul : 6 , Aug : 7 , Sep : 8 , Oct : 9 , Nov : 10 , Dec : 11 } , Date . patterns = { ISO8601LongPattern : "Y-m-d H:i:s" , ISO8601ShortPattern : "Y-m-d" , ShortDatePattern : "n/j/Y" , LongDatePattern : "l, F d, Y" , FullDateTimePattern : "l, F d, Y g:i:s A" , MonthDayPattern : "F d" , ShortTimePattern : "g:i A" , LongTimePattern : "g:i:s A" , SortableDateTimePattern : "Y-m-d\\TH:i:s" , UniversalSortableDateTimePattern : "Y-m-d H:i:sO" , YearMonthPattern : "F, Y" } } ( ) ;