2018-10-01 05:20:31 -07:00
function _init ( ) { "use strict" ; $ . AdminLTE . layout = { activate : function ( ) { var t = this ; t . fix ( ) , t . fixSidebar ( ) , $ ( window , ".wrapper" ) . resize ( function ( ) { t . fix ( ) , t . fixSidebar ( ) } ) } , fix : function ( ) { var t = $ ( ".main-header" ) . outerHeight ( ) + $ ( ".main-footer" ) . outerHeight ( ) , e = $ ( window ) . height ( ) , i = $ ( ".sidebar" ) . height ( ) ; if ( $ ( "body" ) . hasClass ( "fixed" ) ) $ ( ".content-wrapper, .right-side" ) . css ( "min-height" , e - $ ( ".main-footer" ) . outerHeight ( ) ) ; else { var n ; e >= i ? ( $ ( ".content-wrapper, .right-side" ) . css ( "min-height" , e - t ) , n = e - t ) : ( $ ( ".content-wrapper, .right-side" ) . css ( "min-height" , i ) , n = i ) ; var o = $ ( $ . AdminLTE . options . controlSidebarOptions . selector ) ; void 0 !== o && o . height ( ) > n && $ ( ".content-wrapper, .right-side" ) . css ( "min-height" , o . height ( ) ) } } , fixSidebar : function ( ) { if ( ! $ ( "body" ) . hasClass ( "fixed" ) ) return void ( void 0 !== $ . fn . slimScroll && $ ( ".sidebar" ) . slimScroll ( { destroy : ! 0 } ) . height ( "auto" ) ) ; void 0 === $ . fn . slimScroll && window . console && window . console . error ( "Error: the fixed layout requires the slimscroll plugin!" ) , $ . AdminLTE . options . sidebarSlimScroll && void 0 !== $ . fn . slimScroll && ( $ ( ".sidebar" ) . slimScroll ( { destroy : ! 0 } ) . height ( "auto" ) , $ ( ".sidebar" ) . slimscroll ( { height : $ ( window ) . height ( ) - $ ( ".main-header" ) . height ( ) + "px" , color : "rgba(0,0,0,0.2)" , size : "3px" } ) ) } } , $ . AdminLTE . pushMenu = { activate : function ( t ) { var e = $ . AdminLTE . options . screenSizes ; $ ( t ) . on ( "click" , function ( t ) { t . preventDefault ( ) , $ ( window ) . width ( ) > e . sm - 1 ? $ ( "body" ) . hasClass ( "sidebar-collapse" ) ? $ ( "body" ) . removeClass ( "sidebar-collapse" ) . trigger ( "expanded.pushMenu" ) : $ ( "body" ) . addClass ( "sidebar-collapse" ) . trigger ( "collapsed.pushMenu" ) : $ ( "body" ) . hasClass ( "sidebar-open" ) ? $ ( "body" ) . removeClass ( "sidebar-open" ) . removeClass ( "sidebar-collapse" ) . trigger ( "collapsed.pushMenu" ) : $ ( "body" ) . addClass ( "sidebar-open" ) . trigger ( "expanded.pushMenu" ) } ) , $ ( ".content-wrapper" ) . click ( function ( ) { $ ( window ) . width ( ) <= e . sm - 1 && $ ( "body" ) . hasClass ( "sidebar-open" ) && $ ( "body" ) . removeClass ( "sidebar-open" ) } ) , ( $ . AdminLTE . options . sidebarExpandOnHover || $ ( "body" ) . hasClass ( "fixed" ) && $ ( "body" ) . hasClass ( "sidebar-mini" ) ) && this . expandOnHover ( ) } , expandOnHover : function ( ) { var t = this , e = $ . AdminLTE . options . screenSizes . sm - 1 ; $ ( ".main-sidebar" ) . hover ( function ( ) { $ ( "body" ) . hasClass ( "sidebar-mini" ) && $ ( "body" ) . hasClass ( "sidebar-collapse" ) && $ ( window ) . width ( ) > e && t . expand ( ) } , function ( ) { $ ( "body" ) . hasClass ( "sidebar-mini" ) && $ ( "body" ) . hasClass ( "sidebar-expanded-on-hover" ) && $ ( window ) . width ( ) > e && t . collapse ( ) } ) } , expand : function ( ) { $ ( "body" ) . removeClass ( "sidebar-collapse" ) . addClass ( "sidebar-expanded-on-hover" ) } , collapse : function ( ) { $ ( "body" ) . hasClass ( "sidebar-expanded-on-hover" ) && $ ( "body" ) . removeClass ( "sidebar-expanded-on-hover" ) . addClass ( "sidebar-collapse" ) } } , $ . AdminLTE . tree = function ( t ) { var e = this , i = $ . AdminLTE . options . animationSpeed ; $ ( document ) . on ( "click" , t + " li a" , function ( t ) { var n = $ ( this ) , o = n . next ( ) ; if ( o . is ( ".treeview-menu" ) && o . is ( ":visible" ) ) o . slideUp ( i , function ( ) { o . removeClass ( "menu-open" ) } ) , o . parent ( "li" ) . removeClass ( "active" ) ; else if ( o . is ( ".treeview-menu" ) && ! o . is ( ":visible" ) ) { var s = n . parents ( "ul" ) . first ( ) , a = s . find ( "ul:visible" ) . slideUp ( i ) ; a . removeClass ( "menu-open" ) ; var r = n . parent ( "li" ) ; o . slideDown ( i , function ( ) { o . addClass ( "menu-open" ) , s . find ( "li.active" ) . removeClass ( "active" ) , r . addClass ( "active" ) , e . layout . fix ( ) } ) } o . is ( ".treeview-menu" ) && t . preventDefault ( ) } ) } , $ . AdminLTE . controlSidebar = { activate : function ( ) { var t = this , e = $ . AdminLTE . options . controlSidebarOptions , i = $ ( e . selector ) ; $ ( e . toggleBtnSelector ) . on ( "click" , function ( n ) { n . preventDefault ( ) , i . hasClass ( "control-sidebar-open" ) || $ ( "body" ) . hasClass ( "control-sidebar-open" ) ? t . close ( i , e . slide ) : t . open ( i , e . slide ) } ) ; var n = $ ( ".control-sidebar-bg" ) ; t . _fix ( n ) , $ ( "body" ) . hasClass ( "fixed" ) ? t . _fixForFixed ( i ) : $ ( ".content-wrapper, .right-side" ) . height ( ) < i . height ( ) && t . _fixForContent ( i ) } , open : function ( t , e ) { e ? t . addClass ( "control-sidebar-open" ) : $ ( "body" ) . addClass ( "control-sidebar-open" ) } , close : function ( t , e ) { e ? t . removeClass ( "control-sidebar-open" ) : $ ( "body" ) . removeClass ( "control-sidebar-open" ) } , _fix : function ( t ) { var e = this ; $ ( "body" ) . hasClass ( "layout-boxed" ) ? ( t . css ( "position" , "absolute" ) , t . height ( $ ( ".wrapper" ) . height ( ) ) , $ ( window ) . resize ( function ( ) { e . _fix ( t ) } ) ) : t . css ( { positio
i = this . element , o = this . widget ( ) ) , t . each ( n , function ( n , a ) { function r ( ) { if ( e || ! 0 !== s . options . disabled && ! t ( this ) . hasClass ( "ui-state-disabled" ) ) return ( "string" == typeof a ? s [ a ] : a ) . apply ( s , arguments ) } "string" != typeof a && ( r . guid = a . guid = a . guid || r . guid || t . guid ++ ) ; var l = n . match ( /^([\w:-]*)\s*(.*)$/ ) , h = l [ 1 ] + s . eventNamespace , c = l [ 2 ] ; c ? o . on ( h , c , r ) : i . on ( h , r ) } ) } , _off : function ( e , i ) { i = ( i || "" ) . split ( " " ) . join ( this . eventNamespace + " " ) + this . eventNamespace , e . off ( i ) . off ( i ) , this . bindings = t ( this . bindings . not ( e ) . get ( ) ) , this . focusable = t ( this . focusable . not ( e ) . get ( ) ) , this . hoverable = t ( this . hoverable . not ( e ) . get ( ) ) } , _delay : function ( t , e ) { function i ( ) { return ( "string" == typeof t ? n [ t ] : t ) . apply ( n , arguments ) } var n = this ; return setTimeout ( i , e || 0 ) } , _hoverable : function ( e ) { this . hoverable = this . hoverable . add ( e ) , this . _on ( e , { mouseenter : function ( e ) { this . _addClass ( t ( e . currentTarget ) , null , "ui-state-hover" ) } , mouseleave : function ( e ) { this . _removeClass ( t ( e . currentTarget ) , null , "ui-state-hover" ) } } ) } , _focusable : function ( e ) { this . focusable = this . focusable . add ( e ) , this . _on ( e , { focusin : function ( e ) { this . _addClass ( t ( e . currentTarget ) , null , "ui-state-focus" ) } , focusout : function ( e ) { this . _removeClass ( t ( e . currentTarget ) , null , "ui-state-focus" ) } } ) } , _trigger : function ( e , i , n ) { var o , s , a = this . options [ e ] ; if ( n = n || { } , i = t . Event ( i ) , i . type = ( e === this . widgetEventPrefix ? e : this . widgetEventPrefix + e ) . toLowerCase ( ) , i . target = this . element [ 0 ] , s = i . originalEvent ) for ( o in s ) o in i || ( i [ o ] = s [ o ] ) ; return this . element . trigger ( i , n ) , ! ( t . isFunction ( a ) && ! 1 === a . apply ( this . element [ 0 ] , [ i ] . concat ( n ) ) || i . isDefaultPrevented ( ) ) } } , t . each ( { show : "fadeIn" , hide : "fadeOut" } , function ( e , i ) { t . Widget . prototype [ "_" + e ] = function ( n , o , s ) { "string" == typeof o && ( o = { effect : o } ) ; var a , r = o ? ! 0 === o || "number" == typeof o ? i : o . effect || i : e ; o = o || { } , "number" == typeof o && ( o = { duration : o } ) , a = ! t . isEmptyObject ( o ) , o . complete = s , o . delay && n . delay ( o . delay ) , a && t . effects && t . effects . effect [ r ] ? n [ e ] ( o ) : r !== e && n [ r ] ? n [ r ] ( o . duration , o . easing , s ) : n . queue ( function ( i ) { t ( this ) [ e ] ( ) , s && s . call ( n [ 0 ] ) , i ( ) } ) } } ) ; t . widget ; ! function ( ) { function e ( t , e , i ) { return [ parseFloat ( t [ 0 ] ) * ( u . test ( t [ 0 ] ) ? e / 100 : 1 ) , parseFloat ( t [ 1 ] ) * ( u . test ( t [ 1 ] ) ? i / 100 : 1 ) ] } function i ( e , i ) { return parseInt ( t . css ( e , i ) , 10 ) || 0 } function n ( e ) { var i = e [ 0 ] ; return 9 === i . nodeType ? { width : e . width ( ) , height : e . height ( ) , offset : { top : 0 , left : 0 } } : t . isWindow ( i ) ? { width : e . width ( ) , height : e . height ( ) , offset : { top : e . scrollTop ( ) , left : e . scrollLeft ( ) } } : i . preventDefault ? { width : 0 , height : 0 , offset : { top : i . pageY , left : i . pageX } } : { width : e . outerWidth ( ) , height : e . outerHeight ( ) , offset : e . offset ( ) } } var o , s = Math . max , a = Math . abs , r = /left|center|right/ , l = /top|center|bottom/ , h = /[\+\-]\d+(\.[\d]+)?%?/ , c = /^\w+/ , u = /%$/ , d = t . fn . position ; t . position = { scrollbarWidth : function ( ) { if ( void 0 !== o ) return o ; var e , i , n = t ( "<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ) , s = n . children ( ) [ 0 ] ; return t ( "body" ) . append ( n ) , e = s . offsetWidth , n . css ( "overflow" , "scroll" ) , i = s . offsetWidth , e === i && ( i = n [ 0 ] . clientWidth ) , n . remove ( ) , o = e - i } , getScrollInfo : function ( e ) { var i = e . isWindow || e . isDocument ? "" : e . element . css ( "overflow-x" ) , n = e . isWindow || e . isDocument ? "" : e . element . css ( "overflow-y" ) , o = "scroll" === i || "auto" === i && e . width < e . element [ 0 ] . scrollWidth ; return { width : "scroll" === n || "auto" === n && e . height < e . element [ 0 ] . scrollHeight ? t . position . scrollbarWidth ( ) : 0 , height : o ? t . position . scrollbarWidth ( ) : 0 } } , getWithinInfo : function ( e ) { var i = t ( e || window ) , n = t . isWindow ( i [ 0 ] ) , o = ! ! i [ 0 ] && 9 === i [ 0 ] . nodeType ; return { element : i , isWindow : n , isDocument : o , offset : n || o ? { left : 0 , top : 0 } : t ( e ) . offset ( ) , scrollLeft : i . scrollLeft ( ) , scrollTop : i . scrollTop ( ) , width : i . outerWidth ( ) , height : i . outerHeight ( ) } } } , t . fn . position = function ( o ) { if ( ! o || ! o . of ) return d . apply ( this , arguments ) ; o = t . extend ( { } , o ) ; var u , p , f , g , m , v , b = t ( o . of ) , _ = t . position . getWithinInfo ( o . within ) , y = t . position . getScrollInfo ( _ ) , x = ( o . collision || "flip" ) . split ( " " ) , w = { } ; return v = n ( b ) , b [ 0 ] . preventDefault && ( o . at = "left top" ) , p = v . width , f = v . height , g = v . offset , m = t . extend ( { } , g ) , t . each ( [ "my" , "at" ] , function ( ) { var t , e , i = ( o [ this ] || "" ) . split ( " " ) ; 1 === i . length && ( i = r . test ( i [ 0 ] ) ? i . concat ( [ "center" ] ) : l . test ( i [ 0 ] ) ? [ "center" ] . concat ( i ) : [ "center" , "center" ] ) , i [ 0 ] = r . t
o . animate ( d , h , e . easing ) ; n < r ; n ++ ) o . animate ( p , h , e . easing ) . animate ( f , h , e . easing ) ; o . animate ( p , h , e . easing ) . animate ( d , h / 2 , e . easing ) . queue ( i ) , t . effects . unshift ( o , g , l + 1 ) } ) , t . effects . define ( "slide" , "show" , function ( e , i ) { var n , o , s = t ( this ) , a = { up : [ "bottom" , "top" ] , down : [ "top" , "bottom" ] , left : [ "right" , "left" ] , right : [ "left" , "right" ] } , r = e . mode , l = e . direction || "left" , h = "up" === l || "down" === l ? "top" : "left" , c = "up" === l || "left" === l , u = e . distance || s [ "top" === h ? "outerHeight" : "outerWidth" ] ( ! 0 ) , d = { } ; t . effects . createPlaceholder ( s ) , n = s . cssClip ( ) , o = s . position ( ) [ h ] , d [ h ] = ( c ? - 1 : 1 ) * u + o , d . clip = s . cssClip ( ) , d . clip [ a [ l ] [ 1 ] ] = d . clip [ a [ l ] [ 0 ] ] , "show" === r && ( s . cssClip ( d . clip ) , s . css ( h , d [ h ] ) , d . clip = n , d [ h ] = o ) , s . animate ( d , { queue : ! 1 , duration : e . duration , easing : e . easing , complete : i } ) } ) ; ! 1 !== t . uiBackCompat && t . effects . define ( "transfer" , function ( e , i ) { t ( this ) . transfer ( e , i ) } ) ; t . ui . focusable = function ( i , n ) { var o , s , a , r , l , h = i . nodeName . toLowerCase ( ) ; return "area" === h ? ( o = i . parentNode , s = o . name , ! ( ! i . href || ! s || "map" !== o . nodeName . toLowerCase ( ) ) && ( a = t ( "img[usemap='#" + s + "']" ) , a . length > 0 && a . is ( ":visible" ) ) ) : ( /^(input|select|textarea|button|object)$/ . test ( h ) ? ( r = ! i . disabled ) && ( l = t ( i ) . closest ( "fieldset" ) [ 0 ] ) && ( r = ! l . disabled ) : r = "a" === h ? i . href || n : n , r && t ( i ) . is ( ":visible" ) && e ( t ( i ) ) ) } , t . extend ( t . expr [ ":" ] , { focusable : function ( e ) { return t . ui . focusable ( e , null != t . attr ( e , "tabindex" ) ) } } ) ; t . ui . focusable , t . fn . form = function ( ) { return "string" == typeof this [ 0 ] . form ? this . closest ( "form" ) : t ( this [ 0 ] . form ) } , t . ui . formResetMixin = { _formResetHandler : function ( ) { var e = t ( this ) ; setTimeout ( function ( ) { var i = e . data ( "ui-form-reset-instances" ) ; t . each ( i , function ( ) { this . refresh ( ) } ) } ) } , _bindFormResetHandler : function ( ) { if ( this . form = this . element . form ( ) , this . form . length ) { var t = this . form . data ( "ui-form-reset-instances" ) || [ ] ; t . length || this . form . on ( "reset.ui-form-reset" , this . _formResetHandler ) , t . push ( this ) , this . form . data ( "ui-form-reset-instances" , t ) } } , _unbindFormResetHandler : function ( ) { if ( this . form . length ) { var e = this . form . data ( "ui-form-reset-instances" ) ; e . splice ( t . inArray ( this , e ) , 1 ) , e . length ? this . form . data ( "ui-form-reset-instances" , e ) : this . form . removeData ( "ui-form-reset-instances" ) . off ( "reset.ui-form-reset" ) } } } ; "1.7" === t . fn . jquery . substring ( 0 , 3 ) && ( t . each ( [ "Width" , "Height" ] , function ( e , i ) { function n ( e , i , n , s ) { return t . each ( o , function ( ) { i -= parseFloat ( t . css ( e , "padding" + this ) ) || 0 , n && ( i -= parseFloat ( t . css ( e , "border" + this + "Width" ) ) || 0 ) , s && ( i -= parseFloat ( t . css ( e , "margin" + this ) ) || 0 ) } ) , i } var o = "Width" === i ? [ "Left" , "Right" ] : [ "Top" , "Bottom" ] , s = i . toLowerCase ( ) , a = { innerWidth : t . fn . innerWidth , innerHeight : t . fn . innerHeight , outerWidth : t . fn . outerWidth , outerHeight : t . fn . outerHeight } ; t . fn [ "inner" + i ] = function ( e ) { return void 0 === e ? a [ "inner" + i ] . call ( this ) : this . each ( function ( ) { t ( this ) . css ( s , n ( this , e ) + "px" ) } ) } , t . fn [ "outer" + i ] = function ( e , o ) { return "number" != typeof e ? a [ "outer" + i ] . call ( this , e ) : this . each ( function ( ) { t ( this ) . css ( s , n ( this , e , ! 0 , o ) + "px" ) } ) } } ) , t . fn . addBack = function ( t ) { return this . add ( null == t ? this . prevObject : this . prevObject . filter ( t ) ) } ) ; t . ui . keyCode = { BACKSPACE : 8 , COMMA : 188 , DELETE : 46 , DOWN : 40 , END : 35 , ENTER : 13 , ESCAPE : 27 , HOME : 36 , LEFT : 37 , PAGE _DOWN : 34 , PAGE _UP : 33 , PERIOD : 190 , RIGHT : 39 , SPACE : 32 , TAB : 9 , UP : 38 } , t . ui . escapeSelector = function ( ) { var t = /([!"#$%&'()*+,.\/:;<=>?@[\]^`{|}~])/g ; return function ( e ) { return e . replace ( t , "\\$1" ) } } ( ) , t . fn . labels = function ( ) { var e , i , n , o , s ; return this [ 0 ] . labels && this [ 0 ] . labels . length ? this . pushStack ( this [ 0 ] . labels ) : ( o = this . eq ( 0 ) . parents ( "label" ) , n = this . attr ( "id" ) , n && ( e = this . eq ( 0 ) . parents ( ) . last ( ) , s = e . add ( e . length ? e . siblings ( ) : this . siblings ( ) ) , i = "label[for='" + t . ui . escapeSelector ( n ) + "']" , o = o . add ( s . find ( i ) . addBack ( i ) ) ) , this . pushStack ( o ) ) } , t . fn . scrollParent = function ( e ) { var i = this . css ( "position" ) , n = "absolute" === i , o = e ? /(auto|scroll|hidden)/ : /(auto|scroll)/ , s = this . parents ( ) . filter ( function ( ) { var e = t ( this ) ; return ( ! n || "static" !== e . css ( "position" ) ) && o . test ( e . css ( "overflow" ) + e . css ( "overflow-y" ) + e . css ( "overflow-x" ) ) } ) . eq ( 0 ) ; return "fixed" !== i && s . length ? s : t ( this [ 0 ] . ownerDocument || document ) } , t . extend ( t . expr [ ":" ] , { tabbable : function ( e ) { var i = t . attr ( e , "tabindex" ) , n = null != i ; return ( ! n || i >= 0 ) && t . ui . focusable ( e , n ) } } ) , t . fn . extend ( { uniqueId : function ( ) { var t = 0 ; return function ( ) {
this . childWidgets = t ( t . unique ( i ) ) , this . _addClass ( this . childWidgets , "ui-controlgroup-item" ) } , _callChildMethod : function ( e ) { this . childWidgets . each ( function ( ) { var i = t ( this ) , n = i . data ( "ui-controlgroup-data" ) ; n && n [ e ] && n [ e ] ( ) } ) } , _updateCornerClass : function ( t , e ) { var i = this . _buildSimpleOptions ( e , "label" ) . classes . label ; this . _removeClass ( t , null , "ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all" ) , this . _addClass ( t , null , i ) } , _buildSimpleOptions : function ( t , e ) { var i = "vertical" === this . options . direction , n = { classes : { } } ; return n . classes [ e ] = { middle : "" , first : "ui-corner-" + ( i ? "top" : "left" ) , last : "ui-corner-" + ( i ? "bottom" : "right" ) , only : "ui-corner-all" } [ t ] , n } , _spinnerOptions : function ( t ) { var e = this . _buildSimpleOptions ( t , "ui-spinner" ) ; return e . classes [ "ui-spinner-up" ] = "" , e . classes [ "ui-spinner-down" ] = "" , e } , _buttonOptions : function ( t ) { return this . _buildSimpleOptions ( t , "ui-button" ) } , _checkboxradioOptions : function ( t ) { return this . _buildSimpleOptions ( t , "ui-checkboxradio-label" ) } , _selectmenuOptions : function ( t ) { var e = "vertical" === this . options . direction ; return { width : ! ! e && "auto" , classes : { middle : { "ui-selectmenu-button-open" : "" , "ui-selectmenu-button-closed" : "" } , first : { "ui-selectmenu-button-open" : "ui-corner-" + ( e ? "top" : "tl" ) , "ui-selectmenu-button-closed" : "ui-corner-" + ( e ? "top" : "left" ) } , last : { "ui-selectmenu-button-open" : e ? "" : "ui-corner-tr" , "ui-selectmenu-button-closed" : "ui-corner-" + ( e ? "bottom" : "right" ) } , only : { "ui-selectmenu-button-open" : "ui-corner-top" , "ui-selectmenu-button-closed" : "ui-corner-all" } } [ t ] } } , _resolveClassesValues : function ( e , i ) { var n = { } ; return t . each ( e , function ( o ) { var s = i . options . classes [ o ] || "" ; s = t . trim ( s . replace ( d , "" ) ) , n [ o ] = ( s + " " + e [ o ] ) . replace ( /\s+/g , " " ) } ) , n } , _setOption : function ( t , e ) { if ( "direction" === t && this . _removeClass ( "ui-controlgroup-" + this . options . direction ) , this . _super ( t , e ) , "disabled" === t ) return void this . _callChildMethod ( e ? "disable" : "enable" ) ; this . refresh ( ) } , refresh : function ( ) { var e , i = this ; this . _addClass ( "ui-controlgroup ui-controlgroup-" + this . options . direction ) , "horizontal" === this . options . direction && this . _addClass ( null , "ui-helper-clearfix" ) , this . _initWidgets ( ) , e = this . childWidgets , this . options . onlyVisible && ( e = e . filter ( ":visible" ) ) , e . length && ( t . each ( [ "first" , "last" ] , function ( t , n ) { var o = e [ n ] ( ) . data ( "ui-controlgroup-data" ) ; if ( o && i [ "_" + o . widgetName + "Options" ] ) { var s = i [ "_" + o . widgetName + "Options" ] ( 1 === e . length ? "only" : n ) ; s . classes = i . _resolveClassesValues ( s . classes , o ) , o . element [ o . widgetName ] ( s ) } else i . _updateCornerClass ( e [ n ] ( ) , n ) } ) , this . _callChildMethod ( "refresh" ) ) } } ) ; t . widget ( "ui.checkboxradio" , [ t . ui . formResetMixin , { version : "1.12.1" , options : { disabled : null , label : null , icon : ! 0 , classes : { "ui-checkboxradio-label" : "ui-corner-all" , "ui-checkboxradio-icon" : "ui-corner-all" } } , _getCreateOptions : function ( ) { var e , i , n = this , o = this . _super ( ) || { } ; return this . _readType ( ) , i = this . element . labels ( ) , this . label = t ( i [ i . length - 1 ] ) , this . label . length || t . error ( "No label found for checkboxradio widget" ) , this . originalLabel = "" , this . label . contents ( ) . not ( this . element [ 0 ] ) . each ( function ( ) { n . originalLabel += 3 === this . nodeType ? t ( this ) . text ( ) : this . outerHTML } ) , this . originalLabel && ( o . label = this . originalLabel ) , e = this . element [ 0 ] . disabled , null != e && ( o . disabled = e ) , o } , _create : function ( ) { var t = this . element [ 0 ] . checked ; this . _bindFormResetHandler ( ) , null == this . options . disabled && ( this . options . disabled = this . element [ 0 ] . disabled ) , this . _setOption ( "disabled" , this . options . disabled ) , this . _addClass ( "ui-checkboxradio" , "ui-helper-hidden-accessible" ) , this . _addClass ( this . label , "ui-checkboxradio-label" , "ui-button ui-widget" ) , "radio" === this . type && this . _addClass ( this . label , "ui-checkboxradio-radio-label" ) , this . options . label && this . options . label !== this . originalLabel ? this . _updateLabel ( ) : this . originalLabel && ( this . options . label = this . originalLabel ) , this . _enhance ( ) , t && ( this . _addClass ( this . label , "ui-checkboxradio-checked" , "ui-state-active" ) , this . icon && this . _addClass ( this . icon , null , "ui-state-hover" ) ) , this . _on ( { change : "_toggleClasses" , focus : function ( ) { this . _addClass ( this . label , null , "ui-state-focus ui-visual-focus" ) } , blur : function ( ) { this . _removeClass ( this . label , null , "ui-state-focus ui-visual-focus" ) } } ) } , _readTyp
return void 0 !== t . settings [ e ] ? t . settings [ e ] : this . _defaults [ e ] } , _setDateFromField : function ( t , e ) { if ( t . input . val ( ) !== t . lastVal ) { var i = this . _get ( t , "dateFormat" ) , n = t . lastVal = t . input ? t . input . val ( ) : null , o = this . _getDefaultDate ( t ) , s = o , a = this . _getFormatConfig ( t ) ; try { s = this . parseDate ( i , n , a ) || o } catch ( t ) { n = e ? "" : n } t . selectedDay = s . getDate ( ) , t . drawMonth = t . selectedMonth = s . getMonth ( ) , t . drawYear = t . selectedYear = s . getFullYear ( ) , t . currentDay = n ? s . getDate ( ) : 0 , t . currentMonth = n ? s . getMonth ( ) : 0 , t . currentYear = n ? s . getFullYear ( ) : 0 , this . _adjustInstDate ( t ) } } , _getDefaultDate : function ( t ) { return this . _restrictMinMax ( t , this . _determineDate ( t , this . _get ( t , "defaultDate" ) , new Date ) ) } , _determineDate : function ( e , i , n ) { var o = null == i || "" === i ? n : "string" == typeof i ? function ( i ) { try { return t . datepicker . parseDate ( t . datepicker . _get ( e , "dateFormat" ) , i , t . datepicker . _getFormatConfig ( e ) ) } catch ( t ) { } for ( var n = ( i . toLowerCase ( ) . match ( /^c/ ) ? t . datepicker . _getDate ( e ) : null ) || new Date , o = n . getFullYear ( ) , s = n . getMonth ( ) , a = n . getDate ( ) , r = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g , l = r . exec ( i ) ; l ; ) { switch ( l [ 2 ] || "d" ) { case "d" : case "D" : a += parseInt ( l [ 1 ] , 10 ) ; break ; case "w" : case "W" : a += 7 * parseInt ( l [ 1 ] , 10 ) ; break ; case "m" : case "M" : s += parseInt ( l [ 1 ] , 10 ) , a = Math . min ( a , t . datepicker . _getDaysInMonth ( o , s ) ) ; break ; case "y" : case "Y" : o += parseInt ( l [ 1 ] , 10 ) , a = Math . min ( a , t . datepicker . _getDaysInMonth ( o , s ) ) } l = r . exec ( i ) } return new Date ( o , s , a ) } ( i ) : "number" == typeof i ? isNaN ( i ) ? n : function ( t ) { var e = new Date ; return e . setDate ( e . getDate ( ) + t ) , e } ( i ) : new Date ( i . getTime ( ) ) ; return o = o && "Invalid Date" === o . toString ( ) ? n : o , o && ( o . setHours ( 0 ) , o . setMinutes ( 0 ) , o . setSeconds ( 0 ) , o . setMilliseconds ( 0 ) ) , this . _daylightSavingAdjust ( o ) } , _daylightSavingAdjust : function ( t ) { return t ? ( t . setHours ( t . getHours ( ) > 12 ? t . getHours ( ) + 2 : 0 ) , t ) : null } , _setDate : function ( t , e , i ) { var n = ! e , o = t . selectedMonth , s = t . selectedYear , a = this . _restrictMinMax ( t , this . _determineDate ( t , e , new Date ) ) ; t . selectedDay = t . currentDay = a . getDate ( ) , t . drawMonth = t . selectedMonth = t . currentMonth = a . getMonth ( ) , t . drawYear = t . selectedYear = t . currentYear = a . getFullYear ( ) , o === t . selectedMonth && s === t . selectedYear || i || this . _notifyChange ( t ) , this . _adjustInstDate ( t ) , t . input && t . input . val ( n ? "" : this . _formatDate ( t ) ) } , _getDate : function ( t ) { return ! t . currentYear || t . input && "" === t . input . val ( ) ? null : this . _daylightSavingAdjust ( new Date ( t . currentYear , t . currentMonth , t . currentDay ) ) } , _attachHandlers : function ( e ) { var i = this . _get ( e , "stepMonths" ) , n = "#" + e . id . replace ( /\\\\/g , "\\" ) ; e . dpDiv . find ( "[data-handler]" ) . map ( function ( ) { var e = { prev : function ( ) { t . datepicker . _adjustDate ( n , - i , "M" ) } , next : function ( ) { t . datepicker . _adjustDate ( n , + i , "M" ) } , hide : function ( ) { t . datepicker . _hideDatepicker ( ) } , today : function ( ) { t . datepicker . _gotoToday ( n ) } , selectDay : function ( ) { return t . datepicker . _selectDay ( n , + this . getAttribute ( "data-month" ) , + this . getAttribute ( "data-year" ) , this ) , ! 1 } , selectMonth : function ( ) { return t . datepicker . _selectMonthYear ( n , this , "M" ) , ! 1 } , selectYear : function ( ) { return t . datepicker . _selectMonthYear ( n , this , "Y" ) , ! 1 } } ; t ( this ) . on ( this . getAttribute ( "data-event" ) , e [ this . getAttribute ( "data-handler" ) ] ) } ) } , _generateHTML : function ( t ) { var e , i , n , o , s , a , r , l , h , c , u , d , p , f , g , m , v , b , _ , y , x , w , k , C , D , S , M , T , I , P , A , O , F , E , z , H , W , L , N , R = new Date , B = this . _daylightSavingAdjust ( new Date ( R . getFullYear ( ) , R . getMonth ( ) , R . getDate ( ) ) ) , V = this . _get ( t , "isRTL" ) , U = this . _get ( t , "showButtonPanel" ) , j = this . _get ( t , "hideIfNoPrevNext" ) , Y = this . _get ( t , "navigationAsDateFormat" ) , $ = this . _getNumberOfMonths ( t ) , q = this . _get ( t , "showCurrentAtPos" ) , X = this . _get ( t , "stepMonths" ) , K = 1 !== $ [ 0 ] || 1 !== $ [ 1 ] , G = this . _daylightSavingAdjust ( t . currentDay ? new Date ( t . currentYear , t . currentMonth , t . currentDay ) : new Date ( 9999 , 9 , 9 ) ) , Q = this . _getMinMaxDate ( t , "min" ) , Z = this . _getMinMaxDate ( t , "max" ) , J = t . drawMonth - q , tt = t . drawYear ; if ( J < 0 && ( J += 12 , tt -- ) , Z ) for ( e = this . _daylightSavingAdjust ( new Date ( Z . getFullYear ( ) , Z . getMonth ( ) - $ [ 0 ] * $ [ 1 ] + 1 , Z . getDate ( ) ) ) , e = Q && e < Q ? Q : e ; this . _daylightSavingAdjust ( new Date ( tt , J , 1 ) ) > e ; ) -- J < 0 && ( J = 11 , tt -- ) ; for ( t . drawMonth = J , t . drawYear = tt , i = this . _get ( t , "prevText" ) , i = Y ? this . formatDate ( i , this . _daylightSavingAdjust ( new Date ( tt , J - X , 1 ) ) , this . _getFormatConfig ( t ) ) : i , n = this . _canAdjustMonth ( t , - 1 , tt , J ) ? " < a class = 'ui-datepicker-prev ui-corner-all' data - handl
t ( o . snap . constructor !== String ? o . snap . items || ":data(ui-draggable)" : o . snap ) . each ( function ( ) { var e = t ( this ) , i = e . offset ( ) ; this !== n . element [ 0 ] && n . snapElements . push ( { item : this , width : e . outerWidth ( ) , height : e . outerHeight ( ) , top : i . top , left : i . left } ) } ) } , drag : function ( e , i , n ) { var o , s , a , r , l , h , c , u , d , p , f = n . options , g = f . snapTolerance , m = i . offset . left , v = m + n . helperProportions . width , b = i . offset . top , _ = b + n . helperProportions . height ; for ( d = n . snapElements . length - 1 ; d >= 0 ; d -- ) l = n . snapElements [ d ] . left - n . margins . left , h = l + n . snapElements [ d ] . width , c = n . snapElements [ d ] . top - n . margins . top , u = c + n . snapElements [ d ] . height , v < l - g || m > h + g || _ < c - g || b > u + g || ! t . contains ( n . snapElements [ d ] . item . ownerDocument , n . snapElements [ d ] . item ) ? ( n . snapElements [ d ] . snapping && n . options . snap . release && n . options . snap . release . call ( n . element , e , t . extend ( n . _uiHash ( ) , { snapItem : n . snapElements [ d ] . item } ) ) , n . snapElements [ d ] . snapping = ! 1 ) : ( "inner" !== f . snapMode && ( o = Math . abs ( c - _ ) <= g , s = Math . abs ( u - b ) <= g , a = Math . abs ( l - v ) <= g , r = Math . abs ( h - m ) <= g , o && ( i . position . top = n . _convertPositionTo ( "relative" , { top : c - n . helperProportions . height , left : 0 } ) . top ) , s && ( i . position . top = n . _convertPositionTo ( "relative" , { top : u , left : 0 } ) . top ) , a && ( i . position . left = n . _convertPositionTo ( "relative" , { top : 0 , left : l - n . helperProportions . width } ) . left ) , r && ( i . position . left = n . _convertPositionTo ( "relative" , { top : 0 , left : h } ) . left ) ) , p = o || s || a || r , "outer" !== f . snapMode && ( o = Math . abs ( c - b ) <= g , s = Math . abs ( u - _ ) <= g , a = Math . abs ( l - m ) <= g , r = Math . abs ( h - v ) <= g , o && ( i . position . top = n . _convertPositionTo ( "relative" , { top : c , left : 0 } ) . top ) , s && ( i . position . top = n . _convertPositionTo ( "relative" , { top : u - n . helperProportions . height , left : 0 } ) . top ) , a && ( i . position . left = n . _convertPositionTo ( "relative" , { top : 0 , left : l } ) . left ) , r && ( i . position . left = n . _convertPositionTo ( "relative" , { top : 0 , left : h - n . helperProportions . width } ) . left ) ) , ! n . snapElements [ d ] . snapping && ( o || s || a || r || p ) && n . options . snap . snap && n . options . snap . snap . call ( n . element , e , t . extend ( n . _uiHash ( ) , { snapItem : n . snapElements [ d ] . item } ) ) , n . snapElements [ d ] . snapping = o || s || a || r || p ) } } ) , t . ui . plugin . add ( "draggable" , "stack" , { start : function ( e , i , n ) { var o , s = n . options , a = t . makeArray ( t ( s . stack ) ) . sort ( function ( e , i ) { return ( parseInt ( t ( e ) . css ( "zIndex" ) , 10 ) || 0 ) - ( parseInt ( t ( i ) . css ( "zIndex" ) , 10 ) || 0 ) } ) ; a . length && ( o = parseInt ( t ( a [ 0 ] ) . css ( "zIndex" ) , 10 ) || 0 , t ( a ) . each ( function ( e ) { t ( this ) . css ( "zIndex" , o + e ) } ) , this . css ( "zIndex" , o + a . length ) ) } } ) , t . ui . plugin . add ( "draggable" , "zIndex" , { start : function ( e , i , n ) { var o = t ( i . helper ) , s = n . options ; o . css ( "zIndex" ) && ( s . _zIndex = o . css ( "zIndex" ) ) , o . css ( "zIndex" , s . zIndex ) } , stop : function ( e , i , n ) { var o = n . options ; o . _zIndex && t ( i . helper ) . css ( "zIndex" , o . _zIndex ) } } ) ; t . ui . draggable ; t . widget ( "ui.resizable" , t . ui . mouse , { version : "1.12.1" , widgetEventPrefix : "resize" , options : { alsoResize : ! 1 , animate : ! 1 , animateDuration : "slow" , animateEasing : "swing" , aspectRatio : ! 1 , autoHide : ! 1 , classes : { "ui-resizable-se" : "ui-icon ui-icon-gripsmall-diagonal-se" } , containment : ! 1 , ghost : ! 1 , grid : ! 1 , handles : "e,s,se" , helper : ! 1 , maxHeight : null , maxWidth : null , minHeight : 10 , minWidth : 10 , zIndex : 90 , resize : null , start : null , stop : null } , _num : function ( t ) { return parseFloat ( t ) || 0 } , _isNumber : function ( t ) { return ! isNaN ( parseFloat ( t ) ) } , _hasScroll : function ( e , i ) { if ( "hidden" === t ( e ) . css ( "overflow" ) ) return ! 1 ; var n = i && "left" === i ? "scrollLeft" : "scrollTop" , o = ! 1 ; return e [ n ] > 0 || ( e [ n ] = 1 , o = e [ n ] > 0 , e [ n ] = 0 , o ) } , _create : function ( ) { var e , i = this . options , n = this ; this . _addClass ( "ui-resizable" ) , t . extend ( this , { _aspectRatio : ! ! i . aspectRatio , aspectRatio : i . aspectRatio , originalElement : this . element , _proportionallyResizeElements : [ ] , _helper : i . helper || i . ghost || i . animate ? i . helper || "ui-resizable-helper" : null } ) , this . element [ 0 ] . nodeName . match ( /^(canvas|textarea|input|select|button|img)$/i ) && ( this . element . wrap ( t ( "<div class='ui-wrapper' style='overflow: hidden;'></div>" ) . css ( { position : this . element . css ( "position" ) , width : this . element . outerWidth ( ) , height : this . element . outerHeight ( ) , top : this . element . css ( "top" ) , left : this . element . css ( "left" ) } ) ) , this . element = this . element . parent ( ) . data ( "ui-resizable" , this . element . resizable ( "instance" ) ) , this . elementIsWrapper = ! 0 , e = { marginTop : this . originalElement . css ( "marginTop" ) , marginRight : this . originalElement . css ( "marginRight" ) , marginBottom : this .
delete this . iframeBlocks ) } , _allowInteraction : function ( e ) { return ! ! t ( e . target ) . closest ( ".ui-dialog" ) . length || ! ! t ( e . target ) . closest ( ".ui-datepicker" ) . length } , _createOverlay : function ( ) { if ( this . options . modal ) { var e = ! 0 ; this . _delay ( function ( ) { e = ! 1 } ) , this . document . data ( "ui-dialog-overlays" ) || this . _on ( this . document , { focusin : function ( t ) { e || this . _allowInteraction ( t ) || ( t . preventDefault ( ) , this . _trackingInstances ( ) [ 0 ] . _focusTabbable ( ) ) } } ) , this . overlay = t ( "<div>" ) . appendTo ( this . _appendTo ( ) ) , this . _addClass ( this . overlay , null , "ui-widget-overlay ui-front" ) , this . _on ( this . overlay , { mousedown : "_keepFocus" } ) , this . document . data ( "ui-dialog-overlays" , ( this . document . data ( "ui-dialog-overlays" ) || 0 ) + 1 ) } } , _destroyOverlay : function ( ) { if ( this . options . modal && this . overlay ) { var t = this . document . data ( "ui-dialog-overlays" ) - 1 ; t ? this . document . data ( "ui-dialog-overlays" , t ) : ( this . _off ( this . document , "focusin" ) , this . document . removeData ( "ui-dialog-overlays" ) ) , this . overlay . remove ( ) , this . overlay = null } } } ) , ! 1 !== t . uiBackCompat && t . widget ( "ui.dialog" , t . ui . dialog , { options : { dialogClass : "" } , _createWrapper : function ( ) { this . _super ( ) , this . uiDialog . addClass ( this . options . dialogClass ) } , _setOption : function ( t , e ) { "dialogClass" === t && this . uiDialog . removeClass ( this . options . dialogClass ) . addClass ( e ) , this . _superApply ( arguments ) } } ) ; t . ui . dialog ; t . widget ( "ui.droppable" , { version : "1.12.1" , widgetEventPrefix : "drop" , options : { accept : "*" , addClasses : ! 0 , greedy : ! 1 , scope : "default" , tolerance : "intersect" , activate : null , deactivate : null , drop : null , out : null , over : null } , _create : function ( ) { var e , i = this . options , n = i . accept ; this . isover = ! 1 , this . isout = ! 0 , this . accept = t . isFunction ( n ) ? n : function ( t ) { return t . is ( n ) } , this . proportions = function ( ) { if ( ! arguments . length ) return e || ( e = { width : this . element [ 0 ] . offsetWidth , height : this . element [ 0 ] . offsetHeight } ) ; e = arguments [ 0 ] } , this . _addToManager ( i . scope ) , i . addClasses && this . _addClass ( "ui-droppable" ) } , _addToManager : function ( e ) { t . ui . ddmanager . droppables [ e ] = t . ui . ddmanager . droppables [ e ] || [ ] , t . ui . ddmanager . droppables [ e ] . push ( this ) } , _splice : function ( t ) { for ( var e = 0 ; e < t . length ; e ++ ) t [ e ] === this && t . splice ( e , 1 ) } , _destroy : function ( ) { var e = t . ui . ddmanager . droppables [ this . options . scope ] ; this . _splice ( e ) } , _setOption : function ( e , i ) { if ( "accept" === e ) this . accept = t . isFunction ( i ) ? i : function ( t ) { return t . is ( i ) } ; else if ( "scope" === e ) { var n = t . ui . ddmanager . droppables [ this . options . scope ] ; this . _splice ( n ) , this . _addToManager ( i ) } this . _super ( e , i ) } , _activate : function ( e ) { var i = t . ui . ddmanager . current ; this . _addActiveClass ( ) , i && this . _trigger ( "activate" , e , this . ui ( i ) ) } , _deactivate : function ( e ) { var i = t . ui . ddmanager . current ; this . _removeActiveClass ( ) , i && this . _trigger ( "deactivate" , e , this . ui ( i ) ) } , _over : function ( e ) { var i = t . ui . ddmanager . current ; i && ( i . currentItem || i . element ) [ 0 ] !== this . element [ 0 ] && this . accept . call ( this . element [ 0 ] , i . currentItem || i . element ) && ( this . _addHoverClass ( ) , this . _trigger ( "over" , e , this . ui ( i ) ) ) } , _out : function ( e ) { var i = t . ui . ddmanager . current ; i && ( i . currentItem || i . element ) [ 0 ] !== this . element [ 0 ] && this . accept . call ( this . element [ 0 ] , i . currentItem || i . element ) && ( this . _removeHoverClass ( ) , this . _trigger ( "out" , e , this . ui ( i ) ) ) } , _drop : function ( e , i ) { var n = i || t . ui . ddmanager . current , o = ! 1 ; return ! ( ! n || ( n . currentItem || n . element ) [ 0 ] === this . element [ 0 ] ) && ( this . element . find ( ":data(ui-droppable)" ) . not ( ".ui-draggable-dragging" ) . each ( function ( ) { var i = t ( this ) . droppable ( "instance" ) ; if ( i . options . greedy && ! i . options . disabled && i . options . scope === n . options . scope && i . accept . call ( i . element [ 0 ] , n . currentItem || n . element ) && g ( n , t . extend ( i , { offset : i . element . offset ( ) } ) , i . options . tolerance , e ) ) return o = ! 0 , ! 1 } ) , ! o && ( ! ! this . accept . call ( this . element [ 0 ] , n . currentItem || n . element ) && ( this . _removeActiveClass ( ) , this . _removeHoverClass ( ) , this . _trigger ( "drop" , e , this . ui ( n ) ) , this . element ) ) ) } , ui : function ( t ) { return { draggable : t . currentItem || t . element , helper : t . helper , position : t . position , offset : t . positionAbs } } , _addHoverClass : function ( ) { this . _addClass ( "ui-droppable-hover" ) } , _removeHoverClass : function ( ) { this . _removeClass ( "ui-droppable-hover" ) } , _addActiveClass : function ( ) { this . _addClass ( "ui-droppable-active" ) } , _removeActiveClass : function ( ) { this . _removeClass ( "ui-droppable-active" ) } } ) ; var g = t . ui . int
"min" === a && "vertical" === this . orientation && this . range . stop ( 1 , 1 ) [ h ? "animate" : "css" ] ( { height : i + "%" } , r . animate ) , "max" === a && "vertical" === this . orientation && this . range . stop ( 1 , 1 ) [ h ? "animate" : "css" ] ( { height : 100 - i + "%" } , r . animate ) ) } , _handleEvents : { keydown : function ( e ) { var i , n , o , s = t ( e . target ) . data ( "ui-slider-handle-index" ) ; switch ( e . keyCode ) { case t . ui . keyCode . HOME : case t . ui . keyCode . END : case t . ui . keyCode . PAGE _UP : case t . ui . keyCode . PAGE _DOWN : case t . ui . keyCode . UP : case t . ui . keyCode . RIGHT : case t . ui . keyCode . DOWN : case t . ui . keyCode . LEFT : if ( e . preventDefault ( ) , ! this . _keySliding && ( this . _keySliding = ! 0 , this . _addClass ( t ( e . target ) , null , "ui-state-active" ) , ! 1 === this . _start ( e , s ) ) ) return } switch ( o = this . options . step , i = n = this . _hasMultipleValues ( ) ? this . values ( s ) : this . value ( ) , e . keyCode ) { case t . ui . keyCode . HOME : n = this . _valueMin ( ) ; break ; case t . ui . keyCode . END : n = this . _valueMax ( ) ; break ; case t . ui . keyCode . PAGE _UP : n = this . _trimAlignValue ( i + ( this . _valueMax ( ) - this . _valueMin ( ) ) / this . numPages ) ; break ; case t . ui . keyCode . PAGE _DOWN : n = this . _trimAlignValue ( i - ( this . _valueMax ( ) - this . _valueMin ( ) ) / this . numPages ) ; break ; case t . ui . keyCode . UP : case t . ui . keyCode . RIGHT : if ( i === this . _valueMax ( ) ) return ; n = this . _trimAlignValue ( i + o ) ; break ; case t . ui . keyCode . DOWN : case t . ui . keyCode . LEFT : if ( i === this . _valueMin ( ) ) return ; n = this . _trimAlignValue ( i - o ) } this . _slide ( e , s , n ) } , keyup : function ( e ) { var i = t ( e . target ) . data ( "ui-slider-handle-index" ) ; this . _keySliding && ( this . _keySliding = ! 1 , this . _stop ( e , i ) , this . _change ( e , i ) , this . _removeClass ( t ( e . target ) , null , "ui-state-active" ) ) } } } ) , t . widget ( "ui.sortable" , t . ui . mouse , { version : "1.12.1" , widgetEventPrefix : "sort" , ready : ! 1 , options : { appendTo : "parent" , axis : ! 1 , connectWith : ! 1 , containment : ! 1 , cursor : "auto" , cursorAt : ! 1 , dropOnEmpty : ! 0 , forcePlaceholderSize : ! 1 , forceHelperSize : ! 1 , grid : ! 1 , handle : ! 1 , helper : "original" , items : "> *" , opacity : ! 1 , placeholder : ! 1 , revert : ! 1 , scroll : ! 0 , scrollSensitivity : 20 , scrollSpeed : 20 , scope : "default" , tolerance : "intersect" , zIndex : 1e3 , activate : null , beforeStop : null , change : null , deactivate : null , out : null , over : null , receive : null , remove : null , sort : null , start : null , stop : null , update : null } , _isOverAxis : function ( t , e , i ) { return t >= e && t < e + i } , _isFloating : function ( t ) { return /left|right/ . test ( t . css ( "float" ) ) || /inline|table-cell/ . test ( t . css ( "display" ) ) } , _create : function ( ) { this . containerCache = { } , this . _addClass ( "ui-sortable" ) , this . refresh ( ) , this . offset = this . element . offset ( ) , this . _mouseInit ( ) , this . _setHandleClassName ( ) , this . ready = ! 0 } , _setOption : function ( t , e ) { this . _super ( t , e ) , "handle" === t && this . _setHandleClassName ( ) } , _setHandleClassName : function ( ) { var e = this ; this . _removeClass ( this . element . find ( ".ui-sortable-handle" ) , "ui-sortable-handle" ) , t . each ( this . items , function ( ) { e . _addClass ( this . instance . options . handle ? this . item . find ( this . instance . options . handle ) : this . item , "ui-sortable-handle" ) } ) } , _destroy : function ( ) { this . _mouseDestroy ( ) ; for ( var t = this . items . length - 1 ; t >= 0 ; t -- ) this . items [ t ] . item . removeData ( this . widgetName + "-item" ) ; return this } , _mouseCapture : function ( e , i ) { var n = null , o = ! 1 , s = this ; return ! this . reverting && ( ! this . options . disabled && "static" !== this . options . type && ( this . _refreshItems ( e ) , t ( e . target ) . parents ( ) . each ( function ( ) { if ( t . data ( this , s . widgetName + "-item" ) === s ) return n = t ( this ) , ! 1 } ) , t . data ( e . target , s . widgetName + "-item" ) === s && ( n = t ( e . target ) ) , ! ! n && ( ! ( this . options . handle && ! i && ( t ( this . options . handle , n ) . find ( "*" ) . addBack ( ) . each ( function ( ) { this === e . target && ( o = ! 0 ) } ) , ! o ) ) && ( this . currentItem = n , this . _removeCurrentsFromItems ( ) , ! 0 ) ) ) ) } , _mouseStart : function ( e , i , n ) { var o , s , a = this . options ; if ( this . currentContainer = this , this . refreshPositions ( ) , this . helper = this . _createHelper ( e ) , this . _cacheHelperProportions ( ) , this . _cacheMargins ( ) , this . scrollParent = this . helper . scrollParent ( ) , this . offset = this . currentItem . offset ( ) , this . offset = { top : this . offset . top - this . margins . top , left : this . offset . left - this . margins . left } , t . extend ( this . offset , { click : { left : e . pageX - this . offset . left , top : e . pageY - this . offset . top } , parent : this . _getParentOffset ( ) , relative : this . _getRelativeOffset ( ) } ) , this . helper . css ( "position" , "absolute" ) , this . cssPosition = this . helper . css ( "position" ) , this . originalPosition = this . _generatePosition ( e ) , this . originalPageX = e . pageX , this . or
; return null !== t && t === this . _adjustValue ( t ) } , _value : function ( t , e ) { var i ; "" !== t && null !== ( i = this . _parse ( t ) ) && ( e || ( i = this . _adjustValue ( i ) ) , t = this . _format ( i ) ) , this . element . val ( t ) , this . _refresh ( ) } , _destroy : function ( ) { this . element . prop ( "disabled" , ! 1 ) . removeAttr ( "autocomplete role aria-valuemin aria-valuemax aria-valuenow" ) , this . uiSpinner . replaceWith ( this . element ) } , stepUp : r ( function ( t ) { this . _stepUp ( t ) } ) , _stepUp : function ( t ) { this . _start ( ) && ( this . _spin ( ( t || 1 ) * this . options . step ) , this . _stop ( ) ) } , stepDown : r ( function ( t ) { this . _stepDown ( t ) } ) , _stepDown : function ( t ) { this . _start ( ) && ( this . _spin ( ( t || 1 ) * - this . options . step ) , this . _stop ( ) ) } , pageUp : r ( function ( t ) { this . _stepUp ( ( t || 1 ) * this . options . page ) } ) , pageDown : r ( function ( t ) { this . _stepDown ( ( t || 1 ) * this . options . page ) } ) , value : function ( t ) { if ( ! arguments . length ) return this . _parse ( this . element . val ( ) ) ; r ( this . _value ) . call ( this , t ) } , widget : function ( ) { return this . uiSpinner } } ) , ! 1 !== t . uiBackCompat && t . widget ( "ui.spinner" , t . ui . spinner , { _enhance : function ( ) { this . uiSpinner = this . element . attr ( "autocomplete" , "off" ) . wrap ( this . _uiSpinnerHtml ( ) ) . parent ( ) . append ( this . _buttonHtml ( ) ) } , _uiSpinnerHtml : function ( ) { return "<span>" } , _buttonHtml : function ( ) { return "<a></a><a></a>" } } ) ; t . ui . spinner ; t . widget ( "ui.tabs" , { version : "1.12.1" , delay : 300 , options : { active : null , classes : { "ui-tabs" : "ui-corner-all" , "ui-tabs-nav" : "ui-corner-all" , "ui-tabs-panel" : "ui-corner-bottom" , "ui-tabs-tab" : "ui-corner-top" } , collapsible : ! 1 , event : "click" , heightStyle : "content" , hide : null , show : null , activate : null , beforeActivate : null , beforeLoad : null , load : null } , _isLocal : function ( ) { var t = /#.*$/ ; return function ( e ) { var i , n ; i = e . href . replace ( t , "" ) , n = location . href . replace ( t , "" ) ; try { i = decodeURIComponent ( i ) } catch ( t ) { } try { n = decodeURIComponent ( n ) } catch ( t ) { } return e . hash . length > 1 && i === n } } ( ) , _create : function ( ) { var e = this , i = this . options ; this . running = ! 1 , this . _addClass ( "ui-tabs" , "ui-widget ui-widget-content" ) , this . _toggleClass ( "ui-tabs-collapsible" , null , i . collapsible ) , this . _processTabs ( ) , i . active = this . _initialActive ( ) , t . isArray ( i . disabled ) && ( i . disabled = t . unique ( i . disabled . concat ( t . map ( this . tabs . filter ( ".ui-state-disabled" ) , function ( t ) { return e . tabs . index ( t ) } ) ) ) . sort ( ) ) , ! 1 !== this . options . active && this . anchors . length ? this . active = this . _findActive ( i . active ) : this . active = t ( ) , this . _refresh ( ) , this . active . length && this . load ( i . active ) } , _initialActive : function ( ) { var e = this . options . active , i = this . options . collapsible , n = location . hash . substring ( 1 ) ; return null === e && ( n && this . tabs . each ( function ( i , o ) { if ( t ( o ) . attr ( "aria-controls" ) === n ) return e = i , ! 1 } ) , null === e && ( e = this . tabs . index ( this . tabs . filter ( ".ui-tabs-active" ) ) ) , null !== e && - 1 !== e || ( e = ! ! this . tabs . length && 0 ) ) , ! 1 !== e && - 1 === ( e = this . tabs . index ( this . tabs . eq ( e ) ) ) && ( e = ! i && 0 ) , ! i && ! 1 === e && this . anchors . length && ( e = 0 ) , e } , _getCreateEventData : function ( ) { return { tab : this . active , panel : this . active . length ? this . _getPanelForTab ( this . active ) : t ( ) } } , _tabKeydown : function ( e ) { var i = t ( t . ui . safeActiveElement ( this . document [ 0 ] ) ) . closest ( "li" ) , n = this . tabs . index ( i ) , o = ! 0 ; if ( ! this . _handlePageNav ( e ) ) { switch ( e . keyCode ) { case t . ui . keyCode . RIGHT : case t . ui . keyCode . DOWN : n ++ ; break ; case t . ui . keyCode . UP : case t . ui . keyCode . LEFT : o = ! 1 , n -- ; break ; case t . ui . keyCode . END : n = this . anchors . length - 1 ; break ; case t . ui . keyCode . HOME : n = 0 ; break ; case t . ui . keyCode . SPACE : return e . preventDefault ( ) , clearTimeout ( this . activating ) , void this . _activate ( n ) ; case t . ui . keyCode . ENTER : return e . preventDefault ( ) , clearTimeout ( this . activating ) , void this . _activate ( n !== this . options . active && n ) ; default : return } e . preventDefault ( ) , clearTimeout ( this . activating ) , n = this . _focusNextTab ( n , o ) , e . ctrlKey || e . metaKey || ( i . attr ( "aria-selected" , "false" ) , this . tabs . eq ( n ) . attr ( "aria-selected" , "true" ) , this . activating = this . _delay ( function ( ) { this . option ( "active" , n ) } , this . delay ) ) } } , _panelKeydown : function ( e ) { this . _handlePageNav ( e ) || e . ctrlKey && e . keyCode === t . ui . keyCode . UP && ( e . preventDefault ( ) , this . active . trigger ( "focus" ) ) } , _handlePageNav : function ( e ) { return e . altKey && e . keyCode === t . ui . keyCode . PAGE _UP ? ( this . _activate ( this . _focusNextTab ( this . options . active - 1 , ! 1 ) ) , ! 0 ) : e . altKey && e . keyCode === t . ui . keyCode . PAGE _DOWN ? ( this . _activate ( this . _focusNextTab ( this . options . active + 1 , ! 0 ) ) , ! 0 ) : voi
e . removeEventListener ( "scroll" , t . position ) } ) } } , { key : "destroy" , value : function ( ) { var t = this ; this . disable ( ) , z . forEach ( function ( e , i ) { e === t && z . splice ( i , 1 ) } ) , 0 === z . length && n ( ) } } , { key : "updateAttachClasses" , value : function ( t , e ) { var i = this ; t = t || this . attachment , e = e || this . targetAttachment ; var n = [ "left" , "top" , "bottom" , "right" , "middle" , "center" ] ; void 0 !== this . _addAttachClasses && this . _addAttachClasses . length && this . _addAttachClasses . splice ( 0 , this . _addAttachClasses . length ) , void 0 === this . _addAttachClasses && ( this . _addAttachClasses = [ ] ) ; var o = this . _addAttachClasses ; t . top && o . push ( this . getClass ( "element-attached" ) + "-" + t . top ) , t . left && o . push ( this . getClass ( "element-attached" ) + "-" + t . left ) , e . top && o . push ( this . getClass ( "target-attached" ) + "-" + e . top ) , e . left && o . push ( this . getClass ( "target-attached" ) + "-" + e . left ) ; var s = [ ] ; n . forEach ( function ( t ) { s . push ( i . getClass ( "element-attached" ) + "-" + t ) , s . push ( i . getClass ( "target-attached" ) + "-" + t ) } ) , T ( function ( ) { void 0 !== i . _addAttachClasses && ( p ( i . element , i . _addAttachClasses , s ) , ! 1 !== i . options . addTargetClasses && p ( i . target , i . _addAttachClasses , s ) , delete i . _addAttachClasses ) } ) } } , { key : "position" , value : function ( ) { var t = this , e = arguments . length <= 0 || void 0 === arguments [ 0 ] || arguments [ 0 ] ; if ( this . enabled ) { this . clearCache ( ) ; var i = R ( this . targetAttachment , this . attachment ) ; this . updateAttachClasses ( this . attachment , i ) ; var n = this . cache ( "element-bounds" , function ( ) { return o ( t . element ) } ) , r = n . width , l = n . height ; if ( 0 === r && 0 === l && void 0 !== this . lastSize ) { var h = this . lastSize ; r = h . width , l = h . height } else this . lastSize = { width : r , height : l } ; var c = this . cache ( "target-bounds" , function ( ) { return t . getTargetBounds ( ) } ) , u = c , d = b ( B ( this . attachment ) , { width : r , height : l } ) , p = b ( B ( i ) , u ) , f = b ( this . offset , { width : r , height : l } ) , g = b ( this . targetOffset , u ) ; d = v ( d , f ) , p = v ( p , g ) ; for ( var m = c . left + p . left - d . left , _ = c . top + p . top - d . top , y = 0 ; y < x . modules . length ; ++ y ) { var w = x . modules [ y ] , k = w . position . call ( this , { left : m , top : _ , targetAttachment : i , targetPos : c , elementPos : n , offset : d , targetOffset : p , manualOffset : f , manualTargetOffset : g , scrollbarSize : M , attachment : this . attachment } ) ; if ( ! 1 === k ) return ! 1 ; void 0 !== k && "object" == typeof k && ( _ = k . top , m = k . left ) } var C = { page : { top : _ , left : m } , viewport : { top : _ - pageYOffset , bottom : pageYOffset - _ - l + innerHeight , left : m - pageXOffset , right : pageXOffset - m - r + innerWidth } } , D = this . target . ownerDocument , S = D . defaultView , M = void 0 ; return S . innerHeight > D . documentElement . clientHeight && ( M = this . cache ( "scrollbar-size" , a ) , C . viewport . bottom -= M . height ) , S . innerWidth > D . documentElement . clientWidth && ( M = this . cache ( "scrollbar-size" , a ) , C . viewport . right -= M . width ) , - 1 !== [ "" , "static" ] . indexOf ( D . body . style . position ) && - 1 !== [ "" , "static" ] . indexOf ( D . body . parentElement . style . position ) || ( C . page . bottom = D . body . scrollHeight - _ - l , C . page . right = D . body . scrollWidth - m - r ) , void 0 !== this . options . optimizations && ! 1 !== this . options . optimizations . moveElement && void 0 === this . targetModifier && function ( ) { var e = t . cache ( "target-offsetparent" , function ( ) { return s ( t . target ) } ) , i = t . cache ( "target-offsetparent-bounds" , function ( ) { return o ( e ) } ) , n = getComputedStyle ( e ) , a = i , r = { } ; if ( [ "Top" , "Left" , "Bottom" , "Right" ] . forEach ( function ( t ) { r [ t . toLowerCase ( ) ] = parseFloat ( n [ "border" + t + "Width" ] ) } ) , i . right = D . body . scrollWidth - i . left - a . width + r . right , i . bottom = D . body . scrollHeight - i . top - a . height + r . bottom , C . page . top >= i . top + r . top && C . page . bottom >= i . bottom && C . page . left >= i . left + r . left && C . page . right >= i . right ) { var l = e . scrollTop , h = e . scrollLeft ; C . offset = { top : C . page . top - i . top + l - r . top , left : C . page . left - i . left + h - r . left } } } ( ) , this . move ( C ) , this . history . unshift ( C ) , this . history . length > 3 && this . history . pop ( ) , e && I ( ) , ! 0 } } } , { key : "move" , value : function ( t ) { var e = this ; if ( void 0 !== this . element . parentNode ) { var i = { } ; for ( var n in t ) { i [ n ] = { } ; for ( var o in t [ n ] ) { for ( var a = ! 1 , l = 0 ; l < this . history . length ; ++ l ) { var h = this . history [ l ] ; if ( void 0 !== h [ n ] && ! g ( h [ n ] [ o ] , t [ n ] [ o ] ) ) { a = ! 0 ; break } } a || ( i [ n ] [ o ] = ! 0 ) } } var c = { top : "" , left : "" , right : "" , bottom : "" } , u = function ( t , i ) { if ( ! 1 !== ( void 0 !== e . options . optimizations ? e . options . optimizations . gpu : null ) ) { var n = void 0 , o = void 0 ; t . top ? ( c . top = 0 , n = i . top ) : ( c . bottom = 0 , n = - i . bottom ) , t . left ? ( c . left = 0 , o = i . left ) : ( c . right = 0 , o = - i . right ) , window . matchMedia && ( window . matchMedia ( " only screen and ( min - resolution :
_getFileInputFiles : function ( e ) { return e instanceof t && 1 !== e . length ? t . when . apply ( t , t . map ( e , this . _getSingleFileInputFiles ) ) . then ( function ( ) { return Array . prototype . concat . apply ( [ ] , arguments ) } ) : this . _getSingleFileInputFiles ( e ) } , _onChange : function ( e ) { var i = this , n = { fileInput : t ( e . target ) , form : t ( e . target . form ) } ; this . _getFileInputFiles ( n . fileInput ) . always ( function ( o ) { n . files = o , i . options . replaceFileInput && i . _replaceFileInput ( n ) , ! 1 !== i . _trigger ( "change" , t . Event ( "change" , { delegatedEvent : e } ) , n ) && i . _onAdd ( e , n ) } ) } , _onPaste : function ( e ) { var i = e . originalEvent && e . originalEvent . clipboardData && e . originalEvent . clipboardData . items , n = { files : [ ] } ; i && i . length && ( t . each ( i , function ( t , e ) { var i = e . getAsFile && e . getAsFile ( ) ; i && n . files . push ( i ) } ) , ! 1 !== this . _trigger ( "paste" , t . Event ( "paste" , { delegatedEvent : e } ) , n ) && this . _onAdd ( e , n ) ) } , _onDrop : function ( e ) { e . dataTransfer = e . originalEvent && e . originalEvent . dataTransfer ; var i = this , n = e . dataTransfer , o = { } ; n && n . files && n . files . length && ( e . preventDefault ( ) , this . _getDroppedFiles ( n ) . always ( function ( n ) { o . files = n , ! 1 !== i . _trigger ( "drop" , t . Event ( "drop" , { delegatedEvent : e } ) , o ) && i . _onAdd ( e , o ) } ) ) } , _onDragOver : e ( "dragover" ) , _onDragEnter : e ( "dragenter" ) , _onDragLeave : e ( "dragleave" ) , _initEventHandlers : function ( ) { this . _isXHRUpload ( this . options ) && ( this . _on ( this . options . dropZone , { dragover : this . _onDragOver , drop : this . _onDrop , dragenter : this . _onDragEnter , dragleave : this . _onDragLeave } ) , this . _on ( this . options . pasteZone , { paste : this . _onPaste } ) ) , t . support . fileInput && this . _on ( this . options . fileInput , { change : this . _onChange } ) } , _destroyEventHandlers : function ( ) { this . _off ( this . options . dropZone , "dragenter dragleave dragover drop" ) , this . _off ( this . options . pasteZone , "paste" ) , this . _off ( this . options . fileInput , "change" ) } , _destroy : function ( ) { this . _destroyEventHandlers ( ) } , _setOption : function ( e , i ) { var n = - 1 !== t . inArray ( e , this . _specialOptions ) ; n && this . _destroyEventHandlers ( ) , this . _super ( e , i ) , n && ( this . _initSpecialOptions ( ) , this . _initEventHandlers ( ) ) } , _initSpecialOptions : function ( ) { var e = this . options ; void 0 === e . fileInput ? e . fileInput = this . element . is ( 'input[type="file"]' ) ? this . element : this . element . find ( 'input[type="file"]' ) : e . fileInput instanceof t || ( e . fileInput = t ( e . fileInput ) ) , e . dropZone instanceof t || ( e . dropZone = t ( e . dropZone ) ) , e . pasteZone instanceof t || ( e . pasteZone = t ( e . pasteZone ) ) } , _getRegExp : function ( t ) { var e = t . split ( "/" ) , i = e . pop ( ) ; return e . shift ( ) , new RegExp ( e . join ( "/" ) , i ) } , _isRegExpOption : function ( e , i ) { return "url" !== e && "string" === t . type ( i ) && /^\/.*\/[igm]{0,3}$/ . test ( i ) } , _initDataAttributes : function ( ) { var e = this , i = this . options , n = this . element . data ( ) ; t . each ( this . element [ 0 ] . attributes , function ( t , o ) { var s , a = o . name . toLowerCase ( ) ; /^data-/ . test ( a ) && ( a = a . slice ( 5 ) . replace ( /-[a-z]/g , function ( t ) { return t . charAt ( 1 ) . toUpperCase ( ) } ) , s = n [ a ] , e . _isRegExpOption ( a , s ) && ( s = e . _getRegExp ( s ) ) , i [ a ] = s ) } ) } , _create : function ( ) { this . _initDataAttributes ( ) , this . _initSpecialOptions ( ) , this . _slots = [ ] , this . _sequence = this . _getXHRPromise ( ! 0 ) , this . _sending = this . _active = 0 , this . _initProgressObject ( this ) , this . _initEventHandlers ( ) } , active : function ( ) { return this . _active } , progress : function ( ) { return this . _progress } , add : function ( e ) { var i = this ; e && ! this . options . disabled && ( e . fileInput && ! e . files ? this . _getFileInputFiles ( e . fileInput ) . always ( function ( t ) { e . files = t , i . _onAdd ( null , e ) } ) : ( e . files = t . makeArray ( e . files ) , this . _onAdd ( null , e ) ) ) } , send : function ( e ) { if ( e && ! this . options . disabled ) { if ( e . fileInput && ! e . files ) { var i , n , o = this , s = t . Deferred ( ) , a = s . promise ( ) ; return a . abort = function ( ) { return n = ! 0 , i ? i . abort ( ) : ( s . reject ( null , "abort" , "abort" ) , a ) } , this . _getFileInputFiles ( e . fileInput ) . always ( function ( t ) { if ( ! n ) { if ( ! t . length ) return void s . reject ( ) ; e . files = t , i = o . _onSend ( null , e ) , i . then ( function ( t , e , i ) { s . resolve ( t , e , i ) } , function ( t , e , i ) { s . reject ( t , e , i ) } ) } } ) , this . _enhancePromise ( a ) } if ( e . files = t . makeArray ( e . files ) , e . files . length ) return this . _onSend ( null , e ) } return this . _getXHRPromise ( ! 1 , e && e . context ) } } ) } ) , function ( t , e ) { "function" == typeof define && define . amd ? define ( [ "jquery" ] , function ( t ) { return e ( t ) } ) : "object" == typeof exports ? module . exports = e ( require ( "jquery" ) ) : jQuery && ! jQuery . fn . colorpicker && e ( jQuery ) } ( 0 , function ( t ) { "use strict" ; var e = function ( i , n ,
format : t . proxy ( function ( t , e ) { 0 === arguments . length ? ( t = this . dates . length - 1 , e = this . o . format ) : "string" == typeof t && ( e = t , t = this . dates . length - 1 ) , e = e || this . o . format ; var i = this . dates . get ( t ) ; return v . formatDate ( i , e , this . o . language ) } , this ) } ) } , show : function ( ) { if ( ! ( this . inputField . prop ( "disabled" ) || this . inputField . prop ( "readonly" ) && ! 1 === this . o . enableOnReadonly ) ) return this . isInline || this . picker . appendTo ( this . o . container ) , this . place ( ) , this . picker . show ( ) , this . _attachSecondaryEvents ( ) , this . _trigger ( "show" ) , ( window . navigator . msMaxTouchPoints || "ontouchstart" in document ) && this . o . disableTouchKeyboard && t ( this . element ) . blur ( ) , this } , hide : function ( ) { return this . isInline || ! this . picker . is ( ":visible" ) ? this : ( this . focusDate = null , this . picker . hide ( ) . detach ( ) , this . _detachSecondaryEvents ( ) , this . setViewMode ( this . o . startView ) , this . o . forceParse && this . inputField . val ( ) && this . setValue ( ) , this . _trigger ( "hide" ) , this ) } , destroy : function ( ) { return this . hide ( ) , this . _detachEvents ( ) , this . _detachSecondaryEvents ( ) , this . picker . remove ( ) , delete this . element . data ( ) . datepicker , this . isInput || delete this . element . data ( ) . date , this } , paste : function ( e ) { var i ; if ( e . originalEvent . clipboardData && e . originalEvent . clipboardData . types && - 1 !== t . inArray ( "text/plain" , e . originalEvent . clipboardData . types ) ) i = e . originalEvent . clipboardData . getData ( "text/plain" ) ; else { if ( ! window . clipboardData ) return ; i = window . clipboardData . getData ( "Text" ) } this . setDate ( i ) , this . update ( ) , e . preventDefault ( ) } , _utc _to _local : function ( t ) { if ( ! t ) return t ; var e = new Date ( t . getTime ( ) + 6e4 * t . getTimezoneOffset ( ) ) ; return e . getTimezoneOffset ( ) !== t . getTimezoneOffset ( ) && ( e = new Date ( t . getTime ( ) + 6e4 * e . getTimezoneOffset ( ) ) ) , e } , _local _to _utc : function ( t ) { return t && new Date ( t . getTime ( ) - 6e4 * t . getTimezoneOffset ( ) ) } , _zero _time : function ( t ) { return t && new Date ( t . getFullYear ( ) , t . getMonth ( ) , t . getDate ( ) ) } , _zero _utc _time : function ( t ) { return t && i ( t . getUTCFullYear ( ) , t . getUTCMonth ( ) , t . getUTCDate ( ) ) } , getDates : function ( ) { return t . map ( this . dates , this . _utc _to _local ) } , getUTCDates : function ( ) { return t . map ( this . dates , function ( t ) { return new Date ( t ) } ) } , getDate : function ( ) { return this . _utc _to _local ( this . getUTCDate ( ) ) } , getUTCDate : function ( ) { var t = this . dates . get ( - 1 ) ; return t !== e ? new Date ( t ) : null } , clearDates : function ( ) { this . inputField . val ( "" ) , this . update ( ) , this . _trigger ( "changeDate" ) , this . o . autoclose && this . hide ( ) } , setDates : function ( ) { var e = t . isArray ( arguments [ 0 ] ) ? arguments [ 0 ] : arguments ; return this . update . apply ( this , e ) , this . _trigger ( "changeDate" ) , this . setValue ( ) , this } , setUTCDates : function ( ) { var e = t . isArray ( arguments [ 0 ] ) ? arguments [ 0 ] : arguments ; return this . setDates . apply ( this , t . map ( e , this . _utc _to _local ) ) , this } , setDate : s ( "setDates" ) , setUTCDate : s ( "setUTCDates" ) , remove : s ( "destroy" , "Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead" ) , setValue : function ( ) { var t = this . getFormattedDate ( ) ; return this . inputField . val ( t ) , this } , getFormattedDate : function ( i ) { i === e && ( i = this . o . format ) ; var n = this . o . language ; return t . map ( this . dates , function ( t ) { return v . formatDate ( t , i , n ) } ) . join ( this . o . multidateSeparator ) } , getStartDate : function ( ) { return this . o . startDate } , setStartDate : function ( t ) { return this . _process _options ( { startDate : t } ) , this . update ( ) , this . updateNavArrows ( ) , this } , getEndDate : function ( ) { return this . o . endDate } , setEndDate : function ( t ) { return this . _process _options ( { endDate : t } ) , this . update ( ) , this . updateNavArrows ( ) , this } , setDaysOfWeekDisabled : function ( t ) { return this . _process _options ( { daysOfWeekDisabled : t } ) , this . update ( ) , this } , setDaysOfWeekHighlighted : function ( t ) { return this . _process _options ( { daysOfWeekHighlighted : t } ) , this . update ( ) , this } , setDatesDisabled : function ( t ) { return this . _process _options ( { datesDisabled : t } ) , this . update ( ) , this } , place : function ( ) { if ( this . isInline ) return this ; var e = this . picker . outerWidth ( ) , i = this . picker . outerHeight ( ) , n = t ( this . o . container ) , o = n . width ( ) , s = "body" === this . o . container ? t ( document ) . scrollTop ( ) : n . scrollTop ( ) , a = n . offset ( ) , r = [ 0 ] ; this . element . parents ( ) . each ( function ( ) { var e = t ( this ) . css ( "z-index" ) ; "auto" !== e && 0 !== Number ( e ) && r . push ( Number ( e ) ) } ) ; var l = Math . max . apply ( Math , r ) + this . o . zIndexOffset , h = this . component ? this . component . parent ( ) . offset ( ) : this
! e && this . _getYoutubeId ( t ) && ( e = "youtube" ) , ! e && this . _getVimeoId ( t ) && ( e = "vimeo" ) , ! e && this . _getInstagramId ( t ) && ( e = "instagram" ) , ( ! e || [ "image" , "youtube" , "vimeo" , "instagram" , "video" , "url" ] . indexOf ( e ) < 0 ) && ( e = "url" ) , e } } , { key : "_isImage" , value : function ( t ) { return t && t . match ( /(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i ) } } , { key : "_containerToUse" , value : function ( ) { var t = this , e = this . _$lightboxBodyTwo , i = this . _$lightboxBodyOne ; return this . _$lightboxBodyTwo . hasClass ( "in" ) && ( e = this . _$lightboxBodyOne , i = this . _$lightboxBodyTwo ) , i . removeClass ( "in show" ) , setTimeout ( function ( ) { t . _$lightboxBodyTwo . hasClass ( "in" ) || t . _$lightboxBodyTwo . empty ( ) , t . _$lightboxBodyOne . hasClass ( "in" ) || t . _$lightboxBodyOne . empty ( ) } , 500 ) , e . addClass ( "in show" ) , e } } , { key : "_handle" , value : function ( ) { var t = this . _containerToUse ( ) ; this . _updateTitleAndFooter ( ) ; var e = this . _$element . attr ( "data-remote" ) || this . _$element . attr ( "href" ) , i = this . _detectRemoteType ( e , this . _$element . attr ( "data-type" ) || ! 1 ) ; if ( [ "image" , "youtube" , "vimeo" , "instagram" , "video" , "url" ] . indexOf ( i ) < 0 ) return this . _error ( this . _config . strings . type ) ; switch ( i ) { case "image" : this . _preloadImage ( e , t ) , this . _preloadImageByIndex ( this . _galleryIndex , 3 ) ; break ; case "youtube" : this . _showYoutubeVideo ( e , t ) ; break ; case "vimeo" : this . _showVimeoVideo ( this . _getVimeoId ( e ) , t ) ; break ; case "instagram" : this . _showInstagramVideo ( this . _getInstagramId ( e ) , t ) ; break ; case "video" : this . _showHtml5Video ( e , t ) ; break ; default : this . _loadRemoteContent ( e , t ) } return this } } , { key : "_getYoutubeId" , value : function ( t ) { if ( ! t ) return ! 1 ; var e = t . match ( /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/ ) ; return ! ( ! e || 11 !== e [ 2 ] . length ) && e [ 2 ] } } , { key : "_getVimeoId" , value : function ( t ) { return ! ! ( t && t . indexOf ( "vimeo" ) > 0 ) && t } } , { key : "_getInstagramId" , value : function ( t ) { return ! ! ( t && t . indexOf ( "instagram" ) > 0 ) && t } } , { key : "_toggleLoading" , value : function ( e ) { return e = e || ! 1 , e ? ( this . _$modalDialog . css ( "display" , "none" ) , this . _$modal . removeClass ( "in show" ) , t ( ".modal-backdrop" ) . append ( this . _config . loadingMessage ) ) : ( this . _$modalDialog . css ( "display" , "block" ) , this . _$modal . addClass ( "in show" ) , t ( ".modal-backdrop" ) . find ( ".ekko-lightbox-loader" ) . remove ( ) ) , this } } , { key : "_calculateBorders" , value : function ( ) { return { top : this . _totalCssByAttribute ( "border-top-width" ) , right : this . _totalCssByAttribute ( "border-right-width" ) , bottom : this . _totalCssByAttribute ( "border-bottom-width" ) , left : this . _totalCssByAttribute ( "border-left-width" ) } } } , { key : "_calculatePadding" , value : function ( ) { return { top : this . _totalCssByAttribute ( "padding-top" ) , right : this . _totalCssByAttribute ( "padding-right" ) , bottom : this . _totalCssByAttribute ( "padding-bottom" ) , left : this . _totalCssByAttribute ( "padding-left" ) } } } , { key : "_totalCssByAttribute" , value : function ( t ) { return parseInt ( this . _$modalDialog . css ( t ) , 10 ) + parseInt ( this . _$modalContent . css ( t ) , 10 ) + parseInt ( this . _$modalBody . css ( t ) , 10 ) } } , { key : "_updateTitleAndFooter" , value : function ( ) { var t = this . _$element . data ( "title" ) || "" , e = this . _$element . data ( "footer" ) || "" ; return this . _titleIsShown = ! 1 , t || this . _config . alwaysShowClose ? ( this . _titleIsShown = ! 0 , this . _$modalHeader . css ( "display" , "" ) . find ( ".modal-title" ) . html ( t || " " ) ) : this . _$modalHeader . css ( "display" , "none" ) , this . _footerIsShown = ! 1 , e ? ( this . _footerIsShown = ! 0 , this . _$modalFooter . css ( "display" , "" ) . html ( e ) ) : this . _$modalFooter . css ( "display" , "none" ) , this } } , { key : "_showYoutubeVideo" , value : function ( t , e ) { var i = this . _getYoutubeId ( t ) , n = t . indexOf ( "&" ) > 0 ? t . substr ( t . indexOf ( "&" ) ) : "" , o = this . _$element . data ( "width" ) || 560 , s = this . _$element . data ( "height" ) || o / ( 560 / 315 ) ; return this . _showVideoIframe ( "//www.youtube.com/embed/" + i + "?badge=0&autoplay=1&html5=1" + n , o , s , e ) } } , { key : "_showVimeoVideo" , value : function ( t , e ) { var i = this . _$element . data ( "width" ) || 500 , n = this . _$element . data ( "height" ) || i / ( 560 / 315 ) ; return this . _showVideoIframe ( t + "?autoplay=1" , i , n , e ) } } , { key : "_showInstagramVideo" , value : function ( t , e ) { var i = this . _$element . data ( "width" ) || 612 , n = i + 80 ; return t = "/" !== t . substr ( - 1 ) ? t + "/" : t , e . html ( '<iframe width="' + i + '" height="' + n + '" src="' + t + 'embed/" frameborder="0" allowfullscreen></iframe>' ) , this . _resize ( i , n ) , this . _config . onContentLoaded . call ( this ) , this . _$modalArrows && this . _$modalArrows .
navy : [ 0 , 0 , 128 ] , oldlace : [ 253 , 245 , 230 ] , olive : [ 128 , 128 , 0 ] , olivedrab : [ 107 , 142 , 35 ] , orange : [ 255 , 165 , 0 ] , orangered : [ 255 , 69 , 0 ] , orchid : [ 218 , 112 , 214 ] , palegoldenrod : [ 238 , 232 , 170 ] , palegreen : [ 152 , 251 , 152 ] , paleturquoise : [ 175 , 238 , 238 ] , palevioletred : [ 219 , 112 , 147 ] , papayawhip : [ 255 , 239 , 213 ] , peachpuff : [ 255 , 218 , 185 ] , peru : [ 205 , 133 , 63 ] , pink : [ 255 , 192 , 203 ] , plum : [ 221 , 160 , 221 ] , powderblue : [ 176 , 224 , 230 ] , purple : [ 128 , 0 , 128 ] , rebeccapurple : [ 102 , 51 , 153 ] , red : [ 255 , 0 , 0 ] , rosybrown : [ 188 , 143 , 143 ] , royalblue : [ 65 , 105 , 225 ] , saddlebrown : [ 139 , 69 , 19 ] , salmon : [ 250 , 128 , 114 ] , sandybrown : [ 244 , 164 , 96 ] , seagreen : [ 46 , 139 , 87 ] , seashell : [ 255 , 245 , 238 ] , sienna : [ 160 , 82 , 45 ] , silver : [ 192 , 192 , 192 ] , skyblue : [ 135 , 206 , 235 ] , slateblue : [ 106 , 90 , 205 ] , slategray : [ 112 , 128 , 144 ] , slategrey : [ 112 , 128 , 144 ] , snow : [ 255 , 250 , 250 ] , springgreen : [ 0 , 255 , 127 ] , steelblue : [ 70 , 130 , 180 ] , tan : [ 210 , 180 , 140 ] , teal : [ 0 , 128 , 128 ] , thistle : [ 216 , 191 , 216 ] , tomato : [ 255 , 99 , 71 ] , turquoise : [ 64 , 224 , 208 ] , violet : [ 238 , 130 , 238 ] , wheat : [ 245 , 222 , 179 ] , white : [ 255 , 255 , 255 ] , whitesmoke : [ 245 , 245 , 245 ] , yellow : [ 255 , 255 , 0 ] , yellowgreen : [ 154 , 205 , 50 ] } , Q = { } ; for ( var Z in G ) Q [ JSON . stringify ( G [ Z ] ) ] = Z } , { } ] , 5 : [ function ( t , e , i ) { var n = t ( 4 ) , o = function ( ) { return new h } ; for ( var s in n ) { o [ s + "Raw" ] = function ( t ) { return function ( e ) { return "number" == typeof e && ( e = Array . prototype . slice . call ( arguments ) ) , n [ t ] ( e ) } } ( s ) ; var a = /(\w+)2(\w+)/ . exec ( s ) , r = a [ 1 ] , l = a [ 2 ] ; o [ r ] = o [ r ] || { } , o [ r ] [ l ] = o [ s ] = function ( t ) { return function ( e ) { "number" == typeof e && ( e = Array . prototype . slice . call ( arguments ) ) ; var i = n [ t ] ( e ) ; if ( "string" == typeof i || void 0 === i ) return i ; for ( var o = 0 ; o < i . length ; o ++ ) i [ o ] = Math . round ( i [ o ] ) ; return i } } ( s ) } var h = function ( ) { this . convs = { } } ; h . prototype . routeSpace = function ( t , e ) { var i = e [ 0 ] ; return void 0 === i ? this . getValues ( t ) : ( "number" == typeof i && ( i = Array . prototype . slice . call ( e ) ) , this . setValues ( t , i ) ) } , h . prototype . setValues = function ( t , e ) { return this . space = t , this . convs = { } , this . convs [ t ] = e , this } , h . prototype . getValues = function ( t ) { var e = this . convs [ t ] ; if ( ! e ) { var i = this . space , n = this . convs [ i ] ; e = o [ i ] [ t ] ( n ) , this . convs [ t ] = e } return e } , [ "rgb" , "hsl" , "hsv" , "cmyk" , "keyword" ] . forEach ( function ( t ) { h . prototype [ t ] = function ( e ) { return this . routeSpace ( t , arguments ) } } ) , e . exports = o } , { 4 : 4 } ] , 6 : [ function ( t , e , i ) { "use strict" ; e . exports = { aliceblue : [ 240 , 248 , 255 ] , antiquewhite : [ 250 , 235 , 215 ] , aqua : [ 0 , 255 , 255 ] , aquamarine : [ 127 , 255 , 212 ] , azure : [ 240 , 255 , 255 ] , beige : [ 245 , 245 , 220 ] , bisque : [ 255 , 228 , 196 ] , black : [ 0 , 0 , 0 ] , blanchedalmond : [ 255 , 235 , 205 ] , blue : [ 0 , 0 , 255 ] , blueviolet : [ 138 , 43 , 226 ] , brown : [ 165 , 42 , 42 ] , burlywood : [ 222 , 184 , 135 ] , cadetblue : [ 95 , 158 , 160 ] , chartreuse : [ 127 , 255 , 0 ] , chocolate : [ 210 , 105 , 30 ] , coral : [ 255 , 127 , 80 ] , cornflowerblue : [ 100 , 149 , 237 ] , cornsilk : [ 255 , 248 , 220 ] , crimson : [ 220 , 20 , 60 ] , cyan : [ 0 , 255 , 255 ] , darkblue : [ 0 , 0 , 139 ] , darkcyan : [ 0 , 139 , 139 ] , darkgoldenrod : [ 184 , 134 , 11 ] , darkgray : [ 169 , 169 , 169 ] , darkgreen : [ 0 , 100 , 0 ] , darkgrey : [ 169 , 169 , 169 ] , darkkhaki : [ 189 , 183 , 107 ] , darkmagenta : [ 139 , 0 , 139 ] , darkolivegreen : [ 85 , 107 , 47 ] , darkorange : [ 255 , 140 , 0 ] , darkorchid : [ 153 , 50 , 204 ] , darkred : [ 139 , 0 , 0 ] , darksalmon : [ 233 , 150 , 122 ] , darkseagreen : [ 143 , 188 , 143 ] , darkslateblue : [ 72 , 61 , 139 ] , darkslategray : [ 47 , 79 , 79 ] , darkslategrey : [ 47 , 79 , 79 ] , darkturquoise : [ 0 , 206 , 209 ] , darkviolet : [ 148 , 0 , 211 ] , deeppink : [ 255 , 20 , 147 ] , deepskyblue : [ 0 , 191 , 255 ] , dimgray : [ 105 , 105 , 105 ] , dimgrey : [ 105 , 105 , 105 ] , dodgerblue : [ 30 , 144 , 255 ] , firebrick : [ 178 , 34 , 34 ] , floralwhite : [ 255 , 250 , 240 ] , forestgreen : [ 34 , 139 , 34 ] , fuchsia : [ 255 , 0 , 255 ] , gainsboro : [ 220 , 220 , 220 ] , ghostwhite : [ 248 , 248 , 255 ] , gold : [ 255 , 215 , 0 ] , goldenrod : [ 218 , 165 , 32 ] , gray : [ 128 , 128 , 128 ] , green : [ 0 , 128 , 0 ] , greenyellow : [ 173 , 255 , 47 ] , grey : [ 128 , 128 , 128 ] , honeydew : [ 240 , 255 , 240 ] , hotpink : [ 255 , 105 , 180 ] , indianred : [ 205 , 92 , 92 ] , indigo : [ 75 , 0 , 130 ] , ivory : [ 255 , 255 , 240 ] , khaki : [ 240 , 230 , 140 ] , lavender : [ 230 , 230 , 250 ] , lavenderblush : [ 255 , 240 , 245 ] , lawngreen : [ 124 , 252 , 0 ] , lemonchiffon : [ 255 , 250 , 205 ] , lightblue : [ 173 , 216 , 230 ] , lightcoral : [ 240 , 128 , 128 ] , lightcyan : [ 224 , 255 , 255 ] , lightgoldenrodyellow : [ 250 , 250 , 210 ] , lightgray : [ 211 , 211 , 211 ] , lightgreen : [ 144 , 238 , 144 ] , lightgrey : [ 211 , 211 , 211 ] , lightpink : [ 255 , 182 , 193 ] , lightsalmon : [ 255 , 160 , 122 ] , lightseagreen : [ 32 , 178 , 170 ] , lightskyblue : [ 135 , 206 , 250 ] , lightslategray : [ 119 , 136 , 153 ] , lightslategrey : [ 119 , 136 , 153 ] , lightsteelblue : [ 176 , 196 , 222 ] , lightyellow : [ 255 , 255 , 224 ] , lime : [ 0 , 255 , 0 ] , limegreen : [ 50 , 205 , 5
borderWidth : o . borderWidth ? o . borderWidth : s . valueAtIndexOrDefault ( a . pointBorderWidth , e , l . borderWidth ) , pointStyle : o . pointStyle ? o . pointStyle : s . valueAtIndexOrDefault ( a . pointStyle , e , l . pointStyle ) , hitRadius : o . hitRadius ? o . hitRadius : s . valueAtIndexOrDefault ( a . pointHitRadius , e , l . hitRadius ) } } ) , t . _model . skip = o . skip ? o . skip : isNaN ( t . _model . x ) || isNaN ( t . _model . y ) } , updateBezierControlPoints : function ( ) { var t = this . chart . chartArea , e = this . getMeta ( ) ; s . each ( e . data , function ( i , n ) { var o = i . _model , a = s . splineCurve ( s . previousItem ( e . data , n , ! 0 ) . _model , o , s . nextItem ( e . data , n , ! 0 ) . _model , o . tension ) ; o . controlPointPreviousX = Math . max ( Math . min ( a . previous . x , t . right ) , t . left ) , o . controlPointPreviousY = Math . max ( Math . min ( a . previous . y , t . bottom ) , t . top ) , o . controlPointNextX = Math . max ( Math . min ( a . next . x , t . right ) , t . left ) , o . controlPointNextY = Math . max ( Math . min ( a . next . y , t . bottom ) , t . top ) , i . pivot ( ) } ) } , setHoverStyle : function ( t ) { var e = this . chart . data . datasets [ t . _datasetIndex ] , i = t . custom || { } , n = t . _index , o = t . _model ; o . radius = i . hoverRadius ? i . hoverRadius : s . valueAtIndexOrDefault ( e . pointHoverRadius , n , this . chart . options . elements . point . hoverRadius ) , o . backgroundColor = i . hoverBackgroundColor ? i . hoverBackgroundColor : s . valueAtIndexOrDefault ( e . pointHoverBackgroundColor , n , s . getHoverColor ( o . backgroundColor ) ) , o . borderColor = i . hoverBorderColor ? i . hoverBorderColor : s . valueAtIndexOrDefault ( e . pointHoverBorderColor , n , s . getHoverColor ( o . borderColor ) ) , o . borderWidth = i . hoverBorderWidth ? i . hoverBorderWidth : s . valueAtIndexOrDefault ( e . pointHoverBorderWidth , n , o . borderWidth ) } , removeHoverStyle : function ( t ) { var e = this . chart . data . datasets [ t . _datasetIndex ] , i = t . custom || { } , n = t . _index , o = t . _model , a = this . chart . options . elements . point ; o . radius = i . radius ? i . radius : s . valueAtIndexOrDefault ( e . pointRadius , n , a . radius ) , o . backgroundColor = i . backgroundColor ? i . backgroundColor : s . valueAtIndexOrDefault ( e . pointBackgroundColor , n , a . backgroundColor ) , o . borderColor = i . borderColor ? i . borderColor : s . valueAtIndexOrDefault ( e . pointBorderColor , n , a . borderColor ) , o . borderWidth = i . borderWidth ? i . borderWidth : s . valueAtIndexOrDefault ( e . pointBorderWidth , n , a . borderWidth ) } } ) } } , { 25 : 25 , 40 : 40 , 45 : 45 } ] , 21 : [ function ( t , e , i ) { "use strict" ; t ( 25 ) . _set ( "scatter" , { hover : { mode : "single" } , scales : { xAxes : [ { id : "x-axis-1" , type : "linear" , position : "bottom" } ] , yAxes : [ { id : "y-axis-1" , type : "linear" , position : "left" } ] } , showLines : ! 1 , tooltips : { callbacks : { title : function ( ) { return "" } , label : function ( t ) { return "(" + t . xLabel + ", " + t . yLabel + ")" } } } } ) , e . exports = function ( t ) { t . controllers . scatter = t . controllers . line } } , { 25 : 25 } ] , 22 : [ function ( t , e , i ) { "use strict" ; var n = t ( 25 ) , o = t ( 26 ) , s = t ( 45 ) ; n . _set ( "global" , { animation : { duration : 1e3 , easing : "easeOutQuart" , onProgress : s . noop , onComplete : s . noop } } ) , e . exports = function ( t ) { t . Animation = o . extend ( { chart : null , currentStep : 0 , numSteps : 60 , easing : "" , render : null , onAnimationProgress : null , onAnimationComplete : null } ) , t . animationService = { frameDuration : 17 , animations : [ ] , dropFrames : 0 , request : null , addAnimation : function ( t , e , i , n ) { var o , s , a = this . animations ; for ( e . chart = t , n || ( t . animating = ! 0 ) , o = 0 , s = a . length ; o < s ; ++ o ) if ( a [ o ] . chart === t ) return void ( a [ o ] = e ) ; a . push ( e ) , 1 === a . length && this . requestAnimationFrame ( ) } , cancelAnimation : function ( t ) { var e = s . findIndex ( this . animations , function ( e ) { return e . chart === t } ) ; - 1 !== e && ( this . animations . splice ( e , 1 ) , t . animating = ! 1 ) } , requestAnimationFrame : function ( ) { var t = this ; null === t . request && ( t . request = s . requestAnimFrame . call ( window , function ( ) { t . request = null , t . startDigest ( ) } ) ) } , startDigest : function ( ) { var t = this , e = Date . now ( ) , i = 0 ; t . dropFrames > 1 && ( i = Math . floor ( t . dropFrames ) , t . dropFrames = t . dropFrames % 1 ) , t . advance ( 1 + i ) ; var n = Date . now ( ) ; t . dropFrames += ( n - e ) / t . frameDuration , t . animations . length > 0 && t . requestAnimationFrame ( ) } , advance : function ( t ) { for ( var e , i , n = this . animations , o = 0 ; o < n . length ; ) e = n [ o ] , i = e . chart , e . currentStep = ( e . currentStep || 0 ) + t , e . currentStep = Math . min ( e . currentStep , e . numSteps ) , s . callback ( e . render , [ i , e ] , i ) , s . callback ( e . onAnimationProgress , [ e ] , i ) , e . currentStep >= e . numSteps ? ( s . callback ( e . onAnimationComplete , [ e ] , i ) , i . animating = ! 1 , n . splice ( o , 1 ) ) : ++ o } } , Object . defineProperty ( t . Animation . prototype , "animationObject" , { get : function ( ) { return this } } ) , Object . defineProperty ( t . Animation . prototype , " chartIn
e . left = t . chartArea . left , e . top = t . chartArea . top , e . right = t . chartArea . right , e . bottom = t . chartArea . bottom , e . update ( M , T ) } ) } } } } , { 45 : 45 } ] , 31 : [ function ( t , e , i ) { "use strict" ; var n = t ( 25 ) , o = t ( 45 ) ; n . _set ( "global" , { plugins : { } } ) , e . exports = { _plugins : [ ] , _cacheId : 0 , register : function ( t ) { var e = this . _plugins ; [ ] . concat ( t ) . forEach ( function ( t ) { - 1 === e . indexOf ( t ) && e . push ( t ) } ) , this . _cacheId ++ } , unregister : function ( t ) { var e = this . _plugins ; [ ] . concat ( t ) . forEach ( function ( t ) { var i = e . indexOf ( t ) ; - 1 !== i && e . splice ( i , 1 ) } ) , this . _cacheId ++ } , clear : function ( ) { this . _plugins = [ ] , this . _cacheId ++ } , count : function ( ) { return this . _plugins . length } , getAll : function ( ) { return this . _plugins } , notify : function ( t , e , i ) { var n , o , s , a , r , l = this . descriptors ( t ) , h = l . length ; for ( n = 0 ; n < h ; ++ n ) if ( o = l [ n ] , s = o . plugin , "function" == typeof ( r = s [ e ] ) && ( a = [ t ] . concat ( i || [ ] ) , a . push ( o . options ) , ! 1 === r . apply ( s , a ) ) ) return ! 1 ; return ! 0 } , descriptors : function ( t ) { var e = t . $plugins || ( t . $plugins = { } ) ; if ( e . id === this . _cacheId ) return e . descriptors ; var i = [ ] , s = [ ] , a = t && t . config || { } , r = a . options && a . options . plugins || { } ; return this . _plugins . concat ( a . plugins || [ ] ) . forEach ( function ( t ) { if ( - 1 === i . indexOf ( t ) ) { var e = t . id , a = r [ e ] ; ! 1 !== a && ( ! 0 === a && ( a = o . clone ( n . global . plugins [ e ] ) ) , i . push ( t ) , s . push ( { plugin : t , options : a || { } } ) ) } } ) , e . descriptors = s , e . id = this . _cacheId , s } , _invalidate : function ( t ) { delete t . $plugins } } } , { 25 : 25 , 45 : 45 } ] , 32 : [ function ( t , e , i ) { "use strict" ; function n ( t ) { var e , i , n = [ ] ; for ( e = 0 , i = t . length ; e < i ; ++ e ) n . push ( t [ e ] . label ) ; return n } function o ( t , e , i ) { var n = t . getPixelForTick ( e ) ; return i && ( n -= 0 === e ? ( t . getPixelForTick ( 1 ) - n ) / 2 : ( n - t . getPixelForTick ( e - 1 ) ) / 2 ) , n } var s = t ( 25 ) , a = t ( 26 ) , r = t ( 45 ) , l = t ( 34 ) ; s . _set ( "scale" , { display : ! 0 , position : "left" , offset : ! 1 , gridLines : { display : ! 0 , color : "rgba(0, 0, 0, 0.1)" , lineWidth : 1 , drawBorder : ! 0 , drawOnChartArea : ! 0 , drawTicks : ! 0 , tickMarkLength : 10 , zeroLineWidth : 1 , zeroLineColor : "rgba(0,0,0,0.25)" , zeroLineBorderDash : [ ] , zeroLineBorderDashOffset : 0 , offsetGridLines : ! 1 , borderDash : [ ] , borderDashOffset : 0 } , scaleLabel : { display : ! 1 , labelString : "" , lineHeight : 1.2 , padding : { top : 4 , bottom : 4 } } , ticks : { beginAtZero : ! 1 , minRotation : 0 , maxRotation : 50 , mirror : ! 1 , padding : 0 , reverse : ! 1 , display : ! 0 , autoSkip : ! 0 , autoSkipPadding : 0 , labelOffset : 0 , callback : l . formatters . values , minor : { } , major : { } } } ) , e . exports = function ( t ) { function e ( t , e , i ) { return r . isArray ( e ) ? r . longestText ( t , i , e ) : t . measureText ( e ) . width } function i ( t ) { var e = r . valueOrDefault , i = s . global , n = e ( t . fontSize , i . defaultFontSize ) , o = e ( t . fontStyle , i . defaultFontStyle ) , a = e ( t . fontFamily , i . defaultFontFamily ) ; return { size : n , style : o , family : a , font : r . fontString ( n , o , a ) } } function l ( t ) { return r . options . toLineHeight ( r . valueOrDefault ( t . lineHeight , 1.2 ) , r . valueOrDefault ( t . fontSize , s . global . defaultFontSize ) ) } t . Scale = a . extend ( { getPadding : function ( ) { var t = this ; return { left : t . paddingLeft || 0 , top : t . paddingTop || 0 , right : t . paddingRight || 0 , bottom : t . paddingBottom || 0 } } , getTicks : function ( ) { return this . _ticks } , mergeTicksOptions : function ( ) { var t = this . options . ticks ; ! 1 === t . minor && ( t . minor = { display : ! 1 } ) , ! 1 === t . major && ( t . major = { display : ! 1 } ) ; for ( var e in t ) "major" !== e && "minor" !== e && ( void 0 === t . minor [ e ] && ( t . minor [ e ] = t [ e ] ) , void 0 === t . major [ e ] && ( t . major [ e ] = t [ e ] ) ) } , beforeUpdate : function ( ) { r . callback ( this . options . beforeUpdate , [ this ] ) } , update : function ( t , e , i ) { var n , o , s , a , l , h , c = this ; for ( c . beforeUpdate ( ) , c . maxWidth = t , c . maxHeight = e , c . margins = r . extend ( { left : 0 , right : 0 , top : 0 , bottom : 0 } , i ) , c . longestTextCache = c . longestTextCache || { } , c . beforeSetDimensions ( ) , c . setDimensions ( ) , c . afterSetDimensions ( ) , c . beforeDataLimits ( ) , c . determineDataLimits ( ) , c . afterDataLimits ( ) , c . beforeBuildTicks ( ) , l = c . buildTicks ( ) || [ ] , c . afterBuildTicks ( ) , c . beforeTickToLabelConversion ( ) , s = c . convertTicksToLabels ( l ) || c . ticks , c . afterTickToLabelConversion ( ) , c . ticks = s , n = 0 , o = s . length ; n < o ; ++ n ) a = s [ n ] , h = l [ n ] , h ? h . label = a : l . push ( h = { label : a , major : ! 1 } ) ; return c . _ticks = l , c . beforeCalculateTickRotation ( ) , c . calculateTickRotation ( ) , c . afterCalculateTickRotation ( ) , c . beforeFit ( ) , c . fit ( ) , c . afterFit ( ) , c . afterUpdate ( ) , c . minSize } , afterUpdate : function ( ) { r . callback ( this . options . afterUpdate , [ this ] ) } , beforeSetDimensions : function ( ) { r . callback ( this . options . beforeSetDimensions , [ this ] ) } , setDimensions : function ( ) { var t = this ; t . isHorizontal
t . closePath ( ) ; break ; case "star" : t . beginPath ( ) , t . moveTo ( n , o + i ) , t . lineTo ( n , o - i ) , t . moveTo ( n - i , o ) , t . lineTo ( n + i , o ) , r = Math . cos ( Math . PI / 4 ) * i , l = Math . sin ( Math . PI / 4 ) * i , t . moveTo ( n - r , o - l ) , t . lineTo ( n + r , o + l ) , t . moveTo ( n - r , o + l ) , t . lineTo ( n + r , o - l ) , t . closePath ( ) ; break ; case "line" : t . beginPath ( ) , t . moveTo ( n - i , o ) , t . lineTo ( n + i , o ) , t . closePath ( ) ; break ; case "dash" : t . beginPath ( ) , t . moveTo ( n , o ) , t . lineTo ( n + i , o ) , t . closePath ( ) } t . stroke ( ) } } , clipArea : function ( t , e ) { t . save ( ) , t . beginPath ( ) , t . rect ( e . left , e . top , e . right - e . left , e . bottom - e . top ) , t . clip ( ) } , unclipArea : function ( t ) { t . restore ( ) } , lineTo : function ( t , e , i , n ) { return i . steppedLine ? ( "after" === i . steppedLine && ! n || "after" !== i . steppedLine && n ? t . lineTo ( e . x , i . y ) : t . lineTo ( i . x , e . y ) , void t . lineTo ( i . x , i . y ) ) : i . tension ? void t . bezierCurveTo ( n ? e . controlPointPreviousX : e . controlPointNextX , n ? e . controlPointPreviousY : e . controlPointNextY , n ? i . controlPointNextX : i . controlPointPreviousX , n ? i . controlPointNextY : i . controlPointPreviousY , i . x , i . y ) : void t . lineTo ( i . x , i . y ) } } ; n . clear = i . clear , n . drawRoundedRectangle = function ( t ) { t . beginPath ( ) , i . roundedRect . apply ( i , arguments ) , t . closePath ( ) } } , { 42 : 42 } ] , 42 : [ function ( t , e , i ) { "use strict" ; var n = { noop : function ( ) { } , uid : function ( ) { var t = 0 ; return function ( ) { return t ++ } } ( ) , isNullOrUndef : function ( t ) { return null === t || void 0 === t } , isArray : Array . isArray ? Array . isArray : function ( t ) { return "[object Array]" === Object . prototype . toString . call ( t ) } , isObject : function ( t ) { return null !== t && "[object Object]" === Object . prototype . toString . call ( t ) } , valueOrDefault : function ( t , e ) { return void 0 === t ? e : t } , valueAtIndexOrDefault : function ( t , e , i ) { return n . valueOrDefault ( n . isArray ( t ) ? t [ e ] : t , i ) } , callback : function ( t , e , i ) { if ( t && "function" == typeof t . call ) return t . apply ( i , e ) } , each : function ( t , e , i , o ) { var s , a , r ; if ( n . isArray ( t ) ) if ( a = t . length , o ) for ( s = a - 1 ; s >= 0 ; s -- ) e . call ( i , t [ s ] , s ) ; else for ( s = 0 ; s < a ; s ++ ) e . call ( i , t [ s ] , s ) ; else if ( n . isObject ( t ) ) for ( r = Object . keys ( t ) , a = r . length , s = 0 ; s < a ; s ++ ) e . call ( i , t [ r [ s ] ] , r [ s ] ) } , arrayEquals : function ( t , e ) { var i , o , s , a ; if ( ! t || ! e || t . length !== e . length ) return ! 1 ; for ( i = 0 , o = t . length ; i < o ; ++ i ) if ( s = t [ i ] , a = e [ i ] , s instanceof Array && a instanceof Array ) { if ( ! n . arrayEquals ( s , a ) ) return ! 1 } else if ( s !== a ) return ! 1 ; return ! 0 } , clone : function ( t ) { if ( n . isArray ( t ) ) return t . map ( n . clone ) ; if ( n . isObject ( t ) ) { for ( var e = { } , i = Object . keys ( t ) , o = i . length , s = 0 ; s < o ; ++ s ) e [ i [ s ] ] = n . clone ( t [ i [ s ] ] ) ; return e } return t } , _merger : function ( t , e , i , o ) { var s = e [ t ] , a = i [ t ] ; n . isObject ( s ) && n . isObject ( a ) ? n . merge ( s , a , o ) : e [ t ] = n . clone ( a ) } , _mergerIf : function ( t , e , i ) { var o = e [ t ] , s = i [ t ] ; n . isObject ( o ) && n . isObject ( s ) ? n . mergeIf ( o , s ) : e . hasOwnProperty ( t ) || ( e [ t ] = n . clone ( s ) ) } , merge : function ( t , e , i ) { var o , s , a , r , l , h = n . isArray ( e ) ? e : [ e ] , c = h . length ; if ( ! n . isObject ( t ) ) return t ; for ( i = i || { } , o = i . merger || n . _merger , s = 0 ; s < c ; ++ s ) if ( e = h [ s ] , n . isObject ( e ) ) for ( a = Object . keys ( e ) , l = 0 , r = a . length ; l < r ; ++ l ) o ( a [ l ] , t , e , i ) ; return t } , mergeIf : function ( t , e ) { return n . merge ( t , e , { merger : n . _mergerIf } ) } , extend : function ( t ) { for ( var e = function ( e , i ) { t [ i ] = e } , i = 1 , o = arguments . length ; i < o ; ++ i ) n . each ( arguments [ i ] , e ) ; return t } , inherits : function ( t ) { var e = this , i = t && t . hasOwnProperty ( "constructor" ) ? t . constructor : function ( ) { return e . apply ( this , arguments ) } , o = function ( ) { this . constructor = i } ; return o . prototype = e . prototype , i . prototype = new o , i . extend = n . inherits , t && n . extend ( i . prototype , t ) , i . _ _super _ _ = e . prototype , i } } ; e . exports = n , n . callCallback = n . callback , n . indexOf = function ( t , e , i ) { return Array . prototype . indexOf . call ( t , e , i ) } , n . getValueOrDefault = n . valueOrDefault , n . getValueAtIndexOrDefault = n . valueAtIndexOrDefault } , { } ] , 43 : [ function ( t , e , i ) { "use strict" ; var n = t ( 42 ) , o = { linear : function ( t ) { return t } , easeInQuad : function ( t ) { return t * t } , easeOutQuad : function ( t ) { return - t * ( t - 2 ) } , easeInOutQuad : function ( t ) { return ( t /= . 5 ) < 1 ? . 5 * t * t : - . 5 * ( -- t * ( t - 2 ) - 1 ) } , easeInCubic : function ( t ) { return t * t * t } , easeOutCubic : function ( t ) { return ( t -= 1 ) * t * t + 1 } , easeInOutCubic : function ( t ) { return ( t /= . 5 ) < 1 ? . 5 * t * t * t : . 5 * ( ( t -= 2 ) * t * t + 2 ) } , easeInQuart : function ( t ) { return t * t * t * t } , easeOutQuart : function ( t ) { return - ( ( t -= 1 ) * t * t * t - 1 ) } , easeInOutQuart : function ( t ) { return ( t /= . 5 ) < 1 ? . 5 * t * t * t * t : - . 5 * ( ( t -= 2 ) * t * t * t - 2 ) } , easeInQuint : function ( t ) { return t * t * t * t * t } , easeOutQuint : function ( t ) { return ( t -= 1 ) * t * t * t * t + 1 } , easeInOutQuint : function ( t ) { return ( t /
n = h ? l . right : l . left ) : ( i = l . height , r *= - 1 , n = h ? l . top : l . bottom ) , e !== s && ( 0 === s && ( d = o . getValueOrDefault ( l . options . ticks . fontSize , t . defaults . global . defaultFontSize ) , i -= d , s = u ) , 0 !== e && ( d += i / ( c ( a ) - c ( s ) ) * ( c ( e ) - c ( s ) ) ) , n += r * d ) , n } , getValueForPixel : function ( e ) { var i , n , s , a , r = this , l = r . options . ticks . reverse , h = o . log10 , c = r . _getFirstTickValue ( r . minNotZero ) ; if ( l ? ( n = r . end , s = r . start ) : ( n = r . start , s = r . end ) , r . isHorizontal ( ) ? ( i = r . width , a = l ? r . right - e : e - r . left ) : ( i = r . height , a = l ? e - r . top : r . bottom - e ) , a !== n ) { if ( 0 === n ) { var u = o . getValueOrDefault ( r . options . ticks . fontSize , t . defaults . global . defaultFontSize ) ; a -= u , i -= u , n = c } a *= h ( s ) - h ( n ) , a /= i , a = Math . pow ( 10 , h ( n ) + a ) } return a } } ) ; t . scaleService . registerScaleType ( "logarithmic" , i , e ) } } , { 34 : 34 , 45 : 45 } ] , 57 : [ function ( t , e , i ) { "use strict" ; var n = t ( 25 ) , o = t ( 45 ) , s = t ( 34 ) ; e . exports = function ( t ) { function e ( t ) { var e = t . options ; return e . angleLines . display || e . pointLabels . display ? t . chart . data . labels . length : 0 } function i ( t ) { var e = t . options . pointLabels , i = o . valueOrDefault ( e . fontSize , m . defaultFontSize ) , n = o . valueOrDefault ( e . fontStyle , m . defaultFontStyle ) , s = o . valueOrDefault ( e . fontFamily , m . defaultFontFamily ) ; return { size : i , style : n , family : s , font : o . fontString ( i , n , s ) } } function a ( t , e , i ) { return o . isArray ( i ) ? { w : o . longestText ( t , t . font , i ) , h : i . length * e + 1.5 * ( i . length - 1 ) * e } : { w : t . measureText ( i ) . width , h : e } } function r ( t , e , i , n , o ) { return t === n || t === o ? { start : e - i / 2 , end : e + i / 2 } : t < n || t > o ? { start : e - i - 5 , end : e } : { start : e , end : e + i + 5 } } function l ( t ) { var n , s , l , h = i ( t ) , c = Math . min ( t . height / 2 , t . width / 2 ) , u = { r : t . width , l : 0 , t : t . height , b : 0 } , d = { } ; t . ctx . font = h . font , t . _pointLabelSizes = [ ] ; var p = e ( t ) ; for ( n = 0 ; n < p ; n ++ ) { l = t . getPointPosition ( n , c ) , s = a ( t . ctx , h . size , t . pointLabels [ n ] || "" ) , t . _pointLabelSizes [ n ] = s ; var f = t . getIndexAngle ( n ) , g = o . toDegrees ( f ) % 360 , m = r ( g , l . x , s . w , 0 , 180 ) , v = r ( g , l . y , s . h , 90 , 270 ) ; m . start < u . l && ( u . l = m . start , d . l = f ) , m . end > u . r && ( u . r = m . end , d . r = f ) , v . start < u . t && ( u . t = v . start , d . t = f ) , v . end > u . b && ( u . b = v . end , d . b = f ) } t . setReductions ( c , u , d ) } function h ( t ) { var e = Math . min ( t . height / 2 , t . width / 2 ) ; t . drawingArea = Math . round ( e ) , t . setCenterPoint ( 0 , 0 , 0 , 0 ) } function c ( t ) { return 0 === t || 180 === t ? "center" : t < 180 ? "left" : "right" } function u ( t , e , i , n ) { if ( o . isArray ( e ) ) for ( var s = i . y , a = 1.5 * n , r = 0 ; r < e . length ; ++ r ) t . fillText ( e [ r ] , i . x , s ) , s += a ; else t . fillText ( e , i . x , i . y ) } function d ( t , e , i ) { 90 === t || 270 === t ? i . y -= e . h / 2 : ( t > 270 || t < 90 ) && ( i . y -= e . h ) } function p ( t ) { var n = t . ctx , s = t . options , a = s . angleLines , r = s . pointLabels ; n . lineWidth = a . lineWidth , n . strokeStyle = a . color ; var l = t . getDistanceFromCenterForValue ( s . ticks . reverse ? t . min : t . max ) , h = i ( t ) ; n . textBaseline = "top" ; for ( var p = e ( t ) - 1 ; p >= 0 ; p -- ) { if ( a . display ) { var f = t . getPointPosition ( p , l ) ; n . beginPath ( ) , n . moveTo ( t . xCenter , t . yCenter ) , n . lineTo ( f . x , f . y ) , n . stroke ( ) , n . closePath ( ) } if ( r . display ) { var g = t . getPointPosition ( p , l + 5 ) , v = o . valueAtIndexOrDefault ( r . fontColor , p , m . defaultFontColor ) ; n . font = h . font , n . fillStyle = v ; var b = t . getIndexAngle ( p ) , _ = o . toDegrees ( b ) ; n . textAlign = c ( _ ) , d ( _ , t . _pointLabelSizes [ p ] , g ) , u ( n , t . pointLabels [ p ] || "" , g , h . size ) } } } function f ( t , i , n , s ) { var a = t . ctx ; if ( a . strokeStyle = o . valueAtIndexOrDefault ( i . color , s - 1 ) , a . lineWidth = o . valueAtIndexOrDefault ( i . lineWidth , s - 1 ) , t . options . gridLines . circular ) a . beginPath ( ) , a . arc ( t . xCenter , t . yCenter , n , 0 , 2 * Math . PI ) , a . closePath ( ) , a . stroke ( ) ; else { var r = e ( t ) ; if ( 0 === r ) return ; a . beginPath ( ) ; var l = t . getPointPosition ( 0 , n ) ; a . moveTo ( l . x , l . y ) ; for ( var h = 1 ; h < r ; h ++ ) l = t . getPointPosition ( h , n ) , a . lineTo ( l . x , l . y ) ; a . closePath ( ) , a . stroke ( ) } } function g ( t ) { return o . isNumber ( t ) ? t : 0 } var m = n . global , v = { display : ! 0 , animate : ! 0 , position : "chartArea" , angleLines : { display : ! 0 , color : "rgba(0, 0, 0, 0.1)" , lineWidth : 1 } , gridLines : { circular : ! 1 } , ticks : { showLabelBackdrop : ! 0 , backdropColor : "rgba(255,255,255,0.75)" , backdropPaddingY : 2 , backdropPaddingX : 2 , callback : s . formatters . linear } , pointLabels : { display : ! 0 , fontSize : 10 , callback : function ( t ) { return t } } } , b = t . LinearScaleBase . extend ( { setDimensions : function ( ) { var t = this , e = t . options , i = e . ticks ; t . width = t . maxWidth , t . height = t . maxHeight , t . xCenter = Math . round ( t . width / 2 ) , t . yCenter = Math . round ( t . height / 2 ) ; var n = o . min ( [ t . height , t . width ] ) , s = o . valueOrDefault ( i . fontSize , m . defaultFontSize ) ; t . drawingArea = e . display ? n / 2 - ( s / 2 + i . backdropPaddingY ) : n / 2 } , determineDataLimits : function ( ) { var t = this , e = t . ch