/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */
! 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 ) { var c = [ ] , d = c . slice , e = c . concat , f = c . push , g = c . indexOf , h = { } , i = h . toString , j = h . hasOwnProperty , k = { } , l = "1.11.3" , m = function ( a , b ) { return new m . fn . init ( a , b ) } , n = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g , o = /^-ms-/ , p = /-([\da-z])/gi , q = function ( a , b ) { return b . toUpperCase ( ) } ; m . fn = m . prototype = { jquery : l , constructor : m , selector : "" , length : 0 , toArray : function ( ) { return d . call ( this ) } , get : function ( a ) { return null != a ? 0 > a ? this [ a + this . length ] : this [ a ] : d . call ( this ) } , pushStack : function ( a ) { var b = m . merge ( this . constructor ( ) , a ) ; return b . prevObject = this , b . context = this . context , b } , each : function ( a , b ) { return m . each ( this , a , b ) } , map : function ( a ) { return this . pushStack ( m . map ( this , function ( b , c ) { return a . call ( b , c , b ) } ) ) } , slice : function ( ) { return this . pushStack ( d . apply ( this , arguments ) ) } , first : function ( ) { return this . eq ( 0 ) } , last : function ( ) { return this . eq ( - 1 ) } , eq : function ( a ) { var b = this . length , c = + a + ( 0 > a ? b : 0 ) ; return this . pushStack ( c >= 0 && b > c ? [ this [ c ] ] : [ ] ) } , end : function ( ) { return this . prevObject || this . constructor ( null ) } , push : f , sort : c . sort , splice : c . splice } , m . extend = m . fn . extend = function ( ) { var a , b , c , d , e , f , g = arguments [ 0 ] || { } , h = 1 , i = arguments . length , j = ! 1 ; for ( "boolean" == typeof g && ( j = g , g = arguments [ h ] || { } , h ++ ) , "object" == typeof g || m . isFunction ( g ) || ( g = { } ) , h === i && ( g = this , h -- ) ; i > h ; h ++ ) if ( null != ( e = arguments [ h ] ) ) for ( d in e ) a = g [ d ] , c = e [ d ] , g !== c && ( j && c && ( m . isPlainObject ( c ) || ( b = m . isArray ( c ) ) ) ? ( b ? ( b = ! 1 , f = a && m . isArray ( a ) ? a : [ ] ) : f = a && m . isPlainObject ( a ) ? a : { } , g [ d ] = m . extend ( j , f , c ) ) : void 0 !== c && ( g [ d ] = c ) ) ; return g } , m . extend ( { expando : "jQuery" + ( l + Math . random ( ) ) . replace ( /\D/g , "" ) , isReady : ! 0 , error : function ( a ) { throw new Error ( a ) } , noop : function ( ) { } , isFunction : function ( a ) { return "function" === m . type ( a ) } , isArray : Array . isArray || function ( a ) { return "array" === m . type ( a ) } , isWindow : function ( a ) { return null != a && a == a . window } , isNumeric : function ( a ) { return ! m . isArray ( a ) && a - parseFloat ( a ) + 1 >= 0 } , isEmptyObject : function ( a ) { var b ; for ( b in a ) return ! 1 ; return ! 0 } , isPlainObject : function ( a ) { var b ; if ( ! a || "object" !== m . type ( a ) || a . nodeType || m . isWindow ( a ) ) return ! 1 ; try { if ( a . constructor && ! j . call ( a , "constructor" ) && ! j . call ( a . constructor . prototype , "isPrototypeOf" ) ) return ! 1 } catch ( c ) { return ! 1 } if ( k . ownLast ) for ( b in a ) return j . call ( a , b ) ; for ( b in a ) ; return void 0 === b || j . call ( a , b ) } , type : function ( a ) { return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? h [ i . call ( a ) ] || "object" : typeof a } , globalEval : function ( b ) { b && m . trim ( b ) && ( a . execScript || function ( b ) { a . eval . call ( a , b ) } ) ( b ) } , camelCase : function ( a ) { return a . replace ( o , "ms-" ) . replace ( p , q ) } , nodeName : function ( a , b ) { return a . nodeName && a . nodeName . toLowerCase ( ) === b . toLowerCase ( ) } , each : function ( a , b , c ) { var d , e = 0 , f = a . length , g = r ( a ) ; if ( c ) { if ( g ) { for ( ; f > e ; e ++ ) if ( d = b . apply ( a [ e ] , c ) , d === ! 1 ) break } else for ( e in a ) if ( d = b . apply ( a [ e ] , c ) , d === ! 1 ) break } else if ( g ) { for ( ; f > e ; e ++ ) if ( d = b . call ( a [ e ] , e , a [ e ] ) , d === ! 1 ) break } else for ( e in a ) if ( d = b . call ( a [ e ] , e , a [ e ] ) , d === ! 1 ) break ; return a } , trim : function ( a ) { return null == a ? "" : ( a + "" ) . replace ( n , "" ) } , makeArray : function ( a , b ) { var c = b || [ ] ; return null != a && ( r ( Object ( a ) ) ? m . merge ( c , "string" == typeof a ? [ a ] : a ) : f . call ( c , a ) ) , c } , inArray : function ( a , b , c ) { var d ; if ( b ) { if ( g ) return g . call ( b , a , c ) ; for ( d = b . length , c = c ? 0 > c ? Math . max ( 0 , d + c ) : c : 0 ; d > c ; c ++ ) if ( c in b && b [ c ] === a ) return c } return - 1 } , merge : function ( a , b ) { var c = + b . length , d = 0 , e = a . length ; while ( c > d ) a [ e ++ ] = b [ d ++ ] ; if ( c !== c ) while ( void 0 !== b [ d ] ) a [ e ++ ] = b [ d ++ ] ; return a . length = e , a } , grep : function ( a , b , c ) { for ( var d , e = [ ] , f = 0 , g = a . length , h = ! c ; g > f ; f ++ ) d = ! b ( a [ f ] , f ) , d !== h && e . push ( a [ f ] ) ; return e } , map : function ( a , b , c ) { var d , f = 0 , g = a . length , h = r ( a ) , i = [ ] ; if ( h ) for ( ; g > f ; f ++ ) d = b ( a [ f ] , f , c ) , null != d && i . push ( d ) ; else for ( f in a ) d = b ( a [ f ] , f , c ) , null != d && i . push ( d ) ; return e . apply ( [ ] , i ) } , guid : 1 , proxy : function ( a , b ) { var c , e , f ; return "string" == typeof b && ( f = a [ b ] , b = a , a = f ) , m . isFunction ( a ) ? ( c = d . call ( arguments , 2 ) , e = function ( ) { return a . apply ( b || this , c . concat ( d . call ( arguments ) ) ) } , e . guid = a . guid = a . guid || m . guid ++ , e ) : void 0 } , now : function ( ) { return + new Date } , support : k } ) , m . each (
return ! 0 } function Q ( a , b , d , e ) { if ( m . acceptData ( a ) ) { var f , g , h = m . expando , i = a . nodeType , j = i ? m . cache : a , k = i ? a [ h ] : a [ h ] && h ; if ( k && j [ k ] && ( e || j [ k ] . data ) || void 0 !== d || "string" != typeof b ) return k || ( k = i ? a [ h ] = c . pop ( ) || m . guid ++ : h ) , j [ k ] || ( j [ k ] = i ? { } : { toJSON : m . noop } ) , ( "object" == typeof b || "function" == typeof b ) && ( e ? j [ k ] = m . extend ( j [ k ] , b ) : j [ k ] . data = m . extend ( j [ k ] . data , b ) ) , g = j [ k ] , e || ( g . data || ( g . data = { } ) , g = g . data ) , void 0 !== d && ( g [ m . camelCase ( b ) ] = d ) , "string" == typeof b ? ( f = g [ b ] , null == f && ( f = g [ m . camelCase ( b ) ] ) ) : f = g , f } } function R ( a , b , c ) { if ( m . acceptData ( a ) ) { var d , e , f = a . nodeType , g = f ? m . cache : a , h = f ? a [ m . expando ] : m . expando ; if ( g [ h ] ) { if ( b && ( d = c ? g [ h ] : g [ h ] . data ) ) { m . isArray ( b ) ? b = b . concat ( m . map ( b , m . camelCase ) ) : b in d ? b = [ b ] : ( b = m . camelCase ( b ) , b = b in d ? [ b ] : b . split ( " " ) ) , e = b . length ; while ( e -- ) delete d [ b [ e ] ] ; if ( c ? ! P ( d ) : ! m . isEmptyObject ( d ) ) return } ( c || ( delete g [ h ] . data , P ( g [ h ] ) ) ) && ( f ? m . cleanData ( [ a ] , ! 0 ) : k . deleteExpando || g != g . window ? delete g [ h ] : g [ h ] = null ) } } } m . extend ( { cache : { } , noData : { "applet " : ! 0 , "embed " : ! 0 , "object " : "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" } , hasData : function ( a ) { return a = a . nodeType ? m . cache [ a [ m . expando ] ] : a [ m . expando ] , ! ! a && ! P ( a ) } , data : function ( a , b , c ) { return Q ( a , b , c ) } , removeData : function ( a , b ) { return R ( a , b ) } , _data : function ( a , b , c ) { return Q ( a , b , c , ! 0 ) } , _removeData : function ( a , b ) { return R ( a , b , ! 0 ) } } ) , m . fn . extend ( { data : function ( a , b ) { var c , d , e , f = this [ 0 ] , g = f && f . attributes ; if ( void 0 === a ) { if ( this . length && ( e = m . data ( f ) , 1 === f . nodeType && ! m . _data ( f , "parsedAttrs" ) ) ) { c = g . length ; while ( c -- ) g [ c ] && ( d = g [ c ] . name , 0 === d . indexOf ( "data-" ) && ( d = m . camelCase ( d . slice ( 5 ) ) , O ( f , d , e [ d ] ) ) ) ; m . _data ( f , "parsedAttrs" , ! 0 ) } return e } return "object" == typeof a ? this . each ( function ( ) { m . data ( this , a ) } ) : arguments . length > 1 ? this . each ( function ( ) { m . data ( this , a , b ) } ) : f ? O ( f , a , m . data ( f , a ) ) : void 0 } , removeData : function ( a ) { return this . each ( function ( ) { m . removeData ( this , a ) } ) } } ) , m . extend ( { queue : function ( a , b , c ) { var d ; return a ? ( b = ( b || "fx" ) + "queue" , d = m . _data ( a , b ) , c && ( ! d || m . isArray ( c ) ? d = m . _data ( a , b , m . makeArray ( c ) ) : d . push ( c ) ) , d || [ ] ) : void 0 } , dequeue : function ( a , b ) { b = b || "fx" ; var c = m . queue ( a , b ) , d = c . length , e = c . shift ( ) , f = m . _queueHooks ( a , b ) , g = function ( ) { m . dequeue ( a , b ) } ; "inprogress" === e && ( e = c . shift ( ) , d -- ) , e && ( "fx" === b && c . unshift ( "inprogress" ) , delete f . stop , e . call ( a , g , f ) ) , ! d && f && f . empty . fire ( ) } , _queueHooks : function ( a , b ) { var c = b + "queueHooks" ; return m . _data ( a , c ) || m . _data ( a , c , { empty : m . Callbacks ( "once memory" ) . add ( function ( ) { m . _removeData ( a , b + "queue" ) , m . _removeData ( a , c ) } ) } ) } } ) , m . fn . extend ( { queue : function ( a , b ) { var c = 2 ; return "string" != typeof a && ( b = a , a = "fx" , c -- ) , arguments . length < c ? m . queue ( this [ 0 ] , a ) : void 0 === b ? this : this . each ( function ( ) { var c = m . queue ( this , a , b ) ; m . _queueHooks ( this , a ) , "fx" === a && "inprogress" !== c [ 0 ] && m . dequeue ( this , a ) } ) } , dequeue : function ( a ) { return this . each ( function ( ) { m . dequeue ( this , a ) } ) } , clearQueue : function ( a ) { return this . queue ( a || "fx" , [ ] ) } , promise : function ( a , b ) { var c , d = 1 , e = m . Deferred ( ) , f = this , g = this . length , h = function ( ) { -- d || e . resolveWith ( f , [ f ] ) } ; "string" != typeof a && ( b = a , a = void 0 ) , a = a || "fx" ; while ( g -- ) c = m . _data ( f [ g ] , a + "queueHooks" ) , c && c . empty && ( d ++ , c . empty . add ( h ) ) ; return h ( ) , e . promise ( b ) } } ) ; var S = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ . source , T = [ "Top" , "Right" , "Bottom" , "Left" ] , U = function ( a , b ) { return a = b || a , "none" === m . css ( a , "display" ) || ! m . contains ( a . ownerDocument , a ) } , V = m . access = function ( a , b , c , d , e , f , g ) { var h = 0 , i = a . length , j = null == c ; if ( "object" === m . type ( c ) ) { e = ! 0 ; for ( h in c ) m . access ( a , b , h , c [ h ] , ! 0 , f , g ) } else if ( void 0 !== d && ( e = ! 0 , m . isFunction ( d ) || ( g = ! 0 ) , j && ( g ? ( b . call ( a , d ) , b = null ) : ( j = b , b = function ( a , b , c ) { return j . call ( m ( a ) , c ) } ) ) , b ) ) for ( ; i > h ; h ++ ) b ( a [ h ] , c , g ? d : d . call ( a [ h ] , h , b ( a [ h ] , c ) ) ) ; return e ? a : j ? b . call ( a ) : i ? b ( a [ 0 ] , c ) : f } , W = /^(?:checkbox|radio)$/i ; ! function ( ) { var a = y . createElement ( "input" ) , b = y . createElement ( "div" ) , c = y . createDocumentFragment ( ) ; if ( b . innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>" , k . leadingWhitespace = 3 === b . firstChild . nodeType , k . tbody = ! b . getElementsByTagName ( "tbody" ) . length , k . htmlSerialize = ! ! b . getElementsByTagName ( "link" ) . length , k . html5Clone = "<:nav></:nav>" !== y . createElement ( "nav" ) . cloneNode ( ! 0 ) . outerHTML , a . type = "checkbox" , a . checked = ! 0 , c . appendChild ( a ) , k . appendChecked = a . checked , b . innerHTML = " < textarea > x < / t e x
return new Za . prototype . init ( a , b , c , d , e ) } m . Tween = Za , Za . prototype = { constructor : Za , init : function ( a , b , c , d , e , f ) { this . elem = a , this . prop = c , this . easing = e || "swing" , this . options = b , this . start = this . now = this . cur ( ) , this . end = d , this . unit = f || ( m . cssNumber [ c ] ? "" : "px" ) } , cur : function ( ) { var a = Za . propHooks [ this . prop ] ; return a && a . get ? a . get ( this ) : Za . propHooks . _default . get ( this ) } , run : function ( a ) { var b , c = Za . propHooks [ this . prop ] ; return this . options . duration ? this . pos = b = m . easing [ this . easing ] ( a , this . options . duration * a , 0 , 1 , this . options . duration ) : this . pos = b = a , this . now = ( this . end - this . start ) * b + this . start , this . options . step && this . options . step . call ( this . elem , this . now , this ) , c && c . set ? c . set ( this ) : Za . propHooks . _default . set ( this ) , this } } , Za . prototype . init . prototype = Za . prototype , Za . propHooks = { _default : { get : function ( a ) { var b ; return null == a . elem [ a . prop ] || a . elem . style && null != a . elem . style [ a . prop ] ? ( b = m . css ( a . elem , a . prop , "" ) , b && "auto" !== b ? b : 0 ) : a . elem [ a . prop ] } , set : function ( a ) { m . fx . step [ a . prop ] ? m . fx . step [ a . prop ] ( a ) : a . elem . style && ( null != a . elem . style [ m . cssProps [ a . prop ] ] || m . cssHooks [ a . prop ] ) ? m . style ( a . elem , a . prop , a . now + a . unit ) : a . elem [ a . prop ] = a . now } } } , Za . propHooks . scrollTop = Za . propHooks . scrollLeft = { set : function ( a ) { a . elem . nodeType && a . elem . parentNode && ( a . elem [ a . prop ] = a . now ) } } , m . easing = { linear : function ( a ) { return a } , swing : function ( a ) { return . 5 - Math . cos ( a * Math . PI ) / 2 } } , m . fx = Za . prototype . init , m . fx . step = { } ; var $a , _a , ab = /^(?:toggle|show|hide)$/ , bb = new RegExp ( "^(?:([+-])=|)(" + S + ")([a-z%]*)$" , "i" ) , cb = /queueHooks$/ , db = [ ib ] , eb = { "*" : [ function ( a , b ) { var c = this . createTween ( a , b ) , d = c . cur ( ) , e = bb . exec ( b ) , f = e && e [ 3 ] || ( m . cssNumber [ a ] ? "" : "px" ) , g = ( m . cssNumber [ a ] || "px" !== f && + d ) && bb . exec ( m . css ( c . elem , a ) ) , h = 1 , i = 20 ; if ( g && g [ 3 ] !== f ) { f = f || g [ 3 ] , e = e || [ ] , g = + d || 1 ; do h = h || ".5" , g /= h , m . style ( c . elem , a , g + f ) ; while ( h !== ( h = c . cur ( ) / d ) && 1 !== h && -- i ) } return e && ( g = c . start = + g || + d || 0 , c . unit = f , c . end = e [ 1 ] ? g + ( e [ 1 ] + 1 ) * e [ 2 ] : + e [ 2 ] ) , c } ] } ; function fb ( ) { return setTimeout ( function ( ) { $a = void 0 } ) , $a = m . now ( ) } function gb ( a , b ) { var c , d = { height : a } , e = 0 ; for ( b = b ? 1 : 0 ; 4 > e ; e += 2 - b ) c = T [ e ] , d [ "margin" + c ] = d [ "padding" + c ] = a ; return b && ( d . opacity = d . width = a ) , d } function hb ( a , b , c ) { for ( var d , e = ( eb [ b ] || [ ] ) . concat ( eb [ "*" ] ) , f = 0 , g = e . length ; g > f ; f ++ ) if ( d = e [ f ] . call ( c , b , a ) ) return d } function ib ( a , b , c ) { var d , e , f , g , h , i , j , l , n = this , o = { } , p = a . style , q = a . nodeType && U ( a ) , r = m . _data ( a , "fxshow" ) ; c . queue || ( h = m . _queueHooks ( a , "fx" ) , null == h . unqueued && ( h . unqueued = 0 , i = h . empty . fire , h . empty . fire = function ( ) { h . unqueued || i ( ) } ) , h . unqueued ++ , n . always ( function ( ) { n . always ( function ( ) { h . unqueued -- , m . queue ( a , "fx" ) . length || h . empty . fire ( ) } ) } ) ) , 1 === a . nodeType && ( "height" in b || "width" in b ) && ( c . overflow = [ p . overflow , p . overflowX , p . overflowY ] , j = m . css ( a , "display" ) , l = "none" === j ? m . _data ( a , "olddisplay" ) || Fa ( a . nodeName ) : j , "inline" === l && "none" === m . css ( a , "float" ) && ( k . inlineBlockNeedsLayout && "inline" !== Fa ( a . nodeName ) ? p . zoom = 1 : p . display = "inline-block" ) ) , c . overflow && ( p . overflow = "hidden" , k . shrinkWrapBlocks ( ) || n . always ( function ( ) { p . overflow = c . overflow [ 0 ] , p . overflowX = c . overflow [ 1 ] , p . overflowY = c . overflow [ 2 ] } ) ) ; for ( d in b ) if ( e = b [ d ] , ab . exec ( e ) ) { if ( delete b [ d ] , f = f || "toggle" === e , e === ( q ? "hide" : "show" ) ) { if ( "show" !== e || ! r || void 0 === r [ d ] ) continue ; q = ! 0 } o [ d ] = r && r [ d ] || m . style ( a , d ) } else j = void 0 ; if ( m . isEmptyObject ( o ) ) "inline" === ( "none" === j ? Fa ( a . nodeName ) : j ) && ( p . display = j ) ; else { r ? "hidden" in r && ( q = r . hidden ) : r = m . _data ( a , "fxshow" , { } ) , f && ( r . hidden = ! q ) , q ? m ( a ) . show ( ) : n . done ( function ( ) { m ( a ) . hide ( ) } ) , n . done ( function ( ) { var b ; m . _removeData ( a , "fxshow" ) ; for ( b in o ) m . style ( a , b , o [ b ] ) } ) ; for ( d in o ) g = hb ( q ? r [ d ] : 0 , d , n ) , d in r || ( r [ d ] = g . start , q && ( g . end = g . start , g . start = "width" === d || "height" === d ? 1 : 0 ) ) } } function jb ( a , b ) { var c , d , e , f , g ; for ( c in a ) if ( d = m . camelCase ( c ) , e = b [ d ] , f = a [ c ] , m . isArray ( f ) && ( e = f [ 1 ] , f = a [ c ] = f [ 0 ] ) , c !== d && ( a [ d ] = f , delete a [ c ] ) , g = m . cssHooks [ d ] , g && "expand" in g ) { f = g . expand ( f ) , delete a [ d ] ; for ( c in f ) c in a || ( a [ c ] = f [ c ] , b [ c ] = e ) } else b [ d ] = e } function kb ( a , b , c ) { var d , e , f = 0 , g = db . length , h = m . Deferred ( ) . always ( function ( ) { delete i . elem } ) , i = function ( ) { if ( e ) return ! 1 ; for ( var b = $a || fb ( ) , c = Math . max ( 0 , j . startTime + j . duration - b ) , d = c / j . duration || 0 , f = 1 - d , g = 0 , i = j . tweens . length ; i > g ; g ++ ) j . tweens [ g ] . run ( f ) ; return h . notifyWith ( a , [ j , f , c ] ) , 1 > f && i ? c : ( h . resolveWith ( a , [ j ] ) , ! 1 ) } , j = h
//
/ * !
* Bootstrap v3 . 3.1 ( http : //getbootstrap.com)
* Copyright 2011 - 2014 Twitter , Inc .
* Licensed under MIT ( https : //github.com/twbs/bootstrap/blob/master/LICENSE)
* /
/ * !
* Generated using the Bootstrap Customizer ( http : //getbootstrap.com/customize/?id=cf8e15f9354657212a08)
* Config saved to config . json and https : //gist.github.com/cf8e15f9354657212a08
* /
if ( "undefined" == typeof jQuery ) throw new Error ( "Bootstrap's JavaScript requires jQuery" ) ; + function ( t ) { var e = t . fn . jquery . split ( " " ) [ 0 ] . split ( "." ) ; if ( e [ 0 ] < 2 && e [ 1 ] < 9 || 1 == e [ 0 ] && 9 == e [ 1 ] && e [ 2 ] < 1 ) throw new Error ( "Bootstrap's JavaScript requires jQuery version 1.9.1 or higher" ) } ( jQuery ) , + function ( t ) { "use strict" ; function e ( e ) { return this . each ( function ( ) { var i = t ( this ) , s = i . data ( "bs.alert" ) ; s || i . data ( "bs.alert" , s = new o ( this ) ) , "string" == typeof e && s [ e ] . call ( i ) } ) } var i = '[data-dismiss="alert"]' , o = function ( e ) { t ( e ) . on ( "click" , i , this . close ) } ; o . VERSION = "3.3.1" , o . TRANSITION _DURATION = 150 , o . prototype . close = function ( e ) { function i ( ) { a . detach ( ) . trigger ( "closed.bs.alert" ) . remove ( ) } var s = t ( this ) , n = s . attr ( "data-target" ) ; n || ( n = s . attr ( "href" ) , n = n && n . replace ( /.*(?=#[^\s]*$)/ , "" ) ) ; var a = t ( n ) ; e && e . preventDefault ( ) , a . length || ( a = s . closest ( ".alert" ) ) , a . trigger ( e = t . Event ( "close.bs.alert" ) ) , e . isDefaultPrevented ( ) || ( a . removeClass ( "in" ) , t . support . transition && a . hasClass ( "fade" ) ? a . one ( "bsTransitionEnd" , i ) . emulateTransitionEnd ( o . TRANSITION _DURATION ) : i ( ) ) } ; var s = t . fn . alert ; t . fn . alert = e , t . fn . alert . Constructor = o , t . fn . alert . noConflict = function ( ) { return t . fn . alert = s , this } , t ( document ) . on ( "click.bs.alert.data-api" , i , o . prototype . close ) } ( jQuery ) , + function ( t ) { "use strict" ; function e ( e ) { return this . each ( function ( ) { var o = t ( this ) , s = o . data ( "bs.button" ) , n = "object" == typeof e && e ; s || o . data ( "bs.button" , s = new i ( this , n ) ) , "toggle" == e ? s . toggle ( ) : e && s . setState ( e ) } ) } var i = function ( e , o ) { this . $element = t ( e ) , this . options = t . extend ( { } , i . DEFAULTS , o ) , this . isLoading = ! 1 } ; i . VERSION = "3.3.1" , i . DEFAULTS = { loadingText : "loading..." } , i . prototype . setState = function ( e ) { var i = "disabled" , o = this . $element , s = o . is ( "input" ) ? "val" : "html" , n = o . data ( ) ; e += "Text" , null == n . resetText && o . data ( "resetText" , o [ s ] ( ) ) , setTimeout ( t . proxy ( function ( ) { o [ s ] ( null == n [ e ] ? this . options [ e ] : n [ e ] ) , "loadingText" == e ? ( this . isLoading = ! 0 , o . addClass ( i ) . attr ( i , i ) ) : this . isLoading && ( this . isLoading = ! 1 , o . removeClass ( i ) . removeAttr ( i ) ) } , this ) , 0 ) } , i . prototype . toggle = function ( ) { var t = ! 0 , e = this . $element . closest ( '[data-toggle="buttons"]' ) ; if ( e . length ) { var i = this . $element . find ( "input" ) ; "radio" == i . prop ( "type" ) && ( i . prop ( "checked" ) && this . $element . hasClass ( "active" ) ? t = ! 1 : e . find ( ".active" ) . removeClass ( "active" ) ) , t && i . prop ( "checked" , ! this . $element . hasClass ( "active" ) ) . trigger ( "change" ) } else this . $element . attr ( "aria-pressed" , ! this . $element . hasClass ( "active" ) ) ; t && this . $element . toggleClass ( "active" ) } ; var o = t . fn . button ; t . fn . button = e , t . fn . button . Constructor = i , t . fn . button . noConflict = function ( ) { return t . fn . button = o , this } , t ( document ) . on ( "click.bs.button.data-api" , '[data-toggle^="button"]' , function ( i ) { var o = t ( i . target ) ; o . hasClass ( "btn" ) || ( o = o . closest ( ".btn" ) ) , e . call ( o , "toggle" ) , i . preventDefault ( ) } ) . on ( "focus.bs.button.data-api blur.bs.button.data-api" , '[data-toggle^="button"]' , function ( e ) { t ( e . target ) . closest ( ".btn" ) . toggleClass ( "focus" , /^focus(in)?$/ . test ( e . type ) ) } ) } ( jQuery ) , + function ( t ) { "use strict" ; function e ( e ) { return this . each ( function ( ) { var o = t ( this ) , s = o . data ( "bs.carousel" ) , n = t . extend ( { } , i . DEFAULTS , o . data ( ) , "object" == typeof e && e ) , a = "string" == typeof e ? e : n . slide ; s || o . data ( "bs.carousel" , s = new i ( this , n ) ) , "number" == typeof e ? s . to ( e ) : a ? s [ a ] ( ) : n . interval && s . pause ( ) . cycle ( ) } ) } var i = function ( e , i ) { this . $element = t ( e ) , this . $indicators = this . $element . find ( ".carousel-indicators" ) , this . options = i , this . paused = this . sliding = this . interval = this . $active = this . $items = null , this . options . keyboard && this . $element . on ( "keydown.bs.carousel" , t . proxy ( this . keydown , this ) ) , "hover" == this . options . pause && ! ( "ontouchstart" in document . documentElement ) && this . $element . on ( "mouseenter.bs.carousel" , t . proxy ( this . pause , this ) ) . on ( "mouseleave.bs.carousel" , t . proxy ( this . cycle , this ) ) } ; i . VERSION = "3.3.1" , i . TRANSITION _DURATION = 600 , i . DEFAULTS = { interval : 5e3 , pause : "hover" , wrap : ! 0 , keyboard : ! 0 } , i . prototype . keydown = function ( t ) { if ( ! /input|textarea/i . test ( t . target . tagName ) ) { switch ( t . which ) { case 37 : this . prev ( ) ; break ; case 39 : this . next ( ) ; break ; default : return } t . preventDefault ( ) } } , i . prototype . cycle = function ( e ) { return e || ( this . paused = ! 1 ) , this . interval && clearInterval ( this . interval ) , this . options . interval && ! this . paused && ( this . interval = setInterval (
} , t ( document ) . on ( "click.bs.collapse.data-api" , '[data-toggle="collapse"]' , function ( o ) { var s = t ( this ) ; s . attr ( "data-target" ) || o . preventDefault ( ) ; var n = e ( s ) , a = n . data ( "bs.collapse" ) , r = a ? "toggle" : t . extend ( { } , s . data ( ) , { trigger : this } ) ; i . call ( n , r ) } ) } ( jQuery ) , + function ( t ) { "use strict" ; function e ( i , o ) { var s = t . proxy ( this . process , this ) ; this . $body = t ( "body" ) , this . $scrollElement = t ( t ( i ) . is ( "body" ) ? window : i ) , this . options = t . extend ( { } , e . DEFAULTS , o ) , this . selector = ( this . options . target || "" ) + " .nav li > a" , this . offsets = [ ] , this . targets = [ ] , this . activeTarget = null , this . scrollHeight = 0 , this . $scrollElement . on ( "scroll.bs.scrollspy" , s ) , this . refresh ( ) , this . process ( ) } function i ( i ) { return this . each ( function ( ) { var o = t ( this ) , s = o . data ( "bs.scrollspy" ) , n = "object" == typeof i && i ; s || o . data ( "bs.scrollspy" , s = new e ( this , n ) ) , "string" == typeof i && s [ i ] ( ) } ) } e . VERSION = "3.3.1" , e . DEFAULTS = { offset : 10 } , e . prototype . getScrollHeight = function ( ) { return this . $scrollElement [ 0 ] . scrollHeight || Math . max ( this . $body [ 0 ] . scrollHeight , document . documentElement . scrollHeight ) } , e . prototype . refresh = function ( ) { var e = "offset" , i = 0 ; t . isWindow ( this . $scrollElement [ 0 ] ) || ( e = "position" , i = this . $scrollElement . scrollTop ( ) ) , this . offsets = [ ] , this . targets = [ ] , this . scrollHeight = this . getScrollHeight ( ) ; var o = this ; this . $body . find ( this . selector ) . map ( function ( ) { var o = t ( this ) , s = o . data ( "target" ) || o . attr ( "href" ) , n = /^#./ . test ( s ) && t ( s ) ; return n && n . length && n . is ( ":visible" ) && [ [ n [ e ] ( ) . top + i , s ] ] || null } ) . sort ( function ( t , e ) { return t [ 0 ] - e [ 0 ] } ) . each ( function ( ) { o . offsets . push ( this [ 0 ] ) , o . targets . push ( this [ 1 ] ) } ) } , e . prototype . process = function ( ) { var t , e = this . $scrollElement . scrollTop ( ) + this . options . offset , i = this . getScrollHeight ( ) , o = this . options . offset + i - this . $scrollElement . height ( ) , s = this . offsets , n = this . targets , a = this . activeTarget ; if ( this . scrollHeight != i && this . refresh ( ) , e >= o ) return a != ( t = n [ n . length - 1 ] ) && this . activate ( t ) ; if ( a && e < s [ 0 ] ) return this . activeTarget = null , this . clear ( ) ; for ( t = s . length ; t -- ; ) a != n [ t ] && e >= s [ t ] && ( ! s [ t + 1 ] || e <= s [ t + 1 ] ) && this . activate ( n [ t ] ) } , e . prototype . activate = function ( e ) { this . activeTarget = e , this . clear ( ) ; var i = this . selector + '[data-target="' + e + '"],' + this . selector + '[href="' + e + '"]' , o = t ( i ) . parents ( "li" ) . addClass ( "active" ) ; o . parent ( ".dropdown-menu" ) . length && ( o = o . closest ( "li.dropdown" ) . addClass ( "active" ) ) , o . trigger ( "activate.bs.scrollspy" ) } , e . prototype . clear = function ( ) { t ( this . selector ) . parentsUntil ( this . options . target , ".active" ) . removeClass ( "active" ) } ; var o = t . fn . scrollspy ; t . fn . scrollspy = i , t . fn . scrollspy . Constructor = e , t . fn . scrollspy . noConflict = function ( ) { return t . fn . scrollspy = o , this } , t ( window ) . on ( "load.bs.scrollspy.data-api" , function ( ) { t ( '[data-spy="scroll"]' ) . each ( function ( ) { var e = t ( this ) ; i . call ( e , e . data ( ) ) } ) } ) } ( jQuery ) , + function ( t ) { "use strict" ; function e ( ) { var t = document . createElement ( "bootstrap" ) , e = { WebkitTransition : "webkitTransitionEnd" , MozTransition : "transitionend" , OTransition : "oTransitionEnd otransitionend" , transition : "transitionend" } ; for ( var i in e ) if ( void 0 !== t . style [ i ] ) return { end : e [ i ] } ; return ! 1 } t . fn . emulateTransitionEnd = function ( e ) { var i = ! 1 , o = this ; t ( this ) . one ( "bsTransitionEnd" , function ( ) { i = ! 0 } ) ; var s = function ( ) { i || t ( o ) . trigger ( t . support . transition . end ) } ; return setTimeout ( s , e ) , this } , t ( function ( ) { t . support . transition = e ( ) , t . support . transition && ( t . event . special . bsTransitionEnd = { bindType : t . support . transition . end , delegateType : t . support . transition . end , handle : function ( e ) { return t ( e . target ) . is ( this ) ? e . handleObj . handler . apply ( this , arguments ) : void 0 } } ) } ) } ( jQuery ) ;
/ *
AngularJS v1 . 2.28
( c ) 2010 - 2014 Google , Inc . http : //angularjs.org
License : MIT
* /
( function ( W , X , u ) { 'use strict' ; function z ( b ) { return function ( ) { var a = arguments [ 0 ] , c , a = "[" + ( b ? b + ":" : "" ) + a + "] http://errors.angularjs.org/1.2.28/" + ( b ? b + "/" : "" ) + a ; for ( c = 1 ; c < arguments . length ; c ++ ) a = a + ( 1 == c ? "?" : "&" ) + "p" + ( c - 1 ) + "=" + encodeURIComponent ( "function" == typeof arguments [ c ] ? arguments [ c ] . toString ( ) . replace ( / \{[\s\S]*$/ , "" ) : "undefined" == typeof arguments [ c ] ? "undefined" : "string" != typeof arguments [ c ] ? JSON . stringify ( arguments [ c ] ) : arguments [ c ] ) ; return Error ( a ) } } function Sa ( b ) { if ( null == b || Ja ( b ) ) return ! 1 ;
var a = b . length ; return 1 === b . nodeType && a ? ! 0 : G ( b ) || L ( b ) || 0 === a || "number" === typeof a && 0 < a && a - 1 in b } function r ( b , a , c ) { var d ; if ( b ) if ( N ( b ) ) for ( d in b ) "prototype" == d || ( "length" == d || "name" == d || b . hasOwnProperty && ! b . hasOwnProperty ( d ) ) || a . call ( c , b [ d ] , d ) ; else if ( L ( b ) || Sa ( b ) ) for ( d = 0 ; d < b . length ; d ++ ) a . call ( c , b [ d ] , d ) ; else if ( b . forEach && b . forEach !== r ) b . forEach ( a , c ) ; else for ( d in b ) b . hasOwnProperty ( d ) && a . call ( c , b [ d ] , d ) ; return b } function Xb ( b ) { var a = [ ] , c ; for ( c in b ) b . hasOwnProperty ( c ) && a . push ( c ) ; return a . sort ( ) } function Sc ( b ,
a , c ) { for ( var d = Xb ( b ) , e = 0 ; e < d . length ; e ++ ) a . call ( c , b [ d [ e ] ] , d [ e ] ) ; return d } function Yb ( b ) { return function ( a , c ) { b ( c , a ) } } function ib ( ) { for ( var b = na . length , a ; b ; ) { b -- ; a = na [ b ] . charCodeAt ( 0 ) ; if ( 57 == a ) return na [ b ] = "A" , na . join ( "" ) ; if ( 90 == a ) na [ b ] = "0" ; else return na [ b ] = String . fromCharCode ( a + 1 ) , na . join ( "" ) } na . unshift ( "0" ) ; return na . join ( "" ) } function Zb ( b , a ) { a ? b . $$hashKey = a : delete b . $$hashKey } function E ( b ) { var a = b . $$hashKey ; r ( arguments , function ( a ) { a !== b && r ( a , function ( a , c ) { b [ c ] = a } ) } ) ; Zb ( b , a ) ; return b } function U ( b ) { return parseInt ( b ,
10 ) } function $b ( b , a ) { return E ( new ( E ( function ( ) { } , { prototype : b } ) ) , a ) } function v ( ) { } function ga ( b ) { return b } function aa ( b ) { return function ( ) { return b } } function F ( b ) { return "undefined" === typeof b } function D ( b ) { return "undefined" !== typeof b } function T ( b ) { return null != b && "object" === typeof b } function G ( b ) { return "string" === typeof b } function jb ( b ) { return "number" === typeof b } function va ( b ) { return "[object Date]" === Ba . call ( b ) } function N ( b ) { return "function" === typeof b } function kb ( b ) { return "[object RegExp]" === Ba . call ( b ) }
function Ja ( b ) { return b && b . document && b . location && b . alert && b . setInterval } function Tc ( b ) { return ! ( ! b || ! ( b . nodeName || b . prop && b . attr && b . find ) ) } function Uc ( b , a , c ) { var d = [ ] ; r ( b , function ( b , f , g ) { d . push ( a . call ( c , b , f , g ) ) } ) ; return d } function Ta ( b , a ) { if ( b . indexOf ) return b . indexOf ( a ) ; for ( var c = 0 ; c < b . length ; c ++ ) if ( a === b [ c ] ) return c ; return - 1 } function Ua ( b , a ) { var c = Ta ( b , a ) ; 0 <= c && b . splice ( c , 1 ) ; return a } function Ka ( b , a , c , d ) { if ( Ja ( b ) || b && b . $evalAsync && b . $watch ) throw Va ( "cpws" ) ; if ( a ) { if ( b === a ) throw Va ( "cpi" ) ; c = c || [ ] ;
d = d || [ ] ; if ( T ( b ) ) { var e = Ta ( c , b ) ; if ( - 1 !== e ) return d [ e ] ; c . push ( b ) ; d . push ( a ) } if ( L ( b ) ) for ( var f = a . length = 0 ; f < b . length ; f ++ ) e = Ka ( b [ f ] , null , c , d ) , T ( b [ f ] ) && ( c . push ( b [ f ] ) , d . push ( e ) ) , a . push ( e ) ; else { var g = a . $$hashKey ; L ( a ) ? a . length = 0 : r ( a , function ( b , c ) { delete a [ c ] } ) ; for ( f in b ) e = Ka ( b [ f ] , null , c , d ) , T ( b [ f ] ) && ( c . push ( b [ f ] ) , d . push ( e ) ) , a [ f ] = e ; Zb ( a , g ) } } else if ( a = b ) L ( b ) ? a = Ka ( b , [ ] , c , d ) : va ( b ) ? a = new Date ( b . getTime ( ) ) : kb ( b ) ? ( a = RegExp ( b . source , b . toString ( ) . match ( /[^\/]*$/ ) [ 0 ] ) , a . lastIndex = b . lastIndex ) : T ( b ) && ( a = Ka ( b , { } , c , d ) ) ;
return a } function ha ( b , a ) { if ( L ( b ) ) { a = a || [ ] ; for ( var c = 0 ; c < b . length ; c ++ ) a [ c ] = b [ c ] } else if ( T ( b ) ) for ( c in a = a || { } , b ) ! lb . call ( b , c ) || "$" === c . charAt ( 0 ) && "$" === c . charAt ( 1 ) || ( a [ c ] = b [ c ] ) ; return a || b } function Ca ( b , a ) { if ( b === a ) return ! 0 ; if ( null === b || null === a ) return ! 1 ; if ( b !== b && a !== a ) return ! 0 ; var c = typeof b , d ; if ( c == typeof a && "object" == c ) if ( L ( b ) ) { if ( ! L ( a ) ) return ! 1 ; if ( ( c = b . length ) == a . length ) { for ( d = 0 ; d < c ; d ++ ) if ( ! Ca ( b [ d ] , a [ d ] ) ) return ! 1 ; return ! 0 } } else { if ( va ( b ) ) return va ( a ) ? isNaN ( b . getTime ( ) ) && isNaN ( a . getTime ( ) ) || b . getTime ( ) ===
a . getTime ( ) : ! 1 ; if ( kb ( b ) && kb ( a ) ) return b . toString ( ) == a . toString ( ) ; if ( b && b . $evalAsync && b . $watch || a && a . $evalAsync && a . $watch || Ja ( b ) || Ja ( a ) || L ( a ) ) return ! 1 ; c = { } ; for ( d in b ) if ( "$" !== d . charAt ( 0 ) && ! N ( b [ d ] ) ) { if ( ! Ca ( b [ d ] , a [ d ] ) ) return ! 1 ; c [ d ] = ! 0 } for ( d in a ) if ( ! c . hasOwnProperty ( d ) && "$" !== d . charAt ( 0 ) && a [ d ] !== u && ! N ( a [ d ] ) ) return ! 1 ; return ! 0 } return ! 1 } function Bb ( b , a ) { var c = 2 < arguments . length ? wa . call ( arguments , 2 ) : [ ] ; return ! N ( a ) || a instanceof RegExp ? a : c . length ? function ( ) { return arguments . length ? a . apply ( b , c . concat ( wa . call ( arguments ,
0 ) ) ) : a . apply ( b , c ) } : function ( ) { return arguments . length ? a . apply ( b , arguments ) : a . call ( b ) } } function Vc ( b , a ) { var c = a ; "string" === typeof b && "$" === b . charAt ( 0 ) ? c = u : Ja ( a ) ? c = "$WINDOW" : a && X === a ? c = "$DOCUMENT" : a && ( a . $evalAsync && a . $watch ) && ( c = "$SCOPE" ) ; return c } function oa ( b , a ) { return "undefined" === typeof b ? u : JSON . stringify ( b , Vc , a ? " " : null ) } function ac ( b ) { return G ( b ) ? JSON . parse ( b ) : b } function Wa ( b ) { "function" === typeof b ? b = ! 0 : b && 0 !== b . length ? ( b = x ( "" + b ) , b = ! ( "f" == b || "0" == b || "false" == b || "no" == b || "n" == b || "[]" == b ) ) : b = ! 1 ;
return b } function ia ( b ) { b = A ( b ) . clone ( ) ; try { b . empty ( ) } catch ( a ) { } var c = A ( "<div>" ) . append ( b ) . html ( ) ; try { return 3 === b [ 0 ] . nodeType ? x ( c ) : c . match ( /^(<[^>]+>)/ ) [ 1 ] . replace ( /^<([\w\-]+)/ , function ( a , b ) { return "<" + x ( b ) } ) } catch ( d ) { return x ( c ) } } function bc ( b ) { try { return decodeURIComponent ( b ) } catch ( a ) { } } function cc ( b ) { var a = { } , c , d ; r ( ( b || "" ) . split ( "&" ) , function ( b ) { b && ( c = b . replace ( /\+/g , "%20" ) . split ( "=" ) , d = bc ( c [ 0 ] ) , D ( d ) && ( b = D ( c [ 1 ] ) ? bc ( c [ 1 ] ) : ! 0 , lb . call ( a , d ) ? L ( a [ d ] ) ? a [ d ] . push ( b ) : a [ d ] = [ a [ d ] , b ] : a [ d ] = b ) ) } ) ; return a } function Cb ( b ) { var a =
[ ] ; r ( b , function ( b , d ) { L ( b ) ? r ( b , function ( b ) { a . push ( Da ( d , ! 0 ) + ( ! 0 === b ? "" : "=" + Da ( b , ! 0 ) ) ) } ) : a . push ( Da ( d , ! 0 ) + ( ! 0 === b ? "" : "=" + Da ( b , ! 0 ) ) ) } ) ; return a . length ? a . join ( "&" ) : "" } function mb ( b ) { return Da ( b , ! 0 ) . replace ( /%26/gi , "&" ) . replace ( /%3D/gi , "=" ) . replace ( /%2B/gi , "+" ) } function Da ( b , a ) { return encodeURIComponent ( b ) . replace ( /%40/gi , "@" ) . replace ( /%3A/gi , ":" ) . replace ( /%24/g , "$" ) . replace ( /%2C/gi , "," ) . replace ( /%20/g , a ? "%20" : "+" ) } function Wc ( b , a ) { function c ( a ) { a && d . push ( a ) } var d = [ b ] , e , f , g = [ "ng:app" , "ng-app" , "x-ng-app" ,
"data-ng-app" ] , h = /\sng[:\-]app(:\s*([\w\d_]+);?)?\s/ ; r ( g , function ( a ) { g [ a ] = ! 0 ; c ( X . getElementById ( a ) ) ; a = a . replace ( ":" , "\\:" ) ; b . querySelectorAll && ( r ( b . querySelectorAll ( "." + a ) , c ) , r ( b . querySelectorAll ( "." + a + "\\:" ) , c ) , r ( b . querySelectorAll ( "[" + a + "]" ) , c ) ) } ) ; r ( d , function ( a ) { if ( ! e ) { var b = h . exec ( " " + a . className + " " ) ; b ? ( e = a , f = ( b [ 2 ] || "" ) . replace ( /\s+/g , "," ) ) : r ( a . attributes , function ( b ) { ! e && g [ b . name ] && ( e = a , f = b . value ) } ) } } ) ; e && a ( e , f ? [ f ] : [ ] ) } function dc ( b , a ) { var c = function ( ) { b = A ( b ) ; if ( b . injector ( ) ) { var c = b [ 0 ] === X ?
"document" : ia ( b ) ; throw Va ( "btstrpd" , c . replace ( /</ , "<" ) . replace ( />/ , ">" ) ) ; } a = a || [ ] ; a . unshift ( [ "$provide" , function ( a ) { a . value ( "$rootElement" , b ) } ] ) ; a . unshift ( "ng" ) ; c = ec ( a ) ; c . invoke ( [ "$rootScope" , "$rootElement" , "$compile" , "$injector" , "$animate" , function ( a , b , c , d , e ) { a . $apply ( function ( ) { b . data ( "$injector" , d ) ; c ( b ) ( a ) } ) } ] ) ; return c } , d = /^NG_DEFER_BOOTSTRAP!/ ; if ( W && ! d . test ( W . name ) ) return c ( ) ; W . name = W . name . replace ( d , "" ) ; Xa . resumeBootstrap = function ( b ) { r ( b , function ( b ) { a . push ( b ) } ) ; c ( ) } } function nb ( b , a ) { a =
a || "_" ; return b . replace ( Xc , function ( b , d ) { return ( d ? a : "" ) + b . toLowerCase ( ) } ) } function Db ( b , a , c ) { if ( ! b ) throw Va ( "areq" , a || "?" , c || "required" ) ; return b } function Ya ( b , a , c ) { c && L ( b ) && ( b = b [ b . length - 1 ] ) ; Db ( N ( b ) , a , "not a function, got " + ( b && "object" === typeof b ? b . constructor . name || "Object" : typeof b ) ) ; return b } function Ea ( b , a ) { if ( "hasOwnProperty" === b ) throw Va ( "badname" , a ) ; } function fc ( b , a , c ) { if ( ! a ) return b ; a = a . split ( "." ) ; for ( var d , e = b , f = a . length , g = 0 ; g < f ; g ++ ) d = a [ g ] , b && ( b = ( e = b ) [ d ] ) ; return ! c && N ( b ) ? Bb ( e , b ) : b } function Eb ( b ) { var a =
b [ 0 ] ; b = b [ b . length - 1 ] ; if ( a === b ) return A ( a ) ; var c = [ a ] ; do { a = a . nextSibling ; if ( ! a ) break ; c . push ( a ) } while ( a !== b ) ; return A ( c ) } function Yc ( b ) { var a = z ( "$injector" ) , c = z ( "ng" ) ; b = b . angular || ( b . angular = { } ) ; b . $$minErr = b . $$minErr || z ; return b . module || ( b . module = function ( ) { var b = { } ; return function ( e , f , g ) { if ( "hasOwnProperty" === e ) throw c ( "badname" , "module" ) ; f && b . hasOwnProperty ( e ) && ( b [ e ] = null ) ; return b [ e ] || ( b [ e ] = function ( ) { function b ( a , d , e ) { return function ( ) { c [ e || "push" ] ( [ a , d , arguments ] ) ; return n } } if ( ! f ) throw a ( "nomod" ,
e ) ; var c = [ ] , d = [ ] , l = b ( "$injector" , "invoke" ) , n = { _invokeQueue : c , _runBlocks : d , requires : f , name : e , provider : b ( "$provide" , "provider" ) , factory : b ( "$provide" , "factory" ) , service : b ( "$provide" , "service" ) , value : b ( "$provide" , "value" ) , constant : b ( "$provide" , "constant" , "unshift" ) , animation : b ( "$animateProvider" , "register" ) , filter : b ( "$filterProvider" , "register" ) , controller : b ( "$controllerProvider" , "register" ) , directive : b ( "$compileProvider" , "directive" ) , config : l , run : function ( a ) { d . push ( a ) ; return this } } ; g && l ( g ) ; return n } ( ) ) } } ( ) ) }
function Zc ( b ) { E ( b , { bootstrap : dc , copy : Ka , extend : E , equals : Ca , element : A , forEach : r , injector : ec , noop : v , bind : Bb , toJson : oa , fromJson : ac , identity : ga , isUndefined : F , isDefined : D , isString : G , isFunction : N , isObject : T , isNumber : jb , isElement : Tc , isArray : L , version : $c , isDate : va , lowercase : x , uppercase : La , callbacks : { counter : 0 } , $$minErr : z , $$csp : Za } ) ; $a = Yc ( W ) ; try { $a ( "ngLocale" ) } catch ( a ) { $a ( "ngLocale" , [ ] ) . provider ( "$locale" , ad ) } $a ( "ng" , [ "ngLocale" ] , [ "$provide" , function ( a ) { a . provider ( { $$sanitizeUri : bd } ) ; a . provider ( "$compile" ,
gc ) . directive ( { a : cd , input : hc , textarea : hc , form : dd , script : ed , select : fd , style : gd , option : hd , ngBind : id , ngBindHtml : jd , ngBindTemplate : kd , ngClass : ld , ngClassEven : md , ngClassOdd : nd , ngCloak : od , ngController : pd , ngForm : qd , ngHide : rd , ngIf : sd , ngInclude : td , ngInit : ud , ngNonBindable : vd , ngPluralize : wd , ngRepeat : xd , ngShow : yd , ngStyle : zd , ngSwitch : Ad , ngSwitchWhen : Bd , ngSwitchDefault : Cd , ngOptions : Dd , ngTransclude : Ed , ngModel : Fd , ngList : Gd , ngChange : Hd , required : ic , ngRequired : ic , ngValue : Id } ) . directive ( { ngInclude : Jd } ) . directive ( Fb ) . directive ( jc ) ;
a . provider ( { $anchorScroll : Kd , $animate : Ld , $browser : Md , $cacheFactory : Nd , $controller : Od , $document : Pd , $exceptionHandler : Qd , $filter : kc , $interpolate : Rd , $interval : Sd , $http : Td , $httpBackend : Ud , $location : Vd , $log : Wd , $parse : Xd , $rootScope : Yd , $q : Zd , $sce : $d , $sceDelegate : ae , $sniffer : be , $templateCache : ce , $timeout : de , $window : ee , $$rAF : fe , $$asyncCallback : ge } ) } ] ) } function ab ( b ) { return b . replace ( he , function ( a , b , d , e ) { return e ? d . toUpperCase ( ) : d } ) . replace ( ie , "Moz$1" ) } function Gb ( b , a , c , d ) { function e ( b ) { var e = c && b ? [ this . filter ( b ) ] :
[ this ] , k = a , m , l , n , q , p , s ; if ( ! d || null != b ) for ( ; e . length ; ) for ( m = e . shift ( ) , l = 0 , n = m . length ; l < n ; l ++ ) for ( q = A ( m [ l ] ) , k ? q . triggerHandler ( "$destroy" ) : k = ! k , p = 0 , q = ( s = q . children ( ) ) . length ; p < q ; p ++ ) e . push ( Fa ( s [ p ] ) ) ; return f . apply ( this , arguments ) } var f = Fa . fn [ b ] , f = f . $original || f ; e . $original = f ; Fa . fn [ b ] = e } function S ( b ) { if ( b instanceof S ) return b ; G ( b ) && ( b = $ ( b ) ) ; if ( ! ( this instanceof S ) ) { if ( G ( b ) && "<" != b . charAt ( 0 ) ) throw Hb ( "nosel" ) ; return new S ( b ) } if ( G ( b ) ) { var a = b ; b = X ; var c ; if ( c = je . exec ( a ) ) b = [ b . createElement ( c [ 1 ] ) ] ; else { var d =
b , e ; b = d . createDocumentFragment ( ) ; c = [ ] ; if ( Ib . test ( a ) ) { d = b . appendChild ( d . createElement ( "div" ) ) ; e = ( ke . exec ( a ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ; e = da [ e ] || da . _default ; d . innerHTML = "<div> </div>" + e [ 1 ] + a . replace ( le , "<$1></$2>" ) + e [ 2 ] ; d . removeChild ( d . firstChild ) ; for ( a = e [ 0 ] ; a -- ; ) d = d . lastChild ; a = 0 ; for ( e = d . childNodes . length ; a < e ; ++ a ) c . push ( d . childNodes [ a ] ) ; d = b . firstChild ; d . textContent = "" } else c . push ( d . createTextNode ( a ) ) ; b . textContent = "" ; b . innerHTML = "" ; b = c } Jb ( this , b ) ; A ( X . createDocumentFragment ( ) ) . append ( this ) } else Jb ( this ,
b ) } function Kb ( b ) { return b . cloneNode ( ! 0 ) } function Ma ( b ) { Lb ( b ) ; var a = 0 ; for ( b = b . childNodes || [ ] ; a < b . length ; a ++ ) Ma ( b [ a ] ) } function lc ( b , a , c , d ) { if ( D ( d ) ) throw Hb ( "offargs" ) ; var e = pa ( b , "events" ) ; pa ( b , "handle" ) && ( F ( a ) ? r ( e , function ( a , c ) { bb ( b , c , a ) ; delete e [ c ] } ) : r ( a . split ( " " ) , function ( a ) { F ( c ) ? ( bb ( b , a , e [ a ] ) , delete e [ a ] ) : Ua ( e [ a ] || [ ] , c ) } ) ) } function Lb ( b , a ) { var c = b . ng339 , d = cb [ c ] ; d && ( a ? delete cb [ c ] . data [ a ] : ( d . handle && ( d . events . $destroy && d . handle ( { } , "$destroy" ) , lc ( b ) ) , delete cb [ c ] , b . ng339 = u ) ) } function pa ( b , a , c ) { var d =
b . ng339 , d = cb [ d || - 1 ] ; if ( D ( c ) ) d || ( b . ng339 = d = ++ me , d = cb [ d ] = { } ) , d [ a ] = c ; else return d && d [ a ] } function Mb ( b , a , c ) { var d = pa ( b , "data" ) , e = D ( c ) , f = ! e && D ( a ) , g = f && ! T ( a ) ; d || g || pa ( b , "data" , d = { } ) ; if ( e ) d [ a ] = c ; else if ( f ) { if ( g ) return d && d [ a ] ; E ( d , a ) } else return d } function Nb ( b , a ) { return b . getAttribute ? - 1 < ( " " + ( b . getAttribute ( "class" ) || "" ) + " " ) . replace ( /[\n\t]/g , " " ) . indexOf ( " " + a + " " ) : ! 1 } function ob ( b , a ) { a && b . setAttribute && r ( a . split ( " " ) , function ( a ) { b . setAttribute ( "class" , $ ( ( " " + ( b . getAttribute ( "class" ) || "" ) + " " ) . replace ( /[\n\t]/g ,
" " ) . replace ( " " + $ ( a ) + " " , " " ) ) ) } ) } function pb ( b , a ) { if ( a && b . setAttribute ) { var c = ( " " + ( b . getAttribute ( "class" ) || "" ) + " " ) . replace ( /[\n\t]/g , " " ) ; r ( a . split ( " " ) , function ( a ) { a = $ ( a ) ; - 1 === c . indexOf ( " " + a + " " ) && ( c += a + " " ) } ) ; b . setAttribute ( "class" , $ ( c ) ) } } function Jb ( b , a ) { if ( a ) { a = a . nodeName || ! D ( a . length ) || Ja ( a ) ? [ a ] : a ; for ( var c = 0 ; c < a . length ; c ++ ) b . push ( a [ c ] ) } } function mc ( b , a ) { return qb ( b , "$" + ( a || "ngController" ) + "Controller" ) } function qb ( b , a , c ) { 9 == b . nodeType && ( b = b . documentElement ) ; for ( a = L ( a ) ? a : [ a ] ; b ; ) { for ( var d =
0 , e = a . length ; d < e ; d ++ ) if ( ( c = A . data ( b , a [ d ] ) ) !== u ) return c ; b = b . parentNode || 11 === b . nodeType && b . host } } function nc ( b ) { for ( var a = 0 , c = b . childNodes ; a < c . length ; a ++ ) Ma ( c [ a ] ) ; for ( ; b . firstChild ; ) b . removeChild ( b . firstChild ) } function oc ( b , a ) { var c = rb [ a . toLowerCase ( ) ] ; return c && pc [ b . nodeName ] && c } function ne ( b , a ) { var c = function ( c , e ) { c . preventDefault || ( c . preventDefault = function ( ) { c . returnValue = ! 1 } ) ; c . stopPropagation || ( c . stopPropagation = function ( ) { c . cancelBubble = ! 0 } ) ; c . target || ( c . target = c . srcElement || X ) ; if ( F ( c . defaultPrevented ) ) { var f =
c . preventDefault ; c . preventDefault = function ( ) { c . defaultPrevented = ! 0 ; f . call ( c ) } ; c . defaultPrevented = ! 1 } c . isDefaultPrevented = function ( ) { return c . defaultPrevented || ! 1 === c . returnValue } ; var g = ha ( a [ e || c . type ] || [ ] ) ; r ( g , function ( a ) { a . call ( b , c ) } ) ; 8 >= R ? ( c . preventDefault = null , c . stopPropagation = null , c . isDefaultPrevented = null ) : ( delete c . preventDefault , delete c . stopPropagation , delete c . isDefaultPrevented ) } ; c . elem = b ; return c } function Na ( b , a ) { var c = typeof b , d ; "function" == c || "object" == c && null !== b ? "function" == typeof ( d =
b . $$hashKey ) ? d = b . $$hashKey ( ) : d === u && ( d = b . $$hashKey = ( a || ib ) ( ) ) : d = b ; return c + ":" + d } function db ( b , a ) { if ( a ) { var c = 0 ; this . nextUid = function ( ) { return ++ c } } r ( b , this . put , this ) } function qc ( b ) { var a , c ; "function" === typeof b ? ( a = b . $inject ) || ( a = [ ] , b . length && ( c = b . toString ( ) . replace ( oe , "" ) , c = c . match ( pe ) , r ( c [ 1 ] . split ( qe ) , function ( b ) { b . replace ( re , function ( b , c , d ) { a . push ( d ) } ) } ) ) , b . $inject = a ) : L ( b ) ? ( c = b . length - 1 , Ya ( b [ c ] , "fn" ) , a = b . slice ( 0 , c ) ) : Ya ( b , "fn" , ! 0 ) ; return a } function ec ( b ) { function a ( a ) { return function ( b , c ) { if ( T ( b ) ) r ( b ,
Yb ( a ) ) ; else return a ( b , c ) } } function c ( a , b ) { Ea ( a , "service" ) ; if ( N ( b ) || L ( b ) ) b = n . instantiate ( b ) ; if ( ! b . $get ) throw eb ( "pget" , a ) ; return l [ a + h ] = b } function d ( a , b ) { return c ( a , { $get : b } ) } function e ( a ) { var b = [ ] , c , d , f , h ; r ( a , function ( a ) { if ( ! m . get ( a ) ) { m . put ( a , ! 0 ) ; try { if ( G ( a ) ) for ( c = $a ( a ) , b = b . concat ( e ( c . requires ) ) . concat ( c . _runBlocks ) , d = c . _invokeQueue , f = 0 , h = d . length ; f < h ; f ++ ) { var g = d [ f ] , k = n . get ( g [ 0 ] ) ; k [ g [ 1 ] ] . apply ( k , g [ 2 ] ) } else N ( a ) ? b . push ( n . invoke ( a ) ) : L ( a ) ? b . push ( n . invoke ( a ) ) : Ya ( a , "module" ) } catch ( p ) { throw L ( a ) && ( a =
a [ a . length - 1 ] ) , p . message && ( p . stack && - 1 == p . stack . indexOf ( p . message ) ) && ( p = p . message + "\n" + p . stack ) , eb ( "modulerr" , a , p . stack || p . message || p ) ; } } } ) ; return b } function f ( a , b ) { function c ( d ) { if ( a . hasOwnProperty ( d ) ) { if ( a [ d ] === g ) throw eb ( "cdep" , d + " <- " + k . join ( " <- " ) ) ; return a [ d ] } try { return k . unshift ( d ) , a [ d ] = g , a [ d ] = b ( d ) } catch ( e ) { throw a [ d ] === g && delete a [ d ] , e ; } finally { k . shift ( ) } } function d ( a , b , e ) { var f = [ ] , h = qc ( a ) , g , k , p ; k = 0 ; for ( g = h . length ; k < g ; k ++ ) { p = h [ k ] ; if ( "string" !== typeof p ) throw eb ( "itkn" , p ) ; f . push ( e && e . hasOwnProperty ( p ) ?
e [ p ] : c ( p ) ) } L ( a ) && ( a = a [ g ] ) ; return a . apply ( b , f ) } return { invoke : d , instantiate : function ( a , b ) { var c = function ( ) { } , e ; c . prototype = ( L ( a ) ? a [ a . length - 1 ] : a ) . prototype ; c = new c ; e = d ( a , c , b ) ; return T ( e ) || N ( e ) ? e : c } , get : c , annotate : qc , has : function ( b ) { return l . hasOwnProperty ( b + h ) || a . hasOwnProperty ( b ) } } } var g = { } , h = "Provider" , k = [ ] , m = new db ( [ ] , ! 0 ) , l = { $provide : { provider : a ( c ) , factory : a ( d ) , service : a ( function ( a , b ) { return d ( a , [ "$injector" , function ( a ) { return a . instantiate ( b ) } ] ) } ) , value : a ( function ( a , b ) { return d ( a , aa ( b ) ) } ) , constant : a ( function ( a ,
b ) { Ea ( a , "constant" ) ; l [ a ] = b ; q [ a ] = b } ) , decorator : function ( a , b ) { var c = n . get ( a + h ) , d = c . $get ; c . $get = function ( ) { var a = p . invoke ( d , c ) ; return p . invoke ( b , null , { $delegate : a } ) } } } } , n = l . $injector = f ( l , function ( ) { throw eb ( "unpr" , k . join ( " <- " ) ) ; } ) , q = { } , p = q . $injector = f ( q , function ( a ) { a = n . get ( a + h ) ; return p . invoke ( a . $get , a ) } ) ; r ( e ( b ) , function ( a ) { p . invoke ( a || v ) } ) ; return p } function Kd ( ) { var b = ! 0 ; this . disableAutoScrolling = function ( ) { b = ! 1 } ; this . $get = [ "$window" , "$location" , "$rootScope" , function ( a , c , d ) { function e ( a ) { var b = null ;
r ( a , function ( a ) { b || "a" !== x ( a . nodeName ) || ( b = a ) } ) ; return b } function f ( ) { var b = c . hash ( ) , d ; b ? ( d = g . getElementById ( b ) ) ? d . scrollIntoView ( ) : ( d = e ( g . getElementsByName ( b ) ) ) ? d . scrollIntoView ( ) : "top" === b && a . scrollTo ( 0 , 0 ) : a . scrollTo ( 0 , 0 ) } var g = a . document ; b && d . $watch ( function ( ) { return c . hash ( ) } , function ( ) { d . $evalAsync ( f ) } ) ; return f } ] } function ge ( ) { this . $get = [ "$$rAF" , "$timeout" , function ( b , a ) { return b . supported ? function ( a ) { return b ( a ) } : function ( b ) { return a ( b , 0 , ! 1 ) } } ] } function se ( b , a , c , d ) { function e ( a ) { try { a . apply ( null ,
wa . call ( arguments , 1 ) ) } finally { if ( s -- , 0 === s ) for ( ; J . length ; ) try { J . pop ( ) ( ) } catch ( b ) { c . error ( b ) } } } function f ( a , b ) { ( function ea ( ) { r ( w , function ( a ) { a ( ) } ) ; t = b ( ea , a ) } ) ( ) } function g ( ) { y != h . url ( ) && ( y = h . url ( ) , r ( ba , function ( a ) { a ( h . url ( ) ) } ) ) } var h = this , k = a [ 0 ] , m = b . location , l = b . history , n = b . setTimeout , q = b . clearTimeout , p = { } ; h . isMock = ! 1 ; var s = 0 , J = [ ] ; h . $$completeOutstandingRequest = e ; h . $$incOutstandingRequestCount = function ( ) { s ++ } ; h . notifyWhenNoOutstandingRequests = function ( a ) { r ( w , function ( a ) { a ( ) } ) ; 0 === s ? a ( ) : J . push ( a ) } ;
var w = [ ] , t ; h . addPollFn = function ( a ) { F ( t ) && f ( 100 , n ) ; w . push ( a ) ; return a } ; var y = m . href , K = a . find ( "base" ) , B = null ; h . url = function ( a , c ) { m !== b . location && ( m = b . location ) ; l !== b . history && ( l = b . history ) ; if ( a ) { if ( y != a ) { var e = y && Ga ( y ) === Ga ( a ) ; y = a ; ! e && d . history ? c ? l . replaceState ( null , "" , a ) : ( l . pushState ( null , "" , a ) , K . attr ( "href" , K . attr ( "href" ) ) ) : ( e || ( B = a ) , c ? m . replace ( a ) : m . href = a ) ; return h } } else return B || m . href . replace ( /%27/g , "'" ) } ; var ba = [ ] , O = ! 1 ; h . onUrlChange = function ( a ) { if ( ! O ) { if ( d . history ) A ( b ) . on ( "popstate" , g ) ; if ( d . hashchange ) A ( b ) . on ( "hashchange" ,
g ) ; else h . addPollFn ( g ) ; O = ! 0 } ba . push ( a ) ; return a } ; h . $$checkUrlChange = g ; h . baseHref = function ( ) { var a = K . attr ( "href" ) ; return a ? a . replace ( /^(https?\:)?\/\/[^\/]*/ , "" ) : "" } ; var M = { } , ca = "" , P = h . baseHref ( ) ; h . cookies = function ( a , b ) { var d , e , f , h ; if ( a ) b === u ? k . cookie = escape ( a ) + "=;path=" + P + ";expires=Thu, 01 Jan 1970 00:00:00 GMT" : G ( b ) && ( d = ( k . cookie = escape ( a ) + "=" + escape ( b ) + ";path=" + P ) . length + 1 , 4096 < d && c . warn ( "Cookie '" + a + "' possibly not set or overflowed because it was too large (" + d + " > 4096 bytes)!" ) ) ; else { if ( k . cookie !==
ca ) for ( ca = k . cookie , d = ca . split ( "; " ) , M = { } , f = 0 ; f < d . length ; f ++ ) e = d [ f ] , h = e . indexOf ( "=" ) , 0 < h && ( a = unescape ( e . substring ( 0 , h ) ) , M [ a ] === u && ( M [ a ] = unescape ( e . substring ( h + 1 ) ) ) ) ; return M } } ; h . defer = function ( a , b ) { var c ; s ++ ; c = n ( function ( ) { delete p [ c ] ; e ( a ) } , b || 0 ) ; p [ c ] = ! 0 ; return c } ; h . defer . cancel = function ( a ) { return p [ a ] ? ( delete p [ a ] , q ( a ) , e ( v ) , ! 0 ) : ! 1 } } function Md ( ) { this . $get = [ "$window" , "$log" , "$sniffer" , "$document" , function ( b , a , c , d ) { return new se ( b , d , a , c ) } ] } function Nd ( ) { this . $get = function ( ) { function b ( b , d ) { function e ( a ) { a !=
n && ( q ? q == a && ( q = a . n ) : q = a , f ( a . n , a . p ) , f ( a , n ) , n = a , n . n = null ) } function f ( a , b ) { a != b && ( a && ( a . p = b ) , b && ( b . n = a ) ) } if ( b in a ) throw z ( "$cacheFactory" ) ( "iid" , b ) ; var g = 0 , h = E ( { } , d , { id : b } ) , k = { } , m = d && d . capacity || Number . MAX _VALUE , l = { } , n = null , q = null ; return a [ b ] = { put : function ( a , b ) { if ( m < Number . MAX _VALUE ) { var c = l [ a ] || ( l [ a ] = { key : a } ) ; e ( c ) } if ( ! F ( b ) ) return a in k || g ++ , k [ a ] = b , g > m && this . remove ( q . key ) , b } , get : function ( a ) { if ( m < Number . MAX _VALUE ) { var b = l [ a ] ; if ( ! b ) return ; e ( b ) } return k [ a ] } , remove : function ( a ) { if ( m < Number . MAX _VALUE ) { var b =
l [ a ] ; if ( ! b ) return ; b == n && ( n = b . p ) ; b == q && ( q = b . n ) ; f ( b . n , b . p ) ; delete l [ a ] } delete k [ a ] ; g -- } , removeAll : function ( ) { k = { } ; g = 0 ; l = { } ; n = q = null } , destroy : function ( ) { l = h = k = null ; delete a [ b ] } , info : function ( ) { return E ( { } , h , { size : g } ) } } } var a = { } ; b . info = function ( ) { var b = { } ; r ( a , function ( a , e ) { b [ e ] = a . info ( ) } ) ; return b } ; b . get = function ( b ) { return a [ b ] } ; return b } } function ce ( ) { this . $get = [ "$cacheFactory" , function ( b ) { return b ( "templates" ) } ] } function gc ( b , a ) { var c = { } , d = "Directive" , e = /^\s*directive\:\s*([\d\w_\-]+)\s+(.*)$/ , f = /(([\d\w_\-]+)(?:\:([^;]+))?;?)/ ,
g = /^(on[a-z]+|formaction)$/ ; this . directive = function k ( a , e ) { Ea ( a , "directive" ) ; G ( a ) ? ( Db ( e , "directiveFactory" ) , c . hasOwnProperty ( a ) || ( c [ a ] = [ ] , b . factory ( a + d , [ "$injector" , "$exceptionHandler" , function ( b , d ) { var e = [ ] ; r ( c [ a ] , function ( c , f ) { try { var g = b . invoke ( c ) ; N ( g ) ? g = { compile : aa ( g ) } : ! g . compile && g . link && ( g . compile = aa ( g . link ) ) ; g . priority = g . priority || 0 ; g . index = f ; g . name = g . name || a ; g . require = g . require || g . controller && g . name ; g . restrict = g . restrict || "A" ; e . push ( g ) } catch ( k ) { d ( k ) } } ) ; return e } ] ) ) , c [ a ] . push ( e ) ) : r ( a , Yb ( k ) ) ;
return this } ; this . aHrefSanitizationWhitelist = function ( b ) { return D ( b ) ? ( a . aHrefSanitizationWhitelist ( b ) , this ) : a . aHrefSanitizationWhitelist ( ) } ; this . imgSrcSanitizationWhitelist = function ( b ) { return D ( b ) ? ( a . imgSrcSanitizationWhitelist ( b ) , this ) : a . imgSrcSanitizationWhitelist ( ) } ; this . $get = [ "$injector" , "$interpolate" , "$exceptionHandler" , "$http" , "$templateCache" , "$parse" , "$controller" , "$rootScope" , "$document" , "$sce" , "$animate" , "$$sanitizeUri" , function ( a , b , l , n , q , p , s , J , w , t , y , K ) { function B ( a , b , c , d , e ) { a instanceof
A || ( a = A ( a ) ) ; r ( a , function ( b , c ) { 3 == b . nodeType && b . nodeValue . match ( /\S+/ ) && ( a [ c ] = A ( b ) . wrap ( "<span></span>" ) . parent ( ) [ 0 ] ) } ) ; var f = O ( a , b , a , c , d , e ) ; ba ( a , "ng-scope" ) ; return function ( b , c , d , e ) { Db ( b , "scope" ) ; var g = c ? Oa . clone . call ( a ) : a ; r ( d , function ( a , b ) { g . data ( "$" + b + "Controller" , a ) } ) ; d = 0 ; for ( var k = g . length ; d < k ; d ++ ) { var p = g [ d ] . nodeType ; 1 !== p && 9 !== p || g . eq ( d ) . data ( "$scope" , b ) } c && c ( g , b ) ; f && f ( b , g , g , e ) ; return g } } function ba ( a , b ) { try { a . addClass ( b ) } catch ( c ) { } } function O ( a , b , c , d , e , f ) { function g ( a , c , d , e ) { var f , p , l , m , q ,
n , w ; f = c . length ; var s = Array ( f ) ; for ( m = 0 ; m < f ; m ++ ) s [ m ] = c [ m ] ; n = m = 0 ; for ( q = k . length ; m < q ; n ++ ) p = s [ n ] , c = k [ m ++ ] , f = k [ m ++ ] , c ? ( c . scope ? ( l = a . $new ( ) , A . data ( p , "$scope" , l ) ) : l = a , w = c . transcludeOnThisElement ? M ( a , c . transclude , e ) : ! c . templateOnThisElement && e ? e : ! e && b ? M ( a , b ) : null , c ( f , l , p , d , w ) ) : f && f ( a , p . childNodes , u , e ) } for ( var k = [ ] , p , l , m , q , n = 0 ; n < a . length ; n ++ ) p = new Ob , l = ca ( a [ n ] , [ ] , p , 0 === n ? d : u , e ) , ( f = l . length ? I ( l , a [ n ] , p , b , c , null , [ ] , [ ] , f ) : null ) && f . scope && ba ( p . $$element , "ng-scope" ) , p = f && f . terminal || ! ( m = a [ n ] . childNodes ) || ! m . length ?
null : O ( m , f ? ( f . transcludeOnThisElement || ! f . templateOnThisElement ) && f . transclude : b ) , k . push ( f , p ) , q = q || f || p , f = null ; return q ? g : null } function M ( a , b , c ) { return function ( d , e , f ) { var g = ! 1 ; d || ( d = a . $new ( ) , g = d . $$transcluded = ! 0 ) ; e = b ( d , e , f , c ) ; if ( g ) e . on ( "$destroy" , function ( ) { d . $destroy ( ) } ) ; return e } } function ca ( a , b , c , d , g ) { var k = c . $attr , p ; switch ( a . nodeType ) { case 1 : ea ( b , qa ( Pa ( a ) . toLowerCase ( ) ) , "E" , d , g ) ; for ( var l , m , q , n = a . attributes , w = 0 , s = n && n . length ; w < s ; w ++ ) { var t = ! 1 , J = ! 1 ; l = n [ w ] ; if ( ! R || 8 <= R || l . specified ) { p = l . name ; m =
$ ( l . value ) ; l = qa ( p ) ; if ( q = U . test ( l ) ) p = nb ( l . substr ( 6 ) , "-" ) ; var y = l . replace ( /(Start|End)$/ , "" ) ; l === y + "Start" && ( t = p , J = p . substr ( 0 , p . length - 5 ) + "end" , p = p . substr ( 0 , p . length - 6 ) ) ; l = qa ( p . toLowerCase ( ) ) ; k [ l ] = p ; if ( q || ! c . hasOwnProperty ( l ) ) c [ l ] = m , oc ( a , l ) && ( c [ l ] = ! 0 ) ; S ( a , b , m , l ) ; ea ( b , l , "A" , d , g , t , J ) } } a = a . className ; if ( G ( a ) && "" !== a ) for ( ; p = f . exec ( a ) ; ) l = qa ( p [ 2 ] ) , ea ( b , l , "C" , d , g ) && ( c [ l ] = $ ( p [ 3 ] ) ) , a = a . substr ( p . index + p [ 0 ] . length ) ; break ; case 3 : x ( b , a . nodeValue ) ; break ; case 8 : try { if ( p = e . exec ( a . nodeValue ) ) l = qa ( p [ 1 ] ) , ea ( b , l , "M" , d ,
g ) && ( c [ l ] = $ ( p [ 2 ] ) ) } catch ( B ) { } } b . sort ( F ) ; return b } function P ( a , b , c ) { var d = [ ] , e = 0 ; if ( b && a . hasAttribute && a . hasAttribute ( b ) ) { do { if ( ! a ) throw ja ( "uterdir" , b , c ) ; 1 == a . nodeType && ( a . hasAttribute ( b ) && e ++ , a . hasAttribute ( c ) && e -- ) ; d . push ( a ) ; a = a . nextSibling } while ( 0 < e ) } else d . push ( a ) ; return A ( d ) } function C ( a , b , c ) { return function ( d , e , f , g , k ) { e = P ( e [ 0 ] , b , c ) ; return a ( d , e , f , g , k ) } } function I ( a , c , d , e , f , g , k , q , n ) { function w ( a , b , c , d ) { if ( a ) { c && ( a = C ( a , c , d ) ) ; a . require = H . require ; a . directiveName = z ; if ( K === H || H . $$isolateScope ) a = rc ( a ,
{ isolateScope : ! 0 } ) ; k . push ( a ) } if ( b ) { c && ( b = C ( b , c , d ) ) ; b . require = H . require ; b . directiveName = z ; if ( K === H || H . $$isolateScope ) b = rc ( b , { isolateScope : ! 0 } ) ; q . push ( b ) } } function t ( a , b , c , d ) { var e , f = "data" , g = ! 1 ; if ( G ( b ) ) { for ( ; "^" == ( e = b . charAt ( 0 ) ) || "?" == e ; ) b = b . substr ( 1 ) , "^" == e && ( f = "inheritedData" ) , g = g || "?" == e ; e = null ; d && "data" === f && ( e = d [ b ] ) ; e = e || c [ f ] ( "$" + b + "Controller" ) ; if ( ! e && ! g ) throw ja ( "ctreq" , b , a ) ; } else L ( b ) && ( e = [ ] , r ( b , function ( b ) { e . push ( t ( a , b , c , d ) ) } ) ) ; return e } function J ( a , e , f , g , n ) { function w ( a , b ) { var c ; 2 > arguments . length &&
( b = a , a = u ) ; Ia && ( c = ca ) ; return n ( a , b , c ) } var y , Q , B , M , C , P , ca = { } , ra ; y = c === f ? d : ha ( d , new Ob ( A ( f ) , d . $attr ) ) ; Q = y . $$element ; if ( K ) { var ue = /^\s*([@=&])(\??)\s*(\w*)\s*$/ ; P = e . $new ( ! 0 ) ; ! I || I !== K && I !== K . $$originalDirective ? Q . data ( "$isolateScopeNoTemplate" , P ) : Q . data ( "$isolateScope" , P ) ; ba ( Q , "ng-isolate-scope" ) ; r ( K . scope , function ( a , c ) { var d = a . match ( ue ) || [ ] , f = d [ 3 ] || c , g = "?" == d [ 2 ] , d = d [ 1 ] , k , l , n , q ; P . $$isolateBindings [ c ] = d + f ; switch ( d ) { case "@" : y . $observe ( f , function ( a ) { P [ c ] = a } ) ; y . $$observers [ f ] . $$scope = e ; y [ f ] && ( P [ c ] = b ( y [ f ] ) ( e ) ) ;
break ; case "=" : if ( g && ! y [ f ] ) break ; l = p ( y [ f ] ) ; q = l . literal ? Ca : function ( a , b ) { return a === b || a !== a && b !== b } ; n = l . assign || function ( ) { k = P [ c ] = l ( e ) ; throw ja ( "nonassign" , y [ f ] , K . name ) ; } ; k = P [ c ] = l ( e ) ; P . $watch ( function ( ) { var a = l ( e ) ; q ( a , P [ c ] ) || ( q ( a , k ) ? n ( e , a = P [ c ] ) : P [ c ] = a ) ; return k = a } , null , l . literal ) ; break ; case "&" : l = p ( y [ f ] ) ; P [ c ] = function ( a ) { return l ( e , a ) } ; break ; default : throw ja ( "iscp" , K . name , c , a ) ; } } ) } ra = n && w ; O && r ( O , function ( a ) { var b = { $scope : a === K || a . $$isolateScope ? P : e , $element : Q , $attrs : y , $transclude : ra } , c ; C = a . controller ;
"@" == C && ( C = y [ a . name ] ) ; c = s ( C , b ) ; ca [ a . name ] = c ; Ia || Q . data ( "$" + a . name + "Controller" , c ) ; a . controllerAs && ( b . $scope [ a . controllerAs ] = c ) } ) ; g = 0 ; for ( B = k . length ; g < B ; g ++ ) try { M = k [ g ] , M ( M . isolateScope ? P : e , Q , y , M . require && t ( M . directiveName , M . require , Q , ca ) , ra ) } catch ( H ) { l ( H , ia ( Q ) ) } g = e ; K && ( K . template || null === K . templateUrl ) && ( g = P ) ; a && a ( g , f . childNodes , u , n ) ; for ( g = q . length - 1 ; 0 <= g ; g -- ) try { M = q [ g ] , M ( M . isolateScope ? P : e , Q , y , M . require && t ( M . directiveName , M . require , Q , ca ) , ra ) } catch ( D ) { l ( D , ia ( Q ) ) } } n = n || { } ; for ( var y = - Number . MAX _VALUE ,
M , O = n . controllerDirectives , K = n . newIsolateScopeDirective , I = n . templateDirective , ea = n . nonTlbTranscludeDirective , F = ! 1 , E = ! 1 , Ia = n . hasElementTranscludeDirective , x = d . $$element = A ( c ) , H , z , V , S = e , R , Ha = 0 , sa = a . length ; Ha < sa ; Ha ++ ) { H = a [ Ha ] ; var U = H . $$start , Y = H . $$end ; U && ( x = P ( c , U , Y ) ) ; V = u ; if ( y > H . priority ) break ; if ( V = H . scope ) M = M || H , H . templateUrl || ( fb ( "new/isolated scope" , K , H , x ) , T ( V ) && ( K = H ) ) ; z = H . name ; ! H . templateUrl && H . controller && ( V = H . controller , O = O || { } , fb ( "'" + z + "' controller" , O [ z ] , H , x ) , O [ z ] = H ) ; if ( V = H . transclude ) F = ! 0 , H . $$tlb ||
( fb ( "transclusion" , ea , H , x ) , ea = H ) , "element" == V ? ( Ia = ! 0 , y = H . priority , V = x , x = d . $$element = A ( X . createComment ( " " + z + ": " + d [ z ] + " " ) ) , c = x [ 0 ] , ra ( f , wa . call ( V , 0 ) , c ) , S = B ( V , e , y , g && g . name , { nonTlbTranscludeDirective : ea } ) ) : ( V = A ( Kb ( c ) ) . contents ( ) , x . empty ( ) , S = B ( V , e ) ) ; if ( H . template ) if ( E = ! 0 , fb ( "template" , I , H , x ) , I = H , V = N ( H . template ) ? H . template ( x , d ) : H . template , V = W ( V ) , H . replace ) { g = H ; V = Ib . test ( V ) ? A ( $ ( V ) ) : [ ] ; c = V [ 0 ] ; if ( 1 != V . length || 1 !== c . nodeType ) throw ja ( "tplrt" , z , "" ) ; ra ( f , x , c ) ; sa = { $attr : { } } ; V = ca ( c , [ ] , sa ) ; var Z = a . splice ( Ha +
1 , a . length - ( Ha + 1 ) ) ; K && D ( V ) ; a = a . concat ( V ) . concat ( Z ) ; v ( d , sa ) ; sa = a . length } else x . html ( V ) ; if ( H . templateUrl ) E = ! 0 , fb ( "template" , I , H , x ) , I = H , H . replace && ( g = H ) , J = te ( a . splice ( Ha , a . length - Ha ) , x , d , f , F && S , k , q , { controllerDirectives : O , newIsolateScopeDirective : K , templateDirective : I , nonTlbTranscludeDirective : ea } ) , sa = a . length ; else if ( H . compile ) try { R = H . compile ( x , d , S ) , N ( R ) ? w ( null , R , U , Y ) : R && w ( R . pre , R . post , U , Y ) } catch ( ve ) { l ( ve , ia ( x ) ) } H . terminal && ( J . terminal = ! 0 , y = Math . max ( y , H . priority ) ) } J . scope = M && ! 0 === M . scope ; J . transcludeOnThisElement =
F ; J . templateOnThisElement = E ; J . transclude = S ; n . hasElementTranscludeDirective = Ia ; return J } function D ( a ) { for ( var b = 0 , c = a . length ; b < c ; b ++ ) a [ b ] = $b ( a [ b ] , { $$isolateScope : ! 0 } ) } function ea ( b , e , f , g , p , m , n ) { if ( e === p ) return null ; p = null ; if ( c . hasOwnProperty ( e ) ) { var q ; e = a . get ( e + d ) ; for ( var w = 0 , s = e . length ; w < s ; w ++ ) try { q = e [ w ] , ( g === u || g > q . priority ) && - 1 != q . restrict . indexOf ( f ) && ( m && ( q = $b ( q , { $$start : m , $$end : n } ) ) , b . push ( q ) , p = q ) } catch ( y ) { l ( y ) } } return p } function v ( a , b ) { var c = b . $attr , d = a . $attr , e = a . $$element ; r ( a , function ( d , e ) { "$" !=
e . charAt ( 0 ) && ( b [ e ] && b [ e ] !== d && ( d += ( "style" === e ? ";" : " " ) + b [ e ] ) , a . $set ( e , d , ! 0 , c [ e ] ) ) } ) ; r ( b , function ( b , f ) { "class" == f ? ( ba ( e , b ) , a [ "class" ] = ( a [ "class" ] ? a [ "class" ] + " " : "" ) + b ) : "style" == f ? ( e . attr ( "style" , e . attr ( "style" ) + ";" + b ) , a . style = ( a . style ? a . style + ";" : "" ) + b ) : "$" == f . charAt ( 0 ) || a . hasOwnProperty ( f ) || ( a [ f ] = b , d [ f ] = c [ f ] ) } ) } function te ( a , b , c , d , e , f , g , k ) { var p = [ ] , l , m , w = b [ 0 ] , s = a . shift ( ) , y = E ( { } , s , { templateUrl : null , transclude : null , replace : null , $$originalDirective : s } ) , J = N ( s . templateUrl ) ? s . templateUrl ( b , c ) : s . templateUrl ;
b . empty ( ) ; n . get ( t . getTrustedResourceUrl ( J ) , { cache : q } ) . success ( function ( q ) { var n , t ; q = W ( q ) ; if ( s . replace ) { q = Ib . test ( q ) ? A ( $ ( q ) ) : [ ] ; n = q [ 0 ] ; if ( 1 != q . length || 1 !== n . nodeType ) throw ja ( "tplrt" , s . name , J ) ; q = { $attr : { } } ; ra ( d , b , n ) ; var B = ca ( n , [ ] , q ) ; T ( s . scope ) && D ( B ) ; a = B . concat ( a ) ; v ( c , q ) } else n = w , b . html ( q ) ; a . unshift ( y ) ; l = I ( a , n , c , e , b , s , f , g , k ) ; r ( d , function ( a , c ) { a == n && ( d [ c ] = b [ 0 ] ) } ) ; for ( m = O ( b [ 0 ] . childNodes , e ) ; p . length ; ) { q = p . shift ( ) ; t = p . shift ( ) ; var K = p . shift ( ) , C = p . shift ( ) , B = b [ 0 ] ; if ( t !== w ) { var P = t . className ; k . hasElementTranscludeDirective &&
s . replace || ( B = Kb ( n ) ) ; ra ( K , A ( t ) , B ) ; ba ( A ( B ) , P ) } t = l . transcludeOnThisElement ? M ( q , l . transclude , C ) : C ; l ( m , q , B , d , t ) } p = null } ) . error ( function ( a , b , c , d ) { throw ja ( "tpload" , d . url ) ; } ) ; return function ( a , b , c , d , e ) { a = e ; p ? ( p . push ( b ) , p . push ( c ) , p . push ( d ) , p . push ( a ) ) : ( l . transcludeOnThisElement && ( a = M ( b , l . transclude , e ) ) , l ( m , b , c , d , a ) ) } } function F ( a , b ) { var c = b . priority - a . priority ; return 0 !== c ? c : a . name !== b . name ? a . name < b . name ? - 1 : 1 : a . index - b . index } function fb ( a , b , c , d ) { if ( b ) throw ja ( "multidir" , b . name , c . name , a , ia ( d ) ) ; } function x ( a ,
c ) { var d = b ( c , ! 0 ) ; d && a . push ( { priority : 0 , compile : function ( a ) { var b = a . parent ( ) . length ; b && ba ( a . parent ( ) , "ng-binding" ) ; return function ( a , c ) { var e = c . parent ( ) , f = e . data ( "$binding" ) || [ ] ; f . push ( d ) ; e . data ( "$binding" , f ) ; b || ba ( e , "ng-binding" ) ; a . $watch ( d , function ( a ) { c [ 0 ] . nodeValue = a } ) } } } ) } function z ( a , b ) { if ( "srcdoc" == b ) return t . HTML ; var c = Pa ( a ) ; if ( "xlinkHref" == b || "FORM" == c && "action" == b || "IMG" != c && ( "src" == b || "ngSrc" == b ) ) return t . RESOURCE _URL } function S ( a , c , d , e ) { var f = b ( d , ! 0 ) ; if ( f ) { if ( "multiple" === e && "SELECT" ===
Pa ( a ) ) throw ja ( "selmulti" , ia ( a ) ) ; c . push ( { priority : 100 , compile : function ( ) { return { pre : function ( c , d , k ) { d = k . $$observers || ( k . $$observers = { } ) ; if ( g . test ( e ) ) throw ja ( "nodomevents" ) ; if ( f = b ( k [ e ] , ! 0 , z ( a , e ) ) ) k [ e ] = f ( c ) , ( d [ e ] || ( d [ e ] = [ ] ) ) . $$inter = ! 0 , ( k . $$observers && k . $$observers [ e ] . $$scope || c ) . $watch ( f , function ( a , b ) { "class" === e && a != b ? k . $updateClass ( a , b ) : k . $set ( e , a ) } ) } } } } ) } } function ra ( a , b , c ) { var d = b [ 0 ] , e = b . length , f = d . parentNode , g , k ; if ( a ) for ( g = 0 , k = a . length ; g < k ; g ++ ) if ( a [ g ] == d ) { a [ g ++ ] = c ; k = g + e - 1 ; for ( var p = a . length ; g <
p ; g ++ , k ++ ) k < p ? a [ g ] = a [ k ] : delete a [ g ] ; a . length -= e - 1 ; break } f && f . replaceChild ( c , d ) ; a = X . createDocumentFragment ( ) ; a . appendChild ( d ) ; c [ A . expando ] = d [ A . expando ] ; d = 1 ; for ( e = b . length ; d < e ; d ++ ) f = b [ d ] , A ( f ) . remove ( ) , a . appendChild ( f ) , delete b [ d ] ; b [ 0 ] = c ; b . length = 1 } function rc ( a , b ) { return E ( function ( ) { return a . apply ( null , arguments ) } , a , b ) } var Ob = function ( a , b ) { this . $$element = a ; this . $attr = b || { } } ; Ob . prototype = { $normalize : qa , $addClass : function ( a ) { a && 0 < a . length && y . addClass ( this . $$element , a ) } , $removeClass : function ( a ) { a && 0 <
a . length && y . removeClass ( this . $$element , a ) } , $updateClass : function ( a , b ) { var c = sc ( a , b ) , d = sc ( b , a ) ; 0 === c . length ? y . removeClass ( this . $$element , d ) : 0 === d . length ? y . addClass ( this . $$element , c ) : y . setClass ( this . $$element , c , d ) } , $set : function ( a , b , c , d ) { var e = oc ( this . $$element [ 0 ] , a ) ; e && ( this . $$element . prop ( a , b ) , d = e ) ; this [ a ] = b ; d ? this . $attr [ a ] = d : ( d = this . $attr [ a ] ) || ( this . $attr [ a ] = d = nb ( a , "-" ) ) ; e = Pa ( this . $$element ) ; if ( "A" === e && "href" === a || "IMG" === e && "src" === a ) this [ a ] = b = K ( b , "src" === a ) ; ! 1 !== c && ( null === b || b === u ? this . $$element . removeAttr ( d ) :
this . $$element . attr ( d , b ) ) ; ( c = this . $$observers ) && r ( c [ a ] , function ( a ) { try { a ( b ) } catch ( c ) { l ( c ) } } ) } , $observe : function ( a , b ) { var c = this , d = c . $$observers || ( c . $$observers = { } ) , e = d [ a ] || ( d [ a ] = [ ] ) ; e . push ( b ) ; J . $evalAsync ( function ( ) { e . $$inter || b ( c [ a ] ) } ) ; return b } } ; var sa = b . startSymbol ( ) , Ia = b . endSymbol ( ) , W = "{{" == sa || "}}" == Ia ? ga : function ( a ) { return a . replace ( /\{\{/g , sa ) . replace ( /}}/g , Ia ) } , U = /^ngAttr[A-Z]/ ; return B } ] } function qa ( b ) { return ab ( b . replace ( we , "" ) ) } function sc ( b , a ) { var c = "" , d = b . split ( /\s+/ ) , e = a . split ( /\s+/ ) ,
f = 0 ; a : for ( ; f < d . length ; f ++ ) { for ( var g = d [ f ] , h = 0 ; h < e . length ; h ++ ) if ( g == e [ h ] ) continue a ; c += ( 0 < c . length ? " " : "" ) + g } return c } function Od ( ) { var b = { } , a = /^(\S+)(\s+as\s+(\w+))?$/ ; this . register = function ( a , d ) { Ea ( a , "controller" ) ; T ( a ) ? E ( b , a ) : b [ a ] = d } ; this . $get = [ "$injector" , "$window" , function ( c , d ) { return function ( e , f ) { var g , h , k ; G ( e ) && ( g = e . match ( a ) , h = g [ 1 ] , k = g [ 3 ] , e = b . hasOwnProperty ( h ) ? b [ h ] : fc ( f . $scope , h , ! 0 ) || fc ( d , h , ! 0 ) , Ya ( e , h , ! 0 ) ) ; g = c . instantiate ( e , f ) ; if ( k ) { if ( ! f || "object" !== typeof f . $scope ) throw z ( "$controller" ) ( "noscp" ,
h || e . name , k ) ; f . $scope [ k ] = g } return g } } ] } function Pd ( ) { this . $get = [ "$window" , function ( b ) { return A ( b . document ) } ] } function Qd ( ) { this . $get = [ "$log" , function ( b ) { return function ( a , c ) { b . error . apply ( b , arguments ) } } ] } function tc ( b ) { var a = { } , c , d , e ; if ( ! b ) return a ; r ( b . split ( "\n" ) , function ( b ) { e = b . indexOf ( ":" ) ; c = x ( $ ( b . substr ( 0 , e ) ) ) ; d = $ ( b . substr ( e + 1 ) ) ; c && ( a [ c ] = a [ c ] ? a [ c ] + ", " + d : d ) } ) ; return a } function uc ( b ) { var a = T ( b ) ? b : u ; return function ( c ) { a || ( a = tc ( b ) ) ; return c ? a [ x ( c ) ] || null : a } } function vc ( b , a , c ) { if ( N ( c ) ) return c ( b ,
a ) ; r ( c , function ( c ) { b = c ( b , a ) } ) ; return b } function Td ( ) { var b = /^\s*(\[|\{[^\{])/ , a = /[\}\]]\s*$/ , c = /^\)\]\}',?\n/ , d = { "Content-Type" : "application/json;charset=utf-8" } , e = this . defaults = { transformResponse : [ function ( d ) { G ( d ) && ( d = d . replace ( c , "" ) , b . test ( d ) && a . test ( d ) && ( d = ac ( d ) ) ) ; return d } ] , transformRequest : [ function ( a ) { return T ( a ) && "[object File]" !== Ba . call ( a ) && "[object Blob]" !== Ba . call ( a ) ? oa ( a ) : a } ] , headers : { common : { Accept : "application/json, text/plain, */*" } , post : ha ( d ) , put : ha ( d ) , patch : ha ( d ) } , xsrfCookieName : "XSRF-TOKEN" ,
xsrfHeaderName : "X-XSRF-TOKEN" } , f = this . interceptors = [ ] , g = this . responseInterceptors = [ ] ; this . $get = [ "$httpBackend" , "$browser" , "$cacheFactory" , "$rootScope" , "$q" , "$injector" , function ( a , b , c , d , n , q ) { function p ( a ) { function b ( a ) { var d = E ( { } , a , { data : vc ( a . data , a . headers , c . transformResponse ) } ) ; return 200 <= a . status && 300 > a . status ? d : n . reject ( d ) } var c = { method : "get" , transformRequest : e . transformRequest , transformResponse : e . transformResponse } , d = function ( a ) { var b = e . headers , c = E ( { } , a . headers ) , d , f , b = E ( { } , b . common , b [ x ( a . method ) ] ) ;
a : for ( d in b ) { a = x ( d ) ; for ( f in c ) if ( x ( f ) === a ) continue a ; c [ d ] = b [ d ] } ( function ( a ) { var b ; r ( a , function ( c , d ) { N ( c ) && ( b = c ( ) , null != b ? a [ d ] = b : delete a [ d ] ) } ) } ) ( c ) ; return c } ( a ) ; E ( c , a ) ; c . headers = d ; c . method = La ( c . method ) ; var f = [ function ( a ) { d = a . headers ; var c = vc ( a . data , uc ( d ) , a . transformRequest ) ; F ( c ) && r ( d , function ( a , b ) { "content-type" === x ( b ) && delete d [ b ] } ) ; F ( a . withCredentials ) && ! F ( e . withCredentials ) && ( a . withCredentials = e . withCredentials ) ; return s ( a , c , d ) . then ( b , b ) } , u ] , g = n . when ( c ) ; for ( r ( t , function ( a ) { ( a . request || a . requestError ) &&
f . unshift ( a . request , a . requestError ) ; ( a . response || a . responseError ) && f . push ( a . response , a . responseError ) } ) ; f . length ; ) { a = f . shift ( ) ; var h = f . shift ( ) , g = g . then ( a , h ) } g . success = function ( a ) { g . then ( function ( b ) { a ( b . data , b . status , b . headers , c ) } ) ; return g } ; g . error = function ( a ) { g . then ( null , function ( b ) { a ( b . data , b . status , b . headers , c ) } ) ; return g } ; return g } function s ( c , f , g ) { function m ( a , b , c , e ) { C && ( 200 <= a && 300 > a ? C . put ( A , [ a , b , tc ( c ) , e ] ) : C . remove ( A ) ) ; q ( b , a , c , e ) ; d . $$phase || d . $apply ( ) } function q ( a , b , d , e ) { b = Math . max ( b , 0 ) ; ( 200 <=
b && 300 > b ? t . resolve : t . reject ) ( { data : a , status : b , headers : uc ( d ) , config : c , statusText : e } ) } function s ( ) { var a = Ta ( p . pendingRequests , c ) ; - 1 !== a && p . pendingRequests . splice ( a , 1 ) } var t = n . defer ( ) , r = t . promise , C , I , A = J ( c . url , c . params ) ; p . pendingRequests . push ( c ) ; r . then ( s , s ) ; ! c . cache && ! e . cache || ( ! 1 === c . cache || "GET" !== c . method && "JSONP" !== c . method ) || ( C = T ( c . cache ) ? c . cache : T ( e . cache ) ? e . cache : w ) ; if ( C ) if ( I = C . get ( A ) , D ( I ) ) { if ( I && N ( I . then ) ) return I . then ( s , s ) , I ; L ( I ) ? q ( I [ 1 ] , I [ 0 ] , ha ( I [ 2 ] ) , I [ 3 ] ) : q ( I , 200 , { } , "OK" ) } else C . put ( A , r ) ; F ( I ) &&
( ( I = Pb ( c . url ) ? b . cookies ( ) [ c . xsrfCookieName || e . xsrfCookieName ] : u ) && ( g [ c . xsrfHeaderName || e . xsrfHeaderName ] = I ) , a ( c . method , A , f , m , g , c . timeout , c . withCredentials , c . responseType ) ) ; return r } function J ( a , b ) { if ( ! b ) return a ; var c = [ ] ; Sc ( b , function ( a , b ) { null === a || F ( a ) || ( L ( a ) || ( a = [ a ] ) , r ( a , function ( a ) { T ( a ) && ( a = va ( a ) ? a . toISOString ( ) : oa ( a ) ) ; c . push ( Da ( b ) + "=" + Da ( a ) ) } ) ) } ) ; 0 < c . length && ( a += ( - 1 == a . indexOf ( "?" ) ? "?" : "&" ) + c . join ( "&" ) ) ; return a } var w = c ( "$http" ) , t = [ ] ; r ( f , function ( a ) { t . unshift ( G ( a ) ? q . get ( a ) : q . invoke ( a ) ) } ) ; r ( g ,
function ( a , b ) { var c = G ( a ) ? q . get ( a ) : q . invoke ( a ) ; t . splice ( b , 0 , { response : function ( a ) { return c ( n . when ( a ) ) } , responseError : function ( a ) { return c ( n . reject ( a ) ) } } ) } ) ; p . pendingRequests = [ ] ; ( function ( a ) { r ( arguments , function ( a ) { p [ a ] = function ( b , c ) { return p ( E ( c || { } , { method : a , url : b } ) ) } } ) } ) ( "get" , "delete" , "head" , "jsonp" ) ; ( function ( a ) { r ( arguments , function ( a ) { p [ a ] = function ( b , c , d ) { return p ( E ( d || { } , { method : a , url : b , data : c } ) ) } } ) } ) ( "post" , "put" , "patch" ) ; p . defaults = e ; return p } ] } function xe ( b ) { if ( 8 >= R && ( ! b . match ( /^(get|post|head|put|delete|options)$/i ) ||
! W . XMLHttpRequest ) ) return new W . ActiveXObject ( "Microsoft.XMLHTTP" ) ; if ( W . XMLHttpRequest ) return new W . XMLHttpRequest ; throw z ( "$httpBackend" ) ( "noxhr" ) ; } function Ud ( ) { this . $get = [ "$browser" , "$window" , "$document" , function ( b , a , c ) { return ye ( b , xe , b . defer , a . angular . callbacks , c [ 0 ] ) } ] } function ye ( b , a , c , d , e ) { function f ( a , b , c ) { var f = e . createElement ( "script" ) , g = null ; f . type = "text/javascript" ; f . src = a ; f . async = ! 0 ; g = function ( a ) { bb ( f , "load" , g ) ; bb ( f , "error" , g ) ; e . body . removeChild ( f ) ; f = null ; var h = - 1 , s = "unknown" ; a && ( "load" !==
a . type || d [ b ] . called || ( a = { type : "error" } ) , s = a . type , h = "error" === a . type ? 404 : 200 ) ; c && c ( h , s ) } ; sb ( f , "load" , g ) ; sb ( f , "error" , g ) ; 8 >= R && ( f . onreadystatechange = function ( ) { G ( f . readyState ) && /loaded|complete/ . test ( f . readyState ) && ( f . onreadystatechange = null , g ( { type : "load" } ) ) } ) ; e . body . appendChild ( f ) ; return g } var g = - 1 ; return function ( e , k , m , l , n , q , p , s ) { function J ( ) { t = g ; K && K ( ) ; B && B . abort ( ) } function w ( a , d , e , f , g ) { O && c . cancel ( O ) ; K = B = null ; 0 === d && ( d = e ? 200 : "file" == xa ( k ) . protocol ? 404 : 0 ) ; a ( 1223 === d ? 204 : d , e , f , g || "" ) ; b . $$completeOutstandingRequest ( v ) }
var t ; b . $$incOutstandingRequestCount ( ) ; k = k || b . url ( ) ; if ( "jsonp" == x ( e ) ) { var y = "_" + ( d . counter ++ ) . toString ( 36 ) ; d [ y ] = function ( a ) { d [ y ] . data = a ; d [ y ] . called = ! 0 } ; var K = f ( k . replace ( "JSON_CALLBACK" , "angular.callbacks." + y ) , y , function ( a , b ) { w ( l , a , d [ y ] . data , "" , b ) ; d [ y ] = v } ) } else { var B = a ( e ) ; B . open ( e , k , ! 0 ) ; r ( n , function ( a , b ) { D ( a ) && B . setRequestHeader ( b , a ) } ) ; B . onreadystatechange = function ( ) { if ( B && 4 == B . readyState ) { var a = null , b = null , c = "" ; t !== g && ( a = B . getAllResponseHeaders ( ) , b = "response" in B ? B . response : B . responseText ) ; t === g &&
10 > R || ( c = B . statusText ) ; w ( l , t || B . status , b , a , c ) } } ; p && ( B . withCredentials = ! 0 ) ; if ( s ) try { B . responseType = s } catch ( ba ) { if ( "json" !== s ) throw ba ; } B . send ( m || null ) } if ( 0 < q ) var O = c ( J , q ) ; else q && N ( q . then ) && q . then ( J ) } } function Rd ( ) { var b = "{{" , a = "}}" ; this . startSymbol = function ( a ) { return a ? ( b = a , this ) : b } ; this . endSymbol = function ( b ) { return b ? ( a = b , this ) : a } ; this . $get = [ "$parse" , "$exceptionHandler" , "$sce" , function ( c , d , e ) { function f ( f , m , l ) { for ( var n , q , p = 0 , s = [ ] , J = f . length , w = ! 1 , t = [ ] ; p < J ; ) - 1 != ( n = f . indexOf ( b , p ) ) && - 1 != ( q = f . indexOf ( a ,
n + g ) ) ? ( p != n && s . push ( f . substring ( p , n ) ) , s . push ( p = c ( w = f . substring ( n + g , q ) ) ) , p . exp = w , p = q + h , w = ! 0 ) : ( p != J && s . push ( f . substring ( p ) ) , p = J ) ; ( J = s . length ) || ( s . push ( "" ) , J = 1 ) ; if ( l && 1 < s . length ) throw wc ( "noconcat" , f ) ; if ( ! m || w ) return t . length = J , p = function ( a ) { try { for ( var b = 0 , c = J , g ; b < c ; b ++ ) { if ( "function" == typeof ( g = s [ b ] ) ) if ( g = g ( a ) , g = l ? e . getTrusted ( l , g ) : e . valueOf ( g ) , null == g ) g = "" ; else switch ( typeof g ) { case "string" : break ; case "number" : g = "" + g ; break ; default : g = oa ( g ) } t [ b ] = g } return t . join ( "" ) } catch ( h ) { a = wc ( "interr" , f , h . toString ( ) ) ,
d ( a ) } } , p . exp = f , p . parts = s , p } var g = b . length , h = a . length ; f . startSymbol = function ( ) { return b } ; f . endSymbol = function ( ) { return a } ; return f } ] } function Sd ( ) { this . $get = [ "$rootScope" , "$window" , "$q" , function ( b , a , c ) { function d ( d , g , h , k ) { var m = a . setInterval , l = a . clearInterval , n = c . defer ( ) , q = n . promise , p = 0 , s = D ( k ) && ! k ; h = D ( h ) ? h : 0 ; q . then ( null , null , d ) ; q . $$intervalId = m ( function ( ) { n . notify ( p ++ ) ; 0 < h && p >= h && ( n . resolve ( p ) , l ( q . $$intervalId ) , delete e [ q . $$intervalId ] ) ; s || b . $apply ( ) } , g ) ; e [ q . $$intervalId ] = n ; return q } var e = { } ; d . cancel =
function ( b ) { return b && b . $$intervalId in e ? ( e [ b . $$intervalId ] . reject ( "canceled" ) , a . clearInterval ( b . $$intervalId ) , delete e [ b . $$intervalId ] , ! 0 ) : ! 1 } ; return d } ] } function ad ( ) { this . $get = function ( ) { return { id : "en-us" , NUMBER _FORMATS : { DECIMAL _SEP : "." , GROUP _SEP : "," , PATTERNS : [ { minInt : 1 , minFrac : 0 , maxFrac : 3 , posPre : "" , posSuf : "" , negPre : "-" , negSuf : "" , gSize : 3 , lgSize : 3 } , { minInt : 1 , minFrac : 2 , maxFrac : 2 , posPre : "\u00a4" , posSuf : "" , negPre : "(\u00a4" , negSuf : ")" , gSize : 3 , lgSize : 3 } ] , CURRENCY _SYM : "$" } , DATETIME _FORMATS : { MONTH : "January February March April May June July August September October November December" . split ( " " ) ,
SHORTMONTH : "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec" . split ( " " ) , DAY : "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" . split ( " " ) , SHORTDAY : "Sun Mon Tue Wed Thu Fri Sat" . split ( " " ) , AMPMS : [ "AM" , "PM" ] , medium : "MMM d, y h:mm:ss a" , "short" : "M/d/yy h:mm a" , fullDate : "EEEE, MMMM d, y" , longDate : "MMMM d, y" , mediumDate : "MMM d, y" , shortDate : "M/d/yy" , mediumTime : "h:mm:ss a" , shortTime : "h:mm a" } , pluralCat : function ( b ) { return 1 === b ? "one" : "other" } } } } function Qb ( b ) { b = b . split ( "/" ) ; for ( var a = b . length ; a -- ; ) b [ a ] =
mb ( b [ a ] ) ; return b . join ( "/" ) } function xc ( b , a , c ) { b = xa ( b , c ) ; a . $$protocol = b . protocol ; a . $$host = b . hostname ; a . $$port = U ( b . port ) || ze [ b . protocol ] || null } function yc ( b , a , c ) { var d = "/" !== b . charAt ( 0 ) ; d && ( b = "/" + b ) ; b = xa ( b , c ) ; a . $$path = decodeURIComponent ( d && "/" === b . pathname . charAt ( 0 ) ? b . pathname . substring ( 1 ) : b . pathname ) ; a . $$search = cc ( b . search ) ; a . $$hash = decodeURIComponent ( b . hash ) ; a . $$path && "/" != a . $$path . charAt ( 0 ) && ( a . $$path = "/" + a . $$path ) } function ta ( b , a ) { if ( 0 === a . indexOf ( b ) ) return a . substr ( b . length ) } function Ga ( b ) { var a =
b . indexOf ( "#" ) ; return - 1 == a ? b : b . substr ( 0 , a ) } function Rb ( b ) { return b . substr ( 0 , Ga ( b ) . lastIndexOf ( "/" ) + 1 ) } function zc ( b , a ) { this . $$html5 = ! 0 ; a = a || "" ; var c = Rb ( b ) ; xc ( b , this , b ) ; this . $$parse = function ( a ) { var e = ta ( c , a ) ; if ( ! G ( e ) ) throw Sb ( "ipthprfx" , a , c ) ; yc ( e , this , b ) ; this . $$path || ( this . $$path = "/" ) ; this . $$compose ( ) } ; this . $$compose = function ( ) { var a = Cb ( this . $$search ) , b = this . $$hash ? "#" + mb ( this . $$hash ) : "" ; this . $$url = Qb ( this . $$path ) + ( a ? "?" + a : "" ) + b ; this . $$absUrl = c + this . $$url . substr ( 1 ) } ; this . $$parseLinkUrl = function ( d ,
e ) { var f , g ; ( f = ta ( b , d ) ) !== u ? ( g = f , g = ( f = ta ( a , f ) ) !== u ? c + ( ta ( "/" , f ) || f ) : b + g ) : ( f = ta ( c , d ) ) !== u ? g = c + f : c == d + "/" && ( g = c ) ; g && this . $$parse ( g ) ; return ! ! g } } function Tb ( b , a ) { var c = Rb ( b ) ; xc ( b , this , b ) ; this . $$parse = function ( d ) { var e = ta ( b , d ) || ta ( c , d ) , e = "#" == e . charAt ( 0 ) ? ta ( a , e ) : this . $$html5 ? e : "" ; if ( ! G ( e ) ) throw Sb ( "ihshprfx" , d , a ) ; yc ( e , this , b ) ; d = this . $$path ; var f = /^\/[A-Z]:(\/.*)/ ; 0 === e . indexOf ( b ) && ( e = e . replace ( b , "" ) ) ; f . exec ( e ) || ( d = ( e = f . exec ( d ) ) ? e [ 1 ] : d ) ; this . $$path = d ; this . $$compose ( ) } ; this . $$compose = function ( ) { var c = Cb ( this . $$search ) ,
e = this . $$hash ? "#" + mb ( this . $$hash ) : "" ; this . $$url = Qb ( this . $$path ) + ( c ? "?" + c : "" ) + e ; this . $$absUrl = b + ( this . $$url ? a + this . $$url : "" ) } ; this . $$parseLinkUrl = function ( a , c ) { return Ga ( b ) == Ga ( a ) ? ( this . $$parse ( a ) , ! 0 ) : ! 1 } } function Ac ( b , a ) { this . $$html5 = ! 0 ; Tb . apply ( this , arguments ) ; var c = Rb ( b ) ; this . $$parseLinkUrl = function ( d , e ) { var f , g ; b == Ga ( d ) ? f = d : ( g = ta ( c , d ) ) ? f = b + a + g : c === d + "/" && ( f = c ) ; f && this . $$parse ( f ) ; return ! ! f } ; this . $$compose = function ( ) { var c = Cb ( this . $$search ) , e = this . $$hash ? "#" + mb ( this . $$hash ) : "" ; this . $$url = Qb ( this . $$path ) +
( c ? "?" + c : "" ) + e ; this . $$absUrl = b + a + this . $$url } } function tb ( b ) { return function ( ) { return this [ b ] } } function Bc ( b , a ) { return function ( c ) { if ( F ( c ) ) return this [ b ] ; this [ b ] = a ( c ) ; this . $$compose ( ) ; return this } } function Vd ( ) { var b = "" , a = ! 1 ; this . hashPrefix = function ( a ) { return D ( a ) ? ( b = a , this ) : b } ; this . html5Mode = function ( b ) { return D ( b ) ? ( a = b , this ) : a } ; this . $get = [ "$rootScope" , "$browser" , "$sniffer" , "$rootElement" , function ( c , d , e , f ) { function g ( a ) { c . $broadcast ( "$locationChangeSuccess" , h . absUrl ( ) , a ) } var h , k = d . baseHref ( ) , m = d . url ( ) ;
a ? ( k = m . substring ( 0 , m . indexOf ( "/" , m . indexOf ( "//" ) + 2 ) ) + ( k || "/" ) , e = e . history ? zc : Ac ) : ( k = Ga ( m ) , e = Tb ) ; h = new e ( k , "#" + b ) ; h . $$parseLinkUrl ( m , m ) ; var l = /^\s*(javascript|mailto):/i ; f . on ( "click" , function ( a ) { if ( ! a . ctrlKey && ! a . metaKey && 2 != a . which ) { for ( var b = A ( a . target ) ; "a" !== x ( b [ 0 ] . nodeName ) ; ) if ( b [ 0 ] === f [ 0 ] || ! ( b = b . parent ( ) ) [ 0 ] ) return ; var e = b . prop ( "href" ) , g = b . attr ( "href" ) || b . attr ( "xlink:href" ) ; T ( e ) && "[object SVGAnimatedString]" === e . toString ( ) && ( e = xa ( e . animVal ) . href ) ; l . test ( e ) || ( ! e || ( b . attr ( "target" ) || a . isDefaultPrevented ( ) ) ||
! h . $$parseLinkUrl ( e , g ) ) || ( a . preventDefault ( ) , h . absUrl ( ) != d . url ( ) && ( c . $apply ( ) , W . angular [ "ff-684208-preventDefault" ] = ! 0 ) ) } } ) ; h . absUrl ( ) != m && d . url ( h . absUrl ( ) , ! 0 ) ; d . onUrlChange ( function ( a ) { h . absUrl ( ) != a && ( c . $evalAsync ( function ( ) { var b = h . absUrl ( ) ; h . $$parse ( a ) ; c . $broadcast ( "$locationChangeStart" , a , b ) . defaultPrevented ? ( h . $$parse ( b ) , d . url ( b ) ) : g ( b ) } ) , c . $$phase || c . $digest ( ) ) } ) ; var n = 0 ; c . $watch ( function ( ) { var a = d . url ( ) , b = h . $$replace ; n && a == h . absUrl ( ) || ( n ++ , c . $evalAsync ( function ( ) { c . $broadcast ( "$locationChangeStart" ,
h . absUrl ( ) , a ) . defaultPrevented ? h . $$parse ( a ) : ( d . url ( h . absUrl ( ) , b ) , g ( a ) ) } ) ) ; h . $$replace = ! 1 ; return n } ) ; return h } ] } function Wd ( ) { var b = ! 0 , a = this ; this . debugEnabled = function ( a ) { return D ( a ) ? ( b = a , this ) : b } ; this . $get = [ "$window" , function ( c ) { function d ( a ) { a instanceof Error && ( a . stack ? a = a . message && - 1 === a . stack . indexOf ( a . message ) ? "Error: " + a . message + "\n" + a . stack : a . stack : a . sourceURL && ( a = a . message + "\n" + a . sourceURL + ":" + a . line ) ) ; return a } function e ( a ) { var b = c . console || { } , e = b [ a ] || b . log || v ; a = ! 1 ; try { a = ! ! e . apply } catch ( k ) { } return a ?
function ( ) { var a = [ ] ; r ( arguments , function ( b ) { a . push ( d ( b ) ) } ) ; return e . apply ( b , a ) } : function ( a , b ) { e ( a , null == b ? "" : b ) } } return { log : e ( "log" ) , info : e ( "info" ) , warn : e ( "warn" ) , error : e ( "error" ) , debug : function ( ) { var c = e ( "debug" ) ; return function ( ) { b && c . apply ( a , arguments ) } } ( ) } } ] } function ka ( b , a ) { if ( "__defineGetter__" === b || "__defineSetter__" === b || "__lookupGetter__" === b || "__lookupSetter__" === b || "__proto__" === b ) throw la ( "isecfld" , a ) ; return b } function ma ( b , a ) { if ( b ) { if ( b . constructor === b ) throw la ( "isecfn" , a ) ; if ( b . document &&
b . location && b . alert && b . setInterval ) throw la ( "isecwindow" , a ) ; if ( b . children && ( b . nodeName || b . prop && b . attr && b . find ) ) throw la ( "isecdom" , a ) ; if ( b === Object ) throw la ( "isecobj" , a ) ; } return b } function ub ( b , a , c , d , e ) { ma ( b , d ) ; e = e || { } ; a = a . split ( "." ) ; for ( var f , g = 0 ; 1 < a . length ; g ++ ) { f = ka ( a . shift ( ) , d ) ; var h = ma ( b [ f ] , d ) ; h || ( h = { } , b [ f ] = h ) ; b = h ; b . then && e . unwrapPromises && ( ya ( d ) , "$$v" in b || function ( a ) { a . then ( function ( b ) { a . $$v = b } ) } ( b ) , b . $$v === u && ( b . $$v = { } ) , b = b . $$v ) } f = ka ( a . shift ( ) , d ) ; ma ( b [ f ] , d ) ; return b [ f ] = c } function Qa ( b ) { return "constructor" ==
b } function Cc ( b , a , c , d , e , f , g ) { ka ( b , f ) ; ka ( a , f ) ; ka ( c , f ) ; ka ( d , f ) ; ka ( e , f ) ; var h = function ( a ) { return ma ( a , f ) } , k = g . expensiveChecks , m = k || Qa ( b ) ? h : ga , l = k || Qa ( a ) ? h : ga , n = k || Qa ( c ) ? h : ga , q = k || Qa ( d ) ? h : ga , p = k || Qa ( e ) ? h : ga ; return g . unwrapPromises ? function ( g , h ) { var k = h && h . hasOwnProperty ( b ) ? h : g , t ; if ( null == k ) return k ; ( k = m ( k [ b ] ) ) && k . then && ( ya ( f ) , "$$v" in k || ( t = k , t . $$v = u , t . then ( function ( a ) { t . $$v = m ( a ) } ) ) , k = m ( k . $$v ) ) ; if ( ! a ) return k ; if ( null == k ) return u ; ( k = l ( k [ a ] ) ) && k . then && ( ya ( f ) , "$$v" in k || ( t = k , t . $$v = u , t . then ( function ( a ) { t . $$v =
l ( a ) } ) ) , k = l ( k . $$v ) ) ; if ( ! c ) return k ; if ( null == k ) return u ; ( k = n ( k [ c ] ) ) && k . then && ( ya ( f ) , "$$v" in k || ( t = k , t . $$v = u , t . then ( function ( a ) { t . $$v = n ( a ) } ) ) , k = n ( k . $$v ) ) ; if ( ! d ) return k ; if ( null == k ) return u ; ( k = q ( k [ d ] ) ) && k . then && ( ya ( f ) , "$$v" in k || ( t = k , t . $$v = u , t . then ( function ( a ) { t . $$v = q ( a ) } ) ) , k = q ( k . $$v ) ) ; if ( ! e ) return k ; if ( null == k ) return u ; ( k = p ( k [ e ] ) ) && k . then && ( ya ( f ) , "$$v" in k || ( t = k , t . $$v = u , t . then ( function ( a ) { t . $$v = p ( a ) } ) ) , k = p ( k . $$v ) ) ; return k } : function ( f , g ) { var h = g && g . hasOwnProperty ( b ) ? g : f ; if ( null == h ) return h ; h = m ( h [ b ] ) ;
if ( ! a ) return h ; if ( null == h ) return u ; h = l ( h [ a ] ) ; if ( ! c ) return h ; if ( null == h ) return u ; h = n ( h [ c ] ) ; if ( ! d ) return h ; if ( null == h ) return u ; h = q ( h [ d ] ) ; return e ? null == h ? u : h = p ( h [ e ] ) : h } } function Ae ( b , a ) { return function ( c , d ) { return b ( c , d , ya , ma , a ) } } function Dc ( b , a , c ) { var d = a . expensiveChecks , e = d ? Be : Ce ; if ( e . hasOwnProperty ( b ) ) return e [ b ] ; var f = b . split ( "." ) , g = f . length , h ; if ( a . csp ) h = 6 > g ? Cc ( f [ 0 ] , f [ 1 ] , f [ 2 ] , f [ 3 ] , f [ 4 ] , c , a ) : function ( b , d ) { var e = 0 , h ; do h = Cc ( f [ e ++ ] , f [ e ++ ] , f [ e ++ ] , f [ e ++ ] , f [ e ++ ] , c , a ) ( b , d ) , d = u , b = h ; while ( e < g ) ; return h } ;
else { var k = "var p;\n" ; d && ( k += "s = eso(s, fe);\nl = eso(l, fe);\n" ) ; var m = d ; r ( f , function ( b , e ) { ka ( b , c ) ; var f = ( e ? "s" : '((l&&l.hasOwnProperty("' + b + '"))?l:s)' ) + '["' + b + '"]' , g = d || Qa ( b ) ; g && ( f = "eso(" + f + ", fe)" , m = ! 0 ) ; k += "if(s == null) return undefined;\ns=" + f + ";\n" ; a . unwrapPromises && ( k += 'if (s && s.then) {\n pw("' + c . replace ( /(["\r\n])/g , "\\$1" ) + '");\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=' + ( g ? "eso(v)" : "v" ) + ";});\n}\n s=" + ( g ? "eso(s.$$v)" : "s.$$v" ) + "\n}\n" ) } ) ; k += "return s;" ;
h = new Function ( "s" , "l" , "pw" , "eso" , "fe" , k ) ; h . toString = aa ( k ) ; if ( m || a . unwrapPromises ) h = Ae ( h , c ) } "hasOwnProperty" !== b && ( e [ b ] = h ) ; return h } function Xd ( ) { var b = { } , a = { } , c = { csp : ! 1 , unwrapPromises : ! 1 , logPromiseWarnings : ! 0 , expensiveChecks : ! 1 } ; this . unwrapPromises = function ( a ) { return D ( a ) ? ( c . unwrapPromises = ! ! a , this ) : c . unwrapPromises } ; this . logPromiseWarnings = function ( a ) { return D ( a ) ? ( c . logPromiseWarnings = a , this ) : c . logPromiseWarnings } ; this . $get = [ "$filter" , "$sniffer" , "$log" , function ( d , e , f ) { c . csp = e . csp ; var g = { csp : c . csp ,
unwrapPromises : c . unwrapPromises , logPromiseWarnings : c . logPromiseWarnings , expensiveChecks : ! 0 } ; ya = function ( a ) { c . logPromiseWarnings && ! Ec . hasOwnProperty ( a ) && ( Ec [ a ] = ! 0 , f . warn ( "[$parse] Promise found in the expression `" + a + "`. Automatic unwrapping of promises in Angular expressions is deprecated." ) ) } ; return function ( e , f ) { var m ; switch ( typeof e ) { case "string" : var l = f ? a : b ; if ( l . hasOwnProperty ( e ) ) return l [ e ] ; m = f ? g : c ; var n = new Ub ( m ) ; m = ( new gb ( n , d , m ) ) . parse ( e ) ; "hasOwnProperty" !== e && ( l [ e ] = m ) ; return m ; case "function" : return e ;
default : return v } } } ] } function Zd ( ) { this . $get = [ "$rootScope" , "$exceptionHandler" , function ( b , a ) { return De ( function ( a ) { b . $evalAsync ( a ) } , a ) } ] } function De ( b , a ) { function c ( a ) { return a } function d ( a ) { return g ( a ) } var e = function ( ) { var g = [ ] , m , l ; return l = { resolve : function ( a ) { if ( g ) { var c = g ; g = u ; m = f ( a ) ; c . length && b ( function ( ) { for ( var a , b = 0 , d = c . length ; b < d ; b ++ ) a = c [ b ] , m . then ( a [ 0 ] , a [ 1 ] , a [ 2 ] ) } ) } } , reject : function ( a ) { l . resolve ( h ( a ) ) } , notify : function ( a ) { if ( g ) { var c = g ; g . length && b ( function ( ) { for ( var b , d = 0 , e = c . length ; d < e ; d ++ ) b =
c [ d ] , b [ 2 ] ( a ) } ) } } , promise : { then : function ( b , f , h ) { var l = e ( ) , J = function ( d ) { try { l . resolve ( ( N ( b ) ? b : c ) ( d ) ) } catch ( e ) { l . reject ( e ) , a ( e ) } } , w = function ( b ) { try { l . resolve ( ( N ( f ) ? f : d ) ( b ) ) } catch ( c ) { l . reject ( c ) , a ( c ) } } , t = function ( b ) { try { l . notify ( ( N ( h ) ? h : c ) ( b ) ) } catch ( d ) { a ( d ) } } ; g ? g . push ( [ J , w , t ] ) : m . then ( J , w , t ) ; return l . promise } , "catch" : function ( a ) { return this . then ( null , a ) } , "finally" : function ( a ) { function b ( a , c ) { var d = e ( ) ; c ? d . resolve ( a ) : d . reject ( a ) ; return d . promise } function d ( e , f ) { var g = null ; try { g = ( a || c ) ( ) } catch ( h ) { return b ( h ,
! 1 ) } return g && N ( g . then ) ? g . then ( function ( ) { return b ( e , f ) } , function ( a ) { return b ( a , ! 1 ) } ) : b ( e , f ) } return this . then ( function ( a ) { return d ( a , ! 0 ) } , function ( a ) { return d ( a , ! 1 ) } ) } } } } , f = function ( a ) { return a && N ( a . then ) ? a : { then : function ( c ) { var d = e ( ) ; b ( function ( ) { d . resolve ( c ( a ) ) } ) ; return d . promise } } } , g = function ( a ) { var b = e ( ) ; b . reject ( a ) ; return b . promise } , h = function ( c ) { return { then : function ( f , g ) { var h = e ( ) ; b ( function ( ) { try { h . resolve ( ( N ( g ) ? g : d ) ( c ) ) } catch ( b ) { h . reject ( b ) , a ( b ) } } ) ; return h . promise } } } ; return { defer : e , reject : g ,
when : function ( h , m , l , n ) { var q = e ( ) , p , s = function ( b ) { try { return ( N ( m ) ? m : c ) ( b ) } catch ( d ) { return a ( d ) , g ( d ) } } , J = function ( b ) { try { return ( N ( l ) ? l : d ) ( b ) } catch ( c ) { return a ( c ) , g ( c ) } } , w = function ( b ) { try { return ( N ( n ) ? n : c ) ( b ) } catch ( d ) { a ( d ) } } ; b ( function ( ) { f ( h ) . then ( function ( a ) { p || ( p = ! 0 , q . resolve ( f ( a ) . then ( s , J , w ) ) ) } , function ( a ) { p || ( p = ! 0 , q . resolve ( J ( a ) ) ) } , function ( a ) { p || q . notify ( w ( a ) ) } ) } ) ; return q . promise } , all : function ( a ) { var b = e ( ) , c = 0 , d = L ( a ) ? [ ] : { } ; r ( a , function ( a , e ) { c ++ ; f ( a ) . then ( function ( a ) { d . hasOwnProperty ( e ) || ( d [ e ] = a ,
-- c || b . resolve ( d ) ) } , function ( a ) { d . hasOwnProperty ( e ) || b . reject ( a ) } ) } ) ; 0 === c && b . resolve ( d ) ; return b . promise } } } function fe ( ) { this . $get = [ "$window" , "$timeout" , function ( b , a ) { var c = b . requestAnimationFrame || b . webkitRequestAnimationFrame || b . mozRequestAnimationFrame , d = b . cancelAnimationFrame || b . webkitCancelAnimationFrame || b . mozCancelAnimationFrame || b . webkitCancelRequestAnimationFrame , e = ! ! c , f = e ? function ( a ) { var b = c ( a ) ; return function ( ) { d ( b ) } } : function ( b ) { var c = a ( b , 16.66 , ! 1 ) ; return function ( ) { a . cancel ( c ) } } ; f . supported =
e ; return f } ] } function Yd ( ) { var b = 10 , a = z ( "$rootScope" ) , c = null ; this . digestTtl = function ( a ) { arguments . length && ( b = a ) ; return b } ; this . $get = [ "$injector" , "$exceptionHandler" , "$parse" , "$browser" , function ( d , e , f , g ) { function h ( ) { this . $id = ib ( ) ; this . $$phase = this . $parent = this . $$watchers = this . $$nextSibling = this . $$prevSibling = this . $$childHead = this . $$childTail = null ; this [ "this" ] = this . $root = this ; this . $$destroyed = ! 1 ; this . $$asyncQueue = [ ] ; this . $$postDigestQueue = [ ] ; this . $$listeners = { } ; this . $$listenerCount = { } ; this . $$isolateBindings =
{ } } function k ( b ) { if ( q . $$phase ) throw a ( "inprog" , q . $$phase ) ; q . $$phase = b } function m ( a , b ) { var c = f ( a ) ; Ya ( c , b ) ; return c } function l ( a , b , c ) { do a . $$listenerCount [ c ] -= b , 0 === a . $$listenerCount [ c ] && delete a . $$listenerCount [ c ] ; while ( a = a . $parent ) } function n ( ) { } h . prototype = { constructor : h , $new : function ( a ) { a ? ( a = new h , a . $root = this . $root , a . $$asyncQueue = this . $$asyncQueue , a . $$postDigestQueue = this . $$postDigestQueue ) : ( this . $$childScopeClass || ( this . $$childScopeClass = function ( ) { this . $$watchers = this . $$nextSibling = this . $$childHead =
this . $$childTail = null ; this . $$listeners = { } ; this . $$listenerCount = { } ; this . $id = ib ( ) ; this . $$childScopeClass = null } , this . $$childScopeClass . prototype = this ) , a = new this . $$childScopeClass ) ; a [ "this" ] = a ; a . $parent = this ; a . $$prevSibling = this . $$childTail ; this . $$childHead ? this . $$childTail = this . $$childTail . $$nextSibling = a : this . $$childHead = this . $$childTail = a ; return a } , $watch : function ( a , b , d ) { var e = m ( a , "watch" ) , f = this . $$watchers , g = { fn : b , last : n , get : e , exp : a , eq : ! ! d } ; c = null ; if ( ! N ( b ) ) { var h = m ( b || v , "listener" ) ; g . fn = function ( a ,
b , c ) { h ( c ) } } if ( "string" == typeof a && e . constant ) { var k = g . fn ; g . fn = function ( a , b , c ) { k . call ( this , a , b , c ) ; Ua ( f , g ) } } f || ( f = this . $$watchers = [ ] ) ; f . unshift ( g ) ; return function ( ) { Ua ( f , g ) ; c = null } } , $watchCollection : function ( a , b ) { var c = this , d , e , g , h = 1 < b . length , k = 0 , l = f ( a ) , m = [ ] , n = { } , q = ! 0 , r = 0 ; return this . $watch ( function ( ) { d = l ( c ) ; var a , b , f ; if ( T ( d ) ) if ( Sa ( d ) ) for ( e !== m && ( e = m , r = e . length = 0 , k ++ ) , a = d . length , r !== a && ( k ++ , e . length = r = a ) , b = 0 ; b < a ; b ++ ) f = e [ b ] !== e [ b ] && d [ b ] !== d [ b ] , f || e [ b ] === d [ b ] || ( k ++ , e [ b ] = d [ b ] ) ; else { e !== n && ( e = n = { } , r = 0 ,
k ++ ) ; a = 0 ; for ( b in d ) d . hasOwnProperty ( b ) && ( a ++ , e . hasOwnProperty ( b ) ? ( f = e [ b ] !== e [ b ] && d [ b ] !== d [ b ] , f || e [ b ] === d [ b ] || ( k ++ , e [ b ] = d [ b ] ) ) : ( r ++ , e [ b ] = d [ b ] , k ++ ) ) ; if ( r > a ) for ( b in k ++ , e ) e . hasOwnProperty ( b ) && ! d . hasOwnProperty ( b ) && ( r -- , delete e [ b ] ) } else e !== d && ( e = d , k ++ ) ; return k } , function ( ) { q ? ( q = ! 1 , b ( d , d , c ) ) : b ( d , g , c ) ; if ( h ) if ( T ( d ) ) if ( Sa ( d ) ) { g = Array ( d . length ) ; for ( var a = 0 ; a < d . length ; a ++ ) g [ a ] = d [ a ] } else for ( a in g = { } , d ) lb . call ( d , a ) && ( g [ a ] = d [ a ] ) ; else g = d } ) } , $digest : function ( ) { var d , f , h , l , m = this . $$asyncQueue , r = this . $$postDigestQueue ,
K , B , u = b , O , M = [ ] , A , P , C ; k ( "$digest" ) ; g . $$checkUrlChange ( ) ; c = null ; do { B = ! 1 ; for ( O = this ; m . length ; ) { try { C = m . shift ( ) , C . scope . $eval ( C . expression ) } catch ( I ) { q . $$phase = null , e ( I ) } c = null } a : do { if ( l = O . $$watchers ) for ( K = l . length ; K -- ; ) try { if ( d = l [ K ] ) if ( ( f = d . get ( O ) ) !== ( h = d . last ) && ! ( d . eq ? Ca ( f , h ) : "number" === typeof f && "number" === typeof h && isNaN ( f ) && isNaN ( h ) ) ) B = ! 0 , c = d , d . last = d . eq ? Ka ( f , null ) : f , d . fn ( f , h === n ? f : h , O ) , 5 > u && ( A = 4 - u , M [ A ] || ( M [ A ] = [ ] ) , P = N ( d . exp ) ? "fn: " + ( d . exp . name || d . exp . toString ( ) ) : d . exp , P += "; newVal: " + oa ( f ) + "; oldVal: " +
oa ( h ) , M [ A ] . push ( P ) ) ; else if ( d === c ) { B = ! 1 ; break a } } catch ( D ) { q . $$phase = null , e ( D ) } if ( ! ( l = O . $$childHead || O !== this && O . $$nextSibling ) ) for ( ; O !== this && ! ( l = O . $$nextSibling ) ; ) O = O . $parent } while ( O = l ) ; if ( ( B || m . length ) && ! u -- ) throw q . $$phase = null , a ( "infdig" , b , oa ( M ) ) ; } while ( B || m . length ) ; for ( q . $$phase = null ; r . length ; ) try { r . shift ( ) ( ) } catch ( x ) { e ( x ) } } , $destroy : function ( ) { if ( ! this . $$destroyed ) { var a = this . $parent ; this . $broadcast ( "$destroy" ) ; this . $$destroyed = ! 0 ; this !== q && ( r ( this . $$listenerCount , Bb ( null , l , this ) ) , a . $$childHead ==
this && ( a . $$childHead = this . $$nextSibling ) , a . $$childTail == this && ( a . $$childTail = this . $$prevSibling ) , this . $$prevSibling && ( this . $$prevSibling . $$nextSibling = this . $$nextSibling ) , this . $$nextSibling && ( this . $$nextSibling . $$prevSibling = this . $$prevSibling ) , this . $parent = this . $$nextSibling = this . $$prevSibling = this . $$childHead = this . $$childTail = this . $root = null , this . $$listeners = { } , this . $$watchers = this . $$asyncQueue = this . $$postDigestQueue = [ ] , this . $destroy = this . $digest = this . $apply = v , this . $on = this . $watch = function ( ) { return v } ) } } ,
$eval : function ( a , b ) { return f ( a ) ( this , b ) } , $evalAsync : function ( a ) { q . $$phase || q . $$asyncQueue . length || g . defer ( function ( ) { q . $$asyncQueue . length && q . $digest ( ) } ) ; this . $$asyncQueue . push ( { scope : this , expression : a } ) } , $$postDigest : function ( a ) { this . $$postDigestQueue . push ( a ) } , $apply : function ( a ) { try { return k ( "$apply" ) , this . $eval ( a ) } catch ( b ) { e ( b ) } finally { q . $$phase = null ; try { q . $digest ( ) } catch ( c ) { throw e ( c ) , c ; } } } , $on : function ( a , b ) { var c = this . $$listeners [ a ] ; c || ( this . $$listeners [ a ] = c = [ ] ) ; c . push ( b ) ; var d = this ; do d . $$listenerCount [ a ] ||
( d . $$listenerCount [ a ] = 0 ) , d . $$listenerCount [ a ] ++ ; while ( d = d . $parent ) ; var e = this ; return function ( ) { var d = Ta ( c , b ) ; - 1 !== d && ( c [ d ] = null , l ( e , 1 , a ) ) } } , $emit : function ( a , b ) { var c = [ ] , d , f = this , g = ! 1 , h = { name : a , targetScope : f , stopPropagation : function ( ) { g = ! 0 } , preventDefault : function ( ) { h . defaultPrevented = ! 0 } , defaultPrevented : ! 1 } , k = [ h ] . concat ( wa . call ( arguments , 1 ) ) , l , m ; do { d = f . $$listeners [ a ] || c ; h . currentScope = f ; l = 0 ; for ( m = d . length ; l < m ; l ++ ) if ( d [ l ] ) try { d [ l ] . apply ( null , k ) } catch ( n ) { e ( n ) } else d . splice ( l , 1 ) , l -- , m -- ; if ( g ) break ;
f = f . $parent } while ( f ) ; return h } , $broadcast : function ( a , b ) { for ( var c = this , d = this , f = { name : a , targetScope : this , preventDefault : function ( ) { f . defaultPrevented = ! 0 } , defaultPrevented : ! 1 } , g = [ f ] . concat ( wa . call ( arguments , 1 ) ) , h , k ; c = d ; ) { f . currentScope = c ; d = c . $$listeners [ a ] || [ ] ; h = 0 ; for ( k = d . length ; h < k ; h ++ ) if ( d [ h ] ) try { d [ h ] . apply ( null , g ) } catch ( l ) { e ( l ) } else d . splice ( h , 1 ) , h -- , k -- ; if ( ! ( d = c . $$listenerCount [ a ] && c . $$childHead || c !== this && c . $$nextSibling ) ) for ( ; c !== this && ! ( d = c . $$nextSibling ) ; ) c = c . $parent } return f } } ; var q = new h ;
return q } ] } function bd ( ) { var b = /^\s*(https?|ftp|mailto|tel|file):/ , a = /^\s*((https?|ftp|file):|data:image\/)/ ; this . aHrefSanitizationWhitelist = function ( a ) { return D ( a ) ? ( b = a , this ) : b } ; this . imgSrcSanitizationWhitelist = function ( b ) { return D ( b ) ? ( a = b , this ) : a } ; this . $get = function ( ) { return function ( c , d ) { var e = d ? a : b , f ; if ( ! R || 8 <= R ) if ( f = xa ( c ) . href , "" !== f && ! f . match ( e ) ) return "unsafe:" + f ; return c } } } function Ee ( b ) { if ( "self" === b ) return b ; if ( G ( b ) ) { if ( - 1 < b . indexOf ( "***" ) ) throw za ( "iwcard" , b ) ; b = b . replace ( /([-()\[\]{}+?*.$\^|,:#<!\\])/g ,
"\\$1" ) . replace ( /\x08/g , "\\x08" ) . replace ( "\\*\\*" , ".*" ) . replace ( "\\*" , "[^:/.?&;]*" ) ; return RegExp ( "^" + b + "$" ) } if ( kb ( b ) ) return RegExp ( "^" + b . source + "$" ) ; throw za ( "imatcher" ) ; } function Fc ( b ) { var a = [ ] ; D ( b ) && r ( b , function ( b ) { a . push ( Ee ( b ) ) } ) ; return a } function ae ( ) { this . SCE _CONTEXTS = fa ; var b = [ "self" ] , a = [ ] ; this . resourceUrlWhitelist = function ( a ) { arguments . length && ( b = Fc ( a ) ) ; return b } ; this . resourceUrlBlacklist = function ( b ) { arguments . length && ( a = Fc ( b ) ) ; return a } ; this . $get = [ "$injector" , function ( c ) { function d ( a ) { var b =
function ( a ) { this . $$unwrapTrustedValue = function ( ) { return a } } ; a && ( b . prototype = new a ) ; b . prototype . valueOf = function ( ) { return this . $$unwrapTrustedValue ( ) } ; b . prototype . toString = function ( ) { return this . $$unwrapTrustedValue ( ) . toString ( ) } ; return b } var e = function ( a ) { throw za ( "unsafe" ) ; } ; c . has ( "$sanitize" ) && ( e = c . get ( "$sanitize" ) ) ; var f = d ( ) , g = { } ; g [ fa . HTML ] = d ( f ) ; g [ fa . CSS ] = d ( f ) ; g [ fa . URL ] = d ( f ) ; g [ fa . JS ] = d ( f ) ; g [ fa . RESOURCE _URL ] = d ( g [ fa . URL ] ) ; return { trustAs : function ( a , b ) { var c = g . hasOwnProperty ( a ) ? g [ a ] : null ; if ( ! c ) throw za ( "icontext" ,
a , b ) ; if ( null === b || b === u || "" === b ) return b ; if ( "string" !== typeof b ) throw za ( "itype" , a ) ; return new c ( b ) } , getTrusted : function ( c , d ) { if ( null === d || d === u || "" === d ) return d ; var f = g . hasOwnProperty ( c ) ? g [ c ] : null ; if ( f && d instanceof f ) return d . $$unwrapTrustedValue ( ) ; if ( c === fa . RESOURCE _URL ) { var f = xa ( d . toString ( ) ) , l , n , q = ! 1 ; l = 0 ; for ( n = b . length ; l < n ; l ++ ) if ( "self" === b [ l ] ? Pb ( f ) : b [ l ] . exec ( f . href ) ) { q = ! 0 ; break } if ( q ) for ( l = 0 , n = a . length ; l < n ; l ++ ) if ( "self" === a [ l ] ? Pb ( f ) : a [ l ] . exec ( f . href ) ) { q = ! 1 ; break } if ( q ) return d ; throw za ( "insecurl" ,
d . toString ( ) ) ; } if ( c === fa . HTML ) return e ( d ) ; throw za ( "unsafe" ) ; } , valueOf : function ( a ) { return a instanceof f ? a . $$unwrapTrustedValue ( ) : a } } } ] } function $d ( ) { var b = ! 0 ; this . enabled = function ( a ) { arguments . length && ( b = ! ! a ) ; return b } ; this . $get = [ "$parse" , "$sniffer" , "$sceDelegate" , function ( a , c , d ) { if ( b && c . msie && 8 > c . msieDocumentMode ) throw za ( "iequirks" ) ; var e = ha ( fa ) ; e . isEnabled = function ( ) { return b } ; e . trustAs = d . trustAs ; e . getTrusted = d . getTrusted ; e . valueOf = d . valueOf ; b || ( e . trustAs = e . getTrusted = function ( a , b ) { return b } ,
e . valueOf = ga ) ; e . parseAs = function ( b , c ) { var d = a ( c ) ; return d . literal && d . constant ? d : function ( a , c ) { return e . getTrusted ( b , d ( a , c ) ) } } ; var f = e . parseAs , g = e . getTrusted , h = e . trustAs ; r ( fa , function ( a , b ) { var c = x ( b ) ; e [ ab ( "parse_as_" + c ) ] = function ( b ) { return f ( a , b ) } ; e [ ab ( "get_trusted_" + c ) ] = function ( b ) { return g ( a , b ) } ; e [ ab ( "trust_as_" + c ) ] = function ( b ) { return h ( a , b ) } } ) ; return e } ] } function be ( ) { this . $get = [ "$window" , "$document" , function ( b , a ) { var c = { } , d = U ( ( /android (\d+)/ . exec ( x ( ( b . navigator || { } ) . userAgent ) ) || [ ] ) [ 1 ] ) , e = /Boxee/i . test ( ( b . navigator ||
{ } ) . userAgent ) , f = a [ 0 ] || { } , g = f . documentMode , h , k = /^(Moz|webkit|O|ms)(?=[A-Z])/ , m = f . body && f . body . style , l = ! 1 , n = ! 1 ; if ( m ) { for ( var q in m ) if ( l = k . exec ( q ) ) { h = l [ 0 ] ; h = h . substr ( 0 , 1 ) . toUpperCase ( ) + h . substr ( 1 ) ; break } h || ( h = "WebkitOpacity" in m && "webkit" ) ; l = ! ! ( "transition" in m || h + "Transition" in m ) ; n = ! ! ( "animation" in m || h + "Animation" in m ) ; ! d || l && n || ( l = G ( f . body . style . webkitTransition ) , n = G ( f . body . style . webkitAnimation ) ) } return { history : ! ( ! b . history || ! b . history . pushState || 4 > d || e ) , hashchange : "onhashchange" in b && ( ! g || 7 <
g ) , hasEvent : function ( a ) { if ( "input" == a && 9 == R ) return ! 1 ; if ( F ( c [ a ] ) ) { var b = f . createElement ( "div" ) ; c [ a ] = "on" + a in b } return c [ a ] } , csp : Za ( ) , vendorPrefix : h , transitions : l , animations : n , android : d , msie : R , msieDocumentMode : g } } ] } function de ( ) { this . $get = [ "$rootScope" , "$browser" , "$q" , "$exceptionHandler" , function ( b , a , c , d ) { function e ( e , h , k ) { var m = c . defer ( ) , l = m . promise , n = D ( k ) && ! k ; h = a . defer ( function ( ) { try { m . resolve ( e ( ) ) } catch ( a ) { m . reject ( a ) , d ( a ) } finally { delete f [ l . $$timeoutId ] } n || b . $apply ( ) } , h ) ; l . $$timeoutId = h ; f [ h ] = m ;
return l } var f = { } ; e . cancel = function ( b ) { return b && b . $$timeoutId in f ? ( f [ b . $$timeoutId ] . reject ( "canceled" ) , delete f [ b . $$timeoutId ] , a . defer . cancel ( b . $$timeoutId ) ) : ! 1 } ; return e } ] } function xa ( b , a ) { var c = b ; R && ( Y . setAttribute ( "href" , c ) , c = Y . href ) ; Y . setAttribute ( "href" , c ) ; return { href : Y . href , protocol : Y . protocol ? Y . protocol . replace ( /:$/ , "" ) : "" , host : Y . host , search : Y . search ? Y . search . replace ( /^\?/ , "" ) : "" , hash : Y . hash ? Y . hash . replace ( /^#/ , "" ) : "" , hostname : Y . hostname , port : Y . port , pathname : "/" === Y . pathname . charAt ( 0 ) ? Y . pathname :
"/" + Y . pathname } } function Pb ( b ) { b = G ( b ) ? xa ( b ) : b ; return b . protocol === Gc . protocol && b . host === Gc . host } function ee ( ) { this . $get = aa ( W ) } function kc ( b ) { function a ( d , e ) { if ( T ( d ) ) { var f = { } ; r ( d , function ( b , c ) { f [ c ] = a ( c , b ) } ) ; return f } return b . factory ( d + c , e ) } var c = "Filter" ; this . register = a ; this . $get = [ "$injector" , function ( a ) { return function ( b ) { return a . get ( b + c ) } } ] ; a ( "currency" , Hc ) ; a ( "date" , Ic ) ; a ( "filter" , Fe ) ; a ( "json" , Ge ) ; a ( "limitTo" , He ) ; a ( "lowercase" , Ie ) ; a ( "number" , Jc ) ; a ( "orderBy" , Kc ) ; a ( "uppercase" , Je ) } function Fe ( ) { return function ( b ,
a , c ) { if ( ! L ( b ) ) return b ; var d = typeof c , e = [ ] ; e . check = function ( a ) { for ( var b = 0 ; b < e . length ; b ++ ) if ( ! e [ b ] ( a ) ) return ! 1 ; return ! 0 } ; "function" !== d && ( c = "boolean" === d && c ? function ( a , b ) { return Xa . equals ( a , b ) } : function ( a , b ) { if ( a && b && "object" === typeof a && "object" === typeof b ) { for ( var d in a ) if ( "$" !== d . charAt ( 0 ) && lb . call ( a , d ) && c ( a [ d ] , b [ d ] ) ) return ! 0 ; return ! 1 } b = ( "" + b ) . toLowerCase ( ) ; return - 1 < ( "" + a ) . toLowerCase ( ) . indexOf ( b ) } ) ; var f = function ( a , b ) { if ( "string" === typeof b && "!" === b . charAt ( 0 ) ) return ! f ( a , b . substr ( 1 ) ) ; switch ( typeof a ) { case "boolean" : case "number" : case "string" : return c ( a ,
b ) ; case "object" : switch ( typeof b ) { case "object" : return c ( a , b ) ; default : for ( var d in a ) if ( "$" !== d . charAt ( 0 ) && f ( a [ d ] , b ) ) return ! 0 } return ! 1 ; case "array" : for ( d = 0 ; d < a . length ; d ++ ) if ( f ( a [ d ] , b ) ) return ! 0 ; return ! 1 ; default : return ! 1 } } ; switch ( typeof a ) { case "boolean" : case "number" : case "string" : a = { $ : a } ; case "object" : for ( var g in a ) ( function ( b ) { "undefined" !== typeof a [ b ] && e . push ( function ( c ) { return f ( "$" == b ? c : c && c [ b ] , a [ b ] ) } ) } ) ( g ) ; break ; case "function" : e . push ( a ) ; break ; default : return b } d = [ ] ; for ( g = 0 ; g < b . length ; g ++ ) { var h =
b [ g ] ; e . check ( h ) && d . push ( h ) } return d } } function Hc ( b ) { var a = b . NUMBER _FORMATS ; return function ( b , d ) { F ( d ) && ( d = a . CURRENCY _SYM ) ; return Lc ( b , a . PATTERNS [ 1 ] , a . GROUP _SEP , a . DECIMAL _SEP , 2 ) . replace ( /\u00A4/g , d ) } } function Jc ( b ) { var a = b . NUMBER _FORMATS ; return function ( b , d ) { return Lc ( b , a . PATTERNS [ 0 ] , a . GROUP _SEP , a . DECIMAL _SEP , d ) } } function Lc ( b , a , c , d , e ) { if ( null == b || ! isFinite ( b ) || T ( b ) ) return "" ; var f = 0 > b ; b = Math . abs ( b ) ; var g = b + "" , h = "" , k = [ ] , m = ! 1 ; if ( - 1 !== g . indexOf ( "e" ) ) { var l = g . match ( /([\d\.]+)e(-?)(\d+)/ ) ; l && "-" == l [ 2 ] &&
l [ 3 ] > e + 1 ? ( g = "0" , b = 0 ) : ( h = g , m = ! 0 ) } if ( m ) 0 < e && ( - 1 < b && 1 > b ) && ( h = b . toFixed ( e ) ) ; else { g = ( g . split ( Mc ) [ 1 ] || "" ) . length ; F ( e ) && ( e = Math . min ( Math . max ( a . minFrac , g ) , a . maxFrac ) ) ; b = + ( Math . round ( + ( b . toString ( ) + "e" + e ) ) . toString ( ) + "e" + - e ) ; 0 === b && ( f = ! 1 ) ; b = ( "" + b ) . split ( Mc ) ; g = b [ 0 ] ; b = b [ 1 ] || "" ; var l = 0 , n = a . lgSize , q = a . gSize ; if ( g . length >= n + q ) for ( l = g . length - n , m = 0 ; m < l ; m ++ ) 0 === ( l - m ) % q && 0 !== m && ( h += c ) , h += g . charAt ( m ) ; for ( m = l ; m < g . length ; m ++ ) 0 === ( g . length - m ) % n && 0 !== m && ( h += c ) , h += g . charAt ( m ) ; for ( ; b . length < e ; ) b += "0" ; e && "0" !== e && ( h += d + b . substr ( 0 ,
e ) ) } k . push ( f ? a . negPre : a . posPre ) ; k . push ( h ) ; k . push ( f ? a . negSuf : a . posSuf ) ; return k . join ( "" ) } function Vb ( b , a , c ) { var d = "" ; 0 > b && ( d = "-" , b = - b ) ; for ( b = "" + b ; b . length < a ; ) b = "0" + b ; c && ( b = b . substr ( b . length - a ) ) ; return d + b } function Z ( b , a , c , d ) { c = c || 0 ; return function ( e ) { e = e [ "get" + b ] ( ) ; if ( 0 < c || e > - c ) e += c ; 0 === e && - 12 == c && ( e = 12 ) ; return Vb ( e , a , d ) } } function vb ( b , a ) { return function ( c , d ) { var e = c [ "get" + b ] ( ) , f = La ( a ? "SHORT" + b : b ) ; return d [ f ] [ e ] } } function Ic ( b ) { function a ( a ) { var b ; if ( b = a . match ( c ) ) { a = new Date ( 0 ) ; var f = 0 , g = 0 , h = b [ 8 ] ?
a . setUTCFullYear : a . setFullYear , k = b [ 8 ] ? a . setUTCHours : a . setHours ; b [ 9 ] && ( f = U ( b [ 9 ] + b [ 10 ] ) , g = U ( b [ 9 ] + b [ 11 ] ) ) ; h . call ( a , U ( b [ 1 ] ) , U ( b [ 2 ] ) - 1 , U ( b [ 3 ] ) ) ; f = U ( b [ 4 ] || 0 ) - f ; g = U ( b [ 5 ] || 0 ) - g ; h = U ( b [ 6 ] || 0 ) ; b = Math . round ( 1E3 * parseFloat ( "0." + ( b [ 7 ] || 0 ) ) ) ; k . call ( a , f , g , h , b ) } return a } var c = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/ ; return function ( c , e ) { var f = "" , g = [ ] , h , k ; e = e || "mediumDate" ; e = b . DATETIME _FORMATS [ e ] || e ; G ( c ) && ( c = Ke . test ( c ) ? U ( c ) : a ( c ) ) ; jb ( c ) && ( c = new Date ( c ) ) ;
if ( ! va ( c ) ) return c ; for ( ; e ; ) ( k = Le . exec ( e ) ) ? ( g = g . concat ( wa . call ( k , 1 ) ) , e = g . pop ( ) ) : ( g . push ( e ) , e = null ) ; r ( g , function ( a ) { h = Me [ a ] ; f += h ? h ( c , b . DATETIME _FORMATS ) : a . replace ( /(^'|'$)/g , "" ) . replace ( /''/g , "'" ) } ) ; return f } } function Ge ( ) { return function ( b ) { return oa ( b , ! 0 ) } } function He ( ) { return function ( b , a ) { if ( ! L ( b ) && ! G ( b ) ) return b ; a = Infinity === Math . abs ( Number ( a ) ) ? Number ( a ) : U ( a ) ; if ( G ( b ) ) return a ? 0 <= a ? b . slice ( 0 , a ) : b . slice ( a , b . length ) : "" ; var c = [ ] , d , e ; a > b . length ? a = b . length : a < - b . length && ( a = - b . length ) ; 0 < a ? ( d = 0 , e = a ) : ( d =
b . length + a , e = b . length ) ; for ( ; d < e ; d ++ ) c . push ( b [ d ] ) ; return c } } function Kc ( b ) { return function ( a , c , d ) { function e ( a , b ) { return Wa ( b ) ? function ( b , c ) { return a ( c , b ) } : a } function f ( a , b ) { var c = typeof a , d = typeof b ; return c == d ? ( va ( a ) && va ( b ) && ( a = a . valueOf ( ) , b = b . valueOf ( ) ) , "string" == c && ( a = a . toLowerCase ( ) , b = b . toLowerCase ( ) ) , a === b ? 0 : a < b ? - 1 : 1 ) : c < d ? - 1 : 1 } if ( ! Sa ( a ) ) return a ; c = L ( c ) ? c : [ c ] ; 0 === c . length && ( c = [ "+" ] ) ; c = Uc ( c , function ( a ) { var c = ! 1 , d = a || ga ; if ( G ( a ) ) { if ( "+" == a . charAt ( 0 ) || "-" == a . charAt ( 0 ) ) c = "-" == a . charAt ( 0 ) , a = a . substring ( 1 ) ;
if ( "" === a ) return e ( function ( a , b ) { return f ( a , b ) } , c ) ; d = b ( a ) ; if ( d . constant ) { var m = d ( ) ; return e ( function ( a , b ) { return f ( a [ m ] , b [ m ] ) } , c ) } } return e ( function ( a , b ) { return f ( d ( a ) , d ( b ) ) } , c ) } ) ; return wa . call ( a ) . sort ( e ( function ( a , b ) { for ( var d = 0 ; d < c . length ; d ++ ) { var e = c [ d ] ( a , b ) ; if ( 0 !== e ) return e } return 0 } , d ) ) } } function Aa ( b ) { N ( b ) && ( b = { link : b } ) ; b . restrict = b . restrict || "AC" ; return aa ( b ) } function Nc ( b , a , c , d ) { function e ( a , c ) { c = c ? "-" + nb ( c , "-" ) : "" ; d . setClass ( b , ( a ? wb : xb ) + c , ( a ? xb : wb ) + c ) } var f = this , g = b . parent ( ) . controller ( "form" ) ||
yb , h = 0 , k = f . $error = { } , m = [ ] ; f . $name = a . name || a . ngForm ; f . $dirty = ! 1 ; f . $pristine = ! 0 ; f . $valid = ! 0 ; f . $invalid = ! 1 ; g . $addControl ( f ) ; b . addClass ( Ra ) ; e ( ! 0 ) ; f . $addControl = function ( a ) { Ea ( a . $name , "input" ) ; m . push ( a ) ; a . $name && ( f [ a . $name ] = a ) } ; f . $removeControl = function ( a ) { a . $name && f [ a . $name ] === a && delete f [ a . $name ] ; r ( k , function ( b , c ) { f . $setValidity ( c , ! 0 , a ) } ) ; Ua ( m , a ) } ; f . $setValidity = function ( a , b , c ) { var d = k [ a ] ; if ( b ) d && ( Ua ( d , c ) , d . length || ( h -- , h || ( e ( b ) , f . $valid = ! 0 , f . $invalid = ! 1 ) , k [ a ] = ! 1 , e ( ! 0 , a ) , g . $setValidity ( a , ! 0 , f ) ) ) ; else { h ||
e ( b ) ; if ( d ) { if ( - 1 != Ta ( d , c ) ) return } else k [ a ] = d = [ ] , h ++ , e ( ! 1 , a ) , g . $setValidity ( a , ! 1 , f ) ; d . push ( c ) ; f . $valid = ! 1 ; f . $invalid = ! 0 } } ; f . $setDirty = function ( ) { d . removeClass ( b , Ra ) ; d . addClass ( b , zb ) ; f . $dirty = ! 0 ; f . $pristine = ! 1 ; g . $setDirty ( ) } ; f . $setPristine = function ( ) { d . removeClass ( b , zb ) ; d . addClass ( b , Ra ) ; f . $dirty = ! 1 ; f . $pristine = ! 0 ; r ( m , function ( a ) { a . $setPristine ( ) } ) } } function ua ( b , a , c , d ) { b . $setValidity ( a , c ) ; return c ? d : u } function Oc ( b , a ) { var c , d ; if ( a ) for ( c = 0 ; c < a . length ; ++ c ) if ( d = a [ c ] , b [ d ] ) return ! 0 ; return ! 1 } function Ne ( b ,
a , c , d , e ) { T ( e ) && ( b . $$hasNativeValidators = ! 0 , b . $parsers . push ( function ( f ) { if ( b . $error [ a ] || Oc ( e , d ) || ! Oc ( e , c ) ) return f ; b . $setValidity ( a , ! 1 ) } ) ) } function Ab ( b , a , c , d , e , f ) { var g = a . prop ( Oe ) , h = a [ 0 ] . placeholder , k = { } , m = x ( a [ 0 ] . type ) ; d . $$validityState = g ; if ( ! e . android ) { var l = ! 1 ; a . on ( "compositionstart" , function ( a ) { l = ! 0 } ) ; a . on ( "compositionend" , function ( ) { l = ! 1 ; n ( ) } ) } var n = function ( e ) { if ( ! l ) { var f = a . val ( ) ; if ( R && "input" === ( e || k ) . type && a [ 0 ] . placeholder !== h ) h = a [ 0 ] . placeholder ; else if ( "password" !== m && Wa ( c . ngTrim || "T" ) &&
( f = $ ( f ) ) , e = g && d . $$hasNativeValidators , d . $viewValue !== f || "" === f && e ) b . $root . $$phase ? d . $setViewValue ( f ) : b . $apply ( function ( ) { d . $setViewValue ( f ) } ) } } ; if ( e . hasEvent ( "input" ) ) a . on ( "input" , n ) ; else { var q , p = function ( ) { q || ( q = f . defer ( function ( ) { n ( ) ; q = null } ) ) } ; a . on ( "keydown" , function ( a ) { a = a . keyCode ; 91 === a || ( 15 < a && 19 > a || 37 <= a && 40 >= a ) || p ( ) } ) ; if ( e . hasEvent ( "paste" ) ) a . on ( "paste cut" , p ) } a . on ( "change" , n ) ; d . $render = function ( ) { a . val ( d . $isEmpty ( d . $viewValue ) ? "" : d . $viewValue ) } ; var s = c . ngPattern ; s && ( ( e = s . match ( /^\/(.*)\/([gim]*)$/ ) ) ?
( s = RegExp ( e [ 1 ] , e [ 2 ] ) , e = function ( a ) { return ua ( d , "pattern" , d . $isEmpty ( a ) || s . test ( a ) , a ) } ) : e = function ( c ) { var e = b . $eval ( s ) ; if ( ! e || ! e . test ) throw z ( "ngPattern" ) ( "noregexp" , s , e , ia ( a ) ) ; return ua ( d , "pattern" , d . $isEmpty ( c ) || e . test ( c ) , c ) } , d . $formatters . push ( e ) , d . $parsers . push ( e ) ) ; if ( c . ngMinlength ) { var r = U ( c . ngMinlength ) ; e = function ( a ) { return ua ( d , "minlength" , d . $isEmpty ( a ) || a . length >= r , a ) } ; d . $parsers . push ( e ) ; d . $formatters . push ( e ) } if ( c . ngMaxlength ) { var w = U ( c . ngMaxlength ) ; e = function ( a ) { return ua ( d , "maxlength" , d . $isEmpty ( a ) ||
a . length <= w , a ) } ; d . $parsers . push ( e ) ; d . $formatters . push ( e ) } } function Wb ( b , a ) { b = "ngClass" + b ; return [ "$animate" , function ( c ) { function d ( a , b ) { var c = [ ] , d = 0 ; a : for ( ; d < a . length ; d ++ ) { for ( var e = a [ d ] , l = 0 ; l < b . length ; l ++ ) if ( e == b [ l ] ) continue a ; c . push ( e ) } return c } function e ( a ) { if ( ! L ( a ) ) { if ( G ( a ) ) return a . split ( " " ) ; if ( T ( a ) ) { var b = [ ] ; r ( a , function ( a , c ) { a && ( b = b . concat ( c . split ( " " ) ) ) } ) ; return b } } return a } return { restrict : "AC" , link : function ( f , g , h ) { function k ( a , b ) { var c = g . data ( "$classCounts" ) || { } , d = [ ] ; r ( a , function ( a ) { if ( 0 <
b || c [ a ] ) c [ a ] = ( c [ a ] || 0 ) + b , c [ a ] === + ( 0 < b ) && d . push ( a ) } ) ; g . data ( "$classCounts" , c ) ; return d . join ( " " ) } function m ( b ) { if ( ! 0 === a || f . $index % 2 === a ) { var m = e ( b || [ ] ) ; if ( ! l ) { var p = k ( m , 1 ) ; h . $addClass ( p ) } else if ( ! Ca ( b , l ) ) { var s = e ( l ) , p = d ( m , s ) , m = d ( s , m ) , m = k ( m , - 1 ) , p = k ( p , 1 ) ; 0 === p . length ? c . removeClass ( g , m ) : 0 === m . length ? c . addClass ( g , p ) : c . setClass ( g , p , m ) } } l = ha ( b ) } var l ; f . $watch ( h [ b ] , m , ! 0 ) ; h . $observe ( "class" , function ( a ) { m ( f . $eval ( h [ b ] ) ) } ) ; "ngClass" !== b && f . $watch ( "$index" , function ( c , d ) { var g = c & 1 ; if ( g !== ( d & 1 ) ) { var l = e ( f . $eval ( h [ b ] ) ) ;
g === a ? ( g = k ( l , 1 ) , h . $addClass ( g ) ) : ( g = k ( l , - 1 ) , h . $removeClass ( g ) ) } } ) } } } ] } var Oe = "validity" , x = function ( b ) { return G ( b ) ? b . toLowerCase ( ) : b } , lb = Object . prototype . hasOwnProperty , La = function ( b ) { return G ( b ) ? b . toUpperCase ( ) : b } , R , A , Fa , wa = [ ] . slice , Pe = [ ] . push , Ba = Object . prototype . toString , Va = z ( "ng" ) , Xa = W . angular || ( W . angular = { } ) , $a , Pa , na = [ "0" , "0" , "0" ] ; R = U ( ( /msie (\d+)/ . exec ( x ( navigator . userAgent ) ) || [ ] ) [ 1 ] ) ; isNaN ( R ) && ( R = U ( ( /trident\/.*; rv:(\d+)/ . exec ( x ( navigator . userAgent ) ) || [ ] ) [ 1 ] ) ) ; v . $inject = [ ] ; ga . $inject = [ ] ; var L =
function ( ) { return N ( Array . isArray ) ? Array . isArray : function ( b ) { return "[object Array]" === Ba . call ( b ) } } ( ) , $ = function ( ) { return String . prototype . trim ? function ( b ) { return G ( b ) ? b . trim ( ) : b } : function ( b ) { return G ( b ) ? b . replace ( /^\s\s*/ , "" ) . replace ( /\s\s*$/ , "" ) : b } } ( ) ; Pa = 9 > R ? function ( b ) { b = b . nodeName ? b : b [ 0 ] ; return b . scopeName && "HTML" != b . scopeName ? La ( b . scopeName + ":" + b . nodeName ) : b . nodeName } : function ( b ) { return b . nodeName ? b . nodeName : b [ 0 ] . nodeName } ; var Za = function ( ) { if ( D ( Za . isActive _ ) ) return Za . isActive _ ; var b = ! ( ! X . querySelector ( "[ng-csp]" ) &&
! X . querySelector ( "[data-ng-csp]" ) ) ; if ( ! b ) try { new Function ( "" ) } catch ( a ) { b = ! 0 } return Za . isActive _ = b } , Xc = /[A-Z]/g , $c = { full : "1.2.28" , major : 1 , minor : 2 , dot : 28 , codeName : "finnish-disembarkation" } ; S . expando = "ng339" ; var cb = S . cache = { } , me = 1 , sb = W . document . addEventListener ? function ( b , a , c ) { b . addEventListener ( a , c , ! 1 ) } : function ( b , a , c ) { b . attachEvent ( "on" + a , c ) } , bb = W . document . removeEventListener ? function ( b , a , c ) { b . removeEventListener ( a , c , ! 1 ) } : function ( b , a , c ) { b . detachEvent ( "on" + a , c ) } ; S . _data = function ( b ) { return this . cache [ b [ this . expando ] ] ||
{ } } ; var he = /([\:\-\_]+(.))/g , ie = /^moz([A-Z])/ , Hb = z ( "jqLite" ) , je = /^<(\w+)\s*\/?>(?:<\/\1>|)$/ , Ib = /<|&#?\w+;/ , ke = /<([\w:]+)/ , le = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi , da = { option : [ 1 , '<select multiple="multiple">' , "</select>" ] , thead : [ 1 , "<table>" , "</table>" ] , col : [ 2 , "<table><colgroup>" , "</colgroup></table>" ] , tr : [ 2 , "<table><tbody>" , "</tbody></table>" ] , td : [ 3 , "<table><tbody><tr>" , "</tr></tbody></table>" ] , _default : [ 0 , "" , "" ] } ; da . optgroup = da . option ; da . tbody = da . tfoot = da . colgroup =
da . caption = da . thead ; da . th = da . td ; var Oa = S . prototype = { ready : function ( b ) { function a ( ) { c || ( c = ! 0 , b ( ) ) } var c = ! 1 ; "complete" === X . readyState ? setTimeout ( a ) : ( this . on ( "DOMContentLoaded" , a ) , S ( W ) . on ( "load" , a ) ) } , toString : function ( ) { var b = [ ] ; r ( this , function ( a ) { b . push ( "" + a ) } ) ; return "[" + b . join ( ", " ) + "]" } , eq : function ( b ) { return 0 <= b ? A ( this [ b ] ) : A ( this [ this . length + b ] ) } , length : 0 , push : Pe , sort : [ ] . sort , splice : [ ] . splice } , rb = { } ; r ( "multiple selected checked disabled readOnly required open" . split ( " " ) , function ( b ) { rb [ x ( b ) ] = b } ) ;
var pc = { } ; r ( "input select option textarea button form details" . split ( " " ) , function ( b ) { pc [ La ( b ) ] = ! 0 } ) ; r ( { data : Mb , removeData : Lb } , function ( b , a ) { S [ a ] = b } ) ; r ( { data : Mb , inheritedData : qb , scope : function ( b ) { return A . data ( b , "$scope" ) || qb ( b . parentNode || b , [ "$isolateScope" , "$scope" ] ) } , isolateScope : function ( b ) { return A . data ( b , "$isolateScope" ) || A . data ( b , "$isolateScopeNoTemplate" ) } , controller : mc , injector : function ( b ) { return qb ( b , "$injector" ) } , removeAttr : function ( b , a ) { b . removeAttribute ( a ) } , hasClass : Nb , css : function ( b ,
a , c ) { a = ab ( a ) ; if ( D ( c ) ) b . style [ a ] = c ; else { var d ; 8 >= R && ( d = b . currentStyle && b . currentStyle [ a ] , "" === d && ( d = "auto" ) ) ; d = d || b . style [ a ] ; 8 >= R && ( d = "" === d ? u : d ) ; return d } } , attr : function ( b , a , c ) { var d = x ( a ) ; if ( rb [ d ] ) if ( D ( c ) ) c ? ( b [ a ] = ! 0 , b . setAttribute ( a , d ) ) : ( b [ a ] = ! 1 , b . removeAttribute ( d ) ) ; else return b [ a ] || ( b . attributes . getNamedItem ( a ) || v ) . specified ? d : u ; else if ( D ( c ) ) b . setAttribute ( a , c ) ; else if ( b . getAttribute ) return b = b . getAttribute ( a , 2 ) , null === b ? u : b } , prop : function ( b , a , c ) { if ( D ( c ) ) b [ a ] = c ; else return b [ a ] } , text : function ( ) { function b ( b ,
d ) { var e = a [ b . nodeType ] ; if ( F ( d ) ) return e ? b [ e ] : "" ; b [ e ] = d } var a = [ ] ; 9 > R ? ( a [ 1 ] = "innerText" , a [ 3 ] = "nodeValue" ) : a [ 1 ] = a [ 3 ] = "textContent" ; b . $dv = "" ; return b } ( ) , val : function ( b , a ) { if ( F ( a ) ) { if ( "SELECT" === Pa ( b ) && b . multiple ) { var c = [ ] ; r ( b . options , function ( a ) { a . selected && c . push ( a . value || a . text ) } ) ; return 0 === c . length ? null : c } return b . value } b . value = a } , html : function ( b , a ) { if ( F ( a ) ) return b . innerHTML ; for ( var c = 0 , d = b . childNodes ; c < d . length ; c ++ ) Ma ( d [ c ] ) ; b . innerHTML = a } , empty : nc } , function ( b , a ) { S . prototype [ a ] = function ( a , d ) { var e ,
f , g = this . length ; if ( b !== nc && ( 2 == b . length && b !== Nb && b !== mc ? a : d ) === u ) { if ( T ( a ) ) { for ( e = 0 ; e < g ; e ++ ) if ( b === Mb ) b ( this [ e ] , a ) ; else for ( f in a ) b ( this [ e ] , f , a [ f ] ) ; return this } e = b . $dv ; g = e === u ? Math . min ( g , 1 ) : g ; for ( f = 0 ; f < g ; f ++ ) { var h = b ( this [ f ] , a , d ) ; e = e ? e + h : h } return e } for ( e = 0 ; e < g ; e ++ ) b ( this [ e ] , a , d ) ; return this } } ) ; r ( { removeData : Lb , dealoc : Ma , on : function a ( c , d , e , f ) { if ( D ( f ) ) throw Hb ( "onargs" ) ; var g = pa ( c , "events" ) , h = pa ( c , "handle" ) ; g || pa ( c , "events" , g = { } ) ; h || pa ( c , "handle" , h = ne ( c , g ) ) ; r ( d . split ( " " ) , function ( d ) { var f = g [ d ] ; if ( ! f ) { if ( "mouseenter" ==
d || "mouseleave" == d ) { var l = X . body . contains || X . body . compareDocumentPosition ? function ( a , c ) { var d = 9 === a . nodeType ? a . documentElement : a , e = c && c . parentNode ; return a === e || ! ! ( e && 1 === e . nodeType && ( d . contains ? d . contains ( e ) : a . compareDocumentPosition && a . compareDocumentPosition ( e ) & 16 ) ) } : function ( a , c ) { if ( c ) for ( ; c = c . parentNode ; ) if ( c === a ) return ! 0 ; return ! 1 } ; g [ d ] = [ ] ; a ( c , { mouseleave : "mouseout" , mouseenter : "mouseover" } [ d ] , function ( a ) { var c = a . relatedTarget ; c && ( c === this || l ( this , c ) ) || h ( a , d ) } ) } else sb ( c , d , h ) , g [ d ] = [ ] ; f = g [ d ] } f . push ( e ) } ) } ,
off : lc , one : function ( a , c , d ) { a = A ( a ) ; a . on ( c , function f ( ) { a . off ( c , d ) ; a . off ( c , f ) } ) ; a . on ( c , d ) } , replaceWith : function ( a , c ) { var d , e = a . parentNode ; Ma ( a ) ; r ( new S ( c ) , function ( c ) { d ? e . insertBefore ( c , d . nextSibling ) : e . replaceChild ( c , a ) ; d = c } ) } , children : function ( a ) { var c = [ ] ; r ( a . childNodes , function ( a ) { 1 === a . nodeType && c . push ( a ) } ) ; return c } , contents : function ( a ) { return a . contentDocument || a . childNodes || [ ] } , append : function ( a , c ) { r ( new S ( c ) , function ( c ) { 1 !== a . nodeType && 11 !== a . nodeType || a . appendChild ( c ) } ) } , prepend : function ( a ,
c ) { if ( 1 === a . nodeType ) { var d = a . firstChild ; r ( new S ( c ) , function ( c ) { a . insertBefore ( c , d ) } ) } } , wrap : function ( a , c ) { c = A ( c ) [ 0 ] ; var d = a . parentNode ; d && d . replaceChild ( c , a ) ; c . appendChild ( a ) } , remove : function ( a ) { Ma ( a ) ; var c = a . parentNode ; c && c . removeChild ( a ) } , after : function ( a , c ) { var d = a , e = a . parentNode ; r ( new S ( c ) , function ( a ) { e . insertBefore ( a , d . nextSibling ) ; d = a } ) } , addClass : pb , removeClass : ob , toggleClass : function ( a , c , d ) { c && r ( c . split ( " " ) , function ( c ) { var f = d ; F ( f ) && ( f = ! Nb ( a , c ) ) ; ( f ? pb : ob ) ( a , c ) } ) } , parent : function ( a ) { return ( a =
a . parentNode ) && 11 !== a . nodeType ? a : null } , next : function ( a ) { if ( a . nextElementSibling ) return a . nextElementSibling ; for ( a = a . nextSibling ; null != a && 1 !== a . nodeType ; ) a = a . nextSibling ; return a } , find : function ( a , c ) { return a . getElementsByTagName ? a . getElementsByTagName ( c ) : [ ] } , clone : Kb , triggerHandler : function ( a , c , d ) { var e , f ; e = c . type || c ; var g = ( pa ( a , "events" ) || { } ) [ e ] ; g && ( e = { preventDefault : function ( ) { this . defaultPrevented = ! 0 } , isDefaultPrevented : function ( ) { return ! 0 === this . defaultPrevented } , stopPropagation : v , type : e , target : a } ,
c . type && ( e = E ( e , c ) ) , c = ha ( g ) , f = d ? [ e ] . concat ( d ) : [ e ] , r ( c , function ( c ) { c . apply ( a , f ) } ) ) } } , function ( a , c ) { S . prototype [ c ] = function ( c , e , f ) { for ( var g , h = 0 ; h < this . length ; h ++ ) F ( g ) ? ( g = a ( this [ h ] , c , e , f ) , D ( g ) && ( g = A ( g ) ) ) : Jb ( g , a ( this [ h ] , c , e , f ) ) ; return D ( g ) ? g : this } ; S . prototype . bind = S . prototype . on ; S . prototype . unbind = S . prototype . off } ) ; db . prototype = { put : function ( a , c ) { this [ Na ( a , this . nextUid ) ] = c } , get : function ( a ) { return this [ Na ( a , this . nextUid ) ] } , remove : function ( a ) { var c = this [ a = Na ( a , this . nextUid ) ] ; delete this [ a ] ; return c } } ; var pe =
/^function\s*[^\(]*\(\s*([^\)]*)\)/m , qe = /,/ , re = /^\s*(_?)(\S+?)\1\s*$/ , oe = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg , eb = z ( "$injector" ) , Qe = z ( "$animate" ) , Ld = [ "$provide" , function ( a ) { this . $$selectors = { } ; this . register = function ( c , d ) { var e = c + "-animation" ; if ( c && "." != c . charAt ( 0 ) ) throw Qe ( "notcsel" , c ) ; this . $$selectors [ c . substr ( 1 ) ] = e ; a . factory ( e , d ) } ; this . classNameFilter = function ( a ) { 1 === arguments . length && ( this . $$classNameFilter = a instanceof RegExp ? a : null ) ; return this . $$classNameFilter } ; this . $get = [ "$timeout" , "$$asyncCallback" ,
function ( a , d ) { return { enter : function ( a , c , g , h ) { g ? g . after ( a ) : ( c && c [ 0 ] || ( c = g . parent ( ) ) , c . append ( a ) ) ; h && d ( h ) } , leave : function ( a , c ) { a . remove ( ) ; c && d ( c ) } , move : function ( a , c , d , h ) { this . enter ( a , c , d , h ) } , addClass : function ( a , c , g ) { c = G ( c ) ? c : L ( c ) ? c . join ( " " ) : "" ; r ( a , function ( a ) { pb ( a , c ) } ) ; g && d ( g ) } , removeClass : function ( a , c , g ) { c = G ( c ) ? c : L ( c ) ? c . join ( " " ) : "" ; r ( a , function ( a ) { ob ( a , c ) } ) ; g && d ( g ) } , setClass : function ( a , c , g , h ) { r ( a , function ( a ) { pb ( a , c ) ; ob ( a , g ) } ) ; h && d ( h ) } , enabled : v } } ] } ] , ja = z ( "$compile" ) ; gc . $inject = [ "$provide" , "$$sanitizeUriProvider" ] ;
var we = /^(x[\:\-_]|data[\:\-_])/i , wc = z ( "$interpolate" ) , Re = /^([^\?#]*)(\?([^#]*))?(#(.*))?$/ , ze = { http : 80 , https : 443 , ftp : 21 } , Sb = z ( "$location" ) ; Ac . prototype = Tb . prototype = zc . prototype = { $$html5 : ! 1 , $$replace : ! 1 , absUrl : tb ( "$$absUrl" ) , url : function ( a ) { if ( F ( a ) ) return this . $$url ; a = Re . exec ( a ) ; a [ 1 ] && this . path ( decodeURIComponent ( a [ 1 ] ) ) ; ( a [ 2 ] || a [ 1 ] ) && this . search ( a [ 3 ] || "" ) ; this . hash ( a [ 5 ] || "" ) ; return this } , protocol : tb ( "$$protocol" ) , host : tb ( "$$host" ) , port : tb ( "$$port" ) , path : Bc ( "$$path" , function ( a ) { a = null !== a ? a . toString ( ) :
"" ; return "/" == a . charAt ( 0 ) ? a : "/" + a } ) , search : function ( a , c ) { switch ( arguments . length ) { case 0 : return this . $$search ; case 1 : if ( G ( a ) || jb ( a ) ) a = a . toString ( ) , this . $$search = cc ( a ) ; else if ( T ( a ) ) r ( a , function ( c , e ) { null == c && delete a [ e ] } ) , this . $$search = a ; else throw Sb ( "isrcharg" ) ; break ; default : F ( c ) || null === c ? delete this . $$search [ a ] : this . $$search [ a ] = c } this . $$compose ( ) ; return this } , hash : Bc ( "$$hash" , function ( a ) { return null !== a ? a . toString ( ) : "" } ) , replace : function ( ) { this . $$replace = ! 0 ; return this } } ; var la = z ( "$parse" ) , Ec =
{ } , ya , Se = Function . prototype . call , Te = Function . prototype . apply , Pc = Function . prototype . bind , hb = { "null" : function ( ) { return null } , "true" : function ( ) { return ! 0 } , "false" : function ( ) { return ! 1 } , undefined : v , "+" : function ( a , c , d , e ) { d = d ( a , c ) ; e = e ( a , c ) ; return D ( d ) ? D ( e ) ? d + e : d : D ( e ) ? e : u } , "-" : function ( a , c , d , e ) { d = d ( a , c ) ; e = e ( a , c ) ; return ( D ( d ) ? d : 0 ) - ( D ( e ) ? e : 0 ) } , "*" : function ( a , c , d , e ) { return d ( a , c ) * e ( a , c ) } , "/" : function ( a , c , d , e ) { return d ( a , c ) / e ( a , c ) } , "%" : function ( a , c , d , e ) { return d ( a , c ) % e ( a , c ) } , "^" : function ( a , c , d , e ) { return d ( a , c ) ^
e ( a , c ) } , "=" : v , "===" : function ( a , c , d , e ) { return d ( a , c ) === e ( a , c ) } , "!==" : function ( a , c , d , e ) { return d ( a , c ) !== e ( a , c ) } , "==" : function ( a , c , d , e ) { return d ( a , c ) == e ( a , c ) } , "!=" : function ( a , c , d , e ) { return d ( a , c ) != e ( a , c ) } , "<" : function ( a , c , d , e ) { return d ( a , c ) < e ( a , c ) } , ">" : function ( a , c , d , e ) { return d ( a , c ) > e ( a , c ) } , "<=" : function ( a , c , d , e ) { return d ( a , c ) <= e ( a , c ) } , ">=" : function ( a , c , d , e ) { return d ( a , c ) >= e ( a , c ) } , "&&" : function ( a , c , d , e ) { return d ( a , c ) && e ( a , c ) } , "||" : function ( a , c , d , e ) { return d ( a , c ) || e ( a , c ) } , "&" : function ( a , c , d , e ) { return d ( a ,
c ) & e ( a , c ) } , "|" : function ( a , c , d , e ) { return e ( a , c ) ( a , c , d ( a , c ) ) } , "!" : function ( a , c , d ) { return ! d ( a , c ) } } , Ue = { n : "\n" , f : "\f" , r : "\r" , t : "\t" , v : "\v" , "'" : "'" , '"' : '"' } , Ub = function ( a ) { this . options = a } ; Ub . prototype = { constructor : Ub , lex : function ( a ) { this . text = a ; this . index = 0 ; this . ch = u ; this . lastCh = ":" ; for ( this . tokens = [ ] ; this . index < this . text . length ; ) { this . ch = this . text . charAt ( this . index ) ; if ( this . is ( "\"'" ) ) this . readString ( this . ch ) ; else if ( this . isNumber ( this . ch ) || this . is ( "." ) && this . isNumber ( this . peek ( ) ) ) this . readNumber ( ) ; else if ( this . isIdent ( this . ch ) ) this . readIdent ( ) ;
else if ( this . is ( "(){}[].,;:?" ) ) this . tokens . push ( { index : this . index , text : this . ch } ) , this . index ++ ; else if ( this . isWhitespace ( this . ch ) ) { this . index ++ ; continue } else { a = this . ch + this . peek ( ) ; var c = a + this . peek ( 2 ) , d = hb [ this . ch ] , e = hb [ a ] , f = hb [ c ] ; f ? ( this . tokens . push ( { index : this . index , text : c , fn : f } ) , this . index += 3 ) : e ? ( this . tokens . push ( { index : this . index , text : a , fn : e } ) , this . index += 2 ) : d ? ( this . tokens . push ( { index : this . index , text : this . ch , fn : d } ) , this . index += 1 ) : this . throwError ( "Unexpected next character " , this . index , this . index +
1 ) } this . lastCh = this . ch } return this . tokens } , is : function ( a ) { return - 1 !== a . indexOf ( this . ch ) } , was : function ( a ) { return - 1 !== a . indexOf ( this . lastCh ) } , peek : function ( a ) { a = a || 1 ; return this . index + a < this . text . length ? this . text . charAt ( this . index + a ) : ! 1 } , isNumber : function ( a ) { return "0" <= a && "9" >= a } , isWhitespace : function ( a ) { return " " === a || "\r" === a || "\t" === a || "\n" === a || "\v" === a || "\u00a0" === a } , isIdent : function ( a ) { return "a" <= a && "z" >= a || "A" <= a && "Z" >= a || "_" === a || "$" === a } , isExpOperator : function ( a ) { return "-" === a || "+" === a || this . isNumber ( a ) } ,
throwError : function ( a , c , d ) { d = d || this . index ; c = D ( c ) ? "s " + c + "-" + this . index + " [" + this . text . substring ( c , d ) + "]" : " " + d ; throw la ( "lexerr" , a , c , this . text ) ; } , readNumber : function ( ) { for ( var a = "" , c = this . index ; this . index < this . text . length ; ) { var d = x ( this . text . charAt ( this . index ) ) ; if ( "." == d || this . isNumber ( d ) ) a += d ; else { var e = this . peek ( ) ; if ( "e" == d && this . isExpOperator ( e ) ) a += d ; else if ( this . isExpOperator ( d ) && e && this . isNumber ( e ) && "e" == a . charAt ( a . length - 1 ) ) a += d ; else if ( ! this . isExpOperator ( d ) || e && this . isNumber ( e ) || "e" != a . charAt ( a . length -
1 ) ) break ; else this . throwError ( "Invalid exponent" ) } this . index ++ } a *= 1 ; this . tokens . push ( { index : c , text : a , literal : ! 0 , constant : ! 0 , fn : function ( ) { return a } } ) } , readIdent : function ( ) { for ( var a = this , c = "" , d = this . index , e , f , g , h ; this . index < this . text . length ; ) { h = this . text . charAt ( this . index ) ; if ( "." === h || this . isIdent ( h ) || this . isNumber ( h ) ) "." === h && ( e = this . index ) , c += h ; else break ; this . index ++ } if ( e ) for ( f = this . index ; f < this . text . length ; ) { h = this . text . charAt ( f ) ; if ( "(" === h ) { g = c . substr ( e - d + 1 ) ; c = c . substr ( 0 , e - d ) ; this . index = f ; break } if ( this . isWhitespace ( h ) ) f ++ ;
else break } d = { index : d , text : c } ; if ( hb . hasOwnProperty ( c ) ) d . fn = hb [ c ] , d . literal = ! 0 , d . constant = ! 0 ; else { var k = Dc ( c , this . options , this . text ) ; d . fn = E ( function ( a , c ) { return k ( a , c ) } , { assign : function ( d , e ) { return ub ( d , c , e , a . text , a . options ) } } ) } this . tokens . push ( d ) ; g && ( this . tokens . push ( { index : e , text : "." } ) , this . tokens . push ( { index : e + 1 , text : g } ) ) } , readString : function ( a ) { var c = this . index ; this . index ++ ; for ( var d = "" , e = a , f = ! 1 ; this . index < this . text . length ; ) { var g = this . text . charAt ( this . index ) , e = e + g ; if ( f ) "u" === g ? ( f = this . text . substring ( this . index +
1 , this . index + 5 ) , f . match ( /[\da-f]{4}/i ) || this . throwError ( "Invalid unicode escape [\\u" + f + "]" ) , this . index += 4 , d += String . fromCharCode ( parseInt ( f , 16 ) ) ) : d += Ue [ g ] || g , f = ! 1 ; else if ( "\\" === g ) f = ! 0 ; else { if ( g === a ) { this . index ++ ; this . tokens . push ( { index : c , text : e , string : d , literal : ! 0 , constant : ! 0 , fn : function ( ) { return d } } ) ; return } d += g } this . index ++ } this . throwError ( "Unterminated quote" , c ) } } ; var gb = function ( a , c , d ) { this . lexer = a ; this . $filter = c ; this . options = d } ; gb . ZERO = E ( function ( ) { return 0 } , { constant : ! 0 } ) ; gb . prototype = { constructor : gb ,
parse : function ( a ) { this . text = a ; this . tokens = this . lexer . lex ( a ) ; a = this . statements ( ) ; 0 !== this . tokens . length && this . throwError ( "is an unexpected token" , this . tokens [ 0 ] ) ; a . literal = ! ! a . literal ; a . constant = ! ! a . constant ; return a } , primary : function ( ) { var a ; if ( this . expect ( "(" ) ) a = this . filterChain ( ) , this . consume ( ")" ) ; else if ( this . expect ( "[" ) ) a = this . arrayDeclaration ( ) ; else if ( this . expect ( "{" ) ) a = this . object ( ) ; else { var c = this . expect ( ) ; ( a = c . fn ) || this . throwError ( "not a primary expression" , c ) ; a . literal = ! ! c . literal ; a . constant =
! ! c . constant } for ( var d ; c = this . expect ( "(" , "[" , "." ) ; ) "(" === c . text ? ( a = this . functionCall ( a , d ) , d = null ) : "[" === c . text ? ( d = a , a = this . objectIndex ( a ) ) : "." === c . text ? ( d = a , a = this . fieldAccess ( a ) ) : this . throwError ( "IMPOSSIBLE" ) ; return a } , throwError : function ( a , c ) { throw la ( "syntax" , c . text , a , c . index + 1 , this . text , this . text . substring ( c . index ) ) ; } , peekToken : function ( ) { if ( 0 === this . tokens . length ) throw la ( "ueoe" , this . text ) ; return this . tokens [ 0 ] } , peek : function ( a , c , d , e ) { if ( 0 < this . tokens . length ) { var f = this . tokens [ 0 ] , g = f . text ; if ( g ===
a || g === c || g === d || g === e || ! ( a || c || d || e ) ) return f } return ! 1 } , expect : function ( a , c , d , e ) { return ( a = this . peek ( a , c , d , e ) ) ? ( this . tokens . shift ( ) , a ) : ! 1 } , consume : function ( a ) { this . expect ( a ) || this . throwError ( "is unexpected, expecting [" + a + "]" , this . peek ( ) ) } , unaryFn : function ( a , c ) { return E ( function ( d , e ) { return a ( d , e , c ) } , { constant : c . constant } ) } , ternaryFn : function ( a , c , d ) { return E ( function ( e , f ) { return a ( e , f ) ? c ( e , f ) : d ( e , f ) } , { constant : a . constant && c . constant && d . constant } ) } , binaryFn : function ( a , c , d ) { return E ( function ( e , f ) { return c ( e ,
f , a , d ) } , { constant : a . constant && d . constant } ) } , statements : function ( ) { for ( var a = [ ] ; ; ) if ( 0 < this . tokens . length && ! this . peek ( "}" , ")" , ";" , "]" ) && a . push ( this . filterChain ( ) ) , ! this . expect ( ";" ) ) return 1 === a . length ? a [ 0 ] : function ( c , d ) { for ( var e , f = 0 ; f < a . length ; f ++ ) { var g = a [ f ] ; g && ( e = g ( c , d ) ) } return e } } , filterChain : function ( ) { for ( var a = this . expression ( ) , c ; ; ) if ( c = this . expect ( "|" ) ) a = this . binaryFn ( a , c . fn , this . filter ( ) ) ; else return a } , filter : function ( ) { for ( var a = this . expect ( ) , c = this . $filter ( a . text ) , d = [ ] ; ; ) if ( a = this . expect ( ":" ) ) d . push ( this . expression ( ) ) ;
else { var e = function ( a , e , h ) { h = [ h ] ; for ( var k = 0 ; k < d . length ; k ++ ) h . push ( d [ k ] ( a , e ) ) ; return c . apply ( a , h ) } ; return function ( ) { return e } } } , expression : function ( ) { return this . assignment ( ) } , assignment : function ( ) { var a = this . ternary ( ) , c , d ; return ( d = this . expect ( "=" ) ) ? ( a . assign || this . throwError ( "implies assignment but [" + this . text . substring ( 0 , d . index ) + "] can not be assigned to" , d ) , c = this . ternary ( ) , function ( d , f ) { return a . assign ( d , c ( d , f ) , f ) } ) : a } , ternary : function ( ) { var a = this . logicalOR ( ) , c , d ; if ( this . expect ( "?" ) ) { c = this . assignment ( ) ;
if ( d = this . expect ( ":" ) ) return this . ternaryFn ( a , c , this . assignment ( ) ) ; this . throwError ( "expected :" , d ) } else return a } , logicalOR : function ( ) { for ( var a = this . logicalAND ( ) , c ; ; ) if ( c = this . expect ( "||" ) ) a = this . binaryFn ( a , c . fn , this . logicalAND ( ) ) ; else return a } , logicalAND : function ( ) { var a = this . equality ( ) , c ; if ( c = this . expect ( "&&" ) ) a = this . binaryFn ( a , c . fn , this . logicalAND ( ) ) ; return a } , equality : function ( ) { var a = this . relational ( ) , c ; if ( c = this . expect ( "==" , "!=" , "===" , "!==" ) ) a = this . binaryFn ( a , c . fn , this . equality ( ) ) ; return a } ,
relational : function ( ) { var a = this . additive ( ) , c ; if ( c = this . expect ( "<" , ">" , "<=" , ">=" ) ) a = this . binaryFn ( a , c . fn , this . relational ( ) ) ; return a } , additive : function ( ) { for ( var a = this . multiplicative ( ) , c ; c = this . expect ( "+" , "-" ) ; ) a = this . binaryFn ( a , c . fn , this . multiplicative ( ) ) ; return a } , multiplicative : function ( ) { for ( var a = this . unary ( ) , c ; c = this . expect ( "*" , "/" , "%" ) ; ) a = this . binaryFn ( a , c . fn , this . unary ( ) ) ; return a } , unary : function ( ) { var a ; return this . expect ( "+" ) ? this . primary ( ) : ( a = this . expect ( "-" ) ) ? this . binaryFn ( gb . ZERO , a . fn ,
this . unary ( ) ) : ( a = this . expect ( "!" ) ) ? this . unaryFn ( a . fn , this . unary ( ) ) : this . primary ( ) } , fieldAccess : function ( a ) { var c = this , d = this . expect ( ) . text , e = Dc ( d , this . options , this . text ) ; return E ( function ( c , d , h ) { return e ( h || a ( c , d ) ) } , { assign : function ( e , g , h ) { ( h = a ( e , h ) ) || a . assign ( e , h = { } ) ; return ub ( h , d , g , c . text , c . options ) } } ) } , objectIndex : function ( a ) { var c = this , d = this . expression ( ) ; this . consume ( "]" ) ; return E ( function ( e , f ) { var g = a ( e , f ) , h = d ( e , f ) , k ; ka ( h , c . text ) ; if ( ! g ) return u ; ( g = ma ( g [ h ] , c . text ) ) && ( g . then && c . options . unwrapPromises ) &&
( k = g , "$$v" in g || ( k . $$v = u , k . then ( function ( a ) { k . $$v = a } ) ) , g = g . $$v ) ; return g } , { assign : function ( e , f , g ) { var h = ka ( d ( e , g ) , c . text ) ; ( g = ma ( a ( e , g ) , c . text ) ) || a . assign ( e , g = { } ) ; return g [ h ] = f } } ) } , functionCall : function ( a , c ) { var d = [ ] ; if ( ")" !== this . peekToken ( ) . text ) { do d . push ( this . expression ( ) ) ; while ( this . expect ( "," ) ) } this . consume ( ")" ) ; var e = this ; return function ( f , g ) { for ( var h = [ ] , k = c ? c ( f , g ) : f , m = 0 ; m < d . length ; m ++ ) h . push ( ma ( d [ m ] ( f , g ) , e . text ) ) ; m = a ( f , g , k ) || v ; ma ( k , e . text ) ; var l = e . text ; if ( m ) { if ( m . constructor === m ) throw la ( "isecfn" ,
l ) ; if ( m === Se || m === Te || Pc && m === Pc ) throw la ( "isecff" , l ) ; } h = m . apply ? m . apply ( k , h ) : m ( h [ 0 ] , h [ 1 ] , h [ 2 ] , h [ 3 ] , h [ 4 ] ) ; return ma ( h , e . text ) } } , arrayDeclaration : function ( ) { var a = [ ] , c = ! 0 ; if ( "]" !== this . peekToken ( ) . text ) { do { if ( this . peek ( "]" ) ) break ; var d = this . expression ( ) ; a . push ( d ) ; d . constant || ( c = ! 1 ) } while ( this . expect ( "," ) ) } this . consume ( "]" ) ; return E ( function ( c , d ) { for ( var g = [ ] , h = 0 ; h < a . length ; h ++ ) g . push ( a [ h ] ( c , d ) ) ; return g } , { literal : ! 0 , constant : c } ) } , object : function ( ) { var a = [ ] , c = ! 0 ; if ( "}" !== this . peekToken ( ) . text ) { do { if ( this . peek ( "}" ) ) break ;
var d = this . expect ( ) , d = d . string || d . text ; this . consume ( ":" ) ; var e = this . expression ( ) ; a . push ( { key : d , value : e } ) ; e . constant || ( c = ! 1 ) } while ( this . expect ( "," ) ) } this . consume ( "}" ) ; return E ( function ( c , d ) { for ( var e = { } , k = 0 ; k < a . length ; k ++ ) { var m = a [ k ] ; e [ m . key ] = m . value ( c , d ) } return e } , { literal : ! 0 , constant : c } ) } } ; var Ce = { } , Be = { } , za = z ( "$sce" ) , fa = { HTML : "html" , CSS : "css" , URL : "url" , RESOURCE _URL : "resourceUrl" , JS : "js" } , Y = X . createElement ( "a" ) , Gc = xa ( W . location . href , ! 0 ) ; kc . $inject = [ "$provide" ] ; Hc . $inject = [ "$locale" ] ; Jc . $inject = [ "$locale" ] ;
var Mc = "." , Me = { yyyy : Z ( "FullYear" , 4 ) , yy : Z ( "FullYear" , 2 , 0 , ! 0 ) , y : Z ( "FullYear" , 1 ) , MMMM : vb ( "Month" ) , MMM : vb ( "Month" , ! 0 ) , MM : Z ( "Month" , 2 , 1 ) , M : Z ( "Month" , 1 , 1 ) , dd : Z ( "Date" , 2 ) , d : Z ( "Date" , 1 ) , HH : Z ( "Hours" , 2 ) , H : Z ( "Hours" , 1 ) , hh : Z ( "Hours" , 2 , - 12 ) , h : Z ( "Hours" , 1 , - 12 ) , mm : Z ( "Minutes" , 2 ) , m : Z ( "Minutes" , 1 ) , ss : Z ( "Seconds" , 2 ) , s : Z ( "Seconds" , 1 ) , sss : Z ( "Milliseconds" , 3 ) , EEEE : vb ( "Day" ) , EEE : vb ( "Day" , ! 0 ) , a : function ( a , c ) { return 12 > a . getHours ( ) ? c . AMPMS [ 0 ] : c . AMPMS [ 1 ] } , Z : function ( a ) { a = - 1 * a . getTimezoneOffset ( ) ; return a = ( 0 <= a ? "+" : "" ) + ( Vb ( Math [ 0 <
a ? "floor" : "ceil" ] ( a / 60 ) , 2 ) + Vb ( Math . abs ( a % 60 ) , 2 ) ) } } , Le = /((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/ , Ke = /^\-?\d+$/ ; Ic . $inject = [ "$locale" ] ; var Ie = aa ( x ) , Je = aa ( La ) ; Kc . $inject = [ "$parse" ] ; var cd = aa ( { restrict : "E" , compile : function ( a , c ) { 8 >= R && ( c . href || c . name || c . $set ( "href" , "" ) , a . append ( X . createComment ( "IE fix" ) ) ) ; if ( ! c . href && ! c . xlinkHref && ! c . name ) return function ( a , c ) { var f = "[object SVGAnimatedString]" === Ba . call ( c . prop ( "href" ) ) ? "xlink:href" : "href" ; c . on ( "click" , function ( a ) { c . attr ( f ) ||
a . preventDefault ( ) } ) } } } ) , Fb = { } ; r ( rb , function ( a , c ) { if ( "multiple" != a ) { var d = qa ( "ng-" + c ) ; Fb [ d ] = function ( ) { return { priority : 100 , link : function ( a , f , g ) { a . $watch ( g [ d ] , function ( a ) { g . $set ( c , ! ! a ) } ) } } } } } ) ; r ( [ "src" , "srcset" , "href" ] , function ( a ) { var c = qa ( "ng-" + a ) ; Fb [ c ] = function ( ) { return { priority : 99 , link : function ( d , e , f ) { var g = a , h = a ; "href" === a && "[object SVGAnimatedString]" === Ba . call ( e . prop ( "href" ) ) && ( h = "xlinkHref" , f . $attr [ h ] = "xlink:href" , g = null ) ; f . $observe ( c , function ( c ) { c ? ( f . $set ( h , c ) , R && g && e . prop ( g , f [ h ] ) ) : "href" ===
a && f . $set ( h , null ) } ) } } } } ) ; var yb = { $addControl : v , $removeControl : v , $setValidity : v , $setDirty : v , $setPristine : v } ; Nc . $inject = [ "$element" , "$attrs" , "$scope" , "$animate" ] ; var Qc = function ( a ) { return [ "$timeout" , function ( c ) { return { name : "form" , restrict : a ? "EAC" : "E" , controller : Nc , compile : function ( ) { return { pre : function ( a , e , f , g ) { if ( ! f . action ) { var h = function ( a ) { a . preventDefault ? a . preventDefault ( ) : a . returnValue = ! 1 } ; sb ( e [ 0 ] , "submit" , h ) ; e . on ( "$destroy" , function ( ) { c ( function ( ) { bb ( e [ 0 ] , "submit" , h ) } , 0 , ! 1 ) } ) } var k = e . parent ( ) . controller ( "form" ) ,
m = f . name || f . ngForm ; m && ub ( a , m , g , m ) ; if ( k ) e . on ( "$destroy" , function ( ) { k . $removeControl ( g ) ; m && ub ( a , m , u , m ) ; E ( g , yb ) } ) } } } } } ] } , dd = Qc ( ) , qd = Qc ( ! 0 ) , Ve = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/ , We = /^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i , Xe = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/ , Rc = { text : Ab , number : function ( a , c , d , e , f , g ) { Ab ( a , c , d , e , f , g ) ; e . $parsers . push ( function ( a ) { var c = e . $isEmpty ( a ) ; if ( c || Xe . test ( a ) ) return e . $setValidity ( "number" ,
! 0 ) , "" === a ? null : c ? a : parseFloat ( a ) ; e . $setValidity ( "number" , ! 1 ) ; return u } ) ; Ne ( e , "number" , Ye , null , e . $$validityState ) ; e . $formatters . push ( function ( a ) { return e . $isEmpty ( a ) ? "" : "" + a } ) ; d . min && ( a = function ( a ) { var c = parseFloat ( d . min ) ; return ua ( e , "min" , e . $isEmpty ( a ) || a >= c , a ) } , e . $parsers . push ( a ) , e . $formatters . push ( a ) ) ; d . max && ( a = function ( a ) { var c = parseFloat ( d . max ) ; return ua ( e , "max" , e . $isEmpty ( a ) || a <= c , a ) } , e . $parsers . push ( a ) , e . $formatters . push ( a ) ) ; e . $formatters . push ( function ( a ) { return ua ( e , "number" , e . $isEmpty ( a ) ||
jb ( a ) , a ) } ) } , url : function ( a , c , d , e , f , g ) { Ab ( a , c , d , e , f , g ) ; a = function ( a ) { return ua ( e , "url" , e . $isEmpty ( a ) || Ve . test ( a ) , a ) } ; e . $formatters . push ( a ) ; e . $parsers . push ( a ) } , email : function ( a , c , d , e , f , g ) { Ab ( a , c , d , e , f , g ) ; a = function ( a ) { return ua ( e , "email" , e . $isEmpty ( a ) || We . test ( a ) , a ) } ; e . $formatters . push ( a ) ; e . $parsers . push ( a ) } , radio : function ( a , c , d , e ) { F ( d . name ) && c . attr ( "name" , ib ( ) ) ; c . on ( "click" , function ( ) { c [ 0 ] . checked && a . $apply ( function ( ) { e . $setViewValue ( d . value ) } ) } ) ; e . $render = function ( ) { c [ 0 ] . checked = d . value == e . $viewValue } ;
d . $observe ( "value" , e . $render ) } , checkbox : function ( a , c , d , e ) { var f = d . ngTrueValue , g = d . ngFalseValue ; G ( f ) || ( f = ! 0 ) ; G ( g ) || ( g = ! 1 ) ; c . on ( "click" , function ( ) { a . $apply ( function ( ) { e . $setViewValue ( c [ 0 ] . checked ) } ) } ) ; e . $render = function ( ) { c [ 0 ] . checked = e . $viewValue } ; e . $isEmpty = function ( a ) { return a !== f } ; e . $formatters . push ( function ( a ) { return a === f } ) ; e . $parsers . push ( function ( a ) { return a ? f : g } ) } , hidden : v , button : v , submit : v , reset : v , file : v } , Ye = [ "badInput" ] , hc = [ "$browser" , "$sniffer" , function ( a , c ) { return { restrict : "E" , require : "?ngModel" ,
link : function ( d , e , f , g ) { g && ( Rc [ x ( f . type ) ] || Rc . text ) ( d , e , f , g , c , a ) } } } ] , wb = "ng-valid" , xb = "ng-invalid" , Ra = "ng-pristine" , zb = "ng-dirty" , Ze = [ "$scope" , "$exceptionHandler" , "$attrs" , "$element" , "$parse" , "$animate" , function ( a , c , d , e , f , g ) { function h ( a , c ) { c = c ? "-" + nb ( c , "-" ) : "" ; g . removeClass ( e , ( a ? xb : wb ) + c ) ; g . addClass ( e , ( a ? wb : xb ) + c ) } this . $modelValue = this . $viewValue = Number . NaN ; this . $parsers = [ ] ; this . $formatters = [ ] ; this . $viewChangeListeners = [ ] ; this . $pristine = ! 0 ; this . $dirty = ! 1 ; this . $valid = ! 0 ; this . $invalid = ! 1 ; this . $name =
d . name ; var k = f ( d . ngModel ) , m = k . assign ; if ( ! m ) throw z ( "ngModel" ) ( "nonassign" , d . ngModel , ia ( e ) ) ; this . $render = v ; this . $isEmpty = function ( a ) { return F ( a ) || "" === a || null === a || a !== a } ; var l = e . inheritedData ( "$formController" ) || yb , n = 0 , q = this . $error = { } ; e . addClass ( Ra ) ; h ( ! 0 ) ; this . $setValidity = function ( a , c ) { q [ a ] !== ! c && ( c ? ( q [ a ] && n -- , n || ( h ( ! 0 ) , this . $valid = ! 0 , this . $invalid = ! 1 ) ) : ( h ( ! 1 ) , this . $invalid = ! 0 , this . $valid = ! 1 , n ++ ) , q [ a ] = ! c , h ( c , a ) , l . $setValidity ( a , c , this ) ) } ; this . $setPristine = function ( ) { this . $dirty = ! 1 ; this . $pristine =
! 0 ; g . removeClass ( e , zb ) ; g . addClass ( e , Ra ) } ; this . $setViewValue = function ( d ) { this . $viewValue = d ; this . $pristine && ( this . $dirty = ! 0 , this . $pristine = ! 1 , g . removeClass ( e , Ra ) , g . addClass ( e , zb ) , l . $setDirty ( ) ) ; r ( this . $parsers , function ( a ) { d = a ( d ) } ) ; this . $modelValue !== d && ( this . $modelValue = d , m ( a , d ) , r ( this . $viewChangeListeners , function ( a ) { try { a ( ) } catch ( d ) { c ( d ) } } ) ) } ; var p = this ; a . $watch ( function ( ) { var c = k ( a ) ; if ( p . $modelValue !== c ) { var d = p . $formatters , e = d . length ; for ( p . $modelValue = c ; e -- ; ) c = d [ e ] ( c ) ; p . $viewValue !== c && ( p . $viewValue =
c , p . $render ( ) ) } return c } ) } ] , Fd = function ( ) { return { require : [ "ngModel" , "^?form" ] , controller : Ze , link : function ( a , c , d , e ) { var f = e [ 0 ] , g = e [ 1 ] || yb ; g . $addControl ( f ) ; a . $on ( "$destroy" , function ( ) { g . $removeControl ( f ) } ) } } } , Hd = aa ( { require : "ngModel" , link : function ( a , c , d , e ) { e . $viewChangeListeners . push ( function ( ) { a . $eval ( d . ngChange ) } ) } } ) , ic = function ( ) { return { require : "?ngModel" , link : function ( a , c , d , e ) { if ( e ) { d . required = ! 0 ; var f = function ( a ) { if ( d . required && e . $isEmpty ( a ) ) e . $setValidity ( "required" , ! 1 ) ; else return e . $setValidity ( "required" ,
! 0 ) , a } ; e . $formatters . push ( f ) ; e . $parsers . unshift ( f ) ; d . $observe ( "required" , function ( ) { f ( e . $viewValue ) } ) } } } } , Gd = function ( ) { return { require : "ngModel" , link : function ( a , c , d , e ) { var f = ( a = /\/(.*)\// . exec ( d . ngList ) ) && RegExp ( a [ 1 ] ) || d . ngList || "," ; e . $parsers . push ( function ( a ) { if ( ! F ( a ) ) { var c = [ ] ; a && r ( a . split ( f ) , function ( a ) { a && c . push ( $ ( a ) ) } ) ; return c } } ) ; e . $formatters . push ( function ( a ) { return L ( a ) ? a . join ( ", " ) : u } ) ; e . $isEmpty = function ( a ) { return ! a || ! a . length } } } } , $e = /^(true|false|\d+)$/ , Id = function ( ) { return { priority : 100 ,
compile : function ( a , c ) { return $e . test ( c . ngValue ) ? function ( a , c , f ) { f . $set ( "value" , a . $eval ( f . ngValue ) ) } : function ( a , c , f ) { a . $watch ( f . ngValue , function ( a ) { f . $set ( "value" , a ) } ) } } } } , id = Aa ( { compile : function ( a ) { a . addClass ( "ng-binding" ) ; return function ( a , d , e ) { d . data ( "$binding" , e . ngBind ) ; a . $watch ( e . ngBind , function ( a ) { d . text ( a == u ? "" : a ) } ) } } } ) , kd = [ "$interpolate" , function ( a ) { return function ( c , d , e ) { c = a ( d . attr ( e . $attr . ngBindTemplate ) ) ; d . addClass ( "ng-binding" ) . data ( "$binding" , c ) ; e . $observe ( "ngBindTemplate" , function ( a ) { d . text ( a ) } ) } } ] ,
jd = [ "$sce" , "$parse" , function ( a , c ) { return { compile : function ( d ) { d . addClass ( "ng-binding" ) ; return function ( d , f , g ) { f . data ( "$binding" , g . ngBindHtml ) ; var h = c ( g . ngBindHtml ) ; d . $watch ( function ( ) { return ( h ( d ) || "" ) . toString ( ) } , function ( c ) { f . html ( a . getTrustedHtml ( h ( d ) ) || "" ) } ) } } } } ] , ld = Wb ( "" , ! 0 ) , nd = Wb ( "Odd" , 0 ) , md = Wb ( "Even" , 1 ) , od = Aa ( { compile : function ( a , c ) { c . $set ( "ngCloak" , u ) ; a . removeClass ( "ng-cloak" ) } } ) , pd = [ function ( ) { return { scope : ! 0 , controller : "@" , priority : 500 } } ] , jc = { } , af = { blur : ! 0 , focus : ! 0 } ; r ( "click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste" . split ( " " ) ,
function ( a ) { var c = qa ( "ng-" + a ) ; jc [ c ] = [ "$parse" , "$rootScope" , function ( d , e ) { return { compile : function ( f , g ) { var h = d ( g [ c ] , ! 0 ) ; return function ( c , d ) { d . on ( a , function ( d ) { var f = function ( ) { h ( c , { $event : d } ) } ; af [ a ] && e . $$phase ? c . $evalAsync ( f ) : c . $apply ( f ) } ) } } } } ] } ) ; var sd = [ "$animate" , function ( a ) { return { transclude : "element" , priority : 600 , terminal : ! 0 , restrict : "A" , $$tlb : ! 0 , link : function ( c , d , e , f , g ) { var h , k , m ; c . $watch ( e . ngIf , function ( f ) { Wa ( f ) ? k || ( k = c . $new ( ) , g ( k , function ( c ) { c [ c . length ++ ] = X . createComment ( " end ngIf: " + e . ngIf +
" " ) ; h = { clone : c } ; a . enter ( c , d . parent ( ) , d ) } ) ) : ( m && ( m . remove ( ) , m = null ) , k && ( k . $destroy ( ) , k = null ) , h && ( m = Eb ( h . clone ) , a . leave ( m , function ( ) { m = null } ) , h = null ) ) } ) } } } ] , td = [ "$http" , "$templateCache" , "$anchorScroll" , "$animate" , "$sce" , function ( a , c , d , e , f ) { return { restrict : "ECA" , priority : 400 , terminal : ! 0 , transclude : "element" , controller : Xa . noop , compile : function ( g , h ) { var k = h . ngInclude || h . src , m = h . onload || "" , l = h . autoscroll ; return function ( g , h , p , r , J ) { var w = 0 , t , y , u , B = function ( ) { y && ( y . remove ( ) , y = null ) ; t && ( t . $destroy ( ) , t = null ) ;
u && ( e . leave ( u , function ( ) { y = null } ) , y = u , u = null ) } ; g . $watch ( f . parseAsResourceUrl ( k ) , function ( f ) { var k = function ( ) { ! D ( l ) || l && ! g . $eval ( l ) || d ( ) } , p = ++ w ; f ? ( a . get ( f , { cache : c } ) . success ( function ( a ) { if ( p === w ) { var c = g . $new ( ) ; r . template = a ; a = J ( c , function ( a ) { B ( ) ; e . enter ( a , null , h , k ) } ) ; t = c ; u = a ; t . $emit ( "$includeContentLoaded" ) ; g . $eval ( m ) } } ) . error ( function ( ) { p === w && B ( ) } ) , g . $emit ( "$includeContentRequested" ) ) : ( B ( ) , r . template = null ) } ) } } } } ] , Jd = [ "$compile" , function ( a ) { return { restrict : "ECA" , priority : - 400 , require : "ngInclude" ,
link : function ( c , d , e , f ) { d . html ( f . template ) ; a ( d . contents ( ) ) ( c ) } } } ] , ud = Aa ( { priority : 450 , compile : function ( ) { return { pre : function ( a , c , d ) { a . $eval ( d . ngInit ) } } } } ) , vd = Aa ( { terminal : ! 0 , priority : 1E3 } ) , wd = [ "$locale" , "$interpolate" , function ( a , c ) { var d = /{}/g ; return { restrict : "EA" , link : function ( e , f , g ) { var h = g . count , k = g . $attr . when && f . attr ( g . $attr . when ) , m = g . offset || 0 , l = e . $eval ( k ) || { } , n = { } , q = c . startSymbol ( ) , p = c . endSymbol ( ) , s = /^when(Minus)?(.+)$/ ; r ( g , function ( a , c ) { s . test ( c ) && ( l [ x ( c . replace ( "when" , "" ) . replace ( "Minus" , "-" ) ) ] =
f . attr ( g . $attr [ c ] ) ) } ) ; r ( l , function ( a , e ) { n [ e ] = c ( a . replace ( d , q + h + "-" + m + p ) ) } ) ; e . $watch ( function ( ) { var c = parseFloat ( e . $eval ( h ) ) ; if ( isNaN ( c ) ) return "" ; c in l || ( c = a . pluralCat ( c - m ) ) ; return n [ c ] ( e , f , ! 0 ) } , function ( a ) { f . text ( a ) } ) } } } ] , xd = [ "$parse" , "$animate" , function ( a , c ) { var d = z ( "ngRepeat" ) ; return { transclude : "element" , priority : 1E3 , terminal : ! 0 , $$tlb : ! 0 , link : function ( e , f , g , h , k ) { var m = g . ngRepeat , l = m . match ( /^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/ ) , n , q , p , s , u , w , t = { $id : Na } ; if ( ! l ) throw d ( "iexp" ,
m ) ; g = l [ 1 ] ; h = l [ 2 ] ; ( l = l [ 3 ] ) ? ( n = a ( l ) , q = function ( a , c , d ) { w && ( t [ w ] = a ) ; t [ u ] = c ; t . $index = d ; return n ( e , t ) } ) : ( p = function ( a , c ) { return Na ( c ) } , s = function ( a ) { return a } ) ; l = g . match ( /^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/ ) ; if ( ! l ) throw d ( "iidexp" , g ) ; u = l [ 3 ] || l [ 1 ] ; w = l [ 2 ] ; var y = { } ; e . $watchCollection ( h , function ( a ) { var g , h , l = f [ 0 ] , n , t = { } , D , C , I , x , G , v , z , F = [ ] ; if ( Sa ( a ) ) v = a , G = q || p ; else { G = q || s ; v = [ ] ; for ( I in a ) a . hasOwnProperty ( I ) && "$" != I . charAt ( 0 ) && v . push ( I ) ; v . sort ( ) } D = v . length ; h = F . length = v . length ; for ( g = 0 ; g < h ; g ++ ) if ( I = a ===
v ? g : v [ g ] , x = a [ I ] , n = G ( I , x , g ) , Ea ( n , "`track by` id" ) , y . hasOwnProperty ( n ) ) z = y [ n ] , delete y [ n ] , t [ n ] = z , F [ g ] = z ; else { if ( t . hasOwnProperty ( n ) ) throw r ( F , function ( a ) { a && a . scope && ( y [ a . id ] = a ) } ) , d ( "dupes" , m , n , oa ( x ) ) ; F [ g ] = { id : n } ; t [ n ] = ! 1 } for ( I in y ) y . hasOwnProperty ( I ) && ( z = y [ I ] , g = Eb ( z . clone ) , c . leave ( g ) , r ( g , function ( a ) { a . $$NG _REMOVED = ! 0 } ) , z . scope . $destroy ( ) ) ; g = 0 ; for ( h = v . length ; g < h ; g ++ ) { I = a === v ? g : v [ g ] ; x = a [ I ] ; z = F [ g ] ; F [ g - 1 ] && ( l = F [ g - 1 ] . clone [ F [ g - 1 ] . clone . length - 1 ] ) ; if ( z . scope ) { C = z . scope ; n = l ; do n = n . nextSibling ; while ( n && n . $$NG _REMOVED ) ;
z . clone [ 0 ] != n && c . move ( Eb ( z . clone ) , null , A ( l ) ) ; l = z . clone [ z . clone . length - 1 ] } else C = e . $new ( ) ; C [ u ] = x ; w && ( C [ w ] = I ) ; C . $index = g ; C . $first = 0 === g ; C . $last = g === D - 1 ; C . $middle = ! ( C . $first || C . $last ) ; C . $odd = ! ( C . $even = 0 === ( g & 1 ) ) ; z . scope || k ( C , function ( a ) { a [ a . length ++ ] = X . createComment ( " end ngRepeat: " + m + " " ) ; c . enter ( a , null , A ( l ) ) ; l = a ; z . scope = C ; z . clone = a ; t [ z . id ] = z } ) } y = t } ) } } } ] , yd = [ "$animate" , function ( a ) { return function ( c , d , e ) { c . $watch ( e . ngShow , function ( c ) { a [ Wa ( c ) ? "removeClass" : "addClass" ] ( d , "ng-hide" ) } ) } } ] , rd = [ "$animate" ,
function ( a ) { return function ( c , d , e ) { c . $watch ( e . ngHide , function ( c ) { a [ Wa ( c ) ? "addClass" : "removeClass" ] ( d , "ng-hide" ) } ) } } ] , zd = Aa ( function ( a , c , d ) { a . $watch ( d . ngStyle , function ( a , d ) { d && a !== d && r ( d , function ( a , d ) { c . css ( d , "" ) } ) ; a && c . css ( a ) } , ! 0 ) } ) , Ad = [ "$animate" , function ( a ) { return { restrict : "EA" , require : "ngSwitch" , controller : [ "$scope" , function ( ) { this . cases = { } } ] , link : function ( c , d , e , f ) { var g = [ ] , h = [ ] , k = [ ] , m = [ ] ; c . $watch ( e . ngSwitch || e . on , function ( d ) { var n , q ; n = 0 ; for ( q = k . length ; n < q ; ++ n ) k [ n ] . remove ( ) ; n = k . length = 0 ; for ( q =
m . length ; n < q ; ++ n ) { var p = h [ n ] ; m [ n ] . $destroy ( ) ; k [ n ] = p ; a . leave ( p , function ( ) { k . splice ( n , 1 ) } ) } h . length = 0 ; m . length = 0 ; if ( g = f . cases [ "!" + d ] || f . cases [ "?" ] ) c . $eval ( e . change ) , r ( g , function ( d ) { var e = c . $new ( ) ; m . push ( e ) ; d . transclude ( e , function ( c ) { var e = d . element ; h . push ( c ) ; a . enter ( c , e . parent ( ) , e ) } ) } ) } ) } } } ] , Bd = Aa ( { transclude : "element" , priority : 800 , require : "^ngSwitch" , link : function ( a , c , d , e , f ) { e . cases [ "!" + d . ngSwitchWhen ] = e . cases [ "!" + d . ngSwitchWhen ] || [ ] ; e . cases [ "!" + d . ngSwitchWhen ] . push ( { transclude : f , element : c } ) } } ) , Cd =
Aa ( { transclude : "element" , priority : 800 , require : "^ngSwitch" , link : function ( a , c , d , e , f ) { e . cases [ "?" ] = e . cases [ "?" ] || [ ] ; e . cases [ "?" ] . push ( { transclude : f , element : c } ) } } ) , Ed = Aa ( { link : function ( a , c , d , e , f ) { if ( ! f ) throw z ( "ngTransclude" ) ( "orphan" , ia ( c ) ) ; f ( function ( a ) { c . empty ( ) ; c . append ( a ) } ) } } ) , ed = [ "$templateCache" , function ( a ) { return { restrict : "E" , terminal : ! 0 , compile : function ( c , d ) { "text/ng-template" == d . type && a . put ( d . id , c [ 0 ] . text ) } } } ] , bf = z ( "ngOptions" ) , Dd = aa ( { terminal : ! 0 } ) , fd = [ "$compile" , "$parse" , function ( a , c ) { var d =
/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/ , e = { $setViewValue : v } ; return { restrict : "E" , require : [ "select" , "?ngModel" ] , controller : [ "$element" , "$scope" , "$attrs" , function ( a , c , d ) { var k = this , m = { } , l = e , n ; k . databound = d . ngModel ; k . init = function ( a , c , d ) { l = a ; n = d } ; k . addOption = function ( c ) { Ea ( c , '"option value"' ) ; m [ c ] = ! 0 ; l . $viewValue == c && ( a . val ( c ) , n . parent ( ) && n . remove ( ) ) } ;
k . removeOption = function ( a ) { this . hasOption ( a ) && ( delete m [ a ] , l . $viewValue == a && this . renderUnknownOption ( a ) ) } ; k . renderUnknownOption = function ( c ) { c = "? " + Na ( c ) + " ?" ; n . val ( c ) ; a . prepend ( n ) ; a . val ( c ) ; n . prop ( "selected" , ! 0 ) } ; k . hasOption = function ( a ) { return m . hasOwnProperty ( a ) } ; c . $on ( "$destroy" , function ( ) { k . renderUnknownOption = v } ) } ] , link : function ( e , g , h , k ) { function m ( a , c , d , e ) { d . $render = function ( ) { var a = d . $viewValue ; e . hasOption ( a ) ? ( x . parent ( ) && x . remove ( ) , c . val ( a ) , "" === a && w . prop ( "selected" , ! 0 ) ) : F ( a ) && w ? c . val ( "" ) : e . renderUnknownOption ( a ) } ;
c . on ( "change" , function ( ) { a . $apply ( function ( ) { x . parent ( ) && x . remove ( ) ; d . $setViewValue ( c . val ( ) ) } ) } ) } function l ( a , c , d ) { var e ; d . $render = function ( ) { var a = new db ( d . $viewValue ) ; r ( c . find ( "option" ) , function ( c ) { c . selected = D ( a . get ( c . value ) ) } ) } ; a . $watch ( function ( ) { Ca ( e , d . $viewValue ) || ( e = ha ( d . $viewValue ) , d . $render ( ) ) } ) ; c . on ( "change" , function ( ) { a . $apply ( function ( ) { var a = [ ] ; r ( c . find ( "option" ) , function ( c ) { c . selected && a . push ( c . value ) } ) ; d . $setViewValue ( a ) } ) } ) } function n ( e , f , g ) { function h ( ) { var a = { "" : [ ] } , c = [ "" ] , d , k ,
s , u , v ; s = g . $modelValue ; u = A ( e ) || [ ] ; var F = n ? Xb ( u ) : u , G , Q , C ; Q = { } ; C = ! 1 ; if ( p ) if ( k = g . $modelValue , w && L ( k ) ) for ( C = new db ( [ ] ) , d = { } , v = 0 ; v < k . length ; v ++ ) d [ m ] = k [ v ] , C . put ( w ( e , d ) , k [ v ] ) ; else C = new db ( k ) ; v = C ; var E , K ; for ( C = 0 ; G = F . length , C < G ; C ++ ) { k = C ; if ( n ) { k = F [ C ] ; if ( "$" === k . charAt ( 0 ) ) continue ; Q [ n ] = k } Q [ m ] = u [ k ] ; d = r ( e , Q ) || "" ; ( k = a [ d ] ) || ( k = a [ d ] = [ ] , c . push ( d ) ) ; p ? d = D ( v . remove ( w ? w ( e , Q ) : x ( e , Q ) ) ) : ( w ? ( d = { } , d [ m ] = s , d = w ( e , d ) === w ( e , Q ) ) : d = s === x ( e , Q ) , v = v || d ) ; E = l ( e , Q ) ; E = D ( E ) ? E : "" ; k . push ( { id : w ? w ( e , Q ) : n ? F [ C ] : C , label : E , selected : d } ) } p || ( z || null ===
s ? a [ "" ] . unshift ( { id : "" , label : "" , selected : ! v } ) : v || a [ "" ] . unshift ( { id : "?" , label : "" , selected : ! 0 } ) ) ; Q = 0 ; for ( F = c . length ; Q < F ; Q ++ ) { d = c [ Q ] ; k = a [ d ] ; B . length <= Q ? ( s = { element : y . clone ( ) . attr ( "label" , d ) , label : k . label } , u = [ s ] , B . push ( u ) , f . append ( s . element ) ) : ( u = B [ Q ] , s = u [ 0 ] , s . label != d && s . element . attr ( "label" , s . label = d ) ) ; E = null ; C = 0 ; for ( G = k . length ; C < G ; C ++ ) d = k [ C ] , ( v = u [ C + 1 ] ) ? ( E = v . element , v . label !== d . label && ( E . text ( v . label = d . label ) , E . prop ( "label" , v . label ) ) , v . id !== d . id && E . val ( v . id = d . id ) , E [ 0 ] . selected !== d . selected && ( E . prop ( "selected" ,
v . selected = d . selected ) , R && E . prop ( "selected" , v . selected ) ) ) : ( "" === d . id && z ? K = z : ( K = t . clone ( ) ) . val ( d . id ) . prop ( "selected" , d . selected ) . attr ( "selected" , d . selected ) . prop ( "label" , d . label ) . text ( d . label ) , u . push ( { element : K , label : d . label , id : d . id , selected : d . selected } ) , q . addOption ( d . label , K ) , E ? E . after ( K ) : s . element . append ( K ) , E = K ) ; for ( C ++ ; u . length > C ; ) d = u . pop ( ) , q . removeOption ( d . label ) , d . element . remove ( ) } for ( ; B . length > Q ; ) B . pop ( ) [ 0 ] . element . remove ( ) } var k ; if ( ! ( k = s . match ( d ) ) ) throw bf ( "iexp" , s , ia ( f ) ) ; var l = c ( k [ 2 ] || k [ 1 ] ) ,
m = k [ 4 ] || k [ 6 ] , n = k [ 5 ] , r = c ( k [ 3 ] || "" ) , x = c ( k [ 2 ] ? k [ 1 ] : m ) , A = c ( k [ 7 ] ) , w = k [ 8 ] ? c ( k [ 8 ] ) : null , B = [ [ { element : f , label : "" } ] ] ; z && ( a ( z ) ( e ) , z . removeClass ( "ng-scope" ) , z . remove ( ) ) ; f . empty ( ) ; f . on ( "change" , function ( ) { e . $apply ( function ( ) { var a , c = A ( e ) || [ ] , d = { } , k , l , q , r , s , t , v ; if ( p ) for ( l = [ ] , r = 0 , t = B . length ; r < t ; r ++ ) for ( a = B [ r ] , q = 1 , s = a . length ; q < s ; q ++ ) { if ( ( k = a [ q ] . element ) [ 0 ] . selected ) { k = k . val ( ) ; n && ( d [ n ] = k ) ; if ( w ) for ( v = 0 ; v < c . length && ( d [ m ] = c [ v ] , w ( e , d ) != k ) ; v ++ ) ; else d [ m ] = c [ k ] ; l . push ( x ( e , d ) ) } } else if ( k = f . val ( ) , "?" == k ) l = u ; else if ( "" ===
k ) l = null ; else if ( w ) for ( v = 0 ; v < c . length ; v ++ ) { if ( d [ m ] = c [ v ] , w ( e , d ) == k ) { l = x ( e , d ) ; break } } else d [ m ] = c [ k ] , n && ( d [ n ] = k ) , l = x ( e , d ) ; g . $setViewValue ( l ) ; h ( ) } ) } ) ; g . $render = h ; e . $watchCollection ( A , h ) ; e . $watchCollection ( function ( ) { var a = { } , c = A ( e ) ; if ( c ) { for ( var d = Array ( c . length ) , f = 0 , g = c . length ; f < g ; f ++ ) a [ m ] = c [ f ] , d [ f ] = l ( e , a ) ; return d } } , h ) ; p && e . $watchCollection ( function ( ) { return g . $modelValue } , h ) } if ( k [ 1 ] ) { var q = k [ 0 ] ; k = k [ 1 ] ; var p = h . multiple , s = h . ngOptions , z = ! 1 , w , t = A ( X . createElement ( "option" ) ) , y = A ( X . createElement ( "optgroup" ) ) ,
x = t . clone ( ) ; h = 0 ; for ( var B = g . children ( ) , v = B . length ; h < v ; h ++ ) if ( "" === B [ h ] . value ) { w = z = B . eq ( h ) ; break } q . init ( k , z , x ) ; p && ( k . $isEmpty = function ( a ) { return ! a || 0 === a . length } ) ; s ? n ( e , g , k ) : p ? l ( e , g , k ) : m ( e , g , k , q ) } } } } ] , hd = [ "$interpolate" , function ( a ) { var c = { addOption : v , removeOption : v } ; return { restrict : "E" , priority : 100 , compile : function ( d , e ) { if ( F ( e . value ) ) { var f = a ( d . text ( ) , ! 0 ) ; f || e . $set ( "value" , d . text ( ) ) } return function ( a , d , e ) { var m = d . parent ( ) , l = m . data ( "$selectController" ) || m . parent ( ) . data ( "$selectController" ) ; l && l . databound ?
d . prop ( "selected" , ! 1 ) : l = c ; f ? a . $watch ( f , function ( a , c ) { e . $set ( "value" , a ) ; a !== c && l . removeOption ( c ) ; l . addOption ( a ) } ) : l . addOption ( e . value ) ; d . on ( "$destroy" , function ( ) { l . removeOption ( e . value ) } ) } } } } ] , gd = aa ( { restrict : "E" , terminal : ! 0 } ) ; W . angular . bootstrap ? console . log ( "WARNING: Tried to load angular more than once." ) : ( ( Fa = W . jQuery ) && Fa . fn . on ? ( A = Fa , E ( Fa . fn , { scope : Oa . scope , isolateScope : Oa . isolateScope , controller : Oa . controller , injector : Oa . injector , inheritedData : Oa . inheritedData } ) , Gb ( "remove" , ! 0 , ! 0 , ! 1 ) , Gb ( "empty" ,
! 1 , ! 1 , ! 1 ) , Gb ( "html" , ! 1 , ! 1 , ! 0 ) ) : A = S , Xa . element = A , Zc ( Xa ) , A ( X ) . ready ( function ( ) { Wc ( X , dc ) } ) ) } ) ( window , document ) ; ! window . angular . $$csp ( ) && window . angular . element ( document ) . find ( "head" ) . prepend ( '<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}.ng-animate-block-transitions{transition:0s all!important;-webkit-transition:0s all!important;}.ng-hide-add-active,.ng-hide-remove{display:block!important;}</style>' ) ;
//
/ * *
* @ license
* lodash 3.9 . 0 ( Custom Build ) lodash . com / license | Underscore . js 1.8 . 3 underscorejs . org / LICENSE
* Build : ` lodash compat -o ./lodash.js `
* /
; ( function ( ) { function n ( n , t ) { if ( n !== t ) { var r = null === n , e = n === m , u = n === n , o = null === t , i = t === m , a = t === t ; if ( n > t && ! o || ! u || r && ! i && a || e && a ) return 1 ; if ( n < t && ! r || ! a || o && ! e && u || i && u ) return - 1 } return 0 } function t ( n , t , r ) { for ( var e = n . length , u = r ? e : - 1 ; r ? u -- : ++ u < e ; ) if ( t ( n [ u ] , u , n ) ) return u ; return - 1 } function r ( n , t , r ) { if ( t !== t ) return s ( n , r ) ; r -= 1 ; for ( var e = n . length ; ++ r < e ; ) if ( n [ r ] === t ) return r ; return - 1 } function e ( n ) { return typeof n == "function" || false } function u ( n ) { return typeof n == "string" ? n : null == n ? "" : n + "" } function o ( n , t ) { for ( var r = - 1 , e = n . length ; ++ r < e && - 1 < t . indexOf ( n . charAt ( r ) ) ; ) ;
return r } function i ( n , t ) { for ( var r = n . length ; r -- && - 1 < t . indexOf ( n . charAt ( r ) ) ; ) ; return r } function a ( t , r ) { return n ( t . a , r . a ) || t . b - r . b } function l ( n ) { return Ln [ n ] } function f ( n ) { return Pn [ n ] } function c ( n ) { return "\\" + Bn [ n ] } function s ( n , t , r ) { var e = n . length ; for ( t += r ? 0 : - 1 ; r ? t -- : ++ t < e ; ) { var u = n [ t ] ; if ( u !== u ) return t } return - 1 } function p ( n ) { return ! ! n && typeof n == "object" } function h ( n ) { return 160 >= n && 9 <= n && 13 >= n || 32 == n || 160 == n || 5760 == n || 6158 == n || 8192 <= n && ( 8202 >= n || 8232 == n || 8233 == n || 8239 == n || 8287 == n || 12288 == n || 65279 == n ) ;
} function _ ( n , t ) { for ( var r = - 1 , e = n . length , u = - 1 , o = [ ] ; ++ r < e ; ) n [ r ] === t && ( n [ r ] = P , o [ ++ u ] = r ) ; return o } function v ( n ) { for ( var t = - 1 , r = n . length ; ++ t < r && h ( n . charCodeAt ( t ) ) ; ) ; return t } function g ( n ) { for ( var t = n . length ; t -- && h ( n . charCodeAt ( t ) ) ; ) ; return t } function y ( n ) { return Nn [ n ] } function d ( h ) { function Ln ( n ) { if ( p ( n ) && ! ( Lo ( n ) || n instanceof zn ) ) { if ( n instanceof Nn ) return n ; if ( uu . call ( n , "__chain__" ) && uu . call ( n , "__wrapped__" ) ) return Mr ( n ) } return new Nn ( n ) } function Pn ( ) { } function Nn ( n , t , r ) { this . _ _wrapped _ _ = n , this . _ _actions _ _ = r || [ ] ,
this . _ _chain _ _ = ! ! t } function zn ( n ) { this . _ _wrapped _ _ = n , this . _ _actions _ _ = null , this . _ _dir _ _ = 1 , this . _ _filtered _ _ = false , this . _ _iteratees _ _ = null , this . _ _takeCount _ _ = Uu , this . _ _views _ _ = null } function Bn ( ) { this . _ _data _ _ = { } } function Mn ( n ) { var t = n ? n . length : 0 ; for ( this . data = { hash : Au ( null ) , set : new yu } ; t -- ; ) this . push ( n [ t ] ) } function qn ( n , t ) { var r = n . data ; return ( typeof t == "string" || ye ( t ) ? r . set . has ( t ) : r . hash [ t ] ) ? 0 : - 1 } function Dn ( n , t ) { var r = - 1 , e = n . length ; for ( t || ( t = Me ( e ) ) ; ++ r < e ; ) t [ r ] = n [ r ] ; return t } function Kn ( n , t ) { for ( var r = - 1 , e = n . length ; ++ r < e && false !== t ( n [ r ] , r , n ) ; ) ;
return n } function Zn ( n , t ) { for ( var r = - 1 , e = n . length ; ++ r < e ; ) if ( ! t ( n [ r ] , r , n ) ) return false ; return true } function Xn ( n , t ) { for ( var r = - 1 , e = n . length , u = - 1 , o = [ ] ; ++ r < e ; ) { var i = n [ r ] ; t ( i , r , n ) && ( o [ ++ u ] = i ) } return o } function Gn ( n , t ) { for ( var r = - 1 , e = n . length , u = Me ( e ) ; ++ r < e ; ) u [ r ] = t ( n [ r ] , r , n ) ; return u } function Hn ( n , t , r , e ) { var u = - 1 , o = n . length ; for ( e && o && ( r = n [ ++ u ] ) ; ++ u < o ; ) r = t ( r , n [ u ] , u , n ) ; return r } function Qn ( n , t ) { for ( var r = - 1 , e = n . length ; ++ r < e ; ) if ( t ( n [ r ] , r , n ) ) return true ; return false } function nt ( n , t ) { return n === m ? t : n } function tt ( n , t , r , e ) {
return n !== m && uu . call ( e , r ) ? n : t } function rt ( n , t , r ) { for ( var e = - 1 , u = Jo ( t ) , o = u . length ; ++ e < o ; ) { var i = u [ e ] , a = n [ i ] , l = r ( a , t [ i ] , i , n , t ) ; ( l === l ? l === a : a !== a ) && ( a !== m || i in n ) || ( n [ i ] = l ) } return n } function et ( n , t ) { return null == t ? n : ot ( t , Jo ( t ) , n ) } function ut ( n , t ) { for ( var r = - 1 , e = null == n , u = ! e && Er ( n ) , o = u ? n . length : 0 , i = t . length , a = Me ( i ) ; ++ r < i ; ) { var l = t [ r ] ; a [ r ] = u ? Cr ( l , o ) ? n [ l ] : m : e ? m : n [ l ] } return a } function ot ( n , t , r ) { r || ( r = { } ) ; for ( var e = - 1 , u = t . length ; ++ e < u ; ) { var o = t [ e ] ; r [ o ] = n [ o ] } return r } function it ( n , t , r ) { var e = typeof n ; return "function" == e ? t === m ? n : Mt ( n , t , r ) : null == n ? Le : "object" == e ? At ( n ) : t === m ? Be ( n ) : jt ( n , t ) ;
} function at ( n , t , r , e , u , o , i ) { var a ; if ( r && ( a = u ? r ( n , e , u ) : r ( n ) ) , a !== m ) return a ; if ( ! ye ( n ) ) return n ; if ( e = Lo ( n ) ) { if ( a = Or ( n ) , ! t ) return Dn ( n , a ) } else { var l = iu . call ( n ) , f = l == D ; if ( l != Z && l != N && ( ! f || u ) ) return Fn [ l ] ? Ir ( n , l , t ) : u ? n : { } ; if ( Yn ( n ) ) return u ? n : { } ; if ( a = kr ( f ? { } : n ) , ! t ) return et ( a , n ) } for ( o || ( o = [ ] ) , i || ( i = [ ] ) , u = o . length ; u -- ; ) if ( o [ u ] == n ) return i [ u ] ; return o . push ( n ) , i . push ( a ) , ( e ? Kn : gt ) ( n , function ( e , u ) { a [ u ] = at ( e , t , r , u , n , o , i ) } ) , a } function lt ( n , t , r ) { if ( typeof n != "function" ) throw new Ge ( L ) ; return du ( function ( ) { n . apply ( m , r ) ;
} , t ) } function ft ( n , t ) { var e = n ? n . length : 0 , u = [ ] ; if ( ! e ) return u ; var o = - 1 , i = xr ( ) , a = i == r , l = a && 200 <= t . length ? Ju ( t ) : null , f = t . length ; l && ( i = qn , a = false , t = l ) ; n : for ( ; ++ o < e ; ) if ( l = n [ o ] , a && l === l ) { for ( var c = f ; c -- ; ) if ( t [ c ] === l ) continue n ; u . push ( l ) } else 0 > i ( t , l , 0 ) && u . push ( l ) ; return u } function ct ( n , t ) { var r = true ; return Du ( n , function ( n , e , u ) { return r = ! ! t ( n , e , u ) } ) , r } function st ( n , t , r , e ) { var u = e , o = u ; return Du ( n , function ( n , i , a ) { i = + t ( n , i , a ) , ( r ( i , u ) || i === e && i === o ) && ( u = i , o = n ) } ) , o } function pt ( n , t ) { var r = [ ] ; return Du ( n , function ( n , e , u ) {
t ( n , e , u ) && r . push ( n ) } ) , r } function ht ( n , t , r , e ) { var u ; return r ( n , function ( n , r , o ) { return t ( n , r , o ) ? ( u = e ? r : n , false ) : void 0 } ) , u } function _t ( n , t , r ) { for ( var e = - 1 , u = n . length , o = - 1 , i = [ ] ; ++ e < u ; ) { var a = n [ e ] ; if ( p ( a ) && Er ( a ) && ( r || Lo ( a ) || he ( a ) ) ) { t && ( a = _t ( a , t , r ) ) ; for ( var l = - 1 , f = a . length ; ++ l < f ; ) i [ ++ o ] = a [ l ] } else r || ( i [ ++ o ] = a ) } return i } function vt ( n , t ) { Zu ( n , t , ke ) } function gt ( n , t ) { return Zu ( n , t , Jo ) } function yt ( n , t ) { return Vu ( n , t , Jo ) } function dt ( n , t ) { for ( var r = - 1 , e = t . length , u = - 1 , o = [ ] ; ++ r < e ; ) { var i = t [ r ] ; No ( n [ i ] ) && ( o [ ++ u ] = i ) ;
} return o } function mt ( n , t , r ) { if ( null != n ) { n = zr ( n ) , r !== m && r in n && ( t = [ r ] ) , r = - 1 ; for ( var e = t . length ; null != n && ++ r < e ; ) n = zr ( n ) [ t [ r ] ] ; return r && r == e ? n : m } } function wt ( n , t , r , e , u , o ) { if ( n === t ) n = true ; else if ( null == n || null == t || ! ye ( n ) && ! ye ( t ) ) n = n !== n && t !== t ; else n : { var i = wt , a = Lo ( n ) , l = Lo ( t ) , f = z , c = z ; a || ( f = iu . call ( n ) , f == N ? f = Z : f != Z && ( a = xe ( n ) ) ) , l || ( c = iu . call ( t ) , c == N ? c = Z : c != Z && xe ( t ) ) ; var s = f == Z && ! Yn ( n ) , l = c == Z && ! Yn ( t ) , c = f == c ; if ( ! c || a || s ) { if ( ! e && ( f = s && uu . call ( n , "__wrapped__" ) , l = l && uu . call ( t , "__wrapped__" ) , f || l ) ) { n = i ( f ? n . value ( ) : n , l ? t . value ( ) : t , r , e , u , o ) ;
break n } if ( c ) { for ( u || ( u = [ ] ) , o || ( o = [ ] ) , f = u . length ; f -- ; ) if ( u [ f ] == n ) { n = o [ f ] == t ; break n } u . push ( n ) , o . push ( t ) , n = ( a ? yr : mr ) ( n , t , i , r , e , u , o ) , u . pop ( ) , o . pop ( ) } else n = false } else n = dr ( n , t , f ) } return n } function bt ( n , t , r ) { var e = t . length , u = e , o = ! r ; if ( null == n ) return ! u ; for ( n = zr ( n ) ; e -- ; ) { var i = t [ e ] ; if ( o && i [ 2 ] ? i [ 1 ] !== n [ i [ 0 ] ] : ! ( i [ 0 ] in n ) ) return false } for ( ; ++ e < u ; ) { var i = t [ e ] , a = i [ 0 ] , l = n [ a ] , f = i [ 1 ] ; if ( o && i [ 2 ] ) { if ( l === m && ! ( a in n ) ) return false } else if ( i = r ? r ( l , f , a ) : m , i === m ? ! wt ( f , l , r , true ) : ! i ) return false } return true } function xt ( n , t ) { var r = - 1 , e = Er ( n ) ? Me ( n . length ) : [ ] ;
return Du ( n , function ( n , u , o ) { e [ ++ r ] = t ( n , u , o ) } ) , e } function At ( n ) { var t = Ar ( n ) ; if ( 1 == t . length && t [ 0 ] [ 2 ] ) { var r = t [ 0 ] [ 0 ] , e = t [ 0 ] [ 1 ] ; return function ( n ) { return null == n ? false : ( n = zr ( n ) , n [ r ] === e && ( e !== m || r in n ) ) } } return function ( n ) { return bt ( n , t ) } } function jt ( n , t ) { var r = Lo ( n ) , e = Tr ( n ) && t === t && ! ye ( t ) , u = n + "" ; return n = Br ( n ) , function ( o ) { if ( null == o ) return false ; var i = u ; if ( o = zr ( o ) , ! ( ! r && e || i in o ) ) { if ( o = 1 == n . length ? o : mt ( o , St ( n , 0 , - 1 ) ) , null == o ) return false ; i = Vr ( n ) , o = zr ( o ) } return o [ i ] === t ? t !== m || i in o : wt ( t , o [ i ] , m , true ) } } function Ot ( n , t , r , e , u ) {
if ( ! ye ( n ) ) return n ; var o = Er ( t ) && ( Lo ( t ) || xe ( t ) ) , i = o ? null : Jo ( t ) ; return Kn ( i || t , function ( a , l ) { if ( i && ( l = a , a = t [ l ] ) , p ( a ) ) { e || ( e = [ ] ) , u || ( u = [ ] ) ; n : { for ( var f = l , c = e , s = u , h = c . length , _ = t [ f ] ; h -- ; ) if ( c [ h ] == _ ) { n [ f ] = s [ h ] ; break n } var h = n [ f ] , v = r ? r ( h , _ , f , n , t ) : m , g = v === m ; g && ( v = _ , Er ( _ ) && ( Lo ( _ ) || xe ( _ ) ) ? v = Lo ( h ) ? h : Er ( h ) ? Dn ( h ) : [ ] : zo ( _ ) || he ( _ ) ? v = he ( h ) ? je ( h ) : zo ( h ) ? h : { } : g = false ) , c . push ( _ ) , s . push ( v ) , g ? n [ f ] = Ot ( v , _ , r , c , s ) : ( v === v ? v !== h : h === h ) && ( n [ f ] = v ) } } else f = n [ l ] , c = r ? r ( f , a , l , n , t ) : m , ( s = c === m ) && ( c = a ) , c === m && ( ! o || l in n ) || ! s && ( c === c ? c === f : f !== f ) || ( n [ l ] = c ) ;
} ) , n } function kt ( n ) { return function ( t ) { return null == t ? m : zr ( t ) [ n ] } } function It ( n ) { var t = n + "" ; return n = Br ( n ) , function ( r ) { return mt ( r , n , t ) } } function Rt ( n , t ) { for ( var r = n ? t . length : 0 ; r -- ; ) { var e = t [ r ] ; if ( e != u && Cr ( e ) ) { var u = e ; mu . call ( n , e , 1 ) } } } function Et ( n , t ) { return n + hu ( Tu ( ) * ( t - n + 1 ) ) } function Ct ( n , t , r , e , u ) { return u ( n , function ( n , u , o ) { r = e ? ( e = false , n ) : t ( r , n , u , o ) } ) , r } function St ( n , t , r ) { var e = - 1 , u = n . length ; for ( t = null == t ? 0 : + t || 0 , 0 > t && ( t = - t > u ? 0 : u + t ) , r = r === m || r > u ? u : + r || 0 , 0 > r && ( r += u ) , u = t > r ? 0 : r - t >>> 0 , t >>>= 0 , r = Me ( u ) ; ++ e < u ; ) r [ e ] = n [ e + t ] ;
return r } function Tt ( n , t ) { var r ; return Du ( n , function ( n , e , u ) { return r = t ( n , e , u ) , ! r } ) , ! ! r } function Ut ( n , t ) { var r = n . length ; for ( n . sort ( t ) ; r -- ; ) n [ r ] = n [ r ] . c ; return n } function Wt ( t , r , e ) { var u = wr ( ) , o = - 1 ; return r = Gn ( r , function ( n ) { return u ( n ) } ) , t = xt ( t , function ( n ) { return { a : Gn ( r , function ( t ) { return t ( n ) } ) , b : ++ o , c : n } } ) , Ut ( t , function ( t , r ) { var u ; n : { u = - 1 ; for ( var o = t . a , i = r . a , a = o . length , l = e . length ; ++ u < a ; ) { var f = n ( o [ u ] , i [ u ] ) ; if ( f ) { u = u < l ? f * ( e [ u ] ? 1 : - 1 ) : f ; break n } } u = t . b - r . b } return u } ) } function Ft ( n , t ) { var r = 0 ; return Du ( n , function ( n , e , u ) {
r += + t ( n , e , u ) || 0 } ) , r } function $t ( n , t ) { var e = - 1 , u = xr ( ) , o = n . length , i = u == r , a = i && 200 <= o , l = a ? Ju ( ) : null , f = [ ] ; l ? ( u = qn , i = false ) : ( a = false , l = t ? [ ] : f ) ; n : for ( ; ++ e < o ; ) { var c = n [ e ] , s = t ? t ( c , e , n ) : c ; if ( i && c === c ) { for ( var p = l . length ; p -- ; ) if ( l [ p ] === s ) continue n ; t && l . push ( s ) , f . push ( c ) } else 0 > u ( l , s , 0 ) && ( ( t || a ) && l . push ( s ) , f . push ( c ) ) } return f } function Lt ( n , t ) { for ( var r = - 1 , e = t . length , u = Me ( e ) ; ++ r < e ; ) u [ r ] = n [ t [ r ] ] ; return u } function Pt ( n , t , r , e ) { for ( var u = n . length , o = e ? u : - 1 ; ( e ? o -- : ++ o < u ) && t ( n [ o ] , o , n ) ; ) ; return r ? St ( n , e ? 0 : o , e ? o + 1 : u ) : St ( n , e ? o + 1 : 0 , e ? u : o ) ;
} function Nt ( n , t ) { var r = n ; r instanceof zn && ( r = r . value ( ) ) ; for ( var e = - 1 , u = t . length ; ++ e < u ; ) { var r = [ r ] , o = t [ e ] ; vu . apply ( r , o . args ) , r = o . func . apply ( o . thisArg , r ) } return r } function zt ( n , t , r ) { var e = 0 , u = n ? n . length : e ; if ( typeof t == "number" && t === t && u <= Fu ) { for ( ; e < u ; ) { var o = e + u >>> 1 , i = n [ o ] ; ( r ? i <= t : i < t ) && null !== i ? e = o + 1 : u = o } return u } return Bt ( n , t , Le , r ) } function Bt ( n , t , r , e ) { t = r ( t ) ; for ( var u = 0 , o = n ? n . length : 0 , i = t !== t , a = null === t , l = t === m ; u < o ; ) { var f = hu ( ( u + o ) / 2 ) , c = r ( n [ f ] ) , s = c !== m , p = c === c ; ( i ? p || e : a ? p && s && ( e || null != c ) : l ? p && ( e || s ) : null == c ? 0 : e ? c <= t : c < t ) ? u = f + 1 : o = f ;
} return Ru ( o , Wu ) } function Mt ( n , t , r ) { if ( typeof n != "function" ) return Le ; if ( t === m ) return n ; switch ( r ) { case 1 : return function ( r ) { return n . call ( t , r ) } ; case 3 : return function ( r , e , u ) { return n . call ( t , r , e , u ) } ; case 4 : return function ( r , e , u , o ) { return n . call ( t , r , e , u , o ) } ; case 5 : return function ( r , e , u , o , i ) { return n . call ( t , r , e , u , o , i ) } } return function ( ) { return n . apply ( t , arguments ) } } function qt ( n ) { return cu . call ( n , 0 ) } function Dt ( n , t , r ) { for ( var e = r . length , u = - 1 , o = Iu ( n . length - e , 0 ) , i = - 1 , a = t . length , l = Me ( o + a ) ; ++ i < a ; ) l [ i ] = t [ i ] ;
for ( ; ++ u < e ; ) l [ r [ u ] ] = n [ u ] ; for ( ; o -- ; ) l [ i ++ ] = n [ u ++ ] ; return l } function Kt ( n , t , r ) { for ( var e = - 1 , u = r . length , o = - 1 , i = Iu ( n . length - u , 0 ) , a = - 1 , l = t . length , f = Me ( i + l ) ; ++ o < i ; ) f [ o ] = n [ o ] ; for ( i = o ; ++ a < l ; ) f [ i + a ] = t [ a ] ; for ( ; ++ e < u ; ) f [ i + r [ e ] ] = n [ o ++ ] ; return f } function Zt ( n , t ) { return function ( r , e , u ) { var o = t ? t ( ) : { } ; if ( e = wr ( e , u , 3 ) , Lo ( r ) ) { u = - 1 ; for ( var i = r . length ; ++ u < i ; ) { var a = r [ u ] ; n ( o , a , e ( a , u , r ) , r ) } } else Du ( r , function ( t , r , u ) { n ( o , t , e ( t , r , u ) , u ) } ) ; return o } } function Vt ( n ) { return se ( function ( t , r ) { var e = - 1 , u = null == t ? 0 : r . length , o = 2 < u ? r [ u - 2 ] : m , i = 2 < u ? r [ 2 ] : m , a = 1 < u ? r [ u - 1 ] : m ;
for ( typeof o == "function" ? ( o = Mt ( o , a , 5 ) , u -= 2 ) : ( o = typeof a == "function" ? a : m , u -= o ? 1 : 0 ) , i && Sr ( r [ 0 ] , r [ 1 ] , i ) && ( o = 3 > u ? m : o , u = 1 ) ; ++ e < u ; ) ( i = r [ e ] ) && n ( t , i , o ) ; return t } ) } function Yt ( n , t ) { return function ( r , e ) { var u = r ? Gu ( r ) : 0 ; if ( ! Wr ( u ) ) return n ( r , e ) ; for ( var o = t ? u : - 1 , i = zr ( r ) ; ( t ? o -- : ++ o < u ) && false !== e ( i [ o ] , o , i ) ; ) ; return r } } function Jt ( n ) { return function ( t , r , e ) { var u = zr ( t ) ; e = e ( t ) ; for ( var o = e . length , i = n ? o : - 1 ; n ? i -- : ++ i < o ; ) { var a = e [ i ] ; if ( false === r ( u [ a ] , a , u ) ) break } return t } } function Xt ( n , t ) { function r ( ) { return ( this && this !== Vn && this instanceof r ? e : n ) . apply ( t , arguments ) ;
} var e = Ht ( n ) ; return r } function Gt ( n ) { return function ( t ) { var r = - 1 ; t = We ( Ee ( t ) ) ; for ( var e = t . length , u = "" ; ++ r < e ; ) u = n ( u , t [ r ] , r ) ; return u } } function Ht ( n ) { return function ( ) { var t = arguments ; switch ( t . length ) { case 0 : return new n ; case 1 : return new n ( t [ 0 ] ) ; case 2 : return new n ( t [ 0 ] , t [ 1 ] ) ; case 3 : return new n ( t [ 0 ] , t [ 1 ] , t [ 2 ] ) ; case 4 : return new n ( t [ 0 ] , t [ 1 ] , t [ 2 ] , t [ 3 ] ) ; case 5 : return new n ( t [ 0 ] , t [ 1 ] , t [ 2 ] , t [ 3 ] , t [ 4 ] ) } var r = qu ( n . prototype ) , t = n . apply ( r , t ) ; return ye ( t ) ? t : r } } function Qt ( n ) { function t ( r , e , u ) { return u && Sr ( r , e , u ) && ( e = null ) ,
r = gr ( r , n , null , null , null , null , null , e ) , r . placeholder = t . placeholder , r } return t } function nr ( n , t ) { return function ( r , e , u ) { if ( u && Sr ( r , e , u ) && ( e = null ) , e = wr ( e , u , 3 ) , 1 == e . length ) { u = r = Nr ( r ) ; for ( var o = e , i = - 1 , a = u . length , l = t , f = l ; ++ i < a ; ) { var c = u [ i ] , s = + o ( c ) ; n ( s , l ) && ( l = s , f = c ) } if ( u = f , ! r . length || u !== t ) return u } return st ( r , e , n , t ) } } function tr ( n , r ) { return function ( e , u , o ) { return u = wr ( u , o , 3 ) , Lo ( e ) ? ( u = t ( e , u , r ) , - 1 < u ? e [ u ] : m ) : ht ( e , u , n ) } } function rr ( n ) { return function ( r , e , u ) { return r && r . length ? ( e = wr ( e , u , 3 ) , t ( r , e , n ) ) : - 1 } } function er ( n ) {
return function ( t , r , e ) { return r = wr ( r , e , 3 ) , ht ( t , r , n , true ) } } function ur ( n ) { return function ( ) { for ( var t , r = arguments . length , e = n ? r : - 1 , u = 0 , o = Me ( r ) ; n ? e -- : ++ e < r ; ) { var i = o [ u ++ ] = arguments [ e ] ; if ( typeof i != "function" ) throw new Ge ( L ) ; ! t && Nn . prototype . thru && "wrapper" == br ( i ) && ( t = new Nn ( [ ] ) ) } for ( e = t ? - 1 : r ; ++ e < r ; ) { var i = o [ e ] , u = br ( i ) , a = "wrapper" == u ? Xu ( i ) : null ; t = a && Ur ( a [ 0 ] ) && a [ 1 ] == ( R | j | k | E ) && ! a [ 4 ] . length && 1 == a [ 9 ] ? t [ br ( a [ 0 ] ) ] . apply ( t , a [ 3 ] ) : 1 == i . length && Ur ( i ) ? t [ u ] ( ) : t . thru ( i ) } return function ( ) { var n = arguments ; if ( t && 1 == n . length && Lo ( n [ 0 ] ) ) return t . plant ( n [ 0 ] ) . value ( ) ;
for ( var e = 0 , n = r ? o [ e ] . apply ( this , n ) : n [ 0 ] ; ++ e < r ; ) n = o [ e ] . call ( this , n ) ; return n } } } function or ( n , t ) { return function ( r , e , u ) { return typeof e == "function" && u === m && Lo ( r ) ? n ( r , e ) : t ( r , Mt ( e , u , 3 ) ) } } function ir ( n ) { return function ( t , r , e ) { return ( typeof r != "function" || e !== m ) && ( r = Mt ( r , e , 3 ) ) , n ( t , r , ke ) } } function ar ( n ) { return function ( t , r , e ) { return ( typeof r != "function" || e !== m ) && ( r = Mt ( r , e , 3 ) ) , n ( t , r ) } } function lr ( n ) { return function ( t , r , e ) { var u = { } ; return r = wr ( r , e , 3 ) , gt ( t , function ( t , e , o ) { o = r ( t , e , o ) , e = n ? o : e , t = n ? t : o , u [ e ] = t } ) ,
u } } function fr ( n ) { return function ( t , r , e ) { return t = u ( t ) , ( n ? t : "" ) + hr ( t , r , e ) + ( n ? "" : t ) } } function cr ( n ) { var t = se ( function ( r , e ) { var u = _ ( e , t . placeholder ) ; return gr ( r , n , null , e , u ) } ) ; return t } function sr ( n , t ) { return function ( r , e , u , o ) { var i = 3 > arguments . length ; return typeof e == "function" && o === m && Lo ( r ) ? n ( r , e , u , i ) : Ct ( r , wr ( e , o , 4 ) , u , i , t ) } } function pr ( n , t , r , e , u , o , i , a , l , f ) { function c ( ) { for ( var w = arguments . length , A = w , j = Me ( w ) ; A -- ; ) j [ A ] = arguments [ A ] ; if ( e && ( j = Dt ( j , e , u ) ) , o && ( j = Kt ( j , o , i ) ) , v || y ) { var A = c . placeholder , O = _ ( j , A ) , w = w - O . length ;
if ( w < f ) { var R = a ? Dn ( a ) : null , w = Iu ( f - w , 0 ) , E = v ? O : null , O = v ? null : O , C = v ? j : null , j = v ? null : j ; return t |= v ? k : I , t &= ~ ( v ? I : k ) , g || ( t &= ~ ( b | x ) ) , j = [ n , t , r , C , E , j , O , R , l , w ] , R = pr . apply ( m , j ) , Ur ( n ) && Hu ( R , j ) , R . placeholder = A , R } } if ( A = p ? r : this , R = h ? A [ n ] : n , a ) for ( w = j . length , E = Ru ( a . length , w ) , O = Dn ( j ) ; E -- ; ) C = a [ E ] , j [ E ] = Cr ( C , w ) ? O [ C ] : m ; return s && l < j . length && ( j . length = l ) , this && this !== Vn && this instanceof c && ( R = d || Ht ( n ) ) , R . apply ( A , j ) } var s = t & R , p = t & b , h = t & x , v = t & j , g = t & A , y = t & O , d = h ? null : Ht ( n ) ; return c } function hr ( n , t , r ) { return n = n . length , t = + t ,
n < t && Ou ( t ) ? ( t -= n , r = null == r ? " " : r + "" , Te ( r , su ( t / r . length ) ) . slice ( 0 , t ) ) : "" } function _r ( n , t , r , e ) { function u ( ) { for ( var t = - 1 , a = arguments . length , l = - 1 , f = e . length , c = Me ( a + f ) ; ++ l < f ; ) c [ l ] = e [ l ] ; for ( ; a -- ; ) c [ l ++ ] = arguments [ ++ t ] ; return ( this && this !== Vn && this instanceof u ? i : n ) . apply ( o ? r : this , c ) } var o = t & b , i = Ht ( n ) ; return u } function vr ( n ) { return function ( t , r , e , u ) { var o = wr ( e ) ; return null == e && o === it ? zt ( t , r , n ) : Bt ( t , r , o ( e , u , 1 ) , n ) } } function gr ( n , t , r , e , u , o , i , a ) { var l = t & x ; if ( ! l && typeof n != "function" ) throw new Ge ( L ) ; var f = e ? e . length : 0 ;
if ( f || ( t &= ~ ( k | I ) , e = u = null ) , f -= u ? u . length : 0 , t & I ) { var c = e , s = u ; e = u = null } var p = l ? null : Xu ( n ) ; return r = [ n , t , r , e , u , c , s , o , i , a ] , p && ( e = r [ 1 ] , t = p [ 1 ] , a = e | t , u = t == R && e == j || t == R && e == E && r [ 7 ] . length <= p [ 8 ] || t == ( R | E ) && e == j , ( a < R || u ) && ( t & b && ( r [ 2 ] = p [ 2 ] , a |= e & b ? 0 : A ) , ( e = p [ 3 ] ) && ( u = r [ 3 ] , r [ 3 ] = u ? Dt ( u , e , p [ 4 ] ) : Dn ( e ) , r [ 4 ] = u ? _ ( r [ 3 ] , P ) : Dn ( p [ 4 ] ) ) , ( e = p [ 5 ] ) && ( u = r [ 5 ] , r [ 5 ] = u ? Kt ( u , e , p [ 6 ] ) : Dn ( e ) , r [ 6 ] = u ? _ ( r [ 5 ] , P ) : Dn ( p [ 6 ] ) ) , ( e = p [ 7 ] ) && ( r [ 7 ] = Dn ( e ) ) , t & R && ( r [ 8 ] = null == r [ 8 ] ? p [ 8 ] : Ru ( r [ 8 ] , p [ 8 ] ) ) , null == r [ 9 ] && ( r [ 9 ] = p [ 9 ] ) , r [ 0 ] = p [ 0 ] , r [ 1 ] = a ) , t = r [ 1 ] , a = r [ 9 ] ) ,
r [ 9 ] = null == a ? l ? 0 : n . length : Iu ( a - f , 0 ) || 0 , ( p ? Yu : Hu ) ( t == b ? Xt ( r [ 0 ] , r [ 2 ] ) : t != k && t != ( b | k ) || r [ 4 ] . length ? pr . apply ( m , r ) : _r . apply ( m , r ) , r ) } function yr ( n , t , r , e , u , o , i ) { var a = - 1 , l = n . length , f = t . length ; if ( l != f && ( ! u || f <= l ) ) return false ; for ( ; ++ a < l ; ) { var c = n [ a ] , f = t [ a ] , s = e ? e ( u ? f : c , u ? c : f , a ) : m ; if ( s !== m ) { if ( s ) continue ; return false } if ( u ) { if ( ! Qn ( t , function ( n ) { return c === n || r ( c , n , e , u , o , i ) } ) ) return false } else if ( c !== f && ! r ( c , f , e , u , o , i ) ) return false } return true } function dr ( n , t , r ) { switch ( r ) { case B : case M : return + n == + t ; case q : return n . name == t . name && n . message == t . message ;
case K : return n != + n ? t != + t : n == + t ; case V : case Y : return n == t + "" } return false } function mr ( n , t , r , e , u , o , i ) { var a = Jo ( n ) , l = a . length , f = Jo ( t ) . length ; if ( l != f && ! u ) return false ; for ( f = l ; f -- ; ) { var c = a [ f ] ; if ( ! ( u ? c in t : uu . call ( t , c ) ) ) return false } for ( var s = u ; ++ f < l ; ) { var c = a [ f ] , p = n [ c ] , h = t [ c ] , _ = e ? e ( u ? h : p , u ? p : h , c ) : m ; if ( _ === m ? ! r ( p , h , e , u , o , i ) : ! _ ) return false ; s || ( s = "constructor" == c ) } return s || ( r = n . constructor , e = t . constructor , ! ( r != e && "constructor" in n && "constructor" in t ) || typeof r == "function" && r instanceof r && typeof e == "function" && e instanceof e ) ? true : false ;
} function wr ( n , t , r ) { var e = Ln . callback || Fe , e = e === Fe ? it : e ; return r ? e ( n , t , r ) : e } function br ( n ) { for ( var t = n . name , r = Nu [ t ] , e = r ? r . length : 0 ; e -- ; ) { var u = r [ e ] , o = u . func ; if ( null == o || o == n ) return u . name } return t } function xr ( n , t , e ) { var u = Ln . indexOf || Zr , u = u === Zr ? r : u ; return n ? u ( n , t , e ) : u } function Ar ( n ) { n = Ie ( n ) ; for ( var t = n . length ; t -- ; ) { var r = n [ t ] [ 1 ] ; n [ t ] [ 2 ] = r === r && ! ye ( r ) } return n } function jr ( n , t ) { var r = null == n ? m : n [ t ] ; return de ( r ) ? r : m } function Or ( n ) { var t = n . length , r = new n . constructor ( t ) ; return t && "string" == typeof n [ 0 ] && uu . call ( n , "index" ) && ( r . index = n . index ,
r . input = n . input ) , r } function kr ( n ) { return n = n . constructor , typeof n == "function" && n instanceof n || ( n = Ye ) , new n } function Ir ( n , t , r ) { var e = n . constructor ; switch ( t ) { case J : return qt ( n ) ; case B : case M : return new e ( + n ) ; case X : case G : case H : case Q : case nn : case tn : case rn : case en : case un : return e instanceof e && ( e = zu [ t ] ) , t = n . buffer , new e ( r ? qt ( t ) : t , n . byteOffset , n . length ) ; case K : case Y : return new e ( n ) ; case V : var u = new e ( n . source , jn . exec ( n ) ) ; u . lastIndex = n . lastIndex } return u } function Rr ( n , t , r ) { return null == n || Tr ( t , n ) || ( t = Br ( t ) ,
n = 1 == t . length ? n : mt ( n , St ( t , 0 , - 1 ) ) , t = Vr ( t ) ) , t = null == n ? n : n [ t ] , null == t ? m : t . apply ( n , r ) } function Er ( n ) { return null != n && Wr ( Gu ( n ) ) } function Cr ( n , t ) { return n = typeof n == "number" ? n : parseFloat ( n ) , t = null == t ? Lu : t , - 1 < n && 0 == n % 1 && n < t } function Sr ( n , t , r ) { if ( ! ye ( r ) ) return false ; var e = typeof t ; return ( "number" == e ? Er ( r ) && Cr ( t , r . length ) : "string" == e && t in r ) ? ( t = r [ t ] , n === n ? n === t : t !== t ) : false } function Tr ( n , t ) { var r = typeof n ; return "string" == r && yn . test ( n ) || "number" == r ? true : Lo ( n ) ? false : ! gn . test ( n ) || null != t && n in zr ( t ) } function Ur ( n ) { var t = br ( n ) ;
return ! ! t && n === Ln [ t ] && t in zn . prototype } function Wr ( n ) { return typeof n == "number" && - 1 < n && 0 == n % 1 && n <= Lu } function Fr ( n , t ) { n = zr ( n ) ; for ( var r = - 1 , e = t . length , u = { } ; ++ r < e ; ) { var o = t [ r ] ; o in n && ( u [ o ] = n [ o ] ) } return u } function $r ( n , t ) { var r = { } ; return vt ( n , function ( n , e , u ) { t ( n , e , u ) && ( r [ e ] = n ) } ) , r } function Lr ( n ) { var t , r = Ln . support ; if ( ! p ( n ) || iu . call ( n ) != Z || Yn ( n ) || ! ( uu . call ( n , "constructor" ) || ( t = n . constructor , typeof t != "function" || t instanceof t ) ) || ! r . argsTag && he ( n ) ) return false ; var e ; return r . ownLast ? ( vt ( n , function ( n , t , r ) {
return e = uu . call ( r , t ) , false } ) , false !== e ) : ( vt ( n , function ( n , t ) { e = t } ) , e === m || uu . call ( n , e ) ) } function Pr ( n ) { for ( var t = ke ( n ) , r = t . length , e = r && n . length , u = ! ! e && Wr ( e ) && ( Lo ( n ) || he ( n ) || be ( n ) ) , o = - 1 , i = [ ] ; ++ o < r ; ) { var a = t [ o ] ; ( u && Cr ( a , e ) || uu . call ( n , a ) ) && i . push ( a ) } return i } function Nr ( n ) { return null == n ? [ ] : Er ( n ) ? Ln . support . unindexedChars && be ( n ) ? n . split ( "" ) : ye ( n ) ? n : Ye ( n ) : Re ( n ) } function zr ( n ) { if ( Ln . support . unindexedChars && be ( n ) ) { for ( var t = - 1 , r = n . length , e = Ye ( n ) ; ++ t < r ; ) e [ t ] = n . charAt ( t ) ; return e } return ye ( n ) ? n : Ye ( n ) } function Br ( n ) {
if ( Lo ( n ) ) return n ; var t = [ ] ; return u ( n ) . replace ( dn , function ( n , r , e , u ) { t . push ( e ? u . replace ( xn , "$1" ) : r || n ) } ) , t } function Mr ( n ) { return n instanceof zn ? n . clone ( ) : new Nn ( n . _ _wrapped _ _ , n . _ _chain _ _ , Dn ( n . _ _actions _ _ ) ) } function qr ( n , t , r ) { return n && n . length ? ( ( r ? Sr ( n , t , r ) : null == t ) && ( t = 1 ) , St ( n , 0 > t ? 0 : t ) ) : [ ] } function Dr ( n , t , r ) { var e = n ? n . length : 0 ; return e ? ( ( r ? Sr ( n , t , r ) : null == t ) && ( t = 1 ) , t = e - ( + t || 0 ) , St ( n , 0 , 0 > t ? 0 : t ) ) : [ ] } function Kr ( n ) { return n ? n [ 0 ] : m } function Zr ( n , t , e ) { var u = n ? n . length : 0 ; if ( ! u ) return - 1 ; if ( typeof e == "number" ) e = 0 > e ? Iu ( u + e , 0 ) : e ; else if ( e ) return e = zt ( n , t ) ,
n = n [ e ] , ( t === t ? t === n : n !== n ) ? e : - 1 ; return r ( n , t , e || 0 ) } function Vr ( n ) { var t = n ? n . length : 0 ; return t ? n [ t - 1 ] : m } function Yr ( n ) { return qr ( n , 1 ) } function Jr ( n , t , e , u ) { if ( ! n || ! n . length ) return [ ] ; null != t && typeof t != "boolean" && ( u = e , e = Sr ( n , t , u ) ? null : t , t = false ) ; var o = wr ( ) ; if ( ( null != e || o !== it ) && ( e = o ( e , u , 3 ) ) , t && xr ( ) == r ) { t = e ; var i ; e = - 1 , u = n . length ; for ( var o = - 1 , a = [ ] ; ++ e < u ; ) { var l = n [ e ] , f = t ? t ( l , e , n ) : l ; e && i === f || ( i = f , a [ ++ o ] = l ) } n = a } else n = $t ( n , e ) ; return n } function Xr ( n ) { if ( ! n || ! n . length ) return [ ] ; var t = - 1 , r = 0 ; n = Xn ( n , function ( n ) {
return Er ( n ) ? ( r = Iu ( n . length , r ) , true ) : void 0 } ) ; for ( var e = Me ( r ) ; ++ t < r ; ) e [ t ] = Gn ( n , kt ( t ) ) ; return e } function Gr ( n , t , r ) { return n && n . length ? ( n = Xr ( n ) , null == t ? n : ( t = Mt ( t , r , 4 ) , Gn ( n , function ( n ) { return Hn ( n , t , m , true ) } ) ) ) : [ ] } function Hr ( n , t ) { var r = - 1 , e = n ? n . length : 0 , u = { } ; for ( ! e || t || Lo ( n [ 0 ] ) || ( t = [ ] ) ; ++ r < e ; ) { var o = n [ r ] ; t ? u [ o ] = t [ r ] : o && ( u [ o [ 0 ] ] = o [ 1 ] ) } return u } function Qr ( n ) { return n = Ln ( n ) , n . _ _chain _ _ = true , n } function ne ( n , t , r ) { return t . call ( r , n ) } function te ( n , t , r ) { var e = Lo ( n ) ? Zn : ct ; return r && Sr ( n , t , r ) && ( t = null ) , ( typeof t != "function" || r !== m ) && ( t = wr ( t , r , 3 ) ) ,
e ( n , t ) } function re ( n , t , r ) { var e = Lo ( n ) ? Xn : pt ; return t = wr ( t , r , 3 ) , e ( n , t ) } function ee ( n , t , r , e ) { var u = n ? Gu ( n ) : 0 ; return Wr ( u ) || ( n = Re ( n ) , u = n . length ) , u ? ( r = typeof r != "number" || e && Sr ( t , r , e ) ? 0 : 0 > r ? Iu ( u + r , 0 ) : r || 0 , typeof n == "string" || ! Lo ( n ) && be ( n ) ? r < u && - 1 < n . indexOf ( t , r ) : - 1 < xr ( n , t , r ) ) : false } function ue ( n , t , r ) { var e = Lo ( n ) ? Gn : xt ; return t = wr ( t , r , 3 ) , e ( n , t ) } function oe ( n , t , r ) { return ( r ? Sr ( n , t , r ) : null == t ) ? ( n = Nr ( n ) , t = n . length , 0 < t ? n [ Et ( 0 , t - 1 ) ] : m ) : ( n = ie ( n ) , n . length = Ru ( 0 > t ? 0 : + t || 0 , n . length ) , n ) } function ie ( n ) { n = Nr ( n ) ; for ( var t = - 1 , r = n . length , e = Me ( r ) ; ++ t < r ; ) {
var u = Et ( 0 , t ) ; t != u && ( e [ t ] = e [ u ] ) , e [ u ] = n [ t ] } return e } function ae ( n , t , r ) { var e = Lo ( n ) ? Qn : Tt ; return r && Sr ( n , t , r ) && ( t = null ) , ( typeof t != "function" || r !== m ) && ( t = wr ( t , r , 3 ) ) , e ( n , t ) } function le ( n , t ) { var r ; if ( typeof t != "function" ) { if ( typeof n != "function" ) throw new Ge ( L ) ; var e = n ; n = t , t = e } return function ( ) { return 0 < -- n && ( r = t . apply ( this , arguments ) ) , 1 >= n && ( t = null ) , r } } function fe ( n , t , r ) { function e ( ) { var r = t - ( jo ( ) - f ) ; 0 >= r || r > t ? ( a && pu ( a ) , r = p , a = s = p = m , r && ( h = jo ( ) , l = n . apply ( c , i ) , s || a || ( i = c = null ) ) ) : s = du ( e , r ) } function u ( ) {
s && pu ( s ) , a = s = p = m , ( v || _ !== t ) && ( h = jo ( ) , l = n . apply ( c , i ) , s || a || ( i = c = null ) ) } function o ( ) { if ( i = arguments , f = jo ( ) , c = this , p = v && ( s || ! g ) , false === _ ) var r = g && ! s ; else { a || g || ( h = f ) ; var o = _ - ( f - h ) , y = 0 >= o || o > _ ; y ? ( a && ( a = pu ( a ) ) , h = f , l = n . apply ( c , i ) ) : a || ( a = du ( u , o ) ) } return y && s ? s = pu ( s ) : s || t === _ || ( s = du ( e , t ) ) , r && ( y = true , l = n . apply ( c , i ) ) , ! y || s || a || ( i = c = null ) , l } var i , a , l , f , c , s , p , h = 0 , _ = false , v = true ; if ( typeof n != "function" ) throw new Ge ( L ) ; if ( t = 0 > t ? 0 : + t || 0 , true === r ) var g = true , v = false ; else ye ( r ) && ( g = r . leading , _ = "maxWait" in r && Iu ( + r . maxWait || 0 , t ) , v = "trailing" in r ? r . trailing : v ) ;
return o . cancel = function ( ) { s && pu ( s ) , a && pu ( a ) , a = s = p = m } , o } function ce ( n , t ) { function r ( ) { var e = arguments , u = t ? t . apply ( this , e ) : e [ 0 ] , o = r . cache ; return o . has ( u ) ? o . get ( u ) : ( e = n . apply ( this , e ) , r . cache = o . set ( u , e ) , e ) } if ( typeof n != "function" || t && typeof t != "function" ) throw new Ge ( L ) ; return r . cache = new ce . Cache , r } function se ( n , t ) { if ( typeof n != "function" ) throw new Ge ( L ) ; return t = Iu ( t === m ? n . length - 1 : + t || 0 , 0 ) , function ( ) { for ( var r = arguments , e = - 1 , u = Iu ( r . length - t , 0 ) , o = Me ( u ) ; ++ e < u ; ) o [ e ] = r [ t + e ] ; switch ( t ) { case 0 : return n . call ( this , o ) ;
case 1 : return n . call ( this , r [ 0 ] , o ) ; case 2 : return n . call ( this , r [ 0 ] , r [ 1 ] , o ) } for ( u = Me ( t + 1 ) , e = - 1 ; ++ e < t ; ) u [ e ] = r [ e ] ; return u [ t ] = o , n . apply ( this , u ) } } function pe ( n , t ) { return n > t } function he ( n ) { return p ( n ) && Er ( n ) && iu . call ( n ) == N } function _e ( n ) { return ! ! n && 1 === n . nodeType && p ( n ) && ( Ln . support . nodeTag ? - 1 < iu . call ( n ) . indexOf ( "Element" ) : Yn ( n ) ) } function ve ( n , t , r , e ) { return e = ( r = typeof r == "function" ? Mt ( r , e , 3 ) : m ) ? r ( n , t ) : m , e === m ? wt ( n , t , r ) : ! ! e } function ge ( n ) { return p ( n ) && typeof n . message == "string" && iu . call ( n ) == q } function ye ( n ) {
var t = typeof n ; return ! ! n && ( "object" == t || "function" == t ) } function de ( n ) { return null == n ? false : iu . call ( n ) == D ? lu . test ( eu . call ( n ) ) : p ( n ) && ( Yn ( n ) ? lu : kn ) . test ( n ) } function me ( n ) { return typeof n == "number" || p ( n ) && iu . call ( n ) == K } function we ( n ) { return ye ( n ) && iu . call ( n ) == V } function be ( n ) { return typeof n == "string" || p ( n ) && iu . call ( n ) == Y } function xe ( n ) { return p ( n ) && Wr ( n . length ) && ! ! Wn [ iu . call ( n ) ] } function Ae ( n , t ) { return n < t } function je ( n ) { return ot ( n , ke ( n ) ) } function Oe ( n ) { return dt ( n , ke ( n ) ) } function ke ( n ) { if ( null == n ) return [ ] ;
ye ( n ) || ( n = Ye ( n ) ) ; for ( var t = n . length , r = Ln . support , t = t && Wr ( t ) && ( Lo ( n ) || he ( n ) || be ( n ) ) && t || 0 , e = n . constructor , u = - 1 , e = No ( e ) && e . prototype || nu , o = e === n , i = Me ( t ) , a = 0 < t , l = r . enumErrorProps && ( n === Qe || n instanceof De ) , f = r . enumPrototypes && No ( n ) ; ++ u < t ; ) i [ u ] = u + "" ; for ( var c in n ) f && "prototype" == c || l && ( "message" == c || "name" == c ) || a && Cr ( c , t ) || "constructor" == c && ( o || ! uu . call ( n , c ) ) || i . push ( c ) ; if ( r . nonEnumShadows && n !== nu ) for ( t = n === tu ? Y : n === Qe ? q : iu . call ( n ) , r = Bu [ t ] || Bu [ Z ] , t == Z && ( e = nu ) , t = Un . length ; t -- ; ) c = Un [ t ] , u = r [ c ] , o && u || ( u ? ! uu . call ( n , c ) : n [ c ] === e [ c ] ) || i . push ( c ) ;
return i } function Ie ( n ) { n = zr ( n ) ; for ( var t = - 1 , r = Jo ( n ) , e = r . length , u = Me ( e ) ; ++ t < e ; ) { var o = r [ t ] ; u [ t ] = [ o , n [ o ] ] } return u } function Re ( n ) { return Lt ( n , Jo ( n ) ) } function Ee ( n ) { return ( n = u ( n ) ) && n . replace ( In , l ) . replace ( bn , "" ) } function Ce ( n ) { return ( n = u ( n ) ) && wn . test ( n ) ? n . replace ( mn , "\\$&" ) : n } function Se ( n , t , r ) { return r && Sr ( n , t , r ) && ( t = 0 ) , Su ( n , t ) } function Te ( n , t ) { var r = "" ; if ( n = u ( n ) , t = + t , 1 > t || ! n || ! Ou ( t ) ) return r ; do t % 2 && ( r += n ) , t = hu ( t / 2 ) , n += n ; while ( t ) ; return r } function Ue ( n , t , r ) { var e = n ; return ( n = u ( n ) ) ? ( r ? Sr ( e , t , r ) : null == t ) ? n . slice ( v ( n ) , g ( n ) + 1 ) : ( t += "" ,
n . slice ( o ( n , t ) , i ( n , t ) + 1 ) ) : n } function We ( n , t , r ) { return r && Sr ( n , t , r ) && ( t = null ) , n = u ( n ) , n . match ( t || Cn ) || [ ] } function Fe ( n , t , r ) { return r && Sr ( n , t , r ) && ( t = null ) , p ( n ) ? Pe ( n ) : it ( n , t ) } function $e ( n ) { return function ( ) { return n } } function Le ( n ) { return n } function Pe ( n ) { return At ( at ( n , true ) ) } function Ne ( n , t , r ) { if ( null == r ) { var e = ye ( t ) , u = e ? Jo ( t ) : null ; ( ( u = u && u . length ? dt ( t , u ) : null ) ? u . length : e ) || ( u = false , r = t , t = n , n = this ) } u || ( u = dt ( t , Jo ( t ) ) ) ; var o = true , e = - 1 , i = No ( n ) , a = u . length ; false === r ? o = false : ye ( r ) && "chain" in r && ( o = r . chain ) ; for ( ; ++ e < a ; ) {
r = u [ e ] ; var l = t [ r ] ; n [ r ] = l , i && ( n . prototype [ r ] = function ( t ) { return function ( ) { var r = this . _ _chain _ _ ; if ( o || r ) { var e = n ( this . _ _wrapped _ _ ) ; return ( e . _ _actions _ _ = Dn ( this . _ _actions _ _ ) ) . push ( { func : t , args : arguments , thisArg : n } ) , e . _ _chain _ _ = r , e } return r = [ this . value ( ) ] , vu . apply ( r , arguments ) , t . apply ( n , r ) } } ( l ) ) } return n } function ze ( ) { } function Be ( n ) { return Tr ( n ) ? kt ( n ) : It ( n ) } h = h ? Jn . defaults ( Vn . Object ( ) , h , Jn . pick ( Vn , Tn ) ) : Vn ; var Me = h . Array , qe = h . Date , De = h . Error , Ke = h . Function , Ze = h . Math , Ve = h . Number , Ye = h . Object , Je = h . RegExp , Xe = h . String , Ge = h . TypeError , He = Me . prototype , Qe = De . prototype , nu = Ye . prototype , tu = Xe . prototype , ru = ( ru = h . window ) ? ru . document : null , eu = Ke . prototype . toString , uu = nu . hasOwnProperty , ou = 0 , iu = nu . toString , au = h . _ , lu = Je ( "^" + Ce ( eu . call ( uu ) ) . replace ( /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g , "$1.*?" ) + "$" ) , fu = jr ( h , "ArrayBuffer" ) , cu = jr ( fu && new fu ( 0 ) , "slice" ) , su = Ze . ceil , pu = h . clearTimeout , hu = Ze . floor , _u = jr ( Ye , "getPrototypeOf" ) , vu = He . push , gu = nu . propertyIsEnumerable , yu = jr ( h , "Set" ) , du = h . setTimeout , mu = He . splice , wu = jr ( h , "Uint8Array" ) , bu = jr ( h , "WeakMap" ) , xu = function ( ) {
try { var n = jr ( h , "Float64Array" ) , t = new n ( new fu ( 10 ) , 0 , 1 ) && n } catch ( r ) { } return t || null } ( ) , Au = jr ( Ye , "create" ) , ju = jr ( Me , "isArray" ) , Ou = h . isFinite , ku = jr ( Ye , "keys" ) , Iu = Ze . max , Ru = Ze . min , Eu = jr ( qe , "now" ) , Cu = jr ( Ve , "isFinite" ) , Su = h . parseInt , Tu = Ze . random , Uu = Ve . POSITIVE _INFINITY , Wu = 4294967294 , Fu = 2147483647 , $u = xu ? xu . BYTES _PER _ELEMENT : 0 , Lu = 9007199254740991 , Pu = bu && new bu , Nu = { } , zu = { } ; zu [ X ] = h . Float32Array , zu [ G ] = h . Float64Array , zu [ H ] = h . Int8Array , zu [ Q ] = h . Int16Array , zu [ nn ] = h . Int32Array , zu [ tn ] = h . Uint8Array , zu [ rn ] = h . Uint8ClampedArray ,
zu [ en ] = h . Uint16Array , zu [ un ] = h . Uint32Array ; var Bu = { } ; Bu [ z ] = Bu [ M ] = Bu [ K ] = { constructor : true , toLocaleString : true , toString : true , valueOf : true } , Bu [ B ] = Bu [ Y ] = { constructor : true , toString : true , valueOf : true } , Bu [ q ] = Bu [ D ] = Bu [ V ] = { constructor : true , toString : true } , Bu [ Z ] = { constructor : true } , Kn ( Un , function ( n ) { for ( var t in Bu ) if ( uu . call ( Bu , t ) ) { var r = Bu [ t ] ; r [ n ] = uu . call ( r , n ) } } ) ; var Mu = Ln . support = { } ; ! function ( n ) { function t ( ) { this . x = n } var r = { 0 : n , length : n } , e = [ ] ; t . prototype = { valueOf : n , y : n } ; for ( var u in new t ) e . push ( u ) ; Mu . argsTag = iu . call ( arguments ) == N ,
Mu . enumErrorProps = gu . call ( Qe , "message" ) || gu . call ( Qe , "name" ) , Mu . enumPrototypes = gu . call ( t , "prototype" ) , Mu . nodeTag = iu . call ( ru ) != Z , Mu . nonEnumShadows = ! /valueOf/ . test ( e ) , Mu . ownLast = "x" != e [ 0 ] , Mu . spliceObjects = ( mu . call ( r , 0 , 1 ) , ! r [ 0 ] ) , Mu . unindexedChars = "xx" != "x" [ 0 ] + Ye ( "x" ) [ 0 ] ; try { Mu . dom = 11 === ru . createDocumentFragment ( ) . nodeType } catch ( o ) { Mu . dom = false } } ( 1 , 0 ) , Ln . templateSettings = { escape : hn , evaluate : _n , interpolate : vn , variable : "" , imports : { _ : Ln } } ; var qu = function ( ) { function n ( ) { } return function ( t ) { if ( ye ( t ) ) { n . prototype = t ;
var r = new n ; n . prototype = null } return r || { } } } ( ) , Du = Yt ( gt ) , Ku = Yt ( yt , true ) , Zu = Jt ( ) , Vu = Jt ( true ) , Yu = Pu ? function ( n , t ) { return Pu . set ( n , t ) , n } : Le ; cu || ( qt = fu && wu ? function ( n ) { var t = n . byteLength , r = xu ? hu ( t / $u ) : 0 , e = r * $u , u = new fu ( t ) ; if ( r ) { var o = new xu ( u , 0 , r ) ; o . set ( new xu ( n , 0 , r ) ) } return t != e && ( o = new wu ( u , e ) , o . set ( new wu ( n , e ) ) ) , u } : $e ( null ) ) ; var Ju = Au && yu ? function ( n ) { return new Mn ( n ) } : $e ( null ) , Xu = Pu ? function ( n ) { return Pu . get ( n ) } : ze , Gu = kt ( "length" ) , Hu = function ( ) { var n = 0 , t = 0 ; return function ( r , e ) { var u = jo ( ) , o = U - ( u - t ) ; if ( t = u ,
0 < o ) { if ( ++ n >= T ) return r } else n = 0 ; return Yu ( r , e ) } } ( ) , Qu = se ( function ( n , t ) { return Er ( n ) ? ft ( n , _t ( t , false , true ) ) : [ ] } ) , no = rr ( ) , to = rr ( true ) , ro = se ( function ( n ) { for ( var t = n . length , e = t , u = Me ( c ) , o = xr ( ) , i = o == r , a = [ ] ; e -- ; ) { var l = n [ e ] = Er ( l = n [ e ] ) ? l : [ ] ; u [ e ] = i && 120 <= l . length ? Ju ( e && l ) : null } var i = n [ 0 ] , f = - 1 , c = i ? i . length : 0 , s = u [ 0 ] ; n : for ( ; ++ f < c ; ) if ( l = i [ f ] , 0 > ( s ? qn ( s , l ) : o ( a , l , 0 ) ) ) { for ( e = t ; -- e ; ) { var p = u [ e ] ; if ( 0 > ( p ? qn ( p , l ) : o ( n [ e ] , l , 0 ) ) ) continue n } s && s . push ( l ) , a . push ( l ) } return a } ) , eo = se ( function ( t , r ) { r = _t ( r ) ; var e = ut ( t , r ) ; return Rt ( t , r . sort ( n ) ) ,
e } ) , uo = vr ( ) , oo = vr ( true ) , io = se ( function ( n ) { return $t ( _t ( n , false , true ) ) } ) , ao = se ( function ( n , t ) { return Er ( n ) ? ft ( n , t ) : [ ] } ) , lo = se ( Xr ) , fo = se ( function ( n ) { var t = n . length , r = 2 < t ? n [ t - 2 ] : m , e = 1 < t ? n [ t - 1 ] : m ; return 2 < t && typeof r == "function" ? t -= 2 : ( r = 1 < t && typeof e == "function" ? ( -- t , e ) : m , e = m ) , n . length = t , Gr ( n , r , e ) } ) , co = se ( function ( n , t ) { return Er ( n ) && ( n = Nr ( n ) ) , ut ( n , _t ( t ) ) } ) , so = Zt ( function ( n , t , r ) { uu . call ( n , r ) ? ++ n [ r ] : n [ r ] = 1 } ) , po = tr ( Du ) , ho = tr ( Ku , true ) , _o = or ( Kn , Du ) , vo = or ( function ( n , t ) { for ( var r = n . length ; r -- && false !== t ( n [ r ] , r , n ) ; ) ; return n ;
} , Ku ) , go = Zt ( function ( n , t , r ) { uu . call ( n , r ) ? n [ r ] . push ( t ) : n [ r ] = [ t ] } ) , yo = Zt ( function ( n , t , r ) { n [ r ] = t } ) , mo = se ( function ( n , t , r ) { var e = - 1 , u = typeof t == "function" , o = Tr ( t ) , i = Er ( n ) ? Me ( n . length ) : [ ] ; return Du ( n , function ( n ) { var a = u ? t : o && null != n ? n [ t ] : null ; i [ ++ e ] = a ? a . apply ( n , r ) : Rr ( n , t , r ) } ) , i } ) , wo = Zt ( function ( n , t , r ) { n [ r ? 0 : 1 ] . push ( t ) } , function ( ) { return [ [ ] , [ ] ] } ) , bo = sr ( Hn , Du ) , xo = sr ( function ( n , t , r , e ) { var u = n . length ; for ( e && u && ( r = n [ -- u ] ) ; u -- ; ) r = t ( r , n [ u ] , u , n ) ; return r } , Ku ) , Ao = se ( function ( n , t ) { if ( null == n ) return [ ] ; var r = t [ 2 ] ; return r && Sr ( t [ 0 ] , t [ 1 ] , r ) && ( t . length = 1 ) ,
Wt ( n , _t ( t ) , [ ] ) } ) , jo = Eu || function ( ) { return ( new qe ) . getTime ( ) } , Oo = se ( function ( n , t , r ) { var e = b ; if ( r . length ) var u = _ ( r , Oo . placeholder ) , e = e | k ; return gr ( n , e , t , r , u ) } ) , ko = se ( function ( n , t ) { t = t . length ? _t ( t ) : Oe ( n ) ; for ( var r = - 1 , e = t . length ; ++ r < e ; ) { var u = t [ r ] ; n [ u ] = gr ( n [ u ] , b , n ) } return n } ) , Io = se ( function ( n , t , r ) { var e = b | x ; if ( r . length ) var u = _ ( r , Io . placeholder ) , e = e | k ; return gr ( t , e , n , r , u ) } ) , Ro = Qt ( j ) , Eo = Qt ( O ) , Co = se ( function ( n , t ) { return lt ( n , 1 , t ) } ) , So = se ( function ( n , t , r ) { return lt ( n , t , r ) } ) , To = ur ( ) , Uo = ur ( true ) , Wo = cr ( k ) , Fo = cr ( I ) , $o = se ( function ( n , t ) {
return gr ( n , E , null , null , null , _t ( t ) ) } ) ; Mu . argsTag || ( he = function ( n ) { return p ( n ) && Er ( n ) && uu . call ( n , "callee" ) && ! gu . call ( n , "callee" ) } ) ; var Lo = ju || function ( n ) { return p ( n ) && Wr ( n . length ) && iu . call ( n ) == z } ; Mu . dom || ( _e = function ( n ) { return ! ! n && 1 === n . nodeType && p ( n ) && ! zo ( n ) } ) ; var Po = Cu || function ( n ) { return typeof n == "number" && Ou ( n ) } , No = e ( /x/ ) || wu && ! e ( wu ) ? function ( n ) { return iu . call ( n ) == D } : e , zo = _u ? function ( n ) { if ( ! n || iu . call ( n ) != Z || ! Ln . support . argsTag && he ( n ) ) return false ; var t = jr ( n , "valueOf" ) , r = t && ( r = _u ( t ) ) && _u ( r ) ; return r ? n == r || _u ( n ) == r : Lr ( n ) ;
} : Lr , Bo = Vt ( function ( n , t , r ) { return r ? rt ( n , t , r ) : et ( n , t ) } ) , Mo = se ( function ( n ) { var t = n [ 0 ] ; return null == t ? t : ( n . push ( nt ) , Bo . apply ( m , n ) ) } ) , qo = er ( gt ) , Do = er ( yt ) , Ko = ir ( Zu ) , Zo = ir ( Vu ) , Vo = ar ( gt ) , Yo = ar ( yt ) , Jo = ku ? function ( n ) { var t = null == n ? null : n . constructor ; return typeof t == "function" && t . prototype === n || ( typeof n == "function" ? Ln . support . enumPrototypes : Er ( n ) ) ? Pr ( n ) : ye ( n ) ? ku ( n ) : [ ] } : Pr , Xo = lr ( true ) , Go = lr ( ) , Ho = Vt ( Ot ) , Qo = se ( function ( n , t ) { if ( null == n ) return { } ; if ( "function" != typeof t [ 0 ] ) return t = Gn ( _t ( t ) , Xe ) , Fr ( n , ft ( ke ( n ) , t ) ) ;
var r = Mt ( t [ 0 ] , t [ 1 ] , 3 ) ; return $r ( n , function ( n , t , e ) { return ! r ( n , t , e ) } ) } ) , ni = se ( function ( n , t ) { return null == n ? { } : "function" == typeof t [ 0 ] ? $r ( n , Mt ( t [ 0 ] , t [ 1 ] , 3 ) ) : Fr ( n , _t ( t ) ) } ) , ti = Gt ( function ( n , t , r ) { return t = t . toLowerCase ( ) , n + ( r ? t . charAt ( 0 ) . toUpperCase ( ) + t . slice ( 1 ) : t ) } ) , ri = Gt ( function ( n , t , r ) { return n + ( r ? "-" : "" ) + t . toLowerCase ( ) } ) , ei = fr ( ) , ui = fr ( true ) ; 8 != Su ( Sn + "08" ) && ( Se = function ( n , t , r ) { return ( r ? Sr ( n , t , r ) : null == t ) ? t = 0 : t && ( t = + t ) , n = Ue ( n ) , Su ( n , t || ( On . test ( n ) ? 16 : 10 ) ) } ) ; var oi = Gt ( function ( n , t , r ) { return n + ( r ? "_" : "" ) + t . toLowerCase ( ) ;
} ) , ii = Gt ( function ( n , t , r ) { return n + ( r ? " " : "" ) + ( t . charAt ( 0 ) . toUpperCase ( ) + t . slice ( 1 ) ) } ) , ai = se ( function ( n , t ) { try { return n . apply ( m , t ) } catch ( r ) { return ge ( r ) ? r : new De ( r ) } } ) , li = se ( function ( n , t ) { return function ( r ) { return Rr ( r , n , t ) } } ) , fi = se ( function ( n , t ) { return function ( r ) { return Rr ( n , r , t ) } } ) , ci = nr ( pe , - ( 1 / 0 ) ) , si = nr ( Ae , 1 / 0 ) ; return Ln . prototype = Pn . prototype , Nn . prototype = qu ( Pn . prototype ) , Nn . prototype . constructor = Nn , zn . prototype = qu ( Pn . prototype ) , zn . prototype . constructor = zn , Bn . prototype [ "delete" ] = function ( n ) { return this . has ( n ) && delete this . _ _data _ _ [ n ] ;
} , Bn . prototype . get = function ( n ) { return "__proto__" == n ? m : this . _ _data _ _ [ n ] } , Bn . prototype . has = function ( n ) { return "__proto__" != n && uu . call ( this . _ _data _ _ , n ) } , Bn . prototype . set = function ( n , t ) { return "__proto__" != n && ( this . _ _data _ _ [ n ] = t ) , this } , Mn . prototype . push = function ( n ) { var t = this . data ; typeof n == "string" || ye ( n ) ? t . set . add ( n ) : t . hash [ n ] = true } , ce . Cache = Bn , Ln . after = function ( n , t ) { if ( typeof t != "function" ) { if ( typeof n != "function" ) throw new Ge ( L ) ; var r = n ; n = t , t = r } return n = Ou ( n = + n ) ? n : 0 , function ( ) { return 1 > -- n ? t . apply ( this , arguments ) : void 0 ;
} } , Ln . ary = function ( n , t , r ) { return r && Sr ( n , t , r ) && ( t = null ) , t = n && null == t ? n . length : Iu ( + t || 0 , 0 ) , gr ( n , R , null , null , null , null , t ) } , Ln . assign = Bo , Ln . at = co , Ln . before = le , Ln . bind = Oo , Ln . bindAll = ko , Ln . bindKey = Io , Ln . callback = Fe , Ln . chain = Qr , Ln . chunk = function ( n , t , r ) { t = ( r ? Sr ( n , t , r ) : null == t ) ? 1 : Iu ( + t || 1 , 1 ) , r = 0 ; for ( var e = n ? n . length : 0 , u = - 1 , o = Me ( su ( e / t ) ) ; r < e ; ) o [ ++ u ] = St ( n , r , r += t ) ; return o } , Ln . compact = function ( n ) { for ( var t = - 1 , r = n ? n . length : 0 , e = - 1 , u = [ ] ; ++ t < r ; ) { var o = n [ t ] ; o && ( u [ ++ e ] = o ) } return u } , Ln . constant = $e , Ln . countBy = so , Ln . create = function ( n , t , r ) {
var e = qu ( n ) ; return r && Sr ( n , t , r ) && ( t = null ) , t ? et ( e , t ) : e } , Ln . curry = Ro , Ln . curryRight = Eo , Ln . debounce = fe , Ln . defaults = Mo , Ln . defer = Co , Ln . delay = So , Ln . difference = Qu , Ln . drop = qr , Ln . dropRight = Dr , Ln . dropRightWhile = function ( n , t , r ) { return n && n . length ? Pt ( n , wr ( t , r , 3 ) , true , true ) : [ ] } , Ln . dropWhile = function ( n , t , r ) { return n && n . length ? Pt ( n , wr ( t , r , 3 ) , true ) : [ ] } , Ln . fill = function ( n , t , r , e ) { var u = n ? n . length : 0 ; if ( ! u ) return [ ] ; for ( r && typeof r != "number" && Sr ( n , t , r ) && ( r = 0 , e = u ) , u = n . length , r = null == r ? 0 : + r || 0 , 0 > r && ( r = - r > u ? 0 : u + r ) , e = e === m || e > u ? u : + e || 0 ,
0 > e && ( e += u ) , u = r > e ? 0 : e >>> 0 , r >>>= 0 ; r < u ; ) n [ r ++ ] = t ; return n } , Ln . filter = re , Ln . flatten = function ( n , t , r ) { var e = n ? n . length : 0 ; return r && Sr ( n , t , r ) && ( t = false ) , e ? _t ( n , t ) : [ ] } , Ln . flattenDeep = function ( n ) { return n && n . length ? _t ( n , true ) : [ ] } , Ln . flow = To , Ln . flowRight = Uo , Ln . forEach = _o , Ln . forEachRight = vo , Ln . forIn = Ko , Ln . forInRight = Zo , Ln . forOwn = Vo , Ln . forOwnRight = Yo , Ln . functions = Oe , Ln . groupBy = go , Ln . indexBy = yo , Ln . initial = function ( n ) { return Dr ( n , 1 ) } , Ln . intersection = ro , Ln . invert = function ( n , t , r ) { r && Sr ( n , t , r ) && ( t = null ) , r = - 1 ; for ( var e = Jo ( n ) , u = e . length , o = { } ; ++ r < u ; ) {
var i = e [ r ] , a = n [ i ] ; t ? uu . call ( o , a ) ? o [ a ] . push ( i ) : o [ a ] = [ i ] : o [ a ] = i } return o } , Ln . invoke = mo , Ln . keys = Jo , Ln . keysIn = ke , Ln . map = ue , Ln . mapKeys = Xo , Ln . mapValues = Go , Ln . matches = Pe , Ln . matchesProperty = function ( n , t ) { return jt ( n , at ( t , true ) ) } , Ln . memoize = ce , Ln . merge = Ho , Ln . method = li , Ln . methodOf = fi , Ln . mixin = Ne , Ln . negate = function ( n ) { if ( typeof n != "function" ) throw new Ge ( L ) ; return function ( ) { return ! n . apply ( this , arguments ) } } , Ln . omit = Qo , Ln . once = function ( n ) { return le ( 2 , n ) } , Ln . pairs = Ie , Ln . partial = Wo , Ln . partialRight = Fo , Ln . partition = wo ,
Ln . pick = ni , Ln . pluck = function ( n , t ) { return ue ( n , Be ( t ) ) } , Ln . property = Be , Ln . propertyOf = function ( n ) { return function ( t ) { return mt ( n , Br ( t ) , t + "" ) } } , Ln . pull = function ( ) { var n = arguments , t = n [ 0 ] ; if ( ! t || ! t . length ) return t ; for ( var r = 0 , e = xr ( ) , u = n . length ; ++ r < u ; ) for ( var o = 0 , i = n [ r ] ; - 1 < ( o = e ( t , i , o ) ) ; ) mu . call ( t , o , 1 ) ; return t } , Ln . pullAt = eo , Ln . range = function ( n , t , r ) { r && Sr ( n , t , r ) && ( t = r = null ) , n = + n || 0 , r = null == r ? 1 : + r || 0 , null == t ? ( t = n , n = 0 ) : t = + t || 0 ; var e = - 1 ; t = Iu ( su ( ( t - n ) / ( r || 1 ) ) , 0 ) ; for ( var u = Me ( t ) ; ++ e < t ; ) u [ e ] = n , n += r ; return u } , Ln . rearg = $o ,
Ln . reject = function ( n , t , r ) { var e = Lo ( n ) ? Xn : pt ; return t = wr ( t , r , 3 ) , e ( n , function ( n , r , e ) { return ! t ( n , r , e ) } ) } , Ln . remove = function ( n , t , r ) { var e = [ ] ; if ( ! n || ! n . length ) return e ; var u = - 1 , o = [ ] , i = n . length ; for ( t = wr ( t , r , 3 ) ; ++ u < i ; ) r = n [ u ] , t ( r , u , n ) && ( e . push ( r ) , o . push ( u ) ) ; return Rt ( n , o ) , e } , Ln . rest = Yr , Ln . restParam = se , Ln . set = function ( n , t , r ) { if ( null == n ) return n ; var e = t + "" ; t = null != n [ e ] || Tr ( t , n ) ? [ e ] : Br ( t ) ; for ( var e = - 1 , u = t . length , o = u - 1 , i = n ; null != i && ++ e < u ; ) { var a = t [ e ] ; ye ( i ) && ( e == o ? i [ a ] = r : null == i [ a ] && ( i [ a ] = Cr ( t [ e + 1 ] ) ? [ ] : { } ) ) , i = i [ a ] ;
} return n } , Ln . shuffle = ie , Ln . slice = function ( n , t , r ) { var e = n ? n . length : 0 ; return e ? ( r && typeof r != "number" && Sr ( n , t , r ) && ( t = 0 , r = e ) , St ( n , t , r ) ) : [ ] } , Ln . sortBy = function ( n , t , r ) { if ( null == n ) return [ ] ; r && Sr ( n , t , r ) && ( t = null ) ; var e = - 1 ; return t = wr ( t , r , 3 ) , n = xt ( n , function ( n , r , u ) { return { a : t ( n , r , u ) , b : ++ e , c : n } } ) , Ut ( n , a ) } , Ln . sortByAll = Ao , Ln . sortByOrder = function ( n , t , r , e ) { return null == n ? [ ] : ( e && Sr ( t , r , e ) && ( r = null ) , Lo ( t ) || ( t = null == t ? [ ] : [ t ] ) , Lo ( r ) || ( r = null == r ? [ ] : [ r ] ) , Wt ( n , t , r ) ) } , Ln . spread = function ( n ) { if ( typeof n != "function" ) throw new Ge ( L ) ;
return function ( t ) { return n . apply ( this , t ) } } , Ln . take = function ( n , t , r ) { return n && n . length ? ( ( r ? Sr ( n , t , r ) : null == t ) && ( t = 1 ) , St ( n , 0 , 0 > t ? 0 : t ) ) : [ ] } , Ln . takeRight = function ( n , t , r ) { var e = n ? n . length : 0 ; return e ? ( ( r ? Sr ( n , t , r ) : null == t ) && ( t = 1 ) , t = e - ( + t || 0 ) , St ( n , 0 > t ? 0 : t ) ) : [ ] } , Ln . takeRightWhile = function ( n , t , r ) { return n && n . length ? Pt ( n , wr ( t , r , 3 ) , false , true ) : [ ] } , Ln . takeWhile = function ( n , t , r ) { return n && n . length ? Pt ( n , wr ( t , r , 3 ) ) : [ ] } , Ln . tap = function ( n , t , r ) { return t . call ( r , n ) , n } , Ln . throttle = function ( n , t , r ) { var e = true , u = true ; if ( typeof n != "function" ) throw new Ge ( L ) ;
return false === r ? e = false : ye ( r ) && ( e = "leading" in r ? ! ! r . leading : e , u = "trailing" in r ? ! ! r . trailing : u ) , $n . leading = e , $n . maxWait = + t , $n . trailing = u , fe ( n , t , $n ) } , Ln . thru = ne , Ln . times = function ( n , t , r ) { if ( n = hu ( n ) , 1 > n || ! Ou ( n ) ) return [ ] ; var e = - 1 , u = Me ( Ru ( n , 4294967295 ) ) ; for ( t = Mt ( t , r , 1 ) ; ++ e < n ; ) 4294967295 > e ? u [ e ] = t ( e ) : t ( e ) ; return u } , Ln . toArray = function ( n ) { var t = n ? Gu ( n ) : 0 ; return Wr ( t ) ? t ? Ln . support . unindexedChars && be ( n ) ? n . split ( "" ) : Dn ( n ) : [ ] : Re ( n ) } , Ln . toPlainObject = je , Ln . transform = function ( n , t , r , e ) { var u = Lo ( n ) || xe ( n ) ; return t = wr ( t , e , 4 ) ,
null == r && ( u || ye ( n ) ? ( e = n . constructor , r = u ? Lo ( n ) ? new e : [ ] : qu ( No ( e ) ? e . prototype : null ) ) : r = { } ) , ( u ? Kn : gt ) ( n , function ( n , e , u ) { return t ( r , n , e , u ) } ) , r } , Ln . union = io , Ln . uniq = Jr , Ln . unzip = Xr , Ln . unzipWith = Gr , Ln . values = Re , Ln . valuesIn = function ( n ) { return Lt ( n , ke ( n ) ) } , Ln . where = function ( n , t ) { return re ( n , At ( t ) ) } , Ln . without = ao , Ln . wrap = function ( n , t ) { return t = null == t ? Le : t , gr ( t , k , null , [ n ] , [ ] ) } , Ln . xor = function ( ) { for ( var n = - 1 , t = arguments . length ; ++ n < t ; ) { var r = arguments [ n ] ; if ( Er ( r ) ) var e = e ? ft ( e , r ) . concat ( ft ( r , e ) ) : r } return e ? $t ( e ) : [ ] ;
} , Ln . zip = lo , Ln . zipObject = Hr , Ln . zipWith = fo , Ln . backflow = Uo , Ln . collect = ue , Ln . compose = Uo , Ln . each = _o , Ln . eachRight = vo , Ln . extend = Bo , Ln . iteratee = Fe , Ln . methods = Oe , Ln . object = Hr , Ln . select = re , Ln . tail = Yr , Ln . unique = Jr , Ne ( Ln , Ln ) , Ln . add = function ( n , t ) { return ( + n || 0 ) + ( + t || 0 ) } , Ln . attempt = ai , Ln . camelCase = ti , Ln . capitalize = function ( n ) { return ( n = u ( n ) ) && n . charAt ( 0 ) . toUpperCase ( ) + n . slice ( 1 ) } , Ln . clone = function ( n , t , r , e ) { return t && typeof t != "boolean" && Sr ( n , t , r ) ? t = false : typeof t == "function" && ( e = r , r = t , t = false ) , typeof r == "function" ? at ( n , t , Mt ( r , e , 1 ) ) : at ( n , t ) ;
} , Ln . cloneDeep = function ( n , t , r ) { return typeof t == "function" ? at ( n , true , Mt ( t , r , 1 ) ) : at ( n , true ) } , Ln . deburr = Ee , Ln . endsWith = function ( n , t , r ) { n = u ( n ) , t += "" ; var e = n . length ; return r = r === m ? e : Ru ( 0 > r ? 0 : + r || 0 , e ) , r -= t . length , 0 <= r && n . indexOf ( t , r ) == r } , Ln . escape = function ( n ) { return ( n = u ( n ) ) && pn . test ( n ) ? n . replace ( cn , f ) : n } , Ln . escapeRegExp = Ce , Ln . every = te , Ln . find = po , Ln . findIndex = no , Ln . findKey = qo , Ln . findLast = ho , Ln . findLastIndex = to , Ln . findLastKey = Do , Ln . findWhere = function ( n , t ) { return po ( n , At ( t ) ) } , Ln . first = Kr , Ln . get = function ( n , t , r ) {
return n = null == n ? m : mt ( n , Br ( t ) , t + "" ) , n === m ? r : n } , Ln . gt = pe , Ln . gte = function ( n , t ) { return n >= t } , Ln . has = function ( n , t ) { if ( null == n ) return false ; var r = uu . call ( n , t ) ; if ( ! r && ! Tr ( t ) ) { if ( t = Br ( t ) , n = 1 == t . length ? n : mt ( n , St ( t , 0 , - 1 ) ) , null == n ) return false ; t = Vr ( t ) , r = uu . call ( n , t ) } return r || Wr ( n . length ) && Cr ( t , n . length ) && ( Lo ( n ) || he ( n ) || be ( n ) ) } , Ln . identity = Le , Ln . includes = ee , Ln . indexOf = Zr , Ln . inRange = function ( n , t , r ) { return t = + t || 0 , "undefined" === typeof r ? ( r = t , t = 0 ) : r = + r || 0 , n >= Ru ( t , r ) && n < Iu ( t , r ) } , Ln . isArguments = he , Ln . isArray = Lo , Ln . isBoolean = function ( n ) {
return true === n || false === n || p ( n ) && iu . call ( n ) == B } , Ln . isDate = function ( n ) { return p ( n ) && iu . call ( n ) == M } , Ln . isElement = _e , Ln . isEmpty = function ( n ) { return null == n ? true : Er ( n ) && ( Lo ( n ) || be ( n ) || he ( n ) || p ( n ) && No ( n . splice ) ) ? ! n . length : ! Jo ( n ) . length } , Ln . isEqual = ve , Ln . isError = ge , Ln . isFinite = Po , Ln . isFunction = No , Ln . isMatch = function ( n , t , r , e ) { return r = typeof r == "function" ? Mt ( r , e , 3 ) : m , bt ( n , Ar ( t ) , r ) } , Ln . isNaN = function ( n ) { return me ( n ) && n != + n } , Ln . isNative = de , Ln . isNull = function ( n ) { return null === n } , Ln . isNumber = me , Ln . isObject = ye , Ln . isPlainObject = zo ,
Ln . isRegExp = we , Ln . isString = be , Ln . isTypedArray = xe , Ln . isUndefined = function ( n ) { return n === m } , Ln . kebabCase = ri , Ln . last = Vr , Ln . lastIndexOf = function ( n , t , r ) { var e = n ? n . length : 0 ; if ( ! e ) return - 1 ; var u = e ; if ( typeof r == "number" ) u = ( 0 > r ? Iu ( e + r , 0 ) : Ru ( r || 0 , e - 1 ) ) + 1 ; else if ( r ) return u = zt ( n , t , true ) - 1 , n = n [ u ] , ( t === t ? t === n : n !== n ) ? u : - 1 ; if ( t !== t ) return s ( n , u , true ) ; for ( ; u -- ; ) if ( n [ u ] === t ) return u ; return - 1 } , Ln . lt = Ae , Ln . lte = function ( n , t ) { return n <= t } , Ln . max = ci , Ln . min = si , Ln . noConflict = function ( ) { return h . _ = au , this } , Ln . noop = ze , Ln . now = jo ,
Ln . pad = function ( n , t , r ) { n = u ( n ) , t = + t ; var e = n . length ; return e < t && Ou ( t ) ? ( e = ( t - e ) / 2 , t = hu ( e ) , e = su ( e ) , r = hr ( "" , e , r ) , r . slice ( 0 , t ) + n + r ) : n } , Ln . padLeft = ei , Ln . padRight = ui , Ln . parseInt = Se , Ln . random = function ( n , t , r ) { r && Sr ( n , t , r ) && ( t = r = null ) ; var e = null == n , u = null == t ; return null == r && ( u && typeof n == "boolean" ? ( r = n , n = 1 ) : typeof t == "boolean" && ( r = t , u = true ) ) , e && u && ( t = 1 , u = false ) , n = + n || 0 , u ? ( t = n , n = 0 ) : t = + t || 0 , r || n % 1 || t % 1 ? ( r = Tu ( ) , Ru ( n + r * ( t - n + parseFloat ( "1e-" + ( ( r + "" ) . length - 1 ) ) ) , t ) ) : Et ( n , t ) } , Ln . reduce = bo , Ln . reduceRight = xo , Ln . repeat = Te ,
Ln . result = function ( n , t , r ) { var e = null == n ? m : zr ( n ) [ t ] ; return e === m && ( null == n || Tr ( t , n ) || ( t = Br ( t ) , n = 1 == t . length ? n : mt ( n , St ( t , 0 , - 1 ) ) , e = null == n ? m : zr ( n ) [ Vr ( t ) ] ) , e = e === m ? r : e ) , No ( e ) ? e . call ( n ) : e } , Ln . runInContext = d , Ln . size = function ( n ) { var t = n ? Gu ( n ) : 0 ; return Wr ( t ) ? t : Jo ( n ) . length } , Ln . snakeCase = oi , Ln . some = ae , Ln . sortedIndex = uo , Ln . sortedLastIndex = oo , Ln . startCase = ii , Ln . startsWith = function ( n , t , r ) { return n = u ( n ) , r = null == r ? 0 : Ru ( 0 > r ? 0 : + r || 0 , n . length ) , n . lastIndexOf ( t , r ) == r } , Ln . sum = function ( n , t , r ) { r && Sr ( n , t , r ) && ( t = null ) ; var e = wr ( ) , u = null == t ;
if ( u && e === it || ( u = false , t = e ( t , r , 3 ) ) , u ) { for ( n = Lo ( n ) ? n : Nr ( n ) , t = n . length , r = 0 ; t -- ; ) r += + n [ t ] || 0 ; n = r } else n = Ft ( n , t ) ; return n } , Ln . template = function ( n , t , r ) { var e = Ln . templateSettings ; r && Sr ( n , t , r ) && ( t = r = null ) , n = u ( n ) , t = rt ( et ( { } , r || t ) , e , tt ) , r = rt ( et ( { } , t . imports ) , e . imports , tt ) ; var o , i , a = Jo ( r ) , l = Lt ( r , a ) , f = 0 ; r = t . interpolate || Rn ; var s = "__p+='" ; r = Je ( ( t . escape || Rn ) . source + "|" + r . source + "|" + ( r === vn ? An : Rn ) . source + "|" + ( t . evaluate || Rn ) . source + "|$" , "g" ) ; var p = "sourceURL" in t ? "//# sourceURL=" + t . sourceURL + "\n" : "" ; if ( n . replace ( r , function ( t , r , e , u , a , l ) {
return e || ( e = u ) , s += n . slice ( f , l ) . replace ( En , c ) , r && ( o = true , s += "'+__e(" + r + ")+'" ) , a && ( i = true , s += "';" + a + ";\n__p+='" ) , e && ( s += "'+((__t=(" + e + "))==null?'':__t)+'" ) , f = l + t . length , t } ) , s += "';" , ( t = t . variable ) || ( s = "with(obj){" + s + "}" ) , s = ( i ? s . replace ( on , "" ) : s ) . replace ( an , "$1" ) . replace ( ln , "$1;" ) , s = "function(" + ( t || "obj" ) + "){" + ( t ? "" : "obj||(obj={});" ) + "var __t,__p=''" + ( o ? ",__e=_.escape" : "" ) + ( i ? ",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}" : ";" ) + s + "return __p}" , t = ai ( function ( ) { return Ke ( a , p + "return " + s ) . apply ( m , l ) ;
} ) , t . source = s , ge ( t ) ) throw t ; return t } , Ln . trim = Ue , Ln . trimLeft = function ( n , t , r ) { var e = n ; return ( n = u ( n ) ) ? n . slice ( ( r ? Sr ( e , t , r ) : null == t ) ? v ( n ) : o ( n , t + "" ) ) : n } , Ln . trimRight = function ( n , t , r ) { var e = n ; return ( n = u ( n ) ) ? ( r ? Sr ( e , t , r ) : null == t ) ? n . slice ( 0 , g ( n ) + 1 ) : n . slice ( 0 , i ( n , t + "" ) + 1 ) : n } , Ln . trunc = function ( n , t , r ) { r && Sr ( n , t , r ) && ( t = null ) ; var e = C ; if ( r = S , null != t ) if ( ye ( t ) ) { var o = "separator" in t ? t . separator : o , e = "length" in t ? + t . length || 0 : e ; r = "omission" in t ? u ( t . omission ) : r } else e = + t || 0 ; if ( n = u ( n ) , e >= n . length ) return n ; if ( e -= r . length ,
1 > e ) return r ; if ( t = n . slice ( 0 , e ) , null == o ) return t + r ; if ( we ( o ) ) { if ( n . slice ( e ) . search ( o ) ) { var i , a = n . slice ( 0 , e ) ; for ( o . global || ( o = Je ( o . source , ( jn . exec ( o ) || "" ) + "g" ) ) , o . lastIndex = 0 ; n = o . exec ( a ) ; ) i = n . index ; t = t . slice ( 0 , null == i ? e : i ) } } else n . indexOf ( o , e ) != e && ( o = t . lastIndexOf ( o ) , - 1 < o && ( t = t . slice ( 0 , o ) ) ) ; return t + r } , Ln . unescape = function ( n ) { return ( n = u ( n ) ) && sn . test ( n ) ? n . replace ( fn , y ) : n } , Ln . uniqueId = function ( n ) { var t = ++ ou ; return u ( n ) + t } , Ln . words = We , Ln . all = te , Ln . any = ae , Ln . contains = ee , Ln . eq = ve , Ln . detect = po , Ln . foldl = bo ,
Ln . foldr = xo , Ln . head = Kr , Ln . include = ee , Ln . inject = bo , Ne ( Ln , function ( ) { var n = { } ; return gt ( Ln , function ( t , r ) { Ln . prototype [ r ] || ( n [ r ] = t ) } ) , n } ( ) , false ) , Ln . sample = oe , Ln . prototype . sample = function ( n ) { return this . _ _chain _ _ || null != n ? this . thru ( function ( t ) { return oe ( t , n ) } ) : oe ( this . value ( ) ) } , Ln . VERSION = w , Kn ( "bind bindKey curry curryRight partial partialRight" . split ( " " ) , function ( n ) { Ln [ n ] . placeholder = Ln } ) , Kn ( [ "dropWhile" , "filter" , "map" , "takeWhile" ] , function ( n , t ) { var r = t != $ , e = t == W ; zn . prototype [ n ] = function ( n , u ) { var o = this . _ _filtered _ _ , i = o && e ? new zn ( this ) : this . clone ( ) ;
return ( i . _ _iteratees _ _ || ( i . _ _iteratees _ _ = [ ] ) ) . push ( { done : false , count : 0 , index : 0 , iteratee : wr ( n , u , 1 ) , limit : - 1 , type : t } ) , i . _ _filtered _ _ = o || r , i } } ) , Kn ( [ "drop" , "take" ] , function ( n , t ) { var r = n + "While" ; zn . prototype [ n ] = function ( r ) { var e = this . _ _filtered _ _ , u = e && ! t ? this . dropWhile ( ) : this . clone ( ) ; return r = null == r ? 1 : Iu ( hu ( r ) || 0 , 0 ) , e ? t ? u . _ _takeCount _ _ = Ru ( u . _ _takeCount _ _ , r ) : Vr ( u . _ _iteratees _ _ ) . limit = r : ( u . _ _views _ _ || ( u . _ _views _ _ = [ ] ) ) . push ( { size : r , type : n + ( 0 > u . _ _dir _ _ ? "Right" : "" ) } ) , u } , zn . prototype [ n + "Right" ] = function ( t ) { return this . reverse ( ) [ n ] ( t ) . reverse ( ) ;
} , zn . prototype [ n + "RightWhile" ] = function ( n , t ) { return this . reverse ( ) [ r ] ( n , t ) . reverse ( ) } } ) , Kn ( [ "first" , "last" ] , function ( n , t ) { var r = "take" + ( t ? "Right" : "" ) ; zn . prototype [ n ] = function ( ) { return this [ r ] ( 1 ) . value ( ) [ 0 ] } } ) , Kn ( [ "initial" , "rest" ] , function ( n , t ) { var r = "drop" + ( t ? "" : "Right" ) ; zn . prototype [ n ] = function ( ) { return this [ r ] ( 1 ) } } ) , Kn ( [ "pluck" , "where" ] , function ( n , t ) { var r = t ? "filter" : "map" , e = t ? At : Be ; zn . prototype [ n ] = function ( n ) { return this [ r ] ( e ( n ) ) } } ) , zn . prototype . compact = function ( ) { return this . filter ( Le ) } , zn . prototype . reject = function ( n , t ) {
return n = wr ( n , t , 1 ) , this . filter ( function ( t ) { return ! n ( t ) } ) } , zn . prototype . slice = function ( n , t ) { n = null == n ? 0 : + n || 0 ; var r = this ; return 0 > n ? r = this . takeRight ( - n ) : n && ( r = this . drop ( n ) ) , t !== m && ( t = + t || 0 , r = 0 > t ? r . dropRight ( - t ) : r . take ( t - n ) ) , r } , zn . prototype . toArray = function ( ) { return this . drop ( 0 ) } , gt ( zn . prototype , function ( n , t ) { var r = Ln [ t ] ; if ( r ) { var e = /^(?:filter|map|reject)|While$/ . test ( t ) , u = /^(?:first|last)$/ . test ( t ) ; Ln . prototype [ t ] = function ( ) { function t ( n ) { return n = [ n ] , vu . apply ( n , o ) , r . apply ( Ln , n ) } var o = arguments , i = this . _ _chain _ _ , a = this . _ _wrapped _ _ , l = ! ! this . _ _actions _ _ . length , f = a instanceof zn , c = o [ 0 ] , s = f || Lo ( a ) ;
return s && e && typeof c == "function" && 1 != c . length && ( f = s = false ) , f = f && ! l , u && ! i ? f ? n . call ( a ) : r . call ( Ln , this . value ( ) ) : s ? ( a = n . apply ( f ? a : new zn ( this ) , o ) , u || ! l && ! a . _ _actions _ _ || ( a . _ _actions _ _ || ( a . _ _actions _ _ = [ ] ) ) . push ( { func : ne , args : [ t ] , thisArg : Ln } ) , new Nn ( a , i ) ) : this . thru ( t ) } } } ) , Kn ( "concat join pop push replace shift sort splice split unshift" . split ( " " ) , function ( n ) { var t = ( /^(?:replace|split)$/ . test ( n ) ? tu : He ) [ n ] , r = /^(?:push|sort|unshift)$/ . test ( n ) ? "tap" : "thru" , e = /^(?:join|pop|replace|shift)$/ . test ( n ) , u = Mu . spliceObjects || ! /^(?:pop|shift|splice)$/ . test ( n ) ? t : function ( ) {
var n = t . apply ( this , arguments ) ; return 0 === this . length && delete this [ 0 ] , n } ; Ln . prototype [ n ] = function ( ) { var n = arguments ; return e && ! this . _ _chain _ _ ? u . apply ( this . value ( ) , n ) : this [ r ] ( function ( t ) { return u . apply ( t , n ) } ) } } ) , gt ( zn . prototype , function ( n , t ) { var r = Ln [ t ] ; if ( r ) { var e = r . name ; ( Nu [ e ] || ( Nu [ e ] = [ ] ) ) . push ( { name : t , func : r } ) } } ) , Nu [ pr ( null , x ) . name ] = [ { name : "wrapper" , func : null } ] , zn . prototype . clone = function ( ) { var n = this . _ _actions _ _ , t = this . _ _iteratees _ _ , r = this . _ _views _ _ , e = new zn ( this . _ _wrapped _ _ ) ; return e . _ _actions _ _ = n ? Dn ( n ) : null ,
e . _ _dir _ _ = this . _ _dir _ _ , e . _ _filtered _ _ = this . _ _filtered _ _ , e . _ _iteratees _ _ = t ? Dn ( t ) : null , e . _ _takeCount _ _ = this . _ _takeCount _ _ , e . _ _views _ _ = r ? Dn ( r ) : null , e } , zn . prototype . reverse = function ( ) { if ( this . _ _filtered _ _ ) { var n = new zn ( this ) ; n . _ _dir _ _ = - 1 , n . _ _filtered _ _ = true } else n = this . clone ( ) , n . _ _dir _ _ *= - 1 ; return n } , zn . prototype . value = function ( ) { var n = this . _ _wrapped _ _ . value ( ) ; if ( ! Lo ( n ) ) return Nt ( n , this . _ _actions _ _ ) ; var t , r = this . _ _dir _ _ , e = 0 > r ; t = n . length ; for ( var u = this . _ _views _ _ , o = 0 , i = - 1 , a = u ? u . length : 0 ; ++ i < a ; ) { var l = u [ i ] , f = l . size ;
switch ( l . type ) { case "drop" : o += f ; break ; case "dropRight" : t -= f ; break ; case "take" : t = Ru ( t , o + f ) ; break ; case "takeRight" : o = Iu ( o , t - f ) } } t = { start : o , end : t } , u = t . start , o = t . end , t = o - u , u = e ? o : u - 1 , o = Ru ( t , this . _ _takeCount _ _ ) , a = ( i = this . _ _iteratees _ _ ) ? i . length : 0 , l = 0 , f = [ ] ; n : for ( ; t -- && l < o ; ) { for ( var u = u + r , c = - 1 , s = n [ u ] ; ++ c < a ; ) { var p = i [ c ] , h = p . iteratee , _ = p . type ; if ( _ == W ) { if ( p . done && ( e ? u > p . index : u < p . index ) && ( p . count = 0 , p . done = false ) , p . index = u , ! ( p . done || ( _ = p . limit , p . done = - 1 < _ ? p . count ++ >= _ : ! h ( s ) ) ) ) continue n } else if ( p = h ( s ) , _ == $ ) s = p ; else if ( ! p ) {
if ( _ == F ) continue n ; break n } } f [ l ++ ] = s } return f } , Ln . prototype . chain = function ( ) { return Qr ( this ) } , Ln . prototype . commit = function ( ) { return new Nn ( this . value ( ) , this . _ _chain _ _ ) } , Ln . prototype . plant = function ( n ) { for ( var t , r = this ; r instanceof Pn ; ) { var e = Mr ( r ) ; t ? u . _ _wrapped _ _ = e : t = e ; var u = e , r = r . _ _wrapped _ _ } return u . _ _wrapped _ _ = n , t } , Ln . prototype . reverse = function ( ) { var n = this . _ _wrapped _ _ ; return n instanceof zn ? ( this . _ _actions _ _ . length && ( n = new zn ( this ) ) , new Nn ( n . reverse ( ) , this . _ _chain _ _ ) ) : this . thru ( function ( n ) { return n . reverse ( ) ;
} ) } , Ln . prototype . toString = function ( ) { return this . value ( ) + "" } , Ln . prototype . run = Ln . prototype . toJSON = Ln . prototype . valueOf = Ln . prototype . value = function ( ) { return Nt ( this . _ _wrapped _ _ , this . _ _actions _ _ ) } , Ln . prototype . collect = Ln . prototype . map , Ln . prototype . head = Ln . prototype . first , Ln . prototype . select = Ln . prototype . filter , Ln . prototype . tail = Ln . prototype . rest , Ln } var m , w = "3.9.0" , b = 1 , x = 2 , A = 4 , j = 8 , O = 16 , k = 32 , I = 64 , R = 128 , E = 256 , C = 30 , S = "..." , T = 150 , U = 16 , W = 0 , F = 1 , $ = 2 , L = "Expected a function" , P = "__lodash_placeholder__" , N = "[object Arguments]" , z = "[object Array]" , B = "[object Boolean]" , M = "[object Date]" , q = "[object Error]" , D = "[object Function]" , K = "[object Number]" , Z = "[object Object]" , V = "[object RegExp]" , Y = "[object String]" , J = "[object ArrayBuffer]" , X = "[object Float32Array]" , G = "[object Float64Array]" , H = "[object Int8Array]" , Q = "[object Int16Array]" , nn = "[object Int32Array]" , tn = "[object Uint8Array]" , rn = "[object Uint8ClampedArray]" , en = "[object Uint16Array]" , un = "[object Uint32Array]" , on = /\b__p\+='';/g , an = /\b(__p\+=)''\+/g , ln = /(__e\(.*?\)|\b__t\))\+'';/g , fn = /&(?:amp|lt|gt|quot|#39|#96);/g , cn = /[&<>"'`]/g , sn = RegExp ( fn . source ) , pn = RegExp ( cn . source ) , hn = /<%-([\s\S]+?)%>/g , _n = /<%([\s\S]+?)%>/g , vn = /<%=([\s\S]+?)%>/g , gn = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/ , yn = /^\w*$/ , dn = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g , mn = /[.*+?^${}()|[\]\/\\]/g , wn = RegExp ( mn . source ) , bn = /[\u0300-\u036f\ufe20-\ufe23]/g , xn = /\\(\\)?/g , An = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g , jn = /\w*$/ , On = /^0[xX]/ , kn = /^\[object .+?Constructor\]$/ , In = /[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g , Rn = /($^)/ , En = /['\n\r\u2028\u2029\\]/g , Cn = RegExp ( "[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?=[A-Z\\xc0-\\xd6\\xd8-\\xde][a-z\\xdf-\\xf6\\xf8-\\xff]+)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+|[A-Z\\xc0-\\xd6\\xd8-\\xde]+|[0-9]+" , "g" ) , Sn = " \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000" , Tn = "Array ArrayBuffer Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Math Number Object RegExp Set String _ clearTimeout document isFinite parseInt setTimeout TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap window" . split ( " " ) , Un = "constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf" . split ( " " ) , Wn = { } ;
Wn [ X ] = Wn [ G ] = Wn [ H ] = Wn [ Q ] = Wn [ nn ] = Wn [ tn ] = Wn [ rn ] = Wn [ en ] = Wn [ un ] = true , Wn [ N ] = Wn [ z ] = Wn [ J ] = Wn [ B ] = Wn [ M ] = Wn [ q ] = Wn [ D ] = Wn [ "[object Map]" ] = Wn [ K ] = Wn [ Z ] = Wn [ V ] = Wn [ "[object Set]" ] = Wn [ Y ] = Wn [ "[object WeakMap]" ] = false ; var Fn = { } ; Fn [ N ] = Fn [ z ] = Fn [ J ] = Fn [ B ] = Fn [ M ] = Fn [ X ] = Fn [ G ] = Fn [ H ] = Fn [ Q ] = Fn [ nn ] = Fn [ K ] = Fn [ Z ] = Fn [ V ] = Fn [ Y ] = Fn [ tn ] = Fn [ rn ] = Fn [ en ] = Fn [ un ] = true , Fn [ q ] = Fn [ D ] = Fn [ "[object Map]" ] = Fn [ "[object Set]" ] = Fn [ "[object WeakMap]" ] = false ; var $n = { leading : false , maxWait : 0 , trailing : false } , Ln = { "\xc0" : "A" , "\xc1" : "A" , "\xc2" : "A" , "\xc3" : "A" , "\xc4" : "A" , "\xc5" : "A" ,
"\xe0" : "a" , "\xe1" : "a" , "\xe2" : "a" , "\xe3" : "a" , "\xe4" : "a" , "\xe5" : "a" , "\xc7" : "C" , "\xe7" : "c" , "\xd0" : "D" , "\xf0" : "d" , "\xc8" : "E" , "\xc9" : "E" , "\xca" : "E" , "\xcb" : "E" , "\xe8" : "e" , "\xe9" : "e" , "\xea" : "e" , "\xeb" : "e" , "\xcc" : "I" , "\xcd" : "I" , "\xce" : "I" , "\xcf" : "I" , "\xec" : "i" , "\xed" : "i" , "\xee" : "i" , "\xef" : "i" , "\xd1" : "N" , "\xf1" : "n" , "\xd2" : "O" , "\xd3" : "O" , "\xd4" : "O" , "\xd5" : "O" , "\xd6" : "O" , "\xd8" : "O" , "\xf2" : "o" , "\xf3" : "o" , "\xf4" : "o" , "\xf5" : "o" , "\xf6" : "o" , "\xf8" : "o" , "\xd9" : "U" , "\xda" : "U" , "\xdb" : "U" , "\xdc" : "U" , "\xf9" : "u" , "\xfa" : "u" ,
"\xfb" : "u" , "\xfc" : "u" , "\xdd" : "Y" , "\xfd" : "y" , "\xff" : "y" , "\xc6" : "Ae" , "\xe6" : "ae" , "\xde" : "Th" , "\xfe" : "th" , "\xdf" : "ss" } , Pn = { "&" : "&" , "<" : "<" , ">" : ">" , '"' : """ , "'" : "'" , "`" : "`" } , Nn = { "&" : "&" , "<" : "<" , ">" : ">" , """ : '"' , "'" : "'" , "`" : "`" } , zn = { "function" : true , object : true } , Bn = { "\\" : "\\" , "'" : "'" , "\n" : "n" , "\r" : "r" , "\u2028" : "u2028" , "\u2029" : "u2029" } , Mn = zn [ typeof exports ] && exports && ! exports . nodeType && exports , qn = zn [ typeof module ] && module && ! module . nodeType && module , Dn = zn [ typeof self ] && self && self . Object && self , Kn = zn [ typeof window ] && window && window . Object && window , Zn = qn && qn . exports === Mn && Mn , Vn = Mn && qn && typeof global == "object" && global && global . Object && global || Kn !== ( this && this . window ) && Kn || Dn || this , Yn = function ( ) {
try { Object ( { toString : 0 } + "" ) } catch ( n ) { return function ( ) { return false } } return function ( n ) { return typeof n . toString != "function" && typeof ( n + "" ) == "string" } } ( ) , Jn = d ( ) ; typeof define == "function" && typeof define . amd == "object" && define . amd ? ( Vn . _ = Jn , define ( function ( ) { return Jn } ) ) : Mn && qn ? Zn ? ( qn . exports = Jn ) . _ = Jn : Mn . _ = Jn : Vn . _ = Jn } ) . call ( this ) ;
! function ( ) { function n ( n ) { return n && ( n . ownerDocument || n . document || n ) . documentElement } function t ( n ) { return n && ( n . ownerDocument && n . ownerDocument . defaultView || n . document && n || n . defaultView ) } function e ( n , t ) { return t > n ? - 1 : n > t ? 1 : n >= t ? 0 : 0 / 0 } function r ( n ) { return null === n ? 0 / 0 : + n } function u ( n ) { return ! isNaN ( n ) } function i ( n ) { return { left : function ( t , e , r , u ) { for ( arguments . length < 3 && ( r = 0 ) , arguments . length < 4 && ( u = t . length ) ; u > r ; ) { var i = r + u >>> 1 ; n ( t [ i ] , e ) < 0 ? r = i + 1 : u = i } return r } , right : function ( t , e , r , u ) { for ( arguments . length < 3 && ( r = 0 ) , arguments . length < 4 && ( u = t . length ) ; u > r ; ) { var i = r + u >>> 1 ; n ( t [ i ] , e ) > 0 ? u = i : r = i + 1 } return r } } } function o ( n ) { return n . length } function a ( n ) { for ( var t = 1 ; n * t % 1 ; ) t *= 10 ; return t } function c ( n , t ) { for ( var e in t ) Object . defineProperty ( n . prototype , e , { value : t [ e ] , enumerable : ! 1 } ) } function l ( ) { this . _ = Object . create ( null ) } function s ( n ) { return ( n += "" ) === pa || n [ 0 ] === va ? va + n : n } function f ( n ) { return ( n += "" ) [ 0 ] === va ? n . slice ( 1 ) : n } function h ( n ) { return s ( n ) in this . _ } function g ( n ) { return ( n = s ( n ) ) in this . _ && delete this . _ [ n ] } function p ( ) { var n = [ ] ; for ( var t in this . _ ) n . push ( f ( t ) ) ; return n } function v ( ) { var n = 0 ; for ( var t in this . _ ) ++ n ; return n } function d ( ) { for ( var n in this . _ ) return ! 1 ; return ! 0 } function m ( ) { this . _ = Object . create ( null ) } function y ( n ) { return n } function M ( n , t , e ) { return function ( ) { var r = e . apply ( t , arguments ) ; return r === t ? n : r } } function x ( n , t ) { if ( t in n ) return t ; t = t . charAt ( 0 ) . toUpperCase ( ) + t . slice ( 1 ) ; for ( var e = 0 , r = da . length ; r > e ; ++ e ) { var u = da [ e ] + t ; if ( u in n ) return u } } function b ( ) { } function _ ( ) { } function w ( n ) { function t ( ) { for ( var t , r = e , u = - 1 , i = r . length ; ++ u < i ; ) ( t = r [ u ] . on ) && t . apply ( this , arguments ) ; return n } var e = [ ] , r = new l ; return t . on = function ( t , u ) { var i , o = r . get ( t ) ; return arguments . length < 2 ? o && o . on : ( o && ( o . on = null , e = e . slice ( 0 , i = e . indexOf ( o ) ) . concat ( e . slice ( i + 1 ) ) , r . remove ( t ) ) , u && e . push ( r . set ( t , { on : u } ) ) , n ) } , t } function S ( ) { ta . event . preventDefault ( ) } function k ( ) { for ( var n , t = ta . event ; n = t . sourceEvent ; ) t = n ; return t } function E ( n ) { for ( var t = new _ , e = 0 , r = arguments . length ; ++ e < r ; ) t [ arguments [ e ] ] = w ( t ) ; return t . of = function ( e , r ) { return function ( u ) { try { var i = u . sourceEvent = ta . event ; u . target = n , ta . event = u , t [ u . type ] . apply ( e , r ) } finally { ta . event = i } } } , t } function A ( n ) { return ya ( n , _a ) , n } function N ( n ) { return "function" == typeof n ? n : function ( ) { return Ma ( n , this ) } } function C ( n ) { return "function" == typeof n ? n : function ( ) { return xa ( n , this ) } } function z ( n , t ) { function e ( ) { this . removeAttribute ( n ) } function r ( ) { this . removeAttributeNS ( n . space , n . local ) } function u ( ) { this . setAttribute ( n , t ) } function i ( ) { this . setAttributeNS ( n . space , n . local , t ) } function o ( ) { var e = t . apply ( this , arguments ) ; null == e ? this . removeAttribute ( n ) : this . setAttribute ( n , e ) } function a ( ) { var e = t . apply ( this , arguments ) ; null == e ? this . removeAttributeNS ( n . space , n . local ) : this . setAttributeNS ( n . space , n . local , e ) } return n = ta . ns . qualify ( n ) , null == t ? n . local ? r : e : "function" == typeof t ? n . local ? a : o : n . local ? i : u } function q ( n ) { return n . trim ( ) . replace ( /\s+/g , " " ) } function L ( n ) { return new RegExp ( "(?:^|\\s+)" + ta . requote ( n ) + "(?:\\s+|$)" , "g" ) } function T ( n ) { return ( n + "" ) . trim ( ) . split ( /^|\s+/ ) } function R ( n , t ) { function e ( ) { for ( var e = - 1 ; ++ e < u ; ) n [ e ] ( this , t ) } function r ( ) { for ( var e = - 1 , r = t . apply ( this , arguments ) ; ++ e < u ; ) n [ e ] ( this , r ) } n = T ( n ) . map ( D ) ; var u = n . length ; return "function" == typeof t ? r : e } function D ( n ) { var t = L ( n ) ; return function ( e , r ) { if ( u = e . classList ) return r ? u . add ( n ) : u . remove ( n ) ; var u = e . getAttribute ( "class" ) || "" ; r ? ( t . lastIndex = 0 , t . test ( u ) || e . setAttribute ( "class" , q ( u + " " + n ) ) ) : e . setAttribute ( "class" , q ( u . replace ( t , " " ) ) ) } } function P ( n , t , e ) { function r ( ) { this . style . removeProperty ( n ) } function u ( ) { this . style . setProperty ( n , t , e ) } function i ( ) { var r = t . apply ( this , arguments ) ; null == r ? this . style . removeProperty ( n ) : this . style . setProperty ( n , r , e ) } return null == t ? r : "function" == typeof t ? i : u } function U ( n , t ) { function e ( ) { delete this [ n ] } function r ( ) { this [ n ] = t } function u ( ) { var e = t . apply ( this , arguments ) ; null == e ? delete this [ n ] : this [ n ] = e } return null == t ? e : "function" == typeof t ? u : r } function j ( n ) { function t ( ) { var t = this . ownerDocument , e = this . namespaceURI ; return e ? t . createElementNS ( e , n ) : t . createElement ( n ) } function e ( ) { return this . ownerDocument . createElementNS ( n . space , n . local ) } return "function" == typeof n ? n : ( n = ta .
} , polygonEnd : function ( ) { t . polygonEnd ( ) , S . lineStart = r } } ; return S } function u ( t , e , r , a , c , l , s , f , h , g , p , v , d , m ) { var y = s - t , M = f - e , x = y * y + M * M ; if ( x > 4 * i && d -- ) { var b = a + g , _ = c + p , w = l + v , S = Math . sqrt ( b * b + _ * _ + w * w ) , k = Math . asin ( w /= S ) , E = ga ( ga ( w ) - 1 ) < Ca || ga ( r - h ) < Ca ? ( r + h ) / 2 : Math . atan2 ( _ , b ) , A = n ( E , k ) , N = A [ 0 ] , C = A [ 1 ] , z = N - t , q = C - e , L = M * z - y * q ; ( L * L / x > i || ga ( ( y * z + M * q ) / x - . 5 ) > . 3 || o > a * g + c * p + l * v ) && ( u ( t , e , r , a , c , l , N , C , E , b /= S , _ /= S , w , d , m ) , m . point ( N , C ) , u ( N , C , E , b , _ , w , s , f , h , g , p , v , d , m ) ) } } var i = . 5 , o = Math . cos ( 30 * Da ) , a = 16 ; return t . precision = function ( n ) { return arguments . length ? ( a = ( i = n * n ) > 0 && 16 , t ) : Math . sqrt ( i ) } , t } function tr ( n ) { var t = nr ( function ( t , e ) { return n ( [ t * Pa , e * Pa ] ) } ) ; return function ( n ) { return or ( t ( n ) ) } } function er ( n ) { this . stream = n } function rr ( n , t ) { return { point : t , sphere : function ( ) { n . sphere ( ) } , lineStart : function ( ) { n . lineStart ( ) } , lineEnd : function ( ) { n . lineEnd ( ) } , polygonStart : function ( ) { n . polygonStart ( ) } , polygonEnd : function ( ) { n . polygonEnd ( ) } } } function ur ( n ) { return ir ( function ( ) { return n } ) ( ) } function ir ( n ) { function t ( n ) { return n = a ( n [ 0 ] * Da , n [ 1 ] * Da ) , [ n [ 0 ] * h + c , l - n [ 1 ] * h ] } function e ( n ) { return n = a . invert ( ( n [ 0 ] - c ) / h , ( l - n [ 1 ] ) / h ) , n && [ n [ 0 ] * Pa , n [ 1 ] * Pa ] } function r ( ) { a = Ae ( o = lr ( m , M , x ) , i ) ; var n = i ( v , d ) ; return c = g - n [ 0 ] * h , l = p + n [ 1 ] * h , u ( ) } function u ( ) { return s && ( s . valid = ! 1 , s = null ) , t } var i , o , a , c , l , s , f = nr ( function ( n , t ) { return n = i ( n , t ) , [ n [ 0 ] * h + c , l - n [ 1 ] * h ] } ) , h = 150 , g = 480 , p = 250 , v = 0 , d = 0 , m = 0 , M = 0 , x = 0 , b = Lc , _ = y , w = null , S = null ; return t . stream = function ( n ) { return s && ( s . valid = ! 1 ) , s = or ( b ( o , f ( _ ( n ) ) ) ) , s . valid = ! 0 , s } , t . clipAngle = function ( n ) { return arguments . length ? ( b = null == n ? ( w = n , Lc ) : He ( ( w = + n ) * Da ) , u ( ) ) : w } , t . clipExtent = function ( n ) { return arguments . length ? ( S = n , _ = n ? Ie ( n [ 0 ] [ 0 ] , n [ 0 ] [ 1 ] , n [ 1 ] [ 0 ] , n [ 1 ] [ 1 ] ) : y , u ( ) ) : S } , t . scale = function ( n ) { return arguments . length ? ( h = + n , r ( ) ) : h } , t . translate = function ( n ) { return arguments . length ? ( g = + n [ 0 ] , p = + n [ 1 ] , r ( ) ) : [ g , p ] } , t . center = function ( n ) { return arguments . length ? ( v = n [ 0 ] % 360 * Da , d = n [ 1 ] % 360 * Da , r ( ) ) : [ v * Pa , d * Pa ] } , t . rotate = function ( n ) { return arguments . length ? ( m = n [ 0 ] % 360 * Da , M = n [ 1 ] % 360 * Da , x = n . length > 2 ? n [ 2 ] % 360 * Da : 0 , r ( ) ) : [ m * Pa , M * Pa , x * Pa ] } , ta . rebind ( t , f , "precision" ) , function ( ) { return i = n . apply ( this , arguments ) , t . invert = i . invert && e , r ( ) } } function or ( n ) { return rr ( n , function ( t , e ) { n . point ( t * Da , e * Da ) } ) } function ar ( n , t ) { return [ n , t ] } function cr ( n , t ) { return [ n > qa ? n - La : - qa > n ? n + La : n , t ] } function lr ( n , t , e ) { return n ? t || e ? Ae ( fr ( n ) , hr ( t , e ) ) : fr ( n ) : t || e ? hr ( t , e ) : cr } function sr ( n ) { return function ( t , e ) { return t += n , [ t > qa ? t - La : - qa > t ? t + La : t , e ] } } function fr ( n ) { var t = sr ( n ) ; return t . invert = sr ( - n ) , t } function hr ( n , t ) { function e ( n , t ) { var e = Math . cos ( t ) , a = Math . cos ( n ) * e , c = Math . sin ( n ) * e , l = Math . sin ( t ) , s = l * r + a * u ; return [ Math . atan2 ( c * i - s * o , a * r - l * u ) , tt ( s * i + c * o ) ] } var r = Math . cos ( n ) , u = Math . sin ( n ) , i = Math . cos ( t ) , o = Math . sin ( t ) ; return e . invert = function ( n , t ) { var e = Math . cos ( t ) , a = Math . cos ( n ) * e , c = Math . sin ( n ) * e , l = Math . sin ( t ) , s = l * i - c * o ; return [ Math . atan2 ( c * i + l * o , a * r + s * u ) , tt ( s * r - a * u ) ] } , e } function gr ( n , t ) { var e = Math . cos ( n ) , r = Math . sin ( n ) ; return function ( u , i , o , a ) { var c = o * t ; null != u ? ( u = pr ( e , u ) , i = pr ( e , i ) , ( o > 0 ? i > u : u > i ) && ( u += o * La ) ) : ( u = n + o * La , i = n - . 5 * c ) ; for ( var l , s = u ; o > 0 ? s > i : i > s ; s -= c ) a . point ( ( l = xe ( [ e , - r * Math . cos ( s ) , - r * Math . sin ( s ) ] ) ) [ 0 ] , l [ 1 ] ) } } function pr ( n , t ) { var e = pe ( t ) ; e [ 0 ] -= n , Me ( e ) ; var r = nt ( - e [ 1 ] ) ; return ( ( - e [ 2 ] < 0 ? - r : r ) + 2 * Math . PI - Ca ) % ( 2 * Math . PI ) } function vr ( n , t , e ) { var r = ta . range ( n , t - Ca , e ) . concat ( t ) ; return function ( n ) { return r . map ( function ( t ) { return [ n , t ] } ) } } function dr ( n , t , e ) { var r = ta . range ( n , t - Ca , e ) . concat ( t ) ; return function ( n ) { return r . map ( function ( t ) { return [ t , n ] } ) } } function mr ( n ) { return n . source } function yr ( n ) { return n . target } function Mr ( n , t , e , r ) { var u = Math . cos ( t ) , i = Math . sin ( t ) , o = Math . cos ( r ) , a = Math . sin ( r ) , c = u * Math . cos ( n ) , l = u * Math . sin ( n ) , s = o * Math . cos ( e ) , f = o * Math . sin ( e ) , h = 2 * Math . asin ( Math . sqrt ( it ( r - t ) + u * o * it ( e - n ) ) ) , g = 1 / Math . sin ( h ) , p = h ? function ( n ) { var t = Math . sin ( n *= h ) * g , e = Math . sin ( h - n ) * g , r = e * c + t * s , u = e * l + t * f , o = e * i + t * a ; return [ Math . atan2 ( u , r ) * Pa , Math . atan2 ( o , Math . sqrt ( r * r + u * u ) ) * Pa ] } : function ( ) { return [ n * Pa , t * Pa ] } ; return p . distance = h , p } function xr ( ) { function n ( n , u ) { var i = Math . sin ( u *= Da ) , o = Math . cos ( u ) , a = ga ( ( n *= Da ) - t ) , c = Math . cos ( a ) ; Yc += Math . atan2 ( Math . sqrt ( ( a = o * Math . sin ( a ) ) * a + ( a = r * i - e * o * c ) * a ) , e * i + r * o * c ) , t = n , e = i , r = o } var t , e , r ; Zc . point = function ( u , i ) { t = u * Da , e = Math . sin ( i *= Da ) , r
} , t . y = function ( n ) { return arguments . length ? ( u = i = n , t ) : i } , t . y0 = function ( n ) { return arguments . length ? ( u = n , t ) : u } , t . y1 = function ( n ) { return arguments . length ? ( i = n , t ) : i } , t . defined = function ( n ) { return arguments . length ? ( o = n , t ) : o } , t . interpolate = function ( n ) { return arguments . length ? ( c = "function" == typeof n ? a = n : ( a = El . get ( n ) || go ) . key , l = a . reverse || a , s = a . closed ? "M" : "L" , t ) : c } , t . tension = function ( n ) { return arguments . length ? ( f = n , t ) : f } , t } function Po ( n ) { return n . radius } function Uo ( n ) { return [ n . x , n . y ] } function jo ( n ) { return function ( ) { var t = n . apply ( this , arguments ) , e = t [ 0 ] , r = t [ 1 ] - Ra ; return [ e * Math . cos ( r ) , e * Math . sin ( r ) ] } } function Fo ( ) { return 64 } function Ho ( ) { return "circle" } function Oo ( n ) { var t = Math . sqrt ( n / qa ) ; return "M0," + t + "A" + t + "," + t + " 0 1,1 0," + - t + "A" + t + "," + t + " 0 1,1 0," + t + "Z" } function Io ( n ) { return function ( ) { var t , e ; ( t = this [ n ] ) && ( e = t [ t . active ] ) && ( -- t . count ? delete t [ t . active ] : delete this [ n ] , t . active += . 5 , e . event && e . event . interrupt . call ( this , this . _ _data _ _ , e . index ) ) } } function Yo ( n , t , e ) { return ya ( n , Pl ) , n . namespace = t , n . id = e , n } function Zo ( n , t , e , r ) { var u = n . id , i = n . namespace ; return Y ( n , "function" == typeof e ? function ( n , o , a ) { n [ i ] [ u ] . tween . set ( t , r ( e . call ( n , n . _ _data _ _ , o , a ) ) ) } : ( e = r ( e ) , function ( n ) { n [ i ] [ u ] . tween . set ( t , e ) } ) ) } function Vo ( n ) { return null == n && ( n = "" ) , function ( ) { this . textContent = n } } function Xo ( n ) { return null == n ? "__transition__" : "__transition_" + n + "__" } function $o ( n , t , e , r , u ) { var i = n [ e ] || ( n [ e ] = { active : 0 , count : 0 } ) , o = i [ r ] ; if ( ! o ) { var a = u . time ; o = i [ r ] = { tween : new l , time : a , delay : u . delay , duration : u . duration , ease : u . ease , index : t } , u = null , ++ i . count , ta . timer ( function ( u ) { function c ( e ) { if ( i . active > r ) return s ( ) ; var u = i [ i . active ] ; u && ( -- i . count , delete i [ i . active ] , u . event && u . event . interrupt . call ( n , n . _ _data _ _ , u . index ) ) , i . active = r , o . event && o . event . start . call ( n , n . _ _data _ _ , t ) , o . tween . forEach ( function ( e , r ) { ( r = r . call ( n , n . _ _data _ _ , t ) ) && v . push ( r ) } ) , h = o . ease , f = o . duration , ta . timer ( function ( ) { return p . c = l ( e || 1 ) ? Ne : l , 1 } , 0 , a ) } function l ( e ) { if ( i . active !== r ) return 1 ; for ( var u = e / f , a = h ( u ) , c = v . length ; c > 0 ; ) v [ -- c ] . call ( n , a ) ; return u >= 1 ? ( o . event && o . event . end . call ( n , n . _ _data _ _ , t ) , s ( ) ) : void 0 } function s ( ) { return -- i . count ? delete i [ r ] : delete n [ e ] , 1 } var f , h , g = o . delay , p = ec , v = [ ] ; return p . t = g + a , u >= g ? c ( u - g ) : void ( p . c = c ) } , 0 , a ) } } function Bo ( n , t , e ) { n . attr ( "transform" , function ( n ) { var r = t ( n ) ; return "translate(" + ( isFinite ( r ) ? r : e ( n ) ) + ",0)" } ) } function Wo ( n , t , e ) { n . attr ( "transform" , function ( n ) { var r = t ( n ) ; return "translate(0," + ( isFinite ( r ) ? r : e ( n ) ) + ")" } ) } function Jo ( n ) { return n . toISOString ( ) } function Go ( n , t , e ) { function r ( t ) { return n ( t ) } function u ( n , e ) { var r = n [ 1 ] - n [ 0 ] , u = r / e , i = ta . bisect ( Vl , u ) ; return i == Vl . length ? [ t . year , Vi ( n . map ( function ( n ) { return n / 31536e6 } ) , e ) [ 2 ] ] : i ? t [ u / Vl [ i - 1 ] < Vl [ i ] / u ? i - 1 : i ] : [ Bl , Vi ( n , e ) [ 2 ] ] } return r . invert = function ( t ) { return Ko ( n . invert ( t ) ) } , r . domain = function ( t ) { return arguments . length ? ( n . domain ( t ) , r ) : n . domain ( ) . map ( Ko ) } , r . nice = function ( n , t ) { function e ( e ) { return ! isNaN ( e ) && ! n . range ( e , Ko ( + e + 1 ) , t ) . length } var i = r . domain ( ) , o = Pi ( i ) , a = null == n ? u ( o , 10 ) : "number" == typeof n && u ( o , n ) ; return a && ( n = a [ 0 ] , t = a [ 1 ] ) , r . domain ( Fi ( i , t > 1 ? { floor : function ( t ) { for ( ; e ( t = n . floor ( t ) ) ; ) t = Ko ( t - 1 ) ; return t } , ceil : function ( t ) { for ( ; e ( t = n . ceil ( t ) ) ; ) t = Ko ( + t + 1 ) ; return t } } : n ) ) } , r . ticks = function ( n , t ) { var e = Pi ( r . domain ( ) ) , i = null == n ? u ( e , 10 ) : "number" == typeof n ? u ( e , n ) : ! n . range && [ { range : n } , t ] ; return i && ( n = i [ 0 ] , t = i [ 1 ] ) , n . range ( e [ 0 ] , Ko ( + e [ 1 ] + 1 ) , 1 > t ? 1 : t ) } , r . tickFormat = function ( ) { return e } , r . copy = function ( ) { return Go ( n . copy ( ) , t , e ) } , Yi ( r , n ) } function Ko ( n ) { return new Date ( n ) } function Qo ( n ) { return JSON . parse ( n . responseText ) } function na ( n ) { var t = ua . createRange ( ) ; return t . selectNode ( ua . body ) , t . createContextualFragment ( n . responseText ) } var ta = { version : "3.5.5" } , ea = [ ] . slice , ra = function ( n ) { return ea . call ( n ) } , ua = this . document ; if ( ua ) try { ra ( ua . documentElement . childNodes ) [ 0 ] . nodeType } catch ( ia ) { ra = function ( n ) { for ( var t = n . length , e = new Array ( t ) ; t -- ; ) e [ t ] = n [ t ] ; return e } } if ( Date . now || ( Date . now = function ( ) { return + new Date } ) , ua ) try { ua . createElement ( "DIV" ) . style . setProperty ( "opacity" , 0 , "" ) } catch ( oa ) { var aa = this . Element . prototype , ca = aa . setAttribute , la = aa . setAttributeNS , sa = this . CSSStyleDeclaration . prototype , fa = sa . setProperty ; aa . setAttribute = function ( n , t ) { ca . call ( this , n , t + "" ) } , aa . set
} , reset : function ( ) { this . s = this . t = 0 } , valueOf : function ( ) { return this . s } } ; var pc = new ce ; ta . geo . stream = function ( n , t ) { n && vc . hasOwnProperty ( n . type ) ? vc [ n . type ] ( n , t ) : se ( n , t ) } ; var vc = { Feature : function ( n , t ) { se ( n . geometry , t ) } , FeatureCollection : function ( n , t ) { for ( var e = n . features , r = - 1 , u = e . length ; ++ r < u ; ) se ( e [ r ] . geometry , t ) } } , dc = { Sphere : function ( n , t ) { t . sphere ( ) } , Point : function ( n , t ) { n = n . coordinates , t . point ( n [ 0 ] , n [ 1 ] , n [ 2 ] ) } , MultiPoint : function ( n , t ) { for ( var e = n . coordinates , r = - 1 , u = e . length ; ++ r < u ; ) n = e [ r ] , t . point ( n [ 0 ] , n [ 1 ] , n [ 2 ] ) } , LineString : function ( n , t ) { fe ( n . coordinates , t , 0 ) } , MultiLineString : function ( n , t ) { for ( var e = n . coordinates , r = - 1 , u = e . length ; ++ r < u ; ) fe ( e [ r ] , t , 0 ) } , Polygon : function ( n , t ) { he ( n . coordinates , t ) } , MultiPolygon : function ( n , t ) { for ( var e = n . coordinates , r = - 1 , u = e . length ; ++ r < u ; ) he ( e [ r ] , t ) } , GeometryCollection : function ( n , t ) { for ( var e = n . geometries , r = - 1 , u = e . length ; ++ r < u ; ) se ( e [ r ] , t ) } } ; ta . geo . area = function ( n ) { return mc = 0 , ta . geo . stream ( n , Mc ) , mc } ; var mc , yc = new ce , Mc = { sphere : function ( ) { mc += 4 * qa } , point : b , lineStart : b , lineEnd : b , polygonStart : function ( ) { yc . reset ( ) , Mc . lineStart = ge } , polygonEnd : function ( ) { var n = 2 * yc ; mc += 0 > n ? 4 * qa + n : n , Mc . lineStart = Mc . lineEnd = Mc . point = b } } ; ta . geo . bounds = function ( ) { function n ( n , t ) { M . push ( x = [ s = n , h = n ] ) , f > t && ( f = t ) , t > g && ( g = t ) } function t ( t , e ) { var r = pe ( [ t * Da , e * Da ] ) ; if ( m ) { var u = de ( m , r ) , i = [ u [ 1 ] , - u [ 0 ] , 0 ] , o = de ( i , u ) ; Me ( o ) , o = xe ( o ) ; var c = t - p , l = c > 0 ? 1 : - 1 , v = o [ 0 ] * Pa * l , d = ga ( c ) > 180 ; if ( d ^ ( v > l * p && l * t > v ) ) { var y = o [ 1 ] * Pa ; y > g && ( g = y ) } else if ( v = ( v + 360 ) % 360 - 180 , d ^ ( v > l * p && l * t > v ) ) { var y = - o [ 1 ] * Pa ; f > y && ( f = y ) } else f > e && ( f = e ) , e > g && ( g = e ) ; d ? p > t ? a ( s , t ) > a ( s , h ) && ( h = t ) : a ( t , h ) > a ( s , h ) && ( s = t ) : h >= s ? ( s > t && ( s = t ) , t > h && ( h = t ) ) : t > p ? a ( s , t ) > a ( s , h ) && ( h = t ) : a ( t , h ) > a ( s , h ) && ( s = t ) } else n ( t , e ) ; m = r , p = t } function e ( ) { b . point = t } function r ( ) { x [ 0 ] = s , x [ 1 ] = h , b . point = n , m = null } function u ( n , e ) { if ( m ) { var r = n - p ; y += ga ( r ) > 180 ? r + ( r > 0 ? 360 : - 360 ) : r } else v = n , d = e ; Mc . point ( n , e ) , t ( n , e ) } function i ( ) { Mc . lineStart ( ) } function o ( ) { u ( v , d ) , Mc . lineEnd ( ) , ga ( y ) > Ca && ( s = - ( h = 180 ) ) , x [ 0 ] = s , x [ 1 ] = h , m = null } function a ( n , t ) { return ( t -= n ) < 0 ? t + 360 : t } function c ( n , t ) { return n [ 0 ] - t [ 0 ] } function l ( n , t ) { return t [ 0 ] <= t [ 1 ] ? t [ 0 ] <= n && n <= t [ 1 ] : n < t [ 0 ] || t [ 1 ] < n } var s , f , h , g , p , v , d , m , y , M , x , b = { point : n , lineStart : e , lineEnd : r , polygonStart : function ( ) { b . point = u , b . lineStart = i , b . lineEnd = o , y = 0 , Mc . polygonStart ( ) } , polygonEnd : function ( ) { Mc . polygonEnd ( ) , b . point = n , b . lineStart = e , b . lineEnd = r , 0 > yc ? ( s = - ( h = 180 ) , f = - ( g = 90 ) ) : y > Ca ? g = 90 : - Ca > y && ( f = - 90 ) , x [ 0 ] = s , x [ 1 ] = h } } ; return function ( n ) { g = h = - ( s = f = 1 / 0 ) , M = [ ] , ta . geo . stream ( n , b ) ; var t = M . length ; if ( t ) { M . sort ( c ) ; for ( var e , r = 1 , u = M [ 0 ] , i = [ u ] ; t > r ; ++ r ) e = M [ r ] , l ( e [ 0 ] , u ) || l ( e [ 1 ] , u ) ? ( a ( u [ 0 ] , e [ 1 ] ) > a ( u [ 0 ] , u [ 1 ] ) && ( u [ 1 ] = e [ 1 ] ) , a ( e [ 0 ] , u [ 1 ] ) > a ( u [ 0 ] , u [ 1 ] ) && ( u [ 0 ] = e [ 0 ] ) ) : i . push ( u = e ) ; for ( var o , e , p = - 1 / 0 , t = i . length - 1 , r = 0 , u = i [ t ] ; t >= r ; u = e , ++ r ) e = i [ r ] , ( o = a ( u [ 1 ] , e [ 0 ] ) ) > p && ( p = o , s = e [ 0 ] , h = u [ 1 ] ) } return M = x = null , 1 / 0 === s || 1 / 0 === f ? [ [ 0 / 0 , 0 / 0 ] , [ 0 / 0 , 0 / 0 ] ] : [ [ s , f ] , [ h , g ] ] } } ( ) , ta . geo . centroid = function ( n ) { xc = bc = _c = wc = Sc = kc = Ec = Ac = Nc = Cc = zc = 0 , ta . geo . stream ( n , qc ) ; var t = Nc , e = Cc , r = zc , u = t * t + e * e + r * r ; return za > u && ( t = kc , e = Ec , r = Ac , Ca > bc && ( t = _c , e = wc , r = Sc ) , u = t * t + e * e + r * r , za > u ) ? [ 0 / 0 , 0 / 0 ] : [ Math . atan2 ( e , t ) * Pa , tt ( r / Math . sqrt ( u ) ) * Pa ] } ; var xc , bc , _c , wc , Sc , kc , Ec , Ac , Nc , Cc , zc , qc = { sphere : b , point : _e , lineStart : Se , lineEnd : ke , polygonStart : function ( ) { qc . lineStart = Ee } , polygonEnd : function ( ) { qc . lineStart = Se } } , Lc = Le ( Ne , Pe , je , [ - qa , - qa / 2 ] ) , Tc = 1e9 ; ta . geo . clipExtent = function ( ) { var n , t , e , r , u , i , o = { stream : function ( n ) { return u && ( u . valid = ! 1 ) , u = i ( n ) , u . valid = ! 0 , u } , extent : function ( a ) { return arguments . length ? ( i = Ie ( n = + a [ 0 ] [ 0 ] , t = + a [ 0 ] [ 1 ] , e = + a [ 1 ] [ 0 ] , r = + a [ 1 ] [ 1 ] ) , u && ( u . valid = ! 1 , u = null ) , o ) : [ [ n , t ] , [ e , r ] ] } } ; return o . extent ( [ [ 0 , 0 ] , [ 960 , 500 ] ] ) } , ( ta . geo . conicEqualArea = function ( ) { return Ye ( Ze ) } ) . raw = Ze , ta . geo . albers = function ( ) { return ta . geo . conicEqualArea ( ) . rotate ( [ 96 , 0 ] ) . center ( [ - . 6 , 38.7 ] ) . parallels ( [ 29.5 , 45.5 ] ) . scale ( 1070 ) } , ta . geo . albersUsa = function ( ) { function n ( n ) { var i = n [ 0 ] , o = n [ 1 ] ; return t = null , e ( i , o ) , t || ( r ( i , o ) , t ) || u ( i , o ) , t } var t , e , r , u , i = ta . geo . albers ( ) , o = ta . geo . conicEqualArea ( ) . rotate ( [ 154 , 0 ] ) . center ( [ - 2 , 58.5 ] ) . parallels ( [ 55 , 65 ] ) , a = ta . geo . conicEqualArea ( ) . rotate ( [ 157 , 0 ] ) . center ( [ - 3 , 19.9 ] ) . parallels ( [ 8 , 18 ] ) , c = { point : function ( n , e ) { t = [ n , e ] } } ; return n . invert = function ( n ) { var t = i . scale ( ) , e = i . translate ( ) , r = ( n [ 0 ] - e [ 0 ] ) / t , u = ( n [ 1 ]
return i . size = function ( n ) { return arguments . length ? ( l = n , i ) : l } , i . padding = function ( n ) { function t ( t ) { var e = n . call ( i , t , t . depth ) ; return null == e ? Ri ( t ) : Di ( t , "number" == typeof e ? [ e , e , e , e ] : e ) } function e ( t ) { return Di ( t , n ) } if ( ! arguments . length ) return s ; var r ; return f = null == ( s = n ) ? Ri : "function" == ( r = typeof n ) ? t : "number" === r ? ( n = [ n , n , n , n ] , e ) : e , i } , i . round = function ( n ) { return arguments . length ? ( c = n ? Math . round : Number , i ) : c != Number } , i . sticky = function ( n ) { return arguments . length ? ( h = n , o = null , i ) : h } , i . ratio = function ( n ) { return arguments . length ? ( p = n , i ) : p } , i . mode = function ( n ) { return arguments . length ? ( g = n + "" , i ) : g } , Gu ( i , a ) } , ta . random = { normal : function ( n , t ) { var e = arguments . length ; return 2 > e && ( t = 1 ) , 1 > e && ( n = 0 ) , function ( ) { var e , r , u ; do e = 2 * Math . random ( ) - 1 , r = 2 * Math . random ( ) - 1 , u = e * e + r * r ; while ( ! u || u > 1 ) ; return n + t * e * Math . sqrt ( - 2 * Math . log ( u ) / u ) } } , logNormal : function ( ) { var n = ta . random . normal . apply ( ta , arguments ) ; return function ( ) { return Math . exp ( n ( ) ) } } , bates : function ( n ) { var t = ta . random . irwinHall ( n ) ; return function ( ) { return t ( ) / n } } , irwinHall : function ( n ) { return function ( ) { for ( var t = 0 , e = 0 ; n > e ; e ++ ) t += Math . random ( ) ; return t } } } , ta . scale = { } ; var ml = { floor : y , ceil : y } ; ta . scale . linear = function ( ) { return Ii ( [ 0 , 1 ] , [ 0 , 1 ] , mu , ! 1 ) } ; var yl = { s : 1 , g : 1 , p : 1 , r : 1 , e : 1 } ; ta . scale . log = function ( ) { return Ji ( ta . scale . linear ( ) . domain ( [ 0 , 1 ] ) , 10 , ! 0 , [ 1 , 10 ] ) } ; var Ml = ta . format ( ".0e" ) , xl = { floor : function ( n ) { return - Math . ceil ( - n ) } , ceil : function ( n ) { return - Math . floor ( - n ) } } ; ta . scale . pow = function ( ) { return Gi ( ta . scale . linear ( ) , 1 , [ 0 , 1 ] ) } , ta . scale . sqrt = function ( ) { return ta . scale . pow ( ) . exponent ( . 5 ) } , ta . scale . ordinal = function ( ) { return Qi ( [ ] , { t : "range" , a : [ [ ] ] } ) } , ta . scale . category10 = function ( ) { return ta . scale . ordinal ( ) . range ( bl ) } , ta . scale . category20 = function ( ) { return ta . scale . ordinal ( ) . range ( _l ) } , ta . scale . category20b = function ( ) { return ta . scale . ordinal ( ) . range ( wl ) } , ta . scale . category20c = function ( ) { return ta . scale . ordinal ( ) . range ( Sl ) } ; var bl = [ 2062260 , 16744206 , 2924588 , 14034728 , 9725885 , 9197131 , 14907330 , 8355711 , 12369186 , 1556175 ] . map ( Mt ) , _l = [ 2062260 , 11454440 , 16744206 , 16759672 , 2924588 , 10018698 , 14034728 , 16750742 , 9725885 , 12955861 , 9197131 , 12885140 , 14907330 , 16234194 , 8355711 , 13092807 , 12369186 , 14408589 , 1556175 , 10410725 ] . map ( Mt ) , wl = [ 3750777 , 5395619 , 7040719 , 10264286 , 6519097 , 9216594 , 11915115 , 13556636 , 9202993 , 12426809 , 15186514 , 15190932 , 8666169 , 11356490 , 14049643 , 15177372 , 8077683 , 10834324 , 13528509 , 14589654 ] . map ( Mt ) , Sl = [ 3244733 , 7057110 , 10406625 , 13032431 , 15095053 , 16616764 , 16625259 , 16634018 , 3253076 , 7652470 , 10607003 , 13101504 , 7695281 , 10394312 , 12369372 , 14342891 , 6513507 , 9868950 , 12434877 , 14277081 ] . map ( Mt ) ; ta . scale . quantile = function ( ) { return no ( [ ] , [ ] ) } , ta . scale . quantize = function ( ) { return to ( 0 , 1 , [ 0 , 1 ] ) } , ta . scale . threshold = function ( ) { return eo ( [ . 5 ] , [ 0 , 1 ] ) } , ta . scale . identity = function ( ) { return ro ( [ 0 , 1 ] ) } , ta . svg = { } , ta . svg . arc = function ( ) { function n ( ) { var n = Math . max ( 0 , + e . apply ( this , arguments ) ) , l = Math . max ( 0 , + r . apply ( this , arguments ) ) , s = o . apply ( this , arguments ) - Ra , f = a . apply ( this , arguments ) - Ra , h = Math . abs ( f - s ) , g = s > f ? 0 : 1 ; if ( n > l && ( p = l , l = n , n = p ) , h >= Ta ) return t ( l , g ) + ( n ? t ( n , 1 - g ) : "" ) + "Z" ; var p , v , d , m , y , M , x , b , _ , w , S , k , E = 0 , A = 0 , N = [ ] ; if ( ( m = ( + c . apply ( this , arguments ) || 0 ) / 2 ) && ( d = i === kl ? Math . sqrt ( n * n + l * l ) : + i . apply ( this , arguments ) , g || ( A *= - 1 ) , l && ( A = tt ( d / l * Math . sin ( m ) ) ) , n && ( E = tt ( d / n * Math . sin ( m ) ) ) ) , l ) { y = l * Math . cos ( s + A ) , M = l * Math . sin ( s + A ) , x = l * Math . cos ( f - A ) , b = l * Math . sin ( f - A ) ; var C = Math . abs ( f - s - 2 * A ) <= qa ? 0 : 1 ; if ( A && so ( y , M , x , b ) === g ^ C ) { var z = ( s + f ) / 2 ; y = l * Math . cos ( z ) , M = l * Math . sin ( z ) , x = b = null } } else y = M = 0 ; if ( n ) { _ = n * Math . cos ( f - E ) , w = n * Math . sin ( f - E ) , S = n * Math . cos ( s + E ) , k = n * Math . sin ( s + E ) ; var q = Math . abs ( s - f + 2 * E ) <= qa ? 0 : 1 ; if ( E && so ( _ , w , S , k ) === 1 - g ^ q ) { var L = ( s + f ) / 2 ; _ = n * Math . cos ( L ) , w = n * Math . sin ( L ) , S = k = null } } else _ = w = 0 ; if ( ( p = Math . min ( Math . abs ( l - n ) / 2 , + u . apply ( this , arguments ) ) ) > . 001 ) { v = l > n ^ g ? 0 : 1 ; var T = null == S ? [ _ , w ] : null == x ? [ y , M ] : Lr ( [ y , M ] , [ S , k ] , [ x , b ] , [ _ , w ] ) , R = y - T [ 0 ] , D = M - T [ 1 ] , P = x - T [ 0 ] , U = b - T [ 1 ] , j = 1 / Math . sin ( Math . acos ( ( R * P + D * U ) / ( Math . sqrt ( R * R + D * D ) * Math . sqrt ( P * P + U * U ) ) ) / 2 ) , F = Math . sqrt ( T [ 0 ] * T [ 0 ] + T [ 1 ] * T [ 1 ] ) ; if ( null != x ) { var H = Math . min ( p , ( l - F ) / ( j + 1 ) ) , O = fo ( null == S ? [ _ , w ] : [ S , k ] , [ y , M ] , l , H , g ) , I = fo ( [ x , b ] , [ _ , w ] , l , H , g ) ; p === H ? N . push ( "M" , O [ 0 ] , "A" , H , "," , H , " 0 0," , v , " " , O [ 1 ] , "A" , l , "," , l , " 0 " , 1 - g ^ so ( O [ 1 ] [ 0 ] , O [ 1 ] [ 1 ] , I [ 1 ] [ 0 ] , I [ 1 ] [ 1 ] ) , "
d3 . tip = function ( ) { function t ( t ) { v = d ( t ) , w = v . createSVGPoint ( ) , document . body . appendChild ( x ) } function e ( ) { return "n" } function n ( ) { return [ 0 , 0 ] } function r ( ) { return " " } function o ( ) { var t = y ( ) ; return { top : t . n . y - x . offsetHeight , left : t . n . x - x . offsetWidth / 2 } } function l ( ) { var t = y ( ) ; return { top : t . s . y , left : t . s . x - x . offsetWidth / 2 } } function s ( ) { var t = y ( ) ; return { top : t . e . y - x . offsetHeight / 2 , left : t . e . x } } function f ( ) { var t = y ( ) ; return { top : t . w . y - x . offsetHeight / 2 , left : t . w . x - x . offsetWidth } } function i ( ) { var t = y ( ) ; return { top : t . nw . y - x . offsetHeight , left : t . nw . x - x . offsetWidth } } function u ( ) { var t = y ( ) ; return { top : t . ne . y - x . offsetHeight , left : t . ne . x } } function a ( ) { var t = y ( ) ; return { top : t . sw . y , left : t . sw . x - x . offsetWidth } } function c ( ) { var t = y ( ) ; return { top : t . se . y , left : t . e . x } } function p ( ) { var t = d3 . select ( document . createElement ( "div" ) ) ; return t . style ( { position : "absolute" , opacity : 0 , pointerEvents : "none" , boxSizing : "border-box" } ) , t . node ( ) } function d ( t ) { return t = t . node ( ) , "svg" == t . tagName . toLowerCase ( ) ? t : t . ownerSVGElement } function y ( ) { var t = T || d3 . event . target , e = { } , n = t . getScreenCTM ( ) , r = t . getBBox ( ) , o = r . width , l = r . height , s = r . x , f = r . y , i = document . documentElement . scrollTop || document . body . scrollTop , u = document . documentElement . scrollLeft || document . body . scrollLeft ; return w . x = s + u , w . y = f + i , e . nw = w . matrixTransform ( n ) , w . x += o , e . ne = w . matrixTransform ( n ) , w . y += l , e . se = w . matrixTransform ( n ) , w . x -= o , e . sw = w . matrixTransform ( n ) , w . y -= l / 2 , e . w = w . matrixTransform ( n ) , w . x += o , e . e = w . matrixTransform ( n ) , w . x -= o / 2 , w . y -= l / 2 , e . n = w . matrixTransform ( n ) , w . y += l , e . s = w . matrixTransform ( n ) , e } var m = e , g = n , h = r , x = p ( ) , v = null , w = null , T = null ; t . show = function ( ) { var e = Array . prototype . slice . call ( arguments ) ; e [ e . length - 1 ] instanceof SVGElement && ( T = e . pop ( ) ) ; var n , r = h . apply ( this , e ) , o = g . apply ( this , e ) , l = m . apply ( this , e ) , s = d3 . select ( x ) , f = 0 ; for ( s . html ( r ) . style ( { opacity : 1 , "pointer-events" : "all" } ) ; f -- ; ) s . classed ( E [ f ] , ! 1 ) ; return n = b . get ( l ) . apply ( this ) , s . classed ( l , ! 0 ) . style ( { top : n . top + o [ 0 ] + "px" , left : n . left + o [ 1 ] + "px" } ) , t } , t . hide = function ( ) { return nodel = d3 . select ( x ) , nodel . style ( { opacity : 0 , "pointer-events" : "none" } ) , t } , t . attr = function ( e ) { if ( arguments . length < 2 && "string" == typeof e ) return d3 . select ( x ) . attr ( e ) ; var n = Array . prototype . slice . call ( arguments ) ; return d3 . selection . prototype . attr . apply ( d3 . select ( x ) , n ) , t } , t . style = function ( e ) { if ( arguments . length < 2 && "string" == typeof e ) return d3 . select ( x ) . style ( e ) ; var n = Array . prototype . slice . call ( arguments ) ; return d3 . selection . prototype . style . apply ( d3 . select ( x ) , n ) , t } , t . direction = function ( e ) { return arguments . length ? ( m = null == e ? e : d3 . functor ( e ) , t ) : m } , t . offset = function ( e ) { return arguments . length ? ( g = null == e ? e : d3 . functor ( e ) , t ) : g } , t . html = function ( e ) { return arguments . length ? ( h = null == e ? e : d3 . functor ( e ) , t ) : h } ; var b = d3 . map ( { n : o , s : l , e : s , w : f , nw : i , ne : u , sw : a , se : c } ) , E = b . keys ( ) ; return t } ;
! function ( ) { function t ( n , t ) { function r ( t ) { var r , e = n . arcs [ 0 > t ? ~ t : t ] , o = e [ 0 ] ; return n . transform ? ( r = [ 0 , 0 ] , e . forEach ( function ( n ) { r [ 0 ] += n [ 0 ] , r [ 1 ] += n [ 1 ] } ) ) : r = e [ e . length - 1 ] , 0 > t ? [ r , o ] : [ o , r ] } function e ( n , t ) { for ( var r in n ) { var e = n [ r ] ; delete t [ e . start ] , delete e . start , delete e . end , e . forEach ( function ( n ) { o [ 0 > n ? ~ n : n ] = 1 } ) , f . push ( e ) } } var o = { } , i = { } , u = { } , f = [ ] , c = - 1 ; return t . forEach ( function ( r , e ) { var o , i = n . arcs [ 0 > r ? ~ r : r ] ; i . length < 3 && ! i [ 1 ] [ 0 ] && ! i [ 1 ] [ 1 ] && ( o = t [ ++ c ] , t [ c ] = r , t [ e ] = o ) } ) , t . forEach ( function ( n ) { var t , e , o = r ( n ) , f = o [ 0 ] , c = o [ 1 ] ; if ( t = u [ f ] ) if ( delete u [ t . end ] , t . push ( n ) , t . end = c , e = i [ c ] ) { delete i [ e . start ] ; var a = e === t ? t : t . concat ( e ) ; i [ a . start = t . start ] = u [ a . end = e . end ] = a } else i [ t . start ] = u [ t . end ] = t ; else if ( t = i [ c ] ) if ( delete i [ t . start ] , t . unshift ( n ) , t . start = f , e = u [ f ] ) { delete u [ e . end ] ; var s = e === t ? t : e . concat ( t ) ; i [ s . start = e . start ] = u [ s . end = t . end ] = s } else i [ t . start ] = u [ t . end ] = t ; else t = [ n ] , i [ t . start = f ] = u [ t . end = c ] = t } ) , e ( u , i ) , e ( i , u ) , t . forEach ( function ( n ) { o [ 0 > n ? ~ n : n ] || f . push ( [ n ] ) } ) , f } function r ( n , r , e ) { function o ( n ) { var t = 0 > n ? ~ n : n ; ( s [ t ] || ( s [ t ] = [ ] ) ) . push ( { i : n , g : a } ) } function i ( n ) { n . forEach ( o ) } function u ( n ) { n . forEach ( i ) } function f ( n ) { "GeometryCollection" === n . type ? n . geometries . forEach ( f ) : n . type in l && ( a = n , l [ n . type ] ( n . arcs ) ) } var c = [ ] ; if ( arguments . length > 1 ) { var a , s = [ ] , l = { LineString : i , MultiLineString : u , Polygon : u , MultiPolygon : function ( n ) { n . forEach ( u ) } } ; f ( r ) , s . forEach ( arguments . length < 3 ? function ( n ) { c . push ( n [ 0 ] . i ) } : function ( n ) { e ( n [ 0 ] . g , n [ n . length - 1 ] . g ) && c . push ( n [ 0 ] . i ) } ) } else for ( var h = 0 , p = n . arcs . length ; p > h ; ++ h ) c . push ( h ) ; return { type : "MultiLineString" , arcs : t ( n , c ) } } function e ( r , e ) { function o ( n ) { n . forEach ( function ( t ) { t . forEach ( function ( t ) { ( f [ t = 0 > t ? ~ t : t ] || ( f [ t ] = [ ] ) ) . push ( n ) } ) } ) , c . push ( n ) } function i ( n ) { return l ( u ( r , { type : "Polygon" , arcs : [ n ] } ) . coordinates [ 0 ] ) > 0 } var f = { } , c = [ ] , a = [ ] ; return e . forEach ( function ( n ) { "Polygon" === n . type ? o ( n . arcs ) : "MultiPolygon" === n . type && n . arcs . forEach ( o ) } ) , c . forEach ( function ( n ) { if ( ! n . _ ) { var t = [ ] , r = [ n ] ; for ( n . _ = 1 , a . push ( t ) ; n = r . pop ( ) ; ) t . push ( n ) , n . forEach ( function ( n ) { n . forEach ( function ( n ) { f [ 0 > n ? ~ n : n ] . forEach ( function ( n ) { n . _ || ( n . _ = 1 , r . push ( n ) ) } ) } ) } ) } } ) , c . forEach ( function ( n ) { delete n . _ } ) , { type : "MultiPolygon" , arcs : a . map ( function ( e ) { var o = [ ] ; if ( e . forEach ( function ( n ) { n . forEach ( function ( n ) { n . forEach ( function ( n ) { f [ 0 > n ? ~ n : n ] . length < 2 && o . push ( n ) } ) } ) } ) , o = t ( r , o ) , ( n = o . length ) > 1 ) for ( var u , c = i ( e [ 0 ] [ 0 ] ) , a = 0 ; n > a ; ++ a ) if ( c === i ( o [ a ] ) ) { u = o [ 0 ] , o [ 0 ] = o [ a ] , o [ a ] = u ; break } return o } ) } } function o ( n , t ) { return "GeometryCollection" === t . type ? { type : "FeatureCollection" , features : t . geometries . map ( function ( t ) { return i ( n , t ) } ) } : i ( n , t ) } function i ( n , t ) { var r = { type : "Feature" , id : t . id , properties : t . properties || { } , geometry : u ( n , t ) } ; return null == t . id && delete r . id , r } function u ( n , t ) { function r ( n , t ) { t . length && t . pop ( ) ; for ( var r , e = s [ 0 > n ? ~ n : n ] , o = 0 , i = e . length ; i > o ; ++ o ) t . push ( r = e [ o ] . slice ( ) ) , a ( r , o ) ; 0 > n && f ( t , i ) } function e ( n ) { return n = n . slice ( ) , a ( n , 0 ) , n } function o ( n ) { for ( var t = [ ] , e = 0 , o = n . length ; o > e ; ++ e ) r ( n [ e ] , t ) ; return t . length < 2 && t . push ( t [ 0 ] . slice ( ) ) , t } function i ( n ) { for ( var t = o ( n ) ; t . length < 4 ; ) t . push ( t [ 0 ] . slice ( ) ) ; return t } function u ( n ) { return n . map ( i ) } function c ( n ) { var t = n . type ; return "GeometryCollection" === t ? { type : t , geometries : n . geometries . map ( c ) } : t in l ? { type : t , coordinates : l [ t ] ( n ) } : null } var a = v ( n . transform ) , s = n . arcs , l = { Point : function ( n ) { return e ( n . coordinates ) } , MultiPoint : function ( n ) { return n . coordinates . map ( e ) } , LineString : function ( n ) { return o ( n . arcs ) } , MultiLineString : function ( n ) { return n . arcs . map ( o ) } , Polygon : function ( n ) { return u ( n . arcs ) } , MultiPolygon : function ( n ) { return n . arcs . map ( u ) } } ; return c ( t ) } function f ( n , t ) { for ( var r , e = n . length , o = e - t ; o < -- e ; ) r = n [ o ] , n [ o ++ ] = n [ e ] , n [ e ] = r } function c ( n , t ) { for ( var r = 0 , e = n . length ; e > r ; ) { var o = r + e >>> 1 ; n [ o ] < t ? r = o + 1 : e = o } return r } function a ( n ) { function t ( n , t ) { n . forEach ( function ( n ) { 0 > n && ( n = ~ n ) ; var r = o [ n ] ; r ? r . push ( t ) : o [ n ] = [ t ] } ) } function r ( n , r ) { n . forEach ( function ( n ) { t ( n , r ) } ) } function e ( n , t ) { "GeometryCollection" === n . type ? n . geometries . forEach ( function ( n ) { e ( n , t ) } ) : n . type in u && u [ n . type ] ( n . arcs , t ) } var o = { } , i = n . map ( function ( ) { return [ ] } ) , u = { LineString : t , MultiLineString : r , Polygon : r , MultiPolygon : function ( n , t ) { n . forEach ( function ( n ) { r ( n , t ) } ) } } ; n . forEach ( e ) ; for ( var f in o ) for ( var a = o [ f ] , s = a . length , l = 0 ; s > l ; ++ l )
! function ( ) { function a ( a , b , c ) { return this . svg = m . select ( a ) . append ( "svg" ) . attr ( "width" , c || a . offsetWidth ) . attr ( "data-width" , c || a . offsetWidth ) . attr ( "class" , "datamap" ) . attr ( "height" , b || a . offsetHeight ) . style ( "overflow" , "hidden" ) , this . options . responsive && ( m . select ( this . options . element ) . style ( { position : "relative" , "padding-bottom" : "60%" } ) , m . select ( this . options . element ) . select ( "svg" ) . style ( { position : "absolute" , width : "100%" , height : "100%" } ) , m . select ( this . options . element ) . select ( "svg" ) . select ( "g" ) . selectAll ( "path" ) . style ( "vector-effect" , "non-scaling-stroke" ) ) , this . svg } function b ( a , b ) { var c , d , e = b . width || a . offsetWidth , f = b . height || a . offsetHeight , g = this . svg ; return b && "undefined" == typeof b . scope && ( b . scope = "world" ) , "usa" === b . scope ? c = m . geo . albersUsa ( ) . scale ( e ) . translate ( [ e / 2 , f / 2 ] ) : "world" === b . scope && ( c = m . geo [ b . projection ] ( ) . scale ( ( e + 1 ) / 2 / Math . PI ) . translate ( [ e / 2 , f / ( "mercator" === b . projection ? 1.45 : 1.8 ) ] ) ) , "orthographic" === b . projection && ( g . append ( "defs" ) . append ( "path" ) . datum ( { type : "Sphere" } ) . attr ( "id" , "sphere" ) . attr ( "d" , d ) , g . append ( "use" ) . attr ( "class" , "stroke" ) . attr ( "xlink:href" , "#sphere" ) , g . append ( "use" ) . attr ( "class" , "fill" ) . attr ( "xlink:href" , "#sphere" ) , c . scale ( 250 ) . clipAngle ( 90 ) . rotate ( b . projectionConfig . rotation ) ) , d = m . geo . path ( ) . projection ( c ) , { path : d , projection : c } } function c ( ) { m . select ( ".datamaps-style-block" ) . empty ( ) && m . select ( "head" ) . append ( "style" ) . attr ( "class" , "datamaps-style-block" ) . html ( '.datamap path.datamaps-graticule { fill: none; stroke: #777; stroke-width: 0.5px; stroke-opacity: .5; pointer-events: none; } .datamap .labels {pointer-events: none;} .datamap path {stroke: #FFFFFF; stroke-width: 1px;} .datamaps-legend dt, .datamaps-legend dd { float: left; margin: 0 3px 0 0;} .datamaps-legend dd {width: 20px; margin-right: 6px; border-radius: 3px;} .datamaps-legend {padding-bottom: 20px; z-index: 1001; position: absolute; left: 4px; font-size: 12px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;} .datamaps-hoverover {display: none; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } .hoverinfo {padding: 4px; border-radius: 1px; background-color: #FFF; box-shadow: 1px 1px 5px #CCC; font-size: 12px; border: 1px solid #CCC; } .hoverinfo hr {border:1px dotted #CCC; }' ) } function d ( a ) { var b = this . options . fills , c = this . options . data || { } , d = this . options . geographyConfig , e = this . svg . select ( "g.datamaps-subunits" ) ; e . empty ( ) && ( e = this . addLayer ( "datamaps-subunits" , null , ! 0 ) ) ; var f = n . feature ( a , a . objects [ this . options . scope ] ) . features ; d . hideAntarctica && ( f = f . filter ( function ( a ) { return "ATA" !== a . id } ) ) ; var g = e . selectAll ( "path.datamaps-subunit" ) . data ( f ) ; g . enter ( ) . append ( "path" ) . attr ( "d" , this . path ) . attr ( "class" , function ( a ) { return "datamaps-subunit " + a . id } ) . attr ( "data-info" , function ( a ) { return JSON . stringify ( c [ a . id ] ) } ) . style ( "fill" , function ( a ) { var d ; return c [ a . id ] && ( d = b [ c [ a . id ] . fillKey ] ) , d || b . defaultFill } ) . style ( "stroke-width" , d . borderWidth ) . style ( "stroke" , d . borderColor ) } function e ( ) { function a ( ) { this . parentNode . appendChild ( this ) } var b = this . svg , c = this , d = this . options . geographyConfig ; ( d . highlightOnHover || d . popupOnHover ) && b . selectAll ( ".datamaps-subunit" ) . on ( "mouseover" , function ( e ) { var f = m . select ( this ) ; if ( d . highlightOnHover ) { var g = { fill : f . style ( "fill" ) , stroke : f . style ( "stroke" ) , "stroke-width" : f . style ( "stroke-width" ) , "fill-opacity" : f . style ( "fill-opacity" ) } ; f . style ( "fill" , d . highlightFillColor ) . style ( "stroke" , d . highlightBorderColor ) . style ( "stroke-width" , d . highlightBorderWidth ) . style ( "fill-opacity" , d . highlightFillOpacity ) . attr ( "data-previousAttributes" , JSON . stringify ( g ) ) , /((MSIE)|(Trident))/ . test || a . call ( this ) } d . popupOnHover && c . updatePopup ( f , e , d , b ) } ) . on ( "mouseout" , function ( ) { var a = m . select ( this ) ; if ( d . highlightOnHover ) { var b = JSON . parse ( a . attr ( "data-previousAttributes" ) ) ; for ( var c in b ) a . style ( c , b [ c ] ) } a . on ( "mousemove" , null ) , m . selectAll ( ".datamaps-hoverover" ) . style ( "display" , "none" ) } ) } function f ( a , b ) { if ( b = b || { } , this . options . fills ) { var c = "<dl>" , d = "" ; b . legendTitle && ( c = "<h2>" + b . legendTitle + "</h2>" + c ) ; for ( var e in this . options . fills ) { if ( "defaultFill" === e ) { if ( ! b . defaultFillName ) continue ; d = b . defaultFillName } else d = b . labels && b . labels [ e ] ? b . labels [ e ] : e + ": " ; c += " <
} , l . prototype . addLayer = function ( a , b , c ) { var d ; return d = c ? this . svg . insert ( "g" , ":first-child" ) : this . svg . append ( "g" ) , d . attr ( "id" , b || "" ) . attr ( "class" , a || "" ) } , l . prototype . updateChoropleth = function ( a ) { var b = this . svg ; for ( var c in a ) if ( a . hasOwnProperty ( c ) ) { var d , e = a [ c ] ; if ( ! c ) continue ; d = "string" == typeof e ? e : "string" == typeof e . color ? e . color : this . options . fills [ e . fillKey ] , e === Object ( e ) && ( this . options . data [ c ] = k ( e , this . options . data [ c ] || { } ) , this . svg . select ( "." + c ) . attr ( "data-info" , JSON . stringify ( this . options . data [ c ] ) ) ) , b . selectAll ( "." + c ) . transition ( ) . style ( "fill" , d ) } } , l . prototype . updatePopup = function ( a , b , c ) { var d = this ; a . on ( "mousemove" , null ) , a . on ( "mousemove" , function ( ) { var e = m . mouse ( d . options . element ) ; m . select ( d . svg [ 0 ] [ 0 ] . parentNode ) . select ( ".datamaps-hoverover" ) . style ( "top" , e [ 1 ] + 30 + "px" ) . html ( function ( ) { var d = JSON . parse ( a . attr ( "data-info" ) ) ; return c . popupTemplate ( b , d ) } ) . style ( "left" , e [ 0 ] + "px" ) } ) , m . select ( d . svg [ 0 ] [ 0 ] . parentNode ) . select ( ".datamaps-hoverover" ) . style ( "display" , "block" ) } , l . prototype . addPlugin = function ( a , b ) { var c = this ; "undefined" == typeof l . prototype [ a ] && ( l . prototype [ a ] = function ( d , e , f , g ) { var h ; "undefined" == typeof g && ( g = ! 1 ) , "function" == typeof e && ( f = e , e = void 0 ) , e = k ( e || { } , c . options [ a + "Config" ] ) , ! g && this . options [ a + "Layer" ] ? ( h = this . options [ a + "Layer" ] , e = e || this . options [ a + "Options" ] ) : ( h = this . addLayer ( a ) , this . options [ a + "Layer" ] = h , this . options [ a + "Options" ] = e ) , b . apply ( this , [ h , d , e ] ) , f && f ( h ) } ) } , "function" == typeof define && define . amd ? define ( "datamaps" , function ( a ) { return m = a ( "d3" ) , n = a ( "topojson" ) , l } ) : window . Datamap = window . Datamaps = l , window . jQuery && ( window . jQuery . fn . datamaps = function ( a , b ) { a = a || { } , a . element = this [ 0 ] ; var c = new l ( a ) ; return "function" == typeof b && b ( c , a ) , this } ) } ( ) ;
//! moment.js
//! version : 2.10.3
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
! function ( a , b ) { "object" == typeof exports && "undefined" != typeof module ? module . exports = b ( ) : "function" == typeof define && define . amd ? define ( b ) : a . moment = b ( ) } ( this , function ( ) { "use strict" ; function a ( ) { return Dc . apply ( null , arguments ) } function b ( a ) { Dc = a } function c ( a ) { return "[object Array]" === Object . prototype . toString . call ( a ) } function d ( a ) { return a instanceof Date || "[object Date]" === Object . prototype . toString . call ( a ) } function e ( a , b ) { var c , d = [ ] ; for ( c = 0 ; c < a . length ; ++ c ) d . push ( b ( a [ c ] , c ) ) ; return d } function f ( a , b ) { return Object . prototype . hasOwnProperty . call ( a , b ) } function g ( a , b ) { for ( var c in b ) f ( b , c ) && ( a [ c ] = b [ c ] ) ; return f ( b , "toString" ) && ( a . toString = b . toString ) , f ( b , "valueOf" ) && ( a . valueOf = b . valueOf ) , a } function h ( a , b , c , d ) { return za ( a , b , c , d , ! 0 ) . utc ( ) } function i ( ) { return { empty : ! 1 , unusedTokens : [ ] , unusedInput : [ ] , overflow : - 2 , charsLeftOver : 0 , nullInput : ! 1 , invalidMonth : null , invalidFormat : ! 1 , userInvalidated : ! 1 , iso : ! 1 } } function j ( a ) { return null == a . _pf && ( a . _pf = i ( ) ) , a . _pf } function k ( a ) { if ( null == a . _isValid ) { var b = j ( a ) ; a . _isValid = ! isNaN ( a . _d . getTime ( ) ) && b . overflow < 0 && ! b . empty && ! b . invalidMonth && ! b . nullInput && ! b . invalidFormat && ! b . userInvalidated , a . _strict && ( a . _isValid = a . _isValid && 0 === b . charsLeftOver && 0 === b . unusedTokens . length && void 0 === b . bigHour ) } return a . _isValid } function l ( a ) { var b = h ( 0 / 0 ) ; return null != a ? g ( j ( b ) , a ) : j ( b ) . userInvalidated = ! 0 , b } function m ( a , b ) { var c , d , e ; if ( "undefined" != typeof b . _isAMomentObject && ( a . _isAMomentObject = b . _isAMomentObject ) , "undefined" != typeof b . _i && ( a . _i = b . _i ) , "undefined" != typeof b . _f && ( a . _f = b . _f ) , "undefined" != typeof b . _l && ( a . _l = b . _l ) , "undefined" != typeof b . _strict && ( a . _strict = b . _strict ) , "undefined" != typeof b . _tzm && ( a . _tzm = b . _tzm ) , "undefined" != typeof b . _isUTC && ( a . _isUTC = b . _isUTC ) , "undefined" != typeof b . _offset && ( a . _offset = b . _offset ) , "undefined" != typeof b . _pf && ( a . _pf = j ( b ) ) , "undefined" != typeof b . _locale && ( a . _locale = b . _locale ) , Fc . length > 0 ) for ( c in Fc ) d = Fc [ c ] , e = b [ d ] , "undefined" != typeof e && ( a [ d ] = e ) ; return a } function n ( b ) { m ( this , b ) , this . _d = new Date ( + b . _d ) , Gc === ! 1 && ( Gc = ! 0 , a . updateOffset ( this ) , Gc = ! 1 ) } function o ( a ) { return a instanceof n || null != a && null != a . _isAMomentObject } function p ( a ) { var b = + a , c = 0 ; return 0 !== b && isFinite ( b ) && ( c = b >= 0 ? Math . floor ( b ) : Math . ceil ( b ) ) , c } function q ( a , b , c ) { var d , e = Math . min ( a . length , b . length ) , f = Math . abs ( a . length - b . length ) , g = 0 ; for ( d = 0 ; e > d ; d ++ ) ( c && a [ d ] !== b [ d ] || ! c && p ( a [ d ] ) !== p ( b [ d ] ) ) && g ++ ; return g + f } function r ( ) { } function s ( a ) { return a ? a . toLowerCase ( ) . replace ( "_" , "-" ) : a } function t ( a ) { for ( var b , c , d , e , f = 0 ; f < a . length ; ) { for ( e = s ( a [ f ] ) . split ( "-" ) , b = e . length , c = s ( a [ f + 1 ] ) , c = c ? c . split ( "-" ) : null ; b > 0 ; ) { if ( d = u ( e . slice ( 0 , b ) . join ( "-" ) ) ) return d ; if ( c && c . length >= b && q ( e , c , ! 0 ) >= b - 1 ) break ; b -- } f ++ } return null } function u ( a ) { var b = null ; if ( ! Hc [ a ] && "undefined" != typeof module && module && module . exports ) try { b = Ec . _abbr , require ( "./locale/" + a ) , v ( b ) } catch ( c ) { } return Hc [ a ] } function v ( a , b ) { var c ; return a && ( c = "undefined" == typeof b ? x ( a ) : w ( a , b ) , c && ( Ec = c ) ) , Ec . _abbr } function w ( a , b ) { return null !== b ? ( b . abbr = a , Hc [ a ] || ( Hc [ a ] = new r ) , Hc [ a ] . set ( b ) , v ( a ) , Hc [ a ] ) : ( delete Hc [ a ] , null ) } function x ( a ) { var b ; if ( a && a . _locale && a . _locale . _abbr && ( a = a . _locale . _abbr ) , ! a ) return Ec ; if ( ! c ( a ) ) { if ( b = u ( a ) ) return b ; a = [ a ] } return t ( a ) } function y ( a , b ) { var c = a . toLowerCase ( ) ; Ic [ c ] = Ic [ c + "s" ] = Ic [ b ] = a } function z ( a ) { return "string" == typeof a ? Ic [ a ] || Ic [ a . toLowerCase ( ) ] : void 0 } function A ( a ) { var b , c , d = { } ; for ( c in a ) f ( a , c ) && ( b = z ( c ) , b && ( d [ b ] = a [ c ] ) ) ; return d } function B ( b , c ) { return function ( d ) { return null != d ? ( D ( this , b , d ) , a . updateOffset ( this , c ) , this ) : C ( this , b ) } } function C ( a , b ) { return a . _d [ "get" + ( a . _isUTC ? "UTC" : "" ) + b ] ( ) } function D ( a , b , c ) { return a . _d [ "set" + ( a . _isUTC ? "UTC" : "" ) + b ] ( c ) } function E ( a , b ) { var c ; if ( "object" == typeof a ) for ( c in a ) this . set ( c , a [ c ] ) ; else if ( a = z ( a ) , "function" == typeof this [ a ] ) return this [ a ] ( b ) ; return this } function F ( a , b , c ) { for ( var d = "" + Math . abs ( a ) , e = a >= 0 ; d . length < b ; ) d = "0" + d ; return ( e ? c ? "+" : "" : "-" ) + d } function G ( a , b , c , d ) { var e = d ; "string" == typeof d && ( e = function ( ) { return this [ d ] ( ) } ) , a && ( Mc [ a ] = e ) , b && ( Mc [ b [ 0 ] ] = function ( ) { return F ( e . apply ( this , arguments ) , b [ 1 ] , b [ 2 ] ) } ) , c && ( Mc [ c ] = function ( ) { return this . localeData ( ) . ordinal ( e . apply ( this , arguments ) , a ) } ) } function H ( a ) { return a . match ( /\[[\s\S]/ ) ? a . replace ( / ^ \ [ | \ ]
hh : "%d hours" , d : "a day" , dd : "%d days" , M : "a month" , MM : "%d months" , y : "a year" , yy : "%d years" } , Qd = r . prototype ; Qd . _calendar = Kd , Qd . calendar = Yb , Qd . _longDateFormat = Ld , Qd . longDateFormat = Zb , Qd . _invalidDate = Md , Qd . invalidDate = $b , Qd . _ordinal = Nd , Qd . ordinal = _b , Qd . _ordinalParse = Od , Qd . preparse = ac , Qd . postformat = ac , Qd . _relativeTime = Pd , Qd . relativeTime = bc , Qd . pastFuture = cc , Qd . set = dc , Qd . months = S , Qd . _months = id , Qd . monthsShort = T , Qd . _monthsShort = jd , Qd . monthsParse = U , Qd . week = ia , Qd . _week = qd , Qd . firstDayOfYear = ka , Qd . firstDayOfWeek = ja , Qd . weekdays = Ib , Qd . _weekdays = Ad , Qd . weekdaysMin = Kb , Qd . _weekdaysMin = Cd , Qd . weekdaysShort = Jb , Qd . _weekdaysShort = Bd , Qd . weekdaysParse = Lb , Qd . isPM = Rb , Qd . _meridiemParse = Dd , Qd . meridiem = Sb , v ( "en" , { ordinalParse : /\d{1,2}(th|st|nd|rd)/ , ordinal : function ( a ) { var b = a % 10 , c = 1 === p ( a % 100 / 10 ) ? "th" : 1 === b ? "st" : 2 === b ? "nd" : 3 === b ? "rd" : "th" ; return a + c } } ) , a . lang = $ ( "moment.lang is deprecated. Use moment.locale instead." , v ) , a . langData = $ ( "moment.langData is deprecated. Use moment.localeData instead." , x ) ; var Rd = Math . abs , Sd = uc ( "ms" ) , Td = uc ( "s" ) , Ud = uc ( "m" ) , Vd = uc ( "h" ) , Wd = uc ( "d" ) , Xd = uc ( "w" ) , Yd = uc ( "M" ) , Zd = uc ( "y" ) , $d = wc ( "milliseconds" ) , _d = wc ( "seconds" ) , ae = wc ( "minutes" ) , be = wc ( "hours" ) , ce = wc ( "days" ) , de = wc ( "months" ) , ee = wc ( "years" ) , fe = Math . round , ge = { s : 45 , m : 45 , h : 22 , d : 26 , M : 11 } , he = Math . abs , ie = Ea . prototype ; ie . abs = lc , ie . add = nc , ie . subtract = oc , ie . as = sc , ie . asMilliseconds = Sd , ie . asSeconds = Td , ie . asMinutes = Ud , ie . asHours = Vd , ie . asDays = Wd , ie . asWeeks = Xd , ie . asMonths = Yd , ie . asYears = Zd , ie . valueOf = tc , ie . _bubble = pc , ie . get = vc , ie . milliseconds = $d , ie . seconds = _d , ie . minutes = ae , ie . hours = be , ie . days = ce , ie . weeks = xc , ie . months = de , ie . years = ee , ie . humanize = Bc , ie . toISOString = Cc , ie . toString = Cc , ie . toJSON = Cc , ie . locale = pb , ie . localeData = qb , ie . toIsoString = $ ( "toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)" , Cc ) , ie . lang = yd , G ( "X" , 0 , 0 , "unix" ) , G ( "x" , 0 , 0 , "valueOf" ) , L ( "x" , Xc ) , L ( "X" , Zc ) , O ( "X" , function ( a , b , c ) { c . _d = new Date ( 1e3 * parseFloat ( a , 10 ) ) } ) , O ( "x" , function ( a , b , c ) { c . _d = new Date ( p ( a ) ) } ) , a . version = "2.10.3" , b ( Aa ) , a . fn = Jd , a . min = Ca , a . max = Da , a . utc = h , a . unix = Wb , a . months = gc , a . isDate = d , a . locale = v , a . invalid = l , a . duration = Va , a . isMoment = o , a . weekdays = ic , a . parseZone = Xb , a . localeData = x , a . isDuration = Fa , a . monthsShort = hc , a . weekdaysMin = kc , a . defineLocale = w , a . weekdaysShort = jc , a . normalizeUnits = z , a . relativeTimeThreshold = Ac ; var je = a ; return je } ) ;
! function ( e ) { "function" == typeof define && define . amd ? define ( [ "moment" ] , e ) : "object" == typeof exports ? module . exports = e ( require ( "../moment" ) ) : e ( ( "undefined" != typeof global ? global : this ) . moment ) } ( function ( e ) { return e . defineLocale ( "en-gb" , { months : "January_February_March_April_May_June_July_August_September_October_November_December" . split ( "_" ) , monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec" . split ( "_" ) , weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday" . split ( "_" ) , weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat" . split ( "_" ) , weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa" . split ( "_" ) , longDateFormat : { LT : "HH:mm" , LTS : "HH:mm:ss" , L : "DD/MM/YYYY" , LL : "D MMMM YYYY" , LLL : "D MMMM YYYY LT" , LLLL : "dddd, D MMMM YYYY LT" } , calendar : { sameDay : "[Today at] LT" , nextDay : "[Tomorrow at] LT" , nextWeek : "dddd [at] LT" , lastDay : "[Yesterday at] LT" , lastWeek : "[Last] dddd [at] LT" , sameElse : "L" } , relativeTime : { future : "in %s" , past : "%s ago" , s : "a few sec" , m : "1 min" , mm : "%d min" , h : "1 h" , hh : "%d h" , d : "a day" , dd : "%d days" , M : "a month" , MM : "%d mon" , y : "a year" , yy : "%d years" } , ordinalParse : /\d{1,2}(st|nd|rd|th)/ , ordinal : function ( e ) { var a = e % 10 , d = 1 === ~ ~ ( e % 100 / 10 ) ? "th" : 1 === a ? "st" : 2 === a ? "nd" : 3 === a ? "rd" : "th" ; return e + d } , week : { dow : 1 , doy : 4 } } ) } ) ;
! function ( e ) { e ( [ "jquery" ] , function ( e ) { return function ( ) { function t ( e , t , n ) { return f ( { type : O . error , iconClass : g ( ) . iconClasses . error , message : e , optionsOverride : n , title : t } ) } function n ( t , n ) { return t || ( t = g ( ) ) , v = e ( "#" + t . containerId ) , v . length ? v : ( n && ( v = c ( t ) ) , v ) } function i ( e , t , n ) { return f ( { type : O . info , iconClass : g ( ) . iconClasses . info , message : e , optionsOverride : n , title : t } ) } function o ( e ) { w = e } function s ( e , t , n ) { return f ( { type : O . success , iconClass : g ( ) . iconClasses . success , message : e , optionsOverride : n , title : t } ) } function a ( e , t , n ) { return f ( { type : O . warning , iconClass : g ( ) . iconClasses . warning , message : e , optionsOverride : n , title : t } ) } function r ( e ) { var t = g ( ) ; v || n ( t ) , l ( e , t ) || u ( t ) } function d ( t ) { var i = g ( ) ; return v || n ( i ) , t && 0 === e ( ":focus" , t ) . length ? void h ( t ) : void ( v . children ( ) . length && v . remove ( ) ) } function u ( t ) { for ( var n = v . children ( ) , i = n . length - 1 ; i >= 0 ; i -- ) l ( e ( n [ i ] ) , t ) } function l ( t , n ) { return t && 0 === e ( ":focus" , t ) . length ? ( t [ n . hideMethod ] ( { duration : n . hideDuration , easing : n . hideEasing , complete : function ( ) { h ( t ) } } ) , ! 0 ) : ! 1 } function c ( t ) { return v = e ( "<div/>" ) . attr ( "id" , t . containerId ) . addClass ( t . positionClass ) . attr ( "aria-live" , "polite" ) . attr ( "role" , "alert" ) , v . appendTo ( e ( t . target ) ) , v } function p ( ) { return { tapToDismiss : ! 0 , toastClass : "toast" , containerId : "toast-container" , debug : ! 1 , showMethod : "fadeIn" , showDuration : 300 , showEasing : "swing" , onShown : void 0 , hideMethod : "fadeOut" , hideDuration : 1e3 , hideEasing : "swing" , onHidden : void 0 , extendedTimeOut : 1e3 , iconClasses : { error : "toast-error" , info : "toast-info" , success : "toast-success" , warning : "toast-warning" } , iconClass : "toast-info" , positionClass : "toast-top-right" , timeOut : 5e3 , titleClass : "toast-title" , messageClass : "toast-message" , target : "body" , closeHtml : "<button>×</button>" , newestOnTop : ! 0 , preventDuplicates : ! 1 , progressBar : ! 1 } } function m ( e ) { w && w ( e ) } function f ( t ) { function i ( t ) { return ! e ( ":focus" , l ) . length || t ? ( clearTimeout ( O . intervalId ) , l [ r . hideMethod ] ( { duration : r . hideDuration , easing : r . hideEasing , complete : function ( ) { h ( l ) , r . onHidden && "hidden" !== b . state && r . onHidden ( ) , b . state = "hidden" , b . endTime = new Date , m ( b ) } } ) ) : void 0 } function o ( ) { ( r . timeOut > 0 || r . extendedTimeOut > 0 ) && ( u = setTimeout ( i , r . extendedTimeOut ) , O . maxHideTime = parseFloat ( r . extendedTimeOut ) , O . hideEta = ( new Date ) . getTime ( ) + O . maxHideTime ) } function s ( ) { clearTimeout ( u ) , O . hideEta = 0 , l . stop ( ! 0 , ! 0 ) [ r . showMethod ] ( { duration : r . showDuration , easing : r . showEasing } ) } function a ( ) { var e = ( O . hideEta - ( new Date ) . getTime ( ) ) / O . maxHideTime * 100 ; f . width ( e + "%" ) } var r = g ( ) , d = t . iconClass || r . iconClass ; if ( r . preventDuplicates ) { if ( t . message === C ) return ; C = t . message } "undefined" != typeof t . optionsOverride && ( r = e . extend ( r , t . optionsOverride ) , d = t . optionsOverride . iconClass || d ) , T ++ , v = n ( r , ! 0 ) ; var u = null , l = e ( "<div/>" ) , c = e ( "<div/>" ) , p = e ( "<div/>" ) , f = e ( "<div/>" ) , w = e ( r . closeHtml ) , O = { intervalId : null , hideEta : null , maxHideTime : null } , b = { toastId : T , state : "visible" , startTime : new Date , options : r , map : t } ; return t . iconClass && l . addClass ( r . toastClass ) . addClass ( d ) , t . title && ( c . append ( t . title ) . addClass ( r . titleClass ) , l . append ( c ) ) , t . message && ( p . append ( t . message ) . addClass ( r . messageClass ) , l . append ( p ) ) , r . closeButton && ( w . addClass ( "toast-close-button" ) . attr ( "role" , "button" ) , l . prepend ( w ) ) , r . progressBar && ( f . addClass ( "toast-progress" ) , l . prepend ( f ) ) , l . hide ( ) , r . newestOnTop ? v . prepend ( l ) : v . append ( l ) , l [ r . showMethod ] ( { duration : r . showDuration , easing : r . showEasing , complete : r . onShown } ) , r . timeOut > 0 && ( u = setTimeout ( i , r . timeOut ) , O . maxHideTime = parseFloat ( r . timeOut ) , O . hideEta = ( new Date ) . getTime ( ) + O . maxHideTime , r . progressBar && ( O . intervalId = setInterval ( a , 10 ) ) ) , l . hover ( s , o ) , ! r . onclick && r . tapToDismiss && l . click ( i ) , r . closeButton && w && w . click ( function ( e ) { e . stopPropagation ? e . stopPropagation ( ) : void 0 !== e . cancelBubble && e . cancelBubble !== ! 0 && ( e . cancelBubble = ! 0 ) , i ( ! 0 ) } ) , r . onclick && l . click ( function ( ) { r . onclick ( ) , i ( ) } ) , m ( b ) , r . debug && console && console . log ( b ) , l } function g ( ) { return e . extend ( { } , p ( ) , b . options ) } function h ( e ) { v || ( v = n ( ) ) , e . is ( ":visible" ) || ( e . remove ( ) , e = null , 0 === v . children ( ) . length && v . remove ( ) ) } var v , w , C , T = 0 , O = { error : "error" , info : "info" , success : "success" , warning : "warning" } , b = { clear : r , remove : d , error : t , getContainer : n , info : i , options : { } , subscribe : o , success : s , version : "2.1.0" , warning : a } ; return b } ( ) } ) } ( " funct
/* jquery.sparkline 2.1.2 - http:/ / omnipotent . net / jquery . sparkline /
* * Licensed under the New BSD License - see above site for details * /
( function ( a , b , c ) { ( function ( a ) { typeof define == "function" && define . amd ? define ( [ "jquery" ] , a ) : jQuery && ! jQuery . fn . sparkline && a ( jQuery ) } ) ( function ( d ) { "use strict" ; var e = { } , f , g , h , i , j , k , l , m , n , o , p , q , r , s , t , u , v , w , x , y , z , A , B , C , D , E , F , G , H , I , J , K , L = 0 ; f = function ( ) { return { common : { type : "line" , lineColor : "#00f" , fillColor : "#cdf" , defaultPixelsPerValue : 3 , width : "auto" , height : "auto" , composite : ! 1 , tagValuesAttribute : "values" , tagOptionsPrefix : "spark" , enableTagOptions : ! 1 , enableHighlight : ! 0 , highlightLighten : 1.4 , tooltipSkipNull : ! 0 , tooltipPrefix : "" , tooltipSuffix : "" , disableHiddenCheck : ! 1 , numberFormatter : ! 1 , numberDigitGroupCount : 3 , numberDigitGroupSep : "," , numberDecimalMark : "." , disableTooltips : ! 1 , disableInteraction : ! 1 } , line : { spotColor : "#f80" , highlightSpotColor : "#5f5" , highlightLineColor : "#f22" , spotRadius : 1.5 , minSpotColor : "#f80" , maxSpotColor : "#f80" , lineWidth : 1 , normalRangeMin : c , normalRangeMax : c , normalRangeColor : "#ccc" , drawNormalOnTop : ! 1 , chartRangeMin : c , chartRangeMax : c , chartRangeMinX : c , chartRangeMaxX : c , tooltipFormat : new h ( '<span style="color: {{color}}">●</span> {{prefix}}{{y}}{{suffix}}' ) } , bar : { barColor : "#3366cc" , negBarColor : "#f44" , stackedBarColor : [ "#3366cc" , "#dc3912" , "#ff9900" , "#109618" , "#66aa00" , "#dd4477" , "#0099c6" , "#990099" ] , zeroColor : c , nullColor : c , zeroAxis : ! 0 , barWidth : 4 , barSpacing : 1 , chartRangeMax : c , chartRangeMin : c , chartRangeClip : ! 1 , colorMap : c , tooltipFormat : new h ( '<span style="color: {{color}}">●</span> {{prefix}}{{value}}{{suffix}}' ) } , tristate : { barWidth : 4 , barSpacing : 1 , posBarColor : "#6f6" , negBarColor : "#f44" , zeroBarColor : "#999" , colorMap : { } , tooltipFormat : new h ( '<span style="color: {{color}}">●</span> {{value:map}}' ) , tooltipValueLookups : { map : { "-1" : "Loss" , 0 : "Draw" , 1 : "Win" } } } , discrete : { lineHeight : "auto" , thresholdColor : c , thresholdValue : 0 , chartRangeMax : c , chartRangeMin : c , chartRangeClip : ! 1 , tooltipFormat : new h ( "{{prefix}}{{value}}{{suffix}}" ) } , bullet : { targetColor : "#f33" , targetWidth : 3 , performanceColor : "#33f" , rangeColors : [ "#d3dafe" , "#a8b6ff" , "#7f94ff" ] , base : c , tooltipFormat : new h ( "{{fieldkey:fields}} - {{value}}" ) , tooltipValueLookups : { fields : { r : "Range" , p : "Performance" , t : "Target" } } } , pie : { offset : 0 , sliceColors : [ "#3366cc" , "#dc3912" , "#ff9900" , "#109618" , "#66aa00" , "#dd4477" , "#0099c6" , "#990099" ] , borderWidth : 0 , borderColor : "#000" , tooltipFormat : new h ( '<span style="color: {{color}}">●</span> {{value}} ({{percent.1}}%)' ) } , box : { raw : ! 1 , boxLineColor : "#000" , boxFillColor : "#cdf" , whiskerColor : "#000" , outlierLineColor : "#333" , outlierFillColor : "#fff" , medianColor : "#f00" , showOutliers : ! 0 , outlierIQR : 1.5 , spotRadius : 1.5 , target : c , targetColor : "#4a2" , chartRangeMax : c , chartRangeMin : c , tooltipFormat : new h ( "{{field:fields}}: {{value}}" ) , tooltipFormatFieldlistKey : "field" , tooltipValueLookups : { fields : { lq : "Lower Quartile" , med : "Median" , uq : "Upper Quartile" , lo : "Left Outlier" , ro : "Right Outlier" , lw : "Left Whisker" , rw : "Right Whisker" } } } } } , E = '.jqstooltip { position: absolute;left: 0px;top: 0px;visibility: hidden;z-index: 10000;}.jqsfield {}' , g = function ( ) { var a , b ; return a = function ( ) { this . init . apply ( this , arguments ) } , arguments . length > 1 ? ( arguments [ 0 ] ? ( a . prototype = d . extend ( new arguments [ 0 ] , arguments [ arguments . length - 1 ] ) , a . _super = arguments [ 0 ] . prototype ) : a . prototype = arguments [ arguments . length - 1 ] , arguments . length > 2 && ( b = Array . prototype . slice . call ( arguments , 1 , - 1 ) , b . unshift ( a . prototype ) , d . extend . apply ( d , b ) ) ) : a . prototype = arguments [ 0 ] , a . prototype . cls = a , a } , d . SPFormatClass = h = g ( { fre : /\{\{([\w.]+?)(:(.+?))?\}\}/g , precre : /(\w+)\.(\d+)/ , init : function ( a , b ) { this . format = a , this . fclass = b } , render : function ( a , b , d ) { var e = this , f = a , g , h , i , j , k ; return this . format . replace ( this . fre , function ( ) { var a ; return h = arguments [ 1 ] , i = arguments [ 3 ] , g = e . precre . exec ( h ) , g ? ( k = g [ 2 ] , h = g [ 1 ] ) : k = ! 1 , j = f [ h ] , j === c ? "" : i && b && b [ i ] ? ( a = b [ i ] , a . get ? b [ i ] . get ( j ) || j : b [ i ] [ j ] || j ) : ( n ( j ) && ( d . get ( "numberFormatter" ) ? j = d . get ( "numberFormatter" ) ( j ) : j = s ( j , k , d . get ( "numberDigitGroupCount" ) , d . get ( "numberDigitGroupSep" ) , d . get ( "numberDecimalMark" ) ) ) , j ) } ) } } ) , d . spformat = function ( a , b ) { return new h ( a , b ) } , i = function ( a , b , c ) { return a < b ? b : a > c ? c : a } , j = function ( a , c ) { var d ; return c === 2 ? ( d = b . floor ( a . length / 2 ) , a . length % 2 ? a [ d ] : ( a [ d - 1 ] + a [ d ] ) / 2 ) : a . length % 2 ? ( d = ( a . length * c + c ) / 4 , d % 1 ? ( a [ b . floor ( d ) ] + a [ b
[ 1 ] } , { field : "uq" , value : this . quartiles [ 2 ] } ] ; return this . loutlier !== c && a . push ( { field : "lo" , value : this . loutlier } ) , this . routlier !== c && a . push ( { field : "ro" , value : this . routlier } ) , this . lwhisker !== c && a . push ( { field : "lw" , value : this . lwhisker } ) , this . rwhisker !== c && a . push ( { field : "rw" , value : this . rwhisker } ) , a } , render : function ( ) { var a = this . target , d = this . values , e = d . length , f = this . options , g = this . canvasWidth , h = this . canvasHeight , i = f . get ( "chartRangeMin" ) === c ? b . min . apply ( b , d ) : f . get ( "chartRangeMin" ) , k = f . get ( "chartRangeMax" ) === c ? b . max . apply ( b , d ) : f . get ( "chartRangeMax" ) , l = 0 , m , n , o , p , q , r , s , t , u , v , w ; if ( ! D . _super . render . call ( this ) ) return ; if ( f . get ( "raw" ) ) f . get ( "showOutliers" ) && d . length > 5 ? ( n = d [ 0 ] , m = d [ 1 ] , p = d [ 2 ] , q = d [ 3 ] , r = d [ 4 ] , s = d [ 5 ] , t = d [ 6 ] ) : ( m = d [ 0 ] , p = d [ 1 ] , q = d [ 2 ] , r = d [ 3 ] , s = d [ 4 ] ) ; else { d . sort ( function ( a , b ) { return a - b } ) , p = j ( d , 1 ) , q = j ( d , 2 ) , r = j ( d , 3 ) , o = r - p ; if ( f . get ( "showOutliers" ) ) { m = s = c ; for ( u = 0 ; u < e ; u ++ ) m === c && d [ u ] > p - o * f . get ( "outlierIQR" ) && ( m = d [ u ] ) , d [ u ] < r + o * f . get ( "outlierIQR" ) && ( s = d [ u ] ) ; n = d [ 0 ] , t = d [ e - 1 ] } else m = d [ 0 ] , s = d [ e - 1 ] } this . quartiles = [ p , q , r ] , this . lwhisker = m , this . rwhisker = s , this . loutlier = n , this . routlier = t , w = g / ( k - i + 1 ) , f . get ( "showOutliers" ) && ( l = b . ceil ( f . get ( "spotRadius" ) ) , g -= 2 * b . ceil ( f . get ( "spotRadius" ) ) , w = g / ( k - i + 1 ) , n < m && a . drawCircle ( ( n - i ) * w + l , h / 2 , f . get ( "spotRadius" ) , f . get ( "outlierLineColor" ) , f . get ( "outlierFillColor" ) ) . append ( ) , t > s && a . drawCircle ( ( t - i ) * w + l , h / 2 , f . get ( "spotRadius" ) , f . get ( "outlierLineColor" ) , f . get ( "outlierFillColor" ) ) . append ( ) ) , a . drawRect ( b . round ( ( p - i ) * w + l ) , b . round ( h * . 1 ) , b . round ( ( r - p ) * w ) , b . round ( h * . 8 ) , f . get ( "boxLineColor" ) , f . get ( "boxFillColor" ) ) . append ( ) , a . drawLine ( b . round ( ( m - i ) * w + l ) , b . round ( h / 2 ) , b . round ( ( p - i ) * w + l ) , b . round ( h / 2 ) , f . get ( "lineColor" ) ) . append ( ) , a . drawLine ( b . round ( ( m - i ) * w + l ) , b . round ( h / 4 ) , b . round ( ( m - i ) * w + l ) , b . round ( h - h / 4 ) , f . get ( "whiskerColor" ) ) . append ( ) , a . drawLine ( b . round ( ( s - i ) * w + l ) , b . round ( h / 2 ) , b . round ( ( r - i ) * w + l ) , b . round ( h / 2 ) , f . get ( "lineColor" ) ) . append ( ) , a . drawLine ( b . round ( ( s - i ) * w + l ) , b . round ( h / 4 ) , b . round ( ( s - i ) * w + l ) , b . round ( h - h / 4 ) , f . get ( "whiskerColor" ) ) . append ( ) , a . drawLine ( b . round ( ( q - i ) * w + l ) , b . round ( h * . 1 ) , b . round ( ( q - i ) * w + l ) , b . round ( h * . 9 ) , f . get ( "medianColor" ) ) . append ( ) , f . get ( "target" ) && ( v = b . ceil ( f . get ( "spotRadius" ) ) , a . drawLine ( b . round ( ( f . get ( "target" ) - i ) * w + l ) , b . round ( h / 2 - v ) , b . round ( ( f . get ( "target" ) - i ) * w + l ) , b . round ( h / 2 + v ) , f . get ( "targetColor" ) ) . append ( ) , a . drawLine ( b . round ( ( f . get ( "target" ) - i ) * w + l - v ) , b . round ( h / 2 ) , b . round ( ( f . get ( "target" ) - i ) * w + l + v ) , b . round ( h / 2 ) , f . get ( "targetColor" ) ) . append ( ) ) , a . render ( ) } } ) , G = g ( { init : function ( a , b , c , d ) { this . target = a , this . id = b , this . type = c , this . args = d } , append : function ( ) { return this . target . appendShape ( this ) , this } } ) , H = g ( { _pxregex : /(\d+)(px)?\s*$/i , init : function ( a , b , c ) { if ( ! a ) return ; this . width = a , this . height = b , this . target = c , this . lastShapeId = null , c [ 0 ] && ( c = c [ 0 ] ) , d . data ( c , "_jqs_vcanvas" , this ) } , drawLine : function ( a , b , c , d , e , f ) { return this . drawShape ( [ [ a , b ] , [ c , d ] ] , e , f ) } , drawShape : function ( a , b , c , d ) { return this . _genShape ( "Shape" , [ a , b , c , d ] ) } , drawCircle : function ( a , b , c , d , e , f ) { return this . _genShape ( "Circle" , [ a , b , c , d , e , f ] ) } , drawPieSlice : function ( a , b , c , d , e , f , g ) { return this . _genShape ( "PieSlice" , [ a , b , c , d , e , f , g ] ) } , drawRect : function ( a , b , c , d , e , f ) { return this . _genShape ( "Rect" , [ a , b , c , d , e , f ] ) } , getElement : function ( ) { return this . canvas } , getLastShapeId : function ( ) { return this . lastShapeId } , reset : function ( ) { alert ( "reset not implemented" ) } , _insert : function ( a , b ) { d ( b ) . html ( a ) } , _calculatePixelDims : function ( a , b , c ) { var e ; e = this . _pxregex . exec ( b ) , e ? this . pixelHeight = e [ 1 ] : this . pixelHeight = d ( c ) . height ( ) , e = this . _pxregex . exec ( a ) , e ? this . pixelWidth = e [ 1 ] : this . pixelWidth = d ( c ) . width ( ) } , _genShape : function ( a , b ) { var c = L ++ ; return b . unshift ( c ) , new G ( this , c , a , b ) } , appendShape : function ( a ) { alert ( "appendShape not implemented" ) } , replaceWithShape : function ( a , b ) { alert ( "replaceWithShape not implemented" ) } , insertAfterShape : function ( a , b ) { alert ( "insertAfterShape not implemented" ) } , removeShapeId : function ( a ) { alert ( "removeShapeId not implemented" ) } , getShapeAt : function ( a , b , c ) { alert ( "getShapeAt not implemented" ) } , render : function ( ) { alert ( "render not implemented" ) } } ) , I = g ( H , { init : function ( b , e , f , g ) { I . _super . init . call ( this , b , e , f ) , this . canvas = a . createElement ( "canvas" ) , f [ 0 ] && ( f = f [ 0 ] ) , d . data ( f , " _jqs _vca
! function ( t , e , n ) { e [ t ] = n . call ( e ) , "undefined" != typeof module && module . exports ? module . exports = e [ t ] : "function" == typeof define && define . amd && define ( function ( ) { return e [ t ] } ) } ( "Primus" , this , function ( ) { var t , e = function n ( t , e , r ) { function o ( s , c ) { if ( ! e [ s ] ) { if ( ! t [ s ] ) { var a = "function" == typeof require && require ; if ( ! c && a ) return a ( s , ! 0 ) ; if ( i ) return i ( s , ! 0 ) ; var u = new Error ( "Cannot find module '" + s + "'" ) ; throw u . code = "MODULE_NOT_FOUND" , u } var f = e [ s ] = { exports : { } } ; t [ s ] [ 0 ] . call ( f . exports , function ( e ) { var n = t [ s ] [ 1 ] [ e ] ; return o ( n ? n : e ) } , f , f . exports , n , t , e , r ) } return e [ s ] . exports } for ( var i = "function" == typeof require && require , s = 0 ; s < r . length ; s ++ ) o ( r [ s ] ) ; return o } ( { 1 : [ function ( t , e ) { "use strict" ; e . exports = function ( t , e ) { function n ( t , n ) { if ( e [ t ] ) { if ( "string" == typeof e [ t ] && ( e [ t ] = e [ t ] . split ( r ) ) , "function" == typeof e [ t ] ) return e [ t ] . call ( n ) ; for ( var o , i , s = 0 ; s < e [ t ] . length ; s ++ ) i = e [ t ] [ s ] , o = typeof i , "function" === o ? i . call ( n ) : "string" === o && "function" == typeof n [ i ] && n [ i ] ( ) } } var r = /[, ]+/ ; return e = e || { } , t = t || [ ] , "string" == typeof t && ( t = t . split ( r ) ) , function ( ) { var e , r = this , o = 0 ; if ( null === r [ t [ 0 ] ] ) return ! 1 ; for ( n ( "before" , r ) ; o < t . length ; o ++ ) e = t [ o ] , r [ e ] && ( "function" == typeof r [ e ] . destroy && r [ e ] . destroy ( ) , r [ e ] = null ) ; return r . emit && r . emit ( "destroy" ) , n ( "after" , r ) , ! 0 } } } , { } ] , 2 : [ function ( t , e ) { "use strict" ; e . exports = function ( ) { for ( var t , e = this , n = 0 , r = arguments . length , o = new Array ( r ) ; r > n ; n ++ ) o [ n ] = arguments [ n ] ; return "function" != typeof o [ o . length - 1 ] ? function ( ) { for ( var t = 0 , n = arguments . length , r = new Array ( n ) ; n > t ; t ++ ) r [ t ] = arguments [ t ] ; return e . emit . apply ( e , o . concat ( r ) ) } : ( t = o . pop ( ) , function ( ) { for ( var n = 0 , r = arguments . length , i = new Array ( r + 1 ) ; r > n ; n ++ ) i [ n + 1 ] = arguments [ n ] ; return i [ 0 ] = function ( t , n ) { return t ? e . emit ( "error" , t ) : ( i = void 0 === n ? i . slice ( 1 ) : null === n ? [ ] : n , void e . emit . apply ( e , o . concat ( i ) ) ) } , t . apply ( e , i ) , ! 0 } ) } } , { } ] , 3 : [ function ( t , e ) { "use strict" ; function n ( t , e , n ) { this . fn = t , this . context = e , this . once = n || ! 1 } function r ( ) { } r . prototype . _events = void 0 , r . prototype . listeners = function ( t ) { if ( ! this . _events || ! this . _events [ t ] ) return [ ] ; if ( this . _events [ t ] . fn ) return [ this . _events [ t ] . fn ] ; for ( var e = 0 , n = this . _events [ t ] . length , r = new Array ( n ) ; n > e ; e ++ ) r [ e ] = this . _events [ t ] [ e ] . fn ; return r } , r . prototype . emit = function ( t , e , n , r , o , i ) { if ( ! this . _events || ! this . _events [ t ] ) return ! 1 ; var s , c , a = this . _events [ t ] , u = arguments . length ; if ( "function" == typeof a . fn ) { switch ( a . once && this . removeListener ( t , a . fn , ! 0 ) , u ) { case 1 : return a . fn . call ( a . context ) , ! 0 ; case 2 : return a . fn . call ( a . context , e ) , ! 0 ; case 3 : return a . fn . call ( a . context , e , n ) , ! 0 ; case 4 : return a . fn . call ( a . context , e , n , r ) , ! 0 ; case 5 : return a . fn . call ( a . context , e , n , r , o ) , ! 0 ; case 6 : return a . fn . call ( a . context , e , n , r , o , i ) , ! 0 } for ( c = 1 , s = new Array ( u - 1 ) ; u > c ; c ++ ) s [ c - 1 ] = arguments [ c ] ; a . fn . apply ( a . context , s ) } else { var f , p = a . length ; for ( c = 0 ; p > c ; c ++ ) switch ( a [ c ] . once && this . removeListener ( t , a [ c ] . fn , ! 0 ) , u ) { case 1 : a [ c ] . fn . call ( a [ c ] . context ) ; break ; case 2 : a [ c ] . fn . call ( a [ c ] . context , e ) ; break ; case 3 : a [ c ] . fn . call ( a [ c ] . context , e , n ) ; break ; default : if ( ! s ) for ( f = 1 , s = new Array ( u - 1 ) ; u > f ; f ++ ) s [ f - 1 ] = arguments [ f ] ; a [ c ] . fn . apply ( a [ c ] . context , s ) } } return ! 0 } , r . prototype . on = function ( t , e , r ) { var o = new n ( e , r || this ) ; return this . _events || ( this . _events = { } ) , this . _events [ t ] ? this . _events [ t ] . fn ? this . _events [ t ] = [ this . _events [ t ] , o ] : this . _events [ t ] . push ( o ) : this . _events [ t ] = o , this } , r . prototype . once = function ( t , e , r ) { var o = new n ( e , r || this , ! 0 ) ; return this . _events || ( this . _events = { } ) , this . _events [ t ] ? this . _events [ t ] . fn ? this . _events [ t ] = [ this . _events [ t ] , o ] : this . _events [ t ] . push ( o ) : this . _events [ t ] = o , this } , r . prototype . removeListener = function ( t , e , n ) { if ( ! this . _events || ! this . _events [ t ] ) return this ; var r = this . _events [ t ] , o = [ ] ; if ( e && ( r . fn && ( r . fn !== e || n && ! r . once ) && o . push ( r ) , ! r . fn ) ) for ( var i = 0 , s = r . length ; s > i ; i ++ ) ( r [ i ] . fn !== e || n && ! r [ i ] . once ) && o . push ( r [ i ] ) ; return o . length ? this . _events [ t ] = 1 === o . length ? o [ 0 ] : o : delete this . _events [ t ] , this } , r . prototype . removeAllListeners = function ( t ) { return this . _events ? ( t ? delete this . _events [ t ] : this . _events = { } , this ) : this } , r . prototype . off = r . prototype . removeListener , r . prototype . addListener = r . prototype . on , r . prototype . setMaxListeners = function ( ) { return this } , r . EventEmitter = r , r . EventEmitter2 = r , r . EventEmitter3 = r , e . exports = r } , { } ] , 4 : [ function ( t , e , n ) { "use strict" ; fun
//
"use strict" ; function compareVersions ( v1 , comparator , v2 ) { comparator = "=" == comparator ? "==" : comparator ; for ( var v1parts = v1 . split ( "." ) , v2parts = v2 . split ( "." ) , maxLen = Math . max ( v1parts . length , v2parts . length ) , part1 , part2 , cmp = 0 , i = 0 ; maxLen > i && ! cmp ; i ++ ) part1 = parseInt ( v1parts [ i ] , 10 ) || 0 , part2 = parseInt ( v2parts [ i ] , 10 ) || 0 , part2 > part1 && ( cmp = 1 ) , part1 > part2 && ( cmp = - 1 ) ; return eval ( "0" + comparator + cmp ) } function mainClass ( node , bestBlock ) { return node . active ? 0 === node . peers ? "text-danger" : peerClass ( node . peers , node . active ) : "text-gray" } function peerClass ( peers , active ) { return active ? 1 >= peers ? "text-danger" : peers > 1 && 4 > peers ? "text-warning" : "text-success" : "text-gray" } function timeClass ( timestamp ) { var diff = ( ( new Date ) . getTime ( ) - timestamp ) / 1e3 ; return blockTimeClass ( diff ) } function blockTimeClass ( diff ) { return 12 >= diff ? "text-success" : 20 >= diff ? "text-warning" : 30 >= diff ? "text-orange" : "text-danger" } var netStatsApp = angular . module ( "netStatsApp" , [ "netStatsApp.filters" , "netStatsApp.directives" ] ) ; netStatsApp . factory ( "socket" , function ( $rootScope ) { var socket = new Primus ; return socket } ) , netStatsApp . factory ( "toastr" , function ( $rootScope ) { return toastr = window . toastr , toastr . options = { closeButton : ! 1 , debug : ! 1 , progressBar : ! 1 , newestOnTop : ! 0 , positionClass : "toast-top-right" , preventDuplicates : ! 1 , onclick : null , showDuration : "300" , hideDuration : "1000" , timeOut : "5000" , extendedTimeOut : "1000" , showEasing : "swing" , hideEasing : "linear" , showMethod : "fadeIn" , hideMethod : "fadeOut" } , toastr } ) , netStatsApp . factory ( "_" , function ( $rootScope ) { var lodash = window . _ ; return lodash } ) , netStatsApp . controller ( "StatsCtrl" , function ( $scope , $filter , socket , _ , toastr ) { function socketAction ( action , data ) { switch ( action ) { case "init" : var oldNodes = [ ] ; $scope . nodes . length > 0 && ( oldNodes = $scope . nodes ) , $scope . nodes = data , _ . forEach ( $scope . nodes , function ( node , index ) { _ . isUndefined ( node . stats . hashrate ) && ( $scope . nodes [ index ] . stats . hashrate = 0 ) , _ . isUndefined ( data . history ) && ( data . history = new Array ( 40 ) , _ . fill ( data . history , - 1 ) ) , $scope . nodes [ index ] . pinned = _ . result ( _ . find ( oldNodes , "id" , node . id ) , "pinned" , ! 1 ) } ) , $scope . nodes . length > 0 && toastr . success ( "Got nodes list" , "Got nodes!" ) ; break ; case "add" : var index = findIndex ( { id : data . id } ) ; addNewNode ( data ) ? toastr . success ( "New node " + $scope . nodes [ findIndex ( { id : data . id } ) ] . info . name + " connected!" , "New node!" ) : toastr . info ( "Node " + $scope . nodes [ index ] . info . name + " reconnected!" , "Node is back!" ) ; break ; case "update" : var index = findIndex ( { id : data . id } ) ; if ( index >= 0 && ! _ . isUndefined ( $scope . nodes [ index ] ) && ! _ . isUndefined ( $scope . nodes [ index ] . stats ) ) { if ( _ . isUndefined ( data . stats . hashrate ) && ( data . stats . hashrate = 0 ) , $scope . nodes [ index ] . stats . block . number < data . stats . block . number ) { var best = _ . max ( $scope . nodes , function ( node ) { return parseInt ( node . stats . block . number ) } ) . stats . block ; data . stats . block . number > best . number ? data . stats . block . arrived = _ . now ( ) : data . stats . block . arrived = best . arrived , $scope . nodes [ index ] . history = data . history } $scope . nodes [ index ] . stats = data . stats } break ; case "info" : var index = findIndex ( { id : data . id } ) ; index >= 0 && ( $scope . nodes [ index ] . info = data . info , _ . isUndefined ( $scope . nodes [ index ] . pinned ) && ( $scope . nodes [ index ] . pinned = ! 1 ) ) ; break ; case "blockPropagationChart" : $scope . blockPropagationChart = data . histogram , $scope . blockPropagationAvg = data . avg ; break ; case "uncleCount" : $scope . uncleCount = data [ 0 ] + data [ 1 ] , data . reverse ( ) , $scope . uncleCountChart = data ; break ; case "charts" : _ . isEqual ( $scope . avgBlockTime , data . avgBlocktime ) || ( $scope . avgBlockTime = data . avgBlocktime ) , _ . isEqual ( $scope . avgHashrate , data . avgHashrate ) || ( $scope . avgHashrate = data . avgHashrate ) , ! _ . isEqual ( $scope . lastBlocksTime , data . blocktime ) && data . blocktime . length >= MAX _BINS && ( $scope . lastBlocksTime = data . blocktime ) , ! _ . isEqual ( $scope . difficultyChart , data . difficulty ) && data . difficulty . length >= MAX _BINS && ( $scope . difficultyChart = data . difficulty ) , _ . isEqual ( $scope . blockPropagationChart , data . propagation . histogram ) || ( $scope . blockPropagationChart = data . propagation . histogram , $scope . blockPropagationAvg = data . propagation . avg ) , data . uncleCount . reverse ( ) , ! _ . isEqual ( $scope . uncleCountChart , data . uncleCount ) && data . uncleCount . length >= MAX _BINS && ( $scope . uncleCount = data . uncleCount [ data . uncleCount . length - 2 ] + data . uncleCount [ data . uncleCount
//
//# sourceMappingURL=netstats.min.js.map