2018-10-04 23:50:57 -07:00
if ( "undefined" == typeof jQuery ) throw new Error ( "AdminLTE requires jQuery" ) ; + function ( t ) { "use strict" ; function e ( e ) { return this . each ( function ( ) { var s = t ( this ) , a = s . data ( i ) ; if ( ! a ) { var r = t . extend ( { } , n , s . data ( ) , "object" == typeof e && e ) ; s . data ( i , a = new o ( s , r ) ) } if ( "string" == typeof a ) { if ( void 0 === a [ e ] ) throw new Error ( "No method named " + e ) ; a [ e ] ( ) } } ) } var i = "lte.boxrefresh" , n = { source : "" , params : { } , trigger : ".refresh-btn" , content : ".box-body" , loadInContent : ! 0 , responseType : "" , overlayTemplate : '<div class="overlay"><div class="fa fa-refresh fa-spin"></div></div>' , onLoadStart : function ( ) { } , onLoadDone : function ( t ) { return t } } , s = { data : '[data-widget="box-refresh"]' } , o = function ( e , i ) { if ( this . element = e , this . options = i , this . $overlay = t ( i . overlay ) , "" === i . source ) throw new Error ( "Source url was not defined. Please specify a url in your BoxRefresh source option." ) ; this . _setUpListeners ( ) , this . load ( ) } ; o . prototype . load = function ( ) { this . _addOverlay ( ) , this . options . onLoadStart . call ( t ( this ) ) , t . get ( this . options . source , this . options . params , function ( e ) { this . options . loadInContent && t ( this . options . content ) . html ( e ) , this . options . onLoadDone . call ( t ( this ) , e ) , this . _removeOverlay ( ) } . bind ( this ) , "" !== this . options . responseType && this . options . responseType ) } , o . prototype . _setUpListeners = function ( ) { t ( this . element ) . on ( "click" , s . trigger , function ( t ) { t && t . preventDefault ( ) , this . load ( ) } . bind ( this ) ) } , o . prototype . _addOverlay = function ( ) { t ( this . element ) . append ( this . $overlay ) } , o . prototype . _removeOverlay = function ( ) { t ( this . element ) . remove ( this . $overlay ) } ; var a = t . fn . boxRefresh ; t . fn . boxRefresh = e , t . fn . boxRefresh . Constructor = o , t . fn . boxRefresh . noConflict = function ( ) { return t . fn . boxRefresh = a , this } , t ( window ) . on ( "load" , function ( ) { t ( s . data ) . each ( function ( ) { e . call ( t ( this ) ) } ) } ) } ( jQuery ) , function ( t ) { "use strict" ; function e ( e ) { return this . each ( function ( ) { var s = t ( this ) , o = s . data ( i ) ; if ( ! o ) { var a = t . extend ( { } , n , s . data ( ) , "object" == typeof e && e ) ; s . data ( i , o = new r ( s , a ) ) } if ( "string" == typeof e ) { if ( void 0 === o [ e ] ) throw new Error ( "No method named " + e ) ; o [ e ] ( ) } } ) } var i = "lte.boxwidget" , n = { animationSpeed : 500 , collapseTrigger : '[data-widget="collapse"]' , removeTrigger : '[data-widget="remove"]' , collapseIcon : "fa-minus" , expandIcon : "fa-plus" , removeIcon : "fa-times" } , s = { data : ".box" , collapsed : ".collapsed-box" , header : ".box-header" , body : ".box-body" , footer : ".box-footer" , tools : ".box-tools" } , o = { collapsed : "collapsed-box" } , a = { collapsed : "collapsed.boxwidget" , expanded : "expanded.boxwidget" , removed : "removed.boxwidget" } , r = function ( t , e ) { this . element = t , this . options = e , this . _setUpListeners ( ) } ; r . prototype . toggle = function ( ) { t ( this . element ) . is ( s . collapsed ) ? this . expand ( ) : this . collapse ( ) } , r . prototype . expand = function ( ) { var e = t . Event ( a . expanded ) , i = this . options . collapseIcon , n = this . options . expandIcon ; t ( this . element ) . removeClass ( o . collapsed ) , t ( this . element ) . children ( s . header + ", " + s . body + ", " + s . footer ) . children ( s . tools ) . find ( "." + n ) . removeClass ( n ) . addClass ( i ) , t ( this . element ) . children ( s . body + ", " + s . footer ) . slideDown ( this . options . animationSpeed , function ( ) { t ( this . element ) . trigger ( e ) } . bind ( this ) ) } , r . prototype . collapse = function ( ) { var e = t . Event ( a . collapsed ) , i = this . options . collapseIcon , n = this . options . expandIcon ; t ( this . element ) . children ( s . header + ", " + s . body + ", " + s . footer ) . children ( s . tools ) . find ( "." + i ) . removeClass ( i ) . addClass ( n ) , t ( this . element ) . children ( s . body + ", " + s . footer ) . slideUp ( this . options . animationSpeed , function ( ) { t ( this . element ) . addClass ( o . collapsed ) , t ( this . element ) . trigger ( e ) } . bind ( this ) ) } , r . prototype . remove = function ( ) { var e = t . Event ( a . removed ) ; t ( this . element ) . slideUp ( this . options . animationSpeed , function ( ) { t ( this . element ) . trigger ( e ) , t ( this . element ) . remove ( ) } . bind ( this ) ) } , r . prototype . _setUpListeners = function ( ) { var e = this ; t ( this . element ) . on ( "click" , this . options . collapseTrigger , function ( i ) { return i && i . preventDefault ( ) , e . toggle ( t ( this ) ) , ! 1 } ) , t ( this . element ) . on ( "click" , this . options . removeTrigger , function ( i ) { return i && i . preventDefault ( ) , e . remove ( t ( this ) ) , ! 1 } ) } ; var l = t . fn . boxWidget ; t . fn . boxWidget = e , t . fn . boxWidget . Constructor = r , t . fn . boxWidget . noConflict = function ( ) { return t . fn . boxWidget = l , this } , t ( window ) . on ( "load" , function ( ) { t ( s . data ) . each ( function ( ) { e . call ( t ( this ) ) } ) } ) } ( jQuery ) , func
; if ( r ) return o = i [ l ] ( r ) , i [ h [ l ] . cache ] = o [ h [ l ] . cache ] , n = i . _rgba = o . _rgba , ! 1 } ) , n . length ? ( "0,0,0,0" === n . join ( ) && t . extend ( n , o . transparent ) , i ) : o [ e ] } function s ( t , e , i ) { return i = ( i + 1 ) % 1 , 6 * i < 1 ? t + ( e - t ) * i * 6 : 2 * i < 1 ? e : 3 * i < 2 ? t + ( e - t ) * ( 2 / 3 - i ) * 6 : t } var o , a = /^([\-+])=\s*(\d+\.?\d*)/ , r = [ { re : /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/ , parse : function ( t ) { return [ t [ 1 ] , t [ 2 ] , t [ 3 ] , t [ 4 ] ] } } , { re : /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/ , parse : function ( t ) { return [ 2.55 * t [ 1 ] , 2.55 * t [ 2 ] , 2.55 * t [ 3 ] , t [ 4 ] ] } } , { re : /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/ , parse : function ( t ) { return [ parseInt ( t [ 1 ] , 16 ) , parseInt ( t [ 2 ] , 16 ) , parseInt ( t [ 3 ] , 16 ) ] } } , { re : /#([a-f0-9])([a-f0-9])([a-f0-9])/ , parse : function ( t ) { return [ parseInt ( t [ 1 ] + t [ 1 ] , 16 ) , parseInt ( t [ 2 ] + t [ 2 ] , 16 ) , parseInt ( t [ 3 ] + t [ 3 ] , 16 ) ] } } , { re : /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/ , space : "hsla" , parse : function ( t ) { return [ t [ 1 ] , t [ 2 ] / 100 , t [ 3 ] / 100 , t [ 4 ] ] } } ] , l = t . Color = function ( e , i , n , s ) { return new t . Color . fn . parse ( e , i , n , s ) } , h = { rgba : { props : { red : { idx : 0 , type : "byte" } , green : { idx : 1 , type : "byte" } , blue : { idx : 2 , type : "byte" } } } , hsla : { props : { hue : { idx : 0 , type : "degrees" } , saturation : { idx : 1 , type : "percent" } , lightness : { idx : 2 , type : "percent" } } } } , u = { byte : { floor : ! 0 , max : 255 } , percent : { max : 1 } , degrees : { mod : 360 , floor : ! 0 } } , d = l . support = { } , c = t ( "<p>" ) [ 0 ] , p = t . each ; c . style . cssText = "background-color:rgba(1,1,1,.5)" , d . rgba = c . style . backgroundColor . indexOf ( "rgba" ) > - 1 , p ( h , function ( t , e ) { e . cache = "_" + t , e . props . alpha = { idx : 3 , type : "percent" , def : 1 } } ) , l . fn = t . extend ( l . prototype , { parse : function ( e , s , a , r ) { if ( void 0 === e ) return this . _rgba = [ null , null , null , null ] , this ; ( e . jquery || e . nodeType ) && ( e = t ( e ) . css ( s ) , s = void 0 ) ; var u = this , d = t . type ( e ) , c = this . _rgba = [ ] ; return void 0 !== s && ( e = [ e , s , a , r ] , d = "array" ) , "string" === d ? this . parse ( n ( e ) || o . _default ) : "array" === d ? ( p ( h . rgba . props , function ( t , n ) { c [ n . idx ] = i ( e [ n . idx ] , n ) } ) , this ) : "object" === d ? ( e instanceof l ? p ( h , function ( t , i ) { e [ i . cache ] && ( u [ i . cache ] = e [ i . cache ] . slice ( ) ) } ) : p ( h , function ( n , s ) { var o = s . cache ; p ( s . props , function ( t , n ) { if ( ! u [ o ] && s . to ) { if ( "alpha" === t || null == e [ t ] ) return ; u [ o ] = s . to ( u . _rgba ) } u [ o ] [ n . idx ] = i ( e [ t ] , n , ! 0 ) } ) , u [ o ] && t . inArray ( null , u [ o ] . slice ( 0 , 3 ) ) < 0 && ( u [ o ] [ 3 ] = 1 , s . from && ( u . _rgba = s . from ( u [ o ] ) ) ) } ) , this ) : void 0 } , is : function ( t ) { var e = l ( t ) , i = ! 0 , n = this ; return p ( h , function ( t , s ) { var o , a = e [ s . cache ] ; return a && ( o = n [ s . cache ] || s . to && s . to ( n . _rgba ) || [ ] , p ( s . props , function ( t , e ) { if ( null != a [ e . idx ] ) return i = a [ e . idx ] === o [ e . idx ] } ) ) , i } ) , i } , _space : function ( ) { var t = [ ] , e = this ; return p ( h , function ( i , n ) { e [ n . cache ] && t . push ( i ) } ) , t . pop ( ) } , transition : function ( t , e ) { var n = l ( t ) , s = n . _space ( ) , o = h [ s ] , a = 0 === this . alpha ( ) ? l ( "transparent" ) : this , r = a [ o . cache ] || o . to ( a . _rgba ) , d = r . slice ( ) ; return n = n [ o . cache ] , p ( o . props , function ( t , s ) { var o = s . idx , a = r [ o ] , l = n [ o ] , h = u [ s . type ] || { } ; null !== l && ( null === a ? d [ o ] = l : ( h . mod && ( l - a > h . mod / 2 ? a += h . mod : a - l > h . mod / 2 && ( a -= h . mod ) ) , d [ o ] = i ( ( l - a ) * e + a , s ) ) ) } ) , this [ s ] ( d ) } , blend : function ( e ) { if ( 1 === this . _rgba [ 3 ] ) return this ; var i = this . _rgba . slice ( ) , n = i . pop ( ) , s = l ( e ) . _rgba ; return l ( t . map ( i , function ( t , e ) { return ( 1 - n ) * s [ e ] + n * t } ) ) } , toRgbaString : function ( ) { var e = "rgba(" , i = t . map ( this . _rgba , function ( t , e ) { return null == t ? e > 2 ? 1 : 0 : t } ) ; return 1 === i [ 3 ] && ( i . pop ( ) , e = "rgb(" ) , e + i . join ( ) + ")" } , toHslaString : function ( ) { var e = "hsla(" , i = t . map ( this . hsla ( ) , function ( t , e ) { return null == t && ( t = e > 2 ? 1 : 0 ) , e && e < 3 && ( t = Math . round ( 100 * t ) + "%" ) , t } ) ; return 1 === i [ 3 ] && ( i . pop ( ) , e = "hsl(" ) , e + i . join ( ) + ")" } , toHexString : function ( e ) { var i = this . _rgba . slice ( ) , n = i . pop ( ) ; return e && i . push ( ~ ~ ( 255 * n ) ) , "#" + t . map ( i , function ( t ) { return t = ( t || 0 ) . toString ( 16 ) , 1 === t . length ? "0" + t : t } ) . join ( "" ) } , toString : function ( ) { return 0 === this . _rgba [ 3 ] ? "transparent" : this . toRgbaString ( ) } } ) , l . fn . parse . prototype = l . fn , h . hsla . to = function ( t ) { if ( null == t [ 0 ] || null == t [ 1 ] || null == t [ 2 ] ) return [ null , null , null , t [ 3 ] ] ; var e , i , n = t [ 0 ] / 255 , s = t [ 1 ] / 255 , o = t [ 2 ] / 255 , a = t [ 3 ] , r = Math . max ( n , s , o ) , l = Math . min ( n , s , o ) , h = r - l , u = r + l , d = . 5 * u ; return e = l === r ? 0 : n === r ? 60 * ( s - o ) / h + 360 : s === r ? 60 * ( o - n ) / h + 120 : 60 * ( n - s ) / h + 240 , i = 0 === h ? 0 : d <= . 5 ? h / u : h / ( 2 - u ) , [ Math . round ( e ) % 360 , i , d , null == a ? 1 : a ] } , h . hsla . from = function ( t ) { if ( null == t [ 0 ] || null == t [ 1 ] || null == t [ 2 ] ) r
this . _addClass ( this . active , "ui-accordion-header-active" , "ui-state-active" ) . _removeClass ( this . active , "ui-accordion-header-collapsed" ) , this . _addClass ( this . active . next ( ) , "ui-accordion-content-active" ) , this . active . next ( ) . show ( ) , this . headers . attr ( "role" , "tab" ) . each ( function ( ) { var e = t ( this ) , i = e . uniqueId ( ) . attr ( "id" ) , n = e . next ( ) , s = n . uniqueId ( ) . attr ( "id" ) ; e . attr ( "aria-controls" , s ) , n . attr ( "aria-labelledby" , i ) } ) . next ( ) . attr ( "role" , "tabpanel" ) , this . headers . not ( this . active ) . attr ( { "aria-selected" : "false" , "aria-expanded" : "false" , tabIndex : - 1 } ) . next ( ) . attr ( { "aria-hidden" : "true" } ) . hide ( ) , this . active . length ? this . active . attr ( { "aria-selected" : "true" , "aria-expanded" : "true" , tabIndex : 0 } ) . next ( ) . attr ( { "aria-hidden" : "false" } ) : this . headers . eq ( 0 ) . attr ( "tabIndex" , 0 ) , this . _createIcons ( ) , this . _setupEvents ( i . event ) , "fill" === n ? ( e = s . height ( ) , this . element . siblings ( ":visible" ) . each ( function ( ) { var i = t ( this ) , n = i . css ( "position" ) ; "absolute" !== n && "fixed" !== n && ( e -= i . outerHeight ( ! 0 ) ) } ) , this . headers . each ( function ( ) { e -= t ( this ) . outerHeight ( ! 0 ) } ) , this . headers . next ( ) . each ( function ( ) { t ( this ) . height ( Math . max ( 0 , e - t ( this ) . innerHeight ( ) + t ( this ) . height ( ) ) ) } ) . css ( "overflow" , "auto" ) ) : "auto" === n && ( e = 0 , this . headers . next ( ) . each ( function ( ) { var i = t ( this ) . is ( ":visible" ) ; i || t ( this ) . show ( ) , e = Math . max ( e , t ( this ) . css ( "height" , "" ) . height ( ) ) , i || t ( this ) . hide ( ) } ) . height ( e ) ) } , _activate : function ( e ) { var i = this . _findActive ( e ) [ 0 ] ; i !== this . active [ 0 ] && ( i = i || this . active [ 0 ] , this . _eventHandler ( { target : i , currentTarget : i , preventDefault : t . noop } ) ) } , _findActive : function ( e ) { return "number" == typeof e ? this . headers . eq ( e ) : t ( ) } , _setupEvents : function ( e ) { var i = { keydown : "_keydown" } ; e && t . each ( e . split ( " " ) , function ( t , e ) { i [ e ] = "_eventHandler" } ) , this . _off ( this . headers . add ( this . headers . next ( ) ) ) , this . _on ( this . headers , i ) , this . _on ( this . headers . next ( ) , { keydown : "_panelKeyDown" } ) , this . _hoverable ( this . headers ) , this . _focusable ( this . headers ) } , _eventHandler : function ( e ) { var i , n , s = this . options , o = this . active , a = t ( e . currentTarget ) , r = a [ 0 ] === o [ 0 ] , l = r && s . collapsible , h = l ? t ( ) : a . next ( ) , u = o . next ( ) , d = { oldHeader : o , oldPanel : u , newHeader : l ? t ( ) : a , newPanel : h } ; e . preventDefault ( ) , r && ! s . collapsible || ! 1 === this . _trigger ( "beforeActivate" , e , d ) || ( s . active = ! l && this . headers . index ( a ) , this . active = r ? t ( ) : a , this . _toggle ( d ) , this . _removeClass ( o , "ui-accordion-header-active" , "ui-state-active" ) , s . icons && ( i = o . children ( ".ui-accordion-header-icon" ) , this . _removeClass ( i , null , s . icons . activeHeader ) . _addClass ( i , null , s . icons . header ) ) , r || ( this . _removeClass ( a , "ui-accordion-header-collapsed" ) . _addClass ( a , "ui-accordion-header-active" , "ui-state-active" ) , s . icons && ( n = a . children ( ".ui-accordion-header-icon" ) , this . _removeClass ( n , null , s . icons . header ) . _addClass ( n , null , s . icons . activeHeader ) ) , this . _addClass ( a . next ( ) , "ui-accordion-content-active" ) ) ) } , _toggle : function ( e ) { var i = e . newPanel , n = this . prevShow . length ? this . prevShow : e . oldPanel ; this . prevShow . add ( this . prevHide ) . stop ( ! 0 , ! 0 ) , this . prevShow = i , this . prevHide = n , this . options . animate ? this . _animate ( i , n , e ) : ( n . hide ( ) , i . show ( ) , this . _toggleComplete ( e ) ) , n . attr ( { "aria-hidden" : "true" } ) , n . prev ( ) . attr ( { "aria-selected" : "false" , "aria-expanded" : "false" } ) , i . length && n . length ? n . prev ( ) . attr ( { tabIndex : - 1 , "aria-expanded" : "false" } ) : i . length && this . headers . filter ( function ( ) { return 0 === parseInt ( t ( this ) . attr ( "tabIndex" ) , 10 ) } ) . attr ( "tabIndex" , - 1 ) , i . attr ( "aria-hidden" , "false" ) . prev ( ) . attr ( { "aria-selected" : "true" , "aria-expanded" : "true" , tabIndex : 0 } ) } , _animate : function ( t , e , i ) { var n , s , o , a = this , r = 0 , l = t . css ( "box-sizing" ) , h = t . length && ( ! e . length || t . index ( ) < e . index ( ) ) , u = this . options . animate || { } , d = h && u . down || u , c = function ( ) { a . _toggleComplete ( i ) } ; return "number" == typeof d && ( o = d ) , "string" == typeof d && ( s = d ) , s = s || d . easing || u . easing , o = o || d . duration || u . duration , e . length ? t . length ? ( n = t . show ( ) . outerHeight ( ) , e . animate ( this . hideProps , { duration : o , easing : s , step : function ( t , e ) { e . now = Math . round ( t ) } } ) , void t . hide ( ) . animate ( this . showProps , { duration : o , easing : s , complete : c , step : function ( t , i ) { i . now = Math . round ( t ) , "height" !== i . prop ? "content-box" === l && ( r += i . now ) : "content" !== a . options . heightStyle && ( i . now = Math . round ( n - e . outerHeight ( ) - r ) , r = 0 ) } } ) ) : e . animate ( this . hideProps , o , s , c ) : t . animate ( this . showProps , o , s , c ) } ,
this . options . showLabel || this . _addClass ( "ui-button-icon-only" ) ) , n && this . _addClass ( this . icon , null , i ) , this . _attachIcon ( s ) , o ? ( this . _addClass ( this . icon , null , "ui-widget-icon-block" ) , this . iconSpace && this . iconSpace . remove ( ) ) : ( this . iconSpace || ( this . iconSpace = t ( "<span> </span>" ) , this . _addClass ( this . iconSpace , "ui-button-icon-space" ) ) , this . _removeClass ( this . icon , null , "ui-wiget-icon-block" ) , this . _attachIconSpace ( s ) ) } , _destroy : function ( ) { this . element . removeAttr ( "role" ) , this . icon && this . icon . remove ( ) , this . iconSpace && this . iconSpace . remove ( ) , this . hasTitle || this . element . removeAttr ( "title" ) } , _attachIconSpace : function ( t ) { this . icon [ /^(?:end|bottom)/ . test ( t ) ? "before" : "after" ] ( this . iconSpace ) } , _attachIcon : function ( t ) { this . element [ /^(?:end|bottom)/ . test ( t ) ? "append" : "prepend" ] ( this . icon ) } , _setOptions : function ( t ) { var e = void 0 === t . showLabel ? this . options . showLabel : t . showLabel , i = void 0 === t . icon ? this . options . icon : t . icon ; e || i || ( t . showLabel = ! 0 ) , this . _super ( t ) } , _setOption : function ( t , e ) { "icon" === t && ( e ? this . _updateIcon ( t , e ) : this . icon && ( this . icon . remove ( ) , this . iconSpace && this . iconSpace . remove ( ) ) ) , "iconPosition" === t && this . _updateIcon ( t , e ) , "showLabel" === t && ( this . _toggleClass ( "ui-button-icon-only" , null , ! e ) , this . _updateTooltip ( ) ) , "label" === t && ( this . isInput ? this . element . val ( e ) : ( this . element . html ( e ) , this . icon && ( this . _attachIcon ( this . options . iconPosition ) , this . _attachIconSpace ( this . options . iconPosition ) ) ) ) , this . _super ( t , e ) , "disabled" === t && ( this . _toggleClass ( null , "ui-state-disabled" , e ) , this . element [ 0 ] . disabled = e , e && this . element . blur ( ) ) } , refresh : function ( ) { var t = this . element . is ( "input, button" ) ? this . element [ 0 ] . disabled : this . element . hasClass ( "ui-button-disabled" ) ; t !== this . options . disabled && this . _setOptions ( { disabled : t } ) , this . _updateTooltip ( ) } } ) , ! 1 !== t . uiBackCompat && ( t . widget ( "ui.button" , t . ui . button , { options : { text : ! 0 , icons : { primary : null , secondary : null } } , _create : function ( ) { this . options . showLabel && ! this . options . text && ( this . options . showLabel = this . options . text ) , ! this . options . showLabel && this . options . text && ( this . options . text = this . options . showLabel ) , this . options . icon || ! this . options . icons . primary && ! this . options . icons . secondary ? this . options . icon && ( this . options . icons . primary = this . options . icon ) : this . options . icons . primary ? this . options . icon = this . options . icons . primary : ( this . options . icon = this . options . icons . secondary , this . options . iconPosition = "end" ) , this . _super ( ) } , _setOption : function ( t , e ) { if ( "text" === t ) return void this . _super ( "showLabel" , e ) ; "showLabel" === t && ( this . options . text = e ) , "icon" === t && ( this . options . icons . primary = e ) , "icons" === t && ( e . primary ? ( this . _super ( "icon" , e . primary ) , this . _super ( "iconPosition" , "beginning" ) ) : e . secondary && ( this . _super ( "icon" , e . secondary ) , this . _super ( "iconPosition" , "end" ) ) ) , this . _superApply ( arguments ) } } ) , t . fn . button = function ( e ) { return function ( ) { return ! this . length || this . length && "INPUT" !== this [ 0 ] . tagName || this . length && "INPUT" === this [ 0 ] . tagName && "checkbox" !== this . attr ( "type" ) && "radio" !== this . attr ( "type" ) ? e . apply ( this , arguments ) : ( t . ui . checkboxradio || t . error ( "Checkboxradio widget missing" ) , 0 === arguments . length ? this . checkboxradio ( { icon : ! 1 } ) : this . checkboxradio . apply ( this , arguments ) ) } } ( t . fn . button ) , t . fn . buttonset = function ( ) { return t . ui . controlgroup || t . error ( "Controlgroup widget missing" ) , "option" === arguments [ 0 ] && "items" === arguments [ 1 ] && arguments [ 2 ] ? this . controlgroup . apply ( this , [ arguments [ 0 ] , "items.button" , arguments [ 2 ] ] ) : "option" === arguments [ 0 ] && "items" === arguments [ 1 ] ? this . controlgroup . apply ( this , [ arguments [ 0 ] , "items.button" ] ) : ( "object" == typeof arguments [ 0 ] && arguments [ 0 ] . items && ( arguments [ 0 ] . items = { button : arguments [ 0 ] . items } ) , this . controlgroup . apply ( this , arguments ) ) } ) ; t . ui . button ; t . extend ( t . ui , { datepicker : { version : "1.12.1" } } ) ; var p ; t . extend ( n . prototype , { markerClassName : "hasDatepicker" , maxRows : 4 , _widgetDatepicker : function ( ) { return this . dpDiv } , setDefaults : function ( t ) { return a ( this . _defaults , t || { } ) , this } , _attachDatepicker : function ( e , i ) { var n , s , o ; n = e . nodeName . toLowerCase ( ) , s = "div" === n || "span" === n , e . id || ( this . uuid += 1 , e . id = "dp" + this . uuid ) , o = this . _newInst ( t ( e ) , s ) , o . settings = t . extend ( { } , i || { } ) , "input" === n ? this . _connectDatepicker ( e , o ) : s && this . _inlineDatepicker ( e , o ) } , _newInst : fu
S += "</tbody></table>" + ( X ? "</div>" + ( q [ 0 ] > 0 && C === q [ 1 ] - 1 ? "<div class='ui-datepicker-row-break'></div>" : "" ) : "" ) , k += S } y += k } return y += h , t . _keyEvent = ! 1 , y } , _generateMonthYearHeader : function ( t , e , i , n , s , o , a , r ) { var l , h , u , d , c , p , f , g , m = this . _get ( t , "changeMonth" ) , v = this . _get ( t , "changeYear" ) , b = this . _get ( t , "showMonthAfterYear" ) , _ = "<div class='ui-datepicker-title'>" , y = "" ; if ( o || ! m ) y += "<span class='ui-datepicker-month'>" + a [ e ] + "</span>" ; else { for ( l = n && n . getFullYear ( ) === i , h = s && s . getFullYear ( ) === i , y += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>" , u = 0 ; u < 12 ; u ++ ) ( ! l || u >= n . getMonth ( ) ) && ( ! h || u <= s . getMonth ( ) ) && ( y += "<option value='" + u + "'" + ( u === e ? " selected='selected'" : "" ) + ">" + r [ u ] + "</option>" ) ; y += "</select>" } if ( b || ( _ += y + ( ! o && m && v ? "" : " " ) ) , ! t . yearshtml ) if ( t . yearshtml = "" , o || ! v ) _ += "<span class='ui-datepicker-year'>" + i + "</span>" ; else { for ( d = this . _get ( t , "yearRange" ) . split ( ":" ) , c = ( new Date ) . getFullYear ( ) , p = function ( t ) { var e = t . match ( /c[+\-].*/ ) ? i + parseInt ( t . substring ( 1 ) , 10 ) : t . match ( /[+\-].*/ ) ? c + parseInt ( t , 10 ) : parseInt ( t , 10 ) ; return isNaN ( e ) ? c : e } , f = p ( d [ 0 ] ) , g = Math . max ( f , p ( d [ 1 ] || "" ) ) , f = n ? Math . max ( f , n . getFullYear ( ) ) : f , g = s ? Math . min ( g , s . getFullYear ( ) ) : g , t . yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>" ; f <= g ; f ++ ) t . yearshtml += "<option value='" + f + "'" + ( f === i ? " selected='selected'" : "" ) + ">" + f + "</option>" ; t . yearshtml += "</select>" , _ += t . yearshtml , t . yearshtml = null } return _ += this . _get ( t , "yearSuffix" ) , b && ( _ += ( ! o && m && v ? "" : " " ) + y ) , _ += "</div>" } , _adjustInstDate : function ( t , e , i ) { var n = t . selectedYear + ( "Y" === i ? e : 0 ) , s = t . selectedMonth + ( "M" === i ? e : 0 ) , o = Math . min ( t . selectedDay , this . _getDaysInMonth ( n , s ) ) + ( "D" === i ? e : 0 ) , a = this . _restrictMinMax ( t , this . _daylightSavingAdjust ( new Date ( n , s , o ) ) ) ; t . selectedDay = a . getDate ( ) , t . drawMonth = t . selectedMonth = a . getMonth ( ) , t . drawYear = t . selectedYear = a . getFullYear ( ) , "M" !== i && "Y" !== i || this . _notifyChange ( t ) } , _restrictMinMax : function ( t , e ) { var i = this . _getMinMaxDate ( t , "min" ) , n = this . _getMinMaxDate ( t , "max" ) , s = i && e < i ? i : e ; return n && s > n ? n : s } , _notifyChange : function ( t ) { var e = this . _get ( t , "onChangeMonthYear" ) ; e && e . apply ( t . input ? t . input [ 0 ] : null , [ t . selectedYear , t . selectedMonth + 1 , t ] ) } , _getNumberOfMonths : function ( t ) { var e = this . _get ( t , "numberOfMonths" ) ; return null == e ? [ 1 , 1 ] : "number" == typeof e ? [ 1 , e ] : e } , _getMinMaxDate : function ( t , e ) { return this . _determineDate ( t , this . _get ( t , e + "Date" ) , null ) } , _getDaysInMonth : function ( t , e ) { return 32 - this . _daylightSavingAdjust ( new Date ( t , e , 32 ) ) . getDate ( ) } , _getFirstDayOfMonth : function ( t , e ) { return new Date ( t , e , 1 ) . getDay ( ) } , _canAdjustMonth : function ( t , e , i , n ) { var s = this . _getNumberOfMonths ( t ) , o = this . _daylightSavingAdjust ( new Date ( i , n + ( e < 0 ? e : s [ 0 ] * s [ 1 ] ) , 1 ) ) ; return e < 0 && o . setDate ( this . _getDaysInMonth ( o . getFullYear ( ) , o . getMonth ( ) ) ) , this . _isInRange ( t , o ) } , _isInRange : function ( t , e ) { var i , n , s = this . _getMinMaxDate ( t , "min" ) , o = this . _getMinMaxDate ( t , "max" ) , a = null , r = null , l = this . _get ( t , "yearRange" ) ; return l && ( i = l . split ( ":" ) , n = ( new Date ) . getFullYear ( ) , a = parseInt ( i [ 0 ] , 10 ) , r = parseInt ( i [ 1 ] , 10 ) , i [ 0 ] . match ( /[+\-].*/ ) && ( a += n ) , i [ 1 ] . match ( /[+\-].*/ ) && ( r += n ) ) , ( ! s || e . getTime ( ) >= s . getTime ( ) ) && ( ! o || e . getTime ( ) <= o . getTime ( ) ) && ( ! a || e . getFullYear ( ) >= a ) && ( ! r || e . getFullYear ( ) <= r ) } , _getFormatConfig : function ( t ) { var e = this . _get ( t , "shortYearCutoff" ) ; return e = "string" != typeof e ? e : ( new Date ) . getFullYear ( ) % 100 + parseInt ( e , 10 ) , { shortYearCutoff : e , dayNamesShort : this . _get ( t , "dayNamesShort" ) , dayNames : this . _get ( t , "dayNames" ) , monthNamesShort : this . _get ( t , "monthNamesShort" ) , monthNames : this . _get ( t , "monthNames" ) } } , _formatDate : function ( t , e , i , n ) { e || ( t . currentDay = t . selectedDay , t . currentMonth = t . selectedMonth , t . currentYear = t . selectedYear ) ; var s = e ? "object" == typeof e ? e : this . _daylightSavingAdjust ( new Date ( n , i , e ) ) : this . _daylightSavingAdjust ( new Date ( t . currentYear , t . currentMonth , t . currentDay ) ) ; return this . formatDate ( this . _get ( t , "dateFormat" ) , s , this . _getFormatConfig ( t ) ) } } ) , t . fn . datepicker = function ( e ) { if ( ! this . length ) return this ; t . datepicker . initialized || ( t ( document ) . on ( "mousedown" , t . datepicker . _checkExternalClick ) , t . datepicker . initialized = ! 0 ) , 0 === t ( "#" + t . datepicker . _mainDivId ) . length && t ( "body" ) . append ( t . datepicker . dpDiv ) ; var i = Array .
s = t ( ".ui-resizable-" + this . axis ) . css ( "cursor" ) , t ( "body" ) . css ( "cursor" , "auto" === s ? this . axis + "-resize" : s ) , this . _addClass ( "ui-resizable-resizing" ) , this . _propagate ( "start" , e ) , ! 0 } , _mouseDrag : function ( e ) { var i , n , s = this . originalMousePosition , o = this . axis , a = e . pageX - s . left || 0 , r = e . pageY - s . top || 0 , l = this . _change [ o ] ; return this . _updatePrevProperties ( ) , ! ! l && ( i = l . apply ( this , [ e , a , r ] ) , this . _updateVirtualBoundaries ( e . shiftKey ) , ( this . _aspectRatio || e . shiftKey ) && ( i = this . _updateRatio ( i , e ) ) , i = this . _respectSize ( i , e ) , this . _updateCache ( i ) , this . _propagate ( "resize" , e ) , n = this . _applyChanges ( ) , ! this . _helper && this . _proportionallyResizeElements . length && this . _proportionallyResize ( ) , t . isEmptyObject ( n ) || ( this . _updatePrevProperties ( ) , this . _trigger ( "resize" , e , this . ui ( ) ) , this . _applyChanges ( ) ) , ! 1 ) } , _mouseStop : function ( e ) { this . resizing = ! 1 ; var i , n , s , o , a , r , l , h = this . options , u = this ; return this . _helper && ( i = this . _proportionallyResizeElements , n = i . length && /textarea/i . test ( i [ 0 ] . nodeName ) , s = n && this . _hasScroll ( i [ 0 ] , "left" ) ? 0 : u . sizeDiff . height , o = n ? 0 : u . sizeDiff . width , a = { width : u . helper . width ( ) - o , height : u . helper . height ( ) - s } , r = parseFloat ( u . element . css ( "left" ) ) + ( u . position . left - u . originalPosition . left ) || null , l = parseFloat ( u . element . css ( "top" ) ) + ( u . position . top - u . originalPosition . top ) || null , h . animate || this . element . css ( t . extend ( a , { top : l , left : r } ) ) , u . helper . height ( u . size . height ) , u . helper . width ( u . size . width ) , this . _helper && ! h . animate && this . _proportionallyResize ( ) ) , t ( "body" ) . css ( "cursor" , "auto" ) , this . _removeClass ( "ui-resizable-resizing" ) , this . _propagate ( "stop" , e ) , this . _helper && this . helper . remove ( ) , ! 1 } , _updatePrevProperties : function ( ) { this . prevPosition = { top : this . position . top , left : this . position . left } , this . prevSize = { width : this . size . width , height : this . size . height } } , _applyChanges : function ( ) { var t = { } ; return this . position . top !== this . prevPosition . top && ( t . top = this . position . top + "px" ) , this . position . left !== this . prevPosition . left && ( t . left = this . position . left + "px" ) , this . size . width !== this . prevSize . width && ( t . width = this . size . width + "px" ) , this . size . height !== this . prevSize . height && ( t . height = this . size . height + "px" ) , this . helper . css ( t ) , t } , _updateVirtualBoundaries : function ( t ) { var e , i , n , s , o , a = this . options ; o = { minWidth : this . _isNumber ( a . minWidth ) ? a . minWidth : 0 , maxWidth : this . _isNumber ( a . maxWidth ) ? a . maxWidth : 1 / 0 , minHeight : this . _isNumber ( a . minHeight ) ? a . minHeight : 0 , maxHeight : this . _isNumber ( a . maxHeight ) ? a . maxHeight : 1 / 0 } , ( this . _aspectRatio || t ) && ( e = o . minHeight * this . aspectRatio , n = o . minWidth / this . aspectRatio , i = o . maxHeight * this . aspectRatio , s = o . maxWidth / this . aspectRatio , e > o . minWidth && ( o . minWidth = e ) , n > o . minHeight && ( o . minHeight = n ) , i < o . maxWidth && ( o . maxWidth = i ) , s < o . maxHeight && ( o . maxHeight = s ) ) , this . _vBoundaries = o } , _updateCache : function ( t ) { this . offset = this . helper . offset ( ) , this . _isNumber ( t . left ) && ( this . position . left = t . left ) , this . _isNumber ( t . top ) && ( this . position . top = t . top ) , this . _isNumber ( t . height ) && ( this . size . height = t . height ) , this . _isNumber ( t . width ) && ( this . size . width = t . width ) } , _updateRatio : function ( t ) { var e = this . position , i = this . size , n = this . axis ; return this . _isNumber ( t . height ) ? t . width = t . height * this . aspectRatio : this . _isNumber ( t . width ) && ( t . height = t . width / this . aspectRatio ) , "sw" === n && ( t . left = e . left + ( i . width - t . width ) , t . top = null ) , "nw" === n && ( t . top = e . top + ( i . height - t . height ) , t . left = e . left + ( i . width - t . width ) ) , t } , _respectSize : function ( t ) { var e = this . _vBoundaries , i = this . axis , n = this . _isNumber ( t . width ) && e . maxWidth && e . maxWidth < t . width , s = this . _isNumber ( t . height ) && e . maxHeight && e . maxHeight < t . height , o = this . _isNumber ( t . width ) && e . minWidth && e . minWidth > t . width , a = this . _isNumber ( t . height ) && e . minHeight && e . minHeight > t . height , r = this . originalPosition . left + this . originalSize . width , l = this . originalPosition . top + this . originalSize . height , h = /sw|nw|w/ . test ( i ) , u = /nw|ne|n/ . test ( i ) ; return o && ( t . width = e . minWidth ) , a && ( t . height = e . minHeight ) , n && ( t . width = e . maxWidth ) , s && ( t . height = e . maxHeight ) , o && h && ( t . left = r - e . minWidth ) , n && h && ( t . left = r - e . maxWidth ) , a && u && ( t . top = l - e . minHeight ) , s && u && ( t . top = l - e . maxHeight ) , t . width || t . height || t . left || ! t . top ? t . width || t . height || t . top || ! t . left || ( t . left = null ) : t . top = null , t } , _getPaddingPlusBorderDimensions : function ( t ) { for ( var e = 0 , i = [ ] , n = [ t . css ( "borderTopWidth" ) , t . c
2018-10-03 13:17:08 -07:00
this . element . removeAttr ( "role aria-valuemin aria-valuemax aria-valuenow" ) , this . valueDiv . remove ( ) } , value : function ( t ) { if ( void 0 === t ) return this . options . value ; this . options . value = this . _constrainedValue ( t ) , this . _refreshValue ( ) } , _constrainedValue : function ( t ) { return void 0 === t && ( t = this . options . value ) , this . indeterminate = ! 1 === t , "number" != typeof t && ( t = 0 ) , ! this . indeterminate && Math . min ( this . options . max , Math . max ( this . min , t ) ) } , _setOptions : function ( t ) { var e = t . value ; delete t . value , this . _super ( t ) , this . options . value = this . _constrainedValue ( e ) , this . _refreshValue ( ) } , _setOption : function ( t , e ) { "max" === t && ( e = Math . max ( this . min , e ) ) , this . _super ( t , e ) } , _setOptionDisabled : function ( t ) { this . _super ( t ) , this . element . attr ( "aria-disabled" , t ) , this . _toggleClass ( null , "ui-state-disabled" , ! ! t ) } , _percentage : function ( ) { return this . indeterminate ? 100 : 100 * ( this . options . value - this . min ) / ( this . options . max - this . min ) } , _refreshValue : function ( ) { var e = this . options . value , i = this . _percentage ( ) ; this . valueDiv . toggle ( this . indeterminate || e > this . min ) . width ( i . toFixed ( 0 ) + "%" ) , this . _toggleClass ( this . valueDiv , "ui-progressbar-complete" , null , e === this . options . max ) . _toggleClass ( "ui-progressbar-indeterminate" , null , this . indeterminate ) , this . indeterminate ? ( this . element . removeAttr ( "aria-valuenow" ) , this . overlayDiv || ( this . overlayDiv = t ( "<div>" ) . appendTo ( this . valueDiv ) , this . _addClass ( this . overlayDiv , "ui-progressbar-overlay" ) ) ) : ( this . element . attr ( { "aria-valuemax" : this . options . max , "aria-valuenow" : e } ) , this . overlayDiv && ( this . overlayDiv . remove ( ) , this . overlayDiv = null ) ) , this . oldValue !== e && ( this . oldValue = e , this . _trigger ( "change" ) ) , e === this . options . max && this . _trigger ( "complete" ) } } ) , t . widget ( "ui.selectable" , t . ui . mouse , { version : "1.12.1" , options : { appendTo : "body" , autoRefresh : ! 0 , distance : 0 , filter : "*" , tolerance : "touch" , selected : null , selecting : null , start : null , stop : null , unselected : null , unselecting : null } , _create : function ( ) { var e = this ; this . _addClass ( "ui-selectable" ) , this . dragged = ! 1 , this . refresh = function ( ) { e . elementPos = t ( e . element [ 0 ] ) . offset ( ) , e . selectees = t ( e . options . filter , e . element [ 0 ] ) , e . _addClass ( e . selectees , "ui-selectee" ) , e . selectees . each ( function ( ) { var i = t ( this ) , n = i . offset ( ) , s = { left : n . left - e . elementPos . left , top : n . top - e . elementPos . top } ; t . data ( this , "selectable-item" , { element : this , $element : i , left : s . left , top : s . top , right : s . left + i . outerWidth ( ) , bottom : s . top + i . outerHeight ( ) , startselected : ! 1 , selected : i . hasClass ( "ui-selected" ) , selecting : i . hasClass ( "ui-selecting" ) , unselecting : i . hasClass ( "ui-unselecting" ) } ) } ) } , this . refresh ( ) , this . _mouseInit ( ) , this . helper = t ( "<div>" ) , this . _addClass ( this . helper , "ui-selectable-helper" ) } , _destroy : function ( ) { this . selectees . removeData ( "selectable-item" ) , this . _mouseDestroy ( ) } , _mouseStart : function ( e ) { var i = this , n = this . options ; this . opos = [ e . pageX , e . pageY ] , this . elementPos = t ( this . element [ 0 ] ) . offset ( ) , this . options . disabled || ( this . selectees = t ( n . filter , this . element [ 0 ] ) , this . _trigger ( "start" , e ) , t ( n . appendTo ) . append ( this . helper ) , this . helper . css ( { left : e . pageX , top : e . pageY , width : 0 , height : 0 } ) , n . autoRefresh && this . refresh ( ) , this . selectees . filter ( ".ui-selected" ) . each ( function ( ) { var n = t . data ( this , "selectable-item" ) ; n . startselected = ! 0 , e . metaKey || e . ctrlKey || ( i . _removeClass ( n . $element , "ui-selected" ) , n . selected = ! 1 , i . _addClass ( n . $element , "ui-unselecting" ) , n . unselecting = ! 0 , i . _trigger ( "unselecting" , e , { unselecting : n . element } ) ) } ) , t ( e . target ) . parents ( ) . addBack ( ) . each ( function ( ) { var n , s = t . data ( this , "selectable-item" ) ; if ( s ) return n = ! e . metaKey && ! e . ctrlKey || ! s . $element . hasClass ( "ui-selected" ) , i . _removeClass ( s . $element , n ? "ui-unselecting" : "ui-selected" ) . _addClass ( s . $element , n ? "ui-selecting" : "ui-unselecting" ) , s . unselecting = ! n , s . selecting = n , s . selected = n , n ? i . _trigger ( "selecting" , e , { selecting : s . element } ) : i . _trigger ( "unselecting" , e , { unselecting : s . element } ) , ! 1 } ) ) } , _mouseDrag : function ( e ) { if ( this . dragged = ! 0 , ! this . options . disabled ) { var i , n = this , s = this . options , o = this . opos [ 0 ] , a = this . opos [ 1 ] , r = e . pageX , l = e . pageY ; return o > r && ( i = r , r = o , o = i ) , a > l && ( i = l , l = a , a = i ) , this . helper . css ( { left : o , top : a , width : r - o , height : l - a } ) , this . selectees . each ( function ( ) { var i = t . data ( this , "selectable-item" ) , h = ! 1 , u = { } ; i && i . element !== n . element [ 0 ] && ( u . left = i . left + n . elementPos . left ,
2018-10-04 23:50:57 -07:00
o && "y" !== o || ( a . top = s . top - this . offset . parent . top - this . margins . top + ( this . offsetParent [ 0 ] === this . document [ 0 ] . body ? 0 : this . offsetParent [ 0 ] . scrollTop ) ) , this . reverting = ! 0 , t ( this . helper ) . animate ( a , parseInt ( this . options . revert , 10 ) || 500 , function ( ) { n . _clear ( e ) } ) } else this . _clear ( e , i ) ; return ! 1 } } , cancel : function ( ) { if ( this . dragging ) { this . _mouseUp ( new t . Event ( "mouseup" , { target : null } ) ) , "original" === this . options . helper ? ( this . currentItem . css ( this . _storedCSS ) , this . _removeClass ( this . currentItem , "ui-sortable-helper" ) ) : this . currentItem . show ( ) ; for ( var e = this . containers . length - 1 ; e >= 0 ; e -- ) this . containers [ e ] . _trigger ( "deactivate" , null , this . _uiHash ( this ) ) , this . containers [ e ] . containerCache . over && ( this . containers [ e ] . _trigger ( "out" , null , this . _uiHash ( this ) ) , this . containers [ e ] . containerCache . over = 0 ) } return this . placeholder && ( this . placeholder [ 0 ] . parentNode && this . placeholder [ 0 ] . parentNode . removeChild ( this . placeholder [ 0 ] ) , "original" !== this . options . helper && this . helper && this . helper [ 0 ] . parentNode && this . helper . remove ( ) , t . extend ( this , { helper : null , dragging : ! 1 , reverting : ! 1 , _noFinalSort : null } ) , this . domPosition . prev ? t ( this . domPosition . prev ) . after ( this . currentItem ) : t ( this . domPosition . parent ) . prepend ( this . currentItem ) ) , this } , serialize : function ( e ) { var i = this . _getItemsAsjQuery ( e && e . connected ) , n = [ ] ; return e = e || { } , t ( i ) . each ( function ( ) { var i = ( t ( e . item || this ) . attr ( e . attribute || "id" ) || "" ) . match ( e . expression || /(.+)[\-=_](.+)/ ) ; i && n . push ( ( e . key || i [ 1 ] + "[]" ) + "=" + ( e . key && e . expression ? i [ 1 ] : i [ 2 ] ) ) } ) , ! n . length && e . key && n . push ( e . key + "=" ) , n . join ( "&" ) } , toArray : function ( e ) { var i = this . _getItemsAsjQuery ( e && e . connected ) , n = [ ] ; return e = e || { } , i . each ( function ( ) { n . push ( t ( e . item || this ) . attr ( e . attribute || "id" ) || "" ) } ) , n } , _intersectsWith : function ( t ) { var e = this . positionAbs . left , i = e + this . helperProportions . width , n = this . positionAbs . top , s = n + this . helperProportions . height , o = t . left , a = o + t . width , r = t . top , l = r + t . height , h = this . offset . click . top , u = this . offset . click . left , d = "x" === this . options . axis || n + h > r && n + h < l , c = "y" === this . options . axis || e + u > o && e + u < a , p = d && c ; return "pointer" === this . options . tolerance || this . options . forcePointerForContainers || "pointer" !== this . options . tolerance && this . helperProportions [ this . floating ? "width" : "height" ] > t [ this . floating ? "width" : "height" ] ? p : o < e + this . helperProportions . width / 2 && i - this . helperProportions . width / 2 < a && r < n + this . helperProportions . height / 2 && s - this . helperProportions . height / 2 < l } , _intersectsWithPointer : function ( t ) { var e , i , n = "x" === this . options . axis || this . _isOverAxis ( this . positionAbs . top + this . offset . click . top , t . top , t . height ) , s = "y" === this . options . axis || this . _isOverAxis ( this . positionAbs . left + this . offset . click . left , t . left , t . width ) ; return ! ( ! n || ! s ) && ( e = this . _getDragVerticalDirection ( ) , i = this . _getDragHorizontalDirection ( ) , this . floating ? "right" === i || "down" === e ? 2 : 1 : e && ( "down" === e ? 2 : 1 ) ) } , _intersectsWithSides : function ( t ) { var e = this . _isOverAxis ( this . positionAbs . top + this . offset . click . top , t . top + t . height / 2 , t . height ) , i = this . _isOverAxis ( this . positionAbs . left + this . offset . click . left , t . left + t . width / 2 , t . width ) , n = this . _getDragVerticalDirection ( ) , s = this . _getDragHorizontalDirection ( ) ; return this . floating && s ? "right" === s && i || "left" === s && ! i : n && ( "down" === n && e || "up" === n && ! e ) } , _getDragVerticalDirection : function ( ) { var t = this . positionAbs . top - this . lastPositionAbs . top ; return 0 !== t && ( t > 0 ? "down" : "up" ) } , _getDragHorizontalDirection : function ( ) { var t = this . positionAbs . left - this . lastPositionAbs . left ; return 0 !== t && ( t > 0 ? "right" : "left" ) } , refresh : function ( t ) { return this . _refreshItems ( t ) , this . _setHandleClassName ( ) , this . refreshPositions ( ) , this } , _connectWith : function ( ) { var t = this . options ; return t . connectWith . constructor === String ? [ t . connectWith ] : t . connectWith } , _getItemsAsjQuery : function ( e ) { function i ( ) { r . push ( this ) } var n , s , o , a , r = [ ] , l = [ ] , h = this . _connectWith ( ) ; if ( h && e ) for ( n = h . length - 1 ; n >= 0 ; n -- ) for ( o = t ( h [ n ] , this . document [ 0 ] ) , s = o . length - 1 ; s >= 0 ; s -- ) ( a = t . data ( o [ s ] , this . widgetFullName ) ) && a !== this && ! a . options . disabled && l . push ( [ t . isFunction ( a . options . items ) ? a . options . items . call ( a . element ) : t ( a . options . items , a . element ) . not ( ".ui-sortable-helper" ) . not ( ".ui-sortable-placeholder" ) , a ] ) ; for ( l . push ( [ t . isFunction ( this . options . items ) ? this . options . items . call (
keydown : "_tabKeydown" } ) , this . _on ( this . panels , { keydown : "_panelKeydown" } ) , this . _focusable ( this . tabs ) , this . _hoverable ( this . tabs ) } , _setupHeightStyle : function ( e ) { var i , n = this . element . parent ( ) ; "fill" === e ? ( i = n . height ( ) , i -= this . element . outerHeight ( ) - this . element . height ( ) , this . element . siblings ( ":visible" ) . each ( function ( ) { var e = t ( this ) , n = e . css ( "position" ) ; "absolute" !== n && "fixed" !== n && ( i -= e . outerHeight ( ! 0 ) ) } ) , this . element . children ( ) . not ( this . panels ) . each ( function ( ) { i -= t ( this ) . outerHeight ( ! 0 ) } ) , this . panels . each ( function ( ) { t ( this ) . height ( Math . max ( 0 , i - t ( this ) . innerHeight ( ) + t ( this ) . height ( ) ) ) } ) . css ( "overflow" , "auto" ) ) : "auto" === e && ( i = 0 , this . panels . each ( function ( ) { i = Math . max ( i , t ( this ) . height ( "" ) . height ( ) ) } ) . height ( i ) ) } , _eventHandler : function ( e ) { var i = this . options , n = this . active , s = t ( e . currentTarget ) , o = s . closest ( "li" ) , a = o [ 0 ] === n [ 0 ] , r = a && i . collapsible , l = r ? t ( ) : this . _getPanelForTab ( o ) , h = n . length ? this . _getPanelForTab ( n ) : t ( ) , u = { oldTab : n , oldPanel : h , newTab : r ? t ( ) : o , newPanel : l } ; e . preventDefault ( ) , o . hasClass ( "ui-state-disabled" ) || o . hasClass ( "ui-tabs-loading" ) || this . running || a && ! i . collapsible || ! 1 === this . _trigger ( "beforeActivate" , e , u ) || ( i . active = ! r && this . tabs . index ( o ) , this . active = a ? t ( ) : o , this . xhr && this . xhr . abort ( ) , h . length || l . length || t . error ( "jQuery UI Tabs: Mismatching fragment identifier." ) , l . length && this . load ( this . tabs . index ( o ) , e ) , this . _toggle ( e , u ) ) } , _toggle : function ( e , i ) { function n ( ) { o . running = ! 1 , o . _trigger ( "activate" , e , i ) } function s ( ) { o . _addClass ( i . newTab . closest ( "li" ) , "ui-tabs-active" , "ui-state-active" ) , a . length && o . options . show ? o . _show ( a , o . options . show , n ) : ( a . show ( ) , n ( ) ) } var o = this , a = i . newPanel , r = i . oldPanel ; this . running = ! 0 , r . length && this . options . hide ? this . _hide ( r , this . options . hide , function ( ) { o . _removeClass ( i . oldTab . closest ( "li" ) , "ui-tabs-active" , "ui-state-active" ) , s ( ) } ) : ( this . _removeClass ( i . oldTab . closest ( "li" ) , "ui-tabs-active" , "ui-state-active" ) , r . hide ( ) , s ( ) ) , r . attr ( "aria-hidden" , "true" ) , i . oldTab . attr ( { "aria-selected" : "false" , "aria-expanded" : "false" } ) , a . length && r . length ? i . oldTab . attr ( "tabIndex" , - 1 ) : a . length && this . tabs . filter ( function ( ) { return 0 === t ( this ) . attr ( "tabIndex" ) } ) . attr ( "tabIndex" , - 1 ) , a . attr ( "aria-hidden" , "false" ) , i . newTab . attr ( { "aria-selected" : "true" , "aria-expanded" : "true" , tabIndex : 0 } ) } , _activate : function ( e ) { var i , n = this . _findActive ( e ) ; n [ 0 ] !== this . active [ 0 ] && ( n . length || ( n = this . active ) , i = n . find ( ".ui-tabs-anchor" ) [ 0 ] , this . _eventHandler ( { target : i , currentTarget : i , preventDefault : t . noop } ) ) } , _findActive : function ( e ) { return ! 1 === e ? t ( ) : this . tabs . eq ( e ) } , _getIndex : function ( e ) { return "string" == typeof e && ( e = this . anchors . index ( this . anchors . filter ( "[href$='" + t . ui . escapeSelector ( e ) + "']" ) ) ) , e } , _destroy : function ( ) { this . xhr && this . xhr . abort ( ) , this . tablist . removeAttr ( "role" ) . off ( this . eventNamespace ) , this . anchors . removeAttr ( "role tabIndex" ) . removeUniqueId ( ) , this . tabs . add ( this . panels ) . each ( function ( ) { t . data ( this , "ui-tabs-destroy" ) ? t ( this ) . remove ( ) : t ( this ) . removeAttr ( "role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded" ) } ) , this . tabs . each ( function ( ) { var e = t ( this ) , i = e . data ( "ui-tabs-aria-controls" ) ; i ? e . attr ( "aria-controls" , i ) . removeData ( "ui-tabs-aria-controls" ) : e . removeAttr ( "aria-controls" ) } ) , this . panels . show ( ) , "content" !== this . options . heightStyle && this . panels . css ( "height" , "" ) } , enable : function ( e ) { var i = this . options . disabled ; ! 1 !== i && ( void 0 === e ? i = ! 1 : ( e = this . _getIndex ( e ) , i = t . isArray ( i ) ? t . map ( i , function ( t ) { return t !== e ? t : null } ) : t . map ( this . tabs , function ( t , i ) { return i !== e ? i : null } ) ) , this . _setOptionDisabled ( i ) ) } , disable : function ( e ) { var i = this . options . disabled ; if ( ! 0 !== i ) { if ( void 0 === e ) i = ! 0 ; else { if ( e = this . _getIndex ( e ) , - 1 !== t . inArray ( e , i ) ) return ; i = t . isArray ( i ) ? t . merge ( [ e ] , i ) . sort ( ) : [ e ] } this . _setOptionDisabled ( i ) } } , load : function ( e , i ) { e = this . _getIndex ( e ) ; var n = this , s = this . tabs . eq ( e ) , o = s . find ( ".ui-tabs-anchor" ) , a = this . _getPanelForTab ( s ) , r = { tab : s , panel : a } , l = function ( t , e ) { "abort" === e && n . panels . stop ( ! 1 , ! 0 ) , n . _removeClass ( s , "ui-tabs-loading" ) , a . removeAttr ( "aria-busy" ) , t === n . xhr && delete n . xhr } ; this . _isLocal ( o [ 0 ] ) || ( this . xhr = t . ajax ( this . _ajaxSettings ( o , i , r ) ) , this . xhr && "canceled" !== this . xhr . statusText && ( this . _addClass ( s , "ui-tabs-loading" ) , a . attr ( " a
i + l > y [ 3 ] && "top" === b . top && ( i -= l , b . top = "bottom" ) ) , "element" !== u && "both" !== u || ( n < y [ 0 ] && ( "right" === b . left ? ( n += h , b . left = "left" ) : "center" === b . left && ( n += h / 2 , b . left = "left" ) ) , n + h > y [ 2 ] && ( "left" === b . left ? ( n -= h , b . left = "right" ) : "center" === b . left && ( n -= h / 2 , b . left = "right" ) ) ) , "string" == typeof r ? r = r . split ( "," ) . map ( function ( t ) { return t . trim ( ) } ) : ! 0 === r && ( r = [ "top" , "left" , "right" , "bottom" ] ) , r = r || [ ] ; var x = [ ] , w = [ ] ; i < y [ 1 ] && ( r . indexOf ( "top" ) >= 0 ? ( i = y [ 1 ] , x . push ( "top" ) ) : w . push ( "top" ) ) , i + l > y [ 3 ] && ( r . indexOf ( "bottom" ) >= 0 ? ( i = y [ 3 ] - l , x . push ( "bottom" ) ) : w . push ( "bottom" ) ) , n < y [ 0 ] && ( r . indexOf ( "left" ) >= 0 ? ( n = y [ 0 ] , x . push ( "left" ) ) : w . push ( "left" ) ) , n + h > y [ 2 ] && ( r . indexOf ( "right" ) >= 0 ? ( n = y [ 2 ] - h , x . push ( "right" ) ) : w . push ( "right" ) ) , x . length && function ( ) { var t = void 0 ; t = void 0 !== e . options . pinnedClass ? e . options . pinnedClass : e . getClass ( "pinned" ) , m . push ( t ) , x . forEach ( function ( e ) { m . push ( t + "-" + e ) } ) } ( ) , w . length && function ( ) { var t = void 0 ; t = void 0 !== e . options . outOfBoundsClass ? e . options . outOfBoundsClass : e . getClass ( "out-of-bounds" ) , m . push ( t ) , w . forEach ( function ( e ) { m . push ( t + "-" + e ) } ) } ( ) , ( x . indexOf ( "left" ) >= 0 || x . indexOf ( "right" ) >= 0 ) && ( b . left = v . left = ! 1 ) , ( x . indexOf ( "top" ) >= 0 || x . indexOf ( "bottom" ) >= 0 ) && ( b . top = v . top = ! 1 ) , v . top === o . top && v . left === o . left && b . top === e . attachment . top && b . left === e . attachment . left || ( e . updateAttachClasses ( b , v ) , e . trigger ( "update" , { attachment : b , targetAttachment : v } ) ) } ) , T ( function ( ) { ! 1 !== e . options . addTargetClasses && p ( e . target , m , g ) , p ( e . element , m , g ) } ) , { top : i , left : n } } } ) ; var O = x . Utils , s = O . getBounds , p = O . updateClasses , T = O . defer ; x . modules . push ( { position : function ( t ) { var e = this , i = t . top , n = t . left , o = this . cache ( "element-bounds" , function ( ) { return s ( e . element ) } ) , a = o . height , r = o . width , l = this . getTargetBounds ( ) , h = i + a , u = n + r , d = [ ] ; i <= l . bottom && h >= l . top && [ "left" , "right" ] . forEach ( function ( t ) { var e = l [ t ] ; e !== n && e !== u || d . push ( t ) } ) , n <= l . right && u >= l . left && [ "top" , "bottom" ] . forEach ( function ( t ) { var e = l [ t ] ; e !== i && e !== h || d . push ( t ) } ) ; var c = [ ] , f = [ ] , g = [ "left" , "top" , "right" , "bottom" ] ; return c . push ( this . getClass ( "abutted" ) ) , g . forEach ( function ( t ) { c . push ( e . getClass ( "abutted" ) + "-" + t ) } ) , d . length && f . push ( this . getClass ( "abutted" ) ) , d . forEach ( function ( t ) { f . push ( e . getClass ( "abutted" ) + "-" + t ) } ) , T ( function ( ) { ! 1 !== e . options . addTargetClasses && p ( e . target , f , c ) , p ( e . element , f , c ) } ) , ! 0 } } ) ; var A = function ( ) { function t ( t , e ) { var i = [ ] , n = ! 0 , s = ! 1 , o = void 0 ; try { for ( var a , r = t [ Symbol . iterator ] ( ) ; ! ( n = ( a = r . next ( ) ) . done ) && ( i . push ( a . value ) , ! e || i . length !== e ) ; n = ! 0 ) ; } catch ( t ) { s = ! 0 , o = t } finally { try { ! n && r . return && r . return ( ) } finally { if ( s ) throw o } } return i } return function ( e , i ) { if ( Array . isArray ( e ) ) return e ; if ( Symbol . iterator in Object ( e ) ) return t ( e , i ) ; throw new TypeError ( "Invalid attempt to destructure non-iterable instance" ) } } ( ) ; return x . modules . push ( { position : function ( t ) { var e = t . top , i = t . left ; if ( this . options . shift ) { var n = this . options . shift ; "function" == typeof this . options . shift && ( n = this . options . shift . call ( this , { top : e , left : i } ) ) ; var s = void 0 , o = void 0 ; if ( "string" == typeof n ) { n = n . split ( " " ) , n [ 1 ] = n [ 1 ] || n [ 0 ] ; var a = n , r = A ( a , 2 ) ; s = r [ 0 ] , o = r [ 1 ] , s = parseFloat ( s , 10 ) , o = parseFloat ( o , 10 ) } else s = n . top , o = n . left ; return e += s , i += o , { top : e , left : i } } } } ) , Y } ) , function ( e ) { e . fn . extend ( { slimScroll : function ( i ) { var n = { width : "auto" , height : "250px" , size : "7px" , color : "#000" , position : "right" , distance : "1px" , start : "top" , opacity : . 4 , alwaysVisible : ! 1 , disableFadeOut : ! 1 , railVisible : ! 1 , railColor : "#333" , railOpacity : . 2 , railDraggable : ! 0 , railClass : "slimScrollRail" , barClass : "slimScrollBar" , wrapperClass : "slimScrollDiv" , allowPageScroll : ! 1 , wheelStep : 20 , touchScrollStep : 200 , borderRadius : "7px" , railBorderRadius : "7px" } , s = e . extend ( n , i ) ; return this . each ( function ( ) { function n ( t ) { if ( h ) { var t = t || window . event , i = 0 ; t . wheelDelta && ( i = - t . wheelDelta / 120 ) , t . detail && ( i = t . detail / 3 ) ; var n = t . target || t . srcTarget || t . srcElement ; e ( n ) . closest ( "." + s . wrapperClass ) . is ( y . parent ( ) ) && o ( i , ! 0 ) , t . preventDefault && ! _ && t . preventDefault ( ) , _ || ( t . returnValue = ! 1 ) } } function o ( t , e , i ) { _ = ! 1 ; var n = t , o = y . outerHeight ( ) - M . outerHeight ( ) ; if ( e && ( n = parseInt ( M . css ( "top" ) ) + t * parseInt ( s . wheelStep ) / 100 * M . outerHeight ( ) , n = Math . min ( Math . max ( n , 0 ) , o ) , n = t > 0 ? Math . ceil ( n ) : Math . floor ( n ) , M . css ( { top : n + "px" } ) ) , g = parseInt ( M . css ( "top" ) ) / ( y . outerHeight ( ) - M . outerHeight ( ) ) , n = g * ( y [ 0 ] . scrollHe
this . value . a = Math . round ( parseInt ( 100 * ( 1 - t ) , 10 ) / 100 * 100 ) / 100 } , toRGB : function ( t , e , i , n ) { 0 === arguments . length && ( t = this . value . h , e = this . value . s , i = this . value . b , n = this . value . a ) , t *= 360 ; var s , o , a , r , l ; return t = t % 360 / 60 , l = i * e , r = l * ( 1 - Math . abs ( t % 2 - 1 ) ) , s = o = a = i - l , t = ~ ~ t , s += [ l , r , 0 , 0 , r , l ] [ t ] , o += [ r , l , l , r , 0 , 0 ] [ t ] , a += [ 0 , 0 , r , l , l , r ] [ t ] , { r : Math . round ( 255 * s ) , g : Math . round ( 255 * o ) , b : Math . round ( 255 * a ) , a : n } } , toHex : function ( t , e , i , n , s ) { arguments . length <= 1 && ( e = this . value . h , i = this . value . s , n = this . value . b , s = this . value . a ) ; var o = "#" , a = this . toRGB ( e , i , n , s ) ; return this . rgbaIsTransparent ( a ) ? "transparent" : ( t || ( o = this . hexNumberSignPrefix ? "#" : "" ) , o + ( ( 1 << 24 ) + ( parseInt ( a . r ) << 16 ) + ( parseInt ( a . g ) << 8 ) + parseInt ( a . b ) ) . toString ( 16 ) . slice ( 1 ) ) } , toHSL : function ( t , e , i , n ) { 0 === arguments . length && ( t = this . value . h , e = this . value . s , i = this . value . b , n = this . value . a ) ; var s = t , o = ( 2 - e ) * i , a = e * i ; return a /= o > 0 && o <= 1 ? o : 2 - o , o /= 2 , a > 1 && ( a = 1 ) , { h : isNaN ( s ) ? 0 : s , s : isNaN ( a ) ? 0 : a , l : isNaN ( o ) ? 0 : o , a : isNaN ( n ) ? 0 : n } } , toAlias : function ( t , e , i , n ) { var s , o = 0 === arguments . length ? this . toHex ( ! 0 ) : this . toHex ( ! 0 , t , e , i , n ) , a = "alias" === this . origFormat ? o : this . toString ( ! 1 , this . origFormat ) ; for ( var r in this . colors ) if ( ( s = this . colors [ r ] . toLowerCase ( ) . trim ( ) ) === o || s === a ) return r ; return ! 1 } , RGBtoHSB : function ( t , e , i , n ) { t /= 255 , e /= 255 , i /= 255 ; var s , o , a , r ; return a = Math . max ( t , e , i ) , r = a - Math . min ( t , e , i ) , s = 0 === r ? null : a === t ? ( e - i ) / r : a === e ? ( i - t ) / r + 2 : ( t - e ) / r + 4 , s = ( s + 360 ) % 6 * 60 / 360 , o = 0 === r ? 0 : r / a , { h : this . _sanitizeNumber ( s ) , s : o , b : a , a : this . _sanitizeNumber ( n ) } } , HueToRGB : function ( t , e , i ) { return i < 0 ? i += 1 : i > 1 && ( i -= 1 ) , 6 * i < 1 ? t + ( e - t ) * i * 6 : 2 * i < 1 ? e : 3 * i < 2 ? t + ( e - t ) * ( 2 / 3 - i ) * 6 : t } , HSLtoRGB : function ( t , e , i , n ) { e < 0 && ( e = 0 ) ; var s ; s = i <= . 5 ? i * ( 1 + e ) : i + e - i * e ; var o = 2 * i - s , a = t + 1 / 3 , r = t , l = t - 1 / 3 ; return [ Math . round ( 255 * this . HueToRGB ( o , s , a ) ) , Math . round ( 255 * this . HueToRGB ( o , s , r ) ) , Math . round ( 255 * this . HueToRGB ( o , s , l ) ) , this . _sanitizeNumber ( n ) ] } , parse : function ( e ) { if ( 0 === arguments . length ) return ! 1 ; var i , n , s = this , o = ! 1 , a = void 0 !== this . colors [ e ] ; return a && ( e = this . colors [ e ] . toLowerCase ( ) . trim ( ) ) , t . each ( this . stringParsers , function ( t , r ) { var l = r . re . exec ( e ) ; return ! ( i = l && r . parse . apply ( s , [ l ] ) ) || ( o = { } , n = a ? "alias" : r . format ? r . format : s . getValidFallbackFormat ( ) , o = n . match ( /hsla?/ ) ? s . RGBtoHSB . apply ( s , s . HSLtoRGB . apply ( s , i ) ) : s . RGBtoHSB . apply ( s , i ) , o instanceof Object && ( o . format = n ) , ! 1 ) } ) , o } , getValidFallbackFormat : function ( ) { var t = [ "rgba" , "rgb" , "hex" , "hsla" , "hsl" ] ; return this . origFormat && - 1 !== t . indexOf ( this . origFormat ) ? this . origFormat : this . fallbackFormat && - 1 !== t . indexOf ( this . fallbackFormat ) ? this . fallbackFormat : "rgba" } , toString : function ( t , i , n ) { i = i || this . origFormat || this . fallbackFormat , n = n || ! 1 ; var s = ! 1 ; switch ( i ) { case "rgb" : return s = this . toRGB ( ) , this . rgbaIsTransparent ( s ) ? "transparent" : "rgb(" + s . r + "," + s . g + "," + s . b + ")" ; case "rgba" : return s = this . toRGB ( ) , "rgba(" + s . r + "," + s . g + "," + s . b + "," + s . a + ")" ; case "hsl" : return s = this . toHSL ( ) , "hsl(" + Math . round ( 360 * s . h ) + "," + Math . round ( 100 * s . s ) + "%," + Math . round ( 100 * s . l ) + "%)" ; case "hsla" : return s = this . toHSL ( ) , "hsla(" + Math . round ( 360 * s . h ) + "," + Math . round ( 100 * s . s ) + "%," + Math . round ( 100 * s . l ) + "%," + s . a + ")" ; case "hex" : return this . toHex ( t ) ; case "alias" : return s = this . toAlias ( ) , ! 1 === s ? this . toString ( t , this . getValidFallbackFormat ( ) ) : n && ! ( s in e . webColors ) && s in this . predefinedColors ? this . predefinedColors [ s ] : s ; default : return s } } , stringParsers : [ { re : /rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*?\)/ , format : "rgb" , parse : function ( t ) { return [ t [ 1 ] , t [ 2 ] , t [ 3 ] , 1 ] } } , { re : /rgb\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/ , format : "rgb" , parse : function ( t ) { return [ 2.55 * t [ 1 ] , 2.55 * t [ 2 ] , 2.55 * t [ 3 ] , 1 ] } } , { re : /rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/ , format : "rgba" , parse : function ( t ) { return [ t [ 1 ] , t [ 2 ] , t [ 3 ] , t [ 4 ] ] } } , { re : /rgba\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/ , format : "rgba" , parse : function ( t ) { return [ 2.55 * t [ 1 ] , 2.55 * t [ 2 ] , 2.55 * t [ 3 ] , t [ 4 ] ] } } , { re : /hsl\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/ , format : "hsl" , parse : function ( t ) { return [ t [ 1 ] / 360 , t [ 2 ] / 100 , t [ 3 ] / 100 , t [ 4 ] ] } } , { re : /hsla\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/ , format : " hsla
_ === g - p ? h . push ( "old" ) : _ === m + p && h . push ( "new" ) , - 1 !== t . inArray ( _ , b ) && h . push ( "active" ) , ( _ < a || _ > r ) && h . push ( "disabled" ) , _ === v && h . push ( "focused" ) , l !== t . noop && ( d = l ( new Date ( _ , 0 , 1 ) ) , d === e ? d = { } : "boolean" == typeof d ? d = { enabled : d } : "string" == typeof d && ( d = { classes : d } ) , ! 1 === d . enabled && h . push ( "disabled" ) , d . classes && ( h = h . concat ( d . classes . split ( /\s+/ ) ) ) , d . tooltip && ( u = d . tooltip ) ) , c += '<span class="' + h . join ( " " ) + '"' + ( u ? ' title="' + u + '"' : "" ) + ">" + _ + "</span>" ; f . find ( ".datepicker-switch" ) . text ( g + "-" + m ) , f . find ( "td" ) . html ( c ) } , fill : function ( ) { var n , s , o = new Date ( this . viewDate ) , a = o . getUTCFullYear ( ) , r = o . getUTCMonth ( ) , l = this . o . startDate !== - 1 / 0 ? this . o . startDate . getUTCFullYear ( ) : - 1 / 0 , h = this . o . startDate !== - 1 / 0 ? this . o . startDate . getUTCMonth ( ) : - 1 / 0 , u = this . o . endDate !== 1 / 0 ? this . o . endDate . getUTCFullYear ( ) : 1 / 0 , d = this . o . endDate !== 1 / 0 ? this . o . endDate . getUTCMonth ( ) : 1 / 0 , c = m [ this . o . language ] . today || m . en . today || "" , p = m [ this . o . language ] . clear || m . en . clear || "" , f = m [ this . o . language ] . titleFormat || m . en . titleFormat ; if ( ! isNaN ( a ) && ! isNaN ( r ) ) { this . picker . find ( ".datepicker-days .datepicker-switch" ) . text ( v . formatDate ( o , f , this . o . language ) ) , this . picker . find ( "tfoot .today" ) . text ( c ) . css ( "display" , ! 0 === this . o . todayBtn || "linked" === this . o . todayBtn ? "table-cell" : "none" ) , this . picker . find ( "tfoot .clear" ) . text ( p ) . css ( "display" , ! 0 === this . o . clearBtn ? "table-cell" : "none" ) , this . picker . find ( "thead .datepicker-title" ) . text ( this . o . title ) . css ( "display" , "string" == typeof this . o . title && "" !== this . o . title ? "table-cell" : "none" ) , this . updateNavArrows ( ) , this . fillMonths ( ) ; var g = i ( a , r , 0 ) , b = g . getUTCDate ( ) ; g . setUTCDate ( b - ( g . getUTCDay ( ) - this . o . weekStart + 7 ) % 7 ) ; var _ = new Date ( g ) ; g . getUTCFullYear ( ) < 100 && _ . setUTCFullYear ( g . getUTCFullYear ( ) ) , _ . setUTCDate ( _ . getUTCDate ( ) + 42 ) , _ = _ . valueOf ( ) ; for ( var y , x , w = [ ] ; g . valueOf ( ) < _ ; ) { if ( ( y = g . getUTCDay ( ) ) === this . o . weekStart && ( w . push ( "<tr>" ) , this . o . calendarWeeks ) ) { var k = new Date ( + g + ( this . o . weekStart - y - 7 ) % 7 * 864e5 ) , C = new Date ( Number ( k ) + ( 11 - k . getUTCDay ( ) ) % 7 * 864e5 ) , D = new Date ( Number ( D = i ( C . getUTCFullYear ( ) , 0 , 1 ) ) + ( 11 - D . getUTCDay ( ) ) % 7 * 864e5 ) , M = ( C - D ) / 864e5 / 7 + 1 ; w . push ( '<td class="cw">' + M + "</td>" ) } x = this . getClassNames ( g ) , x . push ( "day" ) ; var S = g . getUTCDate ( ) ; this . o . beforeShowDay !== t . noop && ( s = this . o . beforeShowDay ( this . _utc _to _local ( g ) ) , s === e ? s = { } : "boolean" == typeof s ? s = { enabled : s } : "string" == typeof s && ( s = { classes : s } ) , ! 1 === s . enabled && x . push ( "disabled" ) , s . classes && ( x = x . concat ( s . classes . split ( /\s+/ ) ) ) , s . tooltip && ( n = s . tooltip ) , s . content && ( S = s . content ) ) , x = t . isFunction ( t . uniqueSort ) ? t . uniqueSort ( x ) : t . unique ( x ) , w . push ( '<td class="' + x . join ( " " ) + '"' + ( n ? ' title="' + n + '"' : "" ) + ' data-date="' + g . getTime ( ) . toString ( ) + '">' + S + "</td>" ) , n = null , y === this . o . weekEnd && w . push ( "</tr>" ) , g . setUTCDate ( g . getUTCDate ( ) + 1 ) } this . picker . find ( ".datepicker-days tbody" ) . html ( w . join ( "" ) ) ; var T = m [ this . o . language ] . monthsTitle || m . en . monthsTitle || "Months" , I = this . picker . find ( ".datepicker-months" ) . find ( ".datepicker-switch" ) . text ( this . o . maxViewMode < 2 ? T : a ) . end ( ) . find ( "tbody span" ) . removeClass ( "active" ) ; if ( t . each ( this . dates , function ( t , e ) { e . getUTCFullYear ( ) === a && I . eq ( e . getUTCMonth ( ) ) . addClass ( "active" ) } ) , ( a < l || a > u ) && I . addClass ( "disabled" ) , a === l && I . slice ( 0 , h ) . addClass ( "disabled" ) , a === u && I . slice ( d + 1 ) . addClass ( "disabled" ) , this . o . beforeShowMonth !== t . noop ) { var P = this ; t . each ( I , function ( i , n ) { var s = new Date ( a , i , 1 ) , o = P . o . beforeShowMonth ( s ) ; o === e ? o = { } : "boolean" == typeof o ? o = { enabled : o } : "string" == typeof o && ( o = { classes : o } ) , ! 1 !== o . enabled || t ( n ) . hasClass ( "disabled" ) || t ( n ) . addClass ( "disabled" ) , o . classes && t ( n ) . addClass ( o . classes ) , o . tooltip && t ( n ) . prop ( "title" , o . tooltip ) } ) } this . _fill _yearsView ( ".datepicker-years" , "year" , 10 , a , l , u , this . o . beforeShowYear ) , this . _fill _yearsView ( ".datepicker-decades" , "decade" , 100 , a , l , u , this . o . beforeShowDecade ) , this . _fill _yearsView ( ".datepicker-centuries" , "century" , 1e3 , a , l , u , this . o . beforeShowCentury ) } } , updateNavArrows : function ( ) { if ( this . _allow _update ) { var t , e , i = new Date ( this . viewDate ) , n = i . getUTCFullYear ( ) , s = i . getUTCMonth ( ) , o = this . o . startDate !== - 1 / 0 ? this . o . startDate . getUTCFullYear ( ) : - 1 / 0 , a = this . o . startDate !== - 1 / 0 ? this . o . startDate . getUTCMonth ( ) : - 1 / 0 , r = this . o . endDate !== 1 / 0 ? this . o . endDate . getUTCFullYear ( ) : 1 / 0 , l = this . o . endDate !== 1 / 0 ? this . o . endDate . getUT
; t . fn [ n ] = a . _jQueryInterface , t . fn [ n ] . Constructor = a , t . fn [ n ] . noConflict = function ( ) { return t . fn [ n ] = s , a . _jQueryInterface } } ( jQuery ) } ( jQuery ) , function ( t ) { function e ( t , e , s ) { var o = t [ 0 ] , a = /er/ . test ( s ) ? g : /bl/ . test ( s ) ? p : d , r = s == m ? { checked : o [ d ] , disabled : o [ p ] , indeterminate : "true" == t . attr ( g ) || "false" == t . attr ( f ) } : o [ a ] ; if ( /^(ch|di|in)/ . test ( s ) && ! r ) i ( t , a ) ; else if ( /^(un|en|de)/ . test ( s ) && r ) n ( t , a ) ; else if ( s == m ) for ( var l in r ) r [ l ] ? i ( t , l , ! 0 ) : n ( t , l , ! 0 ) ; else e && "toggle" != s || ( e || t [ x ] ( "ifClicked" ) , r ? o [ v ] !== u && n ( t , a ) : i ( t , a ) ) } function i ( e , i , s ) { var m = e [ 0 ] , b = e . parent ( ) , x = i == d , w = i == g , C = i == p , D = w ? f : x ? c : "enabled" , M = o ( e , D + a ( m [ v ] ) ) , S = o ( e , i + a ( m [ v ] ) ) ; if ( ! 0 !== m [ i ] ) { if ( ! s && i == d && m [ v ] == u && m . name ) { var T = e . closest ( "form" ) , I = 'input[name="' + m . name + '"]' ; I = T . length ? T . find ( I ) : t ( I ) , I . each ( function ( ) { this !== m && t ( this ) . data ( l ) && n ( t ( this ) , i ) } ) } w ? ( m [ i ] = ! 0 , m [ d ] && n ( e , d , "force" ) ) : ( s || ( m [ i ] = ! 0 ) , x && m [ g ] && n ( e , g , ! 1 ) ) , r ( e , x , i , s ) } m [ p ] && o ( e , k , ! 0 ) && b . find ( "." + h ) . css ( k , "default" ) , b [ _ ] ( S || o ( e , i ) || "" ) , b . attr ( "role" ) && ! w && b . attr ( "aria-" + ( C ? p : d ) , "true" ) , b [ y ] ( M || o ( e , D ) || "" ) } function n ( t , e , i ) { var n = t [ 0 ] , s = t . parent ( ) , l = e == d , u = e == g , m = e == p , b = u ? f : l ? c : "enabled" , x = o ( t , b + a ( n [ v ] ) ) , w = o ( t , e + a ( n [ v ] ) ) ; ! 1 !== n [ e ] && ( ! u && i && "force" != i || ( n [ e ] = ! 1 ) , r ( t , l , b , i ) ) , ! n [ p ] && o ( t , k , ! 0 ) && s . find ( "." + h ) . css ( k , "pointer" ) , s [ y ] ( w || o ( t , e ) || "" ) , s . attr ( "role" ) && ! u && s . attr ( "aria-" + ( m ? p : d ) , "false" ) , s [ _ ] ( x || o ( t , b ) || "" ) } function s ( e , i ) { e . data ( l ) && ( e . parent ( ) . html ( e . attr ( "style" , e . data ( l ) . s || "" ) ) , i && e [ x ] ( i ) , e . off ( ".i" ) . unwrap ( ) , t ( w + '[for="' + e [ 0 ] . id + '"]' ) . add ( e . closest ( w ) ) . off ( ".i" ) ) } function o ( t , e , i ) { if ( t . data ( l ) ) return t . data ( l ) . o [ e + ( i ? "" : "Class" ) ] } function a ( t ) { return t . charAt ( 0 ) . toUpperCase ( ) + t . slice ( 1 ) } function r ( t , e , i , n ) { n || ( e && t [ x ] ( "ifToggled" ) , t [ x ] ( "ifChanged" ) [ x ] ( "if" + a ( i ) ) ) } var l = "iCheck" , h = l + "-helper" , u = "radio" , d = "checked" , c = "un" + d , p = "disabled" , f = "determinate" , g = "in" + f , m = "update" , v = "type" , b = "touchbegin.i touchend.i" , _ = "addClass" , y = "removeClass" , x = "trigger" , w = "label" , k = "cursor" , C = /ipad|iphone|ipod|android|blackberry|windows phone|opera mini|silk/i . test ( navigator . userAgent ) ; t . fn [ l ] = function ( o , a ) { var r = 'input[type="checkbox"], input[type="' + u + '"]' , c = t ( ) , f = function ( e ) { e . each ( function ( ) { var e = t ( this ) ; c = e . is ( r ) ? c . add ( e ) : c . add ( e . find ( r ) ) } ) } ; if ( /^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i . test ( o ) ) return o = o . toLowerCase ( ) , f ( this ) , c . each ( function ( ) { var i = t ( this ) ; "destroy" == o ? s ( i , "ifDestroyed" ) : e ( i , ! 0 , o ) , t . isFunction ( a ) && a ( ) } ) ; if ( "object" != typeof o && o ) return this ; var k = t . extend ( { checkedClass : d , disabledClass : p , indeterminateClass : g , labelHover : ! 0 } , o ) , D = k . handle , M = k . hoverClass || "hover" , S = k . focusClass || "focus" , T = k . activeClass || "active" , I = ! ! k . labelHover , P = k . labelHoverClass || "hover" , A = 0 | ( "" + k . increaseArea ) . replace ( "%" , "" ) ; return "checkbox" != D && D != u || ( r = 'input[type="' + D + '"]' ) , A < - 50 && ( A = - 50 ) , f ( this ) , c . each ( function ( ) { var o = t ( this ) ; s ( o ) ; var a , r = this , c = r . id , f = - A + "%" , g = 100 + 2 * A + "%" , D = { position : "absolute" , top : f , left : f , display : "block" , width : g , height : g , margin : 0 , padding : 0 , background : "#fff" , border : 0 , opacity : 0 } , F = C ? { position : "absolute" , visibility : "hidden" } : A ? D : { position : "absolute" , opacity : 0 } , O = "checkbox" == r [ v ] ? k . checkboxClass || "icheckbox" : k . radioClass || "i" + u , E = t ( w + '[for="' + c + '"]' ) . add ( o . closest ( w ) ) , z = ! ! k . aria , H = l + "-" + Math . random ( ) . toString ( 36 ) . substr ( 2 , 6 ) , N = '<div class="' + O + '" ' + ( z ? 'role="' + r [ v ] + '" ' : "" ) ; z && E . each ( function ( ) { N += 'aria-labelledby="' , this . id ? N += this . id : ( this . id = H , N += H ) , N += '"' } ) , N = o . wrap ( N + "/>" ) [ x ] ( "ifCreated" ) . parent ( ) . append ( k . insert ) , a = t ( '<ins class="' + h + '"/>' ) . css ( D ) . appendTo ( N ) , o . data ( l , { o : k , s : o . attr ( "style" ) } ) . css ( F ) , ! ! k . inheritClass && N [ _ ] ( r . className || "" ) , ! ! k . inheritID && c && N . attr ( "id" , l + "-" + c ) , "static" == N . css ( "position" ) && N . css ( "position" , "relative" ) , e ( o , ! 0 , m ) , E . length && E . on ( "click.i mouseover.i mouseout.i " + b , function ( i ) { var n = i [ v ] , s = t ( this ) ; if ( ! r [ p ] ) { if ( "click" == n ) { if ( t ( i . target ) . is ( "a" ) ) return ; e ( o , ! 1 , ! 0 ) } else I && ( /ut|nd/ . test ( n ) ? ( N [ y ] ( M ) , s [ y ] ( P ) ) : ( N [ _ ] ( M ) , s [ _ ] ( P ) ) ) ; if ( ! C ) return ! 1 ; i . stopPropagation ( ) } } ) , o . on ( "click.i focus.i blur.i keyup.i keydown.i keypress.i" , function ( t ) { var e = t [ v ] , s = t . keyCode ; return "click" != e && ( "keydown" == e && 32 == s ? ( r [ v ] == u && r [ d ] || ( r [ d ] ? n ( o , d ) : i ( o , d ) ) , ! 1 ) : void ( "keyup" == e && r [
categoryPercentage : . 8 , barPercentage : . 9 , offset : ! 0 , gridLines : { offsetGridLines : ! 0 } } ] , yAxes : [ { type : "linear" } ] } } ) , a . _set ( "horizontalBar" , { hover : { mode : "index" , axis : "y" } , scales : { xAxes : [ { type : "linear" , position : "bottom" } ] , yAxes : [ { position : "left" , type : "category" , categoryPercentage : . 8 , barPercentage : . 9 , offset : ! 0 , gridLines : { offsetGridLines : ! 0 } } ] } , elements : { rectangle : { borderSkipped : "left" } } , tooltips : { callbacks : { title : function ( t , e ) { var i = "" ; return t . length > 0 && ( t [ 0 ] . yLabel ? i = t [ 0 ] . yLabel : e . labels . length > 0 && t [ 0 ] . index < e . labels . length && ( i = e . labels [ t [ 0 ] . index ] ) ) , i } , label : function ( t , e ) { return ( e . datasets [ t . datasetIndex ] . label || "" ) + ": " + t . xLabel } } , mode : "index" , axis : "y" } } ) , e . exports = function ( t ) { t . controllers . bar = t . DatasetController . extend ( { dataElementType : r . Rectangle , initialize : function ( ) { var e , i = this ; t . DatasetController . prototype . initialize . apply ( i , arguments ) , e = i . getMeta ( ) , e . stack = i . getDataset ( ) . stack , e . bar = ! 0 } , update : function ( t ) { var e , i , n = this , s = n . getMeta ( ) . data ; for ( n . _ruler = n . getRuler ( ) , e = 0 , i = s . length ; e < i ; ++ e ) n . updateElement ( s [ e ] , e , t ) } , updateElement : function ( t , e , i ) { var n = this , s = n . chart , o = n . getMeta ( ) , a = n . getDataset ( ) , r = t . custom || { } , h = s . options . elements . rectangle ; t . _xScale = n . getScaleForId ( o . xAxisID ) , t . _yScale = n . getScaleForId ( o . yAxisID ) , t . _datasetIndex = n . index , t . _index = e , t . _model = { datasetLabel : a . label , label : s . data . labels [ e ] , borderSkipped : r . borderSkipped ? r . borderSkipped : h . borderSkipped , backgroundColor : r . backgroundColor ? r . backgroundColor : l . valueAtIndexOrDefault ( a . backgroundColor , e , h . backgroundColor ) , borderColor : r . borderColor ? r . borderColor : l . valueAtIndexOrDefault ( a . borderColor , e , h . borderColor ) , borderWidth : r . borderWidth ? r . borderWidth : l . valueAtIndexOrDefault ( a . borderWidth , e , h . borderWidth ) } , n . updateElementGeometry ( t , e , i ) , t . pivot ( ) } , updateElementGeometry : function ( t , e , i ) { var n = this , s = t . _model , o = n . getValueScale ( ) , a = o . getBasePixel ( ) , r = o . isHorizontal ( ) , l = n . _ruler || n . getRuler ( ) , h = n . calculateBarValuePixels ( n . index , e ) , u = n . calculateBarIndexPixels ( n . index , e , l ) ; s . horizontal = r , s . base = i ? a : h . base , s . x = r ? i ? a : h . head : u . center , s . y = r ? u . center : i ? a : h . head , s . height = r ? u . size : void 0 , s . width = r ? void 0 : u . size } , getValueScaleId : function ( ) { return this . getMeta ( ) . yAxisID } , getIndexScaleId : function ( ) { return this . getMeta ( ) . xAxisID } , getValueScale : function ( ) { return this . getScaleForId ( this . getValueScaleId ( ) ) } , getIndexScale : function ( ) { return this . getScaleForId ( this . getIndexScaleId ( ) ) } , _getStacks : function ( t ) { var e , i , n = this , s = n . chart , o = n . getIndexScale ( ) , a = o . options . stacked , r = void 0 === t ? s . data . datasets . length : t + 1 , l = [ ] ; for ( e = 0 ; e < r ; ++ e ) i = s . getDatasetMeta ( e ) , i . bar && s . isDatasetVisible ( e ) && ( ! 1 === a || ! 0 === a && - 1 === l . indexOf ( i . stack ) || void 0 === a && ( void 0 === i . stack || - 1 === l . indexOf ( i . stack ) ) ) && l . push ( i . stack ) ; return l } , getStackCount : function ( ) { return this . _getStacks ( ) . length } , getStackIndex : function ( t , e ) { var i = this . _getStacks ( t ) , n = void 0 !== e ? i . indexOf ( e ) : - 1 ; return - 1 === n ? i . length - 1 : n } , getRuler : function ( ) { var t , e , i , s = this , o = s . getIndexScale ( ) , a = s . getStackCount ( ) , r = s . index , h = o . isHorizontal ( ) , u = h ? o . left : o . top , d = u + ( h ? o . width : o . height ) , c = [ ] ; for ( t = 0 , e = s . getMeta ( ) . data . length ; t < e ; ++ t ) c . push ( o . getPixelForValue ( null , t , r ) ) ; return i = l . isNullOrUndef ( o . options . barThickness ) ? n ( o , c ) : - 1 , { min : i , pixels : c , start : u , end : d , stackCount : a , scale : o } } , calculateBarValuePixels : function ( t , e ) { var i , n , s , o , a , r , l = this , h = l . chart , u = l . getMeta ( ) , d = l . getValueScale ( ) , c = h . data . datasets , p = d . getRightValue ( c [ t ] . data [ e ] ) , f = d . options . stacked , g = u . stack , m = 0 ; if ( f || void 0 === f && void 0 !== g ) for ( i = 0 ; i < t ; ++ i ) n = h . getDatasetMeta ( i ) , n . bar && n . stack === g && n . controller . getValueScaleId ( ) === d . id && h . isDatasetVisible ( i ) && ( s = d . getRightValue ( c [ i ] . data [ e ] ) , ( p < 0 && s < 0 || p >= 0 && s > 0 ) && ( m += s ) ) ; return o = d . getPixelForValue ( m ) , a = d . getPixelForValue ( m + p ) , r = ( a - o ) / 2 , { size : r , base : o , head : a , center : a + r / 2 } } , calculateBarIndexPixels : function ( t , e , i ) { var n = this , a = i . scale . options , r = "flex" === a . barThickness ? o ( e , i , a ) : s ( e , i , a ) , h = n . getStackIndex ( t , n . getMeta ( ) . stack ) , u = r . start + r . chunk * h + r . chunk / 2 , d = Math . min ( l . valueOrDefault ( a . maxBarThickness , 1 / 0 ) , r . chunk * r . ratio ) ; return { base : u - d / 2 , head : u + d / 2 , center : u , size : d } } , draw : function ( ) { var t = this , e = t . chart , i = t . getValueScale ( ) , n = t . getMeta ( ) . data , s = t . getDataset ( ) , o = n
e . getDatasetMeta ( i ) . controller . buildOrUpdateElements ( ) } , e ) , e . updateLayout ( ) , e . options . animation && e . options . animation . duration && s . each ( n , function ( t ) { t . reset ( ) } ) , e . updateDatasets ( ) , e . tooltip . initialize ( ) , e . lastActive = [ ] , l . notify ( e , "afterUpdate" ) , e . _bufferedRender ? e . _bufferedRequest = { duration : t . duration , easing : t . easing , lazy : t . lazy } : e . render ( t ) } } , updateLayout : function ( ) { var t = this ; ! 1 !== l . notify ( t , "beforeLayout" ) && ( a . update ( this , this . width , this . height ) , l . notify ( t , "afterScaleUpdate" ) , l . notify ( t , "afterLayout" ) ) } , updateDatasets : function ( ) { var t = this ; if ( ! 1 !== l . notify ( t , "beforeDatasetsUpdate" ) ) { for ( var e = 0 , i = t . data . datasets . length ; e < i ; ++ e ) t . updateDataset ( e ) ; l . notify ( t , "afterDatasetsUpdate" ) } } , updateDataset : function ( t ) { var e = this , i = e . getDatasetMeta ( t ) , n = { meta : i , index : t } ; ! 1 !== l . notify ( e , "beforeDatasetUpdate" , [ n ] ) && ( i . controller . update ( ) , l . notify ( e , "afterDatasetUpdate" , [ n ] ) ) } , render : function ( e ) { var i = this ; e && "object" == typeof e || ( e = { duration : e , lazy : arguments [ 1 ] } ) ; var n = e . duration , o = e . lazy ; if ( ! 1 !== l . notify ( i , "beforeRender" ) ) { var a = i . options . animation , r = function ( t ) { l . notify ( i , "afterRender" ) , s . callback ( a && a . onComplete , [ t ] , i ) } ; if ( a && ( void 0 !== n && 0 !== n || void 0 === n && 0 !== a . duration ) ) { var h = new t . Animation ( { numSteps : ( n || a . duration ) / 16.66 , easing : e . easing || a . easing , render : function ( t , e ) { var i = s . easing . effects [ e . easing ] , n = e . currentStep , o = n / e . numSteps ; t . draw ( i ( o ) , o , n ) } , onAnimationProgress : a . onProgress , onAnimationComplete : r } ) ; t . animationService . addAnimation ( i , h , n , o ) } else i . draw ( ) , r ( new t . Animation ( { numSteps : 0 , chart : i } ) ) ; return i } } , draw : function ( t ) { var e = this ; e . clear ( ) , s . isNullOrUndef ( t ) && ( t = 1 ) , e . transition ( t ) , ! 1 !== l . notify ( e , "beforeDraw" , [ t ] ) && ( s . each ( e . boxes , function ( t ) { t . draw ( e . chartArea ) } , e ) , e . scale && e . scale . draw ( ) , e . drawDatasets ( t ) , e . _drawTooltip ( t ) , l . notify ( e , "afterDraw" , [ t ] ) ) } , transition : function ( t ) { for ( var e = this , i = 0 , n = ( e . data . datasets || [ ] ) . length ; i < n ; ++ i ) e . isDatasetVisible ( i ) && e . getDatasetMeta ( i ) . controller . transition ( t ) ; e . tooltip . transition ( t ) } , drawDatasets : function ( t ) { var e = this ; if ( ! 1 !== l . notify ( e , "beforeDatasetsDraw" , [ t ] ) ) { for ( var i = ( e . data . datasets || [ ] ) . length - 1 ; i >= 0 ; -- i ) e . isDatasetVisible ( i ) && e . drawDataset ( i , t ) ; l . notify ( e , "afterDatasetsDraw" , [ t ] ) } } , drawDataset : function ( t , e ) { var i = this , n = i . getDatasetMeta ( t ) , s = { meta : n , index : t , easingValue : e } ; ! 1 !== l . notify ( i , "beforeDatasetDraw" , [ s ] ) && ( n . controller . draw ( e ) , l . notify ( i , "afterDatasetDraw" , [ s ] ) ) } , _drawTooltip : function ( t ) { var e = this , i = e . tooltip , n = { tooltip : i , easingValue : t } ; ! 1 !== l . notify ( e , "beforeTooltipDraw" , [ n ] ) && ( i . draw ( ) , l . notify ( e , "afterTooltipDraw" , [ n ] ) ) } , getElementAtEvent : function ( t ) { return o . modes . single ( this , t ) } , getElementsAtEvent : function ( t ) { return o . modes . label ( this , t , { intersect : ! 0 } ) } , getElementsAtXAxis : function ( t ) { return o . modes [ "x-axis" ] ( this , t , { intersect : ! 0 } ) } , getElementsAtEventForMode : function ( t , e , i ) { var n = o . modes [ e ] ; return "function" == typeof n ? n ( this , t , i ) : [ ] } , getDatasetAtEvent : function ( t ) { return o . modes . dataset ( this , t , { intersect : ! 0 } ) } , getDatasetMeta : function ( t ) { var e = this , i = e . data . datasets [ t ] ; i . _meta || ( i . _meta = { } ) ; var n = i . _meta [ e . id ] ; return n || ( n = i . _meta [ e . id ] = { type : null , data : [ ] , dataset : null , controller : null , hidden : null , xAxisID : null , yAxisID : null } ) , n } , getVisibleDatasetCount : function ( ) { for ( var t = 0 , e = 0 , i = this . data . datasets . length ; e < i ; ++ e ) this . isDatasetVisible ( e ) && t ++ ; return t } , isDatasetVisible : function ( t ) { var e = this . getDatasetMeta ( t ) ; return "boolean" == typeof e . hidden ? ! e . hidden : ! this . data . datasets [ t ] . hidden } , generateLegend : function ( ) { return this . options . legendCallback ( this ) } , destroyDatasetMeta : function ( t ) { var e = this . id , i = this . data . datasets [ t ] , n = i . _meta && i . _meta [ e ] ; n && ( n . controller . destroy ( ) , delete i . _meta [ e ] ) } , destroy : function ( ) { var e , i , n = this , o = n . canvas ; for ( n . stop ( ) , e = 0 , i = n . data . datasets . length ; e < i ; ++ e ) n . destroyDatasetMeta ( e ) ; o && ( n . unbindEvents ( ) , s . canvas . clear ( n ) , r . releaseContext ( n . ctx ) , n . canvas = null , n . ctx = null ) , l . notify ( n , "destroy" ) , delete t . instances [ n . id ] } , toBase64Image : function ( ) { return this . canvas . toDataURL . apply ( this . canvas , arguments ) } , initToolTip : function ( ) { var e = this ; e . tooltip = new t . Tooltip ( { _chart : e , _chartInstance : e , _data : e . data , _options : e . options . tooltips } , e ) } , bindEvents : func
} , getBaseValue : function ( ) { var t = this , e = t . min , i = t . max ; return t . beginAtZero ? 0 : e < 0 && i < 0 ? i : e > 0 && i > 0 ? e : 0 } , _autoSkip : function ( t ) { var e , i , n , s , o , a = this , l = a . isHorizontal ( ) , h = a . options . ticks . minor , u = t . length , d = r . toRadians ( a . labelRotation ) , c = Math . cos ( d ) , p = a . longestLabelWidth * c , f = [ ] ; for ( h . maxTicksLimit && ( o = h . maxTicksLimit ) , l && ( e = ! 1 , ( p + h . autoSkipPadding ) * u > a . width - ( a . paddingLeft + a . paddingRight ) && ( e = 1 + Math . floor ( ( p + h . autoSkipPadding ) * u / ( a . width - ( a . paddingLeft + a . paddingRight ) ) ) ) , o && u > o && ( e = Math . max ( e , Math . floor ( u / o ) ) ) ) , i = 0 ; i < u ; i ++ ) n = t [ i ] , s = e > 1 && i % e > 0 || i % e == 0 && i + e >= u , s && i !== u - 1 && delete n . label , f . push ( n ) ; return f } , draw : function ( t ) { var e = this , n = e . options ; if ( n . display ) { var a = e . ctx , h = o . global , u = n . ticks . minor , d = n . ticks . major || u , c = n . gridLines , p = n . scaleLabel , f = 0 !== e . labelRotation , g = e . isHorizontal ( ) , m = u . autoSkip ? e . _autoSkip ( e . getTicks ( ) ) : e . getTicks ( ) , v = r . valueOrDefault ( u . fontColor , h . defaultFontColor ) , b = i ( u ) , _ = r . valueOrDefault ( d . fontColor , h . defaultFontColor ) , y = i ( d ) , x = c . drawTicks ? c . tickMarkLength : 0 , w = r . valueOrDefault ( p . fontColor , h . defaultFontColor ) , k = i ( p ) , C = r . options . toPadding ( p . padding ) , D = r . toRadians ( e . labelRotation ) , M = [ ] , S = e . options . gridLines . lineWidth , T = "right" === n . position ? e . right : e . right - S - x , I = "right" === n . position ? e . right + x : e . right , P = "bottom" === n . position ? e . top + S : e . bottom - x - S , A = "bottom" === n . position ? e . top + S + x : e . bottom + S ; if ( r . each ( m , function ( i , o ) { if ( ! r . isNullOrUndef ( i . label ) ) { var a , l , d , p , v = i . label ; o === e . zeroLineIndex && n . offset === c . offsetGridLines ? ( a = c . zeroLineWidth , l = c . zeroLineColor , d = c . zeroLineBorderDash , p = c . zeroLineBorderDashOffset ) : ( a = r . valueAtIndexOrDefault ( c . lineWidth , o ) , l = r . valueAtIndexOrDefault ( c . color , o ) , d = r . valueOrDefault ( c . borderDash , h . borderDash ) , p = r . valueOrDefault ( c . borderDashOffset , h . borderDashOffset ) ) ; var b , _ , y , w , k , C , F , O , E , z , H = "middle" , N = "middle" , L = u . padding ; if ( g ) { var R = x + L ; "bottom" === n . position ? ( N = f ? "middle" : "top" , H = f ? "right" : "center" , z = e . top + R ) : ( N = f ? "middle" : "bottom" , H = f ? "left" : "center" , z = e . bottom - R ) ; var W = s ( e , o , c . offsetGridLines && m . length > 1 ) ; W < e . left && ( l = "rgba(0,0,0,0)" ) , W += r . aliasPixel ( a ) , E = e . getPixelForTick ( o ) + u . labelOffset , b = y = k = F = W , _ = P , w = A , C = t . top , O = t . bottom + S } else { var B , V = "left" === n . position ; u . mirror ? ( H = V ? "left" : "right" , B = L ) : ( H = V ? "right" : "left" , B = x + L ) , E = V ? e . right - B : e . left + B ; var U = s ( e , o , c . offsetGridLines && m . length > 1 ) ; U < e . top && ( l = "rgba(0,0,0,0)" ) , U += r . aliasPixel ( a ) , z = e . getPixelForTick ( o ) + u . labelOffset , b = T , y = I , k = t . left , F = t . right + S , _ = w = C = O = U } M . push ( { tx1 : b , ty1 : _ , tx2 : y , ty2 : w , x1 : k , y1 : C , x2 : F , y2 : O , labelX : E , labelY : z , glWidth : a , glColor : l , glBorderDash : d , glBorderDashOffset : p , rotation : - 1 * D , label : v , major : i . major , textBaseline : N , textAlign : H } ) } } ) , r . each ( M , function ( t ) { if ( c . display && ( a . save ( ) , a . lineWidth = t . glWidth , a . strokeStyle = t . glColor , a . setLineDash && ( a . setLineDash ( t . glBorderDash ) , a . lineDashOffset = t . glBorderDashOffset ) , a . beginPath ( ) , c . drawTicks && ( a . moveTo ( t . tx1 , t . ty1 ) , a . lineTo ( t . tx2 , t . ty2 ) ) , c . drawOnChartArea && ( a . moveTo ( t . x1 , t . y1 ) , a . lineTo ( t . x2 , t . y2 ) ) , a . stroke ( ) , a . restore ( ) ) , u . display ) { a . save ( ) , a . translate ( t . labelX , t . labelY ) , a . rotate ( t . rotation ) , a . font = t . major ? y . font : b . font , a . fillStyle = t . major ? _ : v , a . textBaseline = t . textBaseline , a . textAlign = t . textAlign ; var i = t . label ; if ( r . isArray ( i ) ) for ( var n = i . length , s = 1.5 * b . size , o = e . isHorizontal ( ) ? 0 : - s * ( n - 1 ) / 2 , l = 0 ; l < n ; ++ l ) a . fillText ( "" + i [ l ] , 0 , o ) , o += s ; else a . fillText ( i , 0 , 0 ) ; a . restore ( ) } } ) , p . display ) { var F , O , E = 0 , z = l ( p ) / 2 ; if ( g ) F = e . left + ( e . right - e . left ) / 2 , O = "bottom" === n . position ? e . bottom - z - C . bottom : e . top + z + C . top ; else { var H = "left" === n . position ; F = H ? e . left + z + C . top : e . right - z - C . top , O = e . top + ( e . bottom - e . top ) / 2 , E = H ? - . 5 * Math . PI : . 5 * Math . PI } a . save ( ) , a . translate ( F , O ) , a . rotate ( E ) , a . textAlign = "center" , a . textBaseline = "middle" , a . fillStyle = w , a . font = k . font , a . fillText ( p . labelString , 0 , 0 ) , a . restore ( ) } if ( c . drawBorder ) { a . lineWidth = r . valueAtIndexOrDefault ( c . lineWidth , 0 ) , a . strokeStyle = r . valueAtIndexOrDefault ( c . color , 0 ) ; var N = e . left , L = e . right + S , R = e . top , W = e . bottom + S , B = r . aliasPixel ( a . lineWidth ) ; g ? ( R = W = "top" === n . position ? e . bottom : e . top , R += B , W += B ) : ( N = L = "left" === n . position ? e . right : e . left , N += B , L += B ) , a . beginPath ( ) , a . moveTo ( N , R ) , a . lineTo ( L , W ) , a . stroke ( ) } } } } ) } } , { 25 : 25 , 26 : 26 , 34 : 34 , 45 : 45 } ] , 33 : [ function ( t , e , i ) { "use strict" ; var n = t ( 25 ) , s = t ( 45 ) , o = t ( 3
e . innerHTML = '<div class="' + i + '-expand" style="' + n + '"><div style="position:absolute;width:1000000px;height:1000000px;left:0;top:0"></div></div><div class="' + i + '-shrink" style="' + n + '"><div style="position:absolute;width:200%;height:200%;left:0; top:0"></div></div>' ; var s = e . childNodes [ 0 ] , a = e . childNodes [ 1 ] ; e . _reset = function ( ) { s . scrollLeft = 1e6 , s . scrollTop = 1e6 , a . scrollLeft = 1e6 , a . scrollTop = 1e6 } ; var r = function ( ) { e . _reset ( ) , t ( ) } ; return o ( s , "scroll" , r . bind ( s , "expand" ) ) , o ( a , "scroll" , r . bind ( a , "shrink" ) ) , e } function d ( t , e ) { var i = t [ v ] || ( t [ v ] = { } ) , n = i . renderProxy = function ( t ) { t . animationName === y && e ( ) } ; m . each ( x , function ( e ) { o ( t , e , n ) } ) , i . reflow = ! ! t . offsetParent , t . classList . add ( _ ) } function c ( t ) { var e = t [ v ] || { } , i = e . renderProxy ; i && ( m . each ( x , function ( e ) { a ( t , e , i ) } ) , delete e . renderProxy ) , t . classList . remove ( _ ) } function p ( t , e , i ) { var n = t [ v ] || ( t [ v ] = { } ) , s = n . resizer = u ( h ( function ( ) { if ( n . resizer ) return e ( r ( "resize" , i ) ) } ) ) ; d ( t , function ( ) { if ( n . resizer ) { var e = t . parentNode ; e && e !== s . parentNode && e . insertBefore ( s , e . firstChild ) , s . _reset ( ) } } ) } function f ( t ) { var e = t [ v ] || { } , i = e . resizer ; delete e . resizer , c ( t ) , i && i . parentNode && i . parentNode . removeChild ( i ) } function g ( t , e ) { var i = t . _style || document . createElement ( "style" ) ; t . _style || ( t . _style = i , e = "/* Chart.js */\n" + e , i . setAttribute ( "type" , "text/css" ) , document . getElementsByTagName ( "head" ) [ 0 ] . appendChild ( i ) ) , i . appendChild ( document . createTextNode ( e ) ) } var m = t ( 45 ) , v = "$chartjs" , b = "chartjs-" , _ = b + "render-monitor" , y = b + "render-animation" , x = [ "animationstart" , "webkitAnimationStart" ] , w = { touchstart : "mousedown" , touchmove : "mousemove" , touchend : "mouseup" , pointerenter : "mouseenter" , pointerdown : "mousedown" , pointermove : "mousemove" , pointerup : "mouseup" , pointerleave : "mouseout" , pointerout : "mouseout" } , k = function ( ) { var t = ! 1 ; try { var e = Object . defineProperty ( { } , "passive" , { get : function ( ) { t = ! 0 } } ) ; window . addEventListener ( "e" , null , e ) } catch ( t ) { } return t } ( ) , C = ! ! k && { passive : ! 0 } ; e . exports = { _enabled : "undefined" != typeof window && "undefined" != typeof document , initialize : function ( ) { var t = "from{opacity:0.99}to{opacity:1}" ; g ( this , "@-webkit-keyframes " + y + "{" + t + "}@keyframes " + y + "{" + t + "}." + _ + "{-webkit-animation:" + y + " 0.001s;animation:" + y + " 0.001s;}" ) } , acquireContext : function ( t , e ) { "string" == typeof t ? t = document . getElementById ( t ) : t . length && ( t = t [ 0 ] ) , t && t . canvas && ( t = t . canvas ) ; var i = t && t . getContext && t . getContext ( "2d" ) ; return i && i . canvas === t ? ( s ( t , e ) , i ) : null } , releaseContext : function ( t ) { var e = t . canvas ; if ( e [ v ] ) { var i = e [ v ] . initial ; [ "height" , "width" ] . forEach ( function ( t ) { var n = i [ t ] ; m . isNullOrUndef ( n ) ? e . removeAttribute ( t ) : e . setAttribute ( t , n ) } ) , m . each ( i . style || { } , function ( t , i ) { e . style [ i ] = t } ) , e . width = e . width , delete e [ v ] } } , addEventListener : function ( t , e , i ) { var n = t . canvas ; if ( "resize" === e ) return void p ( n , i , t ) ; var s = i [ v ] || ( i [ v ] = { } ) ; o ( n , e , ( s . proxies || ( s . proxies = { } ) ) [ t . id + "_" + e ] = function ( e ) { i ( l ( e , t ) ) } ) } , removeEventListener : function ( t , e , i ) { var n = t . canvas ; if ( "resize" === e ) return void f ( n ) ; var s = i [ v ] || { } , o = s . proxies || { } , r = o [ t . id + "_" + e ] ; r && a ( n , e , r ) } } , m . addEvent = o , m . removeEvent = a } , { 45 : 45 } ] , 48 : [ function ( t , e , i ) { "use strict" ; var n = t ( 45 ) , s = t ( 46 ) , o = t ( 47 ) , a = o . _enabled ? o : s ; e . exports = n . extend ( { initialize : function ( ) { } , acquireContext : function ( ) { } , releaseContext : function ( ) { } , addEventListener : function ( ) { } , removeEventListener : function ( ) { } } , a ) } , { 45 : 45 , 46 : 46 , 47 : 47 } ] , 49 : [ function ( t , e , i ) { "use strict" ; e . exports = { } , e . exports . filler = t ( 50 ) , e . exports . legend = t ( 51 ) , e . exports . title = t ( 52 ) } , { 50 : 50 , 51 : 51 , 52 : 52 } ] , 50 : [ function ( t , e , i ) { "use strict" ; function n ( t , e , i ) { var n , s = t . _model || { } , o = s . fill ; if ( void 0 === o && ( o = ! ! s . backgroundColor ) , ! 1 === o || null === o ) return ! 1 ; if ( ! 0 === o ) return "origin" ; if ( n = parseFloat ( o , 10 ) , isFinite ( n ) && Math . floor ( n ) === n ) return "-" !== o [ 0 ] && "+" !== o [ 0 ] || ( n = e + n ) , ! ( n === e || n < 0 || n >= i ) && n ; switch ( o ) { case "bottom" : return "start" ; case "top" : return "end" ; case "zero" : return "origin" ; case "origin" : case "start" : case "end" : return o ; default : return ! 1 } } function s ( t ) { var e , i = t . el . _model || { } , n = t . el . _scale || { } , s = t . fill , o = null ; if ( isFinite ( s ) ) return null ; if ( "start" === s ? o = void 0 === i . scaleBottom ? n . bottom : i . scaleBottom : "end" === s ? o = void 0 === i . scaleTop ? n . top : i . scaleTop : void 0 !== i . scaleZero ? o = i . scaleZero : n . getBasePosition ? o = n . getBasePosition ( ) : n . getBasePixel
t . isValid ( ) ? t : "function" == typeof n ? n ( t ) : t ) } function h ( t , e ) { if ( y . isNullOrUndef ( t ) ) return null ; var i = e . options . time , n = l ( e . getRightValue ( t ) , i ) ; return n . isValid ( ) ? ( i . round && n . startOf ( i . round ) , n . valueOf ( ) ) : null } function u ( t , e , i , n ) { var s , o , a , r = e - t , l = k [ i ] , h = l . size , u = l . steps ; if ( ! u ) return Math . ceil ( r / ( n * h ) ) ; for ( s = 0 , o = u . length ; s < o && ( a = u [ s ] , ! ( Math . ceil ( r / ( h * a ) ) <= n ) ) ; ++ s ) ; return a } function d ( t , e , i , n ) { var s , o , a , r = C . length ; for ( s = C . indexOf ( t ) ; s < r - 1 ; ++ s ) if ( o = k [ C [ s ] ] , a = o . steps ? o . steps [ o . steps . length - 1 ] : w , o . common && Math . ceil ( ( i - e ) / ( a * o . size ) ) <= n ) return C [ s ] ; return C [ r - 1 ] } function c ( t , e , i , n ) { var s , o , a = b . duration ( b ( n ) . diff ( b ( i ) ) ) , r = C . length ; for ( s = r - 1 ; s >= C . indexOf ( e ) ; s -- ) if ( o = C [ s ] , k [ o ] . common && a . as ( o ) >= t . length ) return o ; return C [ e ? C . indexOf ( e ) : 0 ] } function p ( t ) { for ( var e = C . indexOf ( t ) + 1 , i = C . length ; e < i ; ++ e ) if ( k [ C [ e ] ] . common ) return C [ e ] } function f ( t , e , i , n ) { var s , o = n . time , a = o . unit || d ( o . minUnit , t , e , i ) , r = p ( a ) , l = y . valueOrDefault ( o . stepSize , o . unitStepSize ) , h = "week" === a && o . isoWeekday , c = n . ticks . major . enabled , f = k [ a ] , g = b ( t ) , m = b ( e ) , v = [ ] ; for ( l || ( l = u ( t , e , a , i ) ) , h && ( g = g . isoWeekday ( h ) , m = m . isoWeekday ( h ) ) , g = g . startOf ( h ? "day" : a ) , m = m . startOf ( h ? "day" : a ) , m < e && m . add ( 1 , a ) , s = b ( g ) , c && r && ! h && ! o . round && ( s . startOf ( r ) , s . add ( ~ ~ ( ( g - s ) / ( f . size * l ) ) * l , a ) ) ; s < m ; s . add ( l , a ) ) v . push ( + s ) ; return v . push ( + s ) , v } function g ( t , e , i , n , s ) { var o , a , l = 0 , h = 0 ; return s . offset && e . length && ( s . time . min || ( o = e . length > 1 ? e [ 1 ] : n , a = e [ 0 ] , l = ( r ( t , "time" , o , "pos" ) - r ( t , "time" , a , "pos" ) ) / 2 ) , s . time . max || ( o = e [ e . length - 1 ] , a = e . length > 1 ? e [ e . length - 2 ] : i , h = ( r ( t , "time" , o , "pos" ) - r ( t , "time" , a , "pos" ) ) / 2 ) ) , { left : l , right : h } } function m ( t , e ) { var i , n , s , o , a = [ ] ; for ( i = 0 , n = t . length ; i < n ; ++ i ) s = t [ i ] , o = ! ! e && s === + b ( s ) . startOf ( e ) , a . push ( { value : s , major : o } ) ; return a } function v ( t , e ) { var i , n , s , o = t . length ; for ( i = 0 ; i < o ; i ++ ) { if ( n = l ( t [ i ] , e ) , 0 !== n . millisecond ( ) ) return "MMM D, YYYY h:mm:ss.SSS a" ; 0 === n . second ( ) && 0 === n . minute ( ) && 0 === n . hour ( ) || ( s = ! 0 ) } return s ? "MMM D, YYYY h:mm:ss a" : "MMM D, YYYY" } var b = t ( 1 ) ; b = "function" == typeof b ? b : window . moment ; var _ = t ( 25 ) , y = t ( 45 ) , x = Number . MIN _SAFE _INTEGER || - 9007199254740991 , w = Number . MAX _SAFE _INTEGER || 9007199254740991 , k = { millisecond : { common : ! 0 , size : 1 , steps : [ 1 , 2 , 5 , 10 , 20 , 50 , 100 , 250 , 500 ] } , second : { common : ! 0 , size : 1e3 , steps : [ 1 , 2 , 5 , 10 , 30 ] } , minute : { common : ! 0 , size : 6e4 , steps : [ 1 , 2 , 5 , 10 , 30 ] } , hour : { common : ! 0 , size : 36e5 , steps : [ 1 , 2 , 3 , 6 , 12 ] } , day : { common : ! 0 , size : 864e5 , steps : [ 1 , 2 , 5 ] } , week : { common : ! 1 , size : 6048e5 , steps : [ 1 , 2 , 3 , 4 ] } , month : { common : ! 0 , size : 2628e6 , steps : [ 1 , 2 , 3 ] } , quarter : { common : ! 1 , size : 7884e6 , steps : [ 1 , 2 , 3 , 4 ] } , year : { common : ! 0 , size : 3154e7 } } , C = Object . keys ( k ) ; e . exports = function ( t ) { var e = { position : "bottom" , distribution : "linear" , bounds : "data" , time : { parser : ! 1 , format : ! 1 , unit : ! 1 , round : ! 1 , displayFormat : ! 1 , isoWeekday : ! 1 , minUnit : "millisecond" , displayFormats : { millisecond : "h:mm:ss.SSS a" , second : "h:mm:ss a" , minute : "h:mm a" , hour : "hA" , day : "MMM D" , week : "ll" , month : "MMM YYYY" , quarter : "[Q]Q - YYYY" , year : "YYYY" } } , ticks : { autoSkip : ! 1 , source : "auto" , major : { enabled : ! 1 } } } , i = t . Scale . extend ( { initialize : function ( ) { if ( ! b ) throw new Error ( "Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com" ) ; this . mergeTicksOptions ( ) , t . Scale . prototype . initialize . call ( this ) } , update : function ( ) { var e = this , i = e . options ; return i . time && i . time . format && console . warn ( "options.time.format is deprecated and replaced by options.time.parser." ) , t . Scale . prototype . update . apply ( e , arguments ) } , getRightValue : function ( e ) { return e && void 0 !== e . t && ( e = e . t ) , t . Scale . prototype . getRightValue . call ( this , e ) } , determineDataLimits : function ( ) { var t , e , i , o , a , r , l = this , u = l . chart , d = l . options . time , c = d . unit || "day" , p = w , f = x , g = [ ] , m = [ ] , v = [ ] ; for ( t = 0 , i = u . data . labels . length ; t < i ; ++ t ) v . push ( h ( u . data . labels [ t ] , l ) ) ; for ( t = 0 , i = ( u . data . datasets || [ ] ) . length ; t < i ; ++ t ) if ( u . isDatasetVisible ( t ) ) if ( a = u . data . datasets [ t ] . data , y . isObject ( a [ 0 ] ) ) for ( m [ t ] = [ ] , e = 0 , o = a . length ; e < o ; ++ e ) r = h ( a [ e ] , l ) , g . push ( r ) , m [ t ] [ e ] = r ; else g . push . apply ( g , v ) , m [ t ] = v . slice ( 0 ) ; else m [ t ] = [ ] ; v . length && ( v = s ( v ) . sort ( n ) , p = Math . min ( p , v [ 0 ] ) , f = Math . max ( f , v [ v . length - 1 ] ) ) , g . length && ( g = s ( g ) . sort ( n ) , p = Math . min ( p , g [ 0 ] ) , f = Math . max ( f , g [ g . length - 1 ] ) ) , p = h ( d . min , l ) || p , f = h ( d . max , l ) || f , p = p === w ? + b ( ) . startOf ( c ) : p , f = f === x ?
c . shouldChangeDisplay = ! 0 ) : null === u ? c . shouldChangeDisplay = ! 1 : ( e . trigger ( "validation" , ! 0 ) , c . shouldChangeDisplay = ! 0 ) , "function" == typeof n . onElementValidate && null !== d && n . onElementValidate ( c . isValid , e , s , d ) , e . trigger ( "afterValidation" , [ c , o ] ) , c } , parseDate : function ( e , i , n ) { var s , o , a , r , l = i . replace ( /[a-zA-Z]/gi , "" ) . substring ( 0 , 1 ) , h = "^" , u = i . split ( l || null ) ; if ( t . each ( u , function ( t , e ) { h += ( t > 0 ? "\\" + l : "" ) + "(\\d{" + e . length + "})" } ) , h += "$" , n ) { var d = [ ] ; t . each ( e . split ( l ) , function ( t , e ) { 1 === e . length && ( e = "0" + e ) , d . push ( e ) } ) , e = d . join ( l ) } if ( null === ( s = e . match ( new RegExp ( h ) ) ) ) return ! 1 ; var c = function ( e , i , n ) { for ( var s = 0 ; s < i . length ; s ++ ) if ( i [ s ] . substring ( 0 , 1 ) === e ) return t . formUtils . parseDateInt ( n [ s + 1 ] ) ; return - 1 } ; return a = c ( "m" , u , s ) , o = c ( "d" , u , s ) , r = c ( "y" , u , s ) , ! ( 2 === a && o > 28 && ( r % 4 != 0 || r % 100 == 0 && r % 400 != 0 ) || 2 === a && o > 29 && ( r % 4 == 0 || r % 100 != 0 && r % 400 == 0 ) || a > 12 || 0 === a ) && ( ! ( this . isShortMonth ( a ) && o > 30 || ! this . isShortMonth ( a ) && o > 31 || 0 === o ) && [ r , a , o ] ) } , parseDateInt : function ( t ) { return 0 === t . indexOf ( "0" ) && ( t = t . replace ( "0" , "" ) ) , parseInt ( t , 10 ) } , isShortMonth : function ( t ) { return t % 2 == 0 && t < 7 || t % 2 != 0 && t > 7 } , lengthRestriction : function ( e , i ) { var n = parseInt ( i . text ( ) , 10 ) , s = 0 , o = function ( ) { var t = e . val ( ) . length ; if ( t > n ) { var o = e . scrollTop ( ) ; e . val ( e . val ( ) . substring ( 0 , n ) ) , e . scrollTop ( o ) } s = n - t , s < 0 && ( s = 0 ) , i . text ( s ) } ; t ( e ) . bind ( "keydown keyup keypress focus blur" , o ) . bind ( "cut paste" , function ( ) { setTimeout ( o , 100 ) } ) , t ( document ) . bind ( "ready" , o ) } , numericRangeCheck : function ( e , i ) { var n = t . split ( i ) , s = parseInt ( i . substr ( 3 ) , 10 ) ; return 1 === n . length && - 1 === i . indexOf ( "min" ) && - 1 === i . indexOf ( "max" ) && ( n = [ i , i ] ) , 2 === n . length && ( e < parseInt ( n [ 0 ] , 10 ) || e > parseInt ( n [ 1 ] , 10 ) ) ? [ "out" , n [ 0 ] , n [ 1 ] ] : 0 === i . indexOf ( "min" ) && e < s ? [ "min" , s ] : 0 === i . indexOf ( "max" ) && e > s ? [ "max" , s ] : [ "ok" ] } , _numSuggestionElements : 0 , _selectedSuggestion : null , _previousTypedVal : null , suggest : function ( e , n , s ) { var o = { css : { maxHeight : "150px" , background : "#FFF" , lineHeight : "150%" , textDecoration : "underline" , overflowX : "hidden" , overflowY : "auto" , border : "#CCC solid 1px" , borderTop : "none" , cursor : "pointer" } , activeSuggestionCSS : { background : "#E9E9E9" } } , a = function ( t , e ) { var i = e . offset ( ) ; t . css ( { width : e . outerWidth ( ) , left : i . left + "px" , top : i . top + e . outerHeight ( ) + "px" } ) } ; s && t . extend ( o , s ) , o . css . position = "absolute" , o . css [ "z-index" ] = 9999 , e . attr ( "autocomplete" , "off" ) , 0 === this . _numSuggestionElements && i . bind ( "resize" , function ( ) { t ( ".jquery-form-suggestions" ) . each ( function ( ) { var e = t ( this ) , i = e . attr ( "data-suggest-container" ) ; a ( e , t ( ".suggestions-" + i ) . eq ( 0 ) ) } ) } ) , this . _numSuggestionElements ++ ; var r = function ( e ) { var i = e . valAttr ( "suggestion-nr" ) ; t . formUtils . _selectedSuggestion = null , t . formUtils . _previousTypedVal = null , t ( ".jquery-form-suggestion-" + i ) . fadeOut ( "fast" ) } ; return e . data ( "suggestions" , n ) . valAttr ( "suggestion-nr" , this . _numSuggestionElements ) . unbind ( "focus.suggest" ) . bind ( "focus.suggest" , function ( ) { t ( this ) . trigger ( "keyup" ) , t . formUtils . _selectedSuggestion = null } ) . unbind ( "keyup.suggest" ) . bind ( "keyup.suggest" , function ( ) { var i = t ( this ) , n = [ ] , s = t . trim ( i . val ( ) ) . toLocaleLowerCase ( ) ; if ( s !== t . formUtils . _previousTypedVal ) { t . formUtils . _previousTypedVal = s ; var l = ! 1 , h = i . valAttr ( "suggestion-nr" ) , u = t ( ".jquery-form-suggestion-" + h ) ; if ( u . scrollTop ( 0 ) , "" !== s ) { var d = s . length > 2 ; t . each ( i . data ( "suggestions" ) , function ( t , e ) { var i = e . toLocaleLowerCase ( ) ; if ( i === s ) return n . push ( "<strong>" + e + "</strong>" ) , l = ! 0 , ! 1 ; ( 0 === i . indexOf ( s ) || d && i . indexOf ( s ) > - 1 ) && n . push ( e . replace ( new RegExp ( s , "gi" ) , "<strong>$&</strong>" ) ) } ) } l || 0 === n . length && u . length > 0 ? u . hide ( ) : n . length > 0 && 0 === u . length ? ( u = t ( "<div></div>" ) . css ( o . css ) . appendTo ( "body" ) , e . addClass ( "suggestions-" + h ) , u . attr ( "data-suggest-container" , h ) . addClass ( "jquery-form-suggestions" ) . addClass ( "jquery-form-suggestion-" + h ) ) : n . length > 0 && ! u . is ( ":visible" ) && u . show ( ) , n . length > 0 && s . length !== n [ 0 ] . length && ( a ( u , i ) , u . html ( "" ) , t . each ( n , function ( e , n ) { t ( "<div></div>" ) . append ( n ) . css ( { overflow : "hidden" , textOverflow : "ellipsis" , whiteSpace : "nowrap" , padding : "5px" } ) . addClass ( "form-suggest-element" ) . appendTo ( u ) . click ( function ( ) { i . focus ( ) , i . val ( t ( this ) . text ( ) ) , i . trigger ( "change" ) , r ( i ) } ) } ) ) } } ) . unbind ( "keydown.validation" ) . bind ( "keydown.validation" , function ( e ) { var i , n , s = e . keyCode ? e . keyCode : e . which , a = t ( this ) ; if ( 13 === s && null !== t . for