2020-09-26 16:19:37 +02:00
/ *
* This combined file was created by the DataTables downloader builder :
* https : //datatables.net/download
*
* To rebuild or modify this file with the latest versions of the included
* software please visit :
2022-03-26 23:33:12 +01:00
* https : //datatables.net/download/#dt/jszip-2.5.0/pdfmake-0.1.36/dt-1.11.5/b-2.2.2/b-colvis-2.2.2/b-html5-2.2.2/b-print-2.2.2/cr-1.5.5/fc-4.0.2/fh-3.2.2/r-2.2.9/rg-1.1.4/rr-1.2.8/sl-1.3.4
2020-09-26 16:19:37 +02:00
*
* Included libraries :
2022-03-26 23:33:12 +01:00
* JSZip 2.5 . 0 , pdfmake 0.1 . 36 , DataTables 1.11 . 5 , Buttons 2.2 . 2 , Column visibility 2.2 . 2 , HTML5 export 2.2 . 2 , Print view 2.2 . 2 , ColReorder 1.5 . 5 , FixedColumns 4.0 . 2 , FixedHeader 3.2 . 2 , Responsive 2.2 . 9 , RowGroup 1.1 . 4 , RowReorder 1.2 . 8 , Select 1.3 . 4
2020-09-26 16:19:37 +02:00
* /
2022-03-26 23:33:12 +01:00
/ * !
JSZip - A Javascript class for generating and reading zip files
< http : //stuartk.com/jszip>
( c ) 2009 - 2014 Stuart Knightley < stuart [ at ] stuartk . com >
Dual licenced under the MIT license or GPLv3 . See https : //raw.github.com/Stuk/jszip/master/LICENSE.markdown.
JSZip uses the library pako released under the MIT license :
https : //github.com/nodeca/pako/blob/master/LICENSE
* /
! function ( a ) { if ( "object" == typeof exports && "undefined" != typeof module ) module . exports = a ( ) ; else if ( "function" == typeof define && define . amd ) define ( [ ] , a ) ; else { var b ; "undefined" != typeof window ? b = window : "undefined" != typeof global ? b = global : "undefined" != typeof self && ( b = self ) , b . JSZip = a ( ) } } ( function ( ) { return function a ( b , c , d ) { function e ( g , h ) { if ( ! c [ g ] ) { if ( ! b [ g ] ) { var i = "function" == typeof require && require ; if ( ! h && i ) return i ( g , ! 0 ) ; if ( f ) return f ( g , ! 0 ) ; throw new Error ( "Cannot find module '" + g + "'" ) } var j = c [ g ] = { exports : { } } ; b [ g ] [ 0 ] . call ( j . exports , function ( a ) { var c = b [ g ] [ 1 ] [ a ] ; return e ( c ? c : a ) } , j , j . exports , a , b , c , d ) } return c [ g ] . exports } for ( var f = "function" == typeof require && require , g = 0 ; g < d . length ; g ++ ) e ( d [ g ] ) ; return e } ( { 1 : [ function ( a , b , c ) { "use strict" ; var d = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" ; c . encode = function ( a ) { for ( var b , c , e , f , g , h , i , j = "" , k = 0 ; k < a . length ; ) b = a . charCodeAt ( k ++ ) , c = a . charCodeAt ( k ++ ) , e = a . charCodeAt ( k ++ ) , f = b >> 2 , g = ( 3 & b ) << 4 | c >> 4 , h = ( 15 & c ) << 2 | e >> 6 , i = 63 & e , isNaN ( c ) ? h = i = 64 : isNaN ( e ) && ( i = 64 ) , j = j + d . charAt ( f ) + d . charAt ( g ) + d . charAt ( h ) + d . charAt ( i ) ; return j } , c . decode = function ( a ) { var b , c , e , f , g , h , i , j = "" , k = 0 ; for ( a = a . replace ( /[^A-Za-z0-9\+\/\=]/g , "" ) ; k < a . length ; ) f = d . indexOf ( a . charAt ( k ++ ) ) , g = d . indexOf ( a . charAt ( k ++ ) ) , h = d . indexOf ( a . charAt ( k ++ ) ) , i = d . indexOf ( a . charAt ( k ++ ) ) , b = f << 2 | g >> 4 , c = ( 15 & g ) << 4 | h >> 2 , e = ( 3 & h ) << 6 | i , j += String . fromCharCode ( b ) , 64 != h && ( j += String . fromCharCode ( c ) ) , 64 != i && ( j += String . fromCharCode ( e ) ) ; return j } } , { } ] , 2 : [ function ( a , b ) { "use strict" ; function c ( ) { this . compressedSize = 0 , this . uncompressedSize = 0 , this . crc32 = 0 , this . compressionMethod = null , this . compressedContent = null } c . prototype = { getContent : function ( ) { return null } , getCompressedContent : function ( ) { return null } } , b . exports = c } , { } ] , 3 : [ function ( a , b , c ) { "use strict" ; c . STORE = { magic : "\x00\x00" , compress : function ( a ) { return a } , uncompress : function ( a ) { return a } , compressInputType : null , uncompressInputType : null } , c . DEFLATE = a ( "./flate" ) } , { "./flate" : 8 } ] , 4 : [ function ( a , b ) { "use strict" ; var c = a ( "./utils" ) , d = [ 0 , 1996959894 , 3993919788 , 2567524794 , 124634137 , 1886057615 , 3915621685 , 2657392035 , 249268274 , 2044508324 , 3772115230 , 2547177864 , 162941995 , 2125561021 , 3887607047 , 2428444049 , 498536548 , 1789927666 , 4089016648 , 2227061214 , 450548861 , 1843258603 , 4107580753 , 2211677639 , 325883990 , 1684777152 , 4251122042 , 2321926636 , 335633487 , 1661365465 , 4195302755 , 2366115317 , 997073096 , 1281953886 , 3579855332 , 2724688242 , 1006888145 , 1258607687 , 3524101629 , 2768942443 , 901097722 , 1119000684 , 3686517206 , 2898065728 , 853044451 , 1172266101 , 3705015759 , 2882616665 , 651767980 , 1373503546 , 3369554304 , 3218104598 , 565507253 , 1454621731 , 3485111705 , 3099436303 , 671266974 , 1594198024 , 3322730930 , 2970347812 , 795835527 , 1483230225 , 3244367275 , 3060149565 , 1994146192 , 31158534 , 2563907772 , 4023717930 , 1907459465 , 112637215 , 2680153253 , 3904427059 , 2013776290 , 251722036 , 2517215374 , 3775830040 , 2137656763 , 141376813 , 2439277719 , 3865271297 , 1802195444 , 476864866 , 2238001368 , 4066508878 , 1812370925 , 453092731 , 2181625025 , 4111451223 , 1706088902 , 314042704 , 2344532202 , 4240017532 , 1658658271 , 366619977 , 2362670323 , 4224994405 , 1303535960 , 984961486 , 2747007092 , 3569037538 , 1256170817 , 1037604311 , 2765210733 , 3554079995 , 1131014506 , 879679996 , 2909243462 , 3663771856 , 1141124467 , 855842277 , 2852801631 , 3708648649 , 1342533948 , 654459306 , 3188396048 , 3373015174 , 1466479909 , 544179635 , 3110523913 , 3462522015 , 1591671054 , 702138776 , 2966460450 , 3352799412 , 1504918807 , 783551873 , 3082640443 , 3233442989 , 3988292384 , 2596254646 , 62317068 , 1957810842 , 3939845945 , 2647816111 , 81470997 , 1943803523 , 3814918930 , 2489596804 , 225274430 , 2053790376 , 3826175755 , 2466906013 , 167816743 , 2097651377 , 4027552580 , 2265490386 , 503444072 , 1762050814 , 4150417245 , 2154129355 , 426522225 , 1852507879 , 4275313526 , 2312317920 , 282753626 , 1742555852 , 4189708143 , 2394877945 , 397917763 , 1622183637 , 3604390888 , 2714866558 , 953729732 , 1340076626 , 3518719985 , 2797360999 , 1068828381 , 1219638859 , 3624741850 , 2936675148 , 906185462 , 1090812512 , 3747672003 , 2825379669 , 829329135 , 1181335161 , 3412177804 , 3160834842 , 628085408 , 1382605366 , 3423369109 , 3138078467 , 570562233 , 1426400815 , 3317316542 , 2998733608 , 733239954 , 1555261956 , 3268935591 , 3050360625 , 752459403 , 1541320221 , 2607071920 , 3965973030 , 1969922972 , 40735498 , 2617837225 , 3943577151 , 19130878
} return null } , findExtraFieldUnicodeComment : function ( ) { var a = this . extraFields [ 25461 ] ; if ( a ) { var b = new d ( a . value ) ; return 1 !== b . readInt ( 1 ) ? null : g . crc32 ( this . fileComment ) !== b . readInt ( 4 ) ? null : g . utf8decode ( b . readString ( a . length - 5 ) ) } return null } } , b . exports = c } , { "./compressedObject" : 2 , "./object" : 13 , "./stringReader" : 15 , "./utils" : 21 } ] , 24 : [ function ( a , b ) { "use strict" ; var c = a ( "./lib/utils/common" ) . assign , d = a ( "./lib/deflate" ) , e = a ( "./lib/inflate" ) , f = a ( "./lib/zlib/constants" ) , g = { } ; c ( g , d , e , f ) , b . exports = g } , { "./lib/deflate" : 25 , "./lib/inflate" : 26 , "./lib/utils/common" : 27 , "./lib/zlib/constants" : 30 } ] , 25 : [ function ( a , b , c ) { "use strict" ; function d ( a , b ) { var c = new s ( b ) ; if ( c . push ( a , ! 0 ) , c . err ) throw c . msg ; return c . result } function e ( a , b ) { return b = b || { } , b . raw = ! 0 , d ( a , b ) } function f ( a , b ) { return b = b || { } , b . gzip = ! 0 , d ( a , b ) } var g = a ( "./zlib/deflate.js" ) , h = a ( "./utils/common" ) , i = a ( "./utils/strings" ) , j = a ( "./zlib/messages" ) , k = a ( "./zlib/zstream" ) , l = 0 , m = 4 , n = 0 , o = 1 , p = - 1 , q = 0 , r = 8 , s = function ( a ) { this . options = h . assign ( { level : p , method : r , chunkSize : 16384 , windowBits : 15 , memLevel : 8 , strategy : q , to : "" } , a || { } ) ; var b = this . options ; b . raw && b . windowBits > 0 ? b . windowBits = - b . windowBits : b . gzip && b . windowBits > 0 && b . windowBits < 16 && ( b . windowBits += 16 ) , this . err = 0 , this . msg = "" , this . ended = ! 1 , this . chunks = [ ] , this . strm = new k , this . strm . avail _out = 0 ; var c = g . deflateInit2 ( this . strm , b . level , b . method , b . windowBits , b . memLevel , b . strategy ) ; if ( c !== n ) throw new Error ( j [ c ] ) ; b . header && g . deflateSetHeader ( this . strm , b . header ) } ; s . prototype . push = function ( a , b ) { var c , d , e = this . strm , f = this . options . chunkSize ; if ( this . ended ) return ! 1 ; d = b === ~ ~ b ? b : b === ! 0 ? m : l , e . input = "string" == typeof a ? i . string2buf ( a ) : a , e . next _in = 0 , e . avail _in = e . input . length ; do { if ( 0 === e . avail _out && ( e . output = new h . Buf8 ( f ) , e . next _out = 0 , e . avail _out = f ) , c = g . deflate ( e , d ) , c !== o && c !== n ) return this . onEnd ( c ) , this . ended = ! 0 , ! 1 ; ( 0 === e . avail _out || 0 === e . avail _in && d === m ) && this . onData ( "string" === this . options . to ? i . buf2binstring ( h . shrinkBuf ( e . output , e . next _out ) ) : h . shrinkBuf ( e . output , e . next _out ) ) } while ( ( e . avail _in > 0 || 0 === e . avail _out ) && c !== o ) ; return d === m ? ( c = g . deflateEnd ( this . strm ) , this . onEnd ( c ) , this . ended = ! 0 , c === n ) : ! 0 } , s . prototype . onData = function ( a ) { this . chunks . push ( a ) } , s . prototype . onEnd = function ( a ) { a === n && ( this . result = "string" === this . options . to ? this . chunks . join ( "" ) : h . flattenChunks ( this . chunks ) ) , this . chunks = [ ] , this . err = a , this . msg = this . strm . msg } , c . Deflate = s , c . deflate = d , c . deflateRaw = e , c . gzip = f } , { "./utils/common" : 27 , "./utils/strings" : 28 , "./zlib/deflate.js" : 32 , "./zlib/messages" : 37 , "./zlib/zstream" : 39 } ] , 26 : [ function ( a , b , c ) { "use strict" ; function d ( a , b ) { var c = new m ( b ) ; if ( c . push ( a , ! 0 ) , c . err ) throw c . msg ; return c . result } function e ( a , b ) { return b = b || { } , b . raw = ! 0 , d ( a , b ) } var f = a ( "./zlib/inflate.js" ) , g = a ( "./utils/common" ) , h = a ( "./utils/strings" ) , i = a ( "./zlib/constants" ) , j = a ( "./zlib/messages" ) , k = a ( "./zlib/zstream" ) , l = a ( "./zlib/gzheader" ) , m = function ( a ) { this . options = g . assign ( { chunkSize : 16384 , windowBits : 0 , to : "" } , a || { } ) ; var b = this . options ; b . raw && b . windowBits >= 0 && b . windowBits < 16 && ( b . windowBits = - b . windowBits , 0 === b . windowBits && ( b . windowBits = - 15 ) ) , ! ( b . windowBits >= 0 && b . windowBits < 16 ) || a && a . windowBits || ( b . windowBits += 32 ) , b . windowBits > 15 && b . windowBits < 48 && 0 === ( 15 & b . windowBits ) && ( b . windowBits |= 15 ) , this . err = 0 , this . msg = "" , this . ended = ! 1 , this . chunks = [ ] , this . strm = new k , this . strm . avail _out = 0 ; var c = f . inflateInit2 ( this . strm , b . windowBits ) ; if ( c !== i . Z _OK ) throw new Error ( j [ c ] ) ; this . header = new l , f . inflateGetHeader ( this . strm , this . header ) } ; m . prototype . push = function ( a , b ) { var c , d , e , j , k , l = this . strm , m = this . options . chunkSize ; if ( this . ended ) return ! 1 ; d = b === ~ ~ b ? b : b === ! 0 ? i . Z _FINISH : i . Z _NO _FLUSH , l . input = "string" == typeof a ? h . binstring2buf ( a ) : a , l . next _in = 0 , l . avail _in = l . input . length ; do { if ( 0 === l . avail _out && ( l . output = new g . Buf8 ( m ) , l . next _out = 0 , l . avail _out = m ) , c = f . inflate ( l , i . Z _NO _FLUSH ) , c !== i . Z _STREAM _END && c !== i . Z _OK ) return this . onEnd ( c ) , this . ended = ! 0 , ! 1 ; l . next _out && ( 0 === l . avail _out || c === i . Z _STREAM _END || 0 === l . avail _in && d === i . Z _FINISH ) && ( "string" === this . options . to ? ( e = h . utf8border ( l . output , l . next _out ) , j = l . next _out - e , k = h . buf2string ( l . output , e ) , l . next _out = j , l . avail _out = m - j , j && g . arraySet ( l . output , l . output , e , j , 0 ) , this . onData ( k ) ) : this . onData ( g . shrinkBuf ( l . output ,
break } for ( c . back = 0 ; Ab = c . lencode [ m & ( 1 << c . lenbits ) - 1 ] , qb = Ab >>> 24 , rb = Ab >>> 16 & 255 , sb = 65535 & Ab , ! ( n >= qb ) ; ) { if ( 0 === i ) break a ; i -- , m += e [ g ++ ] << n , n += 8 } if ( rb && 0 === ( 240 & rb ) ) { for ( tb = qb , ub = rb , vb = sb ; Ab = c . lencode [ vb + ( ( m & ( 1 << tb + ub ) - 1 ) >> tb ) ] , qb = Ab >>> 24 , rb = Ab >>> 16 & 255 , sb = 65535 & Ab , ! ( n >= tb + qb ) ; ) { if ( 0 === i ) break a ; i -- , m += e [ g ++ ] << n , n += 8 } m >>>= tb , n -= tb , c . back += tb } if ( m >>>= qb , n -= qb , c . back += qb , c . length = sb , 0 === rb ) { c . mode = hb ; break } if ( 32 & rb ) { c . back = - 1 , c . mode = V ; break } if ( 64 & rb ) { a . msg = "invalid literal/length code" , c . mode = lb ; break } c . extra = 15 & rb , c . mode = db ; case db : if ( c . extra ) { for ( zb = c . extra ; zb > n ; ) { if ( 0 === i ) break a ; i -- , m += e [ g ++ ] << n , n += 8 } c . length += m & ( 1 << c . extra ) - 1 , m >>>= c . extra , n -= c . extra , c . back += c . extra } c . was = c . length , c . mode = eb ; case eb : for ( ; Ab = c . distcode [ m & ( 1 << c . distbits ) - 1 ] , qb = Ab >>> 24 , rb = Ab >>> 16 & 255 , sb = 65535 & Ab , ! ( n >= qb ) ; ) { if ( 0 === i ) break a ; i -- , m += e [ g ++ ] << n , n += 8 } if ( 0 === ( 240 & rb ) ) { for ( tb = qb , ub = rb , vb = sb ; Ab = c . distcode [ vb + ( ( m & ( 1 << tb + ub ) - 1 ) >> tb ) ] , qb = Ab >>> 24 , rb = Ab >>> 16 & 255 , sb = 65535 & Ab , ! ( n >= tb + qb ) ; ) { if ( 0 === i ) break a ; i -- , m += e [ g ++ ] << n , n += 8 } m >>>= tb , n -= tb , c . back += tb } if ( m >>>= qb , n -= qb , c . back += qb , 64 & rb ) { a . msg = "invalid distance code" , c . mode = lb ; break } c . offset = sb , c . extra = 15 & rb , c . mode = fb ; case fb : if ( c . extra ) { for ( zb = c . extra ; zb > n ; ) { if ( 0 === i ) break a ; i -- , m += e [ g ++ ] << n , n += 8 } c . offset += m & ( 1 << c . extra ) - 1 , m >>>= c . extra , n -= c . extra , c . back += c . extra } if ( c . offset > c . dmax ) { a . msg = "invalid distance too far back" , c . mode = lb ; break } c . mode = gb ; case gb : if ( 0 === j ) break a ; if ( q = p - j , c . offset > q ) { if ( q = c . offset - q , q > c . whave && c . sane ) { a . msg = "invalid distance too far back" , c . mode = lb ; break } q > c . wnext ? ( q -= c . wnext , ob = c . wsize - q ) : ob = c . wnext - q , q > c . length && ( q = c . length ) , pb = c . window } else pb = f , ob = h - c . offset , q = c . length ; q > j && ( q = j ) , j -= q , c . length -= q ; do f [ h ++ ] = pb [ ob ++ ] ; while ( -- q ) ; 0 === c . length && ( c . mode = cb ) ; break ; case hb : if ( 0 === j ) break a ; f [ h ++ ] = c . length , j -- , c . mode = cb ; break ; case ib : if ( c . wrap ) { for ( ; 32 > n ; ) { if ( 0 === i ) break a ; i -- , m |= e [ g ++ ] << n , n += 8 } if ( p -= j , a . total _out += p , c . total += p , p && ( a . adler = c . check = c . flags ? t ( c . check , f , p , h - p ) : s ( c . check , f , p , h - p ) ) , p = j , ( c . flags ? m : d ( m ) ) !== c . check ) { a . msg = "incorrect data check" , c . mode = lb ; break } m = 0 , n = 0 } c . mode = jb ; case jb : if ( c . wrap && c . flags ) { for ( ; 32 > n ; ) { if ( 0 === i ) break a ; i -- , m += e [ g ++ ] << n , n += 8 } if ( m !== ( 4294967295 & c . total ) ) { a . msg = "incorrect length check" , c . mode = lb ; break } m = 0 , n = 0 } c . mode = kb ; case kb : xb = D ; break a ; case lb : xb = G ; break a ; case mb : return H ; case nb : default : return F } return a . next _out = h , a . avail _out = j , a . next _in = g , a . avail _in = i , c . hold = m , c . bits = n , ( c . wsize || p !== a . avail _out && c . mode < lb && ( c . mode < ib || b !== z ) ) && l ( a , a . output , a . next _out , p - a . avail _out ) ? ( c . mode = mb , H ) : ( o -= a . avail _in , p -= a . avail _out , a . total _in += o , a . total _out += p , c . total += p , c . wrap && p && ( a . adler = c . check = c . flags ? t ( c . check , f , p , a . next _out - p ) : s ( c . check , f , p , a . next _out - p ) ) , a . data _type = c . bits + ( c . last ? 64 : 0 ) + ( c . mode === V ? 128 : 0 ) + ( c . mode === bb || c . mode === Y ? 256 : 0 ) , ( 0 === o && 0 === p || b === z ) && xb === C && ( xb = I ) , xb ) } function n ( a ) { if ( ! a || ! a . state ) return F ; var b = a . state ; return b . window && ( b . window = null ) , a . state = null , C } function o ( a , b ) { var c ; return a && a . state ? ( c = a . state , 0 === ( 2 & c . wrap ) ? F : ( c . head = b , b . done = ! 1 , C ) ) : F } var p , q , r = a ( "../utils/common" ) , s = a ( "./adler32" ) , t = a ( "./crc32" ) , u = a ( "./inffast" ) , v = a ( "./inftrees" ) , w = 0 , x = 1 , y = 2 , z = 4 , A = 5 , B = 6 , C = 0 , D = 1 , E = 2 , F = - 2 , G = - 3 , H = - 4 , I = - 5 , J = 8 , K = 1 , L = 2 , M = 3 , N = 4 , O = 5 , P = 6 , Q = 7 , R = 8 , S = 9 , T = 10 , U = 11 , V = 12 , W = 13 , X = 14 , Y = 15 , Z = 16 , $ = 17 , _ = 18 , ab = 19 , bb = 20 , cb = 21 , db = 22 , eb = 23 , fb = 24 , gb = 25 , hb = 26 , ib = 27 , jb = 28 , kb = 29 , lb = 30 , mb = 31 , nb = 32 , ob = 852 , pb = 592 , qb = 15 , rb = qb , sb = ! 0 ; c . inflateReset = g , c . inflateReset2 = h , c . inflateResetKeep = f , c . inflateInit = j , c . inflateInit2 = i , c . inflate = m , c . inflateEnd = n , c . inflateGetHeader = o , c . inflateInfo = "pako inflate (from Nodeca project)" } , { "../utils/common" : 27 , "./adler32" : 29 , "./crc32" : 31 , "./inffast" : 34 , "./inftrees" : 36 } ] , 36 : [ function ( a , b ) { "use strict" ; var c = a ( "../utils/common" ) , d = 15 , e = 852 , f = 592 , g = 0 , h = 1 , i = 2 , j = [ 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 13 , 15 , 17 , 19 , 23 , 27 , 31 , 35 , 43 , 51 , 59 , 67 , 83 , 99 , 115 , 131 , 163 , 195 , 227 , 258 , 0 , 0 ] , k = [ 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 , 17 , 17 , 17 , 17 , 18 , 18 , 18 , 18 , 19 , 19 , 19 , 19 , 20 , 20 , 20 , 20 , 21 , 21 , 21 , 21 , 16 , 72 , 78 ] , l = [ 1 , 2 , 3 , 4 , 5 , 7 , 9 , 13 , 17 , 25 , 33 , 49 , 65 , 97 , 129 , 193 , 257 , 385 , 513 , 769 , 1025 , 1537 , 2049 , 3073 , 4097 , 6145 , 8193 , 12289 , 16385 , 24577 , 0 , 0 ] , m = [ 16 , 16 , 16 , 16 , 17 , 17 , 18 , 18 , 19 , 19 , 20 , 20 , 21 , 21 , 22 , 22 , 23 , 23 , 24 , 24 , 25 , 25 , 26 , 26 , 27 , 27 , 28 , 28 , 29
/*! pdfmake v0.1.36, @license MIT, @link http://pdfmake.org */
! function ( t , e ) { if ( "object" == typeof exports && "object" == typeof module ) module . exports = e ( ) ; else if ( "function" == typeof define && define . amd ) define ( [ ] , e ) ; else { var n = e ( ) ; for ( var r in n ) ( "object" == typeof exports ? exports : t ) [ r ] = n [ r ] } } ( "undefined" != typeof self ? self : this , function ( ) { return function ( t ) { var e = { } ; function n ( r ) { if ( e [ r ] ) return e [ r ] . exports ; var i = e [ r ] = { i : r , l : ! 1 , exports : { } } ; return t [ r ] . call ( i . exports , i , i . exports , n ) , i . l = ! 0 , i . exports } return n . m = t , n . c = e , n . d = function ( t , e , r ) { n . o ( t , e ) || Object . defineProperty ( t , e , { configurable : ! 1 , enumerable : ! 0 , get : r } ) } , n . n = function ( t ) { var e = t && t . _ _esModule ? function ( ) { return t . default } : function ( ) { return t } ; return n . d ( e , "a" , e ) , e } , n . o = function ( t , e ) { return Object . prototype . hasOwnProperty . call ( t , e ) } , n . p = "" , n ( n . s = 122 ) } ( [ function ( t , e , n ) { "use strict" ; t . exports = { isString : function ( t ) { return "string" == typeof t || t instanceof String } , isNumber : function ( t ) { return "number" == typeof t || t instanceof Number } , isBoolean : function ( t ) { return "boolean" == typeof t } , isArray : function ( t ) { return Array . isArray ( t ) } , isFunction : function ( t ) { return "function" == typeof t } , isObject : function ( t ) { return null !== t && "object" == typeof t } , isNull : function ( t ) { return null === t } , isUndefined : function ( t ) { return void 0 === t } , pack : function ( ) { for ( var t = { } , e = 0 , n = arguments . length ; e < n ; e ++ ) { var r = arguments [ e ] ; if ( r ) for ( var i in r ) r . hasOwnProperty ( i ) && ( t [ i ] = r [ i ] ) } return t } , fontStringify : function ( t , e ) { return "font" === t ? "font" : e } , offsetVector : function ( t , e , n ) { switch ( t . type ) { case "ellipse" : case "rect" : t . x += e , t . y += n ; break ; case "line" : t . x1 += e , t . x2 += e , t . y1 += n , t . y2 += n ; break ; case "polyline" : for ( var r = 0 , i = t . points . length ; r < i ; r ++ ) t . points [ r ] . x += e , t . points [ r ] . y += n } } } } , function ( t , e , n ) { "use strict" ; ( function ( t ) { var r = n ( 124 ) , i = n ( 125 ) , a = n ( 76 ) ; function o ( ) { return l . TYPED _ARRAY _SUPPORT ? 2147483647 : 1073741823 } function s ( t , e ) { if ( o ( ) < e ) throw new RangeError ( "Invalid typed array length" ) ; return l . TYPED _ARRAY _SUPPORT ? ( t = new Uint8Array ( e ) ) . _ _proto _ _ = l . prototype : ( null === t && ( t = new l ( e ) ) , t . length = e ) , t } function l ( t , e , n ) { if ( ! ( l . TYPED _ARRAY _SUPPORT || this instanceof l ) ) return new l ( t , e , n ) ; if ( "number" == typeof t ) { if ( "string" == typeof e ) throw new Error ( "If encoding is specified then the first argument must be a string" ) ; return h ( this , t ) } return u ( this , t , e , n ) } function u ( t , e , n , r ) { if ( "number" == typeof e ) throw new TypeError ( '"value" argument must not be a number' ) ; return "undefined" != typeof ArrayBuffer && e instanceof ArrayBuffer ? function ( t , e , n , r ) { if ( e . byteLength , n < 0 || e . byteLength < n ) throw new RangeError ( "'offset' is out of bounds" ) ; if ( e . byteLength < n + ( r || 0 ) ) throw new RangeError ( "'length' is out of bounds" ) ; e = void 0 === n && void 0 === r ? new Uint8Array ( e ) : void 0 === r ? new Uint8Array ( e , n ) : new Uint8Array ( e , n , r ) ; l . TYPED _ARRAY _SUPPORT ? ( t = e ) . _ _proto _ _ = l . prototype : t = f ( t , e ) ; return t } ( t , e , n , r ) : "string" == typeof e ? function ( t , e , n ) { "string" == typeof n && "" !== n || ( n = "utf8" ) ; if ( ! l . isEncoding ( n ) ) throw new TypeError ( '"encoding" must be a valid string encoding' ) ; var r = 0 | p ( e , n ) , i = ( t = s ( t , r ) ) . write ( e , n ) ; i !== r && ( t = t . slice ( 0 , i ) ) ; return t } ( t , e , n ) : function ( t , e ) { if ( l . isBuffer ( e ) ) { var n = 0 | d ( e . length ) ; return 0 === ( t = s ( t , n ) ) . length ? t : ( e . copy ( t , 0 , 0 , n ) , t ) } if ( e ) { if ( "undefined" != typeof ArrayBuffer && e . buffer instanceof ArrayBuffer || "length" in e ) return "number" != typeof e . length || ( r = e . length ) != r ? s ( t , 0 ) : f ( t , e ) ; if ( "Buffer" === e . type && a ( e . data ) ) return f ( t , e . data ) } var r ; throw new TypeError ( "First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object." ) } ( t , e ) } function c ( t ) { if ( "number" != typeof t ) throw new TypeError ( '"size" argument must be a number' ) ; if ( t < 0 ) throw new RangeError ( '"size" argument must not be negative' ) } function h ( t , e ) { if ( c ( e ) , t = s ( t , e < 0 ? 0 : 0 | d ( e ) ) , ! l . TYPED _ARRAY _SUPPORT ) for ( var n = 0 ; n < e ; ++ n ) t [ n ] = 0 ; return t } function f ( t , e ) { var n = e . length < 0 ? 0 : 0 | d ( e . length ) ; t = s ( t , n ) ; for ( var r = 0 ; r < n ; r += 1 ) t [ r ] = 255 & e [ r ] ; return t } function d ( t ) { if ( t >= o ( ) ) throw new RangeError ( "Attempt to allocate Buffer larger than maximum size: 0x" + o ( ) . toString ( 16 ) + " bytes" ) ; return 0 | t } function p ( t , e ) { if ( l . isBuffer ( t ) ) return t . length ; if ( "undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer . isView && ( ArrayBuffer . isView ( t ) || t instanceof ArrayBuffer ) ) return t . byteLength ; " strin
//# sourceMappingURL=pdfmake.min.js.map
this . pdfMake = this . pdfMake || { } ; this . pdfMake . vfs = {
"Roboto-Italic.ttf" : " AAEAAAASAQAABAAgR0RFRtRX1FkAAgp8AAACREdQT1NKcuCzAAIMwAAAUiRHU1VCw4aZEQACXuQAABfoT1MvMqCnsO0AAAGoAAAAYGNtYXBAbb9DAAAafAAABoBjdnQgJEEG5QAAI5QAAABMZnBnbWf0XKsAACD8AAABvGdhc3AACAATAAIKcAAAAAxnbHlmoLsktAAALagAAdn2aGRteCEe / AUAABWQAAAE7GhlYWT4gasAAAABLAAAADZoaGVhDKYSegAAAWQAAAAkaG10eHJO1ygAAAIIAAATiGxvY2EXM5zBAAAj4AAACcZtYXhwBxICWwAAAYgAAAAgbmFtZTlLZFAAAgegAAACrnBvc3T / YQBkAAIKUAAAACBwcmVwdKCP7AAAIrgAAADbAAEAAAACAAAcadIiXw889QAbCAAAAAAAxPARLgAAAADQ206M + jj91QlMCHMAAgAJAAIAAAAAAAAAAQAAB2z + DAAACRb6OP52CUwIAAGzAAAAAAAAAAAAAAAABOIAAQAABOIAkAAWAFYABQABAAAAAAAOAAACAAFzAAYAAQADBAsBkAAFAAAFmgUzAAABHwWaBTMAAAPRAGYCAAAAAgAAAAAAAAAAAOAACv9QACF / AAAAIQAAAABHT09HAAEAAP / 9 BgD + AABmB5oCACAAAZ8AAAAABDoFsAAgACAAAgOWAGQACgAAAAoAAAH2AAAB9gAAAgkAQwKFAMgE0QBSBGYASgW5ALsE3QA6AWQAqgKxAG0Cvf + PA2IAawRwAEwBkP + PAi4AGQIVADUDPf + PBGYAaARmAPkEZgAXBGYANARmAAUEZgByBGYAcARmAJ0EZgBBBGYAlAHrACsBrv + bA / wAQQRMAHAEGAA6A7QApQcCAEQFGv + vBN8AOwUXAHQFIQA7BHMAOwRUADsFUwB5BZIAOwImAEkEUgAKBOcAOwQ3ADsG0AA7BZIAOwVgAHcE7wA7BWAAbwTRADoEpQAnBKsAqAUSAGcE + gCkBuwAwwTn / 9 QEswCoBK //6wIZ//8DOQC/Ahn/egNIAE8Div+BAnAAzwRDADMEZQAfBBoARgRqAEsEJgBFArwAdARlAAQEUAAfAewALwHk/xQD+QAgAewALwbXAB4EUgAfBHcARQRl/9cEcwBJAqoAHwQKAC4CkwBDBFEAWwPMAG4F3wCAA+P/xAO2/6UD4//tAqoAOAHuACECqv+MBVEAaQHu//EESABSBIz/8wWSABIEvQBTAeb/9wTM/90DSADbBiMAYgOCAMMDrgBZBFYAgQYkAGEDmADjAvAA6AQvACUC4gBcAuIAbgJ5ANUEb//lA9UAewIQAKUB9v/IAuIA3wORAMADrQAPBbkAuQYPALQGEwCeA7b/0wdL/4QELQAoBWAAIASgADgEpwAeBpcAEwSWAFwEeABEBG8AOQSD/+AFeQA1AfUALgRbAC0EOAAiAiIAIwVqADUEbwAkB3AAVAcWAEcB9wAzBWcAUQKu/0kFXgBnBHkAQgVvAGcE1wBaAf7/CQQhAD4DsQEXA3wBJgOZAOMDWgEHAewBDgKiAQECI/+vA7MA3QLvAMICUv/pAAr9agAK/esACv0LAAr99QAK/NsB6vy7AgcBIQP2APMCEQClBFsAQwWD/7EFUQBpBSD/xAR4AAwFkwBEBHj/2gWZAFQFaACGBTMACgRsAEgEo//wA+0AhARvAEMEOQApBA8AggRvACQEdQBzAo0AhQRW/7cD2AA/BKkAYARv/9wENgBOBG8ASgQWAIcERQBnBYIAQQV5AE8GbgBmBIcAUQQrAGcGIgBmBdsAoQVFAHgIWf/MCGwAQwZaALQFkgBCBO4ANAXg/4sHFf+sBKUAJQWSAEMFiP/KBOoAkwYHAFsFtgBBBVoAzgdXAEIHjgBCBe0AiQbAAEUE6AA2BUUAdAb6AEkE+//oBFQARgR5ADADSwAtBLn/jQX7/6UD+wAhBIUALwQ7AC8Ehv/IBcsAMASEAC8EhQAvA8QAYAWqAEwEowAvBEIAewZQAC8GdQAkBNsAVgYQADAEQQAwBDYANAZfADAETP+/BFAAHwQ2AE4Gn//DBrkALwRwAB8EhQAvBtwAbwYGAE8EPwAuBv4ASQXUACwEt/+6BC//ogbfAFoF5wBOBqcAJgW+ACkIyQBIB58ALgQN/84Dx//KBVEAaQRyAEIE7QCtA+4AhAVRAGoEbwBEBtUAdAX/AFIG3ABvBgYATwUUAGYEMABNBOEAQAAK/OgACv0LAAr+FwAK/jsACvo4AAr6TwQ/AC4E/gA6BHD/1wRLADUDfwAkBMAAQwPwACQE7AA2BGYALQZkALsFYwB0B50AOgWSACQH/ABCBskAJAXKAHEEuABfBv8ArAU9AFcFTwDEBFIAmAVQAOwGCgCKBKMABwTsADUEQwAtBZAAQwRvACQFZwBRBI4APASO//wEnf/4Azr/6QTaADEGawAyBrkATAYvAK0FDQBoBDIArwPyAKAHj//fBk3/2gfIADsGeAAjBNoAagQHAEwFiwCaBQMAfQVFAGoDEgDyA/8AAAf0AAAD/wAAB/QAAAKuAAACBAAAAVwAAARmAAACKQAAAZ8AAADVAAAACgAAAi0AGQItABkFIgCnBhkAmQOU/18BlwCuAZcAiQGV/5gBlwDUAsgAtgLPAJUCtv+UBFEAdwR2//YCpwCgA7EAOQU7ADkA+QAaB3kAlwJeAF8CXgACA5H/7wLiAGEDUAB+BIz/8wYuAAoGaAA5CD8AOgc0ACIGBgAfBGYAUQW3AEMEDABJBFwACgUp//IFMP/lBcQAzAO7AEsIBQA1BOUA6gT6AIIGAQC1BqwAkgalAI8GQwC+BHYATQVtACQElf+sBHkAqwSqAEEIBQBNAgb/GgRpADEETABwA/z/1AQZABkD8wBBAkQAeAKFAHAB/v/jBNcAdARWAFgEcgB0BqoAdAaqAHQE0gB0BnIAKQAKAAAH/v+rCDUAXAQKAGIEhQBBAff/DwGP/70DkgETA4wBEgONARED4ADNA/kAzgPfACID2wDSA5IBEQH4APwEbP+lBDkAHQRkAEcEZwAdA9IAHQO4AB0EkgBMBMcAHQHjACoDvP/2BD0AHQOiAB0F3gAdBMcAHQShAEoERQAdBKEARQQzAB0ECgARBBAAbQRkAEUETwB6BfAAlQQ9/7YEFQB0BA3/3ALiAB0C4gBrAuL/6QLi//sC4v/wAuIAFgLiAB4C4gAvAuIACwLiADYDhACTAqoBCwQk/5oEqABLBS0AQwUHAEQD/gAlBR8ARAP6ACUECgASBB0ABgQlADQDnQAdBE//sAShAEoET/+wA3j/0wSzAB0D2//VBUgAUQT6AH4E1gAMBVIAbARkAEcHE//EByEAHQVUAG0EsgAdBEIAHwUH/4kF5/+vBCgAEQTQAB8ENwAeBKb/xAQJAFgFCgAdBFIAWgYqAB0GgwAdBQAAUAXNAB8ENwAfBGMAIAZOAB0Ebv/fA/z/+gYh/68EYQAeBOwAHgUZAGkFoABQBEcAdASO/7YGOgBsBFIAWgRSAB0FoQAvBK8AQQQoABEEoQBKBB3//wPPAB4H7gAdBJH/3QRlAB8EHABDBHoARwRzACQDaACpBHT/1wSDAEYEJgBFBGUANQVhAIEFjACEBXIARAW9AIUFwACFA8IAuwRpADkDnQAdBEH/gQS0/9MC4gCQAuIAYQLiAIkC4gCRAuIAogLiAH4C4gCpBFP/1QQYACsGewBJBJ8APwTkAGQCAP8JAf//CQH2AC4B9v96AfYALgH2//EEOQAdAfYAAAIuABkFPwAvBT8ALwRuAD0EqwCoApP/9AUa/68FGv+vBRr/rwUa/68FGv+vBRr/rwUa/68FFwB0BHMAOwRzADsEcwA7BHMAOwImAEkCJgBJAiYASQImAEkFkgA7BWAAdwVgAHcFYAB3BWAAdwVgAHcFEgBnBRIAZwUSAGcFEgBnBLMAqARDADMEQwAzBEMAMwRDADMEQwAzBEMAMwRDADMEGgBGBCYARQQmAEUEJgBFBCYARQH1AC4B9QAuAfUALgH1AC4EUgAfBHcARQR
"Roboto-Medium.ttf" : " AAEAAAARAQAABAAQR1BPU32qcYwAAgioAABZDEdTVUJMnCjgAAJhtAAAGWhPUy8yoQuxtgAAAZgAAABgY21hcEAmSHIAABpsAAASyGN2dCAElytKAAAvvAAAAFZmcGdte / lhqwAALTQAAAG8Z2FzcAAIABMAAgicAAAADGdseWaunmLpAAA53AABy8xoZG14PT88IAAAFYAAAATsaGVhZPh7qwgAAAEcAAAANmhoZWEK7wqbAAABVAAAACRobXR4JPNE9QAAAfgAABOIbG9jYd3eZq0AADAUAAAJxm1heHAHEgL1AAABeAAAACBuYW1lPWNvTAACBagAAALUcG9zdP9tAGQAAgh8AAAAIHByZXAbsfg2AAAu8AAAAMwAAQAAAAIAABFApG1fDzz1ABsIAAAAAADE8BEuAAAAANDbTpT6JP3VCVwIcwAAAAkAAgAAAAAAAAABAAAHbP4MAAAJa / ok / kEJXAABAAAAAAAAAAAAAAAAAAAE4gABAAAE4gCPABYATgAFAAEAAAAAAA4AAAIAAhYABgABAAMElQH0AAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAACAAAAAAAAAAAA4AAK / 1 AAIX8AAAAhAAAAAEdPT0cAQAAA //0GAP4AAGYHmgIAIAABnwAAAAAEOgWwACAAIAACA4wAZAAAAAAAAAAAAf4AAAH+AAACJQCPApgAZQTiAGAEjABkBeAAYwUdAFYBWgBSAsoAgALSACgDiQAbBHUARAHCABwCoABHAjwAhwMqAAIEjABpBIwAqASMAFEEjABPBIwANASMAIEEjAB1BIwARQSMAGgEjABdAh8AggHnAC4EEQA/BHoAkQQqAIAD5AA8BygAWwVTABIFDACUBTkAZgU6AJQEhgCUBGUAlAVyAGoFrwCUAkIAowRxAC0FCwCUBFQAlAcBAJQFrgCUBYYAZgUdAJQFhgBgBP4AlATUAEoE2wAtBTcAfQUtABIHCgAwBRAAKQTgAAcE0QBQAjEAhANYABQCMQAMA2sANQOcAAMClAAxBFQAWgSBAHwEMABPBIQATwRLAFMC1gAtBIkAUgRxAHkCCwB9AgH/tQQtAH0CCwCMBvYAfARzAHkEjgBPBIEAfASLAE8C0AB8BCEASwKpAAgEcgB3A/UAFgXyACEEBgAfA+UADAQGAFICrwA4AgIArgKvABsFUQB1Ah4AhgR9AGQEtQBeBZ0AXQTgABkB/ACIBPgAWgOFAF0GRABXA5EAjQPiAFcEbQB/BkQAVwPbAIcDCgB/BEoAXwL2ADwC9gA3ApsAcAS7AJID7QBFAkIAjgIQAG0C9gCAA6cAdwPiAF0F0ABZBisAUAZXAGcD5ABCB4X/9gREAE0FhABpBMoAlATnAIgGwQBIBKcAZwSRAEMEiABPBJcAggWwAB8CGgCPBJgAjgRkACICTwAhBZMAkASIAH4HtABkBzoAWwIMAIsFiABRAtD/5AWKAFgEngBPBaQAfQTyAHcCJv+1BDwAWQPmAJQDsAByA9wAhwN8AHUCCwCBArIAeAJNACkD2AB6Ax8ASQJsAIIAAPyOAAD9XgAA/HMAAP0+AAD8DAAA/RwCXQDGBDwAZwJCAI4EdQCbBb8AGQV6AFsFOAAgBJAAbAWxAJsEkABHBe8ASgWqAEQFWwBrBIQAVgTGAJYEDgAgBIgAVARgAGAEGgBhBIgAfgShAHMCqgCpBGoAFgQTAGQE8wAtBIgAgAQ3AFIEkABSBC0APwRgAIAF0ABEBckATwaUAGYEswB2BHv/4QZxADMF/gAiBVkAaAiIAC0IjwCbBlsAMQWqAJIFCACQBgYAJAeiABYE1gBJBagAlAWpAC0FCgA5Bl8ATwX5AJIFiQCOB5sAmAf5AJgGGgAYBvkAmwUHAJAFUABrB1QAoAT3ACAEfQBbBI8AjwNaAIUE9gAnBnYAHgQWAE0EmACGBG4AjwSaACEGAwCPBJcAhgSYAIYD9QAjBdMAVATTAIYEZgBfBo4AhgbsAH4FFwAfBm8AjwRoAI8EPABRBoQAkQRwACcEcf/bBDwAVAbRAB4G5ACGBIn/7gSYAIYHSQCIBk8AcARn/+AHKACYBgEAhgUMABwEYAAKB0IArAY2AJ0G7QCABeYAggkyAKMH+QCPBCAAKAPwADMFegBfBIgATwUaABAEDgAgBXoAXwSIAE8HRQCIBkQAdAdJAIgGTwBwBRoAZgRKAFwE/wBtAAD8ZgAA/HMAAP17AAD9pQAA+iQAAPpNBGf/4AUTAJQEhgB8BGoAjwOhAH4EtwCbBCAAfgUsAJAEqwCOBpUANAWkAD0H0ACUBaoAfghHAJsG9QB+BioAZwT/AGEHMQAtBXAAJgV0AIAEcwB0BYcAhQYkABYEw//LBSEAkAR4AI4FrwCbBIgAfgWIAFEEpgBbBKYAXQTHADQDUwAtBQcAUgbxAGgG3QBeBlMAPAUoAC8EewBIBD4AdAe+AEIGnQBAB/0AlAaeAHcFBABdBCwAVQWqACEFHQBEBVUAgQMsAGcEFAAACCkAAAQUAAAIKQAAArkAAAIKAAABXAAABH8AAAIwAAABogAAANEAAAAAAAACoQBHAqEARwUpAJ0GMACBA50ABAHAAGMBvAAzAc4AMgGoAEoDFABsAxsAQAMIADIEXQBABJkAXALLAIgD+gCKBaYAigFsAEcHpwBKAnIAbAJpAFQDnAAtAvYANQNcAGkEtQBfBnAAIQa4AJgIkwCUB4gANQaMAHwEjABeBfUAIQQ0ACgEogAhBV4ATwV9ACgF5ABwA+IATAguAJAFCQBtBRQAlgY1AFkG3QBUBtEAWwaiAFgEkQBiBZYApgTZAEAEgwCeBLIAOwhFAF4CLf+vBI4AZQR6AJEEEQA8BCoAgAQMACQCWwChApgAYwHxAEUFGwAtBKgAGAS8AC0HIwAtByMALQURAC0GtwBLAAAAAAgwAFkINQBcBDMAOgSTAE8CEP+wAbMAXAOhAHUDoQB1A6EAdQQLAHUECwB1BAv/TAQLAHoDoQB1AgUAlASeAAkEYAB2BIAATwR6AHYD4AB2A8UAdgSmAFQE3gB2AfwAhQPVACQEWwB2A7kAdgYGAHYE3QB2BMAATwRtAHYEwABMBFwAdgQ0AD4EOwAkBIQAZwR7AAkGBwAoBF4AFQQ8AAUEKgBBAvYASwL2AIAC9gA8AvYANwL2ADUC9gBPAvYATQL2ADYC9gBLAvYARgO5AJACsgCWBDsACgS7AFYFRACbBSgAmwQwAIEFOQCbBC0AgQQ0AD4EZgA4BE0ADgO5AHYEewAJBMAATwR7AAkDmABCBNgAdgQZAEQFnQBQBVQAUATkAF8FkQAkBIAATwdUACQHVwB2BZcAJATXAHYEcQB2BVkAJwY6ABoERgBCBOQAdgRcAHYEywAkBEYAHwVdAHYEjABBBoQAdgcKAHYFWgAKBiAAdgRnAHYEgAA8BpIAdgSIAEMEIgAKBpIAGgSdAHYFGgB2BW4AJAXwAE8EWgAFBMQAFQaVACQEjABBBIwAdgX+AAoE0gBPBEYAQgTAAE8EZgA4A/cARgg2AHYE6wAoBIgAfAQ9AFAEmABPA6QAWwShAEwElAB8BJ8ATwRLAFMEiQBRBXoAawWiAGsFhgCbBeAAawXiAGsEGwCXBIIAbgO5AHYEVwAPBL4ANQL2AEsC9gA1AvYATwL2AE0C9gA2AvYASwL2AEYEawBmBC4AQwaYAE8EtABzBOsAYgIm/7UCJv+1AhsAjwIb//sCGwCPBGAAdgH+AAACoABHBVj/9wVY//cEj//UBNsALQKp/+gFUwASBVMAEgVTABIFUwASBVMAEgVTABIFUwASBTkAZgSGAJQEhgCUBIYAlASGAJQCQv/IAkIAowJC/8sCQv+/Ba4AlAWGAGYFhgBmBYYAZgWGAGYFhgBmBTcAfQU3AH0FNwB9BTcAfQTgAAcEVABaBFQAWgRUAFoEVABaBFQAWgRUAFoEVABaBDAATwRLAFMESwBTBEsAUwRLAFMCGv+0AhoAjwIa/7cCGv+rBHMAeQSOAE8EjgBPBI4ATwSOAE8EjgBPBHIAdwR
"Roboto-MediumItalic.ttf" : " AAEAAAARAQAABAAQR1BPUyEcbY8AAhQcAABZakdTVULEnLdcAAJtiAAAGXxPUy8yoQuw + wAAAZgAAABgY21hcNhuDxIAABpsAAAGXGN2dCAElytKAAAjUAAAAFZmcGdte / lhqwAAIMgAAAG8Z2FzcAAIABMAAhQQAAAADGdseWZgubUGAAAtcAAB42poZG14LxpP7wAAFYAAAATsaGVhZPi2qwsAAAEcAAAANmhoZWEM2xKRAAABVAAAACRobXR4rRqYNAAAAfgAABOIbG9jYSKZqcwAACOoAAAJxm1heHAHEgLZAAABeAAAACBuYW1lRuRz4wACENwAAAMUcG9zdP9hAGQAAhPwAAAAIHByZXAbsfg2AAAihAAAAMwAAQAAAAIAALDh6v1fDzz1ABsIAAAAAADE8BEuAAAAANDbTpf6Qf3VCXgIcwACAAkAAgAAAAAAAAABAAAHbP4MAAAJN / pB / mwJeAgAAbMAAAAAAAAAAAAAAAAE4gABAAAE4gCPABYAVgAFAAEAAAAAAA4AAAIAAfIABgABAAMEGQH0AAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAACAAAAAAAAAAAA4AAK / 1 AAIX8AAAAhAAAAAEdPT0cAAQAA //0GAP4AAGYHmgIAIAABnwAAAAAEOgWwACAAIAACA5YAZAAKAAAACgAAAfkAAAH5AAACHwA3Ao4AoQTHADsEcwBCBb0AtQUAAC0BWgCQAr8AaALG/5QDeABnBF0APQG//4kClgA2AjUAMAMc/38EcwBgBHMA7wRzAAsEcwAmBHMACQRzAFoEcwBjBHMAhgRzADsEcwCOAhkAKwHi/5oD/AAyBGIAYgQUAC8D0ACVBvsAMgU0/6QE7wAnBRsAZQUcACcEbQAnBE0AJwVSAGsFjQAnAjsANQRZAAME7gAnBD0AJwbVACcFjAAnBWYAawUAACcFZgBkBOIAJwS5ACQEwACcBRkAWwUPAJsG3gC3BPP/wwTFAKEEtv/lAir/7wNIAKwCKv96A1sARAOK/3kCigDKBD0AIgRoABAEGgA4BGsAOwQ0ADsCygBfBHD/9wRZAA0CBQAfAfz/DAQXABECBQAfBssAEARbAA0EdQA5BGj/xwRyADsCxAAQBAsAHAKfADsEWgBKA+EAZAXOAHcD8f+5A9H/tQPx/+cCpAAwAf0AIAKk/5kFMgBbAfkAAAIY/+YEZQBMBJv/9gV8AAgExQBQAff/7ATc/9wDdADRBh4AXgOAAL4DzgBJBFUAgAKWADYGHgBeA8cA7wL9AOQEMwAbAukAVgLpAGcCkQDIBKH/3QPZAH0COwCeAgr/0wLpAOEDlQC+A84AAgWtALkGBgCxBjAAlgPQ/9IFNP+kBTT/pAU0/6QFNP+kBTT/pAU0/6QHVf+HBRsAZQRtACcEbQAnBG0AJwRtACcCOwA1AjsANQI7ADUCOwA1BTr//wWMACcFZgBrBWYAawVmAGsFZgBrBWYAawQtACMFZAAVBRkAWwUZAFsFGQBbBRkAWwTFAKEErwAnBMsAGwQ9ACIEPQAiBD0AIgQ9ACIEPQAiBD0AIgaXAA8EGgA4BDQAOwQ0ADsENAA7BDQAOwIUACICFAAiAhQAIgIUACIEjQBGBFsADQR1ADkEdQA5BHUAOQR1ADkEdQA5BHgAPQRvACoEWgBKBFoASgRaAEoEWgBKA9H/tQR+/80D0f+1BTT/pAQ9ACIFNP+kBD0AIgU0/6QEPQAiBRsAZQQaADgFGwBlBBoAOAUbAGUEGgA4BRsAZQQaADgFHAAnBQEAOwU6//8EiQA7BG0AJwQ0ADsEbQAnBDQAOwRtACcENAA7BG0AJwQ0ADwEbQAnBDQAOwVSAGsEcP/3BVIAawRw//cFUgBrBHD/9wVSAGsEcP/3BY0AJwRZAA0FjgAuBHcAKwI7ADUCFAAUAjsANQIUAB8COwA1AhQAIgI7/44CBf92AjsANQIUACIGlAA1BAEAHwRZAAMCIP8PBO4AJwQXABEEfwAhBD0AJwIFAB8EPQAnAgX/ogQ9ACcCmwAfBD0AJwLhAB8ETAAhAkcAHwWMACcEWwANBYwAJwRbAA0FjAAnBFsADQRbAA0FcgAjBG8AEQVmAGsEdQA5BWYAawR1ADkFZgBrBHUAOQeDAFAHDQBCBOIAJwLEABAE4gAnAsT/nATiACcCxAAQBLkAJAQLABwEuQAkBAsAHAS5ACQECwAcBLkAJAQLABwEwACcAp8AOwTAAJwCxwA7BMAAnAKf/+IFGQBbBFoASgUZAFsEWgBKBRkAWwRaAEoFGQBbBFoASgUZAFsEWgBKBRkAWwRaAEoG3gC3Bc4AdwTFAKED0f+1BMUAoQS2/+UD8f/nBLb/5QPx/+cEtv/lA/H/5wIGAB4FaABOAsT/SgVpAFsEhQA2BYMAWwTWAEoCIP8PBVIAawRw//cFjAAnBFsADQU0/6QEPQAiB1X/hwaXAA8FZAAVBG8AKgU0/6QEPQAiBG0AJwQ0ADsCO//JAhT/fgVmAGsEdQA5BOIAJwLEAAcFGQBbBFoASgS5ACQECwAcBMAAnAKfADsCIP8PBCUANgG5AIoD0gECA54BDQPIAO8DawD+AgUBAgKnAPoCRf+oA8QA3gMRAKwCY//uAAr9VAAK/dcACvz2AAr91gAK/L8ACvygAlUBLgQlAOgFNP+kAjsAngTR/74F8f/GAp//ygV6ABgFKf9YBVAAHQKgAAsFNP+kBO8AJwRdAC4Fnf+qBG0AJwS2/+UFjQAnBVoAXgI7ADUE7gAnBRr/sgbVACcFjAAnBHcAAAVmAGsFjwAuBQAAJwR3/9wEwACcBMUAoQXLAFIE8//DBYkAdQU8AAkCOwA1BMUAoQRrAD4ESAAoBG8AEQKgAG4ESABXBGsAPgSr/+UD+QB3BG8AOARIACgEBQBmBG8AEQSHAGwCoABuBH8AIQRS/6gEof/dA+EAZAP+AD4EdQA5BNcAXQRv/8sEIQA7BHcAOAQXAG4ESABXBa0AMgPx/7kFpwA/BmsAVAKgAEwESABXBHUAOQRIAFcGawBUBJkAUARjAG0Ex/8kBkoAVwRtACcEbQAnBdoAkQRdAC4FOgBnBLkAJAI7ADUCOwA1BFkAAwhQ/8oIVwAuBjQAoATuACcFhwAnBO0AmwWJACUFNP+kBOsAIwTvACcEXQAuBeL/hARtACcHcf+lBLsAHgWHACcFhwAnBQoALgWI/8oG1QAnBY0AJwVmAGsFjwAuBQAAJwUbAGUEwACcBO0AmwY4AFYE8//DBdUAJQVoAMUHawArB8YAKwX1AIkGzQAuBOoAIwUxAE8HJgAyBNv/sAQ9ACIEZQBDBHYAIgNKABgE2v+FBDQAOwZO/60EAQAWBH8AGQR/ABkEVgAiBIH/vwXfACIEfgAZBHUAOQR/ABkEaP/HBBoAOAPhAFMD0f+1BbAAPQPx/7kEuAAZBE4AcAZmABkGwQASBPoATwZIACIEUAAiBCUAIwZcACQEWP+2BDQAOwQ0ADsEWQANA0oAGAQlADsECwAcAgUAHwIUACIB/P8MBqf/vQa5ABkEcAANBFYAIgR/ABkD0f+1BH8AGQcbAGAGKQBEBOoAIwRPACEG+wArBd0AGQTv/64ESP+cBxQAPgYQADAGwgAUBcMAFgj1ADUHxgAiBAr/qgPc/7UFiQB1BacAPwVaAGIEbwA2BP0AqAP5AHcE/QCoA/kAdwk3AGsIRgA5BVoAZgRvADgHFwBiBh4ASwcbAGAGKQBEBP0AVgQzAEUE4wA4AAr85gAK/Q4ACv4rAAr+PAAK+kEACvpvBYcAJwR/ABkE6gAjBE8AIQT2ACcEbf/HBFIAIgOPABEEXf/8A0r/ywSdAC4ECgARB3H/pQZO/60EuwAeBAEAFgUKAC4EVgAiBQ4AIwSRACEFHgA3BC4AGQZsAKQFgwBsBY0AJwR+ABkHngAnBYkAEQgRAC4GygARBgUAZQTjAEsFGwBlBBoAOATAAJwD4QBTBMUAoQP5AHcExQChA/kAVATz/8MD8f+5BwQAnQVQAFYFaADFBE4AcAVUALkEWwCFB
"Roboto-Regular.ttf" : " AAEAAAASAQAABAAgR0RFRtRX1FkAAg / sAAACREdQT1NKcuCzAAISMAAAUiRHU1VCw4aZEQACZFQAABfoT1MvMqCnsaYAAAGoAAAAYGNtYXBAmkl2AAAafAAAEshjdnQgJEEG5QAAL9wAAABMZnBnbWf0XKsAAC1EAAABvGdhc3AACAATAAIP4AAAAAxnbHlmHN2bBQAAOfAAAdM2aGRteDc4ERcAABWQAAAE7GhlYWT4RqsOAAABLAAAADZoaGVhCroKggAAAWQAAAAkaG10eOiEiIgAAAIIAAATiGxvY2HgyGepAAAwKAAACcZtYXhwBxIC + QAAAYgAAAAgbmFtZTVTY1kAAg0oAAACmHBvc3T / bQBkAAIPwAAAACBwcmVwdKCP7AAALwAAAADbAAEAAAACAACEKlnoXw889QAbCAAAAAAAxPARLgAAAADQ206a + hv91QkwCHMAAAAJAAIAAAAAAAAAAQAAB2z + DAAACUn6G / 5 KCTAAAQAAAAAAAAAAAAAAAAAABOIAAQAABOIAjwAWAFQABQABAAAAAAAOAAACAAIUAAYAAQADBIUBkAAFAAAFmgUzAAABHwWaBTMAAAPRAGYCAAAAAgAAAAAAAAAAAOAACv9QACF / AAAAIQAAAABHT09HAEAAAP / 9 BgD + AABmB5oCACAAAZ8AAAAABDoFsAAgACAAAgOMAGQAAAAAAAAAAAH7AAAB + wAAAg8AoAKPAIgE7QB3BH4AbgXcAGkE + QBlAWUAZwK8AIUCyAAmA3IAHASJAE4BkgAdAjUAJQIbAJADTAASBH4AcwR + AKoEfgBdBH4AXgR + ADUEfgCaBH4AhAR + AE0EfgBwBH4AZAHwAIYBsQApBBEASARkAJgELgCGA8cASwcvAGoFOAAcBPsAqQU1AHcFPwCpBIwAqQRsAKkFcwB6BbQAqQItALcEagA1BQQAqQROAKkG / ACpBbQAqQWAAHYFDACpBYAAbQTtAKgEvwBQBMYAMQUwAIwFFwAcBxkAPQUEADkEzgAPBMoAVgIfAJIDSAAoAh8ACQNYAEADnAAEAnkAOQRaAG0EfQCMBDAAXASDAF8EPQBdAscAPAR9AGAEaACMAfEAjQHp / 78 EDgCNAfEAnAcDAIsEagCMBJAAWwR9AIwEjABfArUAjAQgAF8CnQAJBGkAiAPgACEGAwArA / cAKQPJABYD9wBYArUAQAHzAK8CtQATBXEAgwHzAIsEYABpBKYAWwW0AGkE2AAfAesAkwToAFoDWABmBkkAWwOTAJMDwQBmBG4AfwZKAFoDqgB4Av0AggRGAGEC7wBCAu8APgKCAHsEiACaA + kAQwIWAJMB + wB0Au8AegOjAHoDwABmBdwAVQY1AFAGOQBvA8kARAd6 //IERABZBYAAdgS6AKYEwgCLBsEATgSwAH4EkQBHBIgAWwScAJUFmgAdAfoAmwRzAJoETwAiAikAIgWLAKIEiACRB6EAaAdEAGEB/ACgBYcAXQK5/+QFfgBlBJIAWwWQAIwE8wCIAgP/tAQ3AGIDxACpA40AjAOrAHgDagCBAfEAjQKtAHkCKgAyA8YAewL8AF4CWgB+AAD8pwAA/W8AAPyLAAD9XgAA/CcB7/04Ag0AtwQLAHECFwCTBHMAsQWkAB8FcQBnBT4AMgSRAHgFtQCyBJEARQW7AE0FiQBaBVIAcQSFAGQEvQCgBAIALgSIAGAEUABjBCUAbQSIAJEEjgB6ApcAwwRuACUD7ABlBMQAKQSIAJEETQBlBIgAYAQsAFEEXQCPBaMAVwWaAF8GlwB6BKEAeQRC/9oGSABKBf8AKgVkAHsIkQAxCKQAsQaCAD4FtACwBQsAogYEADIHQwAbBL8AUAW0ALEFqQAvBQcATQYsAFMF2QCvBXoAlgeHALAHwACwBhIAEAbrALIFBQCjBWQAkwcnALcFGABZBGwAYQSSAJ0DWwCaBNQALgYgABUEEABYBJ4AnARSAJwEoAAsBe8AnQSdAJwEngCcA9gAKAXNAGQEvQCcBFkAZwZ4AJwGngCRBPcAHgY2AJ0EWACdBE0AZAaHAJ0EZAAvBGj/6ARNAGcGyQAnBuQAnASJ//0EngCcBwgAnAYrAIEEVv/cBysAtwX4AJkE0gAoBEYADwcLAMkGCwC8BtEAkwXhAJYJBAC2B9EAmwQjAFAD2wBMBXEAZwSLAFsFCgAWBAMALgVxAGcEiABbBwEAnAYkAH4HCACcBisAgQUyAHUERwBkBP0AdAAA/GcAAPxxAAD9ZgAA/aQAAPobAAD6LARW/9wFGwCoBIkAjARjAKIDkACRBNsAsQQFAJEFCQCjBH4AmgaMAEQFgwA+B88AqAW0AJEIMQCwBvQAkQXuAHEE0wBtBywANAVcAB8FbwCWBGoAgwVwAIoGLwA/BL3/3gUJAKMEWgCaBbIAsQSIAJEFhwBdBKgAaASoAGkEtwA6A0kAOwT2AFcGlABZBuQAZAZWADYFKwAxBEkAUgQHAHkHwQBEBnUAPwf7AKkGoQCQBPYAdgQdAGUFrQAjBSAARgVkAJYDIABvBBQAAAgpAAAEFAAACCkAAAK5AAACCgAAAVwAAAR/AAACMAAAAaIAAADRAAAAAAAAAjQAJQI0ACUFQACiBj8AkAOmAA0BmQBgAZkAMAGXACQBmQBPAtQAaALbADwCwQAkBGkARgSPAFcCsgCKA8QAlAVaAJQA9gAmB6oARAJmAGwCZgBZA6MAOwLvADYDYAB6BKYAWwZVAB8GkACnCHYAqAdjADkGKwCMBH4AXwXaAB8EIgAqBHQAIAVIAF0FTwAfBecAegPOAGgIOgCiBQEAZwUXAJgGJgBUBtcAZAbPAGMGagBZBI8AagWOAKkErwBFBJIAqATFAD8IOgBiAgz/sASCAGUEZACYBBEAPgQvAIUECAArAkwAtQKPAG4CAwBcBPMAPARuAB8EiwA8BtQAPAbUADwE7gA8BpsAXwAAAAAIMwBbCDUAXAQgADsEngBaAfz/tgGRAGcDpACDA54AgQOfAIED9ABpBA4AaQPz/14D7wBuA6QAgQH9AJ8EhQATBFAAigR8AGAEgACKA+YAigPLAIoErABjBOMAigHoAJcDzwArBFQAigO0AIoGAgCKBOMAigS7AGAEXACKBLsAWQRKAIoEIABDBCYAKAR8AHQEZwAUBhUAMQRUACYEKwANBCMARwLvAFAC7wB6Au8AQgLvAD4C7wA2Au8AWwLvAFYC7wA6Au8ATwLvAEkDlgCPArUAngQ6AB4EwwBkBUwAsQUkALIEEwCSBT0AsgQPAJIEIABDBDMAMAQ8ABYDrwCKBGcAFAS7AGAEZwAUA4kAPgTOAIoD7wA/BWcAYAUXAGAE8gB1BXIAJgR8AGAHQQAnB08AigV0ACgEzQCKBFkAigUkAC4GCwAfBD8ARwTsAIoETgCLBMEAJwQfACIFKACKBGoAPQZRAIoGrACKBR0ACAXxAIoETgCKBHsASwZ2AIoEhwBQBBEACwZHAB8EeQCLBQkAiwU3ACMFwgBgBF8ADQSoACYGYQAmBGoAPQRqAIoFwwACBMoAXgQ/AEcEuwBgBDMAMAPjAEIIIgCKBKsAKAR9AIwEMgBcBJMAWwSMAFsDeQBXBI0AjAScAFsEPQBdBH0AYAWBAH4FrgB+BZMAsgXgAH4F4wB+A9UAoASCAIMDrwCKBFgADwTPAD4C7wBQAu8ANgLvAFsC7wBWAu8AOgLvAE8C7wBJBGsAZQQuAEoGpABgBLkAggUAAHgCBv+0AgT/tAH7AJsB+//6AfsAmwH7AIYEUACKAfsAAAI1ACUFXQAlBV0AJQSGAAAExgAxAp3/9AU4ABwFOAAcBTgAHAU4ABwFOAAcBTgAHAU4ABwFNQB3BIwAqQSMAKkEjACpBIwAqQIt/+ACLQCwAi3/6QIt/9YFtACpBYAAdgWAAHYFgAB2BYAAdgWAAHYFMACMBTAAjAUwAIwFMACMBM4ADwRaAG0EWgBtBFoAbQRaAG0EWgBtBFoAbQRaAG0EMABcBD0AXQQ9AF0EPQBdBD0AXQH6/8YB+gCWAfr/zwH6/7wEagCMBJAAWw
} ;
2020-09-26 16:19:37 +02:00
/ * !
2022-03-23 12:39:52 +01:00
Copyright 2008 - 2021 SpryMedia Ltd .
This source file is free software , available under the following license :
MIT license - http : //datatables.net/license
This source file is distributed in the hope that it will be useful , but
WITHOUT ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE . See the license files for details .
F or details please refer to : http : //www.datatables.net
2022-03-26 23:33:12 +01:00
DataTables 1.11 . 5
2022-03-23 12:39:52 +01:00
© 2008 - 2021 SpryMedia Ltd - datatables . net / license
2020-09-26 16:19:37 +02:00
* /
2022-03-23 12:39:52 +01:00
var $jscomp = $jscomp || { } ; $jscomp . scope = { } ; $jscomp . findInternal = function ( l , z , A ) { l instanceof String && ( l = String ( l ) ) ; for ( var q = l . length , E = 0 ; E < q ; E ++ ) { var P = l [ E ] ; if ( z . call ( A , P , E , l ) ) return { i : E , v : P } } return { i : - 1 , v : void 0 } } ; $jscomp . ASSUME _ES5 = ! 1 ; $jscomp . ASSUME _NO _NATIVE _MAP = ! 1 ; $jscomp . ASSUME _NO _NATIVE _SET = ! 1 ; $jscomp . SIMPLE _FROUND _POLYFILL = ! 1 ; $jscomp . ISOLATE _POLYFILLS = ! 1 ;
$jscomp . defineProperty = $jscomp . ASSUME _ES5 || "function" == typeof Object . defineProperties ? Object . defineProperty : function ( l , z , A ) { if ( l == Array . prototype || l == Object . prototype ) return l ; l [ z ] = A . value ; return l } ; $jscomp . getGlobal = function ( l ) { l = [ "object" == typeof globalThis && globalThis , l , "object" == typeof window && window , "object" == typeof self && self , "object" == typeof global && global ] ; for ( var z = 0 ; z < l . length ; ++ z ) { var A = l [ z ] ; if ( A && A . Math == Math ) return A } throw Error ( "Cannot find global object" ) ; } ; $jscomp . global = $jscomp . getGlobal ( this ) ;
$jscomp . IS _SYMBOL _NATIVE = "function" === typeof Symbol && "symbol" === typeof Symbol ( "x" ) ; $jscomp . TRUST _ES6 _POLYFILLS = ! $jscomp . ISOLATE _POLYFILLS || $jscomp . IS _SYMBOL _NATIVE ; $jscomp . polyfills = { } ; $jscomp . propertyToPolyfillSymbol = { } ; $jscomp . POLYFILL _PREFIX = "$jscp$" ; var $jscomp$lookupPolyfilledValue = function ( l , z ) { var A = $jscomp . propertyToPolyfillSymbol [ z ] ; if ( null == A ) return l [ z ] ; A = l [ A ] ; return void 0 !== A ? A : l [ z ] } ;
$jscomp . polyfill = function ( l , z , A , q ) { z && ( $jscomp . ISOLATE _POLYFILLS ? $jscomp . polyfillIsolated ( l , z , A , q ) : $jscomp . polyfillUnisolated ( l , z , A , q ) ) } ; $jscomp . polyfillUnisolated = function ( l , z , A , q ) { A = $jscomp . global ; l = l . split ( "." ) ; for ( q = 0 ; q < l . length - 1 ; q ++ ) { var E = l [ q ] ; if ( ! ( E in A ) ) return ; A = A [ E ] } l = l [ l . length - 1 ] ; q = A [ l ] ; z = z ( q ) ; z != q && null != z && $jscomp . defineProperty ( A , l , { configurable : ! 0 , writable : ! 0 , value : z } ) } ;
$jscomp . polyfillIsolated = function ( l , z , A , q ) { var E = l . split ( "." ) ; l = 1 === E . length ; q = E [ 0 ] ; q = ! l && q in $jscomp . polyfills ? $jscomp . polyfills : $jscomp . global ; for ( var P = 0 ; P < E . length - 1 ; P ++ ) { var ma = E [ P ] ; if ( ! ( ma in q ) ) return ; q = q [ ma ] } E = E [ E . length - 1 ] ; A = $jscomp . IS _SYMBOL _NATIVE && "es6" === A ? q [ E ] : null ; z = z ( A ) ; null != z && ( l ? $jscomp . defineProperty ( $jscomp . polyfills , E , { configurable : ! 0 , writable : ! 0 , value : z } ) : z !== A && ( $jscomp . propertyToPolyfillSymbol [ E ] = $jscomp . IS _SYMBOL _NATIVE ? $jscomp . global . Symbol ( E ) : $jscomp . POLYFILL _PREFIX + E ,
E = $jscomp . propertyToPolyfillSymbol [ E ] , $jscomp . defineProperty ( q , E , { configurable : ! 0 , writable : ! 0 , value : z } ) ) ) } ; $jscomp . polyfill ( "Array.prototype.find" , function ( l ) { return l ? l : function ( z , A ) { return $jscomp . findInternal ( this , z , A ) . v } } , "es6" , "es3" ) ;
( function ( l ) { "function" === typeof define && define . amd ? define ( [ "jquery" ] , function ( z ) { return l ( z , window , document ) } ) : "object" === typeof exports ? module . exports = function ( z , A ) { z || ( z = window ) ; A || ( A = "undefined" !== typeof window ? require ( "jquery" ) : require ( "jquery" ) ( z ) ) ; return l ( A , z , z . document ) } : window . DataTable = l ( jQuery , window , document ) } ) ( function ( l , z , A , q ) { function E ( a ) { var b , c , d = { } ; l . each ( a , function ( e , h ) { ( b = e . match ( /^([^A-Z]+?)([A-Z])/ ) ) && - 1 !== "a aa ai ao as b fn i m o s " . indexOf ( b [ 1 ] + " " ) && ( c = e . replace ( b [ 0 ] ,
b [ 2 ] . toLowerCase ( ) ) , d [ c ] = e , "o" === b [ 1 ] && E ( a [ e ] ) ) } ) ; a . _hungarianMap = d } function P ( a , b , c ) { a . _hungarianMap || E ( a ) ; var d ; l . each ( b , function ( e , h ) { d = a . _hungarianMap [ e ] ; d === q || ! c && b [ d ] !== q || ( "o" === d . charAt ( 0 ) ? ( b [ d ] || ( b [ d ] = { } ) , l . extend ( ! 0 , b [ d ] , b [ e ] ) , P ( a [ d ] , b [ d ] , c ) ) : b [ d ] = b [ e ] ) } ) } function ma ( a ) { var b = u . defaults . oLanguage , c = b . sDecimal ; c && Xa ( c ) ; if ( a ) { var d = a . sZeroRecords ; ! a . sEmptyTable && d && "No data available in table" === b . sEmptyTable && X ( a , a , "sZeroRecords" , "sEmptyTable" ) ; ! a . sLoadingRecords && d && "Loading..." === b . sLoadingRecords &&
X ( a , a , "sZeroRecords" , "sLoadingRecords" ) ; a . sInfoThousands && ( a . sThousands = a . sInfoThousands ) ; ( a = a . sDecimal ) && c !== a && Xa ( a ) } } function zb ( a ) { S ( a , "ordering" , "bSort" ) ; S ( a , "orderMulti" , "bSortMulti" ) ; S ( a , "orderClasses" , "bSortClasses" ) ; S ( a , "orderCellsTop" , "bSortCellsTop" ) ; S ( a , "order" , "aaSorting" ) ; S ( a , "orderFixed" , "aaSortingFixed" ) ; S ( a , "paging" , "bPaginate" ) ; S ( a , "pagingType" , "sPaginationType" ) ; S ( a , "pageLength" , "iDisplayLength" ) ; S ( a , "searching" , "bFilter" ) ; "boolean" === typeof a . sScrollX && ( a . sScrollX = a . sScrollX ? "100%" :
"" ) ; "boolean" === typeof a . scrollX && ( a . scrollX = a . scrollX ? "100%" : "" ) ; if ( a = a . aoSearchCols ) for ( var b = 0 , c = a . length ; b < c ; b ++ ) a [ b ] && P ( u . models . oSearch , a [ b ] ) } function Ab ( a ) { S ( a , "orderable" , "bSortable" ) ; S ( a , "orderData" , "aDataSort" ) ; S ( a , "orderSequence" , "asSorting" ) ; S ( a , "orderDataType" , "sortDataType" ) ; var b = a . aDataSort ; "number" !== typeof b || Array . isArray ( b ) || ( a . aDataSort = [ b ] ) } function Bb ( a ) { if ( ! u . _ _browser ) { var b = { } ; u . _ _browser = b ; var c = l ( "<div/>" ) . css ( { position : "fixed" , top : 0 , left : - 1 * l ( z ) . scrollLeft ( ) , height : 1 ,
width : 1 , overflow : "hidden" } ) . append ( l ( "<div/>" ) . css ( { position : "absolute" , top : 1 , left : 1 , width : 100 , overflow : "scroll" } ) . append ( l ( "<div/>" ) . css ( { width : "100%" , height : 10 } ) ) ) . appendTo ( "body" ) , d = c . children ( ) , e = d . children ( ) ; b . barWidth = d [ 0 ] . offsetWidth - d [ 0 ] . clientWidth ; b . bScrollOversize = 100 === e [ 0 ] . offsetWidth && 100 !== d [ 0 ] . clientWidth ; b . bScrollbarLeft = 1 !== Math . round ( e . offset ( ) . left ) ; b . bBounding = c [ 0 ] . getBoundingClientRect ( ) . width ? ! 0 : ! 1 ; c . remove ( ) } l . extend ( a . oBrowser , u . _ _browser ) ; a . oScroll . iBarWidth = u . _ _browser . barWidth }
function Cb ( a , b , c , d , e , h ) { var f = ! 1 ; if ( c !== q ) { var g = c ; f = ! 0 } for ( ; d !== e ; ) a . hasOwnProperty ( d ) && ( g = f ? b ( g , a [ d ] , d , a ) : a [ d ] , f = ! 0 , d += h ) ; return g } function Ya ( a , b ) { var c = u . defaults . column , d = a . aoColumns . length ; c = l . extend ( { } , u . models . oColumn , c , { nTh : b ? b : A . createElement ( "th" ) , sTitle : c . sTitle ? c . sTitle : b ? b . innerHTML : "" , aDataSort : c . aDataSort ? c . aDataSort : [ d ] , mData : c . mData ? c . mData : d , idx : d } ) ; a . aoColumns . push ( c ) ; c = a . aoPreSearchCols ; c [ d ] = l . extend ( { } , u . models . oSearch , c [ d ] ) ; Ga ( a , d , l ( b ) . data ( ) ) } function Ga ( a , b , c ) { b = a . aoColumns [ b ] ;
var d = a . oClasses , e = l ( b . nTh ) ; if ( ! b . sWidthOrig ) { b . sWidthOrig = e . attr ( "width" ) || null ; var h = ( e . attr ( "style" ) || "" ) . match ( /width:\s*(\d+[pxem%]+)/ ) ; h && ( b . sWidthOrig = h [ 1 ] ) } c !== q && null !== c && ( Ab ( c ) , P ( u . defaults . column , c , ! 0 ) , c . mDataProp === q || c . mData || ( c . mData = c . mDataProp ) , c . sType && ( b . _sManualType = c . sType ) , c . className && ! c . sClass && ( c . sClass = c . className ) , c . sClass && e . addClass ( c . sClass ) , l . extend ( b , c ) , X ( b , c , "sWidth" , "sWidthOrig" ) , c . iDataSort !== q && ( b . aDataSort = [ c . iDataSort ] ) , X ( b , c , "aDataSort" ) ) ; var f = b . mData , g = na ( f ) ,
k = b . mRender ? na ( b . mRender ) : null ; c = function ( m ) { return "string" === typeof m && - 1 !== m . indexOf ( "@" ) } ; b . _bAttrSrc = l . isPlainObject ( f ) && ( c ( f . sort ) || c ( f . type ) || c ( f . filter ) ) ; b . _setter = null ; b . fnGetData = function ( m , n , p ) { var t = g ( m , n , q , p ) ; return k && n ? k ( t , n , m , p ) : t } ; b . fnSetData = function ( m , n , p ) { return ha ( f ) ( m , n , p ) } ; "number" !== typeof f && ( a . _rowReadObject = ! 0 ) ; a . oFeatures . bSort || ( b . bSortable = ! 1 , e . addClass ( d . sSortableNone ) ) ; a = - 1 !== l . inArray ( "asc" , b . asSorting ) ; c = - 1 !== l . inArray ( "desc" , b . asSorting ) ; b . bSortable && ( a || c ) ? a && ! c ?
2022-03-26 23:33:12 +01:00
( b . sSortingClass = d . sSortableAsc , b . sSortingClassJUI = d . sSortJUIAscAllowed ) : ! a && c ? ( b . sSortingClass = d . sSortableDesc , b . sSortingClassJUI = d . sSortJUIDescAllowed ) : ( b . sSortingClass = d . sSortable , b . sSortingClassJUI = d . sSortJUI ) : ( b . sSortingClass = d . sSortableNone , b . sSortingClassJUI = "" ) } function sa ( a ) { if ( ! 1 !== a . oFeatures . bAutoWidth ) { var b = a . aoColumns ; Za ( a ) ; for ( var c = 0 , d = b . length ; c < d ; c ++ ) b [ c ] . nTh . style . width = b [ c ] . sWidth } b = a . oScroll ; "" === b . sY && "" === b . sX || Ha ( a ) ; F ( a , null , "column-sizing" , [ a ] ) } function ta ( a , b ) { a = Ia ( a , "bVisible" ) ;
return "number" === typeof a [ b ] ? a [ b ] : null } function ua ( a , b ) { a = Ia ( a , "bVisible" ) ; b = l . inArray ( b , a ) ; return - 1 !== b ? b : null } function oa ( a ) { var b = 0 ; l . each ( a . aoColumns , function ( c , d ) { d . bVisible && "none" !== l ( d . nTh ) . css ( "display" ) && b ++ } ) ; return b } function Ia ( a , b ) { var c = [ ] ; l . map ( a . aoColumns , function ( d , e ) { d [ b ] && c . push ( e ) } ) ; return c } function $a ( a ) { var b = a . aoColumns , c = a . aoData , d = u . ext . type . detect , e , h , f ; var g = 0 ; for ( e = b . length ; g < e ; g ++ ) { var k = b [ g ] ; var m = [ ] ; if ( ! k . sType && k . _sManualType ) k . sType = k . _sManualType ; else if ( ! k . sType ) { var n =
2022-03-23 12:39:52 +01:00
0 ; for ( h = d . length ; n < h ; n ++ ) { var p = 0 ; for ( f = c . length ; p < f ; p ++ ) { m [ p ] === q && ( m [ p ] = T ( a , p , g , "type" ) ) ; var t = d [ n ] ( m [ p ] , a ) ; if ( ! t && n !== d . length - 1 ) break ; if ( "html" === t && ! Z ( m [ p ] ) ) break } if ( t ) { k . sType = t ; break } } k . sType || ( k . sType = "string" ) } } } function Db ( a , b , c , d ) { var e , h , f , g = a . aoColumns ; if ( b ) for ( e = b . length - 1 ; 0 <= e ; e -- ) { var k = b [ e ] ; var m = k . targets !== q ? k . targets : k . aTargets ; Array . isArray ( m ) || ( m = [ m ] ) ; var n = 0 ; for ( h = m . length ; n < h ; n ++ ) if ( "number" === typeof m [ n ] && 0 <= m [ n ] ) { for ( ; g . length <= m [ n ] ; ) Ya ( a ) ; d ( m [ n ] , k ) } else if ( "number" === typeof m [ n ] &&
0 > m [ n ] ) d ( g . length + m [ n ] , k ) ; else if ( "string" === typeof m [ n ] ) { var p = 0 ; for ( f = g . length ; p < f ; p ++ ) ( "_all" == m [ n ] || l ( g [ p ] . nTh ) . hasClass ( m [ n ] ) ) && d ( p , k ) } } if ( c ) for ( e = 0 , a = c . length ; e < a ; e ++ ) d ( e , c [ e ] ) } function ia ( a , b , c , d ) { var e = a . aoData . length , h = l . extend ( ! 0 , { } , u . models . oRow , { src : c ? "dom" : "data" , idx : e } ) ; h . _aData = b ; a . aoData . push ( h ) ; for ( var f = a . aoColumns , g = 0 , k = f . length ; g < k ; g ++ ) f [ g ] . sType = null ; a . aiDisplayMaster . push ( e ) ; b = a . rowIdFn ( b ) ; b !== q && ( a . aIds [ b ] = h ) ; ! c && a . oFeatures . bDeferRender || ab ( a , e , c , d ) ; return e } function Ja ( a ,
b ) { var c ; b instanceof l || ( b = l ( b ) ) ; return b . map ( function ( d , e ) { c = bb ( a , e ) ; return ia ( a , c . data , e , c . cells ) } ) } function T ( a , b , c , d ) { "search" === d ? d = "filter" : "order" === d && ( d = "sort" ) ; var e = a . iDraw , h = a . aoColumns [ c ] , f = a . aoData [ b ] . _aData , g = h . sDefaultContent , k = h . fnGetData ( f , d , { settings : a , row : b , col : c } ) ; if ( k === q ) return a . iDrawError != e && null === g && ( da ( a , 0 , "Requested unknown parameter " + ( "function" == typeof h . mData ? "{function}" : "'" + h . mData + "'" ) + " for row " + b + ", column " + c , 4 ) , a . iDrawError = e ) , g ; if ( ( k === f || null === k ) && null !==
g && d !== q ) k = g ; else if ( "function" === typeof k ) return k . call ( f ) ; if ( null === k && "display" === d ) return "" ; "filter" === d && ( a = u . ext . type . search , a [ h . sType ] && ( k = a [ h . sType ] ( k ) ) ) ; return k } function Eb ( a , b , c , d ) { a . aoColumns [ c ] . fnSetData ( a . aoData [ b ] . _aData , d , { settings : a , row : b , col : c } ) } function cb ( a ) { return l . map ( a . match ( /(\\.|[^\.])+/g ) || [ "" ] , function ( b ) { return b . replace ( /\\\./g , "." ) } ) } function db ( a ) { return U ( a . aoData , "_aData" ) } function Ka ( a ) { a . aoData . length = 0 ; a . aiDisplayMaster . length = 0 ; a . aiDisplay . length = 0 ; a . aIds = { } }
2022-03-26 23:33:12 +01:00
function La ( a , b , c ) { for ( var d = - 1 , e = 0 , h = a . length ; e < h ; e ++ ) a [ e ] == b ? d = e : a [ e ] > b && a [ e ] -- ; - 1 != d && c === q && a . splice ( d , 1 ) } function va ( a , b , c , d ) { var e = a . aoData [ b ] , h , f = function ( k , m ) { for ( ; k . childNodes . length ; ) k . removeChild ( k . firstChild ) ; k . innerHTML = T ( a , b , m , "display" ) } ; if ( "dom" !== c && ( c && "auto" !== c || "dom" !== e . src ) ) { var g = e . anCells ; if ( g ) if ( d !== q ) f ( g [ d ] , d ) ; else for ( c = 0 , h = g . length ; c < h ; c ++ ) f ( g [ c ] , c ) } else e . _aData = bb ( a , e , d , d === q ? q : e . _aData ) . data ; e . _aSortData = null ; e . _aFilterData = null ; f = a . aoColumns ; if ( d !== q ) f [ d ] . sType = null ;
2022-03-23 12:39:52 +01:00
else { c = 0 ; for ( h = f . length ; c < h ; c ++ ) f [ c ] . sType = null ; eb ( a , e ) } } function bb ( a , b , c , d ) { var e = [ ] , h = b . firstChild , f , g = 0 , k , m = a . aoColumns , n = a . _rowReadObject ; d = d !== q ? d : n ? { } : [ ] ; var p = function ( x , w ) { if ( "string" === typeof x ) { var r = x . indexOf ( "@" ) ; - 1 !== r && ( r = x . substring ( r + 1 ) , ha ( x ) ( d , w . getAttribute ( r ) ) ) } } , t = function ( x ) { if ( c === q || c === g ) f = m [ g ] , k = x . innerHTML . trim ( ) , f && f . _bAttrSrc ? ( ha ( f . mData . _ ) ( d , k ) , p ( f . mData . sort , x ) , p ( f . mData . type , x ) , p ( f . mData . filter , x ) ) : n ? ( f . _setter || ( f . _setter = ha ( f . mData ) ) , f . _setter ( d , k ) ) : d [ g ] = k ; g ++ } ; if ( h ) for ( ; h ; ) { var v =
h . nodeName . toUpperCase ( ) ; if ( "TD" == v || "TH" == v ) t ( h ) , e . push ( h ) ; h = h . nextSibling } else for ( e = b . anCells , h = 0 , v = e . length ; h < v ; h ++ ) t ( e [ h ] ) ; ( b = b . firstChild ? b : b . nTr ) && ( b = b . getAttribute ( "id" ) ) && ha ( a . rowId ) ( d , b ) ; return { data : d , cells : e } } function ab ( a , b , c , d ) { var e = a . aoData [ b ] , h = e . _aData , f = [ ] , g , k ; if ( null === e . nTr ) { var m = c || A . createElement ( "tr" ) ; e . nTr = m ; e . anCells = f ; m . _DT _RowIndex = b ; eb ( a , e ) ; var n = 0 ; for ( g = a . aoColumns . length ; n < g ; n ++ ) { var p = a . aoColumns [ n ] ; e = ( k = c ? ! 1 : ! 0 ) ? A . createElement ( p . sCellType ) : d [ n ] ; e . _DT _CellIndex = { row : b ,
column : n } ; f . push ( e ) ; if ( k || ! ( ! p . mRender && p . mData === n || l . isPlainObject ( p . mData ) && p . mData . _ === n + ".display" ) ) e . innerHTML = T ( a , b , n , "display" ) ; p . sClass && ( e . className += " " + p . sClass ) ; p . bVisible && ! c ? m . appendChild ( e ) : ! p . bVisible && c && e . parentNode . removeChild ( e ) ; p . fnCreatedCell && p . fnCreatedCell . call ( a . oInstance , e , T ( a , b , n ) , h , b , n ) } F ( a , "aoRowCreatedCallback" , null , [ m , h , b , f ] ) } } function eb ( a , b ) { var c = b . nTr , d = b . _aData ; if ( c ) { if ( a = a . rowIdFn ( d ) ) c . id = a ; d . DT _RowClass && ( a = d . DT _RowClass . split ( " " ) , b . _ _rowc = b . _ _rowc ? Ma ( b . _ _rowc . concat ( a ) ) :
a , l ( c ) . removeClass ( b . _ _rowc . join ( " " ) ) . addClass ( d . DT _RowClass ) ) ; d . DT _RowAttr && l ( c ) . attr ( d . DT _RowAttr ) ; d . DT _RowData && l ( c ) . data ( d . DT _RowData ) } } function Fb ( a ) { var b , c , d = a . nTHead , e = a . nTFoot , h = 0 === l ( "th, td" , d ) . length , f = a . oClasses , g = a . aoColumns ; h && ( c = l ( "<tr/>" ) . appendTo ( d ) ) ; var k = 0 ; for ( b = g . length ; k < b ; k ++ ) { var m = g [ k ] ; var n = l ( m . nTh ) . addClass ( m . sClass ) ; h && n . appendTo ( c ) ; a . oFeatures . bSort && ( n . addClass ( m . sSortingClass ) , ! 1 !== m . bSortable && ( n . attr ( "tabindex" , a . iTabIndex ) . attr ( "aria-controls" , a . sTableId ) , fb ( a , m . nTh ,
2022-03-26 23:33:12 +01:00
k ) ) ) ; m . sTitle != n [ 0 ] . innerHTML && n . html ( m . sTitle ) ; gb ( a , "header" ) ( a , n , m , f ) } h && wa ( a . aoHeader , d ) ; l ( d ) . children ( "tr" ) . children ( "th, td" ) . addClass ( f . sHeaderTH ) ; l ( e ) . children ( "tr" ) . children ( "th, td" ) . addClass ( f . sFooterTH ) ; if ( null !== e ) for ( a = a . aoFooter [ 0 ] , k = 0 , b = a . length ; k < b ; k ++ ) m = g [ k ] , m . nTf = a [ k ] . cell , m . sClass && l ( m . nTf ) . addClass ( m . sClass ) } function xa ( a , b , c ) { var d , e , h = [ ] , f = [ ] , g = a . aoColumns . length ; if ( b ) { c === q && ( c = ! 1 ) ; var k = 0 ; for ( d = b . length ; k < d ; k ++ ) { h [ k ] = b [ k ] . slice ( ) ; h [ k ] . nTr = b [ k ] . nTr ; for ( e = g - 1 ; 0 <= e ; e -- ) a . aoColumns [ e ] . bVisible ||
2022-03-23 12:39:52 +01:00
c || h [ k ] . splice ( e , 1 ) ; f . push ( [ ] ) } k = 0 ; for ( d = h . length ; k < d ; k ++ ) { if ( a = h [ k ] . nTr ) for ( ; e = a . firstChild ; ) a . removeChild ( e ) ; e = 0 ; for ( b = h [ k ] . length ; e < b ; e ++ ) { var m = g = 1 ; if ( f [ k ] [ e ] === q ) { a . appendChild ( h [ k ] [ e ] . cell ) ; for ( f [ k ] [ e ] = 1 ; h [ k + g ] !== q && h [ k ] [ e ] . cell == h [ k + g ] [ e ] . cell ; ) f [ k + g ] [ e ] = 1 , g ++ ; for ( ; h [ k ] [ e + m ] !== q && h [ k ] [ e ] . cell == h [ k ] [ e + m ] . cell ; ) { for ( c = 0 ; c < g ; c ++ ) f [ k + c ] [ e + m ] = 1 ; m ++ } l ( h [ k ] [ e ] . cell ) . attr ( "rowspan" , g ) . attr ( "colspan" , m ) } } } } } function ja ( a , b ) { var c = "ssp" == Q ( a ) , d = a . iInitDisplayStart ; d !== q && - 1 !== d && ( a . _iDisplayStart = c ?
d : d >= a . fnRecordsDisplay ( ) ? 0 : d , a . iInitDisplayStart = - 1 ) ; c = F ( a , "aoPreDrawCallback" , "preDraw" , [ a ] ) ; if ( - 1 !== l . inArray ( ! 1 , c ) ) V ( a , ! 1 ) ; else { c = [ ] ; var e = 0 ; d = a . asStripeClasses ; var h = d . length , f = a . oLanguage , g = "ssp" == Q ( a ) , k = a . aiDisplay , m = a . _iDisplayStart , n = a . fnDisplayEnd ( ) ; a . bDrawing = ! 0 ; if ( a . bDeferLoading ) a . bDeferLoading = ! 1 , a . iDraw ++ , V ( a , ! 1 ) ; else if ( ! g ) a . iDraw ++ ; else if ( ! a . bDestroying && ! b ) { Gb ( a ) ; return } if ( 0 !== k . length ) for ( b = g ? a . aoData . length : n , f = g ? 0 : m ; f < b ; f ++ ) { g = k [ f ] ; var p = a . aoData [ g ] ; null === p . nTr && ab ( a , g ) ; var t =
p . nTr ; if ( 0 !== h ) { var v = d [ e % h ] ; p . _sRowStripe != v && ( l ( t ) . removeClass ( p . _sRowStripe ) . addClass ( v ) , p . _sRowStripe = v ) } F ( a , "aoRowCallback" , null , [ t , p . _aData , e , f , g ] ) ; c . push ( t ) ; e ++ } else e = f . sZeroRecords , 1 == a . iDraw && "ajax" == Q ( a ) ? e = f . sLoadingRecords : f . sEmptyTable && 0 === a . fnRecordsTotal ( ) && ( e = f . sEmptyTable ) , c [ 0 ] = l ( "<tr/>" , { "class" : h ? d [ 0 ] : "" } ) . append ( l ( "<td />" , { valign : "top" , colSpan : oa ( a ) , "class" : a . oClasses . sRowEmpty } ) . html ( e ) ) [ 0 ] ; F ( a , "aoHeaderCallback" , "header" , [ l ( a . nTHead ) . children ( "tr" ) [ 0 ] , db ( a ) , m , n , k ] ) ; F ( a , "aoFooterCallback" ,
2022-03-26 23:33:12 +01:00
"footer" , [ l ( a . nTFoot ) . children ( "tr" ) [ 0 ] , db ( a ) , m , n , k ] ) ; d = l ( a . nTBody ) ; d . children ( ) . detach ( ) ; d . append ( l ( c ) ) ; F ( a , "aoDrawCallback" , "draw" , [ a ] ) ; a . bSorted = ! 1 ; a . bFiltered = ! 1 ; a . bDrawing = ! 1 } } function ka ( a , b ) { var c = a . oFeatures , d = c . bFilter ; c . bSort && Hb ( a ) ; d ? ya ( a , a . oPreviousSearch ) : a . aiDisplay = a . aiDisplayMaster . slice ( ) ; ! 0 !== b && ( a . _iDisplayStart = 0 ) ; a . _drawHold = b ; ja ( a ) ; a . _drawHold = ! 1 } function Ib ( a ) { var b = a . oClasses , c = l ( a . nTable ) ; c = l ( "<div/>" ) . insertBefore ( c ) ; var d = a . oFeatures , e = l ( "<div/>" , { id : a . sTableId + "_wrapper" ,
2022-03-23 12:39:52 +01:00
"class" : b . sWrapper + ( a . nTFoot ? "" : " " + b . sNoFooter ) } ) ; a . nHolding = c [ 0 ] ; a . nTableWrapper = e [ 0 ] ; a . nTableReinsertBefore = a . nTable . nextSibling ; for ( var h = a . sDom . split ( "" ) , f , g , k , m , n , p , t = 0 ; t < h . length ; t ++ ) { f = null ; g = h [ t ] ; if ( "<" == g ) { k = l ( "<div/>" ) [ 0 ] ; m = h [ t + 1 ] ; if ( "'" == m || '"' == m ) { n = "" ; for ( p = 2 ; h [ t + p ] != m ; ) n += h [ t + p ] , p ++ ; "H" == n ? n = b . sJUIHeader : "F" == n && ( n = b . sJUIFooter ) ; - 1 != n . indexOf ( "." ) ? ( m = n . split ( "." ) , k . id = m [ 0 ] . substr ( 1 , m [ 0 ] . length - 1 ) , k . className = m [ 1 ] ) : "#" == n . charAt ( 0 ) ? k . id = n . substr ( 1 , n . length - 1 ) : k . className = n ; t += p } e . append ( k ) ;
2022-03-26 23:33:12 +01:00
e = l ( k ) } else if ( ">" == g ) e = e . parent ( ) ; else if ( "l" == g && d . bPaginate && d . bLengthChange ) f = Jb ( a ) ; else if ( "f" == g && d . bFilter ) f = Kb ( a ) ; else if ( "r" == g && d . bProcessing ) f = Lb ( a ) ; else if ( "t" == g ) f = Mb ( a ) ; else if ( "i" == g && d . bInfo ) f = Nb ( a ) ; else if ( "p" == g && d . bPaginate ) f = Ob ( a ) ; else if ( 0 !== u . ext . feature . length ) for ( k = u . ext . feature , p = 0 , m = k . length ; p < m ; p ++ ) if ( g == k [ p ] . cFeature ) { f = k [ p ] . fnInit ( a ) ; break } f && ( k = a . aanFeatures , k [ g ] || ( k [ g ] = [ ] ) , k [ g ] . push ( f ) , e . append ( f ) ) } c . replaceWith ( e ) ; a . nHolding = null } function wa ( a , b ) { b = l ( b ) . children ( "tr" ) ;
2022-03-23 12:39:52 +01:00
var c , d , e ; a . splice ( 0 , a . length ) ; var h = 0 ; for ( e = b . length ; h < e ; h ++ ) a . push ( [ ] ) ; h = 0 ; for ( e = b . length ; h < e ; h ++ ) { var f = b [ h ] ; for ( c = f . firstChild ; c ; ) { if ( "TD" == c . nodeName . toUpperCase ( ) || "TH" == c . nodeName . toUpperCase ( ) ) { var g = 1 * c . getAttribute ( "colspan" ) ; var k = 1 * c . getAttribute ( "rowspan" ) ; g = g && 0 !== g && 1 !== g ? g : 1 ; k = k && 0 !== k && 1 !== k ? k : 1 ; var m = 0 ; for ( d = a [ h ] ; d [ m ] ; ) m ++ ; var n = m ; var p = 1 === g ? ! 0 : ! 1 ; for ( d = 0 ; d < g ; d ++ ) for ( m = 0 ; m < k ; m ++ ) a [ h + m ] [ n + d ] = { cell : c , unique : p } , a [ h + m ] . nTr = f } c = c . nextSibling } } } function Na ( a , b , c ) { var d = [ ] ; c || ( c = a . aoHeader ,
2022-03-26 23:33:12 +01:00
b && ( c = [ ] , wa ( c , b ) ) ) ; b = 0 ; for ( var e = c . length ; b < e ; b ++ ) for ( var h = 0 , f = c [ b ] . length ; h < f ; h ++ ) ! c [ b ] [ h ] . unique || d [ h ] && a . bSortCellsTop || ( d [ h ] = c [ b ] [ h ] . cell ) ; return d } function Oa ( a , b , c ) { F ( a , "aoServerParams" , "serverParams" , [ b ] ) ; if ( b && Array . isArray ( b ) ) { var d = { } , e = /(.*?)\[\]$/ ; l . each ( b , function ( n , p ) { ( n = p . name . match ( e ) ) ? ( n = n [ 0 ] , d [ n ] || ( d [ n ] = [ ] ) , d [ n ] . push ( p . value ) ) : d [ p . name ] = p . value } ) ; b = d } var h = a . ajax , f = a . oInstance , g = function ( n ) { var p = a . jqXHR ? a . jqXHR . status : null ; if ( null === n || "number" === typeof p && 204 == p ) n = { } , za ( a , n , [ ] ) ;
2022-03-23 12:39:52 +01:00
( p = n . error || n . sError ) && da ( a , 0 , p ) ; a . json = n ; F ( a , null , "xhr" , [ a , n , a . jqXHR ] ) ; c ( n ) } ; if ( l . isPlainObject ( h ) && h . data ) { var k = h . data ; var m = "function" === typeof k ? k ( b , a ) : k ; b = "function" === typeof k && m ? m : l . extend ( ! 0 , b , m ) ; delete h . data } m = { data : b , success : g , dataType : "json" , cache : ! 1 , type : a . sServerMethod , error : function ( n , p , t ) { t = F ( a , null , "xhr" , [ a , null , a . jqXHR ] ) ; - 1 === l . inArray ( ! 0 , t ) && ( "parsererror" == p ? da ( a , 0 , "Invalid JSON response" , 1 ) : 4 === n . readyState && da ( a , 0 , "Ajax error" , 7 ) ) ; V ( a , ! 1 ) } } ; a . oAjaxData = b ; F ( a , null , "preXhr" , [ a ,
b ] ) ; a . fnServerData ? a . fnServerData . call ( f , a . sAjaxSource , l . map ( b , function ( n , p ) { return { name : p , value : n } } ) , g , a ) : a . sAjaxSource || "string" === typeof h ? a . jqXHR = l . ajax ( l . extend ( m , { url : h || a . sAjaxSource } ) ) : "function" === typeof h ? a . jqXHR = h . call ( f , b , g , a ) : ( a . jqXHR = l . ajax ( l . extend ( m , h ) ) , h . data = k ) } function Gb ( a ) { a . iDraw ++ ; V ( a , ! 0 ) ; Oa ( a , Pb ( a ) , function ( b ) { Qb ( a , b ) } ) } function Pb ( a ) { var b = a . aoColumns , c = b . length , d = a . oFeatures , e = a . oPreviousSearch , h = a . aoPreSearchCols , f = [ ] , g = pa ( a ) ; var k = a . _iDisplayStart ; var m = ! 1 !== d . bPaginate ?
a . _iDisplayLength : - 1 ; var n = function ( x , w ) { f . push ( { name : x , value : w } ) } ; n ( "sEcho" , a . iDraw ) ; n ( "iColumns" , c ) ; n ( "sColumns" , U ( b , "sName" ) . join ( "," ) ) ; n ( "iDisplayStart" , k ) ; n ( "iDisplayLength" , m ) ; var p = { draw : a . iDraw , columns : [ ] , order : [ ] , start : k , length : m , search : { value : e . sSearch , regex : e . bRegex } } ; for ( k = 0 ; k < c ; k ++ ) { var t = b [ k ] ; var v = h [ k ] ; m = "function" == typeof t . mData ? "function" : t . mData ; p . columns . push ( { data : m , name : t . sName , searchable : t . bSearchable , orderable : t . bSortable , search : { value : v . sSearch , regex : v . bRegex } } ) ; n ( "mDataProp_" +
2022-03-26 23:33:12 +01:00
k , m ) ; d . bFilter && ( n ( "sSearch_" + k , v . sSearch ) , n ( "bRegex_" + k , v . bRegex ) , n ( "bSearchable_" + k , t . bSearchable ) ) ; d . bSort && n ( "bSortable_" + k , t . bSortable ) } d . bFilter && ( n ( "sSearch" , e . sSearch ) , n ( "bRegex" , e . bRegex ) ) ; d . bSort && ( l . each ( g , function ( x , w ) { p . order . push ( { column : w . col , dir : w . dir } ) ; n ( "iSortCol_" + x , w . col ) ; n ( "sSortDir_" + x , w . dir ) } ) , n ( "iSortingCols" , g . length ) ) ; b = u . ext . legacy . ajax ; return null === b ? a . sAjaxSource ? f : p : b ? f : p } function Qb ( a , b ) { var c = function ( f , g ) { return b [ f ] !== q ? b [ f ] : b [ g ] } , d = za ( a , b ) , e = c ( "sEcho" , "draw" ) , h =
c ( "iTotalRecords" , "recordsTotal" ) ; c = c ( "iTotalDisplayRecords" , "recordsFiltered" ) ; if ( e !== q ) { if ( 1 * e < a . iDraw ) return ; a . iDraw = 1 * e } d || ( d = [ ] ) ; Ka ( a ) ; a . _iRecordsTotal = parseInt ( h , 10 ) ; a . _iRecordsDisplay = parseInt ( c , 10 ) ; e = 0 ; for ( h = d . length ; e < h ; e ++ ) ia ( a , d [ e ] ) ; a . aiDisplay = a . aiDisplayMaster . slice ( ) ; ja ( a , ! 0 ) ; a . _bInitComplete || Pa ( a , b ) ; V ( a , ! 1 ) } function za ( a , b , c ) { a = l . isPlainObject ( a . ajax ) && a . ajax . dataSrc !== q ? a . ajax . dataSrc : a . sAjaxDataProp ; if ( ! c ) return "data" === a ? b . aaData || b [ a ] : "" !== a ? na ( a ) ( b ) : b ; ha ( a ) ( b , c ) } function Kb ( a ) { var b =
a . oClasses , c = a . sTableId , d = a . oLanguage , e = a . oPreviousSearch , h = a . aanFeatures , f = '<input type="search" class="' + b . sFilterInput + '"/>' , g = d . sSearch ; g = g . match ( /_INPUT_/ ) ? g . replace ( "_INPUT_" , f ) : g + f ; b = l ( "<div/>" , { id : h . f ? null : c + "_filter" , "class" : b . sFilter } ) . append ( l ( "<label/>" ) . append ( g ) ) ; var k = function ( n ) { var p = this . value ? this . value : "" ; e . return && "Enter" !== n . key || p == e . sSearch || ( ya ( a , { sSearch : p , bRegex : e . bRegex , bSmart : e . bSmart , bCaseInsensitive : e . bCaseInsensitive , "return" : e . return } ) , a . _iDisplayStart = 0 , ja ( a ) ) } ; h =
null !== a . searchDelay ? a . searchDelay : "ssp" === Q ( a ) ? 400 : 0 ; var m = l ( "input" , b ) . val ( e . sSearch ) . attr ( "placeholder" , d . sSearchPlaceholder ) . on ( "keyup.DT search.DT input.DT paste.DT cut.DT" , h ? hb ( k , h ) : k ) . on ( "mouseup" , function ( n ) { setTimeout ( function ( ) { k . call ( m [ 0 ] , n ) } , 10 ) } ) . on ( "keypress.DT" , function ( n ) { if ( 13 == n . keyCode ) return ! 1 } ) . attr ( "aria-controls" , c ) ; l ( a . nTable ) . on ( "search.dt.DT" , function ( n , p ) { if ( a === p ) try { m [ 0 ] !== A . activeElement && m . val ( e . sSearch ) } catch ( t ) { } } ) ; return b [ 0 ] } function ya ( a , b , c ) { var d = a . oPreviousSearch ,
2022-03-23 12:39:52 +01:00
e = a . aoPreSearchCols , h = function ( g ) { d . sSearch = g . sSearch ; d . bRegex = g . bRegex ; d . bSmart = g . bSmart ; d . bCaseInsensitive = g . bCaseInsensitive ; d . return = g . return } , f = function ( g ) { return g . bEscapeRegex !== q ? ! g . bEscapeRegex : g . bRegex } ; $a ( a ) ; if ( "ssp" != Q ( a ) ) { Rb ( a , b . sSearch , c , f ( b ) , b . bSmart , b . bCaseInsensitive , b . return ) ; h ( b ) ; for ( b = 0 ; b < e . length ; b ++ ) Sb ( a , e [ b ] . sSearch , b , f ( e [ b ] ) , e [ b ] . bSmart , e [ b ] . bCaseInsensitive ) ; Tb ( a ) } else h ( b ) ; a . bFiltered = ! 0 ; F ( a , null , "search" , [ a ] ) } function Tb ( a ) { for ( var b = u . ext . search , c = a . aiDisplay , d , e , h = 0 , f =
b . length ; h < f ; h ++ ) { for ( var g = [ ] , k = 0 , m = c . length ; k < m ; k ++ ) e = c [ k ] , d = a . aoData [ e ] , b [ h ] ( a , d . _aFilterData , e , d . _aData , k ) && g . push ( e ) ; c . length = 0 ; l . merge ( c , g ) } } function Sb ( a , b , c , d , e , h ) { if ( "" !== b ) { var f = [ ] , g = a . aiDisplay ; d = ib ( b , d , e , h ) ; for ( e = 0 ; e < g . length ; e ++ ) b = a . aoData [ g [ e ] ] . _aFilterData [ c ] , d . test ( b ) && f . push ( g [ e ] ) ; a . aiDisplay = f } } function Rb ( a , b , c , d , e , h ) { e = ib ( b , d , e , h ) ; var f = a . oPreviousSearch . sSearch , g = a . aiDisplayMaster ; h = [ ] ; 0 !== u . ext . search . length && ( c = ! 0 ) ; var k = Ub ( a ) ; if ( 0 >= b . length ) a . aiDisplay = g . slice ( ) ; else { if ( k ||
c || d || f . length > b . length || 0 !== b . indexOf ( f ) || a . bSorted ) a . aiDisplay = g . slice ( ) ; b = a . aiDisplay ; for ( c = 0 ; c < b . length ; c ++ ) e . test ( a . aoData [ b [ c ] ] . _sFilterRow ) && h . push ( b [ c ] ) ; a . aiDisplay = h } } function ib ( a , b , c , d ) { a = b ? a : jb ( a ) ; c && ( a = "^(?=.*?" + l . map ( a . match ( /"[^"]+"|[^ ]+/g ) || [ "" ] , function ( e ) { if ( '"' === e . charAt ( 0 ) ) { var h = e . match ( /^"(.*)"$/ ) ; e = h ? h [ 1 ] : e } return e . replace ( '"' , "" ) } ) . join ( ")(?=.*?" ) + ").*$" ) ; return new RegExp ( a , d ? "i" : "" ) } function Ub ( a ) { var b = a . aoColumns , c , d ; var e = ! 1 ; var h = 0 ; for ( c = a . aoData . length ; h < c ; h ++ ) { var f =
2022-03-26 23:33:12 +01:00
a . aoData [ h ] ; if ( ! f . _aFilterData ) { var g = [ ] ; e = 0 ; for ( d = b . length ; e < d ; e ++ ) { var k = b [ e ] ; k . bSearchable ? ( k = T ( a , h , e , "filter" ) , null === k && ( k = "" ) , "string" !== typeof k && k . toString && ( k = k . toString ( ) ) ) : k = "" ; k . indexOf && - 1 !== k . indexOf ( "&" ) && ( Qa . innerHTML = k , k = tc ? Qa . textContent : Qa . innerText ) ; k . replace && ( k = k . replace ( /[\r\n\u2028]/g , "" ) ) ; g . push ( k ) } f . _aFilterData = g ; f . _sFilterRow = g . join ( " " ) ; e = ! 0 } } return e } function Vb ( a ) { return { search : a . sSearch , smart : a . bSmart , regex : a . bRegex , caseInsensitive : a . bCaseInsensitive } } function Wb ( a ) { return { sSearch : a . search ,
2022-03-23 12:39:52 +01:00
bSmart : a . smart , bRegex : a . regex , bCaseInsensitive : a . caseInsensitive } } function Nb ( a ) { var b = a . sTableId , c = a . aanFeatures . i , d = l ( "<div/>" , { "class" : a . oClasses . sInfo , id : c ? null : b + "_info" } ) ; c || ( a . aoDrawCallback . push ( { fn : Xb , sName : "information" } ) , d . attr ( "role" , "status" ) . attr ( "aria-live" , "polite" ) , l ( a . nTable ) . attr ( "aria-describedby" , b + "_info" ) ) ; return d [ 0 ] } function Xb ( a ) { var b = a . aanFeatures . i ; if ( 0 !== b . length ) { var c = a . oLanguage , d = a . _iDisplayStart + 1 , e = a . fnDisplayEnd ( ) , h = a . fnRecordsTotal ( ) , f = a . fnRecordsDisplay ( ) , g =
f ? c . sInfo : c . sInfoEmpty ; f !== h && ( g += " " + c . sInfoFiltered ) ; g += c . sInfoPostFix ; g = Yb ( a , g ) ; c = c . fnInfoCallback ; null !== c && ( g = c . call ( a . oInstance , a , d , e , h , f , g ) ) ; l ( b ) . html ( g ) } } function Yb ( a , b ) { var c = a . fnFormatNumber , d = a . _iDisplayStart + 1 , e = a . _iDisplayLength , h = a . fnRecordsDisplay ( ) , f = - 1 === e ; return b . replace ( /_START_/g , c . call ( a , d ) ) . replace ( /_END_/g , c . call ( a , a . fnDisplayEnd ( ) ) ) . replace ( /_MAX_/g , c . call ( a , a . fnRecordsTotal ( ) ) ) . replace ( /_TOTAL_/g , c . call ( a , h ) ) . replace ( /_PAGE_/g , c . call ( a , f ? 1 : Math . ceil ( d / e ) ) ) . replace ( /_PAGES_/g ,
2022-03-26 23:33:12 +01:00
c . call ( a , f ? 1 : Math . ceil ( h / e ) ) ) } function Aa ( a ) { var b = a . iInitDisplayStart , c = a . aoColumns ; var d = a . oFeatures ; var e = a . bDeferLoading ; if ( a . bInitialised ) { Ib ( a ) ; Fb ( a ) ; xa ( a , a . aoHeader ) ; xa ( a , a . aoFooter ) ; V ( a , ! 0 ) ; d . bAutoWidth && Za ( a ) ; var h = 0 ; for ( d = c . length ; h < d ; h ++ ) { var f = c [ h ] ; f . sWidth && ( f . nTh . style . width = K ( f . sWidth ) ) } F ( a , null , "preInit" , [ a ] ) ; ka ( a ) ; c = Q ( a ) ; if ( "ssp" != c || e ) "ajax" == c ? Oa ( a , [ ] , function ( g ) { var k = za ( a , g ) ; for ( h = 0 ; h < k . length ; h ++ ) ia ( a , k [ h ] ) ; a . iInitDisplayStart = b ; ka ( a ) ; V ( a , ! 1 ) ; Pa ( a , g ) } , a ) : ( V ( a , ! 1 ) , Pa ( a ) ) } else setTimeout ( function ( ) { Aa ( a ) } ,
200 ) } function Pa ( a , b ) { a . _bInitComplete = ! 0 ; ( b || a . oInit . aaData ) && sa ( a ) ; F ( a , null , "plugin-init" , [ a , b ] ) ; F ( a , "aoInitComplete" , "init" , [ a , b ] ) } function kb ( a , b ) { b = parseInt ( b , 10 ) ; a . _iDisplayLength = b ; lb ( a ) ; F ( a , null , "length" , [ a , b ] ) } function Jb ( a ) { var b = a . oClasses , c = a . sTableId , d = a . aLengthMenu , e = Array . isArray ( d [ 0 ] ) , h = e ? d [ 0 ] : d ; d = e ? d [ 1 ] : d ; e = l ( "<select/>" , { name : c + "_length" , "aria-controls" : c , "class" : b . sLengthSelect } ) ; for ( var f = 0 , g = h . length ; f < g ; f ++ ) e [ 0 ] [ f ] = new Option ( "number" === typeof d [ f ] ? a . fnFormatNumber ( d [ f ] ) : d [ f ] ,
2022-03-23 12:39:52 +01:00
h [ f ] ) ; var k = l ( "<div><label/></div>" ) . addClass ( b . sLength ) ; a . aanFeatures . l || ( k [ 0 ] . id = c + "_length" ) ; k . children ( ) . append ( a . oLanguage . sLengthMenu . replace ( "_MENU_" , e [ 0 ] . outerHTML ) ) ; l ( "select" , k ) . val ( a . _iDisplayLength ) . on ( "change.DT" , function ( m ) { kb ( a , l ( this ) . val ( ) ) ; ja ( a ) } ) ; l ( a . nTable ) . on ( "length.dt.DT" , function ( m , n , p ) { a === n && l ( "select" , k ) . val ( p ) } ) ; return k [ 0 ] } function Ob ( a ) { var b = a . sPaginationType , c = u . ext . pager [ b ] , d = "function" === typeof c , e = function ( f ) { ja ( f ) } ; b = l ( "<div/>" ) . addClass ( a . oClasses . sPaging + b ) [ 0 ] ;
var h = a . aanFeatures ; d || c . fnInit ( a , b , e ) ; h . p || ( b . id = a . sTableId + "_paginate" , a . aoDrawCallback . push ( { fn : function ( f ) { if ( d ) { var g = f . _iDisplayStart , k = f . _iDisplayLength , m = f . fnRecordsDisplay ( ) , n = - 1 === k ; g = n ? 0 : Math . ceil ( g / k ) ; k = n ? 1 : Math . ceil ( m / k ) ; m = c ( g , k ) ; var p ; n = 0 ; for ( p = h . p . length ; n < p ; n ++ ) gb ( f , "pageButton" ) ( f , h . p [ n ] , n , m , g , k ) } else c . fnUpdate ( f , e ) } , sName : "pagination" } ) ) ; return b } function Ra ( a , b , c ) { var d = a . _iDisplayStart , e = a . _iDisplayLength , h = a . fnRecordsDisplay ( ) ; 0 === h || - 1 === e ? d = 0 : "number" === typeof b ? ( d = b * e , d > h &&
( d = 0 ) ) : "first" == b ? d = 0 : "previous" == b ? ( d = 0 <= e ? d - e : 0 , 0 > d && ( d = 0 ) ) : "next" == b ? d + e < h && ( d += e ) : "last" == b ? d = Math . floor ( ( h - 1 ) / e ) * e : da ( a , 0 , "Unknown paging action: " + b , 5 ) ; b = a . _iDisplayStart !== d ; a . _iDisplayStart = d ; b && ( F ( a , null , "page" , [ a ] ) , c && ja ( a ) ) ; return b } function Lb ( a ) { return l ( "<div/>" , { id : a . aanFeatures . r ? null : a . sTableId + "_processing" , "class" : a . oClasses . sProcessing } ) . html ( a . oLanguage . sProcessing ) . insertBefore ( a . nTable ) [ 0 ] } function V ( a , b ) { a . oFeatures . bProcessing && l ( a . aanFeatures . r ) . css ( "display" , b ? "block" : "none" ) ;
F ( a , null , "processing" , [ a , b ] ) } function Mb ( a ) { var b = l ( a . nTable ) , c = a . oScroll ; if ( "" === c . sX && "" === c . sY ) return a . nTable ; var d = c . sX , e = c . sY , h = a . oClasses , f = b . children ( "caption" ) , g = f . length ? f [ 0 ] . _captionSide : null , k = l ( b [ 0 ] . cloneNode ( ! 1 ) ) , m = l ( b [ 0 ] . cloneNode ( ! 1 ) ) , n = b . children ( "tfoot" ) ; n . length || ( n = null ) ; k = l ( "<div/>" , { "class" : h . sScrollWrapper } ) . append ( l ( "<div/>" , { "class" : h . sScrollHead } ) . css ( { overflow : "hidden" , position : "relative" , border : 0 , width : d ? d ? K ( d ) : null : "100%" } ) . append ( l ( "<div/>" , { "class" : h . sScrollHeadInner } ) . css ( { "box-sizing" : "content-box" ,
width : c . sXInner || "100%" } ) . append ( k . removeAttr ( "id" ) . css ( "margin-left" , 0 ) . append ( "top" === g ? f : null ) . append ( b . children ( "thead" ) ) ) ) ) . append ( l ( "<div/>" , { "class" : h . sScrollBody } ) . css ( { position : "relative" , overflow : "auto" , width : d ? K ( d ) : null } ) . append ( b ) ) ; n && k . append ( l ( "<div/>" , { "class" : h . sScrollFoot } ) . css ( { overflow : "hidden" , border : 0 , width : d ? d ? K ( d ) : null : "100%" } ) . append ( l ( "<div/>" , { "class" : h . sScrollFootInner } ) . append ( m . removeAttr ( "id" ) . css ( "margin-left" , 0 ) . append ( "bottom" === g ? f : null ) . append ( b . children ( "tfoot" ) ) ) ) ) ;
b = k . children ( ) ; var p = b [ 0 ] ; h = b [ 1 ] ; var t = n ? b [ 2 ] : null ; if ( d ) l ( h ) . on ( "scroll.DT" , function ( v ) { v = this . scrollLeft ; p . scrollLeft = v ; n && ( t . scrollLeft = v ) } ) ; l ( h ) . css ( "max-height" , e ) ; c . bCollapse || l ( h ) . css ( "height" , e ) ; a . nScrollHead = p ; a . nScrollBody = h ; a . nScrollFoot = t ; a . aoDrawCallback . push ( { fn : Ha , sName : "scrolling" } ) ; return k [ 0 ] } function Ha ( a ) { var b = a . oScroll , c = b . sX , d = b . sXInner , e = b . sY ; b = b . iBarWidth ; var h = l ( a . nScrollHead ) , f = h [ 0 ] . style , g = h . children ( "div" ) , k = g [ 0 ] . style , m = g . children ( "table" ) ; g = a . nScrollBody ; var n = l ( g ) , p =
2022-03-26 23:33:12 +01:00
g . style , t = l ( a . nScrollFoot ) . children ( "div" ) , v = t . children ( "table" ) , x = l ( a . nTHead ) , w = l ( a . nTable ) , r = w [ 0 ] , C = r . style , G = a . nTFoot ? l ( a . nTFoot ) : null , aa = a . oBrowser , L = aa . bScrollOversize ; U ( a . aoColumns , "nTh" ) ; var O = [ ] , I = [ ] , H = [ ] , ea = [ ] , Y , Ba = function ( D ) { D = D . style ; D . paddingTop = "0" ; D . paddingBottom = "0" ; D . borderTopWidth = "0" ; D . borderBottomWidth = "0" ; D . height = 0 } ; var fa = g . scrollHeight > g . clientHeight ; if ( a . scrollBarVis !== fa && a . scrollBarVis !== q ) a . scrollBarVis = fa , sa ( a ) ; else { a . scrollBarVis = fa ; w . children ( "thead, tfoot" ) . remove ( ) ;
if ( G ) { var ba = G . clone ( ) . prependTo ( w ) ; var la = G . find ( "tr" ) ; ba = ba . find ( "tr" ) } var mb = x . clone ( ) . prependTo ( w ) ; x = x . find ( "tr" ) ; fa = mb . find ( "tr" ) ; mb . find ( "th, td" ) . removeAttr ( "tabindex" ) ; c || ( p . width = "100%" , h [ 0 ] . style . width = "100%" ) ; l . each ( Na ( a , mb ) , function ( D , W ) { Y = ta ( a , D ) ; W . style . width = a . aoColumns [ Y ] . sWidth } ) ; G && ca ( function ( D ) { D . style . width = "" } , ba ) ; h = w . outerWidth ( ) ; "" === c ? ( C . width = "100%" , L && ( w . find ( "tbody" ) . height ( ) > g . offsetHeight || "scroll" == n . css ( "overflow-y" ) ) && ( C . width = K ( w . outerWidth ( ) - b ) ) , h = w . outerWidth ( ) ) :
"" !== d && ( C . width = K ( d ) , h = w . outerWidth ( ) ) ; ca ( Ba , fa ) ; ca ( function ( D ) { var W = z . getComputedStyle ? z . getComputedStyle ( D ) . width : K ( l ( D ) . width ( ) ) ; H . push ( D . innerHTML ) ; O . push ( W ) } , fa ) ; ca ( function ( D , W ) { D . style . width = O [ W ] } , x ) ; l ( fa ) . css ( "height" , 0 ) ; G && ( ca ( Ba , ba ) , ca ( function ( D ) { ea . push ( D . innerHTML ) ; I . push ( K ( l ( D ) . css ( "width" ) ) ) } , ba ) , ca ( function ( D , W ) { D . style . width = I [ W ] } , la ) , l ( ba ) . height ( 0 ) ) ; ca ( function ( D , W ) { D . innerHTML = '<div class="dataTables_sizing">' + H [ W ] + "</div>" ; D . childNodes [ 0 ] . style . height = "0" ; D . childNodes [ 0 ] . style . overflow =
2022-03-23 12:39:52 +01:00
"hidden" ; D . style . width = O [ W ] } , fa ) ; G && ca ( function ( D , W ) { D . innerHTML = '<div class="dataTables_sizing">' + ea [ W ] + "</div>" ; D . childNodes [ 0 ] . style . height = "0" ; D . childNodes [ 0 ] . style . overflow = "hidden" ; D . style . width = I [ W ] } , ba ) ; Math . round ( w . outerWidth ( ) ) < Math . round ( h ) ? ( la = g . scrollHeight > g . offsetHeight || "scroll" == n . css ( "overflow-y" ) ? h + b : h , L && ( g . scrollHeight > g . offsetHeight || "scroll" == n . css ( "overflow-y" ) ) && ( C . width = K ( la - b ) ) , "" !== c && "" === d || da ( a , 1 , "Possible column misalignment" , 6 ) ) : la = "100%" ; p . width = K ( la ) ; f . width = K ( la ) ;
G && ( a . nScrollFoot . style . width = K ( la ) ) ; ! e && L && ( p . height = K ( r . offsetHeight + b ) ) ; c = w . outerWidth ( ) ; m [ 0 ] . style . width = K ( c ) ; k . width = K ( c ) ; d = w . height ( ) > g . clientHeight || "scroll" == n . css ( "overflow-y" ) ; e = "padding" + ( aa . bScrollbarLeft ? "Left" : "Right" ) ; k [ e ] = d ? b + "px" : "0px" ; G && ( v [ 0 ] . style . width = K ( c ) , t [ 0 ] . style . width = K ( c ) , t [ 0 ] . style [ e ] = d ? b + "px" : "0px" ) ; w . children ( "colgroup" ) . insertBefore ( w . children ( "thead" ) ) ; n . trigger ( "scroll" ) ; ! a . bSorted && ! a . bFiltered || a . _drawHold || ( g . scrollTop = 0 ) } } function ca ( a , b , c ) { for ( var d = 0 , e = 0 , h =
b . length , f , g ; e < h ; ) { f = b [ e ] . firstChild ; for ( g = c ? c [ e ] . firstChild : null ; f ; ) 1 === f . nodeType && ( c ? a ( f , g , d ) : a ( f , d ) , d ++ ) , f = f . nextSibling , g = c ? g . nextSibling : null ; e ++ } } function Za ( a ) { var b = a . nTable , c = a . aoColumns , d = a . oScroll , e = d . sY , h = d . sX , f = d . sXInner , g = c . length , k = Ia ( a , "bVisible" ) , m = l ( "th" , a . nTHead ) , n = b . getAttribute ( "width" ) , p = b . parentNode , t = ! 1 , v , x = a . oBrowser ; d = x . bScrollOversize ; ( v = b . style . width ) && - 1 !== v . indexOf ( "%" ) && ( n = v ) ; for ( v = 0 ; v < k . length ; v ++ ) { var w = c [ k [ v ] ] ; null !== w . sWidth && ( w . sWidth = Zb ( w . sWidthOrig , p ) , t = ! 0 ) } if ( d ||
2022-03-26 23:33:12 +01:00
! t && ! h && ! e && g == oa ( a ) && g == m . length ) for ( v = 0 ; v < g ; v ++ ) k = ta ( a , v ) , null !== k && ( c [ k ] . sWidth = K ( m . eq ( v ) . width ( ) ) ) ; else { g = l ( b ) . clone ( ) . css ( "visibility" , "hidden" ) . removeAttr ( "id" ) ; g . find ( "tbody tr" ) . remove ( ) ; var r = l ( "<tr/>" ) . appendTo ( g . find ( "tbody" ) ) ; g . find ( "thead, tfoot" ) . remove ( ) ; g . append ( l ( a . nTHead ) . clone ( ) ) . append ( l ( a . nTFoot ) . clone ( ) ) ; g . find ( "tfoot th, tfoot td" ) . css ( "width" , "" ) ; m = Na ( a , g . find ( "thead" ) [ 0 ] ) ; for ( v = 0 ; v < k . length ; v ++ ) w = c [ k [ v ] ] , m [ v ] . style . width = null !== w . sWidthOrig && "" !== w . sWidthOrig ? K ( w . sWidthOrig ) :
2022-03-23 12:39:52 +01:00
"" , w . sWidthOrig && h && l ( m [ v ] ) . append ( l ( "<div/>" ) . css ( { width : w . sWidthOrig , margin : 0 , padding : 0 , border : 0 , height : 1 } ) ) ; if ( a . aoData . length ) for ( v = 0 ; v < k . length ; v ++ ) t = k [ v ] , w = c [ t ] , l ( $b ( a , t ) ) . clone ( ! 1 ) . append ( w . sContentPadding ) . appendTo ( r ) ; l ( "[name]" , g ) . removeAttr ( "name" ) ; w = l ( "<div/>" ) . css ( h || e ? { position : "absolute" , top : 0 , left : 0 , height : 1 , right : 0 , overflow : "hidden" } : { } ) . append ( g ) . appendTo ( p ) ; h && f ? g . width ( f ) : h ? ( g . css ( "width" , "auto" ) , g . removeAttr ( "width" ) , g . width ( ) < p . clientWidth && n && g . width ( p . clientWidth ) ) : e ? g . width ( p . clientWidth ) :
2022-03-26 23:33:12 +01:00
n && g . width ( n ) ; for ( v = e = 0 ; v < k . length ; v ++ ) p = l ( m [ v ] ) , f = p . outerWidth ( ) - p . width ( ) , p = x . bBounding ? Math . ceil ( m [ v ] . getBoundingClientRect ( ) . width ) : p . outerWidth ( ) , e += p , c [ k [ v ] ] . sWidth = K ( p - f ) ; b . style . width = K ( e ) ; w . remove ( ) } n && ( b . style . width = K ( n ) ) ; ! n && ! h || a . _reszEvt || ( b = function ( ) { l ( z ) . on ( "resize.DT-" + a . sInstance , hb ( function ( ) { sa ( a ) } ) ) } , d ? setTimeout ( b , 1E3 ) : b ( ) , a . _reszEvt = ! 0 ) } function Zb ( a , b ) { if ( ! a ) return 0 ; a = l ( "<div/>" ) . css ( "width" , K ( a ) ) . appendTo ( b || A . body ) ; b = a [ 0 ] . offsetWidth ; a . remove ( ) ; return b } function $b ( a , b ) { var c =
ac ( a , b ) ; if ( 0 > c ) return null ; var d = a . aoData [ c ] ; return d . nTr ? d . anCells [ b ] : l ( "<td/>" ) . html ( T ( a , c , b , "display" ) ) [ 0 ] } function ac ( a , b ) { for ( var c , d = - 1 , e = - 1 , h = 0 , f = a . aoData . length ; h < f ; h ++ ) c = T ( a , h , b , "display" ) + "" , c = c . replace ( uc , "" ) , c = c . replace ( / /g , " " ) , c . length > d && ( d = c . length , e = h ) ; return e } function K ( a ) { return null === a ? "0px" : "number" == typeof a ? 0 > a ? "0px" : a + "px" : a . match ( /\d$/ ) ? a + "px" : a } function pa ( a ) { var b = [ ] , c = a . aoColumns ; var d = a . aaSortingFixed ; var e = l . isPlainObject ( d ) ; var h = [ ] ; var f = function ( n ) { n . length &&
2022-03-23 12:39:52 +01:00
! Array . isArray ( n [ 0 ] ) ? h . push ( n ) : l . merge ( h , n ) } ; Array . isArray ( d ) && f ( d ) ; e && d . pre && f ( d . pre ) ; f ( a . aaSorting ) ; e && d . post && f ( d . post ) ; for ( a = 0 ; a < h . length ; a ++ ) { var g = h [ a ] [ 0 ] ; f = c [ g ] . aDataSort ; d = 0 ; for ( e = f . length ; d < e ; d ++ ) { var k = f [ d ] ; var m = c [ k ] . sType || "string" ; h [ a ] . _idx === q && ( h [ a ] . _idx = l . inArray ( h [ a ] [ 1 ] , c [ k ] . asSorting ) ) ; b . push ( { src : g , col : k , dir : h [ a ] [ 1 ] , index : h [ a ] . _idx , type : m , formatter : u . ext . type . order [ m + "-pre" ] } ) } } return b } function Hb ( a ) { var b , c = [ ] , d = u . ext . type . order , e = a . aoData , h = 0 , f = a . aiDisplayMaster ; $a ( a ) ; var g =
pa ( a ) ; var k = 0 ; for ( b = g . length ; k < b ; k ++ ) { var m = g [ k ] ; m . formatter && h ++ ; bc ( a , m . col ) } if ( "ssp" != Q ( a ) && 0 !== g . length ) { k = 0 ; for ( b = f . length ; k < b ; k ++ ) c [ f [ k ] ] = k ; h === g . length ? f . sort ( function ( n , p ) { var t , v = g . length , x = e [ n ] . _aSortData , w = e [ p ] . _aSortData ; for ( t = 0 ; t < v ; t ++ ) { var r = g [ t ] ; var C = x [ r . col ] ; var G = w [ r . col ] ; C = C < G ? - 1 : C > G ? 1 : 0 ; if ( 0 !== C ) return "asc" === r . dir ? C : - C } C = c [ n ] ; G = c [ p ] ; return C < G ? - 1 : C > G ? 1 : 0 } ) : f . sort ( function ( n , p ) { var t , v = g . length , x = e [ n ] . _aSortData , w = e [ p ] . _aSortData ; for ( t = 0 ; t < v ; t ++ ) { var r = g [ t ] ; var C = x [ r . col ] ; var G =
w [ r . col ] ; r = d [ r . type + "-" + r . dir ] || d [ "string-" + r . dir ] ; C = r ( C , G ) ; if ( 0 !== C ) return C } C = c [ n ] ; G = c [ p ] ; return C < G ? - 1 : C > G ? 1 : 0 } ) } a . bSorted = ! 0 } function cc ( a ) { var b = a . aoColumns , c = pa ( a ) ; a = a . oLanguage . oAria ; for ( var d = 0 , e = b . length ; d < e ; d ++ ) { var h = b [ d ] ; var f = h . asSorting ; var g = h . ariaTitle || h . sTitle . replace ( /<.*?>/g , "" ) ; var k = h . nTh ; k . removeAttribute ( "aria-sort" ) ; h . bSortable && ( 0 < c . length && c [ 0 ] . col == d ? ( k . setAttribute ( "aria-sort" , "asc" == c [ 0 ] . dir ? "ascending" : "descending" ) , h = f [ c [ 0 ] . index + 1 ] || f [ 0 ] ) : h = f [ 0 ] , g += "asc" === h ? a . sSortAscending :
a . sSortDescending ) ; k . setAttribute ( "aria-label" , g ) } } function nb ( a , b , c , d ) { var e = a . aaSorting , h = a . aoColumns [ b ] . asSorting , f = function ( g , k ) { var m = g . _idx ; m === q && ( m = l . inArray ( g [ 1 ] , h ) ) ; return m + 1 < h . length ? m + 1 : k ? null : 0 } ; "number" === typeof e [ 0 ] && ( e = a . aaSorting = [ e ] ) ; c && a . oFeatures . bSortMulti ? ( c = l . inArray ( b , U ( e , "0" ) ) , - 1 !== c ? ( b = f ( e [ c ] , ! 0 ) , null === b && 1 === e . length && ( b = 0 ) , null === b ? e . splice ( c , 1 ) : ( e [ c ] [ 1 ] = h [ b ] , e [ c ] . _idx = b ) ) : ( e . push ( [ b , h [ 0 ] , 0 ] ) , e [ e . length - 1 ] . _idx = 0 ) ) : e . length && e [ 0 ] [ 0 ] == b ? ( b = f ( e [ 0 ] ) , e . length = 1 , e [ 0 ] [ 1 ] = h [ b ] ,
e [ 0 ] . _idx = b ) : ( e . length = 0 , e . push ( [ b , h [ 0 ] ] ) , e [ 0 ] . _idx = 0 ) ; ka ( a ) ; "function" == typeof d && d ( a ) } function fb ( a , b , c , d ) { var e = a . aoColumns [ c ] ; ob ( b , { } , function ( h ) { ! 1 !== e . bSortable && ( a . oFeatures . bProcessing ? ( V ( a , ! 0 ) , setTimeout ( function ( ) { nb ( a , c , h . shiftKey , d ) ; "ssp" !== Q ( a ) && V ( a , ! 1 ) } , 0 ) ) : nb ( a , c , h . shiftKey , d ) ) } ) } function Sa ( a ) { var b = a . aLastSort , c = a . oClasses . sSortColumn , d = pa ( a ) , e = a . oFeatures , h ; if ( e . bSort && e . bSortClasses ) { e = 0 ; for ( h = b . length ; e < h ; e ++ ) { var f = b [ e ] . src ; l ( U ( a . aoData , "anCells" , f ) ) . removeClass ( c + ( 2 > e ? e + 1 : 3 ) ) } e =
2022-03-26 23:33:12 +01:00
0 ; for ( h = d . length ; e < h ; e ++ ) f = d [ e ] . src , l ( U ( a . aoData , "anCells" , f ) ) . addClass ( c + ( 2 > e ? e + 1 : 3 ) ) } a . aLastSort = d } function bc ( a , b ) { var c = a . aoColumns [ b ] , d = u . ext . order [ c . sSortDataType ] , e ; d && ( e = d . call ( a . oInstance , a , b , ua ( a , b ) ) ) ; for ( var h , f = u . ext . type . order [ c . sType + "-pre" ] , g = 0 , k = a . aoData . length ; g < k ; g ++ ) if ( c = a . aoData [ g ] , c . _aSortData || ( c . _aSortData = [ ] ) , ! c . _aSortData [ b ] || d ) h = d ? e [ g ] : T ( a , g , b , "sort" ) , c . _aSortData [ b ] = f ? f ( h ) : h } function Ca ( a ) { if ( ! a . _bLoadingState ) { var b = { time : + new Date , start : a . _iDisplayStart , length : a . _iDisplayLength ,
2022-03-23 12:39:52 +01:00
order : l . extend ( ! 0 , [ ] , a . aaSorting ) , search : Vb ( a . oPreviousSearch ) , columns : l . map ( a . aoColumns , function ( c , d ) { return { visible : c . bVisible , search : Vb ( a . aoPreSearchCols [ d ] ) } } ) } ; a . oSavedState = b ; F ( a , "aoStateSaveParams" , "stateSaveParams" , [ a , b ] ) ; a . oFeatures . bStateSave && ! a . bDestroying && a . fnStateSaveCallback . call ( a . oInstance , a , b ) } } function dc ( a , b , c ) { if ( a . oFeatures . bStateSave ) return b = a . fnStateLoadCallback . call ( a . oInstance , a , function ( d ) { pb ( a , d , c ) } ) , b !== q && pb ( a , b , c ) , ! 0 ; c ( ) } function pb ( a , b , c ) { var d , e = a . aoColumns ; a . _bLoadingState =
! 0 ; var h = a . _bInitComplete ? new u . Api ( a ) : null ; if ( b && b . time ) { var f = F ( a , "aoStateLoadParams" , "stateLoadParams" , [ a , b ] ) ; if ( - 1 !== l . inArray ( ! 1 , f ) ) a . _bLoadingState = ! 1 ; else if ( f = a . iStateDuration , 0 < f && b . time < + new Date - 1E3 * f ) a . _bLoadingState = ! 1 ; else if ( b . columns && e . length !== b . columns . length ) a . _bLoadingState = ! 1 ; else { a . oLoadedState = l . extend ( ! 0 , { } , b ) ; b . start !== q && ( null === h ? ( a . _iDisplayStart = b . start , a . iInitDisplayStart = b . start ) : Ra ( a , b . start / b . length ) ) ; b . length !== q && ( a . _iDisplayLength = b . length ) ; b . order !== q && ( a . aaSorting =
[ ] , l . each ( b . order , function ( k , m ) { a . aaSorting . push ( m [ 0 ] >= e . length ? [ 0 , m [ 1 ] ] : m ) } ) ) ; b . search !== q && l . extend ( a . oPreviousSearch , Wb ( b . search ) ) ; if ( b . columns ) { f = 0 ; for ( d = b . columns . length ; f < d ; f ++ ) { var g = b . columns [ f ] ; g . visible !== q && ( h ? h . column ( f ) . visible ( g . visible , ! 1 ) : e [ f ] . bVisible = g . visible ) ; g . search !== q && l . extend ( a . aoPreSearchCols [ f ] , Wb ( g . search ) ) } h && h . columns . adjust ( ) } a . _bLoadingState = ! 1 ; F ( a , "aoStateLoaded" , "stateLoaded" , [ a , b ] ) } } else a . _bLoadingState = ! 1 ; c ( ) } function Ta ( a ) { var b = u . settings ; a = l . inArray ( a , U ( b ,
"nTable" ) ) ; return - 1 !== a ? b [ a ] : null } function da ( a , b , c , d ) { c = "DataTables warning: " + ( a ? "table id=" + a . sTableId + " - " : "" ) + c ; d && ( c += ". For more information about this error, please see http://datatables.net/tn/" + d ) ; if ( b ) z . console && console . log && console . log ( c ) ; else if ( b = u . ext , b = b . sErrMode || b . errMode , a && F ( a , null , "error" , [ a , d , c ] ) , "alert" == b ) alert ( c ) ; else { if ( "throw" == b ) throw Error ( c ) ; "function" == typeof b && b ( a , d , c ) } } function X ( a , b , c , d ) { Array . isArray ( c ) ? l . each ( c , function ( e , h ) { Array . isArray ( h ) ? X ( a , b , h [ 0 ] , h [ 1 ] ) :
X ( a , b , h ) } ) : ( d === q && ( d = c ) , b [ c ] !== q && ( a [ d ] = b [ c ] ) ) } function qb ( a , b , c ) { var d ; for ( d in b ) if ( b . hasOwnProperty ( d ) ) { var e = b [ d ] ; l . isPlainObject ( e ) ? ( l . isPlainObject ( a [ d ] ) || ( a [ d ] = { } ) , l . extend ( ! 0 , a [ d ] , e ) ) : c && "data" !== d && "aaData" !== d && Array . isArray ( e ) ? a [ d ] = e . slice ( ) : a [ d ] = e } return a } function ob ( a , b , c ) { l ( a ) . on ( "click.DT" , b , function ( d ) { l ( a ) . trigger ( "blur" ) ; c ( d ) } ) . on ( "keypress.DT" , b , function ( d ) { 13 === d . which && ( d . preventDefault ( ) , c ( d ) ) } ) . on ( "selectstart.DT" , function ( ) { return ! 1 } ) } function R ( a , b , c , d ) { c && a [ b ] . push ( { fn : c ,
sName : d } ) } function F ( a , b , c , d ) { var e = [ ] ; b && ( e = l . map ( a [ b ] . slice ( ) . reverse ( ) , function ( h , f ) { return h . fn . apply ( a . oInstance , d ) } ) ) ; null !== c && ( b = l . Event ( c + ".dt" ) , l ( a . nTable ) . trigger ( b , d ) , e . push ( b . result ) ) ; return e } function lb ( a ) { var b = a . _iDisplayStart , c = a . fnDisplayEnd ( ) , d = a . _iDisplayLength ; b >= c && ( b = c - d ) ; b -= b % d ; if ( - 1 === d || 0 > b ) b = 0 ; a . _iDisplayStart = b } function gb ( a , b ) { a = a . renderer ; var c = u . ext . renderer [ b ] ; return l . isPlainObject ( a ) && a [ b ] ? c [ a [ b ] ] || c . _ : "string" === typeof a ? c [ a ] || c . _ : c . _ } function Q ( a ) { return a . oFeatures . bServerSide ?
2022-03-26 23:33:12 +01:00
"ssp" : a . ajax || a . sAjaxSource ? "ajax" : "dom" } function Da ( a , b ) { var c = ec . numbers _length , d = Math . floor ( c / 2 ) ; b <= c ? a = qa ( 0 , b ) : a <= d ? ( a = qa ( 0 , c - 2 ) , a . push ( "ellipsis" ) , a . push ( b - 1 ) ) : ( a >= b - 1 - d ? a = qa ( b - ( c - 2 ) , b ) : ( a = qa ( a - d + 2 , a + d - 1 ) , a . push ( "ellipsis" ) , a . push ( b - 1 ) ) , a . splice ( 0 , 0 , "ellipsis" ) , a . splice ( 0 , 0 , 0 ) ) ; a . DT _el = "span" ; return a } function Xa ( a ) { l . each ( { num : function ( b ) { return Ua ( b , a ) } , "num-fmt" : function ( b ) { return Ua ( b , a , rb ) } , "html-num" : function ( b ) { return Ua ( b , a , Va ) } , "html-num-fmt" : function ( b ) { return Ua ( b , a , Va , rb ) } } , function ( b ,
2022-03-23 12:39:52 +01:00
c ) { M . type . order [ b + a + "-pre" ] = c ; b . match ( /^html\-/ ) && ( M . type . search [ b + a ] = M . type . search . html ) } ) } function fc ( a ) { return function ( ) { var b = [ Ta ( this [ u . ext . iApiIndex ] ) ] . concat ( Array . prototype . slice . call ( arguments ) ) ; return u . ext . internal [ a ] . apply ( this , b ) } } var u = function ( a , b ) { if ( this instanceof u ) return l ( a ) . DataTable ( b ) ; b = a ; this . $ = function ( f , g ) { return this . api ( ! 0 ) . $ ( f , g ) } ; this . _ = function ( f , g ) { return this . api ( ! 0 ) . rows ( f , g ) . data ( ) } ; this . api = function ( f ) { return f ? new B ( Ta ( this [ M . iApiIndex ] ) ) : new B ( this ) } ; this . fnAddData =
function ( f , g ) { var k = this . api ( ! 0 ) ; f = Array . isArray ( f ) && ( Array . isArray ( f [ 0 ] ) || l . isPlainObject ( f [ 0 ] ) ) ? k . rows . add ( f ) : k . row . add ( f ) ; ( g === q || g ) && k . draw ( ) ; return f . flatten ( ) . toArray ( ) } ; this . fnAdjustColumnSizing = function ( f ) { var g = this . api ( ! 0 ) . columns . adjust ( ) , k = g . settings ( ) [ 0 ] , m = k . oScroll ; f === q || f ? g . draw ( ! 1 ) : ( "" !== m . sX || "" !== m . sY ) && Ha ( k ) } ; this . fnClearTable = function ( f ) { var g = this . api ( ! 0 ) . clear ( ) ; ( f === q || f ) && g . draw ( ) } ; this . fnClose = function ( f ) { this . api ( ! 0 ) . row ( f ) . child . hide ( ) } ; this . fnDeleteRow = function ( f , g , k ) { var m =
this . api ( ! 0 ) ; f = m . rows ( f ) ; var n = f . settings ( ) [ 0 ] , p = n . aoData [ f [ 0 ] [ 0 ] ] ; f . remove ( ) ; g && g . call ( this , n , p ) ; ( k === q || k ) && m . draw ( ) ; return p } ; this . fnDestroy = function ( f ) { this . api ( ! 0 ) . destroy ( f ) } ; this . fnDraw = function ( f ) { this . api ( ! 0 ) . draw ( f ) } ; this . fnFilter = function ( f , g , k , m , n , p ) { n = this . api ( ! 0 ) ; null === g || g === q ? n . search ( f , k , m , p ) : n . column ( g ) . search ( f , k , m , p ) ; n . draw ( ) } ; this . fnGetData = function ( f , g ) { var k = this . api ( ! 0 ) ; if ( f !== q ) { var m = f . nodeName ? f . nodeName . toLowerCase ( ) : "" ; return g !== q || "td" == m || "th" == m ? k . cell ( f , g ) . data ( ) :
k . row ( f ) . data ( ) || null } return k . data ( ) . toArray ( ) } ; this . fnGetNodes = function ( f ) { var g = this . api ( ! 0 ) ; return f !== q ? g . row ( f ) . node ( ) : g . rows ( ) . nodes ( ) . flatten ( ) . toArray ( ) } ; this . fnGetPosition = function ( f ) { var g = this . api ( ! 0 ) , k = f . nodeName . toUpperCase ( ) ; return "TR" == k ? g . row ( f ) . index ( ) : "TD" == k || "TH" == k ? ( f = g . cell ( f ) . index ( ) , [ f . row , f . columnVisible , f . column ] ) : null } ; this . fnIsOpen = function ( f ) { return this . api ( ! 0 ) . row ( f ) . child . isShown ( ) } ; this . fnOpen = function ( f , g , k ) { return this . api ( ! 0 ) . row ( f ) . child ( g , k ) . show ( ) . child ( ) [ 0 ] } ;
this . fnPageChange = function ( f , g ) { f = this . api ( ! 0 ) . page ( f ) ; ( g === q || g ) && f . draw ( ! 1 ) } ; this . fnSetColumnVis = function ( f , g , k ) { f = this . api ( ! 0 ) . column ( f ) . visible ( g ) ; ( k === q || k ) && f . columns . adjust ( ) . draw ( ) } ; this . fnSettings = function ( ) { return Ta ( this [ M . iApiIndex ] ) } ; this . fnSort = function ( f ) { this . api ( ! 0 ) . order ( f ) . draw ( ) } ; this . fnSortListener = function ( f , g , k ) { this . api ( ! 0 ) . order . listener ( f , g , k ) } ; this . fnUpdate = function ( f , g , k , m , n ) { var p = this . api ( ! 0 ) ; k === q || null === k ? p . row ( g ) . data ( f ) : p . cell ( g , k ) . data ( f ) ; ( n === q || n ) && p . columns . adjust ( ) ;
( m === q || m ) && p . draw ( ) ; return 0 } ; this . fnVersionCheck = M . fnVersionCheck ; var c = this , d = b === q , e = this . length ; d && ( b = { } ) ; this . oApi = this . internal = M . internal ; for ( var h in u . ext . internal ) h && ( this [ h ] = fc ( h ) ) ; this . each ( function ( ) { var f = { } , g = 1 < e ? qb ( f , b , ! 0 ) : b , k = 0 , m ; f = this . getAttribute ( "id" ) ; var n = ! 1 , p = u . defaults , t = l ( this ) ; if ( "table" != this . nodeName . toLowerCase ( ) ) da ( null , 0 , "Non-table node initialisation (" + this . nodeName + ")" , 2 ) ; else { zb ( p ) ; Ab ( p . column ) ; P ( p , p , ! 0 ) ; P ( p . column , p . column , ! 0 ) ; P ( p , l . extend ( g , t . data ( ) ) , ! 0 ) ; var v =
u . settings ; k = 0 ; for ( m = v . length ; k < m ; k ++ ) { var x = v [ k ] ; if ( x . nTable == this || x . nTHead && x . nTHead . parentNode == this || x . nTFoot && x . nTFoot . parentNode == this ) { var w = g . bRetrieve !== q ? g . bRetrieve : p . bRetrieve ; if ( d || w ) return x . oInstance ; if ( g . bDestroy !== q ? g . bDestroy : p . bDestroy ) { x . oInstance . fnDestroy ( ) ; break } else { da ( x , 0 , "Cannot reinitialise DataTable" , 3 ) ; return } } if ( x . sTableId == this . id ) { v . splice ( k , 1 ) ; break } } if ( null === f || "" === f ) this . id = f = "DataTables_Table_" + u . ext . _unique ++ ; var r = l . extend ( ! 0 , { } , u . models . oSettings , { sDestroyWidth : t [ 0 ] . style . width ,
sInstance : f , sTableId : f } ) ; r . nTable = this ; r . oApi = c . internal ; r . oInit = g ; v . push ( r ) ; r . oInstance = 1 === c . length ? c : t . dataTable ( ) ; zb ( g ) ; ma ( g . oLanguage ) ; g . aLengthMenu && ! g . iDisplayLength && ( g . iDisplayLength = Array . isArray ( g . aLengthMenu [ 0 ] ) ? g . aLengthMenu [ 0 ] [ 0 ] : g . aLengthMenu [ 0 ] ) ; g = qb ( l . extend ( ! 0 , { } , p ) , g ) ; X ( r . oFeatures , g , "bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender" . split ( " " ) ) ; X ( r , g , [ "asStripeClasses" , "ajax" , "fnServerData" , "fnFormatNumber" , "sServerMethod" ,
"aaSorting" , "aaSortingFixed" , "aLengthMenu" , "sPaginationType" , "sAjaxSource" , "sAjaxDataProp" , "iStateDuration" , "sDom" , "bSortCellsTop" , "iTabIndex" , "fnStateLoadCallback" , "fnStateSaveCallback" , "renderer" , "searchDelay" , "rowId" , [ "iCookieDuration" , "iStateDuration" ] , [ "oSearch" , "oPreviousSearch" ] , [ "aoSearchCols" , "aoPreSearchCols" ] , [ "iDisplayLength" , "_iDisplayLength" ] ] ) ; X ( r . oScroll , g , [ [ "sScrollX" , "sX" ] , [ "sScrollXInner" , "sXInner" ] , [ "sScrollY" , "sY" ] , [ "bScrollCollapse" , "bCollapse" ] ] ) ; X ( r . oLanguage , g , "fnInfoCallback" ) ;
R ( r , "aoDrawCallback" , g . fnDrawCallback , "user" ) ; R ( r , "aoServerParams" , g . fnServerParams , "user" ) ; R ( r , "aoStateSaveParams" , g . fnStateSaveParams , "user" ) ; R ( r , "aoStateLoadParams" , g . fnStateLoadParams , "user" ) ; R ( r , "aoStateLoaded" , g . fnStateLoaded , "user" ) ; R ( r , "aoRowCallback" , g . fnRowCallback , "user" ) ; R ( r , "aoRowCreatedCallback" , g . fnCreatedRow , "user" ) ; R ( r , "aoHeaderCallback" , g . fnHeaderCallback , "user" ) ; R ( r , "aoFooterCallback" , g . fnFooterCallback , "user" ) ; R ( r , "aoInitComplete" , g . fnInitComplete , "user" ) ; R ( r , "aoPreDrawCallback" ,
g . fnPreDrawCallback , "user" ) ; r . rowIdFn = na ( g . rowId ) ; Bb ( r ) ; var C = r . oClasses ; l . extend ( C , u . ext . classes , g . oClasses ) ; t . addClass ( C . sTable ) ; r . iInitDisplayStart === q && ( r . iInitDisplayStart = g . iDisplayStart , r . _iDisplayStart = g . iDisplayStart ) ; null !== g . iDeferLoading && ( r . bDeferLoading = ! 0 , f = Array . isArray ( g . iDeferLoading ) , r . _iRecordsDisplay = f ? g . iDeferLoading [ 0 ] : g . iDeferLoading , r . _iRecordsTotal = f ? g . iDeferLoading [ 1 ] : g . iDeferLoading ) ; var G = r . oLanguage ; l . extend ( ! 0 , G , g . oLanguage ) ; G . sUrl ? ( l . ajax ( { dataType : "json" , url : G . sUrl ,
2022-03-26 23:33:12 +01:00
success : function ( I ) { P ( p . oLanguage , I ) ; ma ( I ) ; l . extend ( ! 0 , G , I ) ; F ( r , null , "i18n" , [ r ] ) ; Aa ( r ) } , error : function ( ) { Aa ( r ) } } ) , n = ! 0 ) : F ( r , null , "i18n" , [ r ] ) ; null === g . asStripeClasses && ( r . asStripeClasses = [ C . sStripeOdd , C . sStripeEven ] ) ; f = r . asStripeClasses ; var aa = t . children ( "tbody" ) . find ( "tr" ) . eq ( 0 ) ; - 1 !== l . inArray ( ! 0 , l . map ( f , function ( I , H ) { return aa . hasClass ( I ) } ) ) && ( l ( "tbody tr" , this ) . removeClass ( f . join ( " " ) ) , r . asDestroyStripes = f . slice ( ) ) ; f = [ ] ; v = this . getElementsByTagName ( "thead" ) ; 0 !== v . length && ( wa ( r . aoHeader , v [ 0 ] ) , f = Na ( r ) ) ;
2022-03-23 12:39:52 +01:00
if ( null === g . aoColumns ) for ( v = [ ] , k = 0 , m = f . length ; k < m ; k ++ ) v . push ( null ) ; else v = g . aoColumns ; k = 0 ; for ( m = v . length ; k < m ; k ++ ) Ya ( r , f ? f [ k ] : null ) ; Db ( r , g . aoColumnDefs , v , function ( I , H ) { Ga ( r , I , H ) } ) ; if ( aa . length ) { var L = function ( I , H ) { return null !== I . getAttribute ( "data-" + H ) ? H : null } ; l ( aa [ 0 ] ) . children ( "th, td" ) . each ( function ( I , H ) { var ea = r . aoColumns [ I ] ; if ( ea . mData === I ) { var Y = L ( H , "sort" ) || L ( H , "order" ) ; H = L ( H , "filter" ) || L ( H , "search" ) ; if ( null !== Y || null !== H ) ea . mData = { _ : I + ".display" , sort : null !== Y ? I + ".@data-" + Y : q , type : null !== Y ?
2022-03-26 23:33:12 +01:00
I + ".@data-" + Y : q , filter : null !== H ? I + ".@data-" + H : q } , Ga ( r , I ) } } ) } var O = r . oFeatures ; f = function ( ) { if ( g . aaSorting === q ) { var I = r . aaSorting ; k = 0 ; for ( m = I . length ; k < m ; k ++ ) I [ k ] [ 1 ] = r . aoColumns [ k ] . asSorting [ 0 ] } Sa ( r ) ; O . bSort && R ( r , "aoDrawCallback" , function ( ) { if ( r . bSorted ) { var Y = pa ( r ) , Ba = { } ; l . each ( Y , function ( fa , ba ) { Ba [ ba . src ] = ba . dir } ) ; F ( r , null , "order" , [ r , Y , Ba ] ) ; cc ( r ) } } ) ; R ( r , "aoDrawCallback" , function ( ) { ( r . bSorted || "ssp" === Q ( r ) || O . bDeferRender ) && Sa ( r ) } , "sc" ) ; I = t . children ( "caption" ) . each ( function ( ) { this . _captionSide = l ( this ) . css ( "caption-side" ) } ) ;
var H = t . children ( "thead" ) ; 0 === H . length && ( H = l ( "<thead/>" ) . appendTo ( t ) ) ; r . nTHead = H [ 0 ] ; var ea = t . children ( "tbody" ) ; 0 === ea . length && ( ea = l ( "<tbody/>" ) . insertAfter ( H ) ) ; r . nTBody = ea [ 0 ] ; H = t . children ( "tfoot" ) ; 0 === H . length && 0 < I . length && ( "" !== r . oScroll . sX || "" !== r . oScroll . sY ) && ( H = l ( "<tfoot/>" ) . appendTo ( t ) ) ; 0 === H . length || 0 === H . children ( ) . length ? t . addClass ( C . sNoFooter ) : 0 < H . length && ( r . nTFoot = H [ 0 ] , wa ( r . aoFooter , r . nTFoot ) ) ; if ( g . aaData ) for ( k = 0 ; k < g . aaData . length ; k ++ ) ia ( r , g . aaData [ k ] ) ; else ( r . bDeferLoading || "dom" == Q ( r ) ) &&
Ja ( r , l ( r . nTBody ) . children ( "tr" ) ) ; r . aiDisplay = r . aiDisplayMaster . slice ( ) ; r . bInitialised = ! 0 ; ! 1 === n && Aa ( r ) } ; R ( r , "aoDrawCallback" , Ca , "state_save" ) ; g . bStateSave ? ( O . bStateSave = ! 0 , dc ( r , g , f ) ) : f ( ) } } ) ; c = null ; return this } , M , y , J , sb = { } , gc = /[\r\n\u2028]/g , Va = /<.*?>/g , vc = /^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/ , wc = /(\/|\.|\*|\+|\?|\||\(|\)|\[|\]|\{|\}|\\|\$|\^|\-)/g , rb = /['\u00A0,$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi , Z = function ( a ) { return a && ! 0 !== a && "-" !== a ? ! 1 : ! 0 } , hc =
2022-03-23 12:39:52 +01:00
function ( a ) { var b = parseInt ( a , 10 ) ; return ! isNaN ( b ) && isFinite ( a ) ? b : null } , ic = function ( a , b ) { sb [ b ] || ( sb [ b ] = new RegExp ( jb ( b ) , "g" ) ) ; return "string" === typeof a && "." !== b ? a . replace ( /\./g , "" ) . replace ( sb [ b ] , "." ) : a } , tb = function ( a , b , c ) { var d = "string" === typeof a ; if ( Z ( a ) ) return ! 0 ; b && d && ( a = ic ( a , b ) ) ; c && d && ( a = a . replace ( rb , "" ) ) ; return ! isNaN ( parseFloat ( a ) ) && isFinite ( a ) } , jc = function ( a , b , c ) { return Z ( a ) ? ! 0 : Z ( a ) || "string" === typeof a ? tb ( a . replace ( Va , "" ) , b , c ) ? ! 0 : null : null } , U = function ( a , b , c ) { var d = [ ] , e = 0 , h = a . length ; if ( c !== q ) for ( ; e <
2022-03-26 23:33:12 +01:00
h ; e ++ ) a [ e ] && a [ e ] [ b ] && d . push ( a [ e ] [ b ] [ c ] ) ; else for ( ; e < h ; e ++ ) a [ e ] && d . push ( a [ e ] [ b ] ) ; return d } , Ea = function ( a , b , c , d ) { var e = [ ] , h = 0 , f = b . length ; if ( d !== q ) for ( ; h < f ; h ++ ) a [ b [ h ] ] [ c ] && e . push ( a [ b [ h ] ] [ c ] [ d ] ) ; else for ( ; h < f ; h ++ ) e . push ( a [ b [ h ] ] [ c ] ) ; return e } , qa = function ( a , b ) { var c = [ ] ; if ( b === q ) { b = 0 ; var d = a } else d = b , b = a ; for ( a = b ; a < d ; a ++ ) c . push ( a ) ; return c } , kc = function ( a ) { for ( var b = [ ] , c = 0 , d = a . length ; c < d ; c ++ ) a [ c ] && b . push ( a [ c ] ) ; return b } , Ma = function ( a ) { a : { if ( ! ( 2 > a . length ) ) { var b = a . slice ( ) . sort ( ) ; for ( var c = b [ 0 ] , d = 1 , e = b . length ; d <
2022-03-23 12:39:52 +01:00
e ; d ++ ) { if ( b [ d ] === c ) { b = ! 1 ; break a } c = b [ d ] } } b = ! 0 } if ( b ) return a . slice ( ) ; b = [ ] ; e = a . length ; var h , f = 0 ; d = 0 ; a : for ( ; d < e ; d ++ ) { c = a [ d ] ; for ( h = 0 ; h < f ; h ++ ) if ( b [ h ] === c ) continue a ; b . push ( c ) ; f ++ } return b } , lc = function ( a , b ) { if ( Array . isArray ( b ) ) for ( var c = 0 ; c < b . length ; c ++ ) lc ( a , b [ c ] ) ; else a . push ( b ) ; return a } , mc = function ( a , b ) { b === q && ( b = 0 ) ; return - 1 !== this . indexOf ( a , b ) } ; Array . isArray || ( Array . isArray = function ( a ) { return "[object Array]" === Object . prototype . toString . call ( a ) } ) ; Array . prototype . includes || ( Array . prototype . includes = mc ) ;
2022-03-26 23:33:12 +01:00
String . prototype . trim || ( String . prototype . trim = function ( ) { return this . replace ( /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g , "" ) } ) ; String . prototype . includes || ( String . prototype . includes = mc ) ; u . util = { throttle : function ( a , b ) { var c = b !== q ? b : 200 , d , e ; return function ( ) { var h = this , f = + new Date , g = arguments ; d && f < d + c ? ( clearTimeout ( e ) , e = setTimeout ( function ( ) { d = q ; a . apply ( h , g ) } , c ) ) : ( d = f , a . apply ( h , g ) ) } } , escapeRegex : function ( a ) { return a . replace ( wc , "\\$1" ) } , set : function ( a ) { if ( l . isPlainObject ( a ) ) return u . util . set ( a . _ ) ; if ( null ===
a ) return function ( ) { } ; if ( "function" === typeof a ) return function ( c , d , e ) { a ( c , "set" , d , e ) } ; if ( "string" !== typeof a || - 1 === a . indexOf ( "." ) && - 1 === a . indexOf ( "[" ) && - 1 === a . indexOf ( "(" ) ) return function ( c , d ) { c [ a ] = d } ; var b = function ( c , d , e ) { e = cb ( e ) ; var h = e [ e . length - 1 ] ; for ( var f , g , k = 0 , m = e . length - 1 ; k < m ; k ++ ) { if ( "__proto__" === e [ k ] || "constructor" === e [ k ] ) throw Error ( "Cannot set prototype values" ) ; f = e [ k ] . match ( Fa ) ; g = e [ k ] . match ( ra ) ; if ( f ) { e [ k ] = e [ k ] . replace ( Fa , "" ) ; c [ e [ k ] ] = [ ] ; h = e . slice ( ) ; h . splice ( 0 , k + 1 ) ; f = h . join ( "." ) ; if ( Array . isArray ( d ) ) for ( g =
0 , m = d . length ; g < m ; g ++ ) h = { } , b ( h , d [ g ] , f ) , c [ e [ k ] ] . push ( h ) ; else c [ e [ k ] ] = d ; return } g && ( e [ k ] = e [ k ] . replace ( ra , "" ) , c = c [ e [ k ] ] ( d ) ) ; if ( null === c [ e [ k ] ] || c [ e [ k ] ] === q ) c [ e [ k ] ] = { } ; c = c [ e [ k ] ] } if ( h . match ( ra ) ) c [ h . replace ( ra , "" ) ] ( d ) ; else c [ h . replace ( Fa , "" ) ] = d } ; return function ( c , d ) { return b ( c , d , a ) } } , get : function ( a ) { if ( l . isPlainObject ( a ) ) { var b = { } ; l . each ( a , function ( d , e ) { e && ( b [ d ] = u . util . get ( e ) ) } ) ; return function ( d , e , h , f ) { var g = b [ e ] || b . _ ; return g !== q ? g ( d , e , h , f ) : d } } if ( null === a ) return function ( d ) { return d } ; if ( "function" === typeof a ) return function ( d ,
e , h , f ) { return a ( d , e , h , f ) } ; if ( "string" !== typeof a || - 1 === a . indexOf ( "." ) && - 1 === a . indexOf ( "[" ) && - 1 === a . indexOf ( "(" ) ) return function ( d , e ) { return d [ a ] } ; var c = function ( d , e , h ) { if ( "" !== h ) { var f = cb ( h ) ; for ( var g = 0 , k = f . length ; g < k ; g ++ ) { h = f [ g ] . match ( Fa ) ; var m = f [ g ] . match ( ra ) ; if ( h ) { f [ g ] = f [ g ] . replace ( Fa , "" ) ; "" !== f [ g ] && ( d = d [ f [ g ] ] ) ; m = [ ] ; f . splice ( 0 , g + 1 ) ; f = f . join ( "." ) ; if ( Array . isArray ( d ) ) for ( g = 0 , k = d . length ; g < k ; g ++ ) m . push ( c ( d [ g ] , e , f ) ) ; d = h [ 0 ] . substring ( 1 , h [ 0 ] . length - 1 ) ; d = "" === d ? m : m . join ( d ) ; break } else if ( m ) { f [ g ] = f [ g ] . replace ( ra ,
"" ) ; d = d [ f [ g ] ] ( ) ; continue } if ( null === d || d [ f [ g ] ] === q ) return q ; d = d [ f [ g ] ] } } return d } ; return function ( d , e ) { return c ( d , e , a ) } } } ; var S = function ( a , b , c ) { a [ b ] !== q && ( a [ c ] = a [ b ] ) } , Fa = /\[.*?\]$/ , ra = /\(\)$/ , na = u . util . get , ha = u . util . set , jb = u . util . escapeRegex , Qa = l ( "<div>" ) [ 0 ] , tc = Qa . textContent !== q , uc = /<.*?>/g , hb = u . util . throttle , nc = [ ] , N = Array . prototype , xc = function ( a ) { var b , c = u . settings , d = l . map ( c , function ( h , f ) { return h . nTable } ) ; if ( a ) { if ( a . nTable && a . oApi ) return [ a ] ; if ( a . nodeName && "table" === a . nodeName . toLowerCase ( ) ) { var e =
l . inArray ( a , d ) ; return - 1 !== e ? [ c [ e ] ] : null } if ( a && "function" === typeof a . settings ) return a . settings ( ) . toArray ( ) ; "string" === typeof a ? b = l ( a ) : a instanceof l && ( b = a ) } else return [ ] ; if ( b ) return b . map ( function ( h ) { e = l . inArray ( this , d ) ; return - 1 !== e ? c [ e ] : null } ) . toArray ( ) } ; var B = function ( a , b ) { if ( ! ( this instanceof B ) ) return new B ( a , b ) ; var c = [ ] , d = function ( f ) { ( f = xc ( f ) ) && c . push . apply ( c , f ) } ; if ( Array . isArray ( a ) ) for ( var e = 0 , h = a . length ; e < h ; e ++ ) d ( a [ e ] ) ; else d ( a ) ; this . context = Ma ( c ) ; b && l . merge ( this , b ) ; this . selector = { rows : null ,
2022-03-23 12:39:52 +01:00
cols : null , opts : null } ; B . extend ( this , this , nc ) } ; u . Api = B ; l . extend ( B . prototype , { any : function ( ) { return 0 !== this . count ( ) } , concat : N . concat , context : [ ] , count : function ( ) { return this . flatten ( ) . length } , each : function ( a ) { for ( var b = 0 , c = this . length ; b < c ; b ++ ) a . call ( this , this [ b ] , b , this ) ; return this } , eq : function ( a ) { var b = this . context ; return b . length > a ? new B ( b [ a ] , this [ a ] ) : null } , filter : function ( a ) { var b = [ ] ; if ( N . filter ) b = N . filter . call ( this , a , this ) ; else for ( var c = 0 , d = this . length ; c < d ; c ++ ) a . call ( this , this [ c ] , c , this ) && b . push ( this [ c ] ) ;
return new B ( this . context , b ) } , flatten : function ( ) { var a = [ ] ; return new B ( this . context , a . concat . apply ( a , this . toArray ( ) ) ) } , join : N . join , indexOf : N . indexOf || function ( a , b ) { b = b || 0 ; for ( var c = this . length ; b < c ; b ++ ) if ( this [ b ] === a ) return b ; return - 1 } , iterator : function ( a , b , c , d ) { var e = [ ] , h , f , g = this . context , k , m = this . selector ; "string" === typeof a && ( d = c , c = b , b = a , a = ! 1 ) ; var n = 0 ; for ( h = g . length ; n < h ; n ++ ) { var p = new B ( g [ n ] ) ; if ( "table" === b ) { var t = c . call ( p , g [ n ] , n ) ; t !== q && e . push ( t ) } else if ( "columns" === b || "rows" === b ) t = c . call ( p , g [ n ] ,
this [ n ] , n ) , t !== q && e . push ( t ) ; else if ( "column" === b || "column-rows" === b || "row" === b || "cell" === b ) { var v = this [ n ] ; "column-rows" === b && ( k = Wa ( g [ n ] , m . opts ) ) ; var x = 0 ; for ( f = v . length ; x < f ; x ++ ) t = v [ x ] , t = "cell" === b ? c . call ( p , g [ n ] , t . row , t . column , n , x ) : c . call ( p , g [ n ] , t , n , x , k ) , t !== q && e . push ( t ) } } return e . length || d ? ( a = new B ( g , a ? e . concat . apply ( [ ] , e ) : e ) , b = a . selector , b . rows = m . rows , b . cols = m . cols , b . opts = m . opts , a ) : this } , lastIndexOf : N . lastIndexOf || function ( a , b ) { return this . indexOf . apply ( this . toArray . reverse ( ) , arguments ) } , length : 0 ,
map : function ( a ) { var b = [ ] ; if ( N . map ) b = N . map . call ( this , a , this ) ; else for ( var c = 0 , d = this . length ; c < d ; c ++ ) b . push ( a . call ( this , this [ c ] , c ) ) ; return new B ( this . context , b ) } , pluck : function ( a ) { return this . map ( function ( b ) { return b [ a ] } ) } , pop : N . pop , push : N . push , reduce : N . reduce || function ( a , b ) { return Cb ( this , a , b , 0 , this . length , 1 ) } , reduceRight : N . reduceRight || function ( a , b ) { return Cb ( this , a , b , this . length - 1 , - 1 , - 1 ) } , reverse : N . reverse , selector : null , shift : N . shift , slice : function ( ) { return new B ( this . context , this ) } , sort : N . sort ,
splice : N . splice , toArray : function ( ) { return N . slice . call ( this ) } , to$ : function ( ) { return l ( this ) } , toJQuery : function ( ) { return l ( this ) } , unique : function ( ) { return new B ( this . context , Ma ( this ) ) } , unshift : N . unshift } ) ; B . extend = function ( a , b , c ) { if ( c . length && b && ( b instanceof B || b . _ _dt _wrapper ) ) { var d , e = function ( g , k , m ) { return function ( ) { var n = k . apply ( g , arguments ) ; B . extend ( n , n , m . methodExt ) ; return n } } ; var h = 0 ; for ( d = c . length ; h < d ; h ++ ) { var f = c [ h ] ; b [ f . name ] = "function" === f . type ? e ( a , f . val , f ) : "object" === f . type ? { } : f . val ; b [ f . name ] . _ _dt _wrapper =
! 0 ; B . extend ( a , b [ f . name ] , f . propExt ) } } } ; B . register = y = function ( a , b ) { if ( Array . isArray ( a ) ) for ( var c = 0 , d = a . length ; c < d ; c ++ ) B . register ( a [ c ] , b ) ; else { d = a . split ( "." ) ; var e = nc , h ; a = 0 ; for ( c = d . length ; a < c ; a ++ ) { var f = ( h = - 1 !== d [ a ] . indexOf ( "()" ) ) ? d [ a ] . replace ( "()" , "" ) : d [ a ] ; a : { var g = 0 ; for ( var k = e . length ; g < k ; g ++ ) if ( e [ g ] . name === f ) { g = e [ g ] ; break a } g = null } g || ( g = { name : f , val : { } , methodExt : [ ] , propExt : [ ] , type : "object" } , e . push ( g ) ) ; a === c - 1 ? ( g . val = b , g . type = "function" === typeof b ? "function" : l . isPlainObject ( b ) ? "object" : "other" ) : e = h ?
g . methodExt : g . propExt } } } ; B . registerPlural = J = function ( a , b , c ) { B . register ( a , c ) ; B . register ( b , function ( ) { var d = c . apply ( this , arguments ) ; return d === this ? this : d instanceof B ? d . length ? Array . isArray ( d [ 0 ] ) ? new B ( d . context , d [ 0 ] ) : d [ 0 ] : q : d } ) } ; var oc = function ( a , b ) { if ( Array . isArray ( a ) ) return l . map ( a , function ( d ) { return oc ( d , b ) } ) ; if ( "number" === typeof a ) return [ b [ a ] ] ; var c = l . map ( b , function ( d , e ) { return d . nTable } ) ; return l ( c ) . filter ( a ) . map ( function ( d ) { d = l . inArray ( this , c ) ; return b [ d ] } ) . toArray ( ) } ; y ( "tables()" , function ( a ) { return a !==
q && null !== a ? new B ( oc ( a , this . context ) ) : this } ) ; y ( "table()" , function ( a ) { a = this . tables ( a ) ; var b = a . context ; return b . length ? new B ( b [ 0 ] ) : a } ) ; J ( "tables().nodes()" , "table().node()" , function ( ) { return this . iterator ( "table" , function ( a ) { return a . nTable } , 1 ) } ) ; J ( "tables().body()" , "table().body()" , function ( ) { return this . iterator ( "table" , function ( a ) { return a . nTBody } , 1 ) } ) ; J ( "tables().header()" , "table().header()" , function ( ) { return this . iterator ( "table" , function ( a ) { return a . nTHead } , 1 ) } ) ; J ( "tables().footer()" , "table().footer()" ,
function ( ) { return this . iterator ( "table" , function ( a ) { return a . nTFoot } , 1 ) } ) ; J ( "tables().containers()" , "table().container()" , function ( ) { return this . iterator ( "table" , function ( a ) { return a . nTableWrapper } , 1 ) } ) ; y ( "draw()" , function ( a ) { return this . iterator ( "table" , function ( b ) { "page" === a ? ja ( b ) : ( "string" === typeof a && ( a = "full-hold" === a ? ! 1 : ! 0 ) , ka ( b , ! 1 === a ) ) } ) } ) ; y ( "page()" , function ( a ) { return a === q ? this . page . info ( ) . page : this . iterator ( "table" , function ( b ) { Ra ( b , a ) } ) } ) ; y ( "page.info()" , function ( a ) { if ( 0 === this . context . length ) return q ;
a = this . context [ 0 ] ; var b = a . _iDisplayStart , c = a . oFeatures . bPaginate ? a . _iDisplayLength : - 1 , d = a . fnRecordsDisplay ( ) , e = - 1 === c ; return { page : e ? 0 : Math . floor ( b / c ) , pages : e ? 1 : Math . ceil ( d / c ) , start : b , end : a . fnDisplayEnd ( ) , length : c , recordsTotal : a . fnRecordsTotal ( ) , recordsDisplay : d , serverSide : "ssp" === Q ( a ) } } ) ; y ( "page.len()" , function ( a ) { return a === q ? 0 !== this . context . length ? this . context [ 0 ] . _iDisplayLength : q : this . iterator ( "table" , function ( b ) { kb ( b , a ) } ) } ) ; var pc = function ( a , b , c ) { if ( c ) { var d = new B ( a ) ; d . one ( "draw" , function ( ) { c ( d . ajax . json ( ) ) } ) } if ( "ssp" ==
2022-03-26 23:33:12 +01:00
Q ( a ) ) ka ( a , b ) ; else { V ( a , ! 0 ) ; var e = a . jqXHR ; e && 4 !== e . readyState && e . abort ( ) ; Oa ( a , [ ] , function ( h ) { Ka ( a ) ; h = za ( a , h ) ; for ( var f = 0 , g = h . length ; f < g ; f ++ ) ia ( a , h [ f ] ) ; ka ( a , b ) ; V ( a , ! 1 ) } ) } } ; y ( "ajax.json()" , function ( ) { var a = this . context ; if ( 0 < a . length ) return a [ 0 ] . json } ) ; y ( "ajax.params()" , function ( ) { var a = this . context ; if ( 0 < a . length ) return a [ 0 ] . oAjaxData } ) ; y ( "ajax.reload()" , function ( a , b ) { return this . iterator ( "table" , function ( c ) { pc ( c , ! 1 === b , a ) } ) } ) ; y ( "ajax.url()" , function ( a ) { var b = this . context ; if ( a === q ) { if ( 0 === b . length ) return q ;
2022-03-23 12:39:52 +01:00
b = b [ 0 ] ; return b . ajax ? l . isPlainObject ( b . ajax ) ? b . ajax . url : b . ajax : b . sAjaxSource } return this . iterator ( "table" , function ( c ) { l . isPlainObject ( c . ajax ) ? c . ajax . url = a : c . ajax = a } ) } ) ; y ( "ajax.url().load()" , function ( a , b ) { return this . iterator ( "table" , function ( c ) { pc ( c , ! 1 === b , a ) } ) } ) ; var ub = function ( a , b , c , d , e ) { var h = [ ] , f , g , k ; var m = typeof b ; b && "string" !== m && "function" !== m && b . length !== q || ( b = [ b ] ) ; m = 0 ; for ( g = b . length ; m < g ; m ++ ) { var n = b [ m ] && b [ m ] . split && ! b [ m ] . match ( /[\[\(:]/ ) ? b [ m ] . split ( "," ) : [ b [ m ] ] ; var p = 0 ; for ( k = n . length ; p < k ; p ++ ) ( f =
c ( "string" === typeof n [ p ] ? n [ p ] . trim ( ) : n [ p ] ) ) && f . length && ( h = h . concat ( f ) ) } a = M . selector [ a ] ; if ( a . length ) for ( m = 0 , g = a . length ; m < g ; m ++ ) h = a [ m ] ( d , e , h ) ; return Ma ( h ) } , vb = function ( a ) { a || ( a = { } ) ; a . filter && a . search === q && ( a . search = a . filter ) ; return l . extend ( { search : "none" , order : "current" , page : "all" } , a ) } , wb = function ( a ) { for ( var b = 0 , c = a . length ; b < c ; b ++ ) if ( 0 < a [ b ] . length ) return a [ 0 ] = a [ b ] , a [ 0 ] . length = 1 , a . length = 1 , a . context = [ a . context [ b ] ] , a ; a . length = 0 ; return a } , Wa = function ( a , b ) { var c = [ ] , d = a . aiDisplay ; var e = a . aiDisplayMaster ;
2022-03-26 23:33:12 +01:00
var h = b . search ; var f = b . order ; b = b . page ; if ( "ssp" == Q ( a ) ) return "removed" === h ? [ ] : qa ( 0 , e . length ) ; if ( "current" == b ) for ( f = a . _iDisplayStart , a = a . fnDisplayEnd ( ) ; f < a ; f ++ ) c . push ( d [ f ] ) ; else if ( "current" == f || "applied" == f ) if ( "none" == h ) c = e . slice ( ) ; else if ( "applied" == h ) c = d . slice ( ) ; else { if ( "removed" == h ) { var g = { } ; f = 0 ; for ( a = d . length ; f < a ; f ++ ) g [ d [ f ] ] = null ; c = l . map ( e , function ( k ) { return g . hasOwnProperty ( k ) ? null : k } ) } } else if ( "index" == f || "original" == f ) for ( f = 0 , a = a . aoData . length ; f < a ; f ++ ) "none" == h ? c . push ( f ) : ( e = l . inArray ( f , d ) , ( - 1 ===
e && "removed" == h || 0 <= e && "applied" == h ) && c . push ( f ) ) ; return c } , yc = function ( a , b , c ) { var d ; return ub ( "row" , b , function ( e ) { var h = hc ( e ) , f = a . aoData ; if ( null !== h && ! c ) return [ h ] ; d || ( d = Wa ( a , c ) ) ; if ( null !== h && - 1 !== l . inArray ( h , d ) ) return [ h ] ; if ( null === e || e === q || "" === e ) return d ; if ( "function" === typeof e ) return l . map ( d , function ( k ) { var m = f [ k ] ; return e ( k , m . _aData , m . nTr ) ? k : null } ) ; if ( e . nodeName ) { h = e . _DT _RowIndex ; var g = e . _DT _CellIndex ; if ( h !== q ) return f [ h ] && f [ h ] . nTr === e ? [ h ] : [ ] ; if ( g ) return f [ g . row ] && f [ g . row ] . nTr === e . parentNode ?
[ g . row ] : [ ] ; h = l ( e ) . closest ( "*[data-dt-row]" ) ; return h . length ? [ h . data ( "dt-row" ) ] : [ ] } if ( "string" === typeof e && "#" === e . charAt ( 0 ) && ( h = a . aIds [ e . replace ( /^#/ , "" ) ] , h !== q ) ) return [ h . idx ] ; h = kc ( Ea ( a . aoData , d , "nTr" ) ) ; return l ( h ) . filter ( e ) . map ( function ( ) { return this . _DT _RowIndex } ) . toArray ( ) } , a , c ) } ; y ( "rows()" , function ( a , b ) { a === q ? a = "" : l . isPlainObject ( a ) && ( b = a , a = "" ) ; b = vb ( b ) ; var c = this . iterator ( "table" , function ( d ) { return yc ( d , a , b ) } , 1 ) ; c . selector . rows = a ; c . selector . opts = b ; return c } ) ; y ( "rows().nodes()" , function ( ) { return this . iterator ( "row" ,
function ( a , b ) { return a . aoData [ b ] . nTr || q } , 1 ) } ) ; y ( "rows().data()" , function ( ) { return this . iterator ( ! 0 , "rows" , function ( a , b ) { return Ea ( a . aoData , b , "_aData" ) } , 1 ) } ) ; J ( "rows().cache()" , "row().cache()" , function ( a ) { return this . iterator ( "row" , function ( b , c ) { b = b . aoData [ c ] ; return "search" === a ? b . _aFilterData : b . _aSortData } , 1 ) } ) ; J ( "rows().invalidate()" , "row().invalidate()" , function ( a ) { return this . iterator ( "row" , function ( b , c ) { va ( b , c , a ) } ) } ) ; J ( "rows().indexes()" , "row().index()" , function ( ) { return this . iterator ( "row" , function ( a ,
2022-03-23 12:39:52 +01:00
b ) { return b } , 1 ) } ) ; J ( "rows().ids()" , "row().id()" , function ( a ) { for ( var b = [ ] , c = this . context , d = 0 , e = c . length ; d < e ; d ++ ) for ( var h = 0 , f = this [ d ] . length ; h < f ; h ++ ) { var g = c [ d ] . rowIdFn ( c [ d ] . aoData [ this [ d ] [ h ] ] . _aData ) ; b . push ( ( ! 0 === a ? "#" : "" ) + g ) } return new B ( c , b ) } ) ; J ( "rows().remove()" , "row().remove()" , function ( ) { var a = this ; this . iterator ( "row" , function ( b , c , d ) { var e = b . aoData , h = e [ c ] , f , g ; e . splice ( c , 1 ) ; var k = 0 ; for ( f = e . length ; k < f ; k ++ ) { var m = e [ k ] ; var n = m . anCells ; null !== m . nTr && ( m . nTr . _DT _RowIndex = k ) ; if ( null !== n ) for ( m = 0 , g = n . length ; m <
g ; m ++ ) n [ m ] . _DT _CellIndex . row = k } La ( b . aiDisplayMaster , c ) ; La ( b . aiDisplay , c ) ; La ( a [ d ] , c , ! 1 ) ; 0 < b . _iRecordsDisplay && b . _iRecordsDisplay -- ; lb ( b ) ; c = b . rowIdFn ( h . _aData ) ; c !== q && delete b . aIds [ c ] } ) ; this . iterator ( "table" , function ( b ) { for ( var c = 0 , d = b . aoData . length ; c < d ; c ++ ) b . aoData [ c ] . idx = c } ) ; return this } ) ; y ( "rows.add()" , function ( a ) { var b = this . iterator ( "table" , function ( d ) { var e , h = [ ] ; var f = 0 ; for ( e = a . length ; f < e ; f ++ ) { var g = a [ f ] ; g . nodeName && "TR" === g . nodeName . toUpperCase ( ) ? h . push ( Ja ( d , g ) [ 0 ] ) : h . push ( ia ( d , g ) ) } return h } , 1 ) ,
2022-03-26 23:33:12 +01:00
c = this . rows ( - 1 ) ; c . pop ( ) ; l . merge ( c , b ) ; return c } ) ; y ( "row()" , function ( a , b ) { return wb ( this . rows ( a , b ) ) } ) ; y ( "row().data()" , function ( a ) { var b = this . context ; if ( a === q ) return b . length && this . length ? b [ 0 ] . aoData [ this [ 0 ] ] . _aData : q ; var c = b [ 0 ] . aoData [ this [ 0 ] ] ; c . _aData = a ; Array . isArray ( a ) && c . nTr && c . nTr . id && ha ( b [ 0 ] . rowId ) ( a , c . nTr . id ) ; va ( b [ 0 ] , this [ 0 ] , "data" ) ; return this } ) ; y ( "row().node()" , function ( ) { var a = this . context ; return a . length && this . length ? a [ 0 ] . aoData [ this [ 0 ] ] . nTr || null : null } ) ; y ( "row.add()" , function ( a ) { a instanceof
l && a . length && ( a = a [ 0 ] ) ; var b = this . iterator ( "table" , function ( c ) { return a . nodeName && "TR" === a . nodeName . toUpperCase ( ) ? Ja ( c , a ) [ 0 ] : ia ( c , a ) } ) ; return this . row ( b [ 0 ] ) } ) ; l ( A ) . on ( "plugin-init.dt" , function ( a , b ) { a = new B ( b ) ; a . on ( "stateSaveParams" , function ( d , e , h ) { d = e . rowIdFn ; e = e . aoData ; for ( var f = [ ] , g = 0 ; g < e . length ; g ++ ) e [ g ] . _detailsShow && f . push ( "#" + d ( e [ g ] . _aData ) ) ; h . childRows = f } ) ; var c = a . state . loaded ( ) ; c && c . childRows && a . rows ( l . map ( c . childRows , function ( d ) { return d . replace ( /:/g , "\\:" ) } ) ) . every ( function ( ) { F ( b , null , "requestChild" ,
[ this ] ) } ) } ) ; var zc = function ( a , b , c , d ) { var e = [ ] , h = function ( f , g ) { if ( Array . isArray ( f ) || f instanceof l ) for ( var k = 0 , m = f . length ; k < m ; k ++ ) h ( f [ k ] , g ) ; else f . nodeName && "tr" === f . nodeName . toLowerCase ( ) ? e . push ( f ) : ( k = l ( "<tr><td></td></tr>" ) . addClass ( g ) , l ( "td" , k ) . addClass ( g ) . html ( f ) [ 0 ] . colSpan = oa ( a ) , e . push ( k [ 0 ] ) ) } ; h ( c , d ) ; b . _details && b . _details . detach ( ) ; b . _details = l ( e ) ; b . _detailsShow && b . _details . insertAfter ( b . nTr ) } , qc = u . util . throttle ( function ( a ) { Ca ( a [ 0 ] ) } , 500 ) , xb = function ( a , b ) { var c = a . context ; c . length && ( a = c [ 0 ] . aoData [ b !==
q ? b : a [ 0 ] ] ) && a . _details && ( a . _details . remove ( ) , a . _detailsShow = q , a . _details = q , l ( a . nTr ) . removeClass ( "dt-hasChild" ) , qc ( c ) ) } , rc = function ( a , b ) { var c = a . context ; if ( c . length && a . length ) { var d = c [ 0 ] . aoData [ a [ 0 ] ] ; d . _details && ( ( d . _detailsShow = b ) ? ( d . _details . insertAfter ( d . nTr ) , l ( d . nTr ) . addClass ( "dt-hasChild" ) ) : ( d . _details . detach ( ) , l ( d . nTr ) . removeClass ( "dt-hasChild" ) ) , F ( c [ 0 ] , null , "childRow" , [ b , a . row ( a [ 0 ] ) ] ) , Ac ( c [ 0 ] ) , qc ( c ) ) } } , Ac = function ( a ) { var b = new B ( a ) , c = a . aoData ; b . off ( "draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details" ) ;
0 < U ( c , "_details" ) . length && ( b . on ( "draw.dt.DT_details" , function ( d , e ) { a === e && b . rows ( { page : "current" } ) . eq ( 0 ) . each ( function ( h ) { h = c [ h ] ; h . _detailsShow && h . _details . insertAfter ( h . nTr ) } ) } ) , b . on ( "column-visibility.dt.DT_details" , function ( d , e , h , f ) { if ( a === e ) for ( e = oa ( e ) , h = 0 , f = c . length ; h < f ; h ++ ) d = c [ h ] , d . _details && d . _details . children ( "td[colspan]" ) . attr ( "colspan" , e ) } ) , b . on ( "destroy.dt.DT_details" , function ( d , e ) { if ( a === e ) for ( d = 0 , e = c . length ; d < e ; d ++ ) c [ d ] . _details && xb ( b , d ) } ) ) } ; y ( "row().child()" , function ( a , b ) { var c = this . context ;
if ( a === q ) return c . length && this . length ? c [ 0 ] . aoData [ this [ 0 ] ] . _details : q ; ! 0 === a ? this . child . show ( ) : ! 1 === a ? xb ( this ) : c . length && this . length && zc ( c [ 0 ] , c [ 0 ] . aoData [ this [ 0 ] ] , a , b ) ; return this } ) ; y ( [ "row().child.show()" , "row().child().show()" ] , function ( a ) { rc ( this , ! 0 ) ; return this } ) ; y ( [ "row().child.hide()" , "row().child().hide()" ] , function ( ) { rc ( this , ! 1 ) ; return this } ) ; y ( [ "row().child.remove()" , "row().child().remove()" ] , function ( ) { xb ( this ) ; return this } ) ; y ( "row().child.isShown()" , function ( ) { var a = this . context ; return a . length &&
this . length ? a [ 0 ] . aoData [ this [ 0 ] ] . _detailsShow || ! 1 : ! 1 } ) ; var Bc = /^([^:]+):(name|visIdx|visible)$/ , sc = function ( a , b , c , d , e ) { c = [ ] ; d = 0 ; for ( var h = e . length ; d < h ; d ++ ) c . push ( T ( a , e [ d ] , b ) ) ; return c } , Cc = function ( a , b , c ) { var d = a . aoColumns , e = U ( d , "sName" ) , h = U ( d , "nTh" ) ; return ub ( "column" , b , function ( f ) { var g = hc ( f ) ; if ( "" === f ) return qa ( d . length ) ; if ( null !== g ) return [ 0 <= g ? g : d . length + g ] ; if ( "function" === typeof f ) { var k = Wa ( a , c ) ; return l . map ( d , function ( p , t ) { return f ( t , sc ( a , t , 0 , 0 , k ) , h [ t ] ) ? t : null } ) } var m = "string" === typeof f ? f . match ( Bc ) :
"" ; if ( m ) switch ( m [ 2 ] ) { case "visIdx" : case "visible" : g = parseInt ( m [ 1 ] , 10 ) ; if ( 0 > g ) { var n = l . map ( d , function ( p , t ) { return p . bVisible ? t : null } ) ; return [ n [ n . length + g ] ] } return [ ta ( a , g ) ] ; case "name" : return l . map ( e , function ( p , t ) { return p === m [ 1 ] ? t : null } ) ; default : return [ ] } if ( f . nodeName && f . _DT _CellIndex ) return [ f . _DT _CellIndex . column ] ; g = l ( h ) . filter ( f ) . map ( function ( ) { return l . inArray ( this , h ) } ) . toArray ( ) ; if ( g . length || ! f . nodeName ) return g ; g = l ( f ) . closest ( "*[data-dt-column]" ) ; return g . length ? [ g . data ( "dt-column" ) ] : [ ] } , a , c ) } ;
y ( "columns()" , function ( a , b ) { a === q ? a = "" : l . isPlainObject ( a ) && ( b = a , a = "" ) ; b = vb ( b ) ; var c = this . iterator ( "table" , function ( d ) { return Cc ( d , a , b ) } , 1 ) ; c . selector . cols = a ; c . selector . opts = b ; return c } ) ; J ( "columns().header()" , "column().header()" , function ( a , b ) { return this . iterator ( "column" , function ( c , d ) { return c . aoColumns [ d ] . nTh } , 1 ) } ) ; J ( "columns().footer()" , "column().footer()" , function ( a , b ) { return this . iterator ( "column" , function ( c , d ) { return c . aoColumns [ d ] . nTf } , 1 ) } ) ; J ( "columns().data()" , "column().data()" , function ( ) { return this . iterator ( "column-rows" ,
sc , 1 ) } ) ; J ( "columns().dataSrc()" , "column().dataSrc()" , function ( ) { return this . iterator ( "column" , function ( a , b ) { return a . aoColumns [ b ] . mData } , 1 ) } ) ; J ( "columns().cache()" , "column().cache()" , function ( a ) { return this . iterator ( "column-rows" , function ( b , c , d , e , h ) { return Ea ( b . aoData , h , "search" === a ? "_aFilterData" : "_aSortData" , c ) } , 1 ) } ) ; J ( "columns().nodes()" , "column().nodes()" , function ( ) { return this . iterator ( "column-rows" , function ( a , b , c , d , e ) { return Ea ( a . aoData , e , "anCells" , b ) } , 1 ) } ) ; J ( "columns().visible()" , "column().visible()" ,
function ( a , b ) { var c = this , d = this . iterator ( "column" , function ( e , h ) { if ( a === q ) return e . aoColumns [ h ] . bVisible ; var f = e . aoColumns , g = f [ h ] , k = e . aoData , m ; if ( a !== q && g . bVisible !== a ) { if ( a ) { var n = l . inArray ( ! 0 , U ( f , "bVisible" ) , h + 1 ) ; f = 0 ; for ( m = k . length ; f < m ; f ++ ) { var p = k [ f ] . nTr ; e = k [ f ] . anCells ; p && p . insertBefore ( e [ h ] , e [ n ] || null ) } } else l ( U ( e . aoData , "anCells" , h ) ) . detach ( ) ; g . bVisible = a } } ) ; a !== q && this . iterator ( "table" , function ( e ) { xa ( e , e . aoHeader ) ; xa ( e , e . aoFooter ) ; e . aiDisplay . length || l ( e . nTBody ) . find ( "td[colspan]" ) . attr ( "colspan" ,
oa ( e ) ) ; Ca ( e ) ; c . iterator ( "column" , function ( h , f ) { F ( h , null , "column-visibility" , [ h , f , a , b ] ) } ) ; ( b === q || b ) && c . columns . adjust ( ) } ) ; return d } ) ; J ( "columns().indexes()" , "column().index()" , function ( a ) { return this . iterator ( "column" , function ( b , c ) { return "visible" === a ? ua ( b , c ) : c } , 1 ) } ) ; y ( "columns.adjust()" , function ( ) { return this . iterator ( "table" , function ( a ) { sa ( a ) } , 1 ) } ) ; y ( "column.index()" , function ( a , b ) { if ( 0 !== this . context . length ) { var c = this . context [ 0 ] ; if ( "fromVisible" === a || "toData" === a ) return ta ( c , b ) ; if ( "fromData" ===
a || "toVisible" === a ) return ua ( c , b ) } } ) ; y ( "column()" , function ( a , b ) { return wb ( this . columns ( a , b ) ) } ) ; var Dc = function ( a , b , c ) { var d = a . aoData , e = Wa ( a , c ) , h = kc ( Ea ( d , e , "anCells" ) ) , f = l ( lc ( [ ] , h ) ) , g , k = a . aoColumns . length , m , n , p , t , v , x ; return ub ( "cell" , b , function ( w ) { var r = "function" === typeof w ; if ( null === w || w === q || r ) { m = [ ] ; n = 0 ; for ( p = e . length ; n < p ; n ++ ) for ( g = e [ n ] , t = 0 ; t < k ; t ++ ) v = { row : g , column : t } , r ? ( x = d [ g ] , w ( v , T ( a , g , t ) , x . anCells ? x . anCells [ t ] : null ) && m . push ( v ) ) : m . push ( v ) ; return m } if ( l . isPlainObject ( w ) ) return w . column !== q && w . row !==
q && - 1 !== l . inArray ( w . row , e ) ? [ w ] : [ ] ; r = f . filter ( w ) . map ( function ( C , G ) { return { row : G . _DT _CellIndex . row , column : G . _DT _CellIndex . column } } ) . toArray ( ) ; if ( r . length || ! w . nodeName ) return r ; x = l ( w ) . closest ( "*[data-dt-row]" ) ; return x . length ? [ { row : x . data ( "dt-row" ) , column : x . data ( "dt-column" ) } ] : [ ] } , a , c ) } ; y ( "cells()" , function ( a , b , c ) { l . isPlainObject ( a ) && ( a . row === q ? ( c = a , a = null ) : ( c = b , b = null ) ) ; l . isPlainObject ( b ) && ( c = b , b = null ) ; if ( null === b || b === q ) return this . iterator ( "table" , function ( n ) { return Dc ( n , a , vb ( c ) ) } ) ; var d = c ? { page : c . page ,
order : c . order , search : c . search } : { } , e = this . columns ( b , d ) , h = this . rows ( a , d ) , f , g , k , m ; d = this . iterator ( "table" , function ( n , p ) { n = [ ] ; f = 0 ; for ( g = h [ p ] . length ; f < g ; f ++ ) for ( k = 0 , m = e [ p ] . length ; k < m ; k ++ ) n . push ( { row : h [ p ] [ f ] , column : e [ p ] [ k ] } ) ; return n } , 1 ) ; d = c && c . selected ? this . cells ( d , c ) : d ; l . extend ( d . selector , { cols : b , rows : a , opts : c } ) ; return d } ) ; J ( "cells().nodes()" , "cell().node()" , function ( ) { return this . iterator ( "cell" , function ( a , b , c ) { return ( a = a . aoData [ b ] ) && a . anCells ? a . anCells [ c ] : q } , 1 ) } ) ; y ( "cells().data()" , function ( ) { return this . iterator ( "cell" ,
function ( a , b , c ) { return T ( a , b , c ) } , 1 ) } ) ; J ( "cells().cache()" , "cell().cache()" , function ( a ) { a = "search" === a ? "_aFilterData" : "_aSortData" ; return this . iterator ( "cell" , function ( b , c , d ) { return b . aoData [ c ] [ a ] [ d ] } , 1 ) } ) ; J ( "cells().render()" , "cell().render()" , function ( a ) { return this . iterator ( "cell" , function ( b , c , d ) { return T ( b , c , d , a ) } , 1 ) } ) ; J ( "cells().indexes()" , "cell().index()" , function ( ) { return this . iterator ( "cell" , function ( a , b , c ) { return { row : b , column : c , columnVisible : ua ( a , c ) } } , 1 ) } ) ; J ( "cells().invalidate()" , "cell().invalidate()" ,
function ( a ) { return this . iterator ( "cell" , function ( b , c , d ) { va ( b , c , a , d ) } ) } ) ; y ( "cell()" , function ( a , b , c ) { return wb ( this . cells ( a , b , c ) ) } ) ; y ( "cell().data()" , function ( a ) { var b = this . context , c = this [ 0 ] ; if ( a === q ) return b . length && c . length ? T ( b [ 0 ] , c [ 0 ] . row , c [ 0 ] . column ) : q ; Eb ( b [ 0 ] , c [ 0 ] . row , c [ 0 ] . column , a ) ; va ( b [ 0 ] , c [ 0 ] . row , "data" , c [ 0 ] . column ) ; return this } ) ; y ( "order()" , function ( a , b ) { var c = this . context ; if ( a === q ) return 0 !== c . length ? c [ 0 ] . aaSorting : q ; "number" === typeof a ? a = [ [ a , b ] ] : a . length && ! Array . isArray ( a [ 0 ] ) && ( a = Array . prototype . slice . call ( arguments ) ) ;
2022-03-23 12:39:52 +01:00
return this . iterator ( "table" , function ( d ) { d . aaSorting = a . slice ( ) } ) } ) ; y ( "order.listener()" , function ( a , b , c ) { return this . iterator ( "table" , function ( d ) { fb ( d , a , b , c ) } ) } ) ; y ( "order.fixed()" , function ( a ) { if ( ! a ) { var b = this . context ; b = b . length ? b [ 0 ] . aaSortingFixed : q ; return Array . isArray ( b ) ? { pre : b } : b } return this . iterator ( "table" , function ( c ) { c . aaSortingFixed = l . extend ( ! 0 , { } , a ) } ) } ) ; y ( [ "columns().order()" , "column().order()" ] , function ( a ) { var b = this ; return this . iterator ( "table" , function ( c , d ) { var e = [ ] ; l . each ( b [ d ] , function ( h ,
2022-03-26 23:33:12 +01:00
f ) { e . push ( [ f , a ] ) } ) ; c . aaSorting = e } ) } ) ; y ( "search()" , function ( a , b , c , d ) { var e = this . context ; return a === q ? 0 !== e . length ? e [ 0 ] . oPreviousSearch . sSearch : q : this . iterator ( "table" , function ( h ) { h . oFeatures . bFilter && ya ( h , l . extend ( { } , h . oPreviousSearch , { sSearch : a + "" , bRegex : null === b ? ! 1 : b , bSmart : null === c ? ! 0 : c , bCaseInsensitive : null === d ? ! 0 : d } ) , 1 ) } ) } ) ; J ( "columns().search()" , "column().search()" , function ( a , b , c , d ) { return this . iterator ( "column" , function ( e , h ) { var f = e . aoPreSearchCols ; if ( a === q ) return f [ h ] . sSearch ; e . oFeatures . bFilter &&
( l . extend ( f [ h ] , { sSearch : a + "" , bRegex : null === b ? ! 1 : b , bSmart : null === c ? ! 0 : c , bCaseInsensitive : null === d ? ! 0 : d } ) , ya ( e , e . oPreviousSearch , 1 ) ) } ) } ) ; y ( "state()" , function ( ) { return this . context . length ? this . context [ 0 ] . oSavedState : null } ) ; y ( "state.clear()" , function ( ) { return this . iterator ( "table" , function ( a ) { a . fnStateSaveCallback . call ( a . oInstance , a , { } ) } ) } ) ; y ( "state.loaded()" , function ( ) { return this . context . length ? this . context [ 0 ] . oLoadedState : null } ) ; y ( "state.save()" , function ( ) { return this . iterator ( "table" , function ( a ) { Ca ( a ) } ) } ) ;
2022-03-23 12:39:52 +01:00
u . versionCheck = u . fnVersionCheck = function ( a ) { var b = u . version . split ( "." ) ; a = a . split ( "." ) ; for ( var c , d , e = 0 , h = a . length ; e < h ; e ++ ) if ( c = parseInt ( b [ e ] , 10 ) || 0 , d = parseInt ( a [ e ] , 10 ) || 0 , c !== d ) return c > d ; return ! 0 } ; u . isDataTable = u . fnIsDataTable = function ( a ) { var b = l ( a ) . get ( 0 ) , c = ! 1 ; if ( a instanceof u . Api ) return ! 0 ; l . each ( u . settings , function ( d , e ) { d = e . nScrollHead ? l ( "table" , e . nScrollHead ) [ 0 ] : null ; var h = e . nScrollFoot ? l ( "table" , e . nScrollFoot ) [ 0 ] : null ; if ( e . nTable === b || d === b || h === b ) c = ! 0 } ) ; return c } ; u . tables = u . fnTables = function ( a ) { var b =
! 1 ; l . isPlainObject ( a ) && ( b = a . api , a = a . visible ) ; var c = l . map ( u . settings , function ( d ) { if ( ! a || a && l ( d . nTable ) . is ( ":visible" ) ) return d . nTable } ) ; return b ? new B ( c ) : c } ; u . camelToHungarian = P ; y ( "$()" , function ( a , b ) { b = this . rows ( b ) . nodes ( ) ; b = l ( b ) ; return l ( [ ] . concat ( b . filter ( a ) . toArray ( ) , b . find ( a ) . toArray ( ) ) ) } ) ; l . each ( [ "on" , "one" , "off" ] , function ( a , b ) { y ( b + "()" , function ( ) { var c = Array . prototype . slice . call ( arguments ) ; c [ 0 ] = l . map ( c [ 0 ] . split ( /\s/ ) , function ( e ) { return e . match ( /\.dt\b/ ) ? e : e + ".dt" } ) . join ( " " ) ; var d = l ( this . tables ( ) . nodes ( ) ) ;
d [ b ] . apply ( d , c ) ; return this } ) } ) ; y ( "clear()" , function ( ) { return this . iterator ( "table" , function ( a ) { Ka ( a ) } ) } ) ; y ( "settings()" , function ( ) { return new B ( this . context , this . context ) } ) ; y ( "init()" , function ( ) { var a = this . context ; return a . length ? a [ 0 ] . oInit : null } ) ; y ( "data()" , function ( ) { return this . iterator ( "table" , function ( a ) { return U ( a . aoData , "_aData" ) } ) . flatten ( ) } ) ; y ( "destroy()" , function ( a ) { a = a || ! 1 ; return this . iterator ( "table" , function ( b ) { var c = b . nTableWrapper . parentNode , d = b . oClasses , e = b . nTable , h = b . nTBody , f = b . nTHead ,
g = b . nTFoot , k = l ( e ) ; h = l ( h ) ; var m = l ( b . nTableWrapper ) , n = l . map ( b . aoData , function ( t ) { return t . nTr } ) , p ; b . bDestroying = ! 0 ; F ( b , "aoDestroyCallback" , "destroy" , [ b ] ) ; a || ( new B ( b ) ) . columns ( ) . visible ( ! 0 ) ; m . off ( ".DT" ) . find ( ":not(tbody *)" ) . off ( ".DT" ) ; l ( z ) . off ( ".DT-" + b . sInstance ) ; e != f . parentNode && ( k . children ( "thead" ) . detach ( ) , k . append ( f ) ) ; g && e != g . parentNode && ( k . children ( "tfoot" ) . detach ( ) , k . append ( g ) ) ; b . aaSorting = [ ] ; b . aaSortingFixed = [ ] ; Sa ( b ) ; l ( n ) . removeClass ( b . asStripeClasses . join ( " " ) ) ; l ( "th, td" , f ) . removeClass ( d . sSortable +
" " + d . sSortableAsc + " " + d . sSortableDesc + " " + d . sSortableNone ) ; h . children ( ) . detach ( ) ; h . append ( n ) ; f = a ? "remove" : "detach" ; k [ f ] ( ) ; m [ f ] ( ) ; ! a && c && ( c . insertBefore ( e , b . nTableReinsertBefore ) , k . css ( "width" , b . sDestroyWidth ) . removeClass ( d . sTable ) , ( p = b . asDestroyStripes . length ) && h . children ( ) . each ( function ( t ) { l ( this ) . addClass ( b . asDestroyStripes [ t % p ] ) } ) ) ; c = l . inArray ( b , u . settings ) ; - 1 !== c && u . settings . splice ( c , 1 ) } ) } ) ; l . each ( [ "column" , "row" , "cell" ] , function ( a , b ) { y ( b + "s().every()" , function ( c ) { var d = this . selector . opts , e =
2022-03-26 23:33:12 +01:00
this ; return this . iterator ( b , function ( h , f , g , k , m ) { c . call ( e [ b ] ( f , "cell" === b ? g : d , "cell" === b ? d : q ) , f , g , k , m ) } ) } ) } ) ; y ( "i18n()" , function ( a , b , c ) { var d = this . context [ 0 ] ; a = na ( a ) ( d . oLanguage ) ; a === q && ( a = b ) ; c !== q && l . isPlainObject ( a ) && ( a = a [ c ] !== q ? a [ c ] : a . _ ) ; return a . replace ( "%d" , c ) } ) ; u . version = "1.11.5" ; u . settings = [ ] ; u . models = { } ; u . models . oSearch = { bCaseInsensitive : ! 0 , sSearch : "" , bRegex : ! 1 , bSmart : ! 0 , "return" : ! 1 } ; u . models . oRow = { nTr : null , anCells : null , _aData : [ ] , _aSortData : null , _aFilterData : null , _sFilterRow : null , _sRowStripe : "" ,
2022-03-23 12:39:52 +01:00
src : null , idx : - 1 } ; u . models . oColumn = { idx : null , aDataSort : null , asSorting : null , bSearchable : null , bSortable : null , bVisible : null , _sManualType : null , _bAttrSrc : ! 1 , fnCreatedCell : null , fnGetData : null , fnSetData : null , mData : null , mRender : null , nTh : null , nTf : null , sClass : null , sContentPadding : null , sDefaultContent : null , sName : null , sSortDataType : "std" , sSortingClass : null , sSortingClassJUI : null , sTitle : null , sType : null , sWidth : null , sWidthOrig : null } ; u . defaults = { aaData : null , aaSorting : [ [ 0 , "asc" ] ] , aaSortingFixed : [ ] , ajax : null , aLengthMenu : [ 10 ,
25 , 50 , 100 ] , aoColumns : null , aoColumnDefs : null , aoSearchCols : [ ] , asStripeClasses : null , bAutoWidth : ! 0 , bDeferRender : ! 1 , bDestroy : ! 1 , bFilter : ! 0 , bInfo : ! 0 , bLengthChange : ! 0 , bPaginate : ! 0 , bProcessing : ! 1 , bRetrieve : ! 1 , bScrollCollapse : ! 1 , bServerSide : ! 1 , bSort : ! 0 , bSortMulti : ! 0 , bSortCellsTop : ! 1 , bSortClasses : ! 0 , bStateSave : ! 1 , fnCreatedRow : null , fnDrawCallback : null , fnFooterCallback : null , fnFormatNumber : function ( a ) { return a . toString ( ) . replace ( /\B(?=(\d{3})+(?!\d))/g , this . oLanguage . sThousands ) } , fnHeaderCallback : null , fnInfoCallback : null ,
fnInitComplete : null , fnPreDrawCallback : null , fnRowCallback : null , fnServerData : null , fnServerParams : null , fnStateLoadCallback : function ( a ) { try { return JSON . parse ( ( - 1 === a . iStateDuration ? sessionStorage : localStorage ) . getItem ( "DataTables_" + a . sInstance + "_" + location . pathname ) ) } catch ( b ) { return { } } } , fnStateLoadParams : null , fnStateLoaded : null , fnStateSaveCallback : function ( a , b ) { try { ( - 1 === a . iStateDuration ? sessionStorage : localStorage ) . setItem ( "DataTables_" + a . sInstance + "_" + location . pathname , JSON . stringify ( b ) ) } catch ( c ) { } } ,
fnStateSaveParams : null , iStateDuration : 7200 , iDeferLoading : null , iDisplayLength : 10 , iDisplayStart : 0 , iTabIndex : 0 , oClasses : { } , oLanguage : { oAria : { sSortAscending : ": activate to sort column ascending" , sSortDescending : ": activate to sort column descending" } , oPaginate : { sFirst : "First" , sLast : "Last" , sNext : "Next" , sPrevious : "Previous" } , sEmptyTable : "No data available in table" , sInfo : "Showing _START_ to _END_ of _TOTAL_ entries" , sInfoEmpty : "Showing 0 to 0 of 0 entries" , sInfoFiltered : "(filtered from _MAX_ total entries)" ,
sInfoPostFix : "" , sDecimal : "" , sThousands : "," , sLengthMenu : "Show _MENU_ entries" , sLoadingRecords : "Loading..." , sProcessing : "Processing..." , sSearch : "Search:" , sSearchPlaceholder : "" , sUrl : "" , sZeroRecords : "No matching records found" } , oSearch : l . extend ( { } , u . models . oSearch ) , sAjaxDataProp : "data" , sAjaxSource : null , sDom : "lfrtip" , searchDelay : null , sPaginationType : "simple_numbers" , sScrollX : "" , sScrollXInner : "" , sScrollY : "" , sServerMethod : "GET" , renderer : null , rowId : "DT_RowId" } ; E ( u . defaults ) ; u . defaults . column = { aDataSort : null ,
iDataSort : - 1 , asSorting : [ "asc" , "desc" ] , bSearchable : ! 0 , bSortable : ! 0 , bVisible : ! 0 , fnCreatedCell : null , mData : null , mRender : null , sCellType : "td" , sClass : "" , sContentPadding : "" , sDefaultContent : null , sName : "" , sSortDataType : "std" , sTitle : null , sType : null , sWidth : null } ; E ( u . defaults . column ) ; u . models . oSettings = { oFeatures : { bAutoWidth : null , bDeferRender : null , bFilter : null , bInfo : null , bLengthChange : null , bPaginate : null , bProcessing : null , bServerSide : null , bSort : null , bSortMulti : null , bSortClasses : null , bStateSave : null } , oScroll : { bCollapse : null ,
iBarWidth : 0 , sX : null , sXInner : null , sY : null } , oLanguage : { fnInfoCallback : null } , oBrowser : { bScrollOversize : ! 1 , bScrollbarLeft : ! 1 , bBounding : ! 1 , barWidth : 0 } , ajax : null , aanFeatures : [ ] , aoData : [ ] , aiDisplay : [ ] , aiDisplayMaster : [ ] , aIds : { } , aoColumns : [ ] , aoHeader : [ ] , aoFooter : [ ] , oPreviousSearch : { } , aoPreSearchCols : [ ] , aaSorting : null , aaSortingFixed : [ ] , asStripeClasses : null , asDestroyStripes : [ ] , sDestroyWidth : 0 , aoRowCallback : [ ] , aoHeaderCallback : [ ] , aoFooterCallback : [ ] , aoDrawCallback : [ ] , aoRowCreatedCallback : [ ] , aoPreDrawCallback : [ ] ,
aoInitComplete : [ ] , aoStateSaveParams : [ ] , aoStateLoadParams : [ ] , aoStateLoaded : [ ] , sTableId : "" , nTable : null , nTHead : null , nTFoot : null , nTBody : null , nTableWrapper : null , bDeferLoading : ! 1 , bInitialised : ! 1 , aoOpenRows : [ ] , sDom : null , searchDelay : null , sPaginationType : "two_button" , iStateDuration : 0 , aoStateSave : [ ] , aoStateLoad : [ ] , oSavedState : null , oLoadedState : null , sAjaxSource : null , sAjaxDataProp : null , jqXHR : null , json : q , oAjaxData : q , fnServerData : null , aoServerParams : [ ] , sServerMethod : null , fnFormatNumber : null , aLengthMenu : null , iDraw : 0 ,
bDrawing : ! 1 , iDrawError : - 1 , _iDisplayLength : 10 , _iDisplayStart : 0 , _iRecordsTotal : 0 , _iRecordsDisplay : 0 , oClasses : { } , bFiltered : ! 1 , bSorted : ! 1 , bSortCellsTop : null , oInit : null , aoDestroyCallback : [ ] , fnRecordsTotal : function ( ) { return "ssp" == Q ( this ) ? 1 * this . _iRecordsTotal : this . aiDisplayMaster . length } , fnRecordsDisplay : function ( ) { return "ssp" == Q ( this ) ? 1 * this . _iRecordsDisplay : this . aiDisplay . length } , fnDisplayEnd : function ( ) { var a = this . _iDisplayLength , b = this . _iDisplayStart , c = b + a , d = this . aiDisplay . length , e = this . oFeatures , h =
2022-03-26 23:33:12 +01:00
e . bPaginate ; return e . bServerSide ? ! 1 === h || - 1 === a ? b + d : Math . min ( b + a , this . _iRecordsDisplay ) : ! h || c > d || - 1 === a ? d : c } , oInstance : null , sInstance : null , iTabIndex : 0 , nScrollHead : null , nScrollFoot : null , aLastSort : [ ] , oPlugins : { } , rowIdFn : null , rowId : null } ; u . ext = M = { buttons : { } , classes : { } , build : "dt/jszip-2.5.0/pdfmake-0.1.36/dt-1.11.5/b-2.2.2/b-colvis-2.2.2/b-html5-2.2.2/b-print-2.2.2/cr-1.5.5/fc-4.0.2/fh-3.2.2/r-2.2.9/rg-1.1.4/rr-1.2.8/sl-1.3.4" , errMode : "alert" , feature : [ ] , search : [ ] , selector : { cell : [ ] , column : [ ] , row : [ ] } , internal : { } , legacy : { ajax : null } , pager : { } , renderer : { pageButton : { } , header : { } } , order : { } , type : { detect : [ ] , search : { } , order : { } } , _unique : 0 , fnVersionCheck : u . fnVersionCheck ,
2022-03-23 12:39:52 +01:00
iApiIndex : 0 , oJUIClasses : { } , sVersion : u . version } ; l . extend ( M , { afnFiltering : M . search , aTypes : M . type . detect , ofnSearch : M . type . search , oSort : M . type . order , afnSortData : M . order , aoFeatures : M . feature , oApi : M . internal , oStdClasses : M . classes , oPagination : M . pager } ) ; l . extend ( u . ext . classes , { sTable : "dataTable" , sNoFooter : "no-footer" , sPageButton : "paginate_button" , sPageButtonActive : "current" , sPageButtonDisabled : "disabled" , sStripeOdd : "odd" , sStripeEven : "even" , sRowEmpty : "dataTables_empty" , sWrapper : "dataTables_wrapper" , sFilter : "dataTables_filter" ,
sInfo : "dataTables_info" , sPaging : "dataTables_paginate paging_" , sLength : "dataTables_length" , sProcessing : "dataTables_processing" , sSortAsc : "sorting_asc" , sSortDesc : "sorting_desc" , sSortable : "sorting" , sSortableAsc : "sorting_desc_disabled" , sSortableDesc : "sorting_asc_disabled" , sSortableNone : "sorting_disabled" , sSortColumn : "sorting_" , sFilterInput : "" , sLengthSelect : "" , sScrollWrapper : "dataTables_scroll" , sScrollHead : "dataTables_scrollHead" , sScrollHeadInner : "dataTables_scrollHeadInner" , sScrollBody : "dataTables_scrollBody" ,
sScrollFoot : "dataTables_scrollFoot" , sScrollFootInner : "dataTables_scrollFootInner" , sHeaderTH : "" , sFooterTH : "" , sSortJUIAsc : "" , sSortJUIDesc : "" , sSortJUI : "" , sSortJUIAscAllowed : "" , sSortJUIDescAllowed : "" , sSortJUIWrapper : "" , sSortIcon : "" , sJUIHeader : "" , sJUIFooter : "" } ) ; var ec = u . ext . pager ; l . extend ( ec , { simple : function ( a , b ) { return [ "previous" , "next" ] } , full : function ( a , b ) { return [ "first" , "previous" , "next" , "last" ] } , numbers : function ( a , b ) { return [ Da ( a , b ) ] } , simple _numbers : function ( a , b ) { return [ "previous" , Da ( a , b ) , "next" ] } ,
full _numbers : function ( a , b ) { return [ "first" , "previous" , Da ( a , b ) , "next" , "last" ] } , first _last _numbers : function ( a , b ) { return [ "first" , Da ( a , b ) , "last" ] } , _numbers : Da , numbers _length : 7 } ) ; l . extend ( ! 0 , u . ext . renderer , { pageButton : { _ : function ( a , b , c , d , e , h ) { var f = a . oClasses , g = a . oLanguage . oPaginate , k = a . oLanguage . oAria . paginate || { } , m , n , p = 0 , t = function ( x , w ) { var r , C = f . sPageButtonDisabled , G = function ( I ) { Ra ( a , I . data . action , ! 0 ) } ; var aa = 0 ; for ( r = w . length ; aa < r ; aa ++ ) { var L = w [ aa ] ; if ( Array . isArray ( L ) ) { var O = l ( "<" + ( L . DT _el || "div" ) + "/>" ) . appendTo ( x ) ;
t ( O , L ) } else { m = null ; n = L ; O = a . iTabIndex ; switch ( L ) { case "ellipsis" : x . append ( '<span class="ellipsis">…</span>' ) ; break ; case "first" : m = g . sFirst ; 0 === e && ( O = - 1 , n += " " + C ) ; break ; case "previous" : m = g . sPrevious ; 0 === e && ( O = - 1 , n += " " + C ) ; break ; case "next" : m = g . sNext ; if ( 0 === h || e === h - 1 ) O = - 1 , n += " " + C ; break ; case "last" : m = g . sLast ; if ( 0 === h || e === h - 1 ) O = - 1 , n += " " + C ; break ; default : m = a . fnFormatNumber ( L + 1 ) , n = e === L ? f . sPageButtonActive : "" } null !== m && ( O = l ( "<a>" , { "class" : f . sPageButton + " " + n , "aria-controls" : a . sTableId , "aria-label" : k [ L ] ,
2022-03-26 23:33:12 +01:00
"data-dt-idx" : p , tabindex : O , id : 0 === c && "string" === typeof L ? a . sTableId + "_" + L : null } ) . html ( m ) . appendTo ( x ) , ob ( O , { action : L } , G ) , p ++ ) } } } ; try { var v = l ( b ) . find ( A . activeElement ) . data ( "dt-idx" ) } catch ( x ) { } t ( l ( b ) . empty ( ) , d ) ; v !== q && l ( b ) . find ( "[data-dt-idx=" + v + "]" ) . trigger ( "focus" ) } } } ) ; l . extend ( u . ext . type . detect , [ function ( a , b ) { b = b . oLanguage . sDecimal ; return tb ( a , b ) ? "num" + b : null } , function ( a , b ) { if ( a && ! ( a instanceof Date ) && ! vc . test ( a ) ) return null ; b = Date . parse ( a ) ; return null !== b && ! isNaN ( b ) || Z ( a ) ? "date" : null } , function ( a ,
2022-03-23 12:39:52 +01:00
b ) { b = b . oLanguage . sDecimal ; return tb ( a , b , ! 0 ) ? "num-fmt" + b : null } , function ( a , b ) { b = b . oLanguage . sDecimal ; return jc ( a , b ) ? "html-num" + b : null } , function ( a , b ) { b = b . oLanguage . sDecimal ; return jc ( a , b , ! 0 ) ? "html-num-fmt" + b : null } , function ( a , b ) { return Z ( a ) || "string" === typeof a && - 1 !== a . indexOf ( "<" ) ? "html" : null } ] ) ; l . extend ( u . ext . type . search , { html : function ( a ) { return Z ( a ) ? a : "string" === typeof a ? a . replace ( gc , " " ) . replace ( Va , "" ) : "" } , string : function ( a ) { return Z ( a ) ? a : "string" === typeof a ? a . replace ( gc , " " ) : a } } ) ; var Ua = function ( a ,
b , c , d ) { if ( 0 !== a && ( ! a || "-" === a ) ) return - Infinity ; b && ( a = ic ( a , b ) ) ; a . replace && ( c && ( a = a . replace ( c , "" ) ) , d && ( a = a . replace ( d , "" ) ) ) ; return 1 * a } ; l . extend ( M . type . order , { "date-pre" : function ( a ) { a = Date . parse ( a ) ; return isNaN ( a ) ? - Infinity : a } , "html-pre" : function ( a ) { return Z ( a ) ? "" : a . replace ? a . replace ( /<.*?>/g , "" ) . toLowerCase ( ) : a + "" } , "string-pre" : function ( a ) { return Z ( a ) ? "" : "string" === typeof a ? a . toLowerCase ( ) : a . toString ? a . toString ( ) : "" } , "string-asc" : function ( a , b ) { return a < b ? - 1 : a > b ? 1 : 0 } , "string-desc" : function ( a , b ) { return a <
b ? 1 : a > b ? - 1 : 0 } } ) ; Xa ( "" ) ; l . extend ( ! 0 , u . ext . renderer , { header : { _ : function ( a , b , c , d ) { l ( a . nTable ) . on ( "order.dt.DT" , function ( e , h , f , g ) { a === h && ( e = c . idx , b . removeClass ( d . sSortAsc + " " + d . sSortDesc ) . addClass ( "asc" == g [ e ] ? d . sSortAsc : "desc" == g [ e ] ? d . sSortDesc : c . sSortingClass ) ) } ) } , jqueryui : function ( a , b , c , d ) { l ( "<div/>" ) . addClass ( d . sSortJUIWrapper ) . append ( b . contents ( ) ) . append ( l ( "<span/>" ) . addClass ( d . sSortIcon + " " + c . sSortingClassJUI ) ) . appendTo ( b ) ; l ( a . nTable ) . on ( "order.dt.DT" , function ( e , h , f , g ) { a === h && ( e = c . idx , b . removeClass ( d . sSortAsc +
" " + d . sSortDesc ) . addClass ( "asc" == g [ e ] ? d . sSortAsc : "desc" == g [ e ] ? d . sSortDesc : c . sSortingClass ) , b . find ( "span." + d . sSortIcon ) . removeClass ( d . sSortJUIAsc + " " + d . sSortJUIDesc + " " + d . sSortJUI + " " + d . sSortJUIAscAllowed + " " + d . sSortJUIDescAllowed ) . addClass ( "asc" == g [ e ] ? d . sSortJUIAsc : "desc" == g [ e ] ? d . sSortJUIDesc : c . sSortingClassJUI ) ) } ) } } } ) ; var yb = function ( a ) { Array . isArray ( a ) && ( a = a . join ( "," ) ) ; return "string" === typeof a ? a . replace ( /&/g , "&" ) . replace ( /</g , "<" ) . replace ( />/g , ">" ) . replace ( /"/g , """ ) : a } ; u . render =
{ number : function ( a , b , c , d , e ) { return { display : function ( h ) { if ( "number" !== typeof h && "string" !== typeof h ) return h ; var f = 0 > h ? "-" : "" , g = parseFloat ( h ) ; if ( isNaN ( g ) ) return yb ( h ) ; g = g . toFixed ( c ) ; h = Math . abs ( g ) ; g = parseInt ( h , 10 ) ; h = c ? b + ( h - g ) . toFixed ( c ) . substring ( 2 ) : "" ; 0 === g && 0 === parseFloat ( h ) && ( f = "" ) ; return f + ( d || "" ) + g . toString ( ) . replace ( /\B(?=(\d{3})+(?!\d))/g , a ) + h + ( e || "" ) } } } , text : function ( ) { return { display : yb , filter : yb } } } ; l . extend ( u . ext . internal , { _fnExternApiFunc : fc , _fnBuildAjax : Oa , _fnAjaxUpdate : Gb , _fnAjaxParameters : Pb ,
2022-03-26 23:33:12 +01:00
_fnAjaxUpdateDraw : Qb , _fnAjaxDataSrc : za , _fnAddColumn : Ya , _fnColumnOptions : Ga , _fnAdjustColumnSizing : sa , _fnVisibleToColumnIndex : ta , _fnColumnIndexToVisible : ua , _fnVisbleColumns : oa , _fnGetColumns : Ia , _fnColumnTypes : $a , _fnApplyColumnDefs : Db , _fnHungarianMap : E , _fnCamelToHungarian : P , _fnLanguageCompat : ma , _fnBrowserDetect : Bb , _fnAddData : ia , _fnAddTr : Ja , _fnNodeToDataIndex : function ( a , b ) { return b . _DT _RowIndex !== q ? b . _DT _RowIndex : null } , _fnNodeToColumnIndex : function ( a , b , c ) { return l . inArray ( c , a . aoData [ b ] . anCells ) } , _fnGetCellData : T ,
_fnSetCellData : Eb , _fnSplitObjNotation : cb , _fnGetObjectDataFn : na , _fnSetObjectDataFn : ha , _fnGetDataMaster : db , _fnClearTable : Ka , _fnDeleteIndex : La , _fnInvalidate : va , _fnGetRowElements : bb , _fnCreateTr : ab , _fnBuildHead : Fb , _fnDrawHead : xa , _fnDraw : ja , _fnReDraw : ka , _fnAddOptionsHtml : Ib , _fnDetectHeader : wa , _fnGetUniqueThs : Na , _fnFeatureHtmlFilter : Kb , _fnFilterComplete : ya , _fnFilterCustom : Tb , _fnFilterColumn : Sb , _fnFilter : Rb , _fnFilterCreateSearch : ib , _fnEscapeRegex : jb , _fnFilterData : Ub , _fnFeatureHtmlInfo : Nb , _fnUpdateInfo : Xb ,
_fnInfoMacros : Yb , _fnInitialise : Aa , _fnInitComplete : Pa , _fnLengthChange : kb , _fnFeatureHtmlLength : Jb , _fnFeatureHtmlPaginate : Ob , _fnPageChange : Ra , _fnFeatureHtmlProcessing : Lb , _fnProcessingDisplay : V , _fnFeatureHtmlTable : Mb , _fnScrollDraw : Ha , _fnApplyToChildren : ca , _fnCalculateColumnWidths : Za , _fnThrottle : hb , _fnConvertToWidth : Zb , _fnGetWidestNode : $b , _fnGetMaxLenString : ac , _fnStringToCss : K , _fnSortFlatten : pa , _fnSort : Hb , _fnSortAria : cc , _fnSortListener : nb , _fnSortAttachListener : fb , _fnSortingClasses : Sa , _fnSortData : bc , _fnSaveState : Ca ,
2022-03-23 12:39:52 +01:00
_fnLoadState : dc , _fnImplementState : pb , _fnSettingsFromNode : Ta , _fnLog : da , _fnMap : X , _fnBindAction : ob , _fnCallbackReg : R , _fnCallbackFire : F , _fnLengthOverflow : lb , _fnRenderer : gb , _fnDataSource : Q , _fnRowAttributes : eb , _fnExtend : qb , _fnCalculateEnd : function ( ) { } } ) ; l . fn . dataTable = u ; u . $ = l ; l . fn . dataTableSettings = u . settings ; l . fn . dataTableExt = u . ext ; l . fn . DataTable = function ( a ) { return l ( this ) . dataTable ( a ) . api ( ) } ; l . each ( u , function ( a , b ) { l . fn . DataTable [ a ] = b } ) ; return u } ) ;
2020-09-26 16:19:37 +02:00
/ * !
2022-03-23 12:39:52 +01:00
DataTables styling integration
© 2018 SpryMedia Ltd - datatables . net / license
2020-09-26 16:19:37 +02:00
* /
2022-03-23 12:39:52 +01:00
( function ( c ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( a ) { return c ( a , window , document ) } ) : "object" === typeof exports ? module . exports = function ( a , b ) { a || ( a = window ) ; b && b . fn . dataTable || ( b = require ( "datatables.net" ) ( a , b ) . $ ) ; return c ( b , a , a . document ) } : c ( jQuery , window , document ) } ) ( function ( c , a , b , d ) { return c . fn . dataTable } ) ;
2020-09-26 16:19:37 +02:00
/ * !
2022-03-26 23:33:12 +01:00
Buttons for DataTables 2.2 . 2
© 2016 - 2022 SpryMedia Ltd - datatables . net / license
* /
( function ( d ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( z ) { return d ( z , window , document ) } ) : "object" === typeof exports ? module . exports = function ( z , B ) { z || ( z = window ) ; B && B . fn . dataTable || ( B = require ( "datatables.net" ) ( z , B ) . $ ) ; return d ( B , z , z . document ) } : d ( jQuery , window , document ) } ) ( function ( d , z , B , p ) { function I ( a , b , c ) { d . fn . animate ? a . stop ( ) . fadeIn ( b , c ) : ( a . css ( "display" , "block" ) , c && c . call ( a ) ) } function J ( a , b , c ) { d . fn . animate ? a . stop ( ) . fadeOut ( b , c ) : ( a . css ( "display" , "none" ) , c && c . call ( a ) ) }
function L ( a , b ) { a = new u . Api ( a ) ; b = b ? b : a . init ( ) . buttons || u . defaults . buttons ; return ( new x ( a , b ) ) . container ( ) } var u = d . fn . dataTable , O = 0 , P = 0 , C = u . ext . buttons , x = function ( a , b ) { if ( ! ( this instanceof x ) ) return function ( c ) { return ( new x ( c , a ) ) . container ( ) } ; "undefined" === typeof b && ( b = { } ) ; ! 0 === b && ( b = { } ) ; Array . isArray ( b ) && ( b = { buttons : b } ) ; this . c = d . extend ( ! 0 , { } , x . defaults , b ) ; b . buttons && ( this . c . buttons = b . buttons ) ; this . s = { dt : new u . Api ( a ) , buttons : [ ] , listenKeys : "" , namespace : "dtb" + O ++ } ; this . dom = { container : d ( "<" + this . c . dom . container . tag +
"/>" ) . addClass ( this . c . dom . container . className ) } ; this . _constructor ( ) } ; d . extend ( x . prototype , { action : function ( a , b ) { a = this . _nodeToButton ( a ) ; if ( b === p ) return a . conf . action ; a . conf . action = b ; return this } , active : function ( a , b ) { var c = this . _nodeToButton ( a ) ; a = this . c . dom . button . active ; c = d ( c . node ) ; if ( b === p ) return c . hasClass ( a ) ; c . toggleClass ( a , b === p ? ! 0 : b ) ; return this } , add : function ( a , b , c ) { var e = this . s . buttons ; if ( "string" === typeof b ) { b = b . split ( "-" ) ; var h = this . s ; e = 0 ; for ( var f = b . length - 1 ; e < f ; e ++ ) h = h . buttons [ 1 * b [ e ] ] ; e =
h . buttons ; b = 1 * b [ b . length - 1 ] } this . _expandButton ( e , a , a !== p ? a . split : p , ( a === p || a . split === p || 0 === a . split . length ) && h !== p , ! 1 , b ) ; c !== p && ! 0 !== c || this . _draw ( ) ; return this } , collectionRebuild : function ( a , b ) { a = this . _nodeToButton ( a ) ; if ( b !== p ) { var c ; for ( c = a . buttons . length - 1 ; 0 <= c ; c -- ) this . remove ( a . buttons [ c ] . node ) ; for ( c = 0 ; c < b . length ; c ++ ) { var e = b [ c ] ; this . _expandButton ( a . buttons , e , e !== p && e . config !== p && e . config . split !== p , ! 0 , e . parentConf !== p && e . parentConf . split !== p , c , e . parentConf ) } } this . _draw ( a . collection , a . buttons ) } ,
container : function ( ) { return this . dom . container } , disable : function ( a ) { a = this . _nodeToButton ( a ) ; d ( a . node ) . addClass ( this . c . dom . button . disabled ) . attr ( "disabled" , ! 0 ) ; return this } , destroy : function ( ) { d ( "body" ) . off ( "keyup." + this . s . namespace ) ; var a = this . s . buttons . slice ( ) , b ; var c = 0 ; for ( b = a . length ; c < b ; c ++ ) this . remove ( a [ c ] . node ) ; this . dom . container . remove ( ) ; a = this . s . dt . settings ( ) [ 0 ] ; c = 0 ; for ( b = a . length ; c < b ; c ++ ) if ( a . inst === this ) { a . splice ( c , 1 ) ; break } return this } , enable : function ( a , b ) { if ( ! 1 === b ) return this . disable ( a ) ;
a = this . _nodeToButton ( a ) ; d ( a . node ) . removeClass ( this . c . dom . button . disabled ) . removeAttr ( "disabled" ) ; return this } , index : function ( a , b , c ) { b || ( b = "" , c = this . s . buttons ) ; for ( var e = 0 , h = c . length ; e < h ; e ++ ) { var f = c [ e ] . buttons ; if ( c [ e ] . node === a ) return b + e ; if ( f && f . length && ( f = this . index ( a , e + "-" , f ) , null !== f ) ) return f } return null } , name : function ( ) { return this . c . name } , node : function ( a ) { if ( ! a ) return this . dom . container ; a = this . _nodeToButton ( a ) ; return d ( a . node ) } , processing : function ( a , b ) { var c = this . s . dt , e = this . _nodeToButton ( a ) ;
if ( b === p ) return d ( e . node ) . hasClass ( "processing" ) ; d ( e . node ) . toggleClass ( "processing" , b ) ; d ( c . table ( ) . node ( ) ) . triggerHandler ( "buttons-processing.dt" , [ b , c . button ( a ) , c , d ( a ) , e . conf ] ) ; return this } , remove : function ( a ) { var b = this . _nodeToButton ( a ) , c = this . _nodeToHost ( a ) , e = this . s . dt ; if ( b . buttons . length ) for ( var h = b . buttons . length - 1 ; 0 <= h ; h -- ) this . remove ( b . buttons [ h ] . node ) ; b . conf . destroying = ! 0 ; b . conf . destroy && b . conf . destroy . call ( e . button ( a ) , e , d ( a ) , b . conf ) ; this . _removeKey ( b . conf ) ; d ( b . node ) . remove ( ) ; a = d . inArray ( b ,
c ) ; c . splice ( a , 1 ) ; return this } , text : function ( a , b ) { var c = this . _nodeToButton ( a ) ; a = this . c . dom . collection . buttonLiner ; a = c . inCollection && a && a . tag ? a . tag : this . c . dom . buttonLiner . tag ; var e = this . s . dt , h = d ( c . node ) , f = function ( g ) { return "function" === typeof g ? g ( e , h , c . conf ) : g } ; if ( b === p ) return f ( c . conf . text ) ; c . conf . text = b ; a ? h . children ( a ) . eq ( 0 ) . filter ( ":not(.dt-down-arrow)" ) . html ( f ( b ) ) : h . html ( f ( b ) ) ; return this } , _constructor : function ( ) { var a = this , b = this . s . dt , c = b . settings ( ) [ 0 ] , e = this . c . buttons ; c . _buttons || ( c . _buttons =
[ ] ) ; c . _buttons . push ( { inst : this , name : this . c . name } ) ; for ( var h = 0 , f = e . length ; h < f ; h ++ ) this . add ( e [ h ] ) ; b . on ( "destroy" , function ( g , l ) { l === c && a . destroy ( ) } ) ; d ( "body" ) . on ( "keyup." + this . s . namespace , function ( g ) { if ( ! B . activeElement || B . activeElement === B . body ) { var l = String . fromCharCode ( g . keyCode ) . toLowerCase ( ) ; - 1 !== a . s . listenKeys . toLowerCase ( ) . indexOf ( l ) && a . _keypress ( l , g ) } } ) } , _addKey : function ( a ) { a . key && ( this . s . listenKeys += d . isPlainObject ( a . key ) ? a . key . key : a . key ) } , _draw : function ( a , b ) { a || ( a = this . dom . container , b = this . s . buttons ) ;
a . children ( ) . detach ( ) ; for ( var c = 0 , e = b . length ; c < e ; c ++ ) a . append ( b [ c ] . inserter ) , a . append ( " " ) , b [ c ] . buttons && b [ c ] . buttons . length && this . _draw ( b [ c ] . collection , b [ c ] . buttons ) } , _expandButton : function ( a , b , c , e , h , f , g ) { var l = this . s . dt , m = 0 , r = Array . isArray ( b ) ? b : [ b ] ; b === p && ( r = Array . isArray ( c ) ? c : [ c ] ) ; c = 0 ; for ( var q = r . length ; c < q ; c ++ ) { var n = this . _resolveExtends ( r [ c ] ) ; if ( n ) if ( b = n . config !== p && n . config . split ? ! 0 : ! 1 , Array . isArray ( n ) ) this . _expandButton ( a , n , k !== p && k . conf !== p ? k . conf . split : p , e , g !== p && g . split !== p , f , g ) ; else { var k =
this . _buildButton ( n , e , n . split !== p || n . config !== p && n . config . split !== p , h ) ; if ( k ) { f !== p && null !== f ? ( a . splice ( f , 0 , k ) , f ++ ) : a . push ( k ) ; if ( k . conf . buttons || k . conf . split ) { k . collection = d ( "<" + ( b ? this . c . dom . splitCollection . tag : this . c . dom . collection . tag ) + "/>" ) ; k . conf . _collection = k . collection ; if ( k . conf . split ) for ( var t = 0 ; t < k . conf . split . length ; t ++ ) "object" === typeof k . conf . split [ t ] && ( k . conf . split [ t ] . parent = g , k . conf . split [ t ] . collectionLayout === p && ( k . conf . split [ t ] . collectionLayout = k . conf . collectionLayout ) , k . conf . split [ t ] . dropup ===
p && ( k . conf . split [ t ] . dropup = k . conf . dropup ) , k . conf . split [ t ] . fade === p && ( k . conf . split [ t ] . fade = k . conf . fade ) ) ; else d ( k . node ) . append ( d ( '<span class="dt-down-arrow">' + this . c . dom . splitDropdown . text + "</span>" ) ) ; this . _expandButton ( k . buttons , k . conf . buttons , k . conf . split , ! b , b , f , k . conf ) } k . conf . parent = g ; n . init && n . init . call ( l . button ( k . node ) , l , d ( k . node ) , n ) ; m ++ } } } } , _buildButton : function ( a , b , c , e ) { var h = this . c . dom . button , f = this . c . dom . buttonLiner , g = this . c . dom . collection , l = this . c . dom . splitCollection , m = this . c . dom . splitDropdownButton ,
r = this . s . dt , q = function ( w ) { return "function" === typeof w ? w ( r , k , a ) : w } ; if ( a . spacer ) { var n = d ( "<span></span>" ) . addClass ( "dt-button-spacer " + a . style + " " + h . spacerClass ) . html ( q ( a . text ) ) ; return { conf : a , node : n , inserter : n , buttons : [ ] , inCollection : b , isSplit : c , inSplit : e , collection : null } } ! c && e && l ? h = m : ! c && b && g . button && ( h = g . button ) ; ! c && e && l . buttonLiner ? f = l . buttonLiner : ! c && b && g . buttonLiner && ( f = g . buttonLiner ) ; if ( a . available && ! a . available ( r , a ) && ! a . hasOwnProperty ( "html" ) ) return ! 1 ; if ( a . hasOwnProperty ( "html" ) ) var k = d ( a . html ) ;
else { var t = function ( w , D , F , G ) { G . action . call ( D . button ( F ) , w , D , F , G ) ; d ( D . table ( ) . node ( ) ) . triggerHandler ( "buttons-action.dt" , [ D . button ( F ) , D , F , G ] ) } ; g = a . tag || h . tag ; var y = a . clickBlurs === p ? ! 0 : a . clickBlurs ; k = d ( "<" + g + "/>" ) . addClass ( h . className ) . addClass ( e ? this . c . dom . splitDropdownButton . className : "" ) . attr ( "tabindex" , this . s . dt . settings ( ) [ 0 ] . iTabIndex ) . attr ( "aria-controls" , this . s . dt . table ( ) . node ( ) . id ) . on ( "click.dtb" , function ( w ) { w . preventDefault ( ) ; ! k . hasClass ( h . disabled ) && a . action && t ( w , r , k , a ) ; y && k . trigger ( "blur" ) } ) . on ( "keypress.dtb" ,
function ( w ) { 13 === w . keyCode && ( w . preventDefault ( ) , ! k . hasClass ( h . disabled ) && a . action && t ( w , r , k , a ) ) } ) ; "a" === g . toLowerCase ( ) && k . attr ( "href" , "#" ) ; "button" === g . toLowerCase ( ) && k . attr ( "type" , "button" ) ; f . tag ? ( g = d ( "<" + f . tag + "/>" ) . html ( q ( a . text ) ) . addClass ( f . className ) , "a" === f . tag . toLowerCase ( ) && g . attr ( "href" , "#" ) , k . append ( g ) ) : k . html ( q ( a . text ) ) ; ! 1 === a . enabled && k . addClass ( h . disabled ) ; a . className && k . addClass ( a . className ) ; a . titleAttr && k . attr ( "title" , q ( a . titleAttr ) ) ; a . attr && k . attr ( a . attr ) ; a . namespace || ( a . namespace =
".dt-button-" + P ++ ) ; a . config !== p && a . config . split && ( a . split = a . config . split ) } f = ( f = this . c . dom . buttonContainer ) && f . tag ? d ( "<" + f . tag + "/>" ) . addClass ( f . className ) . append ( k ) : k ; this . _addKey ( a ) ; this . c . buttonCreated && ( f = this . c . buttonCreated ( a , f ) ) ; if ( c ) { n = d ( "<div/>" ) . addClass ( this . c . dom . splitWrapper . className ) ; n . append ( k ) ; var v = d . extend ( a , { text : this . c . dom . splitDropdown . text , className : this . c . dom . splitDropdown . className , closeButton : ! 1 , attr : { "aria-haspopup" : ! 0 , "aria-expanded" : ! 1 } , align : this . c . dom . splitDropdown . align ,
splitAlignClass : this . c . dom . splitDropdown . splitAlignClass } ) ; this . _addKey ( v ) ; var E = function ( w , D , F , G ) { C . split . action . call ( D . button ( d ( "div.dt-btn-split-wrapper" ) [ 0 ] ) , w , D , F , G ) ; d ( D . table ( ) . node ( ) ) . triggerHandler ( "buttons-action.dt" , [ D . button ( F ) , D , F , G ] ) ; F . attr ( "aria-expanded" , ! 0 ) } , A = d ( '<button class="' + this . c . dom . splitDropdown . className + ' dt-button"><span class="dt-btn-split-drop-arrow">' + this . c . dom . splitDropdown . text + "</span></button>" ) . on ( "click.dtb" , function ( w ) { w . preventDefault ( ) ; w . stopPropagation ( ) ;
A . hasClass ( h . disabled ) || E ( w , r , A , v ) ; y && A . trigger ( "blur" ) } ) . on ( "keypress.dtb" , function ( w ) { 13 === w . keyCode && ( w . preventDefault ( ) , A . hasClass ( h . disabled ) || E ( w , r , A , v ) ) } ) ; 0 === a . split . length && A . addClass ( "dtb-hide-drop" ) ; n . append ( A ) . attr ( v . attr ) } return { conf : a , node : c ? n . get ( 0 ) : k . get ( 0 ) , inserter : c ? n : f , buttons : [ ] , inCollection : b , isSplit : c , inSplit : e , collection : null } } , _nodeToButton : function ( a , b ) { b || ( b = this . s . buttons ) ; for ( var c = 0 , e = b . length ; c < e ; c ++ ) { if ( b [ c ] . node === a ) return b [ c ] ; if ( b [ c ] . buttons . length ) { var h = this . _nodeToButton ( a ,
b [ c ] . buttons ) ; if ( h ) return h } } } , _nodeToHost : function ( a , b ) { b || ( b = this . s . buttons ) ; for ( var c = 0 , e = b . length ; c < e ; c ++ ) { if ( b [ c ] . node === a ) return b ; if ( b [ c ] . buttons . length ) { var h = this . _nodeToHost ( a , b [ c ] . buttons ) ; if ( h ) return h } } } , _keypress : function ( a , b ) { if ( ! b . _buttonsHandled ) { var c = function ( e ) { for ( var h = 0 , f = e . length ; h < f ; h ++ ) { var g = e [ h ] . conf , l = e [ h ] . node ; g . key && ( g . key === a ? ( b . _buttonsHandled = ! 0 , d ( l ) . click ( ) ) : ! d . isPlainObject ( g . key ) || g . key . key !== a || g . key . shiftKey && ! b . shiftKey || g . key . altKey && ! b . altKey || g . key . ctrlKey &&
! b . ctrlKey || g . key . metaKey && ! b . metaKey || ( b . _buttonsHandled = ! 0 , d ( l ) . click ( ) ) ) ; e [ h ] . buttons . length && c ( e [ h ] . buttons ) } } ; c ( this . s . buttons ) } } , _removeKey : function ( a ) { if ( a . key ) { var b = d . isPlainObject ( a . key ) ? a . key . key : a . key ; a = this . s . listenKeys . split ( "" ) ; b = d . inArray ( b , a ) ; a . splice ( b , 1 ) ; this . s . listenKeys = a . join ( "" ) } } , _resolveExtends : function ( a ) { var b = this , c = this . s . dt , e , h = function ( m ) { for ( var r = 0 ; ! d . isPlainObject ( m ) && ! Array . isArray ( m ) ; ) { if ( m === p ) return ; if ( "function" === typeof m ) { if ( m = m . call ( b , c , a ) , ! m ) return ! 1 } else if ( "string" ===
typeof m ) { if ( ! C [ m ] ) return { html : m } ; m = C [ m ] } r ++ ; if ( 30 < r ) throw "Buttons: Too many iterations" ; } return Array . isArray ( m ) ? m : d . extend ( { } , m ) } ; for ( a = h ( a ) ; a && a . extend ; ) { if ( ! C [ a . extend ] ) throw "Cannot extend unknown button type: " + a . extend ; var f = h ( C [ a . extend ] ) ; if ( Array . isArray ( f ) ) return f ; if ( ! f ) return ! 1 ; var g = f . className ; a . config !== p && f . config !== p && ( a . config = d . extend ( { } , f . config , a . config ) ) ; a = d . extend ( { } , f , a ) ; g && a . className !== g && ( a . className = g + " " + a . className ) ; var l = a . postfixButtons ; if ( l ) { a . buttons || ( a . buttons = [ ] ) ;
g = 0 ; for ( e = l . length ; g < e ; g ++ ) a . buttons . push ( l [ g ] ) ; a . postfixButtons = null } if ( l = a . prefixButtons ) { a . buttons || ( a . buttons = [ ] ) ; g = 0 ; for ( e = l . length ; g < e ; g ++ ) a . buttons . splice ( g , 0 , l [ g ] ) ; a . prefixButtons = null } a . extend = f . extend } return a } , _popover : function ( a , b , c , e ) { e = this . c ; var h = ! 1 , f = d . extend ( { align : "button-left" , autoClose : ! 1 , background : ! 0 , backgroundClassName : "dt-button-background" , closeButton : ! 0 , contentClassName : e . dom . collection . className , collectionLayout : "" , collectionTitle : "" , dropup : ! 1 , fade : 400 , popoverTitle : "" ,
rightAlignClassName : "dt-button-right" , tag : e . dom . collection . tag } , c ) , g = b . node ( ) , l = function ( ) { h = ! 0 ; J ( d ( ".dt-button-collection" ) , f . fade , function ( ) { d ( this ) . detach ( ) } ) ; d ( b . buttons ( '[aria-haspopup="true"][aria-expanded="true"]' ) . nodes ( ) ) . attr ( "aria-expanded" , "false" ) ; d ( "div.dt-button-background" ) . off ( "click.dtb-collection" ) ; x . background ( ! 1 , f . backgroundClassName , f . fade , g ) ; d ( z ) . off ( "resize.resize.dtb-collection" ) ; d ( "body" ) . off ( ".dtb-collection" ) ; b . off ( "buttons-action.b-internal" ) ; b . off ( "destroy" ) } ; if ( ! 1 ===
a ) l ( ) ; else { c = d ( b . buttons ( '[aria-haspopup="true"][aria-expanded="true"]' ) . nodes ( ) ) ; c . length && ( g . closest ( "div.dt-button-collection" ) . length && ( g = c . eq ( 0 ) ) , l ( ) ) ; c = d ( ".dt-button" , a ) . length ; e = "" ; 3 === c ? e = "dtb-b3" : 2 === c ? e = "dtb-b2" : 1 === c && ( e = "dtb-b1" ) ; var m = d ( "<div/>" ) . addClass ( "dt-button-collection" ) . addClass ( f . collectionLayout ) . addClass ( f . splitAlignClass ) . addClass ( e ) . css ( "display" , "none" ) ; a = d ( a ) . addClass ( f . contentClassName ) . attr ( "role" , "menu" ) . appendTo ( m ) ; g . attr ( "aria-expanded" , "true" ) ; g . parents ( "body" ) [ 0 ] !==
B . body && ( g = B . body . lastChild ) ; f . popoverTitle ? m . prepend ( '<div class="dt-button-collection-title">' + f . popoverTitle + "</div>" ) : f . collectionTitle && m . prepend ( '<div class="dt-button-collection-title">' + f . collectionTitle + "</div>" ) ; f . closeButton && m . prepend ( '<div class="dtb-popover-close">x</div>' ) . addClass ( "dtb-collection-closeable" ) ; I ( m . insertAfter ( g ) , f . fade ) ; c = d ( b . table ( ) . container ( ) ) ; var r = m . css ( "position" ) ; if ( "container" === f . span || "dt-container" === f . align ) g = g . parent ( ) , m . css ( "width" , c . width ( ) ) ; if ( "absolute" ===
r ) { var q = d ( g [ 0 ] . offsetParent ) ; c = g . position ( ) ; e = g . offset ( ) ; var n = q . offset ( ) , k = q . position ( ) , t = z . getComputedStyle ( q [ 0 ] ) ; n . height = q . outerHeight ( ) ; n . width = q . width ( ) + parseFloat ( t . paddingLeft ) ; n . right = n . left + n . width ; n . bottom = n . top + n . height ; q = c . top + g . outerHeight ( ) ; var y = c . left ; m . css ( { top : q , left : y } ) ; t = z . getComputedStyle ( m [ 0 ] ) ; var v = m . offset ( ) ; v . height = m . outerHeight ( ) ; v . width = m . outerWidth ( ) ; v . right = v . left + v . width ; v . bottom = v . top + v . height ; v . marginTop = parseFloat ( t . marginTop ) ; v . marginBottom = parseFloat ( t . marginBottom ) ;
f . dropup && ( q = c . top - v . height - v . marginTop - v . marginBottom ) ; if ( "button-right" === f . align || m . hasClass ( f . rightAlignClassName ) ) y = c . left - v . width + g . outerWidth ( ) ; if ( "dt-container" === f . align || "container" === f . align ) y < c . left && ( y = - c . left ) , y + v . width > n . width && ( y = n . width - v . width ) ; k . left + y + v . width > d ( z ) . width ( ) && ( y = d ( z ) . width ( ) - v . width - k . left ) ; 0 > e . left + y && ( y = - e . left ) ; k . top + q + v . height > d ( z ) . height ( ) + d ( z ) . scrollTop ( ) && ( q = c . top - v . height - v . marginTop - v . marginBottom ) ; k . top + q < d ( z ) . scrollTop ( ) && ( q = c . top + g . outerHeight ( ) ) ; m . css ( { top : q ,
left : y } ) } else r = function ( ) { var E = d ( z ) . height ( ) / 2 , A = m . height ( ) / 2 ; A > E && ( A = E ) ; m . css ( "marginTop" , - 1 * A ) } , r ( ) , d ( z ) . on ( "resize.dtb-collection" , function ( ) { r ( ) } ) ; f . background && x . background ( ! 0 , f . backgroundClassName , f . fade , f . backgroundHost || g ) ; d ( "div.dt-button-background" ) . on ( "click.dtb-collection" , function ( ) { } ) ; f . autoClose && setTimeout ( function ( ) { b . on ( "buttons-action.b-internal" , function ( E , A , w , D ) { D [ 0 ] !== g [ 0 ] && l ( ) } ) } , 0 ) ; d ( m ) . trigger ( "buttons-popover.dt" ) ; b . on ( "destroy" , l ) ; setTimeout ( function ( ) { h = ! 1 ; d ( "body" ) . on ( "click.dtb-collection" ,
function ( E ) { if ( ! h ) { var A = d . fn . addBack ? "addBack" : "andSelf" , w = d ( E . target ) . parent ( ) [ 0 ] ; ( ! d ( E . target ) . parents ( ) [ A ] ( ) . filter ( a ) . length && ! d ( w ) . hasClass ( "dt-buttons" ) || d ( E . target ) . hasClass ( "dt-button-background" ) ) && l ( ) } } ) . on ( "keyup.dtb-collection" , function ( E ) { 27 === E . keyCode && l ( ) } ) } , 0 ) } } } ) ; x . background = function ( a , b , c , e ) { c === p && ( c = 400 ) ; e || ( e = B . body ) ; a ? I ( d ( "<div/>" ) . addClass ( b ) . css ( "display" , "none" ) . insertAfter ( e ) , c ) : J ( d ( "div." + b ) , c , function ( ) { d ( this ) . removeClass ( b ) . remove ( ) } ) } ; x . instanceSelector = function ( a ,
b ) { if ( a === p || null === a ) return d . map ( b , function ( f ) { return f . inst } ) ; var c = [ ] , e = d . map ( b , function ( f ) { return f . name } ) , h = function ( f ) { if ( Array . isArray ( f ) ) for ( var g = 0 , l = f . length ; g < l ; g ++ ) h ( f [ g ] ) ; else "string" === typeof f ? - 1 !== f . indexOf ( "," ) ? h ( f . split ( "," ) ) : ( f = d . inArray ( f . trim ( ) , e ) , - 1 !== f && c . push ( b [ f ] . inst ) ) : "number" === typeof f ? c . push ( b [ f ] . inst ) : "object" === typeof f && c . push ( f ) } ; h ( a ) ; return c } ; x . buttonSelector = function ( a , b ) { for ( var c = [ ] , e = function ( l , m , r ) { for ( var q , n , k = 0 , t = m . length ; k < t ; k ++ ) if ( q = m [ k ] ) n = r !== p ? r + k :
k + "" , l . push ( { node : q . node , name : q . conf . name , idx : n } ) , q . buttons && e ( l , q . buttons , n + "-" ) } , h = function ( l , m ) { var r , q = [ ] ; e ( q , m . s . buttons ) ; var n = d . map ( q , function ( k ) { return k . node } ) ; if ( Array . isArray ( l ) || l instanceof d ) for ( n = 0 , r = l . length ; n < r ; n ++ ) h ( l [ n ] , m ) ; else if ( null === l || l === p || "*" === l ) for ( n = 0 , r = q . length ; n < r ; n ++ ) c . push ( { inst : m , node : q [ n ] . node } ) ; else if ( "number" === typeof l ) m . s . buttons [ l ] && c . push ( { inst : m , node : m . s . buttons [ l ] . node } ) ; else if ( "string" === typeof l ) if ( - 1 !== l . indexOf ( "," ) ) for ( q = l . split ( "," ) , n = 0 , r = q . length ; n <
r ; n ++ ) h ( q [ n ] . trim ( ) , m ) ; else if ( l . match ( /^\d+(\-\d+)*$/ ) ) n = d . map ( q , function ( k ) { return k . idx } ) , c . push ( { inst : m , node : q [ d . inArray ( l , n ) ] . node } ) ; else if ( - 1 !== l . indexOf ( ":name" ) ) for ( l = l . replace ( ":name" , "" ) , n = 0 , r = q . length ; n < r ; n ++ ) q [ n ] . name === l && c . push ( { inst : m , node : q [ n ] . node } ) ; else d ( n ) . filter ( l ) . each ( function ( ) { c . push ( { inst : m , node : this } ) } ) ; else "object" === typeof l && l . nodeName && ( q = d . inArray ( l , n ) , - 1 !== q && c . push ( { inst : m , node : n [ q ] } ) ) } , f = 0 , g = a . length ; f < g ; f ++ ) h ( b , a [ f ] ) ; return c } ; x . stripData = function ( a , b ) { if ( "string" !==
typeof a ) return a ; a = a . replace ( /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi , "" ) ; a = a . replace ( /<!\-\-.*?\-\->/g , "" ) ; if ( ! b || b . stripHtml ) a = a . replace ( /<[^>]*>/g , "" ) ; if ( ! b || b . trim ) a = a . replace ( /^\s+|\s+$/g , "" ) ; if ( ! b || b . stripNewlines ) a = a . replace ( /\n/g , " " ) ; if ( ! b || b . decodeEntities ) M . innerHTML = a , a = M . value ; return a } ; x . defaults = { buttons : [ "copy" , "excel" , "csv" , "pdf" , "print" ] , name : "main" , tabIndex : 0 , dom : { container : { tag : "div" , className : "dt-buttons" } , collection : { tag : "div" , className : "" } , button : { tag : "button" ,
className : "dt-button" , active : "active" , disabled : "disabled" , spacerClass : "" } , buttonLiner : { tag : "span" , className : "" } , split : { tag : "div" , className : "dt-button-split" } , splitWrapper : { tag : "div" , className : "dt-btn-split-wrapper" } , splitDropdown : { tag : "button" , text : "▼" , className : "dt-btn-split-drop" , align : "split-right" , splitAlignClass : "dt-button-split-left" } , splitDropdownButton : { tag : "button" , className : "dt-btn-split-drop-button dt-button" } , splitCollection : { tag : "div" , className : "dt-button-split-collection" } } } ;
x . version = "2.2.2" ; d . extend ( C , { collection : { text : function ( a ) { return a . i18n ( "buttons.collection" , "Collection" ) } , className : "buttons-collection" , closeButton : ! 1 , init : function ( a , b , c ) { b . attr ( "aria-expanded" , ! 1 ) } , action : function ( a , b , c , e ) { e . _collection . parents ( "body" ) . length ? this . popover ( ! 1 , e ) : this . popover ( e . _collection , e ) } , attr : { "aria-haspopup" : ! 0 } } , split : { text : function ( a ) { return a . i18n ( "buttons.split" , "Split" ) } , className : "buttons-split" , closeButton : ! 1 , init : function ( a , b , c ) { return b . attr ( "aria-expanded" , ! 1 ) } ,
action : function ( a , b , c , e ) { this . popover ( e . _collection , e ) } , attr : { "aria-haspopup" : ! 0 } } , copy : function ( a , b ) { if ( C . copyHtml5 ) return "copyHtml5" } , csv : function ( a , b ) { if ( C . csvHtml5 && C . csvHtml5 . available ( a , b ) ) return "csvHtml5" } , excel : function ( a , b ) { if ( C . excelHtml5 && C . excelHtml5 . available ( a , b ) ) return "excelHtml5" } , pdf : function ( a , b ) { if ( C . pdfHtml5 && C . pdfHtml5 . available ( a , b ) ) return "pdfHtml5" } , pageLength : function ( a ) { a = a . settings ( ) [ 0 ] . aLengthMenu ; var b = [ ] , c = [ ] ; if ( Array . isArray ( a [ 0 ] ) ) b = a [ 0 ] , c = a [ 1 ] ; else for ( var e = 0 ; e < a . length ; e ++ ) { var h =
a [ e ] ; d . isPlainObject ( h ) ? ( b . push ( h . value ) , c . push ( h . label ) ) : ( b . push ( h ) , c . push ( h ) ) } return { extend : "collection" , text : function ( f ) { return f . i18n ( "buttons.pageLength" , { "-1" : "Show all rows" , _ : "Show %d rows" } , f . page . len ( ) ) } , className : "buttons-page-length" , autoClose : ! 0 , buttons : d . map ( b , function ( f , g ) { return { text : c [ g ] , className : "button-page-length" , action : function ( l , m ) { m . page . len ( f ) . draw ( ) } , init : function ( l , m , r ) { var q = this ; m = function ( ) { q . active ( l . page . len ( ) === f ) } ; l . on ( "length.dt" + r . namespace , m ) ; m ( ) } , destroy : function ( l ,
m , r ) { l . off ( "length.dt" + r . namespace ) } } } ) , init : function ( f , g , l ) { var m = this ; f . on ( "length.dt" + l . namespace , function ( ) { m . text ( l . text ) } ) } , destroy : function ( f , g , l ) { f . off ( "length.dt" + l . namespace ) } } } , spacer : { style : "empty" , spacer : ! 0 , text : function ( a ) { return a . i18n ( "buttons.spacer" , "" ) } } } ) ; u . Api . register ( "buttons()" , function ( a , b ) { b === p && ( b = a , a = p ) ; this . selector . buttonGroup = a ; var c = this . iterator ( ! 0 , "table" , function ( e ) { if ( e . _buttons ) return x . buttonSelector ( x . instanceSelector ( a , e . _buttons ) , b ) } , ! 0 ) ; c . _groupSelector =
a ; return c } ) ; u . Api . register ( "button()" , function ( a , b ) { a = this . buttons ( a , b ) ; 1 < a . length && a . splice ( 1 , a . length ) ; return a } ) ; u . Api . registerPlural ( "buttons().active()" , "button().active()" , function ( a ) { return a === p ? this . map ( function ( b ) { return b . inst . active ( b . node ) } ) : this . each ( function ( b ) { b . inst . active ( b . node , a ) } ) } ) ; u . Api . registerPlural ( "buttons().action()" , "button().action()" , function ( a ) { return a === p ? this . map ( function ( b ) { return b . inst . action ( b . node ) } ) : this . each ( function ( b ) { b . inst . action ( b . node , a ) } ) } ) ; u . Api . registerPlural ( "buttons().collectionRebuild()" ,
"button().collectionRebuild()" , function ( a ) { return this . each ( function ( b ) { for ( var c = 0 ; c < a . length ; c ++ ) "object" === typeof a [ c ] && ( a [ c ] . parentConf = b ) ; b . inst . collectionRebuild ( b . node , a ) } ) } ) ; u . Api . register ( [ "buttons().enable()" , "button().enable()" ] , function ( a ) { return this . each ( function ( b ) { b . inst . enable ( b . node , a ) } ) } ) ; u . Api . register ( [ "buttons().disable()" , "button().disable()" ] , function ( ) { return this . each ( function ( a ) { a . inst . disable ( a . node ) } ) } ) ; u . Api . register ( "button().index()" , function ( ) { var a = null ; this . each ( function ( b ) { b =
b . inst . index ( b . node ) ; null !== b && ( a = b ) } ) ; return a } ) ; u . Api . registerPlural ( "buttons().nodes()" , "button().node()" , function ( ) { var a = d ( ) ; d ( this . each ( function ( b ) { a = a . add ( b . inst . node ( b . node ) ) } ) ) ; return a } ) ; u . Api . registerPlural ( "buttons().processing()" , "button().processing()" , function ( a ) { return a === p ? this . map ( function ( b ) { return b . inst . processing ( b . node ) } ) : this . each ( function ( b ) { b . inst . processing ( b . node , a ) } ) } ) ; u . Api . registerPlural ( "buttons().text()" , "button().text()" , function ( a ) { return a === p ? this . map ( function ( b ) { return b . inst . text ( b . node ) } ) :
this . each ( function ( b ) { b . inst . text ( b . node , a ) } ) } ) ; u . Api . registerPlural ( "buttons().trigger()" , "button().trigger()" , function ( ) { return this . each ( function ( a ) { a . inst . node ( a . node ) . trigger ( "click" ) } ) } ) ; u . Api . register ( "button().popover()" , function ( a , b ) { return this . map ( function ( c ) { return c . inst . _popover ( a , this . button ( this [ 0 ] . node ) , b ) } ) } ) ; u . Api . register ( "buttons().containers()" , function ( ) { var a = d ( ) , b = this . _groupSelector ; this . iterator ( ! 0 , "table" , function ( c ) { if ( c . _buttons ) { c = x . instanceSelector ( b , c . _buttons ) ; for ( var e =
0 , h = c . length ; e < h ; e ++ ) a = a . add ( c [ e ] . container ( ) ) } } ) ; return a } ) ; u . Api . register ( "buttons().container()" , function ( ) { return this . containers ( ) . eq ( 0 ) } ) ; u . Api . register ( "button().add()" , function ( a , b , c ) { var e = this . context ; e . length && ( e = x . instanceSelector ( this . _groupSelector , e [ 0 ] . _buttons ) , e . length && e [ 0 ] . add ( b , a , c ) ) ; return this . button ( this . _groupSelector , a ) } ) ; u . Api . register ( "buttons().destroy()" , function ( ) { this . pluck ( "inst" ) . unique ( ) . each ( function ( a ) { a . destroy ( ) } ) ; return this } ) ; u . Api . registerPlural ( "buttons().remove()" ,
"buttons().remove()" , function ( ) { this . each ( function ( a ) { a . inst . remove ( a . node ) } ) ; return this } ) ; var H ; u . Api . register ( "buttons.info()" , function ( a , b , c ) { var e = this ; if ( ! 1 === a ) return this . off ( "destroy.btn-info" ) , J ( d ( "#datatables_buttons_info" ) , 400 , function ( ) { d ( this ) . remove ( ) } ) , clearTimeout ( H ) , H = null , this ; H && clearTimeout ( H ) ; d ( "#datatables_buttons_info" ) . length && d ( "#datatables_buttons_info" ) . remove ( ) ; a = a ? "<h2>" + a + "</h2>" : "" ; I ( d ( '<div id="datatables_buttons_info" class="dt-button-info"/>' ) . html ( a ) . append ( d ( "<div/>" ) [ "string" ===
typeof b ? "html" : "append" ] ( b ) ) . css ( "display" , "none" ) . appendTo ( "body" ) ) ; c !== p && 0 !== c && ( H = setTimeout ( function ( ) { e . buttons . info ( ! 1 ) } , c ) ) ; this . on ( "destroy.btn-info" , function ( ) { e . buttons . info ( ! 1 ) } ) ; return this } ) ; u . Api . register ( "buttons.exportData()" , function ( a ) { if ( this . context . length ) return Q ( new u . Api ( this . context [ 0 ] ) , a ) } ) ; u . Api . register ( "buttons.exportInfo()" , function ( a ) { a || ( a = { } ) ; var b = a ; var c = "*" === b . filename && "*" !== b . title && b . title !== p && null !== b . title && "" !== b . title ? b . title : b . filename ; "function" ===
typeof c && ( c = c ( ) ) ; c === p || null === c ? c = null : ( - 1 !== c . indexOf ( "*" ) && ( c = c . replace ( "*" , d ( "head > title" ) . text ( ) ) . trim ( ) ) , c = c . replace ( /[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g , "" ) , ( b = K ( b . extension ) ) || ( b = "" ) , c += b ) ; b = K ( a . title ) ; b = null === b ? null : - 1 !== b . indexOf ( "*" ) ? b . replace ( "*" , d ( "head > title" ) . text ( ) || "Exported data" ) : b ; return { filename : c , title : b , messageTop : N ( this , a . message || a . messageTop , "top" ) , messageBottom : N ( this , a . messageBottom , "bottom" ) } } ) ; var K = function ( a ) { return null === a || a === p ? null : "function" === typeof a ?
a ( ) : a } , N = function ( a , b , c ) { b = K ( b ) ; if ( null === b ) return null ; a = d ( "caption" , a . table ( ) . container ( ) ) . eq ( 0 ) ; return "*" === b ? a . css ( "caption-side" ) !== c ? null : a . length ? a . text ( ) : "" : b } , M = d ( "<textarea/>" ) [ 0 ] , Q = function ( a , b ) { var c = d . extend ( ! 0 , { } , { rows : null , columns : "" , modifier : { search : "applied" , order : "applied" } , orthogonal : "display" , stripHtml : ! 0 , stripNewlines : ! 0 , decodeEntities : ! 0 , trim : ! 0 , format : { header : function ( t ) { return x . stripData ( t , c ) } , footer : function ( t ) { return x . stripData ( t , c ) } , body : function ( t ) { return x . stripData ( t ,
c ) } } , customizeData : null } , b ) ; b = a . columns ( c . columns ) . indexes ( ) . map ( function ( t ) { var y = a . column ( t ) . header ( ) ; return c . format . header ( y . innerHTML , t , y ) } ) . toArray ( ) ; var e = a . table ( ) . footer ( ) ? a . columns ( c . columns ) . indexes ( ) . map ( function ( t ) { var y = a . column ( t ) . footer ( ) ; return c . format . footer ( y ? y . innerHTML : "" , t , y ) } ) . toArray ( ) : null , h = d . extend ( { } , c . modifier ) ; a . select && "function" === typeof a . select . info && h . selected === p && a . rows ( c . rows , d . extend ( { selected : ! 0 } , h ) ) . any ( ) && d . extend ( h , { selected : ! 0 } ) ; h = a . rows ( c . rows , h ) . indexes ( ) . toArray ( ) ;
var f = a . cells ( h , c . columns ) ; h = f . render ( c . orthogonal ) . toArray ( ) ; f = f . nodes ( ) . toArray ( ) ; for ( var g = b . length , l = [ ] , m = 0 , r = 0 , q = 0 < g ? h . length / g : 0 ; r < q ; r ++ ) { for ( var n = [ g ] , k = 0 ; k < g ; k ++ ) n [ k ] = c . format . body ( h [ m ] , r , k , f [ m ] ) , m ++ ; l [ r ] = n } b = { header : b , footer : e , body : l } ; c . customizeData && c . customizeData ( b ) ; return b } ; d . fn . dataTable . Buttons = x ; d . fn . DataTable . Buttons = x ; d ( B ) . on ( "init.dt plugin-init.dt" , function ( a , b ) { "dt" === a . namespace && ( a = b . oInit . buttons || u . defaults . buttons ) && ! b . _buttons && ( new x ( b , a ) ) . container ( ) } ) ; u . ext . feature . push ( { fnInit : L ,
cFeature : "B" } ) ; u . ext . features && u . ext . features . register ( "buttons" , L ) ; return x } ) ;
/ * !
DataTables styling wrapper for Buttons
© 2018 SpryMedia Ltd - datatables . net / license
* /
( function ( c ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net-dt" , "datatables.net-buttons" ] , function ( a ) { return c ( a , window , document ) } ) : "object" === typeof exports ? module . exports = function ( a , b ) { a || ( a = window ) ; b && b . fn . dataTable || ( b = require ( "datatables.net-dt" ) ( a , b ) . $ ) ; b . fn . dataTable . Buttons || require ( "datatables.net-buttons" ) ( a , b ) ; return c ( b , a , a . document ) } : c ( jQuery , window , document ) } ) ( function ( c , a , b , d ) { return c . fn . dataTable } ) ;
/ * !
Column visibility buttons for Buttons and DataTables .
2016 SpryMedia Ltd - datatables . net / license
* /
( function ( h ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" , "datatables.net-buttons" ] , function ( e ) { return h ( e , window , document ) } ) : "object" === typeof exports ? module . exports = function ( e , g ) { e || ( e = window ) ; g && g . fn . dataTable || ( g = require ( "datatables.net" ) ( e , g ) . $ ) ; g . fn . dataTable . Buttons || require ( "datatables.net-buttons" ) ( e , g ) ; return h ( g , e , e . document ) } : h ( jQuery , window , document ) } ) ( function ( h , e , g , l ) { e = h . fn . dataTable ; h . extend ( e . ext . buttons , { colvis : function ( b , a ) { var c = null , d = { extend : "collection" ,
init : function ( f , k ) { c = k } , text : function ( f ) { return f . i18n ( "buttons.colvis" , "Column visibility" ) } , className : "buttons-colvis" , closeButton : ! 1 , buttons : [ { extend : "columnsToggle" , columns : a . columns , columnText : a . columnText } ] } ; b . on ( "column-reorder.dt" + a . namespace , function ( f , k , m ) { b . button ( null , b . button ( null , c ) . node ( ) ) . collectionRebuild ( [ { extend : "columnsToggle" , columns : a . columns , columnText : a . columnText } ] ) } ) ; return d } , columnsToggle : function ( b , a ) { return b . columns ( a . columns ) . indexes ( ) . map ( function ( c ) { return { extend : "columnToggle" ,
columns : c , columnText : a . columnText } } ) . toArray ( ) } , columnToggle : function ( b , a ) { return { extend : "columnVisibility" , columns : a . columns , columnText : a . columnText } } , columnsVisibility : function ( b , a ) { return b . columns ( a . columns ) . indexes ( ) . map ( function ( c ) { return { extend : "columnVisibility" , columns : c , visibility : a . visibility , columnText : a . columnText } } ) . toArray ( ) } , columnVisibility : { columns : l , text : function ( b , a , c ) { return c . _columnText ( b , c ) } , className : "buttons-columnVisibility" , action : function ( b , a , c , d ) { b = a . columns ( d . columns ) ;
a = b . visible ( ) ; b . visible ( d . visibility !== l ? d . visibility : ! ( a . length && a [ 0 ] ) ) } , init : function ( b , a , c ) { var d = this ; a . attr ( "data-cv-idx" , c . columns ) ; b . on ( "column-visibility.dt" + c . namespace , function ( f , k ) { k . bDestroying || k . nTable != b . settings ( ) [ 0 ] . nTable || d . active ( b . column ( c . columns ) . visible ( ) ) } ) . on ( "column-reorder.dt" + c . namespace , function ( f , k , m ) { c . destroying || 1 !== b . columns ( c . columns ) . count ( ) || ( d . text ( c . _columnText ( b , c ) ) , d . active ( b . column ( c . columns ) . visible ( ) ) ) } ) ; this . active ( b . column ( c . columns ) . visible ( ) ) } , destroy : function ( b ,
a , c ) { b . off ( "column-visibility.dt" + c . namespace ) . off ( "column-reorder.dt" + c . namespace ) } , _columnText : function ( b , a ) { var c = b . column ( a . columns ) . index ( ) , d = b . settings ( ) [ 0 ] . aoColumns [ c ] . sTitle ; d || ( d = b . column ( c ) . header ( ) . innerHTML ) ; d = d . replace ( /\n/g , " " ) . replace ( /<br\s*\/?>/gi , " " ) . replace ( /<select(.*?)<\/select>/g , "" ) . replace ( /<!\-\-.*?\-\->/g , "" ) . replace ( /<.*?>/g , "" ) . replace ( /^\s+|\s+$/g , "" ) ; return a . columnText ? a . columnText ( b , c , d ) : d } } , colvisRestore : { className : "buttons-colvisRestore" , text : function ( b ) { return b . i18n ( "buttons.colvisRestore" ,
"Restore visibility" ) } , init : function ( b , a , c ) { c . _visOriginal = b . columns ( ) . indexes ( ) . map ( function ( d ) { return b . column ( d ) . visible ( ) } ) . toArray ( ) } , action : function ( b , a , c , d ) { a . columns ( ) . every ( function ( f ) { f = a . colReorder && a . colReorder . transpose ? a . colReorder . transpose ( f , "toOriginal" ) : f ; this . visible ( d . _visOriginal [ f ] ) } ) } } , colvisGroup : { className : "buttons-colvisGroup" , action : function ( b , a , c , d ) { a . columns ( d . show ) . visible ( ! 0 , ! 1 ) ; a . columns ( d . hide ) . visible ( ! 1 , ! 1 ) ; a . columns . adjust ( ) } , show : [ ] , hide : [ ] } } ) ; return e . Buttons } ) ;
/ * !
HTML5 export buttons for Buttons and DataTables .
2016 SpryMedia Ltd - datatables . net / license
FileSaver . js ( 1.3 . 3 ) - MIT license
Copyright © 2016 Eli Grey - http : //eligrey.com
* /
( function ( n ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" , "datatables.net-buttons" ] , function ( u ) { return n ( u , window , document ) } ) : "object" === typeof exports ? module . exports = function ( u , x , E , F ) { u || ( u = window ) ; x && x . fn . dataTable || ( x = require ( "datatables.net" ) ( u , x ) . $ ) ; x . fn . dataTable . Buttons || require ( "datatables.net-buttons" ) ( u , x ) ; return n ( x , u , u . document , E , F ) } : n ( jQuery , window , document ) } ) ( function ( n , u , x , E , F , B ) { function I ( a ) { for ( var c = "" ; 0 <= a ; ) c = String . fromCharCode ( a % 26 + 65 ) + c , a = Math . floor ( a /
26 ) - 1 ; return c } function O ( a , c ) { J === B && ( J = - 1 === M . serializeToString ( ( new u . DOMParser ) . parseFromString ( P [ "xl/worksheets/sheet1.xml" ] , "text/xml" ) ) . indexOf ( "xmlns:r" ) ) ; n . each ( c , function ( d , b ) { if ( n . isPlainObject ( b ) ) d = a . folder ( d ) , O ( d , b ) ; else { if ( J ) { var m = b . childNodes [ 0 ] , e , f = [ ] ; for ( e = m . attributes . length - 1 ; 0 <= e ; e -- ) { var g = m . attributes [ e ] . nodeName ; var p = m . attributes [ e ] . nodeValue ; - 1 !== g . indexOf ( ":" ) && ( f . push ( { name : g , value : p } ) , m . removeAttribute ( g ) ) } e = 0 ; for ( g = f . length ; e < g ; e ++ ) p = b . createAttribute ( f [ e ] . name . replace ( ":" ,
"_dt_b_namespace_token_" ) ) , p . value = f [ e ] . value , m . setAttributeNode ( p ) } b = M . serializeToString ( b ) ; J && ( - 1 === b . indexOf ( "<?xml" ) && ( b = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' + b ) , b = b . replace ( /_dt_b_namespace_token_/g , ":" ) , b = b . replace ( /xmlns:NS[\d]+="" NS[\d]+:/g , "" ) ) ; b = b . replace ( /<([^<>]*?) xmlns=""([^<>]*?)>/g , "<$1 $2>" ) ; a . file ( d , b ) } } ) } function y ( a , c , d ) { var b = a . createElement ( c ) ; d && ( d . attr && n ( b ) . attr ( d . attr ) , d . children && n . each ( d . children , function ( m , e ) { b . appendChild ( e ) } ) , null !== d . text && d . text !==
B && b . appendChild ( a . createTextNode ( d . text ) ) ) ; return b } function V ( a , c ) { var d = a . header [ c ] . length ; a . footer && a . footer [ c ] . length > d && ( d = a . footer [ c ] . length ) ; for ( var b = 0 , m = a . body . length ; b < m ; b ++ ) { var e = a . body [ b ] [ c ] ; e = null !== e && e !== B ? e . toString ( ) : "" ; - 1 !== e . indexOf ( "\n" ) ? ( e = e . split ( "\n" ) , e . sort ( function ( f , g ) { return g . length - f . length } ) , e = e [ 0 ] . length ) : e = e . length ; e > d && ( d = e ) ; if ( 40 < d ) return 54 } d *= 1.35 ; return 6 < d ? d : 6 } var D = n . fn . dataTable ; D . Buttons . pdfMake = function ( a ) { if ( ! a ) return F || u . pdfMake ; F = a } ; D . Buttons . jszip =
function ( a ) { if ( ! a ) return E || u . JSZip ; E = a } ; var K = function ( a ) { if ( ! ( "undefined" === typeof a || "undefined" !== typeof navigator && /MSIE [1-9]\./ . test ( navigator . userAgent ) ) ) { var c = a . document . createElementNS ( "http://www.w3.org/1999/xhtml" , "a" ) , d = "download" in c , b = /constructor/i . test ( a . HTMLElement ) || a . safari , m = /CriOS\/[\d]+/ . test ( navigator . userAgent ) , e = function ( h ) { ( a . setImmediate || a . setTimeout ) ( function ( ) { throw h ; } , 0 ) } , f = function ( h ) { setTimeout ( function ( ) { "string" === typeof h ? ( a . URL || a . webkitURL || a ) . revokeObjectURL ( h ) :
h . remove ( ) } , 4E4 ) } , g = function ( h ) { return /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i . test ( h . type ) ? new Blob ( [ String . fromCharCode ( 65279 ) , h ] , { type : h . type } ) : h } , p = function ( h , q , v ) { v || ( h = g ( h ) ) ; var r = this , w = "application/octet-stream" === h . type , C = function ( ) { var l = [ "writestart" , "progress" , "write" , "writeend" ] ; l = [ ] . concat ( l ) ; for ( var z = l . length ; z -- ; ) { var G = r [ "on" + l [ z ] ] ; if ( "function" === typeof G ) try { G . call ( r , r ) } catch ( A ) { e ( A ) } } } ; r . readyState = r . INIT ; if ( d ) { var k = ( a . URL || a . webkitURL || a ) . createObjectURL ( h ) ;
setTimeout ( function ( ) { c . href = k ; c . download = q ; var l = new MouseEvent ( "click" ) ; c . dispatchEvent ( l ) ; C ( ) ; f ( k ) ; r . readyState = r . DONE } ) } else ( function ( ) { if ( ( m || w && b ) && a . FileReader ) { var l = new FileReader ; l . onloadend = function ( ) { var z = m ? l . result : l . result . replace ( /^data:[^;]*;/ , "data:attachment/file;" ) ; a . open ( z , "_blank" ) || ( a . location . href = z ) ; r . readyState = r . DONE ; C ( ) } ; l . readAsDataURL ( h ) ; r . readyState = r . INIT } else k || ( k = ( a . URL || a . webkitURL || a ) . createObjectURL ( h ) ) , w ? a . location . href = k : a . open ( k , "_blank" ) || ( a . location . href =
k ) , r . readyState = r . DONE , C ( ) , f ( k ) } ) ( ) } , t = p . prototype ; if ( "undefined" !== typeof navigator && navigator . msSaveOrOpenBlob ) return function ( h , q , v ) { q = q || h . name || "download" ; v || ( h = g ( h ) ) ; return navigator . msSaveOrOpenBlob ( h , q ) } ; t . abort = function ( ) { } ; t . readyState = t . INIT = 0 ; t . WRITING = 1 ; t . DONE = 2 ; t . error = t . onwritestart = t . onprogress = t . onwrite = t . onabort = t . onerror = t . onwriteend = null ; return function ( h , q , v ) { return new p ( h , q || h . name || "download" , v ) } } } ( "undefined" !== typeof self && self || "undefined" !== typeof u && u || this . content ) ; D . fileSave =
K ; var Q = function ( a ) { var c = "Sheet1" ; a . sheetName && ( c = a . sheetName . replace ( /[\[\]\*\/\\\?:]/g , "" ) ) ; return c } , R = function ( a ) { return a . newline ? a . newline : navigator . userAgent . match ( /Windows/ ) ? "\r\n" : "\n" } , S = function ( a , c ) { var d = R ( c ) ; a = a . buttons . exportData ( c . exportOptions ) ; var b = c . fieldBoundary , m = c . fieldSeparator , e = new RegExp ( b , "g" ) , f = c . escapeChar !== B ? c . escapeChar : "\\" , g = function ( v ) { for ( var r = "" , w = 0 , C = v . length ; w < C ; w ++ ) 0 < w && ( r += m ) , r += b ? b + ( "" + v [ w ] ) . replace ( e , f + b ) + b : v [ w ] ; return r } , p = c . header ? g ( a . header ) + d : "" ; c =
c . footer && a . footer ? d + g ( a . footer ) : "" ; for ( var t = [ ] , h = 0 , q = a . body . length ; h < q ; h ++ ) t . push ( g ( a . body [ h ] ) ) ; return { str : p + t . join ( d ) + c , rows : t . length } } , T = function ( ) { if ( - 1 === navigator . userAgent . indexOf ( "Safari" ) || - 1 !== navigator . userAgent . indexOf ( "Chrome" ) || - 1 !== navigator . userAgent . indexOf ( "Opera" ) ) return ! 1 ; var a = navigator . userAgent . match ( /AppleWebKit\/(\d+\.\d+)/ ) ; return a && 1 < a . length && 603.1 > 1 * a [ 1 ] ? ! 0 : ! 1 } ; try { var M = new XMLSerializer , J } catch ( a ) { } var P = { "_rels/.rels" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>' ,
"xl/_rels/workbook.xml.rels" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/></Relationships>' , "[Content_Types].xml" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="xml" ContentType="application/xml" /><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" /><Default Extension="jpeg" ContentType="image/jpeg" /><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" /><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" /><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" /></Types>' ,
"xl/workbook.xml" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><fileVersion appName="xl" lastEdited="5" lowestEdited="5" rupBuild="24816"/><workbookPr showInkAnnotation="0" autoCompressPictures="0"/><bookViews><workbookView xWindow="0" yWindow="0" windowWidth="25600" windowHeight="19020" tabRatio="500"/></bookViews><sheets><sheet name="Sheet1" sheetId="1" r:id="rId1"/></sheets><definedNames/></workbook>' ,
"xl/worksheets/sheet1.xml" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"><sheetData/><mergeCells count="0"/></worksheet>' , "xl/styles.xml" : ' < ? xml version = "1.0" encoding = "UTF-8" ? > < styleSheet xmlns = "http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns : mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" mc : Ignorable = "x14ac" xmlns : x14ac = "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" > < numFmts count = "6" > < numFmt numFmtId = "164" formatCode = "#,##0.00_- [$$-45C]" / > < numFmt numFmtId = "165" formatCode = ""£"#,##0.00" / > < numFmt numFmtId = "166" formatCode = "[$€-2] #,##0.00" / > < numFmt numFmtId = "167" formatCode = "0.0%" / > < numFmt numFmtId = "168" formatCode = "#,##0;(#,##0)" / > < numFmt numFmtId = "169" formatCode = "#,##0.00;(#,##0.00)" / > < /numFmts><fonts count="5" x14ac:knownFonts="1"><font><sz val="11" / > < name val = "Calibri" / > < /font><font><sz val="11" / > < name val = "Calibri" / > < color rgb = "FFFFFFFF" / > < /font><font><sz val="11" / > < name val = "Calibri" / > < b / > < /font><font><sz val="11" / > < name val = "Calibri" / > < i / > < /font><font><sz val="11" / > < name val = "Calibri" / > < u / > < / f o n t > < / f o n t s > < f i l l s c o u n t = " 6 " > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " n o n e " / > < / f i l l > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " n o n e " / > < / f i l l > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " s o l i d " > < f g C o l o r r g b = " F F D 9 D 9 D 9 " / > < b g C o l o r i n d e x e d = " 6 4 " / > < / p a t t e r n F i l l > < / f i l l > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " s o l i d " > < f g C o l o r r g b = " F F D 9 9 7 9 5 " / > < b g C o l o r i n d e x e d = " 6 4 " / > < / p a t t e r n F i l l > < / f i l l > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " s o l i d " > < f g C o l o r r g b = " f f c 6 e f c e " / > < b g C o l o r i n d e x e d = " 6 4 " / > < / p a t t e r n F i l l > < / f i l l > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " s o l i d " > < f g C o l o r r g b = " f f c 6 c f e f " / > < b g C o l o r i n d e x e d = " 6 4 " / > < / p a t t e r n F i l l > < / f i l l > < / f i l l s > < b o r d e r s c o u n t = " 2 " > < b o r d e r > < l e f t / > < r i g h t / > < t o p / > < b o t t o m / > < d i a g o n a l / > < / b o r d e r > < b o r d e r d i a g o n a l U p = " f a l s e " d i a g o n a l D o w n = " f a l s e " > < l e f t s t y l e = " t h i n " > < c o l o r a u t o = " 1 " / > < / l e f t > < r i g h t s t y l e = " t h i n " > < c o l o r a u t o = " 1 " / > < / r i g h t > < t o p s t y l e = " t h i n " > < c o l o r a u t o = " 1 " / > < / t o p > < b o t t o m s t y l e = " t h i n " > < c o l o r a u t o = " 1 " / > < / b o t t o m > < d i a g o n a l / > < / b o r d e r > < / b o r d e r s > < c e l l S t y l e X f s c o u n t = " 1 " > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 0 " b o r d e r I d = " 0 " / > < / c e l l S t y l e X f s > < c e l l X f s c o u n t = " 6 8 " > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 1 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 2 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 3 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 4 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 1 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 2 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 3 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 4 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 3 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 1 " f i l l I d = " 3 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 2 " f i l l I d = " 3 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 3 " f i l l I d = " 3 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 4 " f i l l I d = " 3 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 1 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r =
U = [ { match : /^\-?\d+\.\d%$/ , style : 60 , fmt : function ( a ) { return a / 100 } } , { match : /^\-?\d+\.?\d*%$/ , style : 56 , fmt : function ( a ) { return a / 100 } } , { match : /^\-?\$[\d,]+.?\d*$/ , style : 57 } , { match : /^\-?£[\d,]+.?\d*$/ , style : 58 } , { match : /^\-?€[\d,]+.?\d*$/ , style : 59 } , { match : /^\-?\d+$/ , style : 65 } , { match : /^\-?\d+\.\d{2}$/ , style : 66 } , { match : /^\([\d,]+\)$/ , style : 61 , fmt : function ( a ) { return - 1 * a . replace ( /[\(\)]/g , "" ) } } , { match : /^\([\d,]+\.\d{2}\)$/ , style : 62 , fmt : function ( a ) { return - 1 * a . replace ( /[\(\)]/g , "" ) } } , { match : /^\-?[\d,]+$/ , style : 63 } ,
{ match : /^\-?[\d,]+\.\d{2}$/ , style : 64 } , { match : /^[\d]{4}\-[\d]{2}\-[\d]{2}$/ , style : 67 , fmt : function ( a ) { return Math . round ( 25569 + Date . parse ( a ) / 864E5 ) } } ] ; D . ext . buttons . copyHtml5 = { className : "buttons-copy buttons-html5" , text : function ( a ) { return a . i18n ( "buttons.copy" , "Copy" ) } , action : function ( a , c , d , b ) { this . processing ( ! 0 ) ; var m = this ; a = S ( c , b ) ; var e = c . buttons . exportInfo ( b ) , f = R ( b ) , g = a . str ; d = n ( "<div/>" ) . css ( { height : 1 , width : 1 , overflow : "hidden" , position : "fixed" , top : 0 , left : 0 } ) ; e . title && ( g = e . title + f + f + g ) ; e . messageTop &&
( g = e . messageTop + f + f + g ) ; e . messageBottom && ( g = g + f + f + e . messageBottom ) ; b . customize && ( g = b . customize ( g , b , c ) ) ; b = n ( "<textarea readonly/>" ) . val ( g ) . appendTo ( d ) ; if ( x . queryCommandSupported ( "copy" ) ) { d . appendTo ( c . table ( ) . container ( ) ) ; b [ 0 ] . focus ( ) ; b [ 0 ] . select ( ) ; try { var p = x . execCommand ( "copy" ) ; d . remove ( ) ; if ( p ) { c . buttons . info ( c . i18n ( "buttons.copyTitle" , "Copy to clipboard" ) , c . i18n ( "buttons.copySuccess" , { 1 : "Copied one row to clipboard" , _ : "Copied %d rows to clipboard" } , a . rows ) , 2E3 ) ; this . processing ( ! 1 ) ; return } } catch ( q ) { } } p =
n ( "<span>" + c . i18n ( "buttons.copyKeys" , "Press <i>ctrl</i> or <i>⌘</i> + <i>C</i> to copy the table data<br>to your system clipboard.<br><br>To cancel, click this message or press escape." ) + "</span>" ) . append ( d ) ; c . buttons . info ( c . i18n ( "buttons.copyTitle" , "Copy to clipboard" ) , p , 0 ) ; b [ 0 ] . focus ( ) ; b [ 0 ] . select ( ) ; var t = n ( p ) . closest ( ".dt-button-info" ) , h = function ( ) { t . off ( "click.buttons-copy" ) ; n ( x ) . off ( ".buttons-copy" ) ; c . buttons . info ( ! 1 ) } ; t . on ( "click.buttons-copy" , h ) ; n ( x ) . on ( "keydown.buttons-copy" , function ( q ) { 27 ===
q . keyCode && ( h ( ) , m . processing ( ! 1 ) ) } ) . on ( "copy.buttons-copy cut.buttons-copy" , function ( ) { h ( ) ; m . processing ( ! 1 ) } ) } , exportOptions : { } , fieldSeparator : "\t" , fieldBoundary : "" , header : ! 0 , footer : ! 1 , title : "*" , messageTop : "*" , messageBottom : "*" } ; D . ext . buttons . csvHtml5 = { bom : ! 1 , className : "buttons-csv buttons-html5" , available : function ( ) { return u . FileReader !== B && u . Blob } , text : function ( a ) { return a . i18n ( "buttons.csv" , "CSV" ) } , action : function ( a , c , d , b ) { this . processing ( ! 0 ) ; a = S ( c , b ) . str ; d = c . buttons . exportInfo ( b ) ; var m = b . charset ;
b . customize && ( a = b . customize ( a , b , c ) ) ; ! 1 !== m ? ( m || ( m = x . characterSet || x . charset ) , m && ( m = ";charset=" + m ) ) : m = "" ; b . bom && ( a = String . fromCharCode ( 65279 ) + a ) ; K ( new Blob ( [ a ] , { type : "text/csv" + m } ) , d . filename , ! 0 ) ; this . processing ( ! 1 ) } , filename : "*" , extension : ".csv" , exportOptions : { } , fieldSeparator : "," , fieldBoundary : '"' , escapeChar : '"' , charset : null , header : ! 0 , footer : ! 1 } ; D . ext . buttons . excelHtml5 = { className : "buttons-excel buttons-html5" , available : function ( ) { return u . FileReader !== B && ( E || u . JSZip ) !== B && ! T ( ) && M } , text : function ( a ) { return a . i18n ( "buttons.excel" ,
"Excel" ) } , action : function ( a , c , d , b ) { this . processing ( ! 0 ) ; var m = this , e = 0 ; a = function ( k ) { return n . parseXML ( P [ k ] ) } ; var f = a ( "xl/worksheets/sheet1.xml" ) , g = f . getElementsByTagName ( "sheetData" ) [ 0 ] ; a = { _rels : { ".rels" : a ( "_rels/.rels" ) } , xl : { _rels : { "workbook.xml.rels" : a ( "xl/_rels/workbook.xml.rels" ) } , "workbook.xml" : a ( "xl/workbook.xml" ) , "styles.xml" : a ( "xl/styles.xml" ) , worksheets : { "sheet1.xml" : f } } , "[Content_Types].xml" : a ( "[Content_Types].xml" ) } ; var p = c . buttons . exportData ( b . exportOptions ) , t , h , q = function ( k ) { t = e + 1 ; h =
y ( f , "row" , { attr : { r : t } } ) ; for ( var l = 0 , z = k . length ; l < z ; l ++ ) { var G = I ( l ) + "" + t , A = null ; if ( null === k [ l ] || k [ l ] === B || "" === k [ l ] ) if ( ! 0 === b . createEmptyCells ) k [ l ] = "" ; else continue ; var H = k [ l ] ; k [ l ] = "function" === typeof k [ l ] . trim ? k [ l ] . trim ( ) : k [ l ] ; for ( var N = 0 , W = U . length ; N < W ; N ++ ) { var L = U [ N ] ; if ( k [ l ] . match && ! k [ l ] . match ( /^0\d+/ ) && k [ l ] . match ( L . match ) ) { A = k [ l ] . replace ( /[^\d\.\-]/g , "" ) ; L . fmt && ( A = L . fmt ( A ) ) ; A = y ( f , "c" , { attr : { r : G , s : L . style } , children : [ y ( f , "v" , { text : A } ) ] } ) ; break } } A || ( "number" === typeof k [ l ] || k [ l ] . match && k [ l ] . match ( /^-?\d+(\.\d+)?([eE]\-?\d+)?$/ ) &&
! k [ l ] . match ( /^0\d+/ ) ? A = y ( f , "c" , { attr : { t : "n" , r : G } , children : [ y ( f , "v" , { text : k [ l ] } ) ] } ) : ( H = H . replace ? H . replace ( /[\x00-\x09\x0B\x0C\x0E-\x1F\x7F-\x9F]/g , "" ) : H , A = y ( f , "c" , { attr : { t : "inlineStr" , r : G } , children : { row : y ( f , "is" , { children : { row : y ( f , "t" , { text : H , attr : { "xml:space" : "preserve" } } ) } } ) } } ) ) ) ; h . appendChild ( A ) } g . appendChild ( h ) ; e ++ } ; b . customizeData && b . customizeData ( p ) ; var v = function ( k , l ) { var z = n ( "mergeCells" , f ) ; z [ 0 ] . appendChild ( y ( f , "mergeCell" , { attr : { ref : "A" + k + ":" + I ( l ) + k } } ) ) ; z . attr ( "count" , parseFloat ( z . attr ( "count" ) ) +
1 ) ; n ( "row:eq(" + ( k - 1 ) + ") c" , f ) . attr ( "s" , "51" ) } , r = c . buttons . exportInfo ( b ) ; r . title && ( q ( [ r . title ] , e ) , v ( e , p . header . length - 1 ) ) ; r . messageTop && ( q ( [ r . messageTop ] , e ) , v ( e , p . header . length - 1 ) ) ; b . header && ( q ( p . header , e ) , n ( "row:last c" , f ) . attr ( "s" , "2" ) ) ; d = e ; var w = 0 ; for ( var C = p . body . length ; w < C ; w ++ ) q ( p . body [ w ] , e ) ; w = e ; b . footer && p . footer && ( q ( p . footer , e ) , n ( "row:last c" , f ) . attr ( "s" , "2" ) ) ; r . messageBottom && ( q ( [ r . messageBottom ] , e ) , v ( e , p . header . length - 1 ) ) ; q = y ( f , "cols" ) ; n ( "worksheet" , f ) . prepend ( q ) ; v = 0 ; for ( C = p . header . length ; v <
C ; v ++ ) q . appendChild ( y ( f , "col" , { attr : { min : v + 1 , max : v + 1 , width : V ( p , v ) , customWidth : 1 } } ) ) ; q = a . xl [ "workbook.xml" ] ; n ( "sheets sheet" , q ) . attr ( "name" , Q ( b ) ) ; b . autoFilter && ( n ( "mergeCells" , f ) . before ( y ( f , "autoFilter" , { attr : { ref : "A" + d + ":" + I ( p . header . length - 1 ) + w } } ) ) , n ( "definedNames" , q ) . append ( y ( q , "definedName" , { attr : { name : "_xlnm._FilterDatabase" , localSheetId : "0" , hidden : 1 } , text : Q ( b ) + "!$A$" + d + ":" + I ( p . header . length - 1 ) + w } ) ) ) ; b . customize && b . customize ( a , b , c ) ; 0 === n ( "mergeCells" , f ) . children ( ) . length && n ( "mergeCells" , f ) . remove ( ) ;
c = new ( E || u . JSZip ) ; d = { type : "blob" , mimeType : "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" } ; O ( c , a ) ; c . generateAsync ? c . generateAsync ( d ) . then ( function ( k ) { K ( k , r . filename ) ; m . processing ( ! 1 ) } ) : ( K ( c . generate ( d ) , r . filename ) , this . processing ( ! 1 ) ) } , filename : "*" , extension : ".xlsx" , exportOptions : { } , header : ! 0 , footer : ! 1 , title : "*" , messageTop : "*" , messageBottom : "*" , createEmptyCells : ! 1 , autoFilter : ! 1 , sheetName : "" } ; D . ext . buttons . pdfHtml5 = { className : "buttons-pdf buttons-html5" , available : function ( ) { return u . FileReader !==
B && ( F || u . pdfMake ) } , text : function ( a ) { return a . i18n ( "buttons.pdf" , "PDF" ) } , action : function ( a , c , d , b ) { this . processing ( ! 0 ) ; d = c . buttons . exportData ( b . exportOptions ) ; a = c . buttons . exportInfo ( b ) ; var m = [ ] ; b . header && m . push ( n . map ( d . header , function ( g ) { return { text : "string" === typeof g ? g : g + "" , style : "tableHeader" } } ) ) ; for ( var e = 0 , f = d . body . length ; e < f ; e ++ ) m . push ( n . map ( d . body [ e ] , function ( g ) { if ( null === g || g === B ) g = "" ; return { text : "string" === typeof g ? g : g + "" , style : e % 2 ? "tableBodyEven" : "tableBodyOdd" } } ) ) ; b . footer && d . footer && m . push ( n . map ( d . footer ,
function ( g ) { return { text : "string" === typeof g ? g : g + "" , style : "tableFooter" } } ) ) ; d = { pageSize : b . pageSize , pageOrientation : b . orientation , content : [ { table : { headerRows : 1 , body : m } , layout : "noBorders" } ] , styles : { tableHeader : { bold : ! 0 , fontSize : 11 , color : "white" , fillColor : "#2d4154" , alignment : "center" } , tableBodyEven : { } , tableBodyOdd : { fillColor : "#f3f3f3" } , tableFooter : { bold : ! 0 , fontSize : 11 , color : "white" , fillColor : "#2d4154" } , title : { alignment : "center" , fontSize : 15 } , message : { } } , defaultStyle : { fontSize : 10 } } ; a . messageTop && d . content . unshift ( { text : a . messageTop ,
style : "message" , margin : [ 0 , 0 , 0 , 12 ] } ) ; a . messageBottom && d . content . push ( { text : a . messageBottom , style : "message" , margin : [ 0 , 0 , 0 , 12 ] } ) ; a . title && d . content . unshift ( { text : a . title , style : "title" , margin : [ 0 , 0 , 0 , 12 ] } ) ; b . customize && b . customize ( d , b , c ) ; c = ( F || u . pdfMake ) . createPdf ( d ) ; "open" !== b . download || T ( ) ? c . download ( a . filename ) : c . open ( ) ; this . processing ( ! 1 ) } , title : "*" , filename : "*" , extension : ".pdf" , exportOptions : { } , orientation : "portrait" , pageSize : "A4" , header : ! 0 , footer : ! 1 , messageTop : "*" , messageBottom : "*" , customize : null ,
download : "download" } ; return D . Buttons } ) ;
/ * !
Print button for Buttons and DataTables .
2016 SpryMedia Ltd - datatables . net / license
* /
( function ( b ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" , "datatables.net-buttons" ] , function ( d ) { return b ( d , window , document ) } ) : "object" === typeof exports ? module . exports = function ( d , h ) { d || ( d = window ) ; h && h . fn . dataTable || ( h = require ( "datatables.net" ) ( d , h ) . $ ) ; h . fn . dataTable . Buttons || require ( "datatables.net-buttons" ) ( d , h ) ; return b ( h , d , d . document ) } : b ( jQuery , window , document ) } ) ( function ( b , d , h , y ) { var u = b . fn . dataTable , n = h . createElement ( "a" ) , v = function ( a ) { n . href = a ; a = n . host ; - 1 === a . indexOf ( "/" ) &&
0 !== n . pathname . indexOf ( "/" ) && ( a += "/" ) ; return n . protocol + "//" + a + n . pathname + n . search } ; u . ext . buttons . print = { className : "buttons-print" , text : function ( a ) { return a . i18n ( "buttons.print" , "Print" ) } , action : function ( a , e , p , k ) { a = e . buttons . exportData ( b . extend ( { decodeEntities : ! 1 } , k . exportOptions ) ) ; p = e . buttons . exportInfo ( k ) ; var w = e . columns ( k . exportOptions . columns ) . flatten ( ) . map ( function ( f ) { return e . settings ( ) [ 0 ] . aoColumns [ e . column ( f ) . index ( ) ] . sClass } ) . toArray ( ) , r = function ( f , g ) { for ( var x = "<tr>" , l = 0 , z = f . length ; l < z ; l ++ ) x +=
"<" + g + " " + ( w [ l ] ? 'class="' + w [ l ] + '"' : "" ) + ">" + ( null === f [ l ] || f [ l ] === y ? "" : f [ l ] ) + "</" + g + ">" ; return x + "</tr>" } , m = '<table class="' + e . table ( ) . node ( ) . className + '">' ; k . header && ( m += "<thead>" + r ( a . header , "th" ) + "</thead>" ) ; m += "<tbody>" ; for ( var t = 0 , A = a . body . length ; t < A ; t ++ ) m += r ( a . body [ t ] , "td" ) ; m += "</tbody>" ; k . footer && a . footer && ( m += "<tfoot>" + r ( a . footer , "th" ) + "</tfoot>" ) ; m += "</table>" ; var c = d . open ( "" , "" ) ; if ( c ) { c . document . close ( ) ; var q = "<title>" + p . title + "</title>" ; b ( "style, link" ) . each ( function ( ) { var f = q , g = b ( this ) . clone ( ) [ 0 ] ;
"link" === g . nodeName . toLowerCase ( ) && ( g . href = v ( g . href ) ) ; q = f + g . outerHTML } ) ; try { c . document . head . innerHTML = q } catch ( f ) { b ( c . document . head ) . html ( q ) } c . document . body . innerHTML = "<h1>" + p . title + "</h1><div>" + ( p . messageTop || "" ) + "</div>" + m + "<div>" + ( p . messageBottom || "" ) + "</div>" ; b ( c . document . body ) . addClass ( "dt-print-view" ) ; b ( "img" , c . document . body ) . each ( function ( f , g ) { g . setAttribute ( "src" , v ( g . getAttribute ( "src" ) ) ) } ) ; k . customize && k . customize ( c , k , e ) ; a = function ( ) { k . autoPrint && ( c . print ( ) , c . close ( ) ) } ; navigator . userAgent . match ( /Trident\/\d.\d/ ) ?
a ( ) : c . setTimeout ( a , 1E3 ) } else e . buttons . info ( e . i18n ( "buttons.printErrorTitle" , "Unable to open print view" ) , e . i18n ( "buttons.printErrorMsg" , "Please allow popups in your browser for this site to be able to view the print view." ) , 5E3 ) } , title : "*" , messageTop : "*" , messageBottom : "*" , exportOptions : { } , header : ! 0 , footer : ! 1 , autoPrint : ! 0 , customize : null } ; return u . Buttons } ) ;
/ * !
Copyright 2010 - 2021 SpryMedia Ltd .
This source file is free software , available under the following license :
MIT license - http : //datatables.net/license/mit
This source file is distributed in the hope that it will be useful , but
WITHOUT ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE . See the license files for details .
For details please refer to : http : //www.datatables.net
ColReorder 1.5 . 5
© 2010 - 2021 SpryMedia Ltd - datatables . net / license
* /
( function ( e ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( u ) { return e ( u , window , document ) } ) : "object" === typeof exports ? module . exports = function ( u , t ) { u || ( u = window ) ; t && t . fn . dataTable || ( t = require ( "datatables.net" ) ( u , t ) . $ ) ; return e ( t , u , u . document ) } : e ( jQuery , window , document ) } ) ( function ( e , u , t , z ) { function y ( a ) { for ( var b = [ ] , c = 0 , f = a . length ; c < f ; c ++ ) b [ a [ c ] ] = c ; return b } function v ( a , b , c ) { b = a . splice ( b , 1 ) [ 0 ] ; a . splice ( c , 0 , b ) } function A ( a , b , c ) { for ( var f = [ ] , h = 0 , g = a . childNodes . length ; h <
g ; h ++ ) 1 == a . childNodes [ h ] . nodeType && f . push ( a . childNodes [ h ] ) ; b = f [ b ] ; null !== c ? a . insertBefore ( b , f [ c ] ) : a . appendChild ( b ) } var D = e . fn . dataTable ; e . fn . dataTableExt . oApi . fnColReorder = function ( a , b , c , f , h ) { var g , l , k = a . aoColumns . length ; var p = function ( w , x , E ) { if ( w [ x ] && "function" !== typeof w [ x ] ) { var B = w [ x ] . split ( "." ) , C = B . shift ( ) ; isNaN ( 1 * C ) || ( w [ x ] = E [ 1 * C ] + "." + B . join ( "." ) ) } } ; if ( b != c ) if ( 0 > b || b >= k ) this . oApi . _fnLog ( a , 1 , "ColReorder 'from' index is out of bounds: " + b ) ; else if ( 0 > c || c >= k ) this . oApi . _fnLog ( a , 1 , "ColReorder 'to' index is out of bounds: " +
c ) ; else { var m = [ ] ; var d = 0 ; for ( g = k ; d < g ; d ++ ) m [ d ] = d ; v ( m , b , c ) ; var q = y ( m ) ; d = 0 ; for ( g = a . aaSorting . length ; d < g ; d ++ ) a . aaSorting [ d ] [ 0 ] = q [ a . aaSorting [ d ] [ 0 ] ] ; if ( null !== a . aaSortingFixed ) for ( d = 0 , g = a . aaSortingFixed . length ; d < g ; d ++ ) a . aaSortingFixed [ d ] [ 0 ] = q [ a . aaSortingFixed [ d ] [ 0 ] ] ; d = 0 ; for ( g = k ; d < g ; d ++ ) { var n = a . aoColumns [ d ] ; m = 0 ; for ( l = n . aDataSort . length ; m < l ; m ++ ) n . aDataSort [ m ] = q [ n . aDataSort [ m ] ] ; n . idx = q [ n . idx ] } e . each ( a . aLastSort , function ( w , x ) { a . aLastSort [ w ] . src = q [ x . src ] } ) ; d = 0 ; for ( g = k ; d < g ; d ++ ) n = a . aoColumns [ d ] , "number" == typeof n . mData ?
n . mData = q [ n . mData ] : e . isPlainObject ( n . mData ) && ( p ( n . mData , "_" , q ) , p ( n . mData , "filter" , q ) , p ( n . mData , "sort" , q ) , p ( n . mData , "type" , q ) ) ; if ( a . aoColumns [ b ] . bVisible ) { p = this . oApi . _fnColumnIndexToVisible ( a , b ) ; l = null ; for ( d = c < b ? c : c + 1 ; null === l && d < k ; ) l = this . oApi . _fnColumnIndexToVisible ( a , d ) , d ++ ; m = a . nTHead . getElementsByTagName ( "tr" ) ; d = 0 ; for ( g = m . length ; d < g ; d ++ ) A ( m [ d ] , p , l ) ; if ( null !== a . nTFoot ) for ( m = a . nTFoot . getElementsByTagName ( "tr" ) , d = 0 , g = m . length ; d < g ; d ++ ) A ( m [ d ] , p , l ) ; d = 0 ; for ( g = a . aoData . length ; d < g ; d ++ ) null !== a . aoData [ d ] . nTr &&
A ( a . aoData [ d ] . nTr , p , l ) } v ( a . aoColumns , b , c ) ; d = 0 ; for ( g = k ; d < g ; d ++ ) a . oApi . _fnColumnOptions ( a , d , { } ) ; v ( a . aoPreSearchCols , b , c ) ; d = 0 ; for ( g = a . aoData . length ; d < g ; d ++ ) { l = a . aoData [ d ] ; if ( n = l . anCells ) for ( v ( n , b , c ) , m = 0 , p = n . length ; m < p ; m ++ ) n [ m ] && n [ m ] . _DT _CellIndex && ( n [ m ] . _DT _CellIndex . column = m ) ; "dom" !== l . src && Array . isArray ( l . _aData ) && v ( l . _aData , b , c ) } d = 0 ; for ( g = a . aoHeader . length ; d < g ; d ++ ) v ( a . aoHeader [ d ] , b , c ) ; if ( null !== a . aoFooter ) for ( d = 0 , g = a . aoFooter . length ; d < g ; d ++ ) v ( a . aoFooter [ d ] , b , c ) ; ( h || h === z ) && e . fn . dataTable . Api ( a ) . rows ( ) . invalidate ( ) ;
d = 0 ; for ( g = k ; d < g ; d ++ ) e ( a . aoColumns [ d ] . nTh ) . off ( ".DT" ) , this . oApi . _fnSortAttachListener ( a , a . aoColumns [ d ] . nTh , d ) ; e ( a . oInstance ) . trigger ( "column-reorder.dt" , [ a , { from : b , to : c , mapping : q , drop : f , iFrom : b , iTo : c , aiInvertMapping : q } ] ) } } ; var r = function ( a , b ) { a = ( new e . fn . dataTable . Api ( a ) ) . settings ( ) [ 0 ] ; if ( a . _colReorder ) return a . _colReorder ; ! 0 === b && ( b = { } ) ; var c = e . fn . dataTable . camelToHungarian ; c && ( c ( r . defaults , r . defaults , ! 0 ) , c ( r . defaults , b || { } ) ) ; this . s = { dt : null , enable : null , init : e . extend ( ! 0 , { } , r . defaults , b ) , fixed : 0 , fixedRight : 0 ,
reorderCallback : null , mouse : { startX : - 1 , startY : - 1 , offsetX : - 1 , offsetY : - 1 , target : - 1 , targetIndex : - 1 , fromIndex : - 1 } , aoTargets : [ ] } ; this . dom = { drag : null , pointer : null } ; this . s . enable = this . s . init . bEnable ; this . s . dt = a ; this . s . dt . _colReorder = this ; this . _fnConstruct ( ) ; return this } ; e . extend ( r . prototype , { fnEnable : function ( a ) { if ( ! 1 === a ) return fnDisable ( ) ; this . s . enable = ! 0 } , fnDisable : function ( ) { this . s . enable = ! 1 } , fnReset : function ( ) { this . _fnOrderColumns ( this . fnOrder ( ) ) ; return this } , fnGetCurrentOrder : function ( ) { return this . fnOrder ( ) } ,
fnOrder : function ( a , b ) { var c = [ ] , f , h = this . s . dt . aoColumns ; if ( a === z ) { b = 0 ; for ( f = h . length ; b < f ; b ++ ) c . push ( h [ b ] . _ColReorder _iOrigCol ) ; return c } if ( b ) { h = this . fnOrder ( ) ; b = 0 ; for ( f = a . length ; b < f ; b ++ ) c . push ( e . inArray ( a [ b ] , h ) ) ; a = c } this . _fnOrderColumns ( y ( a ) ) ; return this } , fnTranspose : function ( a , b ) { b || ( b = "toCurrent" ) ; var c = this . fnOrder ( ) , f = this . s . dt . aoColumns ; return "toCurrent" === b ? Array . isArray ( a ) ? e . map ( a , function ( h ) { return e . inArray ( h , c ) } ) : e . inArray ( a , c ) : Array . isArray ( a ) ? e . map ( a , function ( h ) { return f [ h ] . _ColReorder _iOrigCol } ) :
f [ a ] . _ColReorder _iOrigCol } , _fnConstruct : function ( ) { var a = this , b = this . s . dt . aoColumns . length , c = this . s . dt . nTable , f ; this . s . init . iFixedColumns && ( this . s . fixed = this . s . init . iFixedColumns ) ; this . s . init . iFixedColumnsLeft && ( this . s . fixed = this . s . init . iFixedColumnsLeft ) ; this . s . fixedRight = this . s . init . iFixedColumnsRight ? this . s . init . iFixedColumnsRight : 0 ; this . s . init . fnReorderCallback && ( this . s . reorderCallback = this . s . init . fnReorderCallback ) ; for ( f = 0 ; f < b ; f ++ ) f > this . s . fixed - 1 && f < b - this . s . fixedRight && this . _fnMouseListener ( f ,
this . s . dt . aoColumns [ f ] . nTh ) , this . s . dt . aoColumns [ f ] . _ColReorder _iOrigCol = f ; this . s . dt . oApi . _fnCallbackReg ( this . s . dt , "aoStateSaveParams" , function ( l , k ) { a . _fnStateSave . call ( a , k ) } , "ColReorder_State" ) ; this . s . dt . oApi . _fnCallbackReg ( this . s . dt , "aoStateLoadParams" , function ( l , k ) { a . s . dt . _colReorder . fnOrder ( k . ColReorder , ! 0 ) } ) ; var h = null ; this . s . init . aiOrder && ( h = this . s . init . aiOrder . slice ( ) ) ; this . s . dt . oLoadedState && "undefined" != typeof this . s . dt . oLoadedState . ColReorder && this . s . dt . oLoadedState . ColReorder . length == this . s . dt . aoColumns . length &&
( h = this . s . dt . oLoadedState . ColReorder ) ; if ( h ) if ( a . s . dt . _bInitComplete ) b = y ( h ) , a . _fnOrderColumns . call ( a , b ) ; else { var g = ! 1 ; e ( c ) . on ( "draw.dt.colReorder" , function ( ) { if ( ! a . s . dt . _bInitComplete && ! g ) { g = ! 0 ; var l = y ( h ) ; a . _fnOrderColumns . call ( a , l ) } } ) } else this . _fnSetColumnIndexes ( ) ; e ( c ) . on ( "destroy.dt.colReorder" , function ( ) { e ( c ) . off ( "destroy.dt.colReorder draw.dt.colReorder" ) ; e . each ( a . s . dt . aoColumns , function ( l , k ) { e ( k . nTh ) . off ( ".ColReorder" ) ; e ( k . nTh ) . removeAttr ( "data-column-index" ) } ) ; a . s . dt . _colReorder = null ; a . s = null } ) } ,
_fnOrderColumns : function ( a ) { var b = ! 1 ; if ( a . length != this . s . dt . aoColumns . length ) this . s . dt . oInstance . oApi . _fnLog ( this . s . dt , 1 , "ColReorder - array reorder does not match known number of columns. Skipping." ) ; else { for ( var c = 0 , f = a . length ; c < f ; c ++ ) { var h = e . inArray ( c , a ) ; c != h && ( v ( a , h , c ) , this . s . dt . oInstance . fnColReorder ( h , c , ! 0 , ! 1 ) , b = ! 0 ) } this . _fnSetColumnIndexes ( ) ; b && ( e . fn . dataTable . Api ( this . s . dt ) . rows ( ) . invalidate ( ) , "" === this . s . dt . oScroll . sX && "" === this . s . dt . oScroll . sY || this . s . dt . oInstance . fnAdjustColumnSizing ( ! 1 ) ,
this . s . dt . oInstance . oApi . _fnSaveState ( this . s . dt ) , null !== this . s . reorderCallback && this . s . reorderCallback . call ( this ) ) } } , _fnStateSave : function ( a ) { if ( null !== this . s ) { var b , c , f = this . s . dt . aoColumns ; a . ColReorder = [ ] ; if ( a . aaSorting ) { for ( b = 0 ; b < a . aaSorting . length ; b ++ ) a . aaSorting [ b ] [ 0 ] = f [ a . aaSorting [ b ] [ 0 ] ] . _ColReorder _iOrigCol ; var h = e . extend ( ! 0 , [ ] , a . aoSearchCols ) ; b = 0 ; for ( c = f . length ; b < c ; b ++ ) { var g = f [ b ] . _ColReorder _iOrigCol ; a . aoSearchCols [ g ] = h [ b ] ; a . abVisCols [ g ] = f [ b ] . bVisible ; a . ColReorder . push ( g ) } } else if ( a . order ) { for ( b =
0 ; b < a . order . length ; b ++ ) a . order [ b ] [ 0 ] = f [ a . order [ b ] [ 0 ] ] . _ColReorder _iOrigCol ; h = e . extend ( ! 0 , [ ] , a . columns ) ; b = 0 ; for ( c = f . length ; b < c ; b ++ ) g = f [ b ] . _ColReorder _iOrigCol , a . columns [ g ] = h [ b ] , a . ColReorder . push ( g ) } } } , _fnMouseListener : function ( a , b ) { var c = this ; e ( b ) . on ( "mousedown.ColReorder" , function ( f ) { c . s . enable && 1 === f . which && c . _fnMouseDown . call ( c , f , b ) } ) . on ( "touchstart.ColReorder" , function ( f ) { c . s . enable && c . _fnMouseDown . call ( c , f , b ) } ) } , _fnMouseDown : function ( a , b ) { var c = this , f = e ( a . target ) . closest ( "th, td" ) . offset ( ) ; b =
parseInt ( e ( b ) . attr ( "data-column-index" ) , 10 ) ; b !== z && ( this . s . mouse . startX = this . _fnCursorPosition ( a , "pageX" ) , this . s . mouse . startY = this . _fnCursorPosition ( a , "pageY" ) , this . s . mouse . offsetX = this . _fnCursorPosition ( a , "pageX" ) - f . left , this . s . mouse . offsetY = this . _fnCursorPosition ( a , "pageY" ) - f . top , this . s . mouse . target = this . s . dt . aoColumns [ b ] . nTh , this . s . mouse . targetIndex = b , this . s . mouse . fromIndex = b , this . _fnRegions ( ) , e ( t ) . on ( "mousemove.ColReorder touchmove.ColReorder" , function ( h ) { c . _fnMouseMove . call ( c , h ) } ) . on ( "mouseup.ColReorder touchend.ColReorder" ,
function ( h ) { c . _fnMouseUp . call ( c , h ) } ) ) } , _fnMouseMove : function ( a ) { var b = this ; if ( null === this . dom . drag ) { if ( 5 > Math . pow ( Math . pow ( this . _fnCursorPosition ( a , "pageX" ) - this . s . mouse . startX , 2 ) + Math . pow ( this . _fnCursorPosition ( a , "pageY" ) - this . s . mouse . startY , 2 ) , . 5 ) ) return ; this . _fnCreateDragNode ( ) } this . dom . drag . css ( { left : this . _fnCursorPosition ( a , "pageX" ) - this . s . mouse . offsetX , top : this . _fnCursorPosition ( a , "pageY" ) - this . s . mouse . offsetY } ) ; var c = this . s . mouse . toIndex ; a = this . _fnCursorPosition ( a , "pageX" ) ; for ( var f = function ( d ) { for ( ; 0 <=
d ; ) { d -- ; if ( 0 >= d ) return null ; if ( b . s . aoTargets [ d + 1 ] . x !== b . s . aoTargets [ d ] . x ) return b . s . aoTargets [ d ] } } , h = function ( ) { for ( var d = 0 ; d < b . s . aoTargets . length - 1 ; d ++ ) if ( b . s . aoTargets [ d ] . x !== b . s . aoTargets [ d + 1 ] . x ) return b . s . aoTargets [ d ] } , g = function ( ) { for ( var d = b . s . aoTargets . length - 1 ; 0 < d ; d -- ) if ( b . s . aoTargets [ d ] . x !== b . s . aoTargets [ d - 1 ] . x ) return b . s . aoTargets [ d ] } , l = 1 ; l < this . s . aoTargets . length ; l ++ ) { var k = f ( l ) ; k || ( k = h ( ) ) ; var p = k . x + ( this . s . aoTargets [ l ] . x - k . x ) / 2 ; if ( this . _fnIsLtr ( ) ) { if ( a < p ) { var m = k ; break } } else if ( a > p ) { m =
k ; break } } m ? ( this . dom . pointer . css ( "left" , m . x ) , this . s . mouse . toIndex = m . to ) : ( this . dom . pointer . css ( "left" , g ( ) . x ) , this . s . mouse . toIndex = g ( ) . to ) ; this . s . init . bRealtime && c !== this . s . mouse . toIndex && ( this . s . dt . oInstance . fnColReorder ( this . s . mouse . fromIndex , this . s . mouse . toIndex ) , this . s . mouse . fromIndex = this . s . mouse . toIndex , "" === this . s . dt . oScroll . sX && "" === this . s . dt . oScroll . sY || this . s . dt . oInstance . fnAdjustColumnSizing ( ! 1 ) , this . _fnRegions ( ) ) } , _fnMouseUp : function ( a ) { e ( t ) . off ( ".ColReorder" ) ; null !== this . dom . drag && ( this . dom . drag . remove ( ) ,
this . dom . pointer . remove ( ) , this . dom . drag = null , this . dom . pointer = null , this . s . dt . oInstance . fnColReorder ( this . s . mouse . fromIndex , this . s . mouse . toIndex , ! 0 ) , this . _fnSetColumnIndexes ( ) , "" === this . s . dt . oScroll . sX && "" === this . s . dt . oScroll . sY || this . s . dt . oInstance . fnAdjustColumnSizing ( ! 1 ) , this . s . dt . oInstance . oApi . _fnSaveState ( this . s . dt ) , null !== this . s . reorderCallback && this . s . reorderCallback . call ( this ) ) } , _fnRegions : function ( ) { var a = this . s . dt . aoColumns , b = this . _fnIsLtr ( ) ; this . s . aoTargets . splice ( 0 , this . s . aoTargets . length ) ;
var c = e ( this . s . dt . nTable ) . offset ( ) . left , f = [ ] ; e . each ( a , function ( l , k ) { if ( k . bVisible && "none" !== k . nTh . style . display ) { k = e ( k . nTh ) ; var p = k . offset ( ) . left ; b && ( p += k . outerWidth ( ) ) ; f . push ( { index : l , bound : p } ) ; c = p } else f . push ( { index : l , bound : c } ) } ) ; var h = f [ 0 ] ; a = e ( a [ h . index ] . nTh ) . outerWidth ( ) ; this . s . aoTargets . push ( { to : 0 , x : h . bound - a } ) ; for ( h = 0 ; h < f . length ; h ++ ) { a = f [ h ] ; var g = a . index ; a . index < this . s . mouse . fromIndex && g ++ ; this . s . aoTargets . push ( { to : g , x : a . bound } ) } 0 !== this . s . fixedRight && this . s . aoTargets . splice ( this . s . aoTargets . length -
this . s . fixedRight ) ; 0 !== this . s . fixed && this . s . aoTargets . splice ( 0 , this . s . fixed ) } , _fnCreateDragNode : function ( ) { var a = "" !== this . s . dt . oScroll . sX || "" !== this . s . dt . oScroll . sY , b = this . s . dt . aoColumns [ this . s . mouse . targetIndex ] . nTh , c = b . parentNode , f = c . parentNode , h = f . parentNode , g = e ( b ) . clone ( ) ; this . dom . drag = e ( h . cloneNode ( ! 1 ) ) . addClass ( "DTCR_clonedTable" ) . append ( e ( f . cloneNode ( ! 1 ) ) . append ( e ( c . cloneNode ( ! 1 ) ) . append ( g [ 0 ] ) ) ) . css ( { position : "absolute" , top : 0 , left : 0 , width : e ( b ) . outerWidth ( ) , height : e ( b ) . outerHeight ( ) } ) . appendTo ( "body" ) ;
this . dom . pointer = e ( "<div></div>" ) . addClass ( "DTCR_pointer" ) . css ( { position : "absolute" , top : a ? e ( e ( this . s . dt . nScrollBody ) . parent ( ) ) . offset ( ) . top : e ( this . s . dt . nTable ) . offset ( ) . top , height : a ? e ( e ( this . s . dt . nScrollBody ) . parent ( ) ) . height ( ) : e ( this . s . dt . nTable ) . height ( ) } ) . appendTo ( "body" ) } , _fnSetColumnIndexes : function ( ) { e . each ( this . s . dt . aoColumns , function ( a , b ) { e ( b . nTh ) . attr ( "data-column-index" , a ) } ) } , _fnCursorPosition : function ( a , b ) { return - 1 !== a . type . indexOf ( "touch" ) ? a . originalEvent . touches [ 0 ] [ b ] : a [ b ] } , _fnIsLtr : function ( ) { return "rtl" !==
e ( this . s . dt . nTable ) . css ( "direction" ) } } ) ; r . defaults = { aiOrder : null , bEnable : ! 0 , bRealtime : ! 0 , iFixedColumnsLeft : 0 , iFixedColumnsRight : 0 , fnReorderCallback : null } ; r . version = "1.5.5" ; e . fn . dataTable . ColReorder = r ; e . fn . DataTable . ColReorder = r ; "function" == typeof e . fn . dataTable && "function" == typeof e . fn . dataTableExt . fnVersionCheck && e . fn . dataTableExt . fnVersionCheck ( "1.10.8" ) ? e . fn . dataTableExt . aoFeatures . push ( { fnInit : function ( a ) { var b = a . oInstance ; a . _colReorder ? b . oApi . _fnLog ( a , 1 , "ColReorder attempted to initialise twice. Ignoring second" ) :
( b = a . oInit , new r ( a , b . colReorder || b . oColReorder || { } ) ) ; return null } , cFeature : "R" , sFeature : "ColReorder" } ) : alert ( "Warning: ColReorder requires DataTables 1.10.8 or greater - www.datatables.net/download" ) ; e ( t ) . on ( "preInit.dt.colReorder" , function ( a , b ) { if ( "dt" === a . namespace ) { a = b . oInit . colReorder ; var c = D . defaults . colReorder ; if ( a || c ) c = e . extend ( { } , a , c ) , ! 1 !== a && new r ( b , c ) } } ) ; e . fn . dataTable . Api . register ( "colReorder.reset()" , function ( ) { return this . iterator ( "table" , function ( a ) { a . _colReorder . fnReset ( ) } ) } ) ; e . fn . dataTable . Api . register ( "colReorder.order()" ,
function ( a , b ) { return a ? this . iterator ( "table" , function ( c ) { c . _colReorder . fnOrder ( a , b ) } ) : this . context . length ? this . context [ 0 ] . _colReorder . fnOrder ( ) : null } ) ; e . fn . dataTable . Api . register ( "colReorder.transpose()" , function ( a , b ) { return this . context . length && this . context [ 0 ] . _colReorder ? this . context [ 0 ] . _colReorder . fnTranspose ( a , b ) : a } ) ; e . fn . dataTable . Api . register ( "colReorder.move()" , function ( a , b , c , f ) { this . context . length && ( this . context [ 0 ] . _colReorder . s . dt . oInstance . fnColReorder ( a , b , c , f ) , this . context [ 0 ] . _colReorder . _fnSetColumnIndexes ( ) ) ;
return this } ) ; e . fn . dataTable . Api . register ( "colReorder.enable()" , function ( a ) { return this . iterator ( "table" , function ( b ) { b . _colReorder && b . _colReorder . fnEnable ( a ) } ) } ) ; e . fn . dataTable . Api . register ( "colReorder.disable()" , function ( ) { return this . iterator ( "table" , function ( a ) { a . _colReorder && a . _colReorder . fnDisable ( ) } ) } ) ; return r } ) ;
/ * !
FixedColumns 4.0 . 2
2019 - 2022 SpryMedia Ltd - datatables . net / license
2020-09-26 16:19:37 +02:00
* /
2022-03-26 23:33:12 +01:00
var $jscomp = $jscomp || { } ; $jscomp . scope = { } ; $jscomp . getGlobal = function ( a ) { a = [ "object" == typeof globalThis && globalThis , a , "object" == typeof window && window , "object" == typeof self && self , "object" == typeof global && global ] ; for ( var h = 0 ; h < a . length ; ++ h ) { var k = a [ h ] ; if ( k && k . Math == Math ) return k } throw Error ( "Cannot find global object" ) ; } ; $jscomp . global = $jscomp . getGlobal ( this ) ;
$jscomp . checkEs6ConformanceViaProxy = function ( ) { try { var a = { } , h = Object . create ( new $jscomp . global . Proxy ( a , { get : function ( k , e , d ) { return k == a && "q" == e && d == h } } ) ) ; return ! 0 === h . q } catch ( k ) { return ! 1 } } ; $jscomp . USE _PROXY _FOR _ES6 _CONFORMANCE _CHECKS = ! 1 ; $jscomp . ES6 _CONFORMANCE = $jscomp . USE _PROXY _FOR _ES6 _CONFORMANCE _CHECKS && $jscomp . checkEs6ConformanceViaProxy ( ) ; $jscomp . arrayIteratorImpl = function ( a ) { var h = 0 ; return function ( ) { return h < a . length ? { done : ! 1 , value : a [ h ++ ] } : { done : ! 0 } } } ; $jscomp . arrayIterator = function ( a ) { return { next : $jscomp . arrayIteratorImpl ( a ) } } ;
$jscomp . ASSUME _ES5 = ! 1 ; $jscomp . ASSUME _NO _NATIVE _MAP = ! 1 ; $jscomp . ASSUME _NO _NATIVE _SET = ! 1 ; $jscomp . SIMPLE _FROUND _POLYFILL = ! 1 ; $jscomp . ISOLATE _POLYFILLS = ! 1 ; $jscomp . defineProperty = $jscomp . ASSUME _ES5 || "function" == typeof Object . defineProperties ? Object . defineProperty : function ( a , h , k ) { if ( a == Array . prototype || a == Object . prototype ) return a ; a [ h ] = k . value ; return a } ; $jscomp . IS _SYMBOL _NATIVE = "function" === typeof Symbol && "symbol" === typeof Symbol ( "x" ) ; $jscomp . TRUST _ES6 _POLYFILLS = ! $jscomp . ISOLATE _POLYFILLS || $jscomp . IS _SYMBOL _NATIVE ;
$jscomp . polyfills = { } ; $jscomp . propertyToPolyfillSymbol = { } ; $jscomp . POLYFILL _PREFIX = "$jscp$" ; var $jscomp$lookupPolyfilledValue = function ( a , h ) { var k = $jscomp . propertyToPolyfillSymbol [ h ] ; if ( null == k ) return a [ h ] ; k = a [ k ] ; return void 0 !== k ? k : a [ h ] } ; $jscomp . polyfill = function ( a , h , k , e ) { h && ( $jscomp . ISOLATE _POLYFILLS ? $jscomp . polyfillIsolated ( a , h , k , e ) : $jscomp . polyfillUnisolated ( a , h , k , e ) ) } ;
$jscomp . polyfillUnisolated = function ( a , h , k , e ) { k = $jscomp . global ; a = a . split ( "." ) ; for ( e = 0 ; e < a . length - 1 ; e ++ ) { var d = a [ e ] ; if ( ! ( d in k ) ) return ; k = k [ d ] } a = a [ a . length - 1 ] ; e = k [ a ] ; h = h ( e ) ; h != e && null != h && $jscomp . defineProperty ( k , a , { configurable : ! 0 , writable : ! 0 , value : h } ) } ;
$jscomp . polyfillIsolated = function ( a , h , k , e ) { var d = a . split ( "." ) ; a = 1 === d . length ; e = d [ 0 ] ; e = ! a && e in $jscomp . polyfills ? $jscomp . polyfills : $jscomp . global ; for ( var g = 0 ; g < d . length - 1 ; g ++ ) { var m = d [ g ] ; if ( ! ( m in e ) ) return ; e = e [ m ] } d = d [ d . length - 1 ] ; k = $jscomp . IS _SYMBOL _NATIVE && "es6" === k ? e [ d ] : null ; h = h ( k ) ; null != h && ( a ? $jscomp . defineProperty ( $jscomp . polyfills , d , { configurable : ! 0 , writable : ! 0 , value : h } ) : h !== k && ( $jscomp . propertyToPolyfillSymbol [ d ] = $jscomp . IS _SYMBOL _NATIVE ? $jscomp . global . Symbol ( d ) : $jscomp . POLYFILL _PREFIX + d , d =
$jscomp . propertyToPolyfillSymbol [ d ] , $jscomp . defineProperty ( e , d , { configurable : ! 0 , writable : ! 0 , value : h } ) ) ) } ; $jscomp . initSymbol = function ( ) { } ;
$jscomp . polyfill ( "Symbol" , function ( a ) { if ( a ) return a ; var h = function ( d , g ) { this . $jscomp$symbol$id _ = d ; $jscomp . defineProperty ( this , "description" , { configurable : ! 0 , writable : ! 0 , value : g } ) } ; h . prototype . toString = function ( ) { return this . $jscomp$symbol$id _ } ; var k = 0 , e = function ( d ) { if ( this instanceof e ) throw new TypeError ( "Symbol is not a constructor" ) ; return new h ( "jscomp_symbol_" + ( d || "" ) + "_" + k ++ , d ) } ; return e } , "es6" , "es3" ) ; $jscomp . initSymbolIterator = function ( ) { } ;
$jscomp . polyfill ( "Symbol.iterator" , function ( a ) { if ( a ) return a ; a = Symbol ( "Symbol.iterator" ) ; for ( var h = "Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array" . split ( " " ) , k = 0 ; k < h . length ; k ++ ) { var e = $jscomp . global [ h [ k ] ] ; "function" === typeof e && "function" != typeof e . prototype [ a ] && $jscomp . defineProperty ( e . prototype , a , { configurable : ! 0 , writable : ! 0 , value : function ( ) { return $jscomp . iteratorPrototype ( $jscomp . arrayIteratorImpl ( this ) ) } } ) } return a } , "es6" ,
"es3" ) ; $jscomp . initSymbolAsyncIterator = function ( ) { } ; $jscomp . iteratorPrototype = function ( a ) { a = { next : a } ; a [ Symbol . iterator ] = function ( ) { return this } ; return a } ; $jscomp . makeIterator = function ( a ) { var h = "undefined" != typeof Symbol && Symbol . iterator && a [ Symbol . iterator ] ; return h ? h . call ( a ) : $jscomp . arrayIterator ( a ) } ; $jscomp . owns = function ( a , h ) { return Object . prototype . hasOwnProperty . call ( a , h ) } ;
$jscomp . polyfill ( "WeakMap" , function ( a ) { function h ( ) { if ( ! a || ! Object . seal ) return ! 1 ; try { var b = Object . seal ( { } ) , f = Object . seal ( { } ) , l = new a ( [ [ b , 2 ] , [ f , 3 ] ] ) ; if ( 2 != l . get ( b ) || 3 != l . get ( f ) ) return ! 1 ; l . delete ( b ) ; l . set ( f , 4 ) ; return ! l . has ( b ) && 4 == l . get ( f ) } catch ( u ) { return ! 1 } } function k ( ) { } function e ( b ) { var f = typeof b ; return "object" === f && null !== b || "function" === f } function d ( b ) { if ( ! $jscomp . owns ( b , m ) ) { var f = new k ; $jscomp . defineProperty ( b , m , { value : f } ) } } function g ( b ) { if ( ! $jscomp . ISOLATE _POLYFILLS ) { var f = Object [ b ] ; f && ( Object [ b ] =
function ( l ) { if ( l instanceof k ) return l ; Object . isExtensible ( l ) && d ( l ) ; return f ( l ) } ) } } if ( $jscomp . USE _PROXY _FOR _ES6 _CONFORMANCE _CHECKS ) { if ( a && $jscomp . ES6 _CONFORMANCE ) return a } else if ( h ( ) ) return a ; var m = "$jscomp_hidden_" + Math . random ( ) ; g ( "freeze" ) ; g ( "preventExtensions" ) ; g ( "seal" ) ; var n = 0 , c = function ( b ) { this . id _ = ( n += Math . random ( ) + 1 ) . toString ( ) ; if ( b ) { b = $jscomp . makeIterator ( b ) ; for ( var f ; ! ( f = b . next ( ) ) . done ; ) f = f . value , this . set ( f [ 0 ] , f [ 1 ] ) } } ; c . prototype . set = function ( b , f ) { if ( ! e ( b ) ) throw Error ( "Invalid WeakMap key" ) ;
2022-03-23 12:39:52 +01:00
d ( b ) ; if ( ! $jscomp . owns ( b , m ) ) throw Error ( "WeakMap key fail: " + b ) ; b [ m ] [ this . id _ ] = f ; return this } ; c . prototype . get = function ( b ) { return e ( b ) && $jscomp . owns ( b , m ) ? b [ m ] [ this . id _ ] : void 0 } ; c . prototype . has = function ( b ) { return e ( b ) && $jscomp . owns ( b , m ) && $jscomp . owns ( b [ m ] , this . id _ ) } ; c . prototype . delete = function ( b ) { return e ( b ) && $jscomp . owns ( b , m ) && $jscomp . owns ( b [ m ] , this . id _ ) ? delete b [ m ] [ this . id _ ] : ! 1 } ; return c } , "es6" , "es3" ) ; $jscomp . MapEntry = function ( ) { } ;
2022-03-26 23:33:12 +01:00
$jscomp . polyfill ( "Map" , function ( a ) { function h ( ) { if ( $jscomp . ASSUME _NO _NATIVE _MAP || ! a || "function" != typeof a || ! a . prototype . entries || "function" != typeof Object . seal ) return ! 1 ; try { var c = Object . seal ( { x : 4 } ) , b = new a ( $jscomp . makeIterator ( [ [ c , "s" ] ] ) ) ; if ( "s" != b . get ( c ) || 1 != b . size || b . get ( { x : 4 } ) || b . set ( { x : 4 } , "t" ) != b || 2 != b . size ) return ! 1 ; var f = b . entries ( ) , l = f . next ( ) ; if ( l . done || l . value [ 0 ] != c || "s" != l . value [ 1 ] ) return ! 1 ; l = f . next ( ) ; return l . done || 4 != l . value [ 0 ] . x || "t" != l . value [ 1 ] || ! f . next ( ) . done ? ! 1 : ! 0 } catch ( u ) { return ! 1 } }
if ( $jscomp . USE _PROXY _FOR _ES6 _CONFORMANCE _CHECKS ) { if ( a && $jscomp . ES6 _CONFORMANCE ) return a } else if ( h ( ) ) return a ; var k = new WeakMap , e = function ( c ) { this . data _ = { } ; this . head _ = m ( ) ; this . size = 0 ; if ( c ) { c = $jscomp . makeIterator ( c ) ; for ( var b ; ! ( b = c . next ( ) ) . done ; ) b = b . value , this . set ( b [ 0 ] , b [ 1 ] ) } } ; e . prototype . set = function ( c , b ) { c = 0 === c ? 0 : c ; var f = d ( this , c ) ; f . list || ( f . list = this . data _ [ f . id ] = [ ] ) ; f . entry ? f . entry . value = b : ( f . entry = { next : this . head _ , previous : this . head _ . previous , head : this . head _ , key : c , value : b } , f . list . push ( f . entry ) ,
2022-03-23 12:39:52 +01:00
this . head _ . previous . next = f . entry , this . head _ . previous = f . entry , this . size ++ ) ; return this } ; e . prototype . delete = function ( c ) { c = d ( this , c ) ; return c . entry && c . list ? ( c . list . splice ( c . index , 1 ) , c . list . length || delete this . data _ [ c . id ] , c . entry . previous . next = c . entry . next , c . entry . next . previous = c . entry . previous , c . entry . head = null , this . size -- , ! 0 ) : ! 1 } ; e . prototype . clear = function ( ) { this . data _ = { } ; this . head _ = this . head _ . previous = m ( ) ; this . size = 0 } ; e . prototype . has = function ( c ) { return ! ! d ( this , c ) . entry } ; e . prototype . get = function ( c ) { return ( c =
2022-03-26 23:33:12 +01:00
d ( this , c ) . entry ) && c . value } ; e . prototype . entries = function ( ) { return g ( this , function ( c ) { return [ c . key , c . value ] } ) } ; e . prototype . keys = function ( ) { return g ( this , function ( c ) { return c . key } ) } ; e . prototype . values = function ( ) { return g ( this , function ( c ) { return c . value } ) } ; e . prototype . forEach = function ( c , b ) { for ( var f = this . entries ( ) , l ; ! ( l = f . next ( ) ) . done ; ) l = l . value , c . call ( b , l [ 1 ] , l [ 0 ] , this ) } ; e . prototype [ Symbol . iterator ] = e . prototype . entries ; var d = function ( c , b ) { var f = b && typeof b ; "object" == f || "function" == f ? k . has ( b ) ? f = k . get ( b ) :
( f = "" + ++ n , k . set ( b , f ) ) : f = "p_" + b ; var l = c . data _ [ f ] ; if ( l && $jscomp . owns ( c . data _ , f ) ) for ( c = 0 ; c < l . length ; c ++ ) { var u = l [ c ] ; if ( b !== b && u . key !== u . key || b === u . key ) return { id : f , list : l , index : c , entry : u } } return { id : f , list : l , index : - 1 , entry : void 0 } } , g = function ( c , b ) { var f = c . head _ ; return $jscomp . iteratorPrototype ( function ( ) { if ( f ) { for ( ; f . head != c . head _ ; ) f = f . previous ; for ( ; f . next != f . head ; ) return f = f . next , { done : ! 1 , value : b ( f ) } ; f = null } return { done : ! 0 , value : void 0 } } ) } , m = function ( ) { var c = { } ; return c . previous = c . next = c . head = c } , n = 0 ;
2022-03-23 12:39:52 +01:00
return e } , "es6" , "es3" ) ;
2022-03-26 23:33:12 +01:00
( function ( ) { var a , h , k = function ( ) { function e ( d , g ) { var m = this ; if ( ! h || ! h . versionCheck || ! h . versionCheck ( "1.10.0" ) ) throw Error ( "StateRestore requires DataTables 1.10 or newer" ) ; d = new h . Api ( d ) ; this . classes = a . extend ( ! 0 , { } , e . classes ) ; this . c = a . extend ( ! 0 , { } , e . defaults , g ) ; g && void 0 !== g . left || void 0 === this . c . leftColumns || ( this . c . left = this . c . leftColumns ) ; g && void 0 !== g . right || void 0 === this . c . rightColumns || ( this . c . right = this . c . rightColumns ) ; this . s = { barWidth : 0 , dt : d , rtl : "rtl" === a ( d . table ( ) . node ( ) ) . css ( "direction" ) } ; g =
{ "background-color" : "white" , bottom : "0px" , display : "block" , position : "absolute" , width : this . s . barWidth + 1 + "px" } ; this . dom = { leftBottomBlocker : a ( "<div>" ) . css ( g ) . css ( "left" , 0 ) . addClass ( this . classes . leftBottomBlocker ) , leftTopBlocker : a ( "<div>" ) . css ( g ) . css ( { left : 0 , top : 0 } ) . addClass ( this . classes . leftTopBlocker ) , rightBottomBlocker : a ( "<div>" ) . css ( g ) . css ( "right" , 0 ) . addClass ( this . classes . rightBottomBlocker ) , rightTopBlocker : a ( "<div>" ) . css ( g ) . css ( { right : 0 , top : 0 } ) . addClass ( this . classes . rightTopBlocker ) } ; if ( this . s . dt . settings ( ) [ 0 ] . _bInitComplete ) this . _addStyles ( ) ,
this . _setKeyTableListener ( ) ; else d . one ( "init.dt" , function ( ) { m . _addStyles ( ) ; m . _setKeyTableListener ( ) } ) ; d . on ( "column-sizing.dt" , function ( ) { return m . _addStyles ( ) } ) ; d . settings ( ) [ 0 ] . _fixedColumns = this ; return this } e . prototype . left = function ( d ) { void 0 !== d && ( this . c . left = d , this . _addStyles ( ) ) ; return this . c . left } ; e . prototype . right = function ( d ) { void 0 !== d && ( this . c . right = d , this . _addStyles ( ) ) ; return this . c . right } ; e . prototype . _addStyles = function ( ) { if ( this . s . dt . settings ( ) [ 0 ] . oScroll . sY ) { var d = a ( this . s . dt . table ( ) . node ( ) ) . closest ( "div.dataTables_scrollBody" ) [ 0 ] ,
g = this . s . dt . settings ( ) [ 0 ] . oBrowser . barWidth ; this . s . barWidth = d . offsetWidth - d . clientWidth >= g ? g : 0 ; this . dom . rightTopBlocker . css ( "width" , this . s . barWidth + 1 ) ; this . dom . leftTopBlocker . css ( "width" , this . s . barWidth + 1 ) ; this . dom . rightBottomBlocker . css ( "width" , this . s . barWidth + 1 ) ; this . dom . leftBottomBlocker . css ( "width" , this . s . barWidth + 1 ) } d = null ; g = this . s . dt . column ( 0 ) . header ( ) ; var m = null ; null !== g && ( g = a ( g ) , m = g . outerHeight ( ) + 1 , d = a ( g . closest ( "div.dataTables_scroll" ) ) . css ( "position" , "relative" ) ) ; var n = this . s . dt . column ( 0 ) . footer ( ) ,
c = null ; null !== n && ( n = a ( n ) , c = n . outerHeight ( ) , null === d && ( d = a ( n . closest ( "div.dataTables_scroll" ) ) . css ( "position" , "relative" ) ) ) ; for ( var b = this . s . dt . columns ( ) . data ( ) . toArray ( ) . length , f = 0 , l = 0 , u = a ( this . s . dt . table ( ) . node ( ) ) . children ( "tbody" ) . children ( "tr" ) , x = 0 , A = new Map , r = 0 ; r < b ; r ++ ) { var t = this . s . dt . column ( r ) ; 0 < r && A . set ( r - 1 , x ) ; if ( t . visible ( ) ) { var y = a ( t . header ( ) ) ; t = a ( t . footer ( ) ) ; if ( r - x < this . c . left ) { a ( this . s . dt . table ( ) . node ( ) ) . addClass ( this . classes . tableFixedLeft ) ; d . addClass ( this . classes . tableFixedLeft ) ; if ( 0 <
r - x ) for ( var p = r ; p + 1 < b ; ) { var q = this . s . dt . column ( p - 1 , { page : "current" } ) ; if ( q . visible ( ) ) { f += a ( q . nodes ( ) [ 0 ] ) . outerWidth ( ) ; l += q . header ( ) ? a ( q . header ( ) ) . outerWidth ( ) : q . footer ( ) ? a ( q . header ( ) ) . outerWidth ( ) : 0 ; break } p -- } for ( var v = 0 , w = u ; v < w . length ; v ++ ) p = w [ v ] , a ( a ( p ) . children ( ) [ r - x ] ) . css ( this . _getCellCSS ( ! 1 , f , "left" ) ) . addClass ( this . classes . fixedLeft ) ; y . css ( this . _getCellCSS ( ! 0 , l , "left" ) ) . addClass ( this . classes . fixedLeft ) ; t . css ( this . _getCellCSS ( ! 0 , l , "left" ) ) . addClass ( this . classes . fixedLeft ) } else { v = 0 ; for ( w = u ; v < w . length ; v ++ ) p =
w [ v ] , p = a ( a ( p ) . children ( ) [ r - x ] ) , p . hasClass ( this . classes . fixedLeft ) && p . css ( this . _clearCellCSS ( "left" ) ) . removeClass ( this . classes . fixedLeft ) ; y . hasClass ( this . classes . fixedLeft ) && y . css ( this . _clearCellCSS ( "left" ) ) . removeClass ( this . classes . fixedLeft ) ; t . hasClass ( this . classes . fixedLeft ) && t . css ( this . _clearCellCSS ( "left" ) ) . removeClass ( this . classes . fixedLeft ) } } else x ++ } null === g || g . hasClass ( "index" ) || ( this . s . rtl ? ( this . dom . leftTopBlocker . outerHeight ( m ) , d . append ( this . dom . leftTopBlocker ) ) : ( this . dom . rightTopBlocker . outerHeight ( m ) ,
d . append ( this . dom . rightTopBlocker ) ) ) ; null === n || n . hasClass ( "index" ) || ( this . s . rtl ? ( this . dom . leftBottomBlocker . outerHeight ( c ) , d . append ( this . dom . leftBottomBlocker ) ) : ( this . dom . rightBottomBlocker . outerHeight ( c ) , d . append ( this . dom . rightBottomBlocker ) ) ) ; v = l = f = 0 ; for ( r = b - 1 ; 0 <= r ; r -- ) if ( t = this . s . dt . column ( r ) , t . visible ( ) ) if ( y = a ( t . header ( ) ) , t = a ( t . footer ( ) ) , w = A . get ( r ) , void 0 === w && ( w = x ) , r + v >= b - this . c . right ) { a ( this . s . dt . table ( ) . node ( ) ) . addClass ( this . classes . tableFixedRight ) ; d . addClass ( this . classes . tableFixedRight ) ;
if ( r + 1 + v < b ) for ( p = r ; p + 1 < b ; ) { q = this . s . dt . column ( p + 1 , { page : "current" } ) ; if ( q . visible ( ) ) { f += a ( q . nodes ( ) [ 0 ] ) . outerWidth ( ) ; l += q . header ( ) ? a ( q . header ( ) ) . outerWidth ( ) : q . footer ( ) ? a ( q . header ( ) ) . outerWidth ( ) : 0 ; break } p ++ } q = 0 ; for ( var z = u ; q < z . length ; q ++ ) p = z [ q ] , a ( a ( p ) . children ( ) [ r - w ] ) . css ( this . _getCellCSS ( ! 1 , f , "right" ) ) . addClass ( this . classes . fixedRight ) ; y . css ( this . _getCellCSS ( ! 0 , l , "right" ) ) . addClass ( this . classes . fixedRight ) ; t . css ( this . _getCellCSS ( ! 0 , l , "right" ) ) . addClass ( this . classes . fixedRight ) } else { q = 0 ; for ( z = u ; q <
z . length ; q ++ ) p = z [ q ] , p = a ( a ( p ) . children ( ) [ r - w ] ) , p . hasClass ( this . classes . fixedRight ) && p . css ( this . _clearCellCSS ( "right" ) ) . removeClass ( this . classes . fixedRight ) ; y . hasClass ( this . classes . fixedRight ) && y . css ( this . _clearCellCSS ( "right" ) ) . removeClass ( this . classes . fixedRight ) ; t . hasClass ( this . classes . fixedRight ) && t . css ( this . _clearCellCSS ( "right" ) ) . removeClass ( this . classes . fixedRight ) } else v ++ ; g && ( this . s . rtl ? ( this . dom . leftTopBlocker . outerHeight ( m ) , d . append ( this . dom . leftTopBlocker ) ) : ( this . dom . rightTopBlocker . outerHeight ( m ) ,
d . append ( this . dom . rightTopBlocker ) ) ) ; n && ( this . s . rtl ? ( this . dom . leftBottomBlocker . outerHeight ( c ) , d . append ( this . dom . leftBottomBlocker ) ) : ( this . dom . rightBottomBlocker . outerHeight ( c ) , d . append ( this . dom . rightBottomBlocker ) ) ) } ; e . prototype . _getCellCSS = function ( d , g , m ) { return "left" === m ? this . s . rtl ? { position : "sticky" , right : g + ( d ? this . s . barWidth : 0 ) + "px" } : { left : g + "px" , position : "sticky" } : this . s . rtl ? { left : g + "px" , position : "sticky" } : { position : "sticky" , right : g + ( d ? this . s . barWidth : 0 ) + "px" } } ; e . prototype . _clearCellCSS = function ( d ) { return "left" ===
d ? this . s . rtl ? { position : "" , right : "" } : { left : "" , position : "" } : this . s . rtl ? { left : "" , position : "" } : { position : "" , right : "" } } ; e . prototype . _setKeyTableListener = function ( ) { var d = this ; this . s . dt . on ( "key-focus" , function ( g , m , n ) { g = a ( n . node ( ) ) . offset ( ) ; m = a ( a ( d . s . dt . table ( ) . node ( ) ) . closest ( "div.dataTables_scrollBody" ) ) ; if ( 0 < d . c . left ) { var c = a ( d . s . dt . column ( d . c . left - 1 ) . header ( ) ) , b = c . offset ( ) , f = c . outerWidth ( ) ; g . left < b . left + f && ( c = m . scrollLeft ( ) , m . scrollLeft ( c - ( b . left + f - g . left ) ) ) } 0 < d . c . right && ( c = d . s . dt . columns ( ) . data ( ) . toArray ( ) . length ,
n = a ( n . node ( ) ) . outerWidth ( ) , b = a ( d . s . dt . column ( c - d . c . right ) . header ( ) ) . offset ( ) , g . left + n > b . left && ( c = m . scrollLeft ( ) , m . scrollLeft ( c - ( b . left - ( g . left + n ) ) ) ) ) } ) ; this . s . dt . on ( "draw" , function ( ) { d . _addStyles ( ) } ) ; this . s . dt . on ( "column-reorder" , function ( ) { d . _addStyles ( ) } ) ; this . s . dt . on ( "column-visibility" , function ( g , m ) { m . bDestroying || setTimeout ( function ( ) { d . _addStyles ( ) } , 50 ) } ) } ; e . version = "4.0.2" ; e . classes = { fixedLeft : "dtfc-fixed-left" , fixedRight : "dtfc-fixed-right" , leftBottomBlocker : "dtfc-left-bottom-blocker" , leftTopBlocker : "dtfc-left-top-blocker" ,
rightBottomBlocker : "dtfc-right-bottom-blocker" , rightTopBlocker : "dtfc-right-top-blocker" , tableFixedLeft : "dtfc-has-left" , tableFixedRight : "dtfc-has-right" } ; e . defaults = { i18n : { button : "FixedColumns" } , left : 1 , right : 0 } ; return e } ( ) ; ( function ( e ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( d ) { return e ( d , window , document ) } ) : "object" === typeof exports ? module . exports = function ( d , g ) { d || ( d = window ) ; g && g . fn . dataTable || ( g = require ( "datatables.net" ) ( d , g ) . $ ) ; return e ( g , d , d . document ) } :
e ( window . jQuery , window , document ) } ) ( function ( e , d , g ) { function m ( c , b ) { void 0 === b && ( b = null ) ; c = new n . Api ( c ) ; b = b ? b : c . init ( ) . fixedColumns || n . defaults . fixedColumns ; return new k ( c , b ) } a = e ; h = a . fn . dataTable ; var n = e . fn . dataTable ; e . fn . dataTable . FixedColumns = k ; e . fn . DataTable . FixedColumns = k ; d = e . fn . dataTable . Api . register ; d ( "fixedColumns()" , function ( ) { return this } ) ; d ( "fixedColumns().left()" , function ( c ) { var b = this . context [ 0 ] ; return void 0 !== c ? ( b . _fixedColumns . left ( c ) , this ) : b . _fixedColumns . left ( ) } ) ; d ( "fixedColumns().right()" ,
function ( c ) { var b = this . context [ 0 ] ; return void 0 !== c ? ( b . _fixedColumns . right ( c ) , this ) : b . _fixedColumns . right ( ) } ) ; e . fn . dataTable . ext . buttons . fixedColumns = { action : function ( c , b , f , l ) { e ( f ) . attr ( "active" ) ? ( e ( f ) . removeAttr ( "active" ) . removeClass ( "active" ) , b . fixedColumns ( ) . left ( 0 ) , b . fixedColumns ( ) . right ( 0 ) ) : ( e ( f ) . attr ( "active" , ! 0 ) . addClass ( "active" ) , b . fixedColumns ( ) . left ( l . config . left ) , b . fixedColumns ( ) . right ( l . config . right ) ) } , config : { left : 1 , right : 0 } , init : function ( c , b , f ) { void 0 === c . settings ( ) [ 0 ] . _fixedColumns &&
m ( c . settings ( ) , f ) ; e ( b ) . attr ( "active" , ! 0 ) . addClass ( "active" ) ; c . button ( b ) . text ( f . text || c . i18n ( "buttons.fixedColumns" , c . settings ( ) [ 0 ] . _fixedColumns . c . i18n . button ) ) } , text : null } ; e ( g ) . on ( "plugin-init.dt" , function ( c , b ) { "dt" === c . namespace && ( b . oInit . fixedColumns || n . defaults . fixedColumns ) && ( b . _fixedColumns || m ( b , null ) ) } ) } ) } ) ( ) ;
2022-03-23 12:39:52 +01:00
/ * !
Copyright 2009 - 2021 SpryMedia Ltd .
This source file is free software , available under the following license :
MIT license - http : //datatables.net/license/mit
This source file is distributed in the hope that it will be useful , but
WITHOUT ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE . See the license files for details .
For details please refer to : http : //www.datatables.net
2022-03-26 23:33:12 +01:00
FixedHeader 3.2 . 2
2022-03-23 12:39:52 +01:00
© 2009 - 2021 SpryMedia Ltd - datatables . net / license
* /
2022-03-26 23:33:12 +01:00
var $jscomp = $jscomp || { } ; $jscomp . scope = { } ; $jscomp . findInternal = function ( b , h , g ) { b instanceof String && ( b = String ( b ) ) ; for ( var l = b . length , k = 0 ; k < l ; k ++ ) { var w = b [ k ] ; if ( h . call ( g , w , k , b ) ) return { i : k , v : w } } return { i : - 1 , v : void 0 } } ; $jscomp . ASSUME _ES5 = ! 1 ; $jscomp . ASSUME _NO _NATIVE _MAP = ! 1 ; $jscomp . ASSUME _NO _NATIVE _SET = ! 1 ; $jscomp . SIMPLE _FROUND _POLYFILL = ! 1 ; $jscomp . ISOLATE _POLYFILLS = ! 1 ;
$jscomp . defineProperty = $jscomp . ASSUME _ES5 || "function" == typeof Object . defineProperties ? Object . defineProperty : function ( b , h , g ) { if ( b == Array . prototype || b == Object . prototype ) return b ; b [ h ] = g . value ; return b } ; $jscomp . getGlobal = function ( b ) { b = [ "object" == typeof globalThis && globalThis , b , "object" == typeof window && window , "object" == typeof self && self , "object" == typeof global && global ] ; for ( var h = 0 ; h < b . length ; ++ h ) { var g = b [ h ] ; if ( g && g . Math == Math ) return g } throw Error ( "Cannot find global object" ) ; } ; $jscomp . global = $jscomp . getGlobal ( this ) ;
$jscomp . IS _SYMBOL _NATIVE = "function" === typeof Symbol && "symbol" === typeof Symbol ( "x" ) ; $jscomp . TRUST _ES6 _POLYFILLS = ! $jscomp . ISOLATE _POLYFILLS || $jscomp . IS _SYMBOL _NATIVE ; $jscomp . polyfills = { } ; $jscomp . propertyToPolyfillSymbol = { } ; $jscomp . POLYFILL _PREFIX = "$jscp$" ; var $jscomp$lookupPolyfilledValue = function ( b , h ) { var g = $jscomp . propertyToPolyfillSymbol [ h ] ; if ( null == g ) return b [ h ] ; g = b [ g ] ; return void 0 !== g ? g : b [ h ] } ;
$jscomp . polyfill = function ( b , h , g , l ) { h && ( $jscomp . ISOLATE _POLYFILLS ? $jscomp . polyfillIsolated ( b , h , g , l ) : $jscomp . polyfillUnisolated ( b , h , g , l ) ) } ; $jscomp . polyfillUnisolated = function ( b , h , g , l ) { g = $jscomp . global ; b = b . split ( "." ) ; for ( l = 0 ; l < b . length - 1 ; l ++ ) { var k = b [ l ] ; if ( ! ( k in g ) ) return ; g = g [ k ] } b = b [ b . length - 1 ] ; l = g [ b ] ; h = h ( l ) ; h != l && null != h && $jscomp . defineProperty ( g , b , { configurable : ! 0 , writable : ! 0 , value : h } ) } ;
$jscomp . polyfillIsolated = function ( b , h , g , l ) { var k = b . split ( "." ) ; b = 1 === k . length ; l = k [ 0 ] ; l = ! b && l in $jscomp . polyfills ? $jscomp . polyfills : $jscomp . global ; for ( var w = 0 ; w < k . length - 1 ; w ++ ) { var t = k [ w ] ; if ( ! ( t in l ) ) return ; l = l [ t ] } k = k [ k . length - 1 ] ; g = $jscomp . IS _SYMBOL _NATIVE && "es6" === g ? l [ k ] : null ; h = h ( g ) ; null != h && ( b ? $jscomp . defineProperty ( $jscomp . polyfills , k , { configurable : ! 0 , writable : ! 0 , value : h } ) : h !== g && ( $jscomp . propertyToPolyfillSymbol [ k ] = $jscomp . IS _SYMBOL _NATIVE ? $jscomp . global . Symbol ( k ) : $jscomp . POLYFILL _PREFIX + k , k =
$jscomp . propertyToPolyfillSymbol [ k ] , $jscomp . defineProperty ( l , k , { configurable : ! 0 , writable : ! 0 , value : h } ) ) ) } ; $jscomp . polyfill ( "Array.prototype.find" , function ( b ) { return b ? b : function ( h , g ) { return $jscomp . findInternal ( this , h , g ) . v } } , "es6" , "es3" ) ;
( function ( b ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( h ) { return b ( h , window , document ) } ) : "object" === typeof exports ? module . exports = function ( h , g ) { h || ( h = window ) ; g && g . fn . dataTable || ( g = require ( "datatables.net" ) ( h , g ) . $ ) ; return b ( g , h , h . document ) } : b ( jQuery , window , document ) } ) ( function ( b , h , g , l ) { var k = b . fn . dataTable , w = 0 , t = function ( a , d ) { if ( ! ( this instanceof t ) ) throw "FixedHeader must be initialised with the 'new' keyword." ; ! 0 === d && ( d = { } ) ; a = new k . Api ( a ) ; this . c = b . extend ( ! 0 ,
{ } , t . defaults , d ) ; this . s = { dt : a , position : { theadTop : 0 , tbodyTop : 0 , tfootTop : 0 , tfootBottom : 0 , width : 0 , left : 0 , tfootHeight : 0 , theadHeight : 0 , windowHeight : b ( h ) . height ( ) , visible : ! 0 } , headerMode : null , footerMode : null , autoWidth : a . settings ( ) [ 0 ] . oFeatures . bAutoWidth , namespace : ".dtfc" + w ++ , scrollLeft : { header : - 1 , footer : - 1 } , enable : ! 0 } ; this . dom = { floatingHeader : null , thead : b ( a . table ( ) . header ( ) ) , tbody : b ( a . table ( ) . body ( ) ) , tfoot : b ( a . table ( ) . footer ( ) ) , header : { host : null , floating : null , floatingParent : b ( '<div class="dtfh-floatingparent">' ) ,
placeholder : null } , footer : { host : null , floating : null , floatingParent : b ( '<div class="dtfh-floatingparent">' ) , placeholder : null } } ; this . dom . header . host = this . dom . thead . parent ( ) ; this . dom . footer . host = this . dom . tfoot . parent ( ) ; a = a . settings ( ) [ 0 ] ; if ( a . _fixedHeader ) throw "FixedHeader already initialised on table " + a . nTable . id ; a . _fixedHeader = this ; this . _constructor ( ) } ; b . extend ( t . prototype , { destroy : function ( ) { var a = this . dom ; this . s . dt . off ( ".dtfc" ) ; b ( h ) . off ( this . s . namespace ) ; a . header . rightBlocker && a . header . rightBlocker . remove ( ) ;
a . header . leftBlocker && a . header . leftBlocker . remove ( ) ; a . footer . rightBlocker && a . footer . rightBlocker . remove ( ) ; a . footer . leftBlocker && a . footer . leftBlocker . remove ( ) ; this . c . header && this . _modeChange ( "in-place" , "header" , ! 0 ) ; this . c . footer && a . tfoot . length && this . _modeChange ( "in-place" , "footer" , ! 0 ) } , enable : function ( a , d ) { this . s . enable = a ; if ( d || d === l ) this . _positions ( ) , this . _scroll ( ! 0 ) } , enabled : function ( ) { return this . s . enable } , headerOffset : function ( a ) { a !== l && ( this . c . headerOffset = a , this . update ( ) ) ; return this . c . headerOffset } ,
footerOffset : function ( a ) { a !== l && ( this . c . footerOffset = a , this . update ( ) ) ; return this . c . footerOffset } , update : function ( a ) { var d = this . s . dt . table ( ) . node ( ) ; b ( d ) . is ( ":visible" ) ? this . enable ( ! 0 , ! 1 ) : this . enable ( ! 1 , ! 1 ) ; 0 !== b ( d ) . children ( "thead" ) . length && ( this . _positions ( ) , this . _scroll ( a !== l ? a : ! 0 ) ) } , _constructor : function ( ) { var a = this , d = this . s . dt ; b ( h ) . on ( "scroll" + this . s . namespace , function ( ) { a . _scroll ( ) } ) . on ( "resize" + this . s . namespace , k . util . throttle ( function ( ) { a . s . position . windowHeight = b ( h ) . height ( ) ; a . update ( ) } ,
50 ) ) ; var c = b ( ".fh-fixedHeader" ) ; ! this . c . headerOffset && c . length && ( this . c . headerOffset = c . outerHeight ( ) ) ; c = b ( ".fh-fixedFooter" ) ; ! this . c . footerOffset && c . length && ( this . c . footerOffset = c . outerHeight ( ) ) ; d . on ( "column-reorder.dt.dtfc column-visibility.dt.dtfc column-sizing.dt.dtfc responsive-display.dt.dtfc" , function ( f , e ) { a . update ( ) } ) . on ( "draw.dt.dtfc" , function ( f , e ) { a . update ( e === d . settings ( ) [ 0 ] ? ! 1 : ! 0 ) } ) ; d . on ( "destroy.dtfc" , function ( ) { a . destroy ( ) } ) ; this . _positions ( ) ; this . _scroll ( ) } , _clone : function ( a , d ) { var c =
this , f = this . s . dt , e = this . dom [ a ] , p = "header" === a ? this . dom . thead : this . dom . tfoot ; if ( "footer" !== a || ! this . _scrollEnabled ( ) ) if ( ! d && e . floating ) e . floating . removeClass ( "fixedHeader-floating fixedHeader-locked" ) ; else { e . floating && ( null !== e . placeholder && e . placeholder . remove ( ) , this . _unsize ( a ) , e . floating . children ( ) . detach ( ) , e . floating . remove ( ) ) ; var q = b ( f . table ( ) . node ( ) ) , n = b ( q . parent ( ) ) , r = this . _scrollEnabled ( ) ; d = b ( g ) . scrollLeft ( ) ; var m = b ( g ) . scrollTop ( ) ; e . floating = b ( f . table ( ) . node ( ) . cloneNode ( ! 1 ) ) . attr ( "aria-hidden" ,
"true" ) . css ( { "table-layout" : "fixed" , top : 0 , left : 0 } ) . removeAttr ( "id" ) . append ( p ) ; e . floatingParent . css ( { width : n . width ( ) , overflow : "hidden" , height : "fit-content" , position : "fixed" , left : r ? q . offset ( ) . left + n . scrollLeft ( ) : 0 } ) . css ( "header" === a ? { top : this . c . headerOffset , bottom : "" } : { top : "" , bottom : this . c . footerOffset } ) . addClass ( "footer" === a ? "dtfh-floatingparentfoot" : "dtfh-floatingparenthead" ) . append ( e . floating ) . appendTo ( "body" ) ; this . _stickyPosition ( e . floating , "-" ) ; a = function ( ) { var u = n . scrollLeft ( ) ; c . s . scrollLeft =
{ footer : u , header : u } ; e . floatingParent . scrollLeft ( c . s . scrollLeft . header ) } ; a ( ) ; n . off ( "scroll.dtfh" ) . on ( "scroll.dtfh" , a ) ; e . placeholder = p . clone ( ! 1 ) ; e . placeholder . find ( "*[id]" ) . removeAttr ( "id" ) ; e . host . prepend ( e . placeholder ) ; this . _matchWidths ( e . placeholder , e . floating ) ; b ( g ) . scrollTop ( m ) . scrollLeft ( d ) } } , _stickyPosition : function ( a , d ) { if ( this . _scrollEnabled ( ) ) { var c = this , f = "rtl" === b ( c . s . dt . table ( ) . node ( ) ) . css ( "direction" ) ; a . find ( "th" ) . each ( function ( ) { if ( "sticky" === b ( this ) . css ( "position" ) ) { var e = b ( this ) . css ( "right" ) ,
p = b ( this ) . css ( "left" ) ; "auto" === e || f ? "auto" !== p && f && ( e = + p . replace ( /px/g , "" ) + ( "-" === d ? - 1 : 1 ) * c . s . dt . settings ( ) [ 0 ] . oBrowser . barWidth , b ( this ) . css ( "left" , 0 < e ? e : 0 ) ) : ( e = + e . replace ( /px/g , "" ) + ( "-" === d ? - 1 : 1 ) * c . s . dt . settings ( ) [ 0 ] . oBrowser . barWidth , b ( this ) . css ( "right" , 0 < e ? e : 0 ) ) } } ) } } , _matchWidths : function ( a , d ) { var c = function ( p ) { return b ( p , a ) . map ( function ( ) { return 1 * b ( this ) . css ( "width" ) . replace ( /[^\d\.]/g , "" ) } ) . toArray ( ) } , f = function ( p , q ) { b ( p , d ) . each ( function ( n ) { b ( this ) . css ( { width : q [ n ] , minWidth : q [ n ] } ) } ) } , e = c ( "th" ) ;
c = c ( "td" ) ; f ( "th" , e ) ; f ( "td" , c ) } , _unsize : function ( a ) { var d = this . dom [ a ] . floating ; d && ( "footer" === a || "header" === a && ! this . s . autoWidth ) ? b ( "th, td" , d ) . css ( { width : "" , minWidth : "" } ) : d && "header" === a && b ( "th, td" , d ) . css ( "min-width" , "" ) } , _horizontal : function ( a , d ) { var c = this . dom [ a ] , f = this . s . scrollLeft ; if ( c . floating && f [ a ] !== d ) { if ( this . _scrollEnabled ( ) ) { var e = b ( b ( this . s . dt . table ( ) . node ( ) ) . parent ( ) ) . scrollLeft ( ) ; c . floating . scrollLeft ( e ) ; c . floatingParent . scrollLeft ( e ) } f [ a ] = d } } , _modeChange : function ( a , d , c ) { var f = this . dom [ d ] ,
e = this . s . position , p = this . _scrollEnabled ( ) ; if ( "footer" !== d || ! p ) { var q = function ( B ) { f . floating . attr ( "style" , function ( x , y ) { return ( y || "" ) + "width: " + B + "px !important;" } ) ; p || f . floatingParent . attr ( "style" , function ( x , y ) { return ( y || "" ) + "width: " + B + "px !important;" } ) } , n = this . dom [ "footer" === d ? "tfoot" : "thead" ] , r = b . contains ( n [ 0 ] , g . activeElement ) ? g . activeElement : null , m = b ( b ( this . s . dt . table ( ) . node ( ) ) . parent ( ) ) ; if ( "in-place" === a ) f . placeholder && ( f . placeholder . remove ( ) , f . placeholder = null ) , this . _unsize ( d ) , "header" === d ?
f . host . prepend ( n ) : f . host . append ( n ) , f . floating && ( f . floating . remove ( ) , f . floating = null , this . _stickyPosition ( f . host , "+" ) ) , f . floatingParent && f . floatingParent . remove ( ) , b ( b ( f . host . parent ( ) ) . parent ( ) ) . scrollLeft ( m . scrollLeft ( ) ) ; else if ( "in" === a ) { this . _clone ( d , c ) ; n = m . offset ( ) ; c = b ( g ) . scrollTop ( ) ; var u = b ( h ) . height ( ) ; u = c + u ; var z = p ? n . top : e . tbodyTop ; m = p ? n . top + m . outerHeight ( ) : e . tfootTop ; c = "footer" === d ? z > u ? e . tfootHeight : z + e . tfootHeight - u : c + this . c . headerOffset + e . theadHeight - m ; m = "header" === d ? "top" : "bottom" ; c = this . c [ d +
"Offset" ] - ( 0 < c ? c : 0 ) ; f . floating . addClass ( "fixedHeader-floating" ) ; f . floatingParent . css ( m , c ) . css ( { left : e . left , height : "header" === d ? e . theadHeight : e . tfootHeight , "z-index" : 2 } ) . append ( f . floating ) ; q ( e . width ) ; "footer" === d && f . floating . css ( "top" , "" ) } else "below" === a ? ( this . _clone ( d , c ) , f . floating . addClass ( "fixedHeader-locked" ) , f . floatingParent . css ( { position : "absolute" , top : e . tfootTop - e . theadHeight , left : e . left + "px" } ) , q ( e . width ) ) : "above" === a && ( this . _clone ( d , c ) , f . floating . addClass ( "fixedHeader-locked" ) , f . floatingParent . css ( { position : "absolute" ,
top : e . tbodyTop , left : e . left + "px" } ) , q ( e . width ) ) ; r && r !== g . activeElement && setTimeout ( function ( ) { r . focus ( ) } , 10 ) ; this . s . scrollLeft . header = - 1 ; this . s . scrollLeft . footer = - 1 ; this . s [ d + "Mode" ] = a } } , _positions : function ( ) { var a = this . s . dt , d = a . table ( ) , c = this . s . position , f = this . dom ; d = b ( d . node ( ) ) ; var e = this . _scrollEnabled ( ) , p = b ( a . table ( ) . header ( ) ) ; a = b ( a . table ( ) . footer ( ) ) ; f = f . tbody ; var q = d . parent ( ) ; c . visible = d . is ( ":visible" ) ; c . width = d . outerWidth ( ) ; c . left = d . offset ( ) . left ; c . theadTop = p . offset ( ) . top ; c . tbodyTop = e ? q . offset ( ) . top :
f . offset ( ) . top ; c . tbodyHeight = e ? q . outerHeight ( ) : f . outerHeight ( ) ; c . theadHeight = p . outerHeight ( ) ; c . theadBottom = c . theadTop + c . theadHeight ; a . length ? ( c . tfootTop = c . tbodyTop + c . tbodyHeight , c . tfootBottom = c . tfootTop + a . outerHeight ( ) , c . tfootHeight = a . outerHeight ( ) ) : ( c . tfootTop = c . tbodyTop + f . outerHeight ( ) , c . tfootBottom = c . tfootTop , c . tfootHeight = c . tfootTop ) } , _scroll : function ( a ) { if ( ! this . s . dt . settings ( ) [ 0 ] . bDestroying ) { var d = this . _scrollEnabled ( ) , c = b ( this . s . dt . table ( ) . node ( ) ) . parent ( ) , f = c . offset ( ) , e = c . outerHeight ( ) , p =
b ( g ) . scrollLeft ( ) , q = b ( g ) . scrollTop ( ) , n = b ( h ) . height ( ) , r = n + q , m = this . s . position , u = d ? f . top : m . tbodyTop , z = d ? f . left : m . left ; e = d ? f . top + e : m . tfootTop ; var B = d ? c . outerWidth ( ) : m . tbodyWidth ; r = q + n ; this . c . header && ( this . s . enable ? ! m . visible || q + this . c . headerOffset + m . theadHeight <= u ? n = "in-place" : q + this . c . headerOffset + m . theadHeight > u && q + this . c . headerOffset < e ? ( n = "in" , c = b ( b ( this . s . dt . table ( ) . node ( ) ) . parent ( ) ) , q + this . c . headerOffset + m . theadHeight > e || this . dom . header . floatingParent === l ? a = ! 0 : this . dom . header . floatingParent . css ( { top : this . c . headerOffset ,
position : "fixed" } ) . append ( this . dom . header . floating ) ) : n = "below" : n = "in-place" , ( a || n !== this . s . headerMode ) && this . _modeChange ( n , "header" , a ) , this . _horizontal ( "header" , p ) ) ; var x = { offset : { top : 0 , left : 0 } , height : 0 } , y = { offset : { top : 0 , left : 0 } , height : 0 } ; this . c . footer && this . dom . tfoot . length && ( this . s . enable ? ! m . visible || m . tfootBottom + this . c . footerOffset <= r ? m = "in-place" : e + m . tfootHeight + this . c . footerOffset > r && u + this . c . footerOffset < r ? ( m = "in" , a = ! 0 ) : m = "above" : m = "in-place" , ( a || m !== this . s . footerMode ) && this . _modeChange ( m ,
"footer" , a ) , this . _horizontal ( "footer" , p ) , a = function ( A ) { return { offset : A . offset ( ) , height : A . outerHeight ( ) } } , x = this . dom . header . floating ? a ( this . dom . header . floating ) : a ( this . dom . thead ) , y = this . dom . footer . floating ? a ( this . dom . footer . floating ) : a ( this . dom . tfoot ) , d && y . offset . top > q && ( d = q - f . top , r = r + ( d > - x . height ? d : 0 ) - ( x . offset . top + ( d < - x . height ? x . height : 0 ) + y . height ) , 0 > r && ( r = 0 ) , c . outerHeight ( r ) , Math . round ( c . outerHeight ( ) ) >= Math . round ( r ) ? b ( this . dom . tfoot . parent ( ) ) . addClass ( "fixedHeader-floating" ) : b ( this . dom . tfoot . parent ( ) ) . removeClass ( "fixedHeader-floating" ) ) ) ;
this . dom . header . floating && this . dom . header . floatingParent . css ( "left" , z - p ) ; this . dom . footer . floating && this . dom . footer . floatingParent . css ( "left" , z - p ) ; this . s . dt . settings ( ) [ 0 ] . _fixedColumns !== l && ( c = function ( A , C , v ) { v === l && ( v = b ( "div.dtfc-" + A + "-" + C + "-blocker" ) , v = 0 === v . length ? null : v . clone ( ) . appendTo ( "body" ) . css ( "z-index" , 1 ) ) ; null !== v && v . css ( { top : "top" === C ? x . offset . top : y . offset . top , left : "right" === A ? z + B - v . width ( ) : z } ) ; return v } , this . dom . header . rightBlocker = c ( "right" , "top" , this . dom . header . rightBlocker ) , this . dom . header . leftBlocker =
c ( "left" , "top" , this . dom . header . leftBlocker ) , this . dom . footer . rightBlocker = c ( "right" , "bottom" , this . dom . footer . rightBlocker ) , this . dom . footer . leftBlocker = c ( "left" , "bottom" , this . dom . footer . leftBlocker ) ) } } , _scrollEnabled : function ( ) { var a = this . s . dt . settings ( ) [ 0 ] . oScroll ; return "" !== a . sY || "" !== a . sX ? ! 0 : ! 1 } } ) ; t . version = "3.2.2" ; t . defaults = { header : ! 0 , footer : ! 1 , headerOffset : 0 , footerOffset : 0 } ; b . fn . dataTable . FixedHeader = t ; b . fn . DataTable . FixedHeader = t ; b ( g ) . on ( "init.dt.dtfh" , function ( a , d , c ) { "dt" === a . namespace && ( a =
d . oInit . fixedHeader , c = k . defaults . fixedHeader , ! a && ! c || d . _fixedHeader || ( c = b . extend ( { } , c , a ) , ! 1 !== a && new t ( d , c ) ) ) } ) ; k . Api . register ( "fixedHeader()" , function ( ) { } ) ; k . Api . register ( "fixedHeader.adjust()" , function ( ) { return this . iterator ( "table" , function ( a ) { ( a = a . _fixedHeader ) && a . update ( ) } ) } ) ; k . Api . register ( "fixedHeader.enable()" , function ( a ) { return this . iterator ( "table" , function ( d ) { d = d . _fixedHeader ; a = a !== l ? a : ! 0 ; d && a !== d . enabled ( ) && d . enable ( a ) } ) } ) ; k . Api . register ( "fixedHeader.enabled()" , function ( ) { if ( this . context . length ) { var a =
this . context [ 0 ] . _fixedHeader ; if ( a ) return a . enabled ( ) } return ! 1 } ) ; k . Api . register ( "fixedHeader.disable()" , function ( ) { return this . iterator ( "table" , function ( a ) { ( a = a . _fixedHeader ) && a . enabled ( ) && a . enable ( ! 1 ) } ) } ) ; b . each ( [ "header" , "footer" ] , function ( a , d ) { k . Api . register ( "fixedHeader." + d + "Offset()" , function ( c ) { var f = this . context ; return c === l ? f . length && f [ 0 ] . _fixedHeader ? f [ 0 ] . _fixedHeader [ d + "Offset" ] ( ) : l : this . iterator ( "table" , function ( e ) { if ( e = e . _fixedHeader ) e [ d + "Offset" ] ( c ) } ) } ) } ) ; return t } ) ;
2022-03-23 12:39:52 +01:00
/ * !
Copyright 2014 - 2021 SpryMedia Ltd .
This source file is free software , available under the following license :
MIT license - http : //datatables.net/license/mit
This source file is distributed in the hope that it will be useful , but
WITHOUT ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE . See the license files for details .
For details please refer to : http : //www.datatables.net
Responsive 2.2 . 9
2014 - 2021 SpryMedia Ltd - datatables . net / license
* /
var $jscomp = $jscomp || { } ; $jscomp . scope = { } ; $jscomp . findInternal = function ( b , k , m ) { b instanceof String && ( b = String ( b ) ) ; for ( var n = b . length , p = 0 ; p < n ; p ++ ) { var y = b [ p ] ; if ( k . call ( m , y , p , b ) ) return { i : p , v : y } } return { i : - 1 , v : void 0 } } ; $jscomp . ASSUME _ES5 = ! 1 ; $jscomp . ASSUME _NO _NATIVE _MAP = ! 1 ; $jscomp . ASSUME _NO _NATIVE _SET = ! 1 ; $jscomp . SIMPLE _FROUND _POLYFILL = ! 1 ; $jscomp . ISOLATE _POLYFILLS = ! 1 ;
$jscomp . defineProperty = $jscomp . ASSUME _ES5 || "function" == typeof Object . defineProperties ? Object . defineProperty : function ( b , k , m ) { if ( b == Array . prototype || b == Object . prototype ) return b ; b [ k ] = m . value ; return b } ; $jscomp . getGlobal = function ( b ) { b = [ "object" == typeof globalThis && globalThis , b , "object" == typeof window && window , "object" == typeof self && self , "object" == typeof global && global ] ; for ( var k = 0 ; k < b . length ; ++ k ) { var m = b [ k ] ; if ( m && m . Math == Math ) return m } throw Error ( "Cannot find global object" ) ; } ; $jscomp . global = $jscomp . getGlobal ( this ) ;
$jscomp . IS _SYMBOL _NATIVE = "function" === typeof Symbol && "symbol" === typeof Symbol ( "x" ) ; $jscomp . TRUST _ES6 _POLYFILLS = ! $jscomp . ISOLATE _POLYFILLS || $jscomp . IS _SYMBOL _NATIVE ; $jscomp . polyfills = { } ; $jscomp . propertyToPolyfillSymbol = { } ; $jscomp . POLYFILL _PREFIX = "$jscp$" ; var $jscomp$lookupPolyfilledValue = function ( b , k ) { var m = $jscomp . propertyToPolyfillSymbol [ k ] ; if ( null == m ) return b [ k ] ; m = b [ m ] ; return void 0 !== m ? m : b [ k ] } ;
$jscomp . polyfill = function ( b , k , m , n ) { k && ( $jscomp . ISOLATE _POLYFILLS ? $jscomp . polyfillIsolated ( b , k , m , n ) : $jscomp . polyfillUnisolated ( b , k , m , n ) ) } ; $jscomp . polyfillUnisolated = function ( b , k , m , n ) { m = $jscomp . global ; b = b . split ( "." ) ; for ( n = 0 ; n < b . length - 1 ; n ++ ) { var p = b [ n ] ; if ( ! ( p in m ) ) return ; m = m [ p ] } b = b [ b . length - 1 ] ; n = m [ b ] ; k = k ( n ) ; k != n && null != k && $jscomp . defineProperty ( m , b , { configurable : ! 0 , writable : ! 0 , value : k } ) } ;
$jscomp . polyfillIsolated = function ( b , k , m , n ) { var p = b . split ( "." ) ; b = 1 === p . length ; n = p [ 0 ] ; n = ! b && n in $jscomp . polyfills ? $jscomp . polyfills : $jscomp . global ; for ( var y = 0 ; y < p . length - 1 ; y ++ ) { var z = p [ y ] ; if ( ! ( z in n ) ) return ; n = n [ z ] } p = p [ p . length - 1 ] ; m = $jscomp . IS _SYMBOL _NATIVE && "es6" === m ? n [ p ] : null ; k = k ( m ) ; null != k && ( b ? $jscomp . defineProperty ( $jscomp . polyfills , p , { configurable : ! 0 , writable : ! 0 , value : k } ) : k !== m && ( $jscomp . propertyToPolyfillSymbol [ p ] = $jscomp . IS _SYMBOL _NATIVE ? $jscomp . global . Symbol ( p ) : $jscomp . POLYFILL _PREFIX + p , p =
$jscomp . propertyToPolyfillSymbol [ p ] , $jscomp . defineProperty ( n , p , { configurable : ! 0 , writable : ! 0 , value : k } ) ) ) } ; $jscomp . polyfill ( "Array.prototype.find" , function ( b ) { return b ? b : function ( k , m ) { return $jscomp . findInternal ( this , k , m ) . v } } , "es6" , "es3" ) ;
( function ( b ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( k ) { return b ( k , window , document ) } ) : "object" === typeof exports ? module . exports = function ( k , m ) { k || ( k = window ) ; m && m . fn . dataTable || ( m = require ( "datatables.net" ) ( k , m ) . $ ) ; return b ( m , k , k . document ) } : b ( jQuery , window , document ) } ) ( function ( b , k , m , n ) { function p ( a , c , d ) { var f = c + "-" + d ; if ( A [ f ] ) return A [ f ] ; var g = [ ] ; a = a . cell ( c , d ) . node ( ) . childNodes ; c = 0 ; for ( d = a . length ; c < d ; c ++ ) g . push ( a [ c ] ) ; return A [ f ] = g } function y ( a , c , d ) { var f = c + "-" +
d ; if ( A [ f ] ) { a = a . cell ( c , d ) . node ( ) ; d = A [ f ] [ 0 ] . parentNode . childNodes ; c = [ ] ; for ( var g = 0 , l = d . length ; g < l ; g ++ ) c . push ( d [ g ] ) ; d = 0 ; for ( g = c . length ; d < g ; d ++ ) a . appendChild ( c [ d ] ) ; A [ f ] = n } } var z = b . fn . dataTable , u = function ( a , c ) { if ( ! z . versionCheck || ! z . versionCheck ( "1.10.10" ) ) throw "DataTables Responsive requires DataTables 1.10.10 or newer" ; this . s = { dt : new z . Api ( a ) , columns : [ ] , current : [ ] } ; this . s . dt . settings ( ) [ 0 ] . responsive || ( c && "string" === typeof c . details ? c . details = { type : c . details } : c && ! 1 === c . details ? c . details = { type : ! 1 } : c &&
! 0 === c . details && ( c . details = { type : "inline" } ) , this . c = b . extend ( ! 0 , { } , u . defaults , z . defaults . responsive , c ) , a . responsive = this , this . _constructor ( ) ) } ; b . extend ( u . prototype , { _constructor : function ( ) { var a = this , c = this . s . dt , d = c . settings ( ) [ 0 ] , f = b ( k ) . innerWidth ( ) ; c . settings ( ) [ 0 ] . _responsive = this ; b ( k ) . on ( "resize.dtr orientationchange.dtr" , z . util . throttle ( function ( ) { var g = b ( k ) . innerWidth ( ) ; g !== f && ( a . _resize ( ) , f = g ) } ) ) ; d . oApi . _fnCallbackReg ( d , "aoRowCreatedCallback" , function ( g , l , h ) { - 1 !== b . inArray ( ! 1 , a . s . current ) && b ( ">td, >th" ,
g ) . each ( function ( e ) { e = c . column . index ( "toData" , e ) ; ! 1 === a . s . current [ e ] && b ( this ) . css ( "display" , "none" ) } ) } ) ; c . on ( "destroy.dtr" , function ( ) { c . off ( ".dtr" ) ; b ( c . table ( ) . body ( ) ) . off ( ".dtr" ) ; b ( k ) . off ( "resize.dtr orientationchange.dtr" ) ; c . cells ( ".dtr-control" ) . nodes ( ) . to$ ( ) . removeClass ( "dtr-control" ) ; b . each ( a . s . current , function ( g , l ) { ! 1 === l && a . _setColumnVis ( g , ! 0 ) } ) } ) ; this . c . breakpoints . sort ( function ( g , l ) { return g . width < l . width ? 1 : g . width > l . width ? - 1 : 0 } ) ; this . _classLogic ( ) ; this . _resizeAuto ( ) ; d = this . c . details ; ! 1 !==
d . type && ( a . _detailsInit ( ) , c . on ( "column-visibility.dtr" , function ( ) { a . _timer && clearTimeout ( a . _timer ) ; a . _timer = setTimeout ( function ( ) { a . _timer = null ; a . _classLogic ( ) ; a . _resizeAuto ( ) ; a . _resize ( ! 0 ) ; a . _redrawChildren ( ) } , 100 ) } ) , c . on ( "draw.dtr" , function ( ) { a . _redrawChildren ( ) } ) , b ( c . table ( ) . node ( ) ) . addClass ( "dtr-" + d . type ) ) ; c . on ( "column-reorder.dtr" , function ( g , l , h ) { a . _classLogic ( ) ; a . _resizeAuto ( ) ; a . _resize ( ! 0 ) } ) ; c . on ( "column-sizing.dtr" , function ( ) { a . _resizeAuto ( ) ; a . _resize ( ) } ) ; c . on ( "preXhr.dtr" , function ( ) { var g =
[ ] ; c . rows ( ) . every ( function ( ) { this . child . isShown ( ) && g . push ( this . id ( ! 0 ) ) } ) ; c . one ( "draw.dtr" , function ( ) { a . _resizeAuto ( ) ; a . _resize ( ) ; c . rows ( g ) . every ( function ( ) { a . _detailsDisplay ( this , ! 1 ) } ) } ) } ) ; c . on ( "draw.dtr" , function ( ) { a . _controlClass ( ) } ) . on ( "init.dtr" , function ( g , l , h ) { "dt" === g . namespace && ( a . _resizeAuto ( ) , a . _resize ( ) , b . inArray ( ! 1 , a . s . current ) && c . columns . adjust ( ) ) } ) ; this . _resize ( ) } , _columnsVisiblity : function ( a ) { var c = this . s . dt , d = this . s . columns , f , g = d . map ( function ( t , v ) { return { columnIdx : v , priority : t . priority } } ) . sort ( function ( t ,
v ) { return t . priority !== v . priority ? t . priority - v . priority : t . columnIdx - v . columnIdx } ) , l = b . map ( d , function ( t , v ) { return ! 1 === c . column ( v ) . visible ( ) ? "not-visible" : t . auto && null === t . minWidth ? ! 1 : ! 0 === t . auto ? "-" : - 1 !== b . inArray ( a , t . includeIn ) } ) , h = 0 ; var e = 0 ; for ( f = l . length ; e < f ; e ++ ) ! 0 === l [ e ] && ( h += d [ e ] . minWidth ) ; e = c . settings ( ) [ 0 ] . oScroll ; e = e . sY || e . sX ? e . iBarWidth : 0 ; h = c . table ( ) . container ( ) . offsetWidth - e - h ; e = 0 ; for ( f = l . length ; e < f ; e ++ ) d [ e ] . control && ( h -= d [ e ] . minWidth ) ; var r = ! 1 ; e = 0 ; for ( f = g . length ; e < f ; e ++ ) { var q = g [ e ] . columnIdx ;
"-" === l [ q ] && ! d [ q ] . control && d [ q ] . minWidth && ( r || 0 > h - d [ q ] . minWidth ? ( r = ! 0 , l [ q ] = ! 1 ) : l [ q ] = ! 0 , h -= d [ q ] . minWidth ) } g = ! 1 ; e = 0 ; for ( f = d . length ; e < f ; e ++ ) if ( ! d [ e ] . control && ! d [ e ] . never && ! 1 === l [ e ] ) { g = ! 0 ; break } e = 0 ; for ( f = d . length ; e < f ; e ++ ) d [ e ] . control && ( l [ e ] = g ) , "not-visible" === l [ e ] && ( l [ e ] = ! 1 ) ; - 1 === b . inArray ( ! 0 , l ) && ( l [ 0 ] = ! 0 ) ; return l } , _classLogic : function ( ) { var a = this , c = this . c . breakpoints , d = this . s . dt , f = d . columns ( ) . eq ( 0 ) . map ( function ( h ) { var e = this . column ( h ) , r = e . header ( ) . className ; h = d . settings ( ) [ 0 ] . aoColumns [ h ] . responsivePriority ;
e = e . header ( ) . getAttribute ( "data-priority" ) ; h === n && ( h = e === n || null === e ? 1E4 : 1 * e ) ; return { className : r , includeIn : [ ] , auto : ! 1 , control : ! 1 , never : r . match ( /\bnever\b/ ) ? ! 0 : ! 1 , priority : h } } ) , g = function ( h , e ) { h = f [ h ] . includeIn ; - 1 === b . inArray ( e , h ) && h . push ( e ) } , l = function ( h , e , r , q ) { if ( ! r ) f [ h ] . includeIn . push ( e ) ; else if ( "max-" === r ) for ( q = a . _find ( e ) . width , e = 0 , r = c . length ; e < r ; e ++ ) c [ e ] . width <= q && g ( h , c [ e ] . name ) ; else if ( "min-" === r ) for ( q = a . _find ( e ) . width , e = 0 , r = c . length ; e < r ; e ++ ) c [ e ] . width >= q && g ( h , c [ e ] . name ) ; else if ( "not-" === r ) for ( e =
0 , r = c . length ; e < r ; e ++ ) - 1 === c [ e ] . name . indexOf ( q ) && g ( h , c [ e ] . name ) } ; f . each ( function ( h , e ) { for ( var r = h . className . split ( " " ) , q = ! 1 , t = 0 , v = r . length ; t < v ; t ++ ) { var B = r [ t ] . trim ( ) ; if ( "all" === B ) { q = ! 0 ; h . includeIn = b . map ( c , function ( w ) { return w . name } ) ; return } if ( "none" === B || h . never ) { q = ! 0 ; return } if ( "control" === B || "dtr-control" === B ) { q = ! 0 ; h . control = ! 0 ; return } b . each ( c , function ( w , D ) { w = D . name . split ( "-" ) ; var x = B . match ( new RegExp ( "(min\\-|max\\-|not\\-)?(" + w [ 0 ] + ")(\\-[_a-zA-Z0-9])?" ) ) ; x && ( q = ! 0 , x [ 2 ] === w [ 0 ] && x [ 3 ] === "-" + w [ 1 ] ? l ( e ,
D . name , x [ 1 ] , x [ 2 ] + x [ 3 ] ) : x [ 2 ] !== w [ 0 ] || x [ 3 ] || l ( e , D . name , x [ 1 ] , x [ 2 ] ) ) } ) } q || ( h . auto = ! 0 ) } ) ; this . s . columns = f } , _controlClass : function ( ) { if ( "inline" === this . c . details . type ) { var a = this . s . dt , c = b . inArray ( ! 0 , this . s . current ) ; a . cells ( null , function ( d ) { return d !== c } , { page : "current" } ) . nodes ( ) . to$ ( ) . filter ( ".dtr-control" ) . removeClass ( "dtr-control" ) ; a . cells ( null , c , { page : "current" } ) . nodes ( ) . to$ ( ) . addClass ( "dtr-control" ) } } , _detailsDisplay : function ( a , c ) { var d = this , f = this . s . dt , g = this . c . details ; if ( g && ! 1 !== g . type ) { var l = g . display ( a ,
c , function ( ) { return g . renderer ( f , a [ 0 ] , d . _detailsObj ( a [ 0 ] ) ) } ) ; ! 0 !== l && ! 1 !== l || b ( f . table ( ) . node ( ) ) . triggerHandler ( "responsive-display.dt" , [ f , a , l , c ] ) } } , _detailsInit : function ( ) { var a = this , c = this . s . dt , d = this . c . details ; "inline" === d . type && ( d . target = "td.dtr-control, th.dtr-control" ) ; c . on ( "draw.dtr" , function ( ) { a . _tabIndexes ( ) } ) ; a . _tabIndexes ( ) ; b ( c . table ( ) . body ( ) ) . on ( "keyup.dtr" , "td, th" , function ( g ) { 13 === g . keyCode && b ( this ) . data ( "dtr-keyboard" ) && b ( this ) . click ( ) } ) ; var f = d . target ; d = "string" === typeof f ? f : "td, th" ;
if ( f !== n || null !== f ) b ( c . table ( ) . body ( ) ) . on ( "click.dtr mousedown.dtr mouseup.dtr" , d , function ( g ) { if ( b ( c . table ( ) . node ( ) ) . hasClass ( "collapsed" ) && - 1 !== b . inArray ( b ( this ) . closest ( "tr" ) . get ( 0 ) , c . rows ( ) . nodes ( ) . toArray ( ) ) ) { if ( "number" === typeof f ) { var l = 0 > f ? c . columns ( ) . eq ( 0 ) . length + f : f ; if ( c . cell ( this ) . index ( ) . column !== l ) return } l = c . row ( b ( this ) . closest ( "tr" ) ) ; "click" === g . type ? a . _detailsDisplay ( l , ! 1 ) : "mousedown" === g . type ? b ( this ) . css ( "outline" , "none" ) : "mouseup" === g . type && b ( this ) . trigger ( "blur" ) . css ( "outline" , "" ) } } ) } ,
_detailsObj : function ( a ) { var c = this , d = this . s . dt ; return b . map ( this . s . columns , function ( f , g ) { if ( ! f . never && ! f . control ) return f = d . settings ( ) [ 0 ] . aoColumns [ g ] , { className : f . sClass , columnIndex : g , data : d . cell ( a , g ) . render ( c . c . orthogonal ) , hidden : d . column ( g ) . visible ( ) && ! c . s . current [ g ] , rowIndex : a , title : null !== f . sTitle ? f . sTitle : b ( d . column ( g ) . header ( ) ) . text ( ) } } ) } , _find : function ( a ) { for ( var c = this . c . breakpoints , d = 0 , f = c . length ; d < f ; d ++ ) if ( c [ d ] . name === a ) return c [ d ] } , _redrawChildren : function ( ) { var a = this , c = this . s . dt ; c . rows ( { page : "current" } ) . iterator ( "row" ,
function ( d , f ) { c . row ( f ) ; a . _detailsDisplay ( c . row ( f ) , ! 0 ) } ) } , _resize : function ( a ) { var c = this , d = this . s . dt , f = b ( k ) . innerWidth ( ) , g = this . c . breakpoints , l = g [ 0 ] . name , h = this . s . columns , e , r = this . s . current . slice ( ) ; for ( e = g . length - 1 ; 0 <= e ; e -- ) if ( f <= g [ e ] . width ) { l = g [ e ] . name ; break } var q = this . _columnsVisiblity ( l ) ; this . s . current = q ; g = ! 1 ; e = 0 ; for ( f = h . length ; e < f ; e ++ ) if ( ! 1 === q [ e ] && ! h [ e ] . never && ! h [ e ] . control && ! 1 === ! d . column ( e ) . visible ( ) ) { g = ! 0 ; break } b ( d . table ( ) . node ( ) ) . toggleClass ( "collapsed" , g ) ; var t = ! 1 , v = 0 ; d . columns ( ) . eq ( 0 ) . each ( function ( B ,
w ) { ! 0 === q [ w ] && v ++ ; if ( a || q [ w ] !== r [ w ] ) t = ! 0 , c . _setColumnVis ( B , q [ w ] ) } ) ; t && ( this . _redrawChildren ( ) , b ( d . table ( ) . node ( ) ) . trigger ( "responsive-resize.dt" , [ d , this . s . current ] ) , 0 === d . page . info ( ) . recordsDisplay && b ( "td" , d . table ( ) . body ( ) ) . eq ( 0 ) . attr ( "colspan" , v ) ) ; c . _controlClass ( ) } , _resizeAuto : function ( ) { var a = this . s . dt , c = this . s . columns ; if ( this . c . auto && - 1 !== b . inArray ( ! 0 , b . map ( c , function ( e ) { return e . auto } ) ) ) { b . isEmptyObject ( A ) || b . each ( A , function ( e ) { e = e . split ( "-" ) ; y ( a , 1 * e [ 0 ] , 1 * e [ 1 ] ) } ) ; a . table ( ) . node ( ) ; var d = a . table ( ) . node ( ) . cloneNode ( ! 1 ) ,
f = b ( a . table ( ) . header ( ) . cloneNode ( ! 1 ) ) . appendTo ( d ) , g = b ( a . table ( ) . body ( ) ) . clone ( ! 1 , ! 1 ) . empty ( ) . appendTo ( d ) ; d . style . width = "auto" ; var l = a . columns ( ) . header ( ) . filter ( function ( e ) { return a . column ( e ) . visible ( ) } ) . to$ ( ) . clone ( ! 1 ) . css ( "display" , "table-cell" ) . css ( "width" , "auto" ) . css ( "min-width" , 0 ) ; b ( g ) . append ( b ( a . rows ( { page : "current" } ) . nodes ( ) ) . clone ( ! 1 ) ) . find ( "th, td" ) . css ( "display" , "" ) ; if ( g = a . table ( ) . footer ( ) ) { g = b ( g . cloneNode ( ! 1 ) ) . appendTo ( d ) ; var h = a . columns ( ) . footer ( ) . filter ( function ( e ) { return a . column ( e ) . visible ( ) } ) . to$ ( ) . clone ( ! 1 ) . css ( "display" ,
"table-cell" ) ; b ( "<tr/>" ) . append ( h ) . appendTo ( g ) } b ( "<tr/>" ) . append ( l ) . appendTo ( f ) ; "inline" === this . c . details . type && b ( d ) . addClass ( "dtr-inline collapsed" ) ; b ( d ) . find ( "[name]" ) . removeAttr ( "name" ) ; b ( d ) . css ( "position" , "relative" ) ; d = b ( "<div/>" ) . css ( { width : 1 , height : 1 , overflow : "hidden" , clear : "both" } ) . append ( d ) ; d . insertBefore ( a . table ( ) . node ( ) ) ; l . each ( function ( e ) { e = a . column . index ( "fromVisible" , e ) ; c [ e ] . minWidth = this . offsetWidth || 0 } ) ; d . remove ( ) } } , _responsiveOnlyHidden : function ( ) { var a = this . s . dt ; return b . map ( this . s . current ,
function ( c , d ) { return ! 1 === a . column ( d ) . visible ( ) ? ! 0 : c } ) } , _setColumnVis : function ( a , c ) { var d = this . s . dt ; c = c ? "" : "none" ; b ( d . column ( a ) . header ( ) ) . css ( "display" , c ) ; b ( d . column ( a ) . footer ( ) ) . css ( "display" , c ) ; d . column ( a ) . nodes ( ) . to$ ( ) . css ( "display" , c ) ; b . isEmptyObject ( A ) || d . cells ( null , a ) . indexes ( ) . each ( function ( f ) { y ( d , f . row , f . column ) } ) } , _tabIndexes : function ( ) { var a = this . s . dt , c = a . cells ( { page : "current" } ) . nodes ( ) . to$ ( ) , d = a . settings ( ) [ 0 ] , f = this . c . details . target ; c . filter ( "[data-dtr-keyboard]" ) . removeData ( "[data-dtr-keyboard]" ) ;
"number" === typeof f ? a . cells ( null , f , { page : "current" } ) . nodes ( ) . to$ ( ) . attr ( "tabIndex" , d . iTabIndex ) . data ( "dtr-keyboard" , 1 ) : ( "td:first-child, th:first-child" === f && ( f = ">td:first-child, >th:first-child" ) , b ( f , a . rows ( { page : "current" } ) . nodes ( ) ) . attr ( "tabIndex" , d . iTabIndex ) . data ( "dtr-keyboard" , 1 ) ) } } ) ; u . breakpoints = [ { name : "desktop" , width : Infinity } , { name : "tablet-l" , width : 1024 } , { name : "tablet-p" , width : 768 } , { name : "mobile-l" , width : 480 } , { name : "mobile-p" , width : 320 } ] ; u . display = { childRow : function ( a , c , d ) { if ( c ) { if ( b ( a . node ( ) ) . hasClass ( "parent" ) ) return a . child ( d ( ) ,
"child" ) . show ( ) , ! 0 } else { if ( a . child . isShown ( ) ) return a . child ( ! 1 ) , b ( a . node ( ) ) . removeClass ( "parent" ) , ! 1 ; a . child ( d ( ) , "child" ) . show ( ) ; b ( a . node ( ) ) . addClass ( "parent" ) ; return ! 0 } } , childRowImmediate : function ( a , c , d ) { if ( ! c && a . child . isShown ( ) || ! a . responsive . hasHidden ( ) ) return a . child ( ! 1 ) , b ( a . node ( ) ) . removeClass ( "parent" ) , ! 1 ; a . child ( d ( ) , "child" ) . show ( ) ; b ( a . node ( ) ) . addClass ( "parent" ) ; return ! 0 } , modal : function ( a ) { return function ( c , d , f ) { if ( d ) b ( "div.dtr-modal-content" ) . empty ( ) . append ( f ( ) ) ; else { var g = function ( ) { l . remove ( ) ;
b ( m ) . off ( "keypress.dtr" ) } , l = b ( '<div class="dtr-modal"/>' ) . append ( b ( '<div class="dtr-modal-display"/>' ) . append ( b ( '<div class="dtr-modal-content"/>' ) . append ( f ( ) ) ) . append ( b ( '<div class="dtr-modal-close">×</div>' ) . click ( function ( ) { g ( ) } ) ) ) . append ( b ( '<div class="dtr-modal-background"/>' ) . click ( function ( ) { g ( ) } ) ) . appendTo ( "body" ) ; b ( m ) . on ( "keyup.dtr" , function ( h ) { 27 === h . keyCode && ( h . stopPropagation ( ) , g ( ) ) } ) } a && a . header && b ( "div.dtr-modal-content" ) . prepend ( "<h2>" + a . header ( c ) + "</h2>" ) } } } ; var A = { } ; u . renderer =
{ listHiddenNodes : function ( ) { return function ( a , c , d ) { var f = b ( '<ul data-dtr-index="' + c + '" class="dtr-details"/>' ) , g = ! 1 ; b . each ( d , function ( l , h ) { h . hidden && ( b ( "<li " + ( h . className ? 'class="' + h . className + '"' : "" ) + ' data-dtr-index="' + h . columnIndex + '" data-dt-row="' + h . rowIndex + '" data-dt-column="' + h . columnIndex + '"><span class="dtr-title">' + h . title + "</span> </li>" ) . append ( b ( '<span class="dtr-data"/>' ) . append ( p ( a , h . rowIndex , h . columnIndex ) ) ) . appendTo ( f ) , g = ! 0 ) } ) ; return g ? f : ! 1 } } , listHidden : function ( ) { return function ( a ,
c , d ) { return ( a = b . map ( d , function ( f ) { var g = f . className ? 'class="' + f . className + '"' : "" ; return f . hidden ? "<li " + g + ' data-dtr-index="' + f . columnIndex + '" data-dt-row="' + f . rowIndex + '" data-dt-column="' + f . columnIndex + '"><span class="dtr-title">' + f . title + '</span> <span class="dtr-data">' + f . data + "</span></li>" : "" } ) . join ( "" ) ) ? b ( '<ul data-dtr-index="' + c + '" class="dtr-details"/>' ) . append ( a ) : ! 1 } } , tableAll : function ( a ) { a = b . extend ( { tableClass : "" } , a ) ; return function ( c , d , f ) { c = b . map ( f , function ( g ) { return "<tr " + ( g . className ?
'class="' + g . className + '"' : "" ) + ' data-dt-row="' + g . rowIndex + '" data-dt-column="' + g . columnIndex + '"><td>' + g . title + ":</td> <td>" + g . data + "</td></tr>" } ) . join ( "" ) ; return b ( '<table class="' + a . tableClass + ' dtr-details" width="100%"/>' ) . append ( c ) } } } ; u . defaults = { breakpoints : u . breakpoints , auto : ! 0 , details : { display : u . display . childRow , renderer : u . renderer . listHidden ( ) , target : 0 , type : "inline" } , orthogonal : "display" } ; var C = b . fn . dataTable . Api ; C . register ( "responsive()" , function ( ) { return this } ) ; C . register ( "responsive.index()" ,
function ( a ) { a = b ( a ) ; return { column : a . data ( "dtr-index" ) , row : a . parent ( ) . data ( "dtr-index" ) } } ) ; C . register ( "responsive.rebuild()" , function ( ) { return this . iterator ( "table" , function ( a ) { a . _responsive && a . _responsive . _classLogic ( ) } ) } ) ; C . register ( "responsive.recalc()" , function ( ) { return this . iterator ( "table" , function ( a ) { a . _responsive && ( a . _responsive . _resizeAuto ( ) , a . _responsive . _resize ( ) ) } ) } ) ; C . register ( "responsive.hasHidden()" , function ( ) { var a = this . context [ 0 ] ; return a . _responsive ? - 1 !== b . inArray ( ! 1 , a . _responsive . _responsiveOnlyHidden ( ) ) :
! 1 } ) ; C . registerPlural ( "columns().responsiveHidden()" , "column().responsiveHidden()" , function ( ) { return this . iterator ( "column" , function ( a , c ) { return a . _responsive ? a . _responsive . _responsiveOnlyHidden ( ) [ c ] : ! 1 } , 1 ) } ) ; u . version = "2.2.9" ; b . fn . dataTable . Responsive = u ; b . fn . DataTable . Responsive = u ; b ( m ) . on ( "preInit.dt.dtr" , function ( a , c , d ) { "dt" === a . namespace && ( b ( c . nTable ) . hasClass ( "responsive" ) || b ( c . nTable ) . hasClass ( "dt-responsive" ) || c . oInit . responsive || z . defaults . responsive ) && ( a = c . oInit . responsive , ! 1 !== a && new u ( c ,
b . isPlainObject ( a ) ? a : { } ) ) } ) ; return u } ) ;
/ * ! D a t a T a b l e s s t y l i n g w r a p p e r f o r R e s p o n s i v e
* © 2018 SpryMedia Ltd - datatables . net / license
* /
( function ( factory ) {
if ( typeof define === 'function' && define . amd ) {
// AMD
define ( [ 'jquery' , 'datatables.net-dt' , 'datatables.net-responsive' ] , function ( $ ) {
return factory ( $ , window , document ) ;
} ) ;
}
else if ( typeof exports === 'object' ) {
// CommonJS
module . exports = function ( root , $ ) {
if ( ! root ) {
root = window ;
}
if ( ! $ || ! $ . fn . dataTable ) {
$ = require ( 'datatables.net-dt' ) ( root , $ ) . $ ;
}
if ( ! $ . fn . dataTable . Responsive ) {
require ( 'datatables.net-responsive' ) ( root , $ ) ;
}
return factory ( $ , root , root . document ) ;
} ;
}
else {
// Browser
factory ( jQuery , window , document ) ;
}
} ( function ( $ , window , document , undefined ) {
return $ . fn . dataTable ;
2020-09-26 16:19:37 +02:00
2022-03-23 12:39:52 +01:00
} ) ) ;
2020-09-26 16:19:37 +02:00
/ * !
2022-03-26 23:33:12 +01:00
Copyright 2017 - 2021 SpryMedia Ltd .
This source file is free software , available under the following license :
MIT license - http : //datatables.net/license/mit
This source file is distributed in the hope that it will be useful , but
WITHOUT ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE . See the license files for details .
For details please refer to : http : //www.datatables.net
RowGroup 1.1 . 4
© 2017 - 2021 SpryMedia Ltd - datatables . net / license
2020-09-26 16:19:37 +02:00
* /
2022-03-26 23:33:12 +01:00
var $jscomp = $jscomp || { } ; $jscomp . scope = { } ; $jscomp . findInternal = function ( b , c , d ) { b instanceof String && ( b = String ( b ) ) ; for ( var g = b . length , e = 0 ; e < g ; e ++ ) { var k = b [ e ] ; if ( c . call ( d , k , e , b ) ) return { i : e , v : k } } return { i : - 1 , v : void 0 } } ; $jscomp . ASSUME _ES5 = ! 1 ; $jscomp . ASSUME _NO _NATIVE _MAP = ! 1 ; $jscomp . ASSUME _NO _NATIVE _SET = ! 1 ; $jscomp . SIMPLE _FROUND _POLYFILL = ! 1 ; $jscomp . ISOLATE _POLYFILLS = ! 1 ;
$jscomp . defineProperty = $jscomp . ASSUME _ES5 || "function" == typeof Object . defineProperties ? Object . defineProperty : function ( b , c , d ) { if ( b == Array . prototype || b == Object . prototype ) return b ; b [ c ] = d . value ; return b } ; $jscomp . getGlobal = function ( b ) { b = [ "object" == typeof globalThis && globalThis , b , "object" == typeof window && window , "object" == typeof self && self , "object" == typeof global && global ] ; for ( var c = 0 ; c < b . length ; ++ c ) { var d = b [ c ] ; if ( d && d . Math == Math ) return d } throw Error ( "Cannot find global object" ) ; } ; $jscomp . global = $jscomp . getGlobal ( this ) ;
$jscomp . IS _SYMBOL _NATIVE = "function" === typeof Symbol && "symbol" === typeof Symbol ( "x" ) ; $jscomp . TRUST _ES6 _POLYFILLS = ! $jscomp . ISOLATE _POLYFILLS || $jscomp . IS _SYMBOL _NATIVE ; $jscomp . polyfills = { } ; $jscomp . propertyToPolyfillSymbol = { } ; $jscomp . POLYFILL _PREFIX = "$jscp$" ; var $jscomp$lookupPolyfilledValue = function ( b , c ) { var d = $jscomp . propertyToPolyfillSymbol [ c ] ; if ( null == d ) return b [ c ] ; d = b [ d ] ; return void 0 !== d ? d : b [ c ] } ;
$jscomp . polyfill = function ( b , c , d , g ) { c && ( $jscomp . ISOLATE _POLYFILLS ? $jscomp . polyfillIsolated ( b , c , d , g ) : $jscomp . polyfillUnisolated ( b , c , d , g ) ) } ; $jscomp . polyfillUnisolated = function ( b , c , d , g ) { d = $jscomp . global ; b = b . split ( "." ) ; for ( g = 0 ; g < b . length - 1 ; g ++ ) { var e = b [ g ] ; if ( ! ( e in d ) ) return ; d = d [ e ] } b = b [ b . length - 1 ] ; g = d [ b ] ; c = c ( g ) ; c != g && null != c && $jscomp . defineProperty ( d , b , { configurable : ! 0 , writable : ! 0 , value : c } ) } ;
$jscomp . polyfillIsolated = function ( b , c , d , g ) { var e = b . split ( "." ) ; b = 1 === e . length ; g = e [ 0 ] ; g = ! b && g in $jscomp . polyfills ? $jscomp . polyfills : $jscomp . global ; for ( var k = 0 ; k < e . length - 1 ; k ++ ) { var a = e [ k ] ; if ( ! ( a in g ) ) return ; g = g [ a ] } e = e [ e . length - 1 ] ; d = $jscomp . IS _SYMBOL _NATIVE && "es6" === d ? g [ e ] : null ; c = c ( d ) ; null != c && ( b ? $jscomp . defineProperty ( $jscomp . polyfills , e , { configurable : ! 0 , writable : ! 0 , value : c } ) : c !== d && ( $jscomp . propertyToPolyfillSymbol [ e ] = $jscomp . IS _SYMBOL _NATIVE ? $jscomp . global . Symbol ( e ) : $jscomp . POLYFILL _PREFIX + e , e =
$jscomp . propertyToPolyfillSymbol [ e ] , $jscomp . defineProperty ( g , e , { configurable : ! 0 , writable : ! 0 , value : c } ) ) ) } ; $jscomp . polyfill ( "Array.prototype.find" , function ( b ) { return b ? b : function ( c , d ) { return $jscomp . findInternal ( this , c , d ) . v } } , "es6" , "es3" ) ;
( function ( b ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( c ) { return b ( c , window , document ) } ) : "object" === typeof exports ? module . exports = function ( c , d ) { c || ( c = window ) ; d && d . fn . dataTable || ( d = require ( "datatables.net" ) ( c , d ) . $ ) ; return b ( d , c , c . document ) } : b ( jQuery , window , document ) } ) ( function ( b , c , d , g ) { var e = b . fn . dataTable , k = function ( a , f ) { if ( ! e . versionCheck || ! e . versionCheck ( "1.10.8" ) ) throw "RowGroup requires DataTables 1.10.8 or newer" ; this . c = b . extend ( ! 0 , { } , e . defaults . rowGroup ,
k . defaults , f ) ; this . s = { dt : new e . Api ( a ) } ; this . dom = { } ; a = this . s . dt . settings ( ) [ 0 ] ; if ( f = a . rowGroup ) return f ; a . rowGroup = this ; this . _constructor ( ) } ; b . extend ( k . prototype , { dataSrc : function ( a ) { if ( a === g ) return this . c . dataSrc ; var f = this . s . dt ; this . c . dataSrc = a ; b ( f . table ( ) . node ( ) ) . triggerHandler ( "rowgroup-datasrc.dt" , [ f , a ] ) ; return this } , disable : function ( ) { this . c . enable = ! 1 ; return this } , enable : function ( a ) { if ( ! 1 === a ) return this . disable ( ) ; this . c . enable = ! 0 ; return this } , enabled : function ( ) { return this . c . enable } , _constructor : function ( ) { var a =
this , f = this . s . dt , h = f . settings ( ) [ 0 ] ; f . on ( "draw.dtrg" , function ( m , r ) { a . c . enable && h === r && a . _draw ( ) } ) ; f . on ( "column-visibility.dt.dtrg responsive-resize.dt.dtrg" , function ( ) { a . _adjustColspan ( ) } ) ; f . on ( "destroy" , function ( ) { f . off ( ".dtrg" ) } ) } , _adjustColspan : function ( ) { b ( "tr." + this . c . className , this . s . dt . table ( ) . body ( ) ) . find ( "td:visible" ) . attr ( "colspan" , this . _colspan ( ) ) } , _colspan : function ( ) { return this . s . dt . columns ( ) . visible ( ) . reduce ( function ( a , f ) { return a + f } , 0 ) } , _draw : function ( ) { var a = this . _group ( 0 , this . s . dt . rows ( { page : "current" } ) . indexes ( ) ) ;
this . _groupDisplay ( 0 , a ) } , _group : function ( a , f ) { for ( var h = Array . isArray ( this . c . dataSrc ) ? this . c . dataSrc : [ this . c . dataSrc ] , m = e . ext . oApi . _fnGetObjectDataFn ( h [ a ] ) , r = this . s . dt , n , q , p = [ ] , l = 0 , t = f . length ; l < t ; l ++ ) { var u = f [ l ] ; n = r . row ( u ) . data ( ) ; n = m ( n ) ; if ( null === n || n === g ) n = this . c . emptyDataGroup ; if ( q === g || n !== q ) p . push ( { dataPoint : n , rows : [ ] } ) , q = n ; p [ p . length - 1 ] . rows . push ( u ) } if ( h [ a + 1 ] !== g ) for ( l = 0 , t = p . length ; l < t ; l ++ ) p [ l ] . children = this . _group ( a + 1 , p [ l ] . rows ) ; return p } , _groupDisplay : function ( a , f ) { for ( var h = this . s . dt , m , r =
0 , n = f . length ; r < n ; r ++ ) { var q = f [ r ] , p = q . dataPoint , l = q . rows ; this . c . startRender && ( m = this . c . startRender . call ( this , h . rows ( l ) , p , a ) , ( m = this . _rowWrap ( m , this . c . startClassName , a ) ) && m . insertBefore ( h . row ( l [ 0 ] ) . node ( ) ) ) ; this . c . endRender && ( m = this . c . endRender . call ( this , h . rows ( l ) , p , a ) , ( m = this . _rowWrap ( m , this . c . endClassName , a ) ) && m . insertAfter ( h . row ( l [ l . length - 1 ] ) . node ( ) ) ) ; q . children && this . _groupDisplay ( a + 1 , q . children ) } } , _rowWrap : function ( a , f , h ) { if ( null === a || "" === a ) a = this . c . emptyDataGroup ; return a === g || null === a ? null :
( "object" === typeof a && a . nodeName && "tr" === a . nodeName . toLowerCase ( ) ? b ( a ) : a instanceof b && a . length && "tr" === a [ 0 ] . nodeName . toLowerCase ( ) ? a : b ( "<tr/>" ) . append ( b ( "<td/>" ) . attr ( "colspan" , this . _colspan ( ) ) . append ( a ) ) ) . addClass ( this . c . className ) . addClass ( f ) . addClass ( "dtrg-level-" + h ) } } ) ; k . defaults = { className : "dtrg-group" , dataSrc : 0 , emptyDataGroup : "No group" , enable : ! 0 , endClassName : "dtrg-end" , endRender : null , startClassName : "dtrg-start" , startRender : function ( a , f ) { return f } } ; k . version = "1.1.4" ; b . fn . dataTable . RowGroup =
k ; b . fn . DataTable . RowGroup = k ; e . Api . register ( "rowGroup()" , function ( ) { return this } ) ; e . Api . register ( "rowGroup().disable()" , function ( ) { return this . iterator ( "table" , function ( a ) { a . rowGroup && a . rowGroup . enable ( ! 1 ) } ) } ) ; e . Api . register ( "rowGroup().enable()" , function ( a ) { return this . iterator ( "table" , function ( f ) { f . rowGroup && f . rowGroup . enable ( a === g ? ! 0 : a ) } ) } ) ; e . Api . register ( "rowGroup().enabled()" , function ( ) { var a = this . context ; return a . length && a [ 0 ] . rowGroup ? a [ 0 ] . rowGroup . enabled ( ) : ! 1 } ) ; e . Api . register ( "rowGroup().dataSrc()" ,
function ( a ) { return a === g ? this . context [ 0 ] . rowGroup . dataSrc ( ) : this . iterator ( "table" , function ( f ) { f . rowGroup && f . rowGroup . dataSrc ( a ) } ) } ) ; b ( d ) . on ( "preInit.dt.dtrg" , function ( a , f , h ) { "dt" === a . namespace && ( a = f . oInit . rowGroup , h = e . defaults . rowGroup , a || h ) && ( h = b . extend ( { } , h , a ) , ! 1 !== a && new k ( f , h ) ) } ) ; return k } ) ;
2020-09-26 16:19:37 +02:00
/ * !
2022-03-26 23:33:12 +01:00
Copyright 2015 - 2020 SpryMedia Ltd .
This source file is free software , available under the following license :
MIT license - http : //datatables.net/license/mit
This source file is distributed in the hope that it will be useful , but
WITHOUT ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE . See the license files for details .
For details please refer to : http : //www.datatables.net
RowReorder 1.2 . 8
2015 - 2020 SpryMedia Ltd - datatables . net / license
* /
( function ( d ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( m ) { return d ( m , window , document ) } ) : "object" === typeof exports ? module . exports = function ( m , h ) { m || ( m = window ) ; h && h . fn . dataTable || ( h = require ( "datatables.net" ) ( m , h ) . $ ) ; return d ( h , m , m . document ) } : d ( jQuery , window , document ) } ) ( function ( d , m , h , A ) { var q = d . fn . dataTable , p = function ( a , b ) { if ( ! q . versionCheck || ! q . versionCheck ( "1.10.8" ) ) throw "DataTables RowReorder requires DataTables 1.10.8 or newer" ; this . c = d . extend ( ! 0 , { } , q . defaults . rowReorder ,
p . defaults , b ) ; this . s = { bodyTop : null , dt : new q . Api ( a ) , getDataFn : q . ext . oApi . _fnGetObjectDataFn ( this . c . dataSrc ) , middles : null , scroll : { } , scrollInterval : null , setDataFn : q . ext . oApi . _fnSetObjectDataFn ( this . c . dataSrc ) , start : { top : 0 , left : 0 , offsetTop : 0 , offsetLeft : 0 , nodes : [ ] } , windowHeight : 0 , documentOuterHeight : 0 , domCloneOuterHeight : 0 } ; this . dom = { clone : null , dtScroll : d ( "div.dataTables_scrollBody" , this . s . dt . table ( ) . container ( ) ) } ; a = this . s . dt . settings ( ) [ 0 ] ; if ( b = a . rowreorder ) return b ; this . dom . dtScroll . length || ( this . dom . dtScroll =
d ( this . s . dt . table ( ) . container ( ) , "tbody" ) ) ; a . rowreorder = this ; this . _constructor ( ) } ; d . extend ( p . prototype , { _constructor : function ( ) { var a = this , b = this . s . dt , c = d ( b . table ( ) . node ( ) ) ; "static" === c . css ( "position" ) && c . css ( "position" , "relative" ) ; d ( b . table ( ) . container ( ) ) . on ( "mousedown.rowReorder touchstart.rowReorder" , this . c . selector , function ( e ) { if ( a . c . enable ) { if ( d ( e . target ) . is ( a . c . excludedChildren ) ) return ! 0 ; var f = d ( this ) . closest ( "tr" ) , g = b . row ( f ) ; if ( g . any ( ) ) return a . _emitEvent ( "pre-row-reorder" , { node : g . node ( ) , index : g . index ( ) } ) ,
a . _mouseDown ( e , f ) , ! 1 } } ) ; b . on ( "destroy.rowReorder" , function ( ) { d ( b . table ( ) . container ( ) ) . off ( ".rowReorder" ) ; b . off ( ".rowReorder" ) } ) } , _cachePositions : function ( ) { var a = this . s . dt , b = d ( a . table ( ) . node ( ) ) . find ( "thead" ) . outerHeight ( ) , c = d . unique ( a . rows ( { page : "current" } ) . nodes ( ) . toArray ( ) ) ; c = d . map ( c , function ( e , f ) { f = d ( e ) . position ( ) . top - b ; return ( f + f + d ( e ) . outerHeight ( ) ) / 2 } ) ; this . s . middles = c ; this . s . bodyTop = d ( a . table ( ) . body ( ) ) . offset ( ) . top ; this . s . windowHeight = d ( m ) . height ( ) ; this . s . documentOuterHeight = d ( h ) . outerHeight ( ) } ,
_clone : function ( a ) { var b = d ( this . s . dt . table ( ) . node ( ) . cloneNode ( ! 1 ) ) . addClass ( "dt-rowReorder-float" ) . append ( "<tbody/>" ) . append ( a . clone ( ! 1 ) ) , c = a . outerWidth ( ) , e = a . outerHeight ( ) , f = a . children ( ) . map ( function ( ) { return d ( this ) . width ( ) } ) ; b . width ( c ) . height ( e ) . find ( "tr" ) . children ( ) . each ( function ( g ) { this . style . width = f [ g ] + "px" } ) ; b . appendTo ( "body" ) ; this . dom . clone = b ; this . s . domCloneOuterHeight = b . outerHeight ( ) } , _clonePosition : function ( a ) { var b = this . s . start , c = this . _eventToPage ( a , "Y" ) - b . top ; a = this . _eventToPage ( a , "X" ) -
b . left ; var e = this . c . snapX ; c += b . offsetTop ; b = ! 0 === e ? b . offsetLeft : "number" === typeof e ? b . offsetLeft + e : a + b . offsetLeft ; 0 > c ? c = 0 : c + this . s . domCloneOuterHeight > this . s . documentOuterHeight && ( c = this . s . documentOuterHeight - this . s . domCloneOuterHeight ) ; this . dom . clone . css ( { top : c , left : b } ) } , _emitEvent : function ( a , b ) { this . s . dt . iterator ( "table" , function ( c , e ) { d ( c . nTable ) . triggerHandler ( a + ".dt" , b ) } ) } , _eventToPage : function ( a , b ) { return - 1 !== a . type . indexOf ( "touch" ) ? a . originalEvent . touches [ 0 ] [ "page" + b ] : a [ "page" + b ] } , _mouseDown : function ( a ,
b ) { var c = this , e = this . s . dt , f = this . s . start , g = b . offset ( ) ; f . top = this . _eventToPage ( a , "Y" ) ; f . left = this . _eventToPage ( a , "X" ) ; f . offsetTop = g . top ; f . offsetLeft = g . left ; f . nodes = d . unique ( e . rows ( { page : "current" } ) . nodes ( ) . toArray ( ) ) ; this . _cachePositions ( ) ; this . _clone ( b ) ; this . _clonePosition ( a ) ; this . dom . target = b ; b . addClass ( "dt-rowReorder-moving" ) ; d ( h ) . on ( "mouseup.rowReorder touchend.rowReorder" , function ( k ) { c . _mouseUp ( k ) } ) . on ( "mousemove.rowReorder touchmove.rowReorder" , function ( k ) { c . _mouseMove ( k ) } ) ; d ( m ) . width ( ) === d ( h ) . width ( ) &&
d ( h . body ) . addClass ( "dt-rowReorder-noOverflow" ) ; a = this . dom . dtScroll ; this . s . scroll = { windowHeight : d ( m ) . height ( ) , windowWidth : d ( m ) . width ( ) , dtTop : a . length ? a . offset ( ) . top : null , dtLeft : a . length ? a . offset ( ) . left : null , dtHeight : a . length ? a . outerHeight ( ) : null , dtWidth : a . length ? a . outerWidth ( ) : null } } , _mouseMove : function ( a ) { this . _clonePosition ( a ) ; for ( var b = this . _eventToPage ( a , "Y" ) - this . s . bodyTop , c = this . s . middles , e = null , f = this . s . dt , g = 0 , k = c . length ; g < k ; g ++ ) if ( b < c [ g ] ) { e = g ; break } null === e && ( e = c . length ) ; if ( null === this . s . lastInsert ||
this . s . lastInsert !== e ) b = d . unique ( f . rows ( { page : "current" } ) . nodes ( ) . toArray ( ) ) , e > this . s . lastInsert ? this . dom . target . insertAfter ( b [ e - 1 ] ) : this . dom . target . insertBefore ( b [ e ] ) , this . _cachePositions ( ) , this . s . lastInsert = e ; this . _shiftScroll ( a ) } , _mouseUp : function ( a ) { var b = this , c = this . s . dt , e , f = this . c . dataSrc ; this . dom . clone . remove ( ) ; this . dom . clone = null ; this . dom . target . removeClass ( "dt-rowReorder-moving" ) ; d ( h ) . off ( ".rowReorder" ) ; d ( h . body ) . removeClass ( "dt-rowReorder-noOverflow" ) ; clearInterval ( this . s . scrollInterval ) ;
this . s . scrollInterval = null ; var g = this . s . start . nodes , k = d . unique ( c . rows ( { page : "current" } ) . nodes ( ) . toArray ( ) ) , n = { } , r = [ ] , t = [ ] , u = this . s . getDataFn , B = this . s . setDataFn ; var l = 0 ; for ( e = g . length ; l < e ; l ++ ) if ( g [ l ] !== k [ l ] ) { var w = c . row ( k [ l ] ) . id ( ) , C = c . row ( k [ l ] ) . data ( ) , x = c . row ( g [ l ] ) . data ( ) ; w && ( n [ w ] = u ( x ) ) ; r . push ( { node : k [ l ] , oldData : u ( C ) , newData : u ( x ) , newPosition : l , oldPosition : d . inArray ( k [ l ] , g ) } ) ; t . push ( k [ l ] ) } var y = [ r , { dataSrc : f , nodes : t , values : n , triggerRow : c . row ( this . dom . target ) , originalEvent : a } ] ; this . _emitEvent ( "row-reorder" ,
y ) ; var z = function ( ) { if ( b . c . update ) { l = 0 ; for ( e = r . length ; l < e ; l ++ ) { var D = c . row ( r [ l ] . node ) . data ( ) ; B ( D , r [ l ] . newData ) ; c . columns ( ) . every ( function ( ) { this . dataSrc ( ) === f && c . cell ( r [ l ] . node , this . index ( ) ) . invalidate ( "data" ) } ) } b . _emitEvent ( "row-reordered" , y ) ; c . draw ( ! 1 ) } } ; this . c . editor ? ( this . c . enable = ! 1 , this . c . editor . edit ( t , ! 1 , d . extend ( { submit : "changed" } , this . c . formOptions ) ) . multiSet ( f , n ) . one ( "preSubmitCancelled.rowReorder" , function ( ) { b . c . enable = ! 0 ; b . c . editor . off ( ".rowReorder" ) ; c . draw ( ! 1 ) } ) . one ( "submitUnsuccessful.rowReorder" ,
function ( ) { c . draw ( ! 1 ) } ) . one ( "submitSuccess.rowReorder" , function ( ) { z ( ) } ) . one ( "submitComplete" , function ( ) { b . c . enable = ! 0 ; b . c . editor . off ( ".rowReorder" ) } ) . submit ( ) ) : z ( ) } , _shiftScroll : function ( a ) { var b = this , c = this . s . scroll , e = ! 1 , f = a . pageY - h . body . scrollTop , g , k ; f < d ( m ) . scrollTop ( ) + 65 ? g = - 5 : f > c . windowHeight + d ( m ) . scrollTop ( ) - 65 && ( g = 5 ) ; null !== c . dtTop && a . pageY < c . dtTop + 65 ? k = - 5 : null !== c . dtTop && a . pageY > c . dtTop + c . dtHeight - 65 && ( k = 5 ) ; g || k ? ( c . windowVert = g , c . dtVert = k , e = ! 0 ) : this . s . scrollInterval && ( clearInterval ( this . s . scrollInterval ) ,
this . s . scrollInterval = null ) ; ! this . s . scrollInterval && e && ( this . s . scrollInterval = setInterval ( function ( ) { if ( c . windowVert ) { var n = d ( h ) . scrollTop ( ) ; d ( h ) . scrollTop ( n + c . windowVert ) ; n !== d ( h ) . scrollTop ( ) && ( n = parseFloat ( b . dom . clone . css ( "top" ) ) , b . dom . clone . css ( "top" , n + c . windowVert ) ) } c . dtVert && ( n = b . dom . dtScroll [ 0 ] , c . dtVert && ( n . scrollTop += c . dtVert ) ) } , 20 ) ) } } ) ; p . defaults = { dataSrc : 0 , editor : null , enable : ! 0 , formOptions : { } , selector : "td:first-child" , snapX : ! 1 , update : ! 0 , excludedChildren : "a" } ; var v = d . fn . dataTable . Api ; v . register ( "rowReorder()" ,
function ( ) { return this } ) ; v . register ( "rowReorder.enable()" , function ( a ) { a === A && ( a = ! 0 ) ; return this . iterator ( "table" , function ( b ) { b . rowreorder && ( b . rowreorder . c . enable = a ) } ) } ) ; v . register ( "rowReorder.disable()" , function ( ) { return this . iterator ( "table" , function ( a ) { a . rowreorder && ( a . rowreorder . c . enable = ! 1 ) } ) } ) ; p . version = "1.2.8" ; d . fn . dataTable . RowReorder = p ; d . fn . DataTable . RowReorder = p ; d ( h ) . on ( "init.dt.dtr" , function ( a , b , c ) { "dt" === a . namespace && ( a = b . oInit . rowReorder , c = q . defaults . rowReorder , a || c ) && ( c = d . extend ( { } , a ,
c ) , ! 1 !== a && new p ( b , c ) ) } ) ; return p } ) ;
/ * !
Copyright 2015 - 2021 SpryMedia Ltd .
This source file is free software , available under the following license :
MIT license - http : //datatables.net/license/mit
This source file is distributed in the hope that it will be useful , but
WITHOUT ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE . See the license files for details .
For details please refer to : http : //www.datatables.net/extensions/select
Select for DataTables 1.3 . 4
2015 - 2021 SpryMedia Ltd - datatables . net / license / mit
2020-09-26 16:19:37 +02:00
* /
2022-03-26 23:33:12 +01:00
( function ( h ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( r ) { return h ( r , window , document ) } ) : "object" === typeof exports ? module . exports = function ( r , v ) { r || ( r = window ) ; v && v . fn . dataTable || ( v = require ( "datatables.net" ) ( r , v ) . $ ) ; return h ( v , r , r . document ) } : h ( jQuery , window , document ) } ) ( function ( h , r , v , l ) { function I ( a , b , c ) { var d = function ( g , f ) { if ( g > f ) { var k = f ; f = g ; g = k } var n = ! 1 ; return a . columns ( ":visible" ) . indexes ( ) . filter ( function ( q ) { q === g && ( n = ! 0 ) ; return q === f ? ( n = ! 1 , ! 0 ) : n } ) } ; var e =
function ( g , f ) { var k = a . rows ( { search : "applied" } ) . indexes ( ) ; if ( k . indexOf ( g ) > k . indexOf ( f ) ) { var n = f ; f = g ; g = n } var q = ! 1 ; return k . filter ( function ( y ) { y === g && ( q = ! 0 ) ; return y === f ? ( q = ! 1 , ! 0 ) : q } ) } ; a . cells ( { selected : ! 0 } ) . any ( ) || c ? ( d = d ( c . column , b . column ) , c = e ( c . row , b . row ) ) : ( d = d ( 0 , b . column ) , c = e ( 0 , b . row ) ) ; c = a . cells ( c , d ) . flatten ( ) ; a . cells ( b , { selected : ! 0 } ) . any ( ) ? a . cells ( c ) . deselect ( ) : a . cells ( c ) . select ( ) } function C ( a ) { var b = a . settings ( ) [ 0 ] . _select . selector ; h ( a . table ( ) . container ( ) ) . off ( "mousedown.dtSelect" , b ) . off ( "mouseup.dtSelect" ,
b ) . off ( "click.dtSelect" , b ) ; h ( "body" ) . off ( "click.dtSelect" + D ( a . table ( ) . node ( ) ) ) } function J ( a ) { var b = h ( a . table ( ) . container ( ) ) , c = a . settings ( ) [ 0 ] , d = c . _select . selector , e ; b . on ( "mousedown.dtSelect" , d , function ( g ) { if ( g . shiftKey || g . metaKey || g . ctrlKey ) b . css ( "-moz-user-select" , "none" ) . one ( "selectstart.dtSelect" , d , function ( ) { return ! 1 } ) ; r . getSelection && ( e = r . getSelection ( ) ) } ) . on ( "mouseup.dtSelect" , d , function ( ) { b . css ( "-moz-user-select" , "" ) } ) . on ( "click.dtSelect" , d , function ( g ) { var f = a . select . items ( ) ; if ( e ) { var k = r . getSelection ( ) ;
if ( ( ! k . anchorNode || h ( k . anchorNode ) . closest ( "table" ) [ 0 ] === a . table ( ) . node ( ) ) && k !== e ) return } k = a . settings ( ) [ 0 ] ; var n = a . settings ( ) [ 0 ] . oClasses . sWrapper . trim ( ) . replace ( / +/g , "." ) ; if ( h ( g . target ) . closest ( "div." + n ) [ 0 ] == a . table ( ) . container ( ) && ( n = a . cell ( h ( g . target ) . closest ( "td, th" ) ) , n . any ( ) ) ) { var q = h . Event ( "user-select.dt" ) ; u ( a , q , [ f , n , g ] ) ; q . isDefaultPrevented ( ) || ( q = n . index ( ) , "row" === f ? ( f = q . row , E ( g , a , k , "row" , f ) ) : "column" === f ? ( f = n . index ( ) . column , E ( g , a , k , "column" , f ) ) : "cell" === f && ( f = n . index ( ) , E ( g , a , k , "cell" , f ) ) ,
k . _select _lastCell = q ) } } ) ; h ( "body" ) . on ( "click.dtSelect" + D ( a . table ( ) . node ( ) ) , function ( g ) { ! c . _select . blurable || h ( g . target ) . parents ( ) . filter ( a . table ( ) . container ( ) ) . length || 0 === h ( g . target ) . parents ( "html" ) . length || h ( g . target ) . parents ( "div.DTE" ) . length || z ( c , ! 0 ) } ) } function u ( a , b , c , d ) { if ( ! d || a . flatten ( ) . length ) "string" === typeof b && ( b += ".dt" ) , c . unshift ( a ) , h ( a . table ( ) . node ( ) ) . trigger ( b , c ) } function N ( a ) { var b = a . settings ( ) [ 0 ] ; if ( b . _select . info && b . aanFeatures . i && "api" !== a . select . style ( ) ) { var c = a . rows ( { selected : ! 0 } ) . flatten ( ) . length ,
d = a . columns ( { selected : ! 0 } ) . flatten ( ) . length , e = a . cells ( { selected : ! 0 } ) . flatten ( ) . length , g = function ( f , k , n ) { f . append ( h ( '<span class="select-item"/>' ) . append ( a . i18n ( "select." + k + "s" , { _ : "%d " + k + "s selected" , 0 : "" , 1 : "1 " + k + " selected" } , n ) ) ) } ; h . each ( b . aanFeatures . i , function ( f , k ) { k = h ( k ) ; f = h ( '<span class="select-info"/>' ) ; g ( f , "row" , c ) ; g ( f , "column" , d ) ; g ( f , "cell" , e ) ; var n = k . children ( "span.select-info" ) ; n . length && n . remove ( ) ; "" !== f . text ( ) && k . append ( f ) } ) } } function O ( a ) { var b = new m . Api ( a ) ; a . _select _init = ! 0 ; a . aoRowCreatedCallback . push ( { fn : function ( c ,
d , e ) { d = a . aoData [ e ] ; d . _select _selected && h ( c ) . addClass ( a . _select . className ) ; c = 0 ; for ( e = a . aoColumns . length ; c < e ; c ++ ) ( a . aoColumns [ c ] . _select _selected || d . _selected _cells && d . _selected _cells [ c ] ) && h ( d . anCells [ c ] ) . addClass ( a . _select . className ) } , sName : "select-deferRender" } ) ; b . on ( "preXhr.dt.dtSelect" , function ( c , d ) { if ( d === b . settings ( ) [ 0 ] ) { var e = b . rows ( { selected : ! 0 } ) . ids ( ! 0 ) . filter ( function ( f ) { return f !== l } ) , g = b . cells ( { selected : ! 0 } ) . eq ( 0 ) . map ( function ( f ) { var k = b . row ( f . row ) . id ( ! 0 ) ; return k ? { row : k , column : f . column } :
l } ) . filter ( function ( f ) { return f !== l } ) ; b . one ( "draw.dt.dtSelect" , function ( ) { b . rows ( e ) . select ( ) ; g . any ( ) && g . each ( function ( f ) { b . cells ( f . row , f . column ) . select ( ) } ) } ) } } ) ; b . on ( "draw.dtSelect.dt select.dtSelect.dt deselect.dtSelect.dt info.dt" , function ( ) { N ( b ) ; b . state . save ( ) } ) ; b . on ( "destroy.dtSelect" , function ( ) { b . rows ( { selected : ! 0 } ) . deselect ( ) ; C ( b ) ; b . off ( ".dtSelect" ) ; h ( "body" ) . off ( ".dtSelect" + D ( b . table ( ) . node ( ) ) ) } ) } function K ( a , b , c , d ) { var e = a [ b + "s" ] ( { search : "applied" } ) . indexes ( ) ; d = h . inArray ( d , e ) ; var g = h . inArray ( c ,
e ) ; if ( a [ b + "s" ] ( { selected : ! 0 } ) . any ( ) || - 1 !== d ) { if ( d > g ) { var f = g ; g = d ; d = f } e . splice ( g + 1 , e . length ) ; e . splice ( 0 , d ) } else e . splice ( h . inArray ( c , e ) + 1 , e . length ) ; a [ b ] ( c , { selected : ! 0 } ) . any ( ) ? ( e . splice ( h . inArray ( c , e ) , 1 ) , a [ b + "s" ] ( e ) . deselect ( ) ) : a [ b + "s" ] ( e ) . select ( ) } function z ( a , b ) { if ( b || "single" === a . _select . style ) a = new m . Api ( a ) , a . rows ( { selected : ! 0 } ) . deselect ( ) , a . columns ( { selected : ! 0 } ) . deselect ( ) , a . cells ( { selected : ! 0 } ) . deselect ( ) } function E ( a , b , c , d , e ) { var g = b . select . style ( ) , f = b . select . toggleable ( ) , k = b [ d ] ( e , { selected : ! 0 } ) . any ( ) ;
if ( ! k || f ) "os" === g ? a . ctrlKey || a . metaKey ? b [ d ] ( e ) . select ( ! k ) : a . shiftKey ? "cell" === d ? I ( b , e , c . _select _lastCell || null ) : K ( b , d , e , c . _select _lastCell ? c . _select _lastCell [ d ] : null ) : ( a = b [ d + "s" ] ( { selected : ! 0 } ) , k && 1 === a . flatten ( ) . length ? b [ d ] ( e ) . deselect ( ) : ( a . deselect ( ) , b [ d ] ( e ) . select ( ) ) ) : "multi+shift" == g ? a . shiftKey ? "cell" === d ? I ( b , e , c . _select _lastCell || null ) : K ( b , d , e , c . _select _lastCell ? c . _select _lastCell [ d ] : null ) : b [ d ] ( e ) . select ( ! k ) : b [ d ] ( e ) . select ( ! k ) } function D ( a ) { return a . id . replace ( /[^a-zA-Z0-9\-_]/g , "-" ) } function A ( a ,
b ) { return function ( c ) { return c . i18n ( "buttons." + a , b ) } } function F ( a ) { a = a . _eventNamespace ; return "draw.dt.DT" + a + " select.dt.DT" + a + " deselect.dt.DT" + a } function P ( a , b ) { return - 1 !== h . inArray ( "rows" , b . limitTo ) && a . rows ( { selected : ! 0 } ) . any ( ) || - 1 !== h . inArray ( "columns" , b . limitTo ) && a . columns ( { selected : ! 0 } ) . any ( ) || - 1 !== h . inArray ( "cells" , b . limitTo ) && a . cells ( { selected : ! 0 } ) . any ( ) ? ! 0 : ! 1 } var m = h . fn . dataTable ; m . select = { } ; m . select . version = "1.3.4" ; m . select . init = function ( a ) { var b = a . settings ( ) [ 0 ] ; if ( ! b . _select ) { var c = a . state . loaded ( ) ,
d = function ( t , G , p ) { if ( null !== p && p . select !== l ) { a . rows ( ) . deselect ( ) ; a . columns ( ) . deselect ( ) ; a . cells ( ) . deselect ( ) ; p . select . rows !== l && a . rows ( p . select . rows ) . select ( ) ; p . select . columns !== l && a . columns ( p . select . columns ) . select ( ) ; if ( p . select . cells !== l ) for ( t = 0 ; t < p . select . cells . length ; t ++ ) a . cell ( p . select . cells [ t ] . row , p . select . cells [ t ] . column ) . select ( ) ; a . state . save ( ) } } ; a . one ( "init" , function ( ) { a . on ( "stateSaveParams" , function ( t , G , p ) { p . select = { } ; p . select . rows = a . rows ( { selected : ! 0 } ) . ids ( ! 0 ) . toArray ( ) ; p . select . columns =
a . columns ( { selected : ! 0 } ) [ 0 ] ; p . select . cells = a . cells ( { selected : ! 0 } ) [ 0 ] . map ( function ( L ) { return { row : a . row ( L . row ) . id ( ! 0 ) , column : L . column } } ) } ) ; d ( l , l , c ) ; a . on ( "stateLoaded stateLoadParams" , d ) } ) ; var e = b . oInit . select , g = m . defaults . select ; e = e === l ? g : e ; g = "row" ; var f = "api" , k = ! 1 , n = ! 0 , q = ! 0 , y = "td, th" , M = "selected" , B = ! 1 ; b . _select = { } ; ! 0 === e ? ( f = "os" , B = ! 0 ) : "string" === typeof e ? ( f = e , B = ! 0 ) : h . isPlainObject ( e ) && ( e . blurable !== l && ( k = e . blurable ) , e . toggleable !== l && ( n = e . toggleable ) , e . info !== l && ( q = e . info ) , e . items !== l && ( g = e . items ) ,
f = e . style !== l ? e . style : "os" , B = ! 0 , e . selector !== l && ( y = e . selector ) , e . className !== l && ( M = e . className ) ) ; a . select . selector ( y ) ; a . select . items ( g ) ; a . select . style ( f ) ; a . select . blurable ( k ) ; a . select . toggleable ( n ) ; a . select . info ( q ) ; b . _select . className = M ; h . fn . dataTable . ext . order [ "select-checkbox" ] = function ( t , G ) { return this . api ( ) . column ( G , { order : "index" } ) . nodes ( ) . map ( function ( p ) { return "row" === t . _select . items ? h ( p ) . parent ( ) . hasClass ( t . _select . className ) : "cell" === t . _select . items ? h ( p ) . hasClass ( t . _select . className ) : ! 1 } ) } ;
! B && h ( a . table ( ) . node ( ) ) . hasClass ( "selectable" ) && a . select . style ( "os" ) } } ; h . each ( [ { type : "row" , prop : "aoData" } , { type : "column" , prop : "aoColumns" } ] , function ( a , b ) { m . ext . selector [ b . type ] . push ( function ( c , d , e ) { d = d . selected ; var g = [ ] ; if ( ! 0 !== d && ! 1 !== d ) return e ; for ( var f = 0 , k = e . length ; f < k ; f ++ ) { var n = c [ b . prop ] [ e [ f ] ] ; ( ! 0 === d && ! 0 === n . _select _selected || ! 1 === d && ! n . _select _selected ) && g . push ( e [ f ] ) } return g } ) } ) ; m . ext . selector . cell . push ( function ( a , b , c ) { b = b . selected ; var d = [ ] ; if ( b === l ) return c ; for ( var e = 0 , g = c . length ; e < g ; e ++ ) { var f =
a . aoData [ c [ e ] . row ] ; ( ! 0 === b && f . _selected _cells && ! 0 === f . _selected _cells [ c [ e ] . column ] || ! ( ! 1 !== b || f . _selected _cells && f . _selected _cells [ c [ e ] . column ] ) ) && d . push ( c [ e ] ) } return d } ) ; var w = m . Api . register , x = m . Api . registerPlural ; w ( "select()" , function ( ) { return this . iterator ( "table" , function ( a ) { m . select . init ( new m . Api ( a ) ) } ) } ) ; w ( "select.blurable()" , function ( a ) { return a === l ? this . context [ 0 ] . _select . blurable : this . iterator ( "table" , function ( b ) { b . _select . blurable = a } ) } ) ; w ( "select.toggleable()" , function ( a ) { return a === l ? this . context [ 0 ] . _select . toggleable :
this . iterator ( "table" , function ( b ) { b . _select . toggleable = a } ) } ) ; w ( "select.info()" , function ( a ) { return a === l ? this . context [ 0 ] . _select . info : this . iterator ( "table" , function ( b ) { b . _select . info = a } ) } ) ; w ( "select.items()" , function ( a ) { return a === l ? this . context [ 0 ] . _select . items : this . iterator ( "table" , function ( b ) { b . _select . items = a ; u ( new m . Api ( b ) , "selectItems" , [ a ] ) } ) } ) ; w ( "select.style()" , function ( a ) { return a === l ? this . context [ 0 ] . _select . style : this . iterator ( "table" , function ( b ) { b . _select || m . select . init ( new m . Api ( b ) ) ; b . _select _init ||
O ( b ) ; b . _select . style = a ; var c = new m . Api ( b ) ; C ( c ) ; "api" !== a && J ( c ) ; u ( new m . Api ( b ) , "selectStyle" , [ a ] ) } ) } ) ; w ( "select.selector()" , function ( a ) { return a === l ? this . context [ 0 ] . _select . selector : this . iterator ( "table" , function ( b ) { C ( new m . Api ( b ) ) ; b . _select . selector = a ; "api" !== b . _select . style && J ( new m . Api ( b ) ) } ) } ) ; x ( "rows().select()" , "row().select()" , function ( a ) { var b = this ; if ( ! 1 === a ) return this . deselect ( ) ; this . iterator ( "row" , function ( c , d ) { z ( c ) ; c . aoData [ d ] . _select _selected = ! 0 ; h ( c . aoData [ d ] . nTr ) . addClass ( c . _select . className ) } ) ;
this . iterator ( "table" , function ( c , d ) { u ( b , "select" , [ "row" , b [ d ] ] , ! 0 ) } ) ; return this } ) ; x ( "columns().select()" , "column().select()" , function ( a ) { var b = this ; if ( ! 1 === a ) return this . deselect ( ) ; this . iterator ( "column" , function ( c , d ) { z ( c ) ; c . aoColumns [ d ] . _select _selected = ! 0 ; d = ( new m . Api ( c ) ) . column ( d ) ; h ( d . header ( ) ) . addClass ( c . _select . className ) ; h ( d . footer ( ) ) . addClass ( c . _select . className ) ; d . nodes ( ) . to$ ( ) . addClass ( c . _select . className ) } ) ; this . iterator ( "table" , function ( c , d ) { u ( b , "select" , [ "column" , b [ d ] ] , ! 0 ) } ) ; return this } ) ;
x ( "cells().select()" , "cell().select()" , function ( a ) { var b = this ; if ( ! 1 === a ) return this . deselect ( ) ; this . iterator ( "cell" , function ( c , d , e ) { z ( c ) ; d = c . aoData [ d ] ; d . _selected _cells === l && ( d . _selected _cells = [ ] ) ; d . _selected _cells [ e ] = ! 0 ; d . anCells && h ( d . anCells [ e ] ) . addClass ( c . _select . className ) } ) ; this . iterator ( "table" , function ( c , d ) { u ( b , "select" , [ "cell" , b . cells ( b [ d ] ) . indexes ( ) . toArray ( ) ] , ! 0 ) } ) ; return this } ) ; x ( "rows().deselect()" , "row().deselect()" , function ( ) { var a = this ; this . iterator ( "row" , function ( b , c ) { b . aoData [ c ] . _select _selected =
! 1 ; b . _select _lastCell = null ; h ( b . aoData [ c ] . nTr ) . removeClass ( b . _select . className ) } ) ; this . iterator ( "table" , function ( b , c ) { u ( a , "deselect" , [ "row" , a [ c ] ] , ! 0 ) } ) ; return this } ) ; x ( "columns().deselect()" , "column().deselect()" , function ( ) { var a = this ; this . iterator ( "column" , function ( b , c ) { b . aoColumns [ c ] . _select _selected = ! 1 ; var d = new m . Api ( b ) , e = d . column ( c ) ; h ( e . header ( ) ) . removeClass ( b . _select . className ) ; h ( e . footer ( ) ) . removeClass ( b . _select . className ) ; d . cells ( null , c ) . indexes ( ) . each ( function ( g ) { var f = b . aoData [ g . row ] , k = f . _selected _cells ;
! f . anCells || k && k [ g . column ] || h ( f . anCells [ g . column ] ) . removeClass ( b . _select . className ) } ) } ) ; this . iterator ( "table" , function ( b , c ) { u ( a , "deselect" , [ "column" , a [ c ] ] , ! 0 ) } ) ; return this } ) ; x ( "cells().deselect()" , "cell().deselect()" , function ( ) { var a = this ; this . iterator ( "cell" , function ( b , c , d ) { c = b . aoData [ c ] ; c . _selected _cells !== l && ( c . _selected _cells [ d ] = ! 1 ) ; c . anCells && ! b . aoColumns [ d ] . _select _selected && h ( c . anCells [ d ] ) . removeClass ( b . _select . className ) } ) ; this . iterator ( "table" , function ( b , c ) { u ( a , "deselect" , [ "cell" , a [ c ] ] ,
! 0 ) } ) ; return this } ) ; var H = 0 ; h . extend ( m . ext . buttons , { selected : { text : A ( "selected" , "Selected" ) , className : "buttons-selected" , limitTo : [ "rows" , "columns" , "cells" ] , init : function ( a , b , c ) { var d = this ; c . _eventNamespace = ".select" + H ++ ; a . on ( F ( c ) , function ( ) { d . enable ( P ( a , c ) ) } ) ; this . disable ( ) } , destroy : function ( a , b , c ) { a . off ( c . _eventNamespace ) } } , selectedSingle : { text : A ( "selectedSingle" , "Selected single" ) , className : "buttons-selected-single" , init : function ( a , b , c ) { var d = this ; c . _eventNamespace = ".select" + H ++ ; a . on ( F ( c ) , function ( ) { var e =
a . rows ( { selected : ! 0 } ) . flatten ( ) . length + a . columns ( { selected : ! 0 } ) . flatten ( ) . length + a . cells ( { selected : ! 0 } ) . flatten ( ) . length ; d . enable ( 1 === e ) } ) ; this . disable ( ) } , destroy : function ( a , b , c ) { a . off ( c . _eventNamespace ) } } , selectAll : { text : A ( "selectAll" , "Select all" ) , className : "buttons-select-all" , action : function ( ) { this [ this . select . items ( ) + "s" ] ( ) . select ( ) } } , selectNone : { text : A ( "selectNone" , "Deselect all" ) , className : "buttons-select-none" , action : function ( ) { z ( this . settings ( ) [ 0 ] , ! 0 ) } , init : function ( a , b , c ) { var d = this ; c . _eventNamespace =
".select" + H ++ ; a . on ( F ( c ) , function ( ) { var e = a . rows ( { selected : ! 0 } ) . flatten ( ) . length + a . columns ( { selected : ! 0 } ) . flatten ( ) . length + a . cells ( { selected : ! 0 } ) . flatten ( ) . length ; d . enable ( 0 < e ) } ) ; this . disable ( ) } , destroy : function ( a , b , c ) { a . off ( c . _eventNamespace ) } } } ) ; h . each ( [ "Row" , "Column" , "Cell" ] , function ( a , b ) { var c = b . toLowerCase ( ) ; m . ext . buttons [ "select" + b + "s" ] = { text : A ( "select" + b + "s" , "Select " + c + "s" ) , className : "buttons-select-" + c + "s" , action : function ( ) { this . select . items ( c ) } , init : function ( d ) { var e = this ; d . on ( "selectItems.dt.DT" ,
function ( g , f , k ) { e . active ( k === c ) } ) } } } ) ; h ( v ) . on ( "preInit.dt.dtSelect" , function ( a , b ) { "dt" === a . namespace && m . select . init ( new m . Api ( b ) ) } ) ; return m . select } ) ;
2020-09-26 16:19:37 +02:00