2024-08-10 07:51:24 -07:00
/ * !
* dragtable
*
* @ Version 2.0 . 15
*
* Copyright ( c ) 2010 - 2013 , Andres akottr @ gmail . com
* Dual licensed under the MIT ( MIT - LICENSE . txt )
* and GPL ( GPL - LICENSE . txt ) licenses .
*
* Inspired by the the dragtable from Dan Vanderkam ( danvk . org / dragtable / )
* Thanks to the jquery and jqueryui comitters
*
* Any comment , bug report , feature - request is welcome
* Feel free to contact me .
* /
/ * T O K N O W :
* For IE7 you need this css rule :
* table {
* border - collapse : collapse ;
* }
* Or take a clean reset . css ( see http : //meyerweb.com/eric/tools/css/reset/)
* /
/ * T O D O : i n v e s t i g a t e
* Does not work properly with css rule :
* html {
* overflow : - moz - scrollbars - vertical ;
* }
* Workaround :
* Fixing Firefox issues by scrolling down the page
* http : //stackoverflow.com/questions/2451528/jquery-ui-sortable-scroll-helper-element-offset-firefox-issue
*
* var start = $ . noop ;
* var beforeStop = $ . noop ;
* if ( $ . browser . mozilla ) {
* var start = function ( event , ui ) {
* if ( ui . helper !== undefined )
* ui . helper . css ( 'position' , 'absolute' ) . css ( 'margin-top' , $ ( window ) . scrollTop ( ) ) ;
* }
* var beforeStop = function ( event , ui ) {
* if ( ui . offset !== undefined )
* ui . helper . css ( 'margin-top' , 0 ) ;
* }
* }
*
* and pass this as start and stop function to the sortable initialisation
* start : start ,
* beforeStop : beforeStop
* /
/ *
* Special thx to all pull requests comitters
* /
( function ( $ ) {
$ . widget ( "akottr.dragtable" , {
options : {
revert : false , // smooth revert
dragHandle : '.table-handle' , // handle for moving cols, if not exists the whole 'th' is the handle
maxMovingRows : 40 , // 1 -> only header. 40 row should be enough, the rest is usually not in the viewport
excludeFooter : false , // excludes the footer row(s) while moving other columns. Make sense if there is a footer with a colspan. */
onlyHeaderThreshold : 100 , // TODO: not implemented yet, switch automatically between entire col moving / only header moving
dragaccept : null , // draggable cols -> default all
persistState : null , // url or function -> plug in your custom persistState function right here. function call is persistState(originalTable)
restoreState : null , // JSON-Object or function: some kind of experimental aka Quick-Hack TODO: do it better
exact : true , // removes pixels, so that the overlay table width fits exactly the original table width
clickDelay : 10 , // ms to wait before rendering sortable list and delegating click event
containment : null , // @see http://api.jqueryui.com/sortable/#option-containment, use it if you want to move in 2 dimesnions (together with axis: null)
cursor : 'move' , // @see http://api.jqueryui.com/sortable/#option-cursor
cursorAt : false , // @see http://api.jqueryui.com/sortable/#option-cursorAt
distance : 0 , // @see http://api.jqueryui.com/sortable/#option-distance, for immediate feedback use "0"
tolerance : 'pointer' , // @see http://api.jqueryui.com/sortable/#option-tolerance
axis : 'x' , // @see http://api.jqueryui.com/sortable/#option-axis, Only vertical moving is allowed. Use 'x' or null. Use this in conjunction with the 'containment' setting
beforeStart : $ . noop , // returning FALSE will stop the execution chain.
beforeMoving : $ . noop ,
beforeReorganize : $ . noop ,
beforeStop : $ . noop
} ,
originalTable : {
el : null ,
selectedHandle : null ,
sortOrder : null ,
startIndex : 0 ,
endIndex : 0
} ,
sortableTable : {
el : $ ( ) ,
selectedHandle : $ ( ) ,
movingRow : $ ( )
} ,
persistState : function ( ) {
var _this = this ;
this . originalTable . el . find ( 'th' ) . each ( function ( i ) {
if ( this . id !== '' ) {
_this . originalTable . sortOrder [ this . id ] = i ;
}
} ) ;
$ . ajax ( {
url : this . options . persistState ,
data : this . originalTable . sortOrder
} ) ;
} ,
/ *
* persistObj looks like
* { 'id1' : '2' , 'id3' : '3' , 'id2' : '1' }
* table looks like
* | id2 | id1 | id3 |
* /
_restoreState : function ( persistObj ) {
for ( var n in persistObj ) {
this . originalTable . startIndex = $ ( '#' + n ) . closest ( 'th' ) . prevAll ( ) . length + 1 ;
this . originalTable . endIndex = parseInt ( persistObj [ n ] , 10 ) + 1 ;
this . _bubbleCols ( ) ;
}
} ,
// bubble the moved col left or right
_bubbleCols : function ( ) {
var i , j , col1 , col2 ;
var from = this . originalTable . startIndex ;
var to = this . originalTable . endIndex ;
/ * F i n d c h i l d r e n t h e a d a n d t b o d y .
* Only to process the immediate tr - children . Bugfix for inner tables
* /
var thtb = this . originalTable . el . children ( ) ;
if ( this . options . excludeFooter ) {
thtb = thtb . not ( 'tfoot' ) ;
}
if ( from < to ) {
for ( i = from ; i < to ; i ++ ) {
col1 = thtb . find ( '> tr > td:nth-child(' + i + ')' )
. add ( thtb . find ( '> tr > th:nth-child(' + i + ')' ) ) ;
col2 = thtb . find ( '> tr > td:nth-child(' + ( i + 1 ) + ')' )
. add ( thtb . find ( '> tr > th:nth-child(' + ( i + 1 ) + ')' ) ) ;
for ( j = 0 ; j < col1 . length ; j ++ ) {
swapNodes ( col1 [ j ] , col2 [ j ] ) ;
}
}
} else {
for ( i = from ; i > to ; i -- ) {
col1 = thtb . find ( '> tr > td:nth-child(' + i + ')' )
. add ( thtb . find ( '> tr > th:nth-child(' + i + ')' ) ) ;
col2 = thtb . find ( '> tr > td:nth-child(' + ( i - 1 ) + ')' )
. add ( thtb . find ( '> tr > th:nth-child(' + ( i - 1 ) + ')' ) ) ;
for ( j = 0 ; j < col1 . length ; j ++ ) {
swapNodes ( col1 [ j ] , col2 [ j ] ) ;
}
}
}
} ,
_rearrangeTableBackroundProcessing : function ( ) {
var _this = this ;
return function ( ) {
_this . _bubbleCols ( ) ;
_this . options . beforeStop ( _this . originalTable ) ;
_this . sortableTable . el . remove ( ) ;
restoreTextSelection ( ) ;
// persist state if necessary
if ( _this . options . persistState !== null ) {
$ . isFunction ( _this . options . persistState ) ? _this . options . persistState ( _this . originalTable ) : _this . persistState ( ) ;
}
} ;
} ,
_rearrangeTable : function ( ) {
var _this = this ;
return function ( ) {
// remove handler-class -> handler is now finished
_this . originalTable . selectedHandle . removeClass ( 'dragtable-handle-selected' ) ;
// add disabled class -> reorgorganisation starts soon
_this . sortableTable . el . sortable ( "disable" ) ;
_this . sortableTable . el . addClass ( 'dragtable-disabled' ) ;
_this . options . beforeReorganize ( _this . originalTable , _this . sortableTable ) ;
// do reorganisation asynchronous
// for chrome a little bit more than 1 ms because we want to force a rerender
_this . originalTable . endIndex = _this . sortableTable . movingRow . prevAll ( ) . length + 1 ;
setTimeout ( _this . _rearrangeTableBackroundProcessing ( ) , 50 ) ;
} ;
} ,
/ *
* Disrupts the table . The original table stays the same .
* But on a layer above the original table we are constructing a list ( ul > li )
* each li with a separate table representig a single col of the original table .
* /
_generateSortable : function ( e ) {
! e . cancelBubble && ( e . cancelBubble = true ) ;
var _this = this ;
// table attributes
var attrs = this . originalTable . el [ 0 ] . attributes ;
var attrsString = '' ;
for ( var i = 0 ; i < attrs . length ; i ++ ) {
if ( attrs [ i ] . nodeValue && attrs [ i ] . nodeName != 'id' && attrs [ i ] . nodeName != 'width' ) {
attrsString += attrs [ i ] . nodeName + '="' + attrs [ i ] . nodeValue + '" ' ;
}
}
// row attributes
var rowAttrsArr = [ ] ;
//compute height, special handling for ie needed :-(
var heightArr = [ ] ;
this . originalTable . el . find ( 'tr' ) . slice ( 0 , this . options . maxMovingRows ) . each ( function ( i , v ) {
// row attributes
var attrs = this . attributes ;
var attrsString = "" ;
for ( var j = 0 ; j < attrs . length ; j ++ ) {
if ( attrs [ j ] . nodeValue && attrs [ j ] . nodeName != 'id' ) {
attrsString += " " + attrs [ j ] . nodeName + '="' + attrs [ j ] . nodeValue + '"' ;
}
}
rowAttrsArr . push ( attrsString ) ;
heightArr . push ( $ ( this ) . height ( ) ) ;
} ) ;
// compute width, no special handling for ie needed :-)
var widthArr = [ ] ;
// compute total width, needed for not wrapping around after the screen ends (floating)
var totalWidth = 0 ;
/ * F i n d c h i l d r e n t h e a d a n d t b o d y .
* Only to process the immediate tr - children . Bugfix for inner tables
* /
var thtb = _this . originalTable . el . children ( ) ;
if ( this . options . excludeFooter ) {
thtb = thtb . not ( 'tfoot' ) ;
}
thtb . find ( '> tr > th' ) . each ( function ( i , v ) {
var w = $ ( this ) . is ( ':visible' ) ? $ ( this ) . outerWidth ( ) : 0 ;
widthArr . push ( w ) ;
totalWidth += w ;
} ) ;
if ( _this . options . exact ) {
var difference = totalWidth - _this . originalTable . el . outerWidth ( ) ;
widthArr [ 0 ] -= difference ;
}
// one extra px on right and left side
totalWidth += 2
var sortableHtml = '<ul class="dragtable-sortable" style="position:absolute; width:' + totalWidth + 'px;">' ;
// assemble the needed html
thtb . find ( '> tr > th' ) . each ( function ( i , v ) {
var width _li = $ ( this ) . is ( ':visible' ) ? $ ( this ) . outerWidth ( ) : 0 ;
sortableHtml += '<li style="width:' + width _li + 'px;">' ;
sortableHtml += '<table ' + attrsString + '>' ;
var row = thtb . find ( '> tr > th:nth-child(' + ( i + 1 ) + ')' ) ;
if ( _this . options . maxMovingRows > 1 ) {
row = row . add ( thtb . find ( '> tr > td:nth-child(' + ( i + 1 ) + ')' ) . slice ( 0 , _this . options . maxMovingRows - 1 ) ) ;
}
row . each ( function ( j ) {
// TODO: May cause duplicate style-Attribute
var row _content = $ ( this ) . clone ( ) . wrap ( '<div></div>' ) . parent ( ) . html ( ) ;
if ( row _content . toLowerCase ( ) . indexOf ( '<th' ) === 0 ) sortableHtml += "<thead>" ;
sortableHtml += '<tr ' + rowAttrsArr [ j ] + '" style="height:' + heightArr [ j ] + 'px;">' ;
sortableHtml += row _content ;
if ( row _content . toLowerCase ( ) . indexOf ( '<th' ) === 0 ) sortableHtml += "</thead>" ;
sortableHtml += '</tr>' ;
} ) ;
sortableHtml += '</table>' ;
sortableHtml += '</li>' ;
} ) ;
sortableHtml += '</ul>' ;
this . sortableTable . el = this . originalTable . el . before ( sortableHtml ) . prev ( ) ;
// set width if necessary
this . sortableTable . el . find ( '> li > table' ) . each ( function ( i , v ) {
$ ( this ) . css ( 'width' , widthArr [ i ] + 'px' ) ;
} ) ;
// assign this.sortableTable.selectedHandle
this . sortableTable . selectedHandle = this . sortableTable . el . find ( 'th .dragtable-handle-selected' ) ;
var items = ! this . options . dragaccept ? 'li' : 'li:has(' + this . options . dragaccept + ')' ;
this . sortableTable . el . sortable ( {
items : items ,
stop : this . _rearrangeTable ( ) ,
// pass thru options for sortable widget
revert : this . options . revert ,
tolerance : this . options . tolerance ,
containment : this . options . containment ,
cursor : this . options . cursor ,
cursorAt : this . options . cursorAt ,
distance : this . options . distance ,
axis : this . options . axis
} ) ;
// assign start index
this . originalTable . startIndex = $ ( e . target ) . closest ( 'th' ) . prevAll ( ) . length + 1 ;
this . options . beforeMoving ( this . originalTable , this . sortableTable ) ;
// Start moving by delegating the original event to the new sortable table
this . sortableTable . movingRow = this . sortableTable . el . find ( '> li:nth-child(' + this . originalTable . startIndex + ')' ) ;
// prevent the user from drag selecting "highlighting" surrounding page elements
disableTextSelection ( ) ;
// clone the initial event and trigger the sort with it
this . sortableTable . movingRow . trigger ( $ . extend ( $ . Event ( e . type ) , {
which : 1 ,
clientX : e . clientX ,
clientY : e . clientY ,
pageX : e . pageX ,
pageY : e . pageY ,
screenX : e . screenX ,
screenY : e . screenY
} ) ) ;
// Some inner divs to deliver the posibillity to style the placeholder more sophisticated
var placeholder = this . sortableTable . el . find ( '.ui-sortable-placeholder' ) ;
if ( ! placeholder . height ( ) <= 0 ) {
placeholder . css ( 'height' , this . sortableTable . el . find ( '.ui-sortable-helper' ) . height ( ) ) ;
}
placeholder . html ( '<div class="outer" style="height:100%;"><div class="inner" style="height:100%;"></div></div>' ) ;
} ,
bindTo : { } ,
_create : function ( ) {
this . originalTable = {
el : this . element ,
selectedHandle : $ ( ) ,
sortOrder : { } ,
startIndex : 0 ,
endIndex : 0
} ;
// bind draggable to 'th' by default
this . bindTo = this . originalTable . el . find ( 'th' ) ;
// filter only the cols that are accepted
if ( this . options . dragaccept ) {
this . bindTo = this . bindTo . filter ( this . options . dragaccept ) ;
}
// bind draggable to handle if exists
if ( this . bindTo . find ( this . options . dragHandle ) . length > 0 ) {
this . bindTo = this . bindTo . find ( this . options . dragHandle ) ;
}
// restore state if necessary
if ( this . options . restoreState !== null ) {
$ . isFunction ( this . options . restoreState ) ? this . options . restoreState ( this . originalTable ) : this . _restoreState ( this . options . restoreState ) ;
}
var _this = this ;
this . bindTo . mousedown ( function ( evt ) {
// listen only to left mouse click
if ( evt . which !== 1 ) return ;
if ( _this . options . beforeStart ( _this . originalTable ) === false ) {
return ;
}
clearTimeout ( this . downTimer ) ;
this . downTimer = setTimeout ( function ( ) {
_this . originalTable . selectedHandle = $ ( this ) ;
_this . originalTable . selectedHandle . addClass ( 'dragtable-handle-selected' ) ;
_this . _generateSortable ( evt ) ;
} , _this . options . clickDelay ) ;
} ) . mouseup ( function ( evt ) {
clearTimeout ( this . downTimer ) ;
} ) ;
} ,
redraw : function ( ) {
this . destroy ( ) ;
this . _create ( ) ;
} ,
destroy : function ( ) {
this . bindTo . unbind ( 'mousedown' ) ;
$ . Widget . prototype . destroy . apply ( this , arguments ) ; // default destroy
// now do other stuff particular to this widget
}
} ) ;
/** closure-scoped "private" functions **/
var body _onselectstart _save = $ ( document . body ) . attr ( 'onselectstart' ) ,
body _unselectable _save = $ ( document . body ) . attr ( 'unselectable' ) ;
// css properties to disable user-select on the body tag by appending a <style> tag to the <head>
// remove any current document selections
function disableTextSelection ( ) {
// jQuery doesn't support the element.text attribute in MSIE 8
// http://stackoverflow.com/questions/2692770/style-style-textcss-appendtohead-does-not-work-in-ie
var $style = $ ( '<style id="__dragtable_disable_text_selection__" type="text/css">body { -ms-user-select:none;-moz-user-select:-moz-none;-khtml-user-select:none;-webkit-user-select:none;user-select:none; }</style>' ) ;
$ ( document . head ) . append ( $style ) ;
$ ( document . body ) . attr ( 'onselectstart' , 'return false;' ) . attr ( 'unselectable' , 'on' ) ;
if ( window . getSelection ) {
window . getSelection ( ) . removeAllRanges ( ) ;
} else {
document . selection . empty ( ) ; // MSIE http://msdn.microsoft.com/en-us/library/ms535869%28v=VS.85%29.aspx
}
}
// remove the <style> tag, and restore the original <body> onselectstart attribute
function restoreTextSelection ( ) {
$ ( '#__dragtable_disable_text_selection__' ) . remove ( ) ;
if ( body _onselectstart _save ) {
$ ( document . body ) . attr ( 'onselectstart' , body _onselectstart _save ) ;
} else {
$ ( document . body ) . removeAttr ( 'onselectstart' ) ;
}
if ( body _unselectable _save ) {
$ ( document . body ) . attr ( 'unselectable' , body _unselectable _save ) ;
} else {
$ ( document . body ) . removeAttr ( 'unselectable' ) ;
}
}
function swapNodes ( a , b ) {
var aparent = a . parentNode ;
var asibling = a . nextSibling === b ? a : a . nextSibling ;
b . parentNode . insertBefore ( a , b ) ;
aparent . insertBefore ( b , asibling ) ;
}
} ) ( jQuery ) ;
( function ( global , factory ) {
typeof exports === 'object' && typeof module !== 'undefined' ? module . exports = factory ( require ( 'core-js/modules/es.array.concat.js' ) , require ( 'core-js/modules/es.array.filter.js' ) , require ( 'core-js/modules/es.array.find.js' ) , require ( 'core-js/modules/es.array.find-index.js' ) , require ( 'core-js/modules/es.array.includes.js' ) , require ( 'core-js/modules/es.array.index-of.js' ) , require ( 'core-js/modules/es.array.iterator.js' ) , require ( 'core-js/modules/es.array.join.js' ) , require ( 'core-js/modules/es.array.map.js' ) , require ( 'core-js/modules/es.array.reverse.js' ) , require ( 'core-js/modules/es.array.slice.js' ) , require ( 'core-js/modules/es.array.sort.js' ) , require ( 'core-js/modules/es.array.splice.js' ) , require ( 'core-js/modules/es.date.to-json.js' ) , require ( 'core-js/modules/es.number.constructor.js' ) , require ( 'core-js/modules/es.object.assign.js' ) , require ( 'core-js/modules/es.object.entries.js' ) , require ( 'core-js/modules/es.object.keys.js' ) , require ( 'core-js/modules/es.object.to-string.js' ) , require ( 'core-js/modules/es.parse-float.js' ) , require ( 'core-js/modules/es.parse-int.js' ) , require ( 'core-js/modules/es.regexp.constructor.js' ) , require ( 'core-js/modules/es.regexp.exec.js' ) , require ( 'core-js/modules/es.regexp.to-string.js' ) , require ( 'core-js/modules/es.string.includes.js' ) , require ( 'core-js/modules/es.string.replace.js' ) , require ( 'core-js/modules/es.string.search.js' ) , require ( 'core-js/modules/es.string.split.js' ) , require ( 'core-js/modules/es.string.trim.js' ) , require ( 'core-js/modules/web.dom-collections.for-each.js' ) , require ( 'core-js/modules/web.dom-collections.iterator.js' ) , require ( 'jquery' ) , require ( 'core-js/modules/es.object.get-prototype-of.js' ) , require ( 'core-js/modules/es.string.ends-with.js' ) , require ( 'core-js/modules/es.string.match.js' ) , require ( 'core-js/modules/es.string.starts-with.js' ) ) :
typeof define === 'function' && define . amd ? define ( [ 'core-js/modules/es.array.concat.js' , 'core-js/modules/es.array.filter.js' , 'core-js/modules/es.array.find.js' , 'core-js/modules/es.array.find-index.js' , 'core-js/modules/es.array.includes.js' , 'core-js/modules/es.array.index-of.js' , 'core-js/modules/es.array.iterator.js' , 'core-js/modules/es.array.join.js' , 'core-js/modules/es.array.map.js' , 'core-js/modules/es.array.reverse.js' , 'core-js/modules/es.array.slice.js' , 'core-js/modules/es.array.sort.js' , 'core-js/modules/es.array.splice.js' , 'core-js/modules/es.date.to-json.js' , 'core-js/modules/es.number.constructor.js' , 'core-js/modules/es.object.assign.js' , 'core-js/modules/es.object.entries.js' , 'core-js/modules/es.object.keys.js' , 'core-js/modules/es.object.to-string.js' , 'core-js/modules/es.parse-float.js' , 'core-js/modules/es.parse-int.js' , 'core-js/modules/es.regexp.constructor.js' , 'core-js/modules/es.regexp.exec.js' , 'core-js/modules/es.regexp.to-string.js' , 'core-js/modules/es.string.includes.js' , 'core-js/modules/es.string.replace.js' , 'core-js/modules/es.string.search.js' , 'core-js/modules/es.string.split.js' , 'core-js/modules/es.string.trim.js' , 'core-js/modules/web.dom-collections.for-each.js' , 'core-js/modules/web.dom-collections.iterator.js' , 'jquery' , 'core-js/modules/es.object.get-prototype-of.js' , 'core-js/modules/es.string.ends-with.js' , 'core-js/modules/es.string.match.js' , 'core-js/modules/es.string.starts-with.js' ] , factory ) :
( global = typeof globalThis !== 'undefined' ? globalThis : global || self , global . BootstrapTable = factory ( null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , global . jQuery ) ) ;
} ) ( this , ( function ( es _array _concat _js , es _array _filter _js , es _array _find _js , es _array _findIndex _js , es _array _includes _js , es _array _indexOf _js , es _array _iterator _js , es _array _join _js , es _array _map _js , es _array _reverse _js , es _array _slice _js , es _array _sort _js , es _array _splice _js , es _date _toJson _js , es _number _constructor _js , es _object _assign _js , es _object _entries _js , es _object _keys _js , es _object _toString _js , es _parseFloat _js , es _parseInt _js , es _regexp _constructor _js , es _regexp _exec _js , es _regexp _toString _js , es _string _includes _js , es _string _replace _js , es _string _search _js , es _string _split _js , es _string _trim _js , web _domCollections _forEach _js , web _domCollections _iterator _js , $ ) { 'use strict' ;
function _arrayLikeToArray ( r , a ) {
( null == a || a > r . length ) && ( a = r . length ) ;
for ( var e = 0 , n = Array ( a ) ; e < a ; e ++ ) n [ e ] = r [ e ] ;
return n ;
}
function _arrayWithHoles ( r ) {
if ( Array . isArray ( r ) ) return r ;
}
function _arrayWithoutHoles ( r ) {
if ( Array . isArray ( r ) ) return _arrayLikeToArray ( r ) ;
}
function _classCallCheck ( a , n ) {
if ( ! ( a instanceof n ) ) throw new TypeError ( "Cannot call a class as a function" ) ;
}
function _defineProperties ( e , r ) {
for ( var t = 0 ; t < r . length ; t ++ ) {
var o = r [ t ] ;
o . enumerable = o . enumerable || ! 1 , o . configurable = ! 0 , "value" in o && ( o . writable = ! 0 ) , Object . defineProperty ( e , _toPropertyKey ( o . key ) , o ) ;
}
}
function _createClass ( e , r , t ) {
return r && _defineProperties ( e . prototype , r ) , Object . defineProperty ( e , "prototype" , {
writable : ! 1
} ) , e ;
}
function _createForOfIteratorHelper ( r , e ) {
var t = "undefined" != typeof Symbol && r [ Symbol . iterator ] || r [ "@@iterator" ] ;
if ( ! t ) {
if ( Array . isArray ( r ) || ( t = _unsupportedIterableToArray ( r ) ) || e ) {
t && ( r = t ) ;
var n = 0 ,
F = function ( ) { } ;
return {
s : F ,
n : function ( ) {
return n >= r . length ? {
done : ! 0
} : {
done : ! 1 ,
value : r [ n ++ ]
} ;
} ,
e : function ( r ) {
throw r ;
} ,
f : F
} ;
}
throw new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
}
var o ,
a = ! 0 ,
u = ! 1 ;
return {
s : function ( ) {
t = t . call ( r ) ;
} ,
n : function ( ) {
var r = t . next ( ) ;
return a = r . done , r ;
} ,
e : function ( r ) {
u = ! 0 , o = r ;
} ,
f : function ( ) {
try {
a || null == t . return || t . return ( ) ;
} finally {
if ( u ) throw o ;
}
}
} ;
}
function _iterableToArray ( r ) {
if ( "undefined" != typeof Symbol && null != r [ Symbol . iterator ] || null != r [ "@@iterator" ] ) return Array . from ( r ) ;
}
function _iterableToArrayLimit ( r , l ) {
var t = null == r ? null : "undefined" != typeof Symbol && r [ Symbol . iterator ] || r [ "@@iterator" ] ;
if ( null != t ) {
var e ,
n ,
i ,
u ,
a = [ ] ,
f = ! 0 ,
o = ! 1 ;
try {
if ( i = ( t = t . call ( r ) ) . next , 0 === l ) ; else for ( ; ! ( f = ( e = i . call ( t ) ) . done ) && ( a . push ( e . value ) , a . length !== l ) ; f = ! 0 ) ;
} catch ( r ) {
o = ! 0 , n = r ;
} finally {
try {
if ( ! f && null != t . return && ( u = t . return ( ) , Object ( u ) !== u ) ) return ;
} finally {
if ( o ) throw n ;
}
}
return a ;
}
}
function _nonIterableRest ( ) {
throw new TypeError ( "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
}
function _nonIterableSpread ( ) {
throw new TypeError ( "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
}
function _slicedToArray ( r , e ) {
return _arrayWithHoles ( r ) || _iterableToArrayLimit ( r , e ) || _unsupportedIterableToArray ( r , e ) || _nonIterableRest ( ) ;
}
function _toConsumableArray ( r ) {
return _arrayWithoutHoles ( r ) || _iterableToArray ( r ) || _unsupportedIterableToArray ( r ) || _nonIterableSpread ( ) ;
}
function _toPrimitive ( t , r ) {
if ( "object" != typeof t || ! t ) return t ;
var e = t [ Symbol . toPrimitive ] ;
if ( void 0 !== e ) {
var i = e . call ( t , r ) ;
if ( "object" != typeof i ) return i ;
throw new TypeError ( "@@toPrimitive must return a primitive value." ) ;
}
return ( String ) ( t ) ;
}
function _toPropertyKey ( t ) {
var i = _toPrimitive ( t , "string" ) ;
return "symbol" == typeof i ? i : i + "" ;
}
function _typeof ( o ) {
"@babel/helpers - typeof" ;
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol . iterator ? function ( o ) {
return typeof o ;
} : function ( o ) {
return o && "function" == typeof Symbol && o . constructor === Symbol && o !== Symbol . prototype ? "symbol" : typeof o ;
} , _typeof ( o ) ;
}
function _unsupportedIterableToArray ( r , a ) {
if ( r ) {
if ( "string" == typeof r ) return _arrayLikeToArray ( r , a ) ;
var t = { } . toString . call ( r ) . slice ( 8 , - 1 ) ;
return "Object" === t && r . constructor && ( t = r . constructor . name ) , "Map" === t || "Set" === t ? Array . from ( r ) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( t ) ? _arrayLikeToArray ( r , a ) : void 0 ;
}
}
var Utils = {
getBootstrapVersion : function getBootstrapVersion ( ) {
var bootstrapVersion = 5 ;
try {
var rawVersion = $ . fn . dropdown . Constructor . VERSION ;
// Only try to parse VERSION if it is defined.
// It is undefined in older versions of Bootstrap (tested with 3.1.1).
if ( rawVersion !== undefined ) {
bootstrapVersion = parseInt ( rawVersion , 10 ) ;
}
} catch ( e ) {
// ignore
}
try {
// eslint-disable-next-line no-undef
var _rawVersion = bootstrap . Tooltip . VERSION ;
if ( _rawVersion !== undefined ) {
bootstrapVersion = parseInt ( _rawVersion , 10 ) ;
}
} catch ( e ) {
// ignore
}
return bootstrapVersion ;
} ,
getIconsPrefix : function getIconsPrefix ( theme ) {
return {
bootstrap3 : 'glyphicon' ,
bootstrap4 : 'fa' ,
bootstrap5 : 'bi' ,
'bootstrap-table' : 'icon' ,
bulma : 'fa' ,
foundation : 'fa' ,
materialize : 'material-icons' ,
semantic : 'fa'
} [ theme ] || 'fa' ;
} ,
getIcons : function getIcons ( prefix ) {
return {
glyphicon : {
paginationSwitchDown : 'glyphicon-collapse-down icon-chevron-down' ,
paginationSwitchUp : 'glyphicon-collapse-up icon-chevron-up' ,
refresh : 'glyphicon-refresh icon-refresh' ,
toggleOff : 'glyphicon-list-alt icon-list-alt' ,
toggleOn : 'glyphicon-list-alt icon-list-alt' ,
columns : 'glyphicon-th icon-th' ,
detailOpen : 'glyphicon-plus icon-plus' ,
detailClose : 'glyphicon-minus icon-minus' ,
fullscreen : 'glyphicon-fullscreen' ,
search : 'glyphicon-search' ,
clearSearch : 'glyphicon-trash'
} ,
fa : {
paginationSwitchDown : 'fa-caret-square-down' ,
paginationSwitchUp : 'fa-caret-square-up' ,
refresh : 'fa-sync' ,
toggleOff : 'fa-toggle-off' ,
toggleOn : 'fa-toggle-on' ,
columns : 'fa-th-list' ,
detailOpen : 'fa-plus' ,
detailClose : 'fa-minus' ,
fullscreen : 'fa-arrows-alt' ,
search : 'fa-search' ,
clearSearch : 'fa-trash'
} ,
bi : {
paginationSwitchDown : 'bi-caret-down-square' ,
paginationSwitchUp : 'bi-caret-up-square' ,
refresh : 'bi-arrow-clockwise' ,
toggleOff : 'bi-toggle-off' ,
toggleOn : 'bi-toggle-on' ,
columns : 'bi-list-ul' ,
detailOpen : 'bi-plus' ,
detailClose : 'bi-dash' ,
fullscreen : 'bi-arrows-move' ,
search : 'bi-search' ,
clearSearch : 'bi-trash'
} ,
icon : {
paginationSwitchDown : 'icon-arrow-up-circle' ,
paginationSwitchUp : 'icon-arrow-down-circle' ,
refresh : 'icon-refresh-cw' ,
toggleOff : 'icon-toggle-right' ,
toggleOn : 'icon-toggle-right' ,
columns : 'icon-list' ,
detailOpen : 'icon-plus' ,
detailClose : 'icon-minus' ,
fullscreen : 'icon-maximize' ,
search : 'icon-search' ,
clearSearch : 'icon-trash-2'
} ,
'material-icons' : {
paginationSwitchDown : 'grid_on' ,
paginationSwitchUp : 'grid_off' ,
refresh : 'refresh' ,
toggleOff : 'tablet' ,
toggleOn : 'tablet_android' ,
columns : 'view_list' ,
detailOpen : 'add' ,
detailClose : 'remove' ,
fullscreen : 'fullscreen' ,
sort : 'sort' ,
search : 'search' ,
clearSearch : 'delete'
}
} [ prefix ] || { } ;
} ,
getSearchInput : function getSearchInput ( that ) {
if ( typeof that . options . searchSelector === 'string' ) {
return $ ( that . options . searchSelector ) ;
}
return that . $toolbar . find ( '.search input' ) ;
} ,
// $.extend: https://github.com/jquery/jquery/blob/3.6.2/src/core.js#L132
extend : function extend ( ) {
var _this = this ;
for ( var _len = arguments . length , args = new Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) {
args [ _key ] = arguments [ _key ] ;
}
var target = args [ 0 ] || { } ;
var i = 1 ;
var deep = false ;
var clone ;
// Handle a deep copy situation
if ( typeof target === 'boolean' ) {
deep = target ;
// Skip the boolean and the target
target = args [ i ] || { } ;
i ++ ;
}
// Handle case when target is a string or something (possible in deep copy)
if ( _typeof ( target ) !== 'object' && typeof target !== 'function' ) {
target = { } ;
}
for ( ; i < args . length ; i ++ ) {
var options = args [ i ] ;
// Ignore undefined/null values
if ( typeof options === 'undefined' || options === null ) {
continue ;
}
// Extend the base object
// eslint-disable-next-line guard-for-in
for ( var name in options ) {
var copy = options [ name ] ;
// Prevent Object.prototype pollution
// Prevent never-ending loop
if ( name === '__proto__' || target === copy ) {
continue ;
}
var copyIsArray = Array . isArray ( copy ) ;
// Recurse if we're merging plain objects or arrays
if ( deep && copy && ( this . isObject ( copy ) || copyIsArray ) ) {
var src = target [ name ] ;
if ( copyIsArray && Array . isArray ( src ) ) {
if ( src . every ( function ( it ) {
return ! _this . isObject ( it ) && ! Array . isArray ( it ) ;
} ) ) {
target [ name ] = copy ;
continue ;
}
}
if ( copyIsArray && ! Array . isArray ( src ) ) {
clone = [ ] ;
} else if ( ! copyIsArray && ! this . isObject ( src ) ) {
clone = { } ;
} else {
clone = src ;
}
// Never move original objects, clone them
target [ name ] = this . extend ( deep , clone , copy ) ;
// Don't bring in undefined values
} else if ( copy !== undefined ) {
target [ name ] = copy ;
}
}
}
return target ;
} ,
// it only does '%s', and return '' when arguments are undefined
sprintf : function sprintf ( _str ) {
for ( var _len2 = arguments . length , args = new Array ( _len2 > 1 ? _len2 - 1 : 0 ) , _key2 = 1 ; _key2 < _len2 ; _key2 ++ ) {
args [ _key2 - 1 ] = arguments [ _key2 ] ;
}
var flag = true ;
var i = 0 ;
var str = _str . replace ( /%s/g , function ( ) {
var arg = args [ i ++ ] ;
if ( typeof arg === 'undefined' ) {
flag = false ;
return '' ;
}
return arg ;
} ) ;
return flag ? str : '' ;
} ,
isObject : function isObject ( obj ) {
if ( _typeof ( obj ) !== 'object' || obj === null ) {
return false ;
}
var proto = obj ;
while ( Object . getPrototypeOf ( proto ) !== null ) {
proto = Object . getPrototypeOf ( proto ) ;
}
return Object . getPrototypeOf ( obj ) === proto ;
} ,
isEmptyObject : function isEmptyObject ( ) {
var obj = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
return Object . entries ( obj ) . length === 0 && obj . constructor === Object ;
} ,
isNumeric : function isNumeric ( n ) {
return ! isNaN ( parseFloat ( n ) ) && isFinite ( n ) ;
} ,
getFieldTitle : function getFieldTitle ( list , value ) {
var _iterator = _createForOfIteratorHelper ( list ) ,
_step ;
try {
for ( _iterator . s ( ) ; ! ( _step = _iterator . n ( ) ) . done ; ) {
var item = _step . value ;
if ( item . field === value ) {
return item . title ;
}
}
} catch ( err ) {
_iterator . e ( err ) ;
} finally {
_iterator . f ( ) ;
}
return '' ;
} ,
setFieldIndex : function setFieldIndex ( columns ) {
var totalCol = 0 ;
var flag = [ ] ;
var _iterator2 = _createForOfIteratorHelper ( columns [ 0 ] ) ,
_step2 ;
try {
for ( _iterator2 . s ( ) ; ! ( _step2 = _iterator2 . n ( ) ) . done ; ) {
var column = _step2 . value ;
totalCol += column . colspan || 1 ;
}
} catch ( err ) {
_iterator2 . e ( err ) ;
} finally {
_iterator2 . f ( ) ;
}
for ( var i = 0 ; i < columns . length ; i ++ ) {
flag [ i ] = [ ] ;
for ( var j = 0 ; j < totalCol ; j ++ ) {
flag [ i ] [ j ] = false ;
}
}
for ( var _i = 0 ; _i < columns . length ; _i ++ ) {
var _iterator3 = _createForOfIteratorHelper ( columns [ _i ] ) ,
_step3 ;
try {
for ( _iterator3 . s ( ) ; ! ( _step3 = _iterator3 . n ( ) ) . done ; ) {
var r = _step3 . value ;
var rowspan = r . rowspan || 1 ;
var colspan = r . colspan || 1 ;
var index = flag [ _i ] . indexOf ( false ) ;
r . colspanIndex = index ;
if ( colspan === 1 ) {
r . fieldIndex = index ;
// when field is undefined, use index instead
if ( typeof r . field === 'undefined' ) {
r . field = index ;
}
} else {
r . colspanGroup = r . colspan ;
}
for ( var _j = 0 ; _j < rowspan ; _j ++ ) {
for ( var k = 0 ; k < colspan ; k ++ ) {
flag [ _i + _j ] [ index + k ] = true ;
}
}
}
} catch ( err ) {
_iterator3 . e ( err ) ;
} finally {
_iterator3 . f ( ) ;
}
}
} ,
normalizeAccent : function normalizeAccent ( value ) {
if ( typeof value !== 'string' ) {
return value ;
}
return value . normalize ( 'NFD' ) . replace ( /[\u0300-\u036f]/g , '' ) ;
} ,
updateFieldGroup : function updateFieldGroup ( columns , fieldColumns ) {
var _ref ;
var allColumns = ( _ref = [ ] ) . concat . apply ( _ref , _toConsumableArray ( columns ) ) ;
var _iterator4 = _createForOfIteratorHelper ( columns ) ,
_step4 ;
try {
for ( _iterator4 . s ( ) ; ! ( _step4 = _iterator4 . n ( ) ) . done ; ) {
var c = _step4 . value ;
var _iterator6 = _createForOfIteratorHelper ( c ) ,
_step6 ;
try {
for ( _iterator6 . s ( ) ; ! ( _step6 = _iterator6 . n ( ) ) . done ; ) {
var r = _step6 . value ;
if ( r . colspanGroup > 1 ) {
var colspan = 0 ;
var _loop = function _loop ( i ) {
var underColumns = allColumns . filter ( function ( col ) {
return col . fieldIndex === i ;
} ) ;
var column = underColumns [ underColumns . length - 1 ] ;
if ( underColumns . length > 1 ) {
for ( var j = 0 ; j < underColumns . length - 1 ; j ++ ) {
underColumns [ j ] . visible = column . visible ;
}
}
if ( column . visible ) {
colspan ++ ;
}
} ;
for ( var i = r . colspanIndex ; i < r . colspanIndex + r . colspanGroup ; i ++ ) {
_loop ( i ) ;
}
r . colspan = colspan ;
r . visible = colspan > 0 ;
}
}
} catch ( err ) {
_iterator6 . e ( err ) ;
} finally {
_iterator6 . f ( ) ;
}
}
} catch ( err ) {
_iterator4 . e ( err ) ;
} finally {
_iterator4 . f ( ) ;
}
if ( columns . length < 2 ) {
return ;
}
var _iterator5 = _createForOfIteratorHelper ( fieldColumns ) ,
_step5 ;
try {
var _loop2 = function _loop2 ( ) {
var column = _step5 . value ;
var sameColumns = allColumns . filter ( function ( col ) {
return col . fieldIndex === column . fieldIndex ;
} ) ;
if ( sameColumns . length > 1 ) {
var _iterator7 = _createForOfIteratorHelper ( sameColumns ) ,
_step7 ;
try {
for ( _iterator7 . s ( ) ; ! ( _step7 = _iterator7 . n ( ) ) . done ; ) {
var _c = _step7 . value ;
_c . visible = column . visible ;
}
} catch ( err ) {
_iterator7 . e ( err ) ;
} finally {
_iterator7 . f ( ) ;
}
}
} ;
for ( _iterator5 . s ( ) ; ! ( _step5 = _iterator5 . n ( ) ) . done ; ) {
_loop2 ( ) ;
}
} catch ( err ) {
_iterator5 . e ( err ) ;
} finally {
_iterator5 . f ( ) ;
}
} ,
getScrollBarWidth : function getScrollBarWidth ( ) {
if ( this . cachedWidth === undefined ) {
var $inner = $ ( '<div/>' ) . addClass ( 'fixed-table-scroll-inner' ) ;
var $outer = $ ( '<div/>' ) . addClass ( 'fixed-table-scroll-outer' ) ;
$outer . append ( $inner ) ;
$ ( 'body' ) . append ( $outer ) ;
var w1 = $inner [ 0 ] . offsetWidth ;
$outer . css ( 'overflow' , 'scroll' ) ;
var w2 = $inner [ 0 ] . offsetWidth ;
if ( w1 === w2 ) {
w2 = $outer [ 0 ] . clientWidth ;
}
$outer . remove ( ) ;
this . cachedWidth = w1 - w2 ;
}
return this . cachedWidth ;
} ,
calculateObjectValue : function calculateObjectValue ( self , name , args , defaultValue ) {
var func = name ;
if ( typeof name === 'string' ) {
// support obj.func1.func2
var names = name . split ( '.' ) ;
if ( names . length > 1 ) {
func = window ;
var _iterator8 = _createForOfIteratorHelper ( names ) ,
_step8 ;
try {
for ( _iterator8 . s ( ) ; ! ( _step8 = _iterator8 . n ( ) ) . done ; ) {
var f = _step8 . value ;
func = func [ f ] ;
}
} catch ( err ) {
_iterator8 . e ( err ) ;
} finally {
_iterator8 . f ( ) ;
}
} else {
func = window [ name ] ;
}
}
if ( func !== null && _typeof ( func ) === 'object' ) {
return func ;
}
if ( typeof func === 'function' ) {
return func . apply ( self , args || [ ] ) ;
}
if ( ! func && typeof name === 'string' && args && this . sprintf . apply ( this , [ name ] . concat ( _toConsumableArray ( args ) ) ) ) {
return this . sprintf . apply ( this , [ name ] . concat ( _toConsumableArray ( args ) ) ) ;
}
return defaultValue ;
} ,
compareObjects : function compareObjects ( objectA , objectB , compareLength ) {
var aKeys = Object . keys ( objectA ) ;
var bKeys = Object . keys ( objectB ) ;
if ( compareLength && aKeys . length !== bKeys . length ) {
return false ;
}
for ( var _i2 = 0 , _aKeys = aKeys ; _i2 < _aKeys . length ; _i2 ++ ) {
var key = _aKeys [ _i2 ] ;
if ( bKeys . includes ( key ) && objectA [ key ] !== objectB [ key ] ) {
return false ;
}
}
return true ;
} ,
regexCompare : function regexCompare ( value , search ) {
try {
var regexpParts = search . match ( /^\/(.*?)\/([gim]*)$/ ) ;
if ( value . toString ( ) . search ( regexpParts ? new RegExp ( regexpParts [ 1 ] , regexpParts [ 2 ] ) : new RegExp ( search , 'gim' ) ) !== - 1 ) {
return true ;
}
} catch ( e ) {
return false ;
}
return false ;
} ,
escapeApostrophe : function escapeApostrophe ( value ) {
return value . toString ( ) . replace ( /'/g , ''' ) ;
} ,
escapeHTML : function escapeHTML ( text ) {
if ( ! text ) {
return text ;
}
return text . toString ( ) . replace ( /&/g , '&' ) . replace ( /</g , '<' ) . replace ( />/g , '>' ) . replace ( /"/g , '"' ) . replace ( /'/g , ''' ) ;
} ,
unescapeHTML : function unescapeHTML ( text ) {
if ( typeof text !== 'string' || ! text ) {
return text ;
}
return text . toString ( ) . replace ( /&/g , '&' ) . replace ( /</g , '<' ) . replace ( />/g , '>' ) . replace ( /"/g , '"' ) . replace ( /'/g , '\'' ) ;
} ,
removeHTML : function removeHTML ( text ) {
if ( ! text ) {
return text ;
}
return text . toString ( ) . replace ( /(<([^>]+)>)/ig , '' ) . replace ( /&[#A-Za-z0-9]+;/gi , '' ) . trim ( ) ;
} ,
getRealDataAttr : function getRealDataAttr ( dataAttr ) {
for ( var _i3 = 0 , _Object$entries = Object . entries ( dataAttr ) ; _i3 < _Object$entries . length ; _i3 ++ ) {
var _Object$entries$ _i = _slicedToArray ( _Object$entries [ _i3 ] , 2 ) ,
attr = _Object$entries$ _i [ 0 ] ,
value = _Object$entries$ _i [ 1 ] ;
var auxAttr = attr . split ( /(?=[A-Z])/ ) . join ( '-' ) . toLowerCase ( ) ;
if ( auxAttr !== attr ) {
dataAttr [ auxAttr ] = value ;
delete dataAttr [ attr ] ;
}
}
return dataAttr ;
} ,
getItemField : function getItemField ( item , field , escape ) {
var columnEscape = arguments . length > 3 && arguments [ 3 ] !== undefined ? arguments [ 3 ] : undefined ;
var value = item ;
// use column escape if it is defined
if ( typeof columnEscape !== 'undefined' ) {
escape = columnEscape ;
}
if ( typeof field !== 'string' || item . hasOwnProperty ( field ) ) {
return escape ? this . escapeHTML ( item [ field ] ) : item [ field ] ;
}
var props = field . split ( '.' ) ;
var _iterator9 = _createForOfIteratorHelper ( props ) ,
_step9 ;
try {
for ( _iterator9 . s ( ) ; ! ( _step9 = _iterator9 . n ( ) ) . done ; ) {
var p = _step9 . value ;
value = value && value [ p ] ;
}
} catch ( err ) {
_iterator9 . e ( err ) ;
} finally {
_iterator9 . f ( ) ;
}
return escape ? this . escapeHTML ( value ) : value ;
} ,
isIEBrowser : function isIEBrowser ( ) {
return navigator . userAgent . includes ( 'MSIE ' ) || /Trident.*rv:11\./ . test ( navigator . userAgent ) ;
} ,
findIndex : function findIndex ( items , item ) {
var _iterator10 = _createForOfIteratorHelper ( items ) ,
_step10 ;
try {
for ( _iterator10 . s ( ) ; ! ( _step10 = _iterator10 . n ( ) ) . done ; ) {
var it = _step10 . value ;
if ( JSON . stringify ( it ) === JSON . stringify ( item ) ) {
return items . indexOf ( it ) ;
}
}
} catch ( err ) {
_iterator10 . e ( err ) ;
} finally {
_iterator10 . f ( ) ;
}
return - 1 ;
} ,
trToData : function trToData ( columns , $els ) {
var _this2 = this ;
var data = [ ] ;
var m = [ ] ;
$els . each ( function ( y , el ) {
var $el = $ ( el ) ;
var row = { } ;
// save tr's id, class and data-* attributes
row . _id = $el . attr ( 'id' ) ;
row . _class = $el . attr ( 'class' ) ;
row . _data = _this2 . getRealDataAttr ( $el . data ( ) ) ;
row . _style = $el . attr ( 'style' ) ;
$el . find ( '>td,>th' ) . each ( function ( _x , el ) {
var $el = $ ( el ) ;
var colspan = + $el . attr ( 'colspan' ) || 1 ;
var rowspan = + $el . attr ( 'rowspan' ) || 1 ;
var x = _x ;
// skip already occupied cells in current row
for ( ; m [ y ] && m [ y ] [ x ] ; x ++ ) {
// ignore
}
// mark matrix elements occupied by current cell with true
for ( var tx = x ; tx < x + colspan ; tx ++ ) {
for ( var ty = y ; ty < y + rowspan ; ty ++ ) {
if ( ! m [ ty ] ) {
// fill missing rows
m [ ty ] = [ ] ;
}
m [ ty ] [ tx ] = true ;
}
}
var field = columns [ x ] . field ;
row [ field ] = _this2 . escapeApostrophe ( $el . html ( ) . trim ( ) ) ;
// save td's id, class and data-* attributes
row [ "_" . concat ( field , "_id" ) ] = $el . attr ( 'id' ) ;
row [ "_" . concat ( field , "_class" ) ] = $el . attr ( 'class' ) ;
row [ "_" . concat ( field , "_rowspan" ) ] = $el . attr ( 'rowspan' ) ;
row [ "_" . concat ( field , "_colspan" ) ] = $el . attr ( 'colspan' ) ;
row [ "_" . concat ( field , "_title" ) ] = $el . attr ( 'title' ) ;
row [ "_" . concat ( field , "_data" ) ] = _this2 . getRealDataAttr ( $el . data ( ) ) ;
row [ "_" . concat ( field , "_style" ) ] = $el . attr ( 'style' ) ;
} ) ;
data . push ( row ) ;
} ) ;
return data ;
} ,
sort : function sort ( a , b , order , options , aPosition , bPosition ) {
if ( a === undefined || a === null ) {
a = '' ;
}
if ( b === undefined || b === null ) {
b = '' ;
}
if ( options . sortStable && a === b ) {
a = aPosition ;
b = bPosition ;
}
// If both values are numeric, do a numeric comparison
if ( this . isNumeric ( a ) && this . isNumeric ( b ) ) {
// Convert numerical values form string to float.
a = parseFloat ( a ) ;
b = parseFloat ( b ) ;
if ( a < b ) {
return order * - 1 ;
}
if ( a > b ) {
return order ;
}
return 0 ;
}
if ( options . sortEmptyLast ) {
if ( a === '' ) {
return 1 ;
}
if ( b === '' ) {
return - 1 ;
}
}
if ( a === b ) {
return 0 ;
}
// If value is not a string, convert to string
if ( typeof a !== 'string' ) {
a = a . toString ( ) ;
}
if ( a . localeCompare ( b ) === - 1 ) {
return order * - 1 ;
}
return order ;
} ,
getEventName : function getEventName ( eventPrefix ) {
var id = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : '' ;
id = id || "" . concat ( + new Date ( ) ) . concat ( ~ ~ ( Math . random ( ) * 1000000 ) ) ;
return "" . concat ( eventPrefix , "-" ) . concat ( id ) ;
} ,
hasDetailViewIcon : function hasDetailViewIcon ( options ) {
return options . detailView && options . detailViewIcon && ! options . cardView ;
} ,
getDetailViewIndexOffset : function getDetailViewIndexOffset ( options ) {
return this . hasDetailViewIcon ( options ) && options . detailViewAlign !== 'right' ? 1 : 0 ;
} ,
checkAutoMergeCells : function checkAutoMergeCells ( data ) {
var _iterator11 = _createForOfIteratorHelper ( data ) ,
_step11 ;
try {
for ( _iterator11 . s ( ) ; ! ( _step11 = _iterator11 . n ( ) ) . done ; ) {
var row = _step11 . value ;
for ( var _i4 = 0 , _Object$keys = Object . keys ( row ) ; _i4 < _Object$keys . length ; _i4 ++ ) {
var key = _Object$keys [ _i4 ] ;
if ( key . startsWith ( '_' ) && ( key . endsWith ( '_rowspan' ) || key . endsWith ( '_colspan' ) ) ) {
return true ;
}
}
}
} catch ( err ) {
_iterator11 . e ( err ) ;
} finally {
_iterator11 . f ( ) ;
}
return false ;
} ,
deepCopy : function deepCopy ( arg ) {
if ( arg === undefined ) {
return arg ;
}
return this . extend ( true , Array . isArray ( arg ) ? [ ] : { } , arg ) ;
} ,
debounce : function debounce ( func , wait , immediate ) {
var timeout ;
return function executedFunction ( ) {
var context = this ;
var args = arguments ;
var later = function later ( ) {
timeout = null ;
if ( ! immediate ) func . apply ( context , args ) ;
} ;
var callNow = immediate && ! timeout ;
clearTimeout ( timeout ) ;
timeout = setTimeout ( later , wait ) ;
if ( callNow ) func . apply ( context , args ) ;
} ;
}
} ;
var VERSION = '1.23.0' ;
var bootstrapVersion = Utils . getBootstrapVersion ( ) ;
var CONSTANTS = {
3 : {
classes : {
buttonsPrefix : 'btn' ,
buttons : 'default' ,
buttonsGroup : 'btn-group' ,
buttonsDropdown : 'btn-group' ,
pull : 'pull' ,
inputGroup : 'input-group' ,
inputPrefix : 'input-' ,
input : 'form-control' ,
select : 'form-control' ,
paginationDropdown : 'btn-group dropdown' ,
dropup : 'dropup' ,
dropdownActive : 'active' ,
paginationActive : 'active' ,
buttonActive : 'active'
} ,
html : {
toolbarDropdown : [ '<ul class="dropdown-menu" role="menu">' , '</ul>' ] ,
toolbarDropdownItem : '<li class="dropdown-item-marker" role="menuitem"><label>%s</label></li>' ,
toolbarDropdownSeparator : '<li class="divider"></li>' ,
pageDropdown : [ '<ul class="dropdown-menu" role="menu">' , '</ul>' ] ,
pageDropdownItem : '<li role="menuitem" class="%s"><a href="#">%s</a></li>' ,
dropdownCaret : '<span class="caret"></span>' ,
pagination : [ '<ul class="pagination%s">' , '</ul>' ] ,
paginationItem : '<li class="page-item%s"><a class="page-link" aria-label="%s" href="javascript:void(0)">%s</a></li>' ,
icon : '<i class="%s %s"></i>' ,
inputGroup : '<div class="input-group">%s<span class="input-group-btn">%s</span></div>' ,
searchInput : '<input class="%s%s" type="text" placeholder="%s">' ,
searchButton : '<button class="%s" type="button" name="search" title="%s">%s %s</button>' ,
searchClearButton : '<button class="%s" type="button" name="clearSearch" title="%s">%s %s</button>'
}
} ,
4 : {
classes : {
buttonsPrefix : 'btn' ,
buttons : 'secondary' ,
buttonsGroup : 'btn-group' ,
buttonsDropdown : 'btn-group' ,
pull : 'float' ,
inputGroup : 'btn-group' ,
inputPrefix : 'form-control-' ,
input : 'form-control' ,
select : 'form-control' ,
paginationDropdown : 'btn-group dropdown' ,
dropup : 'dropup' ,
dropdownActive : 'active' ,
paginationActive : 'active' ,
buttonActive : 'active'
} ,
html : {
toolbarDropdown : [ '<div class="dropdown-menu dropdown-menu-right">' , '</div>' ] ,
toolbarDropdownItem : '<label class="dropdown-item dropdown-item-marker">%s</label>' ,
pageDropdown : [ '<div class="dropdown-menu">' , '</div>' ] ,
pageDropdownItem : '<a class="dropdown-item %s" href="#">%s</a>' ,
toolbarDropdownSeparator : '<div class="dropdown-divider"></div>' ,
dropdownCaret : '<span class="caret"></span>' ,
pagination : [ '<ul class="pagination%s">' , '</ul>' ] ,
paginationItem : '<li class="page-item%s"><a class="page-link" aria-label="%s" href="javascript:void(0)">%s</a></li>' ,
icon : '<i class="%s %s"></i>' ,
inputGroup : '<div class="input-group">%s<div class="input-group-append">%s</div></div>' ,
searchInput : '<input class="%s%s" type="text" placeholder="%s">' ,
searchButton : '<button class="%s" type="button" name="search" title="%s">%s %s</button>' ,
searchClearButton : '<button class="%s" type="button" name="clearSearch" title="%s">%s %s</button>'
}
} ,
5 : {
classes : {
buttonsPrefix : 'btn' ,
buttons : 'secondary' ,
buttonsGroup : 'btn-group' ,
buttonsDropdown : 'btn-group' ,
pull : 'float' ,
inputGroup : 'btn-group' ,
inputPrefix : 'form-control-' ,
input : 'form-control' ,
select : 'form-select' ,
paginationDropdown : 'btn-group dropdown' ,
dropup : 'dropup' ,
dropdownActive : 'active' ,
paginationActive : 'active' ,
buttonActive : 'active'
} ,
html : {
dataToggle : 'data-bs-toggle' ,
toolbarDropdown : [ '<div class="dropdown-menu dropdown-menu-end">' , '</div>' ] ,
toolbarDropdownItem : '<label class="dropdown-item dropdown-item-marker">%s</label>' ,
pageDropdown : [ '<div class="dropdown-menu">' , '</div>' ] ,
pageDropdownItem : '<a class="dropdown-item %s" href="#">%s</a>' ,
toolbarDropdownSeparator : '<div class="dropdown-divider"></div>' ,
dropdownCaret : '<span class="caret"></span>' ,
pagination : [ '<ul class="pagination%s">' , '</ul>' ] ,
paginationItem : '<li class="page-item%s"><a class="page-link" aria-label="%s" href="javascript:void(0)">%s</a></li>' ,
icon : '<i class="%s %s"></i>' ,
inputGroup : '<div class="input-group">%s%s</div>' ,
searchInput : '<input class="%s%s" type="text" placeholder="%s">' ,
searchButton : '<button class="%s" type="button" name="search" title="%s">%s %s</button>' ,
searchClearButton : '<button class="%s" type="button" name="clearSearch" title="%s">%s %s</button>'
}
}
} [ bootstrapVersion ] ;
var DEFAULTS = {
height : undefined ,
classes : 'table table-bordered table-hover' ,
buttons : { } ,
theadClasses : '' ,
headerStyle : function headerStyle ( column ) {
return { } ;
} ,
rowStyle : function rowStyle ( row , index ) {
return { } ;
} ,
rowAttributes : function rowAttributes ( row , index ) {
return { } ;
} ,
undefinedText : '-' ,
locale : undefined ,
virtualScroll : false ,
virtualScrollItemHeight : undefined ,
sortable : true ,
sortClass : undefined ,
silentSort : true ,
sortEmptyLast : false ,
sortName : undefined ,
sortOrder : undefined ,
sortReset : false ,
sortStable : false ,
sortResetPage : false ,
rememberOrder : false ,
serverSort : true ,
customSort : undefined ,
columns : [ [ ] ] ,
data : [ ] ,
url : undefined ,
method : 'get' ,
cache : true ,
contentType : 'application/json' ,
dataType : 'json' ,
ajax : undefined ,
ajaxOptions : { } ,
queryParams : function queryParams ( params ) {
return params ;
} ,
queryParamsType : 'limit' ,
// 'limit', undefined
responseHandler : function responseHandler ( res ) {
return res ;
} ,
totalField : 'total' ,
totalNotFilteredField : 'totalNotFiltered' ,
dataField : 'rows' ,
footerField : 'footer' ,
pagination : false ,
paginationParts : [ 'pageInfo' , 'pageSize' , 'pageList' ] ,
showExtendedPagination : false ,
paginationLoop : true ,
sidePagination : 'client' ,
// client or server
totalRows : 0 ,
totalNotFiltered : 0 ,
pageNumber : 1 ,
pageSize : 10 ,
pageList : [ 10 , 25 , 50 , 100 ] ,
paginationHAlign : 'right' ,
// right, left
paginationVAlign : 'bottom' ,
// bottom, top, both
paginationDetailHAlign : 'left' ,
// right, left
paginationPreText : '‹' ,
paginationNextText : '›' ,
paginationSuccessivelySize : 5 ,
// Maximum successively number of pages in a row
paginationPagesBySide : 1 ,
// Number of pages on each side (right, left) of the current page.
paginationUseIntermediate : false ,
// Calculate intermediate pages for quick access
paginationLoadMore : false ,
search : false ,
searchable : false ,
searchHighlight : false ,
searchOnEnterKey : false ,
strictSearch : false ,
regexSearch : false ,
searchSelector : false ,
visibleSearch : false ,
showButtonIcons : true ,
showButtonText : false ,
showSearchButton : false ,
showSearchClearButton : false ,
trimOnSearch : true ,
searchAlign : 'right' ,
searchTimeOut : 500 ,
searchText : '' ,
customSearch : undefined ,
showHeader : true ,
showFooter : false ,
footerStyle : function footerStyle ( column ) {
return { } ;
} ,
searchAccentNeutralise : false ,
showColumns : false ,
showColumnsToggleAll : false ,
showColumnsSearch : false ,
minimumCountColumns : 1 ,
showPaginationSwitch : false ,
showRefresh : false ,
showToggle : false ,
showFullscreen : false ,
smartDisplay : true ,
escape : false ,
escapeTitle : true ,
filterOptions : {
filterAlgorithm : 'and'
} ,
idField : undefined ,
selectItemName : 'btSelectItem' ,
clickToSelect : false ,
ignoreClickToSelectOn : function ignoreClickToSelectOn ( _ref ) {
var tagName = _ref . tagName ;
return [ 'A' , 'BUTTON' ] . includes ( tagName ) ;
} ,
singleSelect : false ,
checkboxHeader : true ,
maintainMetaData : false ,
multipleSelectRow : false ,
uniqueId : undefined ,
cardView : false ,
detailView : false ,
detailViewIcon : true ,
detailViewByClick : false ,
detailViewAlign : 'left' ,
detailFormatter : function detailFormatter ( index , row ) {
return '' ;
} ,
detailFilter : function detailFilter ( index , row ) {
return true ;
} ,
toolbar : undefined ,
toolbarAlign : 'left' ,
buttonsToolbar : undefined ,
buttonsAlign : 'right' ,
buttonsOrder : [ 'paginationSwitch' , 'refresh' , 'toggle' , 'fullscreen' , 'columns' ] ,
buttonsPrefix : CONSTANTS . classes . buttonsPrefix ,
buttonsClass : CONSTANTS . classes . buttons ,
iconsPrefix : undefined ,
// init in initConstants
icons : { } ,
// init in initConstants
iconSize : undefined ,
fixedScroll : false ,
loadingFontSize : 'auto' ,
loadingTemplate : function loadingTemplate ( loadingMessage ) {
return "<span class=\"loading-wrap\">\n <span class=\"loading-text\">" . concat ( loadingMessage , "</span>\n <span class=\"animation-wrap\"><span class=\"animation-dot\"></span></span>\n </span>\n " ) ;
} ,
onAll : function onAll ( name , args ) {
return false ;
} ,
onClickCell : function onClickCell ( field , value , row , $element ) {
return false ;
} ,
onDblClickCell : function onDblClickCell ( field , value , row , $element ) {
return false ;
} ,
onClickRow : function onClickRow ( item , $element ) {
return false ;
} ,
onDblClickRow : function onDblClickRow ( item , $element ) {
return false ;
} ,
onSort : function onSort ( name , order ) {
return false ;
} ,
onCheck : function onCheck ( row ) {
return false ;
} ,
onUncheck : function onUncheck ( row ) {
return false ;
} ,
onCheckAll : function onCheckAll ( rows ) {
return false ;
} ,
onUncheckAll : function onUncheckAll ( rows ) {
return false ;
} ,
onCheckSome : function onCheckSome ( rows ) {
return false ;
} ,
onUncheckSome : function onUncheckSome ( rows ) {
return false ;
} ,
onLoadSuccess : function onLoadSuccess ( data ) {
return false ;
} ,
onLoadError : function onLoadError ( status ) {
return false ;
} ,
onColumnSwitch : function onColumnSwitch ( field , checked ) {
return false ;
} ,
onColumnSwitchAll : function onColumnSwitchAll ( checked ) {
return false ;
} ,
onPageChange : function onPageChange ( number , size ) {
return false ;
} ,
onSearch : function onSearch ( text ) {
return false ;
} ,
onToggle : function onToggle ( cardView ) {
return false ;
} ,
onPreBody : function onPreBody ( data ) {
return false ;
} ,
onPostBody : function onPostBody ( ) {
return false ;
} ,
onPostHeader : function onPostHeader ( ) {
return false ;
} ,
onPostFooter : function onPostFooter ( ) {
return false ;
} ,
onExpandRow : function onExpandRow ( index , row , $detail ) {
return false ;
} ,
onCollapseRow : function onCollapseRow ( index , row ) {
return false ;
} ,
onRefreshOptions : function onRefreshOptions ( options ) {
return false ;
} ,
onRefresh : function onRefresh ( params ) {
return false ;
} ,
onResetView : function onResetView ( ) {
return false ;
} ,
onScrollBody : function onScrollBody ( ) {
return false ;
} ,
onTogglePagination : function onTogglePagination ( newState ) {
return false ;
} ,
onVirtualScroll : function onVirtualScroll ( startIndex , endIndex ) {
return false ;
}
} ;
var EN = {
formatLoadingMessage : function formatLoadingMessage ( ) {
return 'Loading, please wait' ;
} ,
formatRecordsPerPage : function formatRecordsPerPage ( pageNumber ) {
return "" . concat ( pageNumber , " rows per page" ) ;
} ,
formatShowingRows : function formatShowingRows ( pageFrom , pageTo , totalRows , totalNotFiltered ) {
if ( totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows ) {
return "Showing " . concat ( pageFrom , " to " ) . concat ( pageTo , " of " ) . concat ( totalRows , " rows (filtered from " ) . concat ( totalNotFiltered , " total rows)" ) ;
}
return "Showing " . concat ( pageFrom , " to " ) . concat ( pageTo , " of " ) . concat ( totalRows , " rows" ) ;
} ,
formatSRPaginationPreText : function formatSRPaginationPreText ( ) {
return 'previous page' ;
} ,
formatSRPaginationPageText : function formatSRPaginationPageText ( page ) {
return "to page " . concat ( page ) ;
} ,
formatSRPaginationNextText : function formatSRPaginationNextText ( ) {
return 'next page' ;
} ,
formatDetailPagination : function formatDetailPagination ( totalRows ) {
return "Showing " . concat ( totalRows , " rows" ) ;
} ,
formatSearch : function formatSearch ( ) {
return 'Search' ;
} ,
formatClearSearch : function formatClearSearch ( ) {
return 'Clear Search' ;
} ,
formatNoMatches : function formatNoMatches ( ) {
return 'No matching records found' ;
} ,
formatPaginationSwitch : function formatPaginationSwitch ( ) {
return 'Hide/Show pagination' ;
} ,
formatPaginationSwitchDown : function formatPaginationSwitchDown ( ) {
return 'Show pagination' ;
} ,
formatPaginationSwitchUp : function formatPaginationSwitchUp ( ) {
return 'Hide pagination' ;
} ,
formatRefresh : function formatRefresh ( ) {
return 'Refresh' ;
} ,
formatToggleOn : function formatToggleOn ( ) {
return 'Show card view' ;
} ,
formatToggleOff : function formatToggleOff ( ) {
return 'Hide card view' ;
} ,
formatColumns : function formatColumns ( ) {
return 'Columns' ;
} ,
formatColumnsToggleAll : function formatColumnsToggleAll ( ) {
return 'Toggle all' ;
} ,
formatFullscreen : function formatFullscreen ( ) {
return 'Fullscreen' ;
} ,
formatAllRows : function formatAllRows ( ) {
return 'All' ;
}
} ;
var COLUMN _DEFAULTS = {
field : undefined ,
title : undefined ,
titleTooltip : undefined ,
class : undefined ,
width : undefined ,
widthUnit : 'px' ,
rowspan : undefined ,
colspan : undefined ,
align : undefined ,
// left, right, center
halign : undefined ,
// left, right, center
falign : undefined ,
// left, right, center
valign : undefined ,
// top, middle, bottom
cellStyle : undefined ,
radio : false ,
checkbox : false ,
checkboxEnabled : true ,
clickToSelect : true ,
showSelectTitle : false ,
sortable : false ,
sortName : undefined ,
order : 'asc' ,
// asc, desc
sorter : undefined ,
visible : true ,
switchable : true ,
switchableLabel : undefined ,
cardVisible : true ,
searchable : true ,
formatter : undefined ,
footerFormatter : undefined ,
footerStyle : undefined ,
detailFormatter : undefined ,
searchFormatter : true ,
searchHighlightFormatter : false ,
escape : undefined ,
events : undefined
} ;
var METHODS = [ 'getOptions' , 'refreshOptions' , 'getData' , 'getSelections' , 'load' , 'append' , 'prepend' , 'remove' , 'removeAll' , 'insertRow' , 'updateRow' , 'getRowByUniqueId' , 'updateByUniqueId' , 'removeByUniqueId' , 'updateCell' , 'updateCellByUniqueId' , 'showRow' , 'hideRow' , 'getHiddenRows' , 'showColumn' , 'hideColumn' , 'getVisibleColumns' , 'getHiddenColumns' , 'showAllColumns' , 'hideAllColumns' , 'mergeCells' , 'checkAll' , 'uncheckAll' , 'checkInvert' , 'check' , 'uncheck' , 'checkBy' , 'uncheckBy' , 'refresh' , 'destroy' , 'resetView' , 'showLoading' , 'hideLoading' , 'togglePagination' , 'toggleFullscreen' , 'toggleView' , 'resetSearch' , 'filterBy' , 'sortBy' , 'scrollTo' , 'getScrollPosition' , 'selectPage' , 'prevPage' , 'nextPage' , 'toggleDetailView' , 'expandRow' , 'collapseRow' , 'expandRowByUniqueId' , 'collapseRowByUniqueId' , 'expandAllRows' , 'collapseAllRows' , 'updateColumnTitle' , 'updateFormatText' ] ;
var EVENTS = {
'all.bs.table' : 'onAll' ,
'click-row.bs.table' : 'onClickRow' ,
'dbl-click-row.bs.table' : 'onDblClickRow' ,
'click-cell.bs.table' : 'onClickCell' ,
'dbl-click-cell.bs.table' : 'onDblClickCell' ,
'sort.bs.table' : 'onSort' ,
'check.bs.table' : 'onCheck' ,
'uncheck.bs.table' : 'onUncheck' ,
'check-all.bs.table' : 'onCheckAll' ,
'uncheck-all.bs.table' : 'onUncheckAll' ,
'check-some.bs.table' : 'onCheckSome' ,
'uncheck-some.bs.table' : 'onUncheckSome' ,
'load-success.bs.table' : 'onLoadSuccess' ,
'load-error.bs.table' : 'onLoadError' ,
'column-switch.bs.table' : 'onColumnSwitch' ,
'column-switch-all.bs.table' : 'onColumnSwitchAll' ,
'page-change.bs.table' : 'onPageChange' ,
'search.bs.table' : 'onSearch' ,
'toggle.bs.table' : 'onToggle' ,
'pre-body.bs.table' : 'onPreBody' ,
'post-body.bs.table' : 'onPostBody' ,
'post-header.bs.table' : 'onPostHeader' ,
'post-footer.bs.table' : 'onPostFooter' ,
'expand-row.bs.table' : 'onExpandRow' ,
'collapse-row.bs.table' : 'onCollapseRow' ,
'refresh-options.bs.table' : 'onRefreshOptions' ,
'reset-view.bs.table' : 'onResetView' ,
'refresh.bs.table' : 'onRefresh' ,
'scroll-body.bs.table' : 'onScrollBody' ,
'toggle-pagination.bs.table' : 'onTogglePagination' ,
'virtual-scroll.bs.table' : 'onVirtualScroll'
} ;
Object . assign ( DEFAULTS , EN ) ;
var Constants = {
VERSION : VERSION ,
THEME : "bootstrap" . concat ( bootstrapVersion ) ,
CONSTANTS : CONSTANTS ,
DEFAULTS : DEFAULTS ,
COLUMN _DEFAULTS : COLUMN _DEFAULTS ,
METHODS : METHODS ,
EVENTS : EVENTS ,
LOCALES : {
en : EN ,
'en-US' : EN
}
} ;
var BLOCK _ROWS = 50 ;
var CLUSTER _BLOCKS = 4 ;
var VirtualScroll = /*#__PURE__*/ function ( ) {
function VirtualScroll ( options ) {
var _this = this ;
_classCallCheck ( this , VirtualScroll ) ;
this . rows = options . rows ;
this . scrollEl = options . scrollEl ;
this . contentEl = options . contentEl ;
this . callback = options . callback ;
this . itemHeight = options . itemHeight ;
this . cache = { } ;
this . scrollTop = this . scrollEl . scrollTop ;
this . initDOM ( this . rows , options . fixedScroll ) ;
this . scrollEl . scrollTop = this . scrollTop ;
this . lastCluster = 0 ;
var onScroll = function onScroll ( ) {
if ( _this . lastCluster !== ( _this . lastCluster = _this . getNum ( ) ) ) {
_this . initDOM ( _this . rows ) ;
_this . callback ( _this . startIndex , _this . endIndex ) ;
}
} ;
this . scrollEl . addEventListener ( 'scroll' , onScroll , false ) ;
this . destroy = function ( ) {
_this . contentEl . innerHtml = '' ;
_this . scrollEl . removeEventListener ( 'scroll' , onScroll , false ) ;
} ;
}
return _createClass ( VirtualScroll , [ {
key : "initDOM" ,
value : function initDOM ( rows , fixedScroll ) {
if ( typeof this . clusterHeight === 'undefined' ) {
this . cache . scrollTop = this . scrollEl . scrollTop ;
this . cache . data = this . contentEl . innerHTML = rows [ 0 ] + rows [ 0 ] + rows [ 0 ] ;
this . getRowsHeight ( rows ) ;
} else if ( this . blockHeight === 0 ) {
this . getRowsHeight ( rows ) ;
}
var data = this . initData ( rows , this . getNum ( fixedScroll ) ) ;
var thisRows = data . rows . join ( '' ) ;
var dataChanged = this . checkChanges ( 'data' , thisRows ) ;
var topOffsetChanged = this . checkChanges ( 'top' , data . topOffset ) ;
var bottomOffsetChanged = this . checkChanges ( 'bottom' , data . bottomOffset ) ;
var html = [ ] ;
if ( dataChanged && topOffsetChanged ) {
if ( data . topOffset ) {
html . push ( this . getExtra ( 'top' , data . topOffset ) ) ;
}
html . push ( thisRows ) ;
if ( data . bottomOffset ) {
html . push ( this . getExtra ( 'bottom' , data . bottomOffset ) ) ;
}
this . startIndex = data . start ;
this . endIndex = data . end ;
this . contentEl . innerHTML = html . join ( '' ) ;
if ( fixedScroll ) {
this . contentEl . scrollTop = this . cache . scrollTop ;
}
} else if ( bottomOffsetChanged ) {
this . contentEl . lastChild . style . height = "" . concat ( data . bottomOffset , "px" ) ;
}
}
} , {
key : "getRowsHeight" ,
value : function getRowsHeight ( ) {
if ( typeof this . itemHeight === 'undefined' || this . itemHeight === 0 ) {
var nodes = this . contentEl . children ;
var node = nodes [ Math . floor ( nodes . length / 2 ) ] ;
this . itemHeight = node . offsetHeight ;
}
this . blockHeight = this . itemHeight * BLOCK _ROWS ;
this . clusterRows = BLOCK _ROWS * CLUSTER _BLOCKS ;
this . clusterHeight = this . blockHeight * CLUSTER _BLOCKS ;
}
} , {
key : "getNum" ,
value : function getNum ( fixedScroll ) {
this . scrollTop = fixedScroll ? this . cache . scrollTop : this . scrollEl . scrollTop ;
return Math . floor ( this . scrollTop / ( this . clusterHeight - this . blockHeight ) ) || 0 ;
}
} , {
key : "initData" ,
value : function initData ( rows , num ) {
if ( rows . length < BLOCK _ROWS ) {
return {
topOffset : 0 ,
bottomOffset : 0 ,
rowsAbove : 0 ,
rows : rows
} ;
}
var start = Math . max ( ( this . clusterRows - BLOCK _ROWS ) * num , 0 ) ;
var end = start + this . clusterRows ;
var topOffset = Math . max ( start * this . itemHeight , 0 ) ;
var bottomOffset = Math . max ( ( rows . length - end ) * this . itemHeight , 0 ) ;
var thisRows = [ ] ;
var rowsAbove = start ;
if ( topOffset < 1 ) {
rowsAbove ++ ;
}
for ( var i = start ; i < end ; i ++ ) {
rows [ i ] && thisRows . push ( rows [ i ] ) ;
}
return {
start : start ,
end : end ,
topOffset : topOffset ,
bottomOffset : bottomOffset ,
rowsAbove : rowsAbove ,
rows : thisRows
} ;
}
} , {
key : "checkChanges" ,
value : function checkChanges ( type , value ) {
var changed = value !== this . cache [ type ] ;
this . cache [ type ] = value ;
return changed ;
}
} , {
key : "getExtra" ,
value : function getExtra ( className , height ) {
var tag = document . createElement ( 'tr' ) ;
tag . className = "virtual-scroll-" . concat ( className ) ;
if ( height ) {
tag . style . height = "" . concat ( height , "px" ) ;
}
return tag . outerHTML ;
}
} ] ) ;
} ( ) ;
var BootstrapTable = /*#__PURE__*/ function ( ) {
function BootstrapTable ( el , options ) {
_classCallCheck ( this , BootstrapTable ) ;
this . options = options ;
this . $el = $ ( el ) ;
this . $el _ = this . $el . clone ( ) ;
this . timeoutId _ = 0 ;
this . timeoutFooter _ = 0 ;
}
return _createClass ( BootstrapTable , [ {
key : "init" ,
value : function init ( ) {
this . initConstants ( ) ;
this . initLocale ( ) ;
this . initContainer ( ) ;
this . initTable ( ) ;
this . initHeader ( ) ;
this . initData ( ) ;
this . initHiddenRows ( ) ;
this . initToolbar ( ) ;
this . initPagination ( ) ;
this . initBody ( ) ;
this . initSearchText ( ) ;
this . initServer ( ) ;
}
} , {
key : "initConstants" ,
value : function initConstants ( ) {
var opts = this . options ;
this . constants = Constants . CONSTANTS ;
this . constants . theme = $ . fn . bootstrapTable . theme ;
this . constants . dataToggle = this . constants . html . dataToggle || 'data-toggle' ;
// init iconsPrefix and icons
var iconsPrefix = Utils . getIconsPrefix ( $ . fn . bootstrapTable . theme ) ;
if ( typeof opts . icons === 'string' ) {
opts . icons = Utils . calculateObjectValue ( null , opts . icons ) ;
}
opts . iconsPrefix = opts . iconsPrefix || $ . fn . bootstrapTable . defaults . iconsPrefix || iconsPrefix ;
opts . icons = Object . assign ( Utils . getIcons ( opts . iconsPrefix ) , $ . fn . bootstrapTable . defaults . icons , opts . icons ) ;
// init buttons class
var buttonsPrefix = opts . buttonsPrefix ? "" . concat ( opts . buttonsPrefix , "-" ) : '' ;
this . constants . buttonsClass = [ opts . buttonsPrefix , buttonsPrefix + opts . buttonsClass , Utils . sprintf ( "" . concat ( buttonsPrefix , "%s" ) , opts . iconSize ) ] . join ( ' ' ) . trim ( ) ;
this . buttons = Utils . calculateObjectValue ( this , opts . buttons , [ ] , { } ) ;
if ( _typeof ( this . buttons ) !== 'object' ) {
this . buttons = { } ;
}
}
} , {
key : "initLocale" ,
value : function initLocale ( ) {
if ( this . options . locale ) {
var locales = $ . fn . bootstrapTable . locales ;
var parts = this . options . locale . split ( /-|_/ ) ;
parts [ 0 ] = parts [ 0 ] . toLowerCase ( ) ;
if ( parts [ 1 ] ) {
parts [ 1 ] = parts [ 1 ] . toUpperCase ( ) ;
}
var localesToExtend = { } ;
if ( locales [ this . options . locale ] ) {
localesToExtend = locales [ this . options . locale ] ;
} else if ( locales [ parts . join ( '-' ) ] ) {
localesToExtend = locales [ parts . join ( '-' ) ] ;
} else if ( locales [ parts [ 0 ] ] ) {
localesToExtend = locales [ parts [ 0 ] ] ;
}
this . _defaultLocales = this . _defaultLocales || { } ;
for ( var _i = 0 , _Object$entries = Object . entries ( localesToExtend ) ; _i < _Object$entries . length ; _i ++ ) {
var _Object$entries$ _i = _slicedToArray ( _Object$entries [ _i ] , 2 ) ,
formatName = _Object$entries$ _i [ 0 ] ,
func = _Object$entries$ _i [ 1 ] ;
var defaultLocale = this . _defaultLocales . hasOwnProperty ( formatName ) ? this . _defaultLocales [ formatName ] : BootstrapTable . DEFAULTS [ formatName ] ;
if ( this . options [ formatName ] !== defaultLocale ) {
continue ;
}
this . options [ formatName ] = func ;
this . _defaultLocales [ formatName ] = func ;
}
}
}
} , {
key : "initContainer" ,
value : function initContainer ( ) {
var topPagination = [ 'top' , 'both' ] . includes ( this . options . paginationVAlign ) ? '<div class="fixed-table-pagination clearfix"></div>' : '' ;
var bottomPagination = [ 'bottom' , 'both' ] . includes ( this . options . paginationVAlign ) ? '<div class="fixed-table-pagination"></div>' : '' ;
var loadingTemplate = Utils . calculateObjectValue ( this . options , this . options . loadingTemplate , [ this . options . formatLoadingMessage ( ) ] ) ;
this . $container = $ ( "\n <div class=\"bootstrap-table " . concat ( this . constants . theme , "\">\n <div class=\"fixed-table-toolbar\"></div>\n " ) . concat ( topPagination , "\n <div class=\"fixed-table-container\">\n <div class=\"fixed-table-header\"><table></table></div>\n <div class=\"fixed-table-body\">\n <div class=\"fixed-table-loading\">\n " ) . concat ( loadingTemplate , "\n </div>\n </div>\n <div class=\"fixed-table-footer\"></div>\n </div>\n " ) . concat ( bottomPagination , "\n </div>\n " ) ) ;
this . $container . insertAfter ( this . $el ) ;
this . $tableContainer = this . $container . find ( '.fixed-table-container' ) ;
this . $tableHeader = this . $container . find ( '.fixed-table-header' ) ;
this . $tableBody = this . $container . find ( '.fixed-table-body' ) ;
this . $tableLoading = this . $container . find ( '.fixed-table-loading' ) ;
this . $tableFooter = this . $el . find ( 'tfoot' ) ;
// checking if custom table-toolbar exists or not
if ( this . options . buttonsToolbar ) {
this . $toolbar = $ ( 'body' ) . find ( this . options . buttonsToolbar ) ;
} else {
this . $toolbar = this . $container . find ( '.fixed-table-toolbar' ) ;
}
this . $pagination = this . $container . find ( '.fixed-table-pagination' ) ;
this . $tableBody . append ( this . $el ) ;
this . $container . after ( '<div class="clearfix"></div>' ) ;
this . $el . addClass ( this . options . classes ) ;
this . $tableLoading . addClass ( this . options . classes ) ;
if ( this . options . height ) {
this . $tableContainer . addClass ( 'fixed-height' ) ;
if ( this . options . showFooter ) {
this . $tableContainer . addClass ( 'has-footer' ) ;
}
if ( this . options . classes . split ( ' ' ) . includes ( 'table-bordered' ) ) {
this . $tableBody . append ( '<div class="fixed-table-border"></div>' ) ;
this . $tableBorder = this . $tableBody . find ( '.fixed-table-border' ) ;
this . $tableLoading . addClass ( 'fixed-table-border' ) ;
}
this . $tableFooter = this . $container . find ( '.fixed-table-footer' ) ;
}
}
} , {
key : "initTable" ,
value : function initTable ( ) {
var _this = this ;
var columns = [ ] ;
this . $header = this . $el . find ( '>thead' ) ;
if ( ! this . $header . length ) {
this . $header = $ ( "<thead class=\"" . concat ( this . options . theadClasses , "\"></thead>" ) ) . appendTo ( this . $el ) ;
} else if ( this . options . theadClasses ) {
this . $header . addClass ( this . options . theadClasses ) ;
}
this . _headerTrClasses = [ ] ;
this . _headerTrStyles = [ ] ;
this . $header . find ( 'tr' ) . each ( function ( i , el ) {
var $tr = $ ( el ) ;
var column = [ ] ;
$tr . find ( 'th' ) . each ( function ( i , el ) {
var $th = $ ( el ) ;
// #2014: getFieldIndex and elsewhere assume this is string, causes issues if not
if ( typeof $th . data ( 'field' ) !== 'undefined' ) {
$th . data ( 'field' , "" . concat ( $th . data ( 'field' ) ) ) ;
}
var _data = Object . assign ( { } , $th . data ( ) ) ;
for ( var key in _data ) {
if ( $ . fn . bootstrapTable . columnDefaults . hasOwnProperty ( key ) ) {
delete _data [ key ] ;
}
}
column . push ( Utils . extend ( { } , {
_data : Utils . getRealDataAttr ( _data ) ,
title : $th . html ( ) ,
class : $th . attr ( 'class' ) ,
titleTooltip : $th . attr ( 'title' ) ,
rowspan : $th . attr ( 'rowspan' ) ? + $th . attr ( 'rowspan' ) : undefined ,
colspan : $th . attr ( 'colspan' ) ? + $th . attr ( 'colspan' ) : undefined
} , $th . data ( ) ) ) ;
} ) ;
columns . push ( column ) ;
if ( $tr . attr ( 'class' ) ) {
_this . _headerTrClasses . push ( $tr . attr ( 'class' ) ) ;
}
if ( $tr . attr ( 'style' ) ) {
_this . _headerTrStyles . push ( $tr . attr ( 'style' ) ) ;
}
} ) ;
if ( ! Array . isArray ( this . options . columns [ 0 ] ) ) {
this . options . columns = [ this . options . columns ] ;
}
this . options . columns = Utils . extend ( true , [ ] , columns , this . options . columns ) ;
this . columns = [ ] ;
this . fieldsColumnsIndex = [ ] ;
Utils . setFieldIndex ( this . options . columns ) ;
this . options . columns . forEach ( function ( columns , i ) {
columns . forEach ( function ( _column , j ) {
var column = Utils . extend ( { } , BootstrapTable . COLUMN _DEFAULTS , _column , {
passed : _column
} ) ;
if ( typeof column . fieldIndex !== 'undefined' ) {
_this . columns [ column . fieldIndex ] = column ;
_this . fieldsColumnsIndex [ column . field ] = column . fieldIndex ;
}
_this . options . columns [ i ] [ j ] = column ;
} ) ;
} ) ;
// if options.data is setting, do not process tbody and tfoot data
if ( ! this . options . data . length ) {
var htmlData = Utils . trToData ( this . columns , this . $el . find ( '>tbody>tr' ) ) ;
if ( htmlData . length ) {
this . options . data = htmlData ;
this . fromHtml = true ;
}
}
if ( ! ( this . options . pagination && this . options . sidePagination !== 'server' ) ) {
this . footerData = Utils . trToData ( this . columns , this . $el . find ( '>tfoot>tr' ) ) ;
}
if ( this . footerData ) {
this . $el . find ( 'tfoot' ) . html ( '<tr></tr>' ) ;
}
if ( ! this . options . showFooter || this . options . cardView ) {
this . $tableFooter . hide ( ) ;
} else {
this . $tableFooter . show ( ) ;
}
}
} , {
key : "initHeader" ,
value : function initHeader ( ) {
var _this2 = this ;
var visibleColumns = { } ;
var headerHtml = [ ] ;
this . header = {
fields : [ ] ,
styles : [ ] ,
classes : [ ] ,
formatters : [ ] ,
detailFormatters : [ ] ,
events : [ ] ,
sorters : [ ] ,
sortNames : [ ] ,
cellStyles : [ ] ,
searchables : [ ]
} ;
Utils . updateFieldGroup ( this . options . columns , this . columns ) ;
this . options . columns . forEach ( function ( columns , i ) {
var html = [ ] ;
html . push ( "<tr" . concat ( Utils . sprintf ( ' class="%s"' , _this2 . _headerTrClasses [ i ] ) , " " ) . concat ( Utils . sprintf ( ' style="%s"' , _this2 . _headerTrStyles [ i ] ) , ">" ) ) ;
var detailViewTemplate = '' ;
if ( i === 0 && Utils . hasDetailViewIcon ( _this2 . options ) ) {
var rowspan = _this2 . options . columns . length > 1 ? " rowspan=\"" . concat ( _this2 . options . columns . length , "\"" ) : '' ;
detailViewTemplate = "<th class=\"detail\"" . concat ( rowspan , ">\n <div class=\"fht-cell\"></div>\n </th>" ) ;
}
if ( detailViewTemplate && _this2 . options . detailViewAlign !== 'right' ) {
html . push ( detailViewTemplate ) ;
}
columns . forEach ( function ( column , j ) {
var class _ = Utils . sprintf ( ' class="%s"' , column [ 'class' ] ) ;
var unitWidth = column . widthUnit ;
var width = parseFloat ( column . width ) ;
var columnHalign = column . halign ? column . halign : column . align ;
var halign = Utils . sprintf ( 'text-align: %s; ' , columnHalign ) ;
var align = Utils . sprintf ( 'text-align: %s; ' , column . align ) ;
var style = Utils . sprintf ( 'vertical-align: %s; ' , column . valign ) ;
style += Utils . sprintf ( 'width: %s; ' , ( column . checkbox || column . radio ) && ! width ? ! column . showSelectTitle ? '36px' : undefined : width ? width + unitWidth : undefined ) ;
if ( typeof column . fieldIndex === 'undefined' && ! column . visible ) {
return ;
}
var headerStyle = Utils . calculateObjectValue ( null , _this2 . options . headerStyle , [ column ] ) ;
var csses = [ ] ;
var data _ = [ ] ;
var classes = '' ;
if ( headerStyle && headerStyle . css ) {
for ( var _i2 = 0 , _Object$entries2 = Object . entries ( headerStyle . css ) ; _i2 < _Object$entries2 . length ; _i2 ++ ) {
var _Object$entries2$ _i = _slicedToArray ( _Object$entries2 [ _i2 ] , 2 ) ,
key = _Object$entries2$ _i [ 0 ] ,
value = _Object$entries2$ _i [ 1 ] ;
csses . push ( "" . concat ( key , ": " ) . concat ( value ) ) ;
}
}
if ( headerStyle && headerStyle . classes ) {
classes = Utils . sprintf ( ' class="%s"' , column [ 'class' ] ? [ column [ 'class' ] , headerStyle . classes ] . join ( ' ' ) : headerStyle . classes ) ;
}
if ( typeof column . fieldIndex !== 'undefined' ) {
_this2 . header . fields [ column . fieldIndex ] = column . field ;
_this2 . header . styles [ column . fieldIndex ] = align + style ;
_this2 . header . classes [ column . fieldIndex ] = class _ ;
_this2 . header . formatters [ column . fieldIndex ] = column . formatter ;
_this2 . header . detailFormatters [ column . fieldIndex ] = column . detailFormatter ;
_this2 . header . events [ column . fieldIndex ] = column . events ;
_this2 . header . sorters [ column . fieldIndex ] = column . sorter ;
_this2 . header . sortNames [ column . fieldIndex ] = column . sortName ;
_this2 . header . cellStyles [ column . fieldIndex ] = column . cellStyle ;
_this2 . header . searchables [ column . fieldIndex ] = column . searchable ;
if ( ! column . visible ) {
return ;
}
if ( _this2 . options . cardView && ! column . cardVisible ) {
return ;
}
visibleColumns [ column . field ] = column ;
}
if ( Object . keys ( column . _data || { } ) . length > 0 ) {
for ( var _i3 = 0 , _Object$entries3 = Object . entries ( column . _data ) ; _i3 < _Object$entries3 . length ; _i3 ++ ) {
var _Object$entries3$ _i = _slicedToArray ( _Object$entries3 [ _i3 ] , 2 ) ,
k = _Object$entries3$ _i [ 0 ] ,
v = _Object$entries3$ _i [ 1 ] ;
data _ . push ( "data-" . concat ( k , "='" ) . concat ( _typeof ( v ) === 'object' ? JSON . stringify ( v ) : v , "'" ) ) ;
}
}
html . push ( "<th" . concat ( Utils . sprintf ( ' title="%s"' , column . titleTooltip ) ) , column . checkbox || column . radio ? Utils . sprintf ( ' class="bs-checkbox %s"' , column [ 'class' ] || '' ) : classes || class _ , Utils . sprintf ( ' style="%s"' , halign + style + csses . join ( '; ' ) || undefined ) , Utils . sprintf ( ' rowspan="%s"' , column . rowspan ) , Utils . sprintf ( ' colspan="%s"' , column . colspan ) , Utils . sprintf ( ' data-field="%s"' , column . field ) ,
// If `column` is not the first element of `this.options.columns[0]`, then className 'data-not-first-th' should be added.
j === 0 && i > 0 ? ' data-not-first-th' : '' , data _ . length > 0 ? data _ . join ( ' ' ) : '' , '>' ) ;
html . push ( Utils . sprintf ( '<div class="th-inner %s">' , _this2 . options . sortable && column . sortable ? "sortable" . concat ( columnHalign === 'center' ? ' sortable-center' : '' , " both" ) : '' ) ) ;
var text = _this2 . options . escape && _this2 . options . escapeTitle ? Utils . escapeHTML ( column . title ) : column . title ;
var title = text ;
if ( column . checkbox ) {
text = '' ;
if ( ! _this2 . options . singleSelect && _this2 . options . checkboxHeader ) {
text = '<label><input name="btSelectAll" type="checkbox" /><span></span></label>' ;
}
_this2 . header . stateField = column . field ;
}
if ( column . radio ) {
text = '' ;
_this2 . header . stateField = column . field ;
}
if ( ! text && column . showSelectTitle ) {
text += title ;
}
html . push ( text ) ;
html . push ( '</div>' ) ;
html . push ( '<div class="fht-cell"></div>' ) ;
html . push ( '</div>' ) ;
html . push ( '</th>' ) ;
} ) ;
if ( detailViewTemplate && _this2 . options . detailViewAlign === 'right' ) {
html . push ( detailViewTemplate ) ;
}
html . push ( '</tr>' ) ;
if ( html . length > 3 ) {
headerHtml . push ( html . join ( '' ) ) ;
}
} ) ;
this . $header . html ( headerHtml . join ( '' ) ) ;
this . $header . find ( 'th[data-field]' ) . each ( function ( i , el ) {
$ ( el ) . data ( visibleColumns [ $ ( el ) . data ( 'field' ) ] ) ;
} ) ;
this . $container . off ( 'click' , '.th-inner' ) . on ( 'click' , '.th-inner' , function ( e ) {
var $this = $ ( e . currentTarget ) ;
if ( _this2 . options . detailView && ! $this . parent ( ) . hasClass ( 'bs-checkbox' ) ) {
if ( $this . closest ( '.bootstrap-table' ) [ 0 ] !== _this2 . $container [ 0 ] ) {
return false ;
}
}
if ( _this2 . options . sortable && $this . parent ( ) . data ( ) . sortable ) {
_this2 . onSort ( e ) ;
}
} ) ;
var resizeEvent = Utils . getEventName ( 'resize.bootstrap-table' , this . $el . attr ( 'id' ) ) ;
$ ( window ) . off ( resizeEvent ) ;
if ( ! this . options . showHeader || this . options . cardView ) {
this . $header . hide ( ) ;
this . $tableHeader . hide ( ) ;
this . $tableLoading . css ( 'top' , 0 ) ;
} else {
this . $header . show ( ) ;
this . $tableHeader . show ( ) ;
this . $tableLoading . css ( 'top' , this . $header . outerHeight ( ) + 1 ) ;
// Assign the correct sortable arrow
this . getCaret ( ) ;
$ ( window ) . on ( resizeEvent , function ( ) {
return _this2 . resetView ( ) ;
} ) ;
}
this . $selectAll = this . $header . find ( '[name="btSelectAll"]' ) ;
this . $selectAll . off ( 'click' ) . on ( 'click' , function ( e ) {
e . stopPropagation ( ) ;
var checked = $ ( e . currentTarget ) . prop ( 'checked' ) ;
_this2 [ checked ? 'checkAll' : 'uncheckAll' ] ( ) ;
_this2 . updateSelected ( ) ;
} ) ;
}
} , {
key : "initData" ,
value : function initData ( data , type ) {
if ( type === 'append' ) {
this . options . data = this . options . data . concat ( data ) ;
} else if ( type === 'prepend' ) {
this . options . data = [ ] . concat ( data ) . concat ( this . options . data ) ;
} else {
data = data || Utils . deepCopy ( this . options . data ) ;
this . options . data = Array . isArray ( data ) ? data : data [ this . options . dataField ] ;
}
this . data = _toConsumableArray ( this . options . data ) ;
if ( this . options . sortReset ) {
this . unsortedData = _toConsumableArray ( this . data ) ;
}
if ( this . options . sidePagination === 'server' ) {
return ;
}
this . initSort ( ) ;
}
} , {
key : "initSort" ,
value : function initSort ( ) {
var _this3 = this ;
var name = this . options . sortName ;
var order = this . options . sortOrder === 'desc' ? - 1 : 1 ;
var index = this . header . fields . indexOf ( this . options . sortName ) ;
var timeoutId = 0 ;
if ( index !== - 1 ) {
if ( this . options . sortStable ) {
this . data . forEach ( function ( row , i ) {
if ( ! row . hasOwnProperty ( '_position' ) ) {
row . _position = i ;
}
} ) ;
}
if ( this . options . customSort ) {
Utils . calculateObjectValue ( this . options , this . options . customSort , [ this . options . sortName , this . options . sortOrder , this . data ] ) ;
} else {
this . data . sort ( function ( a , b ) {
if ( _this3 . header . sortNames [ index ] ) {
name = _this3 . header . sortNames [ index ] ;
}
var aa = Utils . getItemField ( a , name , _this3 . options . escape ) ;
var bb = Utils . getItemField ( b , name , _this3 . options . escape ) ;
var value = Utils . calculateObjectValue ( _this3 . header , _this3 . header . sorters [ index ] , [ aa , bb , a , b ] ) ;
if ( value !== undefined ) {
if ( _this3 . options . sortStable && value === 0 ) {
return order * ( a . _position - b . _position ) ;
}
return order * value ;
}
return Utils . sort ( aa , bb , order , _this3 . options , a . _position , b . _position ) ;
} ) ;
}
if ( this . options . sortClass !== undefined ) {
clearTimeout ( timeoutId ) ;
timeoutId = setTimeout ( function ( ) {
_this3 . $el . removeClass ( _this3 . options . sortClass ) ;
var index = _this3 . $header . find ( "[data-field=\"" . concat ( _this3 . options . sortName , "\"]" ) ) . index ( ) ;
_this3 . $el . find ( "tr td:nth-child(" . concat ( index + 1 , ")" ) ) . addClass ( _this3 . options . sortClass ) ;
} , 250 ) ;
}
} else if ( this . options . sortReset ) {
this . data = _toConsumableArray ( this . unsortedData ) ;
}
}
} , {
key : "sortBy" ,
value : function sortBy ( params ) {
this . options . sortName = params . field ;
this . options . sortOrder = params . hasOwnProperty ( 'sortOrder' ) ? params . sortOrder : 'asc' ;
this . _sort ( ) ;
}
} , {
key : "onSort" ,
value : function onSort ( _ref ) {
var type = _ref . type ,
currentTarget = _ref . currentTarget ;
var $this = type === 'keypress' ? $ ( currentTarget ) : $ ( currentTarget ) . parent ( ) ;
var $this _ = this . $header . find ( 'th' ) . eq ( $this . index ( ) ) ;
this . $header . add ( this . $header _ ) . find ( 'span.order' ) . remove ( ) ;
if ( this . options . sortName === $this . data ( 'field' ) ) {
var currentSortOrder = this . options . sortOrder ;
var initialSortOrder = this . columns [ this . fieldsColumnsIndex [ $this . data ( 'field' ) ] ] . sortOrder || this . columns [ this . fieldsColumnsIndex [ $this . data ( 'field' ) ] ] . order ;
if ( currentSortOrder === undefined ) {
this . options . sortOrder = 'asc' ;
} else if ( currentSortOrder === 'asc' ) {
this . options . sortOrder = this . options . sortReset ? initialSortOrder === 'asc' ? 'desc' : undefined : 'desc' ;
} else if ( this . options . sortOrder === 'desc' ) {
this . options . sortOrder = this . options . sortReset ? initialSortOrder === 'desc' ? 'asc' : undefined : 'asc' ;
}
if ( this . options . sortOrder === undefined ) {
this . options . sortName = undefined ;
}
} else {
this . options . sortName = $this . data ( 'field' ) ;
if ( this . options . rememberOrder ) {
this . options . sortOrder = $this . data ( 'order' ) === 'asc' ? 'desc' : 'asc' ;
} else {
this . options . sortOrder = this . columns [ this . fieldsColumnsIndex [ $this . data ( 'field' ) ] ] . sortOrder || this . columns [ this . fieldsColumnsIndex [ $this . data ( 'field' ) ] ] . order ;
}
}
$this . add ( $this _ ) . data ( 'order' , this . options . sortOrder ) ;
// Assign the correct sortable arrow
this . getCaret ( ) ;
this . _sort ( ) ;
}
} , {
key : "_sort" ,
value : function _sort ( ) {
if ( this . options . sidePagination === 'server' && this . options . serverSort ) {
this . options . pageNumber = 1 ;
this . trigger ( 'sort' , this . options . sortName , this . options . sortOrder ) ;
this . initServer ( this . options . silentSort ) ;
return ;
}
if ( this . options . pagination && this . options . sortResetPage ) {
this . options . pageNumber = 1 ;
this . initPagination ( ) ;
}
this . trigger ( 'sort' , this . options . sortName , this . options . sortOrder ) ;
this . initSort ( ) ;
this . initBody ( ) ;
}
} , {
key : "initToolbar" ,
value : function initToolbar ( ) {
var _this4 = this ;
var opts = this . options ;
var html = [ ] ;
var timeoutId = 0 ;
var $keepOpen ;
var switchableCount = 0 ;
if ( this . $toolbar . find ( '.bs-bars' ) . children ( ) . length ) {
$ ( 'body' ) . append ( $ ( opts . toolbar ) ) ;
}
this . $toolbar . html ( '' ) ;
if ( typeof opts . toolbar === 'string' || _typeof ( opts . toolbar ) === 'object' ) {
$ ( Utils . sprintf ( '<div class="bs-bars %s-%s"></div>' , this . constants . classes . pull , opts . toolbarAlign ) ) . appendTo ( this . $toolbar ) . append ( $ ( opts . toolbar ) ) ;
}
// showColumns, showToggle, showRefresh
html = [ "<div class=\"" . concat ( [ 'columns' , "columns-" . concat ( opts . buttonsAlign ) , this . constants . classes . buttonsGroup , "" . concat ( this . constants . classes . pull , "-" ) . concat ( opts . buttonsAlign ) ] . join ( ' ' ) , "\">" ) ] ;
if ( typeof opts . buttonsOrder === 'string' ) {
opts . buttonsOrder = opts . buttonsOrder . replace ( /\[|\]| |'/g , '' ) . split ( ',' ) ;
}
this . buttons = Object . assign ( this . buttons , {
paginationSwitch : {
text : opts . pagination ? opts . formatPaginationSwitchUp ( ) : opts . formatPaginationSwitchDown ( ) ,
icon : opts . pagination ? opts . icons . paginationSwitchDown : opts . icons . paginationSwitchUp ,
render : false ,
event : this . togglePagination ,
attributes : {
'aria-label' : opts . formatPaginationSwitch ( ) ,
title : opts . formatPaginationSwitch ( )
}
} ,
refresh : {
text : opts . formatRefresh ( ) ,
icon : opts . icons . refresh ,
render : false ,
event : this . refresh ,
attributes : {
'aria-label' : opts . formatRefresh ( ) ,
title : opts . formatRefresh ( )
}
} ,
toggle : {
text : opts . formatToggleOn ( ) ,
icon : opts . icons . toggleOff ,
render : false ,
event : this . toggleView ,
attributes : {
'aria-label' : opts . formatToggleOn ( ) ,
title : opts . formatToggleOn ( )
}
} ,
fullscreen : {
text : opts . formatFullscreen ( ) ,
icon : opts . icons . fullscreen ,
render : false ,
event : this . toggleFullscreen ,
attributes : {
'aria-label' : opts . formatFullscreen ( ) ,
title : opts . formatFullscreen ( )
}
} ,
columns : {
render : false ,
html : function html ( ) {
var html = [ ] ;
html . push ( "<div class=\"keep-open " . concat ( _this4 . constants . classes . buttonsDropdown , "\">\n <button class=\"" ) . concat ( _this4 . constants . buttonsClass , " dropdown-toggle\" type=\"button\" " ) . concat ( _this4 . constants . dataToggle , "=\"dropdown\"\n aria-label=\"" ) . concat ( opts . formatColumns ( ) , "\" title=\"" ) . concat ( opts . formatColumns ( ) , "\">\n " ) . concat ( opts . showButtonIcons ? Utils . sprintf ( _this4 . constants . html . icon , opts . iconsPrefix , opts . icons . columns ) : '' , "\n " ) . concat ( opts . showButtonText ? opts . formatColumns ( ) : '' , "\n " ) . concat ( _this4 . constants . html . dropdownCaret , "\n </button>\n " ) . concat ( _this4 . constants . html . toolbarDropdown [ 0 ] ) ) ;
if ( opts . showColumnsSearch ) {
html . push ( Utils . sprintf ( _this4 . constants . html . toolbarDropdownItem , Utils . sprintf ( '<input type="text" class="%s" name="columnsSearch" placeholder="%s" autocomplete="off">' , _this4 . constants . classes . input , opts . formatSearch ( ) ) ) ) ;
html . push ( _this4 . constants . html . toolbarDropdownSeparator ) ;
}
if ( opts . showColumnsToggleAll ) {
var allFieldsVisible = _this4 . getVisibleColumns ( ) . length === _this4 . columns . filter ( function ( column ) {
return ! _this4 . isSelectionColumn ( column ) ;
} ) . length ;
html . push ( Utils . sprintf ( _this4 . constants . html . toolbarDropdownItem , Utils . sprintf ( '<input type="checkbox" class="toggle-all" %s> <span>%s</span>' , allFieldsVisible ? 'checked="checked"' : '' , opts . formatColumnsToggleAll ( ) ) ) ) ;
html . push ( _this4 . constants . html . toolbarDropdownSeparator ) ;
}
var visibleColumns = 0 ;
_this4 . columns . forEach ( function ( column ) {
if ( column . visible ) {
visibleColumns ++ ;
}
} ) ;
_this4 . columns . forEach ( function ( column , i ) {
if ( _this4 . isSelectionColumn ( column ) ) {
return ;
}
if ( opts . cardView && ! column . cardVisible ) {
return ;
}
var checked = column . visible ? ' checked="checked"' : '' ;
var disabled = visibleColumns <= opts . minimumCountColumns && checked ? ' disabled="disabled"' : '' ;
if ( column . switchable ) {
html . push ( Utils . sprintf ( _this4 . constants . html . toolbarDropdownItem , Utils . sprintf ( '<input type="checkbox" data-field="%s" value="%s"%s%s> <span>%s</span>' , column . field , i , checked , disabled , column . switchableLabel || column . title ) ) ) ;
switchableCount ++ ;
}
} ) ;
html . push ( _this4 . constants . html . toolbarDropdown [ 1 ] , '</div>' ) ;
return html . join ( '' ) ;
}
}
} ) ;
var buttonsHtml = { } ;
for ( var _i4 = 0 , _Object$entries4 = Object . entries ( this . buttons ) ; _i4 < _Object$entries4 . length ; _i4 ++ ) {
var _Object$entries4$ _i = _slicedToArray ( _Object$entries4 [ _i4 ] , 2 ) ,
buttonName = _Object$entries4$ _i [ 0 ] ,
buttonConfig = _Object$entries4$ _i [ 1 ] ;
var buttonHtml = void 0 ;
if ( buttonConfig . hasOwnProperty ( 'html' ) ) {
if ( typeof buttonConfig . html === 'function' ) {
buttonHtml = buttonConfig . html ( ) ;
} else if ( typeof buttonConfig . html === 'string' ) {
buttonHtml = buttonConfig . html ;
}
} else {
var buttonClass = this . constants . buttonsClass ;
if ( buttonConfig . hasOwnProperty ( 'attributes' ) && buttonConfig . attributes . class ) {
buttonClass += " " . concat ( buttonConfig . attributes . class ) ;
}
buttonHtml = "<button class=\"" . concat ( buttonClass , "\" type=\"button\" name=\"" ) . concat ( buttonName , "\"" ) ;
if ( buttonConfig . hasOwnProperty ( 'attributes' ) ) {
for ( var _i5 = 0 , _Object$entries5 = Object . entries ( buttonConfig . attributes ) ; _i5 < _Object$entries5 . length ; _i5 ++ ) {
var _Object$entries5$ _i = _slicedToArray ( _Object$entries5 [ _i5 ] , 2 ) ,
attributeName = _Object$entries5$ _i [ 0 ] ,
value = _Object$entries5$ _i [ 1 ] ;
if ( attributeName === 'class' ) {
continue ;
}
buttonHtml += " " . concat ( attributeName , "=\"" ) . concat ( value , "\"" ) ;
}
}
buttonHtml += '>' ;
if ( opts . showButtonIcons && buttonConfig . hasOwnProperty ( 'icon' ) ) {
buttonHtml += "" . concat ( Utils . sprintf ( this . constants . html . icon , opts . iconsPrefix , buttonConfig . icon ) , " " ) ;
}
if ( opts . showButtonText && buttonConfig . hasOwnProperty ( 'text' ) ) {
buttonHtml += buttonConfig . text ;
}
buttonHtml += '</button>' ;
}
buttonsHtml [ buttonName ] = buttonHtml ;
var optionName = "show" . concat ( buttonName . charAt ( 0 ) . toUpperCase ( ) ) . concat ( buttonName . substring ( 1 ) ) ;
var showOption = opts [ optionName ] ;
if ( ( ! buttonConfig . hasOwnProperty ( 'render' ) || buttonConfig . hasOwnProperty ( 'render' ) && buttonConfig . render ) && ( showOption === undefined || showOption === true ) ) {
opts [ optionName ] = true ;
}
if ( ! opts . buttonsOrder . includes ( buttonName ) ) {
opts . buttonsOrder . push ( buttonName ) ;
}
}
// Adding the button html to the final toolbar html when the showOption is true
var _iterator = _createForOfIteratorHelper ( opts . buttonsOrder ) ,
_step ;
try {
for ( _iterator . s ( ) ; ! ( _step = _iterator . n ( ) ) . done ; ) {
var button = _step . value ;
var _showOption = opts [ "show" . concat ( button . charAt ( 0 ) . toUpperCase ( ) ) . concat ( button . substring ( 1 ) ) ] ;
if ( _showOption ) {
html . push ( buttonsHtml [ button ] ) ;
}
}
} catch ( err ) {
_iterator . e ( err ) ;
} finally {
_iterator . f ( ) ;
}
html . push ( '</div>' ) ;
// Fix #188: this.showToolbar is for extensions
if ( this . showToolbar || html . length > 2 ) {
this . $toolbar . append ( html . join ( '' ) ) ;
}
var _loop = function _loop ( ) {
var _Object$entries6$ _i = _slicedToArray ( _Object$entries6 [ _i6 ] , 2 ) ,
buttonName = _Object$entries6$ _i [ 0 ] ,
buttonConfig = _Object$entries6$ _i [ 1 ] ;
if ( buttonConfig . hasOwnProperty ( 'event' ) ) {
if ( typeof buttonConfig . event === 'function' || typeof buttonConfig . event === 'string' ) {
var event = typeof buttonConfig . event === 'string' ? window [ buttonConfig . event ] : buttonConfig . event ;
_this4 . $toolbar . find ( "button[name=\"" . concat ( buttonName , "\"]" ) ) . off ( 'click' ) . on ( 'click' , function ( ) {
return event . call ( _this4 ) ;
} ) ;
return 1 ; // continue
}
var _loop2 = function _loop2 ( ) {
var _Object$entries7$ _i = _slicedToArray ( _Object$entries7 [ _i7 ] , 2 ) ,
eventType = _Object$entries7$ _i [ 0 ] ,
eventFunction = _Object$entries7$ _i [ 1 ] ;
var event = typeof eventFunction === 'string' ? window [ eventFunction ] : eventFunction ;
_this4 . $toolbar . find ( "button[name=\"" . concat ( buttonName , "\"]" ) ) . off ( eventType ) . on ( eventType , function ( ) {
return event . call ( _this4 ) ;
} ) ;
} ;
for ( var _i7 = 0 , _Object$entries7 = Object . entries ( buttonConfig . event ) ; _i7 < _Object$entries7 . length ; _i7 ++ ) {
_loop2 ( ) ;
}
}
} ;
for ( var _i6 = 0 , _Object$entries6 = Object . entries ( this . buttons ) ; _i6 < _Object$entries6 . length ; _i6 ++ ) {
if ( _loop ( ) ) continue ;
}
if ( opts . showColumns ) {
$keepOpen = this . $toolbar . find ( '.keep-open' ) ;
var $checkboxes = $keepOpen . find ( 'input[type="checkbox"]:not(".toggle-all")' ) ;
var $toggleAll = $keepOpen . find ( 'input[type="checkbox"].toggle-all' ) ;
if ( switchableCount <= opts . minimumCountColumns ) {
$keepOpen . find ( 'input' ) . prop ( 'disabled' , true ) ;
}
$keepOpen . find ( 'li, label' ) . off ( 'click' ) . on ( 'click' , function ( e ) {
e . stopImmediatePropagation ( ) ;
} ) ;
$checkboxes . off ( 'click' ) . on ( 'click' , function ( _ref2 ) {
var currentTarget = _ref2 . currentTarget ;
var $this = $ ( currentTarget ) ;
_this4 . _toggleColumn ( $this . val ( ) , $this . prop ( 'checked' ) , false ) ;
_this4 . trigger ( 'column-switch' , $this . data ( 'field' ) , $this . prop ( 'checked' ) ) ;
$toggleAll . prop ( 'checked' , $checkboxes . filter ( ':checked' ) . length === _this4 . columns . filter ( function ( column ) {
return ! _this4 . isSelectionColumn ( column ) ;
} ) . length ) ;
} ) ;
$toggleAll . off ( 'click' ) . on ( 'click' , function ( _ref3 ) {
var currentTarget = _ref3 . currentTarget ;
_this4 . _toggleAllColumns ( $ ( currentTarget ) . prop ( 'checked' ) ) ;
_this4 . trigger ( 'column-switch-all' , $ ( currentTarget ) . prop ( 'checked' ) ) ;
} ) ;
if ( opts . showColumnsSearch ) {
var $columnsSearch = $keepOpen . find ( '[name="columnsSearch"]' ) ;
var $listItems = $keepOpen . find ( '.dropdown-item-marker' ) ;
$columnsSearch . on ( 'keyup paste change' , function ( _ref4 ) {
var currentTarget = _ref4 . currentTarget ;
var $this = $ ( currentTarget ) ;
var searchValue = $this . val ( ) . toLowerCase ( ) ;
$listItems . show ( ) ;
$checkboxes . each ( function ( i , el ) {
var $checkbox = $ ( el ) ;
var $listItem = $checkbox . parents ( '.dropdown-item-marker' ) ;
var text = $listItem . text ( ) . toLowerCase ( ) ;
if ( ! text . includes ( searchValue ) ) {
$listItem . hide ( ) ;
}
} ) ;
} ) ;
}
}
var handleInputEvent = function handleInputEvent ( $searchInput ) {
var eventTriggers = $searchInput . is ( 'select' ) ? 'change' : 'keyup drop blur mouseup' ;
$searchInput . off ( eventTriggers ) . on ( eventTriggers , function ( event ) {
if ( opts . searchOnEnterKey && event . keyCode !== 13 ) {
return ;
}
if ( [ 37 , 38 , 39 , 40 ] . includes ( event . keyCode ) ) {
return ;
}
clearTimeout ( timeoutId ) ; // doesn't matter if it's 0
timeoutId = setTimeout ( function ( ) {
_this4 . onSearch ( {
currentTarget : event . currentTarget
} ) ;
} , opts . searchTimeOut ) ;
} ) ;
} ;
// Fix #4516: this.showSearchClearButton is for extensions
if ( ( opts . search || this . showSearchClearButton ) && typeof opts . searchSelector !== 'string' ) {
html = [ ] ;
var showSearchButton = Utils . sprintf ( this . constants . html . searchButton , this . constants . buttonsClass , opts . formatSearch ( ) , opts . showButtonIcons ? Utils . sprintf ( this . constants . html . icon , opts . iconsPrefix , opts . icons . search ) : '' , opts . showButtonText ? opts . formatSearch ( ) : '' ) ;
var showSearchClearButton = Utils . sprintf ( this . constants . html . searchClearButton , this . constants . buttonsClass , opts . formatClearSearch ( ) , opts . showButtonIcons ? Utils . sprintf ( this . constants . html . icon , opts . iconsPrefix , opts . icons . clearSearch ) : '' , opts . showButtonText ? opts . formatClearSearch ( ) : '' ) ;
var searchInputHtml = "<input class=\"" . concat ( this . constants . classes . input , "\n " ) . concat ( Utils . sprintf ( ' %s%s' , this . constants . classes . inputPrefix , opts . iconSize ) , "\n search-input\" type=\"search\" aria-label=\"" ) . concat ( opts . formatSearch ( ) , "\" placeholder=\"" ) . concat ( opts . formatSearch ( ) , "\" autocomplete=\"off\">" ) ;
var searchInputFinalHtml = searchInputHtml ;
if ( opts . showSearchButton || opts . showSearchClearButton ) {
var _buttonsHtml = ( opts . showSearchButton ? showSearchButton : '' ) + ( opts . showSearchClearButton ? showSearchClearButton : '' ) ;
searchInputFinalHtml = opts . search ? Utils . sprintf ( this . constants . html . inputGroup , searchInputHtml , _buttonsHtml ) : _buttonsHtml ;
}
html . push ( Utils . sprintf ( "\n <div class=\"" . concat ( this . constants . classes . pull , "-" ) . concat ( opts . searchAlign , " search " ) . concat ( this . constants . classes . inputGroup , "\">\n %s\n </div>\n " ) , searchInputFinalHtml ) ) ;
this . $toolbar . append ( html . join ( '' ) ) ;
var $searchInput = Utils . getSearchInput ( this ) ;
if ( opts . showSearchButton ) {
this . $toolbar . find ( '.search button[name=search]' ) . off ( 'click' ) . on ( 'click' , function ( ) {
clearTimeout ( timeoutId ) ; // doesn't matter if it's 0
timeoutId = setTimeout ( function ( ) {
_this4 . onSearch ( {
currentTarget : $searchInput
} ) ;
} , opts . searchTimeOut ) ;
} ) ;
if ( opts . searchOnEnterKey ) {
handleInputEvent ( $searchInput ) ;
}
} else {
handleInputEvent ( $searchInput ) ;
}
if ( opts . showSearchClearButton ) {
this . $toolbar . find ( '.search button[name=clearSearch]' ) . click ( function ( ) {
_this4 . resetSearch ( ) ;
} ) ;
}
} else if ( typeof opts . searchSelector === 'string' ) {
handleInputEvent ( Utils . getSearchInput ( this ) ) ;
}
}
} , {
key : "onSearch" ,
value : function onSearch ( ) {
var _ref5 = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ,
currentTarget = _ref5 . currentTarget ,
firedByInitSearchText = _ref5 . firedByInitSearchText ;
var overwriteSearchText = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : true ;
if ( currentTarget !== undefined && $ ( currentTarget ) . length && overwriteSearchText ) {
var text = $ ( currentTarget ) . val ( ) . trim ( ) ;
if ( this . options . trimOnSearch && $ ( currentTarget ) . val ( ) !== text ) {
$ ( currentTarget ) . val ( text ) ;
}
if ( this . searchText === text ) {
return ;
}
var $searchInput = Utils . getSearchInput ( this ) ;
var $currentTarget = currentTarget instanceof jQuery ? currentTarget : $ ( currentTarget ) ;
if ( $currentTarget . is ( $searchInput ) || $currentTarget . hasClass ( 'search-input' ) ) {
this . searchText = text ;
this . options . searchText = text ;
}
}
if ( ! firedByInitSearchText ) {
this . options . pageNumber = 1 ;
}
this . initSearch ( ) ;
if ( firedByInitSearchText ) {
if ( this . options . sidePagination === 'client' ) {
this . updatePagination ( ) ;
}
} else {
this . updatePagination ( ) ;
}
this . trigger ( 'search' , this . searchText ) ;
}
} , {
key : "initSearch" ,
value : function initSearch ( ) {
var _this5 = this ;
this . filterOptions = this . filterOptions || this . options . filterOptions ;
if ( this . options . sidePagination !== 'server' ) {
if ( this . options . customSearch ) {
this . data = Utils . calculateObjectValue ( this . options , this . options . customSearch , [ this . options . data , this . searchText , this . filterColumns ] ) ;
if ( this . options . sortReset ) {
this . unsortedData = _toConsumableArray ( this . data ) ;
}
this . initSort ( ) ;
return ;
}
var rawSearchText = this . searchText && ( this . fromHtml ? Utils . escapeHTML ( this . searchText ) : this . searchText ) ;
var searchText = rawSearchText ? rawSearchText . toLowerCase ( ) : '' ;
var f = Utils . isEmptyObject ( this . filterColumns ) ? null : this . filterColumns ;
if ( this . options . searchAccentNeutralise ) {
searchText = Utils . normalizeAccent ( searchText ) ;
}
// Check filter
if ( typeof this . filterOptions . filterAlgorithm === 'function' ) {
this . data = this . options . data . filter ( function ( item ) {
return _this5 . filterOptions . filterAlgorithm . apply ( null , [ item , f ] ) ;
} ) ;
} else if ( typeof this . filterOptions . filterAlgorithm === 'string' ) {
this . data = f ? this . options . data . filter ( function ( item ) {
var filterAlgorithm = _this5 . filterOptions . filterAlgorithm ;
if ( filterAlgorithm === 'and' ) {
for ( var key in f ) {
if ( Array . isArray ( f [ key ] ) && ! f [ key ] . includes ( item [ key ] ) || ! Array . isArray ( f [ key ] ) && item [ key ] !== f [ key ] ) {
return false ;
}
}
} else if ( filterAlgorithm === 'or' ) {
var match = false ;
for ( var _key in f ) {
if ( Array . isArray ( f [ _key ] ) && f [ _key ] . includes ( item [ _key ] ) || ! Array . isArray ( f [ _key ] ) && item [ _key ] === f [ _key ] ) {
match = true ;
}
}
return match ;
}
return true ;
} ) : _toConsumableArray ( this . options . data ) ;
}
var visibleFields = this . getVisibleFields ( ) ;
this . data = searchText ? this . data . filter ( function ( item , i ) {
for ( var j = 0 ; j < _this5 . header . fields . length ; j ++ ) {
if ( ! _this5 . header . searchables [ j ] || _this5 . options . visibleSearch && visibleFields . indexOf ( _this5 . header . fields [ j ] ) === - 1 ) {
continue ;
}
var key = Utils . isNumeric ( _this5 . header . fields [ j ] ) ? parseInt ( _this5 . header . fields [ j ] , 10 ) : _this5 . header . fields [ j ] ;
var column = _this5 . columns [ _this5 . fieldsColumnsIndex [ key ] ] ;
var value = void 0 ;
if ( typeof key === 'string' && ! item . hasOwnProperty ( key ) ) {
value = item ;
var props = key . split ( '.' ) ;
for ( var _i8 = 0 ; _i8 < props . length ; _i8 ++ ) {
if ( value [ props [ _i8 ] ] !== null ) {
value = value [ props [ _i8 ] ] ;
} else {
value = null ;
break ;
}
}
} else {
value = item [ key ] ;
}
if ( _this5 . options . searchAccentNeutralise ) {
value = Utils . normalizeAccent ( value ) ;
}
// Fix #142: respect searchFormatter boolean
if ( column && column . searchFormatter ) {
value = Utils . calculateObjectValue ( column , _this5 . header . formatters [ j ] , [ value , item , i , column . field ] , value ) ;
}
if ( typeof value === 'string' || typeof value === 'number' ) {
if ( _this5 . options . strictSearch && "" . concat ( value ) . toLowerCase ( ) === searchText || _this5 . options . regexSearch && Utils . regexCompare ( value , rawSearchText ) ) {
return true ;
}
var largerSmallerEqualsRegex = /(?:(<=|=>|=<|>=|>|<)(?:\s+)?(-?\d+)?|(-?\d+)?(\s+)?(<=|=>|=<|>=|>|<))/gm ;
var matches = largerSmallerEqualsRegex . exec ( _this5 . searchText ) ;
var comparisonCheck = false ;
if ( matches ) {
var operator = matches [ 1 ] || "" . concat ( matches [ 5 ] , "l" ) ;
var comparisonValue = matches [ 2 ] || matches [ 3 ] ;
var int = parseInt ( value , 10 ) ;
var comparisonInt = parseInt ( comparisonValue , 10 ) ;
switch ( operator ) {
case '>' :
case '<l' :
comparisonCheck = int > comparisonInt ;
break ;
case '<' :
case '>l' :
comparisonCheck = int < comparisonInt ;
break ;
case '<=' :
case '=<' :
case '>=l' :
case '=>l' :
comparisonCheck = int <= comparisonInt ;
break ;
case '>=' :
case '=>' :
case '<=l' :
case '=<l' :
comparisonCheck = int >= comparisonInt ;
break ;
}
}
if ( comparisonCheck || "" . concat ( value ) . toLowerCase ( ) . includes ( searchText ) ) {
return true ;
}
}
}
return false ;
} ) : this . data ;
if ( this . options . sortReset ) {
this . unsortedData = _toConsumableArray ( this . data ) ;
}
this . initSort ( ) ;
}
}
} , {
key : "initPagination" ,
value : function initPagination ( ) {
var _this6 = this ;
var opts = this . options ;
if ( ! opts . pagination ) {
this . $pagination . hide ( ) ;
return ;
}
this . $pagination . show ( ) ;
var html = [ ] ;
var allSelected = false ;
var i ;
var from ;
var to ;
var $pageList ;
var $pre ;
var $next ;
var $number ;
var data = this . getData ( {
includeHiddenRows : false
} ) ;
var pageList = opts . pageList ;
if ( typeof pageList === 'string' ) {
pageList = pageList . replace ( /\[|\]| /g , '' ) . toLowerCase ( ) . split ( ',' ) ;
}
pageList = pageList . map ( function ( value ) {
if ( typeof value === 'string' ) {
return value . toLowerCase ( ) === opts . formatAllRows ( ) . toLowerCase ( ) || [ 'all' , 'unlimited' ] . includes ( value . toLowerCase ( ) ) ? opts . formatAllRows ( ) : + value ;
}
return value ;
} ) ;
this . paginationParts = opts . paginationParts ;
if ( typeof this . paginationParts === 'string' ) {
this . paginationParts = this . paginationParts . replace ( /\[|\]| |'/g , '' ) . split ( ',' ) ;
}
if ( opts . sidePagination !== 'server' ) {
opts . totalRows = data . length ;
}
this . totalPages = 0 ;
if ( opts . totalRows ) {
if ( opts . pageSize === opts . formatAllRows ( ) ) {
opts . pageSize = opts . totalRows ;
allSelected = true ;
}
this . totalPages = ~ ~ ( ( opts . totalRows - 1 ) / opts . pageSize ) + 1 ;
opts . totalPages = this . totalPages ;
}
if ( this . totalPages > 0 && opts . pageNumber > this . totalPages ) {
opts . pageNumber = this . totalPages ;
}
this . pageFrom = ( opts . pageNumber - 1 ) * opts . pageSize + 1 ;
this . pageTo = opts . pageNumber * opts . pageSize ;
if ( this . pageTo > opts . totalRows ) {
this . pageTo = opts . totalRows ;
}
if ( this . options . pagination && this . options . sidePagination !== 'server' ) {
this . options . totalNotFiltered = this . options . data . length ;
}
if ( ! this . options . showExtendedPagination ) {
this . options . totalNotFiltered = undefined ;
}
if ( this . paginationParts . includes ( 'pageInfo' ) || this . paginationParts . includes ( 'pageInfoShort' ) || this . paginationParts . includes ( 'pageSize' ) ) {
html . push ( "<div class=\"" . concat ( this . constants . classes . pull , "-" ) . concat ( opts . paginationDetailHAlign , " pagination-detail\">" ) ) ;
}
if ( this . paginationParts . includes ( 'pageInfo' ) || this . paginationParts . includes ( 'pageInfoShort' ) ) {
var totalRows = this . options . totalRows + ( this . options . sidePagination === 'client' && this . options . paginationLoadMore && ! this . _paginationLoaded ? ' +' : '' ) ;
var paginationInfo = this . paginationParts . includes ( 'pageInfoShort' ) ? opts . formatDetailPagination ( totalRows ) : opts . formatShowingRows ( this . pageFrom , this . pageTo , totalRows , opts . totalNotFiltered ) ;
html . push ( "<span class=\"pagination-info\">\n " . concat ( paginationInfo , "\n </span>" ) ) ;
}
if ( this . paginationParts . includes ( 'pageSize' ) ) {
html . push ( '<div class="page-list">' ) ;
var pageNumber = [ "<div class=\"" . concat ( this . constants . classes . paginationDropdown , "\">\n <button class=\"" ) . concat ( this . constants . buttonsClass , " dropdown-toggle\" type=\"button\" " ) . concat ( this . constants . dataToggle , "=\"dropdown\">\n <span class=\"page-size\">\n " ) . concat ( allSelected ? opts . formatAllRows ( ) : opts . pageSize , "\n </span>\n " ) . concat ( this . constants . html . dropdownCaret , "\n </button>\n " ) . concat ( this . constants . html . pageDropdown [ 0 ] ) ] ;
pageList . forEach ( function ( page , i ) {
if ( ! opts . smartDisplay || i === 0 || pageList [ i - 1 ] < opts . totalRows || page === opts . formatAllRows ( ) ) {
var active ;
if ( allSelected ) {
active = page === opts . formatAllRows ( ) ? _this6 . constants . classes . dropdownActive : '' ;
} else {
active = page === opts . pageSize ? _this6 . constants . classes . dropdownActive : '' ;
}
pageNumber . push ( Utils . sprintf ( _this6 . constants . html . pageDropdownItem , active , page ) ) ;
}
} ) ;
pageNumber . push ( "" . concat ( this . constants . html . pageDropdown [ 1 ] , "</div>" ) ) ;
html . push ( opts . formatRecordsPerPage ( pageNumber . join ( '' ) ) ) ;
}
if ( this . paginationParts . includes ( 'pageInfo' ) || this . paginationParts . includes ( 'pageInfoShort' ) || this . paginationParts . includes ( 'pageSize' ) ) {
html . push ( '</div></div>' ) ;
}
if ( this . paginationParts . includes ( 'pageList' ) ) {
html . push ( "<div class=\"" . concat ( this . constants . classes . pull , "-" ) . concat ( opts . paginationHAlign , " pagination\">" ) , Utils . sprintf ( this . constants . html . pagination [ 0 ] , Utils . sprintf ( ' pagination-%s' , opts . iconSize ) ) , Utils . sprintf ( this . constants . html . paginationItem , ' page-pre' , opts . formatSRPaginationPreText ( ) , opts . paginationPreText ) ) ;
if ( this . totalPages < opts . paginationSuccessivelySize ) {
from = 1 ;
to = this . totalPages ;
} else {
from = opts . pageNumber - opts . paginationPagesBySide ;
to = from + opts . paginationPagesBySide * 2 ;
}
if ( opts . pageNumber < opts . paginationSuccessivelySize - 1 ) {
to = opts . paginationSuccessivelySize ;
}
if ( opts . paginationSuccessivelySize > this . totalPages - from ) {
from = from - ( opts . paginationSuccessivelySize - ( this . totalPages - from ) ) + 1 ;
}
if ( from < 1 ) {
from = 1 ;
}
if ( to > this . totalPages ) {
to = this . totalPages ;
}
var middleSize = Math . round ( opts . paginationPagesBySide / 2 ) ;
var pageItem = function pageItem ( i ) {
var classes = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : '' ;
return Utils . sprintf ( _this6 . constants . html . paginationItem , classes + ( i === opts . pageNumber ? " " . concat ( _this6 . constants . classes . paginationActive ) : '' ) , opts . formatSRPaginationPageText ( i ) , i ) ;
} ;
if ( from > 1 ) {
var max = opts . paginationPagesBySide ;
if ( max >= from ) max = from - 1 ;
for ( i = 1 ; i <= max ; i ++ ) {
html . push ( pageItem ( i ) ) ;
}
if ( from - 1 === max + 1 ) {
i = from - 1 ;
html . push ( pageItem ( i ) ) ;
} else if ( from - 1 > max ) {
if ( from - opts . paginationPagesBySide * 2 > opts . paginationPagesBySide && opts . paginationUseIntermediate ) {
i = Math . round ( ( from - middleSize ) / 2 + middleSize ) ;
html . push ( pageItem ( i , ' page-intermediate' ) ) ;
} else {
html . push ( Utils . sprintf ( this . constants . html . paginationItem , ' page-first-separator disabled' , '' , '...' ) ) ;
}
}
}
for ( i = from ; i <= to ; i ++ ) {
html . push ( pageItem ( i ) ) ;
}
if ( this . totalPages > to ) {
var min = this . totalPages - ( opts . paginationPagesBySide - 1 ) ;
if ( to >= min ) min = to + 1 ;
if ( to + 1 === min - 1 ) {
i = to + 1 ;
html . push ( pageItem ( i ) ) ;
} else if ( min > to + 1 ) {
if ( this . totalPages - to > opts . paginationPagesBySide * 2 && opts . paginationUseIntermediate ) {
i = Math . round ( ( this . totalPages - middleSize - to ) / 2 + to ) ;
html . push ( pageItem ( i , ' page-intermediate' ) ) ;
} else {
html . push ( Utils . sprintf ( this . constants . html . paginationItem , ' page-last-separator disabled' , '' , '...' ) ) ;
}
}
for ( i = min ; i <= this . totalPages ; i ++ ) {
html . push ( pageItem ( i ) ) ;
}
}
html . push ( Utils . sprintf ( this . constants . html . paginationItem , ' page-next' , opts . formatSRPaginationNextText ( ) , opts . paginationNextText ) ) ;
html . push ( this . constants . html . pagination [ 1 ] , '</div>' ) ;
}
this . $pagination . html ( html . join ( '' ) ) ;
var dropupClass = [ 'bottom' , 'both' ] . includes ( opts . paginationVAlign ) ? " " . concat ( this . constants . classes . dropup ) : '' ;
this . $pagination . last ( ) . find ( '.page-list > div' ) . addClass ( dropupClass ) ;
if ( ! opts . onlyInfoPagination ) {
$pageList = this . $pagination . find ( '.page-list a' ) ;
$pre = this . $pagination . find ( '.page-pre' ) ;
$next = this . $pagination . find ( '.page-next' ) ;
$number = this . $pagination . find ( '.page-item' ) . not ( '.page-next, .page-pre, .page-last-separator, .page-first-separator' ) ;
if ( this . totalPages <= 1 ) {
this . $pagination . find ( 'div.pagination' ) . hide ( ) ;
}
if ( opts . smartDisplay ) {
if ( pageList . length < 2 || opts . totalRows <= pageList [ 0 ] ) {
this . $pagination . find ( 'div.page-list' ) . hide ( ) ;
}
}
// when data is empty, hide the pagination
this . $pagination [ this . getData ( ) . length ? 'show' : 'hide' ] ( ) ;
if ( ! opts . paginationLoop ) {
if ( opts . pageNumber === 1 ) {
$pre . addClass ( 'disabled' ) ;
}
if ( opts . pageNumber === this . totalPages ) {
$next . addClass ( 'disabled' ) ;
}
}
if ( allSelected ) {
opts . pageSize = opts . formatAllRows ( ) ;
}
$pageList . off ( 'click' ) . on ( 'click' , function ( e ) {
return _this6 . onPageListChange ( e ) ;
} ) ;
$pre . off ( 'click' ) . on ( 'click' , function ( e ) {
return _this6 . onPagePre ( e ) ;
} ) ;
$next . off ( 'click' ) . on ( 'click' , function ( e ) {
return _this6 . onPageNext ( e ) ;
} ) ;
$number . off ( 'click' ) . on ( 'click' , function ( e ) {
return _this6 . onPageNumber ( e ) ;
} ) ;
}
}
} , {
key : "updatePagination" ,
value : function updatePagination ( event ) {
// Fix #171: IE disabled button can be clicked bug.
if ( event && $ ( event . currentTarget ) . hasClass ( 'disabled' ) ) {
return ;
}
if ( ! this . options . maintainMetaData ) {
this . resetRows ( ) ;
}
this . initPagination ( ) ;
this . trigger ( 'page-change' , this . options . pageNumber , this . options . pageSize ) ;
if ( this . options . sidePagination === 'server' || this . options . sidePagination === 'client' && this . options . paginationLoadMore && ! this . _paginationLoaded && this . options . pageNumber === this . totalPages ) {
this . initServer ( ) ;
} else {
this . initBody ( ) ;
}
}
} , {
key : "onPageListChange" ,
value : function onPageListChange ( event ) {
event . preventDefault ( ) ;
var $this = $ ( event . currentTarget ) ;
$this . parent ( ) . addClass ( this . constants . classes . dropdownActive ) . siblings ( ) . removeClass ( this . constants . classes . dropdownActive ) ;
this . options . pageSize = $this . text ( ) . toUpperCase ( ) === this . options . formatAllRows ( ) . toUpperCase ( ) ? this . options . formatAllRows ( ) : + $this . text ( ) ;
this . $toolbar . find ( '.page-size' ) . text ( this . options . pageSize ) ;
this . updatePagination ( event ) ;
return false ;
}
} , {
key : "onPagePre" ,
value : function onPagePre ( event ) {
if ( $ ( event . target ) . hasClass ( 'disabled' ) ) {
return ;
}
event . preventDefault ( ) ;
if ( this . options . pageNumber - 1 === 0 ) {
this . options . pageNumber = this . options . totalPages ;
} else {
this . options . pageNumber -- ;
}
this . updatePagination ( event ) ;
return false ;
}
} , {
key : "onPageNext" ,
value : function onPageNext ( event ) {
if ( $ ( event . target ) . hasClass ( 'disabled' ) ) {
return ;
}
event . preventDefault ( ) ;
if ( this . options . pageNumber + 1 > this . options . totalPages ) {
this . options . pageNumber = 1 ;
} else {
this . options . pageNumber ++ ;
}
this . updatePagination ( event ) ;
return false ;
}
} , {
key : "onPageNumber" ,
value : function onPageNumber ( event ) {
event . preventDefault ( ) ;
if ( this . options . pageNumber === + $ ( event . currentTarget ) . text ( ) ) {
return ;
}
this . options . pageNumber = + $ ( event . currentTarget ) . text ( ) ;
this . updatePagination ( event ) ;
return false ;
}
// eslint-disable-next-line no-unused-vars
} , {
key : "initRow" ,
value : function initRow ( item , i , data , trFragments ) {
var _this7 = this ;
var html = [ ] ;
var style = { } ;
var csses = [ ] ;
var data _ = '' ;
var attributes = { } ;
var htmlAttributes = [ ] ;
if ( Utils . findIndex ( this . hiddenRows , item ) > - 1 ) {
return ;
}
style = Utils . calculateObjectValue ( this . options , this . options . rowStyle , [ item , i ] , style ) ;
if ( style && style . css ) {
for ( var _i9 = 0 , _Object$entries8 = Object . entries ( style . css ) ; _i9 < _Object$entries8 . length ; _i9 ++ ) {
var _Object$entries8$ _i = _slicedToArray ( _Object$entries8 [ _i9 ] , 2 ) ,
key = _Object$entries8$ _i [ 0 ] ,
value = _Object$entries8$ _i [ 1 ] ;
csses . push ( "" . concat ( key , ": " ) . concat ( value ) ) ;
}
}
attributes = Utils . calculateObjectValue ( this . options , this . options . rowAttributes , [ item , i ] , attributes ) ;
if ( attributes ) {
for ( var _i10 = 0 , _Object$entries9 = Object . entries ( attributes ) ; _i10 < _Object$entries9 . length ; _i10 ++ ) {
var _Object$entries9$ _i = _slicedToArray ( _Object$entries9 [ _i10 ] , 2 ) ,
_key2 = _Object$entries9$ _i [ 0 ] ,
_value = _Object$entries9$ _i [ 1 ] ;
htmlAttributes . push ( "" . concat ( _key2 , "=\"" ) . concat ( Utils . escapeHTML ( _value ) , "\"" ) ) ;
}
}
if ( item . _data && ! Utils . isEmptyObject ( item . _data ) ) {
for ( var _i11 = 0 , _Object$entries10 = Object . entries ( item . _data ) ; _i11 < _Object$entries10 . length ; _i11 ++ ) {
var _Object$entries10$ _i = _slicedToArray ( _Object$entries10 [ _i11 ] , 2 ) ,
k = _Object$entries10$ _i [ 0 ] ,
v = _Object$entries10$ _i [ 1 ] ;
// ignore data-index
if ( k === 'index' ) {
return ;
}
data _ += " data-" . concat ( k , "='" ) . concat ( _typeof ( v ) === 'object' ? JSON . stringify ( v ) : v , "'" ) ;
}
}
html . push ( '<tr' , Utils . sprintf ( ' %s' , htmlAttributes . length ? htmlAttributes . join ( ' ' ) : undefined ) , Utils . sprintf ( ' id="%s"' , Array . isArray ( item ) ? undefined : item . _id ) , Utils . sprintf ( ' class="%s"' , style . classes || ( Array . isArray ( item ) ? undefined : item . _class ) ) , Utils . sprintf ( ' style="%s"' , Array . isArray ( item ) ? undefined : item . _style ) , " data-index=\"" . concat ( i , "\"" ) , Utils . sprintf ( ' data-uniqueid="%s"' , Utils . getItemField ( item , this . options . uniqueId , false ) ) , Utils . sprintf ( ' data-has-detail-view="%s"' , this . options . detailView && Utils . calculateObjectValue ( null , this . options . detailFilter , [ i , item ] ) ? 'true' : undefined ) , Utils . sprintf ( '%s' , data _ ) , '>' ) ;
if ( this . options . cardView ) {
html . push ( "<td colspan=\"" . concat ( this . header . fields . length , "\"><div class=\"card-views\">" ) ) ;
}
var detailViewTemplate = '' ;
if ( Utils . hasDetailViewIcon ( this . options ) ) {
detailViewTemplate = '<td>' ;
if ( Utils . calculateObjectValue ( null , this . options . detailFilter , [ i , item ] ) ) {
detailViewTemplate += "\n <a class=\"detail-icon\" href=\"#\">\n " . concat ( Utils . sprintf ( this . constants . html . icon , this . options . iconsPrefix , this . options . icons . detailOpen ) , "\n </a>\n " ) ;
}
detailViewTemplate += '</td>' ;
}
if ( detailViewTemplate && this . options . detailViewAlign !== 'right' ) {
html . push ( detailViewTemplate ) ;
}
this . header . fields . forEach ( function ( field , j ) {
var column = _this7 . columns [ j ] ;
var text = '' ;
var value _ = Utils . getItemField ( item , field , _this7 . options . escape , column . escape ) ;
var value = '' ;
var type = '' ;
var cellStyle = { } ;
var id _ = '' ;
var class _ = _this7 . header . classes [ j ] ;
var style _ = '' ;
var styleToAdd _ = '' ;
var data _ = '' ;
var rowspan _ = '' ;
var colspan _ = '' ;
var title _ = '' ;
if ( ( _this7 . fromHtml || _this7 . autoMergeCells ) && typeof value _ === 'undefined' ) {
if ( ! column . checkbox && ! column . radio ) {
return ;
}
}
if ( ! column . visible ) {
return ;
}
if ( _this7 . options . cardView && ! column . cardVisible ) {
return ;
}
// Style concat
if ( csses . concat ( [ _this7 . header . styles [ j ] ] ) . length ) {
styleToAdd _ += "" . concat ( csses . concat ( [ _this7 . header . styles [ j ] ] ) . join ( '; ' ) ) ;
}
if ( item [ "_" . concat ( field , "_style" ) ] ) {
styleToAdd _ += "" . concat ( item [ "_" . concat ( field , "_style" ) ] ) ;
}
if ( styleToAdd _ ) {
style _ = " style=\"" . concat ( styleToAdd _ , "\"" ) ;
}
// Style concat
// handle id and class of td
if ( item [ "_" . concat ( field , "_id" ) ] ) {
id _ = Utils . sprintf ( ' id="%s"' , item [ "_" . concat ( field , "_id" ) ] ) ;
}
if ( item [ "_" . concat ( field , "_class" ) ] ) {
class _ = Utils . sprintf ( ' class="%s"' , item [ "_" . concat ( field , "_class" ) ] ) ;
}
if ( item [ "_" . concat ( field , "_rowspan" ) ] ) {
rowspan _ = Utils . sprintf ( ' rowspan="%s"' , item [ "_" . concat ( field , "_rowspan" ) ] ) ;
}
if ( item [ "_" . concat ( field , "_colspan" ) ] ) {
colspan _ = Utils . sprintf ( ' colspan="%s"' , item [ "_" . concat ( field , "_colspan" ) ] ) ;
}
if ( item [ "_" . concat ( field , "_title" ) ] ) {
title _ = Utils . sprintf ( ' title="%s"' , item [ "_" . concat ( field , "_title" ) ] ) ;
}
cellStyle = Utils . calculateObjectValue ( _this7 . header , _this7 . header . cellStyles [ j ] , [ value _ , item , i , field ] , cellStyle ) ;
if ( cellStyle . classes ) {
class _ = " class=\"" . concat ( cellStyle . classes , "\"" ) ;
}
if ( cellStyle . css ) {
var csses _ = [ ] ;
for ( var _i12 = 0 , _Object$entries11 = Object . entries ( cellStyle . css ) ; _i12 < _Object$entries11 . length ; _i12 ++ ) {
var _Object$entries11$ _i = _slicedToArray ( _Object$entries11 [ _i12 ] , 2 ) ,
_key3 = _Object$entries11$ _i [ 0 ] ,
_value2 = _Object$entries11$ _i [ 1 ] ;
csses _ . push ( "" . concat ( _key3 , ": " ) . concat ( _value2 ) ) ;
}
style _ = " style=\"" . concat ( csses _ . concat ( _this7 . header . styles [ j ] ) . join ( '; ' ) , "\"" ) ;
}
value = Utils . calculateObjectValue ( column , _this7 . header . formatters [ j ] , [ value _ , item , i , field ] , value _ ) ;
if ( ! ( column . checkbox || column . radio ) ) {
value = typeof value === 'undefined' || value === null ? _this7 . options . undefinedText : value ;
}
if ( column . searchable && _this7 . searchText && _this7 . options . searchHighlight && ! ( column . checkbox || column . radio ) ) {
var defValue = '' ;
var searchText = _this7 . searchText . replace ( /[.*+?^${}()|[\]\\]/g , '\\$&' ) ;
if ( _this7 . options . searchAccentNeutralise ) {
var indexRegex = new RegExp ( "" . concat ( Utils . normalizeAccent ( searchText ) ) , 'gmi' ) ;
var match = indexRegex . exec ( Utils . normalizeAccent ( value ) ) ;
if ( match ) {
searchText = value . substring ( match . index , match . index + searchText . length ) ;
}
}
var regExp = new RegExp ( "(" . concat ( searchText , ")" ) , 'gim' ) ;
var marker = '<mark>$1</mark>' ;
var isHTML = value && /<(?=.*? .*?\/ ?>|br|hr|input|!--|wbr)[a-z]+.*?>|<([a-z]+).*?<\/\1>/i . test ( value ) ;
if ( isHTML ) {
// value can contains a HTML tags
var textContent = new DOMParser ( ) . parseFromString ( value . toString ( ) , 'text/html' ) . documentElement . textContent ;
var textReplaced = textContent . replace ( regExp , marker ) ;
textContent = textContent . replace ( /[.*+?^${}()|[\]\\]/g , '\\$&' ) ;
defValue = value . replace ( new RegExp ( "(>\\s*)(" . concat ( textContent , ")(\\s*)" ) , 'gm' ) , "$1" . concat ( textReplaced , "$3" ) ) ;
} else {
// but usually not
defValue = value . toString ( ) . replace ( regExp , marker ) ;
}
value = Utils . calculateObjectValue ( column , column . searchHighlightFormatter , [ value , _this7 . searchText ] , defValue ) ;
}
if ( item [ "_" . concat ( field , "_data" ) ] && ! Utils . isEmptyObject ( item [ "_" . concat ( field , "_data" ) ] ) ) {
for ( var _i13 = 0 , _Object$entries12 = Object . entries ( item [ "_" . concat ( field , "_data" ) ] ) ; _i13 < _Object$entries12 . length ; _i13 ++ ) {
var _Object$entries12$ _i = _slicedToArray ( _Object$entries12 [ _i13 ] , 2 ) ,
_k = _Object$entries12$ _i [ 0 ] ,
_v = _Object$entries12$ _i [ 1 ] ;
// ignore data-index
if ( _k === 'index' ) {
return ;
}
data _ += " data-" . concat ( _k , "=\"" ) . concat ( _v , "\"" ) ;
}
}
if ( column . checkbox || column . radio ) {
type = column . checkbox ? 'checkbox' : type ;
type = column . radio ? 'radio' : type ;
var c = column [ 'class' ] || '' ;
var isChecked = Utils . isObject ( value ) && value . hasOwnProperty ( 'checked' ) ? value . checked : ( value === true || value _ ) && value !== false ;
var isDisabled = ! column . checkboxEnabled || value && value . disabled ;
text = [ _this7 . options . cardView ? "<div class=\"card-view " . concat ( c , "\">" ) : "<td class=\"bs-checkbox " . concat ( c , "\"" ) . concat ( class _ ) . concat ( style _ , ">" ) , "<label>\n <input\n data-index=\"" . concat ( i , "\"\n name=\"" ) . concat ( _this7 . options . selectItemName , "\"\n type=\"" ) . concat ( type , "\"\n " ) . concat ( Utils . sprintf ( 'value="%s"' , item [ _this7 . options . idField ] ) , "\n " ) . concat ( Utils . sprintf ( 'checked="%s"' , isChecked ? 'checked' : undefined ) , "\n " ) . concat ( Utils . sprintf ( 'disabled="%s"' , isDisabled ? 'disabled' : undefined ) , " />\n <span></span>\n </label>" ) , _this7 . header . formatters [ j ] && typeof value === 'string' ? value : '' , _this7 . options . cardView ? '</div>' : '</td>' ] . join ( '' ) ;
item [ _this7 . header . stateField ] = value === true || ! ! value _ || value && value . checked ;
} else if ( _this7 . options . cardView ) {
var cardTitle = _this7 . options . showHeader ? "<span class=\"card-view-title " . concat ( cellStyle . classes || '' , "\"" ) . concat ( style _ , ">" ) . concat ( Utils . getFieldTitle ( _this7 . columns , field ) , "</span>" ) : '' ;
text = "<div class=\"card-view\">" . concat ( cardTitle , "<span class=\"card-view-value " ) . concat ( cellStyle . classes || '' , "\"" ) . concat ( style _ , ">" ) . concat ( value , "</span></div>" ) ;
if ( _this7 . options . smartDisplay && value === '' ) {
text = '<div class="card-view"></div>' ;
}
} else {
text = "<td" . concat ( id _ ) . concat ( class _ ) . concat ( style _ ) . concat ( data _ ) . concat ( rowspan _ ) . concat ( colspan _ ) . concat ( title _ , ">" ) . concat ( value , "</td>" ) ;
}
html . push ( text ) ;
} ) ;
if ( detailViewTemplate && this . options . detailViewAlign === 'right' ) {
html . push ( detailViewTemplate ) ;
}
if ( this . options . cardView ) {
html . push ( '</div></td>' ) ;
}
html . push ( '</tr>' ) ;
return html . join ( '' ) ;
}
} , {
key : "initBody" ,
value : function initBody ( fixedScroll , updatedUid ) {
var _this8 = this ;
var data = this . getData ( ) ;
this . trigger ( 'pre-body' , data ) ;
this . $body = this . $el . find ( '>tbody' ) ;
if ( ! this . $body . length ) {
this . $body = $ ( '<tbody></tbody>' ) . appendTo ( this . $el ) ;
}
// Fix #389 Bootstrap-table-flatJSON is not working
if ( ! this . options . pagination || this . options . sidePagination === 'server' ) {
this . pageFrom = 1 ;
this . pageTo = data . length ;
}
var rows = [ ] ;
var trFragments = $ ( document . createDocumentFragment ( ) ) ;
var hasTr = false ;
var toExpand = [ ] ;
this . autoMergeCells = Utils . checkAutoMergeCells ( data . slice ( this . pageFrom - 1 , this . pageTo ) ) ;
for ( var i = this . pageFrom - 1 ; i < this . pageTo ; i ++ ) {
var item = data [ i ] ;
var tr = this . initRow ( item , i , data , trFragments ) ;
hasTr = hasTr || ! ! tr ;
if ( tr && typeof tr === 'string' ) {
var uniqueId = this . options . uniqueId ;
if ( uniqueId && item . hasOwnProperty ( uniqueId ) ) {
var itemUniqueId = item [ uniqueId ] ;
var oldTr = this . $body . find ( Utils . sprintf ( '> tr[data-uniqueid="%s"][data-has-detail-view]' , itemUniqueId ) ) ;
var oldTrNext = oldTr . next ( ) ;
if ( oldTrNext . is ( 'tr.detail-view' ) ) {
toExpand . push ( i ) ;
if ( ! updatedUid || itemUniqueId !== updatedUid ) {
tr += oldTrNext [ 0 ] . outerHTML ;
}
}
}
if ( ! this . options . virtualScroll ) {
trFragments . append ( tr ) ;
} else {
rows . push ( tr ) ;
}
}
}
// show no records
if ( ! hasTr ) {
this . $body . html ( "<tr class=\"no-records-found\">" . concat ( Utils . sprintf ( '<td colspan="%s">%s</td>' , this . getVisibleFields ( ) . length + Utils . getDetailViewIndexOffset ( this . options ) , this . options . formatNoMatches ( ) ) , "</tr>" ) ) ;
} else if ( ! this . options . virtualScroll ) {
this . $body . html ( trFragments ) ;
} else {
if ( this . virtualScroll ) {
this . virtualScroll . destroy ( ) ;
}
this . virtualScroll = new VirtualScroll ( {
rows : rows ,
fixedScroll : fixedScroll ,
scrollEl : this . $tableBody [ 0 ] ,
contentEl : this . $body [ 0 ] ,
itemHeight : this . options . virtualScrollItemHeight ,
callback : function callback ( startIndex , endIndex ) {
_this8 . fitHeader ( ) ;
_this8 . initBodyEvent ( ) ;
_this8 . trigger ( 'virtual-scroll' , startIndex , endIndex ) ;
}
} ) ;
}
toExpand . forEach ( function ( index ) {
_this8 . expandRow ( index ) ;
} ) ;
if ( ! fixedScroll ) {
this . scrollTo ( 0 ) ;
}
this . initBodyEvent ( ) ;
this . initFooter ( ) ;
this . resetView ( ) ;
this . updateSelected ( ) ;
if ( this . options . sidePagination !== 'server' ) {
this . options . totalRows = data . length ;
}
this . trigger ( 'post-body' , data ) ;
}
} , {
key : "initBodyEvent" ,
value : function initBodyEvent ( ) {
var _this9 = this ;
// click to select by column
this . $body . find ( '> tr[data-index] > td' ) . off ( 'click dblclick' ) . on ( 'click dblclick' , function ( e ) {
var $td = $ ( e . currentTarget ) ;
if ( $td . find ( '.detail-icon' ) . length || $td . index ( ) - Utils . getDetailViewIndexOffset ( _this9 . options ) < 0 ) {
return ;
}
var $tr = $td . parent ( ) ;
var $cardViewArr = $ ( e . target ) . parents ( '.card-views' ) . children ( ) ;
var $cardViewTarget = $ ( e . target ) . parents ( '.card-view' ) ;
var rowIndex = $tr . data ( 'index' ) ;
var item = _this9 . data [ rowIndex ] ;
var index = _this9 . options . cardView ? $cardViewArr . index ( $cardViewTarget ) : $td [ 0 ] . cellIndex ;
var fields = _this9 . getVisibleFields ( ) ;
var field = fields [ index - Utils . getDetailViewIndexOffset ( _this9 . options ) ] ;
var column = _this9 . columns [ _this9 . fieldsColumnsIndex [ field ] ] ;
var value = Utils . getItemField ( item , field , _this9 . options . escape , column . escape ) ;
_this9 . trigger ( e . type === 'click' ? 'click-cell' : 'dbl-click-cell' , field , value , item , $td ) ;
_this9 . trigger ( e . type === 'click' ? 'click-row' : 'dbl-click-row' , item , $tr , field ) ;
// if click to select - then trigger the checkbox/radio click
if ( e . type === 'click' && _this9 . options . clickToSelect && column . clickToSelect && ! Utils . calculateObjectValue ( _this9 . options , _this9 . options . ignoreClickToSelectOn , [ e . target ] ) ) {
var $selectItem = $tr . find ( Utils . sprintf ( '[name="%s"]' , _this9 . options . selectItemName ) ) ;
if ( $selectItem . length ) {
$selectItem [ 0 ] . click ( ) ;
}
}
if ( e . type === 'click' && _this9 . options . detailViewByClick ) {
_this9 . toggleDetailView ( rowIndex , _this9 . header . detailFormatters [ _this9 . fieldsColumnsIndex [ field ] ] ) ;
}
} ) . off ( 'mousedown' ) . on ( 'mousedown' , function ( e ) {
// https://github.com/jquery/jquery/issues/1741
_this9 . multipleSelectRowCtrlKey = e . ctrlKey || e . metaKey ;
_this9 . multipleSelectRowShiftKey = e . shiftKey ;
} ) ;
this . $body . find ( '> tr[data-index] > td > .detail-icon' ) . off ( 'click' ) . on ( 'click' , function ( e ) {
e . preventDefault ( ) ;
_this9 . toggleDetailView ( $ ( e . currentTarget ) . parent ( ) . parent ( ) . data ( 'index' ) ) ;
return false ;
} ) ;
this . $selectItem = this . $body . find ( Utils . sprintf ( '[name="%s"]' , this . options . selectItemName ) ) ;
this . $selectItem . off ( 'click' ) . on ( 'click' , function ( e ) {
e . stopImmediatePropagation ( ) ;
var $this = $ ( e . currentTarget ) ;
_this9 . _toggleCheck ( $this . prop ( 'checked' ) , $this . data ( 'index' ) ) ;
} ) ;
this . header . events . forEach ( function ( _events , i ) {
var events = _events ;
if ( ! events ) {
return ;
}
// fix bug, if events is defined with namespace
if ( typeof events === 'string' ) {
events = Utils . calculateObjectValue ( null , events ) ;
}
if ( ! events ) {
throw new Error ( "Unknown event in the scope: " . concat ( _events ) ) ;
}
var field = _this9 . header . fields [ i ] ;
var fieldIndex = _this9 . getVisibleFields ( ) . indexOf ( field ) ;
if ( fieldIndex === - 1 ) {
return ;
}
fieldIndex += Utils . getDetailViewIndexOffset ( _this9 . options ) ;
var _loop3 = function _loop3 ( key ) {
if ( ! events . hasOwnProperty ( key ) ) {
return 1 ; // continue
}
var event = events [ key ] ;
_this9 . $body . find ( '>tr:not(.no-records-found)' ) . each ( function ( i , tr ) {
var $tr = $ ( tr ) ;
var $td = $tr . find ( _this9 . options . cardView ? '.card-views>.card-view' : '>td' ) . eq ( fieldIndex ) ;
var index = key . indexOf ( ' ' ) ;
var name = key . substring ( 0 , index ) ;
var el = key . substring ( index + 1 ) ;
$td . find ( el ) . off ( name ) . on ( name , function ( e ) {
var index = $tr . data ( 'index' ) ;
var row = _this9 . data [ index ] ;
var value = row [ field ] ;
event . apply ( _this9 , [ e , value , row , index ] ) ;
} ) ;
} ) ;
} ;
for ( var key in events ) {
if ( _loop3 ( key ) ) continue ;
}
} ) ;
}
} , {
key : "initServer" ,
value : function initServer ( silent , query , url ) {
var _this10 = this ;
var data = { } ;
var index = this . header . fields . indexOf ( this . options . sortName ) ;
var params = {
searchText : this . searchText ,
sortName : this . options . sortName ,
sortOrder : this . options . sortOrder
} ;
if ( this . header . sortNames [ index ] ) {
params . sortName = this . header . sortNames [ index ] ;
}
if ( this . options . pagination && this . options . sidePagination === 'server' ) {
params . pageSize = this . options . pageSize === this . options . formatAllRows ( ) ? this . options . totalRows : this . options . pageSize ;
params . pageNumber = this . options . pageNumber ;
}
if ( ! ( url || this . options . url ) && ! this . options . ajax ) {
return ;
}
if ( this . options . queryParamsType === 'limit' ) {
params = {
search : params . searchText ,
sort : params . sortName ,
order : params . sortOrder
} ;
if ( this . options . pagination && this . options . sidePagination === 'server' ) {
params . offset = this . options . pageSize === this . options . formatAllRows ( ) ? 0 : this . options . pageSize * ( this . options . pageNumber - 1 ) ;
params . limit = this . options . pageSize ;
if ( params . limit === 0 || this . options . pageSize === this . options . formatAllRows ( ) ) {
delete params . limit ;
}
}
}
if ( this . options . search && this . options . sidePagination === 'server' && this . options . searchable && this . columns . filter ( function ( column ) {
return column . searchable ;
} ) . length ) {
params . searchable = [ ] ;
var _iterator2 = _createForOfIteratorHelper ( this . columns ) ,
_step2 ;
try {
for ( _iterator2 . s ( ) ; ! ( _step2 = _iterator2 . n ( ) ) . done ; ) {
var column = _step2 . value ;
if ( ! column . checkbox && column . searchable && ( this . options . visibleSearch && column . visible || ! this . options . visibleSearch ) ) {
params . searchable . push ( column . field ) ;
}
}
} catch ( err ) {
_iterator2 . e ( err ) ;
} finally {
_iterator2 . f ( ) ;
}
}
if ( ! Utils . isEmptyObject ( this . filterColumnsPartial ) ) {
params . filter = JSON . stringify ( this . filterColumnsPartial , null ) ;
}
Utils . extend ( params , query || { } ) ;
data = Utils . calculateObjectValue ( this . options , this . options . queryParams , [ params ] , data ) ;
// false to stop request
if ( data === false ) {
return ;
}
if ( ! silent ) {
this . showLoading ( ) ;
}
var request = Utils . extend ( { } , Utils . calculateObjectValue ( null , this . options . ajaxOptions ) , {
type : this . options . method ,
url : url || this . options . url ,
data : this . options . contentType === 'application/json' && this . options . method === 'post' ? JSON . stringify ( data ) : data ,
cache : this . options . cache ,
contentType : this . options . contentType ,
dataType : this . options . dataType ,
success : function success ( _res , textStatus , jqXHR ) {
var res = Utils . calculateObjectValue ( _this10 . options , _this10 . options . responseHandler , [ _res , jqXHR ] , _res ) ;
if ( _this10 . options . sidePagination === 'client' && _this10 . options . paginationLoadMore ) {
_this10 . _paginationLoaded = _this10 . data . length === res . length ;
}
_this10 . load ( res ) ;
_this10 . trigger ( 'load-success' , res , jqXHR && jqXHR . status , jqXHR ) ;
if ( ! silent ) {
_this10 . hideLoading ( ) ;
}
if ( _this10 . options . sidePagination === 'server' && _this10 . options . pageNumber > 1 && res [ _this10 . options . totalField ] > 0 && ! res [ _this10 . options . dataField ] . length ) {
_this10 . updatePagination ( ) ;
}
} ,
error : function error ( jqXHR ) {
// abort ajax by multiple request
if ( jqXHR && jqXHR . status === 0 && _this10 . _xhrAbort ) {
_this10 . _xhrAbort = false ;
return ;
}
var data = [ ] ;
if ( _this10 . options . sidePagination === 'server' ) {
data = { } ;
data [ _this10 . options . totalField ] = 0 ;
data [ _this10 . options . dataField ] = [ ] ;
}
_this10 . load ( data ) ;
_this10 . trigger ( 'load-error' , jqXHR && jqXHR . status , jqXHR ) ;
if ( ! silent ) {
_this10 . hideLoading ( ) ;
}
}
} ) ;
if ( this . options . ajax ) {
Utils . calculateObjectValue ( this , this . options . ajax , [ request ] , null ) ;
} else {
if ( this . _xhr && this . _xhr . readyState !== 4 ) {
this . _xhrAbort = true ;
this . _xhr . abort ( ) ;
}
this . _xhr = $ . ajax ( request ) ;
}
return data ;
}
} , {
key : "initSearchText" ,
value : function initSearchText ( ) {
if ( this . options . search ) {
this . searchText = '' ;
if ( this . options . searchText !== '' ) {
var $search = Utils . getSearchInput ( this ) ;
$search . val ( this . options . searchText ) ;
this . onSearch ( {
currentTarget : $search ,
firedByInitSearchText : true
} ) ;
}
}
}
} , {
key : "getCaret" ,
value : function getCaret ( ) {
var _this11 = this ;
this . $header . find ( 'th' ) . each ( function ( i , th ) {
$ ( th ) . find ( '.sortable' ) . removeClass ( 'desc asc' ) . addClass ( $ ( th ) . data ( 'field' ) === _this11 . options . sortName ? _this11 . options . sortOrder : 'both' ) ;
} ) ;
}
} , {
key : "updateSelected" ,
value : function updateSelected ( ) {
var checkAll = this . $selectItem . filter ( ':enabled' ) . length && this . $selectItem . filter ( ':enabled' ) . length === this . $selectItem . filter ( ':enabled' ) . filter ( ':checked' ) . length ;
this . $selectAll . add ( this . $selectAll _ ) . prop ( 'checked' , checkAll ) ;
this . $selectItem . each ( function ( i , el ) {
$ ( el ) . closest ( 'tr' ) [ $ ( el ) . prop ( 'checked' ) ? 'addClass' : 'removeClass' ] ( 'selected' ) ;
} ) ;
}
} , {
key : "updateRows" ,
value : function updateRows ( ) {
var _this12 = this ;
this . $selectItem . each ( function ( i , el ) {
_this12 . data [ $ ( el ) . data ( 'index' ) ] [ _this12 . header . stateField ] = $ ( el ) . prop ( 'checked' ) ;
} ) ;
}
} , {
key : "resetRows" ,
value : function resetRows ( ) {
var _iterator3 = _createForOfIteratorHelper ( this . data ) ,
_step3 ;
try {
for ( _iterator3 . s ( ) ; ! ( _step3 = _iterator3 . n ( ) ) . done ; ) {
var row = _step3 . value ;
this . $selectAll . prop ( 'checked' , false ) ;
this . $selectItem . prop ( 'checked' , false ) ;
if ( this . header . stateField ) {
row [ this . header . stateField ] = false ;
}
}
} catch ( err ) {
_iterator3 . e ( err ) ;
} finally {
_iterator3 . f ( ) ;
}
this . initHiddenRows ( ) ;
}
} , {
key : "trigger" ,
value : function trigger ( _name ) {
var _this$options , _this$options2 ;
var name = "" . concat ( _name , ".bs.table" ) ;
for ( var _len = arguments . length , args = new Array ( _len > 1 ? _len - 1 : 0 ) , _key4 = 1 ; _key4 < _len ; _key4 ++ ) {
args [ _key4 - 1 ] = arguments [ _key4 ] ;
}
( _this$options = this . options ) [ BootstrapTable . EVENTS [ name ] ] . apply ( _this$options , [ ] . concat ( args , [ this ] ) ) ;
this . $el . trigger ( $ . Event ( name , {
sender : this
} ) , args ) ;
( _this$options2 = this . options ) . onAll . apply ( _this$options2 , [ name ] . concat ( [ ] . concat ( args , [ this ] ) ) ) ;
this . $el . trigger ( $ . Event ( 'all.bs.table' , {
sender : this
} ) , [ name , args ] ) ;
}
} , {
key : "resetHeader" ,
value : function resetHeader ( ) {
var _this13 = this ;
// fix #61: the hidden table reset header bug.
// fix bug: get $el.css('width') error sometime (height = 500)
clearTimeout ( this . timeoutId _ ) ;
this . timeoutId _ = setTimeout ( function ( ) {
return _this13 . fitHeader ( ) ;
} , this . $el . is ( ':hidden' ) ? 100 : 0 ) ;
}
} , {
key : "fitHeader" ,
value : function fitHeader ( ) {
var _this14 = this ;
if ( this . $el . is ( ':hidden' ) ) {
this . timeoutId _ = setTimeout ( function ( ) {
return _this14 . fitHeader ( ) ;
} , 100 ) ;
return ;
}
var fixedBody = this . $tableBody . get ( 0 ) ;
var scrollWidth = this . hasScrollBar && fixedBody . scrollHeight > fixedBody . clientHeight + this . $header . outerHeight ( ) ? Utils . getScrollBarWidth ( ) : 0 ;
this . $el . css ( 'margin-top' , - this . $header . outerHeight ( ) ) ;
var focused = this . $tableHeader . find ( ':focus' ) ;
if ( focused . length > 0 ) {
var $th = focused . parents ( 'th' ) ;
if ( $th . length > 0 ) {
var dataField = $th . attr ( 'data-field' ) ;
if ( dataField !== undefined ) {
var $headerTh = this . $header . find ( "[data-field='" . concat ( dataField , "']" ) ) ;
if ( $headerTh . length > 0 ) {
$headerTh . find ( ':input' ) . addClass ( 'focus-temp' ) ;
}
}
}
}
this . $header _ = this . $header . clone ( true , true ) ;
this . $selectAll _ = this . $header _ . find ( '[name="btSelectAll"]' ) ;
this . $tableHeader . css ( 'margin-right' , scrollWidth ) . find ( 'table' ) . css ( 'width' , this . $el . outerWidth ( ) ) . html ( '' ) . attr ( 'class' , this . $el . attr ( 'class' ) ) . append ( this . $header _ ) ;
this . $tableLoading . css ( 'width' , this . $el . outerWidth ( ) ) ;
var focusedTemp = $ ( '.focus-temp:visible:eq(0)' ) ;
if ( focusedTemp . length > 0 ) {
focusedTemp . focus ( ) ;
this . $header . find ( '.focus-temp' ) . removeClass ( 'focus-temp' ) ;
}
// fix bug: $.data() is not working as expected after $.append()
this . $header . find ( 'th[data-field]' ) . each ( function ( i , el ) {
_this14 . $header _ . find ( Utils . sprintf ( 'th[data-field="%s"]' , $ ( el ) . data ( 'field' ) ) ) . data ( $ ( el ) . data ( ) ) ;
} ) ;
var visibleFields = this . getVisibleFields ( ) ;
var $ths = this . $header _ . find ( 'th' ) ;
var $tr = this . $body . find ( '>tr:not(.no-records-found,.virtual-scroll-top)' ) . eq ( 0 ) ;
while ( $tr . length && $tr . find ( '>td[colspan]:not([colspan="1"])' ) . length ) {
$tr = $tr . next ( ) ;
}
var trLength = $tr . find ( '> *' ) . length ;
$tr . find ( '> *' ) . each ( function ( i , el ) {
var $this = $ ( el ) ;
if ( Utils . hasDetailViewIcon ( _this14 . options ) ) {
if ( i === 0 && _this14 . options . detailViewAlign !== 'right' || i === trLength - 1 && _this14 . options . detailViewAlign === 'right' ) {
var $thDetail = $ths . filter ( '.detail' ) ;
var _zoomWidth = $thDetail . innerWidth ( ) - $thDetail . find ( '.fht-cell' ) . width ( ) ;
$thDetail . find ( '.fht-cell' ) . width ( $this . innerWidth ( ) - _zoomWidth ) ;
return ;
}
}
var index = i - Utils . getDetailViewIndexOffset ( _this14 . options ) ;
var $th = _this14 . $header _ . find ( Utils . sprintf ( 'th[data-field="%s"]' , visibleFields [ index ] ) ) ;
if ( $th . length > 1 ) {
$th = $ ( $ths [ $this [ 0 ] . cellIndex ] ) ;
}
var zoomWidth = $th . innerWidth ( ) - $th . find ( '.fht-cell' ) . width ( ) ;
$th . find ( '.fht-cell' ) . width ( $this . innerWidth ( ) - zoomWidth ) ;
} ) ;
this . horizontalScroll ( ) ;
this . trigger ( 'post-header' ) ;
}
} , {
key : "initFooter" ,
value : function initFooter ( ) {
if ( ! this . options . showFooter || this . options . cardView ) {
// do nothing
return ;
}
var data = this . getData ( ) ;
var html = [ ] ;
var detailTemplate = '' ;
if ( Utils . hasDetailViewIcon ( this . options ) ) {
detailTemplate = '<th class="detail"><div class="th-inner"></div><div class="fht-cell"></div></th>' ;
}
if ( detailTemplate && this . options . detailViewAlign !== 'right' ) {
html . push ( detailTemplate ) ;
}
var _iterator4 = _createForOfIteratorHelper ( this . columns ) ,
_step4 ;
try {
for ( _iterator4 . s ( ) ; ! ( _step4 = _iterator4 . n ( ) ) . done ; ) {
var column = _step4 . value ;
var falign = '' ;
var valign = '' ;
var csses = [ ] ;
var style = { } ;
var class _ = Utils . sprintf ( ' class="%s"' , column [ 'class' ] ) ;
if ( ! column . visible || this . footerData && this . footerData . length > 0 && ! ( column . field in this . footerData [ 0 ] ) ) {
continue ;
}
if ( this . options . cardView && ! column . cardVisible ) {
return ;
}
falign = Utils . sprintf ( 'text-align: %s; ' , column . falign ? column . falign : column . align ) ;
valign = Utils . sprintf ( 'vertical-align: %s; ' , column . valign ) ;
style = Utils . calculateObjectValue ( null , column . footerStyle || this . options . footerStyle , [ column ] ) ;
if ( style && style . css ) {
for ( var _i14 = 0 , _Object$entries13 = Object . entries ( style . css ) ; _i14 < _Object$entries13 . length ; _i14 ++ ) {
var _Object$entries13$ _i = _slicedToArray ( _Object$entries13 [ _i14 ] , 2 ) ,
key = _Object$entries13$ _i [ 0 ] ,
_value3 = _Object$entries13$ _i [ 1 ] ;
csses . push ( "" . concat ( key , ": " ) . concat ( _value3 ) ) ;
}
}
if ( style && style . classes ) {
class _ = Utils . sprintf ( ' class="%s"' , column [ 'class' ] ? [ column [ 'class' ] , style . classes ] . join ( ' ' ) : style . classes ) ;
}
html . push ( '<th' , class _ , Utils . sprintf ( ' style="%s"' , falign + valign + csses . concat ( ) . join ( '; ' ) || undefined ) ) ;
var colspan = 0 ;
if ( this . footerData && this . footerData . length > 0 ) {
colspan = this . footerData [ 0 ] [ "_" . concat ( column . field , "_colspan" ) ] || 0 ;
}
if ( colspan ) {
html . push ( " colspan=\"" . concat ( colspan , "\" " ) ) ;
}
html . push ( '>' ) ;
html . push ( '<div class="th-inner">' ) ;
var value = '' ;
if ( this . footerData && this . footerData . length > 0 ) {
value = this . footerData [ 0 ] [ column . field ] || '' ;
}
html . push ( Utils . calculateObjectValue ( column , column . footerFormatter , [ data , value ] , value ) ) ;
html . push ( '</div>' ) ;
html . push ( '<div class="fht-cell"></div>' ) ;
html . push ( '</div>' ) ;
html . push ( '</th>' ) ;
}
} catch ( err ) {
_iterator4 . e ( err ) ;
} finally {
_iterator4 . f ( ) ;
}
if ( detailTemplate && this . options . detailViewAlign === 'right' ) {
html . push ( detailTemplate ) ;
}
if ( ! this . options . height && ! this . $tableFooter . length ) {
this . $el . append ( '<tfoot><tr></tr></tfoot>' ) ;
this . $tableFooter = this . $el . find ( 'tfoot' ) ;
}
if ( ! this . $tableFooter . find ( 'tr' ) . length ) {
this . $tableFooter . html ( '<table><thead><tr></tr></thead></table>' ) ;
}
this . $tableFooter . find ( 'tr' ) . html ( html . join ( '' ) ) ;
this . trigger ( 'post-footer' , this . $tableFooter ) ;
}
} , {
key : "fitFooter" ,
value : function fitFooter ( ) {
var _this15 = this ;
if ( this . $el . is ( ':hidden' ) ) {
setTimeout ( function ( ) {
return _this15 . fitFooter ( ) ;
} , 100 ) ;
return ;
}
var fixedBody = this . $tableBody . get ( 0 ) ;
var scrollWidth = this . hasScrollBar && fixedBody . scrollHeight > fixedBody . clientHeight + this . $header . outerHeight ( ) ? Utils . getScrollBarWidth ( ) : 0 ;
this . $tableFooter . css ( 'margin-right' , scrollWidth ) . find ( 'table' ) . css ( 'width' , this . $el . outerWidth ( ) ) . attr ( 'class' , this . $el . attr ( 'class' ) ) ;
var $ths = this . $tableFooter . find ( 'th' ) ;
var $tr = this . $body . find ( '>tr:first-child:not(.no-records-found)' ) ;
$ths . find ( '.fht-cell' ) . width ( 'auto' ) ;
while ( $tr . length && $tr . find ( '>td[colspan]:not([colspan="1"])' ) . length ) {
$tr = $tr . next ( ) ;
}
var trLength = $tr . find ( '> *' ) . length ;
$tr . find ( '> *' ) . each ( function ( i , el ) {
var $this = $ ( el ) ;
if ( Utils . hasDetailViewIcon ( _this15 . options ) ) {
if ( i === 0 && _this15 . options . detailViewAlign === 'left' || i === trLength - 1 && _this15 . options . detailViewAlign === 'right' ) {
var $thDetail = $ths . filter ( '.detail' ) ;
var _zoomWidth2 = $thDetail . innerWidth ( ) - $thDetail . find ( '.fht-cell' ) . width ( ) ;
$thDetail . find ( '.fht-cell' ) . width ( $this . innerWidth ( ) - _zoomWidth2 ) ;
return ;
}
}
var $th = $ths . eq ( i ) ;
var zoomWidth = $th . innerWidth ( ) - $th . find ( '.fht-cell' ) . width ( ) ;
$th . find ( '.fht-cell' ) . width ( $this . innerWidth ( ) - zoomWidth ) ;
} ) ;
this . horizontalScroll ( ) ;
}
} , {
key : "horizontalScroll" ,
value : function horizontalScroll ( ) {
var _this16 = this ;
// horizontal scroll event
// TODO: it's probably better improving the layout than binding to scroll event
this . $tableBody . off ( 'scroll' ) . on ( 'scroll' , function ( ) {
var scrollLeft = _this16 . $tableBody . scrollLeft ( ) ;
if ( _this16 . options . showHeader && _this16 . options . height ) {
_this16 . $tableHeader . scrollLeft ( scrollLeft ) ;
}
if ( _this16 . options . showFooter && ! _this16 . options . cardView ) {
_this16 . $tableFooter . scrollLeft ( scrollLeft ) ;
}
_this16 . trigger ( 'scroll-body' , _this16 . $tableBody ) ;
} ) ;
}
} , {
key : "getVisibleFields" ,
value : function getVisibleFields ( ) {
var visibleFields = [ ] ;
var _iterator5 = _createForOfIteratorHelper ( this . header . fields ) ,
_step5 ;
try {
for ( _iterator5 . s ( ) ; ! ( _step5 = _iterator5 . n ( ) ) . done ; ) {
var field = _step5 . value ;
var column = this . columns [ this . fieldsColumnsIndex [ field ] ] ;
if ( ! column || ! column . visible || this . options . cardView && ! column . cardVisible ) {
continue ;
}
visibleFields . push ( field ) ;
}
} catch ( err ) {
_iterator5 . e ( err ) ;
} finally {
_iterator5 . f ( ) ;
}
return visibleFields ;
}
} , {
key : "initHiddenRows" ,
value : function initHiddenRows ( ) {
this . hiddenRows = [ ] ;
}
// PUBLIC FUNCTION DEFINITION
// =======================
} , {
key : "getOptions" ,
value : function getOptions ( ) {
// deep copy and remove data
var options = Utils . extend ( { } , this . options ) ;
delete options . data ;
return Utils . extend ( true , { } , options ) ;
}
} , {
key : "refreshOptions" ,
value : function refreshOptions ( options ) {
// If the objects are equivalent then avoid the call of destroy / init methods
if ( Utils . compareObjects ( this . options , options , true ) ) {
return ;
}
this . options = Utils . extend ( this . options , options ) ;
this . trigger ( 'refresh-options' , this . options ) ;
this . destroy ( ) ;
this . init ( ) ;
}
} , {
key : "getData" ,
value : function getData ( params ) {
var _this17 = this ;
var data = this . options . data ;
if ( ( this . searchText || this . options . customSearch || this . options . sortName !== undefined || this . enableCustomSort ||
// Fix #4616: this.enableCustomSort is for extensions
! Utils . isEmptyObject ( this . filterColumns ) || typeof this . options . filterOptions . filterAlgorithm === 'function' || ! Utils . isEmptyObject ( this . filterColumnsPartial ) ) && ( ! params || ! params . unfiltered ) ) {
data = this . data ;
}
if ( params && ! params . includeHiddenRows ) {
var hiddenRows = this . getHiddenRows ( ) ;
data = data . filter ( function ( row ) {
return Utils . findIndex ( hiddenRows , row ) === - 1 ;
} ) ;
}
if ( params && params . useCurrentPage ) {
data = data . slice ( this . pageFrom - 1 , this . pageTo ) ;
}
if ( params && params . formatted ) {
return data . map ( function ( row ) {
for ( var _i15 = 0 , _Object$entries14 = Object . entries ( row ) ; _i15 < _Object$entries14 . length ; _i15 ++ ) {
var _Object$entries14$ _i = _slicedToArray ( _Object$entries14 [ _i15 ] , 2 ) ,
key = _Object$entries14$ _i [ 0 ] ,
value = _Object$entries14$ _i [ 1 ] ;
var column = _this17 . columns [ _this17 . fieldsColumnsIndex [ key ] ] ;
if ( ! column ) {
continue ;
}
return Utils . calculateObjectValue ( column , _this17 . header . formatters [ column . fieldIndex ] , [ value , row , row . index , column . field ] , value ) ;
}
} ) ;
}
return data ;
}
} , {
key : "getSelections" ,
value : function getSelections ( ) {
var _this18 = this ;
return ( this . options . maintainMetaData ? this . options . data : this . data ) . filter ( function ( row ) {
return row [ _this18 . header . stateField ] === true ;
} ) ;
}
} , {
key : "load" ,
value : function load ( _data ) {
var fixedScroll = false ;
var data = _data ;
// #431: support pagination
if ( this . options . pagination && this . options . sidePagination === 'server' ) {
this . options . totalRows = data [ this . options . totalField ] ;
this . options . totalNotFiltered = data [ this . options . totalNotFilteredField ] ;
this . footerData = data [ this . options . footerField ] ? [ data [ this . options . footerField ] ] : undefined ;
}
fixedScroll = this . options . fixedScroll || data . fixedScroll ;
data = Array . isArray ( data ) ? data : data [ this . options . dataField ] ;
this . initData ( data ) ;
this . initSearch ( ) ;
this . initPagination ( ) ;
this . initBody ( fixedScroll ) ;
}
} , {
key : "append" ,
value : function append ( data ) {
this . initData ( data , 'append' ) ;
this . initSearch ( ) ;
this . initPagination ( ) ;
this . initSort ( ) ;
this . initBody ( true ) ;
}
} , {
key : "prepend" ,
value : function prepend ( data ) {
this . initData ( data , 'prepend' ) ;
this . initSearch ( ) ;
this . initPagination ( ) ;
this . initSort ( ) ;
this . initBody ( true ) ;
}
} , {
key : "remove" ,
value : function remove ( params ) {
var removed = 0 ;
for ( var i = this . options . data . length - 1 ; i >= 0 ; i -- ) {
var row = this . options . data [ i ] ;
var value = Utils . getItemField ( row , params . field , this . options . escape , row . escape ) ;
if ( value === undefined && params . field !== '$index' ) {
continue ;
}
if ( ! row . hasOwnProperty ( params . field ) && params . field === '$index' && params . values . includes ( i ) || params . values . includes ( value ) ) {
removed ++ ;
this . options . data . splice ( i , 1 ) ;
}
}
if ( ! removed ) {
return ;
}
if ( this . options . sidePagination === 'server' ) {
this . options . totalRows -= removed ;
this . data = _toConsumableArray ( this . options . data ) ;
}
this . initSearch ( ) ;
this . initPagination ( ) ;
this . initSort ( ) ;
this . initBody ( true ) ;
}
} , {
key : "removeAll" ,
value : function removeAll ( ) {
if ( this . options . data . length > 0 ) {
this . options . data . splice ( 0 , this . options . data . length ) ;
this . initSearch ( ) ;
this . initPagination ( ) ;
this . initBody ( true ) ;
}
}
} , {
key : "insertRow" ,
value : function insertRow ( params ) {
if ( ! params . hasOwnProperty ( 'index' ) || ! params . hasOwnProperty ( 'row' ) ) {
return ;
}
this . options . data . splice ( params . index , 0 , params . row ) ;
this . initSearch ( ) ;
this . initPagination ( ) ;
this . initSort ( ) ;
this . initBody ( true ) ;
}
} , {
key : "updateRow" ,
value : function updateRow ( params ) {
var allParams = Array . isArray ( params ) ? params : [ params ] ;
var _iterator6 = _createForOfIteratorHelper ( allParams ) ,
_step6 ;
try {
for ( _iterator6 . s ( ) ; ! ( _step6 = _iterator6 . n ( ) ) . done ; ) {
var _params = _step6 . value ;
if ( ! _params . hasOwnProperty ( 'index' ) || ! _params . hasOwnProperty ( 'row' ) ) {
continue ;
}
if ( _params . hasOwnProperty ( 'replace' ) && _params . replace ) {
this . options . data [ _params . index ] = _params . row ;
} else {
Utils . extend ( this . options . data [ _params . index ] , _params . row ) ;
}
}
} catch ( err ) {
_iterator6 . e ( err ) ;
} finally {
_iterator6 . f ( ) ;
}
this . initSearch ( ) ;
this . initPagination ( ) ;
this . initSort ( ) ;
this . initBody ( true ) ;
}
} , {
key : "getRowByUniqueId" ,
value : function getRowByUniqueId ( _id ) {
var uniqueId = this . options . uniqueId ;
var len = this . options . data . length ;
var id = _id ;
var dataRow = null ;
var i ;
var row ;
for ( i = len - 1 ; i >= 0 ; i -- ) {
row = this . options . data [ i ] ;
var rowUniqueId = Utils . getItemField ( row , uniqueId , this . options . escape , row . escape ) ;
if ( rowUniqueId === undefined ) {
continue ;
}
if ( typeof rowUniqueId === 'string' ) {
id = _id . toString ( ) ;
} else if ( typeof rowUniqueId === 'number' ) {
if ( Number ( rowUniqueId ) === rowUniqueId && rowUniqueId % 1 === 0 ) {
id = parseInt ( _id , 10 ) ;
} else if ( rowUniqueId === Number ( rowUniqueId ) && rowUniqueId !== 0 ) {
id = parseFloat ( _id ) ;
}
}
if ( rowUniqueId === id ) {
dataRow = row ;
break ;
}
}
return dataRow ;
}
} , {
key : "updateByUniqueId" ,
value : function updateByUniqueId ( params ) {
var allParams = Array . isArray ( params ) ? params : [ params ] ;
var updatedUid = null ;
var _iterator7 = _createForOfIteratorHelper ( allParams ) ,
_step7 ;
try {
for ( _iterator7 . s ( ) ; ! ( _step7 = _iterator7 . n ( ) ) . done ; ) {
var _params2 = _step7 . value ;
if ( ! _params2 . hasOwnProperty ( 'id' ) || ! _params2 . hasOwnProperty ( 'row' ) ) {
continue ;
}
var rowId = this . options . data . indexOf ( this . getRowByUniqueId ( _params2 . id ) ) ;
if ( rowId === - 1 ) {
continue ;
}
if ( _params2 . hasOwnProperty ( 'replace' ) && _params2 . replace ) {
this . options . data [ rowId ] = _params2 . row ;
} else {
Utils . extend ( this . options . data [ rowId ] , _params2 . row ) ;
}
updatedUid = _params2 . id ;
}
} catch ( err ) {
_iterator7 . e ( err ) ;
} finally {
_iterator7 . f ( ) ;
}
this . initSearch ( ) ;
this . initPagination ( ) ;
this . initSort ( ) ;
this . initBody ( true , updatedUid ) ;
}
} , {
key : "removeByUniqueId" ,
value : function removeByUniqueId ( id ) {
var len = this . options . data . length ;
var row = this . getRowByUniqueId ( id ) ;
if ( row ) {
this . options . data . splice ( this . options . data . indexOf ( row ) , 1 ) ;
}
if ( len === this . options . data . length ) {
return ;
}
if ( this . options . sidePagination === 'server' ) {
this . options . totalRows -= 1 ;
this . data = _toConsumableArray ( this . options . data ) ;
}
this . initSearch ( ) ;
this . initPagination ( ) ;
this . initBody ( true ) ;
}
} , {
key : "_updateCellOnly" ,
value : function _updateCellOnly ( field , index ) {
var rowHtml = this . initRow ( this . options . data [ index ] , index ) ;
var fieldIndex = this . getVisibleFields ( ) . indexOf ( field ) ;
if ( fieldIndex === - 1 ) {
return ;
}
fieldIndex += Utils . getDetailViewIndexOffset ( this . options ) ;
this . $body . find ( ">tr[data-index=" . concat ( index , "]" ) ) . find ( ">td:eq(" . concat ( fieldIndex , ")" ) ) . replaceWith ( $ ( rowHtml ) . find ( ">td:eq(" . concat ( fieldIndex , ")" ) ) ) ;
this . initBodyEvent ( ) ;
this . initFooter ( ) ;
this . resetView ( ) ;
this . updateSelected ( ) ;
}
} , {
key : "updateCell" ,
value : function updateCell ( params ) {
if ( ! params . hasOwnProperty ( 'index' ) || ! params . hasOwnProperty ( 'field' ) || ! params . hasOwnProperty ( 'value' ) ) {
return ;
}
this . options . data [ params . index ] [ params . field ] = params . value ;
if ( params . reinit === false ) {
this . _updateCellOnly ( params . field , params . index ) ;
return ;
}
this . initSort ( ) ;
this . initBody ( true ) ;
}
} , {
key : "updateCellByUniqueId" ,
value : function updateCellByUniqueId ( params ) {
var _this19 = this ;
var allParams = Array . isArray ( params ) ? params : [ params ] ;
allParams . forEach ( function ( _ref6 ) {
var id = _ref6 . id ,
field = _ref6 . field ,
value = _ref6 . value ;
var index = _this19 . options . data . indexOf ( _this19 . getRowByUniqueId ( id ) ) ;
if ( index === - 1 ) {
return ;
}
_this19 . options . data [ index ] [ field ] = value ;
} ) ;
if ( params . reinit === false ) {
this . _updateCellOnly ( params . field , this . options . data . indexOf ( this . getRowByUniqueId ( params . id ) ) ) ;
return ;
}
this . initSort ( ) ;
this . initBody ( true ) ;
}
} , {
key : "showRow" ,
value : function showRow ( params ) {
this . _toggleRow ( params , true ) ;
}
} , {
key : "hideRow" ,
value : function hideRow ( params ) {
this . _toggleRow ( params , false ) ;
}
} , {
key : "_toggleRow" ,
value : function _toggleRow ( params , visible ) {
var row ;
if ( params . hasOwnProperty ( 'index' ) ) {
row = this . getData ( ) [ params . index ] ;
} else if ( params . hasOwnProperty ( 'uniqueId' ) ) {
row = this . getRowByUniqueId ( params . uniqueId ) ;
}
if ( ! row ) {
return ;
}
var index = Utils . findIndex ( this . hiddenRows , row ) ;
if ( ! visible && index === - 1 ) {
this . hiddenRows . push ( row ) ;
} else if ( visible && index > - 1 ) {
this . hiddenRows . splice ( index , 1 ) ;
}
this . initBody ( true ) ;
this . initPagination ( ) ;
}
} , {
key : "getHiddenRows" ,
value : function getHiddenRows ( show ) {
if ( show ) {
this . initHiddenRows ( ) ;
this . initBody ( true ) ;
this . initPagination ( ) ;
return ;
}
var data = this . getData ( ) ;
var rows = [ ] ;
var _iterator8 = _createForOfIteratorHelper ( data ) ,
_step8 ;
try {
for ( _iterator8 . s ( ) ; ! ( _step8 = _iterator8 . n ( ) ) . done ; ) {
var row = _step8 . value ;
if ( this . hiddenRows . includes ( row ) ) {
rows . push ( row ) ;
}
}
} catch ( err ) {
_iterator8 . e ( err ) ;
} finally {
_iterator8 . f ( ) ;
}
this . hiddenRows = rows ;
return rows ;
}
} , {
key : "showColumn" ,
value : function showColumn ( field ) {
var _this20 = this ;
var fields = Array . isArray ( field ) ? field : [ field ] ;
fields . forEach ( function ( field ) {
_this20 . _toggleColumn ( _this20 . fieldsColumnsIndex [ field ] , true , true ) ;
} ) ;
}
} , {
key : "hideColumn" ,
value : function hideColumn ( field ) {
var _this21 = this ;
var fields = Array . isArray ( field ) ? field : [ field ] ;
fields . forEach ( function ( field ) {
_this21 . _toggleColumn ( _this21 . fieldsColumnsIndex [ field ] , false , true ) ;
} ) ;
}
} , {
key : "_toggleColumn" ,
value : function _toggleColumn ( index , checked , needUpdate ) {
if ( index === undefined || this . columns [ index ] . visible === checked ) {
return ;
}
this . columns [ index ] . visible = checked ;
this . initHeader ( ) ;
this . initSearch ( ) ;
this . initPagination ( ) ;
this . initBody ( ) ;
if ( this . options . showColumns ) {
var $items = this . $toolbar . find ( '.keep-open input:not(".toggle-all")' ) . prop ( 'disabled' , false ) ;
if ( needUpdate ) {
$items . filter ( Utils . sprintf ( '[value="%s"]' , index ) ) . prop ( 'checked' , checked ) ;
}
if ( $items . filter ( ':checked' ) . length <= this . options . minimumCountColumns ) {
$items . filter ( ':checked' ) . prop ( 'disabled' , true ) ;
}
}
}
} , {
key : "getVisibleColumns" ,
value : function getVisibleColumns ( ) {
var _this22 = this ;
return this . columns . filter ( function ( column ) {
return column . visible && ! _this22 . isSelectionColumn ( column ) ;
} ) ;
}
} , {
key : "getHiddenColumns" ,
value : function getHiddenColumns ( ) {
return this . columns . filter ( function ( _ref7 ) {
var visible = _ref7 . visible ;
return ! visible ;
} ) ;
}
} , {
key : "isSelectionColumn" ,
value : function isSelectionColumn ( column ) {
return column . radio || column . checkbox ;
}
} , {
key : "showAllColumns" ,
value : function showAllColumns ( ) {
this . _toggleAllColumns ( true ) ;
}
} , {
key : "hideAllColumns" ,
value : function hideAllColumns ( ) {
this . _toggleAllColumns ( false ) ;
}
} , {
key : "_toggleAllColumns" ,
value : function _toggleAllColumns ( visible ) {
var _this23 = this ;
var _iterator9 = _createForOfIteratorHelper ( this . columns . slice ( ) . reverse ( ) ) ,
_step9 ;
try {
for ( _iterator9 . s ( ) ; ! ( _step9 = _iterator9 . n ( ) ) . done ; ) {
var column = _step9 . value ;
if ( column . switchable ) {
if ( ! visible && this . options . showColumns && this . getVisibleColumns ( ) . filter ( function ( it ) {
return it . switchable ;
} ) . length === this . options . minimumCountColumns ) {
continue ;
}
column . visible = visible ;
}
}
} catch ( err ) {
_iterator9 . e ( err ) ;
} finally {
_iterator9 . f ( ) ;
}
this . initHeader ( ) ;
this . initSearch ( ) ;
this . initPagination ( ) ;
this . initBody ( ) ;
if ( this . options . showColumns ) {
var $items = this . $toolbar . find ( '.keep-open input[type="checkbox"]:not(".toggle-all")' ) . prop ( 'disabled' , false ) ;
if ( visible ) {
$items . prop ( 'checked' , visible ) ;
} else {
$items . get ( ) . reverse ( ) . forEach ( function ( item ) {
if ( $items . filter ( ':checked' ) . length > _this23 . options . minimumCountColumns ) {
$ ( item ) . prop ( 'checked' , visible ) ;
}
} ) ;
}
if ( $items . filter ( ':checked' ) . length <= this . options . minimumCountColumns ) {
$items . filter ( ':checked' ) . prop ( 'disabled' , true ) ;
}
}
}
} , {
key : "mergeCells" ,
value : function mergeCells ( options ) {
var row = options . index ;
var col = this . getVisibleFields ( ) . indexOf ( options . field ) ;
var rowspan = options . rowspan || 1 ;
var colspan = options . colspan || 1 ;
var i ;
var j ;
var $tr = this . $body . find ( '>tr[data-index]' ) ;
col += Utils . getDetailViewIndexOffset ( this . options ) ;
var $td = $tr . eq ( row ) . find ( '>td' ) . eq ( col ) ;
if ( row < 0 || col < 0 || row >= this . data . length ) {
return ;
}
for ( i = row ; i < row + rowspan ; i ++ ) {
for ( j = col ; j < col + colspan ; j ++ ) {
$tr . eq ( i ) . find ( '>td' ) . eq ( j ) . hide ( ) ;
}
}
$td . attr ( 'rowspan' , rowspan ) . attr ( 'colspan' , colspan ) . show ( ) ;
}
} , {
key : "checkAll" ,
value : function checkAll ( ) {
this . _toggleCheckAll ( true ) ;
}
} , {
key : "uncheckAll" ,
value : function uncheckAll ( ) {
this . _toggleCheckAll ( false ) ;
}
} , {
key : "_toggleCheckAll" ,
value : function _toggleCheckAll ( checked ) {
var rowsBefore = this . getSelections ( ) ;
this . $selectAll . add ( this . $selectAll _ ) . prop ( 'checked' , checked ) ;
this . $selectItem . filter ( ':enabled' ) . prop ( 'checked' , checked ) ;
this . updateRows ( ) ;
this . updateSelected ( ) ;
var rowsAfter = this . getSelections ( ) ;
if ( checked ) {
this . trigger ( 'check-all' , rowsAfter , rowsBefore ) ;
return ;
}
this . trigger ( 'uncheck-all' , rowsAfter , rowsBefore ) ;
}
} , {
key : "checkInvert" ,
value : function checkInvert ( ) {
var $items = this . $selectItem . filter ( ':enabled' ) ;
var checked = $items . filter ( ':checked' ) ;
$items . each ( function ( i , el ) {
$ ( el ) . prop ( 'checked' , ! $ ( el ) . prop ( 'checked' ) ) ;
} ) ;
this . updateRows ( ) ;
this . updateSelected ( ) ;
this . trigger ( 'uncheck-some' , checked ) ;
checked = this . getSelections ( ) ;
this . trigger ( 'check-some' , checked ) ;
}
} , {
key : "check" ,
value : function check ( index ) {
this . _toggleCheck ( true , index ) ;
}
} , {
key : "uncheck" ,
value : function uncheck ( index ) {
this . _toggleCheck ( false , index ) ;
}
} , {
key : "_toggleCheck" ,
value : function _toggleCheck ( checked , index ) {
var $el = this . $selectItem . filter ( "[data-index=\"" . concat ( index , "\"]" ) ) ;
var row = this . data [ index ] ;
if ( $el . is ( ':radio' ) || this . options . singleSelect || this . options . multipleSelectRow && ! this . multipleSelectRowCtrlKey && ! this . multipleSelectRowShiftKey ) {
var _iterator10 = _createForOfIteratorHelper ( this . options . data ) ,
_step10 ;
try {
for ( _iterator10 . s ( ) ; ! ( _step10 = _iterator10 . n ( ) ) . done ; ) {
var r = _step10 . value ;
r [ this . header . stateField ] = false ;
}
} catch ( err ) {
_iterator10 . e ( err ) ;
} finally {
_iterator10 . f ( ) ;
}
this . $selectItem . filter ( ':checked' ) . not ( $el ) . prop ( 'checked' , false ) ;
}
row [ this . header . stateField ] = checked ;
if ( this . options . multipleSelectRow ) {
if ( this . multipleSelectRowShiftKey && this . multipleSelectRowLastSelectedIndex >= 0 ) {
var _ref8 = this . multipleSelectRowLastSelectedIndex < index ? [ this . multipleSelectRowLastSelectedIndex , index ] : [ index , this . multipleSelectRowLastSelectedIndex ] ,
_ref9 = _slicedToArray ( _ref8 , 2 ) ,
fromIndex = _ref9 [ 0 ] ,
toIndex = _ref9 [ 1 ] ;
for ( var i = fromIndex + 1 ; i < toIndex ; i ++ ) {
this . data [ i ] [ this . header . stateField ] = true ;
this . $selectItem . filter ( "[data-index=\"" . concat ( i , "\"]" ) ) . prop ( 'checked' , true ) ;
}
}
this . multipleSelectRowCtrlKey = false ;
this . multipleSelectRowShiftKey = false ;
this . multipleSelectRowLastSelectedIndex = checked ? index : - 1 ;
}
$el . prop ( 'checked' , checked ) ;
this . updateSelected ( ) ;
this . trigger ( checked ? 'check' : 'uncheck' , this . data [ index ] , $el ) ;
}
} , {
key : "checkBy" ,
value : function checkBy ( obj ) {
this . _toggleCheckBy ( true , obj ) ;
}
} , {
key : "uncheckBy" ,
value : function uncheckBy ( obj ) {
this . _toggleCheckBy ( false , obj ) ;
}
} , {
key : "_toggleCheckBy" ,
value : function _toggleCheckBy ( checked , obj ) {
var _this24 = this ;
if ( ! obj . hasOwnProperty ( 'field' ) || ! obj . hasOwnProperty ( 'values' ) ) {
return ;
}
var rows = [ ] ;
this . data . forEach ( function ( row , i ) {
if ( ! row . hasOwnProperty ( obj . field ) ) {
return false ;
}
if ( obj . values . includes ( row [ obj . field ] ) ) {
var $el = _this24 . $selectItem . filter ( ':enabled' ) . filter ( Utils . sprintf ( '[data-index="%s"]' , i ) ) ;
var onlyCurrentPage = obj . hasOwnProperty ( 'onlyCurrentPage' ) ? obj . onlyCurrentPage : false ;
$el = checked ? $el . not ( ':checked' ) : $el . filter ( ':checked' ) ;
if ( ! $el . length && onlyCurrentPage ) {
return ;
}
$el . prop ( 'checked' , checked ) ;
row [ _this24 . header . stateField ] = checked ;
rows . push ( row ) ;
_this24 . trigger ( checked ? 'check' : 'uncheck' , row , $el ) ;
}
} ) ;
this . updateSelected ( ) ;
this . trigger ( checked ? 'check-some' : 'uncheck-some' , rows ) ;
}
} , {
key : "refresh" ,
value : function refresh ( params ) {
if ( params && params . url ) {
this . options . url = params . url ;
}
if ( params && params . pageNumber ) {
this . options . pageNumber = params . pageNumber ;
}
if ( params && params . pageSize ) {
this . options . pageSize = params . pageSize ;
}
this . trigger ( 'refresh' , this . initServer ( params && params . silent , params && params . query , params && params . url ) ) ;
}
} , {
key : "destroy" ,
value : function destroy ( ) {
this . $el . insertBefore ( this . $container ) ;
$ ( this . options . toolbar ) . insertBefore ( this . $el ) ;
this . $container . next ( ) . remove ( ) ;
this . $container . remove ( ) ;
this . $el . html ( this . $el _ . html ( ) ) . css ( 'margin-top' , '0' ) . attr ( 'class' , this . $el _ . attr ( 'class' ) || '' ) ; // reset the class
var resizeEvent = Utils . getEventName ( 'resize.bootstrap-table' , this . $el . attr ( 'id' ) ) ;
$ ( window ) . off ( resizeEvent ) ;
}
} , {
key : "resetView" ,
value : function resetView ( params ) {
var padding = 0 ;
if ( params && params . height ) {
this . options . height = params . height ;
}
this . $tableContainer . toggleClass ( 'has-card-view' , this . options . cardView ) ;
if ( this . options . height ) {
var fixedBody = this . $tableBody . get ( 0 ) ;
this . hasScrollBar = fixedBody . scrollWidth > fixedBody . clientWidth ;
}
if ( ! this . options . cardView && this . options . showHeader && this . options . height ) {
this . $tableHeader . show ( ) ;
this . resetHeader ( ) ;
padding += this . $header . outerHeight ( true ) + 1 ;
} else {
this . $tableHeader . hide ( ) ;
this . trigger ( 'post-header' ) ;
}
if ( ! this . options . cardView && this . options . showFooter ) {
this . $tableFooter . show ( ) ;
this . fitFooter ( ) ;
if ( this . options . height ) {
padding += this . $tableFooter . outerHeight ( true ) ;
}
}
if ( this . $container . hasClass ( 'fullscreen' ) ) {
this . $tableContainer . css ( 'height' , '' ) ;
this . $tableContainer . css ( 'width' , '' ) ;
} else if ( this . options . height ) {
if ( this . $tableBorder ) {
this . $tableBorder . css ( 'width' , '' ) ;
this . $tableBorder . css ( 'height' , '' ) ;
}
var toolbarHeight = this . $toolbar . outerHeight ( true ) ;
var paginationHeight = this . $pagination . outerHeight ( true ) ;
var height = this . options . height - toolbarHeight - paginationHeight ;
var $bodyTable = this . $tableBody . find ( '>table' ) ;
var tableHeight = $bodyTable . outerHeight ( ) ;
this . $tableContainer . css ( 'height' , "" . concat ( height , "px" ) ) ;
if ( this . $tableBorder && $bodyTable . is ( ':visible' ) ) {
var tableBorderHeight = height - tableHeight - 2 ;
if ( this . hasScrollBar ) {
tableBorderHeight -= Utils . getScrollBarWidth ( ) ;
}
this . $tableBorder . css ( 'width' , "" . concat ( $bodyTable . outerWidth ( ) , "px" ) ) ;
this . $tableBorder . css ( 'height' , "" . concat ( tableBorderHeight , "px" ) ) ;
}
}
if ( this . options . cardView ) {
// remove the element css
this . $el . css ( 'margin-top' , '0' ) ;
this . $tableContainer . css ( 'padding-bottom' , '0' ) ;
this . $tableFooter . hide ( ) ;
} else {
// Assign the correct sortable arrow
this . getCaret ( ) ;
this . $tableContainer . css ( 'padding-bottom' , "" . concat ( padding , "px" ) ) ;
}
this . trigger ( 'reset-view' ) ;
}
} , {
key : "showLoading" ,
value : function showLoading ( ) {
this . $tableLoading . toggleClass ( 'open' , true ) ;
var fontSize = this . options . loadingFontSize ;
if ( this . options . loadingFontSize === 'auto' ) {
fontSize = this . $tableLoading . width ( ) * 0.04 ;
fontSize = Math . max ( 12 , fontSize ) ;
fontSize = Math . min ( 32 , fontSize ) ;
fontSize = "" . concat ( fontSize , "px" ) ;
}
this . $tableLoading . find ( '.loading-text' ) . css ( 'font-size' , fontSize ) ;
}
} , {
key : "hideLoading" ,
value : function hideLoading ( ) {
this . $tableLoading . toggleClass ( 'open' , false ) ;
}
} , {
key : "togglePagination" ,
value : function togglePagination ( ) {
this . options . pagination = ! this . options . pagination ;
var icon = this . options . showButtonIcons ? this . options . pagination ? this . options . icons . paginationSwitchDown : this . options . icons . paginationSwitchUp : '' ;
var text = this . options . showButtonText ? this . options . pagination ? this . options . formatPaginationSwitchUp ( ) : this . options . formatPaginationSwitchDown ( ) : '' ;
this . $toolbar . find ( 'button[name="paginationSwitch"]' ) . html ( "" . concat ( Utils . sprintf ( this . constants . html . icon , this . options . iconsPrefix , icon ) , " " ) . concat ( text ) ) ;
this . updatePagination ( ) ;
this . trigger ( 'toggle-pagination' , this . options . pagination ) ;
}
} , {
key : "toggleFullscreen" ,
value : function toggleFullscreen ( ) {
this . $el . closest ( '.bootstrap-table' ) . toggleClass ( 'fullscreen' ) ;
this . resetView ( ) ;
}
} , {
key : "toggleView" ,
value : function toggleView ( ) {
this . options . cardView = ! this . options . cardView ;
this . initHeader ( ) ;
var icon = this . options . showButtonIcons ? this . options . cardView ? this . options . icons . toggleOn : this . options . icons . toggleOff : '' ;
var text = this . options . showButtonText ? this . options . cardView ? this . options . formatToggleOff ( ) : this . options . formatToggleOn ( ) : '' ;
this . $toolbar . find ( 'button[name="toggle"]' ) . html ( "" . concat ( Utils . sprintf ( this . constants . html . icon , this . options . iconsPrefix , icon ) , " " ) . concat ( text ) ) . attr ( 'aria-label' , text ) . attr ( 'title' , text ) ;
this . initBody ( ) ;
this . trigger ( 'toggle' , this . options . cardView ) ;
}
} , {
key : "resetSearch" ,
value : function resetSearch ( text ) {
var $search = Utils . getSearchInput ( this ) ;
var textToUse = text || '' ;
$search . val ( textToUse ) ;
this . searchText = textToUse ;
this . onSearch ( {
currentTarget : $search
} , false ) ;
}
} , {
key : "filterBy" ,
value : function filterBy ( columns , options ) {
this . filterOptions = Utils . isEmptyObject ( options ) ? this . options . filterOptions : Utils . extend ( this . options . filterOptions , options ) ;
this . filterColumns = Utils . isEmptyObject ( columns ) ? { } : columns ;
this . options . pageNumber = 1 ;
this . initSearch ( ) ;
this . updatePagination ( ) ;
}
} , {
key : "scrollTo" ,
value : function scrollTo ( params ) {
var options = {
unit : 'px' ,
value : 0
} ;
if ( _typeof ( params ) === 'object' ) {
options = Object . assign ( options , params ) ;
} else if ( typeof params === 'string' && params === 'bottom' ) {
options . value = this . $tableBody [ 0 ] . scrollHeight ;
} else if ( typeof params === 'string' || typeof params === 'number' ) {
options . value = params ;
}
var scrollTo = options . value ;
if ( options . unit === 'rows' ) {
scrollTo = 0 ;
this . $body . find ( "> tr:lt(" . concat ( options . value , ")" ) ) . each ( function ( i , el ) {
scrollTo += $ ( el ) . outerHeight ( true ) ;
} ) ;
}
this . $tableBody . scrollTop ( scrollTo ) ;
}
} , {
key : "getScrollPosition" ,
value : function getScrollPosition ( ) {
return this . $tableBody . scrollTop ( ) ;
}
} , {
key : "selectPage" ,
value : function selectPage ( page ) {
if ( page > 0 && page <= this . options . totalPages ) {
this . options . pageNumber = page ;
this . updatePagination ( ) ;
}
}
} , {
key : "prevPage" ,
value : function prevPage ( ) {
if ( this . options . pageNumber > 1 ) {
this . options . pageNumber -- ;
this . updatePagination ( ) ;
}
}
} , {
key : "nextPage" ,
value : function nextPage ( ) {
if ( this . options . pageNumber < this . options . totalPages ) {
this . options . pageNumber ++ ;
this . updatePagination ( ) ;
}
}
} , {
key : "toggleDetailView" ,
value : function toggleDetailView ( index , _columnDetailFormatter ) {
var $tr = this . $body . find ( Utils . sprintf ( '> tr[data-index="%s"]' , index ) ) ;
if ( $tr . next ( ) . is ( 'tr.detail-view' ) ) {
this . collapseRow ( index ) ;
} else {
this . expandRow ( index , _columnDetailFormatter ) ;
}
this . resetView ( ) ;
}
} , {
key : "expandRow" ,
value : function expandRow ( index , _columnDetailFormatter ) {
var row = this . data [ index ] ;
var $tr = this . $body . find ( Utils . sprintf ( '> tr[data-index="%s"][data-has-detail-view]' , index ) ) ;
if ( this . options . detailViewIcon ) {
$tr . find ( 'a.detail-icon' ) . html ( Utils . sprintf ( this . constants . html . icon , this . options . iconsPrefix , this . options . icons . detailClose ) ) ;
}
if ( $tr . next ( ) . is ( 'tr.detail-view' ) ) {
return ;
}
$tr . after ( Utils . sprintf ( '<tr class="detail-view"><td colspan="%s"></td></tr>' , $tr . children ( 'td' ) . length ) ) ;
var $element = $tr . next ( ) . find ( 'td' ) ;
var detailFormatter = _columnDetailFormatter || this . options . detailFormatter ;
var content = Utils . calculateObjectValue ( this . options , detailFormatter , [ index , row , $element ] , '' ) ;
if ( $element . length === 1 ) {
$element . append ( content ) ;
}
this . trigger ( 'expand-row' , index , row , $element ) ;
}
} , {
key : "expandRowByUniqueId" ,
value : function expandRowByUniqueId ( uniqueId ) {
var row = this . getRowByUniqueId ( uniqueId ) ;
if ( ! row ) {
return ;
}
this . expandRow ( this . data . indexOf ( row ) ) ;
}
} , {
key : "collapseRow" ,
value : function collapseRow ( index ) {
var row = this . data [ index ] ;
var $tr = this . $body . find ( Utils . sprintf ( '> tr[data-index="%s"][data-has-detail-view]' , index ) ) ;
if ( ! $tr . next ( ) . is ( 'tr.detail-view' ) ) {
return ;
}
if ( this . options . detailViewIcon ) {
$tr . find ( 'a.detail-icon' ) . html ( Utils . sprintf ( this . constants . html . icon , this . options . iconsPrefix , this . options . icons . detailOpen ) ) ;
}
this . trigger ( 'collapse-row' , index , row , $tr . next ( ) ) ;
$tr . next ( ) . remove ( ) ;
}
} , {
key : "collapseRowByUniqueId" ,
value : function collapseRowByUniqueId ( uniqueId ) {
var row = this . getRowByUniqueId ( uniqueId ) ;
if ( ! row ) {
return ;
}
this . collapseRow ( this . data . indexOf ( row ) ) ;
}
} , {
key : "expandAllRows" ,
value : function expandAllRows ( ) {
var trs = this . $body . find ( '> tr[data-index][data-has-detail-view]' ) ;
for ( var i = 0 ; i < trs . length ; i ++ ) {
this . expandRow ( $ ( trs [ i ] ) . data ( 'index' ) ) ;
}
}
} , {
key : "collapseAllRows" ,
value : function collapseAllRows ( ) {
var trs = this . $body . find ( '> tr[data-index][data-has-detail-view]' ) ;
for ( var i = 0 ; i < trs . length ; i ++ ) {
this . collapseRow ( $ ( trs [ i ] ) . data ( 'index' ) ) ;
}
}
} , {
key : "updateColumnTitle" ,
value : function updateColumnTitle ( params ) {
if ( ! params . hasOwnProperty ( 'field' ) || ! params . hasOwnProperty ( 'title' ) ) {
return ;
}
this . columns [ this . fieldsColumnsIndex [ params . field ] ] . title = this . options . escape && this . options . escapeTitle ? Utils . escapeHTML ( params . title ) : params . title ;
if ( this . columns [ this . fieldsColumnsIndex [ params . field ] ] . visible ) {
this . $header . find ( 'th[data-field]' ) . each ( function ( i , el ) {
if ( $ ( el ) . data ( 'field' ) === params . field ) {
$ ( $ ( el ) . find ( '.th-inner' ) [ 0 ] ) . html ( params . title ) ;
return false ;
}
} ) ;
this . resetView ( ) ;
}
}
} , {
key : "updateFormatText" ,
value : function updateFormatText ( formatName , text ) {
if ( ! /^format/ . test ( formatName ) || ! this . options [ formatName ] ) {
return ;
}
if ( typeof text === 'string' ) {
this . options [ formatName ] = function ( ) {
return text ;
} ;
} else if ( typeof text === 'function' ) {
this . options [ formatName ] = text ;
}
this . initToolbar ( ) ;
this . initPagination ( ) ;
this . initBody ( ) ;
}
} ] ) ;
} ( ) ;
BootstrapTable . VERSION = Constants . VERSION ;
BootstrapTable . DEFAULTS = Constants . DEFAULTS ;
BootstrapTable . LOCALES = Constants . LOCALES ;
BootstrapTable . COLUMN _DEFAULTS = Constants . COLUMN _DEFAULTS ;
BootstrapTable . METHODS = Constants . METHODS ;
BootstrapTable . EVENTS = Constants . EVENTS ;
// BOOTSTRAP TABLE PLUGIN DEFINITION
// =======================
$ . BootstrapTable = BootstrapTable ;
$ . fn . bootstrapTable = function ( option ) {
for ( var _len2 = arguments . length , args = new Array ( _len2 > 1 ? _len2 - 1 : 0 ) , _key5 = 1 ; _key5 < _len2 ; _key5 ++ ) {
args [ _key5 - 1 ] = arguments [ _key5 ] ;
}
var value ;
this . each ( function ( i , el ) {
var data = $ ( el ) . data ( 'bootstrap.table' ) ;
if ( typeof option === 'string' ) {
var _data2 ;
if ( ! Constants . METHODS . includes ( option ) ) {
throw new Error ( "Unknown method: " . concat ( option ) ) ;
}
if ( ! data ) {
return ;
}
value = ( _data2 = data ) [ option ] . apply ( _data2 , args ) ;
if ( option === 'destroy' ) {
$ ( el ) . removeData ( 'bootstrap.table' ) ;
}
return ;
}
if ( data ) {
console . warn ( 'You cannot initialize the table more than once!' ) ;
return ;
}
var options = Utils . extend ( true , { } , BootstrapTable . DEFAULTS , $ ( el ) . data ( ) , _typeof ( option ) === 'object' && option ) ;
data = new $ . BootstrapTable ( el , options ) ;
$ ( el ) . data ( 'bootstrap.table' , data ) ;
data . init ( ) ;
} ) ;
return typeof value === 'undefined' ? this : value ;
} ;
$ . fn . bootstrapTable . Constructor = BootstrapTable ;
$ . fn . bootstrapTable . theme = Constants . THEME ;
$ . fn . bootstrapTable . VERSION = Constants . VERSION ;
$ . fn . bootstrapTable . defaults = BootstrapTable . DEFAULTS ;
$ . fn . bootstrapTable . columnDefaults = BootstrapTable . COLUMN _DEFAULTS ;
$ . fn . bootstrapTable . events = BootstrapTable . EVENTS ;
$ . fn . bootstrapTable . locales = BootstrapTable . LOCALES ;
$ . fn . bootstrapTable . methods = BootstrapTable . METHODS ;
$ . fn . bootstrapTable . utils = Utils ;
// BOOTSTRAP TABLE INIT
// =======================
$ ( function ( ) {
$ ( '[data-toggle="table"]' ) . bootstrapTable ( ) ;
} ) ;
return BootstrapTable ;
} ) ) ;
( function ( global , factory ) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory ( require ( 'core-js/modules/es.array.concat.js' ) , require ( 'core-js/modules/es.array.includes.js' ) , require ( 'core-js/modules/es.object.assign.js' ) , require ( 'core-js/modules/es.object.to-string.js' ) , require ( 'core-js/modules/es.string.includes.js' ) , require ( 'core-js/modules/web.dom-collections.for-each.js' ) , require ( 'jquery' ) ) :
typeof define === 'function' && define . amd ? define ( [ 'core-js/modules/es.array.concat.js' , 'core-js/modules/es.array.includes.js' , 'core-js/modules/es.object.assign.js' , 'core-js/modules/es.object.to-string.js' , 'core-js/modules/es.string.includes.js' , 'core-js/modules/web.dom-collections.for-each.js' , 'jquery' ] , factory ) :
( global = typeof globalThis !== 'undefined' ? globalThis : global || self , factory ( null , null , null , null , null , null , global . jQuery ) ) ;
} ) ( this , ( function ( es _array _concat _js , es _array _includes _js , es _object _assign _js , es _object _toString _js , es _string _includes _js , web _domCollections _forEach _js , $ ) { 'use strict' ;
function _assertThisInitialized ( e ) {
if ( void 0 === e ) throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ;
return e ;
}
function _callSuper ( t , o , e ) {
return o = _getPrototypeOf ( o ) , _possibleConstructorReturn ( t , _isNativeReflectConstruct ( ) ? Reflect . construct ( o , e || [ ] , _getPrototypeOf ( t ) . constructor ) : o . apply ( t , e ) ) ;
}
function _classCallCheck ( a , n ) {
if ( ! ( a instanceof n ) ) throw new TypeError ( "Cannot call a class as a function" ) ;
}
function _defineProperties ( e , r ) {
for ( var t = 0 ; t < r . length ; t ++ ) {
var o = r [ t ] ;
o . enumerable = o . enumerable || ! 1 , o . configurable = ! 0 , "value" in o && ( o . writable = ! 0 ) , Object . defineProperty ( e , _toPropertyKey ( o . key ) , o ) ;
}
}
function _createClass ( e , r , t ) {
return r && _defineProperties ( e . prototype , r ) , Object . defineProperty ( e , "prototype" , {
writable : ! 1
} ) , e ;
}
function _get ( ) {
return _get = "undefined" != typeof Reflect && Reflect . get ? Reflect . get . bind ( ) : function ( e , t , r ) {
var p = _superPropBase ( e , t ) ;
if ( p ) {
var n = Object . getOwnPropertyDescriptor ( p , t ) ;
return n . get ? n . get . call ( arguments . length < 3 ? e : r ) : n . value ;
}
} , _get . apply ( null , arguments ) ;
}
function _getPrototypeOf ( t ) {
return _getPrototypeOf = Object . setPrototypeOf ? Object . getPrototypeOf . bind ( ) : function ( t ) {
return t . _ _proto _ _ || Object . getPrototypeOf ( t ) ;
} , _getPrototypeOf ( t ) ;
}
function _inherits ( t , e ) {
if ( "function" != typeof e && null !== e ) throw new TypeError ( "Super expression must either be null or a function" ) ;
t . prototype = Object . create ( e && e . prototype , {
constructor : {
value : t ,
writable : ! 0 ,
configurable : ! 0
}
} ) , Object . defineProperty ( t , "prototype" , {
writable : ! 1
} ) , e && _setPrototypeOf ( t , e ) ;
}
function _isNativeReflectConstruct ( ) {
try {
var t = ! Boolean . prototype . valueOf . call ( Reflect . construct ( Boolean , [ ] , function ( ) { } ) ) ;
} catch ( t ) { }
return ( _isNativeReflectConstruct = function ( ) {
return ! ! t ;
} ) ( ) ;
}
function _possibleConstructorReturn ( t , e ) {
if ( e && ( "object" == typeof e || "function" == typeof e ) ) return e ;
if ( void 0 !== e ) throw new TypeError ( "Derived constructors may only return object or undefined" ) ;
return _assertThisInitialized ( t ) ;
}
function _setPrototypeOf ( t , e ) {
return _setPrototypeOf = Object . setPrototypeOf ? Object . setPrototypeOf . bind ( ) : function ( t , e ) {
return t . _ _proto _ _ = e , t ;
} , _setPrototypeOf ( t , e ) ;
}
function _superPropBase ( t , o ) {
for ( ; ! { } . hasOwnProperty . call ( t , o ) && null !== ( t = _getPrototypeOf ( t ) ) ; ) ;
return t ;
}
function _toPrimitive ( t , r ) {
if ( "object" != typeof t || ! t ) return t ;
var e = t [ Symbol . toPrimitive ] ;
if ( void 0 !== e ) {
var i = e . call ( t , r ) ;
if ( "object" != typeof i ) return i ;
throw new TypeError ( "@@toPrimitive must return a primitive value." ) ;
}
return ( String ) ( t ) ;
}
function _toPropertyKey ( t ) {
var i = _toPrimitive ( t , "string" ) ;
return "symbol" == typeof i ? i : i + "" ;
}
/ * *
* @ author : Dennis Hernández
* @ update zhixin wen < wenzhixin2010 @ gmail . com >
* /
var debounce = function debounce ( func , wait ) {
var timeout = 0 ;
return function ( ) {
for ( var _len = arguments . length , args = new Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) {
args [ _key ] = arguments [ _key ] ;
}
var later = function later ( ) {
timeout = 0 ;
func . apply ( void 0 , args ) ;
} ;
clearTimeout ( timeout ) ;
timeout = setTimeout ( later , wait ) ;
} ;
} ;
Object . assign ( $ . fn . bootstrapTable . defaults , {
mobileResponsive : false ,
minWidth : 562 ,
minHeight : undefined ,
heightThreshold : 100 ,
// just slightly larger than mobile chrome's auto-hiding toolbar
checkOnInit : true ,
columnsHidden : [ ]
} ) ;
$ . BootstrapTable = /*#__PURE__*/ function ( _$$BootstrapTable ) {
function _class ( ) {
_classCallCheck ( this , _class ) ;
return _callSuper ( this , _class , arguments ) ;
}
_inherits ( _class , _$$BootstrapTable ) ;
return _createClass ( _class , [ {
key : "init" ,
value : function init ( ) {
var _get2 ,
_this = this ;
for ( var _len2 = arguments . length , args = new Array ( _len2 ) , _key2 = 0 ; _key2 < _len2 ; _key2 ++ ) {
args [ _key2 ] = arguments [ _key2 ] ;
}
( _get2 = _get ( _getPrototypeOf ( _class . prototype ) , "init" , this ) ) . call . apply ( _get2 , [ this ] . concat ( args ) ) ;
if ( ! this . options . mobileResponsive || ! this . options . minWidth ) {
return ;
}
if ( this . options . minWidth < 100 && this . options . resizable ) {
console . warn ( 'The minWidth when the resizable extension is active should be greater or equal than 100' ) ;
this . options . minWidth = 100 ;
}
var old = {
width : $ ( window ) . width ( ) ,
height : $ ( window ) . height ( )
} ;
$ ( window ) . on ( 'resize orientationchange' , debounce ( function ( ) {
// reset view if height has only changed by at least the threshold.
var width = $ ( window ) . width ( ) ;
var height = $ ( window ) . height ( ) ;
var $activeElement = $ ( document . activeElement ) ;
if ( $activeElement . length && [ 'INPUT' , 'SELECT' , 'TEXTAREA' ] . includes ( $activeElement . prop ( 'nodeName' ) ) ) {
return ;
}
if ( Math . abs ( old . height - height ) > _this . options . heightThreshold || old . width !== width ) {
_this . changeView ( width , height ) ;
old = {
width : width ,
height : height
} ;
}
} , 200 ) ) ;
if ( this . options . checkOnInit ) {
var width = $ ( window ) . width ( ) ;
var height = $ ( window ) . height ( ) ;
this . changeView ( width , height ) ;
old = {
width : width ,
height : height
} ;
}
}
} , {
key : "conditionCardView" ,
value : function conditionCardView ( ) {
this . changeTableView ( false ) ;
this . showHideColumns ( false ) ;
}
} , {
key : "conditionFullView" ,
value : function conditionFullView ( ) {
this . changeTableView ( true ) ;
this . showHideColumns ( true ) ;
}
} , {
key : "changeTableView" ,
value : function changeTableView ( cardViewState ) {
this . options . cardView = cardViewState ;
this . toggleView ( ) ;
}
} , {
key : "showHideColumns" ,
value : function showHideColumns ( checked ) {
var _this2 = this ;
if ( this . options . columnsHidden . length > 0 ) {
this . columns . forEach ( function ( column ) {
if ( _this2 . options . columnsHidden . includes ( column . field ) ) {
if ( column . visible !== checked ) {
_this2 . _toggleColumn ( _this2 . fieldsColumnsIndex [ column . field ] , checked , true ) ;
}
}
} ) ;
}
}
} , {
key : "changeView" ,
value : function changeView ( width , height ) {
if ( this . options . minHeight ) {
if ( width <= this . options . minWidth && height <= this . options . minHeight ) {
this . conditionCardView ( ) ;
} else if ( width > this . options . minWidth && height > this . options . minHeight ) {
this . conditionFullView ( ) ;
}
} else if ( width <= this . options . minWidth ) {
this . conditionCardView ( ) ;
} else if ( width > this . options . minWidth ) {
this . conditionFullView ( ) ;
}
this . resetView ( ) ;
}
} ] ) ;
} ( $ . BootstrapTable ) ;
} ) ) ;
( function ( global , factory ) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory ( require ( 'core-js/modules/es.array.concat.js' ) , require ( 'core-js/modules/es.array.find.js' ) , require ( 'core-js/modules/es.array.join.js' ) , require ( 'core-js/modules/es.array.map.js' ) , require ( 'core-js/modules/es.array.slice.js' ) , require ( 'core-js/modules/es.object.assign.js' ) , require ( 'core-js/modules/es.object.to-string.js' ) , require ( 'core-js/modules/es.regexp.exec.js' ) , require ( 'core-js/modules/es.string.replace.js' ) , require ( 'core-js/modules/web.dom-collections.for-each.js' ) , require ( 'jquery' ) ) :
typeof define === 'function' && define . amd ? define ( [ 'core-js/modules/es.array.concat.js' , 'core-js/modules/es.array.find.js' , 'core-js/modules/es.array.join.js' , 'core-js/modules/es.array.map.js' , 'core-js/modules/es.array.slice.js' , 'core-js/modules/es.object.assign.js' , 'core-js/modules/es.object.to-string.js' , 'core-js/modules/es.regexp.exec.js' , 'core-js/modules/es.string.replace.js' , 'core-js/modules/web.dom-collections.for-each.js' , 'jquery' ] , factory ) :
( global = typeof globalThis !== 'undefined' ? globalThis : global || self , factory ( null , null , null , null , null , null , null , null , null , null , global . jQuery ) ) ;
} ) ( this , ( function ( es _array _concat _js , es _array _find _js , es _array _join _js , es _array _map _js , es _array _slice _js , es _object _assign _js , es _object _toString _js , es _regexp _exec _js , es _string _replace _js , web _domCollections _forEach _js , $ ) { 'use strict' ;
function _arrayLikeToArray ( r , a ) {
( null == a || a > r . length ) && ( a = r . length ) ;
for ( var e = 0 , n = Array ( a ) ; e < a ; e ++ ) n [ e ] = r [ e ] ;
return n ;
}
function _assertThisInitialized ( e ) {
if ( void 0 === e ) throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ;
return e ;
}
function _callSuper ( t , o , e ) {
return o = _getPrototypeOf ( o ) , _possibleConstructorReturn ( t , _isNativeReflectConstruct ( ) ? Reflect . construct ( o , e || [ ] , _getPrototypeOf ( t ) . constructor ) : o . apply ( t , e ) ) ;
}
function _classCallCheck ( a , n ) {
if ( ! ( a instanceof n ) ) throw new TypeError ( "Cannot call a class as a function" ) ;
}
function _defineProperties ( e , r ) {
for ( var t = 0 ; t < r . length ; t ++ ) {
var o = r [ t ] ;
o . enumerable = o . enumerable || ! 1 , o . configurable = ! 0 , "value" in o && ( o . writable = ! 0 ) , Object . defineProperty ( e , _toPropertyKey ( o . key ) , o ) ;
}
}
function _createClass ( e , r , t ) {
return r && _defineProperties ( e . prototype , r ) , Object . defineProperty ( e , "prototype" , {
writable : ! 1
} ) , e ;
}
function _createForOfIteratorHelper ( r , e ) {
var t = "undefined" != typeof Symbol && r [ Symbol . iterator ] || r [ "@@iterator" ] ;
if ( ! t ) {
if ( Array . isArray ( r ) || ( t = _unsupportedIterableToArray ( r ) ) || e ) {
t && ( r = t ) ;
var n = 0 ,
F = function ( ) { } ;
return {
s : F ,
n : function ( ) {
return n >= r . length ? {
done : ! 0
} : {
done : ! 1 ,
value : r [ n ++ ]
} ;
} ,
e : function ( r ) {
throw r ;
} ,
f : F
} ;
}
throw new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
}
var o ,
a = ! 0 ,
u = ! 1 ;
return {
s : function ( ) {
t = t . call ( r ) ;
} ,
n : function ( ) {
var r = t . next ( ) ;
return a = r . done , r ;
} ,
e : function ( r ) {
u = ! 0 , o = r ;
} ,
f : function ( ) {
try {
a || null == t . return || t . return ( ) ;
} finally {
if ( u ) throw o ;
}
}
} ;
}
function _defineProperty ( e , r , t ) {
return ( r = _toPropertyKey ( r ) ) in e ? Object . defineProperty ( e , r , {
value : t ,
enumerable : ! 0 ,
configurable : ! 0 ,
writable : ! 0
} ) : e [ r ] = t , e ;
}
function _get ( ) {
return _get = "undefined" != typeof Reflect && Reflect . get ? Reflect . get . bind ( ) : function ( e , t , r ) {
var p = _superPropBase ( e , t ) ;
if ( p ) {
var n = Object . getOwnPropertyDescriptor ( p , t ) ;
return n . get ? n . get . call ( arguments . length < 3 ? e : r ) : n . value ;
}
} , _get . apply ( null , arguments ) ;
}
function _getPrototypeOf ( t ) {
return _getPrototypeOf = Object . setPrototypeOf ? Object . getPrototypeOf . bind ( ) : function ( t ) {
return t . _ _proto _ _ || Object . getPrototypeOf ( t ) ;
} , _getPrototypeOf ( t ) ;
}
function _inherits ( t , e ) {
if ( "function" != typeof e && null !== e ) throw new TypeError ( "Super expression must either be null or a function" ) ;
t . prototype = Object . create ( e && e . prototype , {
constructor : {
value : t ,
writable : ! 0 ,
configurable : ! 0
}
} ) , Object . defineProperty ( t , "prototype" , {
writable : ! 1
} ) , e && _setPrototypeOf ( t , e ) ;
}
function _isNativeReflectConstruct ( ) {
try {
var t = ! Boolean . prototype . valueOf . call ( Reflect . construct ( Boolean , [ ] , function ( ) { } ) ) ;
} catch ( t ) { }
return ( _isNativeReflectConstruct = function ( ) {
return ! ! t ;
} ) ( ) ;
}
function _possibleConstructorReturn ( t , e ) {
if ( e && ( "object" == typeof e || "function" == typeof e ) ) return e ;
if ( void 0 !== e ) throw new TypeError ( "Derived constructors may only return object or undefined" ) ;
return _assertThisInitialized ( t ) ;
}
function _setPrototypeOf ( t , e ) {
return _setPrototypeOf = Object . setPrototypeOf ? Object . setPrototypeOf . bind ( ) : function ( t , e ) {
return t . _ _proto _ _ = e , t ;
} , _setPrototypeOf ( t , e ) ;
}
function _superPropBase ( t , o ) {
for ( ; ! { } . hasOwnProperty . call ( t , o ) && null !== ( t = _getPrototypeOf ( t ) ) ; ) ;
return t ;
}
function _toPrimitive ( t , r ) {
if ( "object" != typeof t || ! t ) return t ;
var e = t [ Symbol . toPrimitive ] ;
if ( void 0 !== e ) {
var i = e . call ( t , r || "default" ) ;
if ( "object" != typeof i ) return i ;
throw new TypeError ( "@@toPrimitive must return a primitive value." ) ;
}
return ( "string" === r ? String : Number ) ( t ) ;
}
function _toPropertyKey ( t ) {
var i = _toPrimitive ( t , "string" ) ;
return "symbol" == typeof i ? i : i + "" ;
}
function _unsupportedIterableToArray ( r , a ) {
if ( r ) {
if ( "string" == typeof r ) return _arrayLikeToArray ( r , a ) ;
var t = { } . toString . call ( r ) . slice ( 8 , - 1 ) ;
return "Object" === t && r . constructor && ( t = r . constructor . name ) , "Map" === t || "Set" === t ? Array . from ( r ) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( t ) ? _arrayLikeToArray ( r , a ) : void 0 ;
}
}
/ * *
* @ author zhixin wen < wenzhixin2010 @ gmail . com >
* extensions : https : //github.com/hhurz/tableExport.jquery.plugin
* /
var Utils = $ . fn . bootstrapTable . utils ;
var TYPE _NAME = {
json : 'JSON' ,
xml : 'XML' ,
png : 'PNG' ,
csv : 'CSV' ,
txt : 'TXT' ,
sql : 'SQL' ,
doc : 'MS-Word' ,
excel : 'MS-Excel' ,
xlsx : 'MS-Excel (OpenXML)' ,
powerpoint : 'MS-Powerpoint' ,
pdf : 'PDF'
} ;
Object . assign ( $ . fn . bootstrapTable . defaults , {
showExport : false ,
exportDataType : 'basic' ,
// basic, all, selected
exportTypes : [ 'json' , 'xml' , 'csv' , 'txt' , 'sql' , 'excel' ] ,
exportOptions : { } ,
exportFooter : false
} ) ;
Object . assign ( $ . fn . bootstrapTable . columnDefaults , {
forceExport : false ,
forceHide : false
} ) ;
Object . assign ( $ . fn . bootstrapTable . defaults . icons , {
export : {
bootstrap3 : 'glyphicon-export icon-share' ,
bootstrap5 : 'bi-download' ,
materialize : 'file_download' ,
'bootstrap-table' : 'icon-download'
} [ $ . fn . bootstrapTable . theme ] || 'fa-download'
} ) ;
Object . assign ( $ . fn . bootstrapTable . locales , {
formatExport : function formatExport ( ) {
return 'Export data' ;
}
} ) ;
Object . assign ( $ . fn . bootstrapTable . defaults , $ . fn . bootstrapTable . locales ) ;
$ . fn . bootstrapTable . methods . push ( 'exportTable' ) ;
Object . assign ( $ . fn . bootstrapTable . defaults , {
// eslint-disable-next-line no-unused-vars
onExportSaved : function onExportSaved ( exportedRows ) {
return false ;
} ,
onExportStarted : function onExportStarted ( ) {
return false ;
}
} ) ;
Object . assign ( $ . fn . bootstrapTable . events , {
'export-saved.bs.table' : 'onExportSaved' ,
'export-started.bs.table' : 'onExportStarted'
} ) ;
$ . BootstrapTable = /*#__PURE__*/ function ( _$$BootstrapTable ) {
function _class ( ) {
_classCallCheck ( this , _class ) ;
return _callSuper ( this , _class , arguments ) ;
}
_inherits ( _class , _$$BootstrapTable ) ;
return _createClass ( _class , [ {
key : "initToolbar" ,
value : function initToolbar ( ) {
var _this = this ,
_get2 ;
var o = this . options ;
var exportTypes = o . exportTypes ;
this . showToolbar = this . showToolbar || o . showExport ;
if ( this . options . showExport ) {
if ( typeof exportTypes === 'string' ) {
var types = exportTypes . slice ( 1 , - 1 ) . replace ( / /g , '' ) . split ( ',' ) ;
exportTypes = types . map ( function ( t ) {
return t . slice ( 1 , - 1 ) ;
} ) ;
}
if ( typeof o . exportOptions === 'string' ) {
o . exportOptions = Utils . calculateObjectValue ( null , o . exportOptions ) ;
}
this . $export = this . $toolbar . find ( '>.columns div.export' ) ;
if ( this . $export . length ) {
this . updateExportButton ( ) ;
return ;
}
this . buttons = Object . assign ( this . buttons , {
export : {
html : function html ( ) {
if ( exportTypes . length === 1 ) {
return "\n <div class=\"export " . concat ( _this . constants . classes . buttonsDropdown , "\"\n data-type=\"" ) . concat ( exportTypes [ 0 ] , "\">\n <button class=\"" ) . concat ( _this . constants . buttonsClass , "\"\n aria-label=\"" ) . concat ( o . formatExport ( ) , "\"\n type=\"button\"\n title=\"" ) . concat ( o . formatExport ( ) , "\">\n " ) . concat ( o . showButtonIcons ? Utils . sprintf ( _this . constants . html . icon , o . iconsPrefix , o . icons . export ) : '' , "\n " ) . concat ( o . showButtonText ? o . formatExport ( ) : '' , "\n </button>\n </div>\n " ) ;
}
var html = [ ] ;
html . push ( "\n <div class=\"export " . concat ( _this . constants . classes . buttonsDropdown , "\">\n <button class=\"" ) . concat ( _this . constants . buttonsClass , " dropdown-toggle\"\n aria-label=\"" ) . concat ( o . formatExport ( ) , "\"\n " ) . concat ( _this . constants . dataToggle , "=\"dropdown\"\n type=\"button\"\n title=\"" ) . concat ( o . formatExport ( ) , "\">\n " ) . concat ( o . showButtonIcons ? Utils . sprintf ( _this . constants . html . icon , o . iconsPrefix , o . icons . export ) : '' , "\n " ) . concat ( o . showButtonText ? o . formatExport ( ) : '' , "\n " ) . concat ( _this . constants . html . dropdownCaret , "\n </button>\n " ) . concat ( _this . constants . html . toolbarDropdown [ 0 ] , "\n " ) ) ;
var _iterator = _createForOfIteratorHelper ( exportTypes ) ,
_step ;
try {
for ( _iterator . s ( ) ; ! ( _step = _iterator . n ( ) ) . done ; ) {
var type = _step . value ;
if ( TYPE _NAME . hasOwnProperty ( type ) ) {
var $item = $ ( Utils . sprintf ( _this . constants . html . pageDropdownItem , '' , TYPE _NAME [ type ] ) ) ;
$item . attr ( 'data-type' , type ) ;
html . push ( $item . prop ( 'outerHTML' ) ) ;
}
}
} catch ( err ) {
_iterator . e ( err ) ;
} finally {
_iterator . f ( ) ;
}
html . push ( _this . constants . html . toolbarDropdown [ 1 ] , '</div>' ) ;
return html . join ( '' ) ;
}
}
} ) ;
}
for ( var _len = arguments . length , args = new Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) {
args [ _key ] = arguments [ _key ] ;
}
( _get2 = _get ( _getPrototypeOf ( _class . prototype ) , "initToolbar" , this ) ) . call . apply ( _get2 , [ this ] . concat ( args ) ) ;
this . $export = this . $toolbar . find ( '>.columns div.export' ) ;
if ( ! this . options . showExport ) {
return ;
}
this . updateExportButton ( ) ;
var $exportButtons = this . $export . find ( '[data-type]' ) ;
if ( exportTypes . length === 1 ) {
$exportButtons = this . $export ;
}
$exportButtons . click ( function ( e ) {
e . preventDefault ( ) ;
_this . trigger ( 'export-started' ) ;
_this . exportTable ( {
type : $ ( e . currentTarget ) . data ( 'type' )
} ) ;
} ) ;
this . handleToolbar ( ) ;
}
} , {
key : "handleToolbar" ,
value : function handleToolbar ( ) {
if ( ! this . $export ) {
return ;
}
if ( _get ( _getPrototypeOf ( _class . prototype ) , "handleToolbar" , this ) ) {
_get ( _getPrototypeOf ( _class . prototype ) , "handleToolbar" , this ) . call ( this ) ;
}
}
} , {
key : "exportTable" ,
value : function exportTable ( options ) {
var _this2 = this ;
var o = this . options ;
var stateField = this . header . stateField ;
var isCardView = o . cardView ;
var doExport = function doExport ( callback ) {
if ( stateField ) {
_this2 . hideColumn ( stateField ) ;
}
if ( isCardView ) {
_this2 . toggleView ( ) ;
}
_this2 . columns . forEach ( function ( row ) {
if ( row . forceHide ) {
_this2 . hideColumn ( row . field ) ;
}
} ) ;
var data = _this2 . getData ( ) ;
if ( o . detailView && o . detailViewIcon ) {
var detailViewIndex = o . detailViewAlign === 'left' ? 0 : _this2 . getVisibleFields ( ) . length + Utils . getDetailViewIndexOffset ( _this2 . options ) ;
o . exportOptions . ignoreColumn = [ detailViewIndex ] . concat ( o . exportOptions . ignoreColumn || [ ] ) ;
}
if ( o . exportFooter && o . height ) {
var $footerRow = _this2 . $tableFooter . find ( 'tr' ) . first ( ) ;
var footerData = { } ;
var footerHtml = [ ] ;
$ . each ( $footerRow . children ( ) , function ( index , footerCell ) {
var footerCellHtml = $ ( footerCell ) . children ( '.th-inner' ) . first ( ) . html ( ) ;
footerData [ _this2 . columns [ index ] . field ] = footerCellHtml === ' ' ? null : footerCellHtml ;
// grab footer cell text into cell index-based array
footerHtml . push ( footerCellHtml ) ;
} ) ;
_this2 . $body . append ( _this2 . $body . children ( ) . last ( ) [ 0 ] . outerHTML ) ;
var $lastTableRow = _this2 . $body . children ( ) . last ( ) ;
$ . each ( $lastTableRow . children ( ) , function ( index , lastTableRowCell ) {
$ ( lastTableRowCell ) . html ( footerHtml [ index ] ) ;
} ) ;
}
var hiddenColumns = _this2 . getHiddenColumns ( ) ;
hiddenColumns . forEach ( function ( row ) {
if ( row . forceExport ) {
_this2 . showColumn ( row . field ) ;
}
} ) ;
if ( typeof o . exportOptions . fileName === 'function' ) {
options . fileName = o . exportOptions . fileName ( ) ;
}
_this2 . $el . tableExport ( Utils . extend ( {
onAfterSaveToFile : function onAfterSaveToFile ( ) {
if ( o . exportFooter ) {
_this2 . load ( data ) ;
}
if ( stateField ) {
_this2 . showColumn ( stateField ) ;
}
if ( isCardView ) {
_this2 . toggleView ( ) ;
}
hiddenColumns . forEach ( function ( row ) {
if ( row . forceExport ) {
_this2 . hideColumn ( row . field ) ;
}
} ) ;
_this2 . columns . forEach ( function ( row ) {
if ( row . forceHide ) {
_this2 . showColumn ( row . field ) ;
}
} ) ;
if ( callback ) callback ( ) ;
}
} , o . exportOptions , options ) ) ;
} ;
if ( o . exportDataType === 'all' && o . pagination ) {
var eventName = o . sidePagination === 'server' ? 'post-body.bs.table' : 'page-change.bs.table' ;
var virtualScroll = this . options . virtualScroll ;
this . $el . one ( eventName , function ( ) {
setTimeout ( function ( ) {
var data = _this2 . getData ( ) ;
doExport ( function ( ) {
_this2 . options . virtualScroll = virtualScroll ;
_this2 . togglePagination ( ) ;
} ) ;
_this2 . trigger ( 'export-saved' , data ) ;
} , 0 ) ;
} ) ;
this . options . virtualScroll = false ;
this . togglePagination ( ) ;
} else if ( o . exportDataType === 'selected' ) {
var data = this . getData ( ) ;
var selectedData = this . getSelections ( ) ;
var pagination = o . pagination ;
if ( ! selectedData . length ) {
return ;
}
if ( o . sidePagination === 'server' ) {
data = _defineProperty ( {
total : o . totalRows
} , this . options . dataField , data ) ;
selectedData = _defineProperty ( {
total : selectedData . length
} , this . options . dataField , selectedData ) ;
}
this . load ( selectedData ) ;
if ( pagination ) {
this . togglePagination ( ) ;
}
doExport ( function ( ) {
if ( pagination ) {
_this2 . togglePagination ( ) ;
}
_this2 . load ( data ) ;
} ) ;
this . trigger ( 'export-saved' , selectedData ) ;
} else {
doExport ( ) ;
this . trigger ( 'export-saved' , this . getData ( true ) ) ;
}
}
} , {
key : "updateSelected" ,
value : function updateSelected ( ) {
_get ( _getPrototypeOf ( _class . prototype ) , "updateSelected" , this ) . call ( this ) ;
this . updateExportButton ( ) ;
}
} , {
key : "updateExportButton" ,
value : function updateExportButton ( ) {
if ( this . options . exportDataType === 'selected' ) {
this . $export . find ( '> button' ) . prop ( 'disabled' , ! this . getSelections ( ) . length ) ;
}
}
} ] ) ;
} ( $ . BootstrapTable ) ;
} ) ) ;
( function ( global , factory ) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory ( require ( 'core-js/modules/es.array.concat.js' ) , require ( 'core-js/modules/es.array.filter.js' ) , require ( 'core-js/modules/es.array.find.js' ) , require ( 'core-js/modules/es.array.includes.js' ) , require ( 'core-js/modules/es.array.join.js' ) , require ( 'core-js/modules/es.array.map.js' ) , require ( 'core-js/modules/es.date.to-json.js' ) , require ( 'core-js/modules/es.object.assign.js' ) , require ( 'core-js/modules/es.object.entries.js' ) , require ( 'core-js/modules/es.object.keys.js' ) , require ( 'core-js/modules/es.object.to-string.js' ) , require ( 'core-js/modules/es.regexp.exec.js' ) , require ( 'core-js/modules/es.regexp.to-string.js' ) , require ( 'core-js/modules/es.string.includes.js' ) , require ( 'core-js/modules/es.string.replace.js' ) , require ( 'core-js/modules/es.string.search.js' ) , require ( 'core-js/modules/web.dom-collections.for-each.js' ) , require ( 'jquery' ) ) :
typeof define === 'function' && define . amd ? define ( [ 'core-js/modules/es.array.concat.js' , 'core-js/modules/es.array.filter.js' , 'core-js/modules/es.array.find.js' , 'core-js/modules/es.array.includes.js' , 'core-js/modules/es.array.join.js' , 'core-js/modules/es.array.map.js' , 'core-js/modules/es.date.to-json.js' , 'core-js/modules/es.object.assign.js' , 'core-js/modules/es.object.entries.js' , 'core-js/modules/es.object.keys.js' , 'core-js/modules/es.object.to-string.js' , 'core-js/modules/es.regexp.exec.js' , 'core-js/modules/es.regexp.to-string.js' , 'core-js/modules/es.string.includes.js' , 'core-js/modules/es.string.replace.js' , 'core-js/modules/es.string.search.js' , 'core-js/modules/web.dom-collections.for-each.js' , 'jquery' ] , factory ) :
( global = typeof globalThis !== 'undefined' ? globalThis : global || self , factory ( null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , global . jQuery ) ) ;
} ) ( this , ( function ( es _array _concat _js , es _array _filter _js , es _array _find _js , es _array _includes _js , es _array _join _js , es _array _map _js , es _date _toJson _js , es _object _assign _js , es _object _entries _js , es _object _keys _js , es _object _toString _js , es _regexp _exec _js , es _regexp _toString _js , es _string _includes _js , es _string _replace _js , es _string _search _js , web _domCollections _forEach _js , $ ) { 'use strict' ;
function _arrayLikeToArray ( r , a ) {
( null == a || a > r . length ) && ( a = r . length ) ;
for ( var e = 0 , n = Array ( a ) ; e < a ; e ++ ) n [ e ] = r [ e ] ;
return n ;
}
function _arrayWithHoles ( r ) {
if ( Array . isArray ( r ) ) return r ;
}
function _assertThisInitialized ( e ) {
if ( void 0 === e ) throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ;
return e ;
}
function _callSuper ( t , o , e ) {
return o = _getPrototypeOf ( o ) , _possibleConstructorReturn ( t , _isNativeReflectConstruct ( ) ? Reflect . construct ( o , e || [ ] , _getPrototypeOf ( t ) . constructor ) : o . apply ( t , e ) ) ;
}
function _classCallCheck ( a , n ) {
if ( ! ( a instanceof n ) ) throw new TypeError ( "Cannot call a class as a function" ) ;
}
function _defineProperties ( e , r ) {
for ( var t = 0 ; t < r . length ; t ++ ) {
var o = r [ t ] ;
o . enumerable = o . enumerable || ! 1 , o . configurable = ! 0 , "value" in o && ( o . writable = ! 0 ) , Object . defineProperty ( e , _toPropertyKey ( o . key ) , o ) ;
}
}
function _createClass ( e , r , t ) {
return r && _defineProperties ( e . prototype , r ) , Object . defineProperty ( e , "prototype" , {
writable : ! 1
} ) , e ;
}
function _createForOfIteratorHelper ( r , e ) {
var t = "undefined" != typeof Symbol && r [ Symbol . iterator ] || r [ "@@iterator" ] ;
if ( ! t ) {
if ( Array . isArray ( r ) || ( t = _unsupportedIterableToArray ( r ) ) || e ) {
t && ( r = t ) ;
var n = 0 ,
F = function ( ) { } ;
return {
s : F ,
n : function ( ) {
return n >= r . length ? {
done : ! 0
} : {
done : ! 1 ,
value : r [ n ++ ]
} ;
} ,
e : function ( r ) {
throw r ;
} ,
f : F
} ;
}
throw new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
}
var o ,
a = ! 0 ,
u = ! 1 ;
return {
s : function ( ) {
t = t . call ( r ) ;
} ,
n : function ( ) {
var r = t . next ( ) ;
return a = r . done , r ;
} ,
e : function ( r ) {
u = ! 0 , o = r ;
} ,
f : function ( ) {
try {
a || null == t . return || t . return ( ) ;
} finally {
if ( u ) throw o ;
}
}
} ;
}
function _get ( ) {
return _get = "undefined" != typeof Reflect && Reflect . get ? Reflect . get . bind ( ) : function ( e , t , r ) {
var p = _superPropBase ( e , t ) ;
if ( p ) {
var n = Object . getOwnPropertyDescriptor ( p , t ) ;
return n . get ? n . get . call ( arguments . length < 3 ? e : r ) : n . value ;
}
} , _get . apply ( null , arguments ) ;
}
function _getPrototypeOf ( t ) {
return _getPrototypeOf = Object . setPrototypeOf ? Object . getPrototypeOf . bind ( ) : function ( t ) {
return t . _ _proto _ _ || Object . getPrototypeOf ( t ) ;
} , _getPrototypeOf ( t ) ;
}
function _inherits ( t , e ) {
if ( "function" != typeof e && null !== e ) throw new TypeError ( "Super expression must either be null or a function" ) ;
t . prototype = Object . create ( e && e . prototype , {
constructor : {
value : t ,
writable : ! 0 ,
configurable : ! 0
}
} ) , Object . defineProperty ( t , "prototype" , {
writable : ! 1
} ) , e && _setPrototypeOf ( t , e ) ;
}
function _isNativeReflectConstruct ( ) {
try {
var t = ! Boolean . prototype . valueOf . call ( Reflect . construct ( Boolean , [ ] , function ( ) { } ) ) ;
} catch ( t ) { }
return ( _isNativeReflectConstruct = function ( ) {
return ! ! t ;
} ) ( ) ;
}
function _iterableToArrayLimit ( r , l ) {
var t = null == r ? null : "undefined" != typeof Symbol && r [ Symbol . iterator ] || r [ "@@iterator" ] ;
if ( null != t ) {
var e ,
n ,
i ,
u ,
a = [ ] ,
f = ! 0 ,
o = ! 1 ;
try {
if ( i = ( t = t . call ( r ) ) . next , 0 === l ) ; else for ( ; ! ( f = ( e = i . call ( t ) ) . done ) && ( a . push ( e . value ) , a . length !== l ) ; f = ! 0 ) ;
} catch ( r ) {
o = ! 0 , n = r ;
} finally {
try {
if ( ! f && null != t . return && ( u = t . return ( ) , Object ( u ) !== u ) ) return ;
} finally {
if ( o ) throw n ;
}
}
return a ;
}
}
function _nonIterableRest ( ) {
throw new TypeError ( "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
}
function _possibleConstructorReturn ( t , e ) {
if ( e && ( "object" == typeof e || "function" == typeof e ) ) return e ;
if ( void 0 !== e ) throw new TypeError ( "Derived constructors may only return object or undefined" ) ;
return _assertThisInitialized ( t ) ;
}
function _setPrototypeOf ( t , e ) {
return _setPrototypeOf = Object . setPrototypeOf ? Object . setPrototypeOf . bind ( ) : function ( t , e ) {
return t . _ _proto _ _ = e , t ;
} , _setPrototypeOf ( t , e ) ;
}
function _slicedToArray ( r , e ) {
return _arrayWithHoles ( r ) || _iterableToArrayLimit ( r , e ) || _unsupportedIterableToArray ( r , e ) || _nonIterableRest ( ) ;
}
function _superPropBase ( t , o ) {
for ( ; ! { } . hasOwnProperty . call ( t , o ) && null !== ( t = _getPrototypeOf ( t ) ) ; ) ;
return t ;
}
function _toPrimitive ( t , r ) {
if ( "object" != typeof t || ! t ) return t ;
var e = t [ Symbol . toPrimitive ] ;
if ( void 0 !== e ) {
var i = e . call ( t , r ) ;
if ( "object" != typeof i ) return i ;
throw new TypeError ( "@@toPrimitive must return a primitive value." ) ;
}
return ( String ) ( t ) ;
}
function _toPropertyKey ( t ) {
var i = _toPrimitive ( t , "string" ) ;
return "symbol" == typeof i ? i : i + "" ;
}
function _unsupportedIterableToArray ( r , a ) {
if ( r ) {
if ( "string" == typeof r ) return _arrayLikeToArray ( r , a ) ;
var t = { } . toString . call ( r ) . slice ( 8 , - 1 ) ;
return "Object" === t && r . constructor && ( t = r . constructor . name ) , "Map" === t || "Set" === t ? Array . from ( r ) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( t ) ? _arrayLikeToArray ( r , a ) : void 0 ;
}
}
/ * *
* @ author : Dennis Hernández
* @ update zhixin wen < wenzhixin2010 @ gmail . com >
* /
var Utils = $ . fn . bootstrapTable . utils ;
var UtilsCookie = {
cookieIds : {
sortOrder : 'bs.table.sortOrder' ,
sortName : 'bs.table.sortName' ,
sortPriority : 'bs.table.sortPriority' ,
pageNumber : 'bs.table.pageNumber' ,
pageList : 'bs.table.pageList' ,
hiddenColumns : 'bs.table.hiddenColumns' ,
cardView : 'bs.table.cardView' ,
customView : 'bs.table.customView' ,
searchText : 'bs.table.searchText' ,
reorderColumns : 'bs.table.reorderColumns' ,
filterControl : 'bs.table.filterControl' ,
filterBy : 'bs.table.filterBy'
} ,
getCurrentHeader : function getCurrentHeader ( that ) {
return that . options . height ? that . $tableHeader : that . $header ;
} ,
getCurrentSearchControls : function getCurrentSearchControls ( that ) {
return that . options . height ? 'table select, table input' : 'select, input' ;
} ,
isCookieSupportedByBrowser : function isCookieSupportedByBrowser ( ) {
return navigator . cookieEnabled ;
} ,
isCookieEnabled : function isCookieEnabled ( that , cookieName ) {
return that . options . cookiesEnabled . includes ( cookieName ) ;
} ,
setCookie : function setCookie ( that , cookieName , cookieValue ) {
if ( ! that . options . cookie || ! UtilsCookie . isCookieEnabled ( that , cookieName ) ) {
return ;
}
return that . _storage . setItem ( "" . concat ( that . options . cookieIdTable , "." ) . concat ( cookieName ) , cookieValue ) ;
} ,
getCookie : function getCookie ( that , cookieName ) {
if ( ! cookieName || ! UtilsCookie . isCookieEnabled ( that , cookieName ) ) {
return null ;
}
return that . _storage . getItem ( "" . concat ( that . options . cookieIdTable , "." ) . concat ( cookieName ) ) ;
} ,
deleteCookie : function deleteCookie ( that , cookieName ) {
return that . _storage . removeItem ( "" . concat ( that . options . cookieIdTable , "." ) . concat ( cookieName ) ) ;
} ,
calculateExpiration : function calculateExpiration ( cookieExpire ) {
var time = cookieExpire . replace ( /[0-9]*/ , '' ) ; // s,mi,h,d,m,y
cookieExpire = cookieExpire . replace ( /[A-Za-z]{1,2}/ , '' ) ; // number
switch ( time . toLowerCase ( ) ) {
case 's' :
cookieExpire = + cookieExpire ;
break ;
case 'mi' :
cookieExpire *= 60 ;
break ;
case 'h' :
cookieExpire = cookieExpire * 60 * 60 ;
break ;
case 'd' :
cookieExpire = cookieExpire * 24 * 60 * 60 ;
break ;
case 'm' :
cookieExpire = cookieExpire * 30 * 24 * 60 * 60 ;
break ;
case 'y' :
cookieExpire = cookieExpire * 365 * 24 * 60 * 60 ;
break ;
default :
cookieExpire = undefined ;
break ;
}
if ( ! cookieExpire ) {
return '' ;
}
var d = new Date ( ) ;
d . setTime ( d . getTime ( ) + cookieExpire * 1000 ) ;
return d . toGMTString ( ) ;
} ,
initCookieFilters : function initCookieFilters ( that ) {
setTimeout ( function ( ) {
var parsedCookieFilters = JSON . parse ( UtilsCookie . getCookie ( that , UtilsCookie . cookieIds . filterControl ) ) ;
if ( ! that . _filterControlValuesLoaded && parsedCookieFilters ) {
var cachedFilters = { } ;
var header = UtilsCookie . getCurrentHeader ( that ) ;
var searchControls = UtilsCookie . getCurrentSearchControls ( that ) ;
var applyCookieFilters = function applyCookieFilters ( element , filteredCookies ) {
filteredCookies . forEach ( function ( cookie ) {
var value = element . value . toString ( ) ;
var text = cookie . text ;
if ( text === '' || element . type === 'radio' && value !== text ) {
return ;
}
if ( element . tagName === 'INPUT' && element . type === 'radio' && value === text ) {
element . checked = true ;
cachedFilters [ cookie . field ] = text ;
} else if ( element . tagName === 'INPUT' ) {
element . value = text ;
cachedFilters [ cookie . field ] = text ;
} else if ( element . tagName === 'SELECT' && that . options . filterControlContainer ) {
element . value = text ;
cachedFilters [ cookie . field ] = text ;
} else if ( text !== '' && element . tagName === 'SELECT' ) {
cachedFilters [ cookie . field ] = text ;
var _iterator = _createForOfIteratorHelper ( element ) ,
_step ;
try {
for ( _iterator . s ( ) ; ! ( _step = _iterator . n ( ) ) . done ; ) {
var currentElement = _step . value ;
if ( currentElement . value === text ) {
currentElement . selected = true ;
return ;
}
}
} catch ( err ) {
_iterator . e ( err ) ;
} finally {
_iterator . f ( ) ;
}
var option = document . createElement ( 'option' ) ;
option . value = text ;
option . text = text ;
element . add ( option , element [ 1 ] ) ;
element . selectedIndex = 1 ;
}
} ) ;
} ;
var filterContainer = header ;
if ( that . options . filterControlContainer ) {
filterContainer = $ ( "" . concat ( that . options . filterControlContainer ) ) ;
}
filterContainer . find ( searchControls ) . each ( function ( ) {
var field = $ ( this ) . closest ( '[data-field]' ) . data ( 'field' ) ;
var filteredCookies = parsedCookieFilters . filter ( function ( cookie ) {
return cookie . field === field ;
} ) ;
applyCookieFilters ( this , filteredCookies ) ;
} ) ;
that . initColumnSearch ( cachedFilters ) ;
that . _filterControlValuesLoaded = true ;
that . initServer ( ) ;
}
} , 250 ) ;
}
} ;
Object . assign ( $ . fn . bootstrapTable . defaults , {
cookie : false ,
cookieExpire : '2h' ,
cookiePath : null ,
cookieDomain : null ,
cookieSecure : null ,
cookieSameSite : 'Lax' ,
cookieIdTable : '' ,
cookiesEnabled : [ 'bs.table.sortOrder' , 'bs.table.sortName' , 'bs.table.sortPriority' , 'bs.table.pageNumber' , 'bs.table.pageList' , 'bs.table.hiddenColumns' , 'bs.table.searchText' , 'bs.table.filterControl' , 'bs.table.filterBy' , 'bs.table.reorderColumns' , 'bs.table.cardView' , 'bs.table.customView' ] ,
cookieStorage : 'cookieStorage' ,
// localStorage, sessionStorage, customStorage
cookieCustomStorageGet : null ,
cookieCustomStorageSet : null ,
cookieCustomStorageDelete : null ,
// internal variable
_filterControls : [ ] ,
_filterControlValuesLoaded : false ,
_storage : {
setItem : undefined ,
getItem : undefined ,
removeItem : undefined
}
} ) ;
$ . fn . bootstrapTable . methods . push ( 'getCookies' ) ;
$ . fn . bootstrapTable . methods . push ( 'deleteCookie' ) ;
Object . assign ( $ . fn . bootstrapTable . utils , {
setCookie : UtilsCookie . setCookie ,
getCookie : UtilsCookie . getCookie
} ) ;
$ . BootstrapTable = /*#__PURE__*/ function ( _$$BootstrapTable ) {
function _class ( ) {
_classCallCheck ( this , _class ) ;
return _callSuper ( this , _class , arguments ) ;
}
_inherits ( _class , _$$BootstrapTable ) ;
return _createClass ( _class , [ {
key : "init" ,
value : function init ( ) {
if ( this . options . cookie ) {
if ( this . options . cookieStorage === 'cookieStorage' && ! UtilsCookie . isCookieSupportedByBrowser ( ) ) {
throw new Error ( 'Cookies are not enabled in this browser.' ) ;
}
this . configureStorage ( ) ;
// FilterBy logic
var filterByCookieValue = UtilsCookie . getCookie ( this , UtilsCookie . cookieIds . filterBy ) ;
if ( typeof filterByCookieValue === 'boolean' && ! filterByCookieValue ) {
throw new Error ( 'The cookie value of filterBy must be a json!' ) ;
}
var filterByCookie = { } ;
try {
filterByCookie = JSON . parse ( filterByCookieValue ) ;
} catch ( e ) {
throw new Error ( 'Could not parse the json of the filterBy cookie!' ) ;
}
this . filterColumns = filterByCookie ? filterByCookie : { } ;
// FilterControl logic
this . _filterControls = [ ] ;
this . _filterControlValuesLoaded = false ;
this . options . cookiesEnabled = typeof this . options . cookiesEnabled === 'string' ? this . options . cookiesEnabled . replace ( '[' , '' ) . replace ( ']' , '' ) . replace ( /'/g , '' ) . replace ( / /g , '' ) . split ( ',' ) : this . options . cookiesEnabled ;
if ( this . options . filterControl ) {
var that = this ;
this . $el . on ( 'column-search.bs.table' , function ( e , field , text ) {
var isNewField = true ;
for ( var i = 0 ; i < that . _filterControls . length ; i ++ ) {
if ( that . _filterControls [ i ] . field === field ) {
that . _filterControls [ i ] . text = text ;
isNewField = false ;
break ;
}
}
if ( isNewField ) {
that . _filterControls . push ( {
field : field ,
text : text
} ) ;
}
UtilsCookie . setCookie ( that , UtilsCookie . cookieIds . filterControl , JSON . stringify ( that . _filterControls ) ) ;
} ) . on ( 'created-controls.bs.table' , UtilsCookie . initCookieFilters ( that ) ) ;
}
}
_get ( _getPrototypeOf ( _class . prototype ) , "init" , this ) . call ( this ) ;
}
} , {
key : "initServer" ,
value : function initServer ( ) {
var _get2 ;
if ( this . options . cookie && this . options . filterControl && ! this . _filterControlValuesLoaded ) {
var cookie = JSON . parse ( UtilsCookie . getCookie ( this , UtilsCookie . cookieIds . filterControl ) ) ;
if ( cookie ) {
return ;
}
}
for ( var _len = arguments . length , args = new Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) {
args [ _key ] = arguments [ _key ] ;
}
( _get2 = _get ( _getPrototypeOf ( _class . prototype ) , "initServer" , this ) ) . call . apply ( _get2 , [ this ] . concat ( args ) ) ;
}
} , {
key : "initTable" ,
value : function initTable ( ) {
var _get3 ;
for ( var _len2 = arguments . length , args = new Array ( _len2 ) , _key2 = 0 ; _key2 < _len2 ; _key2 ++ ) {
args [ _key2 ] = arguments [ _key2 ] ;
}
( _get3 = _get ( _getPrototypeOf ( _class . prototype ) , "initTable" , this ) ) . call . apply ( _get3 , [ this ] . concat ( args ) ) ;
this . initCookie ( ) ;
}
} , {
key : "onSort" ,
value : function onSort ( ) {
var _get4 ;
for ( var _len3 = arguments . length , args = new Array ( _len3 ) , _key3 = 0 ; _key3 < _len3 ; _key3 ++ ) {
args [ _key3 ] = arguments [ _key3 ] ;
}
( _get4 = _get ( _getPrototypeOf ( _class . prototype ) , "onSort" , this ) ) . call . apply ( _get4 , [ this ] . concat ( args ) ) ;
if ( ! this . options . cookie ) {
return ;
}
if ( this . options . sortName === undefined || this . options . sortOrder === undefined ) {
UtilsCookie . deleteCookie ( this , UtilsCookie . cookieIds . sortName ) ;
UtilsCookie . deleteCookie ( this , UtilsCookie . cookieIds . sortOrder ) ;
} else {
this . options . sortPriority = null ;
UtilsCookie . deleteCookie ( this , UtilsCookie . cookieIds . sortPriority ) ;
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . sortOrder , this . options . sortOrder ) ;
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . sortName , this . options . sortName ) ;
}
}
} , {
key : "onMultipleSort" ,
value : function onMultipleSort ( ) {
var _get5 ;
for ( var _len4 = arguments . length , args = new Array ( _len4 ) , _key4 = 0 ; _key4 < _len4 ; _key4 ++ ) {
args [ _key4 ] = arguments [ _key4 ] ;
}
( _get5 = _get ( _getPrototypeOf ( _class . prototype ) , "onMultipleSort" , this ) ) . call . apply ( _get5 , [ this ] . concat ( args ) ) ;
if ( ! this . options . cookie ) {
return ;
}
if ( this . options . sortPriority === undefined ) {
UtilsCookie . deleteCookie ( this , UtilsCookie . cookieIds . sortPriority ) ;
} else {
this . options . sortName = undefined ;
this . options . sortOrder = undefined ;
UtilsCookie . deleteCookie ( this , UtilsCookie . cookieIds . sortName ) ;
UtilsCookie . deleteCookie ( this , UtilsCookie . cookieIds . sortOrder ) ;
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . sortPriority , JSON . stringify ( this . options . sortPriority ) ) ;
}
}
} , {
key : "onPageNumber" ,
value : function onPageNumber ( ) {
var _get6 ;
for ( var _len5 = arguments . length , args = new Array ( _len5 ) , _key5 = 0 ; _key5 < _len5 ; _key5 ++ ) {
args [ _key5 ] = arguments [ _key5 ] ;
}
( _get6 = _get ( _getPrototypeOf ( _class . prototype ) , "onPageNumber" , this ) ) . call . apply ( _get6 , [ this ] . concat ( args ) ) ;
if ( ! this . options . cookie ) {
return ;
}
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . pageNumber , this . options . pageNumber ) ;
}
} , {
key : "onPageListChange" ,
value : function onPageListChange ( ) {
var _get7 ;
for ( var _len6 = arguments . length , args = new Array ( _len6 ) , _key6 = 0 ; _key6 < _len6 ; _key6 ++ ) {
args [ _key6 ] = arguments [ _key6 ] ;
}
( _get7 = _get ( _getPrototypeOf ( _class . prototype ) , "onPageListChange" , this ) ) . call . apply ( _get7 , [ this ] . concat ( args ) ) ;
if ( ! this . options . cookie ) {
return ;
}
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . pageList , this . options . pageSize === this . options . formatAllRows ( ) ? 'all' : this . options . pageSize ) ;
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . pageNumber , this . options . pageNumber ) ;
}
} , {
key : "onPagePre" ,
value : function onPagePre ( ) {
var _get8 ;
for ( var _len7 = arguments . length , args = new Array ( _len7 ) , _key7 = 0 ; _key7 < _len7 ; _key7 ++ ) {
args [ _key7 ] = arguments [ _key7 ] ;
}
( _get8 = _get ( _getPrototypeOf ( _class . prototype ) , "onPagePre" , this ) ) . call . apply ( _get8 , [ this ] . concat ( args ) ) ;
if ( ! this . options . cookie ) {
return ;
}
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . pageNumber , this . options . pageNumber ) ;
}
} , {
key : "onPageNext" ,
value : function onPageNext ( ) {
var _get9 ;
for ( var _len8 = arguments . length , args = new Array ( _len8 ) , _key8 = 0 ; _key8 < _len8 ; _key8 ++ ) {
args [ _key8 ] = arguments [ _key8 ] ;
}
( _get9 = _get ( _getPrototypeOf ( _class . prototype ) , "onPageNext" , this ) ) . call . apply ( _get9 , [ this ] . concat ( args ) ) ;
if ( ! this . options . cookie ) {
return ;
}
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . pageNumber , this . options . pageNumber ) ;
}
} , {
key : "_toggleColumn" ,
value : function _toggleColumn ( ) {
var _get10 ;
for ( var _len9 = arguments . length , args = new Array ( _len9 ) , _key9 = 0 ; _key9 < _len9 ; _key9 ++ ) {
args [ _key9 ] = arguments [ _key9 ] ;
}
( _get10 = _get ( _getPrototypeOf ( _class . prototype ) , "_toggleColumn" , this ) ) . call . apply ( _get10 , [ this ] . concat ( args ) ) ;
if ( ! this . options . cookie ) {
return ;
}
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . hiddenColumns , JSON . stringify ( this . getHiddenColumns ( ) . map ( function ( column ) {
return column . field ;
} ) ) ) ;
}
} , {
key : "_toggleAllColumns" ,
value : function _toggleAllColumns ( ) {
var _get11 ;
for ( var _len10 = arguments . length , args = new Array ( _len10 ) , _key10 = 0 ; _key10 < _len10 ; _key10 ++ ) {
args [ _key10 ] = arguments [ _key10 ] ;
}
( _get11 = _get ( _getPrototypeOf ( _class . prototype ) , "_toggleAllColumns" , this ) ) . call . apply ( _get11 , [ this ] . concat ( args ) ) ;
if ( ! this . options . cookie ) {
return ;
}
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . hiddenColumns , JSON . stringify ( this . getHiddenColumns ( ) . map ( function ( column ) {
return column . field ;
} ) ) ) ;
}
} , {
key : "toggleView" ,
value : function toggleView ( ) {
_get ( _getPrototypeOf ( _class . prototype ) , "toggleView" , this ) . call ( this ) ;
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . cardView , this . options . cardView ) ;
}
} , {
key : "toggleCustomView" ,
value : function toggleCustomView ( ) {
_get ( _getPrototypeOf ( _class . prototype ) , "toggleCustomView" , this ) . call ( this ) ;
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . customView , this . customViewDefaultView ) ;
}
} , {
key : "selectPage" ,
value : function selectPage ( page ) {
_get ( _getPrototypeOf ( _class . prototype ) , "selectPage" , this ) . call ( this , page ) ;
if ( ! this . options . cookie ) {
return ;
}
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . pageNumber , page ) ;
}
} , {
key : "onSearch" ,
value : function onSearch ( event ) {
_get ( _getPrototypeOf ( _class . prototype ) , "onSearch" , this ) . call ( this , event , arguments . length > 1 ? arguments [ 1 ] : true ) ;
if ( ! this . options . cookie ) {
return ;
}
if ( this . options . search ) {
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . searchText , this . searchText ) ;
}
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . pageNumber , this . options . pageNumber ) ;
}
} , {
key : "initHeader" ,
value : function initHeader ( ) {
var _get12 ;
if ( this . options . reorderableColumns && this . options . cookie ) {
this . columnsSortOrder = JSON . parse ( UtilsCookie . getCookie ( this , UtilsCookie . cookieIds . reorderColumns ) ) ;
}
for ( var _len11 = arguments . length , args = new Array ( _len11 ) , _key11 = 0 ; _key11 < _len11 ; _key11 ++ ) {
args [ _key11 ] = arguments [ _key11 ] ;
}
( _get12 = _get ( _getPrototypeOf ( _class . prototype ) , "initHeader" , this ) ) . call . apply ( _get12 , [ this ] . concat ( args ) ) ;
}
} , {
key : "persistReorderColumnsState" ,
value : function persistReorderColumnsState ( that ) {
UtilsCookie . setCookie ( that , UtilsCookie . cookieIds . reorderColumns , JSON . stringify ( that . columnsSortOrder ) ) ;
}
} , {
key : "filterBy" ,
value : function filterBy ( ) {
var _get13 ;
for ( var _len12 = arguments . length , args = new Array ( _len12 ) , _key12 = 0 ; _key12 < _len12 ; _key12 ++ ) {
args [ _key12 ] = arguments [ _key12 ] ;
}
( _get13 = _get ( _getPrototypeOf ( _class . prototype ) , "filterBy" , this ) ) . call . apply ( _get13 , [ this ] . concat ( args ) ) ;
if ( ! this . options . cookie ) {
return ;
}
UtilsCookie . setCookie ( this , UtilsCookie . cookieIds . filterBy , JSON . stringify ( this . filterColumns ) ) ;
}
} , {
key : "initCookie" ,
value : function initCookie ( ) {
if ( ! this . options . cookie ) {
return ;
}
if ( this . options . cookieIdTable === '' || this . options . cookieExpire === '' ) {
console . error ( 'Configuration error. Please review the cookieIdTable and the cookieExpire property. If the properties are correct, then this browser does not support cookies.' ) ;
this . options . cookie = false ; // Make sure that the cookie extension is disabled
return ;
}
var sortOrderCookie = UtilsCookie . getCookie ( this , UtilsCookie . cookieIds . sortOrder ) ;
var sortOrderNameCookie = UtilsCookie . getCookie ( this , UtilsCookie . cookieIds . sortName ) ;
var sortPriorityCookie = UtilsCookie . getCookie ( this , UtilsCookie . cookieIds . sortPriority ) ;
var pageNumberCookie = UtilsCookie . getCookie ( this , UtilsCookie . cookieIds . pageNumber ) ;
var pageListCookie = UtilsCookie . getCookie ( this , UtilsCookie . cookieIds . pageList ) ;
var searchTextCookie = UtilsCookie . getCookie ( this , UtilsCookie . cookieIds . searchText ) ;
var cardViewCookie = UtilsCookie . getCookie ( this , UtilsCookie . cookieIds . cardView ) ;
var customViewCookie = UtilsCookie . getCookie ( this , UtilsCookie . cookieIds . customView ) ;
var hiddenColumnsCookieValue = UtilsCookie . getCookie ( this , UtilsCookie . cookieIds . hiddenColumns ) ;
var hiddenColumnsCookie = { } ;
try {
hiddenColumnsCookie = JSON . parse ( hiddenColumnsCookieValue ) ;
} catch ( e ) {
throw new Error ( 'Could not parse the json of the hidden columns cookie!' , hiddenColumnsCookieValue ) ;
}
try {
sortPriorityCookie = JSON . parse ( sortPriorityCookie ) ;
} catch ( e ) {
throw new Error ( 'Could not parse the json of the sortPriority cookie!' , sortPriorityCookie ) ;
}
if ( ! sortPriorityCookie ) {
// sortOrder
this . options . sortOrder = sortOrderCookie ? sortOrderCookie : this . options . sortOrder ;
// sortName
this . options . sortName = sortOrderNameCookie ? sortOrderNameCookie : this . options . sortName ;
} else {
this . options . sortOrder = undefined ;
this . options . sortName = undefined ;
}
// sortPriority
this . options . sortPriority = sortPriorityCookie ? sortPriorityCookie : this . options . sortPriority ;
if ( this . options . sortOrder || this . options . sortName ) {
// sortPriority
this . options . sortPriority = null ;
}
// pageNumber
this . options . pageNumber = pageNumberCookie ? + pageNumberCookie : this . options . pageNumber ;
// pageSize
this . options . pageSize = pageListCookie ? pageListCookie === 'all' ? this . options . formatAllRows ( ) : + pageListCookie : this . options . pageSize ;
// searchText
if ( UtilsCookie . isCookieEnabled ( this , UtilsCookie . cookieIds . searchText ) && this . options . searchText === '' ) {
this . options . searchText = searchTextCookie ? searchTextCookie : '' ;
}
// cardView
if ( cardViewCookie !== null ) {
this . options . cardView = cardViewCookie === 'true' ? cardViewCookie : false ;
}
this . customViewDefaultView = customViewCookie === 'true' ;
if ( hiddenColumnsCookie ) {
var _iterator2 = _createForOfIteratorHelper ( this . columns ) ,
_step2 ;
try {
for ( _iterator2 . s ( ) ; ! ( _step2 = _iterator2 . n ( ) ) . done ; ) {
var column = _step2 . value ;
if ( ! column . switchable ) {
continue ;
}
column . visible = this . isSelectionColumn ( column ) || ! hiddenColumnsCookie . includes ( column . field ) ;
}
} catch ( err ) {
_iterator2 . e ( err ) ;
} finally {
_iterator2 . f ( ) ;
}
}
}
} , {
key : "getCookies" ,
value : function getCookies ( ) {
var bootstrapTable = this ;
var cookies = { } ;
for ( var _i = 0 , _Object$entries = Object . entries ( UtilsCookie . cookieIds ) ; _i < _Object$entries . length ; _i ++ ) {
var _Object$entries$ _i = _slicedToArray ( _Object$entries [ _i ] , 2 ) ,
key = _Object$entries$ _i [ 0 ] ,
value = _Object$entries$ _i [ 1 ] ;
cookies [ key ] = UtilsCookie . getCookie ( bootstrapTable , value ) ;
if ( key === 'columns' || key === 'hiddenColumns' || key === 'sortPriority' ) {
cookies [ key ] = JSON . parse ( cookies [ key ] ) ;
}
}
return cookies ;
}
} , {
key : "deleteCookie" ,
value : function deleteCookie ( cookieName ) {
if ( ! cookieName || ! this . options . cookie ) {
return ;
}
UtilsCookie . deleteCookie ( this , UtilsCookie . cookieIds [ cookieName ] ) ;
}
} , {
key : "configureStorage" ,
value : function configureStorage ( ) {
var that = this ;
this . _storage = { } ;
switch ( this . options . cookieStorage ) {
case 'cookieStorage' :
this . _storage . setItem = function ( cookieName , cookieValue ) {
document . cookie = [ cookieName , '=' , encodeURIComponent ( cookieValue ) , "; expires=" . concat ( UtilsCookie . calculateExpiration ( that . options . cookieExpire ) ) , that . options . cookiePath ? "; path=" . concat ( that . options . cookiePath ) : '' , that . options . cookieDomain ? "; domain=" . concat ( that . options . cookieDomain ) : '' , that . options . cookieSecure ? '; secure' : '' , ";SameSite=" . concat ( that . options . cookieSameSite ) ] . join ( '' ) ;
} ;
this . _storage . getItem = function ( cookieName ) {
var value = "; " . concat ( document . cookie ) ;
var parts = value . split ( "; " . concat ( cookieName , "=" ) ) ;
return parts . length === 2 ? decodeURIComponent ( parts . pop ( ) . split ( ';' ) . shift ( ) ) : null ;
} ;
this . _storage . removeItem = function ( cookieName ) {
document . cookie = [ encodeURIComponent ( cookieName ) , '=' , '; expires=Thu, 01 Jan 1970 00:00:00 GMT' , that . options . cookiePath ? "; path=" . concat ( that . options . cookiePath ) : '' , that . options . cookieDomain ? "; domain=" . concat ( that . options . cookieDomain ) : '' , ";SameSite=" . concat ( that . options . cookieSameSite ) ] . join ( '' ) ;
} ;
break ;
case 'localStorage' :
this . _storage . setItem = function ( cookieName , cookieValue ) {
localStorage . setItem ( cookieName , cookieValue ) ;
} ;
this . _storage . getItem = function ( cookieName ) {
return localStorage . getItem ( cookieName ) ;
} ;
this . _storage . removeItem = function ( cookieName ) {
localStorage . removeItem ( cookieName ) ;
} ;
break ;
case 'sessionStorage' :
this . _storage . setItem = function ( cookieName , cookieValue ) {
sessionStorage . setItem ( cookieName , cookieValue ) ;
} ;
this . _storage . getItem = function ( cookieName ) {
return sessionStorage . getItem ( cookieName ) ;
} ;
this . _storage . removeItem = function ( cookieName ) {
sessionStorage . removeItem ( cookieName ) ;
} ;
break ;
case 'customStorage' :
if ( ! this . options . cookieCustomStorageSet || ! this . options . cookieCustomStorageGet || ! this . options . cookieCustomStorageDelete ) {
throw new Error ( 'The following options must be set while using the customStorage: cookieCustomStorageSet, cookieCustomStorageGet and cookieCustomStorageDelete' ) ;
}
this . _storage . setItem = function ( cookieName , cookieValue ) {
Utils . calculateObjectValue ( that . options , that . options . cookieCustomStorageSet , [ cookieName , cookieValue ] , '' ) ;
} ;
this . _storage . getItem = function ( cookieName ) {
return Utils . calculateObjectValue ( that . options , that . options . cookieCustomStorageGet , [ cookieName ] , '' ) ;
} ;
this . _storage . removeItem = function ( cookieName ) {
Utils . calculateObjectValue ( that . options , that . options . cookieCustomStorageDelete , [ cookieName ] , '' ) ;
} ;
break ;
default :
throw new Error ( 'Storage method not supported.' ) ;
}
}
} ] ) ;
} ( $ . BootstrapTable ) ;
} ) ) ;
( function ( global , factory ) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory ( require ( 'core-js/modules/es.array.concat.js' ) , require ( 'core-js/modules/es.array.find.js' ) , require ( 'core-js/modules/es.object.assign.js' ) , require ( 'core-js/modules/es.object.to-string.js' ) , require ( 'jquery' ) ) :
typeof define === 'function' && define . amd ? define ( [ 'core-js/modules/es.array.concat.js' , 'core-js/modules/es.array.find.js' , 'core-js/modules/es.object.assign.js' , 'core-js/modules/es.object.to-string.js' , 'jquery' ] , factory ) :
( global = typeof globalThis !== 'undefined' ? globalThis : global || self , factory ( null , null , null , null , global . jQuery ) ) ;
} ) ( this , ( function ( es _array _concat _js , es _array _find _js , es _object _assign _js , es _object _toString _js , $ ) { 'use strict' ;
function _assertThisInitialized ( e ) {
if ( void 0 === e ) throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ;
return e ;
}
function _callSuper ( t , o , e ) {
return o = _getPrototypeOf ( o ) , _possibleConstructorReturn ( t , _isNativeReflectConstruct ( ) ? Reflect . construct ( o , e || [ ] , _getPrototypeOf ( t ) . constructor ) : o . apply ( t , e ) ) ;
}
function _classCallCheck ( a , n ) {
if ( ! ( a instanceof n ) ) throw new TypeError ( "Cannot call a class as a function" ) ;
}
function _defineProperties ( e , r ) {
for ( var t = 0 ; t < r . length ; t ++ ) {
var o = r [ t ] ;
o . enumerable = o . enumerable || ! 1 , o . configurable = ! 0 , "value" in o && ( o . writable = ! 0 ) , Object . defineProperty ( e , _toPropertyKey ( o . key ) , o ) ;
}
}
function _createClass ( e , r , t ) {
return r && _defineProperties ( e . prototype , r ) , Object . defineProperty ( e , "prototype" , {
writable : ! 1
} ) , e ;
}
function _get ( ) {
return _get = "undefined" != typeof Reflect && Reflect . get ? Reflect . get . bind ( ) : function ( e , t , r ) {
var p = _superPropBase ( e , t ) ;
if ( p ) {
var n = Object . getOwnPropertyDescriptor ( p , t ) ;
return n . get ? n . get . call ( arguments . length < 3 ? e : r ) : n . value ;
}
} , _get . apply ( null , arguments ) ;
}
function _getPrototypeOf ( t ) {
return _getPrototypeOf = Object . setPrototypeOf ? Object . getPrototypeOf . bind ( ) : function ( t ) {
return t . _ _proto _ _ || Object . getPrototypeOf ( t ) ;
} , _getPrototypeOf ( t ) ;
}
function _inherits ( t , e ) {
if ( "function" != typeof e && null !== e ) throw new TypeError ( "Super expression must either be null or a function" ) ;
t . prototype = Object . create ( e && e . prototype , {
constructor : {
value : t ,
writable : ! 0 ,
configurable : ! 0
}
} ) , Object . defineProperty ( t , "prototype" , {
writable : ! 1
} ) , e && _setPrototypeOf ( t , e ) ;
}
function _isNativeReflectConstruct ( ) {
try {
var t = ! Boolean . prototype . valueOf . call ( Reflect . construct ( Boolean , [ ] , function ( ) { } ) ) ;
} catch ( t ) { }
return ( _isNativeReflectConstruct = function ( ) {
return ! ! t ;
} ) ( ) ;
}
function _possibleConstructorReturn ( t , e ) {
if ( e && ( "object" == typeof e || "function" == typeof e ) ) return e ;
if ( void 0 !== e ) throw new TypeError ( "Derived constructors may only return object or undefined" ) ;
return _assertThisInitialized ( t ) ;
}
function _setPrototypeOf ( t , e ) {
return _setPrototypeOf = Object . setPrototypeOf ? Object . setPrototypeOf . bind ( ) : function ( t , e ) {
return t . _ _proto _ _ = e , t ;
} , _setPrototypeOf ( t , e ) ;
}
function _superPropBase ( t , o ) {
for ( ; ! { } . hasOwnProperty . call ( t , o ) && null !== ( t = _getPrototypeOf ( t ) ) ; ) ;
return t ;
}
function _toPrimitive ( t , r ) {
if ( "object" != typeof t || ! t ) return t ;
var e = t [ Symbol . toPrimitive ] ;
if ( void 0 !== e ) {
var i = e . call ( t , r ) ;
if ( "object" != typeof i ) return i ;
throw new TypeError ( "@@toPrimitive must return a primitive value." ) ;
}
return ( String ) ( t ) ;
}
function _toPropertyKey ( t ) {
var i = _toPrimitive ( t , "string" ) ;
return "symbol" == typeof i ? i : i + "" ;
}
/ * *
* @ author vincent loh < vincent . ml @ gmail . com >
* @ update J Manuel Corona < jmcg92 @ gmail . com >
* @ update zhixin wen < wenzhixin2010 @ gmail . com >
* /
var Utils = $ . fn . bootstrapTable . utils ;
Object . assign ( $ . fn . bootstrapTable . defaults , {
stickyHeader : false ,
stickyHeaderOffsetY : 0 ,
stickyHeaderOffsetLeft : 0 ,
stickyHeaderOffsetRight : 0
} ) ;
$ . BootstrapTable = /*#__PURE__*/ function ( _$$BootstrapTable ) {
function _class ( ) {
_classCallCheck ( this , _class ) ;
return _callSuper ( this , _class , arguments ) ;
}
_inherits ( _class , _$$BootstrapTable ) ;
return _createClass ( _class , [ {
key : "initHeader" ,
value : function initHeader ( ) {
var _get2 ,
_this = this ;
for ( var _len = arguments . length , args = new Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) {
args [ _key ] = arguments [ _key ] ;
}
( _get2 = _get ( _getPrototypeOf ( _class . prototype ) , "initHeader" , this ) ) . call . apply ( _get2 , [ this ] . concat ( args ) ) ;
if ( ! this . options . stickyHeader ) {
return ;
}
this . $tableBody . find ( '.sticky-header-container,.sticky_anchor_begin,.sticky_anchor_end' ) . remove ( ) ;
this . $el . before ( '<div class="sticky-header-container"></div>' ) ;
this . $el . before ( '<div class="sticky_anchor_begin"></div>' ) ;
this . $el . after ( '<div class="sticky_anchor_end"></div>' ) ;
this . $header . addClass ( 'sticky-header' ) ;
// clone header just once, to be used as sticky header
// deep clone header, using source header affects tbody>td width
this . $stickyContainer = this . $tableBody . find ( '.sticky-header-container' ) ;
this . $stickyBegin = this . $tableBody . find ( '.sticky_anchor_begin' ) ;
this . $stickyEnd = this . $tableBody . find ( '.sticky_anchor_end' ) ;
this . $stickyHeader = this . $header . clone ( true , true ) ;
// render sticky on window scroll or resize
var resizeEvent = Utils . getEventName ( 'resize.sticky-header-table' , this . $el . attr ( 'id' ) ) ;
var scrollEvent = Utils . getEventName ( 'scroll.sticky-header-table' , this . $el . attr ( 'id' ) ) ;
$ ( window ) . off ( resizeEvent ) . on ( resizeEvent , function ( ) {
return _this . renderStickyHeader ( ) ;
} ) ;
$ ( window ) . off ( scrollEvent ) . on ( scrollEvent , function ( ) {
return _this . renderStickyHeader ( ) ;
} ) ;
this . $tableBody . off ( 'scroll' ) . on ( 'scroll' , function ( ) {
return _this . matchPositionX ( ) ;
} ) ;
}
} , {
key : "onColumnSearch" ,
value : function onColumnSearch ( _ref ) {
var currentTarget = _ref . currentTarget ,
keyCode = _ref . keyCode ;
_get ( _getPrototypeOf ( _class . prototype ) , "onColumnSearch" , this ) . call ( this , {
currentTarget : currentTarget ,
keyCode : keyCode
} ) ;
this . renderStickyHeader ( ) ;
}
} , {
key : "resetView" ,
value : function resetView ( ) {
var _get3 ,
_this2 = this ;
for ( var _len2 = arguments . length , args = new Array ( _len2 ) , _key2 = 0 ; _key2 < _len2 ; _key2 ++ ) {
args [ _key2 ] = arguments [ _key2 ] ;
}
( _get3 = _get ( _getPrototypeOf ( _class . prototype ) , "resetView" , this ) ) . call . apply ( _get3 , [ this ] . concat ( args ) ) ;
$ ( '.bootstrap-table.fullscreen' ) . off ( 'scroll' ) . on ( 'scroll' , function ( ) {
return _this2 . renderStickyHeader ( ) ;
} ) ;
}
} , {
key : "getCaret" ,
value : function getCaret ( ) {
var _get4 ;
for ( var _len3 = arguments . length , args = new Array ( _len3 ) , _key3 = 0 ; _key3 < _len3 ; _key3 ++ ) {
args [ _key3 ] = arguments [ _key3 ] ;
}
( _get4 = _get ( _getPrototypeOf ( _class . prototype ) , "getCaret" , this ) ) . call . apply ( _get4 , [ this ] . concat ( args ) ) ;
if ( this . $stickyHeader ) {
var $ths = this . $stickyHeader . find ( 'th' ) ;
this . $header . find ( 'th' ) . each ( function ( i , th ) {
$ths . eq ( i ) . find ( '.sortable' ) . attr ( 'class' , $ ( th ) . find ( '.sortable' ) . attr ( 'class' ) ) ;
} ) ;
}
}
} , {
key : "horizontalScroll" ,
value : function horizontalScroll ( ) {
var _this3 = this ;
_get ( _getPrototypeOf ( _class . prototype ) , "horizontalScroll" , this ) . call ( this ) ;
this . $tableBody . on ( 'scroll' , function ( ) {
return _this3 . matchPositionX ( ) ;
} ) ;
}
} , {
key : "renderStickyHeader" ,
value : function renderStickyHeader ( ) {
var _this4 = this ;
var that = this ;
this . $stickyHeader = this . $header . clone ( true , true ) ;
if ( this . options . filterControl ) {
$ ( this . $stickyHeader ) . off ( 'keyup change mouseup' ) . on ( 'keyup change mouse' , function ( e ) {
var $target = $ ( e . target ) ;
var value = $target . val ( ) ;
var field = $target . parents ( 'th' ) . data ( 'field' ) ;
var $coreTh = that . $header . find ( "th[data-field=\"" . concat ( field , "\"]" ) ) ;
if ( $target . is ( 'input' ) ) {
$coreTh . find ( 'input' ) . val ( value ) ;
} else if ( $target . is ( 'select' ) ) {
var $select = $coreTh . find ( 'select' ) ;
$select . find ( 'option[selected]' ) . removeAttr ( 'selected' ) ;
$select . find ( "option[value=\"" . concat ( value , "\"]" ) ) . attr ( 'selected' , true ) ;
}
that . triggerSearch ( ) ;
} ) ;
}
var top = $ ( window ) . scrollTop ( ) ;
// top anchor scroll position, minus header height
var start = this . $stickyBegin . offset ( ) . top - this . options . stickyHeaderOffsetY ;
// bottom anchor scroll position, minus header height, minus sticky height
var end = this . $stickyEnd . offset ( ) . top - this . options . stickyHeaderOffsetY - this . $header . height ( ) ;
// show sticky when top anchor touches header, and when bottom anchor not exceeded
if ( top > start && top <= end ) {
// ensure clone and source column widths are the same
this . $stickyHeader . find ( 'tr' ) . each ( function ( indexRows , rows ) {
$ ( rows ) . find ( 'th' ) . each ( function ( index , el ) {
$ ( el ) . css ( 'min-width' , _this4 . $header . find ( "tr:eq(" . concat ( indexRows , ")" ) ) . find ( "th:eq(" . concat ( index , ")" ) ) . css ( 'width' ) ) ;
} ) ;
} ) ;
// match bootstrap table style
this . $stickyContainer . show ( ) . addClass ( 'fix-sticky fixed-table-container' ) ;
// stick it in position
var coords = this . $tableBody [ 0 ] . getBoundingClientRect ( ) ;
var width = '100%' ;
var stickyHeaderOffsetLeft = this . options . stickyHeaderOffsetLeft ;
var stickyHeaderOffsetRight = this . options . stickyHeaderOffsetRight ;
if ( ! stickyHeaderOffsetLeft ) {
stickyHeaderOffsetLeft = coords . left ;
}
if ( ! stickyHeaderOffsetRight ) {
width = "" . concat ( coords . width , "px" ) ;
}
if ( this . $el . closest ( '.bootstrap-table' ) . hasClass ( 'fullscreen' ) ) {
stickyHeaderOffsetLeft = 0 ;
stickyHeaderOffsetRight = 0 ;
width = '100%' ;
}
this . $stickyContainer . css ( 'top' , "" . concat ( this . options . stickyHeaderOffsetY , "px" ) ) ;
this . $stickyContainer . css ( 'left' , "" . concat ( stickyHeaderOffsetLeft , "px" ) ) ;
this . $stickyContainer . css ( 'right' , "" . concat ( stickyHeaderOffsetRight , "px" ) ) ;
this . $stickyContainer . css ( 'width' , "" . concat ( width ) ) ;
// create scrollable container for header
this . $stickyTable = $ ( '<table/>' ) ;
this . $stickyTable . addClass ( this . options . classes ) ;
// append cloned header to dom
this . $stickyContainer . html ( this . $stickyTable . append ( this . $stickyHeader ) ) ;
// match clone and source header positions when left-right scroll
this . matchPositionX ( ) ;
} else {
this . $stickyContainer . removeClass ( 'fix-sticky' ) . hide ( ) ;
}
}
} , {
key : "matchPositionX" ,
value : function matchPositionX ( ) {
this . $stickyContainer . scrollLeft ( this . $tableBody . scrollLeft ( ) ) ;
}
} ] ) ;
} ( $ . BootstrapTable ) ;
} ) ) ;
( function ( global , factory ) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory ( require ( 'core-js/modules/es.array.concat.js' ) , require ( 'core-js/modules/es.array.iterator.js' ) , require ( 'core-js/modules/es.object.assign.js' ) , require ( 'core-js/modules/es.object.entries.js' ) , require ( 'core-js/modules/es.object.to-string.js' ) , require ( 'core-js/modules/es.regexp.exec.js' ) , require ( 'core-js/modules/es.regexp.to-string.js' ) , require ( 'core-js/modules/es.string.iterator.js' ) , require ( 'core-js/modules/es.string.search.js' ) , require ( 'core-js/modules/web.dom-collections.iterator.js' ) , require ( 'core-js/modules/web.url-search-params.js' ) , require ( 'jquery' ) ) :
typeof define === 'function' && define . amd ? define ( [ 'core-js/modules/es.array.concat.js' , 'core-js/modules/es.array.iterator.js' , 'core-js/modules/es.object.assign.js' , 'core-js/modules/es.object.entries.js' , 'core-js/modules/es.object.to-string.js' , 'core-js/modules/es.regexp.exec.js' , 'core-js/modules/es.regexp.to-string.js' , 'core-js/modules/es.string.iterator.js' , 'core-js/modules/es.string.search.js' , 'core-js/modules/web.dom-collections.iterator.js' , 'core-js/modules/web.url-search-params.js' , 'jquery' ] , factory ) :
( global = typeof globalThis !== 'undefined' ? globalThis : global || self , factory ( null , null , null , null , null , null , null , null , null , null , null , global . jQuery ) ) ;
} ) ( this , ( function ( es _array _concat _js , es _array _iterator _js , es _object _assign _js , es _object _entries _js , es _object _toString _js , es _regexp _exec _js , es _regexp _toString _js , es _string _iterator _js , es _string _search _js , web _domCollections _iterator _js , web _urlSearchParams _js , $ ) { 'use strict' ;
function _arrayLikeToArray ( r , a ) {
( null == a || a > r . length ) && ( a = r . length ) ;
for ( var e = 0 , n = Array ( a ) ; e < a ; e ++ ) n [ e ] = r [ e ] ;
return n ;
}
function _arrayWithHoles ( r ) {
if ( Array . isArray ( r ) ) return r ;
}
function _assertThisInitialized ( e ) {
if ( void 0 === e ) throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ;
return e ;
}
function _callSuper ( t , o , e ) {
return o = _getPrototypeOf ( o ) , _possibleConstructorReturn ( t , _isNativeReflectConstruct ( ) ? Reflect . construct ( o , e || [ ] , _getPrototypeOf ( t ) . constructor ) : o . apply ( t , e ) ) ;
}
function _classCallCheck ( a , n ) {
if ( ! ( a instanceof n ) ) throw new TypeError ( "Cannot call a class as a function" ) ;
}
function _defineProperties ( e , r ) {
for ( var t = 0 ; t < r . length ; t ++ ) {
var o = r [ t ] ;
o . enumerable = o . enumerable || ! 1 , o . configurable = ! 0 , "value" in o && ( o . writable = ! 0 ) , Object . defineProperty ( e , _toPropertyKey ( o . key ) , o ) ;
}
}
function _createClass ( e , r , t ) {
return r && _defineProperties ( e . prototype , r ) , Object . defineProperty ( e , "prototype" , {
writable : ! 1
} ) , e ;
}
function _get ( ) {
return _get = "undefined" != typeof Reflect && Reflect . get ? Reflect . get . bind ( ) : function ( e , t , r ) {
var p = _superPropBase ( e , t ) ;
if ( p ) {
var n = Object . getOwnPropertyDescriptor ( p , t ) ;
return n . get ? n . get . call ( arguments . length < 3 ? e : r ) : n . value ;
}
} , _get . apply ( null , arguments ) ;
}
function _getPrototypeOf ( t ) {
return _getPrototypeOf = Object . setPrototypeOf ? Object . getPrototypeOf . bind ( ) : function ( t ) {
return t . _ _proto _ _ || Object . getPrototypeOf ( t ) ;
} , _getPrototypeOf ( t ) ;
}
function _inherits ( t , e ) {
if ( "function" != typeof e && null !== e ) throw new TypeError ( "Super expression must either be null or a function" ) ;
t . prototype = Object . create ( e && e . prototype , {
constructor : {
value : t ,
writable : ! 0 ,
configurable : ! 0
}
} ) , Object . defineProperty ( t , "prototype" , {
writable : ! 1
} ) , e && _setPrototypeOf ( t , e ) ;
}
function _isNativeReflectConstruct ( ) {
try {
var t = ! Boolean . prototype . valueOf . call ( Reflect . construct ( Boolean , [ ] , function ( ) { } ) ) ;
} catch ( t ) { }
return ( _isNativeReflectConstruct = function ( ) {
return ! ! t ;
} ) ( ) ;
}
function _iterableToArrayLimit ( r , l ) {
var t = null == r ? null : "undefined" != typeof Symbol && r [ Symbol . iterator ] || r [ "@@iterator" ] ;
if ( null != t ) {
var e ,
n ,
i ,
u ,
a = [ ] ,
f = ! 0 ,
o = ! 1 ;
try {
if ( i = ( t = t . call ( r ) ) . next , 0 === l ) ; else for ( ; ! ( f = ( e = i . call ( t ) ) . done ) && ( a . push ( e . value ) , a . length !== l ) ; f = ! 0 ) ;
} catch ( r ) {
o = ! 0 , n = r ;
} finally {
try {
if ( ! f && null != t . return && ( u = t . return ( ) , Object ( u ) !== u ) ) return ;
} finally {
if ( o ) throw n ;
}
}
return a ;
}
}
function _nonIterableRest ( ) {
throw new TypeError ( "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
}
function _possibleConstructorReturn ( t , e ) {
if ( e && ( "object" == typeof e || "function" == typeof e ) ) return e ;
if ( void 0 !== e ) throw new TypeError ( "Derived constructors may only return object or undefined" ) ;
return _assertThisInitialized ( t ) ;
}
function _setPrototypeOf ( t , e ) {
return _setPrototypeOf = Object . setPrototypeOf ? Object . setPrototypeOf . bind ( ) : function ( t , e ) {
return t . _ _proto _ _ = e , t ;
} , _setPrototypeOf ( t , e ) ;
}
function _slicedToArray ( r , e ) {
return _arrayWithHoles ( r ) || _iterableToArrayLimit ( r , e ) || _unsupportedIterableToArray ( r , e ) || _nonIterableRest ( ) ;
}
function _superPropBase ( t , o ) {
for ( ; ! { } . hasOwnProperty . call ( t , o ) && null !== ( t = _getPrototypeOf ( t ) ) ; ) ;
return t ;
}
function _toPrimitive ( t , r ) {
if ( "object" != typeof t || ! t ) return t ;
var e = t [ Symbol . toPrimitive ] ;
if ( void 0 !== e ) {
var i = e . call ( t , r ) ;
if ( "object" != typeof i ) return i ;
throw new TypeError ( "@@toPrimitive must return a primitive value." ) ;
}
return ( String ) ( t ) ;
}
function _toPropertyKey ( t ) {
var i = _toPrimitive ( t , "string" ) ;
return "symbol" == typeof i ? i : i + "" ;
}
function _unsupportedIterableToArray ( r , a ) {
if ( r ) {
if ( "string" == typeof r ) return _arrayLikeToArray ( r , a ) ;
var t = { } . toString . call ( r ) . slice ( 8 , - 1 ) ;
return "Object" === t && r . constructor && ( t = r . constructor . name ) , "Map" === t || "Set" === t ? Array . from ( r ) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( t ) ? _arrayLikeToArray ( r , a ) : void 0 ;
}
}
/ * *
* @ author : general
* @ website : note . generals . space
* @ email : generals . space @ gmail . com
* @ github : https : //github.com/generals-space/bootstrap-table-addrbar
* @ update : zhixin wen < wenzhixin2010 @ gmail . com >
* /
var Utils = $ . fn . bootstrapTable . utils ;
Object . assign ( $ . fn . bootstrapTable . defaults , {
addrbar : false ,
addrPrefix : '' ,
addrCustomParams : { }
} ) ;
$ . BootstrapTable = /*#__PURE__*/ function ( _$$BootstrapTable ) {
function _class ( ) {
_classCallCheck ( this , _class ) ;
return _callSuper ( this , _class , arguments ) ;
}
_inherits ( _class , _$$BootstrapTable ) ;
return _createClass ( _class , [ {
key : "init" ,
value : function init ( ) {
var _get2 ;
if ( this . options . pagination && this . options . addrbar ) {
this . initAddrbar ( ) ;
}
for ( var _len = arguments . length , args = new Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) {
args [ _key ] = arguments [ _key ] ;
}
( _get2 = _get ( _getPrototypeOf ( _class . prototype ) , "init" , this ) ) . call . apply ( _get2 , [ this ] . concat ( args ) ) ;
}
/ *
* Priority order :
* The value specified by the user has the highest priority .
* If it is not specified , it will be obtained from the address bar .
* If it is not obtained , the default value will be used .
* /
} , {
key : "getDefaultOptionValue" ,
value : function getDefaultOptionValue ( optionName , prefixName ) {
if ( this . options [ optionName ] !== $ . BootstrapTable . DEFAULTS [ optionName ] ) {
return this . options [ optionName ] ;
}
return this . searchParams . get ( "" . concat ( this . options . addrPrefix || '' ) . concat ( prefixName ) ) || $ . BootstrapTable . DEFAULTS [ optionName ] ;
}
} , {
key : "initAddrbar" ,
value : function initAddrbar ( ) {
var _this = this ;
// 标志位, 初始加载后关闭
this . addrbarInit = true ;
this . searchParams = new URLSearchParams ( window . location . search . substring ( 1 ) ) ;
this . options . pageNumber = + this . getDefaultOptionValue ( 'pageNumber' , 'page' ) ;
this . options . pageSize = + this . getDefaultOptionValue ( 'pageSize' , 'size' ) ;
this . options . sortOrder = this . getDefaultOptionValue ( 'sortOrder' , 'order' ) ;
this . options . sortName = this . getDefaultOptionValue ( 'sortName' , 'sort' ) ;
this . options . searchText = this . getDefaultOptionValue ( 'searchText' , 'search' ) ;
var prefix = this . options . addrPrefix || '' ;
var onLoadSuccess = this . options . onLoadSuccess ;
var onPageChange = this . options . onPageChange ;
this . options . onLoadSuccess = function ( data ) {
if ( _this . addrbarInit ) {
_this . addrbarInit = false ;
} else {
_this . updateHistoryState ( prefix ) ;
}
if ( onLoadSuccess ) {
onLoadSuccess . call ( _this , data ) ;
}
} ;
this . options . onPageChange = function ( number , size ) {
_this . updateHistoryState ( prefix ) ;
if ( onPageChange ) {
onPageChange . call ( _this , number , size ) ;
}
} ;
}
} , {
key : "updateHistoryState" ,
value : function updateHistoryState ( prefix ) {
var params = { } ;
params [ "" . concat ( prefix , "page" ) ] = this . options . pageNumber ;
params [ "" . concat ( prefix , "size" ) ] = this . options . pageSize ;
params [ "" . concat ( prefix , "order" ) ] = this . options . sortOrder ;
params [ "" . concat ( prefix , "sort" ) ] = this . options . sortName ;
params [ "" . concat ( prefix , "search" ) ] = this . options . searchText ;
for ( var _i = 0 , _Object$entries = Object . entries ( params ) ; _i < _Object$entries . length ; _i ++ ) {
var _Object$entries$ _i = _slicedToArray ( _Object$entries [ _i ] , 2 ) ,
key = _Object$entries$ _i [ 0 ] ,
value = _Object$entries$ _i [ 1 ] ;
if ( value === undefined ) {
this . searchParams . delete ( key ) ;
} else {
this . searchParams . set ( key , value ) ;
}
}
var customParams = Utils . calculateObjectValue ( this . options , this . options . addrCustomParams , [ ] , { } ) ;
for ( var _i2 = 0 , _Object$entries2 = Object . entries ( customParams ) ; _i2 < _Object$entries2 . length ; _i2 ++ ) {
var _Object$entries2$ _i = _slicedToArray ( _Object$entries2 [ _i2 ] , 2 ) ,
_key2 = _Object$entries2$ _i [ 0 ] ,
_value = _Object$entries2$ _i [ 1 ] ;
this . searchParams . set ( _key2 , _value ) ;
}
var url = "?" . concat ( this . searchParams . toString ( ) ) ;
if ( location . hash ) {
url += location . hash ;
}
window . history . pushState ( { } , '' , url ) ;
}
} , {
key : "resetSearch" ,
value : function resetSearch ( text ) {
_get ( _getPrototypeOf ( _class . prototype ) , "resetSearch" , this ) . call ( this , text ) ;
this . options . searchText = text || '' ;
}
} ] ) ;
} ( $ . BootstrapTable ) ;
} ) ) ;
jQuery . base64 = ( function ( $ ) {
// private property
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" ;
// private method for UTF-8 encoding
function utf8Encode ( string ) {
string = string . replace ( /\r\n/g , "\n" ) ;
var utftext = "" ;
for ( var n = 0 ; n < string . length ; n ++ ) {
var c = string . charCodeAt ( n ) ;
if ( c < 128 ) {
utftext += String . fromCharCode ( c ) ;
}
else if ( ( c > 127 ) && ( c < 2048 ) ) {
utftext += String . fromCharCode ( ( c >> 6 ) | 192 ) ;
utftext += String . fromCharCode ( ( c & 63 ) | 128 ) ;
}
else {
utftext += String . fromCharCode ( ( c >> 12 ) | 224 ) ;
utftext += String . fromCharCode ( ( ( c >> 6 ) & 63 ) | 128 ) ;
utftext += String . fromCharCode ( ( c & 63 ) | 128 ) ;
}
}
return utftext ;
}
function encode ( input ) {
var output = "" ;
var chr1 , chr2 , chr3 , enc1 , enc2 , enc3 , enc4 ;
var i = 0 ;
input = utf8Encode ( input ) ;
while ( i < input . length ) {
chr1 = input . charCodeAt ( i ++ ) ;
chr2 = input . charCodeAt ( i ++ ) ;
chr3 = input . charCodeAt ( i ++ ) ;
enc1 = chr1 >> 2 ;
enc2 = ( ( chr1 & 3 ) << 4 ) | ( chr2 >> 4 ) ;
enc3 = ( ( chr2 & 15 ) << 2 ) | ( chr3 >> 6 ) ;
enc4 = chr3 & 63 ;
if ( isNaN ( chr2 ) ) {
enc3 = enc4 = 64 ;
} else if ( isNaN ( chr3 ) ) {
enc4 = 64 ;
}
output = output +
keyStr . charAt ( enc1 ) + keyStr . charAt ( enc2 ) +
keyStr . charAt ( enc3 ) + keyStr . charAt ( enc4 ) ;
}
return output ;
}
return {
encode : function ( str ) {
return encode ( str ) ;
}
} ;
} ( jQuery ) ) ;
/ *
tableExport . jquery . plugin
Version 1.30 . 0
Copyright ( c ) 2015 - 2024 hhurz ,
https : //github.com/hhurz/tableExport.jquery.plugin
Based on https : //github.com/kayalshri/tableExport.jquery.plugin
Licensed under the MIT License
* /
var $jscomp = $jscomp || { } ; $jscomp . scope = { } ; $jscomp . findInternal = function ( d , F , t ) { d instanceof String && ( d = String ( d ) ) ; for ( var D = d . length , K = 0 ; K < D ; K ++ ) { var wa = d [ K ] ; if ( F . call ( t , wa , K , d ) ) return { i : K , v : wa } } return { i : - 1 , v : void 0 } } ; $jscomp . ASSUME _ES5 = ! 1 ; $jscomp . ASSUME _NO _NATIVE _MAP = ! 1 ; $jscomp . ASSUME _NO _NATIVE _SET = ! 1 ; $jscomp . defineProperty = $jscomp . ASSUME _ES5 || "function" == typeof Object . defineProperties ? Object . defineProperty : function ( d , F , t ) { d != Array . prototype && d != Object . prototype && ( d [ F ] = t . value ) } ;
$jscomp . getGlobal = function ( d ) { return "undefined" != typeof window && window === d ? d : "undefined" != typeof global && null != global ? global : d } ; $jscomp . global = $jscomp . getGlobal ( this ) ; $jscomp . polyfill = function ( d , F , t , D ) { if ( F ) { t = $jscomp . global ; d = d . split ( "." ) ; for ( D = 0 ; D < d . length - 1 ; D ++ ) { var K = d [ D ] ; K in t || ( t [ K ] = { } ) ; t = t [ K ] } d = d [ d . length - 1 ] ; D = t [ d ] ; F = F ( D ) ; F != D && null != F && $jscomp . defineProperty ( t , d , { configurable : ! 0 , writable : ! 0 , value : F } ) } } ;
$jscomp . polyfill ( "Array.prototype.find" , function ( d ) { return d ? d : function ( d , t ) { return $jscomp . findInternal ( this , d , t ) . v } } , "es6" , "es3" ) ; $jscomp . polyfill ( "Object.is" , function ( d ) { return d ? d : function ( d , t ) { return d === t ? 0 !== d || 1 / d === 1 / t : d !== d && t !== t } } , "es6" , "es3" ) ; $jscomp . polyfill ( "Array.prototype.includes" , function ( d ) { return d ? d : function ( d , t ) { var D = this ; D instanceof String && ( D = String ( D ) ) ; var F = D . length ; for ( t = t || 0 ; t < F ; t ++ ) if ( D [ t ] == d || Object . is ( D [ t ] , d ) ) return ! 0 ; return ! 1 } } , "es7" , "es3" ) ;
$jscomp . checkStringArgs = function ( d , F , t ) { if ( null == d ) throw new TypeError ( "The 'this' value for String.prototype." + t + " must not be null or undefined" ) ; if ( F instanceof RegExp ) throw new TypeError ( "First argument to String.prototype." + t + " must not be a regular expression" ) ; return d + "" } ; $jscomp . polyfill ( "String.prototype.includes" , function ( d ) { return d ? d : function ( d , t ) { return - 1 !== $jscomp . checkStringArgs ( this , d , "includes" ) . indexOf ( d , t || 0 ) } } , "es6" , "es3" ) ;
( function ( d ) { function F ( ) { return { theme : "striped" , styles : { } , headerStyles : { } , bodyStyles : { } , alternateRowStyles : { } , columnStyles : { } , startY : ! 1 , margin : 40 , pageBreak : "auto" , tableWidth : "auto" , createdHeaderCell : function ( d , t ) { } , createdCell : function ( d , t ) { } , drawHeaderRow : function ( d , t ) { } , drawRow : function ( d , t ) { } , drawHeaderCell : function ( d , t ) { } , drawCell : function ( d , t ) { } , beforePageContent : function ( d ) { } , afterPageContent : function ( d ) { } } } d . fn . tableExport = function ( lb ) { function W ( a ) { var c = [ ] ; P ( a , "thead" ) . each ( function ( ) { c . push . apply ( c ,
P ( d ( this ) , b . theadSelector ) . toArray ( ) ) } ) ; return c } function X ( a ) { var c = [ ] ; P ( a , "tbody" ) . each ( function ( ) { c . push . apply ( c , P ( d ( this ) , b . tbodySelector ) . toArray ( ) ) } ) ; b . tfootSelector . length && P ( a , "tfoot" ) . each ( function ( ) { c . push . apply ( c , P ( d ( this ) , b . tfootSelector ) . toArray ( ) ) } ) ; return c } function P ( a , c ) { var b = a [ 0 ] . tagName , h = a . parents ( b ) . length ; return a . find ( c ) . filter ( function ( ) { return h === d ( this ) . closest ( b ) . parents ( b ) . length } ) } function xa ( a ) { var c = [ ] , b = 0 , h = 0 , f = 0 ; d ( a ) . find ( "thead" ) . first ( ) . find ( "th" ) . each ( function ( a ,
e ) { a = void 0 !== d ( e ) . attr ( "data-field" ) ; "undefined" !== typeof e . parentNode . rowIndex && h !== e . parentNode . rowIndex && ( h = e . parentNode . rowIndex , b = f = 0 ) ; var g = Y ( e ) ; for ( b += g ? g : 1 ; f < b ; ) c [ f ] = a ? d ( e ) . attr ( "data-field" ) : f . toString ( ) , f ++ } ) ; return c } function O ( a ) { var c = "undefined" !== typeof a [ 0 ] . rowIndex , b = ! 1 === c && "undefined" !== typeof a [ 0 ] . cellIndex , h = b || c ? mb ( a ) : a . is ( ":visible" ) , f = a . attr ( "data-tableexport-display" ) ; b && "none" !== f && "always" !== f && ( a = d ( a [ 0 ] . parentNode ) , c = "undefined" !== typeof a [ 0 ] . rowIndex , f = a . attr ( "data-tableexport-display" ) ) ;
c && "none" !== f && "always" !== f && ( f = a . closest ( "table" ) . attr ( "data-tableexport-display" ) ) ; return "none" !== f && ( ! 0 === h || "always" === f ) } function mb ( a ) { var c = [ ] ; ja && ( c = Q . filter ( function ( ) { var c = ! 1 ; this . nodeType === a [ 0 ] . nodeType && ( "undefined" !== typeof this . rowIndex && this . rowIndex === a [ 0 ] . rowIndex ? c = ! 0 : "undefined" !== typeof this . cellIndex && this . cellIndex === a [ 0 ] . cellIndex && "undefined" !== typeof this . parentNode . rowIndex && "undefined" !== typeof a [ 0 ] . parentNode . rowIndex && this . parentNode . rowIndex === a [ 0 ] . parentNode . rowIndex &&
( c = ! 0 ) ) ; return c } ) ) ; return ! 1 === ja || 0 === c . length } function Wa ( a , c , e ) { var h = ! 1 ; O ( a ) ? 0 < b . ignoreColumn . length && ( - 1 !== d . inArray ( e , b . ignoreColumn ) || - 1 !== d . inArray ( e - c , b . ignoreColumn ) || fa . length > e && "undefined" !== typeof fa [ e ] && - 1 !== d . inArray ( fa [ e ] , b . ignoreColumn ) ) && ( h = ! 0 ) : h = ! 0 ; return h } function I ( a , c , e , h , f ) { if ( "function" === typeof f ) { var w = ! 1 ; "function" === typeof b . onIgnoreRow && ( w = b . onIgnoreRow ( d ( a ) , e ) ) ; if ( ! 1 === w && ( 0 === b . ignoreRow . length || - 1 === d . inArray ( e , b . ignoreRow ) && - 1 === d . inArray ( e - h , b . ignoreRow ) ) && O ( d ( a ) ) ) { a =
P ( d ( a ) , c ) ; var m = a . length , g = 0 , p = 0 ; a . each ( function ( ) { var a = d ( this ) , c = Y ( this ) , b = ka ( this ) , h ; d . each ( N , function ( ) { if ( e > this . s . r && e <= this . e . r && g >= this . s . c && g <= this . e . c ) for ( h = 0 ; h <= this . e . c - this . s . c ; ++ h ) m ++ , p ++ , f ( null , e , g ++ ) } ) ; if ( b || c ) c = c || 1 , N . push ( { s : { r : e , c : g } , e : { r : e + ( b || 1 ) - 1 , c : g + c - 1 } } ) ; ! 1 === Wa ( a , m , p ++ ) && f ( this , e , g ++ ) ; if ( 1 < c ) for ( h = 0 ; h < c - 1 ; ++ h ) p ++ , f ( null , e , g ++ ) } ) ; d . each ( N , function ( ) { if ( e >= this . s . r && e <= this . e . r && g >= this . s . c && g <= this . e . c ) for ( var a = 0 ; a <= this . e . c - this . s . c ; ++ a ) f ( null , e , g ++ ) } ) } } } function Xa ( a , c ,
b , h ) { if ( "undefined" !== typeof h . images && ( b = h . images [ b ] , "undefined" !== typeof b ) ) { c = c . getBoundingClientRect ( ) ; var e = a . width / a . height , d = c . width / c . height , m = a . width , g = a . height , p = 19.049976 / 25.4 , B = 0 ; d <= e ? ( g = Math . min ( a . height , c . height ) , m = c . width * g / c . height ) : d > e && ( m = Math . min ( a . width , c . width ) , g = c . height * m / c . width ) ; m *= p ; g *= p ; g < a . height && ( B = ( a . height - g ) / 2 ) ; try { h . doc . addImage ( b . src , a . textPos . x , a . y + B , m , g ) } catch ( A ) { } a . textPos . x += m } } function Ya ( a , c ) { if ( "string" === b . outputMode ) return a . output ( ) ; if ( "base64" === b . outputMode ) return R ( a . output ( ) ) ;
if ( "window" === b . outputMode ) window . URL = window . URL || window . webkitURL , window . open ( window . URL . createObjectURL ( a . output ( "blob" ) ) ) ; else { var e = b . fileName + ".pdf" ; try { var d = a . output ( "blob" ) ; saveAs ( d , e ) ; if ( "function" === typeof b . onAfterSaveToFile ) b . onAfterSaveToFile ( d , e ) } catch ( f ) { Ga ( e , "data:application/pdf" + ( c ? "" : ";base64" ) + "," , c ? a . output ( "blob" ) : a . output ( ) ) } } } function Za ( a , c , b ) { var e = 0 ; "undefined" !== typeof b && ( e = b . colspan ) ; if ( 0 <= e ) { for ( var d = a . width , w = a . textPos . x , m = c . table . columns . indexOf ( c . column ) , g = 1 ; g < e ; g ++ ) d +=
c . table . columns [ m + g ] . width ; 1 < e && ( "right" === a . styles . halign ? w = a . textPos . x + d - a . width : "center" === a . styles . halign && ( w = a . textPos . x + ( d - a . width ) / 2 ) ) ; a . width = d ; a . textPos . x = w ; "undefined" !== typeof b && 1 < b . rowspan && ( a . height *= b . rowspan ) ; if ( "middle" === a . styles . valign || "bottom" === a . styles . valign ) b = ( "string" === typeof a . text ? a . text . split ( /\r\n|\r|\n/g ) : a . text ) . length || 1 , 2 < b && ( a . textPos . y -= ( 2 - 1.15 ) / 2 * c . row . styles . fontSize * ( b - 2 ) / 3 ) ; return ! 0 } return ! 1 } function $a ( a , c , b ) { "undefined" !== typeof a && null !== a && ( a . hasAttribute ( "data-tableexport-canvas" ) ?
( c = ( new Date ) . getTime ( ) , d ( a ) . attr ( "data-tableexport-canvas" , c ) , b . images [ c ] = { url : '[data-tableexport-canvas="' + c + '"]' , src : null } ) : "undefined" !== c && null != c && c . each ( function ( ) { if ( d ( this ) . is ( "img" ) ) { var c = ab ( this . src ) ; b . images [ c ] = { url : this . src , src : this . src } } $a ( a , d ( this ) . children ( ) , b ) } ) ) } function nb ( a , c ) { function b ( a ) { if ( a . url ) if ( a . src ) { var b = new Image ; h = ++ f ; b . crossOrigin = "Anonymous" ; b . onerror = b . onload = function ( ) { if ( b . complete && ( 0 === b . src . indexOf ( "data:image/" ) && ( b . width = a . width || b . width || 0 , b . height = a . height ||
b . height || 0 ) , b . width + b . height ) ) { var e = document . createElement ( "canvas" ) , d = e . getContext ( "2d" ) ; e . width = b . width ; e . height = b . height ; d . drawImage ( b , 0 , 0 ) ; a . src = e . toDataURL ( "image/png" ) } -- f || c ( h ) } ; b . src = a . url } else { var e = d ( a . url ) ; e . length && ( h = ++ f , html2canvas ( e [ 0 ] ) . then ( function ( b ) { a . src = b . toDataURL ( "image/png" ) ; -- f || c ( h ) } ) ) } } var h = 0 , f = 0 ; if ( "undefined" !== typeof a . images ) for ( var w in a . images ) a . images . hasOwnProperty ( w ) && b ( a . images [ w ] ) ; ( a = f ) || ( c ( h ) , a = void 0 ) ; return a } function bb ( a , c , e ) { c . each ( function ( ) { if ( d ( this ) . is ( "div" ) ) { var c =
ya ( J ( this , "background-color" ) , [ 255 , 255 , 255 ] ) , f = ya ( J ( this , "border-top-color" ) , [ 0 , 0 , 0 ] ) , w = cb ( this , "border-top-width" , b . jspdf . unit ) , m = this . getBoundingClientRect ( ) , g = this . offsetLeft * e . wScaleFactor , p = this . offsetTop * e . hScaleFactor , B = m . width * e . wScaleFactor ; m = m . height * e . hScaleFactor ; e . doc . setDrawColor . apply ( void 0 , f ) ; e . doc . setFillColor . apply ( void 0 , c ) ; e . doc . setLineWidth ( w ) ; e . doc . rect ( a . x + g , a . y + p , B , m , w ? "FD" : "F" ) } else d ( this ) . is ( "img" ) && ( c = ab ( this . src ) , Xa ( a , this , c , e ) ) ; bb ( a , d ( this ) . children ( ) , e ) } ) } function db ( a ,
c , e ) { if ( "function" === typeof e . onAutotableText ) e . onAutotableText ( e . doc , a , c ) ; else { var h = a . textPos . x , f = a . textPos . y , w = { halign : a . styles . halign , valign : a . styles . valign } ; if ( c . length ) { for ( c = c [ 0 ] ; c . previousSibling ; ) c = c . previousSibling ; for ( var m = ! 1 , g = ! 1 ; c ; ) { var p = c . innerText || c . textContent || "" , B = p . length && " " === p [ 0 ] ? " " : "" , A = 1 < p . length && " " === p [ p . length - 1 ] ? " " : "" ; ! 0 !== b . preserve . leadingWS && ( p = B + Ha ( p ) ) ; ! 0 !== b . preserve . trailingWS && ( p = Ia ( p ) + A ) ; d ( c ) . is ( "br" ) && ( h = a . textPos . x , f += e . doc . internal . getFontSize ( ) ) ; d ( c ) . is ( "b" ) ?
m = ! 0 : d ( c ) . is ( "i" ) && ( g = ! 0 ) ; ( m || g ) && e . doc . setFont ( "undefined " , m && g ? "bolditalic" : m ? "bold" : "italic" ) ; if ( B = e . doc . getStringUnitWidth ( p ) * e . doc . internal . getFontSize ( ) ) { "linebreak" === a . styles . overflow && h > a . textPos . x && h + B > a . textPos . x + a . width && ( 0 <= ".,!%*;:=-" . indexOf ( p . charAt ( 0 ) ) && ( A = p . charAt ( 0 ) , B = e . doc . getStringUnitWidth ( A ) * e . doc . internal . getFontSize ( ) , h + B <= a . textPos . x + a . width && ( za ( A , h , f , w ) , p = p . substring ( 1 , p . length ) ) , B = e . doc . getStringUnitWidth ( p ) * e . doc . internal . getFontSize ( ) ) , h = a . textPos . x , f += e . doc . internal . getFontSize ( ) ) ;
if ( "visible" !== a . styles . overflow ) for ( ; p . length && h + B > a . textPos . x + a . width ; ) p = p . substring ( 0 , p . length - 1 ) , B = e . doc . getStringUnitWidth ( p ) * e . doc . internal . getFontSize ( ) ; za ( p , h , f , w ) ; h += B } if ( m || g ) d ( c ) . is ( "b" ) ? m = ! 1 : d ( c ) . is ( "i" ) && ( g = ! 1 ) , e . doc . setFont ( "undefined " , m || g ? m ? "bold" : "italic" : "normal" ) ; c = c . nextSibling } a . textPos . x = h ; a . textPos . y = f } else za ( a . text , a . textPos . x , a . textPos . y , w ) } } function la ( a , c , b ) { return null == a ? "" : a . toString ( ) . replace ( new RegExp ( null == c ? "" : c . toString ( ) . replace ( /([.*+?^=!:${}()|\[\]\/\\])/g ,
"\\$1" ) , "g" ) , b ) } function Ha ( a ) { return null == a ? "" : a . toString ( ) . replace ( /^\s+/ , "" ) } function Ia ( a ) { return null == a ? "" : a . toString ( ) . replace ( /\s+$/ , "" ) } function ob ( a ) { if ( 0 === b . date . html . length ) return ! 1 ; b . date . pattern . lastIndex = 0 ; var c = b . date . pattern . exec ( a ) ; if ( null == c ) return ! 1 ; a = + c [ b . date . match _y ] ; if ( 0 > a || 8099 < a ) return ! 1 ; var e = 1 * c [ b . date . match _m ] ; c = 1 * c [ b . date . match _d ] ; if ( ! isFinite ( c ) ) return ! 1 ; var d = new Date ( a , e - 1 , c , 0 , 0 , 0 ) ; return d . getFullYear ( ) === a && d . getMonth ( ) === e - 1 && d . getDate ( ) === c ? new Date ( Date . UTC ( a ,
e - 1 , c , 0 , 0 , 0 ) ) : ! 1 } function Ja ( a ) { a = a || "0" ; "" !== b . numbers . html . thousandsSeparator && ( a = la ( a , b . numbers . html . thousandsSeparator , "" ) ) ; "." !== b . numbers . html . decimalMark && ( a = la ( a , b . numbers . html . decimalMark , "." ) ) ; return "number" === typeof a || ! 1 !== jQuery . isNumeric ( a ) ? a : ! 1 } function pb ( a ) { - 1 < a . indexOf ( "%" ) ? ( a = Ja ( a . replace ( /%/g , "" ) ) , ! 1 !== a && ( a /= 100 ) ) : a = ! 1 ; return a } function G ( a , c , e , h ) { var f = "" , w = "text" ; if ( null !== a ) { var m = d ( a ) ; m . removeData ( "teUserDefText" ) ; if ( m [ 0 ] . hasAttribute ( "data-tableexport-canvas" ) ) var g = "" ; else if ( m [ 0 ] . hasAttribute ( "data-tableexport-value" ) ) g =
( g = m . attr ( "data-tableexport-value" ) ) ? g + "" : "" , m . data ( "teUserDefText" , 1 ) ; else if ( g = m . html ( ) , "function" === typeof b . onCellHtmlData ) g = b . onCellHtmlData ( m , c , e , g ) , m . data ( "teUserDefText" , 1 ) ; else if ( "" !== g ) { a = d . parseHTML ( "<div>" + g + "</div>" , null , ! 1 ) ; var p = 0 , B = 0 ; g = "" ; d . each ( a , function ( ) { if ( d ( this ) . is ( "input" ) ) g += m . find ( "input" ) . eq ( p ++ ) . val ( ) ; else if ( d ( this ) . is ( "select" ) ) g += m . find ( "select option:selected" ) . eq ( B ++ ) . text ( ) ; else if ( d ( this ) . is ( "br" ) ) g += "<br>" ; else { if ( "undefined" === typeof d ( this ) . html ( ) ) g += d ( this ) . text ( ) ;
else if ( void 0 === jQuery ( ) . bootstrapTable || ! 1 === d ( this ) . hasClass ( "fht-cell" ) && ! 1 === d ( this ) . hasClass ( "filterControl" ) && 0 === m . parents ( ".detail-view" ) . length ) g += d ( this ) . html ( ) ; if ( d ( this ) . is ( "a" ) ) { var a = m . find ( "a" ) . attr ( "href" ) || "" ; f = "function" === typeof b . onCellHtmlHyperlink ? f + b . onCellHtmlHyperlink ( m , c , e , a , g ) : "href" === b . htmlHyperlink ? f + a : f + g ; g = "" } } } ) } if ( g && "" !== g && ! 0 === b . htmlContent ) f = d . trim ( g ) ; else if ( g && "" !== g ) if ( "" !== m . attr ( "data-tableexport-cellformat" ) ) { var A = g . replace ( /\n/g , "\u2028" ) . replace ( /(<\s*br([^>]*)>)/gi ,
"\u2060" ) , k = d ( "<div/>" ) . html ( A ) . contents ( ) ; a = ! 1 ; A = "" ; d . each ( k . text ( ) . split ( "\u2028" ) , function ( a , c ) { 0 < a && ( A += " " ) ; ! 0 !== b . preserve . leadingWS && ( c = Ha ( c ) ) ; A += ! 0 !== b . preserve . trailingWS ? Ia ( c ) : c } ) ; d . each ( A . split ( "\u2060" ) , function ( a , c ) { 0 < a && ( f += "\n" ) ; ! 0 !== b . preserve . leadingWS && ( c = Ha ( c ) ) ; ! 0 !== b . preserve . trailingWS && ( c = Ia ( c ) ) ; f += c . replace ( /\u00AD/g , "" ) } ) ; f = f . replace ( /\u00A0/g , " " ) ; if ( "json" === b . type || "excel" === b . type && "xmlss" === b . mso . fileFormat || ! 1 === b . numbers . output ) a = Ja ( f ) , ! 1 !== a && ( w = "number" , f = Number ( a ) ) ;
else if ( b . numbers . html . decimalMark !== b . numbers . output . decimalMark || b . numbers . html . thousandsSeparator !== b . numbers . output . thousandsSeparator ) if ( a = Ja ( f ) , ! 1 !== a ) { k = ( "" + a . substr ( 0 > a ? 1 : 0 ) ) . split ( "." ) ; 1 === k . length && ( k [ 1 ] = "" ) ; var l = 3 < k [ 0 ] . length ? k [ 0 ] . length % 3 : 0 ; w = "number" ; f = ( 0 > a ? "-" : "" ) + ( b . numbers . output . thousandsSeparator ? ( l ? k [ 0 ] . substr ( 0 , l ) + b . numbers . output . thousandsSeparator : "" ) + k [ 0 ] . substr ( l ) . replace ( /(\d{3})(?=\d)/g , "$1" + b . numbers . output . thousandsSeparator ) : k [ 0 ] ) + ( k [ 1 ] . length ? b . numbers . output . decimalMark +
k [ 1 ] : "" ) } } else f = g ; ! 0 === b . escape && ( f = escape ( f ) ) ; "function" === typeof b . onCellData && ( f = b . onCellData ( m , c , e , f , w ) , m . data ( "teUserDefText" , 1 ) ) } void 0 !== h && ( h . type = w ) ; return f } function eb ( a ) { return 0 < a . length && ! 0 === b . preventInjection && 0 <= "=+-@" . indexOf ( a . charAt ( 0 ) ) ? "'" + a : a } function qb ( a , c , b ) { return c + "-" + b . toLowerCase ( ) } function ya ( a , c ) { ( a = /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/ . exec ( a ) ) && ( c = [ parseInt ( a [ 1 ] ) , parseInt ( a [ 2 ] ) , parseInt ( a [ 3 ] ) ] ) ; return c } function Ka ( a ) { var c = J ( a , "text-align" ) , b = J ( a , "font-weight" ) ,
d = J ( a , "font-style" ) , f = "" ; "start" === c && ( c = "rtl" === J ( a , "direction" ) ? "right" : "left" ) ; 700 <= b && ( f = "bold" ) ; "italic" === d && ( f += d ) ; "" === f && ( f = "normal" ) ; c = { style : { align : c , bcolor : ya ( J ( a , "background-color" ) , [ 255 , 255 , 255 ] ) , color : ya ( J ( a , "color" ) , [ 0 , 0 , 0 ] ) , fstyle : f } , colspan : Y ( a ) , rowspan : ka ( a ) } ; null !== a && ( a = a . getBoundingClientRect ( ) , c . rect = { width : a . width , height : a . height } ) ; return c } function Y ( a ) { var c = d ( a ) . attr ( "data-tableexport-colspan" ) ; "undefined" === typeof c && d ( a ) . is ( "[colspan]" ) && ( c = d ( a ) . attr ( "colspan" ) ) ; return parseInt ( c ) ||
0 } function ka ( a ) { var c = d ( a ) . attr ( "data-tableexport-rowspan" ) ; "undefined" === typeof c && d ( a ) . is ( "[rowspan]" ) && ( c = d ( a ) . attr ( "rowspan" ) ) ; return parseInt ( c ) || 0 } function J ( a , c ) { try { return window . getComputedStyle ? ( c = c . replace ( /([a-z])([A-Z])/ , qb ) , "object" === typeof a && void 0 !== a . nodeType ? window . getComputedStyle ( a , null ) . getPropertyValue ( c ) : "object" === typeof a && a . length ? a . getPropertyValue ( c ) : "" ) : a . currentStyle ? a . currentStyle [ c ] : a . style [ c ] } catch ( e ) { } return "" } function cb ( a , c , b ) { c = J ( a , c ) . match ( /\d+/ ) ; if ( null !==
c ) { c = c [ 0 ] ; a = a . parentElement ; var e = document . createElement ( "div" ) ; e . style . overflow = "hidden" ; e . style . visibility = "hidden" ; a . appendChild ( e ) ; e . style . width = 100 + b ; b = 100 / e . offsetWidth ; a . removeChild ( e ) ; return c * b } return 0 } function rb ( a ) { for ( var c = new ArrayBuffer ( a . length ) , b = new Uint8Array ( c ) , d = 0 ; d !== a . length ; ++ d ) b [ d ] = a . charCodeAt ( d ) & 255 ; return c } function La ( a ) { var c = a . c , b = "" ; for ( ++ c ; c ; c = Math . floor ( ( c - 1 ) / 26 ) ) b = String . fromCharCode ( ( c - 1 ) % 26 + 65 ) + b ; return b + ( "" + ( a . r + 1 ) ) } function Ma ( a , c ) { if ( "undefined" === typeof c ||
"number" === typeof c ) return Ma ( a . s , a . e ) ; "string" !== typeof a && ( a = La ( a ) ) ; "string" !== typeof c && ( c = La ( c ) ) ; return a === c ? a : a + ":" + c } function fb ( a , c ) { var b = Number ( a ) ; if ( isFinite ( b ) ) return b ; var d = 1 ; "" !== c . thousandsSeparator && ( a = a . replace ( new RegExp ( "([\\d])" + c . thousandsSeparator + "([\\d])" , "g" ) , "$1$2" ) ) ; "." !== c . decimalMark && ( a = a . replace ( new RegExp ( "([\\d])" + c . decimalMark + "([\\d])" , "g" ) , "$1.$2" ) ) ; a = a . replace ( /[$]/g , "" ) . replace ( /[%]/g , function ( ) { d *= 100 ; return "" } ) ; if ( isFinite ( b = Number ( a ) ) ) return b / d ; a = a . replace ( /[(](.*)[)]/ ,
function ( a , c ) { d = - d ; return c } ) ; return isFinite ( b = Number ( a ) ) ? b / d : b } function ab ( a ) { var c = 0 , b ; if ( 0 === a . length ) return c ; var d = 0 ; for ( b = a . length ; d < b ; d ++ ) { var f = a . charCodeAt ( d ) ; c = ( c << 5 ) - c + f ; c |= 0 } return c } function S ( a , c , d , h , f , w ) { var e = ! 0 ; "function" === typeof b . onBeforeSaveToFile && ( e = b . onBeforeSaveToFile ( a , c , d , h , f ) , "boolean" !== typeof e && ( e = ! 0 ) ) ; if ( e ) try { if ( gb = w ? new Blob ( [ String . fromCharCode ( 65279 ) , [ a ] ] , { type : d + ";charset=" + h } ) : new Blob ( [ a ] , { type : d + ";charset=" + h } ) , saveAs ( gb , c , { autoBom : ! 1 } ) , "function" === typeof b . onAfterSaveToFile ) b . onAfterSaveToFile ( a ,
c ) } catch ( g ) { Ga ( c , "data:" + d + ( h . length ? ";charset=" + h : "" ) + ( f . length ? ";" + f : "" ) + "," , w ? "\ufeff" + a : a ) } } function Ga ( a , c , d ) { var e = window . navigator . userAgent ; if ( ! 1 !== a && window . navigator . msSaveOrOpenBlob ) window . navigator . msSaveOrOpenBlob ( new Blob ( [ d ] ) , a ) ; else if ( ! 1 !== a && ( 0 < e . indexOf ( "MSIE " ) || e . match ( /Trident.*rv\:11\./ ) ) ) { if ( c = document . createElement ( "iframe" ) ) { document . body . appendChild ( c ) ; c . setAttribute ( "style" , "display:none" ) ; c . contentDocument . open ( "txt/plain" , "replace" ) ; c . contentDocument . write ( d ) ; c . contentDocument . close ( ) ;
c . contentWindow . focus ( ) ; switch ( a . substr ( a . lastIndexOf ( "." ) + 1 ) ) { case "doc" : case "json" : case "png" : case "pdf" : case "xls" : case "xlsx" : a += ".txt" } c . contentDocument . execCommand ( "SaveAs" , ! 0 , a ) ; document . body . removeChild ( c ) } } else { var f = document . createElement ( "a" ) ; if ( f ) { var w = null ; f . style . display = "none" ; ! 1 !== a ? f . download = a : f . target = "_blank" ; "object" === typeof d ? ( window . URL = window . URL || window . webkitURL , e = [ ] , e . push ( d ) , w = window . URL . createObjectURL ( new Blob ( e , { type : c } ) ) , f . href = w ) : 0 <= c . toLowerCase ( ) . indexOf ( "base64," ) ?
f . href = c + R ( d ) : f . href = c + encodeURIComponent ( d ) ; document . body . appendChild ( f ) ; if ( document . createEvent ) null === Aa && ( Aa = document . createEvent ( "MouseEvents" ) ) , Aa . initEvent ( "click" , ! 0 , ! 1 ) , f . dispatchEvent ( Aa ) ; else if ( document . createEventObject ) f . fireEvent ( "onclick" ) ; else if ( "function" === typeof f . onclick ) f . onclick ( ) ; setTimeout ( function ( ) { w && window . URL . revokeObjectURL ( w ) ; document . body . removeChild ( f ) ; if ( "function" === typeof b . onAfterSaveToFile ) b . onAfterSaveToFile ( d , a ) } , 100 ) } } } function R ( a ) { var c , b = "" , d = 0 ; if ( "string" ===
typeof a ) { a = a . replace ( /\x0d\x0a/g , "\n" ) ; var f = "" ; for ( c = 0 ; c < a . length ; c ++ ) { var w = a . charCodeAt ( c ) ; 128 > w ? f += String . fromCharCode ( w ) : ( 127 < w && 2048 > w ? f += String . fromCharCode ( w >> 6 | 192 ) : ( f += String . fromCharCode ( w >> 12 | 224 ) , f += String . fromCharCode ( w >> 6 & 63 | 128 ) ) , f += String . fromCharCode ( w & 63 | 128 ) ) } a = f } for ( ; d < a . length ; ) { var m = a . charCodeAt ( d ++ ) ; f = a . charCodeAt ( d ++ ) ; c = a . charCodeAt ( d ++ ) ; w = m >> 2 ; m = ( m & 3 ) << 4 | f >> 4 ; var g = ( f & 15 ) << 2 | c >> 6 ; var p = c & 63 ; isNaN ( f ) ? g = p = 64 : isNaN ( c ) && ( p = 64 ) ; b = b + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" . charAt ( w ) +
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" . charAt ( m ) + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" . charAt ( g ) + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" . charAt ( p ) } return b } function sb ( a , c , b , d ) { c && "object" === typeof c || console . error ( "The headers should be an object or array, is: " + typeof c ) ; b && "object" === typeof b || console . error ( "The data should be an object or array, is: " + typeof b ) ; d && "object" !== typeof d && console . error ( "The data should be an object or array, is: " +
typeof b ) ; Array . prototype . forEach || console . error ( "The current browser does not support Array.prototype.forEach which is required for jsPDF-AutoTable" ) ; x = a ; l = tb ( d || { } ) ; Na = 1 ; H = { y : ! 1 === l . startY ? l . margin . top : l . startY } ; a = { textColor : 30 , fontSize : x . internal . getFontSize ( ) , fontStyle : x . internal . getFont ( ) . fontStyle , fontName : x . internal . getFont ( ) . fontName } ; ub ( c , b ) ; vb ( ) ; c = l . startY + l . margin . bottom + q . headerRow . height + ( q . rows [ 0 ] && "auto" === l . pageBreak ? q . rows [ 0 ] . height : 0 ) ; "avoid" === l . pageBreak && ( c += q . height ) ; if ( "always" ===
l . pageBreak && ! 1 !== l . startY || ! 1 !== l . startY && c > x . internal . pageSize . height ) x . addPage ( ) , H . y = l . margin . top ; ma ( a ) ; l . beforePageContent ( T ( ) ) ; ! 1 !== l . drawHeaderRow ( q . headerRow , T ( { row : q . headerRow } ) ) && Oa ( q . headerRow , l . drawHeaderCell ) ; ma ( a ) ; wb ( ) ; l . afterPageContent ( T ( ) ) ; ma ( a ) ; return x } function za ( a , c , b , d ) { "number" === typeof c && "number" === typeof b || console . error ( "The x and y parameters are required. Missing for the text: " , a ) ; var e = x . internal . getFontSize ( ) / x . internal . scaleFactor , h = /\r\n|\r|\n/g , m = null , g = 1 ; if ( "middle" ===
d . valign || "bottom" === d . valign || "center" === d . halign || "right" === d . halign ) m = "string" === typeof a ? a . split ( h ) : a , g = m . length || 1 ; b += e * ( 2 - 1.15 ) ; "middle" === d . valign ? b -= g / 2 * e : "bottom" === d . valign && ( b -= g * e ) ; if ( "center" === d . halign || "right" === d . halign ) { h = e ; "center" === d . halign && ( h *= . 5 ) ; if ( m && 1 <= g ) { for ( a = 0 ; a < m . length ; a ++ ) x . text ( m [ a ] , c - x . getStringUnitWidth ( m [ a ] ) * h , b ) , b += e ; return x } c -= x . getStringUnitWidth ( a ) * h } x . text ( a , c , b ) ; return x } function tb ( a ) { var c = Z ( F ( ) , a ) ; "undefined" !== typeof c . extendWidth && ( c . tableWidth = c . extendWidth ?
"auto" : "wrap" , console . error ( "Use of deprecated option: extendWidth, use tableWidth instead." ) ) ; "undefined" !== typeof c . margins && ( "undefined" === typeof c . margin && ( c . margin = c . margins ) , console . error ( "Use of deprecated option: margins, use margin instead." ) ) ; [ [ "padding" , "cellPadding" ] , [ "lineHeight" , "rowHeight" ] , "fontSize" , "overflow" ] . forEach ( function ( a ) { var b = "string" === typeof a ? a : a [ 0 ] ; a = "string" === typeof a ? a : a [ 1 ] ; "undefined" !== typeof c [ b ] && ( "undefined" === typeof c . styles [ a ] && ( c . styles [ a ] = c [ b ] ) , console . error ( "Use of deprecated option: " +
b + ", use the style " + a + " instead." ) ) } ) ; var b = c . margin ; c . margin = { } ; "number" === typeof b . horizontal && ( b . right = b . horizontal , b . left = b . horizontal ) ; "number" === typeof b . vertical && ( b . top = b . vertical , b . bottom = b . vertical ) ; [ "top" , "right" , "bottom" , "left" ] . forEach ( function ( a , d ) { "number" === typeof b ? c . margin [ a ] = b : ( d = Array . isArray ( b ) ? d : a , c . margin [ a ] = "number" === typeof b [ d ] ? b [ d ] : 40 ) } ) ; return c } function ub ( a , b ) { q = new t ; q . x = l . margin . left ; var c = /\r\n|\r|\n/g , h = new D ( a ) ; h . index = - 1 ; var f = Z ( Ba , pa [ l . theme ] . table , pa [ l . theme ] . header ) ;
h . styles = Z ( f , l . styles , l . headerStyles ) ; a . forEach ( function ( a , b ) { "object" === typeof a && ( b = "undefined" !== typeof a . dataKey ? a . dataKey : a . key ) ; "undefined" !== typeof a . width && console . error ( "Use of deprecated option: column.width, use column.styles.columnWidth instead." ) ; var g = new wa ( b ) ; g . styles = l . columnStyles [ g . dataKey ] || { } ; q . columns . push ( g ) ; var e = new K ; e . raw = "object" === typeof a ? a . title : a ; e . styles = d . extend ( { } , h . styles ) ; e . text = "" + e . raw ; e . contentWidth = 2 * e . styles . cellPadding + Ca ( e . text , e . styles ) ; e . text = e . text . split ( c ) ;
h . cells [ b ] = e ; l . createdHeaderCell ( e , { column : g , row : h , settings : l } ) } ) ; q . headerRow = h ; b . forEach ( function ( a , b ) { var d = new D ( a ) , e = 0 === b % 2 , f = Z ( Ba , pa [ l . theme ] . table , e ? pa [ l . theme ] . alternateRow : { } ) ; e = Z ( l . styles , l . bodyStyles , e ? l . alternateRowStyles : { } ) ; d . styles = Z ( f , e ) ; d . index = b ; q . columns . forEach ( function ( b ) { var g = new K ; g . raw = a [ b . dataKey ] ; g . styles = Z ( d . styles , b . styles ) ; g . text = "undefined" !== typeof g . raw ? "" + g . raw : "" ; d . cells [ b . dataKey ] = g ; l . createdCell ( g , T ( { column : b , row : d } ) ) ; g . contentWidth = 2 * g . styles . cellPadding + Ca ( g . text ,
g . styles ) ; g . text = g . text . split ( c ) } ) ; q . rows . push ( d ) } ) } function vb ( ) { var a = 0 ; q . columns . forEach ( function ( b ) { b . contentWidth = q . headerRow . cells [ b . dataKey ] . contentWidth ; q . rows . forEach ( function ( a ) { a = a . cells [ b . dataKey ] . contentWidth ; a > b . contentWidth && ( b . contentWidth = a ) } ) ; b . width = b . contentWidth ; a += b . contentWidth } ) ; q . contentWidth = a ; var b = x . internal . pageSize . width - l . margin . left - l . margin . right , d = b ; "number" === typeof l . tableWidth ? d = l . tableWidth : "wrap" === l . tableWidth && ( d = q . contentWidth ) ; q . width = d < b ? d : b ; var h = [ ] , f =
0 , k = q . width / q . columns . length , m = 0 ; q . columns . forEach ( function ( a ) { var b = Z ( Ba , pa [ l . theme ] . table , l . styles , a . styles ) ; "wrap" === b . columnWidth ? a . width = a . contentWidth : "number" === typeof b . columnWidth ? a . width = b . columnWidth : a . contentWidth <= k && q . contentWidth > q . width ? a . width = a . contentWidth : ( h . push ( a ) , f += a . contentWidth , a . width = 0 ) ; m += a . width } ) ; hb ( h , m , f , k ) ; q . height = 0 ; q . rows . concat ( q . headerRow ) . forEach ( function ( a , b ) { var c = 0 , d = q . x ; q . columns . forEach ( function ( b ) { var e = a . cells [ b . dataKey ] ; b . x = d ; ma ( e . styles ) ; var g = b . width -
2 * e . styles . cellPadding ; "linebreak" === e . styles . overflow ? e . text = x . splitTextToSize ( e . text , g + 1 , { fontSize : e . styles . fontSize } ) : "ellipsize" === e . styles . overflow ? e . text = Pa ( e . text , g , e . styles ) : "visible" !== e . styles . overflow && ( "hidden" === e . styles . overflow ? e . text = Pa ( e . text , g , e . styles , "" ) : "function" === typeof e . styles . overflow ? e . text = e . styles . overflow ( e . text , g ) : console . error ( "Unrecognized overflow type: " + e . styles . overflow ) ) ; e = Array . isArray ( e . text ) ? e . text . length - 1 : 0 ; e > c && ( c = e ) ; d += b . width } ) ; a . heightStyle = a . styles . rowHeight ;
a . height = a . heightStyle + c * a . styles . fontSize * 1.15 + ( 2 - 1.15 ) / 2 * a . styles . fontSize ; q . height += a . height } ) } function hb ( a , b , d , h ) { for ( var c = q . width - b - d , e = 0 ; e < a . length ; e ++ ) { var m = a [ e ] , g = m . contentWidth / d , p = m . contentWidth + c * g < h ; if ( 0 > c && p ) { a . splice ( e , 1 ) ; d -= m . contentWidth ; m . width = h ; b += m . width ; hb ( a , b , d , h ) ; break } else m . width = m . contentWidth + c * g } } function wb ( ) { q . rows . forEach ( function ( a , b ) { H . y + a . height + l . margin . bottom >= x . internal . pageSize . height && ( l . afterPageContent ( T ( ) ) , x . addPage ( ) , Na ++ , H = { x : l . margin . left , y : l . margin . top } ,
l . beforePageContent ( T ( ) ) , ! 1 !== l . drawHeaderRow ( q . headerRow , T ( { row : q . headerRow } ) ) && Oa ( q . headerRow , l . drawHeaderCell ) ) ; a . y = H . y ; ! 1 !== l . drawRow ( a , T ( { row : a } ) ) && Oa ( a , l . drawCell ) } ) } function Oa ( a , b ) { for ( var c = 0 ; c < q . columns . length ; c ++ ) { var d = q . columns [ c ] , f = a . cells [ d . dataKey ] ; f && ( ma ( f . styles ) , f . x = d . x , f . y = H . y , f . height = a . height , f . width = d . width , f . textPos . y = "top" === f . styles . valign ? H . y + f . styles . cellPadding : "bottom" === f . styles . valign ? H . y + a . height - f . styles . cellPadding : H . y + a . height / 2 , f . textPos . x = "right" === f . styles . halign ?
f . x + f . width - f . styles . cellPadding : "center" === f . styles . halign ? f . x + f . width / 2 : f . x + f . styles . cellPadding , d = T ( { column : d , row : a } ) , ! 1 !== b ( f , d ) && ( x . rect ( f . x , f . y , f . width , f . height , f . styles . fillStyle ) , za ( f . text , f . textPos . x , f . textPos . y , { halign : f . styles . halign , valign : f . styles . valign } ) ) ) } H . y += a . height } function ma ( a ) { [ { func : x . setFillColor , value : a . fillColor } , { func : x . setTextColor , value : a . textColor } , { func : x . setFont , value : a . font , style : a . fontStyle } , { func : x . setDrawColor , value : a . lineColor } , { func : x . setLineWidth , value : a . lineWidth } ,
{ func : x . setFont , value : a . font } , { func : x . setFontSize , value : a . fontSize } ] . forEach ( function ( a ) { "undefined" !== typeof a . value && ( a . value . constructor === Array ? a . func . apply ( x , a . value ) : "undefined" !== typeof a . style ? a . func ( a . value , a . style ) : a . func ( a . value ) ) } ) } function T ( a ) { a = a || { } ; var b = { pageCount : Na , settings : l , table : q , cursor : H } , d ; for ( d in a ) a . hasOwnProperty ( d ) && ( b [ d ] = a [ d ] ) ; return b } function Pa ( a , b , d , h ) { h = "undefined" !== typeof h ? h : "..." ; if ( Array . isArray ( a ) ) return a . forEach ( function ( c , e ) { a [ e ] = Pa ( c , b , d , h ) } ) , a ; if ( b >=
Ca ( a , d ) ) return a ; for ( ; b < Ca ( a + h , d ) && ! ( 2 > a . length ) ; ) a = a . substring ( 0 , a . length - 1 ) ; return a . trim ( ) + h } function Ca ( a , b ) { ma ( b ) ; return x . getStringUnitWidth ( a ) * b . fontSize } function Z ( a ) { var b = { } , d ; for ( d in a ) a . hasOwnProperty ( d ) && ( b [ d ] = a [ d ] ) ; for ( var h = 1 ; h < arguments . length ; h ++ ) { var f = arguments [ h ] ; for ( d in f ) f . hasOwnProperty ( d ) && ( b [ d ] = f [ d ] ) } return b } var L , b = { csvEnclosure : '"' , csvSeparator : "," , csvUseBOM : ! 0 , date : { html : "dd/mm/yyyy" } , displayTableName : ! 1 , escape : ! 1 , exportHiddenCells : ! 1 , fileName : "tableExport" , htmlContent : ! 1 ,
htmlHyperlink : "content" , ignoreColumn : [ ] , ignoreRow : [ ] , jsonScope : "all" , jspdf : { orientation : "p" , unit : "pt" , format : "a4" , margins : { left : 20 , right : 10 , top : 10 , bottom : 10 } , onDocCreated : null , autotable : { styles : { cellPadding : 2 , rowHeight : 12 , fontSize : 8 , fillColor : 255 , textColor : 50 , fontStyle : "normal" , overflow : "ellipsize" , halign : "inherit" , valign : "middle" } , headerStyles : { fillColor : [ 52 , 73 , 94 ] , textColor : 255 , fontStyle : "bold" , halign : "inherit" , valign : "middle" } , alternateRowStyles : { fillColor : 245 } , tableExport : { doc : null , onAfterAutotable : null ,
onBeforeAutotable : null , onAutotableText : null , onTable : null , outputImages : ! 0 } } } , mso : { fileFormat : "xlshtml" , onMsoNumberFormat : null , pageFormat : "a4" , pageOrientation : "portrait" , rtl : ! 1 , styles : [ ] , worksheetName : "" , xlsx : { formatId : { date : 14 , numbers : 2 , currency : 164 } , format : { currency : "$#,##0.00;[Red]-$#,##0.00" } , onHyperlink : null } } , numbers : { html : { decimalMark : "." , thousandsSeparator : "," } , output : { decimalMark : "." , thousandsSeparator : "," } } , onAfterSaveToFile : null , onBeforeSaveToFile : null , onCellData : null , onCellHtmlData : null ,
onCellHtmlHyperlink : null , onIgnoreRow : null , onTableExportBegin : null , onTableExportEnd : null , outputMode : "file" , pdfmake : { enabled : ! 1 , docDefinition : { pageSize : "A4" , pageOrientation : "portrait" , styles : { header : { background : "#34495E" , color : "#FFFFFF" , bold : ! 0 , alignment : "center" , fillColor : "#34495E" } , alternateRow : { fillColor : "#f5f5f5" } } , defaultStyle : { color : "#000000" , fontSize : 8 , font : "Roboto" } } , fonts : { } , widths : "*" } , preserve : { leadingWS : ! 1 , trailingWS : ! 1 } , preventInjection : ! 0 , sql : { tableEnclosure : "`" , columnEnclosure : "`" } , tbodySelector : "tr" ,
tfootSelector : "tr" , theadSelector : "tr" , tableName : "Table" , type : "csv" } , U = { a0 : [ 2383.94 , 3370.39 ] , a1 : [ 1683.78 , 2383.94 ] , a2 : [ 1190.55 , 1683.78 ] , a3 : [ 841.89 , 1190.55 ] , a4 : [ 595.28 , 841.89 ] , a5 : [ 419.53 , 595.28 ] , a6 : [ 297.64 , 419.53 ] , a7 : [ 209.76 , 297.64 ] , a8 : [ 147.4 , 209.76 ] , a9 : [ 104.88 , 147.4 ] , a10 : [ 73.7 , 104.88 ] , b0 : [ 2834.65 , 4008.19 ] , b1 : [ 2004.09 , 2834.65 ] , b2 : [ 1417.32 , 2004.09 ] , b3 : [ 1000.63 , 1417.32 ] , b4 : [ 708.66 , 1000.63 ] , b5 : [ 498.9 , 708.66 ] , b6 : [ 354.33 , 498.9 ] , b7 : [ 249.45 , 354.33 ] , b8 : [ 175.75 , 249.45 ] , b9 : [ 124.72 , 175.75 ] , b10 : [ 87.87 , 124.72 ] , c0 : [ 2599.37 ,
3676.54 ] , c1 : [ 1836.85 , 2599.37 ] , c2 : [ 1298.27 , 1836.85 ] , c3 : [ 918.43 , 1298.27 ] , c4 : [ 649.13 , 918.43 ] , c5 : [ 459.21 , 649.13 ] , c6 : [ 323.15 , 459.21 ] , c7 : [ 229.61 , 323.15 ] , c8 : [ 161.57 , 229.61 ] , c9 : [ 113.39 , 161.57 ] , c10 : [ 79.37 , 113.39 ] , dl : [ 311.81 , 623.62 ] , letter : [ 612 , 792 ] , "government-letter" : [ 576 , 756 ] , legal : [ 612 , 1008 ] , "junior-legal" : [ 576 , 360 ] , ledger : [ 1224 , 792 ] , tabloid : [ 792 , 1224 ] , "credit-card" : [ 153 , 243 ] } , pa = { striped : { table : { fillColor : 255 , textColor : 80 , fontStyle : "normal" , fillStyle : "F" } , header : { textColor : 255 , fillColor : [ 41 , 128 , 185 ] , rowHeight : 23 ,
fontStyle : "bold" } , body : { } , alternateRow : { fillColor : 245 } } , grid : { table : { fillColor : 255 , textColor : 80 , fontStyle : "normal" , lineWidth : . 1 , fillStyle : "DF" } , header : { textColor : 255 , fillColor : [ 26 , 188 , 156 ] , rowHeight : 23 , fillStyle : "F" , fontStyle : "bold" } , body : { } , alternateRow : { } } , plain : { header : { fontStyle : "bold" } } } , Ba = { cellPadding : 5 , fontSize : 10 , fontName : "helvetica" , lineColor : 200 , lineWidth : . 1 , fontStyle : "normal" , overflow : "ellipsize" , fillColor : 255 , textColor : 20 , halign : "left" , valign : "top" , fillStyle : "F" , rowHeight : 20 , columnWidth : "auto" } ,
v = this , Aa = null , z = [ ] , y = [ ] , r = 0 , u = "" , fa = [ ] , N = [ ] , gb , Q = [ ] , ja = ! 1 ; d . extend ( ! 0 , b , lb ) ; "xlsx" === b . type && ( b . mso . fileFormat = b . type , b . type = "excel" ) ; "undefined" !== typeof b . excelFileFormat && "undefined" === typeof b . mso . fileFormat && ( b . mso . fileFormat = b . excelFileFormat ) ; "undefined" !== typeof b . excelPageFormat && "undefined" === typeof b . mso . pageFormat && ( b . mso . pageFormat = b . excelPageFormat ) ; "undefined" !== typeof b . excelPageOrientation && "undefined" === typeof b . mso . pageOrientation && ( b . mso . pageOrientation = b . excelPageOrientation ) ;
"undefined" !== typeof b . excelRTL && "undefined" === typeof b . mso . rtl && ( b . mso . rtl = b . excelRTL ) ; "undefined" !== typeof b . excelstyles && "undefined" === typeof b . mso . styles && ( b . mso . styles = b . excelstyles ) ; "undefined" !== typeof b . onMsoNumberFormat && "undefined" === typeof b . mso . onMsoNumberFormat && ( b . mso . onMsoNumberFormat = b . onMsoNumberFormat ) ; "undefined" !== typeof b . worksheetName && "undefined" === typeof b . mso . worksheetName && ( b . mso . worksheetName = b . worksheetName ) ; "undefined" !== typeof b . mso . xslx && "undefined" === typeof b . mso . xlsx &&
( b . mso . xlsx = b . mso . xslx ) ; b . mso . pageOrientation = "l" === b . mso . pageOrientation . substr ( 0 , 1 ) ? "landscape" : "portrait" ; b . date . html = b . date . html || "" ; if ( b . date . html . length ) { var ha = [ ] ; ha . dd = "(3[01]|[12][0-9]|0?[1-9])" ; ha . mm = "(1[012]|0?[1-9])" ; ha . yyyy = "((?:1[6-9]|2[0-2])\\d{2})" ; ha . yy = "(\\d{2})" ; var xb = b . date . html . match ( /[^a-zA-Z0-9]/ ) [ 0 ] , aa = b . date . html . toLowerCase ( ) . split ( xb ) ; b . date . regex = "^\\s*" ; b . date . regex += ha [ aa [ 0 ] ] ; b . date . regex += "(.)" ; b . date . regex += ha [ aa [ 1 ] ] ; b . date . regex += "\\2" ; b . date . regex += ha [ aa [ 2 ] ] ; b . date . regex +=
"\\s*$" ; b . date . pattern = new RegExp ( b . date . regex , "g" ) ; var ba = aa . indexOf ( "dd" ) + 1 ; b . date . match _d = ba + ( 1 < ba ? 1 : 0 ) ; ba = aa . indexOf ( "mm" ) + 1 ; b . date . match _m = ba + ( 1 < ba ? 1 : 0 ) ; ba = ( 0 <= aa . indexOf ( "yyyy" ) ? aa . indexOf ( "yyyy" ) : aa . indexOf ( "yy" ) ) + 1 ; b . date . match _y = ba + ( 1 < ba ? 1 : 0 ) } fa = xa ( v ) ; if ( "function" === typeof b . onTableExportBegin ) b . onTableExportBegin ( ) ; if ( "csv" === b . type || "tsv" === b . type || "txt" === b . type ) { var ca = "" , qa = 0 ; N = [ ] ; r = 0 ; var Qa = function ( a , c , e ) { a . each ( function ( ) { u = "" ; I ( this , c , r , e + a . length , function ( a , c , d ) { var e = u , g = "" ; if ( null !==
a ) if ( a = G ( a , c , d ) , c = null === a || "" === a ? "" : a . toString ( ) , "tsv" === b . type ) a instanceof Date && a . toLocaleString ( ) , g = la ( c , "\t" , " " ) ; else if ( a instanceof Date ) g = b . csvEnclosure + a . toLocaleString ( ) + b . csvEnclosure ; else if ( g = eb ( c ) , g = la ( g , b . csvEnclosure , b . csvEnclosure + b . csvEnclosure ) , 0 <= g . indexOf ( b . csvSeparator ) || /[\r\n ]/g . test ( g ) ) g = b . csvEnclosure + g + b . csvEnclosure ; u = e + ( g + ( "tsv" === b . type ? "\t" : b . csvSeparator ) ) } ) ; u = d . trim ( u ) . substring ( 0 , u . length - 1 ) ; 0 < u . length && ( 0 < ca . length && ( ca += "\n" ) , ca += u ) ; r ++ } ) ; return a . length } ; qa +=
Qa ( d ( v ) . find ( "thead" ) . first ( ) . find ( b . theadSelector ) , "th,td" , qa ) ; P ( d ( v ) , "tbody" ) . each ( function ( ) { qa += Qa ( P ( d ( this ) , b . tbodySelector ) , "td,th" , qa ) } ) ; b . tfootSelector . length && Qa ( d ( v ) . find ( "tfoot" ) . first ( ) . find ( b . tfootSelector ) , "td,th" , qa ) ; ca += "\n" ; if ( "string" === b . outputMode ) return ca ; if ( "base64" === b . outputMode ) return R ( ca ) ; if ( "window" === b . outputMode ) { Ga ( ! 1 , "data:text/" + ( "csv" === b . type ? "csv" : "plain" ) + ";charset=utf-8," , ca ) ; return } S ( ca , b . fileName + "." + b . type , "text/" + ( "csv" === b . type ? "csv" : "plain" ) , "utf-8" , "" ,
"csv" === b . type && b . csvUseBOM ) } else if ( "sql" === b . type ) { r = 0 ; N = [ ] ; var E = "INSERT INTO " + b . sql . tableEnclosure + b . tableName + b . sql . tableEnclosure + " (" ; z = W ( d ( v ) ) ; d ( z ) . each ( function ( ) { I ( this , "th,td" , r , z . length , function ( a , c , d ) { a = G ( a , c , d ) || "" ; - 1 < a . indexOf ( b . sql . columnEnclosure ) && ( a = la ( a . toString ( ) , b . sql . columnEnclosure , b . sql . columnEnclosure + b . sql . columnEnclosure ) ) ; E += b . sql . columnEnclosure + a + b . sql . columnEnclosure + "," } ) ; r ++ ; E = d . trim ( E ) . substring ( 0 , E . length - 1 ) } ) ; E += ") VALUES " ; y = X ( d ( v ) ) ; d ( y ) . each ( function ( ) { u = "" ;
I ( this , "td,th" , r , z . length + y . length , function ( a , b , d ) { a = G ( a , b , d ) || "" ; - 1 < a . indexOf ( "'" ) && ( a = la ( a . toString ( ) , "'" , "''" ) ) ; u += "'" + a + "'," } ) ; 3 < u . length && ( E += "(" + u , E = d . trim ( E ) . substring ( 0 , E . length - 1 ) , E += ")," ) ; r ++ } ) ; E = d . trim ( E ) . substring ( 0 , E . length - 1 ) ; E += ";" ; if ( "string" === b . outputMode ) return E ; if ( "base64" === b . outputMode ) return R ( E ) ; S ( E , b . fileName + ".sql" , "application/sql" , "utf-8" , "" , ! 1 ) } else if ( "json" === b . type ) { var na = [ ] ; N = [ ] ; z = W ( d ( v ) ) ; d ( z ) . each ( function ( ) { var a = [ ] ; I ( this , "th,td" , r , z . length , function ( b , d , h ) { a . push ( G ( b ,
d , h ) ) } ) ; na . push ( a ) } ) ; var Ra = [ ] ; y = X ( d ( v ) ) ; d ( y ) . each ( function ( ) { var a = { } , b = 0 ; I ( this , "td,th" , r , z . length + y . length , function ( c , d , f ) { na . length ? a [ na [ na . length - 1 ] [ b ] ] = G ( c , d , f ) : a [ b ] = G ( c , d , f ) ; b ++ } ) ; ! 1 === d . isEmptyObject ( a ) && Ra . push ( a ) ; r ++ } ) ; var Sa = "head" === b . jsonScope ? JSON . stringify ( na ) : "data" === b . jsonScope ? JSON . stringify ( Ra ) : JSON . stringify ( { header : na , data : Ra } ) ; if ( "string" === b . outputMode ) return Sa ; if ( "base64" === b . outputMode ) return R ( Sa ) ; S ( Sa , b . fileName + ".json" , "application/json" , "utf-8" , "base64" , ! 1 ) } else if ( "xml" ===
b . type ) { r = 0 ; N = [ ] ; var da = '<?xml version="1.0" encoding="utf-8"?>' ; da += "<tabledata><fields>" ; z = W ( d ( v ) ) ; d ( z ) . each ( function ( ) { I ( this , "th,td" , r , z . length , function ( a , b , d ) { da += "<field>" + G ( a , b , d ) + "</field>" } ) ; r ++ } ) ; da += "</fields><data>" ; var ib = 1 ; y = X ( d ( v ) ) ; d ( y ) . each ( function ( ) { var a = 1 ; u = "" ; I ( this , "td,th" , r , z . length + y . length , function ( b , d , h ) { u += "<column-" + a + ">" + G ( b , d , h ) + "</column-" + a + ">" ; a ++ } ) ; 0 < u . length && "<column-1></column-1>" !== u && ( da += '<row id="' + ib + '">' + u + "</row>" , ib ++ ) ; r ++ } ) ; da += "</data></tabledata>" ; if ( "string" ===
b . outputMode ) return da ; if ( "base64" === b . outputMode ) return R ( da ) ; S ( da , b . fileName + ".xml" , "application/xml" , "utf-8" , "base64" , ! 1 ) } else if ( "excel" === b . type && "xmlss" === b . mso . fileFormat ) { var Ta = [ ] , M = [ ] ; d ( v ) . filter ( function ( ) { return O ( d ( this ) ) } ) . each ( function ( ) { function a ( a , b , c ) { var e = [ ] ; d ( a ) . each ( function ( ) { var b = 0 , f = 0 ; u = "" ; I ( this , "td,th" , r , c + a . length , function ( a , c , g ) { if ( null !== a ) { var m = "" ; c = G ( a , c , g ) ; g = "String" ; if ( ! 1 !== jQuery . isNumeric ( c ) ) g = "Number" ; else { var h = pb ( c ) ; ! 1 !== h && ( c = h , g = "Number" , m += ' ss:StyleID="pct1"' ) } "Number" !==
g && ( c = c . replace ( /\n/g , "<br>" ) ) ; h = Y ( a ) ; a = ka ( a ) ; d . each ( e , function ( ) { if ( r >= this . s . r && r <= this . e . r && f >= this . s . c && f <= this . e . c ) for ( var a = 0 ; a <= this . e . c - this . s . c ; ++ a ) f ++ , b ++ } ) ; if ( a || h ) a = a || 1 , h = h || 1 , e . push ( { s : { r : r , c : f } , e : { r : r + a - 1 , c : f + h - 1 } } ) ; 1 < h && ( m += ' ss:MergeAcross="' + ( h - 1 ) + '"' , f += h - 1 ) ; 1 < a && ( m += ' ss:MergeDown="' + ( a - 1 ) + '" ss:StyleID="rsp1"' ) ; 0 < b && ( m += ' ss:Index="' + ( f + 1 ) + '"' , b = 0 ) ; u += "<Cell" + m + '><Data ss:Type="' + g + '">' + d ( "<div />" ) . text ( c ) . html ( ) + "</Data></Cell>\r" ; f ++ } } ) ; 0 < u . length && ( L += '<Row ss:AutoFitHeight="0">\r' +
u + "</Row>\r" ) ; r ++ } ) ; return a . length } var c = d ( this ) , e = "" ; "string" === typeof b . mso . worksheetName && b . mso . worksheetName . length ? e = b . mso . worksheetName + " " + ( M . length + 1 ) : "undefined" !== typeof b . mso . worksheetName [ M . length ] && ( e = b . mso . worksheetName [ M . length ] ) ; e . length || ( e = c . find ( "caption" ) . text ( ) || "" ) ; e . length || ( e = "Table " + ( M . length + 1 ) ) ; e = d . trim ( e . replace ( /[\\\/[\]*:?'"]/g , "" ) . substring ( 0 , 31 ) ) ; M . push ( d ( "<div />" ) . text ( e ) . html ( ) ) ; ! 1 === b . exportHiddenCells && ( Q = c . find ( "tr, th, td" ) . filter ( ":hidden" ) , ja = 0 < Q . length ) ;
r = 0 ; fa = xa ( this ) ; L = "<Table>\r" ; e = a ( W ( c ) , "th,td" , 0 ) ; a ( X ( c ) , "td,th" , e ) ; L += "</Table>\r" ; Ta . push ( L ) } ) ; for ( var Da = { } , Ua = { } , ea , ra , oa = 0 , yb = M . length ; oa < yb ; oa ++ ) ea = M [ oa ] , ra = Da [ ea ] , ra = Da [ ea ] = null == ra ? 1 : ra + 1 , 2 === ra && ( M [ Ua [ ea ] ] = M [ Ua [ ea ] ] . substring ( 0 , 29 ) + "-1" ) , 1 < Da [ ea ] ? M [ oa ] = M [ oa ] . substring ( 0 , 29 ) + "-" + Da [ ea ] : Ua [ ea ] = oa ; for ( var V = '<?xml version="1.0" encoding="UTF-8"?>\r<?mso-application progid="Excel.Sheet"?>\r<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"\r xmlns:o="urn:schemas-microsoft-com:office:office"\r xmlns:x="urn:schemas-microsoft-com:office:excel"\r xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"\r xmlns:html="http://www.w3.org/TR/REC-html40">\r<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">\r <Created>' +
( new Date ) . toISOString ( ) + '</Created>\r</DocumentProperties>\r<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">\r <AllowPNG/>\r</OfficeDocumentSettings>\r<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">\r <WindowHeight>9000</WindowHeight>\r <WindowWidth>13860</WindowWidth>\r <WindowTopX>0</WindowTopX>\r <WindowTopY>0</WindowTopY>\r <ProtectStructure>False</ProtectStructure>\r <ProtectWindows>False</ProtectWindows>\r</ExcelWorkbook>\r<Styles>\r <Style ss:ID="Default" ss:Name="Normal">\r <Alignment ss:Vertical="Bottom"/>\r <Borders/>\r <Font/>\r <Interior/>\r <NumberFormat/>\r <Protection/>\r </Style>\r <Style ss:ID="rsp1">\r <Alignment ss:Vertical="Center"/>\r </Style>\r <Style ss:ID="pct1">\r <NumberFormat ss:Format="Percent"/>\r </Style>\r</Styles>\r' ,
Ea = 0 ; Ea < Ta . length ; Ea ++ ) V += '<Worksheet ss:Name="' + M [ Ea ] + '" ss:RightToLeft="' + ( b . mso . rtl ? "1" : "0" ) + '">\r' + Ta [ Ea ] , V = b . mso . rtl ? V + '<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">\r<DisplayRightToLeft/>\r</WorksheetOptions>\r' : V + '<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"/>\r' , V += "</Worksheet>\r" ; V += "</Workbook>\r" ; if ( "string" === b . outputMode ) return V ; if ( "base64" === b . outputMode ) return R ( V ) ; S ( V , b . fileName + ".xml" , "application/xml" , "utf-8" , "base64" , ! 1 ) } else if ( "excel" ===
b . type && "xlsx" === b . mso . fileFormat ) { var sa = [ ] , jb = XLSX . utils . book _new ( ) ; d ( v ) . filter ( function ( ) { return O ( d ( this ) ) } ) . each ( function ( ) { for ( var a = d ( this ) , c , e = { } , h = this . getElementsByTagName ( "tr" ) , f = Math . min ( 1E7 , h . length ) , k = { s : { r : 0 , c : 0 } , e : { r : 0 , c : 0 } } , m = [ ] , g , p = 0 , B = 0 , A , l , r , q , n , t = XLSX . SSF . get _table ( ) ; p < h . length && B < f ; ++ p ) if ( A = h [ p ] , l = ! 1 , "function" === typeof b . onIgnoreRow && ( l = b . onIgnoreRow ( d ( A ) , p ) ) , ! 0 !== l && ( 0 === b . ignoreRow . length || - 1 === d . inArray ( p , b . ignoreRow ) && - 1 === d . inArray ( p - h . length , b . ignoreRow ) ) && ! 1 !== O ( d ( A ) ) ) { var u =
A . children , z = 0 ; for ( A = 0 ; A < u . length ; ++ A ) n = u [ A ] , q = + Y ( n ) || 1 , z += q ; var x = 0 ; for ( A = l = 0 ; A < u . length ; ++ A ) if ( n = u [ A ] , q = + Y ( n ) || 1 , g = A + x , ! Wa ( d ( n ) , z , g + ( g < l ? l - g : 0 ) ) ) { x += q - 1 ; for ( g = 0 ; g < m . length ; ++ g ) { var C = m [ g ] ; C . s . c == l && C . s . r <= B && B <= C . e . r && ( l = C . e . c + 1 , g = - 1 ) } ( 0 < ( r = + ka ( n ) ) || 1 < q ) && m . push ( { s : { r : B , c : l } , e : { r : B + ( r || 1 ) - 1 , c : l + q - 1 } } ) ; var y = { type : "" } ; C = G ( n , p , A + x , y ) ; g = { t : "s" , v : C } ; var v = "" ; if ( "" !== ( d ( n ) . attr ( "data-tableexport-cellformat" ) || void 0 ) ) if ( c = parseInt ( d ( n ) . attr ( "data-tableexport-xlsxformatid" ) || 0 ) , 0 === c && "function" === typeof b . mso . xlsx . formatId . numbers &&
( c = b . mso . xlsx . formatId . numbers ( d ( n ) , p , A + x ) ) , 0 === c && "function" === typeof b . mso . xlsx . formatId . date && ( c = b . mso . xlsx . formatId . date ( d ( n ) , p , A + x ) ) , 49 === c || "@" === c ) v = "s" ; else if ( "number" === y . type || 0 < c && 14 > c || 36 < c && 41 > c || 48 === c ) v = "n" ; else { if ( "date" === y . type || 13 < c && 37 > c || 44 < c && 48 > c || 56 === c ) v = "d" } else v = "s" ; if ( null != C ) { if ( 0 === C . length ) g . t = "z" ; else if ( 0 !== C . trim ( ) . length && "s" !== v ) if ( "function" === y . type ) g = { f : C } ; else if ( "TRUE" === C ) g = { t : "b" , v : ! 0 } ; else if ( "FALSE" === C ) g = { t : "b" , v : ! 1 } ; else if ( "n" === v || isFinite ( fb ( C , b . numbers . output ) ) ) { if ( v =
fb ( C , b . numbers . output ) , 0 === c && "function" !== typeof b . mso . xlsx . formatId . numbers && ( c = b . mso . xlsx . formatId . numbers ) , isFinite ( v ) || isFinite ( C ) ) g = { t : "n" , v : isFinite ( v ) ? v : C , z : "string" === typeof c ? c : c in t ? t [ c ] : c === b . mso . xlsx . formatId . currency ? b . mso . xlsx . format . currency : "0.00" } } else if ( ! 1 !== ( y = ob ( C ) ) || "d" === v ) 0 === c && "function" !== typeof b . mso . xlsx . formatId . date && ( c = b . mso . xlsx . formatId . date ) , g = { t : "d" , v : ! 1 !== y ? y : C , z : "string" === typeof c ? c : c in t ? t [ c ] : "m/d/yy" } ; ( v = d ( n ) . find ( "a" ) ) && v . length && ( v = v [ 0 ] . hasAttribute ( "href" ) ?
v . attr ( "href" ) : "" , C = "href" !== b . htmlHyperlink || "" === v ? C : "" , y = "" !== v ? '=HYPERLINK("' + v + ( C . length ? '","' + C : "" ) + '")' : "" , "" !== y && ( "function" === typeof b . mso . xlsx . onHyperlink ? ( C = b . mso . xlsx . onHyperlink ( d ( n ) , p , A , v , C , y ) , g = 0 !== C . indexOf ( "=HYPERLINK" ) ? { t : "s" , v : C } : { f : C } ) : g = { f : y } ) ) } e [ La ( { c : l , r : B } ) ] = g ; k . e . c < l && ( k . e . c = l ) ; l += q } ++ B } m . length && ( e [ "!merges" ] = ( e [ "!merges" ] || [ ] ) . concat ( m ) ) ; k . e . r = Math . max ( k . e . r , B - 1 ) ; e [ "!ref" ] = Ma ( k ) ; B >= f && ( e [ "!fullref" ] = Ma ( ( k . e . r = h . length - p + B - 1 , k ) ) ) ; c = "" ; "string" === typeof b . mso . worksheetName &&
b . mso . worksheetName . length ? c = b . mso . worksheetName + " " + ( sa . length + 1 ) : "undefined" !== typeof b . mso . worksheetName [ sa . length ] && ( c = b . mso . worksheetName [ sa . length ] ) ; c . length || ( c = a . find ( "caption" ) . text ( ) || "" ) ; c . length || ( c = "Table " + ( sa . length + 1 ) ) ; c = d . trim ( c . replace ( /[\\\/[\]*:?'"]/g , "" ) . substring ( 0 , 31 ) ) ; sa . push ( c ) ; XLSX . utils . book _append _sheet ( jb , e , c ) } ) ; var zb = XLSX . write ( jb , { type : "binary" , bookType : b . mso . fileFormat , bookSST : ! 1 } ) ; S ( rb ( zb ) , b . fileName + "." + b . mso . fileFormat , "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ,
"UTF-8" , "" , ! 1 ) } else if ( "excel" === b . type || "xls" === b . type || "word" === b . type || "doc" === b . type ) { var ta = "excel" === b . type || "xls" === b . type ? "excel" : "word" , Ab = "excel" === ta ? "xls" : "doc" , Bb = 'xmlns:x="urn:schemas-microsoft-com:office:' + ta + '"' , ua = L = "" ; d ( v ) . filter ( function ( ) { return O ( d ( this ) ) } ) . each ( function ( ) { var a = d ( this ) ; "" === ua && ( ua = b . mso . worksheetName || a . find ( "caption" ) . text ( ) || "Table" , ua = d . trim ( ua . replace ( /[\\\/[\]*:?'"]/g , "" ) . substring ( 0 , 31 ) ) ) ; ! 1 === b . exportHiddenCells && ( Q = a . find ( "tr, th, td" ) . filter ( ":hidden" ) ,
ja = 0 < Q . length ) ; r = 0 ; N = [ ] ; fa = xa ( this ) ; L += "<table><thead>" ; z = W ( a ) ; d ( z ) . each ( function ( ) { var a = d ( this ) , e = document . defaultView . getComputedStyle ( a [ 0 ] , null ) ; u = "" ; I ( this , "th,td" , r , z . length , function ( a , c , d ) { if ( null !== a ) { var f = "" ; u += "<th" ; if ( b . mso . styles . length ) { var g = document . defaultView . getComputedStyle ( a , null ) , h ; for ( h in b . mso . styles ) { var k = b . mso . styles [ h ] , l = J ( g , k ) ; "" === l && ( l = J ( e , k ) ) ; "" !== l && "0px none rgb(0, 0, 0)" !== l && "rgba(0, 0, 0, 0)" !== l && ( f += "" === f ? 'style="' : ";" , f += k + ":" + l ) } } "" !== f && ( u += " " + f + '"' ) ; f =
Y ( a ) ; 0 < f && ( u += ' colspan="' + f + '"' ) ; f = ka ( a ) ; 0 < f && ( u += ' rowspan="' + f + '"' ) ; u += ">" + G ( a , c , d ) + "</th>" } } ) ; 0 < u . length && ( L += "<tr>" + u + "</tr>" ) ; r ++ } ) ; L += "</thead><tbody>" ; y = X ( a ) ; d ( y ) . each ( function ( ) { var a = d ( this ) , e = null , h = null ; u = "" ; I ( this , "td,th" , r , z . length + y . length , function ( c , k , m ) { if ( null !== c ) { var g = G ( c , k , m ) , f = "" , l = d ( c ) . attr ( "data-tableexport-msonumberformat" ) ; "undefined" === typeof l && "function" === typeof b . mso . onMsoNumberFormat && ( l = b . mso . onMsoNumberFormat ( c , k , m ) ) ; "undefined" !== typeof l && "" !== l && ( f = "style=\"mso-number-format:'" +
l + "'" ) ; if ( b . mso . styles . length ) { e = document . defaultView . getComputedStyle ( c , null ) ; h = null ; for ( var n in b . mso . styles ) k = b . mso . styles [ n ] , l = J ( e , k ) , "" === l && ( null === h && ( h = document . defaultView . getComputedStyle ( a [ 0 ] , null ) ) , l = J ( h , k ) ) , "" !== l && "0px none rgb(0, 0, 0)" !== l && "rgba(0, 0, 0, 0)" !== l && ( f += "" === f ? 'style="' : ";" , f += k + ":" + l ) } u += "<td" ; "" !== f && ( u += " " + f + '"' ) ; f = Y ( c ) ; 0 < f && ( u += ' colspan="' + f + '"' ) ; c = ka ( c ) ; 0 < c && ( u += ' rowspan="' + c + '"' ) ; "string" === typeof g && "" !== g && ( g = eb ( g ) , g = g . replace ( /\n/g , "<br>" ) ) ; u += ">" + g + "</td>" } } ) ;
0 < u . length && ( L += "<tr>" + u + "</tr>" ) ; r ++ } ) ; b . displayTableName && ( L += "<tr><td></td></tr><tr><td></td></tr><tr><td>" + G ( d ( "<p>" + b . tableName + "</p>" ) ) + "</td></tr>" ) ; L += "</tbody></table>" } ) ; var n = '<html xmlns:o="urn:schemas-microsoft-com:office:office" ' + Bb + ' xmlns="http://www.w3.org/TR/REC-html40">' ; n += "<head>" ; n += '<meta http-equiv="content-type" content="application/vnd.ms-' + ta + '; charset=UTF-8">' ; "excel" === ta && ( n += "\x3c!--[if gte mso 9]>" , n += "<xml>" , n += "<x:ExcelWorkbook>" , n += "<x:ExcelWorksheets>" , n += "<x:ExcelWorksheet>" ,
n += "<x:Name>" , n += ua , n += "</x:Name>" , n += "<x:WorksheetOptions>" , n += "<x:DisplayGridlines/>" , b . mso . rtl && ( n += "<x:DisplayRightToLeft/>" ) , n += "</x:WorksheetOptions>" , n += "</x:ExcelWorksheet>" , n += "</x:ExcelWorksheets>" , n += "</x:ExcelWorkbook>" , n += "</xml>" , n += "<![endif]--\x3e" ) ; n += "<style>" ; n += "@page { size:" + b . mso . pageOrientation + "; mso-page-orientation:" + b . mso . pageOrientation + "; }" ; n += "@page Section1 {size:" + U [ b . mso . pageFormat ] [ 0 ] + "pt " + U [ b . mso . pageFormat ] [ 1 ] + "pt" ; n += "; margin:1.0in 1.25in 1.0in 1.25in;mso-header-margin:.5in;mso-footer-margin:.5in;mso-paper-source:0;}" ;
n += "div.Section1 {page:Section1;}" ; n += "@page Section2 {size:" + U [ b . mso . pageFormat ] [ 1 ] + "pt " + U [ b . mso . pageFormat ] [ 0 ] + "pt" ; n += ";mso-page-orientation:" + b . mso . pageOrientation + ";margin:1.25in 1.0in 1.25in 1.0in;mso-header-margin:.5in;mso-footer-margin:.5in;mso-paper-source:0;}" ; n += "div.Section2 {page:Section2;}" ; n += "br {mso-data-placement:same-cell;}" ; n += "</style>" ; n += "</head>" ; n += "<body>" ; n += '<div class="Section' + ( "landscape" === b . mso . pageOrientation ? "2" : "1" ) + '">' ; n += L ; n += "</div>" ; n += "</body>" ; n += "</html>" ;
if ( "string" === b . outputMode ) return n ; if ( "base64" === b . outputMode ) return R ( n ) ; S ( n , b . fileName + "." + Ab , "application/vnd.ms-" + ta , "" , "base64" , ! 1 ) } else if ( "png" === b . type ) html2canvas ( d ( v ) [ 0 ] ) . then ( function ( a ) { a = a . toDataURL ( ) ; for ( var c = atob ( a . substring ( 22 ) ) , d = new ArrayBuffer ( c . length ) , h = new Uint8Array ( d ) , f = 0 ; f < c . length ; f ++ ) h [ f ] = c . charCodeAt ( f ) ; if ( "string" === b . outputMode ) return c ; if ( "base64" === b . outputMode ) return R ( a ) ; "window" === b . outputMode ? window . open ( a ) : S ( d , b . fileName + ".png" , "image/png" , "" , "" , ! 1 ) } ) ; else if ( "pdf" ===
b . type ) if ( ! 0 === b . pdfmake . enabled ) { var ia = { content : [ ] } ; d . extend ( ! 0 , ia , b . pdfmake . docDefinition ) ; N = [ ] ; d ( v ) . filter ( function ( ) { return O ( d ( this ) ) } ) . each ( function ( ) { var a = d ( this ) , c = [ ] , e = "*" , h = [ ] ; r = 0 ; "string" !== typeof b . pdfmake . widths || "*" !== b . pdfmake . widths . trim ( ) && "auto" !== b . pdfmake . widths . trim ( ) ? Array . isArray ( b . pdfmake . widths ) && ( c = b . pdfmake . widths ) : e = b . pdfmake . widths . trim ( ) ; var f = function ( a , b , c ) { var e = 0 ; d ( a ) . each ( function ( ) { var a = [ ] ; I ( this , b , r , c , function ( c , d , e ) { if ( "undefined" !== typeof c && null !== c ) { var g =
Ka ( c ) , f = function ( a ) { a = Math . min ( 255 , Math . max ( 0 , a ) ) . toString ( 16 ) ; return 1 === a . length ? "0" + a : a } ; c = { text : G ( c , d , e ) || " " , alignment : g . style . align , backgroundColor : "#" + f ( g . style . bcolor [ 0 ] ) + f ( g . style . bcolor [ 1 ] ) + f ( g . style . bcolor [ 2 ] ) , color : "#" + f ( g . style . color [ 0 ] ) + f ( g . style . color [ 1 ] ) + f ( g . style . color [ 2 ] ) } ; g . style . fstyle . includes ( "italic" ) && ( c . fontStyle = "italic" ) ; g . style . fstyle . includes ( "bold" ) && ( c . bold = ! 0 ) ; if ( 1 < g . colspan || 1 < g . rowspan ) c . colSpan = g . colspan || 1 , c . rowSpan = g . rowspan || 1 } else c = { text : " " } ; 0 <= b . indexOf ( "th" ) &&
( c . style = "header" ) ; a . push ( c ) } ) ; a . length && h . push ( a ) ; e < a . length && ( e = a . length ) ; r ++ } ) ; return e } ; z = W ( a ) ; var k = f ( z , "th,td" , z . length ) ; y = X ( a ) ; a = f ( y , "td" , z . length + y . length ) ; k = k > a ? k : a ; for ( a = c . length ; a < k ; a ++ ) c . push ( e ) ; ia . content . push ( { table : { headerRows : z . length ? z . length : null , widths : c , body : h } , layout : { layout : "noBorders" , hLineStyle : function ( a , b ) { return 0 } , vLineWidth : function ( a , b ) { return 0 } , hLineColor : function ( a , c ) { return a < c . table . headerRows ? b . pdfmake . docDefinition . styles . header . background : b . pdfmake . docDefinition . styles . alternateRow . fillColor } ,
vLineColor : function ( a , c ) { return a < c . table . headerRows ? b . pdfmake . docDefinition . styles . header . background : b . pdfmake . docDefinition . styles . alternateRow . fillColor } , fillColor : function ( a , c , d ) { return 0 === a % 2 ? b . pdfmake . docDefinition . styles . alternateRow . fillColor : null } } , pageBreak : ia . content . length ? "before" : void 0 } ) } ) ; "undefined" !== typeof pdfMake && "undefined" !== typeof pdfMake . createPdf && ( pdfMake . fonts = { Roboto : { normal : "Roboto-Regular.ttf" , bold : "Roboto-Medium.ttf" , italics : "Roboto-Italic.ttf" , bolditalics : "Roboto-MediumItalic.ttf" } } ,
pdfMake . vfs . hasOwnProperty ( "Mirza-Regular.ttf" ) ? ( ia . defaultStyle . font = "Mirza" , d . extend ( ! 0 , pdfMake . fonts , { Mirza : { normal : "Mirza-Regular.ttf" , bold : "Mirza-Bold.ttf" , italics : "Mirza-Medium.ttf" , bolditalics : "Mirza-SemiBold.ttf" } } ) ) : pdfMake . vfs . hasOwnProperty ( "gbsn00lp.ttf" ) ? ( ia . defaultStyle . font = "gbsn00lp" , d . extend ( ! 0 , pdfMake . fonts , { gbsn00lp : { normal : "gbsn00lp.ttf" , bold : "gbsn00lp.ttf" , italics : "gbsn00lp.ttf" , bolditalics : "gbsn00lp.ttf" } } ) ) : pdfMake . vfs . hasOwnProperty ( "ZCOOLXiaoWei-Regular.ttf" ) && ( ia . defaultStyle . font =
"ZCOOLXiaoWei" , d . extend ( ! 0 , pdfMake . fonts , { ZCOOLXiaoWei : { normal : "ZCOOLXiaoWei-Regular.ttf" , bold : "ZCOOLXiaoWei-Regular.ttf" , italics : "ZCOOLXiaoWei-Regular.ttf" , bolditalics : "ZCOOLXiaoWei-Regular.ttf" } } ) ) , d . extend ( ! 0 , pdfMake . fonts , b . pdfmake . fonts ) , pdfMake . createPdf ( ia ) . getBuffer ( function ( a ) { S ( a , b . fileName + ".pdf" , "application/pdf" , "" , "" , ! 1 ) } ) ) } else if ( ! 1 === b . jspdf . autotable ) { var Va = new jspdf . jsPDF ( { orientation : b . jspdf . orientation , unit : b . jspdf . unit , format : b . jspdf . format } ) ; Va . html ( v [ 0 ] , { callback : function ( ) { Ya ( Va ,
! 1 ) } , html2canvas : { scale : ( Va . internal . pageSize . width - 2 * b . jspdf . margins . left ) / v [ 0 ] . scrollWidth } , x : b . jspdf . margins . left , y : b . jspdf . margins . top } ) } else { var k = b . jspdf . autotable . tableExport ; if ( "string" === typeof b . jspdf . format && "bestfit" === b . jspdf . format . toLowerCase ( ) ) { var Fa = "" , va = "" , kb = 0 ; d ( v ) . each ( function ( ) { if ( O ( d ( this ) ) ) { var a = cb ( d ( this ) . get ( 0 ) , "width" , "pt" ) ; if ( a > kb ) { a > U . a0 [ 0 ] && ( Fa = "a0" , va = "l" ) ; for ( var b in U ) U . hasOwnProperty ( b ) && U [ b ] [ 1 ] > a && ( Fa = b , va = "l" , U [ b ] [ 0 ] > a && ( va = "p" ) ) ; kb = a } } } ) ; b . jspdf . format = "" ===
Fa ? "a4" : Fa ; b . jspdf . orientation = "" === va ? "w" : va } if ( null == k . doc && ( k . doc = new jspdf . jsPDF ( b . jspdf . orientation , b . jspdf . unit , b . jspdf . format ) , k . wScaleFactor = 1 , k . hScaleFactor = 1 , "function" === typeof b . jspdf . onDocCreated ) ) b . jspdf . onDocCreated ( k . doc ) ; Ba . fontName = k . doc . getFont ( ) . fontName ; ! 0 === k . outputImages && ( k . images = { } ) ; "undefined" !== typeof k . images && ( d ( v ) . filter ( function ( ) { return O ( d ( this ) ) } ) . each ( function ( ) { var a = 0 ; N = [ ] ; ! 1 === b . exportHiddenCells && ( Q = d ( this ) . find ( "tr, th, td" ) . filter ( ":hidden" ) , ja = 0 < Q . length ) ;
z = W ( d ( this ) ) ; y = X ( d ( this ) ) ; d ( y ) . each ( function ( ) { I ( this , "td,th" , z . length + a , z . length + y . length , function ( a ) { $a ( a , d ( a ) . children ( ) , k ) } ) ; a ++ } ) } ) , z = [ ] , y = [ ] ) ; nb ( k , function ( ) { d ( v ) . filter ( function ( ) { return O ( d ( this ) ) } ) . each ( function ( ) { var a ; r = 0 ; N = [ ] ; ! 1 === b . exportHiddenCells && ( Q = d ( this ) . find ( "tr, th, td" ) . filter ( ":hidden" ) , ja = 0 < Q . length ) ; fa = xa ( this ) ; k . columns = [ ] ; k . rows = [ ] ; k . teCells = { } ; if ( "function" === typeof k . onTable && ! 1 === k . onTable ( d ( this ) , b ) ) return ! 0 ; b . jspdf . autotable . tableExport = null ; var c = d . extend ( ! 0 , { } , b . jspdf . autotable ) ;
b . jspdf . autotable . tableExport = k ; c . margin = { } ; d . extend ( ! 0 , c . margin , b . jspdf . margins ) ; c . tableExport = k ; "function" !== typeof c . createdHeaderCell && ( c . createdHeaderCell = function ( a , b ) { if ( "undefined" !== typeof k . columns [ b . column . dataKey ] ) { var d = k . columns [ b . column . dataKey ] ; if ( "undefined" !== typeof d . rect ) { a . contentWidth = d . rect . width ; if ( "undefined" === typeof k . heightRatio || 0 === k . heightRatio ) { var e = b . row . raw [ b . column . dataKey ] . rowspan ? b . row . raw [ b . column . dataKey ] . rect . height / b . row . raw [ b . column . dataKey ] . rowspan : b . row . raw [ b . column . dataKey ] . rect . height ;
k . heightRatio = a . styles . rowHeight / e } e = b . row . raw [ b . column . dataKey ] . rect . height * k . heightRatio ; e > a . styles . rowHeight && ( a . styles . rowHeight = e ) } a . styles . halign = "inherit" === c . headerStyles . halign ? "center" : c . headerStyles . halign ; a . styles . valign = c . headerStyles . valign ; "undefined" !== typeof d . style && ! 0 !== d . style . hidden && ( "inherit" === c . headerStyles . halign && ( a . styles . halign = d . style . align ) , "inherit" === c . styles . fillColor && ( a . styles . fillColor = d . style . bcolor ) , "inherit" === c . styles . textColor && ( a . styles . textColor = d . style . color ) ,
"inherit" === c . styles . fontStyle && ( a . styles . fontStyle = d . style . fstyle ) ) } } ) ; "function" !== typeof c . createdCell && ( c . createdCell = function ( a , b ) { b = k . teCells [ b . row . index + ":" + b . column . dataKey ] ; a . styles . halign = "inherit" === c . styles . halign ? "center" : c . styles . halign ; a . styles . valign = c . styles . valign ; "undefined" !== typeof b && "undefined" !== typeof b . style && ! 0 !== b . style . hidden && ( "inherit" === c . styles . halign && ( a . styles . halign = b . style . align ) , "inherit" === c . styles . fillColor && ( a . styles . fillColor = b . style . bcolor ) , "inherit" === c . styles . textColor &&
( a . styles . textColor = b . style . color ) , "inherit" === c . styles . fontStyle && ( a . styles . fontStyle = b . style . fstyle ) ) } ) ; "function" !== typeof c . drawHeaderCell && ( c . drawHeaderCell = function ( a , b ) { var c = k . columns [ b . column . dataKey ] ; return ( ! 0 !== c . style . hasOwnProperty ( "hidden" ) || ! 0 !== c . style . hidden ) && 0 <= c . rowIndex ? Za ( a , b , c ) : ! 1 } ) ; "function" !== typeof c . drawCell && ( c . drawCell = function ( a , b ) { var c = k . teCells [ b . row . index + ":" + b . column . dataKey ] ; if ( ! 0 !== ( "undefined" !== typeof c && c . isCanvas ) ) Za ( a , b , c ) && ( k . doc . rect ( a . x , a . y , a . width , a . height ,
a . styles . fillStyle ) , "undefined" === typeof c || "undefined" !== typeof c . hasUserDefText && ! 0 === c . hasUserDefText || "undefined" === typeof c . elements || ! c . elements . length ? db ( a , { } , k ) : ( b = a . height / c . rect . height , b > k . hScaleFactor && ( k . hScaleFactor = b ) , k . wScaleFactor = a . width / c . rect . width , b = a . textPos . y , bb ( a , c . elements , k ) , a . textPos . y = b , db ( a , c . elements , k ) ) ) ; else { c = c . elements [ 0 ] ; var e = d ( c ) . attr ( "data-tableexport-canvas" ) , f = c . getBoundingClientRect ( ) ; a . width = f . width * k . wScaleFactor ; a . height = f . height * k . hScaleFactor ; b . row . height =
a . height ; Xa ( a , c , e , k ) } return ! 1 } ) ; k . headerrows = [ ] ; z = W ( d ( this ) ) ; d ( z ) . each ( function ( ) { a = 0 ; k . headerrows [ r ] = [ ] ; I ( this , "th,td" , r , z . length , function ( b , c , d ) { var e = Ka ( b ) ; e . title = G ( b , c , d ) ; e . key = a ++ ; e . rowIndex = r ; k . headerrows [ r ] . push ( e ) } ) ; r ++ } ) ; if ( 0 < r ) for ( var e = r - 1 ; 0 <= e ; ) d . each ( k . headerrows [ e ] , function ( ) { var a = this ; 0 < e && null === this . rect && ( a = k . headerrows [ e - 1 ] [ this . key ] ) ; null !== a && 0 <= a . rowIndex && ( ! 0 !== a . style . hasOwnProperty ( "hidden" ) || ! 0 !== a . style . hidden ) && k . columns . push ( a ) } ) , e = 0 < k . columns . length ? - 1 : e - 1 ; var h = 0 ;
y = [ ] ; y = X ( d ( this ) ) ; d ( y ) . each ( function ( ) { var b = [ ] ; a = 0 ; I ( this , "td,th" , r , z . length + y . length , function ( c , e , f ) { if ( "undefined" === typeof k . columns [ a ] ) { var g = { title : "" , key : a , style : { hidden : ! 0 } } ; k . columns . push ( g ) } b . push ( G ( c , e , f ) ) ; "undefined" !== typeof c && null !== c ? ( g = Ka ( c ) , g . isCanvas = c . hasAttribute ( "data-tableexport-canvas" ) , g . elements = g . isCanvas ? d ( c ) : d ( c ) . children ( ) , "undefined" !== typeof d ( c ) . data ( "teUserDefText" ) && ( g . hasUserDefText = ! 0 ) ) : ( g = d . extend ( ! 0 , { } , k . teCells [ h + ":" + ( a - 1 ) ] ) , g . colspan = - 1 ) ; k . teCells [ h + ":" + a ++ ] =
g } ) ; b . length && ( k . rows . push ( b ) , h ++ ) ; r ++ } ) ; if ( "function" === typeof k . onBeforeAutotable ) k . onBeforeAutotable ( d ( this ) , k . columns , k . rows , c ) ; sb ( c . tableExport . doc , k . columns , k . rows , c ) ; if ( "function" === typeof k . onAfterAutotable ) k . onAfterAutotable ( d ( this ) , c ) ; var f = b . jspdf . autotable ; var l = "undefined" === typeof H || "undefined" === typeof H . y ? 0 : H . y ; f . startY = l + c . margin . top } ) ; Ya ( k . doc , "undefined" !== typeof k . images && ! 1 === jQuery . isEmptyObject ( k . images ) ) ; "undefined" !== typeof k . headerrows && ( k . headerrows . length = 0 ) ; "undefined" !==
typeof k . columns && ( k . columns . length = 0 ) ; "undefined" !== typeof k . rows && ( k . rows . length = 0 ) ; delete k . doc ; k . doc = null } ) } var x , H , l , Na , q ; if ( "function" === typeof b . onTableExportEnd ) b . onTableExportEnd ( ) ; return this } ; var t = function ( ) { return function ( ) { this . contentWidth = this . y = this . x = this . width = this . height = 0 ; this . rows = [ ] ; this . columns = [ ] ; this . headerRow = null ; this . settings = { } } } ( ) , D = function ( ) { return function ( d ) { this . raw = d || { } ; this . index = 0 ; this . styles = { } ; this . cells = { } ; this . y = this . height = 0 } } ( ) , K = function ( ) { return function ( d ) { this . raw =
d ; this . styles = { } ; this . text = "" ; this . contentWidth = 0 ; this . textPos = { } ; this . y = this . x = this . width = this . height = 0 } } ( ) , wa = function ( ) { return function ( d ) { this . dataKey = d ; this . options = { } ; this . styles = { } ; this . x = this . width = this . contentWidth = 0 } } ( ) } ) ( jQuery ) ;
/ * * @ l i c e n s e
*
* jsPDF - PDF Document creation from JavaScript
* Version 2.3 . 1 Built on 2021 - 03 - 08 T15 : 44 : 11.672 Z
* CommitID 00000000
*
* Copyright ( c ) 2010 - 2020 James Hall < james @ parall . ax > , https : //github.com/MrRio/jsPDF
* 2015 - 2020 yWorks GmbH , http : //www.yworks.com
* 2015 - 2020 Lukas Holländer < lukas . hollaender @ yworks . com > , https : //github.com/HackbrettXXX
* 2016 - 2018 Aras Abbasi < aras . abbasi @ gmail . com >
* 2010 Aaron Spike , https : //github.com/acspike
* 2012 Willow Systems Corporation , willow - systems . com
* 2012 Pablo Hess , https : //github.com/pablohess
* 2012 Florian Jenett , https : //github.com/fjenett
* 2013 Warren Weckesser , https : //github.com/warrenweckesser
* 2013 Youssef Beddad , https : //github.com/lifof
* 2013 Lee Driscoll , https : //github.com/lsdriscoll
* 2013 Stefan Slonevskiy , https : //github.com/stefslon
* 2013 Jeremy Morel , https : //github.com/jmorel
* 2013 Christoph Hartmann , https : //github.com/chris-rock
* 2014 Juan Pablo Gaviria , https : //github.com/juanpgaviria
* 2014 James Makes , https : //github.com/dollaruw
* 2014 Diego Casorran , https : //github.com/diegocr
* 2014 Steven Spungin , https : //github.com/Flamenco
* 2014 Kenneth Glassey , https : //github.com/Gavvers
*
* Permission is hereby granted , free of charge , to any person obtaining
* a copy of this software and associated documentation files ( the
* "Software" ) , to deal in the Software without restriction , including
* without limitation the rights to use , copy , modify , merge , publish ,
* distribute , sublicense , and / or sell copies of the Software , and to
* permit persons to whom the Software is furnished to do so , subject to
* the following conditions :
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND ,
* EXPRESS OR IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT . IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM , DAMAGES OR OTHER LIABILITY , WHETHER IN AN ACTION
* OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE .
*
* Contributor ( s ) :
* siefkenj , ahwolf , rickygu , Midnith , saintclair , eaparango ,
* kim3er , mfo , alnorth , Flamenco
* /
! function ( t , e ) { "object" == typeof exports && "undefined" != typeof module ? e ( exports ) : "function" == typeof define && define . amd ? define ( [ "exports" ] , e ) : e ( ( t = t || self ) . jspdf = { } ) } ( this , ( function ( t ) { "use strict" ; var e = function ( ) { return "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this } ( ) ; function r ( ) { e . console && "function" == typeof e . console . log && e . console . log . apply ( e . console , arguments ) } var n = { log : r , warn : function ( t ) { e . console && ( "function" == typeof e . console . warn ? e . console . warn . apply ( e . console , arguments ) : r . call ( null , arguments ) ) } , error : function ( t ) { e . console && ( "function" == typeof e . console . error ? e . console . error . apply ( e . console , arguments ) : r ( t ) ) } } ;
/ * *
* @ license
* FileSaver . js
* A saveAs ( ) FileSaver implementation .
*
* By Eli Grey , http : //eligrey.com
*
* License : https : //github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)
* source : http : //purl.eligrey.com/github/FileSaver.js
* /function i(t,e,r){var i=new XMLHttpRequest;i.open("GET",t),i.responseType="blob",i.onload=function(){c(i.response,e,r)},i.onerror=function(){n.error("could not download file")},i.send()}function a(t){var e=new XMLHttpRequest;e.open("HEAD",t,!1);try{e.send()}catch(t){}return e.status>=200&&e.status<=299}function o(t){try{t.dispatchEvent(new MouseEvent("click"))}catch(r){var e=document.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(e)}}var s,u,c=e.saveAs||("object"!=typeof window||window!==e?function(){}:"undefined"!=typeof HTMLAnchorElement&&"download"in HTMLAnchorElement.prototype?function(t,r,n){var s=e.URL||e.webkitURL,u=document.createElement("a");r=r||t.name||"download",u.download=r,u.rel="noopener","string"==typeof t?(u.href=t,u.origin!==location.origin?a(u.href)?i(t,r,n):o(u,u.target="_blank"):o(u)):(u.href=s.createObjectURL(t),setTimeout((function(){s.revokeObjectURL(u.href)}),4e4),setTimeout((function(){o(u)}),0))}:"msSaveOrOpenBlob"in navigator?function(t,e,r){if(e=e||t.name||"download","string"==typeof t)if(a(t))i(t,e,r);else{var s=document.createElement("a");s.href=t,s.target="_blank",setTimeout((function(){o(s)}))}else navigator.msSaveOrOpenBlob(function(t,e){return void 0===e?e={autoBom:!1}:"object"!=typeof e&&(n.warn("Deprecated: Expected third argument to be a object"),e={autoBom:!e}),e.autoBom&&/ ^ \ s * ( ? : text \ / \ S * | application \ / xml | \ S * \ / \ S * \ + xml ) \ s * ; . * charset \ s *= \ s * utf - 8 / i . test ( t . type ) ? new Blob ( [ String . fromCharCode ( 65279 ) , t ] , { type : t . type } ) : t } ( t , r ) , e ) } : function ( t , r , n , a ) { if ( ( a = a || open ( "" , "_blank" ) ) && ( a . document . title = a . document . body . innerText = "downloading..." ) , "string" == typeof t ) return i ( t , r , n ) ; var o = "application/octet-stream" === t . type , s = /constructor/i . test ( e . HTMLElement ) || e . safari , u = /CriOS\/[\d]+/ . test ( navigator . userAgent ) ; if ( ( u || o && s ) && "object" == typeof FileReader ) { var c = new FileReader ; c . onloadend = function ( ) { var t = c . result ; t = u ? t : t . replace ( /^data:[^;]*;/ , "data:attachment/file;" ) , a ? a . location . href = t : location = t , a = null } , c . readAsDataURL ( t ) } else { var l = e . URL || e . webkitURL , h = l . createObjectURL ( t ) ; a ? a . location = h : location . href = h , a = null , setTimeout ( ( function ( ) { l . revokeObjectURL ( h ) } ) , 4e4 ) } } ) ;
/ * *
* A class to parse color values
* @ author Stoyan Stefanov < sstoo @ gmail . com >
* { @ link http : //www.phpied.com/rgb-color-parser-in-javascript/}
* @ license Use it if you like it
* /function l(t){var e;t=t||"",this.ok=!1,"#"==t.charAt(0)&&(t=t.substr(1,6));t={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"}[t=(t=t.replace(/ /g,"")).toLowerCase()]||t;for(var r=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/ ^ ( \ w { 2 } ) ( \ w { 2 } ) ( \ w { 2 } ) $ / , example : [ "#00ff00" , "336699" ] , process : function ( t ) { return [ parseInt ( t [ 1 ] , 16 ) , parseInt ( t [ 2 ] , 16 ) , parseInt ( t [ 3 ] , 16 ) ] } } , { re : /^(\w{1})(\w{1})(\w{1})$/ , example : [ "#fb0" , "f0f" ] , process : function ( t ) { return [ parseInt ( t [ 1 ] + t [ 1 ] , 16 ) , parseInt ( t [ 2 ] + t [ 2 ] , 16 ) , parseInt ( t [ 3 ] + t [ 3 ] , 16 ) ] } } ] , n = 0 ; n < r . length ; n ++ ) { var i = r [ n ] . re , a = r [ n ] . process , o = i . exec ( t ) ; o && ( e = a ( o ) , this . r = e [ 0 ] , this . g = e [ 1 ] , this . b = e [ 2 ] , this . ok = ! 0 ) } this . r = this . r < 0 || isNaN ( this . r ) ? 0 : this . r > 255 ? 255 : this . r , this . g = this . g < 0 || isNaN ( this . g ) ? 0 : this . g > 255 ? 255 : this . g , this . b = this . b < 0 || isNaN ( this . b ) ? 0 : this . b > 255 ? 255 : this . b , this . toRGB = function ( ) { return "rgb(" + this . r + ", " + this . g + ", " + this . b + ")" } , this . toHex = function ( ) { var t = this . r . toString ( 16 ) , e = this . g . toString ( 16 ) , r = this . b . toString ( 16 ) ; return 1 == t . length && ( t = "0" + t ) , 1 == e . length && ( e = "0" + e ) , 1 == r . length && ( r = "0" + r ) , "#" + t + e + r } }
/ * *
* @ license
* Joseph Myers does not specify a particular license for his work .
*
* Author : Joseph Myers
* Accessed from : http : //www.myersdaily.org/joseph/javascript/md5.js
*
* Modified by : Owen Leong
* /
function h ( t , e ) { var r = t [ 0 ] , n = t [ 1 ] , i = t [ 2 ] , a = t [ 3 ] ; r = d ( r , n , i , a , e [ 0 ] , 7 , - 680876936 ) , a = d ( a , r , n , i , e [ 1 ] , 12 , - 389564586 ) , i = d ( i , a , r , n , e [ 2 ] , 17 , 606105819 ) , n = d ( n , i , a , r , e [ 3 ] , 22 , - 1044525330 ) , r = d ( r , n , i , a , e [ 4 ] , 7 , - 176418897 ) , a = d ( a , r , n , i , e [ 5 ] , 12 , 1200080426 ) , i = d ( i , a , r , n , e [ 6 ] , 17 , - 1473231341 ) , n = d ( n , i , a , r , e [ 7 ] , 22 , - 45705983 ) , r = d ( r , n , i , a , e [ 8 ] , 7 , 1770035416 ) , a = d ( a , r , n , i , e [ 9 ] , 12 , - 1958414417 ) , i = d ( i , a , r , n , e [ 10 ] , 17 , - 42063 ) , n = d ( n , i , a , r , e [ 11 ] , 22 , - 1990404162 ) , r = d ( r , n , i , a , e [ 12 ] , 7 , 1804603682 ) , a = d ( a , r , n , i , e [ 13 ] , 12 , - 40341101 ) , i = d ( i , a , r , n , e [ 14 ] , 17 , - 1502002290 ) , r = p ( r , n = d ( n , i , a , r , e [ 15 ] , 22 , 1236535329 ) , i , a , e [ 1 ] , 5 , - 165796510 ) , a = p ( a , r , n , i , e [ 6 ] , 9 , - 1069501632 ) , i = p ( i , a , r , n , e [ 11 ] , 14 , 643717713 ) , n = p ( n , i , a , r , e [ 0 ] , 20 , - 373897302 ) , r = p ( r , n , i , a , e [ 5 ] , 5 , - 701558691 ) , a = p ( a , r , n , i , e [ 10 ] , 9 , 38016083 ) , i = p ( i , a , r , n , e [ 15 ] , 14 , - 660478335 ) , n = p ( n , i , a , r , e [ 4 ] , 20 , - 405537848 ) , r = p ( r , n , i , a , e [ 9 ] , 5 , 568446438 ) , a = p ( a , r , n , i , e [ 14 ] , 9 , - 1019803690 ) , i = p ( i , a , r , n , e [ 3 ] , 14 , - 187363961 ) , n = p ( n , i , a , r , e [ 8 ] , 20 , 1163531501 ) , r = p ( r , n , i , a , e [ 13 ] , 5 , - 1444681467 ) , a = p ( a , r , n , i , e [ 2 ] , 9 , - 51403784 ) , i = p ( i , a , r , n , e [ 7 ] , 14 , 1735328473 ) , r = g ( r , n = p ( n , i , a , r , e [ 12 ] , 20 , - 1926607734 ) , i , a , e [ 5 ] , 4 , - 378558 ) , a = g ( a , r , n , i , e [ 8 ] , 11 , - 2022574463 ) , i = g ( i , a , r , n , e [ 11 ] , 16 , 1839030562 ) , n = g ( n , i , a , r , e [ 14 ] , 23 , - 35309556 ) , r = g ( r , n , i , a , e [ 1 ] , 4 , - 1530992060 ) , a = g ( a , r , n , i , e [ 4 ] , 11 , 1272893353 ) , i = g ( i , a , r , n , e [ 7 ] , 16 , - 155497632 ) , n = g ( n , i , a , r , e [ 10 ] , 23 , - 1094730640 ) , r = g ( r , n , i , a , e [ 13 ] , 4 , 681279174 ) , a = g ( a , r , n , i , e [ 0 ] , 11 , - 358537222 ) , i = g ( i , a , r , n , e [ 3 ] , 16 , - 722521979 ) , n = g ( n , i , a , r , e [ 6 ] , 23 , 76029189 ) , r = g ( r , n , i , a , e [ 9 ] , 4 , - 640364487 ) , a = g ( a , r , n , i , e [ 12 ] , 11 , - 421815835 ) , i = g ( i , a , r , n , e [ 15 ] , 16 , 530742520 ) , r = m ( r , n = g ( n , i , a , r , e [ 2 ] , 23 , - 995338651 ) , i , a , e [ 0 ] , 6 , - 198630844 ) , a = m ( a , r , n , i , e [ 7 ] , 10 , 1126891415 ) , i = m ( i , a , r , n , e [ 14 ] , 15 , - 1416354905 ) , n = m ( n , i , a , r , e [ 5 ] , 21 , - 57434055 ) , r = m ( r , n , i , a , e [ 12 ] , 6 , 1700485571 ) , a = m ( a , r , n , i , e [ 3 ] , 10 , - 1894986606 ) , i = m ( i , a , r , n , e [ 10 ] , 15 , - 1051523 ) , n = m ( n , i , a , r , e [ 1 ] , 21 , - 2054922799 ) , r = m ( r , n , i , a , e [ 8 ] , 6 , 1873313359 ) , a = m ( a , r , n , i , e [ 15 ] , 10 , - 30611744 ) , i = m ( i , a , r , n , e [ 6 ] , 15 , - 1560198380 ) , n = m ( n , i , a , r , e [ 13 ] , 21 , 1309151649 ) , r = m ( r , n , i , a , e [ 4 ] , 6 , - 145523070 ) , a = m ( a , r , n , i , e [ 11 ] , 10 , - 1120210379 ) , i = m ( i , a , r , n , e [ 2 ] , 15 , 718787259 ) , n = m ( n , i , a , r , e [ 9 ] , 21 , - 343485551 ) , t [ 0 ] = L ( r , t [ 0 ] ) , t [ 1 ] = L ( n , t [ 1 ] ) , t [ 2 ] = L ( i , t [ 2 ] ) , t [ 3 ] = L ( a , t [ 3 ] ) } function f ( t , e , r , n , i , a ) { return e = L ( L ( e , t ) , L ( n , a ) ) , L ( e << i | e >>> 32 - i , r ) } function d ( t , e , r , n , i , a , o ) { return f ( e & r | ~ e & n , t , e , i , a , o ) } function p ( t , e , r , n , i , a , o ) { return f ( e & n | r & ~ n , t , e , i , a , o ) } function g ( t , e , r , n , i , a , o ) { return f ( e ^ r ^ n , t , e , i , a , o ) } function m ( t , e , r , n , i , a , o ) { return f ( r ^ ( e | ~ n ) , t , e , i , a , o ) } function v ( t ) { var e , r = t . length , n = [ 1732584193 , - 271733879 , - 1732584194 , 271733878 ] ; for ( e = 64 ; e <= t . length ; e += 64 ) h ( n , b ( t . substring ( e - 64 , e ) ) ) ; t = t . substring ( e - 64 ) ; var i = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ; for ( e = 0 ; e < t . length ; e ++ ) i [ e >> 2 ] |= t . charCodeAt ( e ) << ( e % 4 << 3 ) ; if ( i [ e >> 2 ] |= 128 << ( e % 4 << 3 ) , e > 55 ) for ( h ( n , i ) , e = 0 ; e < 16 ; e ++ ) i [ e ] = 0 ; return i [ 14 ] = 8 * r , h ( n , i ) , n } function b ( t ) { var e , r = [ ] ; for ( e = 0 ; e < 64 ; e += 4 ) r [ e >> 2 ] = t . charCodeAt ( e ) + ( t . charCodeAt ( e + 1 ) << 8 ) + ( t . charCodeAt ( e + 2 ) << 16 ) + ( t . charCodeAt ( e + 3 ) << 24 ) ; return r } s = e . atob . bind ( e ) , u = e . btoa . bind ( e ) ; var y = "0123456789abcdef" . split ( "" ) ; function w ( t ) { for ( var e = "" , r = 0 ; r < 4 ; r ++ ) e += y [ t >> 8 * r + 4 & 15 ] + y [ t >> 8 * r & 15 ] ; return e } function N ( t ) { return String . fromCharCode ( ( 255 & t ) >> 0 , ( 65280 & t ) >> 8 , ( 16711680 & t ) >> 16 , ( 4278190080 & t ) >> 24 ) } function A ( t ) { return function ( t ) { return t . map ( N ) . join ( "" ) } ( v ( t ) ) } function L ( t , e ) { return t + e & 4294967295 } if ( "5d41402abc4b2a76b9719d911017c592" != function ( t ) { for ( var e = 0 ; e < t . length ; e ++ ) t [ e ] = w ( t [ e ] ) ; return t . join ( "" ) } ( v ( "hello" ) ) ) { function L ( t , e ) { var r = ( 65535 & t ) + ( 65535 & e ) ; return ( t >> 16 ) + ( e >> 16 ) + ( r >> 16 ) << 16 | 65535 & r } }
/ * *
* @ license
* FPDF is released under a permissive license : there is no usage restriction .
* You may embed it freely in your application ( commercial or not ) , with or
* without modifications .
*
* Reference : http : //www.fpdf.org/en/script/script37.php
* / f u n c t i o n x ( t , e ) { v a r r , n , i , a ; i f ( t ! = = r ) { f o r ( v a r o = ( i = t , a = 1 + ( 2 5 6 / t . l e n g t h > > 0 ) , n e w A r r a y ( a + 1 ) . j o i n ( i ) ) , s = [ ] , u = 0 ; u < 2 5 6 ; u + + ) s [ u ] = u ; v a r c = 0 ; f o r ( u = 0 ; u < 2 5 6 ; u + + ) { v a r l = s [ u ] ; c = ( c + l + o . c h a r C o d e A t ( u ) ) % 2 5 6 , s [ u ] = s [ c ] , s [ c ] = l } r = t , n = s } e l s e s = n ; v a r h = e . l e n g t h , f = 0 , d = 0 , p = " " ; f o r ( u = 0 ; u < h ; u + + ) d = ( d + ( l = s [ f = ( f + 1 ) % 2 5 6 ] ) ) % 2 5 6 , s [ f ] = s [ d ] , s [ d ] = l , o = s [ ( s [ f ] + s [ d ] ) % 2 5 6 ] , p + = S t r i n g . f r o m C h a r C o d e ( e . c h a r C o d e A t ( u ) ^ o ) ; r e t u r n p }
/ * *
* @ license
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* Author : Owen Leong ( @ owenl131 )
* Date : 15 Oct 2020
* References :
* https : //www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt
* https : //github.com/foliojs/pdfkit/blob/master/lib/security.js
* http : //www.fpdf.org/en/script/script37.php
* /var S={print:4,modify:8,copy:16,"annot-forms":32};function _(t,e,r,n){this.v=1,this.r=2;let i=192;t.forEach((function(t){if(void 0!==S.perm)throw new Error("Invalid permission: "+t);i+=S[t]})),this.padding="(¿N^Nu Ad\0NVÿú \b..\0¶Ðh> / \ f © þdSiz ";let a=(e+this.padding).substr(0,32),o=(r+this.padding).substr(0,32);this.O=this.processOwnerPassword(a,o),this.P=-(1+(255^i)),this.encryptionKey=A(a+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(n)).substr(0,5),this.U=x(this.encryptionKey,this.padding)}function P(t){if(" object "!=typeof t)throw new Error(" Invalid Context passed to initialize PubSub ( jsPDF - module ) ");var r={};this.subscribe=function(t,e,n){if(n=n||!1," string "!=typeof t||" function "!=typeof e||" boolean "!=typeof n)throw new Error(" Invalid arguments passed to PubSub . subscribe ( jsPDF - module ) ");r.hasOwnProperty(t)||(r[t]={});var i=Math.random().toString(35);return r[t][i]=[e,!!n],i},this.unsubscribe=function(t){for(var e in r)if(r[e][t])return delete r[e][t],0===Object.keys(r[e]).length&&delete r[e],!0;return!1},this.publish=function(i){if(r.hasOwnProperty(i)){var a=Array.prototype.slice.call(arguments,1),o=[];for(var s in r[i]){var u=r[i][s];try{u[0].apply(t,a)}catch(t){e.console&&n.error(" jsPDF PubSub Error ",t.message,t)}u[1]&&o.push(s)}o.length&&o.forEach(this.unsubscribe)}},this.getTopics=function(){return r}}function k(t){if(!(this instanceof k))return new k(t);var e=" opacity , stroke - opacity ".split(" , ");for(var r in t)t.hasOwnProperty(r)&&e.indexOf(r)>=0&&(this[r]=t[r]);this.id=" ",this.objectNumber=-1}function F(t,e){this.gState=t,this.matrix=e,this.id=" ",this.objectNumber=-1}function I(t,e,r,n,i){if(!(this instanceof I))return new I(t,e,r,n,i);this.type=" axial "===t?2:3,this.coords=e,this.colors=r,F.call(this,n,i)}function C(t,e,r,n,i){if(!(this instanceof C))return new C(t,e,r,n,i);this.boundingBox=t,this.xStep=e,this.yStep=r,this.stream=" ",this.cloneIndex=0,F.call(this,n,i)}function j(t){var r,i=" string "==typeof arguments[0]?arguments[0]:" p ",a=arguments[1],o=arguments[2],s=arguments[3],h=[],f=1,d=16,p=" S ",g=null;" object "==typeof(t=t||{})&&(i=t.orientation,a=t.unit||a,o=t.format||o,s=t.compress||t.compressPdf||s,null!==(g=t.encryption||null)&&(g.userPassword=g.userPassword||" ",g.ownerPassword=g.ownerPassword||" ",g.userPermissions=g.userPermissions||[]),f=" number "==typeof t.userUnit?Math.abs(t.userUnit):1,void 0!==t.precision&&(r=t.precision),void 0!==t.floatPrecision&&(d=t.floatPrecision),p=t.defaultPathOperation||" S "),h=t.filters||(!0===s?[" FlateEncode "]:h),a=a||" mm ",i=(" "+(i||" P ")).toLowerCase();var m=t.putOnlyUsedFonts||!1,v={},b={internal:{},__private__:{}};b.__private__.PubSub=P;var y=" 1.3 ",w=b.__private__.getPdfVersion=function(){return y};b.__private__.setPdfVersion=function(t){y=t};var N={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792]," government - letter ":[576,756],legal:[612,1008]," junior - legal ":[576,360],ledger:[1224,792],tabloid:[792,1224]," credit - card ":[153,243]};b.__private__.getPageFormats=function(){return N};var A=b.__private__.getPageFormat=function(t){return N[t]};o=o||" a4 ";var L={COMPAT:" compat ",ADVANCED:" advanced "},x=L.COMPAT;function S(){this.saveGraphicsState(),ct(new Ht(xt,0,0,-xt,0,Er()*xt).toString()+" cm "),this.setFontSize(this.getFontSize()/xt),p=" n ",x=L.ADVANCED}function F(){this.restoreGraphicsState(),p=" S ",x=L.COMPAT}var O=function(t,e){if(" bold "==t&&" normal "==e||" bold "==t&&400==e||" normal "==t&&" italic "==e||" bold "==t&&" italic "==e)throw new Error(" Inv
/ * * @ l i c e n s e
* jsPDF addImage plugin
* Copyright ( c ) 2012 Jason Siefken , https : //github.com/siefkenj/
* 2013 Chris Dowling , https : //github.com/gingerchris
* 2013 Trinh Ho , https : //github.com/ineedfat
* 2013 Edwin Alejandro Perez , https : //github.com/eaparango
* 2013 Norah Smith , https : //github.com/burnburnrocket
* 2014 Diego Casorran , https : //github.com/diegocr
* 2014 James Robb , https : //github.com/jamesbrobb
*
* Permission is hereby granted , free of charge , to any person obtaining
* a copy of this software and associated documentation files ( the
* "Software" ) , to deal in the Software without restriction , including
* without limitation the rights to use , copy , modify , merge , publish ,
* distribute , sublicense , and / or sell copies of the Software , and to
* permit persons to whom the Software is furnished to do so , subject to
* the following conditions :
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND ,
* EXPRESS OR IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT . IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM , DAMAGES OR OTHER LIABILITY , WHETHER IN AN ACTION
* OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE .
* / f u n c t i o n A t ( t ) { r e t u r n t . r e d u c e ( ( f u n c t i o n ( t , e , r ) { r e t u r n t [ e ] = r , t } ) , { } ) } ! f u n c t i o n ( t ) { t . _ _ a d d i m a g e _ _ = { } ; v a r e = " U N K N O W N " , r = { P N G : [ [ 1 3 7 , 8 0 , 7 8 , 7 1 ] ] , T I F F : [ [ 7 7 , 7 7 , 0 , 4 2 ] , [ 7 3 , 7 3 , 4 2 , 0 ] ] , J P E G : [ [ 2 5 5 , 2 1 6 , 2 5 5 , 2 2 4 , v o i d 0 , v o i d 0 , 7 4 , 7 0 , 7 3 , 7 0 , 0 ] , [ 2 5 5 , 2 1 6 , 2 5 5 , 2 2 5 , v o i d 0 , v o i d 0 , 6 9 , 1 2 0 , 1 0 5 , 1 0 2 , 0 , 0 ] , [ 2 5 5 , 2 1 6 , 2 5 5 , 2 1 9 ] , [ 2 5 5 , 2 1 6 , 2 5 5 , 2 3 8 ] ] , J P E G 2 0 0 0 : [ [ 0 , 0 , 0 , 1 2 , 1 0 6 , 8 0 , 3 2 , 3 2 ] ] , G I F 8 7 a : [ [ 7 1 , 7 3 , 7 0 , 5 6 , 5 5 , 9 7 ] ] , G I F 8 9 a : [ [ 7 1 , 7 3 , 7 0 , 5 6 , 5 7 , 9 7 ] ] , W E B P : [ [ 8 2 , 7 3 , 7 0 , 7 0 , v o i d 0 , v o i d 0 , v o i d 0 , v o i d 0 , 8 7 , 6 9 , 6 6 , 8 0 ] ] , B M P : [ [ 6 6 , 7 7 ] , [ 6 6 , 6 5 ] , [ 6 7 , 7 3 ] , [ 6 7 , 8 0 ] , [ 7 3 , 6 7 ] , [ 8 0 , 8 4 ] ] } , n = t . _ _ a d d i m a g e _ _ . g e t I m a g e F i l e T y p e B y I m a g e D a t a = f u n c t i o n ( t , n ) { v a r i , a ; n = n | | e ; v a r o , s , u , c = e ; i f ( x ( t ) ) f o r ( u i n r ) f o r ( o = r [ u ] , i = 0 ; i < o . l e n g t h ; i + = 1 ) { f o r ( s = ! 0 , a = 0 ; a < o [ i ] . l e n g t h ; a + = 1 ) i f ( v o i d 0 ! = = o [ i ] [ a ] & & o [ i ] [ a ] ! = = t [ a ] ) { s = ! 1 ; b r e a k } i f ( ! 0 = = = s ) { c = u ; b r e a k } } e l s e f o r ( u i n r ) f o r ( o = r [ u ] , i = 0 ; i < o . l e n g t h ; i + = 1 ) { f o r ( s = ! 0 , a = 0 ; a < o [ i ] . l e n g t h ; a + = 1 ) i f ( v o i d 0 ! = = o [ i ] [ a ] & & o [ i ] [ a ] ! = = t . c h a r C o d e A t ( a ) ) { s = ! 1 ; b r e a k } i f ( ! 0 = = = s ) { c = u ; b r e a k } } r e t u r n c = = = e & & n ! = = e & & ( c = n ) , c } , i = f u n c t i o n ( t ) { f o r ( v a r e = t h i s . i n t e r n a l . w r i t e , r = t h i s . i n t e r n a l . p u t S t r e a m , n = ( 0 , t h i s . i n t e r n a l . g e t F i l t e r s ) ( ) ; - 1 ! = = n . i n d e x O f ( " F l a t e E n c o d e " ) ; ) n . s p l i c e ( n . i n d e x O f ( " F l a t e E n c o d e " ) , 1 ) ; t . o b j e c t I d = t h i s . i n t e r n a l . n e w O b j e c t ( ) ; v a r a = [ ] ; i f ( a . p u s h ( { k e y : " T y p e " , v a l u e : " / X O b j e c t " } ) , a . p u s h ( { k e y : " S u b t y p e " , v a l u e : " / I m a g e " } ) , a . p u s h ( { k e y : " W i d t h " , v a l u e : t . w i d t h } ) , a . p u s h ( { k e y : " H e i g h t " , v a l u e : t . h e i g h t } ) , t . c o l o r S p a c e = = = b . I N D E X E D ? a . p u s h ( { k e y : " C o l o r S p a c e " , v a l u e : " [ / I n d e x e d / D e v i c e R G B " + ( t . p a l e t t e . l e n g t h / 3 - 1 ) + " " + ( " s M a s k " i n t & & v o i d 0 ! = = t . s M a s k ? t . o b j e c t I d + 2 : t . o b j e c t I d + 1 ) + " 0 R ] " } ) : ( a . p u s h ( { k e y : " C o l o r S p a c e " , v a l u e : " / " + t . c o l o r S p a c e } ) , t . c o l o r S p a c e = = = b . D E V I C E _ C M Y K & & a . p u s h ( { k e y : " D e c o d e " , v a l u e : " [ 1 0 1 0 1 0 1 0 ] " } ) ) , a . p u s h ( { k e y : " B i t s P e r C o m p o n e n t " , v a l u e : t . b i t s P e r C o m p o n e n t } ) , " d e c o d e P a r a m e t e r s " i n t & & v o i d 0 ! = = t . d e c o d e P a r a m e t e r s & & a . p u s h ( { k e y : " D e c o d e P a r m s " , v a l u e : " < < " + t . d e c o d e P a r a m e t e r s + " > > " } ) , " t r a n s p a r e n c y " i n t & & A r r a y . i s A r r a y ( t . t r a n s p a r e n c y ) ) { f o r ( v a r o = " " , s = 0 , u = t . t r a n s p a r e n c y . l e n g t h ; s < u ; s + + ) o + = t . t r a n s p a r e n c y [ s ] + " " + t . t r a n s p a r e n c y [ s ] + " " ; a . p u s h ( { k e y : " M a s k " , v a l u e : " [ " + o + " ] " } ) } v o i d 0 ! = = t . s M a s k & & a . p u s h ( { k e y : " S M a s k " , v a l u e : t . o b j e c t I d + 1 + " 0 R " } ) ; v a r c = v o i d 0 ! = = t . f i l t e r ? [ " / " + t . f i l t e r ] : v o i d 0 ; i f ( r ( { d a t a : t . d a t a , a d d i t i o n a l K e y V a l u e s : a , a l r e a d y A p p l i e d F i l t e r s : c , o b j e c t I d : t . o b j e c t I d } ) , e ( " e n d o b j " ) , " s M a s k " i n t & & v o i d 0 ! = = t . s M a s k ) { v a r l = " / P r e d i c t o r " + t . p r e d i c t o r + " / C o l o r s 1 / B i t s P e r C o m p o n e n t " + t . b i t s P e r C o m p o n e n t + " / C o l u m n s " + t . w i d t h , h = { w i d t h : t . w i d t h , h e i g h t : t . h e i g h t , c o l o r S p a c e : " D e v i c e G r a y " , b i t s P e r C o m p o n e n t : t . b i t s P e r C o m p o n e n t , d e c o d e P a r a m e t e r s : l , d a t a : t . s M a s k } ; " f i l t e r " i n t & & ( h . f i l t e r = t . f i l t e r ) , i . c a l l ( t h i s , h ) } i f ( t . c o l o r S p a c e = = = b . I N D E X E D ) { v a r f = t h i s . i n t e r n a l . n e w O b j e c t ( ) ; r ( { d a t a : _ ( n e w U i n t 8 A r r a y ( t . p a l e t t e ) ) , o b j e c t I d : f } ) , e ( " e n d o b j " ) } } , a = f u n c t i o n ( ) { v a r t = t h i s . i n t e r n a l . c o l l e c t i o n s . a d d I m a g e _ i m a g e s ; f o r ( v a r e i n t ) i . c a l l ( t h i s , t [ e ] ) } , o = f u n c t i o n ( ) { v a r t , e = t h i s . i n t e r n a l . c o l l e c t i o n s . a d d I m a g e _ i m a g e s , r = t h i s . i n t e r n a l . w r i t e ; f o r ( v a r n i n e ) r ( " / I " + ( t = e [ n ] ) . i n d e x , t . o b j e c t I d , " 0 " , " R " ) } , c = f u n c t i o n ( ) { t h i s . i n t e r n a l . c o l l e c t i o n s . a d d I m a g e _ i m a g e s | | ( t h i s . i n t e r n a l . c o l l e c t i o n s . a d d I m a g e _ i m a g e s = { } , t h i s . i n t e r n a l . e v e n t s . s u b s c r i b e ( " p u t R e s o u r c e s " , a ) , t h i s . i n t e r n a l . e v e n t s . s u b s c r i b e ( " p u t X o b j e c t D i c t " , o ) ) } , l = f u n c t i o n ( ) { v a r t = t h i s . i n t e r n a l . c o l l e c t i o n s . a d d I m a g e _ i m a g e s ; r e t u r n c . c a l l ( t h i s ) , t } , h = f u n c t i o n ( ) { r e t u r n O b j e c t . k e y s ( t h i s . i n t e r n a l . c o l l e c t i o n s . a d d I m a g e _ i m a g e s ) . l e n g t h } , f = f u n c t i o n ( e ) { r e t u r n " f u n c t i o n " = = t y p e o f t [ " p r o c e s s " + e . t o U p p e r C a s e ( ) ] } , d = f u n c t i o n ( t ) { r e t u r n " o b j e c t " = = t y p e o f t & & 1 = = = t . n o d e T y p e } , p = f u n c t i o n ( e , r ) { i f ( " I M G " = = = e . n o d e N a m e & & e . h a s A t t r i b u t e ( " s r c " ) ) { v a r n = " " + e . g e t A t t r i b u t e ( " s r c " ) ; i f ( 0 = = = n . i n d e x O f ( " d a t a : i m a g e / " ) ) r e t u r n s ( u n e s c a p e ( n ) . s p l i t ( " b a s e 6 4 , " ) . p o p ( ) ) ; v a r i = t . l o a d F i l e ( n , ! 0 ) ; i f ( v o i d 0 ! = = i ) r e t u r n i } i f ( " C A N V A S " = = = e . n o d e N a m e ) { v a r a ; s w i t c h ( r ) { c a s e " P N G " : a = " i m a g e / p n g " ; b r e a k ; c a s e " W E B P " : a = " i m a g e / w e b p " ; b r e a k ; c a s e " J P E G " : c a s e " J P G " : d e f a u l t : a = " i m a g e / j p e g " } r e t u r n s ( e . t o D a t a U R L ( a , 1 ) . s p l i t ( " b a s e 6 4 , " ) . p o p ( ) ) } } , g = f u n c t i o n ( t ) { v a r e = t h i s . i n t e r n a l . c o l l e c t i o n s . a d d I m a g e _ i m a g e s ; i f ( e ) f o r ( v a r r i n e ) i f ( t = = = e [ r ] . a l i a s ) r e t u r n e [ r ] } , m = f u n c t i o n ( t , e , r ) { r e t u r n t | | e | | ( t = - 9 6 , e = - 9 6 ) , t < 0 & & ( t = - 1 * r . w i d t h * 7 2 / t / t h i s . i n t e r n a l . s c a l e F a c t o r ) , e < 0 & & ( e = - 1 * r . h e i g h t * 7 2 / e / t h i s . i n t e r n a l . s c a l e F a c t o r ) , 0 = = = t & & ( t = e * r . w i d t h / r . h e i g h t ) , 0 = = = e & & ( e = t * r .
/ * *
* @ license
* Copyright ( c ) 2014 Steven Spungin ( TwelveTone LLC ) steven @ twelvetone . tv
*
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /
function ( t ) { var e = function ( t ) { if ( void 0 !== t && "" != t ) return ! 0 } ; j . API . events . push ( [ "addPage" , function ( t ) { this . internal . getPageInfo ( t . pageNumber ) . pageContext . annotations = [ ] } ] ) , t . events . push ( [ "putPage" , function ( t ) { for ( var r , n , i , a = this . internal . getCoordinateString , o = this . internal . getVerticalCoordinateString , s = this . internal . getPageInfoByObjId ( t . objId ) , u = t . pageContext . annotations , c = ! 1 , l = 0 ; l < u . length && ! c ; l ++ ) switch ( ( r = u [ l ] ) . type ) { case "link" : ( e ( r . options . url ) || e ( r . options . pageNumber ) ) && ( c = ! 0 ) ; break ; case "reference" : case "text" : case "freetext" : c = ! 0 } if ( 0 != c ) { this . internal . write ( "/Annots [" ) ; for ( var h = 0 ; h < u . length ; h ++ ) { r = u [ h ] ; var f = this . internal . pdfEscape , d = this . internal . getEncryptor ( t . objId ) ; switch ( r . type ) { case "reference" : this . internal . write ( " " + r . object . objId + " 0 R " ) ; break ; case "text" : var p = this . internal . newAdditionalObject ( ) , g = this . internal . newAdditionalObject ( ) , m = this . internal . getEncryptor ( p . objId ) , v = r . title || "Note" ; i = "<</Type /Annot /Subtype /Text " + ( n = "/Rect [" + a ( r . bounds . x ) + " " + o ( r . bounds . y + r . bounds . h ) + " " + a ( r . bounds . x + r . bounds . w ) + " " + o ( r . bounds . y ) + "] " ) + "/Contents (" + f ( m ( r . contents ) ) + ")" , i += " /Popup " + g . objId + " 0 R" , i += " /P " + s . objId + " 0 R" , i += " /T (" + f ( m ( v ) ) + ") >>" , p . content = i ; var b = p . objId + " 0 R" ; i = "<</Type /Annot /Subtype /Popup " + ( n = "/Rect [" + a ( r . bounds . x + 30 ) + " " + o ( r . bounds . y + r . bounds . h ) + " " + a ( r . bounds . x + r . bounds . w + 30 ) + " " + o ( r . bounds . y ) + "] " ) + " /Parent " + b , r . open && ( i += " /Open true" ) , i += " >>" , g . content = i , this . internal . write ( p . objId , "0 R" , g . objId , "0 R" ) ; break ; case "freetext" : n = "/Rect [" + a ( r . bounds . x ) + " " + o ( r . bounds . y ) + " " + a ( r . bounds . x + r . bounds . w ) + " " + o ( r . bounds . y + r . bounds . h ) + "] " ; var y = r . color || "#000000" ; i = "<</Type /Annot /Subtype /FreeText " + n + "/Contents (" + f ( d ( r . contents ) ) + ")" , i += " /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#" + y + ")" , i += " /Border [0 0 0]" , i += " >>" , this . internal . write ( i ) ; break ; case "link" : if ( r . options . name ) { var w = this . annotations . _nameMap [ r . options . name ] ; r . options . pageNumber = w . page , r . options . top = w . y } else r . options . top || ( r . options . top = 0 ) ; if ( n = "/Rect [" + r . finalBounds . x + " " + r . finalBounds . y + " " + r . finalBounds . w + " " + r . finalBounds . h + "] " , i = "" , r . options . url ) i = "<</Type /Annot /Subtype /Link " + n + "/Border [0 0 0] /A <</S /URI /URI (" + f ( d ( r . options . url ) ) + ") >>" ; else if ( r . options . pageNumber ) { switch ( i = "<</Type /Annot /Subtype /Link " + n + "/Border [0 0 0] /Dest [" + this . internal . getPageInfo ( r . options . pageNumber ) . objId + " 0 R" , r . options . magFactor = r . options . magFactor || "XYZ" , r . options . magFactor ) { case "Fit" : i += " /Fit]" ; break ; case "FitH" : i += " /FitH " + r . options . top + "]" ; break ; case "FitV" : r . options . left = r . options . left || 0 , i += " /FitV " + r . options . left + "]" ; break ; case "XYZ" : default : var N = o ( r . options . top ) ; r . options . left = r . options . left || 0 , void 0 === r . options . zoom && ( r . options . zoom = 0 ) , i += " /XYZ " + r . options . left + " " + N + " " + r . options . zoom + "]" } } "" != i && ( i += " >>" , this . internal . write ( i ) ) } } this . internal . write ( "]" ) } } ] ) , t . createAnnotation = function ( t ) { var e = this . internal . getCurrentPageInfo ( ) ; switch ( t . type ) { case "link" : this . link ( t . bounds . x , t . bounds . y , t . bounds . w , t . bounds . h , t ) ; break ; case "text" : case "freetext" : e . pageContext . annotations . push ( t ) } } , t . link = function ( t , e , r , n , i ) { var a = this . internal . getCurrentPageInfo ( ) , o = this . internal . getCoordinateString , s = this . internal . getVerticalCoordinateString ; a . pageContext . annotations . push ( { finalBounds : { x : o ( t ) , y : s ( e ) , w : o ( t + r ) , h : s ( e + n ) } , options : i , type : "link" } ) } , t . textWithLink = function ( t , e , r , n ) { var i = this . getTextWidth ( t ) , a = this . internal . getLineHeight ( ) / this . internal . scaleFactor ; return this . text ( t , e , r , n ) , r += . 2 * a , "center" === n . align && ( e -= i / 2 ) , "right" === n . align && ( e -= i ) , this . link ( e , r - a , i , a , n ) , i } , t . getTextWidth = function ( t ) { var e = this . internal . getFontSize ( ) ; return this . getStringUnitWidth ( t ) * e / this . internal . scaleFactor } } ( j . API ) ,
/ * *
* @ license
* Copyright ( c ) 2017 Aras Abbasi
*
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /
function ( t ) { var e = { 1569 : [ 65152 ] , 1570 : [ 65153 , 65154 ] , 1571 : [ 65155 , 65156 ] , 1572 : [ 65157 , 65158 ] , 1573 : [ 65159 , 65160 ] , 1574 : [ 65161 , 65162 , 65163 , 65164 ] , 1575 : [ 65165 , 65166 ] , 1576 : [ 65167 , 65168 , 65169 , 65170 ] , 1577 : [ 65171 , 65172 ] , 1578 : [ 65173 , 65174 , 65175 , 65176 ] , 1579 : [ 65177 , 65178 , 65179 , 65180 ] , 1580 : [ 65181 , 65182 , 65183 , 65184 ] , 1581 : [ 65185 , 65186 , 65187 , 65188 ] , 1582 : [ 65189 , 65190 , 65191 , 65192 ] , 1583 : [ 65193 , 65194 ] , 1584 : [ 65195 , 65196 ] , 1585 : [ 65197 , 65198 ] , 1586 : [ 65199 , 65200 ] , 1587 : [ 65201 , 65202 , 65203 , 65204 ] , 1588 : [ 65205 , 65206 , 65207 , 65208 ] , 1589 : [ 65209 , 65210 , 65211 , 65212 ] , 1590 : [ 65213 , 65214 , 65215 , 65216 ] , 1591 : [ 65217 , 65218 , 65219 , 65220 ] , 1592 : [ 65221 , 65222 , 65223 , 65224 ] , 1593 : [ 65225 , 65226 , 65227 , 65228 ] , 1594 : [ 65229 , 65230 , 65231 , 65232 ] , 1601 : [ 65233 , 65234 , 65235 , 65236 ] , 1602 : [ 65237 , 65238 , 65239 , 65240 ] , 1603 : [ 65241 , 65242 , 65243 , 65244 ] , 1604 : [ 65245 , 65246 , 65247 , 65248 ] , 1605 : [ 65249 , 65250 , 65251 , 65252 ] , 1606 : [ 65253 , 65254 , 65255 , 65256 ] , 1607 : [ 65257 , 65258 , 65259 , 65260 ] , 1608 : [ 65261 , 65262 ] , 1609 : [ 65263 , 65264 , 64488 , 64489 ] , 1610 : [ 65265 , 65266 , 65267 , 65268 ] , 1649 : [ 64336 , 64337 ] , 1655 : [ 64477 ] , 1657 : [ 64358 , 64359 , 64360 , 64361 ] , 1658 : [ 64350 , 64351 , 64352 , 64353 ] , 1659 : [ 64338 , 64339 , 64340 , 64341 ] , 1662 : [ 64342 , 64343 , 64344 , 64345 ] , 1663 : [ 64354 , 64355 , 64356 , 64357 ] , 1664 : [ 64346 , 64347 , 64348 , 64349 ] , 1667 : [ 64374 , 64375 , 64376 , 64377 ] , 1668 : [ 64370 , 64371 , 64372 , 64373 ] , 1670 : [ 64378 , 64379 , 64380 , 64381 ] , 1671 : [ 64382 , 64383 , 64384 , 64385 ] , 1672 : [ 64392 , 64393 ] , 1676 : [ 64388 , 64389 ] , 1677 : [ 64386 , 64387 ] , 1678 : [ 64390 , 64391 ] , 1681 : [ 64396 , 64397 ] , 1688 : [ 64394 , 64395 ] , 1700 : [ 64362 , 64363 , 64364 , 64365 ] , 1702 : [ 64366 , 64367 , 64368 , 64369 ] , 1705 : [ 64398 , 64399 , 64400 , 64401 ] , 1709 : [ 64467 , 64468 , 64469 , 64470 ] , 1711 : [ 64402 , 64403 , 64404 , 64405 ] , 1713 : [ 64410 , 64411 , 64412 , 64413 ] , 1715 : [ 64406 , 64407 , 64408 , 64409 ] , 1722 : [ 64414 , 64415 ] , 1723 : [ 64416 , 64417 , 64418 , 64419 ] , 1726 : [ 64426 , 64427 , 64428 , 64429 ] , 1728 : [ 64420 , 64421 ] , 1729 : [ 64422 , 64423 , 64424 , 64425 ] , 1733 : [ 64480 , 64481 ] , 1734 : [ 64473 , 64474 ] , 1735 : [ 64471 , 64472 ] , 1736 : [ 64475 , 64476 ] , 1737 : [ 64482 , 64483 ] , 1739 : [ 64478 , 64479 ] , 1740 : [ 64508 , 64509 , 64510 , 64511 ] , 1744 : [ 64484 , 64485 , 64486 , 64487 ] , 1746 : [ 64430 , 64431 ] , 1747 : [ 64432 , 64433 ] } , r = { 65247 : { 65154 : 65269 , 65156 : 65271 , 65160 : 65273 , 65166 : 65275 } , 65248 : { 65154 : 65270 , 65156 : 65272 , 65160 : 65274 , 65166 : 65276 } , 65165 : { 65247 : { 65248 : { 65258 : 65010 } } } , 1617 : { 1612 : 64606 , 1613 : 64607 , 1614 : 64608 , 1615 : 64609 , 1616 : 64610 } } , n = { 1612 : 64606 , 1613 : 64607 , 1614 : 64608 , 1615 : 64609 , 1616 : 64610 } , i = [ 1570 , 1571 , 1573 , 1575 ] ; t . _ _arabicParser _ _ = { } ; var a = t . _ _arabicParser _ _ . isInArabicSubstitutionA = function ( t ) { return void 0 !== e [ t . charCodeAt ( 0 ) ] } , o = t . _ _arabicParser _ _ . isArabicLetter = function ( t ) { return "string" == typeof t && /^[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF]+$/ . test ( t ) } , s = t . _ _arabicParser _ _ . isArabicEndLetter = function ( t ) { return o ( t ) && a ( t ) && e [ t . charCodeAt ( 0 ) ] . length <= 2 } , u = t . _ _arabicParser _ _ . isArabicAlfLetter = function ( t ) { return o ( t ) && i . indexOf ( t . charCodeAt ( 0 ) ) >= 0 } ; t . _ _arabicParser _ _ . arabicLetterHasIsolatedForm = function ( t ) { return o ( t ) && a ( t ) && e [ t . charCodeAt ( 0 ) ] . length >= 1 } ; var c = t . _ _arabicParser _ _ . arabicLetterHasFinalForm = function ( t ) { return o ( t ) && a ( t ) && e [ t . charCodeAt ( 0 ) ] . length >= 2 } ; t . _ _arabicParser _ _ . arabicLetterHasInitialForm = function ( t ) { return o ( t ) && a ( t ) && e [ t . charCodeAt ( 0 ) ] . length >= 3 } ; var l = t . _ _arabicParser _ _ . arabicLetterHasMedialForm = function ( t ) { return o ( t ) && a ( t ) && 4 == e [ t . charCodeAt ( 0 ) ] . length } , h = t . _ _arabicParser _ _ . resolveLigatures = function ( t ) { var e = 0 , n = r , i = "" , a = 0 ; for ( e = 0 ; e < t . length ; e += 1 ) void 0 !== n [ t . charCodeAt ( e ) ] ? ( a ++ , "number" == typeof ( n = n [ t . charCodeAt ( e ) ] ) && ( i += String . fromCharCode ( n ) , n = r , a = 0 ) , e === t . length - 1 && ( n = r , i += t . charAt ( e - ( a - 1 ) ) , e -= a - 1 , a = 0 ) ) : ( n = r , i += t . charAt ( e - a ) , e -= a , a = 0 ) ; return i } ; t . _ _arabicParser _ _ . isArabicDiacritic = function ( t ) { return void 0 !== t && void 0 !== n [ t . charCodeAt ( 0 ) ] } ; var f = t . _ _arabicParser _ _ . getCorrectForm = function ( t , e , r ) { return o ( t ) ? ! 1 === a ( t ) ? - 1 : ! c ( t ) || ! o ( e ) && ! o ( r ) || ! o ( r ) && s ( e ) || s ( t ) && ! o ( e ) || s ( t ) && u ( e ) || s ( t ) && s ( e ) ? 0 : l ( t ) && o ( e ) && ! s ( e ) && o ( r ) && c ( r ) ? 3 : s ( t ) || ! o ( r ) ? 1 : 2 : - 1 } , d = function ( t ) { var r = 0 , n = 0 , i = 0 , a = "" , s = "" , u = "" , c = ( t = t || "" ) . split ( "\\s+" ) , l = [ ] ; for ( r = 0 ; r < c . length ; r += 1 ) { for ( l . push ( "" ) , n = 0 ; n < c [ r ] . length ; n += 1 ) a = c [ r ] [ n ] , s = c [ r ] [ n - 1 ] , u = c [ r ] [ n + 1 ] , o ( a ) ? ( i = f ( a , s , u ) , l [ r ] += - 1 !== i ? String . fromCharCode ( e [ a . charCodeAt ( 0 ) ] [ i ] ) : a ) : l [ r ] += a ; l [ r ] = h ( l [ r ] ) } return l . join
/ * * @ l i c e n s e
* jsPDF Autoprint Plugin
*
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /
function ( t ) { t . autoPrint = function ( t ) { var e ; switch ( ( t = t || { } ) . variant = t . variant || "non-conform" , t . variant ) { case "javascript" : this . addJS ( "print({});" ) ; break ; case "non-conform" : default : this . internal . events . subscribe ( "postPutResources" , ( function ( ) { e = this . internal . newObject ( ) , this . internal . out ( "<<" ) , this . internal . out ( "/S /Named" ) , this . internal . out ( "/Type /Action" ) , this . internal . out ( "/N /Print" ) , this . internal . out ( ">>" ) , this . internal . out ( "endobj" ) } ) ) , this . internal . events . subscribe ( "putCatalog" , ( function ( ) { this . internal . out ( "/OpenAction " + e + " 0 R" ) } ) ) } return this } } ( j . API ) ,
/ * *
* @ license
* Copyright ( c ) 2014 Steven Spungin ( TwelveTone LLC ) steven @ twelvetone . tv
*
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /
function ( t ) { var e = function ( ) { var t = void 0 ; Object . defineProperty ( this , "pdf" , { get : function ( ) { return t } , set : function ( e ) { t = e } } ) ; var e = 150 ; Object . defineProperty ( this , "width" , { get : function ( ) { return e } , set : function ( t ) { e = isNaN ( t ) || ! 1 === Number . isInteger ( t ) || t < 0 ? 150 : t , this . getContext ( "2d" ) . pageWrapXEnabled && ( this . getContext ( "2d" ) . pageWrapX = e + 1 ) } } ) ; var r = 300 ; Object . defineProperty ( this , "height" , { get : function ( ) { return r } , set : function ( t ) { r = isNaN ( t ) || ! 1 === Number . isInteger ( t ) || t < 0 ? 300 : t , this . getContext ( "2d" ) . pageWrapYEnabled && ( this . getContext ( "2d" ) . pageWrapY = r + 1 ) } } ) ; var n = [ ] ; Object . defineProperty ( this , "childNodes" , { get : function ( ) { return n } , set : function ( t ) { n = t } } ) ; var i = { } ; Object . defineProperty ( this , "style" , { get : function ( ) { return i } , set : function ( t ) { i = t } } ) , Object . defineProperty ( this , "parentNode" , { } ) } ; e . prototype . getContext = function ( t , e ) { var r ; if ( "2d" !== ( t = t || "2d" ) ) return null ; for ( r in e ) this . pdf . context2d . hasOwnProperty ( r ) && ( this . pdf . context2d [ r ] = e [ r ] ) ; return this . pdf . context2d . _canvas = this , this . pdf . context2d } , e . prototype . toDataURL = function ( ) { throw new Error ( "toDataURL is not implemented." ) } , t . events . push ( [ "initialized" , function ( ) { this . canvas = new e , this . canvas . pdf = this } ] ) } ( j . API ) ,
/ * *
* @ license
* === === === === === === === === === === === === === === === === === === === === === === ==
* Copyright ( c ) 2013 Youssef Beddad , youssef . beddad @ gmail . com
* 2013 Eduardo Menezes de Morais , eduardo . morais @ usp . br
* 2013 Lee Driscoll , https : //github.com/lsdriscoll
* 2014 Juan Pablo Gaviria , https : //github.com/juanpgaviria
* 2014 James Hall , james @ parall . ax
* 2014 Diego Casorran , https : //github.com/diegocr
*
* Permission is hereby granted , free of charge , to any person obtaining
* a copy of this software and associated documentation files ( the
* "Software" ) , to deal in the Software without restriction , including
* without limitation the rights to use , copy , modify , merge , publish ,
* distribute , sublicense , and / or sell copies of the Software , and to
* permit persons to whom the Software is furnished to do so , subject to
* the following conditions :
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND ,
* EXPRESS OR IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT . IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM , DAMAGES OR OTHER LIABILITY , WHETHER IN AN ACTION
* OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE .
* === === === === === === === === === === === === === === === === === === === === === === ==
* /
function ( t ) { var e = { left : 0 , top : 0 , bottom : 0 , right : 0 } , r = ! 1 , n = function ( ) { void 0 === this . internal . _ _cell _ _ && ( this . internal . _ _cell _ _ = { } , this . internal . _ _cell _ _ . padding = 3 , this . internal . _ _cell _ _ . headerFunction = void 0 , this . internal . _ _cell _ _ . margins = Object . assign ( { } , e ) , this . internal . _ _cell _ _ . margins . width = this . getPageWidth ( ) , i . call ( this ) ) } , i = function ( ) { this . internal . _ _cell _ _ . lastCell = new a , this . internal . _ _cell _ _ . pages = 1 } , a = function ( ) { var t = arguments [ 0 ] ; Object . defineProperty ( this , "x" , { enumerable : ! 0 , get : function ( ) { return t } , set : function ( e ) { t = e } } ) ; var e = arguments [ 1 ] ; Object . defineProperty ( this , "y" , { enumerable : ! 0 , get : function ( ) { return e } , set : function ( t ) { e = t } } ) ; var r = arguments [ 2 ] ; Object . defineProperty ( this , "width" , { enumerable : ! 0 , get : function ( ) { return r } , set : function ( t ) { r = t } } ) ; var n = arguments [ 3 ] ; Object . defineProperty ( this , "height" , { enumerable : ! 0 , get : function ( ) { return n } , set : function ( t ) { n = t } } ) ; var i = arguments [ 4 ] ; Object . defineProperty ( this , "text" , { enumerable : ! 0 , get : function ( ) { return i } , set : function ( t ) { i = t } } ) ; var a = arguments [ 5 ] ; Object . defineProperty ( this , "lineNumber" , { enumerable : ! 0 , get : function ( ) { return a } , set : function ( t ) { a = t } } ) ; var o = arguments [ 6 ] ; return Object . defineProperty ( this , "align" , { enumerable : ! 0 , get : function ( ) { return o } , set : function ( t ) { o = t } } ) , this } ; a . prototype . clone = function ( ) { return new a ( this . x , this . y , this . width , this . height , this . text , this . lineNumber , this . align ) } , a . prototype . toArray = function ( ) { return [ this . x , this . y , this . width , this . height , this . text , this . lineNumber , this . align ] } , t . setHeaderFunction = function ( t ) { return n . call ( this ) , this . internal . _ _cell _ _ . headerFunction = "function" == typeof t ? t : void 0 , this } , t . getTextDimensions = function ( t , e ) { n . call ( this ) ; var r = ( e = e || { } ) . fontSize || this . getFontSize ( ) , i = e . font || this . getFont ( ) , a = e . scaleFactor || this . internal . scaleFactor , o = 0 , s = 0 , u = 0 , c = this ; if ( ! Array . isArray ( t ) && "string" != typeof t ) { if ( "number" != typeof t ) throw new Error ( "getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings." ) ; t = String ( t ) } const l = e . maxWidth ; l > 0 ? "string" == typeof t ? t = this . splitTextToSize ( t , l ) : "[object Array]" === Object . prototype . toString . call ( t ) && ( t = t . reduce ( ( function ( t , e ) { return t . concat ( c . splitTextToSize ( e , l ) ) } ) , [ ] ) ) : t = Array . isArray ( t ) ? t : [ t ] ; for ( var h = 0 ; h < t . length ; h ++ ) o < ( u = this . getStringUnitWidth ( t [ h ] , { font : i } ) * r ) && ( o = u ) ; return 0 !== o && ( s = t . length ) , { w : o /= a , h : Math . max ( ( s * r * this . getLineHeightFactor ( ) - r * ( this . getLineHeightFactor ( ) - 1 ) ) / a , 0 ) } } , t . cellAddPage = function ( ) { n . call ( this ) , this . addPage ( ) ; var t = this . internal . _ _cell _ _ . margins || e ; return this . internal . _ _cell _ _ . lastCell = new a ( t . left , t . top , void 0 , void 0 ) , this . internal . _ _cell _ _ . pages += 1 , this } ; var o = t . cell = function ( ) { var t ; t = arguments [ 0 ] instanceof a ? arguments [ 0 ] : new a ( arguments [ 0 ] , arguments [ 1 ] , arguments [ 2 ] , arguments [ 3 ] , arguments [ 4 ] , arguments [ 5 ] ) , n . call ( this ) ; var i = this . internal . _ _cell _ _ . lastCell , o = this . internal . _ _cell _ _ . padding , s = this . internal . _ _cell _ _ . margins || e , u = this . internal . _ _cell _ _ . tableHeaderRow , c = this . internal . _ _cell _ _ . printHeaders ; return void 0 !== i . lineNumber && ( i . lineNumber === t . lineNumber ? ( t . x = ( i . x || 0 ) + ( i . width || 0 ) , t . y = i . y || 0 ) : i . y + i . height + t . height + s . bottom > this . getPageHeight ( ) ? ( this . cellAddPage ( ) , t . y = s . top , c && u && ( this . printHeaderRow ( t . lineNumber , ! 0 ) , t . y += u [ 0 ] . height ) ) : t . y = i . y + i . height || t . y ) , void 0 !== t . text [ 0 ] && ( this . rect ( t . x , t . y , t . width , t . height , ! 0 === r ? "FD" : void 0 ) , "right" === t . align ? this . text ( t . text , t . x + t . width - o , t . y + o , { align : "right" , baseline : "top" } ) : "center" === t . align ? this . text ( t . text , t . x + t . width / 2 , t . y + o , { align : "center" , baseline : "top" , maxWidth : t . width - o - o } ) : this . text ( t . text , t . x + o , t . y + o , { align : "left" , baseline : "top" , maxWidth : t . width - o - o } ) ) , this . internal . _ _cell _ _ . lastCell = t , this } ; t . table = function ( t , r , u , c , l ) { if ( n . call ( this ) , ! u ) throw new Error ( "No data for PDF table." ) ; var h , f , d , p , g = [ ] , m = [ ] , v = [ ] , b = { } , y = { } , w = [ ] , N = [ ] , A = ( l = l || { } ) . autoSize || ! 1 , L = ! 1 !== l . printHeaders , x = l . css && void 0 !== l . css [ "font-size" ] ? 16 * l . css [ "font-size" ] : l . fontSize || 12 , S = l . margins || Object . assign ( { width : this . getPageWidth ( ) } , e ) , _ = "number" == typeof l . padding ? l . padding : 3 , P = l . headerBackgroundColor || "#c8c8c8" ; if ( i . call ( this ) , this . internal . _ _cell _ _ . printHeaders = L , this . internal . _ _cell
/ * *
* @ license
* jsPDF filters PlugIn
* Copyright ( c ) 2014 Aras Abbasi
*
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /!function(t){var e=function(t){var e,r,n,i,a,o,s,u,c,l;for(/ [ ^ \ x00 - \ xFF ] / . test ( t ) , r = [ ] , n = 0 , i = ( t += e = "\0\0\0\0" . slice ( t . length % 4 || 4 ) ) . length ; i > n ; n += 4 ) 0 !== ( a = ( t . charCodeAt ( n ) << 24 ) + ( t . charCodeAt ( n + 1 ) << 16 ) + ( t . charCodeAt ( n + 2 ) << 8 ) + t . charCodeAt ( n + 3 ) ) ? ( o = ( a = ( ( a = ( ( a = ( ( a = ( a - ( l = a % 85 ) ) / 85 ) - ( c = a % 85 ) ) / 85 ) - ( u = a % 85 ) ) / 85 ) - ( s = a % 85 ) ) / 85 ) % 85 , r . push ( o + 33 , s + 33 , u + 33 , c + 33 , l + 33 ) ) : r . push ( 122 ) ; return function ( t , e ) { for ( var r = e ; r > 0 ; r -- ) t . pop ( ) } ( r , e . length ) , String . fromCharCode . apply ( String , r ) + "~>" } , r = function ( t ) { var e , r , n , i , a , o = String , s = "length" , u = 255 , c = "charCodeAt" , l = "slice" , h = "replace" ; for ( t [ l ] ( - 2 ) , t = t [ l ] ( 0 , - 2 ) [ h ] ( /\s/g , "" ) [ h ] ( "z" , "!!!!!" ) , n = [ ] , i = 0 , a = ( t += e = "uuuuu" [ l ] ( t [ s ] % 5 || 5 ) ) [ s ] ; a > i ; i += 5 ) r = 52200625 * ( t [ c ] ( i ) - 33 ) + 614125 * ( t [ c ] ( i + 1 ) - 33 ) + 7225 * ( t [ c ] ( i + 2 ) - 33 ) + 85 * ( t [ c ] ( i + 3 ) - 33 ) + ( t [ c ] ( i + 4 ) - 33 ) , n . push ( u & r >> 24 , u & r >> 16 , u & r >> 8 , u & r ) ; return function ( t , e ) { for ( var r = e ; r > 0 ; r -- ) t . pop ( ) } ( n , e [ s ] ) , o . fromCharCode . apply ( o , n ) } , n = function ( t ) { var e = new RegExp ( /^([0-9A-Fa-f]{2})+$/ ) ; if ( - 1 !== ( t = t . replace ( /\s/g , "" ) ) . indexOf ( ">" ) && ( t = t . substr ( 0 , t . indexOf ( ">" ) ) ) , t . length % 2 && ( t += "0" ) , ! 1 === e . test ( t ) ) return "" ; for ( var r = "" , n = 0 ; n < t . length ; n += 2 ) r += String . fromCharCode ( "0x" + ( t [ n ] + t [ n + 1 ] ) ) ; return r } , i = function ( t ) { for ( var e = new Uint8Array ( t . length ) , r = t . length ; r -- ; ) e [ r ] = t . charCodeAt ( r ) ; return t = ( e = Le ( e ) ) . reduce ( ( function ( t , e ) { return t + String . fromCharCode ( e ) } ) , "" ) } ; t . processDataByFilters = function ( t , a ) { var o = 0 , s = t || "" , u = [ ] ; for ( "string" == typeof ( a = a || [ ] ) && ( a = [ a ] ) , o = 0 ; o < a . length ; o += 1 ) switch ( a [ o ] ) { case "ASCII85Decode" : case "/ASCII85Decode" : s = r ( s ) , u . push ( "/ASCII85Encode" ) ; break ; case "ASCII85Encode" : case "/ASCII85Encode" : s = e ( s ) , u . push ( "/ASCII85Decode" ) ; break ; case "ASCIIHexDecode" : case "/ASCIIHexDecode" : s = n ( s ) , u . push ( "/ASCIIHexEncode" ) ; break ; case "ASCIIHexEncode" : case "/ASCIIHexEncode" : s = s . split ( "" ) . map ( ( function ( t ) { return ( "0" + t . charCodeAt ( ) . toString ( 16 ) ) . slice ( - 2 ) } ) ) . join ( "" ) + ">" , u . push ( "/ASCIIHexDecode" ) ; break ; case "FlateEncode" : case "/FlateEncode" : s = i ( s ) , u . push ( "/FlateDecode" ) ; break ; default : throw new Error ( 'The filter: "' + a [ o ] + '" is not implemented' ) } return { data : s , reverseChain : u . reverse ( ) . join ( " " ) } } } ( j . API ) ,
/ * *
* @ license
* jsPDF fileloading PlugIn
* Copyright ( c ) 2018 Aras Abbasi ( aras . abbasi @ gmail . com )
*
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /
function ( t ) { t . loadFile = function ( t , e , r ) { return function ( t , e , r ) { e = ! 1 !== e , r = "function" == typeof r ? r : function ( ) { } ; var n = void 0 ; try { n = function ( t , e , r ) { var n = new XMLHttpRequest , i = 0 , a = function ( t ) { var e = t . length , r = [ ] , n = String . fromCharCode ; for ( i = 0 ; i < e ; i += 1 ) r . push ( n ( 255 & t . charCodeAt ( i ) ) ) ; return r . join ( "" ) } ; if ( n . open ( "GET" , t , ! e ) , n . overrideMimeType ( "text/plain; charset=x-user-defined" ) , ! 1 === e && ( n . onload = function ( ) { 200 === n . status ? r ( a ( this . responseText ) ) : r ( void 0 ) } ) , n . send ( null ) , e && 200 === n . status ) return a ( n . responseText ) } ( t , e , r ) } catch ( t ) { } return n } ( t , e , r ) } , t . loadImageFile = t . loadFile } ( j . API ) ,
/ * *
* @ license
* Copyright ( c ) 2018 Erik Koopmans
* Released under the MIT License .
*
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /
function ( r ) { function n ( ) { return ( e . html2canvas ? Promise . resolve ( e . html2canvas ) : "object" == typeof t && "undefined" != typeof module ? new Promise ( ( function ( t , e ) { try { t ( require ( "html2canvas" ) ) } catch ( t ) { e ( t ) } } ) ) : "function" == typeof define && define . amd ? new Promise ( ( function ( t , e ) { try { require ( [ "html2canvas" ] , t ) } catch ( t ) { e ( t ) } } ) ) : Promise . reject ( new Error ( "Could not load html2canvas" ) ) ) . catch ( ( function ( t ) { return Promise . reject ( new Error ( "Could not load html2canvas: " + t ) ) } ) ) . then ( ( function ( t ) { return t . default ? t . default : t } ) ) } function i ( ) { return ( e . DOMPurify ? Promise . resolve ( e . DOMPurify ) : "object" == typeof t && "undefined" != typeof module ? new Promise ( ( function ( t , e ) { try { t ( require ( "dompurify" ) ) } catch ( t ) { e ( t ) } } ) ) : "function" == typeof define && define . amd ? new Promise ( ( function ( t , e ) { try { require ( [ "dompurify" ] , t ) } catch ( t ) { e ( t ) } } ) ) : Promise . reject ( new Error ( "Could not load dompurify" ) ) ) . catch ( ( function ( t ) { return Promise . reject ( new Error ( "Could not load dompurify: " + t ) ) } ) ) . then ( ( function ( t ) { return t . default ? t . default : t } ) ) } var a = function ( t ) { var e = typeof t ; return "undefined" === e ? "undefined" : "string" === e || t instanceof String ? "string" : "number" === e || t instanceof Number ? "number" : "function" === e || t instanceof Function ? "function" : t && t . constructor === Array ? "array" : t && 1 === t . nodeType ? "element" : "object" === e ? "object" : "unknown" } , o = function ( t , e ) { var r = document . createElement ( t ) ; for ( var n in e . className && ( r . className = e . className ) , e . innerHTML && e . dompurify && ( r . innerHTML = e . dompurify . sanitize ( e . innerHTML ) ) , e . style ) r . style [ n ] = e . style [ n ] ; return r } , s = function ( t , e ) { for ( var r = 3 === t . nodeType ? document . createTextNode ( t . nodeValue ) : t . cloneNode ( ! 1 ) , n = t . firstChild ; n ; n = n . nextSibling ) ! 0 !== e && 1 === n . nodeType && "SCRIPT" === n . nodeName || r . appendChild ( s ( n , e ) ) ; return 1 === t . nodeType && ( "CANVAS" === t . nodeName ? ( r . width = t . width , r . height = t . height , r . getContext ( "2d" ) . drawImage ( t , 0 , 0 ) ) : "TEXTAREA" !== t . nodeName && "SELECT" !== t . nodeName || ( r . value = t . value ) , r . addEventListener ( "load" , ( function ( ) { r . scrollTop = t . scrollTop , r . scrollLeft = t . scrollLeft } ) , ! 0 ) ) , r } , u = function t ( e ) { var r = Object . assign ( t . convert ( Promise . resolve ( ) ) , JSON . parse ( JSON . stringify ( t . template ) ) ) , n = t . convert ( Promise . resolve ( ) , r ) ; return n = ( n = n . setProgress ( 1 , t , 1 , [ t ] ) ) . set ( e ) } ; ( u . prototype = Object . create ( Promise . prototype ) ) . constructor = u , u . convert = function ( t , e ) { return t . _ _proto _ _ = e || u . prototype , t } , u . template = { prop : { src : null , container : null , overlay : null , canvas : null , img : null , pdf : null , pageSize : null , callback : function ( ) { } } , progress : { val : 0 , state : null , n : 0 , stack : [ ] } , opt : { filename : "file.pdf" , margin : [ 0 , 0 , 0 , 0 ] , enableLinks : ! 0 , x : 0 , y : 0 , html2canvas : { } , jsPDF : { } , backgroundColor : "transparent" } } , u . prototype . from = function ( t , e ) { return this . then ( ( function ( ) { switch ( e = e || function ( t ) { switch ( a ( t ) ) { case "string" : return "string" ; case "element" : return "canvas" === t . nodeName . toLowerCase ( ) ? "canvas" : "element" ; default : return "unknown" } } ( t ) ) { case "string" : return this . then ( i ) . then ( ( function ( e ) { return this . set ( { src : o ( "div" , { innerHTML : t , dompurify : e } ) } ) } ) ) ; case "element" : return this . set ( { src : t } ) ; case "canvas" : return this . set ( { canvas : t } ) ; case "img" : return this . set ( { img : t } ) ; default : return this . error ( "Unknown source type." ) } } ) ) } , u . prototype . to = function ( t ) { switch ( t ) { case "container" : return this . toContainer ( ) ; case "canvas" : return this . toCanvas ( ) ; case "img" : return this . toImg ( ) ; case "pdf" : return this . toPdf ( ) ; default : return this . error ( "Invalid target." ) } } , u . prototype . toContainer = function ( ) { return this . thenList ( [ function ( ) { return this . prop . src || this . error ( "Cannot duplicate - no source HTML." ) } , function ( ) { return this . prop . pageSize || this . setPageSize ( ) } ] ) . then ( ( function ( ) { var t = { position : "relative" , display : "inline-block" , width : Math . max ( this . prop . src . clientWidth , this . prop . src . scrollWidth , this . prop . src . offsetWidth ) + "px" , left : 0 , right : 0 , top : 0 , margin : "auto" , backgroundColor : this . opt . backgroundColor } , e = s ( this . prop . src , this . opt . html2canvas . javascriptEnabled ) ; "BODY" === e . tagName && ( t . height = Math . max ( document . body . scrollHeight , document . body . offsetHeight , document . documentElement . clientHeight , document . documentElement . scrollHeight , document . documentElement . offsetHeight ) + "px" ) , this . prop . overlay = o ( "div" , { className : "html2pdf__overlay" , style : { position : "
/ * *
* @ license
* === === === === === === === === === === === === === === === === === === === === === === ==
* Copyright ( c ) 2013 Youssef Beddad , youssef . beddad @ gmail . com
*
* Permission is hereby granted , free of charge , to any person obtaining
* a copy of this software and associated documentation files ( the
* "Software" ) , to deal in the Software without restriction , including
* without limitation the rights to use , copy , modify , merge , publish ,
* distribute , sublicense , and / or sell copies of the Software , and to
* permit persons to whom the Software is furnished to do so , subject to
* the following conditions :
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND ,
* EXPRESS OR IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT . IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM , DAMAGES OR OTHER LIABILITY , WHETHER IN AN ACTION
* OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE .
* === === === === === === === === === === === === === === === === === === === === === === ==
* /
function ( t ) { var e , r , n ; t . addJS = function ( t ) { return n = t , this . internal . events . subscribe ( "postPutResources" , ( function ( ) { e = this . internal . newObject ( ) , this . internal . out ( "<<" ) , this . internal . out ( "/Names [(EmbeddedJS) " + ( e + 1 ) + " 0 R]" ) , this . internal . out ( ">>" ) , this . internal . out ( "endobj" ) , r = this . internal . newObject ( ) , this . internal . out ( "<<" ) , this . internal . out ( "/S /JavaScript" ) , this . internal . out ( "/JS (" + n + ")" ) , this . internal . out ( ">>" ) , this . internal . out ( "endobj" ) } ) ) , this . internal . events . subscribe ( "putCatalog" , ( function ( ) { void 0 !== e && void 0 !== r && this . internal . out ( "/Names <</JavaScript " + e + " 0 R>>" ) } ) ) , this } } ( j . API ) ,
/ * *
* @ license
* Copyright ( c ) 2014 Steven Spungin ( TwelveTone LLC ) steven @ twelvetone . tv
*
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /
function ( t ) { var e ; t . events . push ( [ "postPutResources" , function ( ) { var t = this , r = /^(\d+) 0 obj$/ ; if ( this . outline . root . children . length > 0 ) for ( var n = t . outline . render ( ) . split ( /\r\n/ ) , i = 0 ; i < n . length ; i ++ ) { var a = n [ i ] , o = r . exec ( a ) ; if ( null != o ) { var s = o [ 1 ] ; t . internal . newObjectDeferredBegin ( s , ! 1 ) } t . internal . write ( a ) } if ( this . outline . createNamedDestinations ) { var u = this . internal . pages . length , c = [ ] ; for ( i = 0 ; i < u ; i ++ ) { var l = t . internal . newObject ( ) ; c . push ( l ) ; var h = t . internal . getPageInfo ( i + 1 ) ; t . internal . write ( "<< /D[" + h . objId + " 0 R /XYZ null null null]>> endobj" ) } var f = t . internal . newObject ( ) ; t . internal . write ( "<< /Names [ " ) ; for ( i = 0 ; i < c . length ; i ++ ) t . internal . write ( "(page_" + ( i + 1 ) + ")" + c [ i ] + " 0 R" ) ; t . internal . write ( " ] >>" , "endobj" ) , e = t . internal . newObject ( ) , t . internal . write ( "<< /Dests " + f + " 0 R" ) , t . internal . write ( ">>" , "endobj" ) } } ] ) , t . events . push ( [ "putCatalog" , function ( ) { this . outline . root . children . length > 0 && ( this . internal . write ( "/Outlines" , this . outline . makeRef ( this . outline . root ) ) , this . outline . createNamedDestinations && this . internal . write ( "/Names " + e + " 0 R" ) ) } ] ) , t . events . push ( [ "initialized" , function ( ) { var t = this ; t . outline = { createNamedDestinations : ! 1 , root : { children : [ ] } } , t . outline . add = function ( t , e , r ) { var n = { title : e , options : r , children : [ ] } ; return null == t && ( t = this . root ) , t . children . push ( n ) , n } , t . outline . render = function ( ) { return this . ctx = { } , this . ctx . val = "" , this . ctx . pdf = t , this . genIds _r ( this . root ) , this . renderRoot ( this . root ) , this . renderItems ( this . root ) , this . ctx . val } , t . outline . genIds _r = function ( e ) { e . id = t . internal . newObjectDeferred ( ) ; for ( var r = 0 ; r < e . children . length ; r ++ ) this . genIds _r ( e . children [ r ] ) } , t . outline . renderRoot = function ( t ) { this . objStart ( t ) , this . line ( "/Type /Outlines" ) , t . children . length > 0 && ( this . line ( "/First " + this . makeRef ( t . children [ 0 ] ) ) , this . line ( "/Last " + this . makeRef ( t . children [ t . children . length - 1 ] ) ) ) , this . line ( "/Count " + this . count _r ( { count : 0 } , t ) ) , this . objEnd ( ) } , t . outline . renderItems = function ( e ) { for ( var r = this . ctx . pdf . internal . getVerticalCoordinateString , n = 0 ; n < e . children . length ; n ++ ) { var i = e . children [ n ] ; this . objStart ( i ) , this . line ( "/Title " + this . makeString ( i . title ) ) , this . line ( "/Parent " + this . makeRef ( e ) ) , n > 0 && this . line ( "/Prev " + this . makeRef ( e . children [ n - 1 ] ) ) , n < e . children . length - 1 && this . line ( "/Next " + this . makeRef ( e . children [ n + 1 ] ) ) , i . children . length > 0 && ( this . line ( "/First " + this . makeRef ( i . children [ 0 ] ) ) , this . line ( "/Last " + this . makeRef ( i . children [ i . children . length - 1 ] ) ) ) ; var a = this . count = this . count _r ( { count : 0 } , i ) ; if ( a > 0 && this . line ( "/Count " + a ) , i . options && i . options . pageNumber ) { var o = t . internal . getPageInfo ( i . options . pageNumber ) ; this . line ( "/Dest [" + o . objId + " 0 R /XYZ 0 " + r ( 0 ) + " 0]" ) } this . objEnd ( ) } for ( var s = 0 ; s < e . children . length ; s ++ ) this . renderItems ( e . children [ s ] ) } , t . outline . line = function ( t ) { this . ctx . val += t + "\r\n" } , t . outline . makeRef = function ( t ) { return t . id + " 0 R" } , t . outline . makeString = function ( e ) { return "(" + t . internal . pdfEscape ( e ) + ")" } , t . outline . objStart = function ( t ) { this . ctx . val += "\r\n" + t . id + " 0 obj\r\n<<\r\n" } , t . outline . objEnd = function ( ) { this . ctx . val += ">> \r\nendobj\r\n" } , t . outline . count _r = function ( t , e ) { for ( var r = 0 ; r < e . children . length ; r ++ ) t . count ++ , this . count _r ( t , e . children [ r ] ) ; return t . count } } ] ) } ( j . API ) ,
/ * *
* @ license
*
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /
function ( t ) { var e = [ 192 , 193 , 194 , 195 , 196 , 197 , 198 , 199 ] ; t . processJPEG = function ( t , r , n , i , a , o ) { var s , u = this . decode . DCT _DECODE , c = null ; if ( "string" == typeof t || this . _ _addimage _ _ . isArrayBuffer ( t ) || this . _ _addimage _ _ . isArrayBufferView ( t ) ) { switch ( t = a || t , t = this . _ _addimage _ _ . isArrayBuffer ( t ) ? new Uint8Array ( t ) : t , ( s = function ( t ) { for ( var r , n = 256 * t . charCodeAt ( 4 ) + t . charCodeAt ( 5 ) , i = t . length , a = { width : 0 , height : 0 , numcomponents : 1 } , o = 4 ; o < i ; o += 2 ) { if ( o += n , - 1 !== e . indexOf ( t . charCodeAt ( o + 1 ) ) ) { r = 256 * t . charCodeAt ( o + 5 ) + t . charCodeAt ( o + 6 ) , a = { width : 256 * t . charCodeAt ( o + 7 ) + t . charCodeAt ( o + 8 ) , height : r , numcomponents : t . charCodeAt ( o + 9 ) } ; break } n = 256 * t . charCodeAt ( o + 2 ) + t . charCodeAt ( o + 3 ) } return a } ( t = this . _ _addimage _ _ . isArrayBufferView ( t ) ? this . _ _addimage _ _ . arrayBufferToBinaryString ( t ) : t ) ) . numcomponents ) { case 1 : o = this . color _spaces . DEVICE _GRAY ; break ; case 4 : o = this . color _spaces . DEVICE _CMYK ; break ; case 3 : o = this . color _spaces . DEVICE _RGB } c = { data : t , width : s . width , height : s . height , colorSpace : o , bitsPerComponent : 8 , filter : u , index : r , alias : n } } return c } } ( j . API ) ; var Se , _e , Pe , ke , Fe , Ie = function ( ) { var t , r , n ; function i ( t ) { var e , r , n , i , a , o , s , u , c , l , h , f , d , p ; for ( this . data = t , this . pos = 8 , this . palette = [ ] , this . imgData = [ ] , this . transparency = { } , this . animation = null , this . text = { } , o = null ; ; ) { switch ( e = this . readUInt32 ( ) , c = function ( ) { var t , e ; for ( e = [ ] , t = 0 ; t < 4 ; ++ t ) e . push ( String . fromCharCode ( this . data [ this . pos ++ ] ) ) ; return e } . call ( this ) . join ( "" ) ) { case "IHDR" : this . width = this . readUInt32 ( ) , this . height = this . readUInt32 ( ) , this . bits = this . data [ this . pos ++ ] , this . colorType = this . data [ this . pos ++ ] , this . compressionMethod = this . data [ this . pos ++ ] , this . filterMethod = this . data [ this . pos ++ ] , this . interlaceMethod = this . data [ this . pos ++ ] ; break ; case "acTL" : this . animation = { numFrames : this . readUInt32 ( ) , numPlays : this . readUInt32 ( ) || 1 / 0 , frames : [ ] } ; break ; case "PLTE" : this . palette = this . read ( e ) ; break ; case "fcTL" : o && this . animation . frames . push ( o ) , this . pos += 4 , o = { width : this . readUInt32 ( ) , height : this . readUInt32 ( ) , xOffset : this . readUInt32 ( ) , yOffset : this . readUInt32 ( ) } , a = this . readUInt16 ( ) , i = this . readUInt16 ( ) || 100 , o . delay = 1e3 * a / i , o . disposeOp = this . data [ this . pos ++ ] , o . blendOp = this . data [ this . pos ++ ] , o . data = [ ] ; break ; case "IDAT" : case "fdAT" : for ( "fdAT" === c && ( this . pos += 4 , e -= 4 ) , t = ( null != o ? o . data : void 0 ) || this . imgData , f = 0 ; 0 <= e ? f < e : f > e ; 0 <= e ? ++ f : -- f ) t . push ( this . data [ this . pos ++ ] ) ; break ; case "tRNS" : switch ( this . transparency = { } , this . colorType ) { case 3 : if ( n = this . palette . length / 3 , this . transparency . indexed = this . read ( e ) , this . transparency . indexed . length > n ) throw new Error ( "More transparent colors than palette size" ) ; if ( ( l = n - this . transparency . indexed . length ) > 0 ) for ( d = 0 ; 0 <= l ? d < l : d > l ; 0 <= l ? ++ d : -- d ) this . transparency . indexed . push ( 255 ) ; break ; case 0 : this . transparency . grayscale = this . read ( e ) [ 0 ] ; break ; case 2 : this . transparency . rgb = this . read ( e ) } break ; case "tEXt" : s = ( h = this . read ( e ) ) . indexOf ( 0 ) , u = String . fromCharCode . apply ( String , h . slice ( 0 , s ) ) , this . text [ u ] = String . fromCharCode . apply ( String , h . slice ( s + 1 ) ) ; break ; case "IEND" : return o && this . animation . frames . push ( o ) , this . colors = function ( ) { switch ( this . colorType ) { case 0 : case 3 : case 4 : return 1 ; case 2 : case 6 : return 3 } } . call ( this ) , this . hasAlphaChannel = 4 === ( p = this . colorType ) || 6 === p , r = this . colors + ( this . hasAlphaChannel ? 1 : 0 ) , this . pixelBitlength = this . bits * r , this . colorSpace = function ( ) { switch ( this . colors ) { case 1 : return "DeviceGray" ; case 3 : return "DeviceRGB" } } . call ( this ) , void ( this . imgData = new Uint8Array ( this . imgData ) ) ; default : this . pos += e } if ( this . pos += 4 , this . pos > this . data . length ) throw new Error ( "Incomplete or corrupt PNG file" ) } } i . prototype . read = function ( t ) { var e , r ; for ( r = [ ] , e = 0 ; 0 <= t ? e < t : e > t ; 0 <= t ? ++ e : -- e ) r . push ( this . data [ this . pos ++ ] ) ; return r } , i . prototype . readUInt32 = function ( ) { return this . data [ this . pos ++ ] << 24 | this . data [ this . pos ++ ] << 16 | this . data [ this . pos ++ ] << 8 | this . data [ this . pos ++ ] } , i . prototype . readUInt16 = function ( ) { return this . data [ this . pos ++ ] << 8 | this . data [ this . pos ++ ] } , i . prototype . decodePixels = function ( t ) { var e = this . pixelBitlength / 8 , r = new Uint8Array ( this . width * this . height * e ) , n = 0 , i = this ; if ( null == t && ( t = this . imgData ) , 0 === t . length ) return new Uint8Array ( 0 ) ; function a ( a , o , s , u ) { var c , l , h , f , d , p , g , m , v , b , y , w , N , A , L , x , S , _ , P , k , F , I = Math . ceil ( ( i . width - a ) / s ) , C = Math . ceil ( ( i . height - o ) / u ) , j = i . width == I && i . height =
/ * *
* @ license
*
* Copyright ( c ) 2014 James Robb , https : //github.com/jamesbrobb
*
* Permission is hereby granted , free of charge , to any person obtaining
* a copy of this software and associated documentation files ( the
* "Software" ) , to deal in the Software without restriction , including
* without limitation the rights to use , copy , modify , merge , publish ,
* distribute , sublicense , and / or sell copies of the Software , and to
* permit persons to whom the Software is furnished to do so , subject to
* the following conditions :
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND ,
* EXPRESS OR IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT . IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM , DAMAGES OR OTHER LIABILITY , WHETHER IN AN ACTION
* OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE .
* === === === === === === === === === === === === === === === === === === === === === === ==
* /
/ * *
* @ license
* ( c ) Dean McNamee < dean @ gmail . com > , 2013.
*
* https : //github.com/deanm/omggif
*
* Permission is hereby granted , free of charge , to any person obtaining a copy
* of this software and associated documentation files ( the "Software" ) , to
* deal in the Software without restriction , including without limitation the
* rights to use , copy , modify , merge , publish , distribute , sublicense , and / or
* sell copies of the Software , and to permit persons to whom the Software is
* furnished to do so , subject to the following conditions :
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR
* IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY ,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER
* LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING
* FROM , OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE .
*
* omggif is a JavaScript implementation of a GIF 89 a encoder and decoder ,
* including animation and compression . It does not rely on any specific
* underlying system , so should run in the browser , Node , or Plask .
* /
function Ce ( t ) { var e = 0 ; if ( 71 !== t [ e ++ ] || 73 !== t [ e ++ ] || 70 !== t [ e ++ ] || 56 !== t [ e ++ ] || 56 != ( t [ e ++ ] + 1 & 253 ) || 97 !== t [ e ++ ] ) throw new Error ( "Invalid GIF 87a/89a header." ) ; var r = t [ e ++ ] | t [ e ++ ] << 8 , n = t [ e ++ ] | t [ e ++ ] << 8 , i = t [ e ++ ] , a = i >> 7 , o = 1 << ( 7 & i ) + 1 ; t [ e ++ ] ; t [ e ++ ] ; var s = null , u = null ; a && ( s = e , u = o , e += 3 * o ) ; var c = ! 0 , l = [ ] , h = 0 , f = null , d = 0 , p = null ; for ( this . width = r , this . height = n ; c && e < t . length ; ) switch ( t [ e ++ ] ) { case 33 : switch ( t [ e ++ ] ) { case 255 : if ( 11 !== t [ e ] || 78 == t [ e + 1 ] && 69 == t [ e + 2 ] && 84 == t [ e + 3 ] && 83 == t [ e + 4 ] && 67 == t [ e + 5 ] && 65 == t [ e + 6 ] && 80 == t [ e + 7 ] && 69 == t [ e + 8 ] && 50 == t [ e + 9 ] && 46 == t [ e + 10 ] && 48 == t [ e + 11 ] && 3 == t [ e + 12 ] && 1 == t [ e + 13 ] && 0 == t [ e + 16 ] ) e += 14 , p = t [ e ++ ] | t [ e ++ ] << 8 , e ++ ; else for ( e += 12 ; ; ) { if ( ! ( ( P = t [ e ++ ] ) >= 0 ) ) throw Error ( "Invalid block size" ) ; if ( 0 === P ) break ; e += P } break ; case 249 : if ( 4 !== t [ e ++ ] || 0 !== t [ e + 4 ] ) throw new Error ( "Invalid graphics extension block." ) ; var g = t [ e ++ ] ; h = t [ e ++ ] | t [ e ++ ] << 8 , f = t [ e ++ ] , 0 == ( 1 & g ) && ( f = null ) , d = g >> 2 & 7 , e ++ ; break ; case 254 : for ( ; ; ) { if ( ! ( ( P = t [ e ++ ] ) >= 0 ) ) throw Error ( "Invalid block size" ) ; if ( 0 === P ) break ; e += P } break ; default : throw new Error ( "Unknown graphic control label: 0x" + t [ e - 1 ] . toString ( 16 ) ) } break ; case 44 : var m = t [ e ++ ] | t [ e ++ ] << 8 , v = t [ e ++ ] | t [ e ++ ] << 8 , b = t [ e ++ ] | t [ e ++ ] << 8 , y = t [ e ++ ] | t [ e ++ ] << 8 , w = t [ e ++ ] , N = w >> 6 & 1 , A = 1 << ( 7 & w ) + 1 , L = s , x = u , S = ! 1 ; if ( w >> 7 ) { S = ! 0 ; L = e , x = A , e += 3 * A } var _ = e ; for ( e ++ ; ; ) { var P ; if ( ! ( ( P = t [ e ++ ] ) >= 0 ) ) throw Error ( "Invalid block size" ) ; if ( 0 === P ) break ; e += P } l . push ( { x : m , y : v , width : b , height : y , has _local _palette : S , palette _offset : L , palette _size : x , data _offset : _ , data _length : e - _ , transparent _index : f , interlaced : ! ! N , delay : h , disposal : d } ) ; break ; case 59 : c = ! 1 ; break ; default : throw new Error ( "Unknown gif block: 0x" + t [ e - 1 ] . toString ( 16 ) ) } this . numFrames = function ( ) { return l . length } , this . loopCount = function ( ) { return p } , this . frameInfo = function ( t ) { if ( t < 0 || t >= l . length ) throw new Error ( "Frame index out of range." ) ; return l [ t ] } , this . decodeAndBlitFrameBGRA = function ( e , n ) { var i = this . frameInfo ( e ) , a = i . width * i . height , o = new Uint8Array ( a ) ; je ( t , i . data _offset , o , a ) ; var s = i . palette _offset , u = i . transparent _index ; null === u && ( u = 256 ) ; var c = i . width , l = r - c , h = c , f = 4 * ( i . y * r + i . x ) , d = 4 * ( ( i . y + i . height ) * r + i . x ) , p = f , g = 4 * l ; ! 0 === i . interlaced && ( g += 4 * r * 7 ) ; for ( var m = 8 , v = 0 , b = o . length ; v < b ; ++ v ) { var y = o [ v ] ; if ( 0 === h && ( h = c , ( p += g ) >= d && ( g = 4 * l + 4 * r * ( m - 1 ) , p = f + ( c + l ) * ( m << 1 ) , m >>= 1 ) ) , y === u ) p += 4 ; else { var w = t [ s + 3 * y ] , N = t [ s + 3 * y + 1 ] , A = t [ s + 3 * y + 2 ] ; n [ p ++ ] = A , n [ p ++ ] = N , n [ p ++ ] = w , n [ p ++ ] = 255 } -- h } } , this . decodeAndBlitFrameRGBA = function ( e , n ) { var i = this . frameInfo ( e ) , a = i . width * i . height , o = new Uint8Array ( a ) ; je ( t , i . data _offset , o , a ) ; var s = i . palette _offset , u = i . transparent _index ; null === u && ( u = 256 ) ; var c = i . width , l = r - c , h = c , f = 4 * ( i . y * r + i . x ) , d = 4 * ( ( i . y + i . height ) * r + i . x ) , p = f , g = 4 * l ; ! 0 === i . interlaced && ( g += 4 * r * 7 ) ; for ( var m = 8 , v = 0 , b = o . length ; v < b ; ++ v ) { var y = o [ v ] ; if ( 0 === h && ( h = c , ( p += g ) >= d && ( g = 4 * l + 4 * r * ( m - 1 ) , p = f + ( c + l ) * ( m << 1 ) , m >>= 1 ) ) , y === u ) p += 4 ; else { var w = t [ s + 3 * y ] , N = t [ s + 3 * y + 1 ] , A = t [ s + 3 * y + 2 ] ; n [ p ++ ] = w , n [ p ++ ] = N , n [ p ++ ] = A , n [ p ++ ] = 255 } -- h } } } function je ( t , e , r , i ) { for ( var a = t [ e ++ ] , o = 1 << a , s = o + 1 , u = s + 1 , c = a + 1 , l = ( 1 << c ) - 1 , h = 0 , f = 0 , d = 0 , p = t [ e ++ ] , g = new Int32Array ( 4096 ) , m = null ; ; ) { for ( ; h < 16 && 0 !== p ; ) f |= t [ e ++ ] << h , h += 8 , 1 === p ? p = t [ e ++ ] : -- p ; if ( h < c ) break ; var v = f & l ; if ( f >>= c , h -= c , v !== o ) { if ( v === s ) break ; for ( var b = v < u ? v : m , y = 0 , w = b ; w > o ; ) w = g [ w ] >> 8 , ++ y ; var N = w ; if ( d + y + ( b !== v ? 1 : 0 ) > i ) return void n . log ( "Warning, gif stream longer than expected." ) ; r [ d ++ ] = N ; var A = d += y ; for ( b !== v && ( r [ d ++ ] = N ) , w = b ; y -- ; ) w = g [ w ] , r [ -- A ] = 255 & w , w >>= 8 ; null !== m && u < 4096 && ( g [ u ++ ] = m << 8 | N , u >= l + 1 && c < 12 && ( ++ c , l = l << 1 | 1 ) ) , m = v } else u = s + 1 , l = ( 1 << ( c = a + 1 ) ) - 1 , m = null } return d !== i && n . log ( "Warning, gif stream shorter than expected." ) , r }
/ * *
* @ license
Copyright ( c ) 2008 , Adobe Systems Incorporated
All rights reserved .
Redistribution and use in source and binary forms , with or without
modification , are permitted provided that the following conditions are
met :
* Redistributions of source code must retain the above copyright notice ,
this list of conditions and the following disclaimer .
* Redistributions in binary form must reproduce the above copyright
notice , this list of conditions and the following disclaimer in the
documentation and / or other materials provided with the distribution .
* Neither the name of Adobe Systems Incorporated nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission .
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS " AS
IS " AND ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT LIMITED TO ,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED . IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT , INDIRECT , INCIDENTAL , SPECIAL ,
EXEMPLARY , OR CONSEQUENTIAL DAMAGES ( INCLUDING , BUT NOT LIMITED TO ,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE , DATA , OR
PROFITS ; OR BUSINESS INTERRUPTION ) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY , OR TORT ( INCLUDING
NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
* / f u n c t i o n O e ( t ) { v a r e , r , n , i , a , o = M a t h . f l o o r , s = n e w A r r a y ( 6 4 ) , u = n e w A r r a y ( 6 4 ) , c = n e w A r r a y ( 6 4 ) , l = n e w A r r a y ( 6 4 ) , h = n e w A r r a y ( 6 5 5 3 5 ) , f = n e w A r r a y ( 6 5 5 3 5 ) , d = n e w A r r a y ( 6 4 ) , p = n e w A r r a y ( 6 4 ) , g = [ ] , m = 0 , v = 7 , b = n e w A r r a y ( 6 4 ) , y = n e w A r r a y ( 6 4 ) , w = n e w A r r a y ( 6 4 ) , N = n e w A r r a y ( 2 5 6 ) , A = n e w A r r a y ( 2 0 4 8 ) , L = [ 0 , 1 , 5 , 6 , 1 4 , 1 5 , 2 7 , 2 8 , 2 , 4 , 7 , 1 3 , 1 6 , 2 6 , 2 9 , 4 2 , 3 , 8 , 1 2 , 1 7 , 2 5 , 3 0 , 4 1 , 4 3 , 9 , 1 1 , 1 8 , 2 4 , 3 1 , 4 0 , 4 4 , 5 3 , 1 0 , 1 9 , 2 3 , 3 2 , 3 9 , 4 5 , 5 2 , 5 4 , 2 0 , 2 2 , 3 3 , 3 8 , 4 6 , 5 1 , 5 5 , 6 0 , 2 1 , 3 4 , 3 7 , 4 7 , 5 0 , 5 6 , 5 9 , 6 1 , 3 5 , 3 6 , 4 8 , 4 9 , 5 7 , 5 8 , 6 2 , 6 3 ] , x = [ 0 , 0 , 1 , 5 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , S = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 1 0 , 1 1 ] , _ = [ 0 , 0 , 2 , 1 , 3 , 3 , 2 , 4 , 3 , 5 , 5 , 4 , 4 , 0 , 0 , 1 , 1 2 5 ] , P = [ 1 , 2 , 3 , 0 , 4 , 1 7 , 5 , 1 8 , 3 3 , 4 9 , 6 5 , 6 , 1 9 , 8 1 , 9 7 , 7 , 3 4 , 1 1 3 , 2 0 , 5 0 , 1 2 9 , 1 4 5 , 1 6 1 , 8 , 3 5 , 6 6 , 1 7 7 , 1 9 3 , 2 1 , 8 2 , 2 0 9 , 2 4 0 , 3 6 , 5 1 , 9 8 , 1 1 4 , 1 3 0 , 9 , 1 0 , 2 2 , 2 3 , 2 4 , 2 5 , 2 6 , 3 7 , 3 8 , 3 9 , 4 0 , 4 1 , 4 2 , 5 2 , 5 3 , 5 4 , 5 5 , 5 6 , 5 7 , 5 8 , 6 7 , 6 8 , 6 9 , 7 0 , 7 1 , 7 2 , 7 3 , 7 4 , 8 3 , 8 4 , 8 5 , 8 6 , 8 7 , 8 8 , 8 9 , 9 0 , 9 9 , 1 0 0 , 1 0 1 , 1 0 2 , 1 0 3 , 1 0 4 , 1 0 5 , 1 0 6 , 1 1 5 , 1 1 6 , 1 1 7 , 1 1 8 , 1 1 9 , 1 2 0 , 1 2 1 , 1 2 2 , 1 3 1 , 1 3 2 , 1 3 3 , 1 3 4 , 1 3 5 , 1 3 6 , 1 3 7 , 1 3 8 , 1 4 6 , 1 4 7 , 1 4 8 , 1 4 9 , 1 5 0 , 1 5 1 , 1 5 2 , 1 5 3 , 1 5 4 , 1 6 2 , 1 6 3 , 1 6 4 , 1 6 5 , 1 6 6 , 1 6 7 , 1 6 8 , 1 6 9 , 1 7 0 , 1 7 8 , 1 7 9 , 1 8 0 , 1 8 1 , 1 8 2 , 1 8 3 , 1 8 4 , 1 8 5 , 1 8 6 , 1 9 4 , 1 9 5 , 1 9 6 , 1 9 7 , 1 9 8 , 1 9 9 , 2 0 0 , 2 0 1 , 2 0 2 , 2 1 0 , 2 1 1 , 2 1 2 , 2 1 3 , 2 1 4 , 2 1 5 , 2 1 6 , 2 1 7 , 2 1 8 , 2 2 5 , 2 2 6 , 2 2 7 , 2 2 8 , 2 2 9 , 2 3 0 , 2 3 1 , 2 3 2 , 2 3 3 , 2 3 4 , 2 4 1 , 2 4 2 , 2 4 3 , 2 4 4 , 2 4 5 , 2 4 6 , 2 4 7 , 2 4 8 , 2 4 9 , 2 5 0 ] , k = [ 0 , 0 , 3 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 ] , F = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 1 0 , 1 1 ] , I = [ 0 , 0 , 2 , 1 , 2 , 4 , 4 , 3 , 4 , 7 , 5 , 4 , 4 , 0 , 1 , 2 , 1 1 9 ] , C = [ 0 , 1 , 2 , 3 , 1 7 , 4 , 5 , 3 3 , 4 9 , 6 , 1 8 , 6 5 , 8 1 , 7 , 9 7 , 1 1 3 , 1 9 , 3 4 , 5 0 , 1 2 9 , 8 , 2 0 , 6 6 , 1 4 5 , 1 6 1 , 1 7 7 , 1 9 3 , 9 , 3 5 , 5 1 , 8 2 , 2 4 0 , 2 1 , 9 8 , 1 1 4 , 2 0 9 , 1 0 , 2 2 , 3 6 , 5 2 , 2 2 5 , 3 7 , 2 4 1 , 2 3 , 2 4 , 2 5 , 2 6 , 3 8 , 3 9 , 4 0 , 4 1 , 4 2 , 5 3 , 5 4 , 5 5 , 5 6 , 5 7 , 5 8 , 6 7 , 6 8 , 6 9 , 7 0 , 7 1 , 7 2 , 7 3 , 7 4 , 8 3 , 8 4 , 8 5 , 8 6 , 8 7 , 8 8 , 8 9 , 9 0 , 9 9 , 1 0 0 , 1 0 1 , 1 0 2 , 1 0 3 , 1 0 4 , 1 0 5 , 1 0 6 , 1 1 5 , 1 1 6 , 1 1 7 , 1 1 8 , 1 1 9 , 1 2 0 , 1 2 1 , 1 2 2 , 1 3 0 , 1 3 1 , 1 3 2 , 1 3 3 , 1 3 4 , 1 3 5 , 1 3 6 , 1 3 7 , 1 3 8 , 1 4 6 , 1 4 7 , 1 4 8 , 1 4 9 , 1 5 0 , 1 5 1 , 1 5 2 , 1 5 3 , 1 5 4 , 1 6 2 , 1 6 3 , 1 6 4 , 1 6 5 , 1 6 6 , 1 6 7 , 1 6 8 , 1 6 9 , 1 7 0 , 1 7 8 , 1 7 9 , 1 8 0 , 1 8 1 , 1 8 2 , 1 8 3 , 1 8 4 , 1 8 5 , 1 8 6 , 1 9 4 , 1 9 5 , 1 9 6 , 1 9 7 , 1 9 8 , 1 9 9 , 2 0 0 , 2 0 1 , 2 0 2 , 2 1 0 , 2 1 1 , 2 1 2 , 2 1 3 , 2 1 4 , 2 1 5 , 2 1 6 , 2 1 7 , 2 1 8 , 2 2 6 , 2 2 7 , 2 2 8 , 2 2 9 , 2 3 0 , 2 3 1 , 2 3 2 , 2 3 3 , 2 3 4 , 2 4 2 , 2 4 3 , 2 4 4 , 2 4 5 , 2 4 6 , 2 4 7 , 2 4 8 , 2 4 9 , 2 5 0 ] ; f u n c t i o n j ( t , e ) { f o r ( v a r r = 0 , n = 0 , i = n e w A r r a y , a = 1 ; a < = 1 6 ; a + + ) { f o r ( v a r o = 1 ; o < = t [ a ] ; o + + ) i [ e [ n ] ] = [ ] , i [ e [ n ] ] [ 0 ] = r , i [ e [ n ] ] [ 1 ] = a , n + + , r + + ; r * = 2 } r e t u r n i } f u n c t i o n O ( t ) { f o r ( v a r e = t [ 0 ] , r = t [ 1 ] - 1 ; r > = 0 ; ) e & 1 < < r & & ( m | = 1 < < v ) , r - - , - - v < 0 & & ( 2 5 5 = = m ? ( B ( 2 5 5 ) , B ( 0 ) ) : B ( m ) , v = 7 , m = 0 ) } f u n c t i o n B ( t ) { g . p u s h ( t ) } f u n c t i o n M ( t ) { B ( t > > 8 & 2 5 5 ) , B ( 2 5 5 & t ) } f u n c t i o n E ( t , e , r , n , i ) { f o r ( v a r a , o = i [ 0 ] , s = i [ 2 4 0 ] , u = f u n c t i o n ( t , e ) { v a r r , n , i , a , o , s , u , c , l , h , f = 0 ; f o r ( l = 0 ; l < 8 ; + + l ) { r = t [ f ] , n = t [ f + 1 ] , i = t [ f + 2 ] , a = t [ f + 3 ] , o = t [ f + 4 ] , s = t [ f + 5 ] , u = t [ f + 6 ] ; v a r p = r + ( c = t [ f + 7 ] ) , g = r - c , m = n + u , v = n - u , b = i + s , y = i - s , w = a + o , N = a - o , A = p + w , L = p - w , x = m + b , S = m - b ; t [ f ] = A + x , t [ f + 4 ] = A - x ; v a r _ = . 7 0 7 1 0 6 7 8 1 * ( S + L ) ; t [ f + 2 ] = L + _ , t [ f + 6 ] = L - _ ; v a r P = . 3 8 2 6 8 3 4 3 3 * ( ( A = N + y ) - ( S = v + g ) ) , k = . 5 4 1 1 9 6 1 * A + P , F = 1 . 3 0 6 5 6 2 9 6 5 * S + P , I = . 7 0 7 1 0 6 7 8 1 * ( x = y + v ) , C = g + I , j = g - I ; t [ f + 5 ] = j + k , t [ f + 3 ] = j - k , t [ f + 1 ] = C + F , t [ f + 7 ] = C - F , f + = 8 } f o r ( f = 0 , l = 0 ; l < 8 ; + + l ) { r = t [ f ] , n = t [ f + 8 ] , i = t [ f + 1 6 ] , a = t [ f + 2 4 ] , o = t [ f + 3 2 ] , s = t [ f + 4 0 ] , u = t [ f + 4 8 ] ; v a r O = r + ( c = t [ f + 5 6 ] ) , B = r - c , M = n + u , E = n - u , q = i + s , R = i - s , T = a + o , D = a - o , U = O + T , z = O - T , H = M + q , W = M - q ; t [ f ] = U + H , t [ f + 3 2 ] = U - H ; v a r V = . 7 0 7 1 0 6 7 8 1 * ( W + z ) ; t [ f + 1 6 ] = z + V , t [ f + 4 8 ] = z - V ; v a r G = . 3 8 2 6 8 3 4 3 3 * ( ( U = D + R ) - ( W = E + B ) ) , Y = . 5 4 1 1 9 6 1 * U + G , J = 1 . 3 0 6 5 6 2 9 6 5 * W + G , X = . 7 0 7 1 0 6 7 8 1 * ( H = R + E ) , K = B + X , Z = B - X ; t [ f + 4 0 ] = Z + Y , t [ f + 2 4 ] = Z - Y , t [ f + 8 ] = K + J , t [ f + 5 6 ] = K - J , f + + } f o r ( l = 0 ; l < 6 4 ; + + l ) h = t [ l ] * e [ l ] , d [ l ] = h > 0 ? h + . 5 | 0 : h - . 5 | 0 ; r e t u r n d } ( t , e ) , c = 0 ; c < 6 4 ; + + c ) p [ L [ c ] ] = u [ c ] ; v a r l = p [ 0 ] - r ; r = p [ 0 ] , 0 = = l ? O ( n [ 0 ] ) : ( O ( n [ f [ a = 3 2 7 6 7 + l ] ] ) , O ( h [ a ] ) ) ; f o r ( v a r g = 6 3 ; g > 0 & & 0 = = p [ g ] ; ) g - - ; i f ( 0 = = g ) r e t u r n O ( o ) , r ; f o r ( v a r m , v = 1 ; v < = g ; ) { f o r ( v a r b = v ; 0 = = p [ v ] & & v < = g ; ) + + v ; v a r y = v - b ; i f ( y > = 1 6 ) { m = y > > 4 ; f o r ( v a r w = 1 ; w < = m ; + + w ) O ( s ) ; y & = 1 5 } a = 3 2 7 6 7 + p [ v ] , O ( i [ ( y < < 4 ) + f [ a ] ] ) , O ( h [ a ] ) , v + + } r e t u r n 6 3 ! = g & & O ( o ) , r } f u n c t i o n q ( t ) { ( t = M a t h . m i n ( M a t h . m a x ( t , 1 ) , 1 0 0 ) , a ! = t ) & & ( ! f u n c t i o n ( t ) { f o r ( v a r e = [ 1 6 , 1 1 , 1 0 , 1 6 , 2 4 , 4 0 , 5 1 , 6 1 , 1 2 , 1 2 , 1 4 , 1 9 , 2 6 , 5 8 , 6 0 , 5 5 , 1 4 , 1 3 , 1 6 , 2 4 , 4 0 , 5 7 , 6 9 , 5 6 , 1 4 , 1 7 , 2 2 , 2 9 , 5 1 , 8 7 , 8 0 , 6 2 , 1 8 , 2 2 , 3 7 , 5 6 , 6 8 , 1 0 9 , 1 0 3 , 7 7 , 2 4 , 3 5 , 5 5 , 6 4 , 8 1 , 1 0 4 , 1 1 3 , 9 2 , 4 9 , 6 4 , 7 8 , 8 7 , 1 0 3 , 1 2 1 , 1 2 0 , 1 0 1 , 7 2 , 9 2 , 9 5 , 9 8 , 1 1 2 , 1 0 0 , 1 0 3 , 9 9 ] , r = 0 ; r < 6 4 ; r + + ) { v a r n = o ( ( e [ r ] * t + 5 0 ) / 1 0 0 ) ; n = M a t h . m i n ( M a t h . m a x ( n , 1 ) , 2 5 5 ) , s [ L [ r ] ] = n } f o r ( v a r i = [ 1 7 , 1 8 , 2 4 , 4 7 , 9 9 , 9 9 , 9 9 , 9 9 , 1 8 , 2 1 , 2 6 , 6 6 , 9 9 , 9 9 , 9 9 , 9 9 , 2 4 , 2 6 , 5 6 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 4 7 , 6 6 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 , 9 9 ] , a = 0 ; a < 6 4 ; a + + ) { v a r h = o ( ( i [ a ] * t + 5 0 ) / 1 0 0 ) ; h = M a t h . m i n ( M a t h . m a x ( h , 1 ) , 2 5 5 ) , u [ L [ a ] ] = h } f o r ( v a r f = [ 1 , 1 . 3 8 7 0 3 9 8 4 5 , 1 . 3 0 6 5 6 2 9 6 5 , 1 . 1 7 5 8 7 5 6 0 2 , 1 , . 7 8 5 6 9 4 9 5 8 ,
/ * *
* @ license
* Copyright ( c ) 2017 Aras Abbasi
*
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* / f u n c t i o n B e ( t , e ) { i f ( t h i s . p o s = 0 , t h i s . b u f f e r = t , t h i s . d a t a v = n e w D a t a V i e w ( t . b u f f e r ) , t h i s . i s _ w i t h _ a l p h a = ! ! e , t h i s . b o t t o m _ u p = ! 0 , t h i s . f l a g = S t r i n g . f r o m C h a r C o d e ( t h i s . b u f f e r [ 0 ] ) + S t r i n g . f r o m C h a r C o d e ( t h i s . b u f f e r [ 1 ] ) , t h i s . p o s + = 2 , - 1 = = = [ " B M " , " B A " , " C I " , " C P " , " I C " , " P T " ] . i n d e x O f ( t h i s . f l a g ) ) t h r o w n e w E r r o r ( " I n v a l i d B M P F i l e " ) ; t h i s . p a r s e H e a d e r ( ) , t h i s . p a r s e B G R ( ) } f u n c t i o n M e ( t ) { f u n c t i o n e ( t ) { i f ( ! t ) t h r o w E r r o r ( " a s s e r t : P " ) } f u n c t i o n r ( t , e , r ) { f o r ( v a r n = 0 ; 4 > n ; n + + ) i f ( t [ e + n ] ! = r . c h a r C o d e A t ( n ) ) r e t u r n ! 0 ; r e t u r n ! 1 } f u n c t i o n n ( t , e , r , n , i ) { f o r ( v a r a = 0 ; a < i ; a + + ) t [ e + a ] = r [ n + a ] } f u n c t i o n i ( t , e , r , n ) { f o r ( v a r i = 0 ; i < n ; i + + ) t [ e + i ] = r } f u n c t i o n a ( t ) { r e t u r n n e w I n t 3 2 A r r a y ( t ) } f u n c t i o n o ( t , e ) { f o r ( v a r r = [ ] , n = 0 ; n < t ; n + + ) r . p u s h ( n e w e ) ; r e t u r n r } f u n c t i o n s ( t , e ) { v a r r = [ ] ; r e t u r n f u n c t i o n t ( r , n , i ) { f o r ( v a r a = i [ n ] , o = 0 ; o < a & & ( r . p u s h ( i . l e n g t h > n + 1 ? [ ] : n e w e ) , ! ( i . l e n g t h < n + 1 ) ) ; o + + ) t ( r [ o ] , n + 1 , i ) } ( r , 0 , t ) , r } f u n c t i o n u ( t , e ) { f o r ( v a r r = " " , n = 0 ; n < 4 ; n + + ) r + = S t r i n g . f r o m C h a r C o d e ( t [ e + + ] ) ; r e t u r n r } f u n c t i o n c ( t , e ) { r e t u r n ( t [ e + 0 ] < < 0 | t [ e + 1 ] < < 8 | t [ e + 2 ] < < 1 6 ) > > > 0 } f u n c t i o n l ( t , e ) { r e t u r n ( t [ e + 0 ] < < 0 | t [ e + 1 ] < < 8 | t [ e + 2 ] < < 1 6 | t [ e + 3 ] < < 2 4 ) > > > 0 } n e w ( M e = f u n c t i o n ( ) { v a r t = t h i s ; f u n c t i o n u ( t , e ) { f o r ( v a r r = 1 < < e - 1 > > > 0 ; t & r ; ) r > > > = 1 ; r e t u r n r ? ( t & r - 1 ) + r : t } f u n c t i o n c ( t , r , n , i , a ) { e ( ! ( i % n ) ) ; d o { t [ r + ( i - = n ) ] = a } w h i l e ( 0 < i ) } f u n c t i o n l ( t , r , n , i , o ) { i f ( e ( 2 3 2 8 > = o ) , 5 1 2 > = o ) v a r s = a ( 5 1 2 ) ; e l s e i f ( n u l l = = ( s = a ( o ) ) ) r e t u r n 0 ; r e t u r n f u n c t i o n ( t , r , n , i , o , s ) { v a r l , f , d = r , p = 1 < < n , g = a ( 1 6 ) , m = a ( 1 6 ) ; f o r ( e ( 0 ! = o ) , e ( n u l l ! = i ) , e ( n u l l ! = t ) , e ( 0 < n ) , f = 0 ; f < o ; + + f ) { i f ( 1 5 < i [ f ] ) r e t u r n 0 ; + + g [ i [ f ] ] } i f ( g [ 0 ] = = o ) r e t u r n 0 ; f o r ( m [ 1 ] = 0 , l = 1 ; 1 5 > l ; + + l ) { i f ( g [ l ] > 1 < < l ) r e t u r n 0 ; m [ l + 1 ] = m [ l ] + g [ l ] } f o r ( f = 0 ; f < o ; + + f ) l = i [ f ] , 0 < i [ f ] & & ( s [ m [ l ] + + ] = f ) ; i f ( 1 = = m [ 1 5 ] ) r e t u r n ( i = n e w h ) . g = 0 , i . v a l u e = s [ 0 ] , c ( t , d , 1 , p , i ) , p ; v a r v , b = - 1 , y = p - 1 , w = 0 , N = 1 , A = 1 , L = 1 < < n ; f o r ( f = 0 , l = 1 , o = 2 ; l < = n ; + + l , o < < = 1 ) { i f ( N + = A < < = 1 , 0 > ( A - = g [ l ] ) ) r e t u r n 0 ; f o r ( ; 0 < g [ l ] ; - - g [ l ] ) ( i = n e w h ) . g = l , i . v a l u e = s [ f + + ] , c ( t , d + w , o , L , i ) , w = u ( w , l ) } f o r ( l = n + 1 , o = 2 ; 1 5 > = l ; + + l , o < < = 1 ) { i f ( N + = A < < = 1 , 0 > ( A - = g [ l ] ) ) r e t u r n 0 ; f o r ( ; 0 < g [ l ] ; - - g [ l ] ) { i f ( i = n e w h , ( w & y ) ! = b ) { f o r ( d + = L , v = 1 < < ( b = l ) - n ; 1 5 > b & & ! ( 0 > = ( v - = g [ b ] ) ) ; ) + + b , v < < = 1 ; p + = L = 1 < < ( v = b - n ) , t [ r + ( b = w & y ) ] . g = v + n , t [ r + b ] . v a l u e = d - r - b } i . g = l - n , i . v a l u e = s [ f + + ] , c ( t , d + ( w > > n ) , o , L , i ) , w = u ( w , l ) } } r e t u r n N ! = 2 * m [ 1 5 ] - 1 ? 0 : p } ( t , r , n , i , o , s ) } f u n c t i o n h ( ) { t h i s . v a l u e = t h i s . g = 0 } f u n c t i o n f ( ) { t h i s . v a l u e = t h i s . g = 0 } f u n c t i o n d ( ) { t h i s . G = o ( 5 , h ) , t h i s . H = a ( 5 ) , t h i s . j c = t h i s . Q b = t h i s . q b = t h i s . n d = 0 , t h i s . p d = o ( R r , f ) } f u n c t i o n p ( t , r , n , i ) { e ( n u l l ! = t ) , e ( n u l l ! = r ) , e ( 2 1 4 7 4 8 3 6 4 8 > i ) , t . C a = 2 5 4 , t . I = 0 , t . b = - 8 , t . K a = 0 , t . o a = r , t . p a = n , t . J d = r , t . Y c = n + i , t . Z c = 4 < = i ? n + i - 4 + 1 : n , _ ( t ) } f u n c t i o n g ( t , e ) { f o r ( v a r r = 0 ; 0 < e - - ; ) r | = k ( t , 1 2 8 ) < < e ; r e t u r n r } f u n c t i o n m ( t , e ) { v a r r = g ( t , e ) ; r e t u r n P ( t ) ? - r : r } f u n c t i o n v ( t , r , n , i ) { v a r a , o = 0 ; f o r ( e ( n u l l ! = t ) , e ( n u l l ! = r ) , e ( 4 2 9 4 9 6 7 2 8 8 > i ) , t . S b = i , t . R a = 0 , t . u = 0 , t . h = 0 , 4 < i & & ( i = 4 ) , a = 0 ; a < i ; + + a ) o + = r [ n + a ] < < 8 * a ; t . R a = o , t . b b = i , t . o a = r , t . p a = n } f u n c t i o n b ( t ) { f o r ( ; 8 < = t . u & & t . b b < t . S b ; ) t . R a > > > = 8 , t . R a + = t . o a [ t . p a + t . b b ] < < U r - 8 > > > 0 , + + t . b b , t . u - = 8 ; L ( t ) & & ( t . h = 1 , t . u = 0 ) } f u n c t i o n y ( t , r ) { i f ( e ( 0 < = r ) , ! t . h & & r < = D r ) { v a r n = A ( t ) & T r [ r ] ; r e t u r n t . u + = r , b ( t ) , n } r e t u r n t . h = 1 , t . u = 0 } f u n c t i o n w ( ) { t h i s . b = t h i s . C a = t h i s . I = 0 , t h i s . o a = [ ] , t h i s . p a = 0 , t h i s . J d = [ ] , t h i s . Y c = 0 , t h i s . Z c = [ ] , t h i s . K a = 0 } f u n c t i o n N ( ) { t h i s . R a = 0 , t h i s . o a = [ ] , t h i s . h = t h i s . u = t h i s . b b = t h i s . S b = t h i s . p a = 0 } f u n c t i o n A ( t ) { r e t u r n t . R a > > > ( t . u & U r - 1 ) > > > 0 } f u n c t i o n L ( t ) { r e t u r n e ( t . b b < = t . S b ) , t . h | | t . b b = = t . S b & & t . u > U r } f u n c t i o n x ( t , e ) { t . u = e , t . h = L ( t ) } f u n c t i o n S ( t ) { t . u > = z r & & ( e ( t . u > = z r ) , b ( t ) ) } f u n c t i o n _ ( t ) { e ( n u l l ! = t & & n u l l ! = t . o a ) , t . p a < t . Z c ? ( t . I = ( t . o a [ t . p a + + ] | t . I < < 8 ) > > > 0 , t . b + = 8 ) : ( e ( n u l l ! = t & & n u l l ! = t . o a ) , t . p a < t . Y c ? ( t . b + = 8 , t . I = t . o a [ t . p a + + ] | t . I < < 8 ) : t . K a ? t . b = 0 : ( t . I < < = 8 , t . b + = 8 , t . K a = 1 ) ) } f u n c t i o n P ( t ) { r e t u r n g ( t , 1 ) } f u n c t i o n k ( t , e ) { v a r r = t . C a ; 0 > t . b & & _ ( t ) ; v a r n = t . b , i = r * e > > > 8 , a = ( t . I > > > n > i ) + 0 ; f o r ( a ? ( r - = i , t . I - = i + 1 < < n > > > 0 ) : r = i + 1 , n = r , i = 0 ; 2 5 6 < = n ; ) i + = 8 , n > > = 8 ; r e t u r n n = 7 ^ i + H r [ n ] , t . b - = n , t . C a = ( r < < n ) - 1 , a } f u n c t i o n F ( t , e , r ) { t [ e + 0 ] = r > > 2 4 & 2 5 5 , t [ e + 1 ] = r > > 1 6 & 2 5 5 , t [ e + 2 ] = r > > 8 & 2 5 5 , t [ e + 3 ] = r > > 0 & 2 5 5 } f u n c t i o n I ( t , e ) { r e t u r n t [ e + 0 ] < < 0 | t [ e + 1 ] < < 8 } f u n c t i o n C ( t , e ) { r e t u r n I ( t , e ) | t [ e + 2 ] < < 1 6 } f u n c t i o n j ( t , e ) { r e t u r n I ( t , e ) | I ( t , e + 2 ) < < 1 6 } f u n c t i o n O ( t , r ) { v a r n = 1 < < r ; r e t u r n e ( n u l l ! = t ) , e ( 0 < r ) , t . X = a ( n ) , n u l l = = t . X ? 0 : ( t . M b = 3 2 - r , t . X a = r , 1 ) } f u n c t i o n B ( t , r ) { e ( n u l l ! = t ) , e ( n u l l ! = r ) , e ( t . X a = = r . X a ) , n ( r . X , 0 , t . X , 0 , 1 < < r . X a ) } f u n c t i o n M ( ) { t h i s . X = [ ] , t h i s . X a = t h i s . M b = 0 } f u n c t i o n E ( t , r , n , i ) { e ( n u l l ! = n ) , e ( n
/ * * @ l i c e n s e
* Copyright ( c ) 2017 Dominik Homberger
Permission is hereby granted , free of charge , to any person obtaining a copy of this software and associated documentation files ( the "Software" ) , to deal in the Software without restriction , including without limitation the rights to use , copy , modify , merge , publish , distribute , sublicense , and / or sell copies of the Software , and to permit persons to whom the Software is furnished to do so , subject to the following conditions :
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software .
THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE .
https : //webpjs.appspot.com
WebPRiffParser dominikhlbg @ gmail . com
* /
function ( t , e , r , n ) { for ( var i = 0 ; i < n ; i ++ ) if ( t [ e + i ] != r . charCodeAt ( i ) ) return ! 0 ; return ! 1 } ( t , e , "RIFF" , 4 ) ) { var s , h ; l ( t , e += 4 ) ; for ( e += 8 ; e < t . length ; ) { var f = u ( t , e ) , d = l ( t , e += 4 ) ; e += 4 ; var p = d + ( 1 & d ) ; switch ( f ) { case "VP8 " : case "VP8L" : void 0 === r . frames [ n ] && ( r . frames [ n ] = { } ) ; ( v = r . frames [ n ] ) . src _off = i ? o : e - 8 , v . src _size = a + d + 8 , n ++ , i && ( i = ! 1 , a = 0 , o = 0 ) ; break ; case "VP8X" : ( v = r . header = { } ) . feature _flags = t [ e ] ; var g = e + 4 ; v . canvas _width = 1 + c ( t , g ) ; g += 3 ; v . canvas _height = 1 + c ( t , g ) ; g += 3 ; break ; case "ALPH" : i = ! 0 , a = p + 8 , o = e - 8 ; break ; case "ANIM" : ( v = r . header ) . bgcolor = l ( t , e ) ; g = e + 4 ; v . loop _count = ( s = t ) [ ( h = g ) + 0 ] << 0 | s [ h + 1 ] << 8 ; g += 2 ; break ; case "ANMF" : var m , v ; ( v = r . frames [ n ] = { } ) . offset _x = 2 * c ( t , e ) , e += 3 , v . offset _y = 2 * c ( t , e ) , e += 3 , v . width = 1 + c ( t , e ) , e += 3 , v . height = 1 + c ( t , e ) , e += 3 , v . duration = c ( t , e ) , e += 3 , m = t [ e ++ ] , v . dispose = 1 & m , v . blend = m >> 1 & 1 } "ANMF" != f && ( e += p ) } return r } } ( g , 0 ) ; m . response = g , m . rgbaoutput = ! 0 , m . dataurl = ! 1 ; var v = m . header ? m . header : null , b = m . frames ? m . frames : null ; if ( v ) { v . loop _counter = v . loop _count , h = [ v . canvas _height ] , f = [ v . canvas _width ] ; for ( var y = 0 ; y < b . length && 0 != b [ y ] . blend ; y ++ ) ; } var w = b [ 0 ] , N = p . WebPDecodeRGBA ( g , w . src _off , w . src _size , f , h ) ; w . rgba = N , w . imgwidth = f [ 0 ] , w . imgheight = h [ 0 ] ; for ( var A = 0 ; A < f [ 0 ] * h [ 0 ] * 4 ; A ++ ) d [ A ] = N [ A ] ; return this . width = f , this . height = h , this . data = d , this } ! function ( t ) { var e = function ( ) { return ! 0 } , r = function ( e , r , i , c ) { var l = 4 , h = o ; switch ( c ) { case t . image _compression . FAST : l = 1 , h = a ; break ; case t . image _compression . MEDIUM : l = 6 , h = s ; break ; case t . image _compression . SLOW : l = 9 , h = u } var f = Le ( e = n ( e , r , i , h ) , { level : l } ) ; return t . _ _addimage _ _ . arrayBufferToBinaryString ( f ) } , n = function ( t , e , r , n ) { for ( var i , a , o , s = t . length / e , u = new Uint8Array ( t . length + s ) , c = l ( ) , f = 0 ; f < s ; f += 1 ) { if ( o = f * e , i = t . subarray ( o , o + e ) , n ) u . set ( n ( i , r , a ) , o + f ) ; else { for ( var d , p = c . length , g = [ ] ; d < p ; d += 1 ) g [ d ] = c [ d ] ( i , r , a ) ; var m = h ( g . concat ( ) ) ; u . set ( g [ m ] , o + f ) } a = i } return u } , i = function ( t ) { var e = Array . apply ( [ ] , t ) ; return e . unshift ( 0 ) , e } , a = function ( t , e ) { var r , n = [ ] , i = t . length ; n [ 0 ] = 1 ; for ( var a = 0 ; a < i ; a += 1 ) r = t [ a - e ] || 0 , n [ a + 1 ] = t [ a ] - r + 256 & 255 ; return n } , o = function ( t , e , r ) { var n , i = [ ] , a = t . length ; i [ 0 ] = 2 ; for ( var o = 0 ; o < a ; o += 1 ) n = r && r [ o ] || 0 , i [ o + 1 ] = t [ o ] - n + 256 & 255 ; return i } , s = function ( t , e , r ) { var n , i , a = [ ] , o = t . length ; a [ 0 ] = 3 ; for ( var s = 0 ; s < o ; s += 1 ) n = t [ s - e ] || 0 , i = r && r [ s ] || 0 , a [ s + 1 ] = t [ s ] + 256 - ( n + i >>> 1 ) & 255 ; return a } , u = function ( t , e , r ) { var n , i , a , o , s = [ ] , u = t . length ; s [ 0 ] = 4 ; for ( var l = 0 ; l < u ; l += 1 ) n = t [ l - e ] || 0 , i = r && r [ l ] || 0 , a = r && r [ l - e ] || 0 , o = c ( n , i , a ) , s [ l + 1 ] = t [ l ] - o + 256 & 255 ; return s } , c = function ( t , e , r ) { if ( t === e && e === r ) return t ; var n = Math . abs ( e - r ) , i = Math . abs ( t - r ) , a = Math . abs ( t + e - r - r ) ; return n <= i && n <= a ? t : i <= a ? e : r } , l = function ( ) { return [ i , a , o , s , u ] } , h = function ( t ) { var e = t . map ( ( function ( t ) { return t . reduce ( ( function ( t , e ) { return t + Math . abs ( e ) } ) , 0 ) } ) ) ; return e . indexOf ( Math . min . apply ( null , e ) ) } ; t . processPNG = function ( n , i , a , o ) { var s , u , c , l , h , f , d , p , g , m , v , b , y , w , N , A = this . decode . FLATE _DECODE , L = "" ; if ( this . _ _addimage _ _ . isArrayBuffer ( n ) && ( n = new Uint8Array ( n ) ) , this . _ _addimage _ _ . isArrayBufferView ( n ) ) { if ( n = ( c = new Ie ( n ) ) . imgData , u = c . bits , s = c . colorSpace , h = c . colors , - 1 !== [ 4 , 6 ] . indexOf ( c . colorType ) ) { if ( 8 === c . bits ) { g = ( p = 32 == c . pixelBitlength ? new Uint32Array ( c . decodePixels ( ) . buffer ) : 16 == c . pixelBitlength ? new Uint16Array ( c . decodePixels ( ) . buffer ) : new Uint8Array ( c . decodePixels ( ) . buffer ) ) . length , v = new Uint8Array ( g * c . colors ) , m = new Uint8Array ( g ) ; var x , S = c . pixelBitlength - c . bits ; for ( w = 0 , N = 0 ; w < g ; w ++ ) { for ( y = p [ w ] , x = 0 ; x < S ; ) v [ N ++ ] = y >>> x & 255 , x += c . bits ; m [ w ] = y >>> x & 255 } } if ( 16 === c . bits ) { g = ( p = new Uint32Array ( c . decodePixels ( ) . buffer ) ) . length , v = new Uint8Array ( g * ( 32 / c . pixelBitlength ) * c . colors ) , m = new Uint8Array ( g * ( 32 / c . pixelBitlength ) ) , b = c . colors > 1 , w = 0 , N = 0 ; for ( var _ = 0 ; w < g ; ) y = p [ w ++ ] , v [ N ++ ] = y >>> 0 & 255 , b && ( v [ N ++ ] = y >>> 16 & 255 , y = p [ w ++ ] , v [ N ++ ] = y >>> 0 & 255 ) , m [ _ ++ ] = y >>> 16 & 255 ; u = 8 } o !== t . image _compression . NONE && e ( ) ? ( n = r ( v , c . width * c . colors , c . colors , o ) , d = r ( m , c . width , 1 , o ) ) : ( n = v , d = m , A = void 0 ) } if ( 3 === c . colorType && ( s = this . color _spaces . INDEXED , f = c . palette , c . transparency . indexed ) ) { var P = c . transparency . indexed , k = 0 ; for ( w = 0 , g = P . length ; w < g ; ++ w ) k += P [ w ] ; if ( ( k /= 255 ) === g - 1 && - 1 !== P . indexOf ( 0 ) ) l = [ P . indexOf ( 0 ) ] ; else if ( k !== g ) { for ( p = c . decodePixels ( ) , m = new Uint8Array ( p . length ) , w = 0 , g = p . length ; w < g ; w ++ ) m [ w ] = P [ p [ w ] ] ; d = r ( m , c . width , 1 ) } } var F = function ( e ) { var r ; switch ( e ) { case t . image _compression . FAST : r = 11 ; br
/ * *
* @ license
* Copyright ( c ) 2018 Aras Abbasi
*
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /
function ( t ) { t . processBMP = function ( e , r , n , i ) { var a = new Be ( e , ! 1 ) , o = a . width , s = a . height , u = { data : a . getData ( ) , width : o , height : s } , c = new Oe ( 100 ) . encode ( u , 100 ) ; return t . processJPEG . call ( this , c , r , n , i ) } } ( j . API ) , Me . prototype . getData = function ( ) { return this . data } ,
/ * *
* @ license
* Copyright ( c ) 2019 Aras Abbasi
*
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /
function ( t ) { t . processWEBP = function ( e , r , n , i ) { var a = new Me ( e , ! 1 ) , o = a . width , s = a . height , u = { data : a . getData ( ) , width : o , height : s } , c = new Oe ( 100 ) . encode ( u , 100 ) ; return t . processJPEG . call ( this , c , r , n , i ) } } ( j . API ) ,
/ * *
* @ license
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /
function ( t ) { t . setLanguage = function ( t ) { return void 0 === this . internal . languageSettings && ( this . internal . languageSettings = { } , this . internal . languageSettings . isSubscribed = ! 1 ) , void 0 !== { af : "Afrikaans" , sq : "Albanian" , ar : "Arabic (Standard)" , "ar-DZ" : "Arabic (Algeria)" , "ar-BH" : "Arabic (Bahrain)" , "ar-EG" : "Arabic (Egypt)" , "ar-IQ" : "Arabic (Iraq)" , "ar-JO" : "Arabic (Jordan)" , "ar-KW" : "Arabic (Kuwait)" , "ar-LB" : "Arabic (Lebanon)" , "ar-LY" : "Arabic (Libya)" , "ar-MA" : "Arabic (Morocco)" , "ar-OM" : "Arabic (Oman)" , "ar-QA" : "Arabic (Qatar)" , "ar-SA" : "Arabic (Saudi Arabia)" , "ar-SY" : "Arabic (Syria)" , "ar-TN" : "Arabic (Tunisia)" , "ar-AE" : "Arabic (U.A.E.)" , "ar-YE" : "Arabic (Yemen)" , an : "Aragonese" , hy : "Armenian" , as : "Assamese" , ast : "Asturian" , az : "Azerbaijani" , eu : "Basque" , be : "Belarusian" , bn : "Bengali" , bs : "Bosnian" , br : "Breton" , bg : "Bulgarian" , my : "Burmese" , ca : "Catalan" , ch : "Chamorro" , ce : "Chechen" , zh : "Chinese" , "zh-HK" : "Chinese (Hong Kong)" , "zh-CN" : "Chinese (PRC)" , "zh-SG" : "Chinese (Singapore)" , "zh-TW" : "Chinese (Taiwan)" , cv : "Chuvash" , co : "Corsican" , cr : "Cree" , hr : "Croatian" , cs : "Czech" , da : "Danish" , nl : "Dutch (Standard)" , "nl-BE" : "Dutch (Belgian)" , en : "English" , "en-AU" : "English (Australia)" , "en-BZ" : "English (Belize)" , "en-CA" : "English (Canada)" , "en-IE" : "English (Ireland)" , "en-JM" : "English (Jamaica)" , "en-NZ" : "English (New Zealand)" , "en-PH" : "English (Philippines)" , "en-ZA" : "English (South Africa)" , "en-TT" : "English (Trinidad & Tobago)" , "en-GB" : "English (United Kingdom)" , "en-US" : "English (United States)" , "en-ZW" : "English (Zimbabwe)" , eo : "Esperanto" , et : "Estonian" , fo : "Faeroese" , fj : "Fijian" , fi : "Finnish" , fr : "French (Standard)" , "fr-BE" : "French (Belgium)" , "fr-CA" : "French (Canada)" , "fr-FR" : "French (France)" , "fr-LU" : "French (Luxembourg)" , "fr-MC" : "French (Monaco)" , "fr-CH" : "French (Switzerland)" , fy : "Frisian" , fur : "Friulian" , gd : "Gaelic (Scots)" , "gd-IE" : "Gaelic (Irish)" , gl : "Galacian" , ka : "Georgian" , de : "German (Standard)" , "de-AT" : "German (Austria)" , "de-DE" : "German (Germany)" , "de-LI" : "German (Liechtenstein)" , "de-LU" : "German (Luxembourg)" , "de-CH" : "German (Switzerland)" , el : "Greek" , gu : "Gujurati" , ht : "Haitian" , he : "Hebrew" , hi : "Hindi" , hu : "Hungarian" , is : "Icelandic" , id : "Indonesian" , iu : "Inuktitut" , ga : "Irish" , it : "Italian (Standard)" , "it-CH" : "Italian (Switzerland)" , ja : "Japanese" , kn : "Kannada" , ks : "Kashmiri" , kk : "Kazakh" , km : "Khmer" , ky : "Kirghiz" , tlh : "Klingon" , ko : "Korean" , "ko-KP" : "Korean (North Korea)" , "ko-KR" : "Korean (South Korea)" , la : "Latin" , lv : "Latvian" , lt : "Lithuanian" , lb : "Luxembourgish" , mk : "FYRO Macedonian" , ms : "Malay" , ml : "Malayalam" , mt : "Maltese" , mi : "Maori" , mr : "Marathi" , mo : "Moldavian" , nv : "Navajo" , ng : "Ndonga" , ne : "Nepali" , no : "Norwegian" , nb : "Norwegian (Bokmal)" , nn : "Norwegian (Nynorsk)" , oc : "Occitan" , or : "Oriya" , om : "Oromo" , fa : "Persian" , "fa-IR" : "Persian/Iran" , pl : "Polish" , pt : "Portuguese" , "pt-BR" : "Portuguese (Brazil)" , pa : "Punjabi" , "pa-IN" : "Punjabi (India)" , "pa-PK" : "Punjabi (Pakistan)" , qu : "Quechua" , rm : "Rhaeto-Romanic" , ro : "Romanian" , "ro-MO" : "Romanian (Moldavia)" , ru : "Russian" , "ru-MO" : "Russian (Moldavia)" , sz : "Sami (Lappish)" , sg : "Sango" , sa : "Sanskrit" , sc : "Sardinian" , sd : "Sindhi" , si : "Singhalese" , sr : "Serbian" , sk : "Slovak" , sl : "Slovenian" , so : "Somani" , sb : "Sorbian" , es : "Spanish" , "es-AR" : "Spanish (Argentina)" , "es-BO" : "Spanish (Bolivia)" , "es-CL" : "Spanish (Chile)" , "es-CO" : "Spanish (Colombia)" , "es-CR" : "Spanish (Costa Rica)" , "es-DO" : "Spanish (Dominican Republic)" , "es-EC" : "Spanish (Ecuador)" , "es-SV" : "Spanish (El Salvador)" , "es-GT" : "Spanish (Guatemala)" , "es-HN" : "Spanish (Honduras)" , "es-MX" : "Spanish (Mexico)" , "es-NI" : "Spanish (Nicaragua)" , "es-PA" : "Spanish (Panama)" , "es-PY" : "Spanish (Paraguay)" , "es-PE" : "Spanish (Peru)" , "es-PR" : "Spanish (Puerto Rico)" , "es-ES" : "Spanish (Spain)" , "es-UY" : "Spanish (Uruguay)" , "es-VE" : "Spanish (Venezuela)" , sx : "Sutu" , sw : "Swahili" , sv : "Swedish" , "sv-FI" : "Swedish (Finland)" , "sv-SV" : "Swedish (Sweden)" , ta : "Tamil" , tt : "Tatar" , te : "Teluga" , th : "Thai" , tig : "Tigre" , ts : "Tsonga" , tn : "Tswana" , tr : "Turkish" , tk : "Turkmen" , uk : "Ukrainian" , hsb : "Upper Sorbian" , ur : "Urdu" , ve : "Venda" , vi : "Vietnamese" , vo : "Volapuk" , wa : "Walloon" , cy : "Welsh" , xh : "Xhosa" , ji : "Yiddish" , zu : "Zulu" } [ t ] && ( this . internal . languageSettings . languageCode = t , ! 1 === this . internal . languageSetting
/ * * @ l i c e n s e
* MIT license .
* Copyright ( c ) 2012 Willow Systems Corporation , willow - systems . com
* 2014 Diego Casorran , https : //github.com/diegocr
*
* Permission is hereby granted , free of charge , to any person obtaining
* a copy of this software and associated documentation files ( the
* "Software" ) , to deal in the Software without restriction , including
* without limitation the rights to use , copy , modify , merge , publish ,
* distribute , sublicense , and / or sell copies of the Software , and to
* permit persons to whom the Software is furnished to do so , subject to
* the following conditions :
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND ,
* EXPRESS OR IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT . IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM , DAMAGES OR OTHER LIABILITY , WHETHER IN AN ACTION
* OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE .
* === === === === === === === === === === === === === === === === === === === === === === ==
* /
Se = j . API , _e = Se . getCharWidthsArray = function ( t , e ) { var r , n , i = ( e = e || { } ) . font || this . internal . getFont ( ) , a = e . fontSize || this . internal . getFontSize ( ) , o = e . charSpace || this . internal . getCharSpace ( ) , s = e . widths ? e . widths : i . metadata . Unicode . widths , u = s . fof ? s . fof : 1 , c = e . kerning ? e . kerning : i . metadata . Unicode . kerning , l = c . fof ? c . fof : 1 , h = ! 1 !== e . doKerning , f = 0 , d = t . length , p = 0 , g = s [ 0 ] || u , m = [ ] ; for ( r = 0 ; r < d ; r ++ ) n = t . charCodeAt ( r ) , "function" == typeof i . metadata . widthOfString ? m . push ( ( i . metadata . widthOfGlyph ( i . metadata . characterToGlyph ( n ) ) + o * ( 1e3 / a ) || 0 ) / 1e3 ) : ( f = h && "object" == typeof c [ n ] && ! isNaN ( parseInt ( c [ n ] [ p ] , 10 ) ) ? c [ n ] [ p ] / l : 0 , m . push ( ( s [ n ] || g ) / u + f ) ) , p = n ; return m } , Pe = Se . getStringUnitWidth = function ( t , e ) { var r = ( e = e || { } ) . fontSize || this . internal . getFontSize ( ) , n = e . font || this . internal . getFont ( ) , i = e . charSpace || this . internal . getCharSpace ( ) ; return Se . processArabic && ( t = Se . processArabic ( t ) ) , "function" == typeof n . metadata . widthOfString ? n . metadata . widthOfString ( t , r , i ) / r : _e . apply ( this , arguments ) . reduce ( ( function ( t , e ) { return t + e } ) , 0 ) } , ke = function ( t , e , r , n ) { for ( var i = [ ] , a = 0 , o = t . length , s = 0 ; a !== o && s + e [ a ] < r ; ) s += e [ a ] , a ++ ; i . push ( t . slice ( 0 , a ) ) ; var u = a ; for ( s = 0 ; a !== o ; ) s + e [ a ] > n && ( i . push ( t . slice ( u , a ) ) , s = 0 , u = a ) , s += e [ a ] , a ++ ; return u !== a && i . push ( t . slice ( u , a ) ) , i } , Fe = function ( t , e , r ) { r || ( r = { } ) ; var n , i , a , o , s , u , c , l = [ ] , h = [ l ] , f = r . textIndent || 0 , d = 0 , p = 0 , g = t . split ( " " ) , m = _e . apply ( this , [ " " , r ] ) [ 0 ] ; if ( u = - 1 === r . lineIndent ? g [ 0 ] . length + 2 : r . lineIndent || 0 ) { var v = Array ( u ) . join ( " " ) , b = [ ] ; g . map ( ( function ( t ) { ( t = t . split ( /\s*\n/ ) ) . length > 1 ? b = b . concat ( t . map ( ( function ( t , e ) { return ( e && t . length ? "\n" : "" ) + t } ) ) ) : b . push ( t [ 0 ] ) } ) ) , g = b , u = Pe . apply ( this , [ v , r ] ) } for ( a = 0 , o = g . length ; a < o ; a ++ ) { var y = 0 ; if ( n = g [ a ] , u && "\n" == n [ 0 ] && ( n = n . substr ( 1 ) , y = 1 ) , f + d + ( p = ( i = _e . apply ( this , [ n , r ] ) ) . reduce ( ( function ( t , e ) { return t + e } ) , 0 ) ) > e || y ) { if ( p > e ) { for ( s = ke . apply ( this , [ n , i , e - ( f + d ) , e ] ) , l . push ( s . shift ( ) ) , l = [ s . pop ( ) ] ; s . length ; ) h . push ( [ s . shift ( ) ] ) ; p = i . slice ( n . length - ( l [ 0 ] ? l [ 0 ] . length : 0 ) ) . reduce ( ( function ( t , e ) { return t + e } ) , 0 ) } else l = [ n ] ; h . push ( l ) , f = p + u , d = m } else l . push ( n ) , f += d + p , d = m } return c = u ? function ( t , e ) { return ( e ? v : "" ) + t . join ( " " ) } : function ( t ) { return t . join ( " " ) } , h . map ( c ) } , Se . splitTextToSize = function ( t , e , r ) { var n , i = ( r = r || { } ) . fontSize || this . internal . getFontSize ( ) , a = function ( t ) { if ( t . widths && t . kerning ) return { widths : t . widths , kerning : t . kerning } ; var e = this . internal . getFont ( t . fontName , t . fontStyle ) ; return e . metadata . Unicode ? { widths : e . metadata . Unicode . widths || { 0 : 1 } , kerning : e . metadata . Unicode . kerning || { } } : { font : e . metadata , fontSize : this . internal . getFontSize ( ) , charSpace : this . internal . getCharSpace ( ) } } . call ( this , r ) ; n = Array . isArray ( t ) ? t : String ( t ) . split ( /\r?\n/ ) ; var o = 1 * this . internal . scaleFactor * e / i ; a . textIndent = r . textIndent ? 1 * r . textIndent * this . internal . scaleFactor / i : 0 , a . lineIndent = r . lineIndent ; var s , u , c = [ ] ; for ( s = 0 , u = n . length ; s < u ; s ++ ) c = c . concat ( Fe . apply ( this , [ n [ s ] , o , a ] ) ) ; return c } ,
/ * * @ l i c e n s e
jsPDF standard _fonts _metrics plugin
* Copyright ( c ) 2012 Willow Systems Corporation , willow - systems . com
* MIT license .
* Permission is hereby granted , free of charge , to any person obtaining
* a copy of this software and associated documentation files ( the
* "Software" ) , to deal in the Software without restriction , including
* without limitation the rights to use , copy , modify , merge , publish ,
* distribute , sublicense , and / or sell copies of the Software , and to
* permit persons to whom the Software is furnished to do so , subject to
* the following conditions :
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND ,
* EXPRESS OR IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT . IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM , DAMAGES OR OTHER LIABILITY , WHETHER IN AN ACTION
* OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE .
* === === === === === === === === === === === === === === === === === === === === === === ==
* /
function ( t ) { t . _ _fontmetrics _ _ = t . _ _fontmetrics _ _ || { } ; for ( var e = "klmnopqrstuvwxyz" , r = { } , n = { } , i = 0 ; i < e . length ; i ++ ) r [ e [ i ] ] = "0123456789abcdef" [ i ] , n [ "0123456789abcdef" [ i ] ] = e [ i ] ; var a = function ( t ) { return "0x" + parseInt ( t , 10 ) . toString ( 16 ) } , o = t . _ _fontmetrics _ _ . compress = function ( t ) { var e , r , i , s , u = [ "{" ] ; for ( var c in t ) { if ( e = t [ c ] , isNaN ( parseInt ( c , 10 ) ) ? r = "'" + c + "'" : ( c = parseInt ( c , 10 ) , r = ( r = a ( c ) . slice ( 2 ) ) . slice ( 0 , - 1 ) + n [ r . slice ( - 1 ) ] ) , "number" == typeof e ) e < 0 ? ( i = a ( e ) . slice ( 3 ) , s = "-" ) : ( i = a ( e ) . slice ( 2 ) , s = "" ) , i = s + i . slice ( 0 , - 1 ) + n [ i . slice ( - 1 ) ] ; else { if ( "object" != typeof e ) throw new Error ( "Don't know what to do with value type " + typeof e + "." ) ; i = o ( e ) } u . push ( r + i ) } return u . push ( "}" ) , u . join ( "" ) } , s = t . _ _fontmetrics _ _ . uncompress = function ( t ) { if ( "string" != typeof t ) throw new Error ( "Invalid argument passed to uncompress." ) ; for ( var e , n , i , a , o = { } , s = 1 , u = o , c = [ ] , l = "" , h = "" , f = t . length - 1 , d = 1 ; d < f ; d += 1 ) "'" == ( a = t [ d ] ) ? e ? ( i = e . join ( "" ) , e = void 0 ) : e = [ ] : e ? e . push ( a ) : "{" == a ? ( c . push ( [ u , i ] ) , u = { } , i = void 0 ) : "}" == a ? ( ( n = c . pop ( ) ) [ 0 ] [ n [ 1 ] ] = u , i = void 0 , u = n [ 0 ] ) : "-" == a ? s = - 1 : void 0 === i ? r . hasOwnProperty ( a ) ? ( l += r [ a ] , i = parseInt ( l , 16 ) * s , s = 1 , l = "" ) : l += a : r . hasOwnProperty ( a ) ? ( h += r [ a ] , u [ i ] = parseInt ( h , 16 ) * s , s = 1 , i = void 0 , h = "" ) : h += a ; return o } , u = { codePages : [ "WinAnsiEncoding" ] , WinAnsiEncoding : s ( "{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}" ) } , c = { Unicode : { Courier : u , "Courier-Bold" : u , "Courier-BoldOblique" : u , "Courier-Oblique" : u , Helvetica : u , "Helvetica-Bold" : u , "Helvetica-BoldOblique" : u , "Helvetica-Oblique" : u , "Times-Roman" : u , "Times-Bold" : u , "Times-BoldItalic" : u , "Times-Italic" : u } } , l = { Unicode : { "Courier-Oblique" : s ( "{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}" ) , "Times-BoldItalic" : s ( "{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}" ) , "Helvetica-Bold" : s ( " { 'widths' { k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u 'fof' 6 obo2lbp3xbq3rbr1wbs
/ * *
* @ license
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /
function ( t ) { var e = function ( t ) { for ( var e = t . length , r = new Uint8Array ( e ) , n = 0 ; n < e ; n ++ ) r [ n ] = t . charCodeAt ( n ) ; return r } ; t . API . events . push ( [ "addFont" , function ( r ) { var n = void 0 , i = r . font , a = r . instance ; if ( ! i . isStandardFont ) { if ( void 0 === a ) throw new Error ( "Font does not exist in vFS, import fonts or remove declaration doc.addFont('" + i . postScriptName + "')." ) ; if ( "string" != typeof ( n = ! 1 === a . existsFileInVFS ( i . postScriptName ) ? a . loadFile ( i . postScriptName ) : a . getFileFromVFS ( i . postScriptName ) ) ) throw new Error ( "Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('" + i . postScriptName + "')." ) ; ! function ( r , n ) { n = /^\x00\x01\x00\x00/ . test ( n ) ? e ( n ) : e ( s ( n ) ) , r . metadata = t . API . TTFFont . open ( n ) , r . metadata . Unicode = r . metadata . Unicode || { encoding : { } , kerning : { } , widths : [ ] } , r . metadata . glyIdsUsed = [ 0 ] } ( i , n ) } } ] ) } ( j ) ,
/ * * @ l i c e n s e
* Copyright ( c ) 2012 Willow Systems Corporation , willow - systems . com
*
* Permission is hereby granted , free of charge , to any person obtaining
* a copy of this software and associated documentation files ( the
* "Software" ) , to deal in the Software without restriction , including
* without limitation the rights to use , copy , modify , merge , publish ,
* distribute , sublicense , and / or sell copies of the Software , and to
* permit persons to whom the Software is furnished to do so , subject to
* the following conditions :
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND ,
* EXPRESS OR IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT . IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM , DAMAGES OR OTHER LIABILITY , WHETHER IN AN ACTION
* OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE .
* === === === === === === === === === === === === === === === === === === === === === === ==
* /
function ( r ) { function i ( ) { return ( e . canvg ? Promise . resolve ( e . canvg ) : "object" == typeof t && "undefined" != typeof module ? new Promise ( ( function ( t , e ) { try { t ( require ( "canvg" ) ) } catch ( t ) { e ( t ) } } ) ) : "function" == typeof define && define . amd ? new Promise ( ( function ( t , e ) { try { require ( [ "canvg" ] , t ) } catch ( t ) { e ( t ) } } ) ) : Promise . reject ( new Error ( "Could not load canvg" ) ) ) . catch ( ( function ( t ) { return Promise . reject ( new Error ( "Could not load canvg: " + t ) ) } ) ) . then ( ( function ( t ) { return t . default ? t . default : t } ) ) } r . addSvgAsImage = function ( t , e , r , a , o , s , u , c ) { if ( isNaN ( e ) || isNaN ( r ) ) throw n . error ( "jsPDF.addSvgAsImage: Invalid coordinates" , arguments ) , new Error ( "Invalid coordinates passed to jsPDF.addSvgAsImage" ) ; if ( isNaN ( a ) || isNaN ( o ) ) throw n . error ( "jsPDF.addSvgAsImage: Invalid measurements" , arguments ) , new Error ( "Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage" ) ; var l = document . createElement ( "canvas" ) ; l . width = a , l . height = o ; var h = l . getContext ( "2d" ) ; h . fillStyle = "#fff" , h . fillRect ( 0 , 0 , l . width , l . height ) ; var f = { ignoreMouse : ! 0 , ignoreAnimation : ! 0 , ignoreDimensions : ! 0 } , d = this ; return i ( ) . then ( ( function ( e ) { return e . fromString ( h , t , f ) } ) , ( function ( ) { return Promise . reject ( new Error ( "Could not load canvg." ) ) } ) ) . then ( ( function ( t ) { return t . render ( f ) } ) ) . then ( ( function ( ) { d . addImage ( l . toDataURL ( "image/jpeg" , 1 ) , e , r , a , o , u , c ) } ) ) } } ( j . API ) ,
/ * *
* @ license
* === === === === === === === === === === === === === === === === === === === === === === ==
* Copyright ( c ) 2013 Eduardo Menezes de Morais , eduardo . morais @ usp . br
*
* Permission is hereby granted , free of charge , to any person obtaining
* a copy of this software and associated documentation files ( the
* "Software" ) , to deal in the Software without restriction , including
* without limitation the rights to use , copy , modify , merge , publish ,
* distribute , sublicense , and / or sell copies of the Software , and to
* permit persons to whom the Software is furnished to do so , subject to
* the following conditions :
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND ,
* EXPRESS OR IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT . IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM , DAMAGES OR OTHER LIABILITY , WHETHER IN AN ACTION
* OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE .
* === === === === === === === === === === === === === === === === === === === === === === ==
* /
function ( t ) { t . putTotalPages = function ( t ) { var e , r = 0 ; parseInt ( this . internal . getFont ( ) . id . substr ( 1 ) , 10 ) < 15 ? ( e = new RegExp ( t , "g" ) , r = this . internal . getNumberOfPages ( ) ) : ( e = new RegExp ( this . pdfEscape16 ( t , this . internal . getFont ( ) ) , "g" ) , r = this . pdfEscape16 ( this . internal . getNumberOfPages ( ) + "" , this . internal . getFont ( ) ) ) ; for ( var n = 1 ; n <= this . internal . getNumberOfPages ( ) ; n ++ ) for ( var i = 0 ; i < this . internal . pages [ n ] . length ; i ++ ) this . internal . pages [ n ] [ i ] = this . internal . pages [ n ] [ i ] . replace ( e , r ) ; return this } } ( j . API ) ,
/ * *
* @ license
* jsPDF viewerPreferences Plugin
* @ author Aras Abbasi ( github . com / arasabbasi )
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /
function ( t ) { t . viewerPreferences = function ( t , e ) { var r ; t = t || { } , e = e || ! 1 ; var n , i , a , o = { HideToolbar : { defaultValue : ! 1 , value : ! 1 , type : "boolean" , explicitSet : ! 1 , valueSet : [ ! 0 , ! 1 ] , pdfVersion : 1.3 } , HideMenubar : { defaultValue : ! 1 , value : ! 1 , type : "boolean" , explicitSet : ! 1 , valueSet : [ ! 0 , ! 1 ] , pdfVersion : 1.3 } , HideWindowUI : { defaultValue : ! 1 , value : ! 1 , type : "boolean" , explicitSet : ! 1 , valueSet : [ ! 0 , ! 1 ] , pdfVersion : 1.3 } , FitWindow : { defaultValue : ! 1 , value : ! 1 , type : "boolean" , explicitSet : ! 1 , valueSet : [ ! 0 , ! 1 ] , pdfVersion : 1.3 } , CenterWindow : { defaultValue : ! 1 , value : ! 1 , type : "boolean" , explicitSet : ! 1 , valueSet : [ ! 0 , ! 1 ] , pdfVersion : 1.3 } , DisplayDocTitle : { defaultValue : ! 1 , value : ! 1 , type : "boolean" , explicitSet : ! 1 , valueSet : [ ! 0 , ! 1 ] , pdfVersion : 1.4 } , NonFullScreenPageMode : { defaultValue : "UseNone" , value : "UseNone" , type : "name" , explicitSet : ! 1 , valueSet : [ "UseNone" , "UseOutlines" , "UseThumbs" , "UseOC" ] , pdfVersion : 1.3 } , Direction : { defaultValue : "L2R" , value : "L2R" , type : "name" , explicitSet : ! 1 , valueSet : [ "L2R" , "R2L" ] , pdfVersion : 1.3 } , ViewArea : { defaultValue : "CropBox" , value : "CropBox" , type : "name" , explicitSet : ! 1 , valueSet : [ "MediaBox" , "CropBox" , "TrimBox" , "BleedBox" , "ArtBox" ] , pdfVersion : 1.4 } , ViewClip : { defaultValue : "CropBox" , value : "CropBox" , type : "name" , explicitSet : ! 1 , valueSet : [ "MediaBox" , "CropBox" , "TrimBox" , "BleedBox" , "ArtBox" ] , pdfVersion : 1.4 } , PrintArea : { defaultValue : "CropBox" , value : "CropBox" , type : "name" , explicitSet : ! 1 , valueSet : [ "MediaBox" , "CropBox" , "TrimBox" , "BleedBox" , "ArtBox" ] , pdfVersion : 1.4 } , PrintClip : { defaultValue : "CropBox" , value : "CropBox" , type : "name" , explicitSet : ! 1 , valueSet : [ "MediaBox" , "CropBox" , "TrimBox" , "BleedBox" , "ArtBox" ] , pdfVersion : 1.4 } , PrintScaling : { defaultValue : "AppDefault" , value : "AppDefault" , type : "name" , explicitSet : ! 1 , valueSet : [ "AppDefault" , "None" ] , pdfVersion : 1.6 } , Duplex : { defaultValue : "" , value : "none" , type : "name" , explicitSet : ! 1 , valueSet : [ "Simplex" , "DuplexFlipShortEdge" , "DuplexFlipLongEdge" , "none" ] , pdfVersion : 1.7 } , PickTrayByPDFSize : { defaultValue : ! 1 , value : ! 1 , type : "boolean" , explicitSet : ! 1 , valueSet : [ ! 0 , ! 1 ] , pdfVersion : 1.7 } , PrintPageRange : { defaultValue : "" , value : "" , type : "array" , explicitSet : ! 1 , valueSet : null , pdfVersion : 1.7 } , NumCopies : { defaultValue : 1 , value : 1 , type : "integer" , explicitSet : ! 1 , valueSet : null , pdfVersion : 1.7 } } , s = Object . keys ( o ) , u = [ ] , c = 0 , l = 0 , h = 0 ; function f ( t , e ) { var r , n = ! 1 ; for ( r = 0 ; r < t . length ; r += 1 ) t [ r ] === e && ( n = ! 0 ) ; return n } if ( void 0 === this . internal . viewerpreferences && ( this . internal . viewerpreferences = { } , this . internal . viewerpreferences . configuration = JSON . parse ( JSON . stringify ( o ) ) , this . internal . viewerpreferences . isSubscribed = ! 1 ) , r = this . internal . viewerpreferences . configuration , "reset" === t || ! 0 === e ) { var d = s . length ; for ( h = 0 ; h < d ; h += 1 ) r [ s [ h ] ] . value = r [ s [ h ] ] . defaultValue , r [ s [ h ] ] . explicitSet = ! 1 } if ( "object" == typeof t ) for ( i in t ) if ( a = t [ i ] , f ( s , i ) && void 0 !== a ) { if ( "boolean" === r [ i ] . type && "boolean" == typeof a ) r [ i ] . value = a ; else if ( "name" === r [ i ] . type && f ( r [ i ] . valueSet , a ) ) r [ i ] . value = a ; else if ( "integer" === r [ i ] . type && Number . isInteger ( a ) ) r [ i ] . value = a ; else if ( "array" === r [ i ] . type ) { for ( c = 0 ; c < a . length ; c += 1 ) if ( n = ! 0 , 1 === a [ c ] . length && "number" == typeof a [ c ] [ 0 ] ) u . push ( String ( a [ c ] - 1 ) ) ; else if ( a [ c ] . length > 1 ) { for ( l = 0 ; l < a [ c ] . length ; l += 1 ) "number" != typeof a [ c ] [ l ] && ( n = ! 1 ) ; ! 0 === n && u . push ( [ a [ c ] [ 0 ] - 1 , a [ c ] [ 1 ] - 1 ] . join ( " " ) ) } r [ i ] . value = "[" + u . join ( " " ) + "]" } else r [ i ] . value = r [ i ] . defaultValue ; r [ i ] . explicitSet = ! 0 } return ! 1 === this . internal . viewerpreferences . isSubscribed && ( this . internal . events . subscribe ( "putCatalog" , ( function ( ) { var t , e = [ ] ; for ( t in r ) ! 0 === r [ t ] . explicitSet && ( "name" === r [ t ] . type ? e . push ( "/" + t + " /" + r [ t ] . value ) : e . push ( "/" + t + " " + r [ t ] . value ) ) ; 0 !== e . length && this . internal . write ( "/ViewerPreferences\n<<\n" + e . join ( "\n" ) + "\n>>" ) } ) ) , this . internal . viewerpreferences . isSubscribed = ! 0 ) , this . internal . viewerpreferences . configuration = r , this } } ( j . API ) ,
/ * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* @ license
* jsPDF XMP metadata plugin
* Copyright ( c ) 2016 Jussi Utunen , u - jussi @ suomi24 . fi
*
* Permission is hereby granted , free of charge , to any person obtaining
* a copy of this software and associated documentation files ( the
* "Software" ) , to deal in the Software without restriction , including
* without limitation the rights to use , copy , modify , merge , publish ,
* distribute , sublicense , and / or sell copies of the Software , and to
* permit persons to whom the Software is furnished to do so , subject to
* the following conditions :
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND ,
* EXPRESS OR IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT . IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM , DAMAGES OR OTHER LIABILITY , WHETHER IN AN ACTION
* OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE .
* === === === === === === === === === === === === === === === === === === === === === === ==
* /
function ( t ) { var e = function ( ) { var t = '<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:jspdf="' + this . internal . _ _metadata _ _ . namespaceuri + '"><jspdf:metadata>' , e = unescape ( encodeURIComponent ( '<x:xmpmeta xmlns:x="adobe:ns:meta/">' ) ) , r = unescape ( encodeURIComponent ( t ) ) , n = unescape ( encodeURIComponent ( this . internal . _ _metadata _ _ . metadata ) ) , i = unescape ( encodeURIComponent ( "</jspdf:metadata></rdf:Description></rdf:RDF>" ) ) , a = unescape ( encodeURIComponent ( "</x:xmpmeta>" ) ) , o = r . length + n . length + i . length + e . length + a . length ; this . internal . _ _metadata _ _ . metadata _object _number = this . internal . newObject ( ) , this . internal . write ( "<< /Type /Metadata /Subtype /XML /Length " + o + " >>" ) , this . internal . write ( "stream" ) , this . internal . write ( e + r + n + i + a ) , this . internal . write ( "endstream" ) , this . internal . write ( "endobj" ) } , r = function ( ) { this . internal . _ _metadata _ _ . metadata _object _number && this . internal . write ( "/Metadata " + this . internal . _ _metadata _ _ . metadata _object _number + " 0 R" ) } ; t . addMetadata = function ( t , n ) { return void 0 === this . internal . _ _metadata _ _ && ( this . internal . _ _metadata _ _ = { metadata : t , namespaceuri : n || "http://jspdf.default.namespaceuri/" } , this . internal . events . subscribe ( "putCatalog" , r ) , this . internal . events . subscribe ( "postPutResources" , e ) ) , this } } ( j . API ) , function ( t ) { var e = t . API , r = e . pdfEscape16 = function ( t , e ) { for ( var r , n = e . metadata . Unicode . widths , i = [ "" , "0" , "00" , "000" , "0000" ] , a = [ "" ] , o = 0 , s = t . length ; o < s ; ++ o ) { if ( r = e . metadata . characterToGlyph ( t . charCodeAt ( o ) ) , e . metadata . glyIdsUsed . push ( r ) , e . metadata . toUnicode [ r ] = t . charCodeAt ( o ) , - 1 == n . indexOf ( r ) && ( n . push ( r ) , n . push ( [ parseInt ( e . metadata . widthOfGlyph ( r ) , 10 ) ] ) ) , "0" == r ) return a . join ( "" ) ; r = r . toString ( 16 ) , a . push ( i [ 4 - r . length ] , r ) } return a . join ( "" ) } , n = function ( t ) { var e , r , n , i , a , o , s ; for ( a = "/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n /Registry (Adobe)\n /Ordering (UCS)\n /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000><ffff>\nendcodespacerange" , n = [ ] , o = 0 , s = ( r = Object . keys ( t ) . sort ( ( function ( t , e ) { return t - e } ) ) ) . length ; o < s ; o ++ ) e = r [ o ] , n . length >= 100 && ( a += "\n" + n . length + " beginbfchar\n" + n . join ( "\n" ) + "\nendbfchar" , n = [ ] ) , void 0 !== t [ e ] && null !== t [ e ] && "function" == typeof t [ e ] . toString && ( i = ( "0000" + t [ e ] . toString ( 16 ) ) . slice ( - 4 ) , e = ( "0000" + ( + e ) . toString ( 16 ) ) . slice ( - 4 ) , n . push ( "<" + e + "><" + i + ">" ) ) ; return n . length && ( a += "\n" + n . length + " beginbfchar\n" + n . join ( "\n" ) + "\nendbfchar\n" ) , a += "endcmap\nCMapName currentdict /CMap defineresource pop\nend\nend" } ; e . events . push ( [ "putFont" , function ( e ) { ! function ( e ) { var r = e . font , i = e . out , a = e . newObject , o = e . putStream , s = e . pdfEscapeWithNeededParanthesis ; if ( r . metadata instanceof t . API . TTFFont && "Identity-H" === r . encoding ) { for ( var u = r . metadata . Unicode . widths , c = r . metadata . subset . encode ( r . metadata . glyIdsUsed , 1 ) , l = "" , h = 0 ; h < c . length ; h ++ ) l += String . fromCharCode ( c [ h ] ) ; var f = a ( ) ; o ( { data : l , addLength1 : ! 0 , objectId : f } ) , i ( "endobj" ) ; var d = a ( ) ; o ( { data : n ( r . metadata . toUnicode ) , addLength1 : ! 0 , objectId : d } ) , i ( "endobj" ) ; var p = a ( ) ; i ( "<<" ) , i ( "/Type /FontDescriptor" ) , i ( "/FontName /" + s ( r . fontName ) ) , i ( "/FontFile2 " + f + " 0 R" ) , i ( "/FontBBox " + t . API . PDFObject . convert ( r . metadata . bbox ) ) , i ( "/Flags " + r . metadata . flags ) , i ( "/StemV " + r . metadata . stemV ) , i ( "/ItalicAngle " + r . metadata . italicAngle ) , i ( "/Ascent " + r . metadata . ascender ) , i ( "/Descent " + r . metadata . decender ) , i ( "/CapHeight " + r . metadata . capHeight ) , i ( ">>" ) , i ( "endobj" ) ; var g = a ( ) ; i ( "<<" ) , i ( "/Type /Font" ) , i ( "/BaseFont /" + s ( r . fontName ) ) , i ( "/FontDescriptor " + p + " 0 R" ) , i ( "/W " + t . API . PDFObject . convert ( u ) ) , i ( "/CIDToGIDMap /Identity" ) , i ( "/DW 1000" ) , i ( "/Subtype /CIDFontType2" ) , i ( "/CIDSystemInfo" ) , i ( "<<" ) , i ( "/Supplement 0" ) , i ( "/Registry (Adobe)" ) , i ( "/Ordering (" + r . encoding + ")" ) , i ( ">>" ) , i ( ">>" ) , i ( "endobj" ) , r . objectNumber = a ( ) , i ( "<<" ) , i ( "/Type /Font" ) , i ( "/Subtype /Type0" ) , i ( "/ToUnicode " + d + " 0 R" ) , i ( "/BaseFont /" + s ( r . fontName ) ) , i ( "/Encoding /" + r . encoding ) , i ( "/DescendantFonts [" + g + " 0 R]" ) , i ( ">>" ) , i ( "endobj" ) , r . isAlreadyPutted = ! 0 } } ( e ) } ] ) ; e . events . push ( [ "putFont" , function ( e ) { ! function ( e ) { var r = e . font , i = e . out , a = e . newObject , o = e . putStream , s = e . pdfEscapeWithNeededParanthesis ; if ( r . metadata instanceof t . API . TTFFont &
/ * *
* @ license
* jsPDF virtual FileSystem functionality
*
* Licensed under the MIT License .
* http : //opensource.org/licenses/mit-license
* /
function ( t ) { var e = function ( ) { return void 0 === this . internal . vFS && ( this . internal . vFS = { } ) , ! 0 } ; t . existsFileInVFS = function ( t ) { return e . call ( this ) , void 0 !== this . internal . vFS [ t ] } , t . addFileToVFS = function ( t , r ) { return e . call ( this ) , this . internal . vFS [ t ] = r , this } , t . getFileFromVFS = function ( t ) { return e . call ( this ) , void 0 !== this . internal . vFS [ t ] ? this . internal . vFS [ t ] : null } } ( j . API ) ,
/ * *
* @ license
* Unicode Bidi Engine based on the work of Alex Shensis ( @ asthensis )
* MIT License
* /
function ( t ) { t . _ _bidiEngine _ _ = t . prototype . _ _bidiEngine _ _ = function ( t ) { var r , n , i , a , o , s , u , c = e , l = [ [ 0 , 3 , 0 , 1 , 0 , 0 , 0 ] , [ 0 , 3 , 0 , 1 , 2 , 2 , 0 ] , [ 0 , 3 , 0 , 17 , 2 , 0 , 1 ] , [ 0 , 3 , 5 , 5 , 4 , 1 , 0 ] , [ 0 , 3 , 21 , 21 , 4 , 0 , 1 ] , [ 0 , 3 , 5 , 5 , 4 , 2 , 0 ] ] , h = [ [ 2 , 0 , 1 , 1 , 0 , 1 , 0 ] , [ 2 , 0 , 1 , 1 , 0 , 2 , 0 ] , [ 2 , 0 , 2 , 1 , 3 , 2 , 0 ] , [ 2 , 0 , 2 , 33 , 3 , 1 , 1 ] ] , f = { L : 0 , R : 1 , EN : 2 , AN : 3 , N : 4 , B : 5 , S : 6 } , d = { 0 : 0 , 5 : 1 , 6 : 2 , 7 : 3 , 32 : 4 , 251 : 5 , 254 : 6 , 255 : 7 } , p = [ "(" , ")" , "(" , "<" , ">" , "<" , "[" , "]" , "[" , "{" , "}" , "{" , "«" , "»" , "«" , "‹ " , "› " , "‹ " , "⁅" , "⁆" , "⁅" , "⁽" , "⁾" , "⁽" , "₍" , "₎" , "₍" , "≤" , "≥" , "≤" , "〈" , "〉" , "〈" , "﹙" , "﹚" , "﹙" , "﹛" , "﹜" , "﹛" , "﹝" , "﹞" , "﹝" , "﹤" , "﹥" , "﹤" ] , g = new RegExp ( /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/ ) , m = ! 1 , v = 0 ; this . _ _bidiEngine _ _ = { } ; var b = function ( t ) { var e = t . charCodeAt ( ) , r = e >> 8 , n = d [ r ] ; return void 0 !== n ? c [ 256 * n + ( 255 & e ) ] : 252 === r || 253 === r ? "AL" : g . test ( r ) ? "L" : 8 === r ? "R" : "N" } , y = function ( t ) { for ( var e , r = 0 ; r < t . length ; r ++ ) { if ( "L" === ( e = b ( t . charAt ( r ) ) ) ) return ! 1 ; if ( "R" === e ) return ! 0 } return ! 1 } , w = function ( t , e , o , s ) { var u , c , l , h , f = e [ s ] ; switch ( f ) { case "L" : case "R" : m = ! 1 ; break ; case "N" : case "AN" : break ; case "EN" : m && ( f = "AN" ) ; break ; case "AL" : m = ! 0 , f = "R" ; break ; case "WS" : f = "N" ; break ; case "CS" : s < 1 || s + 1 >= e . length || "EN" !== ( u = o [ s - 1 ] ) && "AN" !== u || "EN" !== ( c = e [ s + 1 ] ) && "AN" !== c ? f = "N" : m && ( c = "AN" ) , f = c === u ? c : "N" ; break ; case "ES" : f = "EN" === ( u = s > 0 ? o [ s - 1 ] : "B" ) && s + 1 < e . length && "EN" === e [ s + 1 ] ? "EN" : "N" ; break ; case "ET" : if ( s > 0 && "EN" === o [ s - 1 ] ) { f = "EN" ; break } if ( m ) { f = "N" ; break } for ( l = s + 1 , h = e . length ; l < h && "ET" === e [ l ] ; ) l ++ ; f = l < h && "EN" === e [ l ] ? "EN" : "N" ; break ; case "NSM" : if ( i && ! a ) { for ( h = e . length , l = s + 1 ; l < h && "NSM" === e [ l ] ; ) l ++ ; if ( l < h ) { var d = t [ s ] , p = d >= 1425 && d <= 2303 || 64286 === d ; if ( u = e [ l ] , p && ( "R" === u || "AL" === u ) ) { f = "R" ; break } } } f = s < 1 || "B" === ( u = e [ s - 1 ] ) ? "N" : o [ s - 1 ] ; break ; case "B" : m = ! 1 , r = ! 0 , f = v ; break ; case "S" : n = ! 0 , f = "N" ; break ; case "LRE" : case "RLE" : case "LRO" : case "RLO" : case "PDF" : m = ! 1 ; break ; case "BN" : f = "N" } return f } , N = function ( t , e , r ) { var n = t . split ( "" ) ; return r && A ( n , r , { hiLevel : v } ) , n . reverse ( ) , e && e . reverse ( ) , n . join ( "" ) } , A = function ( t , e , i ) { var a , o , s , u , c , d = - 1 , p = t . length , g = 0 , y = [ ] , N = v ? h : l , A = [ ] ; for ( m = ! 1 , r = ! 1 , n = ! 1 , o = 0 ; o < p ; o ++ ) A [ o ] = b ( t [ o ] ) ; for ( s = 0 ; s < p ; s ++ ) { if ( c = g , y [ s ] = w ( t , A , y , s ) , a = 240 & ( g = N [ c ] [ f [ y [ s ] ] ] ) , g &= 15 , e [ s ] = u = N [ g ] [ 5 ] , a > 0 ) if ( 16 === a ) { for ( o = d ; o < s ; o ++ ) e [ o ] = 1 ; d = - 1 } else d = - 1 ; if ( N [ g ] [ 6 ] ) - 1 === d && ( d = s ) ; else if ( d > - 1 ) { for ( o = d ; o < s ; o ++ ) e [ o ] = u ; d = - 1 } "B" === A [ s ] && ( e [ s ] = 0 ) , i . hiLevel |= u } n && function ( t , e , r ) { for ( var n = 0 ; n < r ; n ++ ) if ( "S" === t [ n ] ) { e [ n ] = v ; for ( var i = n - 1 ; i >= 0 && "WS" === t [ i ] ; i -- ) e [ i ] = v } } ( A , e , p ) } , L = function ( t , e , n , i , a ) { if ( ! ( a . hiLevel < t ) ) { if ( 1 === t && 1 === v && ! r ) return e . reverse ( ) , void ( n && n . reverse ( ) ) ; for ( var o , s , u , c , l = e . length , h = 0 ; h < l ; ) { if ( i [ h ] >= t ) { for ( u = h + 1 ; u < l && i [ u ] >= t ; ) u ++ ; for ( c = h , s = u - 1 ; c < s ; c ++ , s -- ) o = e [ c ] , e [ c ] = e [ s ] , e [ s ] = o , n && ( o = n [ c ] , n [ c ] = n [ s ] , n [ s ] = o ) ; h = u } h ++ } } } , x = function ( t , e , r ) { var n = t . split ( "" ) , i = { hiLevel : v } ; return r || ( r = [ ] ) , A ( n , r , i ) , function ( t , e , r ) { if ( 0 !== r . hiLevel && u ) for ( var n , i = 0 ; i < t . length ; i ++ ) 1 === e [ i ] && ( n = p . indexOf ( t [ i ] ) ) >= 0 && ( t [ i ] = p [ n + 1 ] ) } ( n , r , i ) , L ( 2 , n , e , r , i ) , L ( 1 , n , e , r , i ) , n . join ( "" ) } ; return this . _ _bidiEngine _ _ . doBidiReorder = function ( t , e , r ) { if ( function ( t , e ) { if ( e ) for ( var r = 0 ; r < t . length ; r ++ ) e [ r ] = r ; void 0 === a && ( a = y ( t ) ) , void 0 === s && ( s = y ( t ) ) } ( t , e ) , i || ! o || s ) if ( i && o && a ^ s ) v = a ? 1 : 0 , t = N ( t , e , r ) ; else if ( ! i && o && s ) v = a ? 1 : 0 , t = x ( t , e , r ) , t = N ( t , e ) ; else if ( ! i || a || o || s ) { if ( i && ! o && a ^ s ) t = N ( t , e ) , a ? ( v = 0 , t = x ( t , e , r ) ) : ( v = 1 , t = x ( t , e , r ) , t = N ( t , e ) ) ; else if ( i && a && ! o && s ) v = 1 , t = x ( t , e , r ) , t = N ( t , e ) ; else if ( ! i && ! o && a ^ s ) { var n = u ; a ? ( v = 1 , t = x ( t , e , r ) , v = 0 , u = ! 1 , t = x ( t , e , r ) , u = n ) : ( v = 0 , t = x ( t , e , r ) , t = N ( t , e ) , v = 1 , u = ! 1 , t = x ( t , e , r ) , u = n , t = N ( t , e ) ) } } else v = 0 , t = x ( t , e , r ) ; else v = a ? 1 : 0 , t = x ( t , e , r ) ; return t } , this . _ _bidiEngine _ _ . setOptions = function ( t ) { t && ( i = t . isInputVisual , o = t . isOutputVisual , a = t . isInputRtl , s = t . isOutputRtl , u = t . isSymmetricSwapping ) } , this . _ _bidiEngine _ _ . setOptions ( t ) , this . _ _bidiEngine _ _ } ; var e = [ "BN" , "BN" , "BN" , "BN" , "BN" , "BN" , "BN" , "BN" , "BN" , "S" , "B" , "S" , "WS" , "B" , "BN" , "BN" , "BN" , "BN" , "BN" , "BN" , "BN" , "BN" , "BN" , "BN" , "BN" , "BN" , "BN" , "BN" , "B" , "B" , "B" , "S" , "WS" , "N" , "N" , "ET" , "ET" , "ET" , "N" , "N" , "N" , "N" , "N" , "ES" , "CS" , "ES" , "CS" , "CS" , "EN" , "EN" , "EN" , "EN" , "EN" , "EN" , "EN" , "EN" , "EN" , "EN" , "CS" , "N" , "N" , "N" , "N" , "N" , "N" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "L" , "N"
//# sourceMappingURL=jspdf.umd.min.js.map
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
var saveAs = saveAs || function ( e ) { "use strict" ; if ( typeof e === "undefined" || typeof navigator !== "undefined" && /MSIE [1-9]\./ . test ( navigator . userAgent ) ) { return } var t = e . document , n = function ( ) { return e . URL || e . webkitURL || e } , r = t . createElementNS ( "http://www.w3.org/1999/xhtml" , "a" ) , o = "download" in r , a = function ( e ) { var t = new MouseEvent ( "click" ) ; e . dispatchEvent ( t ) } , i = /constructor/i . test ( e . HTMLElement ) || e . safari , f = /CriOS\/[\d]+/ . test ( navigator . userAgent ) , u = function ( t ) { ( e . setImmediate || e . setTimeout ) ( function ( ) { throw t } , 0 ) } , s = "application/octet-stream" , d = 1e3 * 40 , c = function ( e ) { var t = function ( ) { if ( typeof e === "string" ) { n ( ) . revokeObjectURL ( e ) } else { e . remove ( ) } } ; setTimeout ( t , d ) } , l = function ( e , t , n ) { t = [ ] . concat ( t ) ; var r = t . length ; while ( r -- ) { var o = e [ "on" + t [ r ] ] ; if ( typeof o === "function" ) { try { o . call ( e , n || e ) } catch ( a ) { u ( a ) } } } } , p = function ( e ) { if ( /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i . test ( e . type ) ) { return new Blob ( [ String . fromCharCode ( 65279 ) , e ] , { type : e . type } ) } return e } , v = function ( t , u , d ) { if ( ! d ) { t = p ( t ) } var v = this , w = t . type , m = w === s , y , h = function ( ) { l ( v , "writestart progress write writeend" . split ( " " ) ) } , S = function ( ) { if ( ( f || m && i ) && e . FileReader ) { var r = new FileReader ; r . onloadend = function ( ) { var t = f ? r . result : r . result . replace ( /^data:[^;]*;/ , "data:attachment/file;" ) ; var n = e . open ( t , "_blank" ) ; if ( ! n ) e . location . href = t ; t = undefined ; v . readyState = v . DONE ; h ( ) } ; r . readAsDataURL ( t ) ; v . readyState = v . INIT ; return } if ( ! y ) { y = n ( ) . createObjectURL ( t ) } if ( m ) { e . location . href = y } else { var o = e . open ( y , "_blank" ) ; if ( ! o ) { e . location . href = y } } v . readyState = v . DONE ; h ( ) ; c ( y ) } ; v . readyState = v . INIT ; if ( o ) { y = n ( ) . createObjectURL ( t ) ; setTimeout ( function ( ) { r . href = y ; r . download = u ; a ( r ) ; h ( ) ; c ( y ) ; v . readyState = v . DONE } ) ; return } S ( ) } , w = v . prototype , m = function ( e , t , n ) { return new v ( e , t || e . name || "download" , n ) } ; if ( typeof navigator !== "undefined" && navigator . msSaveOrOpenBlob ) { return function ( e , t , n ) { t = t || e . name || "download" ; if ( ! n ) { e = p ( e ) } return navigator . msSaveOrOpenBlob ( e , t ) } } w . abort = function ( ) { } ; w . readyState = w . INIT = 0 ; w . WRITING = 1 ; w . DONE = 2 ; w . error = w . onwritestart = w . onprogress = w . onwrite = w . onabort = w . onerror = w . onwriteend = null ; return m } ( typeof self !== "undefined" && self || typeof window !== "undefined" && window || this . content ) ; if ( typeof module !== "undefined" && module . exports ) { module . exports . saveAs = saveAs } else if ( typeof define !== "undefined" && define !== null && define . amd !== null ) { define ( "FileSaver.js" , function ( ) { return saveAs } ) }
/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
var XLSX = { } ; function make _xlsx _lib ( e ) { e . version = "0.18.5" ; var r = 1200 , t = 1252 ; var a ; if ( typeof cptable !== "undefined" ) a = cptable ; else if ( typeof module !== "undefined" && typeof require !== "undefined" ) { a = undefined } var n = [ 874 , 932 , 936 , 949 , 950 , 1250 , 1251 , 1252 , 1253 , 1254 , 1255 , 1256 , 1257 , 1258 , 1e4 ] ; var i = { 0 : 1252 , 1 : 65001 , 2 : 65001 , 77 : 1e4 , 128 : 932 , 129 : 949 , 130 : 1361 , 134 : 936 , 136 : 950 , 161 : 1253 , 162 : 1254 , 163 : 1258 , 177 : 1255 , 178 : 1256 , 186 : 1257 , 204 : 1251 , 222 : 874 , 238 : 1250 , 255 : 1252 , 69 : 6969 } ; var s = function ( e ) { if ( n . indexOf ( e ) == - 1 ) return ; t = i [ 0 ] = e } ; function f ( ) { s ( 1252 ) } var o = function ( e ) { r = e ; s ( e ) } ; function c ( ) { o ( 1200 ) ; f ( ) } function l ( e ) { var r = [ ] ; for ( var t = 0 , a = e . length ; t < a ; ++ t ) r [ t ] = e . charCodeAt ( t ) ; return r } function u ( e ) { var r = [ ] ; for ( var t = 0 ; t < e . length >> 1 ; ++ t ) r [ t ] = String . fromCharCode ( e . charCodeAt ( 2 * t ) + ( e . charCodeAt ( 2 * t + 1 ) << 8 ) ) ; return r . join ( "" ) } function h ( e ) { var r = [ ] ; for ( var t = 0 ; t < e . length >> 1 ; ++ t ) r [ t ] = String . fromCharCode ( e . charCodeAt ( 2 * t + 1 ) + ( e . charCodeAt ( 2 * t ) << 8 ) ) ; return r . join ( "" ) } var d = function ( e ) { var r = e . charCodeAt ( 0 ) , t = e . charCodeAt ( 1 ) ; if ( r == 255 && t == 254 ) return u ( e . slice ( 2 ) ) ; if ( r == 254 && t == 255 ) return h ( e . slice ( 2 ) ) ; if ( r == 65279 ) return e . slice ( 1 ) ; return e } ; var v = function Yw ( e ) { return String . fromCharCode ( e ) } ; var p = function Kw ( e ) { return String . fromCharCode ( e ) } ; if ( typeof a !== "undefined" ) { o = function ( e ) { r = e ; s ( e ) } ; d = function ( e ) { if ( e . charCodeAt ( 0 ) === 255 && e . charCodeAt ( 1 ) === 254 ) { return a . utils . decode ( 1200 , l ( e . slice ( 2 ) ) ) } return e } ; v = function Jw ( e ) { if ( r === 1200 ) return String . fromCharCode ( e ) ; return a . utils . decode ( r , [ e & 255 , e >> 8 ] ) [ 0 ] } ; p = function qw ( e ) { return a . utils . decode ( t , [ e ] ) [ 0 ] } } var m = null ; var b = true ; var g = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" ; function w ( e ) { var r = "" ; var t = 0 , a = 0 , n = 0 , i = 0 , s = 0 , f = 0 , o = 0 ; for ( var c = 0 ; c < e . length ; ) { t = e . charCodeAt ( c ++ ) ; i = t >> 2 ; a = e . charCodeAt ( c ++ ) ; s = ( t & 3 ) << 4 | a >> 4 ; n = e . charCodeAt ( c ++ ) ; f = ( a & 15 ) << 2 | n >> 6 ; o = n & 63 ; if ( isNaN ( a ) ) { f = o = 64 } else if ( isNaN ( n ) ) { o = 64 } r += g . charAt ( i ) + g . charAt ( s ) + g . charAt ( f ) + g . charAt ( o ) } return r } function k ( e ) { var r = "" ; var t = 0 , a = 0 , n = 0 , i = 0 , s = 0 , f = 0 , o = 0 ; e = e . replace ( /[^\w\+\/\=]/g , "" ) ; for ( var c = 0 ; c < e . length ; ) { i = g . indexOf ( e . charAt ( c ++ ) ) ; s = g . indexOf ( e . charAt ( c ++ ) ) ; t = i << 2 | s >> 4 ; r += String . fromCharCode ( t ) ; f = g . indexOf ( e . charAt ( c ++ ) ) ; a = ( s & 15 ) << 4 | f >> 2 ; if ( f !== 64 ) { r += String . fromCharCode ( a ) } o = g . indexOf ( e . charAt ( c ++ ) ) ; n = ( f & 3 ) << 6 | o ; if ( o !== 64 ) { r += String . fromCharCode ( n ) } } return r } var T = function ( ) { return typeof Buffer !== "undefined" && typeof undefined !== "undefined" && typeof { } !== "undefined" && ! ! { } . node } ( ) ; var E = function ( ) { if ( typeof Buffer !== "undefined" ) { var e = ! Buffer . from ; if ( ! e ) try { Buffer . from ( "foo" , "utf8" ) } catch ( r ) { e = true } return e ? function ( e , r ) { return r ? new Buffer ( e , r ) : new Buffer ( e ) } : Buffer . from . bind ( Buffer ) } return function ( ) { } } ( ) ; function y ( e ) { if ( T ) return Buffer . alloc ? Buffer . alloc ( e ) : new Buffer ( e ) ; return typeof Uint8Array != "undefined" ? new Uint8Array ( e ) : new Array ( e ) } function S ( e ) { if ( T ) return Buffer . allocUnsafe ? Buffer . allocUnsafe ( e ) : new Buffer ( e ) ; return typeof Uint8Array != "undefined" ? new Uint8Array ( e ) : new Array ( e ) } var _ = function Zw ( e ) { if ( T ) return E ( e , "binary" ) ; return e . split ( "" ) . map ( function ( e ) { return e . charCodeAt ( 0 ) & 255 } ) } ; function A ( e ) { if ( typeof ArrayBuffer === "undefined" ) return _ ( e ) ; var r = new ArrayBuffer ( e . length ) , t = new Uint8Array ( r ) ; for ( var a = 0 ; a != e . length ; ++ a ) t [ a ] = e . charCodeAt ( a ) & 255 ; return r } function x ( e ) { if ( Array . isArray ( e ) ) return e . map ( function ( e ) { return String . fromCharCode ( e ) } ) . join ( "" ) ; var r = [ ] ; for ( var t = 0 ; t < e . length ; ++ t ) r [ t ] = String . fromCharCode ( e [ t ] ) ; return r . join ( "" ) } function C ( e ) { if ( typeof Uint8Array === "undefined" ) throw new Error ( "Unsupported" ) ; return new Uint8Array ( e ) } function R ( e ) { if ( typeof ArrayBuffer == "undefined" ) throw new Error ( "Unsupported" ) ; if ( e instanceof ArrayBuffer ) return R ( new Uint8Array ( e ) ) ; var r = new Array ( e . length ) ; for ( var t = 0 ; t < e . length ; ++ t ) r [ t ] = e [ t ] ; return r } var O = T ? function ( e ) { return Buffer . concat ( e . map ( function ( e ) { return Buffer . isBuffer ( e ) ? e : E ( e ) } ) ) } : function ( e ) { if ( typeof Uint8Array !== "undefined" ) { var r = 0 , t = 0 ; for ( r = 0 ; r < e . length ; ++ r ) t += e [ r ] . length ; var a = new Uint8Array ( t ) ; var n = 0 ; for ( r = 0 , t = 0 ; r < e . length ; t += n , ++ r ) { n = e [ r ] . length ; if ( e [ r ] instanceof Uint8Array ) a . set ( e [ r ] , t ) ; else if ( typeof e [ r ] == "string" ) { throw "wtf" } else a . s
function k ( e , r ) { var a = r ^ - 1 ; for ( var n = 0 , i = e . length ; n < i ; ) a = a >>> 8 ^ t [ ( a ^ e . charCodeAt ( n ++ ) ) & 255 ] ; return ~ a } function T ( e , r ) { var a = r ^ - 1 , n = e . length - 15 , k = 0 ; for ( ; k < n ; ) a = w [ e [ k ++ ] ^ a & 255 ] ^ g [ e [ k ++ ] ^ a >> 8 & 255 ] ^ b [ e [ k ++ ] ^ a >> 16 & 255 ] ^ m [ e [ k ++ ] ^ a >>> 24 ] ^ p [ e [ k ++ ] ] ^ v [ e [ k ++ ] ] ^ d [ e [ k ++ ] ] ^ h [ e [ k ++ ] ] ^ u [ e [ k ++ ] ] ^ l [ e [ k ++ ] ] ^ c [ e [ k ++ ] ] ^ o [ e [ k ++ ] ] ^ f [ e [ k ++ ] ] ^ s [ e [ k ++ ] ] ^ i [ e [ k ++ ] ] ^ t [ e [ k ++ ] ] ; n += 15 ; while ( k < n ) a = a >>> 8 ^ t [ ( a ^ e [ k ++ ] ) & 255 ] ; return ~ a } function E ( e , r ) { var a = r ^ - 1 ; for ( var n = 0 , i = e . length , s = 0 , f = 0 ; n < i ; ) { s = e . charCodeAt ( n ++ ) ; if ( s < 128 ) { a = a >>> 8 ^ t [ ( a ^ s ) & 255 ] } else if ( s < 2048 ) { a = a >>> 8 ^ t [ ( a ^ ( 192 | s >> 6 & 31 ) ) & 255 ] ; a = a >>> 8 ^ t [ ( a ^ ( 128 | s & 63 ) ) & 255 ] } else if ( s >= 55296 && s < 57344 ) { s = ( s & 1023 ) + 64 ; f = e . charCodeAt ( n ++ ) & 1023 ; a = a >>> 8 ^ t [ ( a ^ ( 240 | s >> 8 & 7 ) ) & 255 ] ; a = a >>> 8 ^ t [ ( a ^ ( 128 | s >> 2 & 63 ) ) & 255 ] ; a = a >>> 8 ^ t [ ( a ^ ( 128 | f >> 6 & 15 | ( s & 3 ) << 4 ) ) & 255 ] ; a = a >>> 8 ^ t [ ( a ^ ( 128 | f & 63 ) ) & 255 ] } else { a = a >>> 8 ^ t [ ( a ^ ( 224 | s >> 12 & 15 ) ) & 255 ] ; a = a >>> 8 ^ t [ ( a ^ ( 128 | s >> 6 & 63 ) ) & 255 ] ; a = a >>> 8 ^ t [ ( a ^ ( 128 | s & 63 ) ) & 255 ] } } return ~ a } e . table = t ; e . bstr = k ; e . buf = T ; e . str = E ; return e } ( ) ; var Ke = function ek ( ) { var e = { } ; e . version = "1.2.1" ; function r ( e , r ) { var t = e . split ( "/" ) , a = r . split ( "/" ) ; for ( var n = 0 , i = 0 , s = Math . min ( t . length , a . length ) ; n < s ; ++ n ) { if ( i = t [ n ] . length - a [ n ] . length ) return i ; if ( t [ n ] != a [ n ] ) return t [ n ] < a [ n ] ? - 1 : 1 } return t . length - a . length } function t ( e ) { if ( e . charAt ( e . length - 1 ) == "/" ) return e . slice ( 0 , - 1 ) . indexOf ( "/" ) === - 1 ? e : t ( e . slice ( 0 , - 1 ) ) ; var r = e . lastIndexOf ( "/" ) ; return r === - 1 ? e : e . slice ( 0 , r + 1 ) } function a ( e ) { if ( e . charAt ( e . length - 1 ) == "/" ) return a ( e . slice ( 0 , - 1 ) ) ; var r = e . lastIndexOf ( "/" ) ; return r === - 1 ? e : e . slice ( r + 1 ) } function n ( e , r ) { if ( typeof r === "string" ) r = new Date ( r ) ; var t = r . getHours ( ) ; t = t << 6 | r . getMinutes ( ) ; t = t << 5 | r . getSeconds ( ) >>> 1 ; e . _W ( 2 , t ) ; var a = r . getFullYear ( ) - 1980 ; a = a << 4 | r . getMonth ( ) + 1 ; a = a << 5 | r . getDate ( ) ; e . _W ( 2 , a ) } function i ( e ) { var r = e . _R ( 2 ) & 65535 ; var t = e . _R ( 2 ) & 65535 ; var a = new Date ; var n = t & 31 ; t >>>= 5 ; var i = t & 15 ; t >>>= 4 ; a . setMilliseconds ( 0 ) ; a . setFullYear ( t + 1980 ) ; a . setMonth ( i - 1 ) ; a . setDate ( n ) ; var s = r & 31 ; r >>>= 5 ; var f = r & 63 ; r >>>= 6 ; a . setHours ( r ) ; a . setMinutes ( f ) ; a . setSeconds ( s << 1 ) ; return a } function s ( e ) { la ( e , 0 ) ; var r = { } ; var t = 0 ; while ( e . l <= e . length - 4 ) { var a = e . _R ( 2 ) ; var n = e . _R ( 2 ) , i = e . l + n ; var s = { } ; switch ( a ) { case 21589 : { t = e . _R ( 1 ) ; if ( t & 1 ) s . mtime = e . _R ( 4 ) ; if ( n > 5 ) { if ( t & 2 ) s . atime = e . _R ( 4 ) ; if ( t & 4 ) s . ctime = e . _R ( 4 ) } if ( s . mtime ) s . mt = new Date ( s . mtime * 1e3 ) } break ; } e . l = i ; r [ a ] = s } return r } var f ; function o ( ) { return f || ( f = undefined ) } function c ( e , r ) { if ( e [ 0 ] == 80 && e [ 1 ] == 75 ) return Ie ( e , r ) ; if ( ( e [ 0 ] | 32 ) == 109 && ( e [ 1 ] | 32 ) == 105 ) return We ( e , r ) ; if ( e . length < 512 ) throw new Error ( "CFB file size " + e . length + " < 512" ) ; var t = 3 ; var a = 512 ; var n = 0 ; var i = 0 ; var s = 0 ; var f = 0 ; var o = 0 ; var c = [ ] ; var v = e . slice ( 0 , 512 ) ; la ( v , 0 ) ; var m = l ( v ) ; t = m [ 0 ] ; switch ( t ) { case 3 : a = 512 ; break ; case 4 : a = 4096 ; break ; case 0 : if ( m [ 1 ] == 0 ) return Ie ( e , r ) ; default : throw new Error ( "Major Version: Expected 3 or 4 saw " + t ) ; } if ( a !== 512 ) { v = e . slice ( 0 , a ) ; la ( v , 28 ) } var w = e . slice ( 0 , a ) ; u ( v , t ) ; var k = v . _R ( 4 , "i" ) ; if ( t === 3 && k !== 0 ) throw new Error ( "# Directory Sectors: Expected 0 saw " + k ) ; v . l += 4 ; s = v . _R ( 4 , "i" ) ; v . l += 4 ; v . chk ( "00100000" , "Mini Stream Cutoff Size: " ) ; f = v . _R ( 4 , "i" ) ; n = v . _R ( 4 , "i" ) ; o = v . _R ( 4 , "i" ) ; i = v . _R ( 4 , "i" ) ; for ( var T = - 1 , E = 0 ; E < 109 ; ++ E ) { T = v . _R ( 4 , "i" ) ; if ( T < 0 ) break ; c [ E ] = T } var y = h ( e , a ) ; p ( o , i , y , a , c ) ; var S = b ( y , s , c , a ) ; S [ s ] . name = "!Directory" ; if ( n > 0 && f !== U ) S [ f ] . name = "!MiniFAT" ; S [ c [ 0 ] ] . name = "!FAT" ; S . fat _addrs = c ; S . ssz = a ; var _ = { } , A = [ ] , x = [ ] , C = [ ] ; g ( s , S , y , A , n , _ , x , f ) ; d ( x , C , A ) ; A . shift ( ) ; var R = { FileIndex : x , FullPaths : C } ; if ( r && r . raw ) R . raw = { header : w , sectors : y } ; return R } function l ( e ) { if ( e [ e . l ] == 80 && e [ e . l + 1 ] == 75 ) return [ 0 , 0 ] ; e . chk ( B , "Header Signature: " ) ; e . l += 16 ; var r = e . _R ( 2 , "u" ) ; return [ e . _R ( 2 , "u" ) , r ] } function u ( e , r ) { var t = 9 ; e . l += 2 ; switch ( t = e . _R ( 2 ) ) { case 9 : if ( r != 3 ) throw new Error ( "Sector Shift: Expected 9 saw " + t ) ; break ; case 12 : if ( r != 4 ) throw new Error ( "Sector Shift: Expected 12 saw " + t ) ; break ; default : throw new Error ( "Sector Shift: Expected 9 or 12 saw " + t ) ; } e . chk ( "0600" , "Mini Sector Shift: " ) ; e . chk ( "000000000000" , "Reserved: " ) } function h ( e , r ) { var t = Math . ceil ( e . length / r ) - 1 ; var a = [ ] ; for ( var n = 1 ; n < t ; ++ n ) a [ n - 1 ] = e . slice ( n * r , ( n + 1 ) * r ) ; a [ t - 1 ] = e . slice ( t * r ) ; return a } function d ( e , r , t ) { var a = 0 , n = 0 , i = 0 , s = 0 , f = 0 , o = t . length ; var c = [ ] , l = [ ] ; for ( ; a < o ; ++ a ) { c [ a ] = l [ a ] = a ; r [ a ] = t [ a ] } for ( ; f < l . length ; ++ f ) { a = l [ f ] ; n = e [ a ] . L ; i = e [
var a = t . getFullYear ( ) ; if ( e . indexOf ( "" + a ) > - 1 ) return t ; t . setFullYear ( t . getFullYear ( ) + 100 ) ; return t } var n = e . match ( /\d+/g ) || [ "2017" , "2" , "19" , "0" , "0" , "0" ] ; var i = new Date ( + n [ 0 ] , + n [ 1 ] - 1 , + n [ 2 ] , + n [ 3 ] || 0 , + n [ 4 ] || 0 , + n [ 5 ] || 0 ) ; if ( e . indexOf ( "Z" ) > - 1 ) i = new Date ( i . getTime ( ) - i . getTimezoneOffset ( ) * 60 * 1e3 ) ; return i } function br ( e , r ) { if ( T && Buffer . isBuffer ( e ) ) { if ( r ) { if ( e [ 0 ] == 255 && e [ 1 ] == 254 ) return lt ( e . slice ( 2 ) . toString ( "utf16le" ) ) ; if ( e [ 1 ] == 254 && e [ 2 ] == 255 ) return lt ( h ( e . slice ( 2 ) . toString ( "binary" ) ) ) } return e . toString ( "binary" ) } if ( typeof TextDecoder !== "undefined" ) try { if ( r ) { if ( e [ 0 ] == 255 && e [ 1 ] == 254 ) return lt ( new TextDecoder ( "utf-16le" ) . decode ( e . slice ( 2 ) ) ) ; if ( e [ 0 ] == 254 && e [ 1 ] == 255 ) return lt ( new TextDecoder ( "utf-16be" ) . decode ( e . slice ( 2 ) ) ) } var t = { "€" : " " , "‚ " : " " , "ƒ" : " " , "„" : " " , "…" : "
" , "†" : " " , "‡" : " " , "ˆ " : " " , "‰" : " " , "Š" : " " , "‹ " : " " , "Œ" : " " , "Ž" : " " , "‘ " : " " , "’ " : " " , "“" : " " , "”" : " " , "•" : " " , "– " : " " , "—" : " " , "˜ " : " " , "™" : " " , "š" : " " , "› " : " " , "œ" : " " , "ž" : " " , "Ÿ" : " " } ; if ( Array . isArray ( e ) ) e = new Uint8Array ( e ) ; return new TextDecoder ( "latin1" ) . decode ( e ) . replace ( /[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g , function ( e ) { return t [ e ] || e } ) } catch ( a ) { } var n = [ ] ; for ( var i = 0 ; i != e . length ; ++ i ) n . push ( String . fromCharCode ( e [ i ] ) ) ; return n . join ( "" ) } function gr ( e ) { if ( typeof JSON != "undefined" && ! Array . isArray ( e ) ) return JSON . parse ( JSON . stringify ( e ) ) ; if ( typeof e != "object" || e == null ) return e ; if ( e instanceof Date ) return new Date ( e . getTime ( ) ) ; var r = { } ; for ( var t in e ) if ( Object . prototype . hasOwnProperty . call ( e , t ) ) r [ t ] = gr ( e [ t ] ) ; return r } function wr ( e , r ) { var t = "" ; while ( t . length < r ) t += e ; return t } function kr ( e ) { var r = Number ( e ) ; if ( ! isNaN ( r ) ) return isFinite ( r ) ? r : NaN ; if ( ! /\d/ . test ( e ) ) return r ; var t = 1 ; var a = e . replace ( /([\d]),([\d])/g , "$1$2" ) . replace ( /[$]/g , "" ) . replace ( /[%]/g , function ( ) { t *= 100 ; return "" } ) ; if ( ! isNaN ( r = Number ( a ) ) ) return r / t ; a = a . replace ( /[(](.*)[)]/ , function ( e , r ) { t = - t ; return r } ) ; if ( ! isNaN ( r = Number ( a ) ) ) return r / t ; return r } var Tr = [ "january" , "february" , "march" , "april" , "may" , "june" , "july" , "august" , "september" , "october" , "november" , "december" ] ; function Er ( e ) { var r = new Date ( e ) , t = new Date ( NaN ) ; var a = r . getYear ( ) , n = r . getMonth ( ) , i = r . getDate ( ) ; if ( isNaN ( i ) ) return t ; var s = e . toLowerCase ( ) ; if ( s . match ( /jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/ ) ) { s = s . replace ( /[^a-z]/g , "" ) . replace ( /([^a-z]|^)[ap]m?([^a-z]|$)/ , "" ) ; if ( s . length > 3 && Tr . indexOf ( s ) == - 1 ) return t } else if ( s . match ( /[a-z]/ ) ) return t ; if ( a < 0 || a > 8099 ) return t ; if ( ( n > 0 || i > 1 ) && a != 101 ) return r ; if ( e . match ( /[^-0-9:,\/\\]/ ) ) return t ; return r } var yr = function ( ) { var e = "abacaba" . split ( /(:?b)/i ) . length == 5 ; return function r ( t , a , n ) { if ( e || typeof a == "string" ) return t . split ( a ) ; var i = t . split ( a ) , s = [ i [ 0 ] ] ; for ( var f = 1 ; f < i . length ; ++ f ) { s . push ( n ) ; s . push ( i [ f ] ) } return s } } ( ) ; function Sr ( e ) { if ( ! e ) return null ; if ( e . content && e . type ) return br ( e . content , true ) ; if ( e . data ) return d ( e . data ) ; if ( e . asNodeBuffer && T ) return d ( e . asNodeBuffer ( ) . toString ( "binary" ) ) ; if ( e . asBinary ) return d ( e . asBinary ( ) ) ; if ( e . _data && e . _data . getContent ) return d ( br ( Array . prototype . slice . call ( e . _data . getContent ( ) , 0 ) ) ) ; return null } function _r ( e ) { if ( ! e ) return null ; if ( e . data ) return l ( e . data ) ; if ( e . asNodeBuffer && T ) return e . asNodeBuffer ( ) ; if ( e . _data && e . _data . getContent ) { var r = e . _data . getContent ( ) ; if ( typeof r == "string" ) return l ( r ) ; return Array . prototype . slice . call ( r ) } if ( e . content && e . type ) return e . content ; return null } function Ar ( e ) { return e && e . name . slice ( - 4 ) === ".bin" ? _r ( e ) : Sr ( e ) } function xr ( e , r ) { var t = e . FullPaths || rr ( e . files ) ; var a = r . toLowerCase ( ) . replace ( /[\/]/g , "\\" ) , n = a . replace ( /\\/g , "/" ) ; for ( var i = 0 ; i < t . length ; ++ i ) { var s = t [ i ] . replace ( /^Root Entry[\/]/ , "" ) . toLowerCase ( ) ; if ( a == s || n == s ) return e . files ? e . files [ t [ i ] ] : e . FileIndex [ i ] } return null } function Cr ( e , r ) { var t = xr ( e , r ) ; if ( t == null ) throw new Error ( "Cannot find file " + r + " in zip" ) ; return t } function Rr ( e , r , t ) { if ( ! t ) return Ar ( Cr ( e , r ) ) ; if ( ! r ) return null ; try { return Rr ( e , r ) } catch ( a ) { return null } } function Or ( e , r , t ) { if ( ! t ) return Sr ( Cr ( e , r ) ) ; if ( ! r ) return null ; try { return Or ( e , r ) } catch ( a ) { return null } } function Ir ( e , r , t ) { if ( ! t ) return _r ( Cr ( e , r ) ) ; if ( ! r ) return null ; try { return Ir ( e , r ) } catch
function Hn ( e ) { return e . map ( function ( e ) { return [ e >> 16 & 255 , e >> 8 & 255 , e & 255 ] } ) } var zn = Hn ( [ 0 , 16777215 , 16711680 , 65280 , 255 , 16776960 , 16711935 , 65535 , 0 , 16777215 , 16711680 , 65280 , 255 , 16776960 , 16711935 , 65535 , 8388608 , 32768 , 128 , 8421376 , 8388736 , 32896 , 12632256 , 8421504 , 10066431 , 10040166 , 16777164 , 13434879 , 6684774 , 16744576 , 26316 , 13421823 , 128 , 16711935 , 16776960 , 65535 , 8388736 , 8388608 , 32896 , 255 , 52479 , 13434879 , 13434828 , 16777113 , 10079487 , 16751052 , 13408767 , 16764057 , 3368703 , 3394764 , 10079232 , 16763904 , 16750848 , 16737792 , 6710937 , 9868950 , 13158 , 3381606 , 13056 , 3355392 , 10040064 , 10040166 , 3355545 , 3355443 , 16777215 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ) ; var Vn = gr ( zn ) ; var Gn = { 0 : "#NULL!" , 7 : "#DIV/0!" , 15 : "#VALUE!" , 23 : "#REF!" , 29 : "#NAME?" , 36 : "#NUM!" , 42 : "#N/A" , 43 : "#GETTING_DATA" , 255 : "#WTF?" } ; var jn = { "#NULL!" : 0 , "#DIV/0!" : 7 , "#VALUE!" : 15 , "#REF!" : 23 , "#NAME?" : 29 , "#NUM!" : 36 , "#N/A" : 42 , "#GETTING_DATA" : 43 , "#WTF?" : 255 } ; var Xn = { "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" : "workbooks" , "application/vnd.ms-excel.sheet.macroEnabled.main+xml" : "workbooks" , "application/vnd.ms-excel.sheet.binary.macroEnabled.main" : "workbooks" , "application/vnd.ms-excel.addin.macroEnabled.main+xml" : "workbooks" , "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" : "workbooks" , "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" : "sheets" , "application/vnd.ms-excel.worksheet" : "sheets" , "application/vnd.ms-excel.binIndexWs" : "TODO" , "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" : "charts" , "application/vnd.ms-excel.chartsheet" : "charts" , "application/vnd.ms-excel.macrosheet+xml" : "macros" , "application/vnd.ms-excel.macrosheet" : "macros" , "application/vnd.ms-excel.intlmacrosheet" : "TODO" , "application/vnd.ms-excel.binIndexMs" : "TODO" , "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" : "dialogs" , "application/vnd.ms-excel.dialogsheet" : "dialogs" , "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" : "strs" , "application/vnd.ms-excel.sharedStrings" : "strs" , "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" : "styles" , "application/vnd.ms-excel.styles" : "styles" , "application/vnd.openxmlformats-package.core-properties+xml" : "coreprops" , "application/vnd.openxmlformats-officedocument.custom-properties+xml" : "custprops" , "application/vnd.openxmlformats-officedocument.extended-properties+xml" : "extprops" , "application/vnd.openxmlformats-officedocument.customXmlProperties+xml" : "TODO" , "application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty" : "TODO" , "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" : "comments" , "application/vnd.ms-excel.comments" : "comments" , "application/vnd.ms-excel.threadedcomments+xml" : "threadedcomments" , "application/vnd.ms-excel.person+xml" : "people" , "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" : "metadata" , "application/vnd.ms-excel.sheetMetadata" : "metadata" , "application/vnd.ms-excel.pivotTable" : "TODO" , "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" : "TODO" , "application/vnd.openxmlformats-officedocument.drawingml.chart+xml" : "TODO" , "application/vnd.ms-office.chartcolorstyle+xml" : "TODO" , "application/vnd.ms-office.chartstyle+xml" : "TODO" , "application/vnd.ms-office.chartex+xml" : "TODO" , "application/vnd.ms-excel.calcChain" : "calcchains" , "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" : "calcchains" , "application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings" : "TODO" , "application/vnd.ms-office.activeX" : "TODO" , "application/vnd.ms-office.activeX+xml" : "TODO" , "application/vnd.ms-excel.attachedToolbars" : "TODO" , "application/vnd.ms-excel.connections" : "TODO" , "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" : "TODO" , "application/vnd.ms-excel.externalLink" : "links" , "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" : "links" , "application/vnd.ms-excel.pivotCacheDefinition" : "TODO" , "application/vnd.ms-excel.pivotCacheRecords" : "TODO" , " application / vnd . openxmlformats - officedocument . s
var a ; if ( t ) { if ( t . biff >= 2 && t . biff <= 5 ) return e . _R ( r , "cpstr" ) ; if ( t . biff >= 12 ) return e . _R ( r , "dbcs-cont" ) } var n = e . _R ( 1 ) ; if ( n === 0 ) { a = e . _R ( r , "sbcs-cont" ) } else { a = e . _R ( r , "dbcs-cont" ) } return a } function cs ( e , r , t ) { var a = e . _R ( t && t . biff == 2 ? 1 : 2 ) ; if ( a === 0 ) { e . l ++ ; return "" } return os ( e , a , t ) } function ls ( e , r , t ) { if ( t . biff > 5 ) return cs ( e , r , t ) ; var a = e . _R ( 1 ) ; if ( a === 0 ) { e . l ++ ; return "" } return e . _R ( a , t . biff <= 4 || ! e . lens ? "cpstr" : "sbcs-cont" ) } function us ( e , r , t ) { if ( ! t ) t = ha ( 3 + 2 * e . length ) ; t . _W ( 2 , e . length ) ; t . _W ( 1 , 1 ) ; t . _W ( 31 , e , "utf16le" ) ; return t } function hs ( e ) { var r = e . _R ( 1 ) ; e . l ++ ; var t = e . _R ( 2 ) ; e . l += 2 ; return [ r , t ] } function ds ( e ) { var r = e . _R ( 4 ) , t = e . l ; var a = false ; if ( r > 24 ) { e . l += r - 24 ; if ( e . _R ( 16 ) === "795881f43b1d7f48af2c825dc4852763" ) a = true ; e . l = t } var n = e . _R ( ( a ? r - 24 : r ) >> 1 , "utf16le" ) . replace ( N , "" ) ; if ( a ) e . l += 24 ; return n } function vs ( e ) { var r = e . _R ( 2 ) ; var t = "" ; while ( r -- > 0 ) t += "../" ; var a = e . _R ( 0 , "lpstr-ansi" ) ; e . l += 2 ; if ( e . _R ( 2 ) != 57005 ) throw new Error ( "Bad FileMoniker" ) ; var n = e . _R ( 4 ) ; if ( n === 0 ) return t + a . replace ( /\\/g , "/" ) ; var i = e . _R ( 4 ) ; if ( e . _R ( 2 ) != 3 ) throw new Error ( "Bad FileMoniker" ) ; var s = e . _R ( i >> 1 , "utf16le" ) . replace ( N , "" ) ; return t + s } function ps ( e , r ) { var t = e . _R ( 16 ) ; r -= 16 ; switch ( t ) { case "e0c9ea79f9bace118c8200aa004ba90b" : return ds ( e , r ) ; case "0303000000000000c000000000000046" : return vs ( e , r ) ; default : throw new Error ( "Unsupported Moniker " + t ) ; } } function ms ( e ) { var r = e . _R ( 4 ) ; var t = r > 0 ? e . _R ( r , "utf16le" ) . replace ( N , "" ) : "" ; return t } function bs ( e , r ) { if ( ! r ) r = ha ( 6 + e . length * 2 ) ; r . _W ( 4 , 1 + e . length ) ; for ( var t = 0 ; t < e . length ; ++ t ) r . _W ( 2 , e . charCodeAt ( t ) ) ; r . _W ( 2 , 0 ) ; return r } function gs ( e , r ) { var t = e . l + r ; var a = e . _R ( 4 ) ; if ( a !== 2 ) throw new Error ( "Unrecognized streamVersion: " + a ) ; var n = e . _R ( 2 ) ; e . l += 2 ; var i , s , f , o , c = "" , l , u ; if ( n & 16 ) i = ms ( e , t - e . l ) ; if ( n & 128 ) s = ms ( e , t - e . l ) ; if ( ( n & 257 ) === 257 ) f = ms ( e , t - e . l ) ; if ( ( n & 257 ) === 1 ) o = ps ( e , t - e . l ) ; if ( n & 8 ) c = ms ( e , t - e . l ) ; if ( n & 32 ) l = e . _R ( 16 ) ; if ( n & 64 ) u = xi ( e ) ; e . l = t ; var h = s || f || o || "" ; if ( h && c ) h += "#" + c ; if ( ! h ) h = "#" + c ; if ( n & 2 && h . charAt ( 0 ) == "/" && h . charAt ( 1 ) != "/" ) h = "file://" + h ; var d = { Target : h } ; if ( l ) d . guid = l ; if ( u ) d . time = u ; if ( i ) d . Tooltip = i ; return d } function ws ( e ) { var r = ha ( 512 ) , t = 0 ; var a = e . Target ; if ( a . slice ( 0 , 7 ) == "file://" ) a = a . slice ( 7 ) ; var n = a . indexOf ( "#" ) ; var i = n > - 1 ? 31 : 23 ; switch ( a . charAt ( 0 ) ) { case "#" : i = 28 ; break ; case "." : i &= ~ 2 ; break ; } r . _W ( 4 , 2 ) ; r . _W ( 4 , i ) ; var s = [ 8 , 6815827 , 6619237 , 4849780 , 83 ] ; for ( t = 0 ; t < s . length ; ++ t ) r . _W ( 4 , s [ t ] ) ; if ( i == 28 ) { a = a . slice ( 1 ) ; bs ( a , r ) } else if ( i & 2 ) { s = "e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b" . split ( " " ) ; for ( t = 0 ; t < s . length ; ++ t ) r . _W ( 1 , parseInt ( s [ t ] , 16 ) ) ; var f = n > - 1 ? a . slice ( 0 , n ) : a ; r . _W ( 4 , 2 * ( f . length + 1 ) ) ; for ( t = 0 ; t < f . length ; ++ t ) r . _W ( 2 , f . charCodeAt ( t ) ) ; r . _W ( 2 , 0 ) ; if ( i & 8 ) bs ( n > - 1 ? a . slice ( n + 1 ) : "" , r ) } else { s = "03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46" . split ( " " ) ; for ( t = 0 ; t < s . length ; ++ t ) r . _W ( 1 , parseInt ( s [ t ] , 16 ) ) ; var o = 0 ; while ( a . slice ( o * 3 , o * 3 + 3 ) == "../" || a . slice ( o * 3 , o * 3 + 3 ) == "..\\" ) ++ o ; r . _W ( 2 , o ) ; r . _W ( 4 , a . length - 3 * o + 1 ) ; for ( t = 0 ; t < a . length - 3 * o ; ++ t ) r . _W ( 1 , a . charCodeAt ( t + 3 * o ) & 255 ) ; r . _W ( 1 , 0 ) ; r . _W ( 2 , 65535 ) ; r . _W ( 2 , 57005 ) ; for ( t = 0 ; t < 6 ; ++ t ) r . _W ( 4 , 0 ) } return r . slice ( 0 , r . l ) } function ks ( e ) { var r = e . _R ( 1 ) , t = e . _R ( 1 ) , a = e . _R ( 1 ) , n = e . _R ( 1 ) ; return [ r , t , a , n ] } function Ts ( e , r ) { var t = ks ( e , r ) ; t [ 3 ] = 0 ; return t } function Es ( e ) { var r = e . _R ( 2 ) ; var t = e . _R ( 2 ) ; var a = e . _R ( 2 ) ; return { r : r , c : t , ixfe : a } } function ys ( e , r , t , a ) { if ( ! a ) a = ha ( 6 ) ; a . _W ( 2 , e ) ; a . _W ( 2 , r ) ; a . _W ( 2 , t || 0 ) ; return a } function Ss ( e ) { var r = e . _R ( 2 ) ; var t = e . _R ( 2 ) ; e . l += 8 ; return { type : r , flags : t } } function _s ( e , r , t ) { return r === 0 ? "" : ls ( e , r , t ) } function As ( e , r , t ) { var a = t . biff > 8 ? 4 : 2 ; var n = e . _R ( a ) , i = e . _R ( a , "i" ) , s = e . _R ( a , "i" ) ; return [ n , i , s ] } function xs ( e ) { var r = e . _R ( 2 ) ; var t = fn ( e ) ; return [ r , t ] } function Cs ( e , r , t ) { e . l += 4 ; r -= 4 ; var a = e . l + r ; var n = is ( e , r , t ) ; var i = e . _R ( 2 ) ; a -= e . l ; if ( i !== a ) throw new Error ( "Malformed AddinUdf: padding = " + a + " != " + i ) ; e . l += i ; return n } function Rs ( e ) { var r = e . _R ( 2 ) ; var t = e . _R ( 2 ) ; var a = e . _R ( 2 ) ; var n = e . _R ( 2 ) ; return { s : { c : a , r : r } , e : { c : n , r : t } } } function Os ( e , r ) { if ( ! r ) r = ha ( 8 ) ; r . _W ( 2 , e . s . r ) ; r . _W ( 2 , e . e . r ) ; r . _W ( 2 , e . s . c ) ; r . _W ( 2 , e . e . c ) ; return r } function Is ( e ) { var r = e . _R ( 2 ) ; var t = e . _R ( 2 ) ; var a = e . _R ( 1 ) ; var n = e . _R ( 1 ) ; return { s : { c : a , r : r } , e : { c : n , r : t } } } var Ns = Is ; function Fs ( e ) { e . l += 4 ; var r = e . _R ( 2 ) ; var t = e . _R ( 2 ) ; var a = e . _R ( 2 ) ; e . l += 12 ; return [ t , r , a ] } function Ds ( e ) { var r = { } ; e . l += 4 ; e . l += 16
l = l . trim ( ) ; switch ( + o ) { case - 1 : if ( l === "BOT" ) { s [ ++ a ] = [ ] ; n = 0 ; continue } else if ( l !== "EOD" ) throw new Error ( "Unrecognized DIF special command " + l ) ; break ; case 0 : if ( l === "TRUE" ) s [ a ] [ n ] = true ; else if ( l === "FALSE" ) s [ a ] [ n ] = false ; else if ( ! isNaN ( kr ( c ) ) ) s [ a ] [ n ] = kr ( c ) ; else if ( ! isNaN ( Er ( c ) . getDate ( ) ) ) s [ a ] [ n ] = mr ( c ) ; else s [ a ] [ n ] = c ; ++ n ; break ; case 1 : l = l . slice ( 1 , l . length - 1 ) ; l = l . replace ( /""/g , '"' ) ; if ( b && l && l . match ( /^=".*"$/ ) ) l = l . slice ( 2 , - 1 ) ; s [ a ] [ n ++ ] = l !== "" ? l : null ; break ; } if ( l === "EOD" ) break } if ( r && r . sheetRows ) s = s . slice ( 0 , r . sheetRows ) ; return s } function t ( r , t ) { return Ua ( e ( r , t ) , t ) } function a ( e , r ) { return La ( t ( e , r ) , r ) } var n = function ( ) { var e = function t ( e , r , a , n , i ) { e . push ( r ) ; e . push ( a + "," + n ) ; e . push ( '"' + i . replace ( /"/g , '""' ) + '"' ) } ; var r = function a ( e , r , t , n ) { e . push ( r + "," + t ) ; e . push ( r == 1 ? '"' + n . replace ( /"/g , '""' ) + '"' : n ) } ; return function n ( t ) { var a = [ ] ; var n = Fa ( t [ "!ref" ] ) , i ; var s = Array . isArray ( t ) ; e ( a , "TABLE" , 0 , 1 , "sheetjs" ) ; e ( a , "VECTORS" , 0 , n . e . r - n . s . r + 1 , "" ) ; e ( a , "TUPLES" , 0 , n . e . c - n . s . c + 1 , "" ) ; e ( a , "DATA" , 0 , 0 , "" ) ; for ( var f = n . s . r ; f <= n . e . r ; ++ f ) { r ( a , - 1 , 0 , "BOT" ) ; for ( var o = n . s . c ; o <= n . e . c ; ++ o ) { var c = Oa ( { r : f , c : o } ) ; i = s ? ( t [ f ] || [ ] ) [ o ] : t [ c ] ; if ( ! i ) { r ( a , 1 , 0 , "" ) ; continue } switch ( i . t ) { case "n" : var l = b ? i . w : i . v ; if ( ! l && i . v != null ) l = i . v ; if ( l == null ) { if ( b && i . f && ! i . F ) r ( a , 1 , 0 , "=" + i . f ) ; else r ( a , 1 , 0 , "" ) } else r ( a , 0 , l , "V" ) ; break ; case "b" : r ( a , 0 , i . v ? 1 : 0 , i . v ? "TRUE" : "FALSE" ) ; break ; case "s" : r ( a , 1 , 0 , ! b || isNaN ( i . v ) ? i . v : '="' + i . v + '"' ) ; break ; case "d" : if ( ! i . w ) i . w = Be ( i . z || X [ 14 ] , fr ( mr ( i . v ) ) ) ; if ( b ) r ( a , 0 , i . w , "V" ) ; else r ( a , 1 , 0 , i . w ) ; break ; default : r ( a , 1 , 0 , "" ) ; } } } r ( a , - 1 , 0 , "EOD" ) ; var u = "\r\n" ; var h = a . join ( u ) ; return h } } ( ) ; return { to _workbook : a , to _sheet : t , from _sheet : n } } ( ) ; var _o = function ( ) { function e ( e ) { return e . replace ( /\\b/g , "\\" ) . replace ( /\\c/g , ":" ) . replace ( /\\n/g , "\n" ) } function r ( e ) { return e . replace ( /\\/g , "\\b" ) . replace ( /:/g , "\\c" ) . replace ( /\n/g , "\\n" ) } function t ( r , t ) { var a = r . split ( "\n" ) , n = - 1 , i = - 1 , s = 0 , f = [ ] ; for ( ; s !== a . length ; ++ s ) { var o = a [ s ] . trim ( ) . split ( ":" ) ; if ( o [ 0 ] !== "cell" ) continue ; var c = Ra ( o [ 1 ] ) ; if ( f . length <= c . r ) for ( n = f . length ; n <= c . r ; ++ n ) if ( ! f [ n ] ) f [ n ] = [ ] ; n = c . r ; i = c . c ; switch ( o [ 2 ] ) { case "t" : f [ n ] [ i ] = e ( o [ 3 ] ) ; break ; case "v" : f [ n ] [ i ] = + o [ 3 ] ; break ; case "vtf" : var l = o [ o . length - 1 ] ; case "vtc" : switch ( o [ 3 ] ) { case "nl" : f [ n ] [ i ] = + o [ 4 ] ? true : false ; break ; default : f [ n ] [ i ] = + o [ 4 ] ; break ; } if ( o [ 2 ] == "vtf" ) f [ n ] [ i ] = [ f [ n ] [ i ] , l ] ; } } if ( t && t . sheetRows ) f = f . slice ( 0 , t . sheetRows ) ; return f } function a ( e , r ) { return Ua ( t ( e , r ) , r ) } function n ( e , r ) { return La ( a ( e , r ) , r ) } var i = [ "socialcalc:version:1.5" , "MIME-Version: 1.0" , "Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave" ] . join ( "\n" ) ; var s = [ "--SocialCalcSpreadsheetControlSave" , "Content-type: text/plain; charset=UTF-8" ] . join ( "\n" ) + "\n" ; var f = [ "# SocialCalc Spreadsheet Control Save" , "part:sheet" ] . join ( "\n" ) ; var o = "--SocialCalcSpreadsheetControlSave--" ; function c ( e ) { if ( ! e || ! e [ "!ref" ] ) return "" ; var t = [ ] , a = [ ] , n , i = "" ; var s = Ia ( e [ "!ref" ] ) ; var f = Array . isArray ( e ) ; for ( var o = s . s . r ; o <= s . e . r ; ++ o ) { for ( var c = s . s . c ; c <= s . e . c ; ++ c ) { i = Oa ( { r : o , c : c } ) ; n = f ? ( e [ o ] || [ ] ) [ c ] : e [ i ] ; if ( ! n || n . v == null || n . t === "z" ) continue ; a = [ "cell" , i , "t" ] ; switch ( n . t ) { case "s" : ; case "str" : a . push ( r ( n . v ) ) ; break ; case "n" : if ( ! n . f ) { a [ 2 ] = "v" ; a [ 3 ] = n . v } else { a [ 2 ] = "vtf" ; a [ 3 ] = "n" ; a [ 4 ] = n . v ; a [ 5 ] = r ( n . f ) } break ; case "b" : a [ 2 ] = "vt" + ( n . f ? "f" : "c" ) ; a [ 3 ] = "nl" ; a [ 4 ] = n . v ? "1" : "0" ; a [ 5 ] = r ( n . f || ( n . v ? "TRUE" : "FALSE" ) ) ; break ; case "d" : var l = fr ( mr ( n . v ) ) ; a [ 2 ] = "vtc" ; a [ 3 ] = "nd" ; a [ 4 ] = "" + l ; a [ 5 ] = n . w || Be ( n . z || X [ 14 ] , l ) ; break ; case "e" : continue ; } t . push ( a . join ( ":" ) ) } } t . push ( "sheet:c:" + ( s . e . c - s . s . c + 1 ) + ":r:" + ( s . e . r - s . s . r + 1 ) + ":tvf:1" ) ; t . push ( "valueformat:1:text-wiki" ) ; return t . join ( "\n" ) } function l ( e ) { return [ i , s , f , s , c ( e ) , o ] . join ( "\n" ) } return { to _workbook : n , to _sheet : a , from _sheet : l } } ( ) ; var Ao = function ( ) { function e ( e , r , t , a , n ) { if ( n . raw ) r [ t ] [ a ] = e ; else if ( e === "" ) { } else if ( e === "TRUE" ) r [ t ] [ a ] = true ; else if ( e === "FALSE" ) r [ t ] [ a ] = false ; else if ( ! isNaN ( kr ( e ) ) ) r [ t ] [ a ] = kr ( e ) ; else if ( ! isNaN ( Er ( e ) . getDate ( ) ) ) r [ t ] [ a ] = mr ( e ) ; else r [ t ] [ a ] = e } function r ( r , t ) { var a = t || { } ; var n = [ ] ; if ( ! r || r . length === 0 ) return n ; var i = r . split ( /[\r\n]/ ) ; var s = i . length - 1 ; while ( s >= 0 && i [ s ] . length === 0 ) -- s ; var f = 10 , o = 0 ; var c = 0 ; for ( ; c <= s ; ++ c ) { o = i [ c ] . indexOf ( " " ) ; if ( o == - 1 ) o = i [ c ] . length ; else o ++ ; f = Math . max ( f , o ) } for ( c = 0 ; c <= s ; ++ c ) { n [ c ] = [ ] ; var l = 0 ; e ( i [ c ] . slice ( 0 , f ) . trim ( )
var i = { s : { c : 0 , r : 0 } , e : { c : 0 , r : n . length - 1 } } ; n . forEach ( function ( e , r ) { if ( Array . isArray ( a ) ) a [ r ] = [ ] ; var t = /\\\w+\b/g ; var n = 0 ; var s ; var f = - 1 ; while ( s = t . exec ( e ) ) { switch ( s [ 0 ] ) { case "\\cell" : var o = e . slice ( n , t . lastIndex - s [ 0 ] . length ) ; if ( o [ 0 ] == " " ) o = o . slice ( 1 ) ; ++ f ; if ( o . length ) { var c = { v : o , t : "s" } ; if ( Array . isArray ( a ) ) a [ r ] [ f ] = c ; else a [ Oa ( { r : r , c : f } ) ] = c } break ; } n = t . lastIndex } if ( f > i . e . c ) i . e . c = f } ) ; a [ "!ref" ] = Na ( i ) ; return a } function t ( r , t ) { return La ( e ( r , t ) , t ) } function a ( e ) { var r = [ "{\\rtf1\\ansi" ] ; var t = Fa ( e [ "!ref" ] ) , a ; var n = Array . isArray ( e ) ; for ( var i = t . s . r ; i <= t . e . r ; ++ i ) { r . push ( "\\trowd\\trautofit1" ) ; for ( var s = t . s . c ; s <= t . e . c ; ++ s ) r . push ( "\\cellx" + ( s + 1 ) ) ; r . push ( "\\pard\\intbl" ) ; for ( s = t . s . c ; s <= t . e . c ; ++ s ) { var f = Oa ( { r : i , c : s } ) ; a = n ? ( e [ i ] || [ ] ) [ s ] : e [ f ] ; if ( ! a || a . v == null && ( ! a . f || a . F ) ) continue ; r . push ( " " + ( a . w || ( Pa ( a ) , a . w ) ) ) ; r . push ( "\\cell" ) } r . push ( "\\pard\\intbl\\row" ) } return r . join ( "" ) + "}" } return { to _workbook : t , to _sheet : e , from _sheet : a } } ( ) ; function bc ( e ) { var r = e . slice ( e [ 0 ] === "#" ? 1 : 0 ) . slice ( 0 , 6 ) ; return [ parseInt ( r . slice ( 0 , 2 ) , 16 ) , parseInt ( r . slice ( 2 , 4 ) , 16 ) , parseInt ( r . slice ( 4 , 6 ) , 16 ) ] } function gc ( e ) { for ( var r = 0 , t = 1 ; r != 3 ; ++ r ) t = t * 256 + ( e [ r ] > 255 ? 255 : e [ r ] < 0 ? 0 : e [ r ] ) ; return t . toString ( 16 ) . toUpperCase ( ) . slice ( 1 ) } function wc ( e ) { var r = e [ 0 ] / 255 , t = e [ 1 ] / 255 , a = e [ 2 ] / 255 ; var n = Math . max ( r , t , a ) , i = Math . min ( r , t , a ) , s = n - i ; if ( s === 0 ) return [ 0 , 0 , r ] ; var f = 0 , o = 0 , c = n + i ; o = s / ( c > 1 ? 2 - c : c ) ; switch ( n ) { case r : f = ( ( t - a ) / s + 6 ) % 6 ; break ; case t : f = ( a - r ) / s + 2 ; break ; case a : f = ( r - t ) / s + 4 ; break ; } return [ f / 6 , o , c / 2 ] } function kc ( e ) { var r = e [ 0 ] , t = e [ 1 ] , a = e [ 2 ] ; var n = t * 2 * ( a < . 5 ? a : 1 - a ) , i = a - n / 2 ; var s = [ i , i , i ] , f = 6 * r ; var o ; if ( t !== 0 ) switch ( f | 0 ) { case 0 : ; case 6 : o = n * f ; s [ 0 ] += n ; s [ 1 ] += o ; break ; case 1 : o = n * ( 2 - f ) ; s [ 0 ] += o ; s [ 1 ] += n ; break ; case 2 : o = n * ( f - 2 ) ; s [ 1 ] += n ; s [ 2 ] += o ; break ; case 3 : o = n * ( 4 - f ) ; s [ 1 ] += o ; s [ 2 ] += n ; break ; case 4 : o = n * ( f - 4 ) ; s [ 2 ] += n ; s [ 0 ] += o ; break ; case 5 : o = n * ( 6 - f ) ; s [ 2 ] += o ; s [ 0 ] += n ; break ; } for ( var c = 0 ; c != 3 ; ++ c ) s [ c ] = Math . round ( s [ c ] * 255 ) ; return s } function Tc ( e , r ) { if ( r === 0 ) return e ; var t = wc ( bc ( e ) ) ; if ( r < 0 ) t [ 2 ] = t [ 2 ] * ( 1 + r ) ; else t [ 2 ] = 1 - ( 1 - t [ 2 ] ) * ( 1 - r ) ; return gc ( kc ( t ) ) } var Ec = 6 , yc = 15 , Sc = 1 , _c = Ec ; function Ac ( e ) { return Math . floor ( ( e + Math . round ( 128 / _c ) / 256 ) * _c ) } function xc ( e ) { return Math . floor ( ( e - 5 ) / _c * 100 + . 5 ) / 100 } function Cc ( e ) { return Math . round ( ( e * _c + 5 ) / _c * 256 ) / 256 } function Rc ( e ) { return Cc ( xc ( Ac ( e ) ) ) } function Oc ( e ) { var r = Math . abs ( e - Rc ( e ) ) , t = _c ; if ( r > . 005 ) for ( _c = Sc ; _c < yc ; ++ _c ) if ( Math . abs ( e - Rc ( e ) ) <= r ) { r = Math . abs ( e - Rc ( e ) ) ; t = _c } _c = t } function Ic ( e ) { if ( e . width ) { e . wpx = Ac ( e . width ) ; e . wch = xc ( e . wpx ) ; e . MDW = _c } else if ( e . wpx ) { e . wch = xc ( e . wpx ) ; e . width = Cc ( e . wch ) ; e . MDW = _c } else if ( typeof e . wch == "number" ) { e . width = Cc ( e . wch ) ; e . wpx = Ac ( e . width ) ; e . MDW = _c } if ( e . customWidth ) delete e . customWidth } var Nc = 96 , Fc = Nc ; function Dc ( e ) { return e * 96 / Fc } function Pc ( e ) { return e * Fc / 96 } var Lc = { None : "none" , Solid : "solid" , Gray50 : "mediumGray" , Gray75 : "darkGray" , Gray25 : "lightGray" , HorzStripe : "darkHorizontal" , VertStripe : "darkVertical" , ReverseDiagStripe : "darkDown" , DiagStripe : "darkUp" , DiagCross : "darkGrid" , ThickDiagCross : "darkTrellis" , ThinHorzStripe : "lightHorizontal" , ThinVertStripe : "lightVertical" , ThinReverseDiagStripe : "lightDown" , ThinHorzCross : "lightGrid" } ; function Mc ( e , r , t , a ) { r . Borders = [ ] ; var n = { } ; var i = false ; ( e [ 0 ] . match ( Hr ) || [ ] ) . forEach ( function ( e ) { var t = Gr ( e ) ; switch ( jr ( t [ 0 ] ) ) { case "<borders" : ; case "<borders>" : ; case "</borders>" : break ; case "<border" : ; case "<border>" : ; case "<border/>" : n = { } ; if ( t . diagonalUp ) n . diagonalUp = nt ( t . diagonalUp ) ; if ( t . diagonalDown ) n . diagonalDown = nt ( t . diagonalDown ) ; r . Borders . push ( n ) ; break ; case "</border>" : break ; case "<left/>" : break ; case "<left" : ; case "<left>" : break ; case "</left>" : break ; case "<right/>" : break ; case "<right" : ; case "<right>" : break ; case "</right>" : break ; case "<top/>" : break ; case "<top" : ; case "<top>" : break ; case "</top>" : break ; case "<bottom/>" : break ; case "<bottom" : ; case "<bottom>" : break ; case "</bottom>" : break ; case "<diagonal" : ; case "<diagonal>" : ; case "<diagonal/>" : break ; case "</diagonal>" : break ; case "<horizontal" : ; case "<horizontal>" : ; case "<horizontal/>" : break ; case "</horizontal>" : break ; case "<vertical" : ; case "<vertical>" : ; case "<vertical/>" : break ; case "</vertical>" : break ; case "<start" : ; case "<start>" : ; case "<start/>" : break ; case "</start>" : break ; case "<end" : ; case "<end>" : ; case "<end/>" : break ; case "</end>" : break ; case " < co
break ; case "</bk>" : break ; case "<rc" : if ( i == 1 ) a . Cell . push ( { type : a . Types [ r . t - 1 ] . name , index : + r . v } ) ; else if ( i == 0 ) a . Value . push ( { type : a . Types [ r . t - 1 ] . name , index : + r . v } ) ; break ; case "</rc>" : break ; case "<cellMetadata" : i = 1 ; break ; case "</cellMetadata>" : i = 2 ; break ; case "<valueMetadata" : i = 0 ; break ; case "</valueMetadata>" : i = 2 ; break ; case "<extLst" : ; case "<extLst>" : ; case "</extLst>" : ; case "<extLst/>" : break ; case "<ext" : n = true ; break ; case "</ext>" : n = false ; break ; case "<rvb" : if ( ! s ) break ; if ( ! s . offsets ) s . offsets = [ ] ; s . offsets . push ( + r . i ) ; break ; default : if ( ! n && t . WTF ) throw new Error ( "unrecognized " + r [ 0 ] + " in metadata" ) ; } return e } ) ; return a } function Jl ( ) { var e = [ Mr ] ; e . push ( '<metadata xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:xlrd="http://schemas.microsoft.com/office/spreadsheetml/2017/richdata" xmlns:xda="http://schemas.microsoft.com/office/spreadsheetml/2017/dynamicarray">\n <metadataTypes count="1">\n <metadataType name="XLDAPR" minSupportedVersion="120000" copy="1" pasteAll="1" pasteValues="1" merge="1" splitFirst="1" rowColShift="1" clearFormats="1" clearComments="1" assign="1" coerce="1" cellMeta="1"/>\n </metadataTypes>\n <futureMetadata name="XLDAPR" count="1">\n <bk>\n <extLst>\n <ext uri="{bdbb8cdc-fa1e-496e-a857-3c3f30c029c3}">\n <xda:dynamicArrayProperties fDynamic="1" fCollapsed="0"/>\n </ext>\n </extLst>\n </bk>\n </futureMetadata>\n <cellMetadata count="1">\n <bk>\n <rc t="1" v="0"/>\n </bk>\n </cellMetadata>\n</metadata>' ) ; return e . join ( "" ) } function ql ( e ) { var r = [ ] ; if ( ! e ) return r ; var t = 1 ; ( e . match ( Hr ) || [ ] ) . forEach ( function ( e ) { var a = Gr ( e ) ; switch ( a [ 0 ] ) { case "<?xml" : break ; case "<calcChain" : ; case "<calcChain>" : ; case "</calcChain>" : break ; case "<c" : delete a [ 0 ] ; if ( a . i ) t = a . i ; else a . i = t ; r . push ( a ) ; break ; } } ) ; return r } function Zl ( e ) { var r = { } ; r . i = e . _R ( 4 ) ; var t = { } ; t . r = e . _R ( 4 ) ; t . c = e . _R ( 4 ) ; r . r = Oa ( t ) ; var a = e . _R ( 1 ) ; if ( a & 2 ) r . l = "1" ; if ( a & 8 ) r . a = "1" ; return r } function Ql ( e , r , t ) { var a = [ ] ; var n = false ; da ( e , function i ( e , r , s ) { switch ( s ) { case 63 : a . push ( e ) ; break ; default : if ( r . T ) { } else if ( ! n || t . WTF ) throw new Error ( "Unexpected record 0x" + s . toString ( 16 ) ) ; } } ) ; return a } function eu ( ) { } function ru ( e , r , t , a ) { if ( ! e ) return e ; var n = a || { } ; var i = false , s = false ; da ( e , function f ( e , r , t ) { if ( s ) return ; switch ( t ) { case 359 : ; case 363 : ; case 364 : ; case 366 : ; case 367 : ; case 368 : ; case 369 : ; case 370 : ; case 371 : ; case 472 : ; case 577 : ; case 578 : ; case 579 : ; case 580 : ; case 581 : ; case 582 : ; case 583 : ; case 584 : ; case 585 : ; case 586 : ; case 587 : break ; case 35 : i = true ; break ; case 36 : i = false ; break ; default : if ( r . T ) { } else if ( ! i || n . WTF ) throw new Error ( "Unexpected record 0x" + t . toString ( 16 ) ) ; } } , n ) } function tu ( e , r ) { if ( ! e ) return "??" ; var t = ( e . match ( /<c:chart [^>]*r:id="([^"]*)"/ ) || [ "" , "" ] ) [ 1 ] ; return r [ "!id" ] [ t ] . Target } var au = 1024 ; function nu ( e , r ) { var t = [ 21600 , 21600 ] ; var a = [ "m0,0l0" , t [ 1 ] , t [ 0 ] , t [ 1 ] , t [ 0 ] , "0xe" ] . join ( "," ) ; var n = [ kt ( "xml" , null , { "xmlns:v" : xt . v , "xmlns:o" : xt . o , "xmlns:x" : xt . x , "xmlns:mv" : xt . mv } ) . replace ( /\/>/ , ">" ) , kt ( "o:shapelayout" , kt ( "o:idmap" , null , { "v:ext" : "edit" , data : e } ) , { "v:ext" : "edit" } ) , kt ( "v:shapetype" , [ kt ( "v:stroke" , null , { joinstyle : "miter" } ) , kt ( "v:path" , null , { gradientshapeok : "t" , "o:connecttype" : "rect" } ) ] . join ( "" ) , { id : "_x0000_t202" , "o:spt" : 202 , coordsize : t . join ( "," ) , path : a } ) ] ; while ( au < e * 1e3 ) au += 1e3 ; r . forEach ( function ( e ) { var r = Ra ( e [ 0 ] ) ; var t = { color2 : "#BEFF82" , type : "gradient" } ; if ( t . type == "gradient" ) t . angle = "-180" ; var a = t . type == "gradient" ? kt ( "o:fill" , null , { type : "gradientUnscaled" , "v:ext" : "view" } ) : null ; var i = kt ( "v:fill" , a , t ) ; var s = { on : "t" , obscured : "t" } ; ++ au ; n = n . concat ( [ "<v:shape" + wt ( { id : "_x0000_s" + au , type : "#_x0000_t202" , style : "position:absolute; margin-left:80pt;margin-top:5pt;width:104pt;height:64pt;z-index:10" + ( e [ 1 ] . hidden ? ";visibility:hidden" : "" ) , fillcolor : "#ECFAD4" , strokecolor : "#edeaa1" } ) + ">" , i , kt ( "v:shadow" , null , s ) , kt ( "v:path" , null , { "o:connecttype" : "none" } ) , '<v:textbox><div style="text-align:left"></div></v:textbox>' , '<x:ClientData ObjectType="Note">' , "<x:MoveWithCells/>" , "<x:SizeWithCells/>" , gt ( "x:Anchor" , [ r . c + 1 , 0 , r . r + 1 , 0 , r . c + 3 , 20 , r . r + 5 , 20 ] . join ( "," ) ) , gt ( "x:AutoFill" , "False" ) , gt ( "x:Row" , String ( r . r ) ) , gt ( "x:Column" , String ( r . c ) ) , e [ 1 ] . hidden ? "" : " < x : Visible / >
215 : "HIDE.OBJECT" , 216 : "SET.EXTRACT" , 217 : "CREATE.PUBLISHER" , 218 : "SUBSCRIBE.TO" , 219 : "ATTRIBUTES" , 220 : "SHOW.TOOLBAR" , 222 : "PRINT.PREVIEW" , 223 : "EDIT.COLOR" , 224 : "SHOW.LEVELS" , 225 : "FORMAT.MAIN" , 226 : "FORMAT.OVERLAY" , 227 : "ON.RECALC" , 228 : "EDIT.SERIES" , 229 : "DEFINE.STYLE" , 240 : "LINE.PRINT" , 243 : "ENTER.DATA" , 249 : "GALLERY.RADAR" , 250 : "MERGE.STYLES" , 251 : "EDITION.OPTIONS" , 252 : "PASTE.PICTURE" , 253 : "PASTE.PICTURE.LINK" , 254 : "SPELLING" , 256 : "ZOOM" , 259 : "INSERT.OBJECT" , 260 : "WINDOW.MINIMIZE" , 265 : "SOUND.NOTE" , 266 : "SOUND.PLAY" , 267 : "FORMAT.SHAPE" , 268 : "EXTEND.POLYGON" , 269 : "FORMAT.AUTO" , 272 : "GALLERY.3D.BAR" , 273 : "GALLERY.3D.SURFACE" , 274 : "FILL.AUTO" , 276 : "CUSTOMIZE.TOOLBAR" , 277 : "ADD.TOOL" , 278 : "EDIT.OBJECT" , 279 : "ON.DOUBLECLICK" , 280 : "ON.ENTRY" , 281 : "WORKBOOK.ADD" , 282 : "WORKBOOK.MOVE" , 283 : "WORKBOOK.COPY" , 284 : "WORKBOOK.OPTIONS" , 285 : "SAVE.WORKSPACE" , 288 : "CHART.WIZARD" , 289 : "DELETE.TOOL" , 290 : "MOVE.TOOL" , 291 : "WORKBOOK.SELECT" , 292 : "WORKBOOK.ACTIVATE" , 293 : "ASSIGN.TO.TOOL" , 295 : "COPY.TOOL" , 296 : "RESET.TOOL" , 297 : "CONSTRAIN.NUMERIC" , 298 : "PASTE.TOOL" , 302 : "WORKBOOK.NEW" , 305 : "SCENARIO.CELLS" , 306 : "SCENARIO.DELETE" , 307 : "SCENARIO.ADD" , 308 : "SCENARIO.EDIT" , 309 : "SCENARIO.SHOW" , 310 : "SCENARIO.SHOW.NEXT" , 311 : "SCENARIO.SUMMARY" , 312 : "PIVOT.TABLE.WIZARD" , 313 : "PIVOT.FIELD.PROPERTIES" , 314 : "PIVOT.FIELD" , 315 : "PIVOT.ITEM" , 316 : "PIVOT.ADD.FIELDS" , 318 : "OPTIONS.CALCULATION" , 319 : "OPTIONS.EDIT" , 320 : "OPTIONS.VIEW" , 321 : "ADDIN.MANAGER" , 322 : "MENU.EDITOR" , 323 : "ATTACH.TOOLBARS" , 324 : "VBAActivate" , 325 : "OPTIONS.CHART" , 328 : "VBA.INSERT.FILE" , 330 : "VBA.PROCEDURE.DEFINITION" , 336 : "ROUTING.SLIP" , 338 : "ROUTE.DOCUMENT" , 339 : "MAIL.LOGON" , 342 : "INSERT.PICTURE" , 343 : "EDIT.TOOL" , 344 : "GALLERY.DOUGHNUT" , 350 : "CHART.TREND" , 352 : "PIVOT.ITEM.PROPERTIES" , 354 : "WORKBOOK.INSERT" , 355 : "OPTIONS.TRANSITION" , 356 : "OPTIONS.GENERAL" , 370 : "FILTER.ADVANCED" , 373 : "MAIL.ADD.MAILER" , 374 : "MAIL.DELETE.MAILER" , 375 : "MAIL.REPLY" , 376 : "MAIL.REPLY.ALL" , 377 : "MAIL.FORWARD" , 378 : "MAIL.NEXT.LETTER" , 379 : "DATA.LABEL" , 380 : "INSERT.TITLE" , 381 : "FONT.PROPERTIES" , 382 : "MACRO.OPTIONS" , 383 : "WORKBOOK.HIDE" , 384 : "WORKBOOK.UNHIDE" , 385 : "WORKBOOK.DELETE" , 386 : "WORKBOOK.NAME" , 388 : "GALLERY.CUSTOM" , 390 : "ADD.CHART.AUTOFORMAT" , 391 : "DELETE.CHART.AUTOFORMAT" , 392 : "CHART.ADD.DATA" , 393 : "AUTO.OUTLINE" , 394 : "TAB.ORDER" , 395 : "SHOW.DIALOG" , 396 : "SELECT.ALL" , 397 : "UNGROUP.SHEETS" , 398 : "SUBTOTAL.CREATE" , 399 : "SUBTOTAL.REMOVE" , 400 : "RENAME.OBJECT" , 412 : "WORKBOOK.SCROLL" , 413 : "WORKBOOK.NEXT" , 414 : "WORKBOOK.PREV" , 415 : "WORKBOOK.TAB.SPLIT" , 416 : "FULL.SCREEN" , 417 : "WORKBOOK.PROTECT" , 420 : "SCROLLBAR.PROPERTIES" , 421 : "PIVOT.SHOW.PAGES" , 422 : "TEXT.TO.COLUMNS" , 423 : "FORMAT.CHARTTYPE" , 424 : "LINK.FORMAT" , 425 : "TRACER.DISPLAY" , 430 : "TRACER.NAVIGATE" , 431 : "TRACER.CLEAR" , 432 : "TRACER.ERROR" , 433 : "PIVOT.FIELD.GROUP" , 434 : "PIVOT.FIELD.UNGROUP" , 435 : "CHECKBOX.PROPERTIES" , 436 : "LABEL.PROPERTIES" , 437 : "LISTBOX.PROPERTIES" , 438 : "EDITBOX.PROPERTIES" , 439 : "PIVOT.REFRESH" , 440 : "LINK.COMBO" , 441 : "OPEN.TEXT" , 442 : "HIDE.DIALOG" , 443 : "SET.DIALOG.FOCUS" , 444 : "ENABLE.OBJECT" , 445 : "PUSHBUTTON.PROPERTIES" , 446 : "SET.DIALOG.DEFAULT" , 447 : "FILTER" , 448 : "FILTER.SHOW.ALL" , 449 : "CLEAR.OUTLINE" , 450 : "FUNCTION.WIZARD" , 451 : "ADD.LIST.ITEM" , 452 : "SET.LIST.ITEM" , 453 : "REMOVE.LIST.ITEM" , 454 : "SELECT.LIST.ITEM" , 455 : "SET.CONTROL.VALUE" , 456 : "SAVE.COPY.AS" , 458 : "OPTIONS.LISTS.ADD" , 459 : "OPTIONS.LISTS.DELETE" , 460 : "SERIES.AXES" , 461 : "SERIES.X" , 462 : "SERIES.Y" , 463 : "ERRORBAR.X" , 464 : "ERRORBAR.Y" , 465 : "FORMAT.CHART" , 466 : "SERIES.ORDER" , 467 : "MAIL.LOGOFF" , 468 : "CLEAR.ROUTING.SLIP" , 469 : "APP.ACTIVATE.MICROSOFT" , 470 : "MAIL.EDIT.MAILER" , 471 : "ON.SHEET" , 472 : "STANDARD.WIDTH" , 473 : "SCENARIO.MERGE" , 474 : "SUMMARY.INFO" , 475 : "FIND.FILE" , 476 : "ACTIVE.CELL.FONT" , 477 : "ENABLE.TIPWIZARD" , 478 : "VBA.MAKE.ADDIN" , 480 : "INSERTDATATABLE" , 481 : "WORKGROUP.OPTIONS" , 482 : "MAIL.SEND.MAILER" , 485 : "AUTOCORRECT" , 489 : "POST.DOCUMENT" , 491 : "PICKLIST" , 493 : "VIEW.SHOW" , 494 : "VIEW.DEFINE" , 495 : "VIEW.DELETE" , 509 : "SHEET.BACKGROUND" , 510 : "INSERT.MAP.OBJECT" , 511 : "OPTIONS.MENONO" , 517 : "MSOCHECKS" , 518 : "NORMAL" , 519 : "LAYOUT" , 520 : "RM.PRINT.AREA" , 521 : "CLEAR.PRINT.AREA" , 522 : "ADD.PRINT.AREA" , 523 : "MOVE.BRK" , 545 : "HIDECURR.NOTE" , 546 : "HIDEALL.NOTES" , 547 : "DELETE.NOTE" , 548 : "TRAVERSE.NOTES" , 549 : "ACTIVATE.NOTES" , 620 : "PROTECT.REVISIONS" , 621 : "UNPROTECT.REVISIONS" , 647 : " OP
var a = e . l + r ; var n = Ka ( e ) ; n . r = t [ "!row" ] ; var i = Ha ( e ) ; var s = [ n , i , "str" ] ; if ( t . cellFormula ) { e . l += 2 ; var f = gd ( e , a - e . l , t ) ; s [ 3 ] = fd ( f , null , n , t . supbooks , t ) } else e . l = a ; return s } var ap = un ; var np = hn ; function ip ( e , r ) { if ( r == null ) r = ha ( 4 ) ; r . _W ( 4 , e ) ; return r } function sp ( e , r ) { var t = e . l + r ; var a = un ( e , 16 ) ; var n = rn ( e ) ; var i = Ha ( e ) ; var s = Ha ( e ) ; var f = Ha ( e ) ; e . l = t ; var o = { rfx : a , relId : n , loc : i , display : f } ; if ( s ) o . Tooltip = s ; return o } function fp ( e , r ) { var t = ha ( 50 + 4 * ( e [ 1 ] . Target . length + ( e [ 1 ] . Tooltip || "" ) . length ) ) ; hn ( { s : Ra ( e [ 0 ] ) , e : Ra ( e [ 0 ] ) } , t ) ; sn ( "rId" + r , t ) ; var a = e [ 1 ] . Target . indexOf ( "#" ) ; var n = a == - 1 ? "" : e [ 1 ] . Target . slice ( a + 1 ) ; za ( n || "" , t ) ; za ( e [ 1 ] . Tooltip || "" , t ) ; za ( "" , t ) ; return t . slice ( 0 , t . l ) } function op ( ) { } function cp ( e , r , t ) { var a = e . l + r ; var n = cn ( e , 16 ) ; var i = e . _R ( 1 ) ; var s = [ n ] ; s [ 2 ] = i ; if ( t . cellFormula ) { var f = bd ( e , a - e . l , t ) ; s [ 1 ] = f } else e . l = a ; return s } function lp ( e , r , t ) { var a = e . l + r ; var n = un ( e , 16 ) ; var i = [ n ] ; if ( t . cellFormula ) { var s = kd ( e , a - e . l , t ) ; i [ 1 ] = s ; e . l = a } else e . l = a ; return i } function up ( e , r , t ) { if ( t == null ) t = ha ( 18 ) ; var a = Nd ( e , r ) ; t . _W ( - 4 , e ) ; t . _W ( - 4 , e ) ; t . _W ( 4 , ( a . width || 10 ) * 256 ) ; t . _W ( 4 , 0 ) ; var n = 0 ; if ( r . hidden ) n |= 1 ; if ( typeof a . width == "number" ) n |= 2 ; if ( r . level ) n |= r . level << 8 ; t . _W ( 2 , n ) ; return t } var hp = [ "left" , "right" , "top" , "bottom" , "header" , "footer" ] ; function dp ( e ) { var r = { } ; hp . forEach ( function ( t ) { r [ t ] = dn ( e , 8 ) } ) ; return r } function vp ( e , r ) { if ( r == null ) r = ha ( 6 * 8 ) ; Fd ( e ) ; hp . forEach ( function ( t ) { vn ( e [ t ] , r ) } ) ; return r } function pp ( e ) { var r = e . _R ( 2 ) ; e . l += 28 ; return { RTL : r & 32 } } function mp ( e , r , t ) { if ( t == null ) t = ha ( 30 ) ; var a = 924 ; if ( ( ( ( r || { } ) . Views || [ ] ) [ 0 ] || { } ) . RTL ) a |= 32 ; t . _W ( 2 , a ) ; t . _W ( 4 , 0 ) ; t . _W ( 4 , 0 ) ; t . _W ( 4 , 0 ) ; t . _W ( 1 , 0 ) ; t . _W ( 1 , 0 ) ; t . _W ( 2 , 0 ) ; t . _W ( 2 , 100 ) ; t . _W ( 2 , 0 ) ; t . _W ( 2 , 0 ) ; t . _W ( 2 , 0 ) ; t . _W ( 4 , 0 ) ; return t } function bp ( e ) { var r = ha ( 24 ) ; r . _W ( 4 , 4 ) ; r . _W ( 4 , 1 ) ; hn ( e , r ) ; return r } function gp ( e , r ) { if ( r == null ) r = ha ( 16 * 4 + 2 ) ; r . _W ( 2 , e . password ? cc ( e . password ) : 0 ) ; r . _W ( 4 , 1 ) ; [ [ "objects" , false ] , [ "scenarios" , false ] , [ "formatCells" , true ] , [ "formatColumns" , true ] , [ "formatRows" , true ] , [ "insertColumns" , true ] , [ "insertRows" , true ] , [ "insertHyperlinks" , true ] , [ "deleteColumns" , true ] , [ "deleteRows" , true ] , [ "selectLockedCells" , false ] , [ "sort" , true ] , [ "autoFilter" , true ] , [ "pivotTables" , true ] , [ "selectUnlockedCells" , false ] ] . forEach ( function ( t ) { if ( t [ 1 ] ) r . _W ( 4 , e [ t [ 0 ] ] != null && ! e [ t [ 0 ] ] ? 1 : 0 ) ; else r . _W ( 4 , e [ t [ 0 ] ] != null && e [ t [ 0 ] ] ? 0 : 1 ) } ) ; return r } function wp ( ) { } function kp ( ) { } function Tp ( e , r , t , a , n , i , s ) { if ( ! e ) return e ; var f = r || { } ; if ( ! a ) a = { "!id" : { } } ; if ( m != null && f . dense == null ) f . dense = m ; var o = f . dense ? [ ] : { } ; var c ; var l = { s : { r : 2e6 , c : 2e6 } , e : { r : 0 , c : 0 } } ; var u = [ ] ; var h = false , d = false ; var v , p , b , g , w , k , T , E , y ; var S = [ ] ; f . biff = 12 ; f [ "!row" ] = 0 ; var _ = 0 , A = false ; var x = [ ] ; var C = { } ; var R = f . supbooks || n . supbooks || [ [ ] ] ; R . sharedf = C ; R . arrayf = x ; R . SheetNames = n . SheetNames || n . Sheets . map ( function ( e ) { return e . name } ) ; if ( ! f . supbooks ) { f . supbooks = R ; if ( n . Names ) for ( var O = 0 ; O < n . Names . length ; ++ O ) R [ 0 ] [ O + 1 ] = n . Names [ O ] } var I = [ ] , N = [ ] ; var F = false ; mb [ 16 ] = { n : "BrtShortReal" , f : zv } ; var D , P ; da ( e , function M ( e , r , m ) { if ( d ) return ; switch ( m ) { case 148 : c = e ; break ; case 0 : v = e ; if ( f . sheetRows && f . sheetRows <= v . r ) d = true ; E = Ta ( g = v . r ) ; f [ "!row" ] = v . r ; if ( e . hidden || e . hpt || e . level != null ) { if ( e . hpt ) e . hpx = Pc ( e . hpt ) ; N [ e . r ] = e } break ; case 2 : ; case 3 : ; case 4 : ; case 5 : ; case 6 : ; case 7 : ; case 8 : ; case 9 : ; case 10 : ; case 11 : ; case 13 : ; case 14 : ; case 15 : ; case 16 : ; case 17 : ; case 18 : ; case 62 : p = { t : e [ 2 ] } ; switch ( e [ 2 ] ) { case "n" : p . v = e [ 1 ] ; break ; case "s" : T = Cd [ e [ 1 ] ] ; p . v = T . t ; p . r = T . r ; break ; case "b" : p . v = e [ 1 ] ? true : false ; break ; case "e" : p . v = e [ 1 ] ; if ( f . cellText !== false ) p . w = Gn [ p . v ] ; break ; case "str" : p . t = "s" ; p . v = e [ 1 ] ; break ; case "is" : p . t = "s" ; p . v = e [ 1 ] . t ; break ; } if ( b = s . CellXf [ e [ 0 ] . iStyleRef ] ) Pd ( p , b . numFmtId , null , f , i , s ) ; w = e [ 0 ] . c == - 1 ? w + 1 : e [ 0 ] . c ; if ( f . dense ) { if ( ! o [ g ] ) o [ g ] = [ ] ; o [ g ] [ w ] = p } else o [ _a ( w ) + E ] = p ; if ( f . cellFormula ) { A = false ; for ( _ = 0 ; _ < x . length ; ++ _ ) { var O = x [ _ ] ; if ( v . r >= O [ 0 ] . s . r && v . r <= O [ 0 ] . e . r ) if ( w >= O [ 0 ] . s . c && w <= O [ 0 ] . e . c ) { p . F = Na ( O [ 0 ] ) ; A = true } } if ( ! A && e . length > 3 ) p . f = e [ 3 ] } if ( l . s . r > v . r ) l . s . r = v . r ; if ( l . s . c > w ) l . s . c = w ; if ( l . e . r < v . r ) l . e . r = v . r ; if ( l . e . c < w ) l . e . c = w ; if ( f . cellDates && b && p . t == "n" && De ( X [ b . numFmtId ] ) ) { var L = q ( p . v ) ; if ( L ) { p . t = "d" ; p . v = new Date ( L . y , L . m - 1 , L . d , L . H , L . M , L . S , L . u ) } } if ( D ) { if ( D . type == "XLDAPR" ) p . D = true ; D = void 0 } if ( P ) P = void 0 ; break ; case 1 : ; case 12 : if ( ! f . sheetStubs || h ) break ; p = { t : "z" , v : void 0 } ; w = e
break ; case "namedrange" : if ( o [ 1 ] === "/" ) break ; if ( ! G . Names ) G . Names = [ ] ; var Q = Gr ( o [ 0 ] ) ; var ee = { Name : Q . Name , Ref : Au ( Q . RefersTo . slice ( 1 ) , { r : 0 , c : 0 } ) } ; if ( G . Sheets . length > 0 ) ee . Sheet = G . Sheets . length - 1 ; G . Names . push ( ee ) ; break ; case "namedcell" : break ; case "b" : break ; case "i" : break ; case "u" : break ; case "s" : break ; case "em" : break ; case "h2" : break ; case "h3" : break ; case "sub" : break ; case "sup" : break ; case "span" : break ; case "alignment" : break ; case "borders" : break ; case "border" : break ; case "font" : if ( o [ 0 ] . slice ( - 2 ) === "/>" ) break ; else if ( o [ 1 ] === "/" ) x += n . slice ( C , o . index ) ; else C = o . index + o [ 0 ] . length ; break ; case "interior" : if ( ! t . cellStyles ) break ; A . Interior = Pm ( o [ 0 ] ) ; break ; case "protection" : break ; case "author" : ; case "title" : ; case "description" : ; case "created" : ; case "keywords" : ; case "subject" : ; case "category" : ; case "company" : ; case "lastauthor" : ; case "lastsaved" : ; case "lastprinted" : ; case "version" : ; case "revision" : ; case "totaltime" : ; case "hyperlinkbase" : ; case "manager" : ; case "contentstatus" : ; case "identifier" : ; case "language" : ; case "appname" : if ( o [ 0 ] . slice ( - 2 ) === "/>" ) break ; else if ( o [ 1 ] === "/" ) Si ( O , $ , n . slice ( N , o . index ) ) ; else N = o . index + o [ 0 ] . length ; break ; case "paragraphs" : break ; case "styles" : ; case "workbook" : if ( o [ 1 ] === "/" ) { if ( ( u = c . pop ( ) ) [ 0 ] !== o [ 3 ] ) throw new Error ( "Bad state: " + u . join ( "|" ) ) } else c . push ( [ o [ 3 ] , false ] ) ; break ; case "comment" : if ( o [ 1 ] === "/" ) { if ( ( u = c . pop ( ) ) [ 0 ] !== o [ 3 ] ) throw new Error ( "Bad state: " + u . join ( "|" ) ) ; Vm ( P ) ; D . push ( P ) } else { c . push ( [ o [ 3 ] , false ] ) ; u = Pm ( o [ 0 ] ) ; P = { a : u . Author } } break ; case "autofilter" : if ( o [ 1 ] === "/" ) { if ( ( u = c . pop ( ) ) [ 0 ] !== o [ 3 ] ) throw new Error ( "Bad state: " + u . join ( "|" ) ) } else if ( o [ 0 ] . charAt ( o [ 0 ] . length - 2 ) !== "/" ) { var re = Pm ( o [ 0 ] ) ; p [ "!autofilter" ] = { ref : Au ( re . Range ) . replace ( /\$/g , "" ) } ; c . push ( [ o [ 3 ] , true ] ) } break ; case "name" : break ; case "datavalidation" : if ( o [ 1 ] === "/" ) { if ( ( u = c . pop ( ) ) [ 0 ] !== o [ 3 ] ) throw new Error ( "Bad state: " + u . join ( "|" ) ) } else { if ( o [ 0 ] . charAt ( o [ 0 ] . length - 2 ) !== "/" ) c . push ( [ o [ 3 ] , true ] ) } break ; case "pixelsperinch" : break ; case "componentoptions" : ; case "documentproperties" : ; case "customdocumentproperties" : ; case "officedocumentsettings" : ; case "pivottable" : ; case "pivotcache" : ; case "names" : ; case "mapinfo" : ; case "pagebreaks" : ; case "querytable" : ; case "sorting" : ; case "schema" : ; case "conditionalformatting" : ; case "smarttagtype" : ; case "smarttags" : ; case "excelworkbook" : ; case "workbookoptions" : ; case "worksheetoptions" : if ( o [ 1 ] === "/" ) { if ( ( u = c . pop ( ) ) [ 0 ] !== o [ 3 ] ) throw new Error ( "Bad state: " + u . join ( "|" ) ) } else if ( o [ 0 ] . charAt ( o [ 0 ] . length - 2 ) !== "/" ) c . push ( [ o [ 3 ] , true ] ) ; break ; case "null" : break ; default : if ( c . length == 0 && o [ 3 ] == "document" ) return Qb ( n , t ) ; if ( c . length == 0 && o [ 3 ] == "uof" ) return Qb ( n , t ) ; var te = true ; switch ( c [ c . length - 1 ] [ 0 ] ) { case "officedocumentsettings" : switch ( o [ 3 ] ) { case "allowpng" : break ; case "removepersonalinformation" : break ; case "downloadcomponents" : break ; case "locationofcomponents" : break ; case "colors" : break ; case "color" : break ; case "index" : break ; case "rgb" : break ; case "targetscreensize" : break ; case "readonlyrecommended" : break ; default : te = false ; } break ; case "componentoptions" : switch ( o [ 3 ] ) { case "toolbar" : break ; case "hideofficelogo" : break ; case "spreadsheetautofit" : break ; case "label" : break ; case "caption" : break ; case "maxheight" : break ; case "maxwidth" : break ; case "nextsheetnumber" : break ; default : te = false ; } break ; case "excelworkbook" : switch ( o [ 3 ] ) { case "date1904" : G . WBProps . date1904 = true ; break ; case "windowheight" : break ; case "windowwidth" : break ; case "windowtopx" : break ; case "windowtopy" : break ; case "tabratio" : break ; case "protectstructure" : break ; case "protectwindow" : break ; case "protectwindows" : break ; case "activesheet" : break ; case "displayinknotes" : break ; case "firstvisiblesheet" : break ; case "supbook" : break ; case "sheetname" : break ; case "sheetindex" : break ; case "sheetindexfirst" : break ; case "sheetindexlast" : break ; case "dll" : break ; case "acceptlabelsinformulas" : break ; case "donotsavelinkvalues" : break ; case "iteration" : break ; case "maxiterations" : break ; case "maxchange" : break ; case "path" : break ; case "xct" : break ; case "count" : break ; case "selectedsheets" : break ; case "calculation" : break ; case "uncalced" : break ; case "startupprompt" : break ; case "crn" : break ; case "externname" : break ; case "formula" : break ; case "colfirst" : break ; case "collast" : break ; case "wantadvise" : break ; case "boolean" : break ; case "error" : break ; case "text" : break ; case "ole" : break
} , 8 : { f : tp } , 9 : { f : rp } , 10 : { f : Qv } , 11 : { f : ep } , 12 : { f : Av } , 13 : { f : Xv } , 14 : { f : Dv } , 15 : { f : Ov } , 16 : { f : zv } , 17 : { f : qv } , 18 : { f : Uv } , 19 : { f : ja } , 20 : { } , 21 : { } , 22 : { } , 23 : { } , 24 : { } , 25 : { } , 26 : { } , 27 : { } , 28 : { } , 29 : { } , 30 : { } , 31 : { } , 32 : { } , 33 : { } , 34 : { } , 35 : { T : 1 } , 36 : { T : - 1 } , 37 : { T : 1 } , 38 : { T : - 1 } , 39 : { f : fm } , 40 : { } , 42 : { } , 43 : { f : Jc } , 44 : { f : Yc } , 45 : { f : el } , 46 : { f : il } , 47 : { f : tl } , 48 : { } , 49 : { f : Ba } , 50 : { } , 51 : { f : zl } , 52 : { T : 1 } , 53 : { T : - 1 } , 54 : { T : 1 } , 55 : { T : - 1 } , 56 : { T : 1 } , 57 : { T : - 1 } , 58 : { } , 59 : { } , 60 : { f : ao } , 62 : { f : Yv } , 63 : { f : Zl } , 64 : { f : wp } , 65 : { } , 66 : { } , 67 : { } , 68 : { } , 69 : { } , 70 : { } , 128 : { } , 129 : { T : 1 } , 130 : { T : - 1 } , 131 : { T : 1 , f : ua , p : 0 } , 132 : { T : - 1 } , 133 : { T : 1 } , 134 : { T : - 1 } , 135 : { T : 1 } , 136 : { T : - 1 } , 137 : { T : 1 , f : pp } , 138 : { T : - 1 } , 139 : { T : 1 } , 140 : { T : - 1 } , 141 : { T : 1 } , 142 : { T : - 1 } , 143 : { T : 1 } , 144 : { T : - 1 } , 145 : { T : 1 } , 146 : { T : - 1 } , 147 : { f : Ev } , 148 : { f : wv , p : 16 } , 151 : { f : op } , 152 : { } , 153 : { f : nm } , 154 : { } , 155 : { } , 156 : { f : tm } , 157 : { } , 158 : { } , 159 : { T : 1 , f : zo } , 160 : { T : - 1 } , 161 : { T : 1 , f : un } , 162 : { T : - 1 } , 163 : { T : 1 } , 164 : { T : - 1 } , 165 : { T : 1 } , 166 : { T : - 1 } , 167 : { } , 168 : { } , 169 : { } , 170 : { } , 171 : { } , 172 : { T : 1 } , 173 : { T : - 1 } , 174 : { } , 175 : { } , 176 : { f : ap } , 177 : { T : 1 } , 178 : { T : - 1 } , 179 : { T : 1 } , 180 : { T : - 1 } , 181 : { T : 1 } , 182 : { T : - 1 } , 183 : { T : 1 } , 184 : { T : - 1 } , 185 : { T : 1 } , 186 : { T : - 1 } , 187 : { T : 1 } , 188 : { T : - 1 } , 189 : { T : 1 } , 190 : { T : - 1 } , 191 : { T : 1 } , 192 : { T : - 1 } , 193 : { T : 1 } , 194 : { T : - 1 } , 195 : { T : 1 } , 196 : { T : - 1 } , 197 : { T : 1 } , 198 : { T : - 1 } , 199 : { T : 1 } , 200 : { T : - 1 } , 201 : { T : 1 } , 202 : { T : - 1 } , 203 : { T : 1 } , 204 : { T : - 1 } , 205 : { T : 1 } , 206 : { T : - 1 } , 207 : { T : 1 } , 208 : { T : - 1 } , 209 : { T : 1 } , 210 : { T : - 1 } , 211 : { T : 1 } , 212 : { T : - 1 } , 213 : { T : 1 } , 214 : { T : - 1 } , 215 : { T : 1 } , 216 : { T : - 1 } , 217 : { T : 1 } , 218 : { T : - 1 } , 219 : { T : 1 } , 220 : { T : - 1 } , 221 : { T : 1 } , 222 : { T : - 1 } , 223 : { T : 1 } , 224 : { T : - 1 } , 225 : { T : 1 } , 226 : { T : - 1 } , 227 : { T : 1 } , 228 : { T : - 1 } , 229 : { T : 1 } , 230 : { T : - 1 } , 231 : { T : 1 } , 232 : { T : - 1 } , 233 : { T : 1 } , 234 : { T : - 1 } , 235 : { T : 1 } , 236 : { T : - 1 } , 237 : { T : 1 } , 238 : { T : - 1 } , 239 : { T : 1 } , 240 : { T : - 1 } , 241 : { T : 1 } , 242 : { T : - 1 } , 243 : { T : 1 } , 244 : { T : - 1 } , 245 : { T : 1 } , 246 : { T : - 1 } , 247 : { T : 1 } , 248 : { T : - 1 } , 249 : { T : 1 } , 250 : { T : - 1 } , 251 : { T : 1 } , 252 : { T : - 1 } , 253 : { T : 1 } , 254 : { T : - 1 } , 255 : { T : 1 } , 256 : { T : - 1 } , 257 : { T : 1 } , 258 : { T : - 1 } , 259 : { T : 1 } , 260 : { T : - 1 } , 261 : { T : 1 } , 262 : { T : - 1 } , 263 : { T : 1 } , 264 : { T : - 1 } , 265 : { T : 1 } , 266 : { T : - 1 } , 267 : { T : 1 } , 268 : { T : - 1 } , 269 : { T : 1 } , 270 : { T : - 1 } , 271 : { T : 1 } , 272 : { T : - 1 } , 273 : { T : 1 } , 274 : { T : - 1 } , 275 : { T : 1 } , 276 : { T : - 1 } , 277 : { } , 278 : { T : 1 } , 279 : { T : - 1 } , 280 : { T : 1 } , 281 : { T : - 1 } , 282 : { T : 1 } , 283 : { T : 1 } , 284 : { T : - 1 } , 285 : { T : 1 } , 286 : { T : - 1 } , 287 : { T : 1 } , 288 : { T : - 1 } , 289 : { T : 1 } , 290 : { T : - 1 } , 291 : { T : 1 } , 292 : { T : - 1 } , 293 : { T : 1 } , 294 : { T : - 1 } , 295 : { T : 1 } , 296 : { T : - 1 } , 297 : { T : 1 } , 298 : { T : - 1 } , 299 : { T : 1 } , 300 : { T : - 1 } , 301 : { T : 1 } , 302 : { T : - 1 } , 303 : { T : 1 } , 304 : { T : - 1 } , 305 : { T : 1 } , 306 : { T : - 1 } , 307 : { T : 1 } , 308 : { T : - 1 } , 309 : { T : 1 } , 310 : { T : - 1 } , 311 : { T : 1 } , 312 : { T : - 1 } , 313 : { T : - 1 } , 314 : { T : 1 } , 315 : { T : - 1 } , 316 : { T : 1 } , 317 : { T : - 1 } , 318 : { T : 1 } , 319 : { T : - 1 } , 320 : { T : 1 } , 321 : { T : - 1 } , 322 : { T : 1 } , 323 : { T : - 1 } , 324 : { T : 1 } , 325 : { T : - 1 } , 326 : { T : 1 } , 327 : { T : - 1 } , 328 : { T : 1 } , 329 : { T : - 1 } , 330 : { T : 1 } , 331 : { T : - 1 } , 332 : { T : 1 } , 333 : { T : - 1 } , 334 : { T : 1 } , 335 : { f : Wl } , 336 : { T : - 1 } , 337 : { f : jl , T : 1 } , 338 : { T : - 1 } , 339 : { T : 1 } , 340 : { T : - 1 } , 341 : { T : 1 } , 342 : { T : - 1 } , 343 : { T : 1 } , 344 : { T : - 1 } , 345 : { T : 1 } , 346 : { T : - 1 } , 347 : { T : 1 } , 348 : { T : - 1 } , 349 : { T : 1 } , 350 : { T : - 1 } , 351 : { } , 352 : { } , 353 : { T : 1 } , 354 : { T : - 1 } , 355 : { f : nn } , 357 : { } , 358 : { } , 359 : { } , 360 : { T : 1 } , 361 : { } , 362 : { f : Df } , 363 : { } , 364 : { } , 366 : { } , 367 : { } , 368 : { } , 369 : { } , 370 : { } , 371 : { } , 372 : { T : 1 } , 373 : { T : - 1 } , 374 : { T : 1 } , 375 : { T : - 1 } , 376 : { T : 1 } , 377 : { T : - 1 } , 378 : { T : 1 } , 379 : { T : - 1 } , 380 : { T : 1 } , 381 : { T : - 1 } , 382 : { T : 1 } , 383 : { T : - 1 } , 384 : { T : 1 } , 385 : { T : - 1 } , 386 : { T : 1 } , 387 : { T : - 1 } , 388 : { T : 1 } , 389 : { T : - 1 } , 390 : { T : 1 } , 391 : { T : - 1 } , 392 : { T : 1 } , 393 : { T : - 1 } , 394 : { T : 1 } , 395 : { T : - 1 } , 396 : { } , 397 : { } , 398 : { } , 399 : { } , 400 : { } , 401 : { T : 1 } , 403 : { } , 404 : { } , 405 : { } , 406 : { } , 407 : { } , 408 : { } , 409 : { } , 410 : { } , 411 : { } , 412 : { } , 413 : { } , 414 : { } , 415 : { } , 416 : { } , 417 : { } , 418 : { } , 419 : { } , 420 : { } , 421 : { } , 422 : { T : 1 } , 423 : { T : 1 } , 424 : { T : - 1 } , 425 : { T : - 1 } , 426 : { f : cp } , 427 : { f : lp } , 428 : { } , 429 : { T : 1 } , 430 : { T : - 1 } , 431 : { T : 1 } , 432 : { T : - 1 } , 433 : { T : 1 } , 434 : { T : - 1 } , 435 : { T : 1 } , 436 : { T : - 1 } , 437 : { T : 1 } , 438 : { T : - 1 } , 439 : { T : 1 } , 440 : { T : - 1 } , 441 : { T : 1 } , 442 : { T : - 1 } , 443 : { T : 1 } , 444 : { T : - 1 } , 445 : { T : 1 } , 446 : { T : - 1 } , 447 : { T : 1 } , 448 : { T : - 1 } , 449 : { T : 1 } , 450 : { T : - 1 } , 451 : { T : 1 } , 452 : { T : - 1 } , 453 : { T : 1 } , 454 : { T : - 1 } , 455 : { T : 1 } , 456 : { T : - 1 } , 457 : { T : 1 } , 458 : { T : - 1 } , 459 : { T : 1 } , 460 : { T : - 1 } , 461 : { T : 1 } , 462 : { T : - 1 } , 463 : { T : 1 } , 464 : { T : - 1 } , 465 : { T : 1 } , 466 : { T : - 1 } , 467 : { T : 1 } , 468 : { T : - 1 } , 469 : { T : 1 } , 470 : { T : - 1 } , 471 : { } , 472 : { } , 473 : { T : 1 } , 474 : { T : - 1 } , 475 : { } , 476 : { f : dp } , 477 : { } , 478 : { } , 479 : { T : 1 } , 480 : { T : - 1 } , 481 : { T : 1 } , 482 : { T : - 1 } , 483 : { T : 1 } , 484 : { T : - 1 } , 485 : { f : Tv } , 486 : { T : 1 } , 487 : { T : - 1 } , 488 : { T : 1 } , 489 : { T : - 1 } , 490 : { T : 1 } , 491
T = Gr ( p [ 0 ] , false ) ; k = p . index + p [ 0 ] . length } break ; case "s" : break ; case "database-range" : if ( p [ 1 ] === "/" ) break ; try { U = Ad ( Gr ( p [ 0 ] ) [ "target-range-address" ] ) ; h [ U [ 0 ] ] [ "!autofilter" ] = { ref : U [ 1 ] } } catch ( J ) { } break ; case "date" : break ; case "object" : break ; case "title" : ; case "标题" : break ; case "desc" : break ; case "binary-data" : break ; case "table-source" : break ; case "scenario" : break ; case "iteration" : break ; case "content-validations" : break ; case "content-validation" : break ; case "help-message" : break ; case "error-message" : break ; case "database-ranges" : break ; case "filter" : break ; case "filter-and" : break ; case "filter-or" : break ; case "filter-condition" : break ; case "list-level-style-bullet" : break ; case "list-level-style-number" : break ; case "list-level-properties" : break ; case "sender-firstname" : ; case "sender-lastname" : ; case "sender-initials" : ; case "sender-title" : ; case "sender-position" : ; case "sender-email" : ; case "sender-phone-private" : ; case "sender-fax" : ; case "sender-company" : ; case "sender-phone-work" : ; case "sender-street" : ; case "sender-city" : ; case "sender-postal-code" : ; case "sender-country" : ; case "sender-state-or-province" : ; case "author-name" : ; case "author-initials" : ; case "chapter" : ; case "file-name" : ; case "template-name" : ; case "sheet-name" : break ; case "event-listener" : break ; case "initial-creator" : ; case "creation-date" : ; case "print-date" : ; case "generator" : ; case "document-statistic" : ; case "user-defined" : ; case "editing-duration" : ; case "editing-cycles" : break ; case "config-item" : break ; case "page-number" : break ; case "page-count" : break ; case "time" : break ; case "cell-range-source" : break ; case "detective" : break ; case "operation" : break ; case "highlighted-range" : break ; case "data-pilot-table" : ; case "source-cell-range" : ; case "source-service" : ; case "data-pilot-field" : ; case "data-pilot-level" : ; case "data-pilot-subtotals" : ; case "data-pilot-subtotal" : ; case "data-pilot-members" : ; case "data-pilot-member" : ; case "data-pilot-display-info" : ; case "data-pilot-sort-info" : ; case "data-pilot-layout-info" : ; case "data-pilot-field-reference" : ; case "data-pilot-groups" : ; case "data-pilot-group" : ; case "data-pilot-group-member" : break ; case "rect" : break ; case "dde-connection-decls" : ; case "dde-connection-decl" : ; case "dde-link" : ; case "dde-source" : break ; case "properties" : break ; case "property" : break ; case "a" : if ( p [ 1 ] !== "/" ) { M = Gr ( p [ 0 ] , false ) ; if ( ! M . href ) break ; M . Target = Yr ( M . href ) ; delete M . href ; if ( M . Target . charAt ( 0 ) == "#" && M . Target . indexOf ( "." ) > - 1 ) { U = Ad ( M . Target . slice ( 1 ) ) ; M . Target = "#" + U [ 0 ] + "!" + U [ 1 ] } else if ( M . Target . match ( /^\.\.[\\\/]/ ) ) M . Target = M . Target . slice ( 3 ) } break ; case "table-protection" : break ; case "data-pilot-grand-total" : break ; case "office-document-common-attrs" : break ; default : switch ( p [ 2 ] ) { case "dc:" : ; case "calcext:" : ; case "loext:" : ; case "ooo:" : ; case "chartooo:" : ; case "draw:" : ; case "style:" : ; case "chart:" : ; case "form:" : ; case "uof:" : ; case "表:" : ; case "字:" : break ; default : if ( t . WTF ) throw new Error ( p ) ; } ; } var q = { Sheets : h , SheetNames : d , Workbook : L } ; if ( t . bookSheets ) delete q . Sheets ; return q } function Zb ( e , r ) { r = r || { } ; if ( xr ( e , "META-INF/manifest.xml" ) ) ai ( Rr ( e , "META-INF/manifest.xml" ) , r ) ; var t = Or ( e , "content.xml" ) ; if ( ! t ) throw new Error ( "Missing content.xml in ODS / UOF file" ) ; var a = qb ( ct ( t ) , r ) ; if ( xr ( e , "meta.xml" ) ) a . Props = ui ( Rr ( e , "meta.xml" ) ) ; return a } function Qb ( e , r ) { return qb ( e , r ) } var eg = function ( ) { var e = [ "<office:master-styles>" , '<style:master-page style:name="mp1" style:page-layout-name="mp1">' , "<style:header/>" , '<style:header-left style:display="false"/>' , "<style:footer/>" , '<style:footer-left style:display="false"/>' , "</style:master-page>" , "</office:master-styles>" ] . join ( "" ) ; var r = "<office:document-styles " + wt ( { "xmlns:office" : "urn:oasis:names:tc:opendocument:xmlns:office:1.0" , "xmlns:table" : "urn:oasis:names:tc:opendocument:xmlns:table:1.0" , "xmlns:style" : "urn:oasis:names:tc:opendocument:xmlns:style:1.0" , "xmlns:text" : "urn:oasis:names:tc:opendocument:xmlns:text:1.0" , "xmlns:draw" : "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" , "xmlns:fo" : "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" , "xmlns:xlink" : "http://www.w3.org/1999/xlink" , "xmlns:dc" : "http://purl.org/dc/elements/1.1/" , "xmlns:number" : "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" , "xmlns:svg" : "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" , " x
if ( xr ( e , "index.xml" ) ) throw new Error ( "Unsupported NUMBERS 09 file" ) ; throw new Error ( "Unsupported ZIP file" ) } var a = Nr ( e ) ; var n = Kn ( Or ( e , "[Content_Types].xml" ) ) ; var i = false ; var s , f ; if ( n . workbooks . length === 0 ) { f = "xl/workbook.xml" ; if ( Rr ( e , f , true ) ) n . workbooks . push ( f ) } if ( n . workbooks . length === 0 ) { f = "xl/workbook.bin" ; if ( ! Rr ( e , f , true ) ) throw new Error ( "Could not find workbook" ) ; n . workbooks . push ( f ) ; i = true } if ( n . workbooks [ 0 ] . slice ( - 3 ) == "bin" ) i = true ; var o = { } ; var c = { } ; if ( ! r . bookSheets && ! r . bookProps ) { Cd = [ ] ; if ( n . sst ) try { Cd = Tm ( Rr ( e , jg ( n . sst ) ) , n . sst , r ) } catch ( l ) { if ( r . WTF ) throw l } if ( r . cellStyles && n . themes . length ) o = km ( Or ( e , n . themes [ 0 ] . replace ( /^\// , "" ) , true ) || "" , n . themes [ 0 ] , r ) ; if ( n . style ) c = wm ( Rr ( e , jg ( n . style ) ) , n . style , o , r ) } n . links . map ( function ( t ) { try { var a = Qn ( Or ( e , Zn ( jg ( t ) ) ) , t ) ; return Sm ( Rr ( e , jg ( t ) ) , a , t , r ) } catch ( n ) { } } ) ; var u = vm ( Rr ( e , jg ( n . workbooks [ 0 ] ) ) , n . workbooks [ 0 ] , r ) ; var h = { } , d = "" ; if ( n . coreprops . length ) { d = Rr ( e , jg ( n . coreprops [ 0 ] ) , true ) ; if ( d ) h = ui ( d ) ; if ( n . extprops . length !== 0 ) { d = Rr ( e , jg ( n . extprops [ 0 ] ) , true ) ; if ( d ) bi ( d , h , r ) } } var v = { } ; if ( ! r . bookSheets || r . bookProps ) { if ( n . custprops . length !== 0 ) { d = Or ( e , jg ( n . custprops [ 0 ] ) , true ) ; if ( d ) v = ki ( d , r ) } } var p = { } ; if ( r . bookSheets || r . bookProps ) { if ( u . Sheets ) s = u . Sheets . map ( function I ( e ) { return e . name } ) ; else if ( h . Worksheets && h . SheetNames . length > 0 ) s = h . SheetNames ; if ( r . bookProps ) { p . Props = h ; p . Custprops = v } if ( r . bookSheets && typeof s !== "undefined" ) p . SheetNames = s ; if ( r . bookSheets ? p . SheetNames : r . bookProps ) return p } s = { } ; var m = { } ; if ( r . bookDeps && n . calcchain ) m = ym ( Rr ( e , jg ( n . calcchain ) ) , n . calcchain , r ) ; var b = 0 ; var g = { } ; var w , k ; { var T = u . Sheets ; h . Worksheets = T . length ; h . SheetNames = [ ] ; for ( var E = 0 ; E != T . length ; ++ E ) { h . SheetNames [ E ] = T [ E ] . name } } var y = i ? "bin" : "xml" ; var S = n . workbooks [ 0 ] . lastIndexOf ( "/" ) ; var _ = ( n . workbooks [ 0 ] . slice ( 0 , S + 1 ) + "_rels/" + n . workbooks [ 0 ] . slice ( S + 1 ) + ".rels" ) . replace ( /^\// , "" ) ; if ( ! xr ( e , _ ) ) _ = "xl/_rels/workbook." + y + ".rels" ; var A = Qn ( Or ( e , _ , true ) , _ . replace ( /_rels.*/ , "s5s" ) ) ; if ( ( n . metadata || [ ] ) . length >= 1 ) { r . xlmeta = _m ( Rr ( e , jg ( n . metadata [ 0 ] ) ) , n . metadata [ 0 ] , r ) } if ( ( n . people || [ ] ) . length >= 1 ) { r . people = lu ( Rr ( e , jg ( n . people [ 0 ] ) ) , r ) } if ( A ) A = Vg ( A , u . Sheets ) ; var x = Rr ( e , "xl/worksheets/sheet.xml" , true ) ? 1 : 0 ; e : for ( b = 0 ; b != h . Worksheets ; ++ b ) { var C = "sheet" ; if ( A && A [ b ] ) { w = "xl/" + A [ b ] [ 1 ] . replace ( /[\/]?xl\// , "" ) ; if ( ! xr ( e , w ) ) w = A [ b ] [ 1 ] ; if ( ! xr ( e , w ) ) w = _ . replace ( /_rels\/.*$/ , "" ) + A [ b ] [ 1 ] ; C = A [ b ] [ 2 ] } else { w = "xl/worksheets/sheet" + ( b + 1 - x ) + "." + y ; w = w . replace ( /sheet0\./ , "sheet." ) } k = w . replace ( /^(.*)(\/)([^\/]*)$/ , "$1/_rels/$3.rels" ) ; if ( r && r . sheets != null ) switch ( typeof r . sheets ) { case "number" : if ( b != r . sheets ) continue e ; break ; case "string" : if ( h . SheetNames [ b ] . toLowerCase ( ) != r . sheets . toLowerCase ( ) ) continue e ; break ; default : if ( Array . isArray && Array . isArray ( r . sheets ) ) { var R = false ; for ( var O = 0 ; O != r . sheets . length ; ++ O ) { if ( typeof r . sheets [ O ] == "number" && r . sheets [ O ] == b ) R = 1 ; if ( typeof r . sheets [ O ] == "string" && r . sheets [ O ] . toLowerCase ( ) == h . SheetNames [ b ] . toLowerCase ( ) ) R = 1 } if ( ! R ) continue e } ; } Gg ( e , w , k , h . SheetNames [ b ] , b , g , s , C , r , u , o , c ) } p = { Directory : n , Workbook : u , Props : h , Custprops : v , Deps : m , Sheets : s , SheetNames : h . SheetNames , Strings : Cd , Styles : c , Themes : o , SSF : gr ( X ) } ; if ( r && r . bookFiles ) { if ( e . files ) { p . keys = a ; p . files = e . files } else { p . keys = [ ] ; p . files = { } ; e . FullPaths . forEach ( function ( r , t ) { r = r . replace ( /^Root Entry[\/]/ , "" ) ; p . keys . push ( r ) ; p . files [ r ] = e . FileIndex [ t ] } ) } } if ( r && r . bookVBA ) { if ( n . vba . length > 0 ) p . vbaraw = Rr ( e , jg ( n . vba [ 0 ] ) , true ) ; else if ( n . defaults && n . defaults . bin === gu ) p . vbaraw = Rr ( e , "xl/vbaProject.bin" , true ) } return p } function $g ( e , r ) { var t = r || { } ; var a = "Workbook" , n = Ke . find ( e , a ) ; try { a = "/!DataSpaces/Version" ; n = Ke . find ( e , a ) ; if ( ! n || ! n . content ) throw new Error ( "ECMA-376 Encrypted file missing " + a ) ; Ko ( n . content ) ; a = "/!DataSpaces/DataSpaceMap" ; n = Ke . find ( e , a ) ; if ( ! n || ! n . content ) throw new Error ( "ECMA-376 Encrypted file missing " + a ) ; var i = qo ( n . content ) ; if ( i . length !== 1 || i [ 0 ] . comps . length !== 1 || i [ 0 ] . comps [ 0 ] . t !== 0 || i [ 0 ] . name !== "StrongEncryptionDataSpace" || i [ 0 ] . comps [ 0 ] . v !== "EncryptedPackage" ) throw new Error ( "ECMA-376 Encrypted file bad " + a ) ; a = "/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace" ; n = Ke . find ( e , a ) ; if ( ! n || ! n . content ) throw new Error ( "ECMA-376 Encrypted file missing " + a ) ; var s = Zo ( n . content ) ; if ( s . length != 1 || s [ 0 ] != " StrongEnc
( function ( global , factory ) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory ( require ( 'core-js/modules/es.array.concat.js' ) , require ( 'core-js/modules/es.array.find.js' ) , require ( 'core-js/modules/es.object.assign.js' ) , require ( 'core-js/modules/es.object.to-string.js' ) , require ( 'jquery' ) ) :
typeof define === 'function' && define . amd ? define ( [ 'core-js/modules/es.array.concat.js' , 'core-js/modules/es.array.find.js' , 'core-js/modules/es.object.assign.js' , 'core-js/modules/es.object.to-string.js' , 'jquery' ] , factory ) :
( global = typeof globalThis !== 'undefined' ? globalThis : global || self , factory ( null , null , null , null , global . jQuery ) ) ;
} ) ( this , ( function ( es _array _concat _js , es _array _find _js , es _object _assign _js , es _object _toString _js , $ ) { 'use strict' ;
function _assertThisInitialized ( e ) {
if ( void 0 === e ) throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ;
return e ;
}
function _callSuper ( t , o , e ) {
return o = _getPrototypeOf ( o ) , _possibleConstructorReturn ( t , _isNativeReflectConstruct ( ) ? Reflect . construct ( o , e || [ ] , _getPrototypeOf ( t ) . constructor ) : o . apply ( t , e ) ) ;
}
function _classCallCheck ( a , n ) {
if ( ! ( a instanceof n ) ) throw new TypeError ( "Cannot call a class as a function" ) ;
}
function _defineProperties ( e , r ) {
for ( var t = 0 ; t < r . length ; t ++ ) {
var o = r [ t ] ;
o . enumerable = o . enumerable || ! 1 , o . configurable = ! 0 , "value" in o && ( o . writable = ! 0 ) , Object . defineProperty ( e , _toPropertyKey ( o . key ) , o ) ;
}
}
function _createClass ( e , r , t ) {
return r && _defineProperties ( e . prototype , r ) , Object . defineProperty ( e , "prototype" , {
writable : ! 1
} ) , e ;
}
function _get ( ) {
return _get = "undefined" != typeof Reflect && Reflect . get ? Reflect . get . bind ( ) : function ( e , t , r ) {
var p = _superPropBase ( e , t ) ;
if ( p ) {
var n = Object . getOwnPropertyDescriptor ( p , t ) ;
return n . get ? n . get . call ( arguments . length < 3 ? e : r ) : n . value ;
}
} , _get . apply ( null , arguments ) ;
}
function _getPrototypeOf ( t ) {
return _getPrototypeOf = Object . setPrototypeOf ? Object . getPrototypeOf . bind ( ) : function ( t ) {
return t . _ _proto _ _ || Object . getPrototypeOf ( t ) ;
} , _getPrototypeOf ( t ) ;
}
function _inherits ( t , e ) {
if ( "function" != typeof e && null !== e ) throw new TypeError ( "Super expression must either be null or a function" ) ;
t . prototype = Object . create ( e && e . prototype , {
constructor : {
value : t ,
writable : ! 0 ,
configurable : ! 0
}
} ) , Object . defineProperty ( t , "prototype" , {
writable : ! 1
} ) , e && _setPrototypeOf ( t , e ) ;
}
function _isNativeReflectConstruct ( ) {
try {
var t = ! Boolean . prototype . valueOf . call ( Reflect . construct ( Boolean , [ ] , function ( ) { } ) ) ;
} catch ( t ) { }
return ( _isNativeReflectConstruct = function ( ) {
return ! ! t ;
} ) ( ) ;
}
function _possibleConstructorReturn ( t , e ) {
if ( e && ( "object" == typeof e || "function" == typeof e ) ) return e ;
if ( void 0 !== e ) throw new TypeError ( "Derived constructors may only return object or undefined" ) ;
return _assertThisInitialized ( t ) ;
}
function _setPrototypeOf ( t , e ) {
return _setPrototypeOf = Object . setPrototypeOf ? Object . setPrototypeOf . bind ( ) : function ( t , e ) {
return t . _ _proto _ _ = e , t ;
} , _setPrototypeOf ( t , e ) ;
}
function _superPropBase ( t , o ) {
for ( ; ! { } . hasOwnProperty . call ( t , o ) && null !== ( t = _getPrototypeOf ( t ) ) ; ) ;
return t ;
}
function _toPrimitive ( t , r ) {
if ( "object" != typeof t || ! t ) return t ;
var e = t [ Symbol . toPrimitive ] ;
if ( void 0 !== e ) {
var i = e . call ( t , r ) ;
if ( "object" != typeof i ) return i ;
throw new TypeError ( "@@toPrimitive must return a primitive value." ) ;
}
return ( String ) ( t ) ;
}
function _toPropertyKey ( t ) {
var i = _toPrimitive ( t , "string" ) ;
return "symbol" == typeof i ? i : i + "" ;
}
/ * *
* @ author vincent loh < vincent . ml @ gmail . com >
* @ update J Manuel Corona < jmcg92 @ gmail . com >
* @ update zhixin wen < wenzhixin2010 @ gmail . com >
* /
var Utils = $ . fn . bootstrapTable . utils ;
Object . assign ( $ . fn . bootstrapTable . defaults , {
stickyHeader : false ,
stickyHeaderOffsetY : 0 ,
stickyHeaderOffsetLeft : 0 ,
stickyHeaderOffsetRight : 0
} ) ;
$ . BootstrapTable = /*#__PURE__*/ function ( _$$BootstrapTable ) {
function _class ( ) {
_classCallCheck ( this , _class ) ;
return _callSuper ( this , _class , arguments ) ;
}
_inherits ( _class , _$$BootstrapTable ) ;
return _createClass ( _class , [ {
key : "initHeader" ,
value : function initHeader ( ) {
var _get2 ,
_this = this ;
for ( var _len = arguments . length , args = new Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) {
args [ _key ] = arguments [ _key ] ;
}
( _get2 = _get ( _getPrototypeOf ( _class . prototype ) , "initHeader" , this ) ) . call . apply ( _get2 , [ this ] . concat ( args ) ) ;
if ( ! this . options . stickyHeader ) {
return ;
}
this . $tableBody . find ( '.sticky-header-container,.sticky_anchor_begin,.sticky_anchor_end' ) . remove ( ) ;
this . $el . before ( '<div class="sticky-header-container"></div>' ) ;
this . $el . before ( '<div class="sticky_anchor_begin"></div>' ) ;
this . $el . after ( '<div class="sticky_anchor_end"></div>' ) ;
this . $header . addClass ( 'sticky-header' ) ;
// clone header just once, to be used as sticky header
// deep clone header, using source header affects tbody>td width
this . $stickyContainer = this . $tableBody . find ( '.sticky-header-container' ) ;
this . $stickyBegin = this . $tableBody . find ( '.sticky_anchor_begin' ) ;
this . $stickyEnd = this . $tableBody . find ( '.sticky_anchor_end' ) ;
this . $stickyHeader = this . $header . clone ( true , true ) ;
// render sticky on window scroll or resize
var resizeEvent = Utils . getEventName ( 'resize.sticky-header-table' , this . $el . attr ( 'id' ) ) ;
var scrollEvent = Utils . getEventName ( 'scroll.sticky-header-table' , this . $el . attr ( 'id' ) ) ;
$ ( window ) . off ( resizeEvent ) . on ( resizeEvent , function ( ) {
return _this . renderStickyHeader ( ) ;
} ) ;
$ ( window ) . off ( scrollEvent ) . on ( scrollEvent , function ( ) {
return _this . renderStickyHeader ( ) ;
} ) ;
this . $tableBody . off ( 'scroll' ) . on ( 'scroll' , function ( ) {
return _this . matchPositionX ( ) ;
} ) ;
}
} , {
key : "onColumnSearch" ,
value : function onColumnSearch ( _ref ) {
var currentTarget = _ref . currentTarget ,
keyCode = _ref . keyCode ;
_get ( _getPrototypeOf ( _class . prototype ) , "onColumnSearch" , this ) . call ( this , {
currentTarget : currentTarget ,
keyCode : keyCode
} ) ;
this . renderStickyHeader ( ) ;
}
} , {
key : "resetView" ,
value : function resetView ( ) {
var _get3 ,
_this2 = this ;
for ( var _len2 = arguments . length , args = new Array ( _len2 ) , _key2 = 0 ; _key2 < _len2 ; _key2 ++ ) {
args [ _key2 ] = arguments [ _key2 ] ;
}
( _get3 = _get ( _getPrototypeOf ( _class . prototype ) , "resetView" , this ) ) . call . apply ( _get3 , [ this ] . concat ( args ) ) ;
$ ( '.bootstrap-table.fullscreen' ) . off ( 'scroll' ) . on ( 'scroll' , function ( ) {
return _this2 . renderStickyHeader ( ) ;
} ) ;
}
} , {
key : "getCaret" ,
value : function getCaret ( ) {
var _get4 ;
for ( var _len3 = arguments . length , args = new Array ( _len3 ) , _key3 = 0 ; _key3 < _len3 ; _key3 ++ ) {
args [ _key3 ] = arguments [ _key3 ] ;
}
( _get4 = _get ( _getPrototypeOf ( _class . prototype ) , "getCaret" , this ) ) . call . apply ( _get4 , [ this ] . concat ( args ) ) ;
if ( this . $stickyHeader ) {
var $ths = this . $stickyHeader . find ( 'th' ) ;
this . $header . find ( 'th' ) . each ( function ( i , th ) {
$ths . eq ( i ) . find ( '.sortable' ) . attr ( 'class' , $ ( th ) . find ( '.sortable' ) . attr ( 'class' ) ) ;
} ) ;
}
}
} , {
key : "horizontalScroll" ,
value : function horizontalScroll ( ) {
var _this3 = this ;
_get ( _getPrototypeOf ( _class . prototype ) , "horizontalScroll" , this ) . call ( this ) ;
this . $tableBody . on ( 'scroll' , function ( ) {
return _this3 . matchPositionX ( ) ;
} ) ;
}
} , {
key : "renderStickyHeader" ,
value : function renderStickyHeader ( ) {
var _this4 = this ;
var that = this ;
this . $stickyHeader = this . $header . clone ( true , true ) ;
if ( this . options . filterControl ) {
$ ( this . $stickyHeader ) . off ( 'keyup change mouseup' ) . on ( 'keyup change mouse' , function ( e ) {
var $target = $ ( e . target ) ;
var value = $target . val ( ) ;
var field = $target . parents ( 'th' ) . data ( 'field' ) ;
var $coreTh = that . $header . find ( "th[data-field=\"" . concat ( field , "\"]" ) ) ;
if ( $target . is ( 'input' ) ) {
$coreTh . find ( 'input' ) . val ( value ) ;
} else if ( $target . is ( 'select' ) ) {
var $select = $coreTh . find ( 'select' ) ;
$select . find ( 'option[selected]' ) . removeAttr ( 'selected' ) ;
$select . find ( "option[value=\"" . concat ( value , "\"]" ) ) . attr ( 'selected' , true ) ;
}
that . triggerSearch ( ) ;
} ) ;
}
var top = $ ( window ) . scrollTop ( ) ;
// top anchor scroll position, minus header height
var start = this . $stickyBegin . offset ( ) . top - this . options . stickyHeaderOffsetY ;
// bottom anchor scroll position, minus header height, minus sticky height
var end = this . $stickyEnd . offset ( ) . top - this . options . stickyHeaderOffsetY - this . $header . height ( ) ;
// show sticky when top anchor touches header, and when bottom anchor not exceeded
if ( top > start && top <= end ) {
// ensure clone and source column widths are the same
this . $stickyHeader . find ( 'tr' ) . each ( function ( indexRows , rows ) {
$ ( rows ) . find ( 'th' ) . each ( function ( index , el ) {
$ ( el ) . css ( 'min-width' , _this4 . $header . find ( "tr:eq(" . concat ( indexRows , ")" ) ) . find ( "th:eq(" . concat ( index , ")" ) ) . css ( 'width' ) ) ;
} ) ;
} ) ;
// match bootstrap table style
this . $stickyContainer . show ( ) . addClass ( 'fix-sticky fixed-table-container' ) ;
// stick it in position
var coords = this . $tableBody [ 0 ] . getBoundingClientRect ( ) ;
var width = '100%' ;
var stickyHeaderOffsetLeft = this . options . stickyHeaderOffsetLeft ;
var stickyHeaderOffsetRight = this . options . stickyHeaderOffsetRight ;
if ( ! stickyHeaderOffsetLeft ) {
stickyHeaderOffsetLeft = coords . left ;
}
if ( ! stickyHeaderOffsetRight ) {
width = "" . concat ( coords . width , "px" ) ;
}
if ( this . $el . closest ( '.bootstrap-table' ) . hasClass ( 'fullscreen' ) ) {
stickyHeaderOffsetLeft = 0 ;
stickyHeaderOffsetRight = 0 ;
width = '100%' ;
}
this . $stickyContainer . css ( 'top' , "" . concat ( this . options . stickyHeaderOffsetY , "px" ) ) ;
this . $stickyContainer . css ( 'left' , "" . concat ( stickyHeaderOffsetLeft , "px" ) ) ;
this . $stickyContainer . css ( 'right' , "" . concat ( stickyHeaderOffsetRight , "px" ) ) ;
this . $stickyContainer . css ( 'width' , "" . concat ( width ) ) ;
// create scrollable container for header
this . $stickyTable = $ ( '<table/>' ) ;
this . $stickyTable . addClass ( this . options . classes ) ;
// append cloned header to dom
this . $stickyContainer . html ( this . $stickyTable . append ( this . $stickyHeader ) ) ;
// match clone and source header positions when left-right scroll
this . matchPositionX ( ) ;
} else {
this . $stickyContainer . removeClass ( 'fix-sticky' ) . hide ( ) ;
}
}
} , {
key : "matchPositionX" ,
value : function matchPositionX ( ) {
this . $stickyContainer . scrollLeft ( this . $tableBody . scrollLeft ( ) ) ;
}
} ] ) ;
} ( $ . BootstrapTable ) ;
} ) ) ;
( function ( global , factory ) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory ( require ( 'core-js/modules/es.array.concat.js' ) , require ( 'core-js/modules/es.array.filter.js' ) , require ( 'core-js/modules/es.array.find.js' ) , require ( 'core-js/modules/es.array.includes.js' ) , require ( 'core-js/modules/es.array.index-of.js' ) , require ( 'core-js/modules/es.array.join.js' ) , require ( 'core-js/modules/es.object.assign.js' ) , require ( 'core-js/modules/es.object.entries.js' ) , require ( 'core-js/modules/es.object.to-string.js' ) , require ( 'core-js/modules/es.regexp.exec.js' ) , require ( 'core-js/modules/es.string.includes.js' ) , require ( 'core-js/modules/es.string.search.js' ) , require ( 'core-js/modules/es.string.trim.js' ) , require ( 'jquery' ) ) :
typeof define === 'function' && define . amd ? define ( [ 'core-js/modules/es.array.concat.js' , 'core-js/modules/es.array.filter.js' , 'core-js/modules/es.array.find.js' , 'core-js/modules/es.array.includes.js' , 'core-js/modules/es.array.index-of.js' , 'core-js/modules/es.array.join.js' , 'core-js/modules/es.object.assign.js' , 'core-js/modules/es.object.entries.js' , 'core-js/modules/es.object.to-string.js' , 'core-js/modules/es.regexp.exec.js' , 'core-js/modules/es.string.includes.js' , 'core-js/modules/es.string.search.js' , 'core-js/modules/es.string.trim.js' , 'jquery' ] , factory ) :
( global = typeof globalThis !== 'undefined' ? globalThis : global || self , factory ( null , null , null , null , null , null , null , null , null , null , null , null , null , global . jQuery ) ) ;
} ) ( this , ( function ( es _array _concat _js , es _array _filter _js , es _array _find _js , es _array _includes _js , es _array _indexOf _js , es _array _join _js , es _object _assign _js , es _object _entries _js , es _object _toString _js , es _regexp _exec _js , es _string _includes _js , es _string _search _js , es _string _trim _js , $ ) { 'use strict' ;
function _arrayLikeToArray ( r , a ) {
( null == a || a > r . length ) && ( a = r . length ) ;
for ( var e = 0 , n = Array ( a ) ; e < a ; e ++ ) n [ e ] = r [ e ] ;
return n ;
}
function _arrayWithHoles ( r ) {
if ( Array . isArray ( r ) ) return r ;
}
function _arrayWithoutHoles ( r ) {
if ( Array . isArray ( r ) ) return _arrayLikeToArray ( r ) ;
}
function _assertThisInitialized ( e ) {
if ( void 0 === e ) throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ;
return e ;
}
function _callSuper ( t , o , e ) {
return o = _getPrototypeOf ( o ) , _possibleConstructorReturn ( t , _isNativeReflectConstruct ( ) ? Reflect . construct ( o , e || [ ] , _getPrototypeOf ( t ) . constructor ) : o . apply ( t , e ) ) ;
}
function _classCallCheck ( a , n ) {
if ( ! ( a instanceof n ) ) throw new TypeError ( "Cannot call a class as a function" ) ;
}
function _defineProperties ( e , r ) {
for ( var t = 0 ; t < r . length ; t ++ ) {
var o = r [ t ] ;
o . enumerable = o . enumerable || ! 1 , o . configurable = ! 0 , "value" in o && ( o . writable = ! 0 ) , Object . defineProperty ( e , _toPropertyKey ( o . key ) , o ) ;
}
}
function _createClass ( e , r , t ) {
return r && _defineProperties ( e . prototype , r ) , Object . defineProperty ( e , "prototype" , {
writable : ! 1
} ) , e ;
}
function _createForOfIteratorHelper ( r , e ) {
var t = "undefined" != typeof Symbol && r [ Symbol . iterator ] || r [ "@@iterator" ] ;
if ( ! t ) {
if ( Array . isArray ( r ) || ( t = _unsupportedIterableToArray ( r ) ) || e ) {
t && ( r = t ) ;
var n = 0 ,
F = function ( ) { } ;
return {
s : F ,
n : function ( ) {
return n >= r . length ? {
done : ! 0
} : {
done : ! 1 ,
value : r [ n ++ ]
} ;
} ,
e : function ( r ) {
throw r ;
} ,
f : F
} ;
}
throw new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
}
var o ,
a = ! 0 ,
u = ! 1 ;
return {
s : function ( ) {
t = t . call ( r ) ;
} ,
n : function ( ) {
var r = t . next ( ) ;
return a = r . done , r ;
} ,
e : function ( r ) {
u = ! 0 , o = r ;
} ,
f : function ( ) {
try {
a || null == t . return || t . return ( ) ;
} finally {
if ( u ) throw o ;
}
}
} ;
}
function _get ( ) {
return _get = "undefined" != typeof Reflect && Reflect . get ? Reflect . get . bind ( ) : function ( e , t , r ) {
var p = _superPropBase ( e , t ) ;
if ( p ) {
var n = Object . getOwnPropertyDescriptor ( p , t ) ;
return n . get ? n . get . call ( arguments . length < 3 ? e : r ) : n . value ;
}
} , _get . apply ( null , arguments ) ;
}
function _getPrototypeOf ( t ) {
return _getPrototypeOf = Object . setPrototypeOf ? Object . getPrototypeOf . bind ( ) : function ( t ) {
return t . _ _proto _ _ || Object . getPrototypeOf ( t ) ;
} , _getPrototypeOf ( t ) ;
}
function _inherits ( t , e ) {
if ( "function" != typeof e && null !== e ) throw new TypeError ( "Super expression must either be null or a function" ) ;
t . prototype = Object . create ( e && e . prototype , {
constructor : {
value : t ,
writable : ! 0 ,
configurable : ! 0
}
} ) , Object . defineProperty ( t , "prototype" , {
writable : ! 1
} ) , e && _setPrototypeOf ( t , e ) ;
}
function _isNativeReflectConstruct ( ) {
try {
var t = ! Boolean . prototype . valueOf . call ( Reflect . construct ( Boolean , [ ] , function ( ) { } ) ) ;
} catch ( t ) { }
return ( _isNativeReflectConstruct = function ( ) {
return ! ! t ;
} ) ( ) ;
}
function _iterableToArray ( r ) {
if ( "undefined" != typeof Symbol && null != r [ Symbol . iterator ] || null != r [ "@@iterator" ] ) return Array . from ( r ) ;
}
function _iterableToArrayLimit ( r , l ) {
var t = null == r ? null : "undefined" != typeof Symbol && r [ Symbol . iterator ] || r [ "@@iterator" ] ;
if ( null != t ) {
var e ,
n ,
i ,
u ,
a = [ ] ,
f = ! 0 ,
o = ! 1 ;
try {
if ( i = ( t = t . call ( r ) ) . next , 0 === l ) ; else for ( ; ! ( f = ( e = i . call ( t ) ) . done ) && ( a . push ( e . value ) , a . length !== l ) ; f = ! 0 ) ;
} catch ( r ) {
o = ! 0 , n = r ;
} finally {
try {
if ( ! f && null != t . return && ( u = t . return ( ) , Object ( u ) !== u ) ) return ;
} finally {
if ( o ) throw n ;
}
}
return a ;
}
}
function _nonIterableRest ( ) {
throw new TypeError ( "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
}
function _nonIterableSpread ( ) {
throw new TypeError ( "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
}
function _possibleConstructorReturn ( t , e ) {
if ( e && ( "object" == typeof e || "function" == typeof e ) ) return e ;
if ( void 0 !== e ) throw new TypeError ( "Derived constructors may only return object or undefined" ) ;
return _assertThisInitialized ( t ) ;
}
function _setPrototypeOf ( t , e ) {
return _setPrototypeOf = Object . setPrototypeOf ? Object . setPrototypeOf . bind ( ) : function ( t , e ) {
return t . _ _proto _ _ = e , t ;
} , _setPrototypeOf ( t , e ) ;
}
function _slicedToArray ( r , e ) {
return _arrayWithHoles ( r ) || _iterableToArrayLimit ( r , e ) || _unsupportedIterableToArray ( r , e ) || _nonIterableRest ( ) ;
}
function _superPropBase ( t , o ) {
for ( ; ! { } . hasOwnProperty . call ( t , o ) && null !== ( t = _getPrototypeOf ( t ) ) ; ) ;
return t ;
}
function _toConsumableArray ( r ) {
return _arrayWithoutHoles ( r ) || _iterableToArray ( r ) || _unsupportedIterableToArray ( r ) || _nonIterableSpread ( ) ;
}
function _toPrimitive ( t , r ) {
if ( "object" != typeof t || ! t ) return t ;
var e = t [ Symbol . toPrimitive ] ;
if ( void 0 !== e ) {
var i = e . call ( t , r ) ;
if ( "object" != typeof i ) return i ;
throw new TypeError ( "@@toPrimitive must return a primitive value." ) ;
}
return ( String ) ( t ) ;
}
function _toPropertyKey ( t ) {
var i = _toPrimitive ( t , "string" ) ;
return "symbol" == typeof i ? i : i + "" ;
}
function _unsupportedIterableToArray ( r , a ) {
if ( r ) {
if ( "string" == typeof r ) return _arrayLikeToArray ( r , a ) ;
var t = { } . toString . call ( r ) . slice ( 8 , - 1 ) ;
return "Object" === t && r . constructor && ( t = r . constructor . name ) , "Map" === t || "Set" === t ? Array . from ( r ) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( t ) ? _arrayLikeToArray ( r , a ) : void 0 ;
}
}
/ * *
* @ author : aperez < aperez @ datadec . es >
* @ version : v2 . 0.0
*
* @ update Dennis Hernández
* @ update zhixin wen < wenzhixin2010 @ gmail . com >
* /
var Utils = $ . fn . bootstrapTable . utils ;
var theme = {
bootstrap3 : {
icons : {
advancedSearchIcon : 'glyphicon-chevron-down'
} ,
classes : { } ,
html : {
modal : "\n <div id=\"avdSearchModal_%s\" class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-xs\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <button class=\"close toolbar-modal-close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n <h4 class=\"modal-title toolbar-modal-title\"></h4>\n </div>\n <div class=\"modal-body toolbar-modal-body\"></div>\n <div class=\"modal-footer toolbar-modal-footer\">\n <button class=\"btn btn-%s toolbar-modal-close\"></button>\n </div>\n </div>\n </div>\n </div>\n "
}
} ,
bootstrap4 : {
icons : {
advancedSearchIcon : 'fa-chevron-down'
} ,
classes : { } ,
html : {
modal : "\n <div id=\"avdSearchModal_%s\" class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-xs\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title toolbar-modal-title\"></h4>\n <button class=\"close toolbar-modal-close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body toolbar-modal-body\"></div>\n <div class=\"modal-footer toolbar-modal-footer\">\n <button class=\"btn btn-%s toolbar-modal-close\"></button>\n </div>\n </div>\n </div>\n </div>\n "
}
} ,
bootstrap5 : {
icons : {
advancedSearchIcon : 'bi-chevron-down'
} ,
classes : {
formGroup : 'mb-3'
} ,
html : {
modal : "\n <div id=\"avdSearchModal_%s\" class=\"modal fade\" tabindex=\"-1\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-xs\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title toolbar-modal-title\"></h5>\n <button class=\"btn-close toolbar-modal-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n </div>\n <div class=\"modal-body toolbar-modal-body\"></div>\n <div class=\"modal-footer toolbar-modal-footer\">\n <button class=\"btn btn-%s toolbar-modal-close\"></button>\n </div>\n </div>\n </div>\n </div>\n "
}
} ,
bulma : {
icons : {
advancedSearchIcon : 'fa-chevron-down'
} ,
classes : { } ,
html : {
modal : "\n <div class=\"modal\" id=\"avdSearchModal_%s\">\n <div class=\"modal-background\"></div>\n <div class=\"modal-card\">\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title toolbar-modal-title\"></p>\n <button class=\"delete toolbar-modal-close\"></button>\n </header>\n <section class=\"modal-card-body toolbar-modal-body\"></section>\n <footer class=\"modal-card-foot toolbar-modal-footer\">\n <button class=\"button button-%s toolbar-modal-close\"></button>\n </footer>\n </div>\n </div>\n "
}
} ,
foundation : {
icons : {
advancedSearchIcon : 'fa-chevron-down'
} ,
classes : { } ,
html : {
modal : "\n <div class=\"reveal\" id=\"avdSearchModal_%s\" data-reveal>\n <h1 class=\"toolbar-modal-title\"></h1>\n <div class=\"toolbar-modal-body\"></div>\n <button class=\"close-button toolbar-modal-close\" data-close aria-label=\"Close modal\">\n <span aria-hidden=\"true\">×</span>\n </button>\n <div class=\"toolbar-modal-footer\">\n <button class=\"button button-%s toolbar-modal-close\"></button>\n </div>\n </div>\n "
}
} ,
materialize : {
icons : {
advancedSearchIcon : 'expand_more'
} ,
classes : { } ,
html : {
modal : "\n <div id=\"avdSearchModal_%s\" class=\"modal\">\n <div class=\"modal-content\">\n <h4 class=\"toolbar-modal-title\"></h4>\n <div class=\"toolbar-modal-body\"></div>\n </div>\n <div class=\"modal-footer toolbar-modal-footer\">\n <a href=\"javascript:void(0)\" class=\"modal-close waves-effect waves-green btn-flat btn-%s toolbar-modal-close\"></a>\n </div>\n </div>\n "
}
} ,
semantic : {
icons : {
advancedSearchIcon : 'fa-chevron-down'
} ,
classes : { } ,
html : {
modal : "\n <div class=\"ui modal\" id=\"avdSearchModal_%s\">\n <i class=\"close icon toolbar-modal-close\"></i>\n <div class=\"header toolbar-modal-title\"\"></div>\n <div class=\"image content ui form toolbar-modal-body\"></div>\n <div class=\"actions toolbar-modal-footer\">\n <div class=\"ui black deny button button-%s toolbar-modal-close\"></div>\n </div>\n </div>\n "
}
}
} [ $ . fn . bootstrapTable . theme ] ;
Object . assign ( $ . fn . bootstrapTable . defaults , {
advancedSearch : false ,
idForm : 'advancedSearch' ,
actionForm : '' ,
idTable : undefined ,
// eslint-disable-next-line no-unused-vars
onColumnAdvancedSearch : function onColumnAdvancedSearch ( field , text ) {
return false ;
}
} ) ;
Object . assign ( $ . fn . bootstrapTable . defaults . icons , {
advancedSearchIcon : theme . icons . advancedSearchIcon
} ) ;
Object . assign ( $ . fn . bootstrapTable . events , {
'column-advanced-search.bs.table' : 'onColumnAdvancedSearch'
} ) ;
Object . assign ( $ . fn . bootstrapTable . locales , {
formatAdvancedSearch : function formatAdvancedSearch ( ) {
return 'Advanced search' ;
} ,
formatAdvancedCloseButton : function formatAdvancedCloseButton ( ) {
return 'Close' ;
}
} ) ;
Object . assign ( $ . fn . bootstrapTable . defaults , $ . fn . bootstrapTable . locales ) ;
$ . BootstrapTable = /*#__PURE__*/ function ( _$$BootstrapTable ) {
function _class ( ) {
_classCallCheck ( this , _class ) ;
return _callSuper ( this , _class , arguments ) ;
}
_inherits ( _class , _$$BootstrapTable ) ;
return _createClass ( _class , [ {
key : "initToolbar" ,
value : function initToolbar ( ) {
this . showToolbar = this . showToolbar || this . options . search && this . options . advancedSearch && this . options . idTable ;
if ( this . showToolbar ) {
this . buttons = Object . assign ( this . buttons , {
advancedSearch : {
text : this . options . formatAdvancedSearch ( ) ,
icon : this . options . icons . advancedSearchIcon ,
event : this . showAdvancedSearch ,
attributes : {
'aria-label' : this . options . formatAdvancedSearch ( ) ,
title : this . options . formatAdvancedSearch ( )
}
}
} ) ;
if ( Utils . isEmptyObject ( this . filterColumnsPartial ) ) {
this . filterColumnsPartial = { } ;
}
}
_get ( _getPrototypeOf ( _class . prototype ) , "initToolbar" , this ) . call ( this ) ;
}
} , {
key : "showAdvancedSearch" ,
value : function showAdvancedSearch ( ) {
var _this = this ;
this . $toolbarModal = $ ( "#avdSearchModal_" . concat ( this . options . idTable ) ) ;
if ( this . $toolbarModal . length <= 0 ) {
$ ( 'body' ) . append ( Utils . sprintf ( theme . html . modal , this . options . idTable , this . options . buttonsClass ) ) ;
this . $toolbarModal = $ ( "#avdSearchModal_" . concat ( this . options . idTable ) ) ;
this . $toolbarModal . find ( '.toolbar-modal-close' ) . off ( 'click' ) . on ( 'click' , function ( ) {
return _this . hideToolbarModal ( ) ;
} ) ;
}
this . initToolbarModalBody ( ) ;
this . showToolbarModal ( ) ;
}
} , {
key : "initToolbarModalBody" ,
value : function initToolbarModalBody ( ) {
var _this2 = this ;
this . $toolbarModal . find ( '.toolbar-modal-title' ) . html ( this . options . formatAdvancedSearch ( ) ) ;
this . $toolbarModal . find ( '.toolbar-modal-footer .toolbar-modal-close' ) . html ( this . options . formatAdvancedCloseButton ( ) ) ;
this . $toolbarModal . find ( '.toolbar-modal-body' ) . html ( this . createToolbarForm ( ) ) . off ( 'keyup blur' , 'input' ) . on ( 'keyup blur' , 'input' , function ( e ) {
_this2 . onColumnAdvancedSearch ( e ) ;
} ) ;
}
} , {
key : "showToolbarModal" ,
value : function showToolbarModal ( ) {
var theme = $ . fn . bootstrapTable . theme ;
if ( [ 'bootstrap3' , 'bootstrap4' ] . includes ( theme ) ) {
this . $toolbarModal . modal ( ) ;
} else if ( theme === 'bootstrap5' ) {
if ( ! this . toolbarModal ) {
this . toolbarModal = new window . bootstrap . Modal ( this . $toolbarModal [ 0 ] , { } ) ;
}
this . toolbarModal . show ( ) ;
} else if ( theme === 'bulma' ) {
this . $toolbarModal . toggleClass ( 'is-active' ) ;
} else if ( theme === 'foundation' ) {
if ( ! this . toolbarModal ) {
this . toolbarModal = new window . Foundation . Reveal ( this . $toolbarModal ) ;
}
this . toolbarModal . open ( ) ;
} else if ( theme === 'materialize' ) {
this . $toolbarModal . modal ( ) . modal ( 'open' ) ;
} else if ( theme === 'semantic' ) {
this . $toolbarModal . modal ( 'show' ) ;
}
}
} , {
key : "hideToolbarModal" ,
value : function hideToolbarModal ( ) {
var theme = $ . fn . bootstrapTable . theme ;
if ( [ 'bootstrap3' , 'bootstrap4' ] . includes ( theme ) ) {
this . $toolbarModal . modal ( 'hide' ) ;
} else if ( theme === 'bootstrap5' ) {
this . toolbarModal . hide ( ) ;
} else if ( theme === 'bulma' ) {
$ ( 'html' ) . toggleClass ( 'is-clipped' ) ;
this . $toolbarModal . toggleClass ( 'is-active' ) ;
} else if ( theme === 'foundation' ) {
this . toolbarModal . close ( ) ;
} else if ( theme === 'materialize' ) {
this . $toolbarModal . modal ( 'open' ) ;
} else if ( theme === 'semantic' ) {
this . $toolbarModal . modal ( 'close' ) ;
}
if ( this . options . sidePagination === 'server' ) {
this . options . pageNumber = 1 ;
this . updatePagination ( ) ;
this . trigger ( 'column-advanced-search' , this . filterColumnsPartial ) ;
}
}
} , {
key : "createToolbarForm" ,
value : function createToolbarForm ( ) {
var html = [ "<form class=\"form-horizontal toolbar-model-form\" action=\"" . concat ( this . options . actionForm , "\">" ) ] ;
var _iterator = _createForOfIteratorHelper ( this . columns ) ,
_step ;
try {
for ( _iterator . s ( ) ; ! ( _step = _iterator . n ( ) ) . done ; ) {
var column = _step . value ;
if ( ! column . checkbox && column . visible && column . searchable ) {
var title = $ ( '<div/>' ) . html ( column . title ) . text ( ) . trim ( ) ;
var value = this . filterColumnsPartial [ column . field ] || '' ;
html . push ( "\n <div class=\"form-group row " . concat ( theme . classes . formGroup || '' , "\">\n <label class=\"col-sm-4 control-label\">" ) . concat ( title , "</label>\n <div class=\"col-sm-6\">\n <input type=\"text\" class=\"form-control " ) . concat ( this . constants . classes . input , "\"\n name=\"" ) . concat ( column . field , "\" placeholder=\"" ) . concat ( title , "\" value=\"" ) . concat ( value , "\">\n </div>\n </div>\n " ) ) ;
}
}
} catch ( err ) {
_iterator . e ( err ) ;
} finally {
_iterator . f ( ) ;
}
html . push ( '</form>' ) ;
return html . join ( '' ) ;
}
} , {
key : "initSearch" ,
value : function initSearch ( ) {
var _this3 = this ;
_get ( _getPrototypeOf ( _class . prototype ) , "initSearch" , this ) . call ( this ) ;
if ( ! this . options . advancedSearch || this . options . sidePagination === 'server' ) {
return ;
}
var fp = Utils . isEmptyObject ( this . filterColumnsPartial ) ? null : this . filterColumnsPartial ;
this . data = fp ? this . data . filter ( function ( item , i ) {
for ( var _i = 0 , _Object$entries = Object . entries ( fp ) ; _i < _Object$entries . length ; _i ++ ) {
var _Object$entries$ _i = _slicedToArray ( _Object$entries [ _i ] , 2 ) ,
key = _Object$entries$ _i [ 0 ] ,
v = _Object$entries$ _i [ 1 ] ;
var val = v . toLowerCase ( ) ;
var value = item [ key ] ;
var index = _this3 . header . fields . indexOf ( key ) ;
value = Utils . calculateObjectValue ( _this3 . header , _this3 . header . formatters [ index ] , [ value , item , i ] , value ) ;
if ( ! ( index !== - 1 && ( typeof value === 'string' || typeof value === 'number' ) && "" . concat ( value ) . toLowerCase ( ) . includes ( val ) ) ) {
return false ;
}
}
return true ;
} ) : this . data ;
this . unsortedData = _toConsumableArray ( this . data ) ;
}
} , {
key : "onColumnAdvancedSearch" ,
value : function onColumnAdvancedSearch ( e ) {
var text = $ ( e . currentTarget ) . val ( ) . trim ( ) ;
var field = $ ( e . currentTarget ) . attr ( 'name' ) ;
if ( text ) {
this . filterColumnsPartial [ field ] = text ;
} else {
delete this . filterColumnsPartial [ field ] ;
}
if ( this . options . sidePagination !== 'server' ) {
this . options . pageNumber = 1 ;
this . initSearch ( ) ;
this . updatePagination ( ) ;
this . trigger ( 'column-advanced-search' , field , text ) ;
}
}
} ] ) ;
} ( $ . BootstrapTable ) ;
} ) ) ;